Version Description
- Added: Subscribe form
- Fixed: Potential rest api registration error
- Added: Support for the WP Retina 2x plugin
- Added: Badge with the date of the next quota update
Download this release
Release Info
Developer | webtemyk |
Plugin | Robin image optimizer — save money on image compression |
Version | 1.5.0 |
Comparing to | |
See all releases |
Code changes from version 1.4.6 to 1.5.0
- admin/activation.php +3 -3
- admin/ajax/bulk-optimization.php +9 -3
- admin/assets/css/base-statistic.css +676 -675
- admin/assets/css/sweetalert-custom.css +155 -155
- admin/assets/js/bulk-optimization.js +23 -4
- admin/boot.php +10 -9
- admin/includes/classes/class-rio-optimize-template.php +2 -2
- admin/pages/class-rio-license.php +3 -3
- admin/pages/class-rio-log.php +2 -2
- admin/pages/class-rio-page.php +1 -1
- admin/pages/class-rio-settings.php +14 -2
- admin/pages/class-rio-statistic.php +0 -5
- assets/js/jquery.lazy.js +871 -871
- assets/js/jquery.lazy.min.js +1 -1
- includes/class-rio-plugin.php +3 -3
- includes/classes/class-rio-media-library.php +9 -0
- includes/classes/class-rio-views.php +4 -4
- includes/classes/processors/class-rio-server-clearfy1.php +0 -266
- includes/classes/processors/class-rio-server-resmush.php +1 -1
- includes/classes/processors/class-rio-server-smushpro.php +0 -142
- includes/classes/processors/class-rio-server-webcraftic.php +0 -133
- includes/functions.php +3 -3
- languages/robin-image-optimizer-ru_RU.mo +0 -0
- languages/robin-image-optimizer-ru_RU.po +1030 -1234
- libs/addons/admin/assets/js/custom-folders.js +4 -4
- libs/addons/admin/boot.php +1 -1
- libs/addons/includes/classes/webp/class-webp-delivery.php +25 -26
- libs/addons/includes/classes/webp/vendor/autoload.php +7 -7
- libs/addons/includes/classes/webp/vendor/composer/ClassLoader.php +445 -445
- libs/addons/includes/classes/webp/vendor/composer/LICENSE +21 -21
- libs/addons/includes/classes/webp/vendor/composer/autoload_classmap.php +9 -10
- libs/addons/includes/classes/webp/vendor/composer/autoload_namespaces.php +9 -9
- libs/addons/includes/classes/webp/vendor/composer/autoload_psr4.php +10 -10
- libs/addons/includes/classes/webp/vendor/composer/autoload_real.php +52 -55
- libs/addons/includes/classes/webp/vendor/composer/autoload_static.php +31 -36
- libs/addons/includes/classes/webp/vendor/composer/installed.json +59 -63
- libs/addons/views/modal-select-custom-folders.php +1 -1
- libs/addons/views/part-bulk-optimization-table-folders.php +1 -1
- libs/factory/adverts/boot.php +12 -12
- libs/factory/adverts/includes/class-base.php +6 -6
- libs/factory/adverts/includes/class-dashboard-widget.php +4 -4
- libs/factory/adverts/includes/class-rest-request.php +4 -4
- libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.po +0 -83
- libs/factory/adverts/langs/wbcr_factory_adverts_112-ru_RU.mo +0 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_112-ru_RU.po +0 -83
- libs/factory/adverts/langs/wbcr_factory_adverts_114-ru_RU.mo +0 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_114-ru_RU.po +0 -83
- libs/factory/adverts/langs/{wbcr_factory_adverts_106-ru_RU.mo → wbcr_factory_adverts_117-ru_RU.mo} +0 -0
- libs/factory/adverts/langs/{wbcr_factory_adverts_106-ru_RU.po → wbcr_factory_adverts_117-ru_RU.po} +0 -0
- libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +3 -3
- libs/factory/bootstrap/assets/css-min/bootstrap.datepicker.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +2 -2
- libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +2 -2
- libs/factory/bootstrap/assets/js-min/bootstrap.tooltip.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +2 -2
- libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +2 -2
- libs/factory/bootstrap/assets/js-min/control.list.min.js +2 -2
- libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +2 -2
- libs/factory/bootstrap/boot.php +9 -9
- libs/factory/bootstrap/includes/functions.php +10 -10
- libs/factory/bootstrap/package-lock.json +1810 -0
- libs/factory/clearfy/assets/css/clearfy-base.css +103 -24
- libs/factory/clearfy/assets/css/clearfy-base.css.map +1 -1
- libs/factory/clearfy/assets/css/clearfy-base.less +96 -0
- libs/factory/clearfy/assets/css/components.css +24 -24
- libs/factory/clearfy/assets/css/libs/autocomplete.css +9 -9
- libs/factory/clearfy/assets/css/page-setup.css +102 -102
- libs/factory/clearfy/assets/js/clearfy-globals.js +26 -26
- libs/factory/clearfy/assets/js/clearfy-license-manager.js +4 -4
- libs/factory/clearfy/assets/js/clearfy-search-options.js +2 -2
- libs/factory/clearfy/assets/js/clearfy-widgets.js +44 -0
- libs/factory/clearfy/assets/js/globals.js +0 -203
- libs/factory/clearfy/assets/js/libs/jquery.autocomplete.min.js +1 -1
- libs/factory/clearfy/assets/js/license-manager.js +0 -92
- libs/factory/clearfy/assets/js/search-options.js +0 -40
- libs/factory/clearfy/boot.php +25 -25
- libs/factory/clearfy/includes/ajax-handlers.php +8 -8
- libs/factory/clearfy/includes/class-configurate.php +3 -3
- libs/factory/clearfy/includes/class-helpers.php +1 -1
- libs/factory/clearfy/includes/class-search-options.php +1 -1
- libs/factory/clearfy/langs/wbcr_factory_clearfy_221-ru_RU.mo +0 -0
- libs/factory/clearfy/langs/wbcr_factory_clearfy_221-ru_RU.po +0 -307
- libs/factory/clearfy/langs/wbcr_factory_clearfy_224-ru_RU.mo +0 -0
- libs/factory/clearfy/langs/wbcr_factory_clearfy_224-ru_RU.po +0 -307
- libs/factory/clearfy/langs/wbcr_factory_clearfy_227-ru_RU.mo +0 -0
- libs/factory/clearfy/langs/wbcr_factory_clearfy_227-ru_RU.po +0 -307
- libs/factory/clearfy/langs/{wbcr_factory_clearfy_217-ru_RU.mo → wbcr_factory_clearfy_230-ru_RU.mo} +0 -0
- libs/factory/clearfy/langs/{wbcr_factory_clearfy_217-ru_RU.po → wbcr_factory_clearfy_230-ru_RU.po} +0 -0
- libs/factory/clearfy/pages/class-page-license.php +33 -33
- libs/factory/clearfy/pages/class-page-more-features.php +23 -23
- libs/factory/clearfy/pages/class-page-setup.php +18 -18
- libs/factory/clearfy/pages/class-pages-components.php +19 -19
- libs/factory/clearfy/pages/class-pages.php +95 -49
- libs/factory/clearfy/pages/setup-parts/class-step-custom.php +7 -7
- libs/factory/clearfy/pages/setup-parts/class-step-form.php +12 -12
- libs/factory/clearfy/pages/setup-parts/class-step.php +5 -5
- libs/factory/core/ajax/install-addons.php +10 -10
- libs/factory/core/assets/js/core-components.js +14 -14
- libs/factory/core/assets/js/core-general.js +6 -6
- libs/factory/core/boot.php +32 -32
- libs/factory/core/includes/activation/class-factory-activator.php +3 -3
- libs/factory/core/includes/activation/class-factory-update.php +3 -3
- libs/factory/core/includes/assets-managment/class-factory-assets-list.php +4 -4
- libs/factory/core/includes/assets-managment/class-factory-script-list.php +2 -2
- libs/factory/core/includes/assets-managment/class-factory-style-list.php +1 -1
- libs/factory/core/includes/class-check-compatibility.php +3 -3
- libs/factory/core/includes/class-factory-migrations.php +13 -13
- libs/factory/core/includes/class-factory-notices.php +5 -5
- libs/factory/core/includes/class-factory-options.php +2 -2
- libs/factory/core/includes/class-factory-plugin-abstract.php +95 -70
- libs/factory/core/includes/class-factory-plugin-base.php +25 -25
- libs/factory/core/includes/class-factory-requests.php +1 -1
- libs/factory/core/includes/class-factory-requirements.php +6 -6
- libs/factory/core/includes/components/class-delete-component-button.php +1 -1
- libs/factory/core/includes/components/class-install-component-button.php +11 -11
- libs/factory/core/includes/entities/class-factory-paths.php +1 -1
- libs/factory/core/includes/entities/class-factory-support.php +1 -1
- libs/factory/core/includes/functions.php +7 -7
- libs/factory/core/includes/premium/class-factory-license-interface.php +1 -1
- libs/factory/core/includes/premium/class-factory-manager.php +10 -10
- libs/factory/core/includes/premium/class-factory-provider-abstract.php +6 -6
- libs/factory/core/includes/updates/class-factory-premium-upgrader.php +11 -11
- libs/factory/core/includes/updates/class-factory-upgrader.php +9 -9
- libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php +5 -5
- libs/factory/core/includes/updates/repositories/class-factory-wordpress.php +4 -4
- libs/factory/core/langs/wbcr_factory_425-ru_RU.mo +0 -0
- libs/factory/core/langs/wbcr_factory_429-ru_RU.mo +0 -0
- libs/factory/core/langs/wbcr_factory_429-ru_RU.po +0 -128
- libs/factory/core/langs/wbcr_factory_432-ru_RU.mo +0 -0
- libs/factory/core/langs/wbcr_factory_432-ru_RU.po +0 -128
- libs/factory/core/langs/wbcr_factory_436-ru_RU.mo +0 -0
- libs/factory/core/langs/wbcr_factory_436-ru_RU.po +0 -69
admin/activation.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
*
|
6 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
* @copyright (c) 09.09.2017, Webcraftic
|
8 |
-
* @see
|
9 |
* @version 1.0
|
10 |
*/
|
11 |
|
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
class WIO_Activation extends
|
18 |
|
19 |
/**
|
20 |
* Runs activation actions.
|
@@ -49,7 +49,7 @@ class WIO_Activation extends Wbcr_Factory436_Activator {
|
|
49 |
|
50 |
RIO_Process_Queue::try_create_plugin_tables();
|
51 |
|
52 |
-
|
53 |
|
54 |
WRIO_Logger::info( 'Parent plugin installation complete!' );
|
55 |
}
|
5 |
*
|
6 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
* @copyright (c) 09.09.2017, Webcraftic
|
8 |
+
* @see Factory439_Activator
|
9 |
* @version 1.0
|
10 |
*/
|
11 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
class WIO_Activation extends Wbcr_Factory439_Activator {
|
18 |
|
19 |
/**
|
20 |
* Runs activation actions.
|
49 |
|
50 |
RIO_Process_Queue::try_create_plugin_tables();
|
51 |
|
52 |
+
WbcrFactoryClearfy230_Helpers::flushPageCache();
|
53 |
|
54 |
WRIO_Logger::info( 'Parent plugin installation complete!' );
|
55 |
}
|
admin/ajax/bulk-optimization.php
CHANGED
@@ -343,8 +343,14 @@ add_action( 'wp_ajax_wbcr-rio-check-user-balance', function () {
|
|
343 |
|
344 |
$current_quota = (int) $data->response->quota;
|
345 |
WRIO_Plugin::app()->app()->updateOption( 'current_quota', $current_quota );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
|
347 |
-
wp_send_json_success(
|
348 |
-
'balance' => $current_quota,
|
349 |
-
] );
|
350 |
} );
|
343 |
|
344 |
$current_quota = (int) $data->response->quota;
|
345 |
WRIO_Plugin::app()->app()->updateOption( 'current_quota', $current_quota );
|
346 |
+
|
347 |
+
$output = ['balance' => $current_quota];
|
348 |
+
|
349 |
+
if ( $optimization_server == 'server_5') {
|
350 |
+
$reset_at = (int) $data->response->reset_at;
|
351 |
+
$reset_at += (int) get_option('gmt_offset', 0);
|
352 |
+
$output['reset_at'] = date('d-m-Y H:i', $reset_at);
|
353 |
+
}
|
354 |
|
355 |
+
wp_send_json_success( $output );
|
|
|
|
|
356 |
} );
|
admin/assets/css/base-statistic.css
CHANGED
@@ -1,675 +1,676 @@
|
|
1 |
-
/**
|
2 |
-
* Styles for the Widget to be displayed in the Clearfy plugin
|
3 |
-
|
4 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
5 |
-
* @copyright Webcraftic 14.06.2019
|
6 |
-
*/
|
7 |
-
#WBCR {
|
8 |
-
/* Doughnut */
|
9 |
-
/*@media (max-width: 1380px) and (min-width: 1246px), (max-width: 380px) {
|
10 |
-
.wio-overview-chart-container {
|
11 |
-
float: none;
|
12 |
-
margin-right: 0;
|
13 |
-
}
|
14 |
-
}
|
15 |
-
|
16 |
-
@media (max-width: 1380px) and (min-width: 1246px), (max-width: 380px) {
|
17 |
-
.wio-overview-chart-container {
|
18 |
-
float: none;
|
19 |
-
margin-right: 0;
|
20 |
-
}
|
21 |
-
|
22 |
-
.wio-doughnut-legend {
|
23 |
-
margin-top: 18px;
|
24 |
-
}
|
25 |
-
|
26 |
-
.wio-global-optim-phrase {
|
27 |
-
padding-top: 0;
|
28 |
-
width: auto;
|
29 |
-
}
|
30 |
-
}*/
|
31 |
-
}
|
32 |
-
#WBCR .wio-clear {
|
33 |
-
clear: both;
|
34 |
-
}
|
35 |
-
#WBCR #io_folders_statistic-wbcr_clearfy-tab,
|
36 |
-
#WBCR #io_nextgen_gallery_statistic-wbcr_clearfy-tab {
|
37 |
-
display: none !important;
|
38 |
-
}
|
39 |
-
#WBCR .wrio-statistic-nav {
|
40 |
-
margin: 0;
|
41 |
-
background: #efefef;
|
42 |
-
}
|
43 |
-
#WBCR .wrio-statistic-nav ul {
|
44 |
-
margin: 0;
|
45 |
-
}
|
46 |
-
#WBCR .wrio-statistic-nav ul li {
|
47 |
-
position: relative;
|
48 |
-
display: inline-block;
|
49 |
-
margin: 0 0 0 0;
|
50 |
-
background: #ffffff;
|
51 |
-
box-shadow: 0 -2px 0 #eaeaea;
|
52 |
-
}
|
53 |
-
#WBCR .wrio-statistic-nav ul li:hover {
|
54 |
-
background: #f7f7f7;
|
55 |
-
}
|
56 |
-
#WBCR .wrio-statistic-nav ul li.active {
|
57 |
-
background: #f7f7f7;
|
58 |
-
border-top: 1px solid #d4d4d4;
|
59 |
-
border-left: 1px solid #d4d4d4;
|
60 |
-
border-right: 1px solid #d4d4d4;
|
61 |
-
border-bottom: 1px solid #f7f7f7;
|
62 |
-
margin-bottom: -1px;
|
63 |
-
}
|
64 |
-
#WBCR .wrio-statistic-nav ul li.active a {
|
65 |
-
color: #222;
|
66 |
-
}
|
67 |
-
#WBCR .wrio-statistic-nav ul li.active a .wrio-statistic-tab-percent {
|
68 |
-
border: 2px dashed #8bc34a;
|
69 |
-
color: #5e8237;
|
70 |
-
}
|
71 |
-
#WBCR .wrio-statistic-nav ul li.active .dashicons,
|
72 |
-
#WBCR .wrio-statistic-nav ul li.active .dashicons-before:before {
|
73 |
-
color: #ff8b66;
|
74 |
-
}
|
75 |
-
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab {
|
76 |
-
display: block;
|
77 |
-
padding: 10px 20px 10px 20px;
|
78 |
-
text-decoration: none;
|
79 |
-
color: #d4d4d4;
|
80 |
-
font-size: 22px;
|
81 |
-
line-height: 2;
|
82 |
-
}
|
83 |
-
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab:active,
|
84 |
-
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab:focus {
|
85 |
-
background: 0;
|
86 |
-
box-shadow: none;
|
87 |
-
outline: none;
|
88 |
-
}
|
89 |
-
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab .dashicons,
|
90 |
-
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab .dashicons-before:before {
|
91 |
-
display: inline-block;
|
92 |
-
width: 30px;
|
93 |
-
height: 30px;
|
94 |
-
font-size: 30px;
|
95 |
-
line-height: 1.5;
|
96 |
-
margin-right: 15px;
|
97 |
-
color: #d4d4d4;
|
98 |
-
}
|
99 |
-
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab .wrio-statistic-tab-percent {
|
100 |
-
display: inline-block;
|
101 |
-
width: 42px;
|
102 |
-
height: 42px;
|
103 |
-
border-radius: 100px;
|
104 |
-
border: 2px dashed #e4e4e4;
|
105 |
-
padding: 5px;
|
106 |
-
margin-left: 30px;
|
107 |
-
font-size: 14px;
|
108 |
-
font-weight: 600;
|
109 |
-
text-align: center;
|
110 |
-
color: #bdbdbd;
|
111 |
-
}
|
112 |
-
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab-premium-label:after {
|
113 |
-
display: inline-block;
|
114 |
-
position: absolute;
|
115 |
-
content: 'PRO';
|
116 |
-
background: #ff5722;
|
117 |
-
border-radius: 4px;
|
118 |
-
color: #fff;
|
119 |
-
font-size: 10px;
|
120 |
-
line-height: 1;
|
121 |
-
font-style: normal;
|
122 |
-
padding: 4px 6px;
|
123 |
-
margin-left: 4px;
|
124 |
-
vertical-align: top;
|
125 |
-
top: 10px;
|
126 |
-
left: auto;
|
127 |
-
right: 10px;
|
128 |
-
z-index: 11;
|
129 |
-
}
|
130 |
-
#WBCR .wrio-table {
|
131 |
-
width: 100%;
|
132 |
-
table-layout: fixed;
|
133 |
-
box-sizing: border-box;
|
134 |
-
border-spacing: 3px;
|
135 |
-
background: #fff;
|
136 |
-
border-top: 2px dashed #cac9c9;
|
137 |
-
}
|
138 |
-
#WBCR .wrio-table th,
|
139 |
-
#WBCR .wrio-table td {
|
140 |
-
padding: 16px 10px;
|
141 |
-
text-align: center;
|
142 |
-
}
|
143 |
-
#WBCR .wrio-table th {
|
144 |
-
background: #f3f3f3;
|
145 |
-
color: #777777;
|
146 |
-
box-shadow: 0 1px 0 #d8d8d8;
|
147 |
-
}
|
148 |
-
#WBCR .wrio-table th:nth-child(2n+1) {
|
149 |
-
background: #f9f9f9;
|
150 |
-
}
|
151 |
-
#WBCR .wrio-table tr.wrio-error {
|
152 |
-
background-color: #ffe9e9 !important;
|
153 |
-
}
|
154 |
-
#WBCR .wrio-table .wrio-table-spinner {
|
155 |
-
background: url("../img/quick-start-loader.gif") center center no-repeat;
|
156 |
-
}
|
157 |
-
#WBCR .wrio-table .wrio-table-highlighter {
|
158 |
-
display: inline-block;
|
159 |
-
padding: 3px 7px;
|
160 |
-
background: #f3f3f3;
|
161 |
-
}
|
162 |
-
#WBCR .wrio-table .wbcr-rio-server-success {
|
163 |
-
color: #8CC152;
|
164 |
-
}
|
165 |
-
#WBCR .wrio-table .wbcr-rio-server-error {
|
166 |
-
color: #fb5d49;
|
167 |
-
}
|
168 |
-
#WBCR .wrio-table .wbcr-rio-server-warning {
|
169 |
-
color: #ffb635;
|
170 |
-
}
|
171 |
-
#WBCR .wrio-table.wbcr-rio-folders-table td:nth-child(3) {
|
172 |
-
text-align: left;
|
173 |
-
}
|
174 |
-
#WBCR .wrio-servers {
|
175 |
-
padding: 40px 20px;
|
176 |
-
}
|
177 |
-
#WBCR .wrio-servers label span {
|
178 |
-
display: block;
|
179 |
-
font-weight: normal;
|
180 |
-
font-size: 12px;
|
181 |
-
color: #b7b2b2;
|
182 |
-
}
|
183 |
-
#WBCR .wrio-servers #wrio-change-optimization-server {
|
184 |
-
position: relative;
|
185 |
-
display: inline-block;
|
186 |
-
max-width: 400px;
|
187 |
-
margin-right: 15px;
|
188 |
-
margin-bottom: 0;
|
189 |
-
border: 1px solid #d2d0d0;
|
190 |
-
background: #efefef;
|
191 |
-
}
|
192 |
-
#WBCR .wrio-servers .wrio-servers-info {
|
193 |
-
margin: 0 0 0;
|
194 |
-
padding: 20px;
|
195 |
-
background: #fff;
|
196 |
-
}
|
197 |
-
#WBCR .wrio-servers .wrio-server-status-wrap {
|
198 |
-
display: inline-block;
|
199 |
-
margin-top: 8px;
|
200 |
-
}
|
201 |
-
#WBCR .wrio-servers .wrio-server-status-wrap .wrio-server-status {
|
202 |
-
background: transparent;
|
203 |
-
color: #fff;
|
204 |
-
padding: 3px 5px;
|
205 |
-
border-radius: 4px;
|
206 |
-
}
|
207 |
-
#WBCR .wrio-servers .wrio-server-status-wrap .wrio-server-status.wrio-down {
|
208 |
-
background: #ff5722;
|
209 |
-
}
|
210 |
-
#WBCR .wrio-servers .wrio-server-status-wrap .wrio-server-status.wrio-stable {
|
211 |
-
background: #8bc34a;
|
212 |
-
}
|
213 |
-
#WBCR .wrio-servers .wrio-server-status-wrap .wrio-server-status.wrio-server-check-proccess {
|
214 |
-
display: inline-block;
|
215 |
-
height: 10px;
|
216 |
-
width: 30px;
|
217 |
-
background: url("../img/quick-start-loader.gif") center no-repeat;
|
218 |
-
}
|
219 |
-
#WBCR .wrio-servers .wrio-premium-user-balance-wrap {
|
220 |
-
display: inline-block;
|
221 |
-
margin-top: 8px;
|
222 |
-
margin-left: 10px;
|
223 |
-
}
|
224 |
-
#WBCR .wrio-servers .wrio-premium-user-balance-wrap .wrio-premium-user-balance {
|
225 |
-
color: #fff;
|
226 |
-
padding: 3px 5px;
|
227 |
-
border-radius: 4px;
|
228 |
-
background: #ffc107;
|
229 |
-
}
|
230 |
-
#WBCR .wrio-servers .wrio-premium-user-balance-wrap .wrio-premium-user-balance-check-proccess
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
-
|
245 |
-
box-sizing: border-box;
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
-
|
281 |
-
-
|
282 |
-
flex-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
padding-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
font-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
}
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
font-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
-
|
414 |
-
-
|
415 |
-
transition: background-color 200ms ease-in-out;
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
#WBCR #wio-start-msg-
|
462 |
-
#WBCR #wio-start-msg-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
}
|
516 |
-
|
517 |
-
|
518 |
-
font-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
padding-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
#WBCR .factory-checkbox-disabled
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
box-shadow: none;
|
588 |
-
|
589 |
-
|
590 |
-
#WBCR #wrio-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
#WBCR #wrio-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
#WBCR #wrio-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
#WBCR #wrio-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
#WBCR #wrio-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
#WBCR #wrio-
|
617 |
-
#WBCR #wrio-
|
618 |
-
#WBCR #wrio-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
margin-
|
623 |
-
|
624 |
-
|
625 |
-
#WBCR #wrio-
|
626 |
-
#WBCR #wrio-
|
627 |
-
#WBCR #wrio-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
#WBCR #wrio-
|
633 |
-
#WBCR #wrio-
|
634 |
-
#WBCR #wrio-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
#WBCR .wio .col-1-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
}
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
}
|
659 |
-
|
660 |
-
|
661 |
-
#WBCR .wio-columns .col-
|
662 |
-
|
663 |
-
|
664 |
-
}
|
665 |
-
|
666 |
-
|
667 |
-
#WBCR .wio-columns .col-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
}
|
|
1 |
+
/**
|
2 |
+
* Styles for the Widget to be displayed in the Clearfy plugin
|
3 |
+
|
4 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
5 |
+
* @copyright Webcraftic 14.06.2019
|
6 |
+
*/
|
7 |
+
#WBCR {
|
8 |
+
/* Doughnut */
|
9 |
+
/*@media (max-width: 1380px) and (min-width: 1246px), (max-width: 380px) {
|
10 |
+
.wio-overview-chart-container {
|
11 |
+
float: none;
|
12 |
+
margin-right: 0;
|
13 |
+
}
|
14 |
+
}
|
15 |
+
|
16 |
+
@media (max-width: 1380px) and (min-width: 1246px), (max-width: 380px) {
|
17 |
+
.wio-overview-chart-container {
|
18 |
+
float: none;
|
19 |
+
margin-right: 0;
|
20 |
+
}
|
21 |
+
|
22 |
+
.wio-doughnut-legend {
|
23 |
+
margin-top: 18px;
|
24 |
+
}
|
25 |
+
|
26 |
+
.wio-global-optim-phrase {
|
27 |
+
padding-top: 0;
|
28 |
+
width: auto;
|
29 |
+
}
|
30 |
+
}*/
|
31 |
+
}
|
32 |
+
#WBCR .wio-clear {
|
33 |
+
clear: both;
|
34 |
+
}
|
35 |
+
#WBCR #io_folders_statistic-wbcr_clearfy-tab,
|
36 |
+
#WBCR #io_nextgen_gallery_statistic-wbcr_clearfy-tab {
|
37 |
+
display: none !important;
|
38 |
+
}
|
39 |
+
#WBCR .wrio-statistic-nav {
|
40 |
+
margin: 0;
|
41 |
+
background: #efefef;
|
42 |
+
}
|
43 |
+
#WBCR .wrio-statistic-nav ul {
|
44 |
+
margin: 0;
|
45 |
+
}
|
46 |
+
#WBCR .wrio-statistic-nav ul li {
|
47 |
+
position: relative;
|
48 |
+
display: inline-block;
|
49 |
+
margin: 0 0 0 0;
|
50 |
+
background: #ffffff;
|
51 |
+
box-shadow: 0 -2px 0 #eaeaea;
|
52 |
+
}
|
53 |
+
#WBCR .wrio-statistic-nav ul li:hover {
|
54 |
+
background: #f7f7f7;
|
55 |
+
}
|
56 |
+
#WBCR .wrio-statistic-nav ul li.active {
|
57 |
+
background: #f7f7f7;
|
58 |
+
border-top: 1px solid #d4d4d4;
|
59 |
+
border-left: 1px solid #d4d4d4;
|
60 |
+
border-right: 1px solid #d4d4d4;
|
61 |
+
border-bottom: 1px solid #f7f7f7;
|
62 |
+
margin-bottom: -1px;
|
63 |
+
}
|
64 |
+
#WBCR .wrio-statistic-nav ul li.active a {
|
65 |
+
color: #222;
|
66 |
+
}
|
67 |
+
#WBCR .wrio-statistic-nav ul li.active a .wrio-statistic-tab-percent {
|
68 |
+
border: 2px dashed #8bc34a;
|
69 |
+
color: #5e8237;
|
70 |
+
}
|
71 |
+
#WBCR .wrio-statistic-nav ul li.active .dashicons,
|
72 |
+
#WBCR .wrio-statistic-nav ul li.active .dashicons-before:before {
|
73 |
+
color: #ff8b66;
|
74 |
+
}
|
75 |
+
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab {
|
76 |
+
display: block;
|
77 |
+
padding: 10px 20px 10px 20px;
|
78 |
+
text-decoration: none;
|
79 |
+
color: #d4d4d4;
|
80 |
+
font-size: 22px;
|
81 |
+
line-height: 2;
|
82 |
+
}
|
83 |
+
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab:active,
|
84 |
+
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab:focus {
|
85 |
+
background: 0;
|
86 |
+
box-shadow: none;
|
87 |
+
outline: none;
|
88 |
+
}
|
89 |
+
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab .dashicons,
|
90 |
+
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab .dashicons-before:before {
|
91 |
+
display: inline-block;
|
92 |
+
width: 30px;
|
93 |
+
height: 30px;
|
94 |
+
font-size: 30px;
|
95 |
+
line-height: 1.5;
|
96 |
+
margin-right: 15px;
|
97 |
+
color: #d4d4d4;
|
98 |
+
}
|
99 |
+
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab .wrio-statistic-tab-percent {
|
100 |
+
display: inline-block;
|
101 |
+
width: 42px;
|
102 |
+
height: 42px;
|
103 |
+
border-radius: 100px;
|
104 |
+
border: 2px dashed #e4e4e4;
|
105 |
+
padding: 5px;
|
106 |
+
margin-left: 30px;
|
107 |
+
font-size: 14px;
|
108 |
+
font-weight: 600;
|
109 |
+
text-align: center;
|
110 |
+
color: #bdbdbd;
|
111 |
+
}
|
112 |
+
#WBCR .wrio-statistic-nav ul li .wrio-statistic-tab-premium-label:after {
|
113 |
+
display: inline-block;
|
114 |
+
position: absolute;
|
115 |
+
content: 'PRO';
|
116 |
+
background: #ff5722;
|
117 |
+
border-radius: 4px;
|
118 |
+
color: #fff;
|
119 |
+
font-size: 10px;
|
120 |
+
line-height: 1;
|
121 |
+
font-style: normal;
|
122 |
+
padding: 4px 6px;
|
123 |
+
margin-left: 4px;
|
124 |
+
vertical-align: top;
|
125 |
+
top: 10px;
|
126 |
+
left: auto;
|
127 |
+
right: 10px;
|
128 |
+
z-index: 11;
|
129 |
+
}
|
130 |
+
#WBCR .wrio-table {
|
131 |
+
width: 100%;
|
132 |
+
table-layout: fixed;
|
133 |
+
box-sizing: border-box;
|
134 |
+
border-spacing: 3px;
|
135 |
+
background: #fff;
|
136 |
+
border-top: 2px dashed #cac9c9;
|
137 |
+
}
|
138 |
+
#WBCR .wrio-table th,
|
139 |
+
#WBCR .wrio-table td {
|
140 |
+
padding: 16px 10px;
|
141 |
+
text-align: center;
|
142 |
+
}
|
143 |
+
#WBCR .wrio-table th {
|
144 |
+
background: #f3f3f3;
|
145 |
+
color: #777777;
|
146 |
+
box-shadow: 0 1px 0 #d8d8d8;
|
147 |
+
}
|
148 |
+
#WBCR .wrio-table th:nth-child(2n+1) {
|
149 |
+
background: #f9f9f9;
|
150 |
+
}
|
151 |
+
#WBCR .wrio-table tr.wrio-error {
|
152 |
+
background-color: #ffe9e9 !important;
|
153 |
+
}
|
154 |
+
#WBCR .wrio-table .wrio-table-spinner {
|
155 |
+
background: url("../img/quick-start-loader.gif") center center no-repeat;
|
156 |
+
}
|
157 |
+
#WBCR .wrio-table .wrio-table-highlighter {
|
158 |
+
display: inline-block;
|
159 |
+
padding: 3px 7px;
|
160 |
+
background: #f3f3f3;
|
161 |
+
}
|
162 |
+
#WBCR .wrio-table .wbcr-rio-server-success {
|
163 |
+
color: #8CC152;
|
164 |
+
}
|
165 |
+
#WBCR .wrio-table .wbcr-rio-server-error {
|
166 |
+
color: #fb5d49;
|
167 |
+
}
|
168 |
+
#WBCR .wrio-table .wbcr-rio-server-warning {
|
169 |
+
color: #ffb635;
|
170 |
+
}
|
171 |
+
#WBCR .wrio-table.wbcr-rio-folders-table td:nth-child(3) {
|
172 |
+
text-align: left;
|
173 |
+
}
|
174 |
+
#WBCR .wrio-servers {
|
175 |
+
padding: 40px 20px;
|
176 |
+
}
|
177 |
+
#WBCR .wrio-servers label span {
|
178 |
+
display: block;
|
179 |
+
font-weight: normal;
|
180 |
+
font-size: 12px;
|
181 |
+
color: #b7b2b2;
|
182 |
+
}
|
183 |
+
#WBCR .wrio-servers #wrio-change-optimization-server {
|
184 |
+
position: relative;
|
185 |
+
display: inline-block;
|
186 |
+
max-width: 400px;
|
187 |
+
margin-right: 15px;
|
188 |
+
margin-bottom: 0;
|
189 |
+
border: 1px solid #d2d0d0;
|
190 |
+
background: #efefef;
|
191 |
+
}
|
192 |
+
#WBCR .wrio-servers .wrio-servers-info {
|
193 |
+
margin: 0 0 0;
|
194 |
+
padding: 20px;
|
195 |
+
background: #fff;
|
196 |
+
}
|
197 |
+
#WBCR .wrio-servers .wrio-server-status-wrap {
|
198 |
+
display: inline-block;
|
199 |
+
margin-top: 8px;
|
200 |
+
}
|
201 |
+
#WBCR .wrio-servers .wrio-server-status-wrap .wrio-server-status {
|
202 |
+
background: transparent;
|
203 |
+
color: #fff;
|
204 |
+
padding: 3px 5px;
|
205 |
+
border-radius: 4px;
|
206 |
+
}
|
207 |
+
#WBCR .wrio-servers .wrio-server-status-wrap .wrio-server-status.wrio-down {
|
208 |
+
background: #ff5722;
|
209 |
+
}
|
210 |
+
#WBCR .wrio-servers .wrio-server-status-wrap .wrio-server-status.wrio-stable {
|
211 |
+
background: #8bc34a;
|
212 |
+
}
|
213 |
+
#WBCR .wrio-servers .wrio-server-status-wrap .wrio-server-status.wrio-server-check-proccess {
|
214 |
+
display: inline-block;
|
215 |
+
height: 10px;
|
216 |
+
width: 30px;
|
217 |
+
background: url("../img/quick-start-loader.gif") center no-repeat;
|
218 |
+
}
|
219 |
+
#WBCR .wrio-servers .wrio-premium-user-balance-wrap, .wrio-premium-user-update-wrap {
|
220 |
+
display: inline-block;
|
221 |
+
margin-top: 8px;
|
222 |
+
margin-left: 10px;
|
223 |
+
}
|
224 |
+
#WBCR .wrio-servers .wrio-premium-user-balance-wrap .wrio-premium-user-balance, .wrio-premium-user-update-wrap .wrio-premium-user-update {
|
225 |
+
color: #fff;
|
226 |
+
padding: 3px 5px;
|
227 |
+
border-radius: 4px;
|
228 |
+
background: #ffc107;
|
229 |
+
}
|
230 |
+
#WBCR .wrio-servers .wrio-premium-user-balance-wrap .wrio-premium-user-balance-check-proccess,
|
231 |
+
.wrio-premium-user-update-wrap .wrio-premium-user-update-check-proccess {
|
232 |
+
display: inline-block;
|
233 |
+
height: 10px;
|
234 |
+
width: 30px;
|
235 |
+
background: url("../img/quick-start-loader.gif") center no-repeat;
|
236 |
+
}
|
237 |
+
#WBCR .wio-columns {
|
238 |
+
overflow: hidden;
|
239 |
+
padding: 15px 0;
|
240 |
+
counter-reset: cols;
|
241 |
+
}
|
242 |
+
#WBCR .wio-columns [class^="col-"] {
|
243 |
+
float: left;
|
244 |
+
-webkit-box-sizing: border-box;
|
245 |
+
-moz-box-sizing: border-box;
|
246 |
+
box-sizing: border-box;
|
247 |
+
}
|
248 |
+
#WBCR .wio-columns .col-1-3 {
|
249 |
+
width: 33.333%;
|
250 |
+
padding-left: 28px;
|
251 |
+
}
|
252 |
+
#WBCR .wio-columns .col-2-3 {
|
253 |
+
width: 66.666%;
|
254 |
+
padding-left: 28px;
|
255 |
+
}
|
256 |
+
#WBCR .wio-columns .col-1-2 {
|
257 |
+
width: 50%;
|
258 |
+
padding: 0 20px;
|
259 |
+
}
|
260 |
+
#WBCR .wio-columns .col-statistics.col-statistics {
|
261 |
+
width: 60%;
|
262 |
+
}
|
263 |
+
#WBCR .wio-columns .col-chart.col-chart {
|
264 |
+
width: 40%;
|
265 |
+
position: relative;
|
266 |
+
padding: 20px;
|
267 |
+
font-size: 12px;
|
268 |
+
text-transform: uppercase;
|
269 |
+
background: #f1f1f1b3;
|
270 |
+
color: #abacaf;
|
271 |
+
font-weight: bold;
|
272 |
+
border-radius: 5px;
|
273 |
+
margin-top: 10px;
|
274 |
+
text-align: left;
|
275 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
276 |
+
}
|
277 |
+
#WBCR .wio-col {
|
278 |
+
float: left;
|
279 |
+
width: 50%;
|
280 |
+
box-sizing: border-box;
|
281 |
+
-webkit-flex-basis: 50%;
|
282 |
+
-ms-flex-preferred-size: 50%;
|
283 |
+
flex-basis: 50%;
|
284 |
+
}
|
285 |
+
#WBCR .wio-col {
|
286 |
+
padding-right: 20px;
|
287 |
+
}
|
288 |
+
#WBCR .wio-col + .wio-col {
|
289 |
+
padding-right: 0;
|
290 |
+
padding-left: 50px;
|
291 |
+
}
|
292 |
+
#WBCR .wio-col:target {
|
293 |
+
animation: wiohello 1s 3 linear backwards;
|
294 |
+
}
|
295 |
+
#WBCR .wio-number-you-optimized {
|
296 |
+
margin-bottom: 1.35em;
|
297 |
+
overflow: hidden;
|
298 |
+
}
|
299 |
+
#WBCR .wio-number-you-optimized #wio-total-optimized-attachments-pct {
|
300 |
+
color: #828282;
|
301 |
+
}
|
302 |
+
#WBCR .wio-number-you-optimized .wio-number {
|
303 |
+
display: table-cell;
|
304 |
+
padding-right: 15px;
|
305 |
+
font-size: 48px;
|
306 |
+
font-weight: bold;
|
307 |
+
line-height: 1;
|
308 |
+
vertical-align: middle;
|
309 |
+
white-space: nowrap;
|
310 |
+
color: #828282;
|
311 |
+
}
|
312 |
+
#WBCR .wio-number-you-optimized .wio-text {
|
313 |
+
display: table-cell;
|
314 |
+
vertical-align: middle;
|
315 |
+
overflow: hidden;
|
316 |
+
font-size: 12px;
|
317 |
+
color: #828282;
|
318 |
+
}
|
319 |
+
#WBCR .wio-number-you-optimized > p {
|
320 |
+
display: table;
|
321 |
+
}
|
322 |
+
#WBCR .wio-bars {
|
323 |
+
padding-right: 15px;
|
324 |
+
}
|
325 |
+
#WBCR .wio-bars p {
|
326 |
+
font-size: 12px;
|
327 |
+
margin-bottom: 5px;
|
328 |
+
}
|
329 |
+
#WBCR .wio-bars + .wio-number-you-optimized {
|
330 |
+
border-bottom: 0;
|
331 |
+
padding-top: 0.85em;
|
332 |
+
}
|
333 |
+
#WBCR .wio-bars + .wio-number-you-optimized p {
|
334 |
+
color: #72a53b;
|
335 |
+
}
|
336 |
+
#WBCR .wio-bar-negative .wio-progress {
|
337 |
+
background: #D2D3D6;
|
338 |
+
}
|
339 |
+
#WBCR .wio-bar-negative .wio-barnb {
|
340 |
+
color: #9d9fa5;
|
341 |
+
}
|
342 |
+
#WBCR .wio-progress {
|
343 |
+
height: 8px;
|
344 |
+
transition: width 0.3s;
|
345 |
+
/*.wio-bar-negative {
|
346 |
+
width: 92% !important;
|
347 |
+
}*/
|
348 |
+
}
|
349 |
+
#WBCR .wio-bar-positive .wio-progress {
|
350 |
+
background: #8CC152;
|
351 |
+
}
|
352 |
+
#WBCR .wio-bar-positive .wio-barnb {
|
353 |
+
color: #72a53b;
|
354 |
+
}
|
355 |
+
#WBCR .wio-bar-primary .wio-progress {
|
356 |
+
background: #8CC152;
|
357 |
+
}
|
358 |
+
#WBCR .wio-bar-primary .wio-barnb {
|
359 |
+
color: #72a53b;
|
360 |
+
}
|
361 |
+
#WBCR .wio-right-outside-number .wio-barnb {
|
362 |
+
display: block;
|
363 |
+
margin-right: -5.25em;
|
364 |
+
text-align: right;
|
365 |
+
font-weight: bold;
|
366 |
+
line-height: 0.8;
|
367 |
+
}
|
368 |
+
#WBCR .wio-chart {
|
369 |
+
position: relative;
|
370 |
+
top: 1px;
|
371 |
+
display: inline-block;
|
372 |
+
vertical-align: middle;
|
373 |
+
}
|
374 |
+
#WBCR .wio-chart-container {
|
375 |
+
position: relative;
|
376 |
+
display: inline-block;
|
377 |
+
margin-right: 5px;
|
378 |
+
}
|
379 |
+
#WBCR .wio-chart-container canvas {
|
380 |
+
display: block;
|
381 |
+
}
|
382 |
+
#WBCR .wio-overview-chart-container {
|
383 |
+
float: left;
|
384 |
+
margin-right: 20px;
|
385 |
+
}
|
386 |
+
#WBCR .wio-chart-percent {
|
387 |
+
position: absolute;
|
388 |
+
left: 0;
|
389 |
+
right: 0;
|
390 |
+
top: 50%;
|
391 |
+
margin-top: -0.5em;
|
392 |
+
line-height: 0.8;
|
393 |
+
text-align: center;
|
394 |
+
font-size: 54px;
|
395 |
+
font-weight: bold;
|
396 |
+
color: #afafaf;
|
397 |
+
}
|
398 |
+
#WBCR .wio-chart-percent span {
|
399 |
+
font-size: 20px;
|
400 |
+
vertical-align: super;
|
401 |
+
}
|
402 |
+
#WBCR #wio-overview-chart-legend {
|
403 |
+
overflow: hidden;
|
404 |
+
}
|
405 |
+
#WBCR .wio-doughnut-legend li {
|
406 |
+
display: inline-block;
|
407 |
+
position: relative;
|
408 |
+
margin-bottom: 15px;
|
409 |
+
border-radius: 5px;
|
410 |
+
padding: 3px 8px 2px 31px;
|
411 |
+
font-size: 9px;
|
412 |
+
cursor: default;
|
413 |
+
-webkit-transition: background-color 200ms ease-in-out;
|
414 |
+
-moz-transition: background-color 200ms ease-in-out;
|
415 |
+
-o-transition: background-color 200ms ease-in-out;
|
416 |
+
transition: background-color 200ms ease-in-out;
|
417 |
+
}
|
418 |
+
#WBCR .wio-doughnut-legend li span {
|
419 |
+
display: block;
|
420 |
+
position: absolute;
|
421 |
+
left: 0;
|
422 |
+
top: 0;
|
423 |
+
width: 25px;
|
424 |
+
height: 25px;
|
425 |
+
border-radius: 50%;
|
426 |
+
}
|
427 |
+
#WBCR .wio-optimize-button {
|
428 |
+
min-width: 180px;
|
429 |
+
padding: 12px 30px;
|
430 |
+
background: #c9deb2;
|
431 |
+
color: #586549;
|
432 |
+
border: 0;
|
433 |
+
box-shadow: none;
|
434 |
+
font-size: 14px;
|
435 |
+
text-transform: uppercase !important;
|
436 |
+
font-weight: bold;
|
437 |
+
border-radius: 4px;
|
438 |
+
outline: none;
|
439 |
+
}
|
440 |
+
#WBCR .wio-optimize-button:active {
|
441 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
442 |
+
}
|
443 |
+
#WBCR .wio-optimize-button:disabled {
|
444 |
+
background: #e2edd6;
|
445 |
+
color: #a5b295;
|
446 |
+
}
|
447 |
+
#WBCR .wio-optimize-button.wio-running {
|
448 |
+
color: #a57b3c;
|
449 |
+
background: #fdd599 url("../img/Spinner-1s-33px.gif") 10px center no-repeat;
|
450 |
+
padding-left: 50px;
|
451 |
+
}
|
452 |
+
#WBCR .wio-global-optim-phrase {
|
453 |
+
width: 180px;
|
454 |
+
padding-top: 20px;
|
455 |
+
font-size: 14px;
|
456 |
+
text-align: center;
|
457 |
+
}
|
458 |
+
#WBCR .wio-total-percent {
|
459 |
+
color: #587f2e;
|
460 |
+
}
|
461 |
+
#WBCR #wio-start-msg-top,
|
462 |
+
#WBCR #wio-start-msg-right,
|
463 |
+
#WBCR #wio-start-msg-complete {
|
464 |
+
display: none;
|
465 |
+
}
|
466 |
+
#WBCR .wio-text-left {
|
467 |
+
text-align: left;
|
468 |
+
}
|
469 |
+
#WBCR span.wio-num {
|
470 |
+
display: inline !important;
|
471 |
+
position: inherit !important;
|
472 |
+
}
|
473 |
+
#WBCR .wio-image-optimize-board {
|
474 |
+
padding-bottom: 0 !important;
|
475 |
+
}
|
476 |
+
#WBCR .wio-page-statistic {
|
477 |
+
padding-left: 40px;
|
478 |
+
}
|
479 |
+
#WBCR .wio-page-statistic .wio-chart-percent {
|
480 |
+
margin-top: -1.1em;
|
481 |
+
}
|
482 |
+
#WBCR .wrio-optimization-progress {
|
483 |
+
background: none;
|
484 |
+
padding: 0;
|
485 |
+
/*button {
|
486 |
+
padding: 5px 10px;
|
487 |
+
border: 0;
|
488 |
+
font-size: 11px;
|
489 |
+
text-transform: uppercase !important;
|
490 |
+
font-weight: bold;
|
491 |
+
border-radius: 4px;
|
492 |
+
outline: none;
|
493 |
+
background: @greyButtonBg;
|
494 |
+
color: @greyButtonColor;
|
495 |
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
496 |
+
|
497 |
+
&:active {
|
498 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
|
499 |
+
}
|
500 |
+
|
501 |
+
&.wbcr-rio-loading {
|
502 |
+
width: 56px;
|
503 |
+
font-size: 0;
|
504 |
+
background: @greyButtonBg url("../img/quick-start-loader.gif") center no-repeat;
|
505 |
+
}
|
506 |
+
|
507 |
+
&.wbcr-rio-selected {
|
508 |
+
background: #f3efe2;
|
509 |
+
color: #d8d8d8;
|
510 |
+
|
511 |
+
&:active {
|
512 |
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
513 |
+
}
|
514 |
+
}
|
515 |
+
}*/
|
516 |
+
}
|
517 |
+
#WBCR .wrio-optimization-progress h4 {
|
518 |
+
font-size: 15px;
|
519 |
+
font-weight: 700;
|
520 |
+
}
|
521 |
+
#WBCR .wrio-optimization-progress .wbcr-rio-warning-message {
|
522 |
+
padding: 20px;
|
523 |
+
background: #efefef;
|
524 |
+
font-size: 15px;
|
525 |
+
color: #b7b7b7;
|
526 |
+
font-style: italic;
|
527 |
+
}
|
528 |
+
#WBCR .wio-widget {
|
529 |
+
padding: 0 !important;
|
530 |
+
}
|
531 |
+
#WBCR .wio-widget .wio-chart-percent {
|
532 |
+
font-size: 44px;
|
533 |
+
line-height: 1;
|
534 |
+
}
|
535 |
+
#WBCR .wio-widget .wio-bars {
|
536 |
+
width: 60%;
|
537 |
+
margin-left: 155px;
|
538 |
+
}
|
539 |
+
#WBCR .wio-widget .col-chart.col-chart {
|
540 |
+
width: 100%;
|
541 |
+
}
|
542 |
+
#WBCR .wio-widget .col-controls {
|
543 |
+
width: 45%;
|
544 |
+
padding-left: 5px;
|
545 |
+
padding-top: 110px;
|
546 |
+
}
|
547 |
+
#WBCR .wio-widget .wio-doughnut-legend {
|
548 |
+
/*padding-top:30px;*/
|
549 |
+
text-align: left;
|
550 |
+
}
|
551 |
+
#WBCR .wio-widget .wio-widget-bottom {
|
552 |
+
display: table;
|
553 |
+
padding-top: 20px !important;
|
554 |
+
width: 100%;
|
555 |
+
text-align: right;
|
556 |
+
}
|
557 |
+
#WBCR .wio-widget .wio-widget-bottom li {
|
558 |
+
display: table-cell;
|
559 |
+
}
|
560 |
+
#WBCR .wio-widget .wio-widget-bottom li:first-child {
|
561 |
+
text-align: left;
|
562 |
+
}
|
563 |
+
#WBCR .factory-checkbox.wrio-checkbox-premium-label:after {
|
564 |
+
display: inline-block;
|
565 |
+
position: relative;
|
566 |
+
content: 'PRO';
|
567 |
+
background: #ff5722;
|
568 |
+
border-radius: 4px;
|
569 |
+
color: #fff;
|
570 |
+
font-size: 10px;
|
571 |
+
line-height: 1;
|
572 |
+
font-style: normal;
|
573 |
+
padding: 4px 6px;
|
574 |
+
margin-left: 4px;
|
575 |
+
vertical-align: top;
|
576 |
+
top: -8px;
|
577 |
+
left: -10px;
|
578 |
+
right: auto;
|
579 |
+
z-index: 11;
|
580 |
+
}
|
581 |
+
#WBCR .factory-checkbox-disabled input,
|
582 |
+
#WBCR .factory-checkbox-disabled button {
|
583 |
+
pointer-events: none;
|
584 |
+
cursor: not-allowed;
|
585 |
+
opacity: 0.65;
|
586 |
+
filter: alpha(opacity=65);
|
587 |
+
-webkit-box-shadow: none;
|
588 |
+
box-shadow: none;
|
589 |
+
}
|
590 |
+
#WBCR #wrio-webp-options h3,
|
591 |
+
#WBCR #wrio-error-log-options h3 {
|
592 |
+
font-size: 14px;
|
593 |
+
margin: 0 0 10px 0;
|
594 |
+
font-weight: 600;
|
595 |
+
color: #565656;
|
596 |
+
}
|
597 |
+
#WBCR #wrio-webp-options .wrio-webp-options-info,
|
598 |
+
#WBCR #wrio-error-log-options .wrio-webp-options-info {
|
599 |
+
color: #8a8787;
|
600 |
+
font-size: 12px;
|
601 |
+
}
|
602 |
+
#WBCR #wrio-webp-options ul,
|
603 |
+
#WBCR #wrio-error-log-options ul {
|
604 |
+
padding-left: 0;
|
605 |
+
}
|
606 |
+
#WBCR #wrio-webp-options ul li:after,
|
607 |
+
#WBCR #wrio-error-log-options ul li:after {
|
608 |
+
content: '';
|
609 |
+
display: block;
|
610 |
+
clear: both;
|
611 |
+
}
|
612 |
+
#WBCR #wrio-webp-options ul li label,
|
613 |
+
#WBCR #wrio-error-log-options ul li label {
|
614 |
+
font-weight: 600;
|
615 |
+
}
|
616 |
+
#WBCR #wrio-webp-options ul li .wrio-webp-options-radio,
|
617 |
+
#WBCR #wrio-error-log-options ul li .wrio-webp-options-radio,
|
618 |
+
#WBCR #wrio-webp-options ul li .wrio-error-log-options-checkbox,
|
619 |
+
#WBCR #wrio-error-log-options ul li .wrio-error-log-options-checkbox {
|
620 |
+
display: block;
|
621 |
+
float: left;
|
622 |
+
margin-top: 2px;
|
623 |
+
margin-right: 8px;
|
624 |
+
}
|
625 |
+
#WBCR #wrio-webp-options ul li .wrio-webp-options-radio:focus,
|
626 |
+
#WBCR #wrio-error-log-options ul li .wrio-webp-options-radio:focus,
|
627 |
+
#WBCR #wrio-webp-options ul li .wrio-error-log-options-checkbox:focus,
|
628 |
+
#WBCR #wrio-error-log-options ul li .wrio-error-log-options-checkbox:focus {
|
629 |
+
outline: none;
|
630 |
+
box-shadow: none;
|
631 |
+
}
|
632 |
+
#WBCR #wrio-webp-options ul li .wrio-webp-options-info,
|
633 |
+
#WBCR #wrio-error-log-options ul li .wrio-webp-options-info,
|
634 |
+
#WBCR #wrio-webp-options ul li .wrio-error-log-options-info,
|
635 |
+
#WBCR #wrio-error-log-options ul li .wrio-error-log-options-info {
|
636 |
+
padding-left: 25px;
|
637 |
+
}
|
638 |
+
@media (max-width: 830px) {
|
639 |
+
#WBCR .wio [class^="col-"] {
|
640 |
+
float: none;
|
641 |
+
margin-bottom: 1.5em;
|
642 |
+
}
|
643 |
+
#WBCR .wio .col-1-3,
|
644 |
+
#WBCR .wio .col-1-2 {
|
645 |
+
width: auto;
|
646 |
+
padding: 0 28px;
|
647 |
+
clear: both;
|
648 |
+
padding-top: 1em;
|
649 |
+
}
|
650 |
+
}
|
651 |
+
@keyframes wiohello {
|
652 |
+
0%,
|
653 |
+
100% {
|
654 |
+
background: #FFF;
|
655 |
+
}
|
656 |
+
50% {
|
657 |
+
background: #F4F7F9;
|
658 |
+
}
|
659 |
+
}
|
660 |
+
@media (max-width: 1520px) and (min-width: 1381px), (max-width: 1086px) {
|
661 |
+
#WBCR .wio-columns .col-statistics.col-statistics,
|
662 |
+
#WBCR .wio-columns .col-chart.col-chart {
|
663 |
+
width: 50%;
|
664 |
+
}
|
665 |
+
}
|
666 |
+
@media (max-width: 808px) {
|
667 |
+
#WBCR .wio-columns .col-statistics.col-statistics,
|
668 |
+
#WBCR .wio-columns .col-chart.col-chart {
|
669 |
+
width: auto;
|
670 |
+
float: none;
|
671 |
+
padding: 0;
|
672 |
+
}
|
673 |
+
#WBCR .wio-columns .col-chart.col-chart {
|
674 |
+
margin-top: 3em;
|
675 |
+
}
|
676 |
+
}
|
admin/assets/css/sweetalert-custom.css
CHANGED
@@ -1,155 +1,155 @@
|
|
1 |
-
/* Sub Layer */
|
2 |
-
body[class*="_rio"] .swal2-container.swal2-shown {
|
3 |
-
background: rgba(16, 17, 21, 0.9);
|
4 |
-
z-index: 100000;
|
5 |
-
}
|
6 |
-
.wrio-modal {
|
7 |
-
padding: 0 !important;
|
8 |
-
}
|
9 |
-
.wrio-modal .swal2-close {
|
10 |
-
color: rgba(0, 0, 0, 0.8);
|
11 |
-
}
|
12 |
-
.wrio-modal .swal2-modal {
|
13 |
-
border-radius: 2px;
|
14 |
-
}
|
15 |
-
.wrio-modal .swal2-icon {
|
16 |
-
margin-bottom: 25px;
|
17 |
-
}
|
18 |
-
.wrio-modal .swal2-title {
|
19 |
-
margin: 0;
|
20 |
-
padding: 28px 32px;
|
21 |
-
font-size: 24px;
|
22 |
-
text-align: left;
|
23 |
-
color: #fff !important;
|
24 |
-
background: #3e3e3e !important;
|
25 |
-
}
|
26 |
-
.wrio-modal .swal2-content {
|
27 |
-
font-size: 14px;
|
28 |
-
padding: 28px 32px;
|
29 |
-
background: #efefef;
|
30 |
-
}
|
31 |
-
.wrio-modal .swal2-buttonswrapper {
|
32 |
-
margin-top: 0;
|
33 |
-
padding: 22px;
|
34 |
-
background: #F4F7F9;
|
35 |
-
}
|
36 |
-
.wrio-modal .swal2-buttonswrapper a.button svg {
|
37 |
-
margin-right: 12px;
|
38 |
-
vertical-align: -2px;
|
39 |
-
}
|
40 |
-
.wrio-modal .swal2-buttonswrapper button.loading {
|
41 |
-
border-radius: 100% !important;
|
42 |
-
height: 40px !important;
|
43 |
-
padding: 0 !important;
|
44 |
-
box-shadow: none !important;
|
45 |
-
}
|
46 |
-
.wrio-modal .swal2-buttonswrapper button.swal2-styled {
|
47 |
-
height: auto;
|
48 |
-
padding: 12px 32px;
|
49 |
-
margin: 10px;
|
50 |
-
font-size: 14px;
|
51 |
-
letter-spacing: 1px;
|
52 |
-
text-transform: uppercase;
|
53 |
-
border-radius: 3px;
|
54 |
-
font-weight: bold;
|
55 |
-
outline: none;
|
56 |
-
}
|
57 |
-
.wrio-modal .swal2-buttonswrapper button.swal2-styled.swal2-confirm {
|
58 |
-
background-color: #fdd599 !important;
|
59 |
-
text-shadow: none !important;
|
60 |
-
box-shadow: 0 3px 0 #ceac7a !important;
|
61 |
-
color: #a57b3c !important;
|
62 |
-
}
|
63 |
-
.wrio-modal .swal2-buttonswrapper button.swal2-styled.swal2-cancel {
|
64 |
-
background-color: #d2d2d2 !important;
|
65 |
-
color: #656464 !important;
|
66 |
-
text-shadow: none !important;
|
67 |
-
box-shadow: 0 3px 0 #a9a9a9;
|
68 |
-
/*background-color: #c9deb2 !important;
|
69 |
-
color: #606956 !important;
|
70 |
-
text-shadow: none !important;
|
71 |
-
box-shadow: 0 3px 0 #a7b994;*/
|
72 |
-
}
|
73 |
-
.wrio-modal .swal2-buttonswrapper button.swal2-styled:focus,
|
74 |
-
.wrio-modal .swal2-buttonswrapper button.swal2-styled:hover {
|
75 |
-
outline: none;
|
76 |
-
text-shadow: none;
|
77 |
-
color: #FFF;
|
78 |
-
}
|
79 |
-
.wrio-modal-warning {
|
80 |
-
background: #FF5722 !important;
|
81 |
-
}
|
82 |
-
.wrio-modal-warning .swal2-title {
|
83 |
-
text-align: center;
|
84 |
-
color: #222 !important;
|
85 |
-
background: #efefef !important;
|
86 |
-
}
|
87 |
-
.wrio-modal-warning .swal2-content {
|
88 |
-
font-size: 16px;
|
89 |
-
padding: 10px 20px 32px;
|
90 |
-
background: #efefef;
|
91 |
-
}
|
92 |
-
.wrio-modal-warning .swal2-buttonswrapper {
|
93 |
-
background: #efefef;
|
94 |
-
}
|
95 |
-
.wrio-modal-error {
|
96 |
-
background: #dec2c0 !important;
|
97 |
-
}
|
98 |
-
.wrio-modal-error .swal2-title {
|
99 |
-
text-align: center;
|
100 |
-
color: #222 !important;
|
101 |
-
background: #efefef !important;
|
102 |
-
}
|
103 |
-
.wrio-modal-error .swal2-content {
|
104 |
-
font-size: 16px;
|
105 |
-
padding: 10px 20px 32px;
|
106 |
-
background: #efefef;
|
107 |
-
}
|
108 |
-
.wrio-modal-error .swal2-buttonswrapper {
|
109 |
-
background: #efefef;
|
110 |
-
}
|
111 |
-
.wrio-modal-optimization-way {
|
112 |
-
background: #1F2332 !important;
|
113 |
-
}
|
114 |
-
.wrio-modal-optimization-way .wrio-swal-subtitle {
|
115 |
-
padding: 0 0 28px;
|
116 |
-
margin-top: 0px;
|
117 |
-
font-weight: 500;
|
118 |
-
font-size: 18px;
|
119 |
-
text-align: left;
|
120 |
-
color: #8c8888;
|
121 |
-
background: #efefef;
|
122 |
-
}
|
123 |
-
.wrio-modal-optimization-way .wrio-list-infos {
|
124 |
-
margin: 0;
|
125 |
-
padding: 0;
|
126 |
-
}
|
127 |
-
.wrio-modal-optimization-way .wrio-list-infos li {
|
128 |
-
display: flex;
|
129 |
-
align-items: center;
|
130 |
-
padding: 15px 5px;
|
131 |
-
text-align: left;
|
132 |
-
font-size: 14px;
|
133 |
-
line-height: 1.5;
|
134 |
-
color: #8c8888;
|
135 |
-
}
|
136 |
-
.wrio-modal-optimization-way .wrio-list-infos li:first-child {
|
137 |
-
padding-top: 5px;
|
138 |
-
}
|
139 |
-
.wrio-modal-optimization-way .wrio-list-infos li:last-child {
|
140 |
-
padding-bottom: 5px;
|
141 |
-
}
|
142 |
-
.wrio-modal-optimization-way .wrio-list-infos li + li {
|
143 |
-
border-top: 1px solid #E9EFF2;
|
144 |
-
}
|
145 |
-
.wrio-modal-optimization-way .wrio-list-infos a:before {
|
146 |
-
content: '';
|
147 |
-
display: block;
|
148 |
-
}
|
149 |
-
.wrio-modal-optimization-way .wrio-info-icon {
|
150 |
-
flex-grow: 0;
|
151 |
-
flex-basis: 50px;
|
152 |
-
}
|
153 |
-
.wrio-modal-optimization-way .wrio-info-icon + span {
|
154 |
-
padding-left: 20px;
|
155 |
-
}
|
1 |
+
/* Sub Layer */
|
2 |
+
body[class*="_rio"] .swal2-container.swal2-shown {
|
3 |
+
background: rgba(16, 17, 21, 0.9);
|
4 |
+
z-index: 100000;
|
5 |
+
}
|
6 |
+
.wrio-modal {
|
7 |
+
padding: 0 !important;
|
8 |
+
}
|
9 |
+
.wrio-modal .swal2-close {
|
10 |
+
color: rgba(0, 0, 0, 0.8);
|
11 |
+
}
|
12 |
+
.wrio-modal .swal2-modal {
|
13 |
+
border-radius: 2px;
|
14 |
+
}
|
15 |
+
.wrio-modal .swal2-icon {
|
16 |
+
margin-bottom: 25px;
|
17 |
+
}
|
18 |
+
.wrio-modal .swal2-title {
|
19 |
+
margin: 0;
|
20 |
+
padding: 28px 32px;
|
21 |
+
font-size: 24px;
|
22 |
+
text-align: left;
|
23 |
+
color: #fff !important;
|
24 |
+
background: #3e3e3e !important;
|
25 |
+
}
|
26 |
+
.wrio-modal .swal2-content {
|
27 |
+
font-size: 14px;
|
28 |
+
padding: 28px 32px;
|
29 |
+
background: #efefef;
|
30 |
+
}
|
31 |
+
.wrio-modal .swal2-buttonswrapper {
|
32 |
+
margin-top: 0;
|
33 |
+
padding: 22px;
|
34 |
+
background: #F4F7F9;
|
35 |
+
}
|
36 |
+
.wrio-modal .swal2-buttonswrapper a.button svg {
|
37 |
+
margin-right: 12px;
|
38 |
+
vertical-align: -2px;
|
39 |
+
}
|
40 |
+
.wrio-modal .swal2-buttonswrapper button.loading {
|
41 |
+
border-radius: 100% !important;
|
42 |
+
height: 40px !important;
|
43 |
+
padding: 0 !important;
|
44 |
+
box-shadow: none !important;
|
45 |
+
}
|
46 |
+
.wrio-modal .swal2-buttonswrapper button.swal2-styled {
|
47 |
+
height: auto;
|
48 |
+
padding: 12px 32px;
|
49 |
+
margin: 10px;
|
50 |
+
font-size: 14px;
|
51 |
+
letter-spacing: 1px;
|
52 |
+
text-transform: uppercase;
|
53 |
+
border-radius: 3px;
|
54 |
+
font-weight: bold;
|
55 |
+
outline: none;
|
56 |
+
}
|
57 |
+
.wrio-modal .swal2-buttonswrapper button.swal2-styled.swal2-confirm {
|
58 |
+
background-color: #fdd599 !important;
|
59 |
+
text-shadow: none !important;
|
60 |
+
box-shadow: 0 3px 0 #ceac7a !important;
|
61 |
+
color: #a57b3c !important;
|
62 |
+
}
|
63 |
+
.wrio-modal .swal2-buttonswrapper button.swal2-styled.swal2-cancel {
|
64 |
+
background-color: #d2d2d2 !important;
|
65 |
+
color: #656464 !important;
|
66 |
+
text-shadow: none !important;
|
67 |
+
box-shadow: 0 3px 0 #a9a9a9;
|
68 |
+
/*background-color: #c9deb2 !important;
|
69 |
+
color: #606956 !important;
|
70 |
+
text-shadow: none !important;
|
71 |
+
box-shadow: 0 3px 0 #a7b994;*/
|
72 |
+
}
|
73 |
+
.wrio-modal .swal2-buttonswrapper button.swal2-styled:focus,
|
74 |
+
.wrio-modal .swal2-buttonswrapper button.swal2-styled:hover {
|
75 |
+
outline: none;
|
76 |
+
text-shadow: none;
|
77 |
+
color: #FFF;
|
78 |
+
}
|
79 |
+
.wrio-modal-warning {
|
80 |
+
background: #FF5722 !important;
|
81 |
+
}
|
82 |
+
.wrio-modal-warning .swal2-title {
|
83 |
+
text-align: center;
|
84 |
+
color: #222 !important;
|
85 |
+
background: #efefef !important;
|
86 |
+
}
|
87 |
+
.wrio-modal-warning .swal2-content {
|
88 |
+
font-size: 16px;
|
89 |
+
padding: 10px 20px 32px;
|
90 |
+
background: #efefef;
|
91 |
+
}
|
92 |
+
.wrio-modal-warning .swal2-buttonswrapper {
|
93 |
+
background: #efefef;
|
94 |
+
}
|
95 |
+
.wrio-modal-error {
|
96 |
+
background: #dec2c0 !important;
|
97 |
+
}
|
98 |
+
.wrio-modal-error .swal2-title {
|
99 |
+
text-align: center;
|
100 |
+
color: #222 !important;
|
101 |
+
background: #efefef !important;
|
102 |
+
}
|
103 |
+
.wrio-modal-error .swal2-content {
|
104 |
+
font-size: 16px;
|
105 |
+
padding: 10px 20px 32px;
|
106 |
+
background: #efefef;
|
107 |
+
}
|
108 |
+
.wrio-modal-error .swal2-buttonswrapper {
|
109 |
+
background: #efefef;
|
110 |
+
}
|
111 |
+
.wrio-modal-optimization-way {
|
112 |
+
background: #1F2332 !important;
|
113 |
+
}
|
114 |
+
.wrio-modal-optimization-way .wrio-swal-subtitle {
|
115 |
+
padding: 0 0 28px;
|
116 |
+
margin-top: 0px;
|
117 |
+
font-weight: 500;
|
118 |
+
font-size: 18px;
|
119 |
+
text-align: left;
|
120 |
+
color: #8c8888;
|
121 |
+
background: #efefef;
|
122 |
+
}
|
123 |
+
.wrio-modal-optimization-way .wrio-list-infos {
|
124 |
+
margin: 0;
|
125 |
+
padding: 0;
|
126 |
+
}
|
127 |
+
.wrio-modal-optimization-way .wrio-list-infos li {
|
128 |
+
display: flex;
|
129 |
+
align-items: center;
|
130 |
+
padding: 15px 5px;
|
131 |
+
text-align: left;
|
132 |
+
font-size: 14px;
|
133 |
+
line-height: 1.5;
|
134 |
+
color: #8c8888;
|
135 |
+
}
|
136 |
+
.wrio-modal-optimization-way .wrio-list-infos li:first-child {
|
137 |
+
padding-top: 5px;
|
138 |
+
}
|
139 |
+
.wrio-modal-optimization-way .wrio-list-infos li:last-child {
|
140 |
+
padding-bottom: 5px;
|
141 |
+
}
|
142 |
+
.wrio-modal-optimization-way .wrio-list-infos li + li {
|
143 |
+
border-top: 1px solid #E9EFF2;
|
144 |
+
}
|
145 |
+
.wrio-modal-optimization-way .wrio-list-infos a:before {
|
146 |
+
content: '';
|
147 |
+
display: block;
|
148 |
+
}
|
149 |
+
.wrio-modal-optimization-way .wrio-info-icon {
|
150 |
+
flex-grow: 0;
|
151 |
+
flex-basis: 50px;
|
152 |
+
}
|
153 |
+
.wrio-modal-optimization-way .wrio-info-icon + span {
|
154 |
+
padding-left: 20px;
|
155 |
+
}
|
admin/assets/js/bulk-optimization.js
CHANGED
@@ -16,6 +16,7 @@ jQuery(function ($) {
|
|
16 |
}
|
17 |
if ('server_1' === $('#wrio-change-optimization-server').val()) {
|
18 |
$(".wrio-premium-user-balance-wrap").hide();
|
|
|
19 |
}
|
20 |
if ('server_5' === $('#wrio-change-optimization-server').val()) {
|
21 |
if (!this.settings.is_premium) {
|
@@ -41,9 +42,11 @@ jQuery(function ($) {
|
|
41 |
$(this).prop('disabled', true);
|
42 |
$('.wrio-premium-user-balance').attr('data-server', $(this).val());
|
43 |
$(".wrio-premium-user-balance-wrap").show();
|
|
|
44 |
|
45 |
if ('server_1' === $(this).val()) {
|
46 |
$(".wrio-premium-user-balance-wrap").hide();
|
|
|
47 |
}
|
48 |
if ('server_5' === $(this).val()) {
|
49 |
if (!self.settings.is_premium) {
|
@@ -95,6 +98,7 @@ jQuery(function ($) {
|
|
95 |
checkPremiumUserBalance: function () {
|
96 |
var self = this,
|
97 |
userBalance = $('.wrio-premium-user-balance'),
|
|
|
98 |
data = {
|
99 |
'action': 'wbcr-rio-check-user-balance',
|
100 |
'_wpnonce': self.settings.nonce
|
@@ -103,10 +107,19 @@ jQuery(function ($) {
|
|
103 |
data['server_name'] = $('#wrio-change-optimization-server').val();
|
104 |
|
105 |
userBalance.addClass('wrio-premium-user-balance-check-proccess');
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
108 |
$.post(ajaxurl, data, function (response) {
|
|
|
109 |
userBalance.removeClass('wrio-premium-user-balance-check-proccess');
|
|
|
|
|
|
|
110 |
|
111 |
if (!response || !response.data || !response.success) {
|
112 |
console.log('[Error]: Response error');
|
@@ -117,8 +130,14 @@ jQuery(function ($) {
|
|
117 |
}
|
118 |
|
119 |
userBalance.text('error');
|
|
|
|
|
|
|
120 |
} else {
|
121 |
userBalance.text(response.data.balance);
|
|
|
|
|
|
|
122 |
}
|
123 |
}).fail(function (xhr, status, error) {
|
124 |
console.log(xhr);
|
@@ -360,10 +379,10 @@ jQuery(function ($) {
|
|
360 |
throwError: function (error_message) {
|
361 |
this.stop();
|
362 |
|
363 |
-
var noticeId = $.
|
364 |
|
365 |
setTimeout(function () {
|
366 |
-
$.
|
367 |
}, 10000);
|
368 |
},
|
369 |
|
16 |
}
|
17 |
if ('server_1' === $('#wrio-change-optimization-server').val()) {
|
18 |
$(".wrio-premium-user-balance-wrap").hide();
|
19 |
+
$(".wrio-premium-user-update-wrap").hide();
|
20 |
}
|
21 |
if ('server_5' === $('#wrio-change-optimization-server').val()) {
|
22 |
if (!this.settings.is_premium) {
|
42 |
$(this).prop('disabled', true);
|
43 |
$('.wrio-premium-user-balance').attr('data-server', $(this).val());
|
44 |
$(".wrio-premium-user-balance-wrap").show();
|
45 |
+
$(".wrio-premium-user-update-wrap").show();
|
46 |
|
47 |
if ('server_1' === $(this).val()) {
|
48 |
$(".wrio-premium-user-balance-wrap").hide();
|
49 |
+
$(".wrio-premium-user-update-wrap").hide();
|
50 |
}
|
51 |
if ('server_5' === $(this).val()) {
|
52 |
if (!self.settings.is_premium) {
|
98 |
checkPremiumUserBalance: function () {
|
99 |
var self = this,
|
100 |
userBalance = $('.wrio-premium-user-balance'),
|
101 |
+
balanceResetAt = $('.wrio-premium-user-update'),
|
102 |
data = {
|
103 |
'action': 'wbcr-rio-check-user-balance',
|
104 |
'_wpnonce': self.settings.nonce
|
107 |
data['server_name'] = $('#wrio-change-optimization-server').val();
|
108 |
|
109 |
userBalance.addClass('wrio-premium-user-balance-check-proccess');
|
110 |
+
userBalance.text('');
|
111 |
+
|
112 |
+
if("server_5" === data['server_name']) {
|
113 |
+
balanceResetAt.addClass('wrio-premium-user-update-check-proccess');
|
114 |
+
balanceResetAt.text('');
|
115 |
+
}
|
116 |
+
|
117 |
$.post(ajaxurl, data, function (response) {
|
118 |
+
console.log(response);
|
119 |
userBalance.removeClass('wrio-premium-user-balance-check-proccess');
|
120 |
+
if("server_5" === data['server_name']) {
|
121 |
+
balanceResetAt.removeClass('wrio-premium-user-update-check-proccess');
|
122 |
+
}
|
123 |
|
124 |
if (!response || !response.data || !response.success) {
|
125 |
console.log('[Error]: Response error');
|
130 |
}
|
131 |
|
132 |
userBalance.text('error');
|
133 |
+
if("server_5" === data['server_name']) {
|
134 |
+
balanceResetAt.text('error');
|
135 |
+
}
|
136 |
} else {
|
137 |
userBalance.text(response.data.balance);
|
138 |
+
if("server_5" === data['server_name']) {
|
139 |
+
balanceResetAt.text(response.data.reset_at);
|
140 |
+
}
|
141 |
}
|
142 |
}).fail(function (xhr, status, error) {
|
143 |
console.log(xhr);
|
379 |
throwError: function (error_message) {
|
380 |
this.stop();
|
381 |
|
382 |
+
var noticeId = $.wbcr_factory_clearfy_230.app.showNotice(error_message, 'danger');
|
383 |
|
384 |
setTimeout(function () {
|
385 |
+
$.wbcr_factory_clearfy_230.app.hideNotice(noticeId);
|
386 |
}, 10000);
|
387 |
},
|
388 |
|
admin/boot.php
CHANGED
@@ -73,7 +73,7 @@
|
|
73 |
|
74 |
wp_enqueue_script( 'wrio-meta-migrations', WRIO_PLUGIN_URL . '/admin/assets/js/meta-migrations.js', [
|
75 |
'jquery',
|
76 |
-
'wbcr-factory-clearfy-
|
77 |
], WRIO_Plugin::app()->getPluginVersion() );
|
78 |
} );
|
79 |
|
@@ -123,8 +123,8 @@
|
|
123 |
*
|
124 |
* Once all post meta migrated, notice would not be shown anymore.
|
125 |
*
|
126 |
-
* @param
|
127 |
-
* @param
|
128 |
*
|
129 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
130 |
* @since 1.3.0
|
@@ -146,11 +146,11 @@
|
|
146 |
* Flush configuration after saving the settings
|
147 |
*
|
148 |
* @param WRIO_Plugin $plugin
|
149 |
-
* @param
|
150 |
*
|
151 |
* @return bool
|
152 |
*/
|
153 |
-
/*add_action('
|
154 |
$is_rio = WRIO_Plugin::app()->getPluginName() == $plugin->getPluginName();
|
155 |
|
156 |
if( $is_rio ) {
|
@@ -174,14 +174,14 @@
|
|
174 |
return $page_url;
|
175 |
}
|
176 |
|
177 |
-
add_filter( '
|
178 |
|
179 |
/**
|
180 |
* Widget with the offer to buy Clearfy Business
|
181 |
*
|
182 |
* @param array $widgets
|
183 |
* @param string $position
|
184 |
-
* @param
|
185 |
*/
|
186 |
add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
|
187 |
if ( $plugin->getPluginName() == WRIO_Plugin::app()->getPluginName() ) {
|
@@ -191,6 +191,7 @@
|
|
191 |
unset( $widgets['donate_widget'] );
|
192 |
|
193 |
if ( $position == 'right' ) {
|
|
|
194 |
unset( $widgets['business_suggetion'] );
|
195 |
unset( $widgets['rating_widget'] );
|
196 |
unset( $widgets['info_widget'] );
|
@@ -320,8 +321,8 @@
|
|
320 |
* Отправка уведомлений и скором окончании квоты в Impressive
|
321 |
* Уведомления создаются только если квота <= 100
|
322 |
*
|
323 |
-
* @param
|
324 |
-
* @param
|
325 |
*
|
326 |
* @author Alexander Gorenkov <g.a.androidjc2@ya.ru>
|
327 |
* @since 1.4.2
|
73 |
|
74 |
wp_enqueue_script( 'wrio-meta-migrations', WRIO_PLUGIN_URL . '/admin/assets/js/meta-migrations.js', [
|
75 |
'jquery',
|
76 |
+
'wbcr-factory-clearfy-230-global'
|
77 |
], WRIO_Plugin::app()->getPluginVersion() );
|
78 |
} );
|
79 |
|
123 |
*
|
124 |
* Once all post meta migrated, notice would not be shown anymore.
|
125 |
*
|
126 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
127 |
+
* @param Wbcr_FactoryPages438_ImpressiveThemplate $obj
|
128 |
*
|
129 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
130 |
* @since 1.3.0
|
146 |
* Flush configuration after saving the settings
|
147 |
*
|
148 |
* @param WRIO_Plugin $plugin
|
149 |
+
* @param Wbcr_FactoryPages438_ImpressiveThemplate $obj
|
150 |
*
|
151 |
* @return bool
|
152 |
*/
|
153 |
+
/*add_action('wbcr_factory_439_imppage_after_form_save', function ($plugin, $obj) {
|
154 |
$is_rio = WRIO_Plugin::app()->getPluginName() == $plugin->getPluginName();
|
155 |
|
156 |
if( $is_rio ) {
|
174 |
return $page_url;
|
175 |
}
|
176 |
|
177 |
+
add_filter( 'wbcr_factory_pages_438_imppage_rating_widget_url', 'wio_rating_widget_url', 10, 2 );
|
178 |
|
179 |
/**
|
180 |
* Widget with the offer to buy Clearfy Business
|
181 |
*
|
182 |
* @param array $widgets
|
183 |
* @param string $position
|
184 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
185 |
*/
|
186 |
add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
|
187 |
if ( $plugin->getPluginName() == WRIO_Plugin::app()->getPluginName() ) {
|
191 |
unset( $widgets['donate_widget'] );
|
192 |
|
193 |
if ( $position == 'right' ) {
|
194 |
+
unset( $widgets['adverts_widget'] );
|
195 |
unset( $widgets['business_suggetion'] );
|
196 |
unset( $widgets['rating_widget'] );
|
197 |
unset( $widgets['info_widget'] );
|
321 |
* Отправка уведомлений и скором окончании квоты в Impressive
|
322 |
* Уведомления создаются только если квота <= 100
|
323 |
*
|
324 |
+
* @param Wbcr_Factory439_Plugin $plugin Экземпляр плагина, который передается в функцию обратного вызова
|
325 |
+
* @param Wbcr_FactoryPages438_ImpressiveThemplate $obj Экземпляр страницы, который передается в функцию обратного вызова
|
326 |
*
|
327 |
* @author Alexander Gorenkov <g.a.androidjc2@ya.ru>
|
328 |
* @since 1.4.2
|
admin/includes/classes/class-rio-optimize-template.php
CHANGED
@@ -26,12 +26,12 @@ class WIO_OptimizePageTemplate {
|
|
26 |
/**
|
27 |
* Выводит контент страницы с учётом мультисайта
|
28 |
*
|
29 |
-
* @param
|
30 |
*
|
31 |
* @throws Exception
|
32 |
*/
|
33 |
|
34 |
-
/*public function showPageContent(
|
35 |
do_action( 'wbcr/rio/multisite_current_blog' );
|
36 |
$this->pageContent( $page );
|
37 |
do_action( 'wbcr/rio/multisite_restore_blog' );
|
26 |
/**
|
27 |
* Выводит контент страницы с учётом мультисайта
|
28 |
*
|
29 |
+
* @param Wbcr_FactoryClearfy230_PageBase $page
|
30 |
*
|
31 |
* @throws Exception
|
32 |
*/
|
33 |
|
34 |
+
/*public function showPageContent( Wbcr_FactoryClearfy230_PageBase $page ) {
|
35 |
do_action( 'wbcr/rio/multisite_current_blog' );
|
36 |
$this->pageContent( $page );
|
37 |
do_action( 'wbcr/rio/multisite_restore_blog' );
|
admin/pages/class-rio-license.php
CHANGED
@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
9 |
*
|
10 |
* @author Alexander Teshabaev <sasha.tesh@gmail.com>
|
11 |
*/
|
12 |
-
class WRIO_License_Page extends
|
13 |
|
14 |
/**
|
15 |
* {@inheritdoc}
|
@@ -43,9 +43,9 @@ class WRIO_License_Page extends Wbcr_FactoryClearfy227_LicensePage {
|
|
43 |
|
44 |
/**
|
45 |
* {@inheritdoc}
|
46 |
-
* @param
|
47 |
*/
|
48 |
-
public function __construct(
|
49 |
$this->menu_title = __( 'License', 'robin-image-optimizer' );
|
50 |
$this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
|
51 |
|
9 |
*
|
10 |
* @author Alexander Teshabaev <sasha.tesh@gmail.com>
|
11 |
*/
|
12 |
+
class WRIO_License_Page extends Wbcr_FactoryClearfy230_LicensePage {
|
13 |
|
14 |
/**
|
15 |
* {@inheritdoc}
|
43 |
|
44 |
/**
|
45 |
* {@inheritdoc}
|
46 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
47 |
*/
|
48 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
49 |
$this->menu_title = __( 'License', 'robin-image-optimizer' );
|
50 |
$this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
|
51 |
|
admin/pages/class-rio-log.php
CHANGED
@@ -106,10 +106,10 @@ class WRIO_LogPage extends WRIO_Page {
|
|
106 |
|
107 |
jQuery('#wbcr-log-viewer').html('');
|
108 |
jQuery('#wbcr-log-size').text('0B');
|
109 |
-
jQuery.
|
110 |
},
|
111 |
error: function(jqXHR, textStatus, errorThrown) {
|
112 |
-
jQuery.
|
113 |
btn.html(currentBtnText);
|
114 |
}
|
115 |
});
|
106 |
|
107 |
jQuery('#wbcr-log-viewer').html('');
|
108 |
jQuery('#wbcr-log-size').text('0B');
|
109 |
+
jQuery.wbcr_factory_clearfy_230.app.showNotice(data.message, data.type);
|
110 |
},
|
111 |
error: function(jqXHR, textStatus, errorThrown) {
|
112 |
+
jQuery.wbcr_factory_clearfy_230.app.showNotice('Error: ' + errorThrown + ', status: ' + textStatus, 'danger');
|
113 |
btn.html(currentBtnText);
|
114 |
}
|
115 |
});
|
admin/pages/class-rio-page.php
CHANGED
@@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
* @copyright (c) 2018, Webcraftic
|
19 |
* @version 1.0
|
20 |
*/
|
21 |
-
class WRIO_Page extends
|
22 |
|
23 |
/**
|
24 |
* {@inheritdoc}
|
18 |
* @copyright (c) 2018, Webcraftic
|
19 |
* @version 1.0
|
20 |
*/
|
21 |
+
class WRIO_Page extends Wbcr_FactoryClearfy230_PageBase {
|
22 |
|
23 |
/**
|
24 |
* {@inheritdoc}
|
admin/pages/class-rio-settings.php
CHANGED
@@ -27,6 +27,14 @@ class WRIO_SettingsPage extends WRIO_Page {
|
|
27 |
* {@inheritdoc}
|
28 |
*/
|
29 |
public $show_right_sidebar_in_options = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
/**
|
32 |
* @param WRIO_Plugin $plugin
|
@@ -35,6 +43,10 @@ class WRIO_SettingsPage extends WRIO_Page {
|
|
35 |
|
36 |
$this->menu_title = __( 'Settings', 'robin-image-optimizer' );
|
37 |
$this->page_menu_short_description = __( 'Plugin configuration', 'robin-image-optimizer' );
|
|
|
|
|
|
|
|
|
38 |
|
39 |
parent::__construct( $plugin );
|
40 |
}
|
@@ -44,7 +56,7 @@ class WRIO_SettingsPage extends WRIO_Page {
|
|
44 |
*
|
45 |
* @return void
|
46 |
* @since 1.0.0
|
47 |
-
* @see
|
48 |
*
|
49 |
*/
|
50 |
public function assets( $scripts, $styles ) {
|
@@ -157,7 +169,7 @@ class WRIO_SettingsPage extends WRIO_Page {
|
|
157 |
[
|
158 |
'custom',
|
159 |
__( 'Custom', 'robin-image-optimizer' ),
|
160 |
-
__( 'This mode
|
161 |
]
|
162 |
],
|
163 |
'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
|
27 |
* {@inheritdoc}
|
28 |
*/
|
29 |
public $show_right_sidebar_in_options = true;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* {@inheritDoc}
|
33 |
+
*
|
34 |
+
* @since 1.1.3 - Added
|
35 |
+
* @var bool - true show, false hide
|
36 |
+
*/
|
37 |
+
public $show_search_options_form = false;
|
38 |
|
39 |
/**
|
40 |
* @param WRIO_Plugin $plugin
|
43 |
|
44 |
$this->menu_title = __( 'Settings', 'robin-image-optimizer' );
|
45 |
$this->page_menu_short_description = __( 'Plugin configuration', 'robin-image-optimizer' );
|
46 |
+
|
47 |
+
if ( defined( 'WBCR_CLEARFY_PLUGIN_ACTIVE' ) ) {
|
48 |
+
$this->show_search_options_form = true;
|
49 |
+
}
|
50 |
|
51 |
parent::__construct( $plugin );
|
52 |
}
|
56 |
*
|
57 |
* @return void
|
58 |
* @since 1.0.0
|
59 |
+
* @see Wbcr_FactoryPages438_AdminPage
|
60 |
*
|
61 |
*/
|
62 |
public function assets( $scripts, $styles ) {
|
169 |
[
|
170 |
'custom',
|
171 |
__( 'Custom', 'robin-image-optimizer' ),
|
172 |
+
__( 'This mode allows you to configure your own compression ratio.', 'robin-image-optimizer' )
|
173 |
]
|
174 |
],
|
175 |
'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
|
admin/pages/class-rio-statistic.php
CHANGED
@@ -88,11 +88,6 @@ class WRIO_StatisticPage extends WRIO_Page {
|
|
88 |
if ( ( $this->plugin->getPluginName() != $plugin->getPluginName() ) || ( $obj->id != 'rio_general' ) ) {
|
89 |
return false;
|
90 |
}
|
91 |
-
|
92 |
-
if ( ! wrio_is_license_activate() && ! wrio_is_license_active() ) {
|
93 |
-
$notice = sprintf( __( "We are forced to introduce limits on free servers. Read more on <a href='%s'>our website</a>", 'robin-image-optimizer' ), 'https://robinoptimizer.com/we-are-forced-to-introduce-limits/' );
|
94 |
-
$obj->printWarningNotice( $notice );
|
95 |
-
}
|
96 |
}
|
97 |
|
98 |
/**
|
88 |
if ( ( $this->plugin->getPluginName() != $plugin->getPluginName() ) || ( $obj->id != 'rio_general' ) ) {
|
89 |
return false;
|
90 |
}
|
|
|
|
|
|
|
|
|
|
|
91 |
}
|
92 |
|
93 |
/**
|
assets/js/jquery.lazy.js
CHANGED
@@ -1,872 +1,872 @@
|
|
1 |
-
/*!
|
2 |
-
* jQuery & Zepto Lazy - v1.7.10
|
3 |
-
* http://jquery.eisbehr.de/lazy/
|
4 |
-
*
|
5 |
-
* Copyright 2012 - 2018, Daniel 'Eisbehr' Kern
|
6 |
-
*
|
7 |
-
* Dual licensed under the MIT and GPL-2.0 licenses:
|
8 |
-
* http://www.opensource.org/licenses/mit-license.php
|
9 |
-
* http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
-
*
|
11 |
-
* $("img.lazy").lazy();
|
12 |
-
*/
|
13 |
-
|
14 |
-
;(function(window, undefined) {
|
15 |
-
"use strict";
|
16 |
-
|
17 |
-
// noinspection JSUnresolvedVariable
|
18 |
-
/**
|
19 |
-
* library instance - here and not in construct to be shorter in minimization
|
20 |
-
* @return void
|
21 |
-
*/
|
22 |
-
var $ = window.jQuery || window.Zepto,
|
23 |
-
|
24 |
-
/**
|
25 |
-
* unique plugin instance id counter
|
26 |
-
* @type {number}
|
27 |
-
*/
|
28 |
-
lazyInstanceId = 0,
|
29 |
-
|
30 |
-
/**
|
31 |
-
* helper to register window load for jQuery 3
|
32 |
-
* @type {boolean}
|
33 |
-
*/
|
34 |
-
windowLoaded = false;
|
35 |
-
|
36 |
-
/**
|
37 |
-
* make lazy available to jquery - and make it a bit more case-insensitive :)
|
38 |
-
* @access public
|
39 |
-
* @type {function}
|
40 |
-
* @param {object} settings
|
41 |
-
* @return {LazyPlugin}
|
42 |
-
*/
|
43 |
-
$.fn.Lazy = $.fn.lazy = function(settings) {
|
44 |
-
return new LazyPlugin(this, settings);
|
45 |
-
};
|
46 |
-
|
47 |
-
/**
|
48 |
-
* helper to add plugins to lazy prototype configuration
|
49 |
-
* @access public
|
50 |
-
* @type {function}
|
51 |
-
* @param {string|Array} names
|
52 |
-
* @param {string|Array|function} [elements]
|
53 |
-
* @param {function} loader
|
54 |
-
* @return void
|
55 |
-
*/
|
56 |
-
$.Lazy = $.lazy = function(names, elements, loader) {
|
57 |
-
// make second parameter optional
|
58 |
-
if ($.isFunction(elements)) {
|
59 |
-
loader = elements;
|
60 |
-
elements = [];
|
61 |
-
}
|
62 |
-
|
63 |
-
// exit here if parameter is not a callable function
|
64 |
-
if (!$.isFunction(loader)) {
|
65 |
-
return;
|
66 |
-
}
|
67 |
-
|
68 |
-
// make parameters an array of names to be sure
|
69 |
-
names = $.isArray(names) ? names : [names];
|
70 |
-
elements = $.isArray(elements) ? elements : [elements];
|
71 |
-
|
72 |
-
var config = LazyPlugin.prototype.config,
|
73 |
-
forced = config._f || (config._f = {});
|
74 |
-
|
75 |
-
// add the loader plugin for every name
|
76 |
-
for (var i = 0, l = names.length; i < l; i++) {
|
77 |
-
if (config[names[i]] === undefined || $.isFunction(config[names[i]])) {
|
78 |
-
config[names[i]] = loader;
|
79 |
-
}
|
80 |
-
}
|
81 |
-
|
82 |
-
// add forced elements loader
|
83 |
-
for (var c = 0, a = elements.length; c < a; c++) {
|
84 |
-
forced[elements[c]] = names[0];
|
85 |
-
}
|
86 |
-
};
|
87 |
-
|
88 |
-
/**
|
89 |
-
* contains all logic and the whole element handling
|
90 |
-
* is packed in a private function outside class to reduce memory usage, because it will not be created on every plugin instance
|
91 |
-
* @access private
|
92 |
-
* @type {function}
|
93 |
-
* @param {LazyPlugin} instance
|
94 |
-
* @param {object} config
|
95 |
-
* @param {object|Array} items
|
96 |
-
* @param {object} events
|
97 |
-
* @param {string} namespace
|
98 |
-
* @return void
|
99 |
-
*/
|
100 |
-
function _executeLazy(instance, config, items, events, namespace) {
|
101 |
-
/**
|
102 |
-
* a helper to trigger the 'onFinishedAll' callback after all other events
|
103 |
-
* @access private
|
104 |
-
* @type {number}
|
105 |
-
*/
|
106 |
-
var _awaitingAfterLoad = 0,
|
107 |
-
|
108 |
-
/**
|
109 |
-
* visible content width
|
110 |
-
* @access private
|
111 |
-
* @type {number}
|
112 |
-
*/
|
113 |
-
_actualWidth = -1,
|
114 |
-
|
115 |
-
/**
|
116 |
-
* visible content height
|
117 |
-
* @access private
|
118 |
-
* @type {number}
|
119 |
-
*/
|
120 |
-
_actualHeight = -1,
|
121 |
-
|
122 |
-
/**
|
123 |
-
* determine possibly detected high pixel density
|
124 |
-
* @access private
|
125 |
-
* @type {boolean}
|
126 |
-
*/
|
127 |
-
_isRetinaDisplay = false,
|
128 |
-
|
129 |
-
/**
|
130 |
-
* dictionary entry for better minimization
|
131 |
-
* @access private
|
132 |
-
* @type {string}
|
133 |
-
*/
|
134 |
-
_afterLoad = 'afterLoad',
|
135 |
-
|
136 |
-
/**
|
137 |
-
* dictionary entry for better minimization
|
138 |
-
* @access private
|
139 |
-
* @type {string}
|
140 |
-
*/
|
141 |
-
_load = 'load',
|
142 |
-
|
143 |
-
/**
|
144 |
-
* dictionary entry for better minimization
|
145 |
-
* @access private
|
146 |
-
* @type {string}
|
147 |
-
*/
|
148 |
-
_error = 'error',
|
149 |
-
|
150 |
-
/**
|
151 |
-
* dictionary entry for better minimization
|
152 |
-
* @access private
|
153 |
-
* @type {string}
|
154 |
-
*/
|
155 |
-
_img = 'img',
|
156 |
-
|
157 |
-
/**
|
158 |
-
* dictionary entry for better minimization
|
159 |
-
* @access private
|
160 |
-
* @type {string}
|
161 |
-
*/
|
162 |
-
_src = 'src',
|
163 |
-
|
164 |
-
/**
|
165 |
-
* dictionary entry for better minimization
|
166 |
-
* @access private
|
167 |
-
* @type {string}
|
168 |
-
*/
|
169 |
-
_srcset = 'srcset',
|
170 |
-
|
171 |
-
/**
|
172 |
-
* dictionary entry for better minimization
|
173 |
-
* @access private
|
174 |
-
* @type {string}
|
175 |
-
*/
|
176 |
-
_sizes = 'sizes',
|
177 |
-
|
178 |
-
/**
|
179 |
-
* dictionary entry for better minimization
|
180 |
-
* @access private
|
181 |
-
* @type {string}
|
182 |
-
*/
|
183 |
-
_backgroundImage = 'background-image';
|
184 |
-
|
185 |
-
/**
|
186 |
-
* initialize plugin
|
187 |
-
* bind loading to events or set delay time to load all items at once
|
188 |
-
* @access private
|
189 |
-
* @return void
|
190 |
-
*/
|
191 |
-
function _initialize() {
|
192 |
-
// detect actual device pixel ratio
|
193 |
-
// noinspection JSUnresolvedVariable
|
194 |
-
_isRetinaDisplay = window.devicePixelRatio > 1;
|
195 |
-
|
196 |
-
// prepare all initial items
|
197 |
-
items = _prepareItems(items);
|
198 |
-
|
199 |
-
// if delay time is set load all items at once after delay time
|
200 |
-
if (config.delay >= 0) {
|
201 |
-
setTimeout(function() {
|
202 |
-
_lazyLoadItems(true);
|
203 |
-
}, config.delay);
|
204 |
-
}
|
205 |
-
|
206 |
-
// if no delay is set or combine usage is active bind events
|
207 |
-
if (config.delay < 0 || config.combined) {
|
208 |
-
// create unique event function
|
209 |
-
events.e = _throttle(config.throttle, function(event) {
|
210 |
-
// reset detected window size on resize event
|
211 |
-
if (event.type === 'resize') {
|
212 |
-
_actualWidth = _actualHeight = -1;
|
213 |
-
}
|
214 |
-
|
215 |
-
// execute 'lazy magic'
|
216 |
-
_lazyLoadItems(event.all);
|
217 |
-
});
|
218 |
-
|
219 |
-
// create function to add new items to instance
|
220 |
-
events.a = function(additionalItems) {
|
221 |
-
additionalItems = _prepareItems(additionalItems);
|
222 |
-
items.push.apply(items, additionalItems);
|
223 |
-
};
|
224 |
-
|
225 |
-
// create function to get all instance items left
|
226 |
-
events.g = function() {
|
227 |
-
// filter loaded items before return in case internal filter was not running until now
|
228 |
-
return (items = $(items).filter(function() {
|
229 |
-
return !$(this).data(config.loadedName);
|
230 |
-
}));
|
231 |
-
};
|
232 |
-
|
233 |
-
// create function to force loading elements
|
234 |
-
events.f = function(forcedItems) {
|
235 |
-
for (var i = 0; i < forcedItems.length; i++) {
|
236 |
-
// only handle item if available in current instance
|
237 |
-
// use a compare function, because Zepto can't handle object parameter for filter
|
238 |
-
// var item = items.filter(forcedItems[i]);
|
239 |
-
/* jshint loopfunc: true */
|
240 |
-
var item = items.filter(function() {
|
241 |
-
return this === forcedItems[i];
|
242 |
-
});
|
243 |
-
|
244 |
-
if (item.length) {
|
245 |
-
_lazyLoadItems(false, item);
|
246 |
-
}
|
247 |
-
}
|
248 |
-
};
|
249 |
-
|
250 |
-
// load initial items
|
251 |
-
_lazyLoadItems();
|
252 |
-
|
253 |
-
// bind lazy load functions to scroll and resize event
|
254 |
-
// noinspection JSUnresolvedVariable
|
255 |
-
$(config.appendScroll).on('scroll.' + namespace + ' resize.' + namespace, events.e);
|
256 |
-
}
|
257 |
-
}
|
258 |
-
|
259 |
-
/**
|
260 |
-
* prepare items before handle them
|
261 |
-
* @access private
|
262 |
-
* @param {Array|object|jQuery} items
|
263 |
-
* @return {Array|object|jQuery}
|
264 |
-
*/
|
265 |
-
function _prepareItems(items) {
|
266 |
-
// fetch used configurations before loops
|
267 |
-
var defaultImage = config.defaultImage,
|
268 |
-
placeholder = config.placeholder,
|
269 |
-
imageBase = config.imageBase,
|
270 |
-
srcsetAttribute = config.srcsetAttribute,
|
271 |
-
loaderAttribute = config.loaderAttribute,
|
272 |
-
forcedTags = config._f || {};
|
273 |
-
|
274 |
-
// filter items and only add those who not handled yet and got needed attributes available
|
275 |
-
items = $(items).filter(function() {
|
276 |
-
var element = $(this),
|
277 |
-
tag = _getElementTagName(this);
|
278 |
-
|
279 |
-
return !element.data(config.handledName) &&
|
280 |
-
(element.attr(config.attribute) || element.attr(srcsetAttribute) || element.attr(loaderAttribute) || forcedTags[tag] !== undefined);
|
281 |
-
})
|
282 |
-
|
283 |
-
// append plugin instance to all elements
|
284 |
-
.data('plugin_' + config.name, instance);
|
285 |
-
|
286 |
-
for (var i = 0, l = items.length; i < l; i++) {
|
287 |
-
var element = $(items[i]),
|
288 |
-
tag = _getElementTagName(items[i]),
|
289 |
-
elementImageBase = element.attr(config.imageBaseAttribute) || imageBase;
|
290 |
-
|
291 |
-
// generate and update source set if an image base is set
|
292 |
-
if (tag === _img && elementImageBase && element.attr(srcsetAttribute)) {
|
293 |
-
element.attr(srcsetAttribute, _getCorrectedSrcSet(element.attr(srcsetAttribute), elementImageBase));
|
294 |
-
}
|
295 |
-
|
296 |
-
// add loader to forced element types
|
297 |
-
if (forcedTags[tag] !== undefined && !element.attr(loaderAttribute)) {
|
298 |
-
element.attr(loaderAttribute, forcedTags[tag]);
|
299 |
-
}
|
300 |
-
|
301 |
-
// set default image on every element without source
|
302 |
-
if (tag === _img && defaultImage && !element.attr(_src)) {
|
303 |
-
element.attr(_src, defaultImage);
|
304 |
-
}
|
305 |
-
|
306 |
-
// set placeholder on every element without background image
|
307 |
-
else if (tag !== _img && placeholder && (!element.css(_backgroundImage) || element.css(_backgroundImage) === 'none')) {
|
308 |
-
element.css(_backgroundImage, "url('" + placeholder + "')");
|
309 |
-
}
|
310 |
-
}
|
311 |
-
|
312 |
-
return items;
|
313 |
-
}
|
314 |
-
|
315 |
-
/**
|
316 |
-
* the 'lazy magic' - check all items
|
317 |
-
* @access private
|
318 |
-
* @param {boolean} [allItems]
|
319 |
-
* @param {object} [forced]
|
320 |
-
* @return void
|
321 |
-
*/
|
322 |
-
function _lazyLoadItems(allItems, forced) {
|
323 |
-
// skip if no items where left
|
324 |
-
if (!items.length) {
|
325 |
-
// destroy instance if option is enabled
|
326 |
-
if (config.autoDestroy) {
|
327 |
-
// noinspection JSUnresolvedFunction
|
328 |
-
instance.destroy();
|
329 |
-
}
|
330 |
-
|
331 |
-
return;
|
332 |
-
}
|
333 |
-
|
334 |
-
var elements = forced || items,
|
335 |
-
loadTriggered = false,
|
336 |
-
imageBase = config.imageBase || '',
|
337 |
-
srcsetAttribute = config.srcsetAttribute,
|
338 |
-
handledName = config.handledName;
|
339 |
-
|
340 |
-
// loop all available items
|
341 |
-
for (var i = 0; i < elements.length; i++) {
|
342 |
-
// item is at least in loadable area
|
343 |
-
if (allItems || forced || _isInLoadableArea(elements[i])) {
|
344 |
-
var element = $(elements[i]),
|
345 |
-
tag = _getElementTagName(elements[i]),
|
346 |
-
attribute = element.attr(config.attribute),
|
347 |
-
elementImageBase = element.attr(config.imageBaseAttribute) || imageBase,
|
348 |
-
customLoader = element.attr(config.loaderAttribute);
|
349 |
-
|
350 |
-
// is not already handled
|
351 |
-
if (!element.data(handledName) &&
|
352 |
-
// and is visible or visibility doesn't matter
|
353 |
-
(!config.visibleOnly || element.is(':visible')) && (
|
354 |
-
// and image source or source set attribute is available
|
355 |
-
(attribute || element.attr(srcsetAttribute)) && (
|
356 |
-
// and is image tag where attribute is not equal source or source set
|
357 |
-
(tag === _img && (elementImageBase + attribute !== element.attr(_src) || element.attr(srcsetAttribute) !== element.attr(_srcset))) ||
|
358 |
-
// or is non image tag where attribute is not equal background
|
359 |
-
(tag !== _img && elementImageBase + attribute !== element.css(_backgroundImage))
|
360 |
-
) ||
|
361 |
-
// or custom loader is available
|
362 |
-
customLoader))
|
363 |
-
{
|
364 |
-
// mark element always as handled as this point to prevent double handling
|
365 |
-
loadTriggered = true;
|
366 |
-
element.data(handledName, true);
|
367 |
-
|
368 |
-
// load item
|
369 |
-
_handleItem(element, tag, elementImageBase, customLoader);
|
370 |
-
}
|
371 |
-
}
|
372 |
-
}
|
373 |
-
|
374 |
-
// when something was loaded remove them from remaining items
|
375 |
-
if (loadTriggered) {
|
376 |
-
items = $(items).filter(function() {
|
377 |
-
return !$(this).data(handledName);
|
378 |
-
});
|
379 |
-
}
|
380 |
-
}
|
381 |
-
|
382 |
-
/**
|
383 |
-
* load the given element the lazy way
|
384 |
-
* @access private
|
385 |
-
* @param {object} element
|
386 |
-
* @param {string} tag
|
387 |
-
* @param {string} imageBase
|
388 |
-
* @param {function} [customLoader]
|
389 |
-
* @return void
|
390 |
-
*/
|
391 |
-
function _handleItem(element, tag, imageBase, customLoader) {
|
392 |
-
// increment count of items waiting for after load
|
393 |
-
++_awaitingAfterLoad;
|
394 |
-
|
395 |
-
// extended error callback for correct 'onFinishedAll' handling
|
396 |
-
var errorCallback = function() {
|
397 |
-
_triggerCallback('onError', element);
|
398 |
-
_reduceAwaiting();
|
399 |
-
|
400 |
-
// prevent further callback calls
|
401 |
-
errorCallback = $.noop;
|
402 |
-
};
|
403 |
-
|
404 |
-
// trigger function before loading image
|
405 |
-
_triggerCallback('beforeLoad', element);
|
406 |
-
|
407 |
-
// fetch all double used data here for better code minimization
|
408 |
-
var srcAttribute = config.attribute,
|
409 |
-
srcsetAttribute = config.srcsetAttribute,
|
410 |
-
sizesAttribute = config.sizesAttribute,
|
411 |
-
retinaAttribute = config.retinaAttribute,
|
412 |
-
removeAttribute = config.removeAttribute,
|
413 |
-
loadedName = config.loadedName,
|
414 |
-
elementRetina = element.attr(retinaAttribute);
|
415 |
-
|
416 |
-
// handle custom loader
|
417 |
-
if (customLoader) {
|
418 |
-
// on load callback
|
419 |
-
var loadCallback = function() {
|
420 |
-
// remove attribute from element
|
421 |
-
if (removeAttribute) {
|
422 |
-
element.removeAttr(config.loaderAttribute);
|
423 |
-
}
|
424 |
-
|
425 |
-
// mark element as loaded
|
426 |
-
element.data(loadedName, true);
|
427 |
-
|
428 |
-
// call after load event
|
429 |
-
_triggerCallback(_afterLoad, element);
|
430 |
-
|
431 |
-
// remove item from waiting queue and possibly trigger finished event
|
432 |
-
// it's needed to be asynchronous to run after filter was in _lazyLoadItems
|
433 |
-
setTimeout(_reduceAwaiting, 1);
|
434 |
-
|
435 |
-
// prevent further callback calls
|
436 |
-
loadCallback = $.noop;
|
437 |
-
};
|
438 |
-
|
439 |
-
// bind error event to trigger callback and reduce waiting amount
|
440 |
-
element.off(_error).one(_error, errorCallback)
|
441 |
-
|
442 |
-
// bind after load callback to element
|
443 |
-
.one(_load, loadCallback);
|
444 |
-
|
445 |
-
// trigger custom loader and handle response
|
446 |
-
if (!_triggerCallback(customLoader, element, function(response) {
|
447 |
-
if(response) {
|
448 |
-
element.off(_load);
|
449 |
-
loadCallback();
|
450 |
-
}
|
451 |
-
else {
|
452 |
-
element.off(_error);
|
453 |
-
errorCallback();
|
454 |
-
}
|
455 |
-
})) {
|
456 |
-
element.trigger(_error);
|
457 |
-
}
|
458 |
-
}
|
459 |
-
|
460 |
-
// handle images
|
461 |
-
else {
|
462 |
-
// create image object
|
463 |
-
var imageObj = $(new Image());
|
464 |
-
|
465 |
-
// bind error event to trigger callback and reduce waiting amount
|
466 |
-
imageObj.one(_error, errorCallback)
|
467 |
-
|
468 |
-
// bind after load callback to image
|
469 |
-
.one(_load, function() {
|
470 |
-
// remove element from view
|
471 |
-
element.hide();
|
472 |
-
|
473 |
-
// set image back to element
|
474 |
-
// do it as single 'attr' calls, to be sure 'src' is set after 'srcset'
|
475 |
-
if (tag === _img) {
|
476 |
-
element.attr(_sizes, imageObj.attr(_sizes))
|
477 |
-
.attr(_srcset, imageObj.attr(_srcset))
|
478 |
-
.attr(_src, imageObj.attr(_src));
|
479 |
-
}
|
480 |
-
else {
|
481 |
-
element.css(_backgroundImage, "url('" + imageObj.attr(_src) + "')");
|
482 |
-
}
|
483 |
-
|
484 |
-
// bring it back with some effect!
|
485 |
-
element[config.effect](config.effectTime);
|
486 |
-
|
487 |
-
// remove attribute from element
|
488 |
-
if (removeAttribute) {
|
489 |
-
element.removeAttr(srcAttribute + ' ' + srcsetAttribute + ' ' + retinaAttribute + ' ' + config.imageBaseAttribute);
|
490 |
-
|
491 |
-
// only remove 'sizes' attribute, if it was a custom one
|
492 |
-
if (sizesAttribute !== _sizes) {
|
493 |
-
element.removeAttr(sizesAttribute);
|
494 |
-
}
|
495 |
-
}
|
496 |
-
|
497 |
-
// mark element as loaded
|
498 |
-
element.data(loadedName, true);
|
499 |
-
|
500 |
-
// call after load event
|
501 |
-
_triggerCallback(_afterLoad, element);
|
502 |
-
|
503 |
-
// cleanup image object
|
504 |
-
imageObj.remove();
|
505 |
-
|
506 |
-
// remove item from waiting queue and possibly trigger finished event
|
507 |
-
_reduceAwaiting();
|
508 |
-
});
|
509 |
-
|
510 |
-
// set sources
|
511 |
-
// do it as single 'attr' calls, to be sure 'src' is set after 'srcset'
|
512 |
-
var imageSrc = (_isRetinaDisplay && elementRetina ? elementRetina : element.attr(srcAttribute)) || '';
|
513 |
-
imageObj.attr(_sizes, element.attr(sizesAttribute))
|
514 |
-
.attr(_srcset, element.attr(srcsetAttribute))
|
515 |
-
.attr(_src, imageSrc ? imageBase + imageSrc : null);
|
516 |
-
|
517 |
-
// call after load even on cached image
|
518 |
-
imageObj.complete && imageObj.trigger(_load); // jshint ignore : line
|
519 |
-
}
|
520 |
-
}
|
521 |
-
|
522 |
-
/**
|
523 |
-
* check if the given element is inside the current viewport or threshold
|
524 |
-
* @access private
|
525 |
-
* @param {object} element
|
526 |
-
* @return {boolean}
|
527 |
-
*/
|
528 |
-
function _isInLoadableArea(element) {
|
529 |
-
var elementBound = element.getBoundingClientRect(),
|
530 |
-
direction = config.scrollDirection,
|
531 |
-
threshold = config.threshold,
|
532 |
-
vertical = // check if element is in loadable area from top
|
533 |
-
((_getActualHeight() + threshold) > elementBound.top) &&
|
534 |
-
// check if element is even in loadable are from bottom
|
535 |
-
(-threshold < elementBound.bottom),
|
536 |
-
horizontal = // check if element is in loadable area from left
|
537 |
-
((_getActualWidth() + threshold) > elementBound.left) &&
|
538 |
-
// check if element is even in loadable area from right
|
539 |
-
(-threshold < elementBound.right);
|
540 |
-
|
541 |
-
if (direction === 'vertical') {
|
542 |
-
return vertical;
|
543 |
-
}
|
544 |
-
else if (direction === 'horizontal') {
|
545 |
-
return horizontal;
|
546 |
-
}
|
547 |
-
|
548 |
-
return vertical && horizontal;
|
549 |
-
}
|
550 |
-
|
551 |
-
/**
|
552 |
-
* receive the current viewed width of the browser
|
553 |
-
* @access private
|
554 |
-
* @return {number}
|
555 |
-
*/
|
556 |
-
function _getActualWidth() {
|
557 |
-
return _actualWidth >= 0 ? _actualWidth : (_actualWidth = $(window).width());
|
558 |
-
}
|
559 |
-
|
560 |
-
/**
|
561 |
-
* receive the current viewed height of the browser
|
562 |
-
* @access private
|
563 |
-
* @return {number}
|
564 |
-
*/
|
565 |
-
function _getActualHeight() {
|
566 |
-
return _actualHeight >= 0 ? _actualHeight : (_actualHeight = $(window).height());
|
567 |
-
}
|
568 |
-
|
569 |
-
/**
|
570 |
-
* get lowercase tag name of an element
|
571 |
-
* @access private
|
572 |
-
* @param {object} element
|
573 |
-
* @returns {string}
|
574 |
-
*/
|
575 |
-
function _getElementTagName(element) {
|
576 |
-
return element.tagName.toLowerCase();
|
577 |
-
}
|
578 |
-
|
579 |
-
/**
|
580 |
-
* prepend image base to all srcset entries
|
581 |
-
* @access private
|
582 |
-
* @param {string} srcset
|
583 |
-
* @param {string} imageBase
|
584 |
-
* @returns {string}
|
585 |
-
*/
|
586 |
-
function _getCorrectedSrcSet(srcset, imageBase) {
|
587 |
-
if (imageBase) {
|
588 |
-
// trim, remove unnecessary spaces and split entries
|
589 |
-
var entries = srcset.split(',');
|
590 |
-
srcset = '';
|
591 |
-
|
592 |
-
for (var i = 0, l = entries.length; i < l; i++) {
|
593 |
-
srcset += imageBase + entries[i].trim() + (i !== l - 1 ? ',' : '');
|
594 |
-
}
|
595 |
-
}
|
596 |
-
|
597 |
-
return srcset;
|
598 |
-
}
|
599 |
-
|
600 |
-
/**
|
601 |
-
* helper function to throttle down event triggering
|
602 |
-
* @access private
|
603 |
-
* @param {number} delay
|
604 |
-
* @param {function} callback
|
605 |
-
* @return {function}
|
606 |
-
*/
|
607 |
-
function _throttle(delay, callback) {
|
608 |
-
var timeout,
|
609 |
-
lastExecute = 0;
|
610 |
-
|
611 |
-
return function(event, ignoreThrottle) {
|
612 |
-
var elapsed = +new Date() - lastExecute;
|
613 |
-
|
614 |
-
function run() {
|
615 |
-
lastExecute = +new Date();
|
616 |
-
// noinspection JSUnresolvedFunction
|
617 |
-
callback.call(instance, event);
|
618 |
-
}
|
619 |
-
|
620 |
-
timeout && clearTimeout(timeout); // jshint ignore : line
|
621 |
-
|
622 |
-
if (elapsed > delay || !config.enableThrottle || ignoreThrottle) {
|
623 |
-
run();
|
624 |
-
}
|
625 |
-
else {
|
626 |
-
timeout = setTimeout(run, delay - elapsed);
|
627 |
-
}
|
628 |
-
};
|
629 |
-
}
|
630 |
-
|
631 |
-
/**
|
632 |
-
* reduce count of awaiting elements to 'afterLoad' event and fire 'onFinishedAll' if reached zero
|
633 |
-
* @access private
|
634 |
-
* @return void
|
635 |
-
*/
|
636 |
-
function _reduceAwaiting() {
|
637 |
-
--_awaitingAfterLoad;
|
638 |
-
|
639 |
-
// if no items were left trigger finished event
|
640 |
-
if (!items.length && !_awaitingAfterLoad) {
|
641 |
-
_triggerCallback('onFinishedAll');
|
642 |
-
}
|
643 |
-
}
|
644 |
-
|
645 |
-
/**
|
646 |
-
* single implementation to handle callbacks, pass element and set 'this' to current instance
|
647 |
-
* @access private
|
648 |
-
* @param {string|function} callback
|
649 |
-
* @param {object} [element]
|
650 |
-
* @param {*} [args]
|
651 |
-
* @return {boolean}
|
652 |
-
*/
|
653 |
-
function _triggerCallback(callback, element, args) {
|
654 |
-
if ((callback = config[callback])) {
|
655 |
-
// jQuery's internal '$(arguments).slice(1)' are causing problems at least on old iPads
|
656 |
-
// below is shorthand of 'Array.prototype.slice.call(arguments, 1)'
|
657 |
-
callback.apply(instance, [].slice.call(arguments, 1));
|
658 |
-
return true;
|
659 |
-
}
|
660 |
-
|
661 |
-
return false;
|
662 |
-
}
|
663 |
-
|
664 |
-
// if event driven or window is already loaded don't wait for page loading
|
665 |
-
if (config.bind === 'event' || windowLoaded) {
|
666 |
-
_initialize();
|
667 |
-
}
|
668 |
-
|
669 |
-
// otherwise load initial items and start lazy after page load
|
670 |
-
else {
|
671 |
-
// noinspection JSUnresolvedVariable
|
672 |
-
$(window).on(_load + '.' + namespace, _initialize);
|
673 |
-
}
|
674 |
-
}
|
675 |
-
|
676 |
-
/**
|
677 |
-
* lazy plugin class constructor
|
678 |
-
* @constructor
|
679 |
-
* @access private
|
680 |
-
* @param {object} elements
|
681 |
-
* @param {object} settings
|
682 |
-
* @return {object|LazyPlugin}
|
683 |
-
*/
|
684 |
-
function LazyPlugin(elements, settings) {
|
685 |
-
/**
|
686 |
-
* this lazy plugin instance
|
687 |
-
* @access private
|
688 |
-
* @type {object|LazyPlugin|LazyPlugin.prototype}
|
689 |
-
*/
|
690 |
-
var _instance = this,
|
691 |
-
|
692 |
-
/**
|
693 |
-
* this lazy plugin instance configuration
|
694 |
-
* @access private
|
695 |
-
* @type {object}
|
696 |
-
*/
|
697 |
-
_config = $.extend({}, _instance.config, settings),
|
698 |
-
|
699 |
-
/**
|
700 |
-
* instance generated event executed on container scroll or resize
|
701 |
-
* packed in an object to be referenceable and short named because properties will not be minified
|
702 |
-
* @access private
|
703 |
-
* @type {object}
|
704 |
-
*/
|
705 |
-
_events = {},
|
706 |
-
|
707 |
-
/**
|
708 |
-
* unique namespace for instance related events
|
709 |
-
* @access private
|
710 |
-
* @type {string}
|
711 |
-
*/
|
712 |
-
_namespace = _config.name + '-' + (++lazyInstanceId);
|
713 |
-
|
714 |
-
// noinspection JSUndefinedPropertyAssignment
|
715 |
-
/**
|
716 |
-
* wrapper to get or set an entry from plugin instance configuration
|
717 |
-
* much smaller on minify as direct access
|
718 |
-
* @access public
|
719 |
-
* @type {function}
|
720 |
-
* @param {string} entryName
|
721 |
-
* @param {*} [value]
|
722 |
-
* @return {LazyPlugin|*}
|
723 |
-
*/
|
724 |
-
_instance.config = function(entryName, value) {
|
725 |
-
if (value === undefined) {
|
726 |
-
return _config[entryName];
|
727 |
-
}
|
728 |
-
|
729 |
-
_config[entryName] = value;
|
730 |
-
return _instance;
|
731 |
-
};
|
732 |
-
|
733 |
-
// noinspection JSUndefinedPropertyAssignment
|
734 |
-
/**
|
735 |
-
* add additional items to current instance
|
736 |
-
* @access public
|
737 |
-
* @param {Array|object|string} items
|
738 |
-
* @return {LazyPlugin}
|
739 |
-
*/
|
740 |
-
_instance.addItems = function(items) {
|
741 |
-
_events.a && _events.a($.type(items) === 'string' ? $(items) : items); // jshint ignore : line
|
742 |
-
return _instance;
|
743 |
-
};
|
744 |
-
|
745 |
-
// noinspection JSUndefinedPropertyAssignment
|
746 |
-
/**
|
747 |
-
* get all left items of this instance
|
748 |
-
* @access public
|
749 |
-
* @returns {object}
|
750 |
-
*/
|
751 |
-
_instance.getItems = function() {
|
752 |
-
return _events.g ? _events.g() : {};
|
753 |
-
};
|
754 |
-
|
755 |
-
// noinspection JSUndefinedPropertyAssignment
|
756 |
-
/**
|
757 |
-
* force lazy to load all items in loadable area right now
|
758 |
-
* by default without throttle
|
759 |
-
* @access public
|
760 |
-
* @type {function}
|
761 |
-
* @param {boolean} [useThrottle]
|
762 |
-
* @return {LazyPlugin}
|
763 |
-
*/
|
764 |
-
_instance.update = function(useThrottle) {
|
765 |
-
_events.e && _events.e({}, !useThrottle); // jshint ignore : line
|
766 |
-
return _instance;
|
767 |
-
};
|
768 |
-
|
769 |
-
// noinspection JSUndefinedPropertyAssignment
|
770 |
-
/**
|
771 |
-
* force element(s) to load directly, ignoring the viewport
|
772 |
-
* @access public
|
773 |
-
* @param {Array|object|string} items
|
774 |
-
* @return {LazyPlugin}
|
775 |
-
*/
|
776 |
-
_instance.force = function(items) {
|
777 |
-
_events.f && _events.f($.type(items) === 'string' ? $(items) : items); // jshint ignore : line
|
778 |
-
return _instance;
|
779 |
-
};
|
780 |
-
|
781 |
-
// noinspection JSUndefinedPropertyAssignment
|
782 |
-
/**
|
783 |
-
* force lazy to load all available items right now
|
784 |
-
* this call ignores throttling
|
785 |
-
* @access public
|
786 |
-
* @type {function}
|
787 |
-
* @return {LazyPlugin}
|
788 |
-
*/
|
789 |
-
_instance.loadAll = function() {
|
790 |
-
_events.e && _events.e({all: true}, true); // jshint ignore : line
|
791 |
-
return _instance;
|
792 |
-
};
|
793 |
-
|
794 |
-
// noinspection JSUndefinedPropertyAssignment
|
795 |
-
/**
|
796 |
-
* destroy this plugin instance
|
797 |
-
* @access public
|
798 |
-
* @type {function}
|
799 |
-
* @return undefined
|
800 |
-
*/
|
801 |
-
_instance.destroy = function() {
|
802 |
-
// unbind instance generated events
|
803 |
-
// noinspection JSUnresolvedFunction, JSUnresolvedVariable
|
804 |
-
$(_config.appendScroll).off('.' + _namespace, _events.e);
|
805 |
-
// noinspection JSUnresolvedVariable
|
806 |
-
$(window).off('.' + _namespace);
|
807 |
-
|
808 |
-
// clear events
|
809 |
-
_events = {};
|
810 |
-
|
811 |
-
return undefined;
|
812 |
-
};
|
813 |
-
|
814 |
-
// start using lazy and return all elements to be chainable or instance for further use
|
815 |
-
// noinspection JSUnresolvedVariable
|
816 |
-
_executeLazy(_instance, _config, elements, _events, _namespace);
|
817 |
-
return _config.chainable ? elements : _instance;
|
818 |
-
}
|
819 |
-
|
820 |
-
/**
|
821 |
-
* settings and configuration data
|
822 |
-
* @access public
|
823 |
-
* @type {object|*}
|
824 |
-
*/
|
825 |
-
LazyPlugin.prototype.config = {
|
826 |
-
// general
|
827 |
-
name : 'lazy',
|
828 |
-
chainable : true,
|
829 |
-
autoDestroy : true,
|
830 |
-
bind : 'load',
|
831 |
-
threshold : 500,
|
832 |
-
visibleOnly : false,
|
833 |
-
appendScroll : window,
|
834 |
-
scrollDirection : 'both',
|
835 |
-
imageBase : null,
|
836 |
-
defaultImage : 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==',
|
837 |
-
placeholder : null,
|
838 |
-
delay : -1,
|
839 |
-
combined : false,
|
840 |
-
|
841 |
-
// attributes
|
842 |
-
attribute : 'data-src',
|
843 |
-
srcsetAttribute : 'data-srcset',
|
844 |
-
sizesAttribute : 'data-sizes',
|
845 |
-
retinaAttribute : 'data-retina',
|
846 |
-
loaderAttribute : 'data-loader',
|
847 |
-
imageBaseAttribute : 'data-imagebase',
|
848 |
-
removeAttribute : true,
|
849 |
-
handledName : 'handled',
|
850 |
-
loadedName : 'loaded',
|
851 |
-
|
852 |
-
// effect
|
853 |
-
effect : 'show',
|
854 |
-
effectTime : 0,
|
855 |
-
|
856 |
-
// throttle
|
857 |
-
enableThrottle : true,
|
858 |
-
throttle : 250,
|
859 |
-
|
860 |
-
// callbacks
|
861 |
-
beforeLoad : undefined,
|
862 |
-
afterLoad : undefined,
|
863 |
-
onError : undefined,
|
864 |
-
onFinishedAll : undefined
|
865 |
-
};
|
866 |
-
|
867 |
-
// register window load event globally to prevent not loading elements
|
868 |
-
// since jQuery 3.X ready state is fully async and may be executed after 'load'
|
869 |
-
$(window).on('load', function() {
|
870 |
-
windowLoaded = true;
|
871 |
-
});
|
872 |
})(window);
|
1 |
+
/*!
|
2 |
+
* jQuery & Zepto Lazy - v1.7.10
|
3 |
+
* http://jquery.eisbehr.de/lazy/
|
4 |
+
*
|
5 |
+
* Copyright 2012 - 2018, Daniel 'Eisbehr' Kern
|
6 |
+
*
|
7 |
+
* Dual licensed under the MIT and GPL-2.0 licenses:
|
8 |
+
* http://www.opensource.org/licenses/mit-license.php
|
9 |
+
* http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
+
*
|
11 |
+
* $("img.lazy").lazy();
|
12 |
+
*/
|
13 |
+
|
14 |
+
;(function(window, undefined) {
|
15 |
+
"use strict";
|
16 |
+
|
17 |
+
// noinspection JSUnresolvedVariable
|
18 |
+
/**
|
19 |
+
* library instance - here and not in construct to be shorter in minimization
|
20 |
+
* @return void
|
21 |
+
*/
|
22 |
+
var $ = window.jQuery || window.Zepto,
|
23 |
+
|
24 |
+
/**
|
25 |
+
* unique plugin instance id counter
|
26 |
+
* @type {number}
|
27 |
+
*/
|
28 |
+
lazyInstanceId = 0,
|
29 |
+
|
30 |
+
/**
|
31 |
+
* helper to register window load for jQuery 3
|
32 |
+
* @type {boolean}
|
33 |
+
*/
|
34 |
+
windowLoaded = false;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* make lazy available to jquery - and make it a bit more case-insensitive :)
|
38 |
+
* @access public
|
39 |
+
* @type {function}
|
40 |
+
* @param {object} settings
|
41 |
+
* @return {LazyPlugin}
|
42 |
+
*/
|
43 |
+
$.fn.Lazy = $.fn.lazy = function(settings) {
|
44 |
+
return new LazyPlugin(this, settings);
|
45 |
+
};
|
46 |
+
|
47 |
+
/**
|
48 |
+
* helper to add plugins to lazy prototype configuration
|
49 |
+
* @access public
|
50 |
+
* @type {function}
|
51 |
+
* @param {string|Array} names
|
52 |
+
* @param {string|Array|function} [elements]
|
53 |
+
* @param {function} loader
|
54 |
+
* @return void
|
55 |
+
*/
|
56 |
+
$.Lazy = $.lazy = function(names, elements, loader) {
|
57 |
+
// make second parameter optional
|
58 |
+
if ($.isFunction(elements)) {
|
59 |
+
loader = elements;
|
60 |
+
elements = [];
|
61 |
+
}
|
62 |
+
|
63 |
+
// exit here if parameter is not a callable function
|
64 |
+
if (!$.isFunction(loader)) {
|
65 |
+
return;
|
66 |
+
}
|
67 |
+
|
68 |
+
// make parameters an array of names to be sure
|
69 |
+
names = $.isArray(names) ? names : [names];
|
70 |
+
elements = $.isArray(elements) ? elements : [elements];
|
71 |
+
|
72 |
+
var config = LazyPlugin.prototype.config,
|
73 |
+
forced = config._f || (config._f = {});
|
74 |
+
|
75 |
+
// add the loader plugin for every name
|
76 |
+
for (var i = 0, l = names.length; i < l; i++) {
|
77 |
+
if (config[names[i]] === undefined || $.isFunction(config[names[i]])) {
|
78 |
+
config[names[i]] = loader;
|
79 |
+
}
|
80 |
+
}
|
81 |
+
|
82 |
+
// add forced elements loader
|
83 |
+
for (var c = 0, a = elements.length; c < a; c++) {
|
84 |
+
forced[elements[c]] = names[0];
|
85 |
+
}
|
86 |
+
};
|
87 |
+
|
88 |
+
/**
|
89 |
+
* contains all logic and the whole element handling
|
90 |
+
* is packed in a private function outside class to reduce memory usage, because it will not be created on every plugin instance
|
91 |
+
* @access private
|
92 |
+
* @type {function}
|
93 |
+
* @param {LazyPlugin} instance
|
94 |
+
* @param {object} config
|
95 |
+
* @param {object|Array} items
|
96 |
+
* @param {object} events
|
97 |
+
* @param {string} namespace
|
98 |
+
* @return void
|
99 |
+
*/
|
100 |
+
function _executeLazy(instance, config, items, events, namespace) {
|
101 |
+
/**
|
102 |
+
* a helper to trigger the 'onFinishedAll' callback after all other events
|
103 |
+
* @access private
|
104 |
+
* @type {number}
|
105 |
+
*/
|
106 |
+
var _awaitingAfterLoad = 0,
|
107 |
+
|
108 |
+
/**
|
109 |
+
* visible content width
|
110 |
+
* @access private
|
111 |
+
* @type {number}
|
112 |
+
*/
|
113 |
+
_actualWidth = -1,
|
114 |
+
|
115 |
+
/**
|
116 |
+
* visible content height
|
117 |
+
* @access private
|
118 |
+
* @type {number}
|
119 |
+
*/
|
120 |
+
_actualHeight = -1,
|
121 |
+
|
122 |
+
/**
|
123 |
+
* determine possibly detected high pixel density
|
124 |
+
* @access private
|
125 |
+
* @type {boolean}
|
126 |
+
*/
|
127 |
+
_isRetinaDisplay = false,
|
128 |
+
|
129 |
+
/**
|
130 |
+
* dictionary entry for better minimization
|
131 |
+
* @access private
|
132 |
+
* @type {string}
|
133 |
+
*/
|
134 |
+
_afterLoad = 'afterLoad',
|
135 |
+
|
136 |
+
/**
|
137 |
+
* dictionary entry for better minimization
|
138 |
+
* @access private
|
139 |
+
* @type {string}
|
140 |
+
*/
|
141 |
+
_load = 'load',
|
142 |
+
|
143 |
+
/**
|
144 |
+
* dictionary entry for better minimization
|
145 |
+
* @access private
|
146 |
+
* @type {string}
|
147 |
+
*/
|
148 |
+
_error = 'error',
|
149 |
+
|
150 |
+
/**
|
151 |
+
* dictionary entry for better minimization
|
152 |
+
* @access private
|
153 |
+
* @type {string}
|
154 |
+
*/
|
155 |
+
_img = 'img',
|
156 |
+
|
157 |
+
/**
|
158 |
+
* dictionary entry for better minimization
|
159 |
+
* @access private
|
160 |
+
* @type {string}
|
161 |
+
*/
|
162 |
+
_src = 'src',
|
163 |
+
|
164 |
+
/**
|
165 |
+
* dictionary entry for better minimization
|
166 |
+
* @access private
|
167 |
+
* @type {string}
|
168 |
+
*/
|
169 |
+
_srcset = 'srcset',
|
170 |
+
|
171 |
+
/**
|
172 |
+
* dictionary entry for better minimization
|
173 |
+
* @access private
|
174 |
+
* @type {string}
|
175 |
+
*/
|
176 |
+
_sizes = 'sizes',
|
177 |
+
|
178 |
+
/**
|
179 |
+
* dictionary entry for better minimization
|
180 |
+
* @access private
|
181 |
+
* @type {string}
|
182 |
+
*/
|
183 |
+
_backgroundImage = 'background-image';
|
184 |
+
|
185 |
+
/**
|
186 |
+
* initialize plugin
|
187 |
+
* bind loading to events or set delay time to load all items at once
|
188 |
+
* @access private
|
189 |
+
* @return void
|
190 |
+
*/
|
191 |
+
function _initialize() {
|
192 |
+
// detect actual device pixel ratio
|
193 |
+
// noinspection JSUnresolvedVariable
|
194 |
+
_isRetinaDisplay = window.devicePixelRatio > 1;
|
195 |
+
|
196 |
+
// prepare all initial items
|
197 |
+
items = _prepareItems(items);
|
198 |
+
|
199 |
+
// if delay time is set load all items at once after delay time
|
200 |
+
if (config.delay >= 0) {
|
201 |
+
setTimeout(function() {
|
202 |
+
_lazyLoadItems(true);
|
203 |
+
}, config.delay);
|
204 |
+
}
|
205 |
+
|
206 |
+
// if no delay is set or combine usage is active bind events
|
207 |
+
if (config.delay < 0 || config.combined) {
|
208 |
+
// create unique event function
|
209 |
+
events.e = _throttle(config.throttle, function(event) {
|
210 |
+
// reset detected window size on resize event
|
211 |
+
if (event.type === 'resize') {
|
212 |
+
_actualWidth = _actualHeight = -1;
|
213 |
+
}
|
214 |
+
|
215 |
+
// execute 'lazy magic'
|
216 |
+
_lazyLoadItems(event.all);
|
217 |
+
});
|
218 |
+
|
219 |
+
// create function to add new items to instance
|
220 |
+
events.a = function(additionalItems) {
|
221 |
+
additionalItems = _prepareItems(additionalItems);
|
222 |
+
items.push.apply(items, additionalItems);
|
223 |
+
};
|
224 |
+
|
225 |
+
// create function to get all instance items left
|
226 |
+
events.g = function() {
|
227 |
+
// filter loaded items before return in case internal filter was not running until now
|
228 |
+
return (items = $(items).filter(function() {
|
229 |
+
return !$(this).data(config.loadedName);
|
230 |
+
}));
|
231 |
+
};
|
232 |
+
|
233 |
+
// create function to force loading elements
|
234 |
+
events.f = function(forcedItems) {
|
235 |
+
for (var i = 0; i < forcedItems.length; i++) {
|
236 |
+
// only handle item if available in current instance
|
237 |
+
// use a compare function, because Zepto can't handle object parameter for filter
|
238 |
+
// var item = items.filter(forcedItems[i]);
|
239 |
+
/* jshint loopfunc: true */
|
240 |
+
var item = items.filter(function() {
|
241 |
+
return this === forcedItems[i];
|
242 |
+
});
|
243 |
+
|
244 |
+
if (item.length) {
|
245 |
+
_lazyLoadItems(false, item);
|
246 |
+
}
|
247 |
+
}
|
248 |
+
};
|
249 |
+
|
250 |
+
// load initial items
|
251 |
+
_lazyLoadItems();
|
252 |
+
|
253 |
+
// bind lazy load functions to scroll and resize event
|
254 |
+
// noinspection JSUnresolvedVariable
|
255 |
+
$(config.appendScroll).on('scroll.' + namespace + ' resize.' + namespace, events.e);
|
256 |
+
}
|
257 |
+
}
|
258 |
+
|
259 |
+
/**
|
260 |
+
* prepare items before handle them
|
261 |
+
* @access private
|
262 |
+
* @param {Array|object|jQuery} items
|
263 |
+
* @return {Array|object|jQuery}
|
264 |
+
*/
|
265 |
+
function _prepareItems(items) {
|
266 |
+
// fetch used configurations before loops
|
267 |
+
var defaultImage = config.defaultImage,
|
268 |
+
placeholder = config.placeholder,
|
269 |
+
imageBase = config.imageBase,
|
270 |
+
srcsetAttribute = config.srcsetAttribute,
|
271 |
+
loaderAttribute = config.loaderAttribute,
|
272 |
+
forcedTags = config._f || {};
|
273 |
+
|
274 |
+
// filter items and only add those who not handled yet and got needed attributes available
|
275 |
+
items = $(items).filter(function() {
|
276 |
+
var element = $(this),
|
277 |
+
tag = _getElementTagName(this);
|
278 |
+
|
279 |
+
return !element.data(config.handledName) &&
|
280 |
+
(element.attr(config.attribute) || element.attr(srcsetAttribute) || element.attr(loaderAttribute) || forcedTags[tag] !== undefined);
|
281 |
+
})
|
282 |
+
|
283 |
+
// append plugin instance to all elements
|
284 |
+
.data('plugin_' + config.name, instance);
|
285 |
+
|
286 |
+
for (var i = 0, l = items.length; i < l; i++) {
|
287 |
+
var element = $(items[i]),
|
288 |
+
tag = _getElementTagName(items[i]),
|
289 |
+
elementImageBase = element.attr(config.imageBaseAttribute) || imageBase;
|
290 |
+
|
291 |
+
// generate and update source set if an image base is set
|
292 |
+
if (tag === _img && elementImageBase && element.attr(srcsetAttribute)) {
|
293 |
+
element.attr(srcsetAttribute, _getCorrectedSrcSet(element.attr(srcsetAttribute), elementImageBase));
|
294 |
+
}
|
295 |
+
|
296 |
+
// add loader to forced element types
|
297 |
+
if (forcedTags[tag] !== undefined && !element.attr(loaderAttribute)) {
|
298 |
+
element.attr(loaderAttribute, forcedTags[tag]);
|
299 |
+
}
|
300 |
+
|
301 |
+
// set default image on every element without source
|
302 |
+
if (tag === _img && defaultImage && !element.attr(_src)) {
|
303 |
+
element.attr(_src, defaultImage);
|
304 |
+
}
|
305 |
+
|
306 |
+
// set placeholder on every element without background image
|
307 |
+
else if (tag !== _img && placeholder && (!element.css(_backgroundImage) || element.css(_backgroundImage) === 'none')) {
|
308 |
+
element.css(_backgroundImage, "url('" + placeholder + "')");
|
309 |
+
}
|
310 |
+
}
|
311 |
+
|
312 |
+
return items;
|
313 |
+
}
|
314 |
+
|
315 |
+
/**
|
316 |
+
* the 'lazy magic' - check all items
|
317 |
+
* @access private
|
318 |
+
* @param {boolean} [allItems]
|
319 |
+
* @param {object} [forced]
|
320 |
+
* @return void
|
321 |
+
*/
|
322 |
+
function _lazyLoadItems(allItems, forced) {
|
323 |
+
// skip if no items where left
|
324 |
+
if (!items.length) {
|
325 |
+
// destroy instance if option is enabled
|
326 |
+
if (config.autoDestroy) {
|
327 |
+
// noinspection JSUnresolvedFunction
|
328 |
+
instance.destroy();
|
329 |
+
}
|
330 |
+
|
331 |
+
return;
|
332 |
+
}
|
333 |
+
|
334 |
+
var elements = forced || items,
|
335 |
+
loadTriggered = false,
|
336 |
+
imageBase = config.imageBase || '',
|
337 |
+
srcsetAttribute = config.srcsetAttribute,
|
338 |
+
handledName = config.handledName;
|
339 |
+
|
340 |
+
// loop all available items
|
341 |
+
for (var i = 0; i < elements.length; i++) {
|
342 |
+
// item is at least in loadable area
|
343 |
+
if (allItems || forced || _isInLoadableArea(elements[i])) {
|
344 |
+
var element = $(elements[i]),
|
345 |
+
tag = _getElementTagName(elements[i]),
|
346 |
+
attribute = element.attr(config.attribute),
|
347 |
+
elementImageBase = element.attr(config.imageBaseAttribute) || imageBase,
|
348 |
+
customLoader = element.attr(config.loaderAttribute);
|
349 |
+
|
350 |
+
// is not already handled
|
351 |
+
if (!element.data(handledName) &&
|
352 |
+
// and is visible or visibility doesn't matter
|
353 |
+
(!config.visibleOnly || element.is(':visible')) && (
|
354 |
+
// and image source or source set attribute is available
|
355 |
+
(attribute || element.attr(srcsetAttribute)) && (
|
356 |
+
// and is image tag where attribute is not equal source or source set
|
357 |
+
(tag === _img && (elementImageBase + attribute !== element.attr(_src) || element.attr(srcsetAttribute) !== element.attr(_srcset))) ||
|
358 |
+
// or is non image tag where attribute is not equal background
|
359 |
+
(tag !== _img && elementImageBase + attribute !== element.css(_backgroundImage))
|
360 |
+
) ||
|
361 |
+
// or custom loader is available
|
362 |
+
customLoader))
|
363 |
+
{
|
364 |
+
// mark element always as handled as this point to prevent double handling
|
365 |
+
loadTriggered = true;
|
366 |
+
element.data(handledName, true);
|
367 |
+
|
368 |
+
// load item
|
369 |
+
_handleItem(element, tag, elementImageBase, customLoader);
|
370 |
+
}
|
371 |
+
}
|
372 |
+
}
|
373 |
+
|
374 |
+
// when something was loaded remove them from remaining items
|
375 |
+
if (loadTriggered) {
|
376 |
+
items = $(items).filter(function() {
|
377 |
+
return !$(this).data(handledName);
|
378 |
+
});
|
379 |
+
}
|
380 |
+
}
|
381 |
+
|
382 |
+
/**
|
383 |
+
* load the given element the lazy way
|
384 |
+
* @access private
|
385 |
+
* @param {object} element
|
386 |
+
* @param {string} tag
|
387 |
+
* @param {string} imageBase
|
388 |
+
* @param {function} [customLoader]
|
389 |
+
* @return void
|
390 |
+
*/
|
391 |
+
function _handleItem(element, tag, imageBase, customLoader) {
|
392 |
+
// increment count of items waiting for after load
|
393 |
+
++_awaitingAfterLoad;
|
394 |
+
|
395 |
+
// extended error callback for correct 'onFinishedAll' handling
|
396 |
+
var errorCallback = function() {
|
397 |
+
_triggerCallback('onError', element);
|
398 |
+
_reduceAwaiting();
|
399 |
+
|
400 |
+
// prevent further callback calls
|
401 |
+
errorCallback = $.noop;
|
402 |
+
};
|
403 |
+
|
404 |
+
// trigger function before loading image
|
405 |
+
_triggerCallback('beforeLoad', element);
|
406 |
+
|
407 |
+
// fetch all double used data here for better code minimization
|
408 |
+
var srcAttribute = config.attribute,
|
409 |
+
srcsetAttribute = config.srcsetAttribute,
|
410 |
+
sizesAttribute = config.sizesAttribute,
|
411 |
+
retinaAttribute = config.retinaAttribute,
|
412 |
+
removeAttribute = config.removeAttribute,
|
413 |
+
loadedName = config.loadedName,
|
414 |
+
elementRetina = element.attr(retinaAttribute);
|
415 |
+
|
416 |
+
// handle custom loader
|
417 |
+
if (customLoader) {
|
418 |
+
// on load callback
|
419 |
+
var loadCallback = function() {
|
420 |
+
// remove attribute from element
|
421 |
+
if (removeAttribute) {
|
422 |
+
element.removeAttr(config.loaderAttribute);
|
423 |
+
}
|
424 |
+
|
425 |
+
// mark element as loaded
|
426 |
+
element.data(loadedName, true);
|
427 |
+
|
428 |
+
// call after load event
|
429 |
+
_triggerCallback(_afterLoad, element);
|
430 |
+
|
431 |
+
// remove item from waiting queue and possibly trigger finished event
|
432 |
+
// it's needed to be asynchronous to run after filter was in _lazyLoadItems
|
433 |
+
setTimeout(_reduceAwaiting, 1);
|
434 |
+
|
435 |
+
// prevent further callback calls
|
436 |
+
loadCallback = $.noop;
|
437 |
+
};
|
438 |
+
|
439 |
+
// bind error event to trigger callback and reduce waiting amount
|
440 |
+
element.off(_error).one(_error, errorCallback)
|
441 |
+
|
442 |
+
// bind after load callback to element
|
443 |
+
.one(_load, loadCallback);
|
444 |
+
|
445 |
+
// trigger custom loader and handle response
|
446 |
+
if (!_triggerCallback(customLoader, element, function(response) {
|
447 |
+
if(response) {
|
448 |
+
element.off(_load);
|
449 |
+
loadCallback();
|
450 |
+
}
|
451 |
+
else {
|
452 |
+
element.off(_error);
|
453 |
+
errorCallback();
|
454 |
+
}
|
455 |
+
})) {
|
456 |
+
element.trigger(_error);
|
457 |
+
}
|
458 |
+
}
|
459 |
+
|
460 |
+
// handle images
|
461 |
+
else {
|
462 |
+
// create image object
|
463 |
+
var imageObj = $(new Image());
|
464 |
+
|
465 |
+
// bind error event to trigger callback and reduce waiting amount
|
466 |
+
imageObj.one(_error, errorCallback)
|
467 |
+
|
468 |
+
// bind after load callback to image
|
469 |
+
.one(_load, function() {
|
470 |
+
// remove element from view
|
471 |
+
element.hide();
|
472 |
+
|
473 |
+
// set image back to element
|
474 |
+
// do it as single 'attr' calls, to be sure 'src' is set after 'srcset'
|
475 |
+
if (tag === _img) {
|
476 |
+
element.attr(_sizes, imageObj.attr(_sizes))
|
477 |
+
.attr(_srcset, imageObj.attr(_srcset))
|
478 |
+
.attr(_src, imageObj.attr(_src));
|
479 |
+
}
|
480 |
+
else {
|
481 |
+
element.css(_backgroundImage, "url('" + imageObj.attr(_src) + "')");
|
482 |
+
}
|
483 |
+
|
484 |
+
// bring it back with some effect!
|
485 |
+
element[config.effect](config.effectTime);
|
486 |
+
|
487 |
+
// remove attribute from element
|
488 |
+
if (removeAttribute) {
|
489 |
+
element.removeAttr(srcAttribute + ' ' + srcsetAttribute + ' ' + retinaAttribute + ' ' + config.imageBaseAttribute);
|
490 |
+
|
491 |
+
// only remove 'sizes' attribute, if it was a custom one
|
492 |
+
if (sizesAttribute !== _sizes) {
|
493 |
+
element.removeAttr(sizesAttribute);
|
494 |
+
}
|
495 |
+
}
|
496 |
+
|
497 |
+
// mark element as loaded
|
498 |
+
element.data(loadedName, true);
|
499 |
+
|
500 |
+
// call after load event
|
501 |
+
_triggerCallback(_afterLoad, element);
|
502 |
+
|
503 |
+
// cleanup image object
|
504 |
+
imageObj.remove();
|
505 |
+
|
506 |
+
// remove item from waiting queue and possibly trigger finished event
|
507 |
+
_reduceAwaiting();
|
508 |
+
});
|
509 |
+
|
510 |
+
// set sources
|
511 |
+
// do it as single 'attr' calls, to be sure 'src' is set after 'srcset'
|
512 |
+
var imageSrc = (_isRetinaDisplay && elementRetina ? elementRetina : element.attr(srcAttribute)) || '';
|
513 |
+
imageObj.attr(_sizes, element.attr(sizesAttribute))
|
514 |
+
.attr(_srcset, element.attr(srcsetAttribute))
|
515 |
+
.attr(_src, imageSrc ? imageBase + imageSrc : null);
|
516 |
+
|
517 |
+
// call after load even on cached image
|
518 |
+
imageObj.complete && imageObj.trigger(_load); // jshint ignore : line
|
519 |
+
}
|
520 |
+
}
|
521 |
+
|
522 |
+
/**
|
523 |
+
* check if the given element is inside the current viewport or threshold
|
524 |
+
* @access private
|
525 |
+
* @param {object} element
|
526 |
+
* @return {boolean}
|
527 |
+
*/
|
528 |
+
function _isInLoadableArea(element) {
|
529 |
+
var elementBound = element.getBoundingClientRect(),
|
530 |
+
direction = config.scrollDirection,
|
531 |
+
threshold = config.threshold,
|
532 |
+
vertical = // check if element is in loadable area from top
|
533 |
+
((_getActualHeight() + threshold) > elementBound.top) &&
|
534 |
+
// check if element is even in loadable are from bottom
|
535 |
+
(-threshold < elementBound.bottom),
|
536 |
+
horizontal = // check if element is in loadable area from left
|
537 |
+
((_getActualWidth() + threshold) > elementBound.left) &&
|
538 |
+
// check if element is even in loadable area from right
|
539 |
+
(-threshold < elementBound.right);
|
540 |
+
|
541 |
+
if (direction === 'vertical') {
|
542 |
+
return vertical;
|
543 |
+
}
|
544 |
+
else if (direction === 'horizontal') {
|
545 |
+
return horizontal;
|
546 |
+
}
|
547 |
+
|
548 |
+
return vertical && horizontal;
|
549 |
+
}
|
550 |
+
|
551 |
+
/**
|
552 |
+
* receive the current viewed width of the browser
|
553 |
+
* @access private
|
554 |
+
* @return {number}
|
555 |
+
*/
|
556 |
+
function _getActualWidth() {
|
557 |
+
return _actualWidth >= 0 ? _actualWidth : (_actualWidth = $(window).width());
|
558 |
+
}
|
559 |
+
|
560 |
+
/**
|
561 |
+
* receive the current viewed height of the browser
|
562 |
+
* @access private
|
563 |
+
* @return {number}
|
564 |
+
*/
|
565 |
+
function _getActualHeight() {
|
566 |
+
return _actualHeight >= 0 ? _actualHeight : (_actualHeight = $(window).height());
|
567 |
+
}
|
568 |
+
|
569 |
+
/**
|
570 |
+
* get lowercase tag name of an element
|
571 |
+
* @access private
|
572 |
+
* @param {object} element
|
573 |
+
* @returns {string}
|
574 |
+
*/
|
575 |
+
function _getElementTagName(element) {
|
576 |
+
return element.tagName.toLowerCase();
|
577 |
+
}
|
578 |
+
|
579 |
+
/**
|
580 |
+
* prepend image base to all srcset entries
|
581 |
+
* @access private
|
582 |
+
* @param {string} srcset
|
583 |
+
* @param {string} imageBase
|
584 |
+
* @returns {string}
|
585 |
+
*/
|
586 |
+
function _getCorrectedSrcSet(srcset, imageBase) {
|
587 |
+
if (imageBase) {
|
588 |
+
// trim, remove unnecessary spaces and split entries
|
589 |
+
var entries = srcset.split(',');
|
590 |
+
srcset = '';
|
591 |
+
|
592 |
+
for (var i = 0, l = entries.length; i < l; i++) {
|
593 |
+
srcset += imageBase + entries[i].trim() + (i !== l - 1 ? ',' : '');
|
594 |
+
}
|
595 |
+
}
|
596 |
+
|
597 |
+
return srcset;
|
598 |
+
}
|
599 |
+
|
600 |
+
/**
|
601 |
+
* helper function to throttle down event triggering
|
602 |
+
* @access private
|
603 |
+
* @param {number} delay
|
604 |
+
* @param {function} callback
|
605 |
+
* @return {function}
|
606 |
+
*/
|
607 |
+
function _throttle(delay, callback) {
|
608 |
+
var timeout,
|
609 |
+
lastExecute = 0;
|
610 |
+
|
611 |
+
return function(event, ignoreThrottle) {
|
612 |
+
var elapsed = +new Date() - lastExecute;
|
613 |
+
|
614 |
+
function run() {
|
615 |
+
lastExecute = +new Date();
|
616 |
+
// noinspection JSUnresolvedFunction
|
617 |
+
callback.call(instance, event);
|
618 |
+
}
|
619 |
+
|
620 |
+
timeout && clearTimeout(timeout); // jshint ignore : line
|
621 |
+
|
622 |
+
if (elapsed > delay || !config.enableThrottle || ignoreThrottle) {
|
623 |
+
run();
|
624 |
+
}
|
625 |
+
else {
|
626 |
+
timeout = setTimeout(run, delay - elapsed);
|
627 |
+
}
|
628 |
+
};
|
629 |
+
}
|
630 |
+
|
631 |
+
/**
|
632 |
+
* reduce count of awaiting elements to 'afterLoad' event and fire 'onFinishedAll' if reached zero
|
633 |
+
* @access private
|
634 |
+
* @return void
|
635 |
+
*/
|
636 |
+
function _reduceAwaiting() {
|
637 |
+
--_awaitingAfterLoad;
|
638 |
+
|
639 |
+
// if no items were left trigger finished event
|
640 |
+
if (!items.length && !_awaitingAfterLoad) {
|
641 |
+
_triggerCallback('onFinishedAll');
|
642 |
+
}
|
643 |
+
}
|
644 |
+
|
645 |
+
/**
|
646 |
+
* single implementation to handle callbacks, pass element and set 'this' to current instance
|
647 |
+
* @access private
|
648 |
+
* @param {string|function} callback
|
649 |
+
* @param {object} [element]
|
650 |
+
* @param {*} [args]
|
651 |
+
* @return {boolean}
|
652 |
+
*/
|
653 |
+
function _triggerCallback(callback, element, args) {
|
654 |
+
if ((callback = config[callback])) {
|
655 |
+
// jQuery's internal '$(arguments).slice(1)' are causing problems at least on old iPads
|
656 |
+
// below is shorthand of 'Array.prototype.slice.call(arguments, 1)'
|
657 |
+
callback.apply(instance, [].slice.call(arguments, 1));
|
658 |
+
return true;
|
659 |
+
}
|
660 |
+
|
661 |
+
return false;
|
662 |
+
}
|
663 |
+
|
664 |
+
// if event driven or window is already loaded don't wait for page loading
|
665 |
+
if (config.bind === 'event' || windowLoaded) {
|
666 |
+
_initialize();
|
667 |
+
}
|
668 |
+
|
669 |
+
// otherwise load initial items and start lazy after page load
|
670 |
+
else {
|
671 |
+
// noinspection JSUnresolvedVariable
|
672 |
+
$(window).on(_load + '.' + namespace, _initialize);
|
673 |
+
}
|
674 |
+
}
|
675 |
+
|
676 |
+
/**
|
677 |
+
* lazy plugin class constructor
|
678 |
+
* @constructor
|
679 |
+
* @access private
|
680 |
+
* @param {object} elements
|
681 |
+
* @param {object} settings
|
682 |
+
* @return {object|LazyPlugin}
|
683 |
+
*/
|
684 |
+
function LazyPlugin(elements, settings) {
|
685 |
+
/**
|
686 |
+
* this lazy plugin instance
|
687 |
+
* @access private
|
688 |
+
* @type {object|LazyPlugin|LazyPlugin.prototype}
|
689 |
+
*/
|
690 |
+
var _instance = this,
|
691 |
+
|
692 |
+
/**
|
693 |
+
* this lazy plugin instance configuration
|
694 |
+
* @access private
|
695 |
+
* @type {object}
|
696 |
+
*/
|
697 |
+
_config = $.extend({}, _instance.config, settings),
|
698 |
+
|
699 |
+
/**
|
700 |
+
* instance generated event executed on container scroll or resize
|
701 |
+
* packed in an object to be referenceable and short named because properties will not be minified
|
702 |
+
* @access private
|
703 |
+
* @type {object}
|
704 |
+
*/
|
705 |
+
_events = {},
|
706 |
+
|
707 |
+
/**
|
708 |
+
* unique namespace for instance related events
|
709 |
+
* @access private
|
710 |
+
* @type {string}
|
711 |
+
*/
|
712 |
+
_namespace = _config.name + '-' + (++lazyInstanceId);
|
713 |
+
|
714 |
+
// noinspection JSUndefinedPropertyAssignment
|
715 |
+
/**
|
716 |
+
* wrapper to get or set an entry from plugin instance configuration
|
717 |
+
* much smaller on minify as direct access
|
718 |
+
* @access public
|
719 |
+
* @type {function}
|
720 |
+
* @param {string} entryName
|
721 |
+
* @param {*} [value]
|
722 |
+
* @return {LazyPlugin|*}
|
723 |
+
*/
|
724 |
+
_instance.config = function(entryName, value) {
|
725 |
+
if (value === undefined) {
|
726 |
+
return _config[entryName];
|
727 |
+
}
|
728 |
+
|
729 |
+
_config[entryName] = value;
|
730 |
+
return _instance;
|
731 |
+
};
|
732 |
+
|
733 |
+
// noinspection JSUndefinedPropertyAssignment
|
734 |
+
/**
|
735 |
+
* add additional items to current instance
|
736 |
+
* @access public
|
737 |
+
* @param {Array|object|string} items
|
738 |
+
* @return {LazyPlugin}
|
739 |
+
*/
|
740 |
+
_instance.addItems = function(items) {
|
741 |
+
_events.a && _events.a($.type(items) === 'string' ? $(items) : items); // jshint ignore : line
|
742 |
+
return _instance;
|
743 |
+
};
|
744 |
+
|
745 |
+
// noinspection JSUndefinedPropertyAssignment
|
746 |
+
/**
|
747 |
+
* get all left items of this instance
|
748 |
+
* @access public
|
749 |
+
* @returns {object}
|
750 |
+
*/
|
751 |
+
_instance.getItems = function() {
|
752 |
+
return _events.g ? _events.g() : {};
|
753 |
+
};
|
754 |
+
|
755 |
+
// noinspection JSUndefinedPropertyAssignment
|
756 |
+
/**
|
757 |
+
* force lazy to load all items in loadable area right now
|
758 |
+
* by default without throttle
|
759 |
+
* @access public
|
760 |
+
* @type {function}
|
761 |
+
* @param {boolean} [useThrottle]
|
762 |
+
* @return {LazyPlugin}
|
763 |
+
*/
|
764 |
+
_instance.update = function(useThrottle) {
|
765 |
+
_events.e && _events.e({}, !useThrottle); // jshint ignore : line
|
766 |
+
return _instance;
|
767 |
+
};
|
768 |
+
|
769 |
+
// noinspection JSUndefinedPropertyAssignment
|
770 |
+
/**
|
771 |
+
* force element(s) to load directly, ignoring the viewport
|
772 |
+
* @access public
|
773 |
+
* @param {Array|object|string} items
|
774 |
+
* @return {LazyPlugin}
|
775 |
+
*/
|
776 |
+
_instance.force = function(items) {
|
777 |
+
_events.f && _events.f($.type(items) === 'string' ? $(items) : items); // jshint ignore : line
|
778 |
+
return _instance;
|
779 |
+
};
|
780 |
+
|
781 |
+
// noinspection JSUndefinedPropertyAssignment
|
782 |
+
/**
|
783 |
+
* force lazy to load all available items right now
|
784 |
+
* this call ignores throttling
|
785 |
+
* @access public
|
786 |
+
* @type {function}
|
787 |
+
* @return {LazyPlugin}
|
788 |
+
*/
|
789 |
+
_instance.loadAll = function() {
|
790 |
+
_events.e && _events.e({all: true}, true); // jshint ignore : line
|
791 |
+
return _instance;
|
792 |
+
};
|
793 |
+
|
794 |
+
// noinspection JSUndefinedPropertyAssignment
|
795 |
+
/**
|
796 |
+
* destroy this plugin instance
|
797 |
+
* @access public
|
798 |
+
* @type {function}
|
799 |
+
* @return undefined
|
800 |
+
*/
|
801 |
+
_instance.destroy = function() {
|
802 |
+
// unbind instance generated events
|
803 |
+
// noinspection JSUnresolvedFunction, JSUnresolvedVariable
|
804 |
+
$(_config.appendScroll).off('.' + _namespace, _events.e);
|
805 |
+
// noinspection JSUnresolvedVariable
|
806 |
+
$(window).off('.' + _namespace);
|
807 |
+
|
808 |
+
// clear events
|
809 |
+
_events = {};
|
810 |
+
|
811 |
+
return undefined;
|
812 |
+
};
|
813 |
+
|
814 |
+
// start using lazy and return all elements to be chainable or instance for further use
|
815 |
+
// noinspection JSUnresolvedVariable
|
816 |
+
_executeLazy(_instance, _config, elements, _events, _namespace);
|
817 |
+
return _config.chainable ? elements : _instance;
|
818 |
+
}
|
819 |
+
|
820 |
+
/**
|
821 |
+
* settings and configuration data
|
822 |
+
* @access public
|
823 |
+
* @type {object|*}
|
824 |
+
*/
|
825 |
+
LazyPlugin.prototype.config = {
|
826 |
+
// general
|
827 |
+
name : 'lazy',
|
828 |
+
chainable : true,
|
829 |
+
autoDestroy : true,
|
830 |
+
bind : 'load',
|
831 |
+
threshold : 500,
|
832 |
+
visibleOnly : false,
|
833 |
+
appendScroll : window,
|
834 |
+
scrollDirection : 'both',
|
835 |
+
imageBase : null,
|
836 |
+
defaultImage : 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==',
|
837 |
+
placeholder : null,
|
838 |
+
delay : -1,
|
839 |
+
combined : false,
|
840 |
+
|
841 |
+
// attributes
|
842 |
+
attribute : 'data-src',
|
843 |
+
srcsetAttribute : 'data-srcset',
|
844 |
+
sizesAttribute : 'data-sizes',
|
845 |
+
retinaAttribute : 'data-retina',
|
846 |
+
loaderAttribute : 'data-loader',
|
847 |
+
imageBaseAttribute : 'data-imagebase',
|
848 |
+
removeAttribute : true,
|
849 |
+
handledName : 'handled',
|
850 |
+
loadedName : 'loaded',
|
851 |
+
|
852 |
+
// effect
|
853 |
+
effect : 'show',
|
854 |
+
effectTime : 0,
|
855 |
+
|
856 |
+
// throttle
|
857 |
+
enableThrottle : true,
|
858 |
+
throttle : 250,
|
859 |
+
|
860 |
+
// callbacks
|
861 |
+
beforeLoad : undefined,
|
862 |
+
afterLoad : undefined,
|
863 |
+
onError : undefined,
|
864 |
+
onFinishedAll : undefined
|
865 |
+
};
|
866 |
+
|
867 |
+
// register window load event globally to prevent not loading elements
|
868 |
+
// since jQuery 3.X ready state is fully async and may be executed after 'load'
|
869 |
+
$(window).on('load', function() {
|
870 |
+
windowLoaded = true;
|
871 |
+
});
|
872 |
})(window);
|
assets/js/jquery.lazy.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
/*! jQuery & Zepto Lazy v1.7.10 - http://jquery.eisbehr.de/lazy - MIT&GPL-2.0 license - Copyright 2012-2018 Daniel 'Eisbehr' Kern */
|
2 |
!function(t,e){"use strict";function r(r,a,i,u,l){function f(){L=t.devicePixelRatio>1,i=c(i),a.delay>=0&&setTimeout(function(){s(!0)},a.delay),(a.delay<0||a.combined)&&(u.e=v(a.throttle,function(t){"resize"===t.type&&(w=B=-1),s(t.all)}),u.a=function(t){t=c(t),i.push.apply(i,t)},u.g=function(){return i=n(i).filter(function(){return!n(this).data(a.loadedName)})},u.f=function(t){for(var e=0;e<t.length;e++){var r=i.filter(function(){return this===t[e]});r.length&&s(!1,r)}},s(),n(a.appendScroll).on("scroll."+l+" resize."+l,u.e))}function c(t){var i=a.defaultImage,o=a.placeholder,u=a.imageBase,l=a.srcsetAttribute,f=a.loaderAttribute,c=a._f||{};t=n(t).filter(function(){var t=n(this),r=m(this);return!t.data(a.handledName)&&(t.attr(a.attribute)||t.attr(l)||t.attr(f)||c[r]!==e)}).data("plugin_"+a.name,r);for(var s=0,d=t.length;s<d;s++){var A=n(t[s]),g=m(t[s]),h=A.attr(a.imageBaseAttribute)||u;g===N&&h&&A.attr(l)&&A.attr(l,b(A.attr(l),h)),c[g]===e||A.attr(f)||A.attr(f,c[g]),g===N&&i&&!A.attr(E)?A.attr(E,i):g===N||!o||A.css(O)&&"none"!==A.css(O)||A.css(O,"url('"+o+"')")}return t}function s(t,e){if(!i.length)return void(a.autoDestroy&&r.destroy());for(var o=e||i,u=!1,l=a.imageBase||"",f=a.srcsetAttribute,c=a.handledName,s=0;s<o.length;s++)if(t||e||A(o[s])){var g=n(o[s]),h=m(o[s]),b=g.attr(a.attribute),v=g.attr(a.imageBaseAttribute)||l,p=g.attr(a.loaderAttribute);g.data(c)||a.visibleOnly&&!g.is(":visible")||!((b||g.attr(f))&&(h===N&&(v+b!==g.attr(E)||g.attr(f)!==g.attr(F))||h!==N&&v+b!==g.css(O))||p)||(u=!0,g.data(c,!0),d(g,h,v,p))}u&&(i=n(i).filter(function(){return!n(this).data(c)}))}function d(t,e,r,i){++z;var o=function(){y("onError",t),p(),o=n.noop};y("beforeLoad",t);var u=a.attribute,l=a.srcsetAttribute,f=a.sizesAttribute,c=a.retinaAttribute,s=a.removeAttribute,d=a.loadedName,A=t.attr(c);if(i){var g=function(){s&&t.removeAttr(a.loaderAttribute),t.data(d,!0),y(T,t),setTimeout(p,1),g=n.noop};t.off(I).one(I,o).one(D,g),y(i,t,function(e){e?(t.off(D),g()):(t.off(I),o())})||t.trigger(I)}else{var h=n(new Image);h.one(I,o).one(D,function(){t.hide(),e===N?t.attr(C,h.attr(C)).attr(F,h.attr(F)).attr(E,h.attr(E)):t.css(O,"url('"+h.attr(E)+"')"),t[a.effect](a.effectTime),s&&(t.removeAttr(u+" "+l+" "+c+" "+a.imageBaseAttribute),f!==C&&t.removeAttr(f)),t.data(d,!0),y(T,t),h.remove(),p()});var m=(L&&A?A:t.attr(u))||"";h.attr(C,t.attr(f)).attr(F,t.attr(l)).attr(E,m?r+m:null),h.complete&&h.trigger(D)}}function A(t){var e=t.getBoundingClientRect(),r=a.scrollDirection,n=a.threshold,i=h()+n>e.top&&-n<e.bottom,o=g()+n>e.left&&-n<e.right;return"vertical"===r?i:"horizontal"===r?o:i&&o}function g(){return w>=0?w:w=n(t).width()}function h(){return B>=0?B:B=n(t).height()}function m(t){return t.tagName.toLowerCase()}function b(t,e){if(e){var r=t.split(",");t="";for(var a=0,n=r.length;a<n;a++)t+=e+r[a].trim()+(a!==n-1?",":"")}return t}function v(t,e){var n,i=0;return function(o,u){function l(){i=+new Date,e.call(r,o)}var f=+new Date-i;n&&clearTimeout(n),f>t||!a.enableThrottle||u?l():n=setTimeout(l,t-f)}}function p(){--z,i.length||z||y("onFinishedAll")}function y(t,e,n){return!!(t=a[t])&&(t.apply(r,[].slice.call(arguments,1)),!0)}var z=0,w=-1,B=-1,L=!1,T="afterLoad",D="load",I="error",N="img",E="src",F="srcset",C="sizes",O="background-image";"event"===a.bind||o?f():n(t).on(D+"."+l,f)}function a(a,o){var u=this,l=n.extend({},u.config,o),f={},c=l.name+"-"+ ++i;return u.config=function(t,r){return r===e?l[t]:(l[t]=r,u)},u.addItems=function(t){return f.a&&f.a("string"===n.type(t)?n(t):t),u},u.getItems=function(){return f.g?f.g():{}},u.update=function(t){return f.e&&f.e({},!t),u},u.force=function(t){return f.f&&f.f("string"===n.type(t)?n(t):t),u},u.loadAll=function(){return f.e&&f.e({all:!0},!0),u},u.destroy=function(){return n(l.appendScroll).off("."+c,f.e),n(t).off("."+c),f={},e},r(u,l,a,f,c),l.chainable?a:u}var n=t.jQuery||t.Zepto,i=0,o=!1;n.fn.Lazy=n.fn.lazy=function(t){return new a(this,t)},n.Lazy=n.lazy=function(t,r,i){if(n.isFunction(r)&&(i=r,r=[]),n.isFunction(i)){t=n.isArray(t)?t:[t],r=n.isArray(r)?r:[r];for(var o=a.prototype.config,u=o._f||(o._f={}),l=0,f=t.length;l<f;l++)(o[t[l]]===e||n.isFunction(o[t[l]]))&&(o[t[l]]=i);for(var c=0,s=r.length;c<s;c++)u[r[c]]=t[0]}},a.prototype.config={name:"lazy",chainable:!0,autoDestroy:!0,bind:"load",threshold:500,visibleOnly:!1,appendScroll:t,scrollDirection:"both",imageBase:null,defaultImage:"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",placeholder:null,delay:-1,combined:!1,attribute:"data-src",srcsetAttribute:"data-srcset",sizesAttribute:"data-sizes",retinaAttribute:"data-retina",loaderAttribute:"data-loader",imageBaseAttribute:"data-imagebase",removeAttribute:!0,handledName:"handled",loadedName:"loaded",effect:"show",effectTime:0,enableThrottle:!0,throttle:250,beforeLoad:e,afterLoad:e,onError:e,onFinishedAll:e},n(t).on("load",function(){o=!0})}(window);
|
1 |
+
/*! jQuery & Zepto Lazy v1.7.10 - http://jquery.eisbehr.de/lazy - MIT&GPL-2.0 license - Copyright 2012-2018 Daniel 'Eisbehr' Kern */
|
2 |
!function(t,e){"use strict";function r(r,a,i,u,l){function f(){L=t.devicePixelRatio>1,i=c(i),a.delay>=0&&setTimeout(function(){s(!0)},a.delay),(a.delay<0||a.combined)&&(u.e=v(a.throttle,function(t){"resize"===t.type&&(w=B=-1),s(t.all)}),u.a=function(t){t=c(t),i.push.apply(i,t)},u.g=function(){return i=n(i).filter(function(){return!n(this).data(a.loadedName)})},u.f=function(t){for(var e=0;e<t.length;e++){var r=i.filter(function(){return this===t[e]});r.length&&s(!1,r)}},s(),n(a.appendScroll).on("scroll."+l+" resize."+l,u.e))}function c(t){var i=a.defaultImage,o=a.placeholder,u=a.imageBase,l=a.srcsetAttribute,f=a.loaderAttribute,c=a._f||{};t=n(t).filter(function(){var t=n(this),r=m(this);return!t.data(a.handledName)&&(t.attr(a.attribute)||t.attr(l)||t.attr(f)||c[r]!==e)}).data("plugin_"+a.name,r);for(var s=0,d=t.length;s<d;s++){var A=n(t[s]),g=m(t[s]),h=A.attr(a.imageBaseAttribute)||u;g===N&&h&&A.attr(l)&&A.attr(l,b(A.attr(l),h)),c[g]===e||A.attr(f)||A.attr(f,c[g]),g===N&&i&&!A.attr(E)?A.attr(E,i):g===N||!o||A.css(O)&&"none"!==A.css(O)||A.css(O,"url('"+o+"')")}return t}function s(t,e){if(!i.length)return void(a.autoDestroy&&r.destroy());for(var o=e||i,u=!1,l=a.imageBase||"",f=a.srcsetAttribute,c=a.handledName,s=0;s<o.length;s++)if(t||e||A(o[s])){var g=n(o[s]),h=m(o[s]),b=g.attr(a.attribute),v=g.attr(a.imageBaseAttribute)||l,p=g.attr(a.loaderAttribute);g.data(c)||a.visibleOnly&&!g.is(":visible")||!((b||g.attr(f))&&(h===N&&(v+b!==g.attr(E)||g.attr(f)!==g.attr(F))||h!==N&&v+b!==g.css(O))||p)||(u=!0,g.data(c,!0),d(g,h,v,p))}u&&(i=n(i).filter(function(){return!n(this).data(c)}))}function d(t,e,r,i){++z;var o=function(){y("onError",t),p(),o=n.noop};y("beforeLoad",t);var u=a.attribute,l=a.srcsetAttribute,f=a.sizesAttribute,c=a.retinaAttribute,s=a.removeAttribute,d=a.loadedName,A=t.attr(c);if(i){var g=function(){s&&t.removeAttr(a.loaderAttribute),t.data(d,!0),y(T,t),setTimeout(p,1),g=n.noop};t.off(I).one(I,o).one(D,g),y(i,t,function(e){e?(t.off(D),g()):(t.off(I),o())})||t.trigger(I)}else{var h=n(new Image);h.one(I,o).one(D,function(){t.hide(),e===N?t.attr(C,h.attr(C)).attr(F,h.attr(F)).attr(E,h.attr(E)):t.css(O,"url('"+h.attr(E)+"')"),t[a.effect](a.effectTime),s&&(t.removeAttr(u+" "+l+" "+c+" "+a.imageBaseAttribute),f!==C&&t.removeAttr(f)),t.data(d,!0),y(T,t),h.remove(),p()});var m=(L&&A?A:t.attr(u))||"";h.attr(C,t.attr(f)).attr(F,t.attr(l)).attr(E,m?r+m:null),h.complete&&h.trigger(D)}}function A(t){var e=t.getBoundingClientRect(),r=a.scrollDirection,n=a.threshold,i=h()+n>e.top&&-n<e.bottom,o=g()+n>e.left&&-n<e.right;return"vertical"===r?i:"horizontal"===r?o:i&&o}function g(){return w>=0?w:w=n(t).width()}function h(){return B>=0?B:B=n(t).height()}function m(t){return t.tagName.toLowerCase()}function b(t,e){if(e){var r=t.split(",");t="";for(var a=0,n=r.length;a<n;a++)t+=e+r[a].trim()+(a!==n-1?",":"")}return t}function v(t,e){var n,i=0;return function(o,u){function l(){i=+new Date,e.call(r,o)}var f=+new Date-i;n&&clearTimeout(n),f>t||!a.enableThrottle||u?l():n=setTimeout(l,t-f)}}function p(){--z,i.length||z||y("onFinishedAll")}function y(t,e,n){return!!(t=a[t])&&(t.apply(r,[].slice.call(arguments,1)),!0)}var z=0,w=-1,B=-1,L=!1,T="afterLoad",D="load",I="error",N="img",E="src",F="srcset",C="sizes",O="background-image";"event"===a.bind||o?f():n(t).on(D+"."+l,f)}function a(a,o){var u=this,l=n.extend({},u.config,o),f={},c=l.name+"-"+ ++i;return u.config=function(t,r){return r===e?l[t]:(l[t]=r,u)},u.addItems=function(t){return f.a&&f.a("string"===n.type(t)?n(t):t),u},u.getItems=function(){return f.g?f.g():{}},u.update=function(t){return f.e&&f.e({},!t),u},u.force=function(t){return f.f&&f.f("string"===n.type(t)?n(t):t),u},u.loadAll=function(){return f.e&&f.e({all:!0},!0),u},u.destroy=function(){return n(l.appendScroll).off("."+c,f.e),n(t).off("."+c),f={},e},r(u,l,a,f,c),l.chainable?a:u}var n=t.jQuery||t.Zepto,i=0,o=!1;n.fn.Lazy=n.fn.lazy=function(t){return new a(this,t)},n.Lazy=n.lazy=function(t,r,i){if(n.isFunction(r)&&(i=r,r=[]),n.isFunction(i)){t=n.isArray(t)?t:[t],r=n.isArray(r)?r:[r];for(var o=a.prototype.config,u=o._f||(o._f={}),l=0,f=t.length;l<f;l++)(o[t[l]]===e||n.isFunction(o[t[l]]))&&(o[t[l]]=i);for(var c=0,s=r.length;c<s;c++)u[r[c]]=t[0]}},a.prototype.config={name:"lazy",chainable:!0,autoDestroy:!0,bind:"load",threshold:500,visibleOnly:!1,appendScroll:t,scrollDirection:"both",imageBase:null,defaultImage:"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",placeholder:null,delay:-1,combined:!1,attribute:"data-src",srcsetAttribute:"data-srcset",sizesAttribute:"data-sizes",retinaAttribute:"data-retina",loaderAttribute:"data-loader",imageBaseAttribute:"data-imagebase",removeAttribute:!0,handledName:"handled",loadedName:"loaded",effect:"show",effectTime:0,enableThrottle:!0,throttle:250,beforeLoad:e,afterLoad:e,onError:e,onFinishedAll:e},n(t).on("load",function(){o=!0})}(window);
|
includes/class-rio-plugin.php
CHANGED
@@ -11,11 +11,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
* @version 1.0
|
13 |
*/
|
14 |
-
class WRIO_Plugin extends
|
15 |
|
16 |
/**
|
17 |
* @see self::app()
|
18 |
-
* @var
|
19 |
*/
|
20 |
private static $app;
|
21 |
|
@@ -79,7 +79,7 @@ class WRIO_Plugin extends Wbcr_Factory436_Plugin {
|
|
79 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
80 |
* классам.
|
81 |
*
|
82 |
-
* @return \
|
83 |
*/
|
84 |
public static function app() {
|
85 |
return self::$app;
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
* @version 1.0
|
13 |
*/
|
14 |
+
class WRIO_Plugin extends Wbcr_Factory439_Plugin {
|
15 |
|
16 |
/**
|
17 |
* @see self::app()
|
18 |
+
* @var Wbcr_Factory439_Plugin
|
19 |
*/
|
20 |
private static $app;
|
21 |
|
79 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
80 |
* классам.
|
81 |
*
|
82 |
+
* @return \Wbcr_Factory439_Plugin|\WRIO_Plugin
|
83 |
*/
|
84 |
public static function app() {
|
85 |
return self::$app;
|
includes/classes/class-rio-media-library.php
CHANGED
@@ -49,6 +49,7 @@ class WRIO_Media_Library {
|
|
49 |
// оптимизация при загрузке в медиабиблиотеку
|
50 |
if ( WRIO_Plugin::app()->getPopulateOption( 'auto_optimize_when_upload', false ) ) {
|
51 |
add_filter( 'wp_generate_attachment_metadata', 'WRIO_Media_Library::optimize_after_upload', 10, 2 );
|
|
|
52 |
}
|
53 |
|
54 |
// соло оптимизация
|
@@ -61,6 +62,14 @@ class WRIO_Media_Library {
|
|
61 |
add_action( 'wbcr/riop/queue_item_saved', [ $this, 'webpSuccess' ] );
|
62 |
}
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
/**
|
66 |
* Оптимизация при загрузке в медиабиблилтеку
|
49 |
// оптимизация при загрузке в медиабиблиотеку
|
50 |
if ( WRIO_Plugin::app()->getPopulateOption( 'auto_optimize_when_upload', false ) ) {
|
51 |
add_filter( 'wp_generate_attachment_metadata', 'WRIO_Media_Library::optimize_after_upload', 10, 2 );
|
52 |
+
add_action( 'wr2x_retina_file_added', 'WRIO_Media_Library::optimize_after_retina_2x_add', 10, 2 );
|
53 |
}
|
54 |
|
55 |
// соло оптимизация
|
62 |
add_action( 'wbcr/riop/queue_item_saved', [ $this, 'webpSuccess' ] );
|
63 |
}
|
64 |
|
65 |
+
/**
|
66 |
+
* @param int $attachment_id
|
67 |
+
* @param string $retina_file
|
68 |
+
*/
|
69 |
+
public static function optimize_after_retina_2x_add( $attachment_id, $retina_file ) {
|
70 |
+
$metadata = get_post_meta( $attachment_id );
|
71 |
+
self::optimize_after_upload( $metadata, $attachment_id );
|
72 |
+
}
|
73 |
|
74 |
/**
|
75 |
* Оптимизация при загрузке в медиабиблилтеку
|
includes/classes/class-rio-views.php
CHANGED
@@ -63,11 +63,11 @@ class WRIO_Views {
|
|
63 |
*
|
64 |
* @param string $template The template name.
|
65 |
* @param mixed $data Some data to pass to the template.
|
66 |
-
* @param
|
67 |
*
|
68 |
* @return bool|string The page contents. False if the template doesn't exist.
|
69 |
*/
|
70 |
-
public function get_template( $template, $data = [],
|
71 |
$template = str_replace( '_', '-', $template );
|
72 |
$path = $this->plugin_dir . '/views/' . $template . '.php';
|
73 |
|
@@ -92,9 +92,9 @@ class WRIO_Views {
|
|
92 |
*
|
93 |
* @param string $template The template name.
|
94 |
* @param mixed $data Some data to pass to the template.
|
95 |
-
* @param
|
96 |
*/
|
97 |
-
public function print_template( $template, $data = [],
|
98 |
echo $this->get_template( $template, $data, $page );
|
99 |
}
|
100 |
}
|
63 |
*
|
64 |
* @param string $template The template name.
|
65 |
* @param mixed $data Some data to pass to the template.
|
66 |
+
* @param Wbcr_FactoryClearfy230_PageBase $page
|
67 |
*
|
68 |
* @return bool|string The page contents. False if the template doesn't exist.
|
69 |
*/
|
70 |
+
public function get_template( $template, $data = [], Wbcr_FactoryClearfy230_PageBase $page = null ) {
|
71 |
$template = str_replace( '_', '-', $template );
|
72 |
$path = $this->plugin_dir . '/views/' . $template . '.php';
|
73 |
|
92 |
*
|
93 |
* @param string $template The template name.
|
94 |
* @param mixed $data Some data to pass to the template.
|
95 |
+
* @param Wbcr_FactoryClearfy230_PageBase $page
|
96 |
*/
|
97 |
+
public function print_template( $template, $data = [], Wbcr_FactoryClearfy230_PageBase $page = null ) {
|
98 |
echo $this->get_template( $template, $data, $page );
|
99 |
}
|
100 |
}
|
includes/classes/processors/class-rio-server-clearfy1.php
DELETED
@@ -1,266 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Класс для оптимизации изображений через API сервиса clearfy.pro.
|
10 |
-
*
|
11 |
-
* @author Eugene Jokerov <jokerov@gmail.com>
|
12 |
-
* @copyright (c) 2018, Webcraftic
|
13 |
-
* @version 1.0
|
14 |
-
*/
|
15 |
-
class WIO_Image_Processor_Clearfy1 extends WIO_Image_Processor_Abstract {
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @var string
|
19 |
-
*/
|
20 |
-
protected $api_url;
|
21 |
-
|
22 |
-
/**
|
23 |
-
* @var string Имя сервера
|
24 |
-
*/
|
25 |
-
protected $server_name = 'server_4';
|
26 |
-
|
27 |
-
public function __construct() {
|
28 |
-
$this->api_url = wrio_get_server_url( 'server_4' );
|
29 |
-
}
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Оптимизация изображения
|
33 |
-
*
|
34 |
-
* @param array $params входные параметры оптимизации изображения
|
35 |
-
*
|
36 |
-
* @return array|WP_Error {
|
37 |
-
* Результаты оптимизации
|
38 |
-
*
|
39 |
-
* {type} string $optimized_img_url УРЛ оптимизированного изображения на сервере оптимизации
|
40 |
-
* {type} int $src_size размер исходного изображения в байтах
|
41 |
-
* {type} int $optimized_size размер оптимизированного изображения в байтах
|
42 |
-
* {type} int $optimized_percent На сколько процентов уменьшилось изображение
|
43 |
-
* {type} string $session_id Идентификатор сессии. Для отложенной оптимизации.
|
44 |
-
* {type} string $file_id Идентификатор файла. Для отложенной оптимизации.
|
45 |
-
* {type} bool $not_need_replace Изображение не надо заменять.
|
46 |
-
* {type} bool $not_need_download Изображение не надо скачивать.
|
47 |
-
* {type} string $status Статус оптимизации
|
48 |
-
* {type} string $server Имя сервера оптимизации
|
49 |
-
* }
|
50 |
-
*/
|
51 |
-
public function process( $settings ) {
|
52 |
-
|
53 |
-
$default_params = [
|
54 |
-
'image_url' => '',
|
55 |
-
'quality' => 100,
|
56 |
-
'save_exif' => false,
|
57 |
-
];
|
58 |
-
$settings = wp_parse_args( $settings, $default_params );
|
59 |
-
|
60 |
-
$session_id = $this->generateRandomString( 16 );
|
61 |
-
$file_id = 'o_' . $this->generateRandomString( 28 );
|
62 |
-
$upload_url = $this->get_endpoint_url( 'upload', $session_id );
|
63 |
-
|
64 |
-
if ( ! function_exists( 'curl_version' ) ) {
|
65 |
-
return new WP_Error( 'http_request_failed', "For Robin image optimizer to work, you need to install php extension [curl]." );
|
66 |
-
}
|
67 |
-
|
68 |
-
WRIO_Logger::info( sprintf( "Preparing to upload a file (%s) to a remote server (%s).", $settings['image_path'], $this->server_name ) );
|
69 |
-
|
70 |
-
// todo: need to use wp_remote*, see https://webcraftic.atlassian.net/browse/RIO-71
|
71 |
-
$filename = $settings['image_path'];
|
72 |
-
|
73 |
-
if ( ! class_exists( 'finfo' ) ) {
|
74 |
-
WRIO_Logger::error( 'For Robin image optimizer to work, you need to install php extension [php_fileinfo].' );
|
75 |
-
|
76 |
-
return new WP_Error( 'http_request_failed', "For Robin image optimizer to work, you need to install php extension [php_fileinfo]." );
|
77 |
-
}
|
78 |
-
|
79 |
-
$finfo = new \finfo( FILEINFO_MIME_TYPE );
|
80 |
-
$mimetype = $finfo->file( $filename );
|
81 |
-
|
82 |
-
$ch = curl_init( $upload_url );
|
83 |
-
$cfile = curl_file_create( $filename, $mimetype, basename( $filename ) );
|
84 |
-
$data = [ 'file' => $cfile, 'name' => basename( $filename ), 'id' => $file_id ];
|
85 |
-
|
86 |
-
curl_setopt( $ch, CURLOPT_POST, 1 );
|
87 |
-
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );
|
88 |
-
//curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
|
89 |
-
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
|
90 |
-
|
91 |
-
$response = curl_exec( $ch );
|
92 |
-
$r = curl_getinfo( $ch );
|
93 |
-
|
94 |
-
if ( $r["http_code"] != 200 ) {
|
95 |
-
WRIO_Logger::error( sprintf( 'Failed to get content of URL: %s as wp_remote_request() responded Http error (%s).', $upload_url, $r["http_code"] ) );
|
96 |
-
|
97 |
-
return new WP_Error( 'http_request_failed', sprintf( "Server responded an Http error %s", $r["http_code"] ) );
|
98 |
-
}
|
99 |
-
|
100 |
-
$compress_url = $this->get_endpoint_url( 'compress', $session_id, $file_id, [ 'quality' => $settings['quality'] ] );
|
101 |
-
$compress_response = $this->request( 'GET', $compress_url );
|
102 |
-
|
103 |
-
if ( is_wp_error( $compress_response ) ) {
|
104 |
-
return $compress_response;
|
105 |
-
}
|
106 |
-
|
107 |
-
WRIO_Logger::info( sprintf( "File successfully uploaded to remote server (%s).", $this->server_name ) );
|
108 |
-
|
109 |
-
$optimized_image_data = [
|
110 |
-
'optimized_img_url' => '',
|
111 |
-
'src_size' => 0,
|
112 |
-
'optimized_size' => 0,
|
113 |
-
'optimized_percent' => 0,
|
114 |
-
'session_id' => $session_id,
|
115 |
-
'file_id' => $file_id,
|
116 |
-
'not_need_replace' => true,
|
117 |
-
'not_need_download' => true,
|
118 |
-
'status' => 'processing', // отложенная оптимизация
|
119 |
-
'server' => $this->server_name,
|
120 |
-
];
|
121 |
-
|
122 |
-
return $optimized_image_data;
|
123 |
-
}
|
124 |
-
|
125 |
-
|
126 |
-
/**
|
127 |
-
* Проверка отложенной оптимизации изображения
|
128 |
-
*
|
129 |
-
* @param array $optimized_data {
|
130 |
-
* Параметры отложенной оптимизации
|
131 |
-
*
|
132 |
-
* {type} string $server Имя сервера оптимизации
|
133 |
-
* {type} string $session_id Идентификатор сессии
|
134 |
-
* {type} string $file_id Уникальный идентификатор файла. Генерируется сервером оптимизации.
|
135 |
-
* }
|
136 |
-
*
|
137 |
-
* @return bool|array
|
138 |
-
*/
|
139 |
-
public function checkDeferredOptimization( $optimized_data ) {
|
140 |
-
|
141 |
-
$status_url = $this->get_endpoint_url( 'status', $optimized_data['session_id'], $optimized_data['file_id'] );
|
142 |
-
$response = $this->request( 'GET', $status_url );
|
143 |
-
|
144 |
-
if ( is_wp_error( $response ) ) {
|
145 |
-
return false;
|
146 |
-
}
|
147 |
-
|
148 |
-
$response = @json_decode( $response );
|
149 |
-
|
150 |
-
if ( isset( $response->compress_progress ) && $response->compress_progress == 100 ) {
|
151 |
-
$optimized_url = $this->api_url . $response->compressed_url;
|
152 |
-
|
153 |
-
return $optimized_url;
|
154 |
-
}
|
155 |
-
|
156 |
-
return false;
|
157 |
-
}
|
158 |
-
|
159 |
-
/**
|
160 |
-
* Проверка данных для отложенной оптимизации
|
161 |
-
* Проверяет наличие необходимых параметров и соответствие серверу
|
162 |
-
*
|
163 |
-
* @param array $optimized_data {
|
164 |
-
* Параметры отложенной оптимизации
|
165 |
-
*
|
166 |
-
* {type} string $server Имя сервера оптимизации
|
167 |
-
* {type} string $session_id Идентификатор сессии
|
168 |
-
* {type} string $file_id Уникальный идентификатор файла. Генерируется сервером оптимизации.
|
169 |
-
* }
|
170 |
-
*
|
171 |
-
* @return bool
|
172 |
-
*/
|
173 |
-
public function validateDeferredData( $optimized_data ) {
|
174 |
-
if ( ! isset( $optimized_data['server'] ) ) {
|
175 |
-
return false;
|
176 |
-
}
|
177 |
-
if ( $optimized_data['server'] != $this->server_name ) {
|
178 |
-
return false;
|
179 |
-
}
|
180 |
-
if ( ! isset( $optimized_data['session_id'] ) or ! isset( $optimized_data['file_id'] ) ) {
|
181 |
-
return false;
|
182 |
-
}
|
183 |
-
|
184 |
-
return true;
|
185 |
-
}
|
186 |
-
|
187 |
-
/**
|
188 |
-
* Качество изображения
|
189 |
-
* Метод конвертирует качество из настроек плагина в формат сервиса resmush
|
190 |
-
*
|
191 |
-
* @param mixed $quality качество
|
192 |
-
*
|
193 |
-
* @return int
|
194 |
-
*/
|
195 |
-
public function quality( $quality = 100 ) {
|
196 |
-
if ( is_numeric( $quality ) ) {
|
197 |
-
if ( $quality >= 1 && $quality <= 100 ) {
|
198 |
-
return $quality;
|
199 |
-
}
|
200 |
-
}
|
201 |
-
if ( $quality == 'normal' ) {
|
202 |
-
return 90;
|
203 |
-
}
|
204 |
-
if ( $quality == 'aggresive' ) {
|
205 |
-
return 75;
|
206 |
-
}
|
207 |
-
if ( $quality == 'ultra' ) {
|
208 |
-
return 50;
|
209 |
-
}
|
210 |
-
|
211 |
-
return 100;
|
212 |
-
}
|
213 |
-
|
214 |
-
/**
|
215 |
-
* Генерирует случайную строку указанной длины
|
216 |
-
*
|
217 |
-
* @param int $length Длина строки
|
218 |
-
*
|
219 |
-
* @return string
|
220 |
-
*/
|
221 |
-
public function generateRandomString( $length = 10 ) {
|
222 |
-
$characters = '0123456789abcdefghiklmnopqrstuvwxyz';
|
223 |
-
$charactersLength = strlen( $characters );
|
224 |
-
$randomString = '';
|
225 |
-
for ( $i = 0; $i < $length; $i ++ ) {
|
226 |
-
$randomString .= $characters[ rand( 0, $charactersLength - 1 ) ];
|
227 |
-
}
|
228 |
-
|
229 |
-
return $randomString;
|
230 |
-
}
|
231 |
-
|
232 |
-
/**
|
233 |
-
* Использует ли сервер отложенную оптимизацию
|
234 |
-
*
|
235 |
-
* @return bool
|
236 |
-
*/
|
237 |
-
public function isDeferred() {
|
238 |
-
return true;
|
239 |
-
}
|
240 |
-
|
241 |
-
/**
|
242 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
243 |
-
* @since 1.1
|
244 |
-
*
|
245 |
-
* @param string $file_id
|
246 |
-
* @param array $agrs
|
247 |
-
*
|
248 |
-
* @param string $ednpoint
|
249 |
-
* @param string $session_id
|
250 |
-
*
|
251 |
-
* @return string|null
|
252 |
-
*/
|
253 |
-
private function get_endpoint_url( $ednpoint, $session_id, $file_id = null, array $agrs = [] ) {
|
254 |
-
$url = $this->api_url . '/' . $ednpoint . '/' . $session_id;
|
255 |
-
|
256 |
-
if ( ! empty( $file_id ) ) {
|
257 |
-
$url .= '/' . $file_id;
|
258 |
-
}
|
259 |
-
|
260 |
-
$parse_args = wp_parse_args( $agrs, [
|
261 |
-
'rnd' => '0.' . rand( 11111111, 99999999 )
|
262 |
-
] );
|
263 |
-
|
264 |
-
return add_query_arg( $parse_args, $url );
|
265 |
-
}
|
266 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/classes/processors/class-rio-server-resmush.php
CHANGED
@@ -67,7 +67,7 @@ class WIO_Image_Processor_Resmush extends WIO_Image_Processor_Abstract {
|
|
67 |
$boundary = wp_generate_password( 24 ); // Just a random string, use something better than wp_generate_password() though.
|
68 |
$headers = array(
|
69 |
'content-type' => 'multipart/form-data; boundary=' . $boundary,
|
70 |
-
'user-agent' => "WordPress $wp_version/Robin Image Optimizer
|
71 |
);
|
72 |
|
73 |
$payload = '';
|
67 |
$boundary = wp_generate_password( 24 ); // Just a random string, use something better than wp_generate_password() though.
|
68 |
$headers = array(
|
69 |
'content-type' => 'multipart/form-data; boundary=' . $boundary,
|
70 |
+
'user-agent' => "WordPress $wp_version/Robin Image Optimizer " . WRIO_Plugin::app()->getPluginVersion() . " - " . get_bloginfo( 'wpurl' ),
|
71 |
);
|
72 |
|
73 |
$payload = '';
|
includes/classes/processors/class-rio-server-smushpro.php
DELETED
@@ -1,142 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Класс для оптимизации изображений через API сервиса smushpro.wpmudev.org.
|
10 |
-
*
|
11 |
-
* @see https://smushpro.wpmudev.org/
|
12 |
-
* @author Eugene Jokerov <jokerov@gmail.com>
|
13 |
-
* @copyright (c) 2018, Webcraftic
|
14 |
-
* @version 1.0
|
15 |
-
*/
|
16 |
-
class WIO_Image_Processor_Smushpro extends WIO_Image_Processor_Abstract {
|
17 |
-
|
18 |
-
/**
|
19 |
-
* @var string
|
20 |
-
*/
|
21 |
-
protected $api_url = 'smushpro.wpmudev.org/1.0/';
|
22 |
-
|
23 |
-
/**
|
24 |
-
* @var string Имя сервера
|
25 |
-
*/
|
26 |
-
protected $server_name = 'server_2';
|
27 |
-
|
28 |
-
/**
|
29 |
-
* Оптимизация изображения
|
30 |
-
*
|
31 |
-
* @param array $settings входные параметры оптимизации изображения
|
32 |
-
*
|
33 |
-
* @return array|WP_Error {
|
34 |
-
* Результаты оптимизации
|
35 |
-
*
|
36 |
-
* {type} string $optimized_img_url УРЛ оптимизированного изображения на сервере оптимизации
|
37 |
-
* {type} int $src_size размер исходного изображения в байтах
|
38 |
-
* {type} int $optimized_size размер оптимизированного изображения в байтах
|
39 |
-
* {type} int $optimized_percent На сколько процентов уменьшилось изображение
|
40 |
-
* {type} bool $not_need_download Изображение не надо скачивать
|
41 |
-
* }
|
42 |
-
*/
|
43 |
-
public function process( $settings ) {
|
44 |
-
|
45 |
-
$default_params = [
|
46 |
-
'image_url' => '',
|
47 |
-
'save_exif' => false,
|
48 |
-
];
|
49 |
-
|
50 |
-
$settings = wp_parse_args( $settings, $default_params );
|
51 |
-
|
52 |
-
$headers = [
|
53 |
-
'accept' => 'application/json', // The API returns JSON.
|
54 |
-
'content-type' => 'application/binary', // Set content type to binary.
|
55 |
-
];
|
56 |
-
|
57 |
-
if ( $settings['save_exif'] ) {
|
58 |
-
$headers['exif'] = 'true';
|
59 |
-
}
|
60 |
-
|
61 |
-
$file = wp_normalize_path( $settings['image_path'] );
|
62 |
-
|
63 |
-
if ( ! file_exists( $file ) ) {
|
64 |
-
return new WP_Error( 'http_request_failed', sprintf( "File %s isn't exists.", $file ) );
|
65 |
-
}
|
66 |
-
|
67 |
-
WRIO_Logger::info( sprintf( "Preparing to upload a file (%s) to a remote server (%s).", $settings['image_path'], $this->server_name ) );
|
68 |
-
|
69 |
-
$use_http = WRIO_Plugin::app()->getPopulateOption( 'use_http' );
|
70 |
-
|
71 |
-
$api_url = ( $use_http ? 'http://' : 'https://' ) . $this->api_url;
|
72 |
-
|
73 |
-
$file_data = file_get_contents( $file );
|
74 |
-
|
75 |
-
$response = $this->request( 'POST', $api_url, $file_data, $headers );
|
76 |
-
|
77 |
-
unset( $file );
|
78 |
-
|
79 |
-
if ( is_wp_error( $response ) ) {
|
80 |
-
$er_msg = $response->get_error_message();
|
81 |
-
|
82 |
-
// Hostgator Issue.
|
83 |
-
if ( ! empty( $er_msg ) && strpos( $er_msg, 'SSL CA cert' ) !== false ) {
|
84 |
-
// Update DB for using http protocol.
|
85 |
-
WRIO_Plugin::app()->updatePopulateOption( 'use_http', 1 );
|
86 |
-
}
|
87 |
-
|
88 |
-
unset( $response ); // Free memory.
|
89 |
-
|
90 |
-
// Check for timeout error and suggest to filter timeout.
|
91 |
-
if ( strpos( $er_msg, 'timed out' ) ) {
|
92 |
-
return new WP_Error( 'api_error', __( "Skipped due to a timeout error. You can increase the request timeout to make sure Smush has enough time to process larger files.", 'robin-image-optimizer' ) );
|
93 |
-
}
|
94 |
-
|
95 |
-
// Handle error.
|
96 |
-
/* translators: %s error message */
|
97 |
-
|
98 |
-
return new WP_Error( 'api_error', sprintf( __( 'Error posting to API: %s', 'robin-image-optimizer' ), $er_msg ) );
|
99 |
-
}
|
100 |
-
|
101 |
-
$response = @json_decode( $response );
|
102 |
-
|
103 |
-
if ( $response && true === $response->success ) {
|
104 |
-
|
105 |
-
$image_data = isset( $response->data->image ) ? base64_decode( $response->data->image ) : false;
|
106 |
-
|
107 |
-
$optimized_image_data = [
|
108 |
-
'optimized_img_url' => $image_data,
|
109 |
-
'src_size' => $response->data->before_size,
|
110 |
-
'optimized_size' => $response->data->after_size,
|
111 |
-
'optimized_percent' => $response->data->compression,
|
112 |
-
'not_need_download' => true,
|
113 |
-
];
|
114 |
-
|
115 |
-
if ( ! $image_data ) {
|
116 |
-
$optimized_image_data['not_need_replace'] = true;
|
117 |
-
}
|
118 |
-
|
119 |
-
WRIO_Logger::info( sprintf( "File successfully uploaded to remote server (%s).", $this->server_name ) );
|
120 |
-
|
121 |
-
unset( $response ); // Free memory.
|
122 |
-
|
123 |
-
return $optimized_image_data;
|
124 |
-
}
|
125 |
-
|
126 |
-
unset( $response ); // Free memory.
|
127 |
-
|
128 |
-
return new WP_Error( 'api_error', __( "Image couldn't be smushed", 'robin-image-optimizer' ) );
|
129 |
-
}
|
130 |
-
|
131 |
-
/**
|
132 |
-
* Качество изображения
|
133 |
-
* Для этого провайдера оно не применяется
|
134 |
-
*
|
135 |
-
* @param mixed $quality качество
|
136 |
-
*
|
137 |
-
* @return int
|
138 |
-
*/
|
139 |
-
public function quality( $quality = 100 ) {
|
140 |
-
return 100;
|
141 |
-
}
|
142 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/classes/processors/class-rio-server-webcraftic.php
DELETED
@@ -1,133 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Класс для оптимизации изображений через API сервиса webcraftic.com.
|
10 |
-
*
|
11 |
-
* @author Eugene Jokerov <jokerov@gmail.com>
|
12 |
-
* @copyright (c) 2018, Webcraftic
|
13 |
-
* @version 1.0
|
14 |
-
*/
|
15 |
-
class WIO_Image_Processor_Webcraftic extends WIO_Image_Processor_Abstract {
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @var string
|
19 |
-
*/
|
20 |
-
protected $api_url;
|
21 |
-
|
22 |
-
/**
|
23 |
-
* @var string Имя сервера
|
24 |
-
*/
|
25 |
-
protected $server_name = 'server_3';
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Инициализация
|
29 |
-
*
|
30 |
-
* @return void
|
31 |
-
*/
|
32 |
-
public function __construct() {
|
33 |
-
// Получаем ссылку на сервер 3
|
34 |
-
$this->api_url = wrio_get_server_url( 'server_3' );
|
35 |
-
}
|
36 |
-
|
37 |
-
/**
|
38 |
-
* Оптимизация изображения
|
39 |
-
*
|
40 |
-
* @param array $settings входные параметры оптимизации изображения
|
41 |
-
*
|
42 |
-
* @return array|WP_Error {
|
43 |
-
* Результаты оптимизации
|
44 |
-
*
|
45 |
-
* {type} string $optimized_img_url УРЛ оптимизированного изображения на сервере оптимизации
|
46 |
-
* {type} int $src_size размер исходного изображения в байтах
|
47 |
-
* {type} int $optimized_size размер оптимизированного изображения в байтах
|
48 |
-
* {type} int $optimized_percent На сколько процентов уменьшилось изображение
|
49 |
-
* {type} bool $not_need_download Изображение не надо скачивать
|
50 |
-
* }
|
51 |
-
*/
|
52 |
-
public function process( $settings ) {
|
53 |
-
|
54 |
-
$default_params = array(
|
55 |
-
'image_url' => '',
|
56 |
-
'quality' => 100,
|
57 |
-
'save_exif' => false,
|
58 |
-
);
|
59 |
-
|
60 |
-
$settings = wp_parse_args( $settings, $default_params );
|
61 |
-
|
62 |
-
$query_args = array(
|
63 |
-
'quality' => $settings['quality'],
|
64 |
-
);
|
65 |
-
|
66 |
-
if ( ! $settings['save_exif'] ) {
|
67 |
-
$query_args['strip'] = 'info';
|
68 |
-
}
|
69 |
-
|
70 |
-
// Create a temporary image with a unique name.
|
71 |
-
$backup = WIO_Backup::get_instance();
|
72 |
-
$temp_attachment = $backup->createTempAttachment( $settings['image_path'] );
|
73 |
-
|
74 |
-
if ( is_wp_error( $temp_attachment ) ) {
|
75 |
-
return new WP_Error( 'create_temp_attachment_error', __( 'It is not possible to create a temporary file. Throw error ' . $temp_attachment->get_error_message(), 'robin-image-optimizer' ) );
|
76 |
-
}
|
77 |
-
|
78 |
-
WRIO_Logger::info( sprintf( "Preparing to upload a file (%s) to a remote server (%s).", $settings['image_path'], $this->server_name ) );
|
79 |
-
|
80 |
-
$img_url = $temp_attachment['image_url'];
|
81 |
-
|
82 |
-
$img_url = str_replace( array( 'http://', 'https://' ), '', $img_url );
|
83 |
-
$img_url = add_query_arg( $query_args, $this->api_url . '/' . $img_url );
|
84 |
-
|
85 |
-
$responce = $this->request( 'GET', $img_url );
|
86 |
-
|
87 |
-
// Delete temporary image
|
88 |
-
if ( file_exists( $temp_attachment['image_path'] ) && ! unlink( $temp_attachment['image_path'] ) ) {
|
89 |
-
WRIO_Logger::error( sprintf( "Failed to delete temporary file %s", $temp_attachment['image_path'] ) );
|
90 |
-
}
|
91 |
-
|
92 |
-
if ( is_wp_error( $responce ) ) {
|
93 |
-
return $responce;
|
94 |
-
}
|
95 |
-
|
96 |
-
WRIO_Logger::info( sprintf( "File successfully uploaded to remote server (%s).", $this->server_name ) );
|
97 |
-
|
98 |
-
return array(
|
99 |
-
'optimized_img_url' => $responce,
|
100 |
-
'src_size' => 0,
|
101 |
-
'optimized_size' => 0,
|
102 |
-
'optimized_percent' => 0,
|
103 |
-
'not_need_download' => true,
|
104 |
-
);
|
105 |
-
}
|
106 |
-
|
107 |
-
/**
|
108 |
-
* Качество изображения
|
109 |
-
* Метод конвертирует качество из настроек плагина в формат сервиса resmush
|
110 |
-
*
|
111 |
-
* @param mixed $quality качество
|
112 |
-
*
|
113 |
-
* @return int
|
114 |
-
*/
|
115 |
-
public function quality( $quality = 100 ) {
|
116 |
-
if ( is_numeric( $quality ) ) {
|
117 |
-
if ( $quality >= 1 && $quality <= 100 ) {
|
118 |
-
return $quality;
|
119 |
-
}
|
120 |
-
}
|
121 |
-
if ( $quality == 'normal' ) {
|
122 |
-
return 90;
|
123 |
-
}
|
124 |
-
if ( $quality == 'aggresive' ) {
|
125 |
-
return 75;
|
126 |
-
}
|
127 |
-
if ( $quality == 'ultra' ) {
|
128 |
-
return 50;
|
129 |
-
}
|
130 |
-
|
131 |
-
return 100;
|
132 |
-
}
|
133 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/functions.php
CHANGED
@@ -17,9 +17,9 @@ use WRIO\Paths\phpUri;
|
|
17 |
function wrio_doing_rest_api() {
|
18 |
$prefix = rest_get_url_prefix();
|
19 |
$rest_route = WRIO_Plugin::app()->request->get( 'rest_route', null );
|
20 |
-
if ( defined( 'REST_REQUEST' ) && REST_REQUEST // (#1)
|
21 |
-
|
22 |
-
|
23 |
return true;
|
24 |
}
|
25 |
|
17 |
function wrio_doing_rest_api() {
|
18 |
$prefix = rest_get_url_prefix();
|
19 |
$rest_route = WRIO_Plugin::app()->request->get( 'rest_route', null );
|
20 |
+
if ( (defined( 'REST_REQUEST' ) && REST_REQUEST) // (#1)
|
21 |
+
|| ( ! is_null( $rest_route ) // (#2)
|
22 |
+
&& strpos( trim( $rest_route, '\\/' ), $prefix, 0 ) === 0) ) {
|
23 |
return true;
|
24 |
}
|
25 |
|
languages/robin-image-optimizer-ru_RU.mo
CHANGED
Binary file
|
languages/robin-image-optimizer-ru_RU.po
CHANGED
@@ -1,1234 +1,1030 @@
|
|
1 |
-
#
|
2 |
-
# Alexander Parfilov <alexparfilov@gmail.com>, 2018.
|
3 |
-
#
|
4 |
-
msgid ""
|
5 |
-
msgstr ""
|
6 |
-
"Project-Id-Version: Image optimizer\n"
|
7 |
-
"Report-Msgid-Bugs-To: \n"
|
8 |
-
"POT-Creation-Date: 2020-
|
9 |
-
"PO-Revision-Date: 2020-
|
10 |
-
"Last-Translator:
|
11 |
-
"Language-Team: Русский\n"
|
12 |
-
"Language: ru_RU\n"
|
13 |
-
"MIME-Version: 1.0\n"
|
14 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
-
"Content-Transfer-Encoding: 8bit\n"
|
16 |
-
"X-Generator:
|
17 |
-
"X-Poedit-Basepath: ..\n"
|
18 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
19 |
-
"
|
20 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
21 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
22 |
-
"X-
|
23 |
-
"X-Poedit-
|
24 |
-
"X-Poedit-SearchPathExcluded-
|
25 |
-
"X-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
"
|
69 |
-
msgstr ""
|
70 |
-
|
71 |
-
#: admin/boot.php:
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
"
|
77 |
-
msgstr ""
|
78 |
-
|
79 |
-
#:
|
80 |
-
#, php-format
|
81 |
-
msgid ""
|
82 |
-
"
|
83 |
-
"
|
84 |
-
"
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
msgid "
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
"
|
106 |
-
"
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
"
|
114 |
-
"
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
#:
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
#:
|
163 |
-
msgid "
|
164 |
-
msgstr ""
|
165 |
-
|
166 |
-
#:
|
167 |
-
msgid "
|
168 |
-
msgstr ""
|
169 |
-
|
170 |
-
#:
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
#: admin/
|
205 |
-
msgid "
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
#:
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
msgid "
|
238 |
-
msgstr "
|
239 |
-
|
240 |
-
#:
|
241 |
-
msgid "
|
242 |
-
msgstr "
|
243 |
-
|
244 |
-
#:
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
#:
|
259 |
-
msgid "
|
260 |
-
msgstr ""
|
261 |
-
|
262 |
-
#:
|
263 |
-
msgid "
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#:
|
267 |
-
msgid "
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
"
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
msgstr ""
|
286 |
-
|
287 |
-
#: admin/
|
288 |
-
msgid ""
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
msgid "
|
309 |
-
msgstr ""
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
"
|
337 |
-
"
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
msgstr "
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
"
|
370 |
-
"
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
#: admin/pages/class-rio-settings.php:
|
389 |
-
msgid "
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
"
|
416 |
-
"
|
417 |
-
|
418 |
-
#: admin/pages/class-rio-settings.php:
|
419 |
-
msgid "
|
420 |
-
msgstr "
|
421 |
-
|
422 |
-
#: admin/pages/class-rio-settings.php:
|
423 |
-
msgid ""
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
"
|
428 |
-
"
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
"
|
433 |
-
"
|
434 |
-
|
435 |
-
"
|
436 |
-
"
|
437 |
-
"
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
msgstr ""
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
"
|
453 |
-
|
454 |
-
"
|
455 |
-
|
456 |
-
|
457 |
-
"
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: admin/pages/class-rio-settings.php:
|
467 |
-
msgid ""
|
468 |
-
"
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
"
|
474 |
-
"
|
475 |
-
"
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
"
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
"
|
492 |
-
msgstr ""
|
493 |
-
|
494 |
-
|
495 |
-
"
|
496 |
-
|
497 |
-
"
|
498 |
-
|
499 |
-
#: admin/pages/class-rio-settings.php:
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
"
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
"
|
536 |
-
|
537 |
-
|
538 |
-
"
|
539 |
-
|
540 |
-
|
541 |
-
#: admin/pages/class-rio-settings.php:
|
542 |
-
|
543 |
-
|
544 |
-
"
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
"
|
564 |
-
"
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
"
|
569 |
-
"
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
#: admin/pages/class-rio-settings.php:
|
590 |
-
msgid "
|
591 |
-
msgstr ""
|
592 |
-
|
593 |
-
#: admin/pages/class-rio-settings.php:
|
594 |
-
msgid "
|
595 |
-
msgstr ""
|
596 |
-
|
597 |
-
#: admin/pages/class-rio-settings.php:
|
598 |
-
msgid "
|
599 |
-
msgstr ""
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
"
|
612 |
-
"
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
"
|
617 |
-
|
618 |
-
|
619 |
-
#: admin/pages/class-rio-
|
620 |
-
msgid "
|
621 |
-
msgstr ""
|
622 |
-
|
623 |
-
#: admin/pages/class-rio-
|
624 |
-
#:
|
625 |
-
msgid ""
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
"
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
"
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
#: admin/pages/class-rio-
|
662 |
-
msgid "
|
663 |
-
msgstr "
|
664 |
-
|
665 |
-
#: admin/pages/class-rio-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
#: admin/pages/class-rio-
|
672 |
-
msgid "
|
673 |
-
msgstr "
|
674 |
-
|
675 |
-
#: admin/pages/class-rio-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
msgstr "
|
696 |
-
|
697 |
-
#: admin/pages/class-rio-statistic.php:
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
msgid "
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
"
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
#:
|
723 |
-
msgid "
|
724 |
-
msgstr "
|
725 |
-
|
726 |
-
#: admin/pages/class-rio-statistic.php:
|
727 |
-
#:
|
728 |
-
|
729 |
-
|
730 |
-
"
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
"
|
739 |
-
msgstr ""
|
740 |
-
|
741 |
-
#:
|
742 |
-
msgid ""
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
#:
|
771 |
-
msgid "
|
772 |
-
msgstr ""
|
773 |
-
|
774 |
-
#:
|
775 |
-
#: includes/classes/class-rio-cron.php:
|
776 |
-
msgid "
|
777 |
-
msgstr ""
|
778 |
-
|
779 |
-
#:
|
780 |
-
|
781 |
-
"
|
782 |
-
msgstr ""
|
783 |
-
|
784 |
-
#:
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
"
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
msgstr ""
|
820 |
-
|
821 |
-
#: includes/classes/class-rio-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
#:
|
847 |
-
msgid "
|
848 |
-
msgstr ""
|
849 |
-
|
850 |
-
#:
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
#:
|
862 |
-
msgid "
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
"
|
895 |
-
msgstr ""
|
896 |
-
|
897 |
-
#:
|
898 |
-
msgid "
|
899 |
-
msgstr ""
|
900 |
-
|
901 |
-
#:
|
902 |
-
msgid "
|
903 |
-
msgstr ""
|
904 |
-
|
905 |
-
#:
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
#:
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
msgstr ""
|
940 |
-
|
941 |
-
#:
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
#:
|
962 |
-
msgid "
|
963 |
-
msgstr "
|
964 |
-
|
965 |
-
#:
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
"
|
987 |
-
"
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
#:
|
1000 |
-
msgid ""
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
"
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
msgstr ""
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
msgid "Sync"
|
1032 |
-
msgstr ""
|
1033 |
-
|
1034 |
-
#: libs/addons/views/part-bulk-optimization-table-folders.php:43
|
1035 |
-
msgid "Recover images from backup?"
|
1036 |
-
msgstr ""
|
1037 |
-
|
1038 |
-
#: libs/addons/views/part-bulk-optimization-table-folders.php:44
|
1039 |
-
#: libs/addons/admin/pages/class-rio-statistic-folders-page.php:168
|
1040 |
-
msgid "Exclude directory from optimization?"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: libs/addons/views/part-settings-page-webp-options.php:17
|
1044 |
-
msgid "You can only use WebP conversion when using a premium server"
|
1045 |
-
msgstr ""
|
1046 |
-
|
1047 |
-
#: libs/addons/views/part-settings-page-webp-options.php:28
|
1048 |
-
msgid "Select delivery mode"
|
1049 |
-
msgstr ""
|
1050 |
-
|
1051 |
-
#: libs/addons/views/part-settings-page-webp-options.php:30
|
1052 |
-
#, php-format
|
1053 |
-
msgid ""
|
1054 |
-
"Deliver the WebP versions of the images in the front-end <a href=\"%s\" "
|
1055 |
-
"target=\"_blank\">Read more</a>"
|
1056 |
-
msgstr ""
|
1057 |
-
|
1058 |
-
#: libs/addons/views/part-settings-page-webp-options.php:35
|
1059 |
-
msgid "Redirection (via .htaccess)"
|
1060 |
-
msgstr ""
|
1061 |
-
|
1062 |
-
#: libs/addons/views/part-settings-page-webp-options.php:38
|
1063 |
-
#, php-format
|
1064 |
-
msgid ""
|
1065 |
-
"This will add rules in the .htaccess that redirects directly to existing "
|
1066 |
-
"converted files. Best performance is achieved by redirecting in .htaccess. "
|
1067 |
-
"Based on testing your particular hosting configuration, we determined that "
|
1068 |
-
"your server <img width=\"30\" src=\"%s\"> serve the WEBP versions of the "
|
1069 |
-
"JPEG files seamlessly, via .htaccess."
|
1070 |
-
msgstr ""
|
1071 |
-
|
1072 |
-
#: libs/addons/views/part-settings-page-webp-options.php:40
|
1073 |
-
msgid "Server"
|
1074 |
-
msgstr ""
|
1075 |
-
|
1076 |
-
#: libs/addons/views/part-settings-page-webp-options.php:51
|
1077 |
-
msgid ""
|
1078 |
-
"Replace <img> tags with <picture> tags, adding the webp to "
|
1079 |
-
"srcset."
|
1080 |
-
msgstr ""
|
1081 |
-
|
1082 |
-
#: libs/addons/views/part-settings-page-webp-options.php:54
|
1083 |
-
msgid ""
|
1084 |
-
" Each <img> will be replaced with a <picture> tag that will also "
|
1085 |
-
"provide the WebP image as a choice for browsers that support it. Also loads "
|
1086 |
-
"the picturefill.js for browsers that don't support the <picture> tag. "
|
1087 |
-
"You don't need to activate this if you're using the Cache Enabler plugin "
|
1088 |
-
"because your WebP images are already handled by this plugin. <strong>Please "
|
1089 |
-
"make a test before using this option</strong>, as if the styles that your "
|
1090 |
-
"theme is using rely on the position of your <img> tag, you might "
|
1091 |
-
"experience display problems. <strong>You can revert anytime to the previous "
|
1092 |
-
"state by just deactivating the option.</strong>"
|
1093 |
-
msgstr ""
|
1094 |
-
|
1095 |
-
#: libs/addons/views/part-settings-page-webp-options.php:59
|
1096 |
-
msgid "Replace image URLs"
|
1097 |
-
msgstr ""
|
1098 |
-
|
1099 |
-
#: libs/addons/views/part-settings-page-webp-options.php:62
|
1100 |
-
msgid ""
|
1101 |
-
"\"Image URLs\" replaces the image URLs to point to the webp <i>rather "
|
1102 |
-
"than</i> the original. Handles src, srcset, common lazy-load attributes and "
|
1103 |
-
"even inline styles. Note that you will have to do something for the browsers "
|
1104 |
-
"that does not support webp. And that something is in most cases to enable "
|
1105 |
-
"the <i>Only do the replacements in webp enabled browsers</i> option, which "
|
1106 |
-
"will show up when you enable this option."
|
1107 |
-
msgstr ""
|
1108 |
-
|
1109 |
-
#: libs/addons/views/part-settings-page-webp-options.php:67
|
1110 |
-
msgid "No delivery"
|
1111 |
-
msgstr ""
|
1112 |
-
|
1113 |
-
#: libs/addons/views/part-settings-page-webp-options.php:70
|
1114 |
-
msgid ""
|
1115 |
-
" Plugin will not replace the source JPEG, PNG image on Webp version of the "
|
1116 |
-
"image in\n"
|
1117 |
-
" front-end."
|
1118 |
-
msgstr ""
|
1119 |
-
|
1120 |
-
#: libs/addons/admin/pages/class-rio-statistic-folders-page.php:69
|
1121 |
-
#: libs/addons/admin/pages/class-rio-statistic-folders-page.php:76
|
1122 |
-
msgid "Custom Folders"
|
1123 |
-
msgstr ""
|
1124 |
-
|
1125 |
-
#: libs/addons/admin/pages/class-rio-statistic-folders-page.php:163
|
1126 |
-
msgid "Select custom folder"
|
1127 |
-
msgstr ""
|
1128 |
-
|
1129 |
-
#: libs/addons/admin/pages/class-rio-statistic-folders-page.php:165
|
1130 |
-
msgid "Select"
|
1131 |
-
msgstr ""
|
1132 |
-
|
1133 |
-
#: libs/addons/admin/pages/class-rio-statistic-folders-page.php:167
|
1134 |
-
msgid "Remove"
|
1135 |
-
msgstr ""
|
1136 |
-
|
1137 |
-
#: libs/addons/admin/pages/class-rio-statistic-folders-page.php:169
|
1138 |
-
#, php-format
|
1139 |
-
msgid "Selected directory is being indexed. Found %d images."
|
1140 |
-
msgstr ""
|
1141 |
-
|
1142 |
-
#: libs/addons/admin/pages/class-rio-statistic-folders-page.php:172
|
1143 |
-
msgid "All images from custom folders are optimized."
|
1144 |
-
msgstr ""
|
1145 |
-
|
1146 |
-
#: libs/addons/admin/pages/class-rio-statistic-nextgen-page.php:61
|
1147 |
-
#: libs/addons/admin/pages/class-rio-statistic-nextgen-page.php:68
|
1148 |
-
msgid "NextGen Gallery"
|
1149 |
-
msgstr ""
|
1150 |
-
|
1151 |
-
#: libs/addons/includes/classes/class.custom-folders.php:319
|
1152 |
-
msgid "You need to add an custom folder to start optimization!"
|
1153 |
-
msgstr ""
|
1154 |
-
|
1155 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:21
|
1156 |
-
msgctxt "Column label"
|
1157 |
-
msgid "Preview"
|
1158 |
-
msgstr ""
|
1159 |
-
|
1160 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:22
|
1161 |
-
msgctxt "Column label"
|
1162 |
-
msgid "File path"
|
1163 |
-
msgstr ""
|
1164 |
-
|
1165 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:23
|
1166 |
-
msgctxt "Column label"
|
1167 |
-
msgid "Folder"
|
1168 |
-
msgstr ""
|
1169 |
-
|
1170 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:24
|
1171 |
-
msgctxt "Column label"
|
1172 |
-
msgid "Status"
|
1173 |
-
msgstr ""
|
1174 |
-
|
1175 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:25
|
1176 |
-
msgctxt "Column label"
|
1177 |
-
msgid "Optimization"
|
1178 |
-
msgstr ""
|
1179 |
-
|
1180 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:118
|
1181 |
-
msgid "Filter by folder"
|
1182 |
-
msgstr ""
|
1183 |
-
|
1184 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:120
|
1185 |
-
msgid "All Folders"
|
1186 |
-
msgstr ""
|
1187 |
-
|
1188 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:129
|
1189 |
-
msgid "Filter by status"
|
1190 |
-
msgstr ""
|
1191 |
-
|
1192 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:131
|
1193 |
-
msgid "All Media Files"
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:138
|
1197 |
-
msgid "Errors"
|
1198 |
-
msgstr ""
|
1199 |
-
|
1200 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:235
|
1201 |
-
msgid "Success"
|
1202 |
-
msgstr ""
|
1203 |
-
|
1204 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:237
|
1205 |
-
msgid "Processing"
|
1206 |
-
msgstr ""
|
1207 |
-
|
1208 |
-
#: libs/addons/includes/classes/class.folders-list-table.php:239
|
1209 |
-
msgid "Skipped"
|
1210 |
-
msgstr ""
|
1211 |
-
|
1212 |
-
#: libs/addons/includes/classes/class.image-nextgen.php:203
|
1213 |
-
#, fuzzy
|
1214 |
-
#| msgid "file not found"
|
1215 |
-
msgid "File not found"
|
1216 |
-
msgstr "файл не найден"
|
1217 |
-
|
1218 |
-
#. Description of the plugin
|
1219 |
-
msgid ""
|
1220 |
-
"Optimize images without losing quality, speed up your website load, improve "
|
1221 |
-
"SEO and save money on server and CDN bandwidth."
|
1222 |
-
msgstr ""
|
1223 |
-
|
1224 |
-
#. URI of the plugin
|
1225 |
-
msgid "https://wordpress.org/plugins/robin-image-optimizer/"
|
1226 |
-
msgstr ""
|
1227 |
-
|
1228 |
-
#. Author of the plugin
|
1229 |
-
msgid "Webcraftic <wordpress.webraftic@gmail.com>"
|
1230 |
-
msgstr ""
|
1231 |
-
|
1232 |
-
#. Author URI of the plugin
|
1233 |
-
msgid "https://robinoptimizer.com"
|
1234 |
-
msgstr ""
|
1 |
+
#
|
2 |
+
# Alexander Parfilov <alexparfilov@gmail.com>, 2018.
|
3 |
+
#
|
4 |
+
msgid ""
|
5 |
+
msgstr ""
|
6 |
+
"Project-Id-Version: Image optimizer\n"
|
7 |
+
"Report-Msgid-Bugs-To: \n"
|
8 |
+
"POT-Creation-Date: 2020-11-06 11:32+0400\n"
|
9 |
+
"PO-Revision-Date: 2020-11-06 11:33+0400\n"
|
10 |
+
"Last-Translator: Alexander <g.a.androidjc2@ya.ru>\n"
|
11 |
+
"Language-Team: Русский\n"
|
12 |
+
"Language: ru_RU\n"
|
13 |
+
"MIME-Version: 1.0\n"
|
14 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
+
"Content-Transfer-Encoding: 8bit\n"
|
16 |
+
"X-Generator: Poedit 2.3.1\n"
|
17 |
+
"X-Poedit-Basepath: ..\n"
|
18 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
19 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
20 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
22 |
+
"X-Loco-Version: 2.4.0; wp-5.4.2\n"
|
23 |
+
"X-Poedit-SearchPath-0: .\n"
|
24 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
25 |
+
"X-Poedit-SearchPathExcluded-1: .git\n"
|
26 |
+
|
27 |
+
#: admin/ajax/bulk-optimization.php:123
|
28 |
+
msgid ""
|
29 |
+
"Unknown error. Enable error log on the plugin's settings page, then check "
|
30 |
+
"the error report on the Error Log page. You can export the error report and "
|
31 |
+
"send it to the support service of the plugin."
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: admin/ajax/bulk-optimization.php:218
|
35 |
+
msgid "Server name is empty!"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#: admin/ajax/meta-migrations.php:152
|
39 |
+
#, php-format
|
40 |
+
msgid "left to migrate: %s items"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: admin/ajax/meta-migrations.php:163
|
44 |
+
msgid "Finishing-up..."
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
#: admin/boot.php:229
|
48 |
+
msgid "ROBIN IMAGE OPTIMIZER PRO"
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
#: admin/boot.php:245
|
52 |
+
msgid "Automatic convertation in Webp"
|
53 |
+
msgstr ""
|
54 |
+
|
55 |
+
#: admin/boot.php:246
|
56 |
+
msgid "You can optimize custom folders"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: admin/boot.php:247
|
60 |
+
msgid "Support Nextgen gallery"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
#: admin/boot.php:248
|
64 |
+
msgid "Multisite support"
|
65 |
+
msgstr ""
|
66 |
+
|
67 |
+
#: admin/boot.php:249
|
68 |
+
msgid "Fast optimization servers"
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: admin/boot.php:250
|
72 |
+
msgid "No ads"
|
73 |
+
msgstr ""
|
74 |
+
|
75 |
+
#: admin/boot.php:251
|
76 |
+
msgid "Best support"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: admin/boot.php:274
|
80 |
+
#, php-format
|
81 |
+
msgid ""
|
82 |
+
"<a href=\"%s\">License activation</a> required. A license is required to get "
|
83 |
+
"premium plugin updates, as well as to get additional services."
|
84 |
+
msgstr ""
|
85 |
+
|
86 |
+
#: admin/boot.php:276
|
87 |
+
#, php-format
|
88 |
+
msgid ""
|
89 |
+
"Your <a href=\"%s\">license</a> has expired. You can no longer get premium "
|
90 |
+
"plugin updates, premium support and your access to Webcraftic services has "
|
91 |
+
"been suspended."
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: admin/boot.php:303 admin/boot.php:343
|
95 |
+
msgid "The remainder of the quota is coming to an end. Remained credits: "
|
96 |
+
msgstr "Остаток квоты подходит к концу. Кредитов осталось: "
|
97 |
+
|
98 |
+
#: admin/includes/classes/class-rio-nextgen-landing.php:38
|
99 |
+
#: admin/includes/classes/class-rio-nextgen-landing.php:39
|
100 |
+
#: admin/pages/class-rio-log.php:64 admin/pages/class-rio-statistic.php:120
|
101 |
+
msgid "Image optimizer"
|
102 |
+
msgstr "Оптим. изображений"
|
103 |
+
|
104 |
+
#: admin/includes/classes/class-rio-optimize-template.php:123
|
105 |
+
msgid "New Filesize:"
|
106 |
+
msgstr "Новый размер:"
|
107 |
+
|
108 |
+
#: admin/includes/classes/class-rio-optimize-template.php:126
|
109 |
+
msgid "Original Saving:"
|
110 |
+
msgstr "Сжатие:"
|
111 |
+
|
112 |
+
#: admin/includes/classes/class-rio-optimize-template.php:132
|
113 |
+
msgid "Original Filesize:"
|
114 |
+
msgstr "Размер оригинала:"
|
115 |
+
|
116 |
+
#: admin/includes/classes/class-rio-optimize-template.php:135
|
117 |
+
msgid "Level:"
|
118 |
+
msgstr "Уровень:"
|
119 |
+
|
120 |
+
#: admin/includes/classes/class-rio-optimize-template.php:141
|
121 |
+
#: admin/pages/class-rio-settings.php:159
|
122 |
+
msgid "Custom"
|
123 |
+
msgstr ""
|
124 |
+
|
125 |
+
#: admin/includes/classes/class-rio-optimize-template.php:145
|
126 |
+
#: admin/includes/classes/class-rio-optimize-template.php:177
|
127 |
+
msgid "lossless"
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
#: admin/includes/classes/class-rio-optimize-template.php:147
|
131 |
+
#: admin/includes/classes/class-rio-optimize-template.php:187
|
132 |
+
msgid "lossy"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: admin/includes/classes/class-rio-optimize-template.php:149
|
136 |
+
#: admin/includes/classes/class-rio-optimize-template.php:197
|
137 |
+
#: admin/pages/class-rio-settings.php:149
|
138 |
+
msgid "High"
|
139 |
+
msgstr "Высокий"
|
140 |
+
|
141 |
+
#: admin/includes/classes/class-rio-optimize-template.php:157
|
142 |
+
msgid "Thumbnails Optimized:"
|
143 |
+
msgstr "Оптимизированные миниатюры:"
|
144 |
+
|
145 |
+
#: admin/includes/classes/class-rio-optimize-template.php:161
|
146 |
+
msgid "Overall Saving:"
|
147 |
+
msgstr "Общее сохранение:"
|
148 |
+
|
149 |
+
#: admin/includes/classes/class-rio-optimize-template.php:166
|
150 |
+
msgid "Error Message:"
|
151 |
+
msgstr "Сообщение об ошибке:"
|
152 |
+
|
153 |
+
#: admin/includes/classes/class-rio-optimize-template.php:175
|
154 |
+
#: admin/includes/classes/class-rio-optimize-template.php:185
|
155 |
+
#: admin/includes/classes/class-rio-optimize-template.php:195
|
156 |
+
#: admin/includes/classes/class-rio-optimize-template.php:217
|
157 |
+
msgid "Optimization in progress"
|
158 |
+
msgstr "Выполняется оптимизация"
|
159 |
+
|
160 |
+
#: admin/includes/classes/class-rio-optimize-template.php:177
|
161 |
+
#: admin/includes/classes/class-rio-optimize-template.php:187
|
162 |
+
#: admin/includes/classes/class-rio-optimize-template.php:197
|
163 |
+
msgid "Re-Optimize to"
|
164 |
+
msgstr "Пережать в"
|
165 |
+
|
166 |
+
#: admin/includes/classes/class-rio-optimize-template.php:205
|
167 |
+
msgid "Recovery in progress"
|
168 |
+
msgstr "Восстанавливается"
|
169 |
+
|
170 |
+
#: admin/includes/classes/class-rio-optimize-template.php:206
|
171 |
+
msgid "Restore original"
|
172 |
+
msgstr "Восстановить оригинал"
|
173 |
+
|
174 |
+
#: admin/includes/classes/class-rio-optimize-template.php:219
|
175 |
+
msgid "Optimize"
|
176 |
+
msgstr "Оптимизировать"
|
177 |
+
|
178 |
+
#: admin/includes/sidebar-widgets.php:24
|
179 |
+
msgid "Activate Robin image optimizer pro"
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: admin/includes/sidebar-widgets.php:27
|
183 |
+
msgid ""
|
184 |
+
"<b>Clearfy Business</b> is a paid package of components for the popular free "
|
185 |
+
"WordPress plugin named Clearfy. You get access to all paid components at one "
|
186 |
+
"price."
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
#: admin/includes/sidebar-widgets.php:28
|
190 |
+
msgid ""
|
191 |
+
"Paid license guarantees that you can download and update existing and future "
|
192 |
+
"paid components of the plugin."
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: admin/includes/sidebar-widgets.php:31
|
196 |
+
#, php-format
|
197 |
+
msgid "Upgrade to Clearfy Business for $%s"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
#: admin/includes/sidebar-widgets.php:60
|
201 |
+
msgid "Having Issues?"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: admin/includes/sidebar-widgets.php:63
|
205 |
+
msgid ""
|
206 |
+
"We provide free support for this plugin. If you are pushed with a problem, "
|
207 |
+
"just create a new ticket. We will definitely help you!"
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
#: admin/includes/sidebar-widgets.php:67
|
211 |
+
msgid "Get starting free support"
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: admin/includes/sidebar-widgets.php:71
|
215 |
+
#, php-format
|
216 |
+
msgid ""
|
217 |
+
"If you find a php error or a vulnerability in plugin, you can <a href=\"%s\" "
|
218 |
+
"target=\"_blank\" rel=\"noopener\">create ticket</a> in hot support that we "
|
219 |
+
"responded instantly."
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
#: admin/pages/class-rio-license.php:49 views/clearfy-component-card.php:37
|
223 |
+
msgid "License"
|
224 |
+
msgstr ""
|
225 |
+
|
226 |
+
#: admin/pages/class-rio-license.php:50
|
227 |
+
msgid "Product activation"
|
228 |
+
msgstr ""
|
229 |
+
|
230 |
+
#: admin/pages/class-rio-license.php:52
|
231 |
+
msgid "Robin image optimizer Premium"
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
#: admin/pages/class-rio-license.php:83
|
235 |
+
#, fuzzy, php-format
|
236 |
+
#| msgid "Image optimizer"
|
237 |
+
msgid "Robin image optimizer [%s]"
|
238 |
+
msgstr "Оптим. изображений"
|
239 |
+
|
240 |
+
#: admin/pages/class-rio-license.php:90
|
241 |
+
msgid "of"
|
242 |
+
msgstr ""
|
243 |
+
|
244 |
+
#: admin/pages/class-rio-license.php:91
|
245 |
+
#, php-format
|
246 |
+
msgid "Automatic renewal, every %s"
|
247 |
+
msgstr ""
|
248 |
+
|
249 |
+
#: admin/pages/class-rio-license.php:94
|
250 |
+
msgid ""
|
251 |
+
"Public License is a GPLv3 compatible license allowing you to change and use "
|
252 |
+
"this version of the plugin for free. Please keep in mind this license covers "
|
253 |
+
"only free edition of the plugin. Premium versions are distributed with other "
|
254 |
+
"type of a license."
|
255 |
+
msgstr ""
|
256 |
+
|
257 |
+
#: admin/pages/class-rio-log.php:37 admin/pages/class-rio-log.php:64
|
258 |
+
#: admin/pages/class-rio-log.php:73 admin/pages/class-rio-settings.php:219
|
259 |
+
msgid "Error Log"
|
260 |
+
msgstr "Журнал ошибок"
|
261 |
+
|
262 |
+
#: admin/pages/class-rio-log.php:38
|
263 |
+
msgid "Plugin debug report"
|
264 |
+
msgstr ""
|
265 |
+
|
266 |
+
#: admin/pages/class-rio-log.php:75
|
267 |
+
msgid ""
|
268 |
+
"In this section, you can track image optimization errors. Sending this log "
|
269 |
+
"to us, will help in solving possible optimization issues."
|
270 |
+
msgstr ""
|
271 |
+
"В этом разделе вы можете отследить ошибки оптимизации изображений. Отправка "
|
272 |
+
"этого лога нам, поможет в решении возможных проблем с оптимизацией."
|
273 |
+
|
274 |
+
#: admin/pages/class-rio-log.php:81
|
275 |
+
msgid "Export Debug Information"
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: admin/pages/class-rio-log.php:85
|
279 |
+
#, php-format
|
280 |
+
msgid "Clean-up Logs (<span id=\"wbcr-log-size\">%s</span>)"
|
281 |
+
msgstr ""
|
282 |
+
|
283 |
+
#: admin/pages/class-rio-settings.php:36
|
284 |
+
msgid "Settings"
|
285 |
+
msgstr ""
|
286 |
+
|
287 |
+
#: admin/pages/class-rio-settings.php:37
|
288 |
+
msgid "Plugin configuration"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: admin/pages/class-rio-settings.php:76
|
292 |
+
msgid "Folder wp-content/uploads/ is unavailable for writing"
|
293 |
+
msgstr "Папка wp-content/uploads/ недоступна для записи"
|
294 |
+
|
295 |
+
#: admin/pages/class-rio-settings.php:81
|
296 |
+
msgid "Folder wp-content/uploads/wio-backup/ is unavailable for writing"
|
297 |
+
msgstr "Папка wp-content/uploads/wio-backup/ недоступна для записи"
|
298 |
+
|
299 |
+
#: admin/pages/class-rio-settings.php:85
|
300 |
+
msgid "Cron is disabled in wp-config.php"
|
301 |
+
msgstr "Cron отключен в wp-config.php"
|
302 |
+
|
303 |
+
#: admin/pages/class-rio-settings.php:102
|
304 |
+
msgid "Main Settings"
|
305 |
+
msgstr "Основные настройки"
|
306 |
+
|
307 |
+
#: admin/pages/class-rio-settings.php:102
|
308 |
+
msgid "This section you can set main images optimization settings."
|
309 |
+
msgstr ""
|
310 |
+
"В этом разделе вы можете настроить основные параметры оптимизации "
|
311 |
+
"изображений."
|
312 |
+
|
313 |
+
#: admin/pages/class-rio-settings.php:108
|
314 |
+
msgid "Optimization server"
|
315 |
+
msgstr "Сервер оптимизации"
|
316 |
+
|
317 |
+
#: admin/pages/class-rio-settings.php:112
|
318 |
+
#: views/part-bulk-optimization-servers.php:21
|
319 |
+
msgid "Server 1 - image size limit up to 5 MB"
|
320 |
+
msgstr ""
|
321 |
+
|
322 |
+
#: admin/pages/class-rio-settings.php:117
|
323 |
+
#: views/part-bulk-optimization-servers.php:24
|
324 |
+
msgid "Server 2 - beta"
|
325 |
+
msgstr ""
|
326 |
+
|
327 |
+
#: admin/pages/class-rio-settings.php:122
|
328 |
+
#: views/part-bulk-optimization-servers.php:27
|
329 |
+
msgid "Premium - no limits"
|
330 |
+
msgstr ""
|
331 |
+
|
332 |
+
#: admin/pages/class-rio-settings.php:126
|
333 |
+
msgid ""
|
334 |
+
"We use several free servers for image optimization and can’t fully guarantee "
|
335 |
+
"their stable performance. The server can be not available in some countries "
|
336 |
+
"due to the political reasons. There is a solution: if one of the servers is "
|
337 |
+
"not available or can’t optimize the image, you can try to switch to the "
|
338 |
+
"alternative server. Each server has individual limitations for image weight "
|
339 |
+
"and optimization level. By default, you have the best server with minimum "
|
340 |
+
"limitations."
|
341 |
+
msgstr ""
|
342 |
+
"Мы используем несколько бесплатных серверов для оптимизации изображений и не "
|
343 |
+
"можем полностью гарантировать их работу. В некоторых странах сервер может "
|
344 |
+
"быть недоступен из-за политических причин. Мы предусмотрели несколько "
|
345 |
+
"вариантов, в случае если один из серверов недоступен или не может "
|
346 |
+
"оптимизировать изображения, вы можете попробовать переключиться на "
|
347 |
+
"альтернативный сервер. Каждый сервер имеет индивидуальные ограничения на вес "
|
348 |
+
"оптимизированных изображений и на уровень оптимизации. По умолчанию всегда "
|
349 |
+
"установлен самый лучший сервер с наименьшими ограничениями."
|
350 |
+
|
351 |
+
#: admin/pages/class-rio-settings.php:135
|
352 |
+
msgid "Compression mode"
|
353 |
+
msgstr "Режим сжатия"
|
354 |
+
|
355 |
+
#: admin/pages/class-rio-settings.php:139
|
356 |
+
msgid "Lossless"
|
357 |
+
msgstr ""
|
358 |
+
|
359 |
+
#: admin/pages/class-rio-settings.php:140
|
360 |
+
msgid ""
|
361 |
+
"This mode provides lossless compression and your images will be optimized "
|
362 |
+
"without visible changes. If you want an ideal image quality, we recommend "
|
363 |
+
"this mode. The size of the files will be reduced approximately 2 times. If "
|
364 |
+
"this is not enough for you, try other modes."
|
365 |
+
msgstr ""
|
366 |
+
"Этот режим обеспечивает сжатие без потерь и ваши изображения будут "
|
367 |
+
"оптимизированы без видимых изменений. Если вы хотите идеальное качество "
|
368 |
+
"изображений, мы рекомендуем этот режим. Размер фалов уменьшится "
|
369 |
+
"приблизительно в 2 раза. Если вам этого недостаточно, попробуйте другие "
|
370 |
+
"режимы."
|
371 |
+
|
372 |
+
#: admin/pages/class-rio-settings.php:144
|
373 |
+
msgid "Lossy"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: admin/pages/class-rio-settings.php:145
|
377 |
+
msgid ""
|
378 |
+
"This mode provides an ideal optimization of your images without significant "
|
379 |
+
"quality loss. The file size will be reduced approximately 5 times with a "
|
380 |
+
"slight decrease in image quality. In most cases that cannot be seen with the "
|
381 |
+
"naked eye."
|
382 |
+
msgstr ""
|
383 |
+
"Этот режим обеспечивает идеальную оптимизацию ваших изображений без "
|
384 |
+
"существенных потерь качества. Размер файлов уменьшиться приблизительно в 5 "
|
385 |
+
"раз при незначительном снижении качества изображений. Чаще всего, "
|
386 |
+
"невооружённым взглядом это даже не заметно."
|
387 |
+
|
388 |
+
#: admin/pages/class-rio-settings.php:150
|
389 |
+
msgid ""
|
390 |
+
"This mode will use all available optimization methods for maximum image "
|
391 |
+
"compression. The file size will be reduced approximately 7 times. The "
|
392 |
+
"quality of some images may deteriorate slightly. Use this mode if you need "
|
393 |
+
"the maximum weight reduction, and you are ready to accept the loss of image "
|
394 |
+
"quality."
|
395 |
+
msgstr ""
|
396 |
+
"Этот режим будет использовать все доступные методы оптимизации для "
|
397 |
+
"максимального сжатия изображения. Размер файлов уменьшится приблизительно в "
|
398 |
+
"7 раз. Качество некоторых изображений может немного ухудшиться. Используйте "
|
399 |
+
"этот режим, если вам требуется максимальное снижение веса, и вы готовы "
|
400 |
+
"смириться с потерей качества изображений."
|
401 |
+
|
402 |
+
#: admin/pages/class-rio-settings.php:154
|
403 |
+
msgid "G PageSpeed"
|
404 |
+
msgstr ""
|
405 |
+
|
406 |
+
#: admin/pages/class-rio-settings.php:155
|
407 |
+
msgid "This mode uses the optimal settings for Google Page Speed"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: admin/pages/class-rio-settings.php:160
|
411 |
+
msgid "This mode allows you to configure your own compression ratio."
|
412 |
+
msgstr "Этот режим позволяет настроить собственную степень сжатия."
|
413 |
+
|
414 |
+
#: admin/pages/class-rio-settings.php:164
|
415 |
+
msgid "Select the compression mode appropriate for your case."
|
416 |
+
msgstr "Выберите режим сжатия, подходящий для вашей ситуации."
|
417 |
+
|
418 |
+
#: admin/pages/class-rio-settings.php:186
|
419 |
+
msgid "Enter custom quality"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: admin/pages/class-rio-settings.php:188
|
423 |
+
msgid "custom quality 1-100"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: admin/pages/class-rio-settings.php:197
|
427 |
+
msgid "Auto optimization on upload"
|
428 |
+
msgstr "Автоматическая оптимизация изображений при загрузке"
|
429 |
+
|
430 |
+
#: admin/pages/class-rio-settings.php:199
|
431 |
+
msgid ""
|
432 |
+
"Automatically compress all images that you upload directly to the WordPress "
|
433 |
+
"media library, when editing pages and posts or using themes and plugins."
|
434 |
+
msgstr ""
|
435 |
+
"Автоматическое сжатие всех изображений, которые вы загружаете в "
|
436 |
+
"медиабиблиотеку WordPress напрямую, при редактировании страниц и записей или "
|
437 |
+
"с использованием тем и плагинов."
|
438 |
+
|
439 |
+
#: admin/pages/class-rio-settings.php:208
|
440 |
+
msgid "Backup images"
|
441 |
+
msgstr "Резервное копирование изображений"
|
442 |
+
|
443 |
+
#: admin/pages/class-rio-settings.php:210
|
444 |
+
msgid ""
|
445 |
+
"Before optimizing, all your images will be saved in a separate folder for "
|
446 |
+
"future recovery."
|
447 |
+
msgstr ""
|
448 |
+
"Перед началом оптимизации, все ваши изображения будут сохранены в отдельной "
|
449 |
+
"папке для возможности восстановления в будущем."
|
450 |
+
|
451 |
+
#: admin/pages/class-rio-settings.php:221
|
452 |
+
msgid "Enable error logging. The log will be displayed on a separate tab."
|
453 |
+
msgstr ""
|
454 |
+
"Включить ведение журнала ошибок. Он будет отображаться на отдельной вкладке."
|
455 |
+
|
456 |
+
#: admin/pages/class-rio-settings.php:240
|
457 |
+
msgid "Convert Images to WebP"
|
458 |
+
msgstr ""
|
459 |
+
|
460 |
+
#: admin/pages/class-rio-settings.php:242
|
461 |
+
msgid ""
|
462 |
+
"Convert JPEG & PNG images into WebP format and replace them for browsers "
|
463 |
+
"which support it. Unsupported browsers would be skipped."
|
464 |
+
msgstr ""
|
465 |
+
|
466 |
+
#: admin/pages/class-rio-settings.php:269
|
467 |
+
msgid "Leave EXIF data"
|
468 |
+
msgstr "Оставлять данные EXIF"
|
469 |
+
|
470 |
+
#: admin/pages/class-rio-settings.php:271
|
471 |
+
msgid ""
|
472 |
+
"EXIF is information stored in photos: camera model, shutter speed, exposure "
|
473 |
+
"compensation, ISO, GPS, etc. By default, the plugin removes EXIF extended "
|
474 |
+
"data. If your project is dedicated to photography and you need to display "
|
475 |
+
"this data, then enable this option."
|
476 |
+
msgstr ""
|
477 |
+
"EXIF - это информация, хранящаяся в фотографиях: модель камеры, скорость "
|
478 |
+
"затвора, компенсация экспозиции, ISO, GPS и т. Д. По умолчанию плагин "
|
479 |
+
"удаляет расширенные данные EXIF. Если ваш проект посвящён фотографии и вам "
|
480 |
+
"нужно отображать эти данные, то включите эту опцию."
|
481 |
+
|
482 |
+
#: admin/pages/class-rio-settings.php:279
|
483 |
+
msgid "Use lazy loading for images"
|
484 |
+
msgstr ""
|
485 |
+
|
486 |
+
#: admin/pages/class-rio-settings.php:281
|
487 |
+
msgid "Images will only load when the user has scrolled to them."
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: admin/pages/class-rio-settings.php:287
|
491 |
+
msgid "Optimization"
|
492 |
+
msgstr "Оптимизация"
|
493 |
+
|
494 |
+
#: admin/pages/class-rio-settings.php:287
|
495 |
+
msgid "Here you can specify additional image optimization options."
|
496 |
+
msgstr ""
|
497 |
+
"Здесь вы можете задать дополнительные параметры оптимизации изображений."
|
498 |
+
|
499 |
+
#: admin/pages/class-rio-settings.php:294
|
500 |
+
msgid "Optimization order"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#: admin/pages/class-rio-settings.php:298
|
504 |
+
msgid "Ascending"
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
#: admin/pages/class-rio-settings.php:299
|
508 |
+
msgid "Optimization will start with old images in the media library"
|
509 |
+
msgstr ""
|
510 |
+
|
511 |
+
#: admin/pages/class-rio-settings.php:303
|
512 |
+
msgid "Descending"
|
513 |
+
msgstr ""
|
514 |
+
|
515 |
+
#: admin/pages/class-rio-settings.php:304
|
516 |
+
msgid "Optimization will start with new images in the media library"
|
517 |
+
msgstr ""
|
518 |
+
|
519 |
+
#: admin/pages/class-rio-settings.php:308
|
520 |
+
msgid "Select the optimization order from the media library."
|
521 |
+
msgstr ""
|
522 |
+
|
523 |
+
#: admin/pages/class-rio-settings.php:317
|
524 |
+
msgid "Resizing large images"
|
525 |
+
msgstr "Изменение размера больших изображений"
|
526 |
+
|
527 |
+
#: admin/pages/class-rio-settings.php:319
|
528 |
+
msgid ""
|
529 |
+
"When you upload images from a camera or stock, they may be too high "
|
530 |
+
"resolution and it is not necessary for web. The option allows you to "
|
531 |
+
"automatically change images resolution on upload."
|
532 |
+
msgstr ""
|
533 |
+
"Когда вы закачиваете изображения с камеры или фотостока, они могут быть "
|
534 |
+
"слишком высокого разрешения и для веба это не нужно. Опция позволяет "
|
535 |
+
"автоматически изменять разрешение изображений при загрузке."
|
536 |
+
|
537 |
+
#: admin/pages/class-rio-settings.php:335
|
538 |
+
msgid "Enter the maximum width (px)"
|
539 |
+
msgstr ""
|
540 |
+
|
541 |
+
#: admin/pages/class-rio-settings.php:337
|
542 |
+
#: admin/pages/class-rio-settings.php:347
|
543 |
+
msgid ""
|
544 |
+
"Set the maximum images resolution on the long side. For horizontal images, "
|
545 |
+
"this will be the width, and for vertical images - the height. The resolution "
|
546 |
+
"of the images will be changed proportionally according to the set value."
|
547 |
+
msgstr ""
|
548 |
+
"Задайте максимальное разрешение изображений по длинной стороне. Для "
|
549 |
+
"горизонтальных изображений это будет ширина, а для вертикальных — высота. "
|
550 |
+
"Разрешение изображений будет изменено пропорционально в соответствии с "
|
551 |
+
"заданным значением."
|
552 |
+
|
553 |
+
#: admin/pages/class-rio-settings.php:345
|
554 |
+
msgid "Enter the maximum height (px)"
|
555 |
+
msgstr ""
|
556 |
+
|
557 |
+
#: admin/pages/class-rio-settings.php:355
|
558 |
+
msgid "Optimize formats"
|
559 |
+
msgstr ""
|
560 |
+
|
561 |
+
#: admin/pages/class-rio-settings.php:362
|
562 |
+
msgid ""
|
563 |
+
"Choose which formats of images should be optimized and uncheck those that do "
|
564 |
+
"not need optimization."
|
565 |
+
msgstr ""
|
566 |
+
|
567 |
+
#: admin/pages/class-rio-settings.php:380
|
568 |
+
msgid "Optimize thumbnails"
|
569 |
+
msgstr "Оптимизировать миниатюры"
|
570 |
+
|
571 |
+
#: admin/pages/class-rio-settings.php:383
|
572 |
+
msgid ""
|
573 |
+
"Choose which sizes of thumbnails should be optimized and uncheck those that "
|
574 |
+
"do not need optimization."
|
575 |
+
msgstr ""
|
576 |
+
"Выберите какие размеры миниатюр следует оптимизировать и снимите галочки с "
|
577 |
+
"тех, оптимизация которых не нужна."
|
578 |
+
|
579 |
+
#: admin/pages/class-rio-settings.php:462
|
580 |
+
msgid "Manage backups"
|
581 |
+
msgstr "Управление резервными копиями"
|
582 |
+
|
583 |
+
#: admin/pages/class-rio-settings.php:465
|
584 |
+
msgid "You can restore the original images from a backup or clear them."
|
585 |
+
msgstr ""
|
586 |
+
"Вы можете восстановить оригинальные изображения из резервной копии или "
|
587 |
+
"очистить их."
|
588 |
+
|
589 |
+
#: admin/pages/class-rio-settings.php:474
|
590 |
+
msgid "Are you sure?"
|
591 |
+
msgstr "Вы уверены?"
|
592 |
+
|
593 |
+
#: admin/pages/class-rio-settings.php:475
|
594 |
+
msgid "Restore"
|
595 |
+
msgstr "Восстановить"
|
596 |
+
|
597 |
+
#: admin/pages/class-rio-settings.php:477
|
598 |
+
msgid "Are you sure that you want to clear image backups folder?"
|
599 |
+
msgstr ""
|
600 |
+
"Вы действительно хотите очистить папку с резервными копиями изображений?"
|
601 |
+
|
602 |
+
#: admin/pages/class-rio-settings.php:478
|
603 |
+
msgid "Clear Backup"
|
604 |
+
msgstr "Очистить резервные копии"
|
605 |
+
|
606 |
+
#: admin/pages/class-rio-settings.php:531
|
607 |
+
msgid "Restore completed."
|
608 |
+
msgstr "Восстановление завершено."
|
609 |
+
|
610 |
+
#: admin/pages/class-rio-settings.php:533
|
611 |
+
msgid "The backup folder was cleared."
|
612 |
+
msgstr "Папка с резервными копиями очищена."
|
613 |
+
|
614 |
+
#: admin/pages/class-rio-statistic.php:70
|
615 |
+
#: admin/pages/class-rio-statistic.php:113 views/clearfy-component-card.php:24
|
616 |
+
msgid "Robin image optimizer"
|
617 |
+
msgstr ""
|
618 |
+
|
619 |
+
#: admin/pages/class-rio-statistic.php:71
|
620 |
+
msgid "Compress bulk of images"
|
621 |
+
msgstr ""
|
622 |
+
|
623 |
+
#: admin/pages/class-rio-statistic.php:113
|
624 |
+
#: includes/classes/class-rio-media-library.php:483
|
625 |
+
msgid "Robin Image Optimizer"
|
626 |
+
msgstr ""
|
627 |
+
|
628 |
+
#: admin/pages/class-rio-statistic.php:120
|
629 |
+
msgid "Bulk optimization"
|
630 |
+
msgstr ""
|
631 |
+
|
632 |
+
#: admin/pages/class-rio-statistic.php:196
|
633 |
+
msgid "Image optimization dashboard"
|
634 |
+
msgstr "Панель управления оптимизацией изображений"
|
635 |
+
|
636 |
+
#: admin/pages/class-rio-statistic.php:197
|
637 |
+
msgid ""
|
638 |
+
"Monitor image optimization statistics and run on demand or scheduled "
|
639 |
+
"optimization."
|
640 |
+
msgstr ""
|
641 |
+
"Отслеживайте статистику оптимизации изображений и запускайте оптимизацию по "
|
642 |
+
"требованию или по расписанию."
|
643 |
+
|
644 |
+
#: admin/pages/class-rio-statistic.php:243
|
645 |
+
msgid ""
|
646 |
+
"You cannot use the premium server on a free plan. You must activate the "
|
647 |
+
"license to use all the features of the premium version."
|
648 |
+
msgstr ""
|
649 |
+
|
650 |
+
#: admin/pages/class-rio-statistic.php:244
|
651 |
+
msgid ""
|
652 |
+
"Your selected optimization server is down. This means that you cannot "
|
653 |
+
"optimize images through this server. Try selecting another optimization "
|
654 |
+
"server."
|
655 |
+
msgstr ""
|
656 |
+
|
657 |
+
#: admin/pages/class-rio-statistic.php:245
|
658 |
+
msgid "down"
|
659 |
+
msgstr ""
|
660 |
+
|
661 |
+
#: admin/pages/class-rio-statistic.php:246
|
662 |
+
msgid "stable"
|
663 |
+
msgstr ""
|
664 |
+
|
665 |
+
#: admin/pages/class-rio-statistic.php:247
|
666 |
+
#: views/part-bulk-optimization-log.php:139
|
667 |
+
#: views/part-bulk-optimization-statistic.php:50
|
668 |
+
msgid "Error"
|
669 |
+
msgstr "Ошибка"
|
670 |
+
|
671 |
+
#: admin/pages/class-rio-statistic.php:248
|
672 |
+
msgid "Cancel"
|
673 |
+
msgstr ""
|
674 |
+
|
675 |
+
#: admin/pages/class-rio-statistic.php:249
|
676 |
+
msgid "Confirm"
|
677 |
+
msgstr ""
|
678 |
+
|
679 |
+
#: admin/pages/class-rio-statistic.php:250
|
680 |
+
msgid "Select optimization way"
|
681 |
+
msgstr ""
|
682 |
+
|
683 |
+
#: admin/pages/class-rio-statistic.php:251
|
684 |
+
msgid "Optimize now"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: admin/pages/class-rio-statistic.php:252
|
688 |
+
#: includes/classes/class-rio-cron.php:46
|
689 |
+
msgid "Scheduled optimization"
|
690 |
+
msgstr ""
|
691 |
+
|
692 |
+
#: admin/pages/class-rio-statistic.php:253
|
693 |
+
msgid ""
|
694 |
+
"To start optimizing, you must complete migration from old plugin version."
|
695 |
+
msgstr ""
|
696 |
+
|
697 |
+
#: admin/pages/class-rio-statistic.php:254
|
698 |
+
msgid "All images from the media library are optimized."
|
699 |
+
msgstr "Все изображения из медиабиблиотеки оптимизированы."
|
700 |
+
|
701 |
+
#: admin/pages/class-rio-statistic.php:255
|
702 |
+
#, php-format
|
703 |
+
msgid ""
|
704 |
+
"Optimization in progress. Remained <span id=\"wio-total-unoptimized\">%s</"
|
705 |
+
"span> images."
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: admin/pages/class-rio-statistic.php:256
|
709 |
+
msgid ""
|
710 |
+
"Are you sure that you want to leave the page? The optimization process is "
|
711 |
+
"not over yet, stay on the page until the end of the optimization process."
|
712 |
+
msgstr ""
|
713 |
+
|
714 |
+
#: admin/pages/class-rio-statistic.php:257
|
715 |
+
msgid "Do you want to start optimization without backup?"
|
716 |
+
msgstr "Вы хотите начать оптимизацию без возможности восстановления?"
|
717 |
+
|
718 |
+
#: admin/pages/class-rio-statistic.php:258
|
719 |
+
msgid "Resume"
|
720 |
+
msgstr "Возобновить"
|
721 |
+
|
722 |
+
#: admin/pages/class-rio-statistic.php:259
|
723 |
+
msgid "Completed"
|
724 |
+
msgstr ""
|
725 |
+
|
726 |
+
#: admin/pages/class-rio-statistic.php:260
|
727 |
+
#: views/part-bulk-optimization-button.php:20
|
728 |
+
#: views/part-bulk-optimization-button.php:27
|
729 |
+
msgid "Run"
|
730 |
+
msgstr "Запустить"
|
731 |
+
|
732 |
+
#: admin/pages/class-rio-statistic.php:261
|
733 |
+
msgid "Stop"
|
734 |
+
msgstr "Остановить"
|
735 |
+
|
736 |
+
#: admin/pages/class-rio-statistic.php:262
|
737 |
+
#: views/part-bulk-optimization-button.php:25
|
738 |
+
msgid "Stop shedule optimization"
|
739 |
+
msgstr ""
|
740 |
+
|
741 |
+
#: includes/classes/class-rio-attachment.php:251
|
742 |
+
msgid "Attachment cannot be optimized."
|
743 |
+
msgstr ""
|
744 |
+
|
745 |
+
#: includes/classes/class-rio-attachment.php:254
|
746 |
+
#, php-format
|
747 |
+
msgid "Attachment #%d doesn't have metadata, the image may be damaged."
|
748 |
+
msgstr ""
|
749 |
+
|
750 |
+
#: includes/classes/class-rio-attachment.php:256
|
751 |
+
#, php-format
|
752 |
+
msgid "File \"(%s)\" doesn't exist"
|
753 |
+
msgstr ""
|
754 |
+
|
755 |
+
#: includes/classes/class-rio-backup.php:321
|
756 |
+
msgid "Could not copy the file to the temporary directory"
|
757 |
+
msgstr ""
|
758 |
+
|
759 |
+
#: includes/classes/class-rio-backup.php:334
|
760 |
+
msgid ""
|
761 |
+
"It is not possible to create a temporary file, the backup folder is not "
|
762 |
+
"writable."
|
763 |
+
msgstr ""
|
764 |
+
|
765 |
+
#: includes/classes/class-rio-cron.php:46
|
766 |
+
msgid "Schedule your images optimization."
|
767 |
+
msgstr ""
|
768 |
+
|
769 |
+
#: includes/classes/class-rio-cron.php:53
|
770 |
+
#: includes/classes/class-rio-cron.php:94
|
771 |
+
msgid "1 min"
|
772 |
+
msgstr ""
|
773 |
+
|
774 |
+
#: includes/classes/class-rio-cron.php:54
|
775 |
+
#: includes/classes/class-rio-cron.php:98
|
776 |
+
msgid "2 min"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#: includes/classes/class-rio-cron.php:55
|
780 |
+
#: includes/classes/class-rio-cron.php:102
|
781 |
+
msgid "5 min"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: includes/classes/class-rio-cron.php:56
|
785 |
+
#: includes/classes/class-rio-cron.php:106
|
786 |
+
msgid "10 min"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: includes/classes/class-rio-cron.php:57
|
790 |
+
#: includes/classes/class-rio-cron.php:110
|
791 |
+
msgid "30 min"
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: includes/classes/class-rio-cron.php:58
|
795 |
+
msgid "Hour"
|
796 |
+
msgstr ""
|
797 |
+
|
798 |
+
#: includes/classes/class-rio-cron.php:59
|
799 |
+
msgid "Day"
|
800 |
+
msgstr ""
|
801 |
+
|
802 |
+
#: includes/classes/class-rio-cron.php:62
|
803 |
+
msgid "Run every"
|
804 |
+
msgstr ""
|
805 |
+
|
806 |
+
#: includes/classes/class-rio-cron.php:63
|
807 |
+
msgid "Select time at which the task will be repeated."
|
808 |
+
msgstr ""
|
809 |
+
|
810 |
+
#: includes/classes/class-rio-cron.php:69
|
811 |
+
msgid "Images per iteration"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: includes/classes/class-rio-cron.php:71
|
815 |
+
msgid ""
|
816 |
+
"Specify the number of images that will be optimized during the job. For "
|
817 |
+
"example, if you enter 5 and select 5 min, the plugin will optimize 5 images "
|
818 |
+
"every 5 minutes."
|
819 |
+
msgstr ""
|
820 |
+
|
821 |
+
#: includes/classes/class-rio-cron.php:114
|
822 |
+
msgid "60 min"
|
823 |
+
msgstr ""
|
824 |
+
|
825 |
+
#: includes/classes/class-rio-cron.php:118
|
826 |
+
msgid "daily"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: includes/classes/class-rio-image-statistic.php:364
|
830 |
+
msgid "Unknown error"
|
831 |
+
msgstr ""
|
832 |
+
|
833 |
+
#: includes/classes/class-rio-media-library.php:253
|
834 |
+
#: includes/classes/class-rio-media-library.php:257
|
835 |
+
msgid "No access for writing backups."
|
836 |
+
msgstr "Нет доступа для записи резервных копий."
|
837 |
+
|
838 |
+
#: includes/functions.php:475
|
839 |
+
#, php-format
|
840 |
+
msgid ""
|
841 |
+
"There were big changes in database schema. Please <a href=\"#\" id=\"wbcr-"
|
842 |
+
"wio-meta-migration-action\" class=\"button button-default\" data-nonce=\"%s"
|
843 |
+
"\">click here</a> to upgrade it to the latest version"
|
844 |
+
msgstr ""
|
845 |
+
|
846 |
+
#: robin-image-optimizer.php:33
|
847 |
+
msgid "Webcraftic Robin image optimizer"
|
848 |
+
msgstr ""
|
849 |
+
|
850 |
+
#: views/clearfy-component-card.php:30
|
851 |
+
msgid ""
|
852 |
+
"Automatic image optimization without any quality loss. No limitations, no "
|
853 |
+
"paid plans. The best Wordpress image optimization plugin allows optimizing "
|
854 |
+
"any amount of images for free!"
|
855 |
+
msgstr ""
|
856 |
+
|
857 |
+
#: views/modal-bulk-optimization.php:2
|
858 |
+
msgid "What you need to know before starting optimization."
|
859 |
+
msgstr ""
|
860 |
+
|
861 |
+
#: views/modal-bulk-optimization.php:15
|
862 |
+
msgid ""
|
863 |
+
"If you choose to optimize now, you should keep this page open until a bulk "
|
864 |
+
"optimization is performed. If you leave, the optimization process will stop "
|
865 |
+
"and you will need to run it again.."
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: views/modal-bulk-optimization.php:26
|
869 |
+
msgid ""
|
870 |
+
"If you choose to a scheduled optimization, you can leave this page or close "
|
871 |
+
"the browser. A plugin without your participation will optimize images via "
|
872 |
+
"cron until it optimizes them all. This optimization method is slower than "
|
873 |
+
"its alternative, but you don’t have to waste your time on manual "
|
874 |
+
"optimization."
|
875 |
+
msgstr ""
|
876 |
+
|
877 |
+
#: views/modal-bulk-optimization.php:37
|
878 |
+
msgid ""
|
879 |
+
"Remember that the optimization of a large number of images may take some "
|
880 |
+
"time depending on your server and network speed."
|
881 |
+
msgstr ""
|
882 |
+
|
883 |
+
#: views/part-bulk-optimization-log.php:104
|
884 |
+
msgid "Optimization log"
|
885 |
+
msgstr ""
|
886 |
+
|
887 |
+
#: views/part-bulk-optimization-log.php:105
|
888 |
+
msgid ""
|
889 |
+
"Optimization log shows the last 100 optimized images. You can check the "
|
890 |
+
"quality of the image by clicking on the file name."
|
891 |
+
msgstr ""
|
892 |
+
|
893 |
+
#: views/part-bulk-optimization-log.php:112
|
894 |
+
msgid "File name"
|
895 |
+
msgstr ""
|
896 |
+
|
897 |
+
#: views/part-bulk-optimization-log.php:113
|
898 |
+
msgid "Inital size"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: views/part-bulk-optimization-log.php:114
|
902 |
+
msgid "Current size"
|
903 |
+
msgstr ""
|
904 |
+
|
905 |
+
#: views/part-bulk-optimization-log.php:115
|
906 |
+
msgid "WebP size"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: views/part-bulk-optimization-log.php:116
|
910 |
+
msgid "Original Saving"
|
911 |
+
msgstr ""
|
912 |
+
|
913 |
+
#: views/part-bulk-optimization-log.php:118
|
914 |
+
msgid "Compressed thumbnails"
|
915 |
+
msgstr ""
|
916 |
+
|
917 |
+
#: views/part-bulk-optimization-log.php:120
|
918 |
+
msgid "Overall Saving"
|
919 |
+
msgstr ""
|
920 |
+
|
921 |
+
#: views/part-bulk-optimization-log.php:126
|
922 |
+
msgid "You don't have optimized images."
|
923 |
+
msgstr ""
|
924 |
+
|
925 |
+
#: views/part-bulk-optimization-log.php:143
|
926 |
+
msgid "Unknown error."
|
927 |
+
msgstr ""
|
928 |
+
|
929 |
+
#: views/part-bulk-optimization-servers.php:13
|
930 |
+
msgid "Select optimization server:"
|
931 |
+
msgstr ""
|
932 |
+
|
933 |
+
#: views/part-bulk-optimization-servers.php:14
|
934 |
+
msgid ""
|
935 |
+
"Please, find the list of available servers for image optimization below. If "
|
936 |
+
"the server has a state “Down”, it means that the server is not available, "
|
937 |
+
"and you should choose another one. “Stable” means that the server is "
|
938 |
+
"available and you can use it."
|
939 |
+
msgstr ""
|
940 |
+
|
941 |
+
#: views/part-bulk-optimization-servers.php:31
|
942 |
+
msgid "Status"
|
943 |
+
msgstr ""
|
944 |
+
|
945 |
+
#: views/part-bulk-optimization-servers.php:35
|
946 |
+
msgid "Credits"
|
947 |
+
msgstr ""
|
948 |
+
|
949 |
+
#: views/part-bulk-optimization-servers.php:36
|
950 |
+
msgid "Only original images are limited. Thumbnails are not limited"
|
951 |
+
msgstr ""
|
952 |
+
|
953 |
+
#: views/part-bulk-optimization-servers.php:39
|
954 |
+
msgid "Next credits update"
|
955 |
+
msgstr ""
|
956 |
+
|
957 |
+
#: views/part-bulk-optimization-servers.php:40
|
958 |
+
msgid "Date when the limit is topped up"
|
959 |
+
msgstr ""
|
960 |
+
|
961 |
+
#: views/part-bulk-optimization-statistic.php:24
|
962 |
+
msgid "You optimized"
|
963 |
+
msgstr "Вы оптимизировали"
|
964 |
+
|
965 |
+
#: views/part-bulk-optimization-statistic.php:28
|
966 |
+
msgid "of your website's images"
|
967 |
+
msgstr "изображений сайта"
|
968 |
+
|
969 |
+
#: views/part-bulk-optimization-statistic.php:36
|
970 |
+
msgid "Unoptimized"
|
971 |
+
msgstr "Не оптимизировано"
|
972 |
+
|
973 |
+
#: views/part-bulk-optimization-statistic.php:43
|
974 |
+
msgid "Optimized"
|
975 |
+
msgstr "Оптимизировано"
|
976 |
+
|
977 |
+
#: views/part-bulk-optimization-statistic.php:57
|
978 |
+
msgid "Statistics"
|
979 |
+
msgstr "Статистика"
|
980 |
+
|
981 |
+
#: views/part-bulk-optimization-statistic.php:59
|
982 |
+
msgid "Original size"
|
983 |
+
msgstr "Оригинальный размер"
|
984 |
+
|
985 |
+
#: views/part-bulk-optimization-statistic.php:67
|
986 |
+
msgid "Optimized size"
|
987 |
+
msgstr "Оптимизированный размер"
|
988 |
+
|
989 |
+
#: views/part-bulk-optimization-statistic.php:83
|
990 |
+
msgid "that's the size you saved <br>by using Image Optimizer"
|
991 |
+
msgstr ""
|
992 |
+
"вы сохранили благодаря<br>\n"
|
993 |
+
"Image Optimizer"
|
994 |
+
|
995 |
+
#: views/part-bulk-optimization-tabs.php:23
|
996 |
+
msgid "Media library"
|
997 |
+
msgstr ""
|
998 |
+
|
999 |
+
#: views/part-bulk-optimization-tabs.php:32
|
1000 |
+
msgid "Custom folders"
|
1001 |
+
msgstr ""
|
1002 |
+
|
1003 |
+
#: views/part-bulk-optimization-tabs.php:42
|
1004 |
+
msgid "Nextgen gallery"
|
1005 |
+
msgstr ""
|
1006 |
+
|
1007 |
+
#: views/part-settings-page-error-log-options.php:13
|
1008 |
+
msgid ""
|
1009 |
+
"Additional logging levels. Enable these options only when the plugin support "
|
1010 |
+
"service asks for it. If you use logging always, it can slow down your site."
|
1011 |
+
msgstr ""
|
1012 |
+
|
1013 |
+
#: views/part-settings-page-error-log-options.php:18
|
1014 |
+
msgid "Keep an error log on frontend"
|
1015 |
+
msgstr ""
|
1016 |
+
|
1017 |
+
#: views/part-settings-page-error-log-options.php:21
|
1018 |
+
msgid ""
|
1019 |
+
"Option enables error logging on frontend. If for some reason webp images are "
|
1020 |
+
"not displayed on the front-end, you can use this option to catch errors and "
|
1021 |
+
"send this report to the plugin support service."
|
1022 |
+
msgstr ""
|
1023 |
+
|
1024 |
+
#~ msgid "images."
|
1025 |
+
#~ msgstr "изображений."
|
1026 |
+
|
1027 |
+
#, fuzzy
|
1028 |
+
#~| msgid "file not found"
|
1029 |
+
#~ msgid "File not found"
|
1030 |
+
#~ msgstr "файл не найден"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/addons/admin/assets/js/custom-folders.js
CHANGED
@@ -86,10 +86,10 @@
|
|
86 |
if( response.data && response.data.error_message ) {
|
87 |
// todo: так как фреймворк не используется в аддоне, нужно доработать этот кусок кода. Он не
|
88 |
// может быть скомпилирован.
|
89 |
-
var noticeId = $.
|
90 |
|
91 |
setTimeout(function() {
|
92 |
-
$.
|
93 |
}, 5000);
|
94 |
}
|
95 |
return;
|
@@ -150,10 +150,10 @@
|
|
150 |
if( response.data && response.data.error_message ) {
|
151 |
// todo: так как фреймворк не используется в аддоне, нужно доработать этот кусок кода. Он не
|
152 |
// может быть скомпилирован.
|
153 |
-
var noticeId = $.
|
154 |
|
155 |
setTimeout(function() {
|
156 |
-
$.
|
157 |
}, 5000);
|
158 |
}
|
159 |
return;
|
86 |
if( response.data && response.data.error_message ) {
|
87 |
// todo: так как фреймворк не используется в аддоне, нужно доработать этот кусок кода. Он не
|
88 |
// может быть скомпилирован.
|
89 |
+
var noticeId = $.wbcr_factory_clearfy_230.app.showNotice(response.data.error_message, 'danger');
|
90 |
|
91 |
setTimeout(function() {
|
92 |
+
$.wbcr_factory_clearfy_230.app.hideNotice(noticeId);
|
93 |
}, 5000);
|
94 |
}
|
95 |
return;
|
150 |
if( response.data && response.data.error_message ) {
|
151 |
// todo: так как фреймворк не используется в аддоне, нужно доработать этот кусок кода. Он не
|
152 |
// может быть скомпилирован.
|
153 |
+
var noticeId = $.wbcr_factory_clearfy_230.app.showNotice(response.data.error_message, 'danger');
|
154 |
|
155 |
setTimeout(function() {
|
156 |
+
$.wbcr_factory_clearfy_230.app.hideNotice(noticeId);
|
157 |
}, 5000);
|
158 |
}
|
159 |
return;
|
libs/addons/admin/boot.php
CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
* Flush configuration after saving the settings
|
21 |
*
|
22 |
* @param WHM_Plugin $plugin
|
23 |
-
* @param
|
24 |
*
|
25 |
* @return bool
|
26 |
*/
|
20 |
* Flush configuration after saving the settings
|
21 |
*
|
22 |
* @param WHM_Plugin $plugin
|
23 |
+
* @param Wbcr_FactoryPages438_ImpressiveThemplate $page
|
24 |
*
|
25 |
* @return bool
|
26 |
*/
|
libs/addons/includes/classes/webp/class-webp-delivery.php
CHANGED
@@ -83,55 +83,55 @@ class Delivery {
|
|
83 |
/**
|
84 |
* Check whether WebP options enabled or not.
|
85 |
*
|
86 |
-
* @
|
87 |
* @since 1.0.4
|
88 |
*
|
89 |
-
* @
|
90 |
*/
|
91 |
public static function is_webp_enabled() {
|
92 |
return (bool) \WRIO_Plugin::app()->getPopulateOption( 'convert_webp_format' );
|
93 |
}
|
94 |
|
95 |
/**
|
96 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
97 |
-
* @since 1.0.4
|
98 |
* @return bool
|
|
|
|
|
99 |
*/
|
100 |
public static function is_redirect_delivery_mode() {
|
101 |
return self::REDIRECT_DELIVERY_MODE === static::get_delivery_mode();
|
102 |
}
|
103 |
|
104 |
/**
|
105 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
106 |
-
* @since 1.0.4
|
107 |
* @return bool
|
|
|
|
|
108 |
*/
|
109 |
public static function is_picture_delivery_mode() {
|
110 |
return self::PICTURE_DELIVERY_MODE === static::get_delivery_mode();
|
111 |
}
|
112 |
|
113 |
/**
|
114 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
115 |
-
* @since 1.0.4
|
116 |
* @return bool
|
|
|
|
|
117 |
*/
|
118 |
public static function is_url_delivery_mode() {
|
119 |
return self::URL_DELIVERY_MODE === static::get_delivery_mode();
|
120 |
}
|
121 |
|
122 |
/**
|
123 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
124 |
-
* @since 1.0.4
|
125 |
* @return bool
|
|
|
|
|
126 |
*/
|
127 |
public static function is_default_delivery_mode() {
|
128 |
return self::DEFAULT_DELIVERY_MODE === static::get_delivery_mode();
|
129 |
}
|
130 |
|
131 |
/**
|
132 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
133 |
-
* @since 1.0.4
|
134 |
* @return string
|
|
|
|
|
135 |
*/
|
136 |
public static function get_delivery_mode() {
|
137 |
$delivery_mode = \WRIO_Plugin::app()->getPopulateOption( 'webp_delivery_mode' );
|
@@ -169,7 +169,7 @@ class Delivery {
|
|
169 |
/**
|
170 |
* Process tags to replace those elements which match converted to WebP within buffer.
|
171 |
*
|
172 |
-
* @param string $content
|
173 |
*
|
174 |
* @return string
|
175 |
*/
|
@@ -177,11 +177,10 @@ class Delivery {
|
|
177 |
$raw_content = $content;
|
178 |
|
179 |
// Don't do anything with the RSS feed.
|
180 |
-
if ( is_feed() || empty( $content ) ) {
|
181 |
//WRIO_Logger::info( "Buffer content is empty, skipping processing" );
|
182 |
return $content;
|
183 |
}
|
184 |
-
|
185 |
if ( static::is_picture_delivery_mode() ) {
|
186 |
if ( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) {
|
187 |
//for AMP pages the <picture> tag is not allowed
|
@@ -191,7 +190,7 @@ class Delivery {
|
|
191 |
require_once WRIOP_PLUGIN_DIR . '/includes/classes/webp/class-webp-html-picture-tags.php';
|
192 |
$content = Picture_Tags::replace( $content );
|
193 |
} else if ( static::is_url_delivery_mode() ) {
|
194 |
-
if(!is_admin()) {
|
195 |
require_once( WRIOP_PLUGIN_DIR . '/includes/classes/webp/class-webp-html-image-urls-replacer.php' );
|
196 |
$content = Urls_Replacer::replace( $content );
|
197 |
}
|
@@ -214,7 +213,7 @@ class Delivery {
|
|
214 |
* Get url for webp
|
215 |
* returns second argument if no webp
|
216 |
*
|
217 |
-
* @param string $source_url
|
218 |
* @param string $return_value_on_fail
|
219 |
*
|
220 |
* @return string
|
@@ -288,12 +287,12 @@ class Delivery {
|
|
288 |
}
|
289 |
|
290 |
/**
|
291 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
292 |
-
* @since 1.4.0
|
293 |
-
*
|
294 |
* @param string $source_url
|
295 |
*
|
296 |
* @return bool
|
|
|
|
|
|
|
297 |
*/
|
298 |
protected static function is_wpmedia_url( $source_url ) {
|
299 |
$upload_dir = wp_get_upload_dir();
|
@@ -310,12 +309,12 @@ class Delivery {
|
|
310 |
}
|
311 |
|
312 |
/**
|
313 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
314 |
-
* @since 1.4.0
|
315 |
-
*
|
316 |
* @param string $source_url
|
317 |
*
|
318 |
* @return bool
|
|
|
|
|
|
|
319 |
*/
|
320 |
protected static function is_support_format( $source_url ) {
|
321 |
if ( ! preg_match( '#(jpe?g|png)$#', $source_url ) ) {
|
@@ -326,12 +325,12 @@ class Delivery {
|
|
326 |
}
|
327 |
|
328 |
/**
|
329 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
330 |
-
* @since 1.4.0
|
331 |
-
*
|
332 |
* @param string $source_url
|
333 |
*
|
334 |
* @return bool
|
|
|
|
|
|
|
335 |
*/
|
336 |
protected static function is_external_url( $source_url ) {
|
337 |
if ( strpos( $source_url, get_site_url() ) === false ) {
|
83 |
/**
|
84 |
* Check whether WebP options enabled or not.
|
85 |
*
|
86 |
+
* @return bool
|
87 |
* @since 1.0.4
|
88 |
*
|
89 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
90 |
*/
|
91 |
public static function is_webp_enabled() {
|
92 |
return (bool) \WRIO_Plugin::app()->getPopulateOption( 'convert_webp_format' );
|
93 |
}
|
94 |
|
95 |
/**
|
|
|
|
|
96 |
* @return bool
|
97 |
+
* @since 1.0.4
|
98 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
99 |
*/
|
100 |
public static function is_redirect_delivery_mode() {
|
101 |
return self::REDIRECT_DELIVERY_MODE === static::get_delivery_mode();
|
102 |
}
|
103 |
|
104 |
/**
|
|
|
|
|
105 |
* @return bool
|
106 |
+
* @since 1.0.4
|
107 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
108 |
*/
|
109 |
public static function is_picture_delivery_mode() {
|
110 |
return self::PICTURE_DELIVERY_MODE === static::get_delivery_mode();
|
111 |
}
|
112 |
|
113 |
/**
|
|
|
|
|
114 |
* @return bool
|
115 |
+
* @since 1.0.4
|
116 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
117 |
*/
|
118 |
public static function is_url_delivery_mode() {
|
119 |
return self::URL_DELIVERY_MODE === static::get_delivery_mode();
|
120 |
}
|
121 |
|
122 |
/**
|
|
|
|
|
123 |
* @return bool
|
124 |
+
* @since 1.0.4
|
125 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
126 |
*/
|
127 |
public static function is_default_delivery_mode() {
|
128 |
return self::DEFAULT_DELIVERY_MODE === static::get_delivery_mode();
|
129 |
}
|
130 |
|
131 |
/**
|
|
|
|
|
132 |
* @return string
|
133 |
+
* @since 1.0.4
|
134 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
135 |
*/
|
136 |
public static function get_delivery_mode() {
|
137 |
$delivery_mode = \WRIO_Plugin::app()->getPopulateOption( 'webp_delivery_mode' );
|
169 |
/**
|
170 |
* Process tags to replace those elements which match converted to WebP within buffer.
|
171 |
*
|
172 |
+
* @param string $content HTML buffer.
|
173 |
*
|
174 |
* @return string
|
175 |
*/
|
177 |
$raw_content = $content;
|
178 |
|
179 |
// Don't do anything with the RSS feed.
|
180 |
+
if ( is_feed() || empty( $content ) || ! is_null( json_decode( $content ) ) ) {
|
181 |
//WRIO_Logger::info( "Buffer content is empty, skipping processing" );
|
182 |
return $content;
|
183 |
}
|
|
|
184 |
if ( static::is_picture_delivery_mode() ) {
|
185 |
if ( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) {
|
186 |
//for AMP pages the <picture> tag is not allowed
|
190 |
require_once WRIOP_PLUGIN_DIR . '/includes/classes/webp/class-webp-html-picture-tags.php';
|
191 |
$content = Picture_Tags::replace( $content );
|
192 |
} else if ( static::is_url_delivery_mode() ) {
|
193 |
+
if ( ! is_admin() ) {
|
194 |
require_once( WRIOP_PLUGIN_DIR . '/includes/classes/webp/class-webp-html-image-urls-replacer.php' );
|
195 |
$content = Urls_Replacer::replace( $content );
|
196 |
}
|
213 |
* Get url for webp
|
214 |
* returns second argument if no webp
|
215 |
*
|
216 |
+
* @param string $source_url (ie http://example.com/wp-content/image.jpg)
|
217 |
* @param string $return_value_on_fail
|
218 |
*
|
219 |
* @return string
|
287 |
}
|
288 |
|
289 |
/**
|
|
|
|
|
|
|
290 |
* @param string $source_url
|
291 |
*
|
292 |
* @return bool
|
293 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
294 |
+
* @since 1.4.0
|
295 |
+
*
|
296 |
*/
|
297 |
protected static function is_wpmedia_url( $source_url ) {
|
298 |
$upload_dir = wp_get_upload_dir();
|
309 |
}
|
310 |
|
311 |
/**
|
|
|
|
|
|
|
312 |
* @param string $source_url
|
313 |
*
|
314 |
* @return bool
|
315 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
316 |
+
* @since 1.4.0
|
317 |
+
*
|
318 |
*/
|
319 |
protected static function is_support_format( $source_url ) {
|
320 |
if ( ! preg_match( '#(jpe?g|png)$#', $source_url ) ) {
|
325 |
}
|
326 |
|
327 |
/**
|
|
|
|
|
|
|
328 |
* @param string $source_url
|
329 |
*
|
330 |
* @return bool
|
331 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
332 |
+
* @since 1.4.0
|
333 |
+
*
|
334 |
*/
|
335 |
protected static function is_external_url( $source_url ) {
|
336 |
if ( strpos( $source_url, get_site_url() ) === false ) {
|
libs/addons/includes/classes/webp/vendor/autoload.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload.php @generated by Composer
|
4 |
-
|
5 |
-
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
-
|
7 |
-
return ComposerAutoloaderInit84320a6a225dd65e40820c51b32fdca4::getLoader();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload.php @generated by Composer
|
4 |
+
|
5 |
+
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
+
|
7 |
+
return ComposerAutoloaderInit84320a6a225dd65e40820c51b32fdca4::getLoader();
|
libs/addons/includes/classes/webp/vendor/composer/ClassLoader.php
CHANGED
@@ -1,445 +1,445 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of Composer.
|
5 |
-
*
|
6 |
-
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
-
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
-
*
|
9 |
-
* For the full copyright and license information, please view the LICENSE
|
10 |
-
* file that was distributed with this source code.
|
11 |
-
*/
|
12 |
-
|
13 |
-
namespace Composer\Autoload;
|
14 |
-
|
15 |
-
/**
|
16 |
-
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
17 |
-
*
|
18 |
-
* $loader = new \Composer\Autoload\ClassLoader();
|
19 |
-
*
|
20 |
-
* // register classes with namespaces
|
21 |
-
* $loader->add('Symfony\Component', __DIR__.'/component');
|
22 |
-
* $loader->add('Symfony', __DIR__.'/framework');
|
23 |
-
*
|
24 |
-
* // activate the autoloader
|
25 |
-
* $loader->register();
|
26 |
-
*
|
27 |
-
* // to enable searching the include path (eg. for PEAR packages)
|
28 |
-
* $loader->setUseIncludePath(true);
|
29 |
-
*
|
30 |
-
* In this example, if you try to use a class in the Symfony\Component
|
31 |
-
* namespace or one of its children (Symfony\Component\Console for instance),
|
32 |
-
* the autoloader will first look for the class under the component/
|
33 |
-
* directory, and it will then fallback to the framework/ directory if not
|
34 |
-
* found before giving up.
|
35 |
-
*
|
36 |
-
* This class is loosely based on the Symfony UniversalClassLoader.
|
37 |
-
*
|
38 |
-
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
-
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
-
* @see
|
41 |
-
* @see
|
42 |
-
*/
|
43 |
-
class ClassLoader
|
44 |
-
{
|
45 |
-
// PSR-4
|
46 |
-
private $prefixLengthsPsr4 = array();
|
47 |
-
private $prefixDirsPsr4 = array();
|
48 |
-
private $fallbackDirsPsr4 = array();
|
49 |
-
|
50 |
-
// PSR-0
|
51 |
-
private $prefixesPsr0 = array();
|
52 |
-
private $fallbackDirsPsr0 = array();
|
53 |
-
|
54 |
-
private $useIncludePath = false;
|
55 |
-
private $classMap = array();
|
56 |
-
private $classMapAuthoritative = false;
|
57 |
-
private $missingClasses = array();
|
58 |
-
private $apcuPrefix;
|
59 |
-
|
60 |
-
public function getPrefixes()
|
61 |
-
{
|
62 |
-
if (!empty($this->prefixesPsr0)) {
|
63 |
-
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
64 |
-
}
|
65 |
-
|
66 |
-
return array();
|
67 |
-
}
|
68 |
-
|
69 |
-
public function getPrefixesPsr4()
|
70 |
-
{
|
71 |
-
return $this->prefixDirsPsr4;
|
72 |
-
}
|
73 |
-
|
74 |
-
public function getFallbackDirs()
|
75 |
-
{
|
76 |
-
return $this->fallbackDirsPsr0;
|
77 |
-
}
|
78 |
-
|
79 |
-
public function getFallbackDirsPsr4()
|
80 |
-
{
|
81 |
-
return $this->fallbackDirsPsr4;
|
82 |
-
}
|
83 |
-
|
84 |
-
public function getClassMap()
|
85 |
-
{
|
86 |
-
return $this->classMap;
|
87 |
-
}
|
88 |
-
|
89 |
-
/**
|
90 |
-
* @param array $classMap Class to filename map
|
91 |
-
*/
|
92 |
-
public function addClassMap(array $classMap)
|
93 |
-
{
|
94 |
-
if ($this->classMap) {
|
95 |
-
$this->classMap = array_merge($this->classMap, $classMap);
|
96 |
-
} else {
|
97 |
-
$this->classMap = $classMap;
|
98 |
-
}
|
99 |
-
}
|
100 |
-
|
101 |
-
/**
|
102 |
-
* Registers a set of PSR-0 directories for a given prefix, either
|
103 |
-
* appending or prepending to the ones previously set for this prefix.
|
104 |
-
*
|
105 |
-
* @param string $prefix The prefix
|
106 |
-
* @param array|string $paths The PSR-0 root directories
|
107 |
-
* @param bool $prepend Whether to prepend the directories
|
108 |
-
*/
|
109 |
-
public function add($prefix, $paths, $prepend = false)
|
110 |
-
{
|
111 |
-
if (!$prefix) {
|
112 |
-
if ($prepend) {
|
113 |
-
$this->fallbackDirsPsr0 = array_merge(
|
114 |
-
(array) $paths,
|
115 |
-
$this->fallbackDirsPsr0
|
116 |
-
);
|
117 |
-
} else {
|
118 |
-
$this->fallbackDirsPsr0 = array_merge(
|
119 |
-
$this->fallbackDirsPsr0,
|
120 |
-
(array) $paths
|
121 |
-
);
|
122 |
-
}
|
123 |
-
|
124 |
-
return;
|
125 |
-
}
|
126 |
-
|
127 |
-
$first = $prefix[0];
|
128 |
-
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
129 |
-
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
130 |
-
|
131 |
-
return;
|
132 |
-
}
|
133 |
-
if ($prepend) {
|
134 |
-
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
135 |
-
(array) $paths,
|
136 |
-
$this->prefixesPsr0[$first][$prefix]
|
137 |
-
);
|
138 |
-
} else {
|
139 |
-
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
140 |
-
$this->prefixesPsr0[$first][$prefix],
|
141 |
-
(array) $paths
|
142 |
-
);
|
143 |
-
}
|
144 |
-
}
|
145 |
-
|
146 |
-
/**
|
147 |
-
* Registers a set of PSR-4 directories for a given namespace, either
|
148 |
-
* appending or prepending to the ones previously set for this namespace.
|
149 |
-
*
|
150 |
-
* @param string $prefix The prefix/namespace, with trailing '\\'
|
151 |
-
* @param array|string $paths The PSR-4 base directories
|
152 |
-
* @param bool $prepend Whether to prepend the directories
|
153 |
-
*
|
154 |
-
* @throws \InvalidArgumentException
|
155 |
-
*/
|
156 |
-
public function addPsr4($prefix, $paths, $prepend = false)
|
157 |
-
{
|
158 |
-
if (!$prefix) {
|
159 |
-
// Register directories for the root namespace.
|
160 |
-
if ($prepend) {
|
161 |
-
$this->fallbackDirsPsr4 = array_merge(
|
162 |
-
(array) $paths,
|
163 |
-
$this->fallbackDirsPsr4
|
164 |
-
);
|
165 |
-
} else {
|
166 |
-
$this->fallbackDirsPsr4 = array_merge(
|
167 |
-
$this->fallbackDirsPsr4,
|
168 |
-
(array) $paths
|
169 |
-
);
|
170 |
-
}
|
171 |
-
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
172 |
-
// Register directories for a new namespace.
|
173 |
-
$length = strlen($prefix);
|
174 |
-
if ('\\' !== $prefix[$length - 1]) {
|
175 |
-
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
176 |
-
}
|
177 |
-
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
178 |
-
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
179 |
-
} elseif ($prepend) {
|
180 |
-
// Prepend directories for an already registered namespace.
|
181 |
-
$this->prefixDirsPsr4[$prefix] = array_merge(
|
182 |
-
(array) $paths,
|
183 |
-
$this->prefixDirsPsr4[$prefix]
|
184 |
-
);
|
185 |
-
} else {
|
186 |
-
// Append directories for an already registered namespace.
|
187 |
-
$this->prefixDirsPsr4[$prefix] = array_merge(
|
188 |
-
$this->prefixDirsPsr4[$prefix],
|
189 |
-
(array) $paths
|
190 |
-
);
|
191 |
-
}
|
192 |
-
}
|
193 |
-
|
194 |
-
/**
|
195 |
-
* Registers a set of PSR-0 directories for a given prefix,
|
196 |
-
* replacing any others previously set for this prefix.
|
197 |
-
*
|
198 |
-
* @param string $prefix The prefix
|
199 |
-
* @param array|string $paths The PSR-0 base directories
|
200 |
-
*/
|
201 |
-
public function set($prefix, $paths)
|
202 |
-
{
|
203 |
-
if (!$prefix) {
|
204 |
-
$this->fallbackDirsPsr0 = (array) $paths;
|
205 |
-
} else {
|
206 |
-
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
207 |
-
}
|
208 |
-
}
|
209 |
-
|
210 |
-
/**
|
211 |
-
* Registers a set of PSR-4 directories for a given namespace,
|
212 |
-
* replacing any others previously set for this namespace.
|
213 |
-
*
|
214 |
-
* @param string $prefix The prefix/namespace, with trailing '\\'
|
215 |
-
* @param array|string $paths The PSR-4 base directories
|
216 |
-
*
|
217 |
-
* @throws \InvalidArgumentException
|
218 |
-
*/
|
219 |
-
public function setPsr4($prefix, $paths)
|
220 |
-
{
|
221 |
-
if (!$prefix) {
|
222 |
-
$this->fallbackDirsPsr4 = (array) $paths;
|
223 |
-
} else {
|
224 |
-
$length = strlen($prefix);
|
225 |
-
if ('\\' !== $prefix[$length - 1]) {
|
226 |
-
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
227 |
-
}
|
228 |
-
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
229 |
-
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
230 |
-
}
|
231 |
-
}
|
232 |
-
|
233 |
-
/**
|
234 |
-
* Turns on searching the include path for class files.
|
235 |
-
*
|
236 |
-
* @param bool $useIncludePath
|
237 |
-
*/
|
238 |
-
public function setUseIncludePath($useIncludePath)
|
239 |
-
{
|
240 |
-
$this->useIncludePath = $useIncludePath;
|
241 |
-
}
|
242 |
-
|
243 |
-
/**
|
244 |
-
* Can be used to check if the autoloader uses the include path to check
|
245 |
-
* for classes.
|
246 |
-
*
|
247 |
-
* @return bool
|
248 |
-
*/
|
249 |
-
public function getUseIncludePath()
|
250 |
-
{
|
251 |
-
return $this->useIncludePath;
|
252 |
-
}
|
253 |
-
|
254 |
-
/**
|
255 |
-
* Turns off searching the prefix and fallback directories for classes
|
256 |
-
* that have not been registered with the class map.
|
257 |
-
*
|
258 |
-
* @param bool $classMapAuthoritative
|
259 |
-
*/
|
260 |
-
public function setClassMapAuthoritative($classMapAuthoritative)
|
261 |
-
{
|
262 |
-
$this->classMapAuthoritative = $classMapAuthoritative;
|
263 |
-
}
|
264 |
-
|
265 |
-
/**
|
266 |
-
* Should class lookup fail if not found in the current class map?
|
267 |
-
*
|
268 |
-
* @return bool
|
269 |
-
*/
|
270 |
-
public function isClassMapAuthoritative()
|
271 |
-
{
|
272 |
-
return $this->classMapAuthoritative;
|
273 |
-
}
|
274 |
-
|
275 |
-
/**
|
276 |
-
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
277 |
-
*
|
278 |
-
* @param string|null $apcuPrefix
|
279 |
-
*/
|
280 |
-
public function setApcuPrefix($apcuPrefix)
|
281 |
-
{
|
282 |
-
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
283 |
-
}
|
284 |
-
|
285 |
-
/**
|
286 |
-
* The APCu prefix in use, or null if APCu caching is not enabled.
|
287 |
-
*
|
288 |
-
* @return string|null
|
289 |
-
*/
|
290 |
-
public function getApcuPrefix()
|
291 |
-
{
|
292 |
-
return $this->apcuPrefix;
|
293 |
-
}
|
294 |
-
|
295 |
-
/**
|
296 |
-
* Registers this instance as an autoloader.
|
297 |
-
*
|
298 |
-
* @param bool $prepend Whether to prepend the autoloader or not
|
299 |
-
*/
|
300 |
-
public function register($prepend = false)
|
301 |
-
{
|
302 |
-
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
303 |
-
}
|
304 |
-
|
305 |
-
/**
|
306 |
-
* Unregisters this instance as an autoloader.
|
307 |
-
*/
|
308 |
-
public function unregister()
|
309 |
-
{
|
310 |
-
spl_autoload_unregister(array($this, 'loadClass'));
|
311 |
-
}
|
312 |
-
|
313 |
-
/**
|
314 |
-
* Loads the given class or interface.
|
315 |
-
*
|
316 |
-
* @param string $class The name of the class
|
317 |
-
* @return bool|null True if loaded, null otherwise
|
318 |
-
*/
|
319 |
-
public function loadClass($class)
|
320 |
-
{
|
321 |
-
if ($file = $this->findFile($class)) {
|
322 |
-
includeFile($file);
|
323 |
-
|
324 |
-
return true;
|
325 |
-
}
|
326 |
-
}
|
327 |
-
|
328 |
-
/**
|
329 |
-
* Finds the path to the file where the class is defined.
|
330 |
-
*
|
331 |
-
* @param string $class The name of the class
|
332 |
-
*
|
333 |
-
* @return string|false The path if found, false otherwise
|
334 |
-
*/
|
335 |
-
public function findFile($class)
|
336 |
-
{
|
337 |
-
// class map lookup
|
338 |
-
if (isset($this->classMap[$class])) {
|
339 |
-
return $this->classMap[$class];
|
340 |
-
}
|
341 |
-
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
342 |
-
return false;
|
343 |
-
}
|
344 |
-
if (null !== $this->apcuPrefix) {
|
345 |
-
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
346 |
-
if ($hit) {
|
347 |
-
return $file;
|
348 |
-
}
|
349 |
-
}
|
350 |
-
|
351 |
-
$file = $this->findFileWithExtension($class, '.php');
|
352 |
-
|
353 |
-
// Search for Hack files if we are running on HHVM
|
354 |
-
if (false === $file && defined('HHVM_VERSION')) {
|
355 |
-
$file = $this->findFileWithExtension($class, '.hh');
|
356 |
-
}
|
357 |
-
|
358 |
-
if (null !== $this->apcuPrefix) {
|
359 |
-
apcu_add($this->apcuPrefix.$class, $file);
|
360 |
-
}
|
361 |
-
|
362 |
-
if (false === $file) {
|
363 |
-
// Remember that this class does not exist.
|
364 |
-
$this->missingClasses[$class] = true;
|
365 |
-
}
|
366 |
-
|
367 |
-
return $file;
|
368 |
-
}
|
369 |
-
|
370 |
-
private function findFileWithExtension($class, $ext)
|
371 |
-
{
|
372 |
-
// PSR-4 lookup
|
373 |
-
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
374 |
-
|
375 |
-
$first = $class[0];
|
376 |
-
if (isset($this->prefixLengthsPsr4[$first])) {
|
377 |
-
$subPath = $class;
|
378 |
-
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
379 |
-
$subPath = substr($subPath, 0, $lastPos);
|
380 |
-
$search = $subPath . '\\';
|
381 |
-
if (isset($this->prefixDirsPsr4[$search])) {
|
382 |
-
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
383 |
-
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
384 |
-
if (file_exists($file = $dir . $pathEnd)) {
|
385 |
-
return $file;
|
386 |
-
}
|
387 |
-
}
|
388 |
-
}
|
389 |
-
}
|
390 |
-
}
|
391 |
-
|
392 |
-
// PSR-4 fallback dirs
|
393 |
-
foreach ($this->fallbackDirsPsr4 as $dir) {
|
394 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
395 |
-
return $file;
|
396 |
-
}
|
397 |
-
}
|
398 |
-
|
399 |
-
// PSR-0 lookup
|
400 |
-
if (false !== $pos = strrpos($class, '\\')) {
|
401 |
-
// namespaced class name
|
402 |
-
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
403 |
-
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
404 |
-
} else {
|
405 |
-
// PEAR-like class name
|
406 |
-
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
407 |
-
}
|
408 |
-
|
409 |
-
if (isset($this->prefixesPsr0[$first])) {
|
410 |
-
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
411 |
-
if (0 === strpos($class, $prefix)) {
|
412 |
-
foreach ($dirs as $dir) {
|
413 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
414 |
-
return $file;
|
415 |
-
}
|
416 |
-
}
|
417 |
-
}
|
418 |
-
}
|
419 |
-
}
|
420 |
-
|
421 |
-
// PSR-0 fallback dirs
|
422 |
-
foreach ($this->fallbackDirsPsr0 as $dir) {
|
423 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
424 |
-
return $file;
|
425 |
-
}
|
426 |
-
}
|
427 |
-
|
428 |
-
// PSR-0 include paths.
|
429 |
-
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
430 |
-
return $file;
|
431 |
-
}
|
432 |
-
|
433 |
-
return false;
|
434 |
-
}
|
435 |
-
}
|
436 |
-
|
437 |
-
/**
|
438 |
-
* Scope isolated include.
|
439 |
-
*
|
440 |
-
* Prevents access to $this/self from included files.
|
441 |
-
*/
|
442 |
-
function includeFile($file)
|
443 |
-
{
|
444 |
-
include $file;
|
445 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Composer.
|
5 |
+
*
|
6 |
+
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
+
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
+
*
|
9 |
+
* For the full copyright and license information, please view the LICENSE
|
10 |
+
* file that was distributed with this source code.
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace Composer\Autoload;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
17 |
+
*
|
18 |
+
* $loader = new \Composer\Autoload\ClassLoader();
|
19 |
+
*
|
20 |
+
* // register classes with namespaces
|
21 |
+
* $loader->add('Symfony\Component', __DIR__.'/component');
|
22 |
+
* $loader->add('Symfony', __DIR__.'/framework');
|
23 |
+
*
|
24 |
+
* // activate the autoloader
|
25 |
+
* $loader->register();
|
26 |
+
*
|
27 |
+
* // to enable searching the include path (eg. for PEAR packages)
|
28 |
+
* $loader->setUseIncludePath(true);
|
29 |
+
*
|
30 |
+
* In this example, if you try to use a class in the Symfony\Component
|
31 |
+
* namespace or one of its children (Symfony\Component\Console for instance),
|
32 |
+
* the autoloader will first look for the class under the component/
|
33 |
+
* directory, and it will then fallback to the framework/ directory if not
|
34 |
+
* found before giving up.
|
35 |
+
*
|
36 |
+
* This class is loosely based on the Symfony UniversalClassLoader.
|
37 |
+
*
|
38 |
+
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
+
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
+
* @see http://www.php-fig.org/psr/psr-0/
|
41 |
+
* @see http://www.php-fig.org/psr/psr-4/
|
42 |
+
*/
|
43 |
+
class ClassLoader
|
44 |
+
{
|
45 |
+
// PSR-4
|
46 |
+
private $prefixLengthsPsr4 = array();
|
47 |
+
private $prefixDirsPsr4 = array();
|
48 |
+
private $fallbackDirsPsr4 = array();
|
49 |
+
|
50 |
+
// PSR-0
|
51 |
+
private $prefixesPsr0 = array();
|
52 |
+
private $fallbackDirsPsr0 = array();
|
53 |
+
|
54 |
+
private $useIncludePath = false;
|
55 |
+
private $classMap = array();
|
56 |
+
private $classMapAuthoritative = false;
|
57 |
+
private $missingClasses = array();
|
58 |
+
private $apcuPrefix;
|
59 |
+
|
60 |
+
public function getPrefixes()
|
61 |
+
{
|
62 |
+
if (!empty($this->prefixesPsr0)) {
|
63 |
+
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
64 |
+
}
|
65 |
+
|
66 |
+
return array();
|
67 |
+
}
|
68 |
+
|
69 |
+
public function getPrefixesPsr4()
|
70 |
+
{
|
71 |
+
return $this->prefixDirsPsr4;
|
72 |
+
}
|
73 |
+
|
74 |
+
public function getFallbackDirs()
|
75 |
+
{
|
76 |
+
return $this->fallbackDirsPsr0;
|
77 |
+
}
|
78 |
+
|
79 |
+
public function getFallbackDirsPsr4()
|
80 |
+
{
|
81 |
+
return $this->fallbackDirsPsr4;
|
82 |
+
}
|
83 |
+
|
84 |
+
public function getClassMap()
|
85 |
+
{
|
86 |
+
return $this->classMap;
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @param array $classMap Class to filename map
|
91 |
+
*/
|
92 |
+
public function addClassMap(array $classMap)
|
93 |
+
{
|
94 |
+
if ($this->classMap) {
|
95 |
+
$this->classMap = array_merge($this->classMap, $classMap);
|
96 |
+
} else {
|
97 |
+
$this->classMap = $classMap;
|
98 |
+
}
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Registers a set of PSR-0 directories for a given prefix, either
|
103 |
+
* appending or prepending to the ones previously set for this prefix.
|
104 |
+
*
|
105 |
+
* @param string $prefix The prefix
|
106 |
+
* @param array|string $paths The PSR-0 root directories
|
107 |
+
* @param bool $prepend Whether to prepend the directories
|
108 |
+
*/
|
109 |
+
public function add($prefix, $paths, $prepend = false)
|
110 |
+
{
|
111 |
+
if (!$prefix) {
|
112 |
+
if ($prepend) {
|
113 |
+
$this->fallbackDirsPsr0 = array_merge(
|
114 |
+
(array) $paths,
|
115 |
+
$this->fallbackDirsPsr0
|
116 |
+
);
|
117 |
+
} else {
|
118 |
+
$this->fallbackDirsPsr0 = array_merge(
|
119 |
+
$this->fallbackDirsPsr0,
|
120 |
+
(array) $paths
|
121 |
+
);
|
122 |
+
}
|
123 |
+
|
124 |
+
return;
|
125 |
+
}
|
126 |
+
|
127 |
+
$first = $prefix[0];
|
128 |
+
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
129 |
+
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
130 |
+
|
131 |
+
return;
|
132 |
+
}
|
133 |
+
if ($prepend) {
|
134 |
+
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
135 |
+
(array) $paths,
|
136 |
+
$this->prefixesPsr0[$first][$prefix]
|
137 |
+
);
|
138 |
+
} else {
|
139 |
+
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
140 |
+
$this->prefixesPsr0[$first][$prefix],
|
141 |
+
(array) $paths
|
142 |
+
);
|
143 |
+
}
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Registers a set of PSR-4 directories for a given namespace, either
|
148 |
+
* appending or prepending to the ones previously set for this namespace.
|
149 |
+
*
|
150 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
151 |
+
* @param array|string $paths The PSR-4 base directories
|
152 |
+
* @param bool $prepend Whether to prepend the directories
|
153 |
+
*
|
154 |
+
* @throws \InvalidArgumentException
|
155 |
+
*/
|
156 |
+
public function addPsr4($prefix, $paths, $prepend = false)
|
157 |
+
{
|
158 |
+
if (!$prefix) {
|
159 |
+
// Register directories for the root namespace.
|
160 |
+
if ($prepend) {
|
161 |
+
$this->fallbackDirsPsr4 = array_merge(
|
162 |
+
(array) $paths,
|
163 |
+
$this->fallbackDirsPsr4
|
164 |
+
);
|
165 |
+
} else {
|
166 |
+
$this->fallbackDirsPsr4 = array_merge(
|
167 |
+
$this->fallbackDirsPsr4,
|
168 |
+
(array) $paths
|
169 |
+
);
|
170 |
+
}
|
171 |
+
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
172 |
+
// Register directories for a new namespace.
|
173 |
+
$length = strlen($prefix);
|
174 |
+
if ('\\' !== $prefix[$length - 1]) {
|
175 |
+
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
176 |
+
}
|
177 |
+
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
178 |
+
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
179 |
+
} elseif ($prepend) {
|
180 |
+
// Prepend directories for an already registered namespace.
|
181 |
+
$this->prefixDirsPsr4[$prefix] = array_merge(
|
182 |
+
(array) $paths,
|
183 |
+
$this->prefixDirsPsr4[$prefix]
|
184 |
+
);
|
185 |
+
} else {
|
186 |
+
// Append directories for an already registered namespace.
|
187 |
+
$this->prefixDirsPsr4[$prefix] = array_merge(
|
188 |
+
$this->prefixDirsPsr4[$prefix],
|
189 |
+
(array) $paths
|
190 |
+
);
|
191 |
+
}
|
192 |
+
}
|
193 |
+
|
194 |
+
/**
|
195 |
+
* Registers a set of PSR-0 directories for a given prefix,
|
196 |
+
* replacing any others previously set for this prefix.
|
197 |
+
*
|
198 |
+
* @param string $prefix The prefix
|
199 |
+
* @param array|string $paths The PSR-0 base directories
|
200 |
+
*/
|
201 |
+
public function set($prefix, $paths)
|
202 |
+
{
|
203 |
+
if (!$prefix) {
|
204 |
+
$this->fallbackDirsPsr0 = (array) $paths;
|
205 |
+
} else {
|
206 |
+
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
207 |
+
}
|
208 |
+
}
|
209 |
+
|
210 |
+
/**
|
211 |
+
* Registers a set of PSR-4 directories for a given namespace,
|
212 |
+
* replacing any others previously set for this namespace.
|
213 |
+
*
|
214 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
215 |
+
* @param array|string $paths The PSR-4 base directories
|
216 |
+
*
|
217 |
+
* @throws \InvalidArgumentException
|
218 |
+
*/
|
219 |
+
public function setPsr4($prefix, $paths)
|
220 |
+
{
|
221 |
+
if (!$prefix) {
|
222 |
+
$this->fallbackDirsPsr4 = (array) $paths;
|
223 |
+
} else {
|
224 |
+
$length = strlen($prefix);
|
225 |
+
if ('\\' !== $prefix[$length - 1]) {
|
226 |
+
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
227 |
+
}
|
228 |
+
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
229 |
+
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
230 |
+
}
|
231 |
+
}
|
232 |
+
|
233 |
+
/**
|
234 |
+
* Turns on searching the include path for class files.
|
235 |
+
*
|
236 |
+
* @param bool $useIncludePath
|
237 |
+
*/
|
238 |
+
public function setUseIncludePath($useIncludePath)
|
239 |
+
{
|
240 |
+
$this->useIncludePath = $useIncludePath;
|
241 |
+
}
|
242 |
+
|
243 |
+
/**
|
244 |
+
* Can be used to check if the autoloader uses the include path to check
|
245 |
+
* for classes.
|
246 |
+
*
|
247 |
+
* @return bool
|
248 |
+
*/
|
249 |
+
public function getUseIncludePath()
|
250 |
+
{
|
251 |
+
return $this->useIncludePath;
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* Turns off searching the prefix and fallback directories for classes
|
256 |
+
* that have not been registered with the class map.
|
257 |
+
*
|
258 |
+
* @param bool $classMapAuthoritative
|
259 |
+
*/
|
260 |
+
public function setClassMapAuthoritative($classMapAuthoritative)
|
261 |
+
{
|
262 |
+
$this->classMapAuthoritative = $classMapAuthoritative;
|
263 |
+
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* Should class lookup fail if not found in the current class map?
|
267 |
+
*
|
268 |
+
* @return bool
|
269 |
+
*/
|
270 |
+
public function isClassMapAuthoritative()
|
271 |
+
{
|
272 |
+
return $this->classMapAuthoritative;
|
273 |
+
}
|
274 |
+
|
275 |
+
/**
|
276 |
+
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
277 |
+
*
|
278 |
+
* @param string|null $apcuPrefix
|
279 |
+
*/
|
280 |
+
public function setApcuPrefix($apcuPrefix)
|
281 |
+
{
|
282 |
+
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
283 |
+
}
|
284 |
+
|
285 |
+
/**
|
286 |
+
* The APCu prefix in use, or null if APCu caching is not enabled.
|
287 |
+
*
|
288 |
+
* @return string|null
|
289 |
+
*/
|
290 |
+
public function getApcuPrefix()
|
291 |
+
{
|
292 |
+
return $this->apcuPrefix;
|
293 |
+
}
|
294 |
+
|
295 |
+
/**
|
296 |
+
* Registers this instance as an autoloader.
|
297 |
+
*
|
298 |
+
* @param bool $prepend Whether to prepend the autoloader or not
|
299 |
+
*/
|
300 |
+
public function register($prepend = false)
|
301 |
+
{
|
302 |
+
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
303 |
+
}
|
304 |
+
|
305 |
+
/**
|
306 |
+
* Unregisters this instance as an autoloader.
|
307 |
+
*/
|
308 |
+
public function unregister()
|
309 |
+
{
|
310 |
+
spl_autoload_unregister(array($this, 'loadClass'));
|
311 |
+
}
|
312 |
+
|
313 |
+
/**
|
314 |
+
* Loads the given class or interface.
|
315 |
+
*
|
316 |
+
* @param string $class The name of the class
|
317 |
+
* @return bool|null True if loaded, null otherwise
|
318 |
+
*/
|
319 |
+
public function loadClass($class)
|
320 |
+
{
|
321 |
+
if ($file = $this->findFile($class)) {
|
322 |
+
includeFile($file);
|
323 |
+
|
324 |
+
return true;
|
325 |
+
}
|
326 |
+
}
|
327 |
+
|
328 |
+
/**
|
329 |
+
* Finds the path to the file where the class is defined.
|
330 |
+
*
|
331 |
+
* @param string $class The name of the class
|
332 |
+
*
|
333 |
+
* @return string|false The path if found, false otherwise
|
334 |
+
*/
|
335 |
+
public function findFile($class)
|
336 |
+
{
|
337 |
+
// class map lookup
|
338 |
+
if (isset($this->classMap[$class])) {
|
339 |
+
return $this->classMap[$class];
|
340 |
+
}
|
341 |
+
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
342 |
+
return false;
|
343 |
+
}
|
344 |
+
if (null !== $this->apcuPrefix) {
|
345 |
+
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
346 |
+
if ($hit) {
|
347 |
+
return $file;
|
348 |
+
}
|
349 |
+
}
|
350 |
+
|
351 |
+
$file = $this->findFileWithExtension($class, '.php');
|
352 |
+
|
353 |
+
// Search for Hack files if we are running on HHVM
|
354 |
+
if (false === $file && defined('HHVM_VERSION')) {
|
355 |
+
$file = $this->findFileWithExtension($class, '.hh');
|
356 |
+
}
|
357 |
+
|
358 |
+
if (null !== $this->apcuPrefix) {
|
359 |
+
apcu_add($this->apcuPrefix.$class, $file);
|
360 |
+
}
|
361 |
+
|
362 |
+
if (false === $file) {
|
363 |
+
// Remember that this class does not exist.
|
364 |
+
$this->missingClasses[$class] = true;
|
365 |
+
}
|
366 |
+
|
367 |
+
return $file;
|
368 |
+
}
|
369 |
+
|
370 |
+
private function findFileWithExtension($class, $ext)
|
371 |
+
{
|
372 |
+
// PSR-4 lookup
|
373 |
+
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
374 |
+
|
375 |
+
$first = $class[0];
|
376 |
+
if (isset($this->prefixLengthsPsr4[$first])) {
|
377 |
+
$subPath = $class;
|
378 |
+
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
379 |
+
$subPath = substr($subPath, 0, $lastPos);
|
380 |
+
$search = $subPath . '\\';
|
381 |
+
if (isset($this->prefixDirsPsr4[$search])) {
|
382 |
+
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
383 |
+
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
384 |
+
if (file_exists($file = $dir . $pathEnd)) {
|
385 |
+
return $file;
|
386 |
+
}
|
387 |
+
}
|
388 |
+
}
|
389 |
+
}
|
390 |
+
}
|
391 |
+
|
392 |
+
// PSR-4 fallback dirs
|
393 |
+
foreach ($this->fallbackDirsPsr4 as $dir) {
|
394 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
395 |
+
return $file;
|
396 |
+
}
|
397 |
+
}
|
398 |
+
|
399 |
+
// PSR-0 lookup
|
400 |
+
if (false !== $pos = strrpos($class, '\\')) {
|
401 |
+
// namespaced class name
|
402 |
+
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
403 |
+
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
404 |
+
} else {
|
405 |
+
// PEAR-like class name
|
406 |
+
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
407 |
+
}
|
408 |
+
|
409 |
+
if (isset($this->prefixesPsr0[$first])) {
|
410 |
+
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
411 |
+
if (0 === strpos($class, $prefix)) {
|
412 |
+
foreach ($dirs as $dir) {
|
413 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
414 |
+
return $file;
|
415 |
+
}
|
416 |
+
}
|
417 |
+
}
|
418 |
+
}
|
419 |
+
}
|
420 |
+
|
421 |
+
// PSR-0 fallback dirs
|
422 |
+
foreach ($this->fallbackDirsPsr0 as $dir) {
|
423 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
424 |
+
return $file;
|
425 |
+
}
|
426 |
+
}
|
427 |
+
|
428 |
+
// PSR-0 include paths.
|
429 |
+
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
430 |
+
return $file;
|
431 |
+
}
|
432 |
+
|
433 |
+
return false;
|
434 |
+
}
|
435 |
+
}
|
436 |
+
|
437 |
+
/**
|
438 |
+
* Scope isolated include.
|
439 |
+
*
|
440 |
+
* Prevents access to $this/self from included files.
|
441 |
+
*/
|
442 |
+
function includeFile($file)
|
443 |
+
{
|
444 |
+
include $file;
|
445 |
+
}
|
libs/addons/includes/classes/webp/vendor/composer/LICENSE
CHANGED
@@ -1,21 +1,21 @@
|
|
1 |
-
|
2 |
-
Copyright (c) Nils Adermann, Jordi Boggiano
|
3 |
-
|
4 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
-
of this software and associated documentation files (the "Software"), to deal
|
6 |
-
in the Software without restriction, including without limitation the rights
|
7 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8 |
-
copies of the Software, and to permit persons to whom the Software is furnished
|
9 |
-
to do so, subject to the following conditions:
|
10 |
-
|
11 |
-
The above copyright notice and this permission notice shall be included in all
|
12 |
-
copies or substantial portions of the Software.
|
13 |
-
|
14 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20 |
-
THE SOFTWARE.
|
21 |
-
|
1 |
+
|
2 |
+
Copyright (c) Nils Adermann, Jordi Boggiano
|
3 |
+
|
4 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
+
of this software and associated documentation files (the "Software"), to deal
|
6 |
+
in the Software without restriction, including without limitation the rights
|
7 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8 |
+
copies of the Software, and to permit persons to whom the Software is furnished
|
9 |
+
to do so, subject to the following conditions:
|
10 |
+
|
11 |
+
The above copyright notice and this permission notice shall be included in all
|
12 |
+
copies or substantial portions of the Software.
|
13 |
+
|
14 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20 |
+
THE SOFTWARE.
|
21 |
+
|
libs/addons/includes/classes/webp/vendor/composer/autoload_classmap.php
CHANGED
@@ -1,10 +1,9 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_classmap.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname($vendorDir);
|
7 |
-
|
8 |
-
return array(
|
9 |
-
|
10 |
-
);
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_classmap.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(dirname(__FILE__));
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
);
|
|
libs/addons/includes/classes/webp/vendor/composer/autoload_namespaces.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_namespaces.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname($vendorDir);
|
7 |
-
|
8 |
-
return array(
|
9 |
-
);
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_namespaces.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(dirname(__FILE__));
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
);
|
libs/addons/includes/classes/webp/vendor/composer/autoload_psr4.php
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_psr4.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname($vendorDir);
|
7 |
-
|
8 |
-
return array(
|
9 |
-
'DOMUtilForWebP\\' => array($vendorDir . '/rosell-dk/dom-util-for-webp/src'),
|
10 |
-
);
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_psr4.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(dirname(__FILE__));
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
'DOMUtilForWebP\\' => array($vendorDir . '/rosell-dk/dom-util-for-webp/src'),
|
10 |
+
);
|
libs/addons/includes/classes/webp/vendor/composer/autoload_real.php
CHANGED
@@ -1,55 +1,52 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_real.php @generated by Composer
|
4 |
-
|
5 |
-
class ComposerAutoloaderInit84320a6a225dd65e40820c51b32fdca4
|
6 |
-
{
|
7 |
-
private static $loader;
|
8 |
-
|
9 |
-
public static function loadClassLoader($class)
|
10 |
-
{
|
11 |
-
if ('Composer\Autoload\ClassLoader' === $class) {
|
12 |
-
require __DIR__ . '/ClassLoader.php';
|
13 |
-
}
|
14 |
-
}
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
return $loader;
|
54 |
-
}
|
55 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_real.php @generated by Composer
|
4 |
+
|
5 |
+
class ComposerAutoloaderInit84320a6a225dd65e40820c51b32fdca4
|
6 |
+
{
|
7 |
+
private static $loader;
|
8 |
+
|
9 |
+
public static function loadClassLoader($class)
|
10 |
+
{
|
11 |
+
if ('Composer\Autoload\ClassLoader' === $class) {
|
12 |
+
require __DIR__ . '/ClassLoader.php';
|
13 |
+
}
|
14 |
+
}
|
15 |
+
|
16 |
+
public static function getLoader()
|
17 |
+
{
|
18 |
+
if (null !== self::$loader) {
|
19 |
+
return self::$loader;
|
20 |
+
}
|
21 |
+
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit84320a6a225dd65e40820c51b32fdca4', 'loadClassLoader'), true, true);
|
23 |
+
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit84320a6a225dd65e40820c51b32fdca4', 'loadClassLoader'));
|
25 |
+
|
26 |
+
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
+
if ($useStaticLoader) {
|
28 |
+
require_once __DIR__ . '/autoload_static.php';
|
29 |
+
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit84320a6a225dd65e40820c51b32fdca4::getInitializer($loader));
|
31 |
+
} else {
|
32 |
+
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
+
foreach ($map as $namespace => $path) {
|
34 |
+
$loader->set($namespace, $path);
|
35 |
+
}
|
36 |
+
|
37 |
+
$map = require __DIR__ . '/autoload_psr4.php';
|
38 |
+
foreach ($map as $namespace => $path) {
|
39 |
+
$loader->setPsr4($namespace, $path);
|
40 |
+
}
|
41 |
+
|
42 |
+
$classMap = require __DIR__ . '/autoload_classmap.php';
|
43 |
+
if ($classMap) {
|
44 |
+
$loader->addClassMap($classMap);
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
$loader->register(true);
|
49 |
+
|
50 |
+
return $loader;
|
51 |
+
}
|
52 |
+
}
|
|
|
|
|
|
libs/addons/includes/classes/webp/vendor/composer/autoload_static.php
CHANGED
@@ -1,36 +1,31 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_static.php @generated by Composer
|
4 |
-
|
5 |
-
namespace Composer\Autoload;
|
6 |
-
|
7 |
-
class ComposerStaticInit84320a6a225dd65e40820c51b32fdca4
|
8 |
-
{
|
9 |
-
public static $prefixLengthsPsr4 = array (
|
10 |
-
'D' =>
|
11 |
-
array (
|
12 |
-
'DOMUtilForWebP\\' => 15,
|
13 |
-
),
|
14 |
-
);
|
15 |
-
|
16 |
-
public static $prefixDirsPsr4 = array (
|
17 |
-
'DOMUtilForWebP\\' =>
|
18 |
-
array (
|
19 |
-
0 => __DIR__ . '/..' . '/rosell-dk/dom-util-for-webp/src',
|
20 |
-
),
|
21 |
-
);
|
22 |
-
|
23 |
-
public static
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
$loader->classMap = ComposerStaticInit84320a6a225dd65e40820c51b32fdca4::$classMap;
|
33 |
-
|
34 |
-
}, null, ClassLoader::class);
|
35 |
-
}
|
36 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_static.php @generated by Composer
|
4 |
+
|
5 |
+
namespace Composer\Autoload;
|
6 |
+
|
7 |
+
class ComposerStaticInit84320a6a225dd65e40820c51b32fdca4
|
8 |
+
{
|
9 |
+
public static $prefixLengthsPsr4 = array (
|
10 |
+
'D' =>
|
11 |
+
array (
|
12 |
+
'DOMUtilForWebP\\' => 15,
|
13 |
+
),
|
14 |
+
);
|
15 |
+
|
16 |
+
public static $prefixDirsPsr4 = array (
|
17 |
+
'DOMUtilForWebP\\' =>
|
18 |
+
array (
|
19 |
+
0 => __DIR__ . '/..' . '/rosell-dk/dom-util-for-webp/src',
|
20 |
+
),
|
21 |
+
);
|
22 |
+
|
23 |
+
public static function getInitializer(ClassLoader $loader)
|
24 |
+
{
|
25 |
+
return \Closure::bind(function () use ($loader) {
|
26 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit84320a6a225dd65e40820c51b32fdca4::$prefixLengthsPsr4;
|
27 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit84320a6a225dd65e40820c51b32fdca4::$prefixDirsPsr4;
|
28 |
+
|
29 |
+
}, null, ClassLoader::class);
|
30 |
+
}
|
31 |
+
}
|
|
|
|
|
|
|
|
|
|
libs/addons/includes/classes/webp/vendor/composer/installed.json
CHANGED
@@ -1,63 +1,59 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
"
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
"
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
"
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
"
|
26 |
-
"
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
"
|
37 |
-
"
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
"
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
"
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
}
|
61 |
-
],
|
62 |
-
"dev": true
|
63 |
-
}
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"name": "rosell-dk/dom-util-for-webp",
|
4 |
+
"version": "0.3.1",
|
5 |
+
"version_normalized": "0.3.1.0",
|
6 |
+
"source": {
|
7 |
+
"type": "git",
|
8 |
+
"url": "https://github.com/rosell-dk/dom-util-for-webp.git",
|
9 |
+
"reference": "bae8f4a9b666726359d28bfb227d886c12f136a9"
|
10 |
+
},
|
11 |
+
"dist": {
|
12 |
+
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/rosell-dk/dom-util-for-webp/zipball/bae8f4a9b666726359d28bfb227d886c12f136a9",
|
14 |
+
"reference": "bae8f4a9b666726359d28bfb227d886c12f136a9",
|
15 |
+
"shasum": ""
|
16 |
+
},
|
17 |
+
"require-dev": {
|
18 |
+
"friendsofphp/php-cs-fixer": "^2.11",
|
19 |
+
"phpunit/phpunit": "5.7.27",
|
20 |
+
"squizlabs/php_codesniffer": "3.*"
|
21 |
+
},
|
22 |
+
"time": "2019-07-31T14:17:18+00:00",
|
23 |
+
"type": "library",
|
24 |
+
"extra": {
|
25 |
+
"scripts-descriptions": {
|
26 |
+
"ci": "Run tests before CI",
|
27 |
+
"phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'",
|
28 |
+
"phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'",
|
29 |
+
"cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard",
|
30 |
+
"cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.",
|
31 |
+
"test": "Launches the preconfigured PHPUnit"
|
32 |
+
}
|
33 |
+
},
|
34 |
+
"installation-source": "dist",
|
35 |
+
"autoload": {
|
36 |
+
"psr-4": {
|
37 |
+
"DOMUtilForWebP\\": "src/"
|
38 |
+
}
|
39 |
+
},
|
40 |
+
"notification-url": "https://packagist.org/downloads/",
|
41 |
+
"license": [
|
42 |
+
"MIT"
|
43 |
+
],
|
44 |
+
"authors": [
|
45 |
+
{
|
46 |
+
"name": "Bjørn Rosell",
|
47 |
+
"homepage": "https://www.bitwise-it.dk/contact",
|
48 |
+
"role": "Project Author"
|
49 |
+
}
|
50 |
+
],
|
51 |
+
"description": "Replace image URLs found in HTML",
|
52 |
+
"keywords": [
|
53 |
+
"Webp",
|
54 |
+
"html",
|
55 |
+
"images",
|
56 |
+
"replace"
|
57 |
+
]
|
58 |
+
}
|
59 |
+
]
|
|
|
|
|
|
|
|
libs/addons/views/modal-select-custom-folders.php
CHANGED
@@ -4,7 +4,7 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
4 |
|
5 |
/**
|
6 |
* @var array $data
|
7 |
-
* @var
|
8 |
*/
|
9 |
?>
|
10 |
<p><?php _e( 'Select a directory for optimization. All nested images and folders will be optimized recursively.', 'robin-image-optimizer' ) ?></p>
|
4 |
|
5 |
/**
|
6 |
* @var array $data
|
7 |
+
* @var Wbcr_FactoryClearfy230_PageBase $page
|
8 |
*/
|
9 |
?>
|
10 |
<p><?php _e( 'Select a directory for optimization. All nested images and folders will be optimized recursively.', 'robin-image-optimizer' ) ?></p>
|
libs/addons/views/part-bulk-optimization-table-folders.php
CHANGED
@@ -4,7 +4,7 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
4 |
|
5 |
/**
|
6 |
* @var array $data
|
7 |
-
* @var
|
8 |
*/
|
9 |
|
10 |
$cf = WRIO_Custom_Folders::get_instance();
|
4 |
|
5 |
/**
|
6 |
* @var array $data
|
7 |
+
* @var Wbcr_FactoryClearfy230_PageBase $page
|
8 |
*/
|
9 |
|
10 |
$cf = WRIO_Custom_Folders::get_instance();
|
libs/factory/adverts/boot.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
use WBCR\
|
4 |
|
5 |
/**
|
6 |
* Factory Adverts
|
@@ -20,31 +20,31 @@ if( !defined('ABSPATH') ) {
|
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
-
if( defined('
|
24 |
return;
|
25 |
}
|
26 |
|
27 |
# Устанавливаем константу, что модуль уже загружен
|
28 |
-
define('
|
29 |
|
30 |
# Устанавливаем версию модуля
|
31 |
-
define('
|
32 |
|
33 |
# Регистрируем тектовый домен, для интернализации интерфейса модуля
|
34 |
-
load_plugin_textdomain('
|
35 |
|
36 |
# Устанавливаем директорию модуля
|
37 |
-
define('
|
38 |
|
39 |
# Устанавливаем url модуля
|
40 |
-
define('
|
41 |
|
42 |
-
require_once(
|
43 |
-
require_once(
|
44 |
|
45 |
/**
|
46 |
-
* @param
|
47 |
*/
|
48 |
-
add_action('
|
49 |
-
$plugin->set_adverts_manager("WBCR\
|
50 |
});
|
1 |
<?php
|
2 |
|
3 |
+
use WBCR\Factory_Adverts_117\Base;
|
4 |
|
5 |
/**
|
6 |
* Factory Adverts
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if( defined('FACTORY_ADVERTS_117_LOADED') || (defined('FACTORY_ADVERTS_BLOCK') && FACTORY_ADVERTS_BLOCK) ) {
|
24 |
return;
|
25 |
}
|
26 |
|
27 |
# Устанавливаем константу, что модуль уже загружен
|
28 |
+
define('FACTORY_ADVERTS_117_LOADED', true);
|
29 |
|
30 |
# Устанавливаем версию модуля
|
31 |
+
define('FACTORY_ADVERTS_117_VERSION', '1.1.7');
|
32 |
|
33 |
# Регистрируем тектовый домен, для интернализации интерфейса модуля
|
34 |
+
load_plugin_textdomain('wbcr_factory_adverts_117', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
35 |
|
36 |
# Устанавливаем директорию модуля
|
37 |
+
define('FACTORY_ADVERTS_117_DIR', dirname(__FILE__));
|
38 |
|
39 |
# Устанавливаем url модуля
|
40 |
+
define('FACTORY_ADVERTS_117_URL', plugins_url(null, __FILE__));
|
41 |
|
42 |
+
require_once(FACTORY_ADVERTS_117_DIR . '/includes/class-rest-request.php');
|
43 |
+
require_once(FACTORY_ADVERTS_117_DIR . '/includes/class-base.php');
|
44 |
|
45 |
/**
|
46 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
47 |
*/
|
48 |
+
add_action('wbcr_factory_adverts_117_plugin_created', function ($plugin) {
|
49 |
+
$plugin->set_adverts_manager("WBCR\Factory_Adverts_117\Base");
|
50 |
});
|
libs/factory/adverts/includes/class-base.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -28,7 +28,7 @@ class Base {
|
|
28 |
*
|
29 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
30 |
* @since 1.0.1
|
31 |
-
* @var \
|
32 |
*/
|
33 |
private $plugin;
|
34 |
|
@@ -53,7 +53,7 @@ class Base {
|
|
53 |
*
|
54 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
55 |
* @since 1.0.1
|
56 |
-
* @var \WBCR\
|
57 |
*/
|
58 |
private $api;
|
59 |
|
@@ -82,9 +82,9 @@ class Base {
|
|
82 |
*
|
83 |
* @since 1.0.0 Added
|
84 |
*
|
85 |
-
* @param \
|
86 |
*/
|
87 |
-
public function __construct( \
|
88 |
$this->plugin = $plugin;
|
89 |
|
90 |
$this->settings = wp_parse_args( $settings, [
|
@@ -257,7 +257,7 @@ class Base {
|
|
257 |
$content = $this->get_debug_message( 'dashboard_widget' );
|
258 |
}
|
259 |
|
260 |
-
require_once
|
261 |
new Dashboard_Widget( $this->plugin, $content );
|
262 |
}
|
263 |
}
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Adverts_117;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
28 |
*
|
29 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
30 |
* @since 1.0.1
|
31 |
+
* @var \Wbcr_Factory439_Plugin
|
32 |
*/
|
33 |
private $plugin;
|
34 |
|
53 |
*
|
54 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
55 |
* @since 1.0.1
|
56 |
+
* @var \WBCR\Factory_Adverts_117\Creative_Motion_API
|
57 |
*/
|
58 |
private $api;
|
59 |
|
82 |
*
|
83 |
* @since 1.0.0 Added
|
84 |
*
|
85 |
+
* @param \Wbcr_Factory439_Plugin $plugin
|
86 |
*/
|
87 |
+
public function __construct( \Wbcr_Factory439_Plugin $plugin, $settings ) {
|
88 |
$this->plugin = $plugin;
|
89 |
|
90 |
$this->settings = wp_parse_args( $settings, [
|
257 |
$content = $this->get_debug_message( 'dashboard_widget' );
|
258 |
}
|
259 |
|
260 |
+
require_once FACTORY_ADVERTS_117_DIR . '/includes/class-dashboard-widget.php';
|
261 |
new Dashboard_Widget( $this->plugin, $content );
|
262 |
}
|
263 |
}
|
libs/factory/adverts/includes/class-dashboard-widget.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -35,7 +35,7 @@ class Dashboard_Widget {
|
|
35 |
*
|
36 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
37 |
* @since 1.0.1
|
38 |
-
* @var \
|
39 |
*/
|
40 |
private $plugin;
|
41 |
|
@@ -46,10 +46,10 @@ class Dashboard_Widget {
|
|
46 |
*
|
47 |
* @since 1.0.0 Added
|
48 |
*
|
49 |
-
* @param \
|
50 |
* @param string $content
|
51 |
*/
|
52 |
-
public function __construct( \
|
53 |
|
54 |
$this->plugin = $plugin;
|
55 |
$this->content = $content;
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Adverts_117;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
35 |
*
|
36 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
37 |
* @since 1.0.1
|
38 |
+
* @var \Wbcr_Factory439_Plugin
|
39 |
*/
|
40 |
private $plugin;
|
41 |
|
46 |
*
|
47 |
* @since 1.0.0 Added
|
48 |
*
|
49 |
+
* @param \Wbcr_Factory439_Plugin $plugin
|
50 |
* @param string $content
|
51 |
*/
|
52 |
+
public function __construct( \Wbcr_Factory439_Plugin $plugin, $content ) {
|
53 |
|
54 |
$this->plugin = $plugin;
|
55 |
$this->content = $content;
|
libs/factory/adverts/includes/class-rest-request.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if( !defined('ABSPATH') ) {
|
@@ -65,7 +65,7 @@ class Creative_Motion_API {
|
|
65 |
*
|
66 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
67 |
* @since 1.0.1
|
68 |
-
* @var \
|
69 |
*/
|
70 |
private $plugin;
|
71 |
|
@@ -75,11 +75,11 @@ class Creative_Motion_API {
|
|
75 |
*
|
76 |
* Variable initialization.
|
77 |
*
|
78 |
-
* @param \
|
79 |
* @since 1.0.0 Added
|
80 |
*
|
81 |
*/
|
82 |
-
public function __construct(\
|
83 |
{
|
84 |
$this->plugin = $plugin;
|
85 |
}
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Adverts_117;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if( !defined('ABSPATH') ) {
|
65 |
*
|
66 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
67 |
* @since 1.0.1
|
68 |
+
* @var \Wbcr_Factory439_Plugin
|
69 |
*/
|
70 |
private $plugin;
|
71 |
|
75 |
*
|
76 |
* Variable initialization.
|
77 |
*
|
78 |
+
* @param \Wbcr_Factory439_Plugin $plugin_name
|
79 |
* @since 1.0.0 Added
|
80 |
*
|
81 |
*/
|
82 |
+
public function __construct(\Wbcr_Factory439_Plugin $plugin)
|
83 |
{
|
84 |
$this->plugin = $plugin;
|
85 |
}
|
libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.po
DELETED
@@ -1,83 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: factory_forms\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-compatibility.php:80
|
21 |
-
msgid "warning"
|
22 |
-
msgstr "предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-compatibility.php:82
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s plugin has stopped."
|
27 |
-
msgstr "Работа плагина %s была остановлена."
|
28 |
-
|
29 |
-
#: includes/check-compatibility.php:83
|
30 |
-
msgid "Possible reasons:"
|
31 |
-
msgstr "Возможные причины:"
|
32 |
-
|
33 |
-
#: includes/check-compatibility.php:89
|
34 |
-
#, php-format
|
35 |
-
msgid "You need to update the PHP version to %s or higher!"
|
36 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
-
|
38 |
-
#: includes/check-compatibility.php:94
|
39 |
-
#, php-format
|
40 |
-
msgid "You need to update WordPress to %s or higher!"
|
41 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
-
|
43 |
-
#: includes/functions.php:132
|
44 |
-
#, php-format
|
45 |
-
msgid ""
|
46 |
-
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
-
msgstr ""
|
48 |
-
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
-
"Wordpress! Используйте %3$s."
|
50 |
-
|
51 |
-
#: includes/functions.php:134
|
52 |
-
#, php-format
|
53 |
-
msgid ""
|
54 |
-
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
-
"available."
|
56 |
-
msgstr ""
|
57 |
-
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
-
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
-
|
60 |
-
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
-
msgid ""
|
62 |
-
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
-
msgstr ""
|
64 |
-
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
-
|
66 |
-
#: includes/plugin.class.php:220
|
67 |
-
msgid ""
|
68 |
-
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
-
"Clicking this link will lead the user to a non-existent page."
|
70 |
-
msgstr ""
|
71 |
-
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
-
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
-
"к несуществующей странице."
|
74 |
-
|
75 |
-
#: includes/plugin.class.php:222
|
76 |
-
msgid ""
|
77 |
-
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
-
"earlier than the plugin menu will be registered."
|
79 |
-
msgstr ""
|
80 |
-
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
-
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/adverts/langs/wbcr_factory_adverts_112-ru_RU.mo
DELETED
Binary file
|
libs/factory/adverts/langs/wbcr_factory_adverts_112-ru_RU.po
DELETED
@@ -1,83 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: factory_forms\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-compatibility.php:80
|
21 |
-
msgid "warning"
|
22 |
-
msgstr "предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-compatibility.php:82
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s plugin has stopped."
|
27 |
-
msgstr "Работа плагина %s была остановлена."
|
28 |
-
|
29 |
-
#: includes/check-compatibility.php:83
|
30 |
-
msgid "Possible reasons:"
|
31 |
-
msgstr "Возможные причины:"
|
32 |
-
|
33 |
-
#: includes/check-compatibility.php:89
|
34 |
-
#, php-format
|
35 |
-
msgid "You need to update the PHP version to %s or higher!"
|
36 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
-
|
38 |
-
#: includes/check-compatibility.php:94
|
39 |
-
#, php-format
|
40 |
-
msgid "You need to update WordPress to %s or higher!"
|
41 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
-
|
43 |
-
#: includes/functions.php:132
|
44 |
-
#, php-format
|
45 |
-
msgid ""
|
46 |
-
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
-
msgstr ""
|
48 |
-
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
-
"Wordpress! Используйте %3$s."
|
50 |
-
|
51 |
-
#: includes/functions.php:134
|
52 |
-
#, php-format
|
53 |
-
msgid ""
|
54 |
-
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
-
"available."
|
56 |
-
msgstr ""
|
57 |
-
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
-
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
-
|
60 |
-
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
-
msgid ""
|
62 |
-
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
-
msgstr ""
|
64 |
-
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
-
|
66 |
-
#: includes/plugin.class.php:220
|
67 |
-
msgid ""
|
68 |
-
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
-
"Clicking this link will lead the user to a non-existent page."
|
70 |
-
msgstr ""
|
71 |
-
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
-
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
-
"к несуществующей странице."
|
74 |
-
|
75 |
-
#: includes/plugin.class.php:222
|
76 |
-
msgid ""
|
77 |
-
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
-
"earlier than the plugin menu will be registered."
|
79 |
-
msgstr ""
|
80 |
-
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
-
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/adverts/langs/wbcr_factory_adverts_114-ru_RU.mo
DELETED
Binary file
|
libs/factory/adverts/langs/wbcr_factory_adverts_114-ru_RU.po
DELETED
@@ -1,83 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: factory_forms\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-compatibility.php:80
|
21 |
-
msgid "warning"
|
22 |
-
msgstr "предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-compatibility.php:82
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s plugin has stopped."
|
27 |
-
msgstr "Работа плагина %s была остановлена."
|
28 |
-
|
29 |
-
#: includes/check-compatibility.php:83
|
30 |
-
msgid "Possible reasons:"
|
31 |
-
msgstr "Возможные причины:"
|
32 |
-
|
33 |
-
#: includes/check-compatibility.php:89
|
34 |
-
#, php-format
|
35 |
-
msgid "You need to update the PHP version to %s or higher!"
|
36 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
-
|
38 |
-
#: includes/check-compatibility.php:94
|
39 |
-
#, php-format
|
40 |
-
msgid "You need to update WordPress to %s or higher!"
|
41 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
-
|
43 |
-
#: includes/functions.php:132
|
44 |
-
#, php-format
|
45 |
-
msgid ""
|
46 |
-
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
-
msgstr ""
|
48 |
-
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
-
"Wordpress! Используйте %3$s."
|
50 |
-
|
51 |
-
#: includes/functions.php:134
|
52 |
-
#, php-format
|
53 |
-
msgid ""
|
54 |
-
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
-
"available."
|
56 |
-
msgstr ""
|
57 |
-
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
-
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
-
|
60 |
-
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
-
msgid ""
|
62 |
-
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
-
msgstr ""
|
64 |
-
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
-
|
66 |
-
#: includes/plugin.class.php:220
|
67 |
-
msgid ""
|
68 |
-
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
-
"Clicking this link will lead the user to a non-existent page."
|
70 |
-
msgstr ""
|
71 |
-
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
-
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
-
"к несуществующей странице."
|
74 |
-
|
75 |
-
#: includes/plugin.class.php:222
|
76 |
-
msgid ""
|
77 |
-
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
-
"earlier than the plugin menu will be registered."
|
79 |
-
msgstr ""
|
80 |
-
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
-
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/adverts/langs/{wbcr_factory_adverts_106-ru_RU.mo → wbcr_factory_adverts_117-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/adverts/langs/{wbcr_factory_adverts_106-ru_RU.po → wbcr_factory_adverts_117-ru_RU.po}
RENAMED
File without changes
|
libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-439 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-439 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-439 .factory-accordion-item{display:none}.factory-bootstrap-439 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-439 .factory-accordion>h3.active:hover{cursor:default}
|
libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
|
libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
|
libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,7 +8,7 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-436 article,.factory-bootstrap-436 aside,.factory-bootstrap-436 details,.factory-bootstrap-436 figcaption,.factory-bootstrap-436 figure,.factory-bootstrap-436 footer,.factory-bootstrap-436 header,.factory-bootstrap-436 hgroup,.factory-bootstrap-436 main,.factory-bootstrap-436 nav,.factory-bootstrap-436 section,.factory-bootstrap-436 summary{display:block}.factory-bootstrap-436 audio,.factory-bootstrap-436 canvas,.factory-bootstrap-436 video{display:inline-block}.factory-bootstrap-436 audio:not([controls]){display:none;height:0}.factory-bootstrap-436 [hidden],.factory-bootstrap-436 template{display:none}.factory-bootstrap-436 body{margin:0}.factory-bootstrap-436 a{background:0 0}.factory-bootstrap-436 a:focus{outline:thin dotted}.factory-bootstrap-436 a:active,.factory-bootstrap-436 a:hover{outline:0}.factory-bootstrap-436 h1{margin:.67em 0}.factory-bootstrap-436 b,.factory-bootstrap-436 strong{font-weight:700}.factory-bootstrap-436 dfn{font-style:italic}.factory-bootstrap-436 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-436 mark{color:#000;background:#ff0}.factory-bootstrap-436 code,.factory-bootstrap-436 kbd,.factory-bootstrap-436 pre,.factory-bootstrap-436 samp{font-size:1em}.factory-bootstrap-436 pre{white-space:pre-wrap}.factory-bootstrap-436 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-436 sub,.factory-bootstrap-436 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-436 sup{top:-.5em}.factory-bootstrap-436 sub{bottom:-.25em}.factory-bootstrap-436 img{border:0}.factory-bootstrap-436 svg:not(:root){overflow:hidden}.factory-bootstrap-436 figure{margin:0}.factory-bootstrap-436 button,.factory-bootstrap-436 input,.factory-bootstrap-436 select,.factory-bootstrap-436 textarea{margin:0}.factory-bootstrap-436 button,.factory-bootstrap-436 select{text-transform:none}.factory-bootstrap-436 select{padding-right:4px!important}.factory-bootstrap-436 button,.factory-bootstrap-436 input[type=reset],.factory-bootstrap-436 input[type=submit],html .factory-bootstrap-436 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-436 button[disabled],html .factory-bootstrap-436 input[disabled]{cursor:default}.factory-bootstrap-436 input[type=checkbox],.factory-bootstrap-436 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-436 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-436 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-436 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-436 button::-moz-focus-inner,.factory-bootstrap-436 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-436 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-436 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-436 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-436 a,.factory-bootstrap-436 a:visited{text-decoration:underline}.factory-bootstrap-436 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-436 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-436 a[href^="javascript:"]:after,.factory-bootstrap-436 a[href^="#"]:after{content:""}.factory-bootstrap-436 blockquote,.factory-bootstrap-436 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-436 thead{display:table-header-group}.factory-bootstrap-436 img,.factory-bootstrap-436 tr{page-break-inside:avoid}.factory-bootstrap-436 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-436 h2,.factory-bootstrap-436 h3,.factory-bootstrap-436 p{orphans:3;widows:3}.factory-bootstrap-436 h2,.factory-bootstrap-436 h3{page-break-after:avoid}.factory-bootstrap-436 select{background:#fff!important}.factory-bootstrap-436 .navbar{display:none}.factory-bootstrap-436 .table td,.factory-bootstrap-436 .table th{background-color:#fff!important}.factory-bootstrap-436 .btn>.caret,.factory-bootstrap-436 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-436 .label{border:1px solid #000}.factory-bootstrap-436 .table{border-collapse:collapse!important}.factory-bootstrap-436 .table-bordered td,.factory-bootstrap-436 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-436 *,.factory-bootstrap-436 :after,.factory-bootstrap-436 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-436{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-436 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-436 button,.factory-bootstrap-436 input,.factory-bootstrap-436 select,.factory-bootstrap-436 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-436 img{vertical-align:middle}.factory-bootstrap-436 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-436 .img-rounded{border-radius:6px}.factory-bootstrap-436 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-436 .img-circle{border-radius:50%}.factory-bootstrap-436 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-436 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-436 .h1,.factory-bootstrap-436 .h2,.factory-bootstrap-436 .h3,.factory-bootstrap-436 .h4,.factory-bootstrap-436 .h5,.factory-bootstrap-436 .h6,.factory-bootstrap-436 h1,.factory-bootstrap-436 h2,.factory-bootstrap-436 h3,.factory-bootstrap-436 h4,.factory-bootstrap-436 h5,.factory-bootstrap-436 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-436 .h1 .small,.factory-bootstrap-436 .h1 small,.factory-bootstrap-436 .h2 .small,.factory-bootstrap-436 .h2 small,.factory-bootstrap-436 .h3 .small,.factory-bootstrap-436 .h3 small,.factory-bootstrap-436 .h4 .small,.factory-bootstrap-436 .h4 small,.factory-bootstrap-436 .h5 .small,.factory-bootstrap-436 .h5 small,.factory-bootstrap-436 .h6 .small,.factory-bootstrap-436 .h6 small,.factory-bootstrap-436 h1 .small,.factory-bootstrap-436 h1 small,.factory-bootstrap-436 h2 .small,.factory-bootstrap-436 h2 small,.factory-bootstrap-436 h3 .small,.factory-bootstrap-436 h3 small,.factory-bootstrap-436 h4 .small,.factory-bootstrap-436 h4 small,.factory-bootstrap-436 h5 .small,.factory-bootstrap-436 h5 small,.factory-bootstrap-436 h6 .small,.factory-bootstrap-436 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-436 h1,.factory-bootstrap-436 h2,.factory-bootstrap-436 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-436 h1 .small,.factory-bootstrap-436 h1 small,.factory-bootstrap-436 h2 .small,.factory-bootstrap-436 h2 small,.factory-bootstrap-436 h3 .small,.factory-bootstrap-436 h3 small{font-size:65%}.factory-bootstrap-436 h4,.factory-bootstrap-436 h5,.factory-bootstrap-436 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-436 h4 .small,.factory-bootstrap-436 h4 small,.factory-bootstrap-436 h5 .small,.factory-bootstrap-436 h5 small,.factory-bootstrap-436 h6 .small,.factory-bootstrap-436 h6 small{font-size:75%}.factory-bootstrap-436 .h1,.factory-bootstrap-436 h1{font-size:36px}.factory-bootstrap-436 .h2,.factory-bootstrap-436 h2{font-size:30px}.factory-bootstrap-436 .h3,.factory-bootstrap-436 h3{font-size:24px}.factory-bootstrap-436 .h4,.factory-bootstrap-436 h4{font-size:18px}.factory-bootstrap-436 .h5,.factory-bootstrap-436 h5{font-size:14px}.factory-bootstrap-436 .h6,.factory-bootstrap-436 h6{font-size:12px}.factory-bootstrap-436 p{margin:0 0 10px}.factory-bootstrap-436 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-436 .small,.factory-bootstrap-436 small{font-size:85%}.factory-bootstrap-436 cite{font-style:normal}.factory-bootstrap-436 .text-muted{color:#999}.factory-bootstrap-436 .text-primary{color:#428bca}.factory-bootstrap-436 .text-primary:hover{color:#3071a9}.factory-bootstrap-436 .text-warning{color:#8a6d3b}.factory-bootstrap-436 .text-warning:hover{color:#66512c}.factory-bootstrap-436 .text-danger{color:#a94442}.factory-bootstrap-436 .text-danger:hover{color:#843534}.factory-bootstrap-436 .text-success{color:#3c763d}.factory-bootstrap-436 .text-success:hover{color:#2b542c}.factory-bootstrap-436 .text-info{color:#31708f}.factory-bootstrap-436 .text-info:hover{color:#245269}.factory-bootstrap-436 .text-left{text-align:left}.factory-bootstrap-436 .text-right{text-align:right}.factory-bootstrap-436 .text-center{text-align:center}.factory-bootstrap-436 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-436 ol,.factory-bootstrap-436 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-436 ol ol,.factory-bootstrap-436 ol ul,.factory-bootstrap-436 ul ol,.factory-bootstrap-436 ul ul{margin-bottom:0}.factory-bootstrap-436 .list-inline,.factory-bootstrap-436 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-436 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-436 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-436 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-436 dd,.factory-bootstrap-436 dt{line-height:1.428571429}.factory-bootstrap-436 dt{font-weight:700}.factory-bootstrap-436 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-436 abbr[data-original-title],.factory-bootstrap-436 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-436 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-436 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-436 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-436 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-436 blockquote .small,.factory-bootstrap-436 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-436 blockquote .small:before,.factory-bootstrap-436 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-436 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-436 blockquote.pull-right .small,.factory-bootstrap-436 blockquote.pull-right p,.factory-bootstrap-436 blockquote.pull-right small{text-align:right}.factory-bootstrap-436 blockquote.pull-right .small:before,.factory-bootstrap-436 blockquote.pull-right small:before{content:''}.factory-bootstrap-436 blockquote.pull-right .small:after,.factory-bootstrap-436 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-436 blockquote:after,.factory-bootstrap-436 blockquote:before{content:""}.factory-bootstrap-436 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-436 code,.factory-bootstrap-436 kbd,.factory-bootstrap-436 pre,.factory-bootstrap-436 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-436 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-436 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-436 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-436 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-436 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-436 .container:after,.factory-bootstrap-436 .container:before{display:table;content:" "}.factory-bootstrap-436 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-436 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-436 .row:after,.factory-bootstrap-436 .row:before{display:table;content:" "}.factory-bootstrap-436 .row:after{clear:both}.factory-bootstrap-436 .col-lg-1,.factory-bootstrap-436 .col-lg-10,.factory-bootstrap-436 .col-lg-11,.factory-bootstrap-436 .col-lg-12,.factory-bootstrap-436 .col-lg-2,.factory-bootstrap-436 .col-lg-3,.factory-bootstrap-436 .col-lg-4,.factory-bootstrap-436 .col-lg-5,.factory-bootstrap-436 .col-lg-6,.factory-bootstrap-436 .col-lg-7,.factory-bootstrap-436 .col-lg-8,.factory-bootstrap-436 .col-lg-9,.factory-bootstrap-436 .col-md-1,.factory-bootstrap-436 .col-md-10,.factory-bootstrap-436 .col-md-11,.factory-bootstrap-436 .col-md-12,.factory-bootstrap-436 .col-md-2,.factory-bootstrap-436 .col-md-3,.factory-bootstrap-436 .col-md-4,.factory-bootstrap-436 .col-md-5,.factory-bootstrap-436 .col-md-6,.factory-bootstrap-436 .col-md-7,.factory-bootstrap-436 .col-md-8,.factory-bootstrap-436 .col-md-9,.factory-bootstrap-436 .col-sm-1,.factory-bootstrap-436 .col-sm-10,.factory-bootstrap-436 .col-sm-11,.factory-bootstrap-436 .col-sm-12,.factory-bootstrap-436 .col-sm-2,.factory-bootstrap-436 .col-sm-3,.factory-bootstrap-436 .col-sm-4,.factory-bootstrap-436 .col-sm-5,.factory-bootstrap-436 .col-sm-6,.factory-bootstrap-436 .col-sm-7,.factory-bootstrap-436 .col-sm-8,.factory-bootstrap-436 .col-sm-9,.factory-bootstrap-436 .col-xs-1,.factory-bootstrap-436 .col-xs-10,.factory-bootstrap-436 .col-xs-11,.factory-bootstrap-436 .col-xs-12,.factory-bootstrap-436 .col-xs-2,.factory-bootstrap-436 .col-xs-3,.factory-bootstrap-436 .col-xs-4,.factory-bootstrap-436 .col-xs-5,.factory-bootstrap-436 .col-xs-6,.factory-bootstrap-436 .col-xs-7,.factory-bootstrap-436 .col-xs-8,.factory-bootstrap-436 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-436 .col-xs-1,.factory-bootstrap-436 .col-xs-10,.factory-bootstrap-436 .col-xs-11,.factory-bootstrap-436 .col-xs-12,.factory-bootstrap-436 .col-xs-2,.factory-bootstrap-436 .col-xs-3,.factory-bootstrap-436 .col-xs-4,.factory-bootstrap-436 .col-xs-5,.factory-bootstrap-436 .col-xs-6,.factory-bootstrap-436 .col-xs-7,.factory-bootstrap-436 .col-xs-8,.factory-bootstrap-436 .col-xs-9{float:left}.factory-bootstrap-436 .col-xs-12{width:100%}.factory-bootstrap-436 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-436 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-436 .col-xs-9{width:75%}.factory-bootstrap-436 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-436 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-436 .col-xs-6{width:50%}.factory-bootstrap-436 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-436 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-436 .col-xs-3{width:25%}.factory-bootstrap-436 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-436 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-436 .col-xs-pull-12{right:100%}.factory-bootstrap-436 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-436 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-436 .col-xs-pull-9{right:75%}.factory-bootstrap-436 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-436 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-436 .col-xs-pull-6{right:50%}.factory-bootstrap-436 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-436 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-436 .col-xs-pull-3{right:25%}.factory-bootstrap-436 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-436 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-436 .col-xs-pull-0{right:0}.factory-bootstrap-436 .col-xs-push-12{left:100%}.factory-bootstrap-436 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-436 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-436 .col-xs-push-9{left:75%}.factory-bootstrap-436 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-436 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-436 .col-xs-push-6{left:50%}.factory-bootstrap-436 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-436 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-436 .col-xs-push-3{left:25%}.factory-bootstrap-436 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-436 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-436 .col-xs-push-0{left:0}.factory-bootstrap-436 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-436 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-436 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-436 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-436 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-436 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-436 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-436 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-436 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-436 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-436 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-436 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-436 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-436 table{max-width:100%;background-color:transparent}.factory-bootstrap-436 th{text-align:left}.factory-bootstrap-436 .table{width:100%;margin-bottom:20px}.factory-bootstrap-436 .table>tbody>tr>td,.factory-bootstrap-436 .table>tbody>tr>th,.factory-bootstrap-436 .table>tfoot>tr>td,.factory-bootstrap-436 .table>tfoot>tr>th,.factory-bootstrap-436 .table>thead>tr>td,.factory-bootstrap-436 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-436 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-436 .table>caption+thead>tr:first-child>td,.factory-bootstrap-436 .table>caption+thead>tr:first-child>th,.factory-bootstrap-436 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-436 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-436 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-436 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-436 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-436 .table .table{background-color:#fff}.factory-bootstrap-436 .table-condensed>tbody>tr>td,.factory-bootstrap-436 .table-condensed>tbody>tr>th,.factory-bootstrap-436 .table-condensed>tfoot>tr>td,.factory-bootstrap-436 .table-condensed>tfoot>tr>th,.factory-bootstrap-436 .table-condensed>thead>tr>td,.factory-bootstrap-436 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-436 .table-bordered,.factory-bootstrap-436 .table-bordered>tbody>tr>td,.factory-bootstrap-436 .table-bordered>tbody>tr>th,.factory-bootstrap-436 .table-bordered>tfoot>tr>td,.factory-bootstrap-436 .table-bordered>tfoot>tr>th,.factory-bootstrap-436 .table-bordered>thead>tr>td,.factory-bootstrap-436 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-436 .table-bordered>thead>tr>td,.factory-bootstrap-436 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-436 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-436 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-436 .table-hover>tbody>tr:hover>td,.factory-bootstrap-436 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-436 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-436 table td[class*=col-],.factory-bootstrap-436 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-436 .table>tbody>.active>td,.factory-bootstrap-436 .table>tbody>.active>th,.factory-bootstrap-436 .table>tbody>tr>.active,.factory-bootstrap-436 .table>tfoot>.active>td,.factory-bootstrap-436 .table>tfoot>.active>th,.factory-bootstrap-436 .table>tfoot>tr>.active,.factory-bootstrap-436 .table>thead>.active>td,.factory-bootstrap-436 .table>thead>.active>th,.factory-bootstrap-436 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-436 .table-hover>tbody>.active:hover>td,.factory-bootstrap-436 .table-hover>tbody>.active:hover>th,.factory-bootstrap-436 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-436 .table>tbody>.success>td,.factory-bootstrap-436 .table>tbody>.success>th,.factory-bootstrap-436 .table>tbody>tr>.success,.factory-bootstrap-436 .table>tfoot>.success>td,.factory-bootstrap-436 .table>tfoot>.success>th,.factory-bootstrap-436 .table>tfoot>tr>.success,.factory-bootstrap-436 .table>thead>.success>td,.factory-bootstrap-436 .table>thead>.success>th,.factory-bootstrap-436 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-436 .table-hover>tbody>.success:hover>td,.factory-bootstrap-436 .table-hover>tbody>.success:hover>th,.factory-bootstrap-436 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-436 .table>tbody>.danger>td,.factory-bootstrap-436 .table>tbody>.danger>th,.factory-bootstrap-436 .table>tbody>tr>.danger,.factory-bootstrap-436 .table>tfoot>.danger>td,.factory-bootstrap-436 .table>tfoot>.danger>th,.factory-bootstrap-436 .table>tfoot>tr>.danger,.factory-bootstrap-436 .table>thead>.danger>td,.factory-bootstrap-436 .table>thead>.danger>th,.factory-bootstrap-436 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-436 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-436 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-436 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-436 .table>tbody>.warning>td,.factory-bootstrap-436 .table>tbody>.warning>th,.factory-bootstrap-436 .table>tbody>tr>.warning,.factory-bootstrap-436 .table>tfoot>.warning>td,.factory-bootstrap-436 .table>tfoot>.warning>th,.factory-bootstrap-436 .table>tfoot>tr>.warning,.factory-bootstrap-436 .table>thead>.warning>td,.factory-bootstrap-436 .table>thead>.warning>th,.factory-bootstrap-436 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-436 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-436 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-436 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-436 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-436 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-436 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-436 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-436 input[type=checkbox],.factory-bootstrap-436 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-436 input[type=file]{display:block}.factory-bootstrap-436 select[multiple],.factory-bootstrap-436 select[size]{height:auto}.factory-bootstrap-436 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-436 input[type=checkbox]:focus,.factory-bootstrap-436 input[type=file]:focus,.factory-bootstrap-436 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-436 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-436 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-436 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-436 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-436 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-436 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-436 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-436 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-436 .form-control[disabled],.factory-bootstrap-436 .form-control[readonly],.factory-bootstrap-436 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-436 textarea.form-control{height:auto}.factory-bootstrap-436 .form-group{margin-bottom:15px}.factory-bootstrap-436 .checkbox,.factory-bootstrap-436 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-436 .checkbox label,.factory-bootstrap-436 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-436 .checkbox input[type=checkbox],.factory-bootstrap-436 .checkbox-inline input[type=checkbox],.factory-bootstrap-436 .radio input[type=radio],.factory-bootstrap-436 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-436 .checkbox+.checkbox,.factory-bootstrap-436 .radio+.radio{margin-top:-5px}.factory-bootstrap-436 .checkbox-inline,.factory-bootstrap-436 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-436 .checkbox-inline+.checkbox-inline,.factory-bootstrap-436 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-436 .checkbox-inline[disabled],.factory-bootstrap-436 .checkbox[disabled],.factory-bootstrap-436 .radio-inline[disabled],.factory-bootstrap-436 .radio[disabled],.factory-bootstrap-436 fieldset[disabled] .checkbox,.factory-bootstrap-436 fieldset[disabled] .checkbox-inline,.factory-bootstrap-436 fieldset[disabled] .radio,.factory-bootstrap-436 fieldset[disabled] .radio-inline,.factory-bootstrap-436 fieldset[disabled] input[type=checkbox],.factory-bootstrap-436 fieldset[disabled] input[type=radio],.factory-bootstrap-436 input[type=checkbox][disabled],.factory-bootstrap-436 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-436 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-436 textarea.input-sm{height:auto}.factory-bootstrap-436 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-436 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-436 textarea.input-lg{height:auto}.factory-bootstrap-436 .has-warning .checkbox,.factory-bootstrap-436 .has-warning .checkbox-inline,.factory-bootstrap-436 .has-warning .control-label,.factory-bootstrap-436 .has-warning .help-block,.factory-bootstrap-436 .has-warning .radio,.factory-bootstrap-436 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-436 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-436 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-436 .has-error .checkbox,.factory-bootstrap-436 .has-error .checkbox-inline,.factory-bootstrap-436 .has-error .control-label,.factory-bootstrap-436 .has-error .help-block,.factory-bootstrap-436 .has-error .radio,.factory-bootstrap-436 .has-error .radio-inline{color:#a94442}.factory-bootstrap-436 .controls{display:block}.factory-bootstrap-436 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-436 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-436 .has-success .checkbox,.factory-bootstrap-436 .has-success .checkbox-inline,.factory-bootstrap-436 .has-success .control-label,.factory-bootstrap-436 .has-success .help-block,.factory-bootstrap-436 .has-success .radio,.factory-bootstrap-436 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-436 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-436 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-436 .form-control-static{margin-bottom:0}.factory-bootstrap-436 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-436 .form-horizontal .checkbox,.factory-bootstrap-436 .form-horizontal .checkbox-inline,.factory-bootstrap-436 .form-horizontal .control-label,.factory-bootstrap-436 .form-horizontal .radio,.factory-bootstrap-436 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-436 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-436 .form-horizontal .checkbox,.factory-bootstrap-436 .form-horizontal .radio{min-height:27px}.factory-bootstrap-436 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-436 .form-horizontal .form-group:after,.factory-bootstrap-436 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-436 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-436 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-436 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-436 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-436 .btn{text-decoration:none}.factory-bootstrap-436 .btn:focus,.factory-bootstrap-436 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-436 .btn.disabled,.factory-bootstrap-436 .btn[disabled],.factory-bootstrap-436 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-436 .btn-default.active,.factory-bootstrap-436 .btn-default:active,.factory-bootstrap-436 .btn-default:focus,.factory-bootstrap-436 .btn-default:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-436 .btn-default.active,.factory-bootstrap-436 .btn-default:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-436 .btn-default.disabled,.factory-bootstrap-436 .btn-default.disabled.active,.factory-bootstrap-436 .btn-default.disabled:active,.factory-bootstrap-436 .btn-default.disabled:focus,.factory-bootstrap-436 .btn-default.disabled:hover,.factory-bootstrap-436 .btn-default[disabled],.factory-bootstrap-436 .btn-default[disabled].active,.factory-bootstrap-436 .btn-default[disabled]:active,.factory-bootstrap-436 .btn-default[disabled]:focus,.factory-bootstrap-436 .btn-default[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-default,.factory-bootstrap-436 fieldset[disabled] .btn-default.active,.factory-bootstrap-436 fieldset[disabled] .btn-default:active,.factory-bootstrap-436 fieldset[disabled] .btn-default:focus,.factory-bootstrap-436 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-436 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-436 .btn-primary.active,.factory-bootstrap-436 .btn-primary:active,.factory-bootstrap-436 .btn-primary:focus,.factory-bootstrap-436 .btn-primary:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-436 .btn-primary.active,.factory-bootstrap-436 .btn-primary:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-436 .btn-primary.disabled,.factory-bootstrap-436 .btn-primary.disabled.active,.factory-bootstrap-436 .btn-primary.disabled:active,.factory-bootstrap-436 .btn-primary.disabled:focus,.factory-bootstrap-436 .btn-primary.disabled:hover,.factory-bootstrap-436 .btn-primary[disabled],.factory-bootstrap-436 .btn-primary[disabled].active,.factory-bootstrap-436 .btn-primary[disabled]:active,.factory-bootstrap-436 .btn-primary[disabled]:focus,.factory-bootstrap-436 .btn-primary[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-primary,.factory-bootstrap-436 fieldset[disabled] .btn-primary.active,.factory-bootstrap-436 fieldset[disabled] .btn-primary:active,.factory-bootstrap-436 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-436 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-436 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-436 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-436 .btn-warning.active,.factory-bootstrap-436 .btn-warning:active,.factory-bootstrap-436 .btn-warning:focus,.factory-bootstrap-436 .btn-warning:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-436 .btn-warning.active,.factory-bootstrap-436 .btn-warning:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-436 .btn-warning.disabled,.factory-bootstrap-436 .btn-warning.disabled.active,.factory-bootstrap-436 .btn-warning.disabled:active,.factory-bootstrap-436 .btn-warning.disabled:focus,.factory-bootstrap-436 .btn-warning.disabled:hover,.factory-bootstrap-436 .btn-warning[disabled],.factory-bootstrap-436 .btn-warning[disabled].active,.factory-bootstrap-436 .btn-warning[disabled]:active,.factory-bootstrap-436 .btn-warning[disabled]:focus,.factory-bootstrap-436 .btn-warning[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-warning,.factory-bootstrap-436 fieldset[disabled] .btn-warning.active,.factory-bootstrap-436 fieldset[disabled] .btn-warning:active,.factory-bootstrap-436 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-436 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-436 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-436 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-436 .btn-success.active,.factory-bootstrap-436 .btn-success:active,.factory-bootstrap-436 .btn-success:focus,.factory-bootstrap-436 .btn-success:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-436 .btn-success.active,.factory-bootstrap-436 .btn-success:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-436 .btn-success.disabled,.factory-bootstrap-436 .btn-success.disabled.active,.factory-bootstrap-436 .btn-success.disabled:active,.factory-bootstrap-436 .btn-success.disabled:focus,.factory-bootstrap-436 .btn-success.disabled:hover,.factory-bootstrap-436 .btn-success[disabled],.factory-bootstrap-436 .btn-success[disabled].active,.factory-bootstrap-436 .btn-success[disabled]:active,.factory-bootstrap-436 .btn-success[disabled]:focus,.factory-bootstrap-436 .btn-success[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-success,.factory-bootstrap-436 fieldset[disabled] .btn-success.active,.factory-bootstrap-436 fieldset[disabled] .btn-success:active,.factory-bootstrap-436 fieldset[disabled] .btn-success:focus,.factory-bootstrap-436 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-436 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-436 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-436 .btn-info.active,.factory-bootstrap-436 .btn-info:active,.factory-bootstrap-436 .btn-info:focus,.factory-bootstrap-436 .btn-info:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-436 .btn-info.active,.factory-bootstrap-436 .btn-info:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-436 .btn-info.disabled,.factory-bootstrap-436 .btn-info.disabled.active,.factory-bootstrap-436 .btn-info.disabled:active,.factory-bootstrap-436 .btn-info.disabled:focus,.factory-bootstrap-436 .btn-info.disabled:hover,.factory-bootstrap-436 .btn-info[disabled],.factory-bootstrap-436 .btn-info[disabled].active,.factory-bootstrap-436 .btn-info[disabled]:active,.factory-bootstrap-436 .btn-info[disabled]:focus,.factory-bootstrap-436 .btn-info[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-info,.factory-bootstrap-436 fieldset[disabled] .btn-info.active,.factory-bootstrap-436 fieldset[disabled] .btn-info:active,.factory-bootstrap-436 fieldset[disabled] .btn-info:focus,.factory-bootstrap-436 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-436 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-436 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-436 .btn-link,.factory-bootstrap-436 .btn-link:active,.factory-bootstrap-436 .btn-link[disabled],.factory-bootstrap-436 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-436 .btn-link,.factory-bootstrap-436 .btn-link:active,.factory-bootstrap-436 .btn-link:focus,.factory-bootstrap-436 .btn-link:hover{border-color:transparent}.factory-bootstrap-436 .btn-link:focus,.factory-bootstrap-436 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-436 .btn-link[disabled]:focus,.factory-bootstrap-436 .btn-link[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-link:focus,.factory-bootstrap-436 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-436 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-436 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-436 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-436 input[type=button].btn-block,.factory-bootstrap-436 input[type=reset].btn-block,.factory-bootstrap-436 input[type=submit].btn-block{width:100%}.factory-bootstrap-436 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-436 .fade.in{opacity:1}.factory-bootstrap-436 .collapse{display:none}.factory-bootstrap-436 .collapse.in{display:block}.factory-bootstrap-436 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-436 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-436 .glyphicon:empty{width:1em}.factory-bootstrap-436 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-436 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-436 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-436 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-436 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-436 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-436 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-436 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-436 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-436 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-436 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-436 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-436 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-436 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-436 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-436 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-436 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-436 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-436 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-436 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-436 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-436 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-436 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-436 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-436 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-436 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-436 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-436 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-436 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-436 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-436 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-436 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-436 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-436 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-436 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-436 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-436 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-436 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-436 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-436 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-436 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-436 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-436 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-436 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-436 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-436 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-436 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-436 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-436 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-436 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-436 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-436 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-436 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-436 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-436 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-436 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-436 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-436 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-436 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-436 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-436 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-436 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-436 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-436 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-436 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-436 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-436 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-436 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-436 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-436 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-436 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-436 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-436 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-436 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-436 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-436 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-436 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-436 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-436 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-436 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-436 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-436 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-436 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-436 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-436 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-436 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-436 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-436 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-436 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-436 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-436 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-436 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-436 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-436 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-436 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-436 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-436 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-436 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-436 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-436 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-436 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-436 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-436 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-436 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-436 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-436 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-436 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-436 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-436 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-436 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-436 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-436 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-436 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-436 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-436 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-436 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-436 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-436 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-436 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-436 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-436 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-436 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-436 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-436 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-436 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-436 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-436 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-436 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-436 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-436 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-436 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-436 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-436 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-436 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-436 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-436 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-436 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-436 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-436 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-436 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-436 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-436 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-436 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-436 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-436 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-436 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-436 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-436 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-436 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-436 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-436 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-436 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-436 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-436 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-436 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-436 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-436 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-436 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-436 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-436 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-436 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-436 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-436 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-436 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-436 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-436 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-436 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-436 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-436 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-436 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-436 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-436 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-436 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-436 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-436 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-436 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-436 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-436 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-436 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-436 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-436 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-436 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-436 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-436 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-436 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-436 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-436 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-436 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-436 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-436 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-436 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-436 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-436 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-436 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-436 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-436 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-436 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-436 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-436 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-436 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-436 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-436 .dropdown{position:relative}.factory-bootstrap-436 .dropdown-toggle:focus{outline:0}.factory-bootstrap-436 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-436 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-436 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-436 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-436 .dropdown-menu>li>a:focus,.factory-bootstrap-436 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-436 .dropdown-menu>.active>a,.factory-bootstrap-436 .dropdown-menu>.active>a:focus,.factory-bootstrap-436 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-436 .dropdown-menu>.disabled>a,.factory-bootstrap-436 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-436 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-436 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-436 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .open>.dropdown-menu{display:block}.factory-bootstrap-436 .open>a{outline:0}.factory-bootstrap-436 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-436 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-436 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-436 .dropup .caret,.factory-bootstrap-436 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-436 .dropup .dropdown-menu,.factory-bootstrap-436 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-436 .btn-group,.factory-bootstrap-436 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-436 .btn-group-vertical>.btn,.factory-bootstrap-436 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-436 .btn-group-vertical>.btn.active,.factory-bootstrap-436 .btn-group-vertical>.btn:active,.factory-bootstrap-436 .btn-group-vertical>.btn:focus,.factory-bootstrap-436 .btn-group-vertical>.btn:hover,.factory-bootstrap-436 .btn-group>.btn.active,.factory-bootstrap-436 .btn-group>.btn:active,.factory-bootstrap-436 .btn-group>.btn:focus,.factory-bootstrap-436 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-436 .btn-group-vertical>.btn:focus,.factory-bootstrap-436 .btn-group>.btn:focus{outline:0}.factory-bootstrap-436 .btn-group .btn+.btn,.factory-bootstrap-436 .btn-group .btn+.btn-group,.factory-bootstrap-436 .btn-group .btn-group+.btn,.factory-bootstrap-436 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-436 .btn-toolbar:after,.factory-bootstrap-436 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-436 .btn-toolbar:after{clear:both}.factory-bootstrap-436 .btn-toolbar .btn-group{float:left}.factory-bootstrap-436 .btn-toolbar>.btn+.btn,.factory-bootstrap-436 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-436 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-436 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-436 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-436 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-436 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-436 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-436 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .btn-group>.btn-group{float:left}.factory-bootstrap-436 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-436 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-436 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-436 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .btn-group .dropdown-toggle:active,.factory-bootstrap-436 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-436 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-436 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-436 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-436 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-436 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-436 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-436 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-436 .btn .caret{margin-left:0}.factory-bootstrap-436 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-436 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-436 .btn-group-vertical>.btn,.factory-bootstrap-436 .btn-group-vertical>.btn-group,.factory-bootstrap-436 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-436 .btn-group-vertical>.btn-group:after,.factory-bootstrap-436 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-436 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-436 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-436 .btn-group-vertical>.btn+.btn,.factory-bootstrap-436 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-436 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-436 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-436 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-436 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-436 .btn-group-justified>.btn,.factory-bootstrap-436 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-436 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-436 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-436 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-436 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-436 .input-group-lg>.form-control,.factory-bootstrap-436 .input-group-lg>.input-group-addon,.factory-bootstrap-436 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-436 select.input-group-lg>.form-control,.factory-bootstrap-436 select.input-group-lg>.input-group-addon,.factory-bootstrap-436 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-436 textarea.input-group-lg>.form-control,.factory-bootstrap-436 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-436 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-436 .input-group-sm>.form-control,.factory-bootstrap-436 .input-group-sm>.input-group-addon,.factory-bootstrap-436 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 select.input-group-sm>.form-control,.factory-bootstrap-436 select.input-group-sm>.input-group-addon,.factory-bootstrap-436 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-436 textarea.input-group-sm>.form-control,.factory-bootstrap-436 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-436 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-436 .input-group .form-control,.factory-bootstrap-436 .input-group-addon,.factory-bootstrap-436 .input-group-btn{display:table-cell}.factory-bootstrap-436 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-436 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-436 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-436 .input-group-addon,.factory-bootstrap-436 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-436 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-436 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-436 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-436 .input-group-addon input[type=checkbox],.factory-bootstrap-436 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-436 .input-group .form-control:first-child,.factory-bootstrap-436 .input-group-addon:first-child,.factory-bootstrap-436 .input-group-btn:first-child>.btn,.factory-bootstrap-436 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-436 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-436 .input-group-addon:first-child{border-right:0}.factory-bootstrap-436 .input-group .form-control:last-child,.factory-bootstrap-436 .input-group-addon:last-child,.factory-bootstrap-436 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-436 .input-group-btn:last-child>.btn,.factory-bootstrap-436 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .input-group-addon:last-child{border-left:0}.factory-bootstrap-436 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-436 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-436 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-436 .input-group-btn>.btn{position:relative}.factory-bootstrap-436 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-436 .input-group-btn>.btn:active,.factory-bootstrap-436 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-436 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-436 .nav:after,.factory-bootstrap-436 .nav:before{display:table;content:" "}.factory-bootstrap-436 .nav:after{clear:both}.factory-bootstrap-436 .nav>li{position:relative;display:block}.factory-bootstrap-436 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-436 .nav>li>a:focus,.factory-bootstrap-436 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-436 .nav>li.disabled>a{color:#999}.factory-bootstrap-436 .nav>li.disabled>a:focus,.factory-bootstrap-436 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-436 .nav .open>a,.factory-bootstrap-436 .nav .open>a:focus,.factory-bootstrap-436 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-436 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-436 .nav>li>a>img{max-width:none}.factory-bootstrap-436 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-436 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-436 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-436 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-436 .nav-tabs>li.active>a,.factory-bootstrap-436 .nav-tabs>li.active>a:focus,.factory-bootstrap-436 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-436 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-436 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-436 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-436 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-436 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-436 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-436 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-436 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-436 .nav-pills>li{float:left}.factory-bootstrap-436 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-436 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-436 .nav-pills>li.active>a,.factory-bootstrap-436 .nav-pills>li.active>a:focus,.factory-bootstrap-436 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-436 .nav-stacked>li{float:none}.factory-bootstrap-436 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-436 .nav-justified{width:100%}.factory-bootstrap-436 .nav-justified>li{float:none}.factory-bootstrap-436 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-436 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-436 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-436 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-436 .nav-tabs-justified>.active>a,.factory-bootstrap-436 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-436 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-436 .tab-content>.tab-pane{display:none}.factory-bootstrap-436 .tab-content>.active{display:block}.factory-bootstrap-436 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-436 .navbar:after,.factory-bootstrap-436 .navbar:before{display:table;content:" "}.factory-bootstrap-436 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-436 .navbar-header:after,.factory-bootstrap-436 .navbar-header:before{display:table;content:" "}.factory-bootstrap-436 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-436 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-436 .navbar-collapse:after,.factory-bootstrap-436 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-436 .navbar-collapse:after{clear:both}.factory-bootstrap-436 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-436 .container>.navbar-collapse,.factory-bootstrap-436 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-436 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-436 .navbar-fixed-bottom,.factory-bootstrap-436 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-436 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-436 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-436 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-436 .navbar-brand:focus,.factory-bootstrap-436 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-436 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-436 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-436 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-436 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-436 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-436 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-436 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-436 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-436 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-436 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-436 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-436 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-436 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-436 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-436 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-436 .navbar-default .navbar-brand:focus,.factory-bootstrap-436 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-436 .navbar-default .navbar-nav>li>a,.factory-bootstrap-436 .navbar-default .navbar-text{color:#777}.factory-bootstrap-436 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-436 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-436 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-436 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-436 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-436 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-436 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-436 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-436 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-436 .navbar-default .navbar-toggle:focus,.factory-bootstrap-436 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-436 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-436 .navbar-default .navbar-collapse,.factory-bootstrap-436 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-436 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-436 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-436 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-436 .navbar-default .navbar-link{color:#777}.factory-bootstrap-436 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-436 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-436 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-436 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-436 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-436 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-436 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-436 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-436 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-436 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-436 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-436 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-436 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-436 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-436 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-436 .navbar-inverse .navbar-collapse,.factory-bootstrap-436 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-436 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-436 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-436 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-436 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-436 .breadcrumb>li{display:inline-block}.factory-bootstrap-436 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-436 .breadcrumb>.active{color:#999}.factory-bootstrap-436 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-436 .pagination>li{display:inline}.factory-bootstrap-436 .pagination>li>a,.factory-bootstrap-436 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-436 .pagination>li:first-child>a,.factory-bootstrap-436 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-436 .pagination>li:last-child>a,.factory-bootstrap-436 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-436 .pagination>li>a:focus,.factory-bootstrap-436 .pagination>li>a:hover,.factory-bootstrap-436 .pagination>li>span:focus,.factory-bootstrap-436 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-436 .pagination>.disabled>a,.factory-bootstrap-436 .pagination>.disabled>a:focus,.factory-bootstrap-436 .pagination>.disabled>a:hover,.factory-bootstrap-436 .pagination>.disabled>span,.factory-bootstrap-436 .pagination>.disabled>span:focus,.factory-bootstrap-436 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-436 .pagination-lg>li>a,.factory-bootstrap-436 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-436 .pagination-lg>li:first-child>a,.factory-bootstrap-436 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-436 .pagination-lg>li:last-child>a,.factory-bootstrap-436 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-436 .pagination-sm>li>a,.factory-bootstrap-436 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-436 .pagination-sm>li:first-child>a,.factory-bootstrap-436 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-436 .pagination-sm>li:last-child>a,.factory-bootstrap-436 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-436 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-436 .pager:after,.factory-bootstrap-436 .pager:before{display:table;content:" "}.factory-bootstrap-436 .pager:after{clear:both}.factory-bootstrap-436 .pager li{display:inline}.factory-bootstrap-436 .pager li>a,.factory-bootstrap-436 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-436 .pager li>a:focus,.factory-bootstrap-436 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-436 .pager .next>a,.factory-bootstrap-436 .pager .next>span{float:right}.factory-bootstrap-436 .pager .previous>a,.factory-bootstrap-436 .pager .previous>span{float:left}.factory-bootstrap-436 .pager .disabled>a,.factory-bootstrap-436 .pager .disabled>a:focus,.factory-bootstrap-436 .pager .disabled>a:hover,.factory-bootstrap-436 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-436 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-436 .label[href]:focus,.factory-bootstrap-436 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-436 .label:empty{display:none}.factory-bootstrap-436 .btn .label{position:relative;top:-1px}.factory-bootstrap-436 .label-default{background-color:#999}.factory-bootstrap-436 .label-default[href]:focus,.factory-bootstrap-436 .label-default[href]:hover{background-color:gray}.factory-bootstrap-436 .label-primary{background-color:#428bca}.factory-bootstrap-436 .label-primary[href]:focus,.factory-bootstrap-436 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-436 .label-success{background-color:#5cb85c}.factory-bootstrap-436 .label-success[href]:focus,.factory-bootstrap-436 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-436 .label-info{background-color:#5bc0de}.factory-bootstrap-436 .label-info[href]:focus,.factory-bootstrap-436 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-436 .label-warning{background-color:#f0ad4e}.factory-bootstrap-436 .label-warning[href]:focus,.factory-bootstrap-436 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-436 .label-danger{background-color:#d9534f}.factory-bootstrap-436 .label-danger[href]:focus,.factory-bootstrap-436 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-436 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-436 .badge:empty{display:none}.factory-bootstrap-436 .btn .badge{position:relative;top:-1px}.factory-bootstrap-436 a.badge:focus,.factory-bootstrap-436 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-436 .nav-pills>.active>a>.badge,.factory-bootstrap-436 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-436 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-436 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-436 .jumbotron .h1,.factory-bootstrap-436 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-436 .jumbotron p{line-height:1.4}.factory-bootstrap-436 .container .jumbotron{border-radius:6px}.factory-bootstrap-436 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-436 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-436 .thumbnail a>img,.factory-bootstrap-436 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-436 a.thumbnail.active,.factory-bootstrap-436 a.thumbnail:focus,.factory-bootstrap-436 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-436 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-436 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-436 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-436 .alert .alert-link{font-weight:700}.factory-bootstrap-436 .alert>p,.factory-bootstrap-436 .alert>ul{margin-bottom:0}.factory-bootstrap-436 .alert>p+p{margin-top:5px}.factory-bootstrap-436 .alert-dismissable{padding-right:35px}.factory-bootstrap-436 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-436 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-436 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-436 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-436 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-436 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-436 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-436 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-436 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-436 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-436 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-436 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-436 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-436 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-436 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-436 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-436 .media,.factory-bootstrap-436 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-436 .media,.factory-bootstrap-436 .media .media{margin-top:15px}.factory-bootstrap-436 .media:first-child{margin-top:0}.factory-bootstrap-436 .media-object{display:block}.factory-bootstrap-436 .media-heading{margin:0 0 5px}.factory-bootstrap-436 .media>.pull-left{margin-right:10px}.factory-bootstrap-436 .media>.pull-right{margin-left:10px}.factory-bootstrap-436 .media-list{padding-left:0;list-style:none}.factory-bootstrap-436 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-436 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-436 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-436 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-436 .list-group-item>.badge{float:right}.factory-bootstrap-436 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-436 a.list-group-item{color:#555}.factory-bootstrap-436 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-436 a.list-group-item:focus,.factory-bootstrap-436 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-436 a.list-group-item.active,.factory-bootstrap-436 a.list-group-item.active:focus,.factory-bootstrap-436 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-436 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-436 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-436 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-436 a.list-group-item.active .list-group-item-text,.factory-bootstrap-436 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-436 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-436 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-436 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-436 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-436 .panel-body{padding:15px}.factory-bootstrap-436 .panel-body:after,.factory-bootstrap-436 .panel-body:before{display:table;content:" "}.factory-bootstrap-436 .panel-body:after{clear:both}.factory-bootstrap-436 .panel>.list-group{margin-bottom:0}.factory-bootstrap-436 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-436 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-436 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-436 .panel>.table,.factory-bootstrap-436 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-436 .panel>.panel-body+.table,.factory-bootstrap-436 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-436 .panel>.table>tbody:first-child td,.factory-bootstrap-436 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-436 .panel>.table-bordered,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-436 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-436 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-436 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-436 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-436 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-436 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-436 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-436 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-436 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-436 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-436 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-436 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-436 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-436 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-436 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-436 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-436 .panel-title>a{color:inherit}.factory-bootstrap-436 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-436 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-436 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-436 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-436 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-436 .panel-group .panel-footer{border-top:0}.factory-bootstrap-436 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-436 .panel-default{border-color:#ddd}.factory-bootstrap-436 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-436 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-436 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-436 .panel-primary{border-color:#428bca}.factory-bootstrap-436 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-436 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-436 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-436 .panel-success{border-color:#d6e9c6}.factory-bootstrap-436 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-436 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-436 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-436 .panel-warning{border-color:#faebcc}.factory-bootstrap-436 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-436 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-436 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-436 .panel-danger{border-color:#ebccd1}.factory-bootstrap-436 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-436 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-436 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-436 .panel-info{border-color:#bce8f1}.factory-bootstrap-436 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-436 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-436 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-436 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-436 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-436 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-436 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-436 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-436 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-436 .close:focus,.factory-bootstrap-436 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-436 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-436 .modal-open{overflow:hidden}.factory-bootstrap-436 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-436 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-436 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-436 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-436 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-436 .modal-backdrop,.factory-bootstrap-436-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-436 .modal-backdrop.fade,.factory-bootstrap-436-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-436 .modal-backdrop.in,.factory-bootstrap-436-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-436 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-436 .modal-header .close{margin-top:-2px}.factory-bootstrap-436 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-436 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-436 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-436 .modal-footer:after,.factory-bootstrap-436 .modal-footer:before{display:table;content:" "}.factory-bootstrap-436 .modal-footer:after{clear:both}.factory-bootstrap-436 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-436 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-436 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-436 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-436 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-436 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-436 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-436 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-436 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-436 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-436 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-436 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-436 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-436 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-436 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-436 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-436 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-436 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-436 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-436 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-436 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-436 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-436 .popover.top{margin-top:-10px}.factory-bootstrap-436 .popover.right{margin-left:10px}.factory-bootstrap-436 .popover.bottom{margin-top:10px}.factory-bootstrap-436 .popover.left{margin-left:-10px}.factory-bootstrap-436 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-436 .popover-content{padding:9px 14px}.factory-bootstrap-436 .popover .arrow,.factory-bootstrap-436 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-436 .popover .arrow{border-width:11px}.factory-bootstrap-436 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-436 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-436 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-436 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-436 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-436 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-436 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-436 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-436 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-436 .carousel{position:relative}.factory-bootstrap-436 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-436 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-436 .carousel-inner>.item>a>img,.factory-bootstrap-436 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-436 .carousel-inner>.active,.factory-bootstrap-436 .carousel-inner>.next,.factory-bootstrap-436 .carousel-inner>.prev{display:block}.factory-bootstrap-436 .carousel-inner>.active{left:0}.factory-bootstrap-436 .carousel-inner>.next,.factory-bootstrap-436 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-436 .carousel-inner>.next{left:100%}.factory-bootstrap-436 .carousel-inner>.prev{left:-100%}.factory-bootstrap-436 .carousel-inner>.next.left,.factory-bootstrap-436 .carousel-inner>.prev.right{left:0}.factory-bootstrap-436 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-436 .carousel-inner>.active.right{left:100%}.factory-bootstrap-436 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-436 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-436 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-436 .carousel-control:focus,.factory-bootstrap-436 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-436 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-436 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-436 .carousel-control .icon-next,.factory-bootstrap-436 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-436 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-436 .carousel-control .icon-prev{left:50%}.factory-bootstrap-436 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-436 .carousel-control .icon-next{right:50%}.factory-bootstrap-436 .carousel-control .icon-next,.factory-bootstrap-436 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-436 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-436 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-436 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-436 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-436 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-436 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-436 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-436 .clearfix:after,.factory-bootstrap-436 .clearfix:before{display:table;content:" "}.factory-bootstrap-436 .clearfix:after{clear:both}.factory-bootstrap-436 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-436 .pull-right{float:right!important}.factory-bootstrap-436 .pull-left{float:left!important}.factory-bootstrap-436 .hide{display:none!important}.factory-bootstrap-436 .show{display:block!important}.factory-bootstrap-436 .invisible{visibility:hidden}.factory-bootstrap-436 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-436 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-436 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-436 .visible-lg,.factory-bootstrap-436 .visible-md,.factory-bootstrap-436 .visible-sm,.factory-bootstrap-436 .visible-xs,.factory-bootstrap-436 td.visible-lg,.factory-bootstrap-436 td.visible-md,.factory-bootstrap-436 td.visible-sm,.factory-bootstrap-436 td.visible-xs,.factory-bootstrap-436 th.visible-lg,.factory-bootstrap-436 th.visible-md,.factory-bootstrap-436 th.visible-sm,.factory-bootstrap-436 th.visible-xs,.factory-bootstrap-436 tr.visible-lg,.factory-bootstrap-436 tr.visible-md,.factory-bootstrap-436 tr.visible-sm,.factory-bootstrap-436 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-436 .hidden-xs{display:block!important}.factory-bootstrap-436 table.hidden-xs{display:table}.factory-bootstrap-436 tr.hidden-xs{display:table-row!important}.factory-bootstrap-436 td.hidden-xs,.factory-bootstrap-436 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-436 .hidden-sm{display:block!important}.factory-bootstrap-436 table.hidden-sm{display:table}.factory-bootstrap-436 tr.hidden-sm{display:table-row!important}.factory-bootstrap-436 td.hidden-sm,.factory-bootstrap-436 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-436 .hidden-md{display:block!important}.factory-bootstrap-436 table.hidden-md{display:table}.factory-bootstrap-436 tr.hidden-md{display:table-row!important}.factory-bootstrap-436 td.hidden-md,.factory-bootstrap-436 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-436 .hidden-lg{display:block!important}.factory-bootstrap-436 table.hidden-lg{display:table}.factory-bootstrap-436 tr.hidden-lg{display:table-row!important}.factory-bootstrap-436 td.hidden-lg,.factory-bootstrap-436 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-436 .hidden-lg.hidden-xs,.factory-bootstrap-436 td.hidden-lg.hidden-xs,.factory-bootstrap-436 th.hidden-lg.hidden-xs,.factory-bootstrap-436 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-436 .hidden-lg.hidden-sm,.factory-bootstrap-436 td.hidden-lg.hidden-sm,.factory-bootstrap-436 th.hidden-lg.hidden-sm,.factory-bootstrap-436 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-436 .hidden-lg.hidden-md,.factory-bootstrap-436 td.hidden-lg.hidden-md,.factory-bootstrap-436 th.hidden-lg.hidden-md,.factory-bootstrap-436 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-436 .hidden-lg,.factory-bootstrap-436 td.hidden-lg,.factory-bootstrap-436 th.hidden-lg,.factory-bootstrap-436 tr.hidden-lg{display:none!important}}.factory-bootstrap-436 .visible-print,.factory-bootstrap-436 td.visible-print,.factory-bootstrap-436 th.visible-print,.factory-bootstrap-436 tr.visible-print{display:none!important}@media print{.factory-bootstrap-436 .visible-print{display:block!important}.factory-bootstrap-436 table.visible-print{display:table}.factory-bootstrap-436 tr.visible-print{display:table-row!important}.factory-bootstrap-436 td.visible-print,.factory-bootstrap-436 th.visible-print{display:table-cell!important}.factory-bootstrap-436 .hidden-print,.factory-bootstrap-436 td.hidden-print,.factory-bootstrap-436 th.hidden-print,.factory-bootstrap-436 tr.hidden-print{display:none!important}}/*!
|
12 |
* Factory Default Bootstrap Theme
|
13 |
*
|
14 |
* The code is based on Bootstrap v2.1.1
|
@@ -22,4 +22,4 @@
|
|
22 |
*
|
23 |
* @package factory-bootstrap
|
24 |
* @since 1.0.0
|
25 |
-
*/.factory-bootstrap-436 .btn-danger,.factory-bootstrap-436 .btn-default,.factory-bootstrap-436 .btn-info,.factory-bootstrap-436 .btn-primary,.factory-bootstrap-436 .btn-success,.factory-bootstrap-436 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .btn-danger.active,.factory-bootstrap-436 .btn-danger:active,.factory-bootstrap-436 .btn-default.active,.factory-bootstrap-436 .btn-default:active,.factory-bootstrap-436 .btn-info.active,.factory-bootstrap-436 .btn-info:active,.factory-bootstrap-436 .btn-primary.active,.factory-bootstrap-436 .btn-primary:active,.factory-bootstrap-436 .btn-success.active,.factory-bootstrap-436 .btn-success:active,.factory-bootstrap-436 .btn-warning.active,.factory-bootstrap-436 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-436 .btn.active,.factory-bootstrap-436 .btn:active{background-image:none}.factory-bootstrap-436 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-436 .btn-default.active,.factory-bootstrap-436 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-436 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-436 .btn-gold:focus,.factory-bootstrap-436 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-436 .btn-gold.active,.factory-bootstrap-436 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-436 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-436 .btn-primary:focus,.factory-bootstrap-436 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-436 .btn-primary.active,.factory-bootstrap-436 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-436 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .btn-success:focus,.factory-bootstrap-436 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-436 .btn-success.active,.factory-bootstrap-436 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-436 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .btn-warning:focus,.factory-bootstrap-436 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-436 .btn-warning.active,.factory-bootstrap-436 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-436 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-436 .btn-danger.active,.factory-bootstrap-436 .btn-danger:active,.factory-bootstrap-436 .btn-danger:focus,.factory-bootstrap-436 .btn-danger:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-436 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .btn-info:focus,.factory-bootstrap-436 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-436 .btn-info.active,.factory-bootstrap-436 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-436 .img-thumbnail,.factory-bootstrap-436 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-436 .dropdown-menu>li>a:focus,.factory-bootstrap-436 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-436 .dropdown-menu>.active>a,.factory-bootstrap-436 .dropdown-menu>.active>a:focus,.factory-bootstrap-436 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-436 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-436 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-436 .navbar-brand,.factory-bootstrap-436 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-436 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-436 .navbar-inverse .navbar-brand,.factory-bootstrap-436 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-436 .navbar-fixed-bottom,.factory-bootstrap-436 .navbar-fixed-top,.factory-bootstrap-436 .navbar-static-top{border-radius:0}.factory-bootstrap-436 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-436 .alert .actions{padding-top:10px}.factory-bootstrap-436 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-436 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-436 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-436 .alert-normal,.factory-bootstrap-436 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-436 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-436 .alert-danger a:not(.btn),.factory-bootstrap-436 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-436 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-436 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-436 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-436 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-436 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-436 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-436 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-436 .list-group-item.active,.factory-bootstrap-436 .list-group-item.active:focus,.factory-bootstrap-436 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-436 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-436 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-436 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-436 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-436 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-436 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-436 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-436 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-436 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-436 .factory-hidden{display:none}.factory-bootstrap-436 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 article,.factory-bootstrap-439 aside,.factory-bootstrap-439 details,.factory-bootstrap-439 figcaption,.factory-bootstrap-439 figure,.factory-bootstrap-439 footer,.factory-bootstrap-439 header,.factory-bootstrap-439 hgroup,.factory-bootstrap-439 main,.factory-bootstrap-439 nav,.factory-bootstrap-439 section,.factory-bootstrap-439 summary{display:block}.factory-bootstrap-439 audio,.factory-bootstrap-439 canvas,.factory-bootstrap-439 video{display:inline-block}.factory-bootstrap-439 audio:not([controls]){display:none;height:0}.factory-bootstrap-439 [hidden],.factory-bootstrap-439 template{display:none}.factory-bootstrap-439 body{margin:0}.factory-bootstrap-439 a{background:0 0}.factory-bootstrap-439 a:focus{outline:thin dotted}.factory-bootstrap-439 a:active,.factory-bootstrap-439 a:hover{outline:0}.factory-bootstrap-439 h1{margin:.67em 0}.factory-bootstrap-439 b,.factory-bootstrap-439 strong{font-weight:700}.factory-bootstrap-439 dfn{font-style:italic}.factory-bootstrap-439 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-439 mark{color:#000;background:#ff0}.factory-bootstrap-439 code,.factory-bootstrap-439 kbd,.factory-bootstrap-439 pre,.factory-bootstrap-439 samp{font-size:1em}.factory-bootstrap-439 pre{white-space:pre-wrap}.factory-bootstrap-439 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-439 sub,.factory-bootstrap-439 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-439 sup{top:-.5em}.factory-bootstrap-439 sub{bottom:-.25em}.factory-bootstrap-439 img{border:0}.factory-bootstrap-439 svg:not(:root){overflow:hidden}.factory-bootstrap-439 figure{margin:0}.factory-bootstrap-439 button,.factory-bootstrap-439 input,.factory-bootstrap-439 select,.factory-bootstrap-439 textarea{margin:0}.factory-bootstrap-439 button,.factory-bootstrap-439 select{text-transform:none}.factory-bootstrap-439 select{padding-right:4px!important}.factory-bootstrap-439 button,.factory-bootstrap-439 input[type=reset],.factory-bootstrap-439 input[type=submit],html .factory-bootstrap-439 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-439 button[disabled],html .factory-bootstrap-439 input[disabled]{cursor:default}.factory-bootstrap-439 input[type=checkbox],.factory-bootstrap-439 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-439 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-439 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-439 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-439 button::-moz-focus-inner,.factory-bootstrap-439 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-439 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-439 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-439 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-439 a,.factory-bootstrap-439 a:visited{text-decoration:underline}.factory-bootstrap-439 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-439 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-439 a[href^="javascript:"]:after,.factory-bootstrap-439 a[href^="#"]:after{content:""}.factory-bootstrap-439 blockquote,.factory-bootstrap-439 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-439 thead{display:table-header-group}.factory-bootstrap-439 img,.factory-bootstrap-439 tr{page-break-inside:avoid}.factory-bootstrap-439 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-439 h2,.factory-bootstrap-439 h3,.factory-bootstrap-439 p{orphans:3;widows:3}.factory-bootstrap-439 h2,.factory-bootstrap-439 h3{page-break-after:avoid}.factory-bootstrap-439 select{background:#fff!important}.factory-bootstrap-439 .navbar{display:none}.factory-bootstrap-439 .table td,.factory-bootstrap-439 .table th{background-color:#fff!important}.factory-bootstrap-439 .btn>.caret,.factory-bootstrap-439 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-439 .label{border:1px solid #000}.factory-bootstrap-439 .table{border-collapse:collapse!important}.factory-bootstrap-439 .table-bordered td,.factory-bootstrap-439 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-439 *,.factory-bootstrap-439 :after,.factory-bootstrap-439 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-439{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-439 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-439 button,.factory-bootstrap-439 input,.factory-bootstrap-439 select,.factory-bootstrap-439 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-439 img{vertical-align:middle}.factory-bootstrap-439 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-439 .img-rounded{border-radius:6px}.factory-bootstrap-439 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-439 .img-circle{border-radius:50%}.factory-bootstrap-439 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-439 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-439 .h1,.factory-bootstrap-439 .h2,.factory-bootstrap-439 .h3,.factory-bootstrap-439 .h4,.factory-bootstrap-439 .h5,.factory-bootstrap-439 .h6,.factory-bootstrap-439 h1,.factory-bootstrap-439 h2,.factory-bootstrap-439 h3,.factory-bootstrap-439 h4,.factory-bootstrap-439 h5,.factory-bootstrap-439 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-439 .h1 .small,.factory-bootstrap-439 .h1 small,.factory-bootstrap-439 .h2 .small,.factory-bootstrap-439 .h2 small,.factory-bootstrap-439 .h3 .small,.factory-bootstrap-439 .h3 small,.factory-bootstrap-439 .h4 .small,.factory-bootstrap-439 .h4 small,.factory-bootstrap-439 .h5 .small,.factory-bootstrap-439 .h5 small,.factory-bootstrap-439 .h6 .small,.factory-bootstrap-439 .h6 small,.factory-bootstrap-439 h1 .small,.factory-bootstrap-439 h1 small,.factory-bootstrap-439 h2 .small,.factory-bootstrap-439 h2 small,.factory-bootstrap-439 h3 .small,.factory-bootstrap-439 h3 small,.factory-bootstrap-439 h4 .small,.factory-bootstrap-439 h4 small,.factory-bootstrap-439 h5 .small,.factory-bootstrap-439 h5 small,.factory-bootstrap-439 h6 .small,.factory-bootstrap-439 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-439 h1,.factory-bootstrap-439 h2,.factory-bootstrap-439 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-439 h1 .small,.factory-bootstrap-439 h1 small,.factory-bootstrap-439 h2 .small,.factory-bootstrap-439 h2 small,.factory-bootstrap-439 h3 .small,.factory-bootstrap-439 h3 small{font-size:65%}.factory-bootstrap-439 h4,.factory-bootstrap-439 h5,.factory-bootstrap-439 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-439 h4 .small,.factory-bootstrap-439 h4 small,.factory-bootstrap-439 h5 .small,.factory-bootstrap-439 h5 small,.factory-bootstrap-439 h6 .small,.factory-bootstrap-439 h6 small{font-size:75%}.factory-bootstrap-439 .h1,.factory-bootstrap-439 h1{font-size:36px}.factory-bootstrap-439 .h2,.factory-bootstrap-439 h2{font-size:30px}.factory-bootstrap-439 .h3,.factory-bootstrap-439 h3{font-size:24px}.factory-bootstrap-439 .h4,.factory-bootstrap-439 h4{font-size:18px}.factory-bootstrap-439 .h5,.factory-bootstrap-439 h5{font-size:14px}.factory-bootstrap-439 .h6,.factory-bootstrap-439 h6{font-size:12px}.factory-bootstrap-439 p{margin:0 0 10px}.factory-bootstrap-439 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-439 .small,.factory-bootstrap-439 small{font-size:85%}.factory-bootstrap-439 cite{font-style:normal}.factory-bootstrap-439 .text-muted{color:#999}.factory-bootstrap-439 .text-primary{color:#428bca}.factory-bootstrap-439 .text-primary:hover{color:#3071a9}.factory-bootstrap-439 .text-warning{color:#8a6d3b}.factory-bootstrap-439 .text-warning:hover{color:#66512c}.factory-bootstrap-439 .text-danger{color:#a94442}.factory-bootstrap-439 .text-danger:hover{color:#843534}.factory-bootstrap-439 .text-success{color:#3c763d}.factory-bootstrap-439 .text-success:hover{color:#2b542c}.factory-bootstrap-439 .text-info{color:#31708f}.factory-bootstrap-439 .text-info:hover{color:#245269}.factory-bootstrap-439 .text-left{text-align:left}.factory-bootstrap-439 .text-right{text-align:right}.factory-bootstrap-439 .text-center{text-align:center}.factory-bootstrap-439 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-439 ol,.factory-bootstrap-439 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-439 ol ol,.factory-bootstrap-439 ol ul,.factory-bootstrap-439 ul ol,.factory-bootstrap-439 ul ul{margin-bottom:0}.factory-bootstrap-439 .list-inline,.factory-bootstrap-439 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-439 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-439 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-439 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-439 dd,.factory-bootstrap-439 dt{line-height:1.428571429}.factory-bootstrap-439 dt{font-weight:700}.factory-bootstrap-439 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-439 abbr[data-original-title],.factory-bootstrap-439 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-439 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-439 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-439 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-439 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-439 blockquote .small,.factory-bootstrap-439 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-439 blockquote .small:before,.factory-bootstrap-439 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-439 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-439 blockquote.pull-right .small,.factory-bootstrap-439 blockquote.pull-right p,.factory-bootstrap-439 blockquote.pull-right small{text-align:right}.factory-bootstrap-439 blockquote.pull-right .small:before,.factory-bootstrap-439 blockquote.pull-right small:before{content:''}.factory-bootstrap-439 blockquote.pull-right .small:after,.factory-bootstrap-439 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-439 blockquote:after,.factory-bootstrap-439 blockquote:before{content:""}.factory-bootstrap-439 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-439 code,.factory-bootstrap-439 kbd,.factory-bootstrap-439 pre,.factory-bootstrap-439 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-439 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-439 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-439 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-439 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-439 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-439 .container:after,.factory-bootstrap-439 .container:before{display:table;content:" "}.factory-bootstrap-439 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-439 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-439 .row:after,.factory-bootstrap-439 .row:before{display:table;content:" "}.factory-bootstrap-439 .row:after{clear:both}.factory-bootstrap-439 .col-lg-1,.factory-bootstrap-439 .col-lg-10,.factory-bootstrap-439 .col-lg-11,.factory-bootstrap-439 .col-lg-12,.factory-bootstrap-439 .col-lg-2,.factory-bootstrap-439 .col-lg-3,.factory-bootstrap-439 .col-lg-4,.factory-bootstrap-439 .col-lg-5,.factory-bootstrap-439 .col-lg-6,.factory-bootstrap-439 .col-lg-7,.factory-bootstrap-439 .col-lg-8,.factory-bootstrap-439 .col-lg-9,.factory-bootstrap-439 .col-md-1,.factory-bootstrap-439 .col-md-10,.factory-bootstrap-439 .col-md-11,.factory-bootstrap-439 .col-md-12,.factory-bootstrap-439 .col-md-2,.factory-bootstrap-439 .col-md-3,.factory-bootstrap-439 .col-md-4,.factory-bootstrap-439 .col-md-5,.factory-bootstrap-439 .col-md-6,.factory-bootstrap-439 .col-md-7,.factory-bootstrap-439 .col-md-8,.factory-bootstrap-439 .col-md-9,.factory-bootstrap-439 .col-sm-1,.factory-bootstrap-439 .col-sm-10,.factory-bootstrap-439 .col-sm-11,.factory-bootstrap-439 .col-sm-12,.factory-bootstrap-439 .col-sm-2,.factory-bootstrap-439 .col-sm-3,.factory-bootstrap-439 .col-sm-4,.factory-bootstrap-439 .col-sm-5,.factory-bootstrap-439 .col-sm-6,.factory-bootstrap-439 .col-sm-7,.factory-bootstrap-439 .col-sm-8,.factory-bootstrap-439 .col-sm-9,.factory-bootstrap-439 .col-xs-1,.factory-bootstrap-439 .col-xs-10,.factory-bootstrap-439 .col-xs-11,.factory-bootstrap-439 .col-xs-12,.factory-bootstrap-439 .col-xs-2,.factory-bootstrap-439 .col-xs-3,.factory-bootstrap-439 .col-xs-4,.factory-bootstrap-439 .col-xs-5,.factory-bootstrap-439 .col-xs-6,.factory-bootstrap-439 .col-xs-7,.factory-bootstrap-439 .col-xs-8,.factory-bootstrap-439 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-439 .col-xs-1,.factory-bootstrap-439 .col-xs-10,.factory-bootstrap-439 .col-xs-11,.factory-bootstrap-439 .col-xs-12,.factory-bootstrap-439 .col-xs-2,.factory-bootstrap-439 .col-xs-3,.factory-bootstrap-439 .col-xs-4,.factory-bootstrap-439 .col-xs-5,.factory-bootstrap-439 .col-xs-6,.factory-bootstrap-439 .col-xs-7,.factory-bootstrap-439 .col-xs-8,.factory-bootstrap-439 .col-xs-9{float:left}.factory-bootstrap-439 .col-xs-12{width:100%}.factory-bootstrap-439 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-439 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-439 .col-xs-9{width:75%}.factory-bootstrap-439 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-439 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-439 .col-xs-6{width:50%}.factory-bootstrap-439 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-439 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-439 .col-xs-3{width:25%}.factory-bootstrap-439 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-439 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-439 .col-xs-pull-12{right:100%}.factory-bootstrap-439 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-439 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-439 .col-xs-pull-9{right:75%}.factory-bootstrap-439 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-439 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-439 .col-xs-pull-6{right:50%}.factory-bootstrap-439 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-439 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-439 .col-xs-pull-3{right:25%}.factory-bootstrap-439 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-439 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-439 .col-xs-pull-0{right:0}.factory-bootstrap-439 .col-xs-push-12{left:100%}.factory-bootstrap-439 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-439 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-439 .col-xs-push-9{left:75%}.factory-bootstrap-439 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-439 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-439 .col-xs-push-6{left:50%}.factory-bootstrap-439 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-439 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-439 .col-xs-push-3{left:25%}.factory-bootstrap-439 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-439 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-439 .col-xs-push-0{left:0}.factory-bootstrap-439 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-439 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-439 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-439 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-439 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-439 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-439 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-439 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-439 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-439 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-439 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-439 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-439 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-439 table{max-width:100%;background-color:transparent}.factory-bootstrap-439 th{text-align:left}.factory-bootstrap-439 .table{width:100%;margin-bottom:20px}.factory-bootstrap-439 .table>tbody>tr>td,.factory-bootstrap-439 .table>tbody>tr>th,.factory-bootstrap-439 .table>tfoot>tr>td,.factory-bootstrap-439 .table>tfoot>tr>th,.factory-bootstrap-439 .table>thead>tr>td,.factory-bootstrap-439 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-439 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-439 .table>caption+thead>tr:first-child>td,.factory-bootstrap-439 .table>caption+thead>tr:first-child>th,.factory-bootstrap-439 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-439 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-439 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-439 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-439 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-439 .table .table{background-color:#fff}.factory-bootstrap-439 .table-condensed>tbody>tr>td,.factory-bootstrap-439 .table-condensed>tbody>tr>th,.factory-bootstrap-439 .table-condensed>tfoot>tr>td,.factory-bootstrap-439 .table-condensed>tfoot>tr>th,.factory-bootstrap-439 .table-condensed>thead>tr>td,.factory-bootstrap-439 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-439 .table-bordered,.factory-bootstrap-439 .table-bordered>tbody>tr>td,.factory-bootstrap-439 .table-bordered>tbody>tr>th,.factory-bootstrap-439 .table-bordered>tfoot>tr>td,.factory-bootstrap-439 .table-bordered>tfoot>tr>th,.factory-bootstrap-439 .table-bordered>thead>tr>td,.factory-bootstrap-439 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-439 .table-bordered>thead>tr>td,.factory-bootstrap-439 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-439 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-439 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-439 .table-hover>tbody>tr:hover>td,.factory-bootstrap-439 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-439 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-439 table td[class*=col-],.factory-bootstrap-439 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-439 .table>tbody>.active>td,.factory-bootstrap-439 .table>tbody>.active>th,.factory-bootstrap-439 .table>tbody>tr>.active,.factory-bootstrap-439 .table>tfoot>.active>td,.factory-bootstrap-439 .table>tfoot>.active>th,.factory-bootstrap-439 .table>tfoot>tr>.active,.factory-bootstrap-439 .table>thead>.active>td,.factory-bootstrap-439 .table>thead>.active>th,.factory-bootstrap-439 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-439 .table-hover>tbody>.active:hover>td,.factory-bootstrap-439 .table-hover>tbody>.active:hover>th,.factory-bootstrap-439 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-439 .table>tbody>.success>td,.factory-bootstrap-439 .table>tbody>.success>th,.factory-bootstrap-439 .table>tbody>tr>.success,.factory-bootstrap-439 .table>tfoot>.success>td,.factory-bootstrap-439 .table>tfoot>.success>th,.factory-bootstrap-439 .table>tfoot>tr>.success,.factory-bootstrap-439 .table>thead>.success>td,.factory-bootstrap-439 .table>thead>.success>th,.factory-bootstrap-439 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-439 .table-hover>tbody>.success:hover>td,.factory-bootstrap-439 .table-hover>tbody>.success:hover>th,.factory-bootstrap-439 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-439 .table>tbody>.danger>td,.factory-bootstrap-439 .table>tbody>.danger>th,.factory-bootstrap-439 .table>tbody>tr>.danger,.factory-bootstrap-439 .table>tfoot>.danger>td,.factory-bootstrap-439 .table>tfoot>.danger>th,.factory-bootstrap-439 .table>tfoot>tr>.danger,.factory-bootstrap-439 .table>thead>.danger>td,.factory-bootstrap-439 .table>thead>.danger>th,.factory-bootstrap-439 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-439 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-439 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-439 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-439 .table>tbody>.warning>td,.factory-bootstrap-439 .table>tbody>.warning>th,.factory-bootstrap-439 .table>tbody>tr>.warning,.factory-bootstrap-439 .table>tfoot>.warning>td,.factory-bootstrap-439 .table>tfoot>.warning>th,.factory-bootstrap-439 .table>tfoot>tr>.warning,.factory-bootstrap-439 .table>thead>.warning>td,.factory-bootstrap-439 .table>thead>.warning>th,.factory-bootstrap-439 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-439 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-439 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-439 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-439 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-439 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-439 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-439 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-439 input[type=checkbox],.factory-bootstrap-439 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-439 input[type=file]{display:block}.factory-bootstrap-439 select[multiple],.factory-bootstrap-439 select[size]{height:auto}.factory-bootstrap-439 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-439 input[type=checkbox]:focus,.factory-bootstrap-439 input[type=file]:focus,.factory-bootstrap-439 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-439 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-439 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-439 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-439 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-439 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-439 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-439 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-439 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-439 .form-control[disabled],.factory-bootstrap-439 .form-control[readonly],.factory-bootstrap-439 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-439 textarea.form-control{height:auto}.factory-bootstrap-439 .form-group{margin-bottom:15px}.factory-bootstrap-439 .checkbox,.factory-bootstrap-439 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-439 .checkbox label,.factory-bootstrap-439 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-439 .checkbox input[type=checkbox],.factory-bootstrap-439 .checkbox-inline input[type=checkbox],.factory-bootstrap-439 .radio input[type=radio],.factory-bootstrap-439 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-439 .checkbox+.checkbox,.factory-bootstrap-439 .radio+.radio{margin-top:-5px}.factory-bootstrap-439 .checkbox-inline,.factory-bootstrap-439 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-439 .checkbox-inline+.checkbox-inline,.factory-bootstrap-439 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-439 .checkbox-inline[disabled],.factory-bootstrap-439 .checkbox[disabled],.factory-bootstrap-439 .radio-inline[disabled],.factory-bootstrap-439 .radio[disabled],.factory-bootstrap-439 fieldset[disabled] .checkbox,.factory-bootstrap-439 fieldset[disabled] .checkbox-inline,.factory-bootstrap-439 fieldset[disabled] .radio,.factory-bootstrap-439 fieldset[disabled] .radio-inline,.factory-bootstrap-439 fieldset[disabled] input[type=checkbox],.factory-bootstrap-439 fieldset[disabled] input[type=radio],.factory-bootstrap-439 input[type=checkbox][disabled],.factory-bootstrap-439 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-439 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-439 textarea.input-sm{height:auto}.factory-bootstrap-439 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-439 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-439 textarea.input-lg{height:auto}.factory-bootstrap-439 .has-warning .checkbox,.factory-bootstrap-439 .has-warning .checkbox-inline,.factory-bootstrap-439 .has-warning .control-label,.factory-bootstrap-439 .has-warning .help-block,.factory-bootstrap-439 .has-warning .radio,.factory-bootstrap-439 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-439 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-439 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-439 .has-error .checkbox,.factory-bootstrap-439 .has-error .checkbox-inline,.factory-bootstrap-439 .has-error .control-label,.factory-bootstrap-439 .has-error .help-block,.factory-bootstrap-439 .has-error .radio,.factory-bootstrap-439 .has-error .radio-inline{color:#a94442}.factory-bootstrap-439 .controls{display:block}.factory-bootstrap-439 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-439 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-439 .has-success .checkbox,.factory-bootstrap-439 .has-success .checkbox-inline,.factory-bootstrap-439 .has-success .control-label,.factory-bootstrap-439 .has-success .help-block,.factory-bootstrap-439 .has-success .radio,.factory-bootstrap-439 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-439 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-439 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-439 .form-control-static{margin-bottom:0}.factory-bootstrap-439 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-439 .form-horizontal .checkbox,.factory-bootstrap-439 .form-horizontal .checkbox-inline,.factory-bootstrap-439 .form-horizontal .control-label,.factory-bootstrap-439 .form-horizontal .radio,.factory-bootstrap-439 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-439 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-439 .form-horizontal .checkbox,.factory-bootstrap-439 .form-horizontal .radio{min-height:27px}.factory-bootstrap-439 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-439 .form-horizontal .form-group:after,.factory-bootstrap-439 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-439 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-439 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-439 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-439 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-439 .btn{text-decoration:none}.factory-bootstrap-439 .btn:focus,.factory-bootstrap-439 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-439 .btn.disabled,.factory-bootstrap-439 .btn[disabled],.factory-bootstrap-439 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-439 .btn-default.active,.factory-bootstrap-439 .btn-default:active,.factory-bootstrap-439 .btn-default:focus,.factory-bootstrap-439 .btn-default:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-439 .btn-default.active,.factory-bootstrap-439 .btn-default:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-439 .btn-default.disabled,.factory-bootstrap-439 .btn-default.disabled.active,.factory-bootstrap-439 .btn-default.disabled:active,.factory-bootstrap-439 .btn-default.disabled:focus,.factory-bootstrap-439 .btn-default.disabled:hover,.factory-bootstrap-439 .btn-default[disabled],.factory-bootstrap-439 .btn-default[disabled].active,.factory-bootstrap-439 .btn-default[disabled]:active,.factory-bootstrap-439 .btn-default[disabled]:focus,.factory-bootstrap-439 .btn-default[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-default,.factory-bootstrap-439 fieldset[disabled] .btn-default.active,.factory-bootstrap-439 fieldset[disabled] .btn-default:active,.factory-bootstrap-439 fieldset[disabled] .btn-default:focus,.factory-bootstrap-439 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-439 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-439 .btn-primary.active,.factory-bootstrap-439 .btn-primary:active,.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-439 .btn-primary.active,.factory-bootstrap-439 .btn-primary:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-439 .btn-primary.disabled,.factory-bootstrap-439 .btn-primary.disabled.active,.factory-bootstrap-439 .btn-primary.disabled:active,.factory-bootstrap-439 .btn-primary.disabled:focus,.factory-bootstrap-439 .btn-primary.disabled:hover,.factory-bootstrap-439 .btn-primary[disabled],.factory-bootstrap-439 .btn-primary[disabled].active,.factory-bootstrap-439 .btn-primary[disabled]:active,.factory-bootstrap-439 .btn-primary[disabled]:focus,.factory-bootstrap-439 .btn-primary[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-primary,.factory-bootstrap-439 fieldset[disabled] .btn-primary.active,.factory-bootstrap-439 fieldset[disabled] .btn-primary:active,.factory-bootstrap-439 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-439 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-439 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-439 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-439 .btn-warning.active,.factory-bootstrap-439 .btn-warning:active,.factory-bootstrap-439 .btn-warning:focus,.factory-bootstrap-439 .btn-warning:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-439 .btn-warning.active,.factory-bootstrap-439 .btn-warning:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-439 .btn-warning.disabled,.factory-bootstrap-439 .btn-warning.disabled.active,.factory-bootstrap-439 .btn-warning.disabled:active,.factory-bootstrap-439 .btn-warning.disabled:focus,.factory-bootstrap-439 .btn-warning.disabled:hover,.factory-bootstrap-439 .btn-warning[disabled],.factory-bootstrap-439 .btn-warning[disabled].active,.factory-bootstrap-439 .btn-warning[disabled]:active,.factory-bootstrap-439 .btn-warning[disabled]:focus,.factory-bootstrap-439 .btn-warning[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-warning,.factory-bootstrap-439 fieldset[disabled] .btn-warning.active,.factory-bootstrap-439 fieldset[disabled] .btn-warning:active,.factory-bootstrap-439 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-439 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-439 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-439 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-439 .btn-success.active,.factory-bootstrap-439 .btn-success:active,.factory-bootstrap-439 .btn-success:focus,.factory-bootstrap-439 .btn-success:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-439 .btn-success.active,.factory-bootstrap-439 .btn-success:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-439 .btn-success.disabled,.factory-bootstrap-439 .btn-success.disabled.active,.factory-bootstrap-439 .btn-success.disabled:active,.factory-bootstrap-439 .btn-success.disabled:focus,.factory-bootstrap-439 .btn-success.disabled:hover,.factory-bootstrap-439 .btn-success[disabled],.factory-bootstrap-439 .btn-success[disabled].active,.factory-bootstrap-439 .btn-success[disabled]:active,.factory-bootstrap-439 .btn-success[disabled]:focus,.factory-bootstrap-439 .btn-success[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-success,.factory-bootstrap-439 fieldset[disabled] .btn-success.active,.factory-bootstrap-439 fieldset[disabled] .btn-success:active,.factory-bootstrap-439 fieldset[disabled] .btn-success:focus,.factory-bootstrap-439 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-439 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-439 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-439 .btn-info.active,.factory-bootstrap-439 .btn-info:active,.factory-bootstrap-439 .btn-info:focus,.factory-bootstrap-439 .btn-info:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-439 .btn-info.active,.factory-bootstrap-439 .btn-info:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-439 .btn-info.disabled,.factory-bootstrap-439 .btn-info.disabled.active,.factory-bootstrap-439 .btn-info.disabled:active,.factory-bootstrap-439 .btn-info.disabled:focus,.factory-bootstrap-439 .btn-info.disabled:hover,.factory-bootstrap-439 .btn-info[disabled],.factory-bootstrap-439 .btn-info[disabled].active,.factory-bootstrap-439 .btn-info[disabled]:active,.factory-bootstrap-439 .btn-info[disabled]:focus,.factory-bootstrap-439 .btn-info[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-info,.factory-bootstrap-439 fieldset[disabled] .btn-info.active,.factory-bootstrap-439 fieldset[disabled] .btn-info:active,.factory-bootstrap-439 fieldset[disabled] .btn-info:focus,.factory-bootstrap-439 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-439 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-439 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-439 .btn-link,.factory-bootstrap-439 .btn-link:active,.factory-bootstrap-439 .btn-link[disabled],.factory-bootstrap-439 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-439 .btn-link,.factory-bootstrap-439 .btn-link:active,.factory-bootstrap-439 .btn-link:focus,.factory-bootstrap-439 .btn-link:hover{border-color:transparent}.factory-bootstrap-439 .btn-link:focus,.factory-bootstrap-439 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-439 .btn-link[disabled]:focus,.factory-bootstrap-439 .btn-link[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-link:focus,.factory-bootstrap-439 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-439 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-439 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-439 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-439 input[type=button].btn-block,.factory-bootstrap-439 input[type=reset].btn-block,.factory-bootstrap-439 input[type=submit].btn-block{width:100%}.factory-bootstrap-439 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-439 .fade.in{opacity:1}.factory-bootstrap-439 .collapse{display:none}.factory-bootstrap-439 .collapse.in{display:block}.factory-bootstrap-439 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-439 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-439 .glyphicon:empty{width:1em}.factory-bootstrap-439 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-439 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-439 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-439 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-439 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-439 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-439 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-439 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-439 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-439 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-439 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-439 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-439 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-439 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-439 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-439 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-439 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-439 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-439 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-439 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-439 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-439 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-439 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-439 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-439 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-439 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-439 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-439 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-439 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-439 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-439 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-439 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-439 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-439 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-439 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-439 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-439 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-439 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-439 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-439 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-439 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-439 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-439 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-439 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-439 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-439 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-439 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-439 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-439 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-439 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-439 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-439 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-439 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-439 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-439 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-439 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-439 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-439 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-439 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-439 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-439 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-439 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-439 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-439 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-439 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-439 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-439 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-439 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-439 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-439 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-439 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-439 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-439 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-439 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-439 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-439 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-439 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-439 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-439 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-439 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-439 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-439 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-439 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-439 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-439 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-439 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-439 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-439 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-439 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-439 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-439 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-439 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-439 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-439 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-439 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-439 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-439 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-439 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-439 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-439 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-439 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-439 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-439 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-439 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-439 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-439 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-439 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-439 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-439 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-439 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-439 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-439 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-439 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-439 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-439 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-439 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-439 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-439 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-439 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-439 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-439 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-439 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-439 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-439 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-439 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-439 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-439 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-439 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-439 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-439 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-439 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-439 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-439 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-439 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-439 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-439 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-439 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-439 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-439 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-439 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-439 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-439 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-439 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-439 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-439 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-439 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-439 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-439 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-439 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-439 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-439 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-439 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-439 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-439 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-439 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-439 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-439 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-439 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-439 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-439 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-439 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-439 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-439 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-439 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-439 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-439 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-439 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-439 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-439 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-439 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-439 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-439 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-439 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-439 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-439 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-439 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-439 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-439 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-439 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-439 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-439 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-439 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-439 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-439 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-439 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-439 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-439 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-439 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-439 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-439 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-439 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-439 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-439 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-439 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-439 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-439 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-439 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-439 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-439 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-439 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-439 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-439 .dropdown{position:relative}.factory-bootstrap-439 .dropdown-toggle:focus{outline:0}.factory-bootstrap-439 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-439 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-439 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-439 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-439 .dropdown-menu>li>a:focus,.factory-bootstrap-439 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-439 .dropdown-menu>.active>a,.factory-bootstrap-439 .dropdown-menu>.active>a:focus,.factory-bootstrap-439 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-439 .dropdown-menu>.disabled>a,.factory-bootstrap-439 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-439 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-439 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-439 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .open>.dropdown-menu{display:block}.factory-bootstrap-439 .open>a{outline:0}.factory-bootstrap-439 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-439 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-439 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-439 .dropup .caret,.factory-bootstrap-439 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-439 .dropup .dropdown-menu,.factory-bootstrap-439 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-439 .btn-group,.factory-bootstrap-439 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-439 .btn-group-vertical>.btn,.factory-bootstrap-439 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-439 .btn-group-vertical>.btn.active,.factory-bootstrap-439 .btn-group-vertical>.btn:active,.factory-bootstrap-439 .btn-group-vertical>.btn:focus,.factory-bootstrap-439 .btn-group-vertical>.btn:hover,.factory-bootstrap-439 .btn-group>.btn.active,.factory-bootstrap-439 .btn-group>.btn:active,.factory-bootstrap-439 .btn-group>.btn:focus,.factory-bootstrap-439 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-439 .btn-group-vertical>.btn:focus,.factory-bootstrap-439 .btn-group>.btn:focus{outline:0}.factory-bootstrap-439 .btn-group .btn+.btn,.factory-bootstrap-439 .btn-group .btn+.btn-group,.factory-bootstrap-439 .btn-group .btn-group+.btn,.factory-bootstrap-439 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-439 .btn-toolbar:after,.factory-bootstrap-439 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-439 .btn-toolbar:after{clear:both}.factory-bootstrap-439 .btn-toolbar .btn-group{float:left}.factory-bootstrap-439 .btn-toolbar>.btn+.btn,.factory-bootstrap-439 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-439 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-439 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-439 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-439 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-439 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-439 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-439 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .btn-group>.btn-group{float:left}.factory-bootstrap-439 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-439 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-439 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-439 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .btn-group .dropdown-toggle:active,.factory-bootstrap-439 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-439 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-439 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-439 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-439 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-439 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-439 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-439 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-439 .btn .caret{margin-left:0}.factory-bootstrap-439 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-439 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-439 .btn-group-vertical>.btn,.factory-bootstrap-439 .btn-group-vertical>.btn-group,.factory-bootstrap-439 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-439 .btn-group-vertical>.btn-group:after,.factory-bootstrap-439 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-439 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-439 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-439 .btn-group-vertical>.btn+.btn,.factory-bootstrap-439 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-439 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-439 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-439 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-439 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-439 .btn-group-justified>.btn,.factory-bootstrap-439 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-439 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-439 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-439 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-439 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-439 .input-group-lg>.form-control,.factory-bootstrap-439 .input-group-lg>.input-group-addon,.factory-bootstrap-439 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-439 select.input-group-lg>.form-control,.factory-bootstrap-439 select.input-group-lg>.input-group-addon,.factory-bootstrap-439 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-439 textarea.input-group-lg>.form-control,.factory-bootstrap-439 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-439 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-439 .input-group-sm>.form-control,.factory-bootstrap-439 .input-group-sm>.input-group-addon,.factory-bootstrap-439 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 select.input-group-sm>.form-control,.factory-bootstrap-439 select.input-group-sm>.input-group-addon,.factory-bootstrap-439 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-439 textarea.input-group-sm>.form-control,.factory-bootstrap-439 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-439 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-439 .input-group .form-control,.factory-bootstrap-439 .input-group-addon,.factory-bootstrap-439 .input-group-btn{display:table-cell}.factory-bootstrap-439 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-439 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-439 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-439 .input-group-addon,.factory-bootstrap-439 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-439 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-439 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-439 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-439 .input-group-addon input[type=checkbox],.factory-bootstrap-439 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-439 .input-group .form-control:first-child,.factory-bootstrap-439 .input-group-addon:first-child,.factory-bootstrap-439 .input-group-btn:first-child>.btn,.factory-bootstrap-439 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-439 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-439 .input-group-addon:first-child{border-right:0}.factory-bootstrap-439 .input-group .form-control:last-child,.factory-bootstrap-439 .input-group-addon:last-child,.factory-bootstrap-439 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-439 .input-group-btn:last-child>.btn,.factory-bootstrap-439 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .input-group-addon:last-child{border-left:0}.factory-bootstrap-439 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-439 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-439 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-439 .input-group-btn>.btn{position:relative}.factory-bootstrap-439 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-439 .input-group-btn>.btn:active,.factory-bootstrap-439 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-439 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-439 .nav:after,.factory-bootstrap-439 .nav:before{display:table;content:" "}.factory-bootstrap-439 .nav:after{clear:both}.factory-bootstrap-439 .nav>li{position:relative;display:block}.factory-bootstrap-439 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-439 .nav>li>a:focus,.factory-bootstrap-439 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-439 .nav>li.disabled>a{color:#999}.factory-bootstrap-439 .nav>li.disabled>a:focus,.factory-bootstrap-439 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-439 .nav .open>a,.factory-bootstrap-439 .nav .open>a:focus,.factory-bootstrap-439 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-439 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-439 .nav>li>a>img{max-width:none}.factory-bootstrap-439 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-439 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-439 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-439 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-439 .nav-tabs>li.active>a,.factory-bootstrap-439 .nav-tabs>li.active>a:focus,.factory-bootstrap-439 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-439 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-439 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-439 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-439 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-439 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-439 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-439 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-439 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-439 .nav-pills>li{float:left}.factory-bootstrap-439 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-439 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-439 .nav-pills>li.active>a,.factory-bootstrap-439 .nav-pills>li.active>a:focus,.factory-bootstrap-439 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-439 .nav-stacked>li{float:none}.factory-bootstrap-439 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-439 .nav-justified{width:100%}.factory-bootstrap-439 .nav-justified>li{float:none}.factory-bootstrap-439 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-439 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-439 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-439 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-439 .nav-tabs-justified>.active>a,.factory-bootstrap-439 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-439 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-439 .tab-content>.tab-pane{display:none}.factory-bootstrap-439 .tab-content>.active{display:block}.factory-bootstrap-439 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-439 .navbar:after,.factory-bootstrap-439 .navbar:before{display:table;content:" "}.factory-bootstrap-439 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-439 .navbar-header:after,.factory-bootstrap-439 .navbar-header:before{display:table;content:" "}.factory-bootstrap-439 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-439 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-439 .navbar-collapse:after,.factory-bootstrap-439 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-439 .navbar-collapse:after{clear:both}.factory-bootstrap-439 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-439 .container>.navbar-collapse,.factory-bootstrap-439 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-439 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-439 .navbar-fixed-bottom,.factory-bootstrap-439 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-439 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-439 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-439 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-439 .navbar-brand:focus,.factory-bootstrap-439 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-439 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-439 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-439 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-439 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-439 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-439 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-439 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-439 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-439 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-439 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-439 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-439 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-439 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-439 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-439 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-439 .navbar-default .navbar-brand:focus,.factory-bootstrap-439 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-439 .navbar-default .navbar-nav>li>a,.factory-bootstrap-439 .navbar-default .navbar-text{color:#777}.factory-bootstrap-439 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-439 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-439 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-439 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-439 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-439 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-439 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-439 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-439 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-439 .navbar-default .navbar-toggle:focus,.factory-bootstrap-439 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-439 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-439 .navbar-default .navbar-collapse,.factory-bootstrap-439 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-439 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-439 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-439 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-439 .navbar-default .navbar-link{color:#777}.factory-bootstrap-439 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-439 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-439 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-439 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-439 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-439 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-439 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-439 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-439 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-439 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-439 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-439 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-439 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-439 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-439 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-439 .navbar-inverse .navbar-collapse,.factory-bootstrap-439 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-439 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-439 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-439 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-439 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-439 .breadcrumb>li{display:inline-block}.factory-bootstrap-439 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-439 .breadcrumb>.active{color:#999}.factory-bootstrap-439 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-439 .pagination>li{display:inline}.factory-bootstrap-439 .pagination>li>a,.factory-bootstrap-439 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-439 .pagination>li:first-child>a,.factory-bootstrap-439 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-439 .pagination>li:last-child>a,.factory-bootstrap-439 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-439 .pagination>li>a:focus,.factory-bootstrap-439 .pagination>li>a:hover,.factory-bootstrap-439 .pagination>li>span:focus,.factory-bootstrap-439 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-439 .pagination>.disabled>a,.factory-bootstrap-439 .pagination>.disabled>a:focus,.factory-bootstrap-439 .pagination>.disabled>a:hover,.factory-bootstrap-439 .pagination>.disabled>span,.factory-bootstrap-439 .pagination>.disabled>span:focus,.factory-bootstrap-439 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-439 .pagination-lg>li>a,.factory-bootstrap-439 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-439 .pagination-lg>li:first-child>a,.factory-bootstrap-439 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-439 .pagination-lg>li:last-child>a,.factory-bootstrap-439 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-439 .pagination-sm>li>a,.factory-bootstrap-439 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-439 .pagination-sm>li:first-child>a,.factory-bootstrap-439 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-439 .pagination-sm>li:last-child>a,.factory-bootstrap-439 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-439 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-439 .pager:after,.factory-bootstrap-439 .pager:before{display:table;content:" "}.factory-bootstrap-439 .pager:after{clear:both}.factory-bootstrap-439 .pager li{display:inline}.factory-bootstrap-439 .pager li>a,.factory-bootstrap-439 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-439 .pager li>a:focus,.factory-bootstrap-439 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-439 .pager .next>a,.factory-bootstrap-439 .pager .next>span{float:right}.factory-bootstrap-439 .pager .previous>a,.factory-bootstrap-439 .pager .previous>span{float:left}.factory-bootstrap-439 .pager .disabled>a,.factory-bootstrap-439 .pager .disabled>a:focus,.factory-bootstrap-439 .pager .disabled>a:hover,.factory-bootstrap-439 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-439 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-439 .label[href]:focus,.factory-bootstrap-439 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-439 .label:empty{display:none}.factory-bootstrap-439 .btn .label{position:relative;top:-1px}.factory-bootstrap-439 .label-default{background-color:#999}.factory-bootstrap-439 .label-default[href]:focus,.factory-bootstrap-439 .label-default[href]:hover{background-color:gray}.factory-bootstrap-439 .label-primary{background-color:#428bca}.factory-bootstrap-439 .label-primary[href]:focus,.factory-bootstrap-439 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-439 .label-success{background-color:#5cb85c}.factory-bootstrap-439 .label-success[href]:focus,.factory-bootstrap-439 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-439 .label-info{background-color:#5bc0de}.factory-bootstrap-439 .label-info[href]:focus,.factory-bootstrap-439 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-439 .label-warning{background-color:#f0ad4e}.factory-bootstrap-439 .label-warning[href]:focus,.factory-bootstrap-439 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-439 .label-danger{background-color:#d9534f}.factory-bootstrap-439 .label-danger[href]:focus,.factory-bootstrap-439 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-439 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-439 .badge:empty{display:none}.factory-bootstrap-439 .btn .badge{position:relative;top:-1px}.factory-bootstrap-439 a.badge:focus,.factory-bootstrap-439 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-439 .nav-pills>.active>a>.badge,.factory-bootstrap-439 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-439 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-439 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-439 .jumbotron .h1,.factory-bootstrap-439 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-439 .jumbotron p{line-height:1.4}.factory-bootstrap-439 .container .jumbotron{border-radius:6px}.factory-bootstrap-439 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-439 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-439 .thumbnail a>img,.factory-bootstrap-439 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-439 a.thumbnail.active,.factory-bootstrap-439 a.thumbnail:focus,.factory-bootstrap-439 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-439 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-439 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-439 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-439 .alert .alert-link{font-weight:700}.factory-bootstrap-439 .alert>p,.factory-bootstrap-439 .alert>ul{margin-bottom:0}.factory-bootstrap-439 .alert>p+p{margin-top:5px}.factory-bootstrap-439 .alert-dismissable{padding-right:35px}.factory-bootstrap-439 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-439 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-439 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-439 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-439 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-439 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-439 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-439 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-439 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-439 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-439 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-439 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-439 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-439 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-439 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-439 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-439 .media,.factory-bootstrap-439 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-439 .media,.factory-bootstrap-439 .media .media{margin-top:15px}.factory-bootstrap-439 .media:first-child{margin-top:0}.factory-bootstrap-439 .media-object{display:block}.factory-bootstrap-439 .media-heading{margin:0 0 5px}.factory-bootstrap-439 .media>.pull-left{margin-right:10px}.factory-bootstrap-439 .media>.pull-right{margin-left:10px}.factory-bootstrap-439 .media-list{padding-left:0;list-style:none}.factory-bootstrap-439 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-439 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-439 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-439 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-439 .list-group-item>.badge{float:right}.factory-bootstrap-439 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-439 a.list-group-item{color:#555}.factory-bootstrap-439 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-439 a.list-group-item:focus,.factory-bootstrap-439 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-439 a.list-group-item.active,.factory-bootstrap-439 a.list-group-item.active:focus,.factory-bootstrap-439 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-439 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-439 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-439 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-439 a.list-group-item.active .list-group-item-text,.factory-bootstrap-439 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-439 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-439 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-439 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-439 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-439 .panel-body{padding:15px}.factory-bootstrap-439 .panel-body:after,.factory-bootstrap-439 .panel-body:before{display:table;content:" "}.factory-bootstrap-439 .panel-body:after{clear:both}.factory-bootstrap-439 .panel>.list-group{margin-bottom:0}.factory-bootstrap-439 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-439 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-439 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-439 .panel>.table,.factory-bootstrap-439 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-439 .panel>.panel-body+.table,.factory-bootstrap-439 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-439 .panel>.table>tbody:first-child td,.factory-bootstrap-439 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-439 .panel>.table-bordered,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-439 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-439 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-439 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-439 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-439 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-439 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-439 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-439 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-439 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-439 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-439 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-439 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-439 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-439 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-439 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-439 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-439 .panel-title>a{color:inherit}.factory-bootstrap-439 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-439 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-439 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-439 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-439 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-439 .panel-group .panel-footer{border-top:0}.factory-bootstrap-439 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-439 .panel-default{border-color:#ddd}.factory-bootstrap-439 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-439 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-439 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-439 .panel-primary{border-color:#428bca}.factory-bootstrap-439 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-439 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-439 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-439 .panel-success{border-color:#d6e9c6}.factory-bootstrap-439 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-439 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-439 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-439 .panel-warning{border-color:#faebcc}.factory-bootstrap-439 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-439 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-439 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-439 .panel-danger{border-color:#ebccd1}.factory-bootstrap-439 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-439 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-439 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-439 .panel-info{border-color:#bce8f1}.factory-bootstrap-439 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-439 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-439 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-439 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-439 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-439 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-439 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-439 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-439 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-439 .close:focus,.factory-bootstrap-439 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-439 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-439 .modal-open{overflow:hidden}.factory-bootstrap-439 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-439 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-439 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-439 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-439 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-439 .modal-backdrop,.factory-bootstrap-439-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-439 .modal-backdrop.fade,.factory-bootstrap-439-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-439 .modal-backdrop.in,.factory-bootstrap-439-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-439 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-439 .modal-header .close{margin-top:-2px}.factory-bootstrap-439 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-439 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-439 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-439 .modal-footer:after,.factory-bootstrap-439 .modal-footer:before{display:table;content:" "}.factory-bootstrap-439 .modal-footer:after{clear:both}.factory-bootstrap-439 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-439 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-439 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-439 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-439 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-439 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-439 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-439 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-439 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-439 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-439 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-439 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-439 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-439 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-439 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-439 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-439 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-439 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-439 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-439 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-439 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-439 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-439 .popover.top{margin-top:-10px}.factory-bootstrap-439 .popover.right{margin-left:10px}.factory-bootstrap-439 .popover.bottom{margin-top:10px}.factory-bootstrap-439 .popover.left{margin-left:-10px}.factory-bootstrap-439 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-439 .popover-content{padding:9px 14px}.factory-bootstrap-439 .popover .arrow,.factory-bootstrap-439 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-439 .popover .arrow{border-width:11px}.factory-bootstrap-439 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-439 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-439 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-439 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-439 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-439 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-439 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-439 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-439 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-439 .carousel{position:relative}.factory-bootstrap-439 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-439 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-439 .carousel-inner>.item>a>img,.factory-bootstrap-439 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-439 .carousel-inner>.active,.factory-bootstrap-439 .carousel-inner>.next,.factory-bootstrap-439 .carousel-inner>.prev{display:block}.factory-bootstrap-439 .carousel-inner>.active{left:0}.factory-bootstrap-439 .carousel-inner>.next,.factory-bootstrap-439 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-439 .carousel-inner>.next{left:100%}.factory-bootstrap-439 .carousel-inner>.prev{left:-100%}.factory-bootstrap-439 .carousel-inner>.next.left,.factory-bootstrap-439 .carousel-inner>.prev.right{left:0}.factory-bootstrap-439 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-439 .carousel-inner>.active.right{left:100%}.factory-bootstrap-439 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-439 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-439 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-439 .carousel-control:focus,.factory-bootstrap-439 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-439 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-439 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-439 .carousel-control .icon-next,.factory-bootstrap-439 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-439 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-439 .carousel-control .icon-prev{left:50%}.factory-bootstrap-439 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-439 .carousel-control .icon-next{right:50%}.factory-bootstrap-439 .carousel-control .icon-next,.factory-bootstrap-439 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-439 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-439 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-439 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-439 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-439 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-439 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-439 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-439 .clearfix:after,.factory-bootstrap-439 .clearfix:before{display:table;content:" "}.factory-bootstrap-439 .clearfix:after{clear:both}.factory-bootstrap-439 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-439 .pull-right{float:right!important}.factory-bootstrap-439 .pull-left{float:left!important}.factory-bootstrap-439 .hide{display:none!important}.factory-bootstrap-439 .show{display:block!important}.factory-bootstrap-439 .invisible{visibility:hidden}.factory-bootstrap-439 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-439 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-439 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-439 .visible-lg,.factory-bootstrap-439 .visible-md,.factory-bootstrap-439 .visible-sm,.factory-bootstrap-439 .visible-xs,.factory-bootstrap-439 td.visible-lg,.factory-bootstrap-439 td.visible-md,.factory-bootstrap-439 td.visible-sm,.factory-bootstrap-439 td.visible-xs,.factory-bootstrap-439 th.visible-lg,.factory-bootstrap-439 th.visible-md,.factory-bootstrap-439 th.visible-sm,.factory-bootstrap-439 th.visible-xs,.factory-bootstrap-439 tr.visible-lg,.factory-bootstrap-439 tr.visible-md,.factory-bootstrap-439 tr.visible-sm,.factory-bootstrap-439 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-439 .hidden-xs{display:block!important}.factory-bootstrap-439 table.hidden-xs{display:table}.factory-bootstrap-439 tr.hidden-xs{display:table-row!important}.factory-bootstrap-439 td.hidden-xs,.factory-bootstrap-439 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-439 .hidden-sm{display:block!important}.factory-bootstrap-439 table.hidden-sm{display:table}.factory-bootstrap-439 tr.hidden-sm{display:table-row!important}.factory-bootstrap-439 td.hidden-sm,.factory-bootstrap-439 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-439 .hidden-md{display:block!important}.factory-bootstrap-439 table.hidden-md{display:table}.factory-bootstrap-439 tr.hidden-md{display:table-row!important}.factory-bootstrap-439 td.hidden-md,.factory-bootstrap-439 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-439 .hidden-lg{display:block!important}.factory-bootstrap-439 table.hidden-lg{display:table}.factory-bootstrap-439 tr.hidden-lg{display:table-row!important}.factory-bootstrap-439 td.hidden-lg,.factory-bootstrap-439 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-439 .hidden-lg.hidden-xs,.factory-bootstrap-439 td.hidden-lg.hidden-xs,.factory-bootstrap-439 th.hidden-lg.hidden-xs,.factory-bootstrap-439 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-439 .hidden-lg.hidden-sm,.factory-bootstrap-439 td.hidden-lg.hidden-sm,.factory-bootstrap-439 th.hidden-lg.hidden-sm,.factory-bootstrap-439 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-439 .hidden-lg.hidden-md,.factory-bootstrap-439 td.hidden-lg.hidden-md,.factory-bootstrap-439 th.hidden-lg.hidden-md,.factory-bootstrap-439 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-439 .hidden-lg,.factory-bootstrap-439 td.hidden-lg,.factory-bootstrap-439 th.hidden-lg,.factory-bootstrap-439 tr.hidden-lg{display:none!important}}.factory-bootstrap-439 .visible-print,.factory-bootstrap-439 td.visible-print,.factory-bootstrap-439 th.visible-print,.factory-bootstrap-439 tr.visible-print{display:none!important}@media print{.factory-bootstrap-439 .visible-print{display:block!important}.factory-bootstrap-439 table.visible-print{display:table}.factory-bootstrap-439 tr.visible-print{display:table-row!important}.factory-bootstrap-439 td.visible-print,.factory-bootstrap-439 th.visible-print{display:table-cell!important}.factory-bootstrap-439 .hidden-print,.factory-bootstrap-439 td.hidden-print,.factory-bootstrap-439 th.hidden-print,.factory-bootstrap-439 tr.hidden-print{display:none!important}}/*!
|
12 |
* Factory Default Bootstrap Theme
|
13 |
*
|
14 |
* The code is based on Bootstrap v2.1.1
|
22 |
*
|
23 |
* @package factory-bootstrap
|
24 |
* @since 1.0.0
|
25 |
+
*/.factory-bootstrap-439 .btn-danger,.factory-bootstrap-439 .btn-default,.factory-bootstrap-439 .btn-info,.factory-bootstrap-439 .btn-primary,.factory-bootstrap-439 .btn-success,.factory-bootstrap-439 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .btn-danger.active,.factory-bootstrap-439 .btn-danger:active,.factory-bootstrap-439 .btn-default.active,.factory-bootstrap-439 .btn-default:active,.factory-bootstrap-439 .btn-info.active,.factory-bootstrap-439 .btn-info:active,.factory-bootstrap-439 .btn-primary.active,.factory-bootstrap-439 .btn-primary:active,.factory-bootstrap-439 .btn-success.active,.factory-bootstrap-439 .btn-success:active,.factory-bootstrap-439 .btn-warning.active,.factory-bootstrap-439 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-439 .btn.active,.factory-bootstrap-439 .btn:active{background-image:none}.factory-bootstrap-439 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-439 .btn-default.active,.factory-bootstrap-439 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-439 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-439 .btn-gold:focus,.factory-bootstrap-439 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-439 .btn-gold.active,.factory-bootstrap-439 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-439 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-439 .btn-primary.active,.factory-bootstrap-439 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-439 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .btn-success:focus,.factory-bootstrap-439 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-439 .btn-success.active,.factory-bootstrap-439 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-439 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .btn-warning:focus,.factory-bootstrap-439 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-439 .btn-warning.active,.factory-bootstrap-439 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-439 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-439 .btn-danger.active,.factory-bootstrap-439 .btn-danger:active,.factory-bootstrap-439 .btn-danger:focus,.factory-bootstrap-439 .btn-danger:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-439 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .btn-info:focus,.factory-bootstrap-439 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-439 .btn-info.active,.factory-bootstrap-439 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-439 .img-thumbnail,.factory-bootstrap-439 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-439 .dropdown-menu>li>a:focus,.factory-bootstrap-439 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-439 .dropdown-menu>.active>a,.factory-bootstrap-439 .dropdown-menu>.active>a:focus,.factory-bootstrap-439 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-439 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-439 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-439 .navbar-brand,.factory-bootstrap-439 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-439 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-439 .navbar-inverse .navbar-brand,.factory-bootstrap-439 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-439 .navbar-fixed-bottom,.factory-bootstrap-439 .navbar-fixed-top,.factory-bootstrap-439 .navbar-static-top{border-radius:0}.factory-bootstrap-439 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-439 .alert .actions{padding-top:10px}.factory-bootstrap-439 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-439 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-439 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-439 .alert-normal,.factory-bootstrap-439 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-439 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-439 .alert-danger a:not(.btn),.factory-bootstrap-439 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-439 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-439 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-439 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-439 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-439 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-439 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-439 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-439 .list-group-item.active,.factory-bootstrap-439 .list-group-item.active:focus,.factory-bootstrap-439 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-439 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-439 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-439 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-439 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-439 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-439 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-439 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-439 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-439 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-439 .factory-hidden{display:none}.factory-bootstrap-439 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
|
libs/factory/bootstrap/assets/css-min/bootstrap.datepicker.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
|
libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-439 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-439 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-439 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-439 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-439 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-439 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-439 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-439 .factory-form-group legend+.control-group{margin-top:0}
|
libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
|
libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
|
libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
|
libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
|
libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
|
libs/factory/bootstrap/assets/css-min/control.checkbox.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
#side-sortables .factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
#side-sortables .factory-bootstrap-439 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-439 .factory-checkbox-disabled button,.factory-bootstrap-439 .factory-checkbox-disabled input{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-439 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-439 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-439 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-439 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-439 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
|
libs/factory/bootstrap/assets/css-min/control.dropdown.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-439 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-439 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-439 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-439 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-439 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-439 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
|
libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-439 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-439 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-439 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-439 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-439 .factory-mtextbox-add-item{display:block;margin-top:10px}
|
libs/factory/bootstrap/assets/css-min/holder.more-link.min.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-439 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-439 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-439 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-439 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-439 .factory-tab .factory-more-link-hide:hover{color:#999}
|
libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap439_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap439_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
|
libs/factory/bootstrap/assets/js-min/bootstrap.tooltip.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
libs/factory/bootstrap/assets/js-min/control.checkbox.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap439_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap439_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-439 .factory-checkbox.factory-buttons-way").factoryBootstrap439_checkboxControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.dropdown.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap439_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap439_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-439 .factory-dropdown").factoryBootstrap439_dropdownControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.list.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap439_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap439_listControl.Constructor=b,a(function(){a(".factory-bootstrap-439 .factory-list").factoryBootstrap439_listControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap generator - v1.0.1,
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.
|
1 |
/*!
|
2 |
+
* Bootstrap generator - v1.0.1, 2020-11-08
|
3 |
* Webcraftic factory build
|
4 |
*
|
5 |
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap439_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-439 .factory-multiple-textbox-group").factoryBootstrap439_MultipleTextboxControl()})}(jQuery);
|
libs/factory/bootstrap/boot.php
CHANGED
@@ -19,27 +19,27 @@ if( !is_admin() ) {
|
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
-
if( defined('
|
23 |
return;
|
24 |
}
|
25 |
|
26 |
-
define('
|
27 |
-
define('
|
28 |
|
29 |
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
30 |
define('FACTORY_FLAT_ADMIN', true);
|
31 |
}
|
32 |
|
33 |
-
define('
|
34 |
-
define('
|
35 |
|
36 |
-
require_once(
|
37 |
|
38 |
/**
|
39 |
-
* @param
|
40 |
*/
|
41 |
-
add_action('
|
42 |
-
$manager = new
|
43 |
$plugin->setBootstap($manager);
|
44 |
});
|
45 |
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
+
if( defined('FACTORY_BOOTSTRAP_439_LOADED') ) {
|
23 |
return;
|
24 |
}
|
25 |
|
26 |
+
define('FACTORY_BOOTSTRAP_439_VERSION', '4.3.9');
|
27 |
+
define('FACTORY_BOOTSTRAP_439_LOADED', true);
|
28 |
|
29 |
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
30 |
define('FACTORY_FLAT_ADMIN', true);
|
31 |
}
|
32 |
|
33 |
+
define('FACTORY_BOOTSTRAP_439_DIR', dirname(__FILE__));
|
34 |
+
define('FACTORY_BOOTSTRAP_439_URL', plugins_url(null, __FILE__));
|
35 |
|
36 |
+
require_once(FACTORY_BOOTSTRAP_439_DIR . '/includes/functions.php');
|
37 |
|
38 |
/**
|
39 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
40 |
*/
|
41 |
+
add_action('wbcr_factory_bootstrap_439_plugin_created', function ($plugin) {
|
42 |
+
$manager = new Wbcr_FactoryBootstrap439_Manager($plugin);
|
43 |
$plugin->setBootstap($manager);
|
44 |
});
|
45 |
|
libs/factory/bootstrap/includes/functions.php
CHANGED
@@ -20,13 +20,13 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
*
|
21 |
* @since 3.2.0
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
/**
|
26 |
* A plugin for which the manager was created.
|
27 |
*
|
28 |
* @since 3.2.0
|
29 |
-
* @var
|
30 |
*/
|
31 |
public $plugin;
|
32 |
|
@@ -51,7 +51,7 @@ class Wbcr_FactoryBootstrap436_Manager {
|
|
51 |
*
|
52 |
* @since 1.0.0
|
53 |
*/
|
54 |
-
public function __construct(
|
55 |
$this->plugin = $plugin;
|
56 |
|
57 |
add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
|
@@ -111,8 +111,8 @@ class Wbcr_FactoryBootstrap436_Manager {
|
|
111 |
*/
|
112 |
public function loadAssets( $hook ) {
|
113 |
|
114 |
-
do_action( '
|
115 |
-
do_action( '
|
116 |
|
117 |
$dependencies = [];
|
118 |
if ( ! empty( $this->scripts ) ) {
|
@@ -156,8 +156,8 @@ class Wbcr_FactoryBootstrap436_Manager {
|
|
156 |
$cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
|
157 |
|
158 |
$cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
|
159 |
-
$cache_dir_path =
|
160 |
-
$cache_dir_url =
|
161 |
|
162 |
$cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
|
163 |
$cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
|
@@ -184,7 +184,7 @@ class Wbcr_FactoryBootstrap436_Manager {
|
|
184 |
foreach ( $scripts as $script_to_load ) {
|
185 |
$script_to_load = sanitize_text_field( $script_to_load );
|
186 |
if ( $cache_enable && $cache_dir_exists ) {
|
187 |
-
$fname =
|
188 |
if ( file_exists( $fname ) ) {
|
189 |
$f = @fopen( $fname, 'r' );
|
190 |
$concat_files[] = @fread( $f, filesize( $fname ) );
|
@@ -192,9 +192,9 @@ class Wbcr_FactoryBootstrap436_Manager {
|
|
192 |
}
|
193 |
} else {
|
194 |
if ( $type == 'js' ) {
|
195 |
-
wp_enqueue_script( md5( $script_to_load ),
|
196 |
} else {
|
197 |
-
wp_enqueue_style( md5( $script_to_load ),
|
198 |
}
|
199 |
$is_first = false;
|
200 |
}
|
20 |
*
|
21 |
* @since 3.2.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryBootstrap439_Manager {
|
24 |
|
25 |
/**
|
26 |
* A plugin for which the manager was created.
|
27 |
*
|
28 |
* @since 3.2.0
|
29 |
+
* @var Wbcr_Factory439_Plugin
|
30 |
*/
|
31 |
public $plugin;
|
32 |
|
51 |
*
|
52 |
* @since 1.0.0
|
53 |
*/
|
54 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
55 |
$this->plugin = $plugin;
|
56 |
|
57 |
add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
|
111 |
*/
|
112 |
public function loadAssets( $hook ) {
|
113 |
|
114 |
+
do_action( 'wbcr_factory_439_bootstrap_enqueue_scripts', $hook );
|
115 |
+
do_action( 'wbcr_factory_439_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
|
116 |
|
117 |
$dependencies = [];
|
118 |
if ( ! empty( $this->scripts ) ) {
|
156 |
$cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
|
157 |
|
158 |
$cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
|
159 |
+
$cache_dir_path = FACTORY_BOOTSTRAP_439_DIR . '/assets/cache/';
|
160 |
+
$cache_dir_url = FACTORY_BOOTSTRAP_439_URL . '/assets/cache/';
|
161 |
|
162 |
$cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
|
163 |
$cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
|
184 |
foreach ( $scripts as $script_to_load ) {
|
185 |
$script_to_load = sanitize_text_field( $script_to_load );
|
186 |
if ( $cache_enable && $cache_dir_exists ) {
|
187 |
+
$fname = FACTORY_BOOTSTRAP_439_DIR . "/assets/$type-min/$script_to_load.min." . $type;
|
188 |
if ( file_exists( $fname ) ) {
|
189 |
$f = @fopen( $fname, 'r' );
|
190 |
$concat_files[] = @fread( $f, filesize( $fname ) );
|
192 |
}
|
193 |
} else {
|
194 |
if ( $type == 'js' ) {
|
195 |
+
wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_439_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
|
196 |
} else {
|
197 |
+
wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_439_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
|
198 |
}
|
199 |
$is_first = false;
|
200 |
}
|
libs/factory/bootstrap/package-lock.json
ADDED
@@ -0,0 +1,1810 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "bootstrap-generator",
|
3 |
+
"version": "1.0.1",
|
4 |
+
"lockfileVersion": 1,
|
5 |
+
"requires": true,
|
6 |
+
"dependencies": {
|
7 |
+
"abbrev": {
|
8 |
+
"version": "1.1.1",
|
9 |
+
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
10 |
+
"integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg="
|
11 |
+
},
|
12 |
+
"amdefine": {
|
13 |
+
"version": "1.0.1",
|
14 |
+
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
|
15 |
+
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
|
16 |
+
"dev": true
|
17 |
+
},
|
18 |
+
"argparse": {
|
19 |
+
"version": "0.1.16",
|
20 |
+
"resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
|
21 |
+
"integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
|
22 |
+
"dev": true,
|
23 |
+
"requires": {
|
24 |
+
"underscore": "~1.7.0",
|
25 |
+
"underscore.string": "~2.4.0"
|
26 |
+
},
|
27 |
+
"dependencies": {
|
28 |
+
"underscore.string": {
|
29 |
+
"version": "2.4.0",
|
30 |
+
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
|
31 |
+
"integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
|
32 |
+
"dev": true
|
33 |
+
}
|
34 |
+
}
|
35 |
+
},
|
36 |
+
"arr-diff": {
|
37 |
+
"version": "4.0.0",
|
38 |
+
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
|
39 |
+
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
|
40 |
+
},
|
41 |
+
"arr-flatten": {
|
42 |
+
"version": "1.1.0",
|
43 |
+
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
|
44 |
+
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
|
45 |
+
},
|
46 |
+
"arr-union": {
|
47 |
+
"version": "3.1.0",
|
48 |
+
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
|
49 |
+
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
|
50 |
+
},
|
51 |
+
"array-each": {
|
52 |
+
"version": "1.0.1",
|
53 |
+
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
|
54 |
+
"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8="
|
55 |
+
},
|
56 |
+
"array-slice": {
|
57 |
+
"version": "1.1.0",
|
58 |
+
"resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
|
59 |
+
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
|
60 |
+
},
|
61 |
+
"array-unique": {
|
62 |
+
"version": "0.3.2",
|
63 |
+
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
|
64 |
+
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
|
65 |
+
},
|
66 |
+
"assign-symbols": {
|
67 |
+
"version": "1.0.0",
|
68 |
+
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
|
69 |
+
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
|
70 |
+
},
|
71 |
+
"async": {
|
72 |
+
"version": "0.1.22",
|
73 |
+
"resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
|
74 |
+
"integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
|
75 |
+
"dev": true
|
76 |
+
},
|
77 |
+
"atob": {
|
78 |
+
"version": "2.1.2",
|
79 |
+
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
80 |
+
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
|
81 |
+
},
|
82 |
+
"base": {
|
83 |
+
"version": "0.11.2",
|
84 |
+
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
|
85 |
+
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
|
86 |
+
"requires": {
|
87 |
+
"cache-base": "^1.0.1",
|
88 |
+
"class-utils": "^0.3.5",
|
89 |
+
"component-emitter": "^1.2.1",
|
90 |
+
"define-property": "^1.0.0",
|
91 |
+
"isobject": "^3.0.1",
|
92 |
+
"mixin-deep": "^1.2.0",
|
93 |
+
"pascalcase": "^0.1.1"
|
94 |
+
},
|
95 |
+
"dependencies": {
|
96 |
+
"define-property": {
|
97 |
+
"version": "1.0.0",
|
98 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
|
99 |
+
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
|
100 |
+
"requires": {
|
101 |
+
"is-descriptor": "^1.0.0"
|
102 |
+
}
|
103 |
+
},
|
104 |
+
"is-accessor-descriptor": {
|
105 |
+
"version": "1.0.0",
|
106 |
+
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
|
107 |
+
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
|
108 |
+
"requires": {
|
109 |
+
"kind-of": "^6.0.0"
|
110 |
+
}
|
111 |
+
},
|
112 |
+
"is-data-descriptor": {
|
113 |
+
"version": "1.0.0",
|
114 |
+
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
|
115 |
+
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
|
116 |
+
"requires": {
|
117 |
+
"kind-of": "^6.0.0"
|
118 |
+
}
|
119 |
+
},
|
120 |
+
"is-descriptor": {
|
121 |
+
"version": "1.0.2",
|
122 |
+
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
|
123 |
+
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
|
124 |
+
"requires": {
|
125 |
+
"is-accessor-descriptor": "^1.0.0",
|
126 |
+
"is-data-descriptor": "^1.0.0",
|
127 |
+
"kind-of": "^6.0.2"
|
128 |
+
}
|
129 |
+
}
|
130 |
+
}
|
131 |
+
},
|
132 |
+
"braces": {
|
133 |
+
"version": "2.3.2",
|
134 |
+
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
|
135 |
+
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
|
136 |
+
"requires": {
|
137 |
+
"arr-flatten": "^1.1.0",
|
138 |
+
"array-unique": "^0.3.2",
|
139 |
+
"extend-shallow": "^2.0.1",
|
140 |
+
"fill-range": "^4.0.0",
|
141 |
+
"isobject": "^3.0.1",
|
142 |
+
"repeat-element": "^1.1.2",
|
143 |
+
"snapdragon": "^0.8.1",
|
144 |
+
"snapdragon-node": "^2.0.1",
|
145 |
+
"split-string": "^3.0.2",
|
146 |
+
"to-regex": "^3.0.1"
|
147 |
+
},
|
148 |
+
"dependencies": {
|
149 |
+
"extend-shallow": {
|
150 |
+
"version": "2.0.1",
|
151 |
+
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
152 |
+
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
153 |
+
"requires": {
|
154 |
+
"is-extendable": "^0.1.0"
|
155 |
+
}
|
156 |
+
}
|
157 |
+
}
|
158 |
+
},
|
159 |
+
"cache-base": {
|
160 |
+
"version": "1.0.1",
|
161 |
+
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
|
162 |
+
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
|
163 |
+
"requires": {
|
164 |
+
"collection-visit": "^1.0.0",
|
165 |
+
"component-emitter": "^1.2.1",
|
166 |
+
"get-value": "^2.0.6",
|
167 |
+
"has-value": "^1.0.0",
|
168 |
+
"isobject": "^3.0.1",
|
169 |
+
"set-value": "^2.0.0",
|
170 |
+
"to-object-path": "^0.3.0",
|
171 |
+
"union-value": "^1.0.0",
|
172 |
+
"unset-value": "^1.0.0"
|
173 |
+
}
|
174 |
+
},
|
175 |
+
"camelcase": {
|
176 |
+
"version": "1.2.1",
|
177 |
+
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
|
178 |
+
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
|
179 |
+
"dev": true
|
180 |
+
},
|
181 |
+
"class-utils": {
|
182 |
+
"version": "0.3.6",
|
183 |
+
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
|
184 |
+
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
|
185 |
+
"requires": {
|
186 |
+
"arr-union": "^3.1.0",
|
187 |
+
"define-property": "^0.2.5",
|
188 |
+
"isobject": "^3.0.0",
|
189 |
+
"static-extend": "^0.1.1"
|
190 |
+
},
|
191 |
+
"dependencies": {
|
192 |
+
"define-property": {
|
193 |
+
"version": "0.2.5",
|
194 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
|
195 |
+
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
|
196 |
+
"requires": {
|
197 |
+
"is-descriptor": "^0.1.0"
|
198 |
+
}
|
199 |
+
}
|
200 |
+
}
|
201 |
+
},
|
202 |
+
"clean-css": {
|
203 |
+
"version": "2.0.8",
|
204 |
+
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.0.8.tgz",
|
205 |
+
"integrity": "sha1-6TfN/cxXgaAIF67EB56Fs+wVeiA=",
|
206 |
+
"dev": true,
|
207 |
+
"requires": {
|
208 |
+
"commander": "2.0.x"
|
209 |
+
}
|
210 |
+
},
|
211 |
+
"cli": {
|
212 |
+
"version": "0.4.5",
|
213 |
+
"resolved": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz",
|
214 |
+
"integrity": "sha1-ePlIXNFhtWbppsctcXDEJw6B22E=",
|
215 |
+
"dev": true,
|
216 |
+
"requires": {
|
217 |
+
"glob": ">= 3.1.4"
|
218 |
+
}
|
219 |
+
},
|
220 |
+
"coffee-script": {
|
221 |
+
"version": "1.3.3",
|
222 |
+
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
|
223 |
+
"integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
|
224 |
+
"dev": true
|
225 |
+
},
|
226 |
+
"collection-visit": {
|
227 |
+
"version": "1.0.0",
|
228 |
+
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
|
229 |
+
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
|
230 |
+
"requires": {
|
231 |
+
"map-visit": "^1.0.0",
|
232 |
+
"object-visit": "^1.0.0"
|
233 |
+
}
|
234 |
+
},
|
235 |
+
"colors": {
|
236 |
+
"version": "0.6.2",
|
237 |
+
"resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
|
238 |
+
"integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
|
239 |
+
"dev": true
|
240 |
+
},
|
241 |
+
"commander": {
|
242 |
+
"version": "2.0.0",
|
243 |
+
"resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz",
|
244 |
+
"integrity": "sha1-0bhvkB+LZL2UG96tr5JFMDk76Sg=",
|
245 |
+
"dev": true
|
246 |
+
},
|
247 |
+
"component-emitter": {
|
248 |
+
"version": "1.3.0",
|
249 |
+
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
|
250 |
+
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
|
251 |
+
},
|
252 |
+
"console-browserify": {
|
253 |
+
"version": "0.1.6",
|
254 |
+
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz",
|
255 |
+
"integrity": "sha1-0SijwLuINQ61YmxufHGm8P1ImDw=",
|
256 |
+
"dev": true
|
257 |
+
},
|
258 |
+
"copy-descriptor": {
|
259 |
+
"version": "0.1.1",
|
260 |
+
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
|
261 |
+
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
|
262 |
+
},
|
263 |
+
"dateformat": {
|
264 |
+
"version": "1.0.2-1.2.3",
|
265 |
+
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
|
266 |
+
"integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
|
267 |
+
"dev": true
|
268 |
+
},
|
269 |
+
"debug": {
|
270 |
+
"version": "2.6.9",
|
271 |
+
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
272 |
+
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
273 |
+
"requires": {
|
274 |
+
"ms": "2.0.0"
|
275 |
+
}
|
276 |
+
},
|
277 |
+
"decamelize": {
|
278 |
+
"version": "1.2.0",
|
279 |
+
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
280 |
+
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
|
281 |
+
"dev": true
|
282 |
+
},
|
283 |
+
"decode-uri-component": {
|
284 |
+
"version": "0.2.0",
|
285 |
+
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
|
286 |
+
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
|
287 |
+
},
|
288 |
+
"define-property": {
|
289 |
+
"version": "2.0.2",
|
290 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
|
291 |
+
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
|
292 |
+
"requires": {
|
293 |
+
"is-descriptor": "^1.0.2",
|
294 |
+
"isobject": "^3.0.1"
|
295 |
+
},
|
296 |
+
"dependencies": {
|
297 |
+
"is-accessor-descriptor": {
|
298 |
+
"version": "1.0.0",
|
299 |
+
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
|
300 |
+
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
|
301 |
+
"requires": {
|
302 |
+
"kind-of": "^6.0.0"
|
303 |
+
}
|
304 |
+
},
|
305 |
+
"is-data-descriptor": {
|
306 |
+
"version": "1.0.0",
|
307 |
+
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
|
308 |
+
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
|
309 |
+
"requires": {
|
310 |
+
"kind-of": "^6.0.0"
|
311 |
+
}
|
312 |
+
},
|
313 |
+
"is-descriptor": {
|
314 |
+
"version": "1.0.2",
|
315 |
+
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
|
316 |
+
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
|
317 |
+
"requires": {
|
318 |
+
"is-accessor-descriptor": "^1.0.0",
|
319 |
+
"is-data-descriptor": "^1.0.0",
|
320 |
+
"kind-of": "^6.0.2"
|
321 |
+
}
|
322 |
+
}
|
323 |
+
}
|
324 |
+
},
|
325 |
+
"detect-file": {
|
326 |
+
"version": "1.0.0",
|
327 |
+
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
|
328 |
+
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
|
329 |
+
},
|
330 |
+
"esprima": {
|
331 |
+
"version": "1.0.4",
|
332 |
+
"resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
|
333 |
+
"integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
|
334 |
+
"dev": true
|
335 |
+
},
|
336 |
+
"eventemitter2": {
|
337 |
+
"version": "0.4.14",
|
338 |
+
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
|
339 |
+
"integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
|
340 |
+
"dev": true
|
341 |
+
},
|
342 |
+
"exit": {
|
343 |
+
"version": "0.1.2",
|
344 |
+
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
|
345 |
+
"integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
|
346 |
+
"dev": true
|
347 |
+
},
|
348 |
+
"expand-brackets": {
|
349 |
+
"version": "2.1.4",
|
350 |
+
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
|
351 |
+
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
|
352 |
+
"requires": {
|
353 |
+
"debug": "^2.3.3",
|
354 |
+
"define-property": "^0.2.5",
|
355 |
+
"extend-shallow": "^2.0.1",
|
356 |
+
"posix-character-classes": "^0.1.0",
|
357 |
+
"regex-not": "^1.0.0",
|
358 |
+
"snapdragon": "^0.8.1",
|
359 |
+
"to-regex": "^3.0.1"
|
360 |
+
},
|
361 |
+
"dependencies": {
|
362 |
+
"define-property": {
|
363 |
+
"version": "0.2.5",
|
364 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
|
365 |
+
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
|
366 |
+
"requires": {
|
367 |
+
"is-descriptor": "^0.1.0"
|
368 |
+
}
|
369 |
+
},
|
370 |
+
"extend-shallow": {
|
371 |
+
"version": "2.0.1",
|
372 |
+
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
373 |
+
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
374 |
+
"requires": {
|
375 |
+
"is-extendable": "^0.1.0"
|
376 |
+
}
|
377 |
+
}
|
378 |
+
}
|
379 |
+
},
|
380 |
+
"expand-tilde": {
|
381 |
+
"version": "2.0.2",
|
382 |
+
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
|
383 |
+
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
|
384 |
+
"requires": {
|
385 |
+
"homedir-polyfill": "^1.0.1"
|
386 |
+
}
|
387 |
+
},
|
388 |
+
"extend": {
|
389 |
+
"version": "3.0.2",
|
390 |
+
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
391 |
+
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
392 |
+
},
|
393 |
+
"extend-shallow": {
|
394 |
+
"version": "3.0.2",
|
395 |
+
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
|
396 |
+
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
|
397 |
+
"requires": {
|
398 |
+
"assign-symbols": "^1.0.0",
|
399 |
+
"is-extendable": "^1.0.1"
|
400 |
+
},
|
401 |
+
"dependencies": {
|
402 |
+
"is-extendable": {
|
403 |
+
"version": "1.0.1",
|
404 |
+
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
|
405 |
+
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
|
406 |
+
"requires": {
|
407 |
+
"is-plain-object": "^2.0.4"
|
408 |
+
}
|
409 |
+
}
|
410 |
+
}
|
411 |
+
},
|
412 |
+
"extglob": {
|
413 |
+
"version": "2.0.4",
|
414 |
+
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
|
415 |
+
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
|
416 |
+
"requires": {
|
417 |
+
"array-unique": "^0.3.2",
|
418 |
+
"define-property": "^1.0.0",
|
419 |
+
"expand-brackets": "^2.1.4",
|
420 |
+
"extend-shallow": "^2.0.1",
|
421 |
+
"fragment-cache": "^0.2.1",
|
422 |
+
"regex-not": "^1.0.0",
|
423 |
+
"snapdragon": "^0.8.1",
|
424 |
+
"to-regex": "^3.0.1"
|
425 |
+
},
|
426 |
+
"dependencies": {
|
427 |
+
"define-property": {
|
428 |
+
"version": "1.0.0",
|
429 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
|
430 |
+
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
|
431 |
+
"requires": {
|
432 |
+
"is-descriptor": "^1.0.0"
|
433 |
+
}
|
434 |
+
},
|
435 |
+
"extend-shallow": {
|
436 |
+
"version": "2.0.1",
|
437 |
+
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
438 |
+
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
439 |
+
"requires": {
|
440 |
+
"is-extendable": "^0.1.0"
|
441 |
+
}
|
442 |
+
},
|
443 |
+
"is-accessor-descriptor": {
|
444 |
+
"version": "1.0.0",
|
445 |
+
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
|
446 |
+
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
|
447 |
+
"requires": {
|
448 |
+
"kind-of": "^6.0.0"
|
449 |
+
}
|
450 |
+
},
|
451 |
+
"is-data-descriptor": {
|
452 |
+
"version": "1.0.0",
|
453 |
+
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
|
454 |
+
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
|
455 |
+
"requires": {
|
456 |
+
"kind-of": "^6.0.0"
|
457 |
+
}
|
458 |
+
},
|
459 |
+
"is-descriptor": {
|
460 |
+
"version": "1.0.2",
|
461 |
+
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
|
462 |
+
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
|
463 |
+
"requires": {
|
464 |
+
"is-accessor-descriptor": "^1.0.0",
|
465 |
+
"is-data-descriptor": "^1.0.0",
|
466 |
+
"kind-of": "^6.0.2"
|
467 |
+
}
|
468 |
+
}
|
469 |
+
}
|
470 |
+
},
|
471 |
+
"fill-range": {
|
472 |
+
"version": "4.0.0",
|
473 |
+
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
|
474 |
+
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
|
475 |
+
"requires": {
|
476 |
+
"extend-shallow": "^2.0.1",
|
477 |
+
"is-number": "^3.0.0",
|
478 |
+
"repeat-string": "^1.6.1",
|
479 |
+
"to-regex-range": "^2.1.0"
|
480 |
+
},
|
481 |
+
"dependencies": {
|
482 |
+
"extend-shallow": {
|
483 |
+
"version": "2.0.1",
|
484 |
+
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
485 |
+
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
486 |
+
"requires": {
|
487 |
+
"is-extendable": "^0.1.0"
|
488 |
+
}
|
489 |
+
}
|
490 |
+
}
|
491 |
+
},
|
492 |
+
"findup-sync": {
|
493 |
+
"version": "0.1.3",
|
494 |
+
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
|
495 |
+
"integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
|
496 |
+
"dev": true,
|
497 |
+
"requires": {
|
498 |
+
"glob": "~3.2.9",
|
499 |
+
"lodash": "~2.4.1"
|
500 |
+
},
|
501 |
+
"dependencies": {
|
502 |
+
"glob": {
|
503 |
+
"version": "3.2.11",
|
504 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
|
505 |
+
"integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
|
506 |
+
"dev": true,
|
507 |
+
"requires": {
|
508 |
+
"inherits": "2",
|
509 |
+
"minimatch": "0.3"
|
510 |
+
}
|
511 |
+
},
|
512 |
+
"lodash": {
|
513 |
+
"version": "2.4.2",
|
514 |
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
|
515 |
+
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
|
516 |
+
"dev": true
|
517 |
+
},
|
518 |
+
"minimatch": {
|
519 |
+
"version": "0.3.0",
|
520 |
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
|
521 |
+
"integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
|
522 |
+
"dev": true,
|
523 |
+
"requires": {
|
524 |
+
"lru-cache": "2",
|
525 |
+
"sigmund": "~1.0.0"
|
526 |
+
}
|
527 |
+
}
|
528 |
+
}
|
529 |
+
},
|
530 |
+
"fined": {
|
531 |
+
"version": "1.2.0",
|
532 |
+
"resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
|
533 |
+
"integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
|
534 |
+
"requires": {
|
535 |
+
"expand-tilde": "^2.0.2",
|
536 |
+
"is-plain-object": "^2.0.3",
|
537 |
+
"object.defaults": "^1.1.0",
|
538 |
+
"object.pick": "^1.2.0",
|
539 |
+
"parse-filepath": "^1.0.1"
|
540 |
+
}
|
541 |
+
},
|
542 |
+
"flagged-respawn": {
|
543 |
+
"version": "1.0.1",
|
544 |
+
"resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
|
545 |
+
"integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
|
546 |
+
},
|
547 |
+
"for-in": {
|
548 |
+
"version": "1.0.2",
|
549 |
+
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
550 |
+
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
|
551 |
+
},
|
552 |
+
"for-own": {
|
553 |
+
"version": "1.0.0",
|
554 |
+
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
|
555 |
+
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
|
556 |
+
"requires": {
|
557 |
+
"for-in": "^1.0.1"
|
558 |
+
}
|
559 |
+
},
|
560 |
+
"fragment-cache": {
|
561 |
+
"version": "0.2.1",
|
562 |
+
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
|
563 |
+
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
|
564 |
+
"requires": {
|
565 |
+
"map-cache": "^0.2.2"
|
566 |
+
}
|
567 |
+
},
|
568 |
+
"function-bind": {
|
569 |
+
"version": "1.1.1",
|
570 |
+
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
571 |
+
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
572 |
+
},
|
573 |
+
"get-value": {
|
574 |
+
"version": "2.0.6",
|
575 |
+
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
|
576 |
+
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
|
577 |
+
},
|
578 |
+
"getobject": {
|
579 |
+
"version": "0.1.0",
|
580 |
+
"resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
|
581 |
+
"integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
|
582 |
+
"dev": true
|
583 |
+
},
|
584 |
+
"glob": {
|
585 |
+
"version": "3.1.21",
|
586 |
+
"resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
|
587 |
+
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
|
588 |
+
"dev": true,
|
589 |
+
"requires": {
|
590 |
+
"graceful-fs": "~1.2.0",
|
591 |
+
"inherits": "1",
|
592 |
+
"minimatch": "~0.2.11"
|
593 |
+
},
|
594 |
+
"dependencies": {
|
595 |
+
"inherits": {
|
596 |
+
"version": "1.0.2",
|
597 |
+
"resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
|
598 |
+
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
|
599 |
+
"dev": true
|
600 |
+
}
|
601 |
+
}
|
602 |
+
},
|
603 |
+
"global-modules": {
|
604 |
+
"version": "1.0.0",
|
605 |
+
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
|
606 |
+
"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
|
607 |
+
"requires": {
|
608 |
+
"global-prefix": "^1.0.1",
|
609 |
+
"is-windows": "^1.0.1",
|
610 |
+
"resolve-dir": "^1.0.0"
|
611 |
+
}
|
612 |
+
},
|
613 |
+
"global-prefix": {
|
614 |
+
"version": "1.0.2",
|
615 |
+
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
|
616 |
+
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
|
617 |
+
"requires": {
|
618 |
+
"expand-tilde": "^2.0.2",
|
619 |
+
"homedir-polyfill": "^1.0.1",
|
620 |
+
"ini": "^1.3.4",
|
621 |
+
"is-windows": "^1.0.1",
|
622 |
+
"which": "^1.2.14"
|
623 |
+
},
|
624 |
+
"dependencies": {
|
625 |
+
"which": {
|
626 |
+
"version": "1.3.1",
|
627 |
+
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
628 |
+
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
629 |
+
"requires": {
|
630 |
+
"isexe": "^2.0.0"
|
631 |
+
}
|
632 |
+
}
|
633 |
+
}
|
634 |
+
},
|
635 |
+
"graceful-fs": {
|
636 |
+
"version": "1.2.3",
|
637 |
+
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
|
638 |
+
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
|
639 |
+
"dev": true
|
640 |
+
},
|
641 |
+
"grunt": {
|
642 |
+
"version": "0.4.5",
|
643 |
+
"resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
|
644 |
+
"integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
|
645 |
+
"dev": true,
|
646 |
+
"requires": {
|
647 |
+
"async": "~0.1.22",
|
648 |
+
"coffee-script": "~1.3.3",
|
649 |
+
"colors": "~0.6.2",
|
650 |
+
"dateformat": "1.0.2-1.2.3",
|
651 |
+
"eventemitter2": "~0.4.13",
|
652 |
+
"exit": "~0.1.1",
|
653 |
+
"findup-sync": "~0.1.2",
|
654 |
+
"getobject": "~0.1.0",
|
655 |
+
"glob": "~3.1.21",
|
656 |
+
"grunt-legacy-log": "~0.1.0",
|
657 |
+
"grunt-legacy-util": "~0.2.0",
|
658 |
+
"hooker": "~0.2.3",
|
659 |
+
"iconv-lite": "~0.2.11",
|
660 |
+
"js-yaml": "~2.0.5",
|
661 |
+
"lodash": "~0.9.2",
|
662 |
+
"minimatch": "~0.2.12",
|
663 |
+
"nopt": "~1.0.10",
|
664 |
+
"rimraf": "~2.2.8",
|
665 |
+
"underscore.string": "~2.2.1",
|
666 |
+
"which": "~1.0.5"
|
667 |
+
}
|
668 |
+
},
|
669 |
+
"grunt-cli": {
|
670 |
+
"version": "1.3.2",
|
671 |
+
"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
|
672 |
+
"integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
|
673 |
+
"requires": {
|
674 |
+
"grunt-known-options": "~1.1.0",
|
675 |
+
"interpret": "~1.1.0",
|
676 |
+
"liftoff": "~2.5.0",
|
677 |
+
"nopt": "~4.0.1",
|
678 |
+
"v8flags": "~3.1.1"
|
679 |
+
},
|
680 |
+
"dependencies": {
|
681 |
+
"nopt": {
|
682 |
+
"version": "4.0.3",
|
683 |
+
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
|
684 |
+
"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
|
685 |
+
"requires": {
|
686 |
+
"abbrev": "1",
|
687 |
+
"osenv": "^0.1.4"
|
688 |
+
}
|
689 |
+
}
|
690 |
+
}
|
691 |
+
},
|
692 |
+
"grunt-contrib-clean": {
|
693 |
+
"version": "0.5.0",
|
694 |
+
"resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz",
|
695 |
+
"integrity": "sha1-9T397ghJsce0Dp67umn0jExgecU=",
|
696 |
+
"dev": true,
|
697 |
+
"requires": {
|
698 |
+
"rimraf": "~2.2.1"
|
699 |
+
}
|
700 |
+
},
|
701 |
+
"grunt-contrib-concat": {
|
702 |
+
"version": "0.3.0",
|
703 |
+
"resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.3.0.tgz",
|
704 |
+
"integrity": "sha1-SPoNQzbSm2U62CJaa9b4VrRIPjI=",
|
705 |
+
"dev": true
|
706 |
+
},
|
707 |
+
"grunt-contrib-copy": {
|
708 |
+
"version": "0.5.0",
|
709 |
+
"resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.5.0.tgz",
|
710 |
+
"integrity": "sha1-QQB1rEWlhWuhkbHMclclRQ1KAhU=",
|
711 |
+
"dev": true
|
712 |
+
},
|
713 |
+
"grunt-contrib-cssmin": {
|
714 |
+
"version": "0.7.0",
|
715 |
+
"resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.7.0.tgz",
|
716 |
+
"integrity": "sha1-pXNenx0mMUnkn+A1KU5CnYxnC6s=",
|
717 |
+
"dev": true,
|
718 |
+
"requires": {
|
719 |
+
"clean-css": "~2.0.0",
|
720 |
+
"grunt-lib-contrib": "~0.6.0"
|
721 |
+
}
|
722 |
+
},
|
723 |
+
"grunt-contrib-jshint": {
|
724 |
+
"version": "0.6.5",
|
725 |
+
"resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.5.tgz",
|
726 |
+
"integrity": "sha1-OvtGdnRTZMxKGe7nk0wOBgCLVm4=",
|
727 |
+
"dev": true,
|
728 |
+
"requires": {
|
729 |
+
"jshint": "~2.1.10"
|
730 |
+
}
|
731 |
+
},
|
732 |
+
"grunt-contrib-uglify": {
|
733 |
+
"version": "0.2.7",
|
734 |
+
"resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz",
|
735 |
+
"integrity": "sha1-5r2lHgxAoUWfbOrUI8Ze/XJaG/c=",
|
736 |
+
"dev": true,
|
737 |
+
"requires": {
|
738 |
+
"grunt-lib-contrib": "~0.6.1",
|
739 |
+
"uglify-js": "~2.4.0"
|
740 |
+
}
|
741 |
+
},
|
742 |
+
"grunt-known-options": {
|
743 |
+
"version": "1.1.1",
|
744 |
+
"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
|
745 |
+
"integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ=="
|
746 |
+
},
|
747 |
+
"grunt-legacy-log": {
|
748 |
+
"version": "0.1.3",
|
749 |
+
"resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
|
750 |
+
"integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
|
751 |
+
"dev": true,
|
752 |
+
"requires": {
|
753 |
+
"colors": "~0.6.2",
|
754 |
+
"grunt-legacy-log-utils": "~0.1.1",
|
755 |
+
"hooker": "~0.2.3",
|
756 |
+
"lodash": "~2.4.1",
|
757 |
+
"underscore.string": "~2.3.3"
|
758 |
+
},
|
759 |
+
"dependencies": {
|
760 |
+
"lodash": {
|
761 |
+
"version": "2.4.2",
|
762 |
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
|
763 |
+
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
|
764 |
+
"dev": true
|
765 |
+
},
|
766 |
+
"underscore.string": {
|
767 |
+
"version": "2.3.3",
|
768 |
+
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
|
769 |
+
"integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
|
770 |
+
"dev": true
|
771 |
+
}
|
772 |
+
}
|
773 |
+
},
|
774 |
+
"grunt-legacy-log-utils": {
|
775 |
+
"version": "0.1.1",
|
776 |
+
"resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
|
777 |
+
"integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
|
778 |
+
"dev": true,
|
779 |
+
"requires": {
|
780 |
+
"colors": "~0.6.2",
|
781 |
+
"lodash": "~2.4.1",
|
782 |
+
"underscore.string": "~2.3.3"
|
783 |
+
},
|
784 |
+
"dependencies": {
|
785 |
+
"lodash": {
|
786 |
+
"version": "2.4.2",
|
787 |
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
|
788 |
+
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
|
789 |
+
"dev": true
|
790 |
+
},
|
791 |
+
"underscore.string": {
|
792 |
+
"version": "2.3.3",
|
793 |
+
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
|
794 |
+
"integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
|
795 |
+
"dev": true
|
796 |
+
}
|
797 |
+
}
|
798 |
+
},
|
799 |
+
"grunt-legacy-util": {
|
800 |
+
"version": "0.2.0",
|
801 |
+
"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
|
802 |
+
"integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
|
803 |
+
"dev": true,
|
804 |
+
"requires": {
|
805 |
+
"async": "~0.1.22",
|
806 |
+
"exit": "~0.1.1",
|
807 |
+
"getobject": "~0.1.0",
|
808 |
+
"hooker": "~0.2.3",
|
809 |
+
"lodash": "~0.9.2",
|
810 |
+
"underscore.string": "~2.2.1",
|
811 |
+
"which": "~1.0.5"
|
812 |
+
}
|
813 |
+
},
|
814 |
+
"grunt-lib-contrib": {
|
815 |
+
"version": "0.6.1",
|
816 |
+
"resolved": "https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz",
|
817 |
+
"integrity": "sha1-P1att9oG6BR5XuJBWw6+X7iQPrs=",
|
818 |
+
"dev": true,
|
819 |
+
"requires": {
|
820 |
+
"zlib-browserify": "0.0.1"
|
821 |
+
}
|
822 |
+
},
|
823 |
+
"grunt-preprocess": {
|
824 |
+
"version": "4.2.0",
|
825 |
+
"resolved": "https://registry.npmjs.org/grunt-preprocess/-/grunt-preprocess-4.2.0.tgz",
|
826 |
+
"integrity": "sha1-SJUTzet1A1NEmn9lbVAXWvc/FfY=",
|
827 |
+
"dev": true,
|
828 |
+
"requires": {
|
829 |
+
"preprocess": "~2.3.1"
|
830 |
+
}
|
831 |
+
},
|
832 |
+
"has": {
|
833 |
+
"version": "1.0.3",
|
834 |
+
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
835 |
+
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
836 |
+
"requires": {
|
837 |
+
"function-bind": "^1.1.1"
|
838 |
+
}
|
839 |
+
},
|
840 |
+
"has-value": {
|
841 |
+
"version": "1.0.0",
|
842 |
+
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
|
843 |
+
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
|
844 |
+
"requires": {
|
845 |
+
"get-value": "^2.0.6",
|
846 |
+
"has-values": "^1.0.0",
|
847 |
+
"isobject": "^3.0.0"
|
848 |
+
}
|
849 |
+
},
|
850 |
+
"has-values": {
|
851 |
+
"version": "1.0.0",
|
852 |
+
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
|
853 |
+
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
|
854 |
+
"requires": {
|
855 |
+
"is-number": "^3.0.0",
|
856 |
+
"kind-of": "^4.0.0"
|
857 |
+
},
|
858 |
+
"dependencies": {
|
859 |
+
"kind-of": {
|
860 |
+
"version": "4.0.0",
|
861 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
|
862 |
+
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
|
863 |
+
"requires": {
|
864 |
+
"is-buffer": "^1.1.5"
|
865 |
+
}
|
866 |
+
}
|
867 |
+
}
|
868 |
+
},
|
869 |
+
"homedir-polyfill": {
|
870 |
+
"version": "1.0.3",
|
871 |
+
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
|
872 |
+
"integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
|
873 |
+
"requires": {
|
874 |
+
"parse-passwd": "^1.0.0"
|
875 |
+
}
|
876 |
+
},
|
877 |
+
"hooker": {
|
878 |
+
"version": "0.2.3",
|
879 |
+
"resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
|
880 |
+
"integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
|
881 |
+
"dev": true
|
882 |
+
},
|
883 |
+
"iconv-lite": {
|
884 |
+
"version": "0.2.11",
|
885 |
+
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
|
886 |
+
"integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
|
887 |
+
"dev": true
|
888 |
+
},
|
889 |
+
"inherits": {
|
890 |
+
"version": "2.0.3",
|
891 |
+
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
892 |
+
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
|
893 |
+
"dev": true
|
894 |
+
},
|
895 |
+
"ini": {
|
896 |
+
"version": "1.3.5",
|
897 |
+
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
|
898 |
+
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
|
899 |
+
},
|
900 |
+
"interpret": {
|
901 |
+
"version": "1.1.0",
|
902 |
+
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
|
903 |
+
"integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
|
904 |
+
},
|
905 |
+
"is-absolute": {
|
906 |
+
"version": "1.0.0",
|
907 |
+
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
|
908 |
+
"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
|
909 |
+
"requires": {
|
910 |
+
"is-relative": "^1.0.0",
|
911 |
+
"is-windows": "^1.0.1"
|
912 |
+
}
|
913 |
+
},
|
914 |
+
"is-accessor-descriptor": {
|
915 |
+
"version": "0.1.6",
|
916 |
+
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
|
917 |
+
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
|
918 |
+
"requires": {
|
919 |
+
"kind-of": "^3.0.2"
|
920 |
+
},
|
921 |
+
"dependencies": {
|
922 |
+
"kind-of": {
|
923 |
+
"version": "3.2.2",
|
924 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
925 |
+
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
926 |
+
"requires": {
|
927 |
+
"is-buffer": "^1.1.5"
|
928 |
+
}
|
929 |
+
}
|
930 |
+
}
|
931 |
+
},
|
932 |
+
"is-buffer": {
|
933 |
+
"version": "1.1.6",
|
934 |
+
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
935 |
+
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
|
936 |
+
},
|
937 |
+
"is-core-module": {
|
938 |
+
"version": "2.1.0",
|
939 |
+
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
|
940 |
+
"integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
|
941 |
+
"requires": {
|
942 |
+
"has": "^1.0.3"
|
943 |
+
}
|
944 |
+
},
|
945 |
+
"is-data-descriptor": {
|
946 |
+
"version": "0.1.4",
|
947 |
+
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
|
948 |
+
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
|
949 |
+
"requires": {
|
950 |
+
"kind-of": "^3.0.2"
|
951 |
+
},
|
952 |
+
"dependencies": {
|
953 |
+
"kind-of": {
|
954 |
+
"version": "3.2.2",
|
955 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
956 |
+
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
957 |
+
"requires": {
|
958 |
+
"is-buffer": "^1.1.5"
|
959 |
+
}
|
960 |
+
}
|
961 |
+
}
|
962 |
+
},
|
963 |
+
"is-descriptor": {
|
964 |
+
"version": "0.1.6",
|
965 |
+
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
|
966 |
+
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
|
967 |
+
"requires": {
|
968 |
+
"is-accessor-descriptor": "^0.1.6",
|
969 |
+
"is-data-descriptor": "^0.1.4",
|
970 |
+
"kind-of": "^5.0.0"
|
971 |
+
},
|
972 |
+
"dependencies": {
|
973 |
+
"kind-of": {
|
974 |
+
"version": "5.1.0",
|
975 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
|
976 |
+
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
|
977 |
+
}
|
978 |
+
}
|
979 |
+
},
|
980 |
+
"is-extendable": {
|
981 |
+
"version": "0.1.1",
|
982 |
+
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
|
983 |
+
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
|
984 |
+
},
|
985 |
+
"is-extglob": {
|
986 |
+
"version": "2.1.1",
|
987 |
+
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
988 |
+
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
|
989 |
+
},
|
990 |
+
"is-glob": {
|
991 |
+
"version": "3.1.0",
|
992 |
+
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
|
993 |
+
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
|
994 |
+
"requires": {
|
995 |
+
"is-extglob": "^2.1.0"
|
996 |
+
}
|
997 |
+
},
|
998 |
+
"is-number": {
|
999 |
+
"version": "3.0.0",
|
1000 |
+
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
|
1001 |
+
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
|
1002 |
+
"requires": {
|
1003 |
+
"kind-of": "^3.0.2"
|
1004 |
+
},
|
1005 |
+
"dependencies": {
|
1006 |
+
"kind-of": {
|
1007 |
+
"version": "3.2.2",
|
1008 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
1009 |
+
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
1010 |
+
"requires": {
|
1011 |
+
"is-buffer": "^1.1.5"
|
1012 |
+
}
|
1013 |
+
}
|
1014 |
+
}
|
1015 |
+
},
|
1016 |
+
"is-plain-object": {
|
1017 |
+
"version": "2.0.4",
|
1018 |
+
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
|
1019 |
+
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
|
1020 |
+
"requires": {
|
1021 |
+
"isobject": "^3.0.1"
|
1022 |
+
}
|
1023 |
+
},
|
1024 |
+
"is-relative": {
|
1025 |
+
"version": "1.0.0",
|
1026 |
+
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
|
1027 |
+
"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
|
1028 |
+
"requires": {
|
1029 |
+
"is-unc-path": "^1.0.0"
|
1030 |
+
}
|
1031 |
+
},
|
1032 |
+
"is-unc-path": {
|
1033 |
+
"version": "1.0.0",
|
1034 |
+
"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
|
1035 |
+
"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
|
1036 |
+
"requires": {
|
1037 |
+
"unc-path-regex": "^0.1.2"
|
1038 |
+
}
|
1039 |
+
},
|
1040 |
+
"is-windows": {
|
1041 |
+
"version": "1.0.2",
|
1042 |
+
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
|
1043 |
+
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
|
1044 |
+
},
|
1045 |
+
"isarray": {
|
1046 |
+
"version": "1.0.0",
|
1047 |
+
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
1048 |
+
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
1049 |
+
},
|
1050 |
+
"isexe": {
|
1051 |
+
"version": "2.0.0",
|
1052 |
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
1053 |
+
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
|
1054 |
+
},
|
1055 |
+
"isobject": {
|
1056 |
+
"version": "3.0.1",
|
1057 |
+
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
|
1058 |
+
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
|
1059 |
+
},
|
1060 |
+
"js-yaml": {
|
1061 |
+
"version": "2.0.5",
|
1062 |
+
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
|
1063 |
+
"integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
|
1064 |
+
"dev": true,
|
1065 |
+
"requires": {
|
1066 |
+
"argparse": "~ 0.1.11",
|
1067 |
+
"esprima": "~ 1.0.2"
|
1068 |
+
}
|
1069 |
+
},
|
1070 |
+
"jshint": {
|
1071 |
+
"version": "2.1.11",
|
1072 |
+
"resolved": "https://registry.npmjs.org/jshint/-/jshint-2.1.11.tgz",
|
1073 |
+
"integrity": "sha1-61EI/vm6Xd67gwmD9XLSQuSeP5Y=",
|
1074 |
+
"dev": true,
|
1075 |
+
"requires": {
|
1076 |
+
"cli": "0.4.x",
|
1077 |
+
"console-browserify": "0.1.x",
|
1078 |
+
"minimatch": "0.x.x",
|
1079 |
+
"shelljs": "0.1.x",
|
1080 |
+
"underscore": "1.4.x"
|
1081 |
+
},
|
1082 |
+
"dependencies": {
|
1083 |
+
"underscore": {
|
1084 |
+
"version": "1.4.4",
|
1085 |
+
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
|
1086 |
+
"integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=",
|
1087 |
+
"dev": true
|
1088 |
+
}
|
1089 |
+
}
|
1090 |
+
},
|
1091 |
+
"kind-of": {
|
1092 |
+
"version": "6.0.3",
|
1093 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
1094 |
+
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
|
1095 |
+
},
|
1096 |
+
"liftoff": {
|
1097 |
+
"version": "2.5.0",
|
1098 |
+
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
|
1099 |
+
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
|
1100 |
+
"requires": {
|
1101 |
+
"extend": "^3.0.0",
|
1102 |
+
"findup-sync": "^2.0.0",
|
1103 |
+
"fined": "^1.0.1",
|
1104 |
+
"flagged-respawn": "^1.0.0",
|
1105 |
+
"is-plain-object": "^2.0.4",
|
1106 |
+
"object.map": "^1.0.0",
|
1107 |
+
"rechoir": "^0.6.2",
|
1108 |
+
"resolve": "^1.1.7"
|
1109 |
+
},
|
1110 |
+
"dependencies": {
|
1111 |
+
"findup-sync": {
|
1112 |
+
"version": "2.0.0",
|
1113 |
+
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
|
1114 |
+
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
|
1115 |
+
"requires": {
|
1116 |
+
"detect-file": "^1.0.0",
|
1117 |
+
"is-glob": "^3.1.0",
|
1118 |
+
"micromatch": "^3.0.4",
|
1119 |
+
"resolve-dir": "^1.0.1"
|
1120 |
+
}
|
1121 |
+
}
|
1122 |
+
}
|
1123 |
+
},
|
1124 |
+
"lodash": {
|
1125 |
+
"version": "0.9.2",
|
1126 |
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
|
1127 |
+
"integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
|
1128 |
+
"dev": true
|
1129 |
+
},
|
1130 |
+
"lru-cache": {
|
1131 |
+
"version": "2.7.3",
|
1132 |
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
|
1133 |
+
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
|
1134 |
+
"dev": true
|
1135 |
+
},
|
1136 |
+
"make-iterator": {
|
1137 |
+
"version": "1.0.1",
|
1138 |
+
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
|
1139 |
+
"integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
|
1140 |
+
"requires": {
|
1141 |
+
"kind-of": "^6.0.2"
|
1142 |
+
}
|
1143 |
+
},
|
1144 |
+
"map-cache": {
|
1145 |
+
"version": "0.2.2",
|
1146 |
+
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
|
1147 |
+
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
|
1148 |
+
},
|
1149 |
+
"map-visit": {
|
1150 |
+
"version": "1.0.0",
|
1151 |
+
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
|
1152 |
+
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
|
1153 |
+
"requires": {
|
1154 |
+
"object-visit": "^1.0.0"
|
1155 |
+
}
|
1156 |
+
},
|
1157 |
+
"micromatch": {
|
1158 |
+
"version": "3.1.10",
|
1159 |
+
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
|
1160 |
+
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
|
1161 |
+
"requires": {
|
1162 |
+
"arr-diff": "^4.0.0",
|
1163 |
+
"array-unique": "^0.3.2",
|
1164 |
+
"braces": "^2.3.1",
|
1165 |
+
"define-property": "^2.0.2",
|
1166 |
+
"extend-shallow": "^3.0.2",
|
1167 |
+
"extglob": "^2.0.4",
|
1168 |
+
"fragment-cache": "^0.2.1",
|
1169 |
+
"kind-of": "^6.0.2",
|
1170 |
+
"nanomatch": "^1.2.9",
|
1171 |
+
"object.pick": "^1.3.0",
|
1172 |
+
"regex-not": "^1.0.0",
|
1173 |
+
"snapdragon": "^0.8.1",
|
1174 |
+
"to-regex": "^3.0.2"
|
1175 |
+
}
|
1176 |
+
},
|
1177 |
+
"minimatch": {
|
1178 |
+
"version": "0.2.14",
|
1179 |
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
|
1180 |
+
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
|
1181 |
+
"dev": true,
|
1182 |
+
"requires": {
|
1183 |
+
"lru-cache": "2",
|
1184 |
+
"sigmund": "~1.0.0"
|
1185 |
+
}
|
1186 |
+
},
|
1187 |
+
"mixin-deep": {
|
1188 |
+
"version": "1.3.2",
|
1189 |
+
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
|
1190 |
+
"integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
|
1191 |
+
"requires": {
|
1192 |
+
"for-in": "^1.0.2",
|
1193 |
+
"is-extendable": "^1.0.1"
|
1194 |
+
},
|
1195 |
+
"dependencies": {
|
1196 |
+
"is-extendable": {
|
1197 |
+
"version": "1.0.1",
|
1198 |
+
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
|
1199 |
+
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
|
1200 |
+
"requires": {
|
1201 |
+
"is-plain-object": "^2.0.4"
|
1202 |
+
}
|
1203 |
+
}
|
1204 |
+
}
|
1205 |
+
},
|
1206 |
+
"ms": {
|
1207 |
+
"version": "2.0.0",
|
1208 |
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
1209 |
+
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
1210 |
+
},
|
1211 |
+
"nanomatch": {
|
1212 |
+
"version": "1.2.13",
|
1213 |
+
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
|
1214 |
+
"integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
|
1215 |
+
"requires": {
|
1216 |
+
"arr-diff": "^4.0.0",
|
1217 |
+
"array-unique": "^0.3.2",
|
1218 |
+
"define-property": "^2.0.2",
|
1219 |
+
"extend-shallow": "^3.0.2",
|
1220 |
+
"fragment-cache": "^0.2.1",
|
1221 |
+
"is-windows": "^1.0.2",
|
1222 |
+
"kind-of": "^6.0.2",
|
1223 |
+
"object.pick": "^1.3.0",
|
1224 |
+
"regex-not": "^1.0.0",
|
1225 |
+
"snapdragon": "^0.8.1",
|
1226 |
+
"to-regex": "^3.0.1"
|
1227 |
+
}
|
1228 |
+
},
|
1229 |
+
"nopt": {
|
1230 |
+
"version": "1.0.10",
|
1231 |
+
"resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
|
1232 |
+
"integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
|
1233 |
+
"dev": true,
|
1234 |
+
"requires": {
|
1235 |
+
"abbrev": "1"
|
1236 |
+
}
|
1237 |
+
},
|
1238 |
+
"object-copy": {
|
1239 |
+
"version": "0.1.0",
|
1240 |
+
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
|
1241 |
+
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
|
1242 |
+
"requires": {
|
1243 |
+
"copy-descriptor": "^0.1.0",
|
1244 |
+
"define-property": "^0.2.5",
|
1245 |
+
"kind-of": "^3.0.3"
|
1246 |
+
},
|
1247 |
+
"dependencies": {
|
1248 |
+
"define-property": {
|
1249 |
+
"version": "0.2.5",
|
1250 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
|
1251 |
+
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
|
1252 |
+
"requires": {
|
1253 |
+
"is-descriptor": "^0.1.0"
|
1254 |
+
}
|
1255 |
+
},
|
1256 |
+
"kind-of": {
|
1257 |
+
"version": "3.2.2",
|
1258 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
1259 |
+
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
1260 |
+
"requires": {
|
1261 |
+
"is-buffer": "^1.1.5"
|
1262 |
+
}
|
1263 |
+
}
|
1264 |
+
}
|
1265 |
+
},
|
1266 |
+
"object-visit": {
|
1267 |
+
"version": "1.0.1",
|
1268 |
+
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
|
1269 |
+
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
|
1270 |
+
"requires": {
|
1271 |
+
"isobject": "^3.0.0"
|
1272 |
+
}
|
1273 |
+
},
|
1274 |
+
"object.defaults": {
|
1275 |
+
"version": "1.1.0",
|
1276 |
+
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
|
1277 |
+
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
|
1278 |
+
"requires": {
|
1279 |
+
"array-each": "^1.0.1",
|
1280 |
+
"array-slice": "^1.0.0",
|
1281 |
+
"for-own": "^1.0.0",
|
1282 |
+
"isobject": "^3.0.0"
|
1283 |
+
}
|
1284 |
+
},
|
1285 |
+
"object.map": {
|
1286 |
+
"version": "1.0.1",
|
1287 |
+
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
|
1288 |
+
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
|
1289 |
+
"requires": {
|
1290 |
+
"for-own": "^1.0.0",
|
1291 |
+
"make-iterator": "^1.0.0"
|
1292 |
+
}
|
1293 |
+
},
|
1294 |
+
"object.pick": {
|
1295 |
+
"version": "1.3.0",
|
1296 |
+
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
|
1297 |
+
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
|
1298 |
+
"requires": {
|
1299 |
+
"isobject": "^3.0.1"
|
1300 |
+
}
|
1301 |
+
},
|
1302 |
+
"os-homedir": {
|
1303 |
+
"version": "1.0.2",
|
1304 |
+
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
|
1305 |
+
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
|
1306 |
+
},
|
1307 |
+
"os-tmpdir": {
|
1308 |
+
"version": "1.0.2",
|
1309 |
+
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
1310 |
+
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
|
1311 |
+
},
|
1312 |
+
"osenv": {
|
1313 |
+
"version": "0.1.5",
|
1314 |
+
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
|
1315 |
+
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
|
1316 |
+
"requires": {
|
1317 |
+
"os-homedir": "^1.0.0",
|
1318 |
+
"os-tmpdir": "^1.0.0"
|
1319 |
+
}
|
1320 |
+
},
|
1321 |
+
"parse-filepath": {
|
1322 |
+
"version": "1.0.2",
|
1323 |
+
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
|
1324 |
+
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
|
1325 |
+
"requires": {
|
1326 |
+
"is-absolute": "^1.0.0",
|
1327 |
+
"map-cache": "^0.2.0",
|
1328 |
+
"path-root": "^0.1.1"
|
1329 |
+
}
|
1330 |
+
},
|
1331 |
+
"parse-passwd": {
|
1332 |
+
"version": "1.0.0",
|
1333 |
+
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
|
1334 |
+
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
|
1335 |
+
},
|
1336 |
+
"pascalcase": {
|
1337 |
+
"version": "0.1.1",
|
1338 |
+
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
|
1339 |
+
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
|
1340 |
+
},
|
1341 |
+
"path-parse": {
|
1342 |
+
"version": "1.0.6",
|
1343 |
+
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
|
1344 |
+
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
|
1345 |
+
},
|
1346 |
+
"path-root": {
|
1347 |
+
"version": "0.1.1",
|
1348 |
+
"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
|
1349 |
+
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
|
1350 |
+
"requires": {
|
1351 |
+
"path-root-regex": "^0.1.0"
|
1352 |
+
}
|
1353 |
+
},
|
1354 |
+
"path-root-regex": {
|
1355 |
+
"version": "0.1.2",
|
1356 |
+
"resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
|
1357 |
+
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
|
1358 |
+
},
|
1359 |
+
"posix-character-classes": {
|
1360 |
+
"version": "0.1.1",
|
1361 |
+
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
|
1362 |
+
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
|
1363 |
+
},
|
1364 |
+
"preprocess": {
|
1365 |
+
"version": "2.3.1",
|
1366 |
+
"resolved": "https://registry.npmjs.org/preprocess/-/preprocess-2.3.1.tgz",
|
1367 |
+
"integrity": "sha1-vaMCLmI+m1mdTAgoGG2FvZ8SxQA=",
|
1368 |
+
"dev": true
|
1369 |
+
},
|
1370 |
+
"rechoir": {
|
1371 |
+
"version": "0.6.2",
|
1372 |
+
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
|
1373 |
+
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
|
1374 |
+
"requires": {
|
1375 |
+
"resolve": "^1.1.6"
|
1376 |
+
}
|
1377 |
+
},
|
1378 |
+
"regex-not": {
|
1379 |
+
"version": "1.0.2",
|
1380 |
+
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
|
1381 |
+
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
|
1382 |
+
"requires": {
|
1383 |
+
"extend-shallow": "^3.0.2",
|
1384 |
+
"safe-regex": "^1.1.0"
|
1385 |
+
}
|
1386 |
+
},
|
1387 |
+
"repeat-element": {
|
1388 |
+
"version": "1.1.3",
|
1389 |
+
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
|
1390 |
+
"integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
|
1391 |
+
},
|
1392 |
+
"repeat-string": {
|
1393 |
+
"version": "1.6.1",
|
1394 |
+
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
|
1395 |
+
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
|
1396 |
+
},
|
1397 |
+
"resolve": {
|
1398 |
+
"version": "1.18.1",
|
1399 |
+
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
|
1400 |
+
"integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
|
1401 |
+
"requires": {
|
1402 |
+
"is-core-module": "^2.0.0",
|
1403 |
+
"path-parse": "^1.0.6"
|
1404 |
+
}
|
1405 |
+
},
|
1406 |
+
"resolve-dir": {
|
1407 |
+
"version": "1.0.1",
|
1408 |
+
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
|
1409 |
+
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
|
1410 |
+
"requires": {
|
1411 |
+
"expand-tilde": "^2.0.0",
|
1412 |
+
"global-modules": "^1.0.0"
|
1413 |
+
}
|
1414 |
+
},
|
1415 |
+
"resolve-url": {
|
1416 |
+
"version": "0.2.1",
|
1417 |
+
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
|
1418 |
+
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
|
1419 |
+
},
|
1420 |
+
"ret": {
|
1421 |
+
"version": "0.1.15",
|
1422 |
+
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
|
1423 |
+
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
|
1424 |
+
},
|
1425 |
+
"rimraf": {
|
1426 |
+
"version": "2.2.8",
|
1427 |
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
|
1428 |
+
"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
|
1429 |
+
"dev": true
|
1430 |
+
},
|
1431 |
+
"safe-regex": {
|
1432 |
+
"version": "1.1.0",
|
1433 |
+
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
|
1434 |
+
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
|
1435 |
+
"requires": {
|
1436 |
+
"ret": "~0.1.10"
|
1437 |
+
}
|
1438 |
+
},
|
1439 |
+
"set-value": {
|
1440 |
+
"version": "2.0.1",
|
1441 |
+
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
|
1442 |
+
"integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
|
1443 |
+
"requires": {
|
1444 |
+
"extend-shallow": "^2.0.1",
|
1445 |
+
"is-extendable": "^0.1.1",
|
1446 |
+
"is-plain-object": "^2.0.3",
|
1447 |
+
"split-string": "^3.0.1"
|
1448 |
+
},
|
1449 |
+
"dependencies": {
|
1450 |
+
"extend-shallow": {
|
1451 |
+
"version": "2.0.1",
|
1452 |
+
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
1453 |
+
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
1454 |
+
"requires": {
|
1455 |
+
"is-extendable": "^0.1.0"
|
1456 |
+
}
|
1457 |
+
}
|
1458 |
+
}
|
1459 |
+
},
|
1460 |
+
"shelljs": {
|
1461 |
+
"version": "0.1.4",
|
1462 |
+
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz",
|
1463 |
+
"integrity": "sha1-37vnjVbDwBaNL7eeEOzR28sH7A4=",
|
1464 |
+
"dev": true
|
1465 |
+
},
|
1466 |
+
"sigmund": {
|
1467 |
+
"version": "1.0.1",
|
1468 |
+
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
|
1469 |
+
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
|
1470 |
+
"dev": true
|
1471 |
+
},
|
1472 |
+
"snapdragon": {
|
1473 |
+
"version": "0.8.2",
|
1474 |
+
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
|
1475 |
+
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
|
1476 |
+
"requires": {
|
1477 |
+
"base": "^0.11.1",
|
1478 |
+
"debug": "^2.2.0",
|
1479 |
+
"define-property": "^0.2.5",
|
1480 |
+
"extend-shallow": "^2.0.1",
|
1481 |
+
"map-cache": "^0.2.2",
|
1482 |
+
"source-map": "^0.5.6",
|
1483 |
+
"source-map-resolve": "^0.5.0",
|
1484 |
+
"use": "^3.1.0"
|
1485 |
+
},
|
1486 |
+
"dependencies": {
|
1487 |
+
"define-property": {
|
1488 |
+
"version": "0.2.5",
|
1489 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
|
1490 |
+
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
|
1491 |
+
"requires": {
|
1492 |
+
"is-descriptor": "^0.1.0"
|
1493 |
+
}
|
1494 |
+
},
|
1495 |
+
"extend-shallow": {
|
1496 |
+
"version": "2.0.1",
|
1497 |
+
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
1498 |
+
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
1499 |
+
"requires": {
|
1500 |
+
"is-extendable": "^0.1.0"
|
1501 |
+
}
|
1502 |
+
},
|
1503 |
+
"source-map": {
|
1504 |
+
"version": "0.5.7",
|
1505 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
1506 |
+
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
|
1507 |
+
}
|
1508 |
+
}
|
1509 |
+
},
|
1510 |
+
"snapdragon-node": {
|
1511 |
+
"version": "2.1.1",
|
1512 |
+
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
|
1513 |
+
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
|
1514 |
+
"requires": {
|
1515 |
+
"define-property": "^1.0.0",
|
1516 |
+
"isobject": "^3.0.0",
|
1517 |
+
"snapdragon-util": "^3.0.1"
|
1518 |
+
},
|
1519 |
+
"dependencies": {
|
1520 |
+
"define-property": {
|
1521 |
+
"version": "1.0.0",
|
1522 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
|
1523 |
+
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
|
1524 |
+
"requires": {
|
1525 |
+
"is-descriptor": "^1.0.0"
|
1526 |
+
}
|
1527 |
+
},
|
1528 |
+
"is-accessor-descriptor": {
|
1529 |
+
"version": "1.0.0",
|
1530 |
+
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
|
1531 |
+
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
|
1532 |
+
"requires": {
|
1533 |
+
"kind-of": "^6.0.0"
|
1534 |
+
}
|
1535 |
+
},
|
1536 |
+
"is-data-descriptor": {
|
1537 |
+
"version": "1.0.0",
|
1538 |
+
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
|
1539 |
+
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
|
1540 |
+
"requires": {
|
1541 |
+
"kind-of": "^6.0.0"
|
1542 |
+
}
|
1543 |
+
},
|
1544 |
+
"is-descriptor": {
|
1545 |
+
"version": "1.0.2",
|
1546 |
+
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
|
1547 |
+
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
|
1548 |
+
"requires": {
|
1549 |
+
"is-accessor-descriptor": "^1.0.0",
|
1550 |
+
"is-data-descriptor": "^1.0.0",
|
1551 |
+
"kind-of": "^6.0.2"
|
1552 |
+
}
|
1553 |
+
}
|
1554 |
+
}
|
1555 |
+
},
|
1556 |
+
"snapdragon-util": {
|
1557 |
+
"version": "3.0.1",
|
1558 |
+
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
|
1559 |
+
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
|
1560 |
+
"requires": {
|
1561 |
+
"kind-of": "^3.2.0"
|
1562 |
+
},
|
1563 |
+
"dependencies": {
|
1564 |
+
"kind-of": {
|
1565 |
+
"version": "3.2.2",
|
1566 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
1567 |
+
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
1568 |
+
"requires": {
|
1569 |
+
"is-buffer": "^1.1.5"
|
1570 |
+
}
|
1571 |
+
}
|
1572 |
+
}
|
1573 |
+
},
|
1574 |
+
"source-map": {
|
1575 |
+
"version": "0.1.34",
|
1576 |
+
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
|
1577 |
+
"integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
|
1578 |
+
"dev": true,
|
1579 |
+
"requires": {
|
1580 |
+
"amdefine": ">=0.0.4"
|
1581 |
+
}
|
1582 |
+
},
|
1583 |
+
"source-map-resolve": {
|
1584 |
+
"version": "0.5.3",
|
1585 |
+
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
|
1586 |
+
"integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
|
1587 |
+
"requires": {
|
1588 |
+
"atob": "^2.1.2",
|
1589 |
+
"decode-uri-component": "^0.2.0",
|
1590 |
+
"resolve-url": "^0.2.1",
|
1591 |
+
"source-map-url": "^0.4.0",
|
1592 |
+
"urix": "^0.1.0"
|
1593 |
+
}
|
1594 |
+
},
|
1595 |
+
"source-map-url": {
|
1596 |
+
"version": "0.4.0",
|
1597 |
+
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
|
1598 |
+
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
|
1599 |
+
},
|
1600 |
+
"split-string": {
|
1601 |
+
"version": "3.1.0",
|
1602 |
+
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
|
1603 |
+
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
|
1604 |
+
"requires": {
|
1605 |
+
"extend-shallow": "^3.0.0"
|
1606 |
+
}
|
1607 |
+
},
|
1608 |
+
"static-extend": {
|
1609 |
+
"version": "0.1.2",
|
1610 |
+
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
|
1611 |
+
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
|
1612 |
+
"requires": {
|
1613 |
+
"define-property": "^0.2.5",
|
1614 |
+
"object-copy": "^0.1.0"
|
1615 |
+
},
|
1616 |
+
"dependencies": {
|
1617 |
+
"define-property": {
|
1618 |
+
"version": "0.2.5",
|
1619 |
+
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
|
1620 |
+
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
|
1621 |
+
"requires": {
|
1622 |
+
"is-descriptor": "^0.1.0"
|
1623 |
+
}
|
1624 |
+
}
|
1625 |
+
}
|
1626 |
+
},
|
1627 |
+
"to-object-path": {
|
1628 |
+
"version": "0.3.0",
|
1629 |
+
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
|
1630 |
+
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
|
1631 |
+
"requires": {
|
1632 |
+
"kind-of": "^3.0.2"
|
1633 |
+
},
|
1634 |
+
"dependencies": {
|
1635 |
+
"kind-of": {
|
1636 |
+
"version": "3.2.2",
|
1637 |
+
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
1638 |
+
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
1639 |
+
"requires": {
|
1640 |
+
"is-buffer": "^1.1.5"
|
1641 |
+
}
|
1642 |
+
}
|
1643 |
+
}
|
1644 |
+
},
|
1645 |
+
"to-regex": {
|
1646 |
+
"version": "3.0.2",
|
1647 |
+
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
|
1648 |
+
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
|
1649 |
+
"requires": {
|
1650 |
+
"define-property": "^2.0.2",
|
1651 |
+
"extend-shallow": "^3.0.2",
|
1652 |
+
"regex-not": "^1.0.2",
|
1653 |
+
"safe-regex": "^1.1.0"
|
1654 |
+
}
|
1655 |
+
},
|
1656 |
+
"to-regex-range": {
|
1657 |
+
"version": "2.1.1",
|
1658 |
+
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
|
1659 |
+
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
|
1660 |
+
"requires": {
|
1661 |
+
"is-number": "^3.0.0",
|
1662 |
+
"repeat-string": "^1.6.1"
|
1663 |
+
}
|
1664 |
+
},
|
1665 |
+
"uglify-js": {
|
1666 |
+
"version": "2.4.24",
|
1667 |
+
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz",
|
1668 |
+
"integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=",
|
1669 |
+
"dev": true,
|
1670 |
+
"requires": {
|
1671 |
+
"async": "~0.2.6",
|
1672 |
+
"source-map": "0.1.34",
|
1673 |
+
"uglify-to-browserify": "~1.0.0",
|
1674 |
+
"yargs": "~3.5.4"
|
1675 |
+
},
|
1676 |
+
"dependencies": {
|
1677 |
+
"async": {
|
1678 |
+
"version": "0.2.10",
|
1679 |
+
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
|
1680 |
+
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
|
1681 |
+
"dev": true
|
1682 |
+
}
|
1683 |
+
}
|
1684 |
+
},
|
1685 |
+
"uglify-to-browserify": {
|
1686 |
+
"version": "1.0.2",
|
1687 |
+
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
|
1688 |
+
"integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
|
1689 |
+
"dev": true
|
1690 |
+
},
|
1691 |
+
"unc-path-regex": {
|
1692 |
+
"version": "0.1.2",
|
1693 |
+
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
|
1694 |
+
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
|
1695 |
+
},
|
1696 |
+
"underscore": {
|
1697 |
+
"version": "1.7.0",
|
1698 |
+
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
|
1699 |
+
"integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
|
1700 |
+
"dev": true
|
1701 |
+
},
|
1702 |
+
"underscore.string": {
|
1703 |
+
"version": "2.2.1",
|
1704 |
+
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
|
1705 |
+
"integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
|
1706 |
+
"dev": true
|
1707 |
+
},
|
1708 |
+
"union-value": {
|
1709 |
+
"version": "1.0.1",
|
1710 |
+
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
|
1711 |
+
"integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
|
1712 |
+
"requires": {
|
1713 |
+
"arr-union": "^3.1.0",
|
1714 |
+
"get-value": "^2.0.6",
|
1715 |
+
"is-extendable": "^0.1.1",
|
1716 |
+
"set-value": "^2.0.1"
|
1717 |
+
}
|
1718 |
+
},
|
1719 |
+
"unset-value": {
|
1720 |
+
"version": "1.0.0",
|
1721 |
+
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
|
1722 |
+
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
|
1723 |
+
"requires": {
|
1724 |
+
"has-value": "^0.3.1",
|
1725 |
+
"isobject": "^3.0.0"
|
1726 |
+
},
|
1727 |
+
"dependencies": {
|
1728 |
+
"has-value": {
|
1729 |
+
"version": "0.3.1",
|
1730 |
+
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
|
1731 |
+
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
|
1732 |
+
"requires": {
|
1733 |
+
"get-value": "^2.0.3",
|
1734 |
+
"has-values": "^0.1.4",
|
1735 |
+
"isobject": "^2.0.0"
|
1736 |
+
},
|
1737 |
+
"dependencies": {
|
1738 |
+
"isobject": {
|
1739 |
+
"version": "2.1.0",
|
1740 |
+
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
|
1741 |
+
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
|
1742 |
+
"requires": {
|
1743 |
+
"isarray": "1.0.0"
|
1744 |
+
}
|
1745 |
+
}
|
1746 |
+
}
|
1747 |
+
},
|
1748 |
+
"has-values": {
|
1749 |
+
"version": "0.1.4",
|
1750 |
+
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
|
1751 |
+
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
|
1752 |
+
}
|
1753 |
+
}
|
1754 |
+
},
|
1755 |
+
"urix": {
|
1756 |
+
"version": "0.1.0",
|
1757 |
+
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
|
1758 |
+
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
|
1759 |
+
},
|
1760 |
+
"use": {
|
1761 |
+
"version": "3.1.1",
|
1762 |
+
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
|
1763 |
+
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
|
1764 |
+
},
|
1765 |
+
"v8flags": {
|
1766 |
+
"version": "3.1.3",
|
1767 |
+
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
|
1768 |
+
"integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
|
1769 |
+
"requires": {
|
1770 |
+
"homedir-polyfill": "^1.0.1"
|
1771 |
+
}
|
1772 |
+
},
|
1773 |
+
"which": {
|
1774 |
+
"version": "1.0.9",
|
1775 |
+
"resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
|
1776 |
+
"integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
|
1777 |
+
"dev": true
|
1778 |
+
},
|
1779 |
+
"window-size": {
|
1780 |
+
"version": "0.1.0",
|
1781 |
+
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
|
1782 |
+
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
|
1783 |
+
"dev": true
|
1784 |
+
},
|
1785 |
+
"wordwrap": {
|
1786 |
+
"version": "0.0.2",
|
1787 |
+
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
|
1788 |
+
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
|
1789 |
+
"dev": true
|
1790 |
+
},
|
1791 |
+
"yargs": {
|
1792 |
+
"version": "3.5.4",
|
1793 |
+
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz",
|
1794 |
+
"integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=",
|
1795 |
+
"dev": true,
|
1796 |
+
"requires": {
|
1797 |
+
"camelcase": "^1.0.2",
|
1798 |
+
"decamelize": "^1.0.0",
|
1799 |
+
"window-size": "0.1.0",
|
1800 |
+
"wordwrap": "0.0.2"
|
1801 |
+
}
|
1802 |
+
},
|
1803 |
+
"zlib-browserify": {
|
1804 |
+
"version": "0.0.1",
|
1805 |
+
"resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz",
|
1806 |
+
"integrity": "sha1-T6akXQDbwV8xikr6HZr8Aljhdsw=",
|
1807 |
+
"dev": true
|
1808 |
+
}
|
1809 |
+
}
|
1810 |
+
}
|
libs/factory/clearfy/assets/css/clearfy-base.css
CHANGED
@@ -5,18 +5,39 @@
|
|
5 |
* @copyright Webcraftic 06.10.2018
|
6 |
* @sicne 2.0.5
|
7 |
*/
|
8 |
-
#WBCR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
padding: 30px 80px;
|
10 |
}
|
11 |
-
#WBCR .wbcr-factory-pages-
|
12 |
margin: 0 0 20px;
|
13 |
}
|
14 |
-
#WBCR .wbcr-factory-pages-
|
15 |
border: 2px dashed #8bc34a;
|
16 |
background: #fff;
|
17 |
padding: 20px;
|
18 |
}
|
19 |
-
#WBCR .wbcr-factory-pages-
|
20 |
display: inline-block;
|
21 |
cursor: pointer;
|
22 |
line-height: 16px;
|
@@ -35,16 +56,16 @@
|
|
35 |
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
|
36 |
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
|
37 |
}
|
38 |
-
#WBCR .wbcr-factory-pages-
|
39 |
box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
40 |
-moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
41 |
-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
42 |
}
|
43 |
-
#WBCR .wbcr-factory-pages-
|
44 |
outline: none;
|
45 |
border: 0;
|
46 |
}
|
47 |
-
#WBCR .wbcr-factory-pages-
|
48 |
display: inline-block;
|
49 |
cursor: pointer;
|
50 |
line-height: 16px;
|
@@ -63,22 +84,22 @@
|
|
63 |
-moz-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
|
64 |
-webkit-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
|
65 |
}
|
66 |
-
#WBCR .wbcr-factory-pages-
|
67 |
box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
|
68 |
-moz-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
|
69 |
-webkit-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
|
70 |
}
|
71 |
-
#WBCR .wbcr-factory-pages-
|
72 |
outline: none;
|
73 |
border: 0;
|
74 |
}
|
75 |
-
#WBCR .wbcr-factory-pages-
|
76 |
background: #fff;
|
77 |
color: #353535;
|
78 |
font-weight: 600;
|
79 |
border: 2px dashed #8bc34a;
|
80 |
}
|
81 |
-
#WBCR .wbcr-factory-pages-
|
82 |
margin: 0 0 20px;
|
83 |
padding: 10px 0;
|
84 |
text-align: center;
|
@@ -89,16 +110,16 @@
|
|
89 |
vertical-align: middle;
|
90 |
text-transform: uppercase;
|
91 |
}
|
92 |
-
#WBCR .wbcr-factory-pages-
|
93 |
position: relative;
|
94 |
margin-bottom: 20px;
|
95 |
}
|
96 |
-
#WBCR .wbcr-factory-pages-
|
97 |
font-size: 15px;
|
98 |
padding: 7px;
|
99 |
padding-left: 20px;
|
100 |
}
|
101 |
-
#WBCR .wbcr-factory-pages-
|
102 |
content: " ";
|
103 |
display: inline-block;
|
104 |
width: 0.4em;
|
@@ -112,7 +133,7 @@
|
|
112 |
-o-transform: rotate(45deg);
|
113 |
transform: rotate(45deg);
|
114 |
}
|
115 |
-
#WBCR .wbcr-factory-pages-
|
116 |
display: block;
|
117 |
cursor: pointer;
|
118 |
line-height: 16px;
|
@@ -131,44 +152,102 @@
|
|
131 |
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
|
132 |
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
|
133 |
}
|
134 |
-
#WBCR .wbcr-factory-pages-
|
135 |
box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
136 |
-moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
137 |
-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
138 |
}
|
139 |
-
#WBCR .wbcr-factory-pages-
|
140 |
outline: none;
|
141 |
border: 0;
|
142 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
@media screen and (max-width: 1550px) {
|
144 |
-
#WBCR .wbcr-factory-pages-
|
145 |
padding: 10px 80px;
|
146 |
}
|
147 |
-
#WBCR .wbcr-factory-pages-
|
148 |
padding: 10px;
|
149 |
}
|
150 |
-
#WBCR .wbcr-factory-pages-
|
151 |
margin: 0 0 20px;
|
152 |
padding: 10px 0;
|
153 |
font-size: 13px;
|
154 |
font-weight: 600;
|
155 |
}
|
156 |
-
#WBCR .wbcr-factory-pages-
|
157 |
margin-bottom: 20px;
|
158 |
}
|
159 |
-
#WBCR .wbcr-factory-pages-
|
160 |
font-size: 13px;
|
161 |
padding: 2px;
|
162 |
padding-left: 10px;
|
163 |
}
|
164 |
-
#WBCR .wbcr-factory-pages-
|
165 |
width: 0.4em;
|
166 |
height: 0.7em;
|
167 |
border-width: 0 0.2em 0.2em 0;
|
168 |
left: 0;
|
169 |
margin-right: 10px;
|
170 |
}
|
171 |
-
#WBCR .wbcr-factory-pages-
|
172 |
font-weight: 700;
|
173 |
line-height: 16px;
|
174 |
font-size: 12px;
|
5 |
* @copyright Webcraftic 06.10.2018
|
6 |
* @sicne 2.0.5
|
7 |
*/
|
8 |
+
#WBCR {
|
9 |
+
/* subscribe widget */
|
10 |
+
}
|
11 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .factory-checkbox.wbcr-factory-clearfy-icon-pro:after {
|
12 |
+
display: inline-block;
|
13 |
+
position: relative;
|
14 |
+
content: 'PRO';
|
15 |
+
background: #ff5722;
|
16 |
+
border-radius: 4px;
|
17 |
+
color: #fff;
|
18 |
+
font-size: 10px;
|
19 |
+
line-height: 1;
|
20 |
+
font-style: normal;
|
21 |
+
padding: 4px 6px;
|
22 |
+
margin-left: 4px;
|
23 |
+
vertical-align: top;
|
24 |
+
top: -8px;
|
25 |
+
left: -10px;
|
26 |
+
right: auto;
|
27 |
+
z-index: 11;
|
28 |
+
}
|
29 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion {
|
30 |
padding: 30px 80px;
|
31 |
}
|
32 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion h3 {
|
33 |
margin: 0 0 20px;
|
34 |
}
|
35 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion .wbcr-factory-inner-contanier {
|
36 |
border: 2px dashed #8bc34a;
|
37 |
background: #fff;
|
38 |
padding: 20px;
|
39 |
}
|
40 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion .wbcr-factory-activate-premium {
|
41 |
display: inline-block;
|
42 |
cursor: pointer;
|
43 |
line-height: 16px;
|
56 |
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
|
57 |
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
|
58 |
}
|
59 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion .wbcr-factory-activate-premium:active {
|
60 |
box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
61 |
-moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
62 |
-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
63 |
}
|
64 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion .wbcr-factory-activate-premium:focus {
|
65 |
outline: none;
|
66 |
border: 0;
|
67 |
}
|
68 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion .wbcr-factory-purchase-premium {
|
69 |
display: inline-block;
|
70 |
cursor: pointer;
|
71 |
line-height: 16px;
|
84 |
-moz-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
|
85 |
-webkit-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
|
86 |
}
|
87 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion .wbcr-factory-purchase-premium:active {
|
88 |
box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
|
89 |
-moz-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
|
90 |
-webkit-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
|
91 |
}
|
92 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-suggetion .wbcr-factory-purchase-premium:focus {
|
93 |
outline: none;
|
94 |
border: 0;
|
95 |
}
|
96 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion {
|
97 |
background: #fff;
|
98 |
color: #353535;
|
99 |
font-weight: 600;
|
100 |
border: 2px dashed #8bc34a;
|
101 |
}
|
102 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion h3 {
|
103 |
margin: 0 0 20px;
|
104 |
padding: 10px 0;
|
105 |
text-align: center;
|
110 |
vertical-align: middle;
|
111 |
text-transform: uppercase;
|
112 |
}
|
113 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion ul {
|
114 |
position: relative;
|
115 |
margin-bottom: 20px;
|
116 |
}
|
117 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion ul li {
|
118 |
font-size: 15px;
|
119 |
padding: 7px;
|
120 |
padding-left: 20px;
|
121 |
}
|
122 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion ul li:before {
|
123 |
content: " ";
|
124 |
display: inline-block;
|
125 |
width: 0.4em;
|
133 |
-o-transform: rotate(45deg);
|
134 |
transform: rotate(45deg);
|
135 |
}
|
136 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion .wbcr-factory-purchase-premium {
|
137 |
display: block;
|
138 |
cursor: pointer;
|
139 |
line-height: 16px;
|
152 |
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
|
153 |
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
|
154 |
}
|
155 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion .wbcr-factory-purchase-premium:active {
|
156 |
box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
157 |
-moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
158 |
-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
|
159 |
}
|
160 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion .wbcr-factory-purchase-premium:focus {
|
161 |
outline: none;
|
162 |
border: 0;
|
163 |
}
|
164 |
+
#WBCR .wbcr-factory-subscribe-widget {
|
165 |
+
margin-top: 0 !important;
|
166 |
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
167 |
+
border-radius: 5px;
|
168 |
+
}
|
169 |
+
#WBCR .wbcr-factory-subscribe-widget__field {
|
170 |
+
margin: 10px auto;
|
171 |
+
display: block;
|
172 |
+
width: 100%;
|
173 |
+
text-align: center;
|
174 |
+
box-shadow: 0 0 0 transparent;
|
175 |
+
border-radius: 4px;
|
176 |
+
border: 1px solid #d6d4d4;
|
177 |
+
background-color: #fff;
|
178 |
+
color: #32373c;
|
179 |
+
}
|
180 |
+
#WBCR .wbcr-factory-subscribe-widget__button {
|
181 |
+
display: block;
|
182 |
+
width: 100%;
|
183 |
+
text-align: center;
|
184 |
+
margin: 14px 0 0;
|
185 |
+
box-shadow: none;
|
186 |
+
min-width: 100px;
|
187 |
+
background-color: #ff5722;
|
188 |
+
border: 0;
|
189 |
+
color: #fff;
|
190 |
+
}
|
191 |
+
#WBCR .wbcr-factory-subscribe-widget__button:active,
|
192 |
+
#WBCR .wbcr-factory-subscribe-widget__button:focus {
|
193 |
+
box-shadow: inset -1px 1px 1px #222;
|
194 |
+
outline: none;
|
195 |
+
}
|
196 |
+
#WBCR .wbcr-factory-subscribe-widget__msgbox {
|
197 |
+
font-weight: bold;
|
198 |
+
}
|
199 |
+
#WBCR .wbcr-factory-subscribe-widget__text {
|
200 |
+
display: none;
|
201 |
+
padding: 10px 14px;
|
202 |
+
margin: 0 0 10px;
|
203 |
+
}
|
204 |
+
#WBCR .wbcr-factory-subscribe-widget__text--success {
|
205 |
+
background: #d6efbe;
|
206 |
+
color: #61824b;
|
207 |
+
}
|
208 |
+
#WBCR .wbcr-factory-subscribe-widget__text--success2 {
|
209 |
+
background: #ffe0b3;
|
210 |
+
}
|
211 |
+
#WBCR .wbcr-factory-subscribe-widget__text--error {
|
212 |
+
background: #f1b1b6;
|
213 |
+
}
|
214 |
+
#WBCR .wbcr-factory-subscribe-widget__checkbox {
|
215 |
+
margin: 0 10px 0 0;
|
216 |
+
}
|
217 |
+
#WBCR .wbcr-factory-subscribe-widget__checkbox-label {
|
218 |
+
font-weight: normal;
|
219 |
+
color: #8c8888;
|
220 |
+
font-size: 12px;
|
221 |
+
}
|
222 |
@media screen and (max-width: 1550px) {
|
223 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-clearfy-230-multisite-pro-suggetion {
|
224 |
padding: 10px 80px;
|
225 |
}
|
226 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion {
|
227 |
padding: 10px;
|
228 |
}
|
229 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion h3 {
|
230 |
margin: 0 0 20px;
|
231 |
padding: 10px 0;
|
232 |
font-size: 13px;
|
233 |
font-weight: 600;
|
234 |
}
|
235 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion ul {
|
236 |
margin-bottom: 20px;
|
237 |
}
|
238 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion ul li {
|
239 |
font-size: 13px;
|
240 |
padding: 2px;
|
241 |
padding-left: 10px;
|
242 |
}
|
243 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion ul li:before {
|
244 |
width: 0.4em;
|
245 |
height: 0.7em;
|
246 |
border-width: 0 0.2em 0.2em 0;
|
247 |
left: 0;
|
248 |
margin-right: 10px;
|
249 |
}
|
250 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-230-pro-suggettion .wbcr-factory-purchase-premium {
|
251 |
font-weight: 700;
|
252 |
line-height: 16px;
|
253 |
font-size: 12px;
|
libs/factory/clearfy/assets/css/clearfy-base.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["clearfy-base.less"],"names":[],"mappings":";;;;;;;AAoCA,
|
1 |
+
{"version":3,"sources":["clearfy-base.less"],"names":[],"mappings":";;;;;;;AAoCA;;;AAAA,KAoBE,iDACE,kBAAiB,8BAA8B;EAnB/C,qBAAA;EACA,kBAAA;EACA,SAAS,KAAT;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,eAAA;EACA,cAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,mBAAA;EACA,SAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;;AAjBJ,KAoBE,iDAKE;EACE,kBAAA;;AA1BN,KAoBE,iDAKE,8CAGE;EACE,gBAAA;;AA7BR,KAoBE,iDAKE,8CAOE;EACE,0BAAA;EACA,gBAAA;EACA,aAAA;;AAnCR,KAoBE,iDAKE,8CAaE;EACE,qBAAA;EAlEN,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,sCAAA;EACA,2CAAA;EACA,8CAAA;;AACA,KA+BA,iDAKE,8CAaE,+BAjDH;EACC,4CAAA;EACA,iDAAA;EACA,oDAAA;;AAEF,KA0BA,iDAKE,8CAaE,+BA5CH;EACC,aAAA;EACA,SAAA;;AAIJ,KAoBE,iDAKE,8CAkBE;EACE,qBAAA;EAvEN,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,yCAAA;EACA,8CAAA;EACA,iDAAA;;AACA,KA+BA,iDAKE,8CAkBE,+BAtDH;EACC,+CAAA;EACA,oDAAA;EACA,uDAAA;;AAEF,KA0BA,iDAKE,8CAkBE,+BAjDH;EACC,aAAA;EACA,SAAA;;AAIJ,KAoBE,iDA6BE,oCACE;EACE,gBAAA;EACA,cAAA;EACA,gBAAA;EACA,0BAAA;;AAtDR,KAoBE,iDA6BE,oCACE,yCAME;EACE,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,gCAAA;EACA,cAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,yBAAA;;AAjEV,KAoBE,iDA6BE,oCACE,yCAkBE;EAEE,kBAAA;EACA,mBAAA;;AAvEV,KAoBE,iDA6BE,oCACE,yCAkBE,GAKE;EACE,eAAA;EACA,YAAA;EACA,kBAAA;;AAKA,KA7DV,iDA6BE,oCACE,yCAkBE,GAKE,GAQG;EACC,SAAS,GAAT;EACA,qBAAA;EACA,YAAA;EACA,aAAA;EACA,qBAAA;EACA,6BAAA;EACA,OAAA;EACA,kBAAA;EACA,mBAAmB,aAAnB;EACA,gBAAgB,aAAhB;EACA,cAAc,aAAd;EACA,WAAW,aAAX;;AA7Fd,KAoBE,iDA6BE,oCACE,yCAiDE;EACE,cAAA;EA/HR,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,sCAAA;EACA,2CAAA;EACA,8CAAA;;AACA,KA+BA,iDA6BE,oCACE,yCAiDE,+BA9GL;EACC,4CAAA;EACA,iDAAA;EACA,oDAAA;;AAEF,KA0BA,iDA6BE,oCACE,yCAiDE,+BAzGL;EACC,aAAA;EACA,SAAA;;AAIJ,KA6GE;EACE,wBAAA;EACA,oCAAA;EACA,kBAAA;;AAGA,KANF,+BAMG;EACC,iBAAA;EACA,cAAA;EACA,WAAA;EACA,kBAAA;EACA,6BAAA;EACA,kBAAA;EACA,yBAAA;EACA,sBAAA;EACA,cAAA;;AAGF,KAlBF,+BAkBG;EACC,cAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,SAAA;EACA,WAAA;;AAEA,KA7BJ,+BAkBG,QAWE;AAAS,KA7Bd,+BAkBG,QAWY;EACT,mCAAA;EACA,aAAA;;AAIJ,KAnCF,+BAmCG;EACC,iBAAA;;AAGF,KAvCF,+BAuCG;EACC,aAAA;EACA,kBAAA;EACA,gBAAA;;AAIF,KA9CF,+BA8CG;EACC,mBAAA;EACA,cAAA;;AAGF,KAnDF,+BAmDG;EACC,mBAAA;;AAGF,KAvDF,+BAuDG;EACC,mBAAA;;AAGF,KA3DF,+BA2DG;EACC,kBAAA;;AAGF,KA/DF,+BA+DG;EACC,mBAAA;EACA,cAAA;EACA,eAAA;;AAKN,mBAAsC;EACpC,KACE,iDACE;IACE,kBAAA;;EAHN,KACE,iDAKE,oCACE;IACE,aAAA;;EARR,KACE,iDAKE,oCACE,yCAGE;IACE,gBAAA;IACA,eAAA;IACA,eAAA;IACA,gBAAA;;EAdV,KACE,iDAKE,oCACE,yCAUE;IACE,mBAAA;;EAlBV,KACE,iDAKE,oCACE,yCAUE,GAGE;IACE,eAAA;IACA,YAAA;IACA,kBAAA;;EAEA,KAxBV,iDAKE,oCACE,yCAUE,GAGE,GAKG;IACC,YAAA;IACA,aAAA;IACA,6BAAA;IACA,OAAA;IACA,kBAAA;;EA9Bd,KACE,iDAKE,oCACE,yCA4BE;IACE,gBAAA;IACA,iBAAA;IACA,eAAA;IACA,iBAAA;IACA,kBAAA;IACA,uBAAA;IACA,0BAAA","file":"clearfy-base.css"}
|
libs/factory/clearfy/assets/css/clearfy-base.less
CHANGED
@@ -35,8 +35,30 @@
|
|
35 |
}
|
36 |
|
37 |
#WBCR {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
.wbcr-factory-pages-000-impressive-page-template {
|
|
|
|
|
|
|
|
|
40 |
.wbcr-factory-clearfy-000-multisite-suggetion {
|
41 |
padding: 30px 80px;
|
42 |
|
@@ -54,6 +76,7 @@
|
|
54 |
display: inline-block;
|
55 |
.button();
|
56 |
}
|
|
|
57 |
.wbcr-factory-purchase-premium {
|
58 |
display: inline-block;
|
59 |
.button(#fdd868, #755c0e, rgba(60, 45, 2, 0.31));
|
@@ -88,6 +111,7 @@
|
|
88 |
font-size: 15px;
|
89 |
padding: 7px;
|
90 |
padding-left: 20px;
|
|
|
91 |
&:before {
|
92 |
}
|
93 |
|
@@ -116,6 +140,78 @@
|
|
116 |
}
|
117 |
}
|
118 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
120 |
|
121 |
@media screen and (max-width: 1550px) {
|
35 |
}
|
36 |
|
37 |
#WBCR {
|
38 |
+
.premium-label(@position: relative, @positionTop:-8px, @positionLeft:-10px, @positionRight:auto) {
|
39 |
+
display: inline-block;
|
40 |
+
position: @position;
|
41 |
+
content: 'PRO';
|
42 |
+
background: #ff5722;
|
43 |
+
border-radius: 4px;
|
44 |
+
color: #fff;
|
45 |
+
font-size: 10px;
|
46 |
+
line-height: 1;
|
47 |
+
font-style: normal;
|
48 |
+
padding: 4px 6px;
|
49 |
+
margin-left: 4px;
|
50 |
+
vertical-align: top;
|
51 |
+
top: @positionTop;
|
52 |
+
left: @positionLeft;
|
53 |
+
right: @positionRight;
|
54 |
+
z-index: 11;
|
55 |
+
}
|
56 |
|
57 |
.wbcr-factory-pages-000-impressive-page-template {
|
58 |
+
.factory-checkbox.wbcr-factory-clearfy-icon-pro:after {
|
59 |
+
.premium-label();
|
60 |
+
}
|
61 |
+
|
62 |
.wbcr-factory-clearfy-000-multisite-suggetion {
|
63 |
padding: 30px 80px;
|
64 |
|
76 |
display: inline-block;
|
77 |
.button();
|
78 |
}
|
79 |
+
|
80 |
.wbcr-factory-purchase-premium {
|
81 |
display: inline-block;
|
82 |
.button(#fdd868, #755c0e, rgba(60, 45, 2, 0.31));
|
111 |
font-size: 15px;
|
112 |
padding: 7px;
|
113 |
padding-left: 20px;
|
114 |
+
|
115 |
&:before {
|
116 |
}
|
117 |
|
140 |
}
|
141 |
}
|
142 |
}
|
143 |
+
|
144 |
+
/* subscribe widget */
|
145 |
+
|
146 |
+
.wbcr-factory-subscribe-widget {
|
147 |
+
margin-top: 0 !important;
|
148 |
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
149 |
+
border-radius: 5px;
|
150 |
+
|
151 |
+
|
152 |
+
&__field {
|
153 |
+
margin: 10px auto;
|
154 |
+
display: block;
|
155 |
+
width: 100%;
|
156 |
+
text-align: center;
|
157 |
+
box-shadow: 0 0 0 transparent;
|
158 |
+
border-radius: 4px;
|
159 |
+
border: 1px solid #d6d4d4;
|
160 |
+
background-color: #fff;
|
161 |
+
color: #32373c;
|
162 |
+
}
|
163 |
+
|
164 |
+
&__button {
|
165 |
+
display: block;
|
166 |
+
width: 100%;
|
167 |
+
text-align: center;
|
168 |
+
margin: 14px 0 0;
|
169 |
+
box-shadow: none;
|
170 |
+
min-width: 100px;
|
171 |
+
background-color: #ff5722;
|
172 |
+
border: 0;
|
173 |
+
color: #fff;
|
174 |
+
|
175 |
+
&:active, &:focus {
|
176 |
+
box-shadow: inset -1px 1px 1px #222;
|
177 |
+
outline: none;
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
&__msgbox {
|
182 |
+
font-weight: bold;
|
183 |
+
}
|
184 |
+
|
185 |
+
&__text {
|
186 |
+
display: none;
|
187 |
+
padding: 10px 14px;
|
188 |
+
margin: 0 0 10px;
|
189 |
+
|
190 |
+
}
|
191 |
+
|
192 |
+
&__text--success {
|
193 |
+
background: #d6efbe;
|
194 |
+
color: #61824b;
|
195 |
+
}
|
196 |
+
|
197 |
+
&__text--success2 {
|
198 |
+
background: #ffe0b3;
|
199 |
+
}
|
200 |
+
|
201 |
+
&__text--error {
|
202 |
+
background: #f1b1b6;
|
203 |
+
}
|
204 |
+
|
205 |
+
&__checkbox {
|
206 |
+
margin: 0 10px 0 0;
|
207 |
+
}
|
208 |
+
|
209 |
+
&__checkbox-label {
|
210 |
+
font-weight: normal;
|
211 |
+
color: #8c8888;
|
212 |
+
font-size: 12px;
|
213 |
+
}
|
214 |
+
}
|
215 |
}
|
216 |
|
217 |
@media screen and (max-width: 1550px) {
|
libs/factory/clearfy/assets/css/components.css
CHANGED
@@ -3,11 +3,11 @@
|
|
3 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
* @copyright Alex Kovalev 30.09.2017
|
5 |
*/
|
6 |
-
#WBCR .wbc-factory-clearfy-
|
7 |
padding: 0 20px 20px;
|
8 |
text-align: center;
|
9 |
}
|
10 |
-
#WBCR .wbc-factory-clearfy-
|
11 |
position: relative;
|
12 |
display: inline-block;
|
13 |
width: 32.7%;
|
@@ -18,46 +18,46 @@
|
|
18 |
float: none;
|
19 |
vertical-align: top;
|
20 |
}
|
21 |
-
#WBCR .wbc-factory-clearfy-
|
22 |
margin-left: 0;
|
23 |
}
|
24 |
-
#WBCR .wbc-factory-clearfy-
|
25 |
position: absolute;
|
26 |
bottom: 0;
|
27 |
right: 0;
|
28 |
left: 0;
|
29 |
}
|
30 |
-
#WBCR .wbc-factory-clearfy-
|
31 |
min-height: 163px;
|
32 |
}
|
33 |
-
#WBCR .wbc-factory-clearfy-
|
34 |
-
#WBCR .wbc-factory-clearfy-
|
35 |
margin-right: 0 !important;
|
36 |
}
|
37 |
-
#WBCR .wbc-factory-clearfy-
|
38 |
font-size: 17px;
|
39 |
margin-top: 0 !important;
|
40 |
}
|
41 |
-
#WBCR .wbc-factory-clearfy-
|
42 |
float: right;
|
43 |
}
|
44 |
-
#WBCR .wbc-factory-clearfy-
|
45 |
float: right;
|
46 |
margin-left: 5px;
|
47 |
}
|
48 |
-
#WBCR .wbc-factory-clearfy-
|
49 |
-
#WBCR .wbc-factory-clearfy-
|
50 |
font-size: 16px !important;
|
51 |
line-height: 1.5 !important;
|
52 |
color: #62696f;
|
53 |
}
|
54 |
-
#WBCR .wbc-factory-clearfy-
|
55 |
color: #5c5d5f;
|
56 |
text-decoration: none;
|
57 |
font-weight: 600;
|
58 |
font-size: 15px;
|
59 |
}
|
60 |
-
#WBCR .wbc-factory-clearfy-
|
61 |
position: absolute;
|
62 |
bottom: 60px;
|
63 |
right: 0;
|
@@ -73,7 +73,7 @@
|
|
73 |
text-transform: uppercase;
|
74 |
z-index: 1;
|
75 |
}
|
76 |
-
#WBCR .wbc-factory-clearfy-
|
77 |
position: absolute;
|
78 |
bottom: 60px;
|
79 |
right: 0;
|
@@ -89,7 +89,7 @@
|
|
89 |
text-transform: uppercase;
|
90 |
z-index: 1;
|
91 |
}
|
92 |
-
#WBCR .wbc-factory-clearfy-
|
93 |
position: absolute;
|
94 |
bottom: 60px;
|
95 |
right: 0;
|
@@ -105,35 +105,35 @@
|
|
105 |
text-transform: uppercase;
|
106 |
z-index: 1;
|
107 |
}
|
108 |
-
#WBCR .wbc-factory-clearfy-
|
109 |
border-color: #e8d7b2;
|
110 |
background-color: #fff9eb;
|
111 |
}
|
112 |
-
#WBCR .wbc-factory-clearfy-
|
113 |
background-color: #f1f1f1;
|
114 |
}
|
115 |
-
#WBCR .wbc-factory-clearfy-
|
116 |
color: #ababab;
|
117 |
text-decoration: none;
|
118 |
font-weight: 600;
|
119 |
font-size: 15px;
|
120 |
}
|
121 |
-
#WBCR .wbc-factory-clearfy-
|
122 |
opacity: 0.3;
|
123 |
}
|
124 |
-
#WBCR .wbc-factory-clearfy-
|
125 |
color: #afafaf;
|
126 |
}
|
127 |
-
#WBCR .wbc-factory-clearfy-
|
128 |
background-color: #f9f2f1;
|
129 |
}
|
130 |
@media screen and (max-width: 1750px) {
|
131 |
-
#WBCR .wbc-factory-clearfy-
|
132 |
width: 49%;
|
133 |
}
|
134 |
}
|
135 |
@media screen and (max-width: 1350px) {
|
136 |
-
#WBCR .wbc-factory-clearfy-
|
137 |
width: 100%;
|
138 |
}
|
139 |
}
|
3 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
* @copyright Alex Kovalev 30.09.2017
|
5 |
*/
|
6 |
+
#WBCR .wbc-factory-clearfy-230-components {
|
7 |
padding: 0 20px 20px;
|
8 |
text-align: center;
|
9 |
}
|
10 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card {
|
11 |
position: relative;
|
12 |
display: inline-block;
|
13 |
width: 32.7%;
|
18 |
float: none;
|
19 |
vertical-align: top;
|
20 |
}
|
21 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card:first-child {
|
22 |
margin-left: 0;
|
23 |
}
|
24 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-bottom {
|
25 |
position: absolute;
|
26 |
bottom: 0;
|
27 |
right: 0;
|
28 |
left: 0;
|
29 |
}
|
30 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-top {
|
31 |
min-height: 163px;
|
32 |
}
|
33 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .desc,
|
34 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .name {
|
35 |
margin-right: 0 !important;
|
36 |
}
|
37 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .name h3 {
|
38 |
font-size: 17px;
|
39 |
margin-top: 0 !important;
|
40 |
}
|
41 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .install-now {
|
42 |
float: right;
|
43 |
}
|
44 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .delete-now {
|
45 |
float: right;
|
46 |
margin-left: 5px;
|
47 |
}
|
48 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .delete-now .dashicons,
|
49 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .delete-now .dashicons-before:before {
|
50 |
font-size: 16px !important;
|
51 |
line-height: 1.5 !important;
|
52 |
color: #62696f;
|
53 |
}
|
54 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card a.open-plugin-details-modal {
|
55 |
color: #5c5d5f;
|
56 |
text-decoration: none;
|
57 |
font-weight: 600;
|
58 |
font-size: 15px;
|
59 |
}
|
60 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-premium-ribbon {
|
61 |
position: absolute;
|
62 |
bottom: 60px;
|
63 |
right: 0;
|
73 |
text-transform: uppercase;
|
74 |
z-index: 1;
|
75 |
}
|
76 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-free-ribbon {
|
77 |
position: absolute;
|
78 |
bottom: 60px;
|
79 |
right: 0;
|
89 |
text-transform: uppercase;
|
90 |
z-index: 1;
|
91 |
}
|
92 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-freemium-ribbon {
|
93 |
position: absolute;
|
94 |
bottom: 60px;
|
95 |
right: 0;
|
105 |
text-transform: uppercase;
|
106 |
z-index: 1;
|
107 |
}
|
108 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card.premium {
|
109 |
border-color: #e8d7b2;
|
110 |
background-color: #fff9eb;
|
111 |
}
|
112 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive {
|
113 |
background-color: #f1f1f1;
|
114 |
}
|
115 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive a.open-plugin-details-modal {
|
116 |
color: #ababab;
|
117 |
text-decoration: none;
|
118 |
font-weight: 600;
|
119 |
font-size: 15px;
|
120 |
}
|
121 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive .plugin-icon {
|
122 |
opacity: 0.3;
|
123 |
}
|
124 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive .desc {
|
125 |
color: #afafaf;
|
126 |
}
|
127 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive.premium {
|
128 |
background-color: #f9f2f1;
|
129 |
}
|
130 |
@media screen and (max-width: 1750px) {
|
131 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card {
|
132 |
width: 49%;
|
133 |
}
|
134 |
}
|
135 |
@media screen and (max-width: 1350px) {
|
136 |
+
#WBCR .wbc-factory-clearfy-230-components .plugin-card {
|
137 |
width: 100%;
|
138 |
}
|
139 |
}
|
libs/factory/clearfy/assets/css/libs/autocomplete.css
CHANGED
@@ -5,39 +5,39 @@
|
|
5 |
*
|
6 |
* @since 2.2.0
|
7 |
*/
|
8 |
-
#wbcr-factory-clearfy-
|
9 |
width: 100%;
|
10 |
box-sizing: border-box;
|
11 |
border-color: #d6d4d4;
|
12 |
}
|
13 |
-
#wbcr-factory-clearfy-
|
14 |
padding: 10px;
|
15 |
}
|
16 |
-
#wbcr-factory-clearfy-
|
17 |
display: block !important;
|
18 |
}
|
19 |
-
.wbcr-factory-clearfy-
|
20 |
border: 1px solid #999;
|
21 |
background: #FFF;
|
22 |
overflow: auto;
|
23 |
}
|
24 |
-
.wbcr-factory-clearfy-
|
25 |
padding: 2px 5px;
|
26 |
white-space: nowrap;
|
27 |
overflow: hidden;
|
28 |
cursor: pointer;
|
29 |
}
|
30 |
-
.wbcr-factory-clearfy-
|
31 |
background: #F0F0F0;
|
32 |
}
|
33 |
-
.wbcr-factory-clearfy-
|
34 |
font-weight: normal;
|
35 |
color: #3399FF;
|
36 |
}
|
37 |
-
.wbcr-factory-clearfy-
|
38 |
padding: 2px 5px;
|
39 |
}
|
40 |
-
.wbcr-factory-clearfy-
|
41 |
display: block;
|
42 |
border-bottom: 1px solid #000;
|
43 |
}
|
5 |
*
|
6 |
* @since 2.2.0
|
7 |
*/
|
8 |
+
#wbcr-factory-clearfy-230__search_options_form #wbcr-factory-clearfy-230__autocomplete {
|
9 |
width: 100%;
|
10 |
box-sizing: border-box;
|
11 |
border-color: #d6d4d4;
|
12 |
}
|
13 |
+
#wbcr-factory-clearfy-230__search_options_form.wbcr-factory-clearfy-230__autocomplete-wrap {
|
14 |
padding: 10px;
|
15 |
}
|
16 |
+
#wbcr-factory-clearfy-230__search_options_form .wbcr-factory-clearfy-230__autocomplete-label {
|
17 |
display: block !important;
|
18 |
}
|
19 |
+
.wbcr-factory-clearfy-230__autocomplete-suggestions {
|
20 |
border: 1px solid #999;
|
21 |
background: #FFF;
|
22 |
overflow: auto;
|
23 |
}
|
24 |
+
.wbcr-factory-clearfy-230__autocomplete-suggestion {
|
25 |
padding: 2px 5px;
|
26 |
white-space: nowrap;
|
27 |
overflow: hidden;
|
28 |
cursor: pointer;
|
29 |
}
|
30 |
+
.wbcr-factory-clearfy-230__autocomplete-selected {
|
31 |
background: #F0F0F0;
|
32 |
}
|
33 |
+
.wbcr-factory-clearfy-230__autocomplete-suggestions strong {
|
34 |
font-weight: normal;
|
35 |
color: #3399FF;
|
36 |
}
|
37 |
+
.wbcr-factory-clearfy-230__autocomplete-group {
|
38 |
padding: 2px 5px;
|
39 |
}
|
40 |
+
.wbcr-factory-clearfy-230__autocomplete-group strong {
|
41 |
display: block;
|
42 |
border-bottom: 1px solid #000;
|
43 |
}
|
libs/factory/clearfy/assets/css/page-setup.css
CHANGED
@@ -2,13 +2,13 @@
|
|
2 |
margin: 0;
|
3 |
padding: 0;
|
4 |
}
|
5 |
-
.w-factory-clearfy-
|
6 |
text-align: right;
|
7 |
padding: 10px;
|
8 |
background: #f7f7f7;
|
9 |
border-top: 1px solid #e8e8e8;
|
10 |
}
|
11 |
-
.w-factory-clearfy-
|
12 |
background-color: #e7e7e7;
|
13 |
border-color: #e7e7e7;
|
14 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #e7e7e7;
|
@@ -16,29 +16,29 @@
|
|
16 |
margin: 0;
|
17 |
color: #8a8a8a;
|
18 |
}
|
19 |
-
.w-factory-clearfy-
|
20 |
-
.w-factory-clearfy-
|
21 |
-
.w-factory-clearfy-
|
22 |
background: #dddddd;
|
23 |
border-color: #dddddd;
|
24 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #dddddd;
|
25 |
color: #8a8a8a;
|
26 |
}
|
27 |
-
.w-factory-clearfy-
|
28 |
background-color: #f57d4f;
|
29 |
border-color: #f77d50;
|
30 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
|
31 |
text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50;
|
32 |
margin: 0;
|
33 |
}
|
34 |
-
.w-factory-clearfy-
|
35 |
-
.w-factory-clearfy-
|
36 |
-
.w-factory-clearfy-
|
37 |
background: #f86b3b;
|
38 |
border-color: #f86b3b;
|
39 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f86b3b;
|
40 |
}
|
41 |
-
.w-factory-clearfy-
|
42 |
text-align: center;
|
43 |
max-width: 900px;
|
44 |
margin: 65px auto 24px;
|
@@ -46,11 +46,11 @@
|
|
46 |
background: #f1f1f1;
|
47 |
padding: 0;
|
48 |
}
|
49 |
-
.w-factory-clearfy-
|
50 |
-
.w-factory-clearfy-
|
51 |
padding: 30px;
|
52 |
}
|
53 |
-
.w-factory-clearfy-
|
54 |
padding: 0 0 24px;
|
55 |
margin: 0;
|
56 |
list-style: none outside;
|
@@ -60,7 +60,7 @@
|
|
60 |
display: -webkit-inline-box;
|
61 |
display: inline-flex;
|
62 |
}
|
63 |
-
.w-factory-clearfy-
|
64 |
width: 100%;
|
65 |
float: left;
|
66 |
padding: 0 0 0.8em;
|
@@ -70,7 +70,7 @@
|
|
70 |
border-bottom: 4px solid #ccc;
|
71 |
line-height: 1.4;
|
72 |
}
|
73 |
-
.w-factory-clearfy-
|
74 |
content: "";
|
75 |
border: 4px solid #ccc;
|
76 |
border-radius: 100%;
|
@@ -83,15 +83,15 @@
|
|
83 |
margin-bottom: -8px;
|
84 |
background: #fff;
|
85 |
}
|
86 |
-
.w-factory-clearfy-
|
87 |
border-color: #ff1c40 !important;
|
88 |
color: #222;
|
89 |
font-weight: 700;
|
90 |
}
|
91 |
-
.w-factory-clearfy-
|
92 |
border-color: #ff1c40 !important;
|
93 |
}
|
94 |
-
.w-factory-clearfy-
|
95 |
color: #a16696;
|
96 |
text-decoration: none;
|
97 |
padding: 1.5em;
|
@@ -99,67 +99,67 @@
|
|
99 |
position: relative;
|
100 |
z-index: 1;
|
101 |
}
|
102 |
-
.w-factory-clearfy-
|
103 |
-
.w-factory-clearfy-
|
104 |
color: #111;
|
105 |
text-decoration: underline;
|
106 |
}
|
107 |
-
/*.w-factory-clearfy-
|
108 |
border-color: #f57d4f;
|
109 |
color: #f57d4f
|
110 |
}
|
111 |
|
112 |
-
.w-factory-clearfy-
|
113 |
border-color: #f57d4f;
|
114 |
background: #f57d4f
|
115 |
}*/
|
116 |
-
.w-factory-clearfy-
|
117 |
overflow: hidden;
|
118 |
margin: 20px 0 0;
|
119 |
position: relative;
|
120 |
}
|
121 |
-
.w-factory-clearfy-
|
122 |
margin-bottom: 0;
|
123 |
}
|
124 |
-
.w-factory-clearfy-
|
125 |
margin-top: 0;
|
126 |
}
|
127 |
-
.w-factory-clearfy-
|
128 |
font-size: 0.85em;
|
129 |
color: #7b7b7b;
|
130 |
margin: 1.18em auto;
|
131 |
display: inline-block;
|
132 |
text-align: center;
|
133 |
}
|
134 |
-
.w-factory-clearfy-
|
135 |
text-align: center;
|
136 |
}
|
137 |
-
.w-factory-clearfy-
|
138 |
max-width: 250px;
|
139 |
}
|
140 |
-
.w-factory-clearfy-
|
141 |
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.13);
|
142 |
margin: 0 0 20px;
|
143 |
background: #fff;
|
144 |
zoom: 1;
|
145 |
text-align: left;
|
146 |
}
|
147 |
-
.w-factory-clearfy-
|
148 |
font-size: 1em;
|
149 |
line-height: 1.75;
|
150 |
color: #666;
|
151 |
}
|
152 |
-
.w-factory-clearfy-
|
153 |
background: #f1f1f1;
|
154 |
}
|
155 |
-
.w-factory-clearfy-
|
156 |
-
.w-factory-clearfy-
|
157 |
padding: 10px 15px;
|
158 |
}
|
159 |
-
.w-factory-clearfy-
|
160 |
-
.w-factory-clearfy-
|
161 |
-
.w-factory-clearfy-
|
162 |
-
.w-factory-clearfy-
|
163 |
margin: 0 0 20px;
|
164 |
border: 0;
|
165 |
padding: 0;
|
@@ -167,40 +167,40 @@
|
|
167 |
clear: none;
|
168 |
font-weight: 500;
|
169 |
}
|
170 |
-
.w-factory-clearfy-
|
171 |
margin: 20px 0;
|
172 |
font-size: 1.15em;
|
173 |
line-height: 1.75;
|
174 |
color: #666;
|
175 |
text-align: center;
|
176 |
}
|
177 |
-
.w-factory-clearfy-
|
178 |
font-size: 22px !important;
|
179 |
}
|
180 |
-
.w-factory-clearfy-
|
181 |
color: #f57d4f;
|
182 |
}
|
183 |
-
.w-factory-clearfy-
|
184 |
-
.w-factory-clearfy-
|
185 |
color: #111;
|
186 |
}
|
187 |
-
.w-factory-clearfy-
|
188 |
width: 100%;
|
189 |
font-size: 0.92em;
|
190 |
}
|
191 |
-
.w-factory-clearfy-
|
192 |
padding: 0;
|
193 |
text-align: center;
|
194 |
width: auto;
|
195 |
vertical-align: middle;
|
196 |
}
|
197 |
-
.w-factory-clearfy-
|
198 |
border: 1px solid #f5f5f5;
|
199 |
padding: 6px;
|
200 |
text-align: center;
|
201 |
vertical-align: middle;
|
202 |
}
|
203 |
-
.w-factory-clearfy-
|
204 |
outline: 0;
|
205 |
border: 0;
|
206 |
padding: 0;
|
@@ -208,18 +208,18 @@
|
|
208 |
text-align: center;
|
209 |
width: 100%;
|
210 |
}
|
211 |
-
.w-factory-clearfy-
|
212 |
cursor: move;
|
213 |
color: #ccc;
|
214 |
}
|
215 |
-
.w-factory-clearfy-
|
216 |
content: "\f333";
|
217 |
font-family: dashicons;
|
218 |
}
|
219 |
-
.w-factory-clearfy-
|
220 |
background: #f5f5f5;
|
221 |
}
|
222 |
-
.w-factory-clearfy-
|
223 |
padding: 1em 0 0 1em;
|
224 |
line-height: 1;
|
225 |
font-size: 1em;
|
@@ -230,14 +230,14 @@
|
|
230 |
position: relative;
|
231 |
display: inline-block;
|
232 |
}
|
233 |
-
.w-factory-clearfy-
|
234 |
content: "\f502";
|
235 |
font-family: dashicons;
|
236 |
position: absolute;
|
237 |
left: 0;
|
238 |
top: 0;
|
239 |
}
|
240 |
-
.w-factory-clearfy-
|
241 |
padding: 1em 0 0 1em;
|
242 |
line-height: 1;
|
243 |
font-size: 1em;
|
@@ -248,87 +248,87 @@
|
|
248 |
position: relative;
|
249 |
display: inline-block;
|
250 |
}
|
251 |
-
.w-factory-clearfy-
|
252 |
content: "\f182";
|
253 |
font-family: dashicons;
|
254 |
position: absolute;
|
255 |
left: 0;
|
256 |
top: 0;
|
257 |
}
|
258 |
-
.w-factory-clearfy-
|
259 |
width: 100%;
|
260 |
border-top: 1px solid #eee;
|
261 |
}
|
262 |
-
.w-factory-clearfy-
|
263 |
display: none;
|
264 |
}
|
265 |
-
.w-factory-clearfy-
|
266 |
width: 30%;
|
267 |
font-weight: 700;
|
268 |
}
|
269 |
-
.w-factory-clearfy-
|
270 |
-
.w-factory-clearfy-
|
271 |
padding: 14px 0;
|
272 |
border-bottom: 1px solid #eee;
|
273 |
}
|
274 |
-
.w-factory-clearfy-
|
275 |
-
.w-factory-clearfy-
|
276 |
padding-right: 9px;
|
277 |
}
|
278 |
-
.w-factory-clearfy-
|
279 |
padding-top: 0;
|
280 |
}
|
281 |
-
.w-factory-clearfy-
|
282 |
color: #777;
|
283 |
margin: 6px 0 0 24px;
|
284 |
line-height: 1.75;
|
285 |
}
|
286 |
-
.w-factory-clearfy-
|
287 |
vertical-align: middle;
|
288 |
margin: 1px 0 0;
|
289 |
height: 1.75em;
|
290 |
width: 1.75em;
|
291 |
line-height: 1.75;
|
292 |
}
|
293 |
-
.w-factory-clearfy-
|
294 |
line-height: 1;
|
295 |
}
|
296 |
@media screen and (max-width: 782px) {
|
297 |
-
.w-factory-clearfy-
|
298 |
width: auto;
|
299 |
}
|
300 |
}
|
301 |
-
.w-factory-clearfy-
|
302 |
float: right;
|
303 |
}
|
304 |
-
.w-factory-clearfy-
|
305 |
overflow: hidden;
|
306 |
margin: 0 0 24px;
|
307 |
padding-bottom: 2px;
|
308 |
}
|
309 |
-
.w-factory-clearfy-
|
310 |
margin-bottom: 12px;
|
311 |
}
|
312 |
-
.w-factory-clearfy-
|
313 |
float: left;
|
314 |
width: 50%;
|
315 |
box-sizing: border-box;
|
316 |
}
|
317 |
-
.w-factory-clearfy-
|
318 |
float: right;
|
319 |
width: 50%;
|
320 |
box-sizing: border-box;
|
321 |
}
|
322 |
-
.w-factory-clearfy-
|
323 |
padding: 0 2em 0 0;
|
324 |
list-style: none outside;
|
325 |
margin: 0;
|
326 |
}
|
327 |
-
.w-factory-clearfy-
|
328 |
display: block;
|
329 |
padding: 0 0 0.75em;
|
330 |
}
|
331 |
-
.w-factory-clearfy-
|
332 |
background-color: #f7f7f7;
|
333 |
border-color: #ccc;
|
334 |
color: #23282d;
|
@@ -342,28 +342,28 @@
|
|
342 |
padding: 1em;
|
343 |
text-align: center;
|
344 |
}
|
345 |
-
.w-factory-clearfy-
|
346 |
-
.w-factory-clearfy-
|
347 |
-
.w-factory-clearfy-
|
348 |
background: #f5f5f5;
|
349 |
border-color: #aaa;
|
350 |
}
|
351 |
-
.w-factory-clearfy-
|
352 |
color: #fff;
|
353 |
background-color: #f19570;
|
354 |
border-color: #f77d50;
|
355 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
|
356 |
text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50;
|
357 |
}
|
358 |
-
.w-factory-clearfy-
|
359 |
-
.w-factory-clearfy-
|
360 |
-
.w-factory-clearfy-
|
361 |
color: #fff;
|
362 |
background: #f77d50;
|
363 |
border-color: #f77d50;
|
364 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
|
365 |
}
|
366 |
-
.w-factory-clearfy-
|
367 |
color: #82878c;
|
368 |
font: 400 20px/1 dashicons;
|
369 |
speak: none;
|
@@ -374,50 +374,50 @@
|
|
374 |
text-decoration: none !important;
|
375 |
vertical-align: top;
|
376 |
}
|
377 |
-
.w-factory-clearfy-
|
378 |
content: "\f105";
|
379 |
}
|
380 |
-
.w-factory-clearfy-
|
381 |
content: "\f126";
|
382 |
}
|
383 |
-
.w-factory-clearfy-
|
384 |
content: "\f465";
|
385 |
}
|
386 |
-
.w-factory-clearfy-
|
387 |
-
.w-factory-clearfy-
|
388 |
padding: 24px 24px 0;
|
389 |
margin: 0 0 24px;
|
390 |
overflow: hidden;
|
391 |
background: #f5f5f5;
|
392 |
}
|
393 |
-
.w-factory-clearfy-
|
394 |
-
.w-factory-clearfy-
|
395 |
padding: 0;
|
396 |
margin: 0 0 12px;
|
397 |
}
|
398 |
-
.w-factory-clearfy-
|
399 |
-
.w-factory-clearfy-
|
400 |
-
.w-factory-clearfy-
|
401 |
-
.w-factory-clearfy-
|
402 |
margin: 0 0 24px;
|
403 |
}
|
404 |
-
.w-factory-clearfy-
|
405 |
opacity: 0;
|
406 |
position: absolute;
|
407 |
left: -9999px;
|
408 |
}
|
409 |
-
.w-factory-clearfy-
|
410 |
position: relative;
|
411 |
display: inline-block;
|
412 |
padding-left: 28px;
|
413 |
}
|
414 |
-
.w-factory-clearfy-
|
415 |
-
.w-factory-clearfy-
|
416 |
position: absolute;
|
417 |
content: "";
|
418 |
display: inline-block;
|
419 |
}
|
420 |
-
.w-factory-clearfy-
|
421 |
height: 16px;
|
422 |
width: 16px;
|
423 |
left: 0;
|
@@ -426,7 +426,7 @@
|
|
426 |
background-color: #fff;
|
427 |
border-radius: 3px;
|
428 |
}
|
429 |
-
.w-factory-clearfy-
|
430 |
height: 5px;
|
431 |
width: 9px;
|
432 |
border-left: 2px solid;
|
@@ -438,16 +438,16 @@
|
|
438 |
top: 7px;
|
439 |
color: #fff;
|
440 |
}
|
441 |
-
.w-factory-clearfy-
|
442 |
content: none;
|
443 |
}
|
444 |
-
.w-factory-clearfy-
|
445 |
content: "";
|
446 |
}
|
447 |
-
.w-factory-clearfy-
|
448 |
outline: #3b99fc auto 5px;
|
449 |
}
|
450 |
-
.w-factory-clearfy-
|
451 |
background: #935687;
|
452 |
border-color: #935687;
|
453 |
}
|
2 |
margin: 0;
|
3 |
padding: 0;
|
4 |
}
|
5 |
+
.w-factory-clearfy-230__form-buttons {
|
6 |
text-align: right;
|
7 |
padding: 10px;
|
8 |
background: #f7f7f7;
|
9 |
border-top: 1px solid #e8e8e8;
|
10 |
}
|
11 |
+
.w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__skip-button {
|
12 |
background-color: #e7e7e7;
|
13 |
border-color: #e7e7e7;
|
14 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #e7e7e7;
|
16 |
margin: 0;
|
17 |
color: #8a8a8a;
|
18 |
}
|
19 |
+
.w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__skip-button:active,
|
20 |
+
.w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__skip-button:hover,
|
21 |
+
.w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__skip-button:focus {
|
22 |
background: #dddddd;
|
23 |
border-color: #dddddd;
|
24 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #dddddd;
|
25 |
color: #8a8a8a;
|
26 |
}
|
27 |
+
.w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__continue-button {
|
28 |
background-color: #f57d4f;
|
29 |
border-color: #f77d50;
|
30 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
|
31 |
text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50;
|
32 |
margin: 0;
|
33 |
}
|
34 |
+
.w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__continue-button:active,
|
35 |
+
.w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__continue-button:hover,
|
36 |
+
.w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__continue-button:focus {
|
37 |
background: #f86b3b;
|
38 |
border-color: #f86b3b;
|
39 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f86b3b;
|
40 |
}
|
41 |
+
.w-factory-clearfy-230-setup {
|
42 |
text-align: center;
|
43 |
max-width: 900px;
|
44 |
margin: 65px auto 24px;
|
46 |
background: #f1f1f1;
|
47 |
padding: 0;
|
48 |
}
|
49 |
+
.w-factory-clearfy-230-setup__inner-wrap,
|
50 |
+
.w-factory-clearfy-230__setup-form .factory-form-layout {
|
51 |
padding: 30px;
|
52 |
}
|
53 |
+
.w-factory-clearfy-230-setup-steps {
|
54 |
padding: 0 0 24px;
|
55 |
margin: 0;
|
56 |
list-style: none outside;
|
60 |
display: -webkit-inline-box;
|
61 |
display: inline-flex;
|
62 |
}
|
63 |
+
.w-factory-clearfy-230-setup-steps li {
|
64 |
width: 100%;
|
65 |
float: left;
|
66 |
padding: 0 0 0.8em;
|
70 |
border-bottom: 4px solid #ccc;
|
71 |
line-height: 1.4;
|
72 |
}
|
73 |
+
.w-factory-clearfy-230-setup-steps li::before {
|
74 |
content: "";
|
75 |
border: 4px solid #ccc;
|
76 |
border-radius: 100%;
|
83 |
margin-bottom: -8px;
|
84 |
background: #fff;
|
85 |
}
|
86 |
+
.w-factory-clearfy-230-setup-steps li.active {
|
87 |
border-color: #ff1c40 !important;
|
88 |
color: #222;
|
89 |
font-weight: 700;
|
90 |
}
|
91 |
+
.w-factory-clearfy-230-setup-steps li.active::before {
|
92 |
border-color: #ff1c40 !important;
|
93 |
}
|
94 |
+
.w-factory-clearfy-230-setup-steps li a {
|
95 |
color: #a16696;
|
96 |
text-decoration: none;
|
97 |
padding: 1.5em;
|
99 |
position: relative;
|
100 |
z-index: 1;
|
101 |
}
|
102 |
+
.w-factory-clearfy-230-setup-steps li a:focus,
|
103 |
+
.w-factory-clearfy-230-setup-steps li a:hover {
|
104 |
color: #111;
|
105 |
text-decoration: underline;
|
106 |
}
|
107 |
+
/*.w-factory-clearfy-230-setup-steps li.done {
|
108 |
border-color: #f57d4f;
|
109 |
color: #f57d4f
|
110 |
}
|
111 |
|
112 |
+
.w-factory-clearfy-230-setup-steps li.done::before {
|
113 |
border-color: #f57d4f;
|
114 |
background: #f57d4f
|
115 |
}*/
|
116 |
+
.w-factory-clearfy-230-setup .w-factory-clearfy-230-setup-actions {
|
117 |
overflow: hidden;
|
118 |
margin: 20px 0 0;
|
119 |
position: relative;
|
120 |
}
|
121 |
+
.w-factory-clearfy-230-setup-content p:last-child {
|
122 |
margin-bottom: 0;
|
123 |
}
|
124 |
+
.w-factory-clearfy-230-setup-content p.store-setup {
|
125 |
margin-top: 0;
|
126 |
}
|
127 |
+
.w-factory-clearfy-230-setup-footer-links {
|
128 |
font-size: 0.85em;
|
129 |
color: #7b7b7b;
|
130 |
margin: 1.18em auto;
|
131 |
display: inline-block;
|
132 |
text-align: center;
|
133 |
}
|
134 |
+
.w-factory-clearfy-230-logo {
|
135 |
text-align: center;
|
136 |
}
|
137 |
+
.w-factory-clearfy-230-logo img {
|
138 |
max-width: 250px;
|
139 |
}
|
140 |
+
.w-factory-clearfy-230-setup-content {
|
141 |
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.13);
|
142 |
margin: 0 0 20px;
|
143 |
background: #fff;
|
144 |
zoom: 1;
|
145 |
text-align: left;
|
146 |
}
|
147 |
+
.w-factory-clearfy-230-setup-content table {
|
148 |
font-size: 1em;
|
149 |
line-height: 1.75;
|
150 |
color: #666;
|
151 |
}
|
152 |
+
.w-factory-clearfy-230-setup-content table thead {
|
153 |
background: #f1f1f1;
|
154 |
}
|
155 |
+
.w-factory-clearfy-230-setup-content table th,
|
156 |
+
.w-factory-clearfy-230-setup-content table td {
|
157 |
padding: 10px 15px;
|
158 |
}
|
159 |
+
.w-factory-clearfy-230-setup-content h1,
|
160 |
+
.w-factory-clearfy-230-setup-content h2,
|
161 |
+
.w-factory-clearfy-230-setup-content h3,
|
162 |
+
.w-factory-clearfy-230-setup-content table {
|
163 |
margin: 0 0 20px;
|
164 |
border: 0;
|
165 |
padding: 0;
|
167 |
clear: none;
|
168 |
font-weight: 500;
|
169 |
}
|
170 |
+
.w-factory-clearfy-230-setup-content p {
|
171 |
margin: 20px 0;
|
172 |
font-size: 1.15em;
|
173 |
line-height: 1.75;
|
174 |
color: #666;
|
175 |
text-align: center;
|
176 |
}
|
177 |
+
.w-factory-clearfy-230-setup-step__new_onboarding-welcome {
|
178 |
font-size: 22px !important;
|
179 |
}
|
180 |
+
.w-factory-clearfy-230-setup-content a {
|
181 |
color: #f57d4f;
|
182 |
}
|
183 |
+
.w-factory-clearfy-230-setup-content a:focus,
|
184 |
+
.w-factory-clearfy-230-setup-content a:hover {
|
185 |
color: #111;
|
186 |
}
|
187 |
+
.w-factory-clearfy-230-setup-content table.tax-rates {
|
188 |
width: 100%;
|
189 |
font-size: 0.92em;
|
190 |
}
|
191 |
+
.w-factory-clearfy-230-setup-content table.tax-rates th {
|
192 |
padding: 0;
|
193 |
text-align: center;
|
194 |
width: auto;
|
195 |
vertical-align: middle;
|
196 |
}
|
197 |
+
.w-factory-clearfy-230-setup-content table.tax-rates td {
|
198 |
border: 1px solid #f5f5f5;
|
199 |
padding: 6px;
|
200 |
text-align: center;
|
201 |
vertical-align: middle;
|
202 |
}
|
203 |
+
.w-factory-clearfy-230-setup-content table.tax-rates td input {
|
204 |
outline: 0;
|
205 |
border: 0;
|
206 |
padding: 0;
|
208 |
text-align: center;
|
209 |
width: 100%;
|
210 |
}
|
211 |
+
.w-factory-clearfy-230-setup-content table.tax-rates td.sort {
|
212 |
cursor: move;
|
213 |
color: #ccc;
|
214 |
}
|
215 |
+
.w-factory-clearfy-230-setup-content table.tax-rates td.sort::before {
|
216 |
content: "\f333";
|
217 |
font-family: dashicons;
|
218 |
}
|
219 |
+
.w-factory-clearfy-230-setup-content table.tax-rates td.readonly {
|
220 |
background: #f5f5f5;
|
221 |
}
|
222 |
+
.w-factory-clearfy-230-setup-content table.tax-rates .add {
|
223 |
padding: 1em 0 0 1em;
|
224 |
line-height: 1;
|
225 |
font-size: 1em;
|
230 |
position: relative;
|
231 |
display: inline-block;
|
232 |
}
|
233 |
+
.w-factory-clearfy-230-setup-content table.tax-rates .add::before {
|
234 |
content: "\f502";
|
235 |
font-family: dashicons;
|
236 |
position: absolute;
|
237 |
left: 0;
|
238 |
top: 0;
|
239 |
}
|
240 |
+
.w-factory-clearfy-230-setup-content table.tax-rates .remove {
|
241 |
padding: 1em 0 0 1em;
|
242 |
line-height: 1;
|
243 |
font-size: 1em;
|
248 |
position: relative;
|
249 |
display: inline-block;
|
250 |
}
|
251 |
+
.w-factory-clearfy-230-setup-content table.tax-rates .remove::before {
|
252 |
content: "\f182";
|
253 |
font-family: dashicons;
|
254 |
position: absolute;
|
255 |
left: 0;
|
256 |
top: 0;
|
257 |
}
|
258 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages {
|
259 |
width: 100%;
|
260 |
border-top: 1px solid #eee;
|
261 |
}
|
262 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages thead th {
|
263 |
display: none;
|
264 |
}
|
265 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages .page-name {
|
266 |
width: 30%;
|
267 |
font-weight: 700;
|
268 |
}
|
269 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages td,
|
270 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages th {
|
271 |
padding: 14px 0;
|
272 |
border-bottom: 1px solid #eee;
|
273 |
}
|
274 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages td:first-child,
|
275 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages th:first-child {
|
276 |
padding-right: 9px;
|
277 |
}
|
278 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages th {
|
279 |
padding-top: 0;
|
280 |
}
|
281 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages .page-options p {
|
282 |
color: #777;
|
283 |
margin: 6px 0 0 24px;
|
284 |
line-height: 1.75;
|
285 |
}
|
286 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages .page-options p input {
|
287 |
vertical-align: middle;
|
288 |
margin: 1px 0 0;
|
289 |
height: 1.75em;
|
290 |
width: 1.75em;
|
291 |
line-height: 1.75;
|
292 |
}
|
293 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages .page-options p label {
|
294 |
line-height: 1;
|
295 |
}
|
296 |
@media screen and (max-width: 782px) {
|
297 |
+
.w-factory-clearfy-230-setup-content .form-table tbody th {
|
298 |
width: auto;
|
299 |
}
|
300 |
}
|
301 |
+
.w-factory-clearfy-230-setup-content .twitter-share-button {
|
302 |
float: right;
|
303 |
}
|
304 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps {
|
305 |
overflow: hidden;
|
306 |
margin: 0 0 24px;
|
307 |
padding-bottom: 2px;
|
308 |
}
|
309 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps h2 {
|
310 |
margin-bottom: 12px;
|
311 |
}
|
312 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps .w-factory-clearfy-230-setup-next-steps-first {
|
313 |
float: left;
|
314 |
width: 50%;
|
315 |
box-sizing: border-box;
|
316 |
}
|
317 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps .w-factory-clearfy-230-setup-next-steps-last {
|
318 |
float: right;
|
319 |
width: 50%;
|
320 |
box-sizing: border-box;
|
321 |
}
|
322 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul {
|
323 |
padding: 0 2em 0 0;
|
324 |
list-style: none outside;
|
325 |
margin: 0;
|
326 |
}
|
327 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul li a {
|
328 |
display: block;
|
329 |
padding: 0 0 0.75em;
|
330 |
}
|
331 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button {
|
332 |
background-color: #f7f7f7;
|
333 |
border-color: #ccc;
|
334 |
color: #23282d;
|
342 |
padding: 1em;
|
343 |
text-align: center;
|
344 |
}
|
345 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button:active,
|
346 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button:focus,
|
347 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button:hover {
|
348 |
background: #f5f5f5;
|
349 |
border-color: #aaa;
|
350 |
}
|
351 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button-primary {
|
352 |
color: #fff;
|
353 |
background-color: #f19570;
|
354 |
border-color: #f77d50;
|
355 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
|
356 |
text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50;
|
357 |
}
|
358 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button-primary:active,
|
359 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button-primary:focus,
|
360 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button-primary:hover {
|
361 |
color: #fff;
|
362 |
background: #f77d50;
|
363 |
border-color: #f77d50;
|
364 |
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
|
365 |
}
|
366 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul li a::before {
|
367 |
color: #82878c;
|
368 |
font: 400 20px/1 dashicons;
|
369 |
speak: none;
|
374 |
text-decoration: none !important;
|
375 |
vertical-align: top;
|
376 |
}
|
377 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .learn-more a::before {
|
378 |
content: "\f105";
|
379 |
}
|
380 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .video-walkthrough a::before {
|
381 |
content: "\f126";
|
382 |
}
|
383 |
+
.w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .newsletter a::before {
|
384 |
content: "\f465";
|
385 |
}
|
386 |
+
.w-factory-clearfy-230-setup-content .updated,
|
387 |
+
.w-factory-clearfy-230-setup-content .woocommerce-newsletter {
|
388 |
padding: 24px 24px 0;
|
389 |
margin: 0 0 24px;
|
390 |
overflow: hidden;
|
391 |
background: #f5f5f5;
|
392 |
}
|
393 |
+
.w-factory-clearfy-230-setup-content .updated p,
|
394 |
+
.w-factory-clearfy-230-setup-content .woocommerce-newsletter p {
|
395 |
padding: 0;
|
396 |
margin: 0 0 12px;
|
397 |
}
|
398 |
+
.w-factory-clearfy-230-setup-content .updated form,
|
399 |
+
.w-factory-clearfy-230-setup-content .updated p:last-child,
|
400 |
+
.w-factory-clearfy-230-setup-content .woocommerce-newsletter form,
|
401 |
+
.w-factory-clearfy-230-setup-content .woocommerce-newsletter p:last-child {
|
402 |
margin: 0 0 24px;
|
403 |
}
|
404 |
+
.w-factory-clearfy-230-setup-content .checkbox input[type=checkbox] {
|
405 |
opacity: 0;
|
406 |
position: absolute;
|
407 |
left: -9999px;
|
408 |
}
|
409 |
+
.w-factory-clearfy-230-setup-content .checkbox label {
|
410 |
position: relative;
|
411 |
display: inline-block;
|
412 |
padding-left: 28px;
|
413 |
}
|
414 |
+
.w-factory-clearfy-230-setup-content .checkbox label::after,
|
415 |
+
.w-factory-clearfy-230-setup-content .checkbox label::before {
|
416 |
position: absolute;
|
417 |
content: "";
|
418 |
display: inline-block;
|
419 |
}
|
420 |
+
.w-factory-clearfy-230-setup-content .checkbox label::before {
|
421 |
height: 16px;
|
422 |
width: 16px;
|
423 |
left: 0;
|
426 |
background-color: #fff;
|
427 |
border-radius: 3px;
|
428 |
}
|
429 |
+
.w-factory-clearfy-230-setup-content .checkbox label::after {
|
430 |
height: 5px;
|
431 |
width: 9px;
|
432 |
border-left: 2px solid;
|
438 |
top: 7px;
|
439 |
color: #fff;
|
440 |
}
|
441 |
+
.w-factory-clearfy-230-setup-content .checkbox input[type=checkbox] + label::after {
|
442 |
content: none;
|
443 |
}
|
444 |
+
.w-factory-clearfy-230-setup-content .checkbox input[type=checkbox]:checked + label::after {
|
445 |
content: "";
|
446 |
}
|
447 |
+
.w-factory-clearfy-230-setup-content .checkbox input[type=checkbox]:focus + label::before {
|
448 |
outline: #3b99fc auto 5px;
|
449 |
}
|
450 |
+
.w-factory-clearfy-230-setup-content .checkbox input[type=checkbox]:checked + label::before {
|
451 |
background: #935687;
|
452 |
border-color: #935687;
|
453 |
}
|
libs/factory/clearfy/assets/js/clearfy-globals.js
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
* Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
|
3 |
* и самого Clearfy.
|
4 |
*
|
5 |
-
* $.
|
6 |
-
* $.
|
7 |
*
|
8 |
* Copyright 2018, Webcraftic, http://webcraftic.com
|
9 |
*
|
@@ -13,16 +13,16 @@
|
|
13 |
(function($) {
|
14 |
'use strict';
|
15 |
|
16 |
-
if( !$.
|
17 |
-
$.
|
18 |
}
|
19 |
|
20 |
//todo: Переопредление для совместимости со старыми версиями плагинов.
|
21 |
-
$.
|
22 |
//todo: Переопредление для совместимости со старыми версиями плагинов.
|
23 |
-
$.
|
24 |
|
25 |
-
$.
|
26 |
/**
|
27 |
* Создает и показывает уведомление внутри интерфейса Clearfy
|
28 |
*
|
@@ -68,12 +68,12 @@
|
|
68 |
/**
|
69 |
* Хук выполняет проивольную функцию, после того как уведомление отображено
|
70 |
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
71 |
-
* Пример регистрации хука $.
|
72 |
* function(noticeId) {});
|
73 |
* @param {string} noticeId - id уведомления
|
74 |
*/
|
75 |
-
$.
|
76 |
-
$.
|
77 |
});
|
78 |
|
79 |
return noticeId;
|
@@ -98,13 +98,13 @@
|
|
98 |
/**
|
99 |
* Хук выполняет проивольную функцию, после того как уведомление скрыто
|
100 |
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
101 |
-
* Пример регистрации хука $.
|
102 |
* function(noticeId)
|
103 |
* {});
|
104 |
* @param {string} noticeId - id уведомления
|
105 |
*/
|
106 |
-
$.
|
107 |
-
$.
|
108 |
});
|
109 |
},
|
110 |
|
@@ -121,7 +121,7 @@
|
|
121 |
|
122 |
};
|
123 |
|
124 |
-
$.
|
125 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
126 |
if( !$('#WBCR').length ) {
|
127 |
return false;
|
@@ -137,7 +137,7 @@
|
|
137 |
}
|
138 |
});
|
139 |
|
140 |
-
$.
|
141 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
142 |
if( !$('#WBCR').length ) {
|
143 |
return false;
|
@@ -156,7 +156,7 @@
|
|
156 |
}
|
157 |
});
|
158 |
|
159 |
-
$.
|
160 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
161 |
if( !$('#WBCR').length ) {
|
162 |
return false;
|
@@ -175,32 +175,32 @@
|
|
175 |
}
|
176 |
});
|
177 |
|
178 |
-
$.
|
179 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
180 |
-
if( !($('#WBCR').length && $.
|
181 |
return false;
|
182 |
}
|
183 |
|
184 |
button.closest('.plugin-card').addClass('plugin-status-deactive');
|
185 |
|
186 |
if( response.data && response.data.error_message ) {
|
187 |
-
$.
|
188 |
}
|
189 |
});
|
190 |
|
191 |
-
$.
|
192 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
193 |
-
if( !($('#WBCR').length && $.
|
194 |
return false;
|
195 |
}
|
196 |
|
197 |
if( response.data && response.data.error_message ) {
|
198 |
-
$.
|
199 |
}
|
200 |
|
201 |
});
|
202 |
|
203 |
-
$.
|
204 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
205 |
if( !$('#WBCR').length ) {
|
206 |
return false;
|
@@ -209,13 +209,13 @@
|
|
209 |
button.closest('.plugin-card').removeClass('plugin-status-deactive');
|
210 |
});
|
211 |
|
212 |
-
$.
|
213 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
214 |
-
if( !($('#WBCR').length && $.
|
215 |
return false;
|
216 |
}
|
217 |
|
218 |
-
$.
|
219 |
});
|
220 |
|
221 |
})(jQuery);
|
2 |
* Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
|
3 |
* и самого Clearfy.
|
4 |
*
|
5 |
+
* $.wbcr_factory_clearfy_230.app - методы для работы с приложением. Скрыть, показать уведомления.
|
6 |
+
* $.wbcr_factory_clearfy_230.hooks - это иммитация хуков и фильтров аналогично тем, что используются в Wordpress
|
7 |
*
|
8 |
* Copyright 2018, Webcraftic, http://webcraftic.com
|
9 |
*
|
13 |
(function($) {
|
14 |
'use strict';
|
15 |
|
16 |
+
if( !$.wbcr_factory_clearfy_230 ) {
|
17 |
+
$.wbcr_factory_clearfy_230 = {};
|
18 |
}
|
19 |
|
20 |
//todo: Переопредление для совместимости со старыми версиями плагинов.
|
21 |
+
$.wbcr_factory_clearfy_230.filters = $.wbcr_factory_clearfy_230.filters || $.wfactory_439.filters;
|
22 |
//todo: Переопредление для совместимости со старыми версиями плагинов.
|
23 |
+
$.wbcr_factory_clearfy_230.hooks = $.wbcr_factory_clearfy_230.hooks || $.wfactory_439.hooks;
|
24 |
|
25 |
+
$.wbcr_factory_clearfy_230.app = $.wbcr_factory_clearfy_230.app || {
|
26 |
/**
|
27 |
* Создает и показывает уведомление внутри интерфейса Clearfy
|
28 |
*
|
68 |
/**
|
69 |
* Хук выполняет проивольную функцию, после того как уведомление отображено
|
70 |
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
71 |
+
* Пример регистрации хука $.wfactory_439.hooks.add('wbcr/factory_clearfy_230/updated',
|
72 |
* function(noticeId) {});
|
73 |
* @param {string} noticeId - id уведомления
|
74 |
*/
|
75 |
+
$.wfactory_439.hooks.run('wbcr/factory_clearfy_230/showed_notice', [noticeId]);
|
76 |
+
$.wfactory_439.hooks.run('wbcr/clearfy/showed_notice', [noticeId]);
|
77 |
});
|
78 |
|
79 |
return noticeId;
|
98 |
/**
|
99 |
* Хук выполняет проивольную функцию, после того как уведомление скрыто
|
100 |
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
101 |
+
* Пример регистрации хука $.wfactory_439.hooks.add('wbcr/factory_clearfy_230/updated',
|
102 |
* function(noticeId)
|
103 |
* {});
|
104 |
* @param {string} noticeId - id уведомления
|
105 |
*/
|
106 |
+
$.wfactory_439.hooks.run('wbcr/factory_clearfy_230/hidded_notice', [noticeId]);
|
107 |
+
$.wfactory_439.hooks.run('wbcr/clearfy/hidded_notice', [noticeId]);
|
108 |
});
|
109 |
},
|
110 |
|
121 |
|
122 |
};
|
123 |
|
124 |
+
$.wfactory_439.hooks.add('core/components/pre_activate', function(button) {
|
125 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
126 |
if( !$('#WBCR').length ) {
|
127 |
return false;
|
137 |
}
|
138 |
});
|
139 |
|
140 |
+
$.wfactory_439.hooks.add('core/components/deactivated', function(button, data, response) {
|
141 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
142 |
if( !$('#WBCR').length ) {
|
143 |
return false;
|
156 |
}
|
157 |
});
|
158 |
|
159 |
+
$.wfactory_439.hooks.add('core/components/deleted', function(button) {
|
160 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
161 |
if( !$('#WBCR').length ) {
|
162 |
return false;
|
175 |
}
|
176 |
});
|
177 |
|
178 |
+
$.wfactory_439.hooks.add('core/components/activation_error', function(plugin, button, response) {
|
179 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
180 |
+
if( !($('#WBCR').length && $.wbcr_factory_clearfy_230) ) {
|
181 |
return false;
|
182 |
}
|
183 |
|
184 |
button.closest('.plugin-card').addClass('plugin-status-deactive');
|
185 |
|
186 |
if( response.data && response.data.error_message ) {
|
187 |
+
$.wbcr_factory_clearfy_230.app.showNotice(response.data.error_message, 'danger');
|
188 |
}
|
189 |
});
|
190 |
|
191 |
+
$.wfactory_439.hooks.add('core/components/update_error', function(button, data, response) {
|
192 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
193 |
+
if( !($('#WBCR').length && $.wbcr_factory_clearfy_230) ) {
|
194 |
return false;
|
195 |
}
|
196 |
|
197 |
if( response.data && response.data.error_message ) {
|
198 |
+
$.wbcr_factory_clearfy_230.app.showNotice(response.data.error_message, 'danger');
|
199 |
}
|
200 |
|
201 |
});
|
202 |
|
203 |
+
$.wfactory_439.hooks.add('core/components/activated', function(button, data, response) {
|
204 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
205 |
if( !$('#WBCR').length ) {
|
206 |
return false;
|
209 |
button.closest('.plugin-card').removeClass('plugin-status-deactive');
|
210 |
});
|
211 |
|
212 |
+
$.wfactory_439.hooks.add('core/components/ajax_error', function(xhr, ajaxOptions, thrownError) {
|
213 |
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
214 |
+
if( !($('#WBCR').length && $.wbcr_factory_clearfy_230) ) {
|
215 |
return false;
|
216 |
}
|
217 |
|
218 |
+
$.wbcr_factory_clearfy_230.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
219 |
});
|
220 |
|
221 |
})(jQuery);
|
libs/factory/clearfy/assets/js/clearfy-license-manager.js
CHANGED
@@ -20,7 +20,7 @@ jQuery(function($) {
|
|
20 |
licenseAction = $(this).data('action');
|
21 |
|
22 |
for( i = 0; i < allNotices.length; i++ ) {
|
23 |
-
$.
|
24 |
}
|
25 |
|
26 |
$('.wcl-control-btn').hide();
|
@@ -53,7 +53,7 @@ jQuery(function($) {
|
|
53 |
|
54 |
if( response.data ) {
|
55 |
console.log(response.data.error_message);
|
56 |
-
noticeId = $.
|
57 |
allNotices.push(noticeId);
|
58 |
} else {
|
59 |
console.log(response);
|
@@ -63,7 +63,7 @@ jQuery(function($) {
|
|
63 |
}
|
64 |
|
65 |
if( response.data && response.data.message ) {
|
66 |
-
noticeId = $.
|
67 |
allNotices.push(noticeId);
|
68 |
|
69 |
// todo: доработать генерацию формы, вместо перезагрузки страницы
|
@@ -80,7 +80,7 @@ jQuery(function($) {
|
|
80 |
console.log(xhr.responseText);
|
81 |
console.log(thrownError);
|
82 |
|
83 |
-
var noticeId = $.
|
84 |
|
85 |
allNotices.push(noticeId);
|
86 |
}
|
20 |
licenseAction = $(this).data('action');
|
21 |
|
22 |
for( i = 0; i < allNotices.length; i++ ) {
|
23 |
+
$.wbcr_factory_clearfy_230.app.hideNotice(allNotices[i]);
|
24 |
}
|
25 |
|
26 |
$('.wcl-control-btn').hide();
|
53 |
|
54 |
if( response.data ) {
|
55 |
console.log(response.data.error_message);
|
56 |
+
noticeId = $.wbcr_factory_clearfy_230.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
|
57 |
allNotices.push(noticeId);
|
58 |
} else {
|
59 |
console.log(response);
|
63 |
}
|
64 |
|
65 |
if( response.data && response.data.message ) {
|
66 |
+
noticeId = $.wbcr_factory_clearfy_230.app.showNotice(response.data.message, 'success');
|
67 |
allNotices.push(noticeId);
|
68 |
|
69 |
// todo: доработать генерацию формы, вместо перезагрузки страницы
|
80 |
console.log(xhr.responseText);
|
81 |
console.log(thrownError);
|
82 |
|
83 |
+
var noticeId = $.wbcr_factory_clearfy_230.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
84 |
|
85 |
allNotices.push(noticeId);
|
86 |
}
|
libs/factory/clearfy/assets/js/clearfy-search-options.js
CHANGED
@@ -28,10 +28,10 @@
|
|
28 |
throw new Error('Global var {wfactory_clearfy_search_options} is not declared.');
|
29 |
}
|
30 |
|
31 |
-
$('#wbcr-factory-clearfy-
|
32 |
lookup: wfactory_clearfy_search_options,
|
33 |
onSelect: function(suggestion) {
|
34 |
-
$('#wbcr-factory-clearfy-
|
35 |
window.location.href = suggestion.data.page_url;
|
36 |
}
|
37 |
});
|
28 |
throw new Error('Global var {wfactory_clearfy_search_options} is not declared.');
|
29 |
}
|
30 |
|
31 |
+
$('#wbcr-factory-clearfy-230__autocomplete').wfactory_clearfy_autocomplete({
|
32 |
lookup: wfactory_clearfy_search_options,
|
33 |
onSelect: function(suggestion) {
|
34 |
+
$('#wbcr-factory-clearfy-230__autocomplete').prop("disabled", true);
|
35 |
window.location.href = suggestion.data.page_url;
|
36 |
}
|
37 |
});
|
libs/factory/clearfy/assets/js/clearfy-widgets.js
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($) {
|
2 |
+
$('#wbcr-factory-subscribe-widget__subscribe-form').submit(function(e) {
|
3 |
+
e.preventDefault();
|
4 |
+
var agree = $(this).find('[name=agree_terms]:checked');
|
5 |
+
if( agree.length === 0 ) {
|
6 |
+
return;
|
7 |
+
}
|
8 |
+
|
9 |
+
$.ajax({
|
10 |
+
method: "POST",
|
11 |
+
url: "https://clearfy.pro/wp-json/mailerlite/v1/subscribe/",
|
12 |
+
data: {
|
13 |
+
email: $('#wbcr-factory-subscribe-widget__email').val(),
|
14 |
+
group_id: $('#wbcr-factory-subscribe-widget__group-id').val(),
|
15 |
+
},
|
16 |
+
success: function(data) {
|
17 |
+
if( !data.message ) {
|
18 |
+
if( data.subscribed ) {
|
19 |
+
$(".wbcr-factory-subscribe-widget__text--success").show();
|
20 |
+
} else {
|
21 |
+
$(".wbcr-factory-subscribe-widget__text--success2").show();
|
22 |
+
}
|
23 |
+
} else {
|
24 |
+
console.log(data.message);
|
25 |
+
var noticeId = $.wbcr_factory_clearfy_230.app.showNotice('Error: [' + data.message + ']', 'danger');
|
26 |
+
setTimeout(function() {
|
27 |
+
$.wbcr_factory_clearfy_230.app.hideNotice(noticeId);
|
28 |
+
}, 5000);
|
29 |
+
}
|
30 |
+
},
|
31 |
+
error: function(xhr, ajaxOptions, thrownError) {
|
32 |
+
|
33 |
+
console.log(xhr.status);
|
34 |
+
console.log(xhr.responseText);
|
35 |
+
console.log(thrownError);
|
36 |
+
|
37 |
+
var noticeId = $.wbcr_factory_clearfy_230.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
38 |
+
setTimeout(function() {
|
39 |
+
$.wbcr_factory_clearfy_230.app.hideNotice(noticeId);
|
40 |
+
}, 5000);
|
41 |
+
}
|
42 |
+
});
|
43 |
+
});
|
44 |
+
});
|
libs/factory/clearfy/assets/js/globals.js
DELETED
@@ -1,203 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
|
3 |
-
* и самого Clearfy.
|
4 |
-
*
|
5 |
-
* $.wbcr_factory_clearfy_224.app - методы для работы с приложением. Скрыть, показать уведомления.
|
6 |
-
* $.wbcr_factory_clearfy_224.hooks - это иммитация хуков и фильтров аналогично тем, что используются в Wordpress
|
7 |
-
*
|
8 |
-
* Copyright 2018, Webcraftic, http://webcraftic.com
|
9 |
-
*
|
10 |
-
* @since 2.0.5
|
11 |
-
* @pacakge clearfy
|
12 |
-
*/
|
13 |
-
(function($) {
|
14 |
-
'use strict';
|
15 |
-
|
16 |
-
if( !$.wbcr_factory_clearfy_224 ) {
|
17 |
-
$.wbcr_factory_clearfy_224 = {};
|
18 |
-
}
|
19 |
-
|
20 |
-
$.wbcr_factory_clearfy_224.app = $.wbcr_factory_clearfy_224.app || {
|
21 |
-
/**
|
22 |
-
* Создает и показывает уведомление внутри интерфейса Clearfy
|
23 |
-
*
|
24 |
-
* @param {string} message - сообщение об ошибке или предупреждение
|
25 |
-
* @param {string} type - тип уведомления (error, warning, success)
|
26 |
-
*/
|
27 |
-
showNotice: function(message, type) {
|
28 |
-
var noticeContanier = $('<div></div>'),
|
29 |
-
noticeInnerWrap = $('<p></p>'),
|
30 |
-
dashicon = $('<span></span>'),
|
31 |
-
dashiconClass,
|
32 |
-
noticeId = this.makeid();
|
33 |
-
|
34 |
-
if( !type ) {
|
35 |
-
type = 'warning';
|
36 |
-
}
|
37 |
-
|
38 |
-
noticeContanier.addClass('alert', 'wbcr-factory-warning-notice')
|
39 |
-
.addClass('alert-' + type).addClass('wbcr-factory-' + type + '-notice');
|
40 |
-
|
41 |
-
noticeContanier.append(noticeInnerWrap);
|
42 |
-
noticeContanier.attr('id', 'uq-' + noticeId);
|
43 |
-
|
44 |
-
if( type == 'success' ) {
|
45 |
-
dashiconClass = 'dashicons-plus';
|
46 |
-
} else if( type == 'error' ) {
|
47 |
-
dashiconClass = 'dashicons-no';
|
48 |
-
} else {
|
49 |
-
dashiconClass = 'dashicons-warning';
|
50 |
-
}
|
51 |
-
|
52 |
-
dashicon.addClass('dashicons').addClass(dashiconClass);
|
53 |
-
noticeInnerWrap.prepend(dashicon);
|
54 |
-
dashicon.after(message);
|
55 |
-
|
56 |
-
$([document.documentElement, document.body]).animate({
|
57 |
-
scrollTop: $('.wbcr-factory-content').offset().top - 100
|
58 |
-
}, 300, function() {
|
59 |
-
noticeContanier.hide();
|
60 |
-
$('.wbcr-factory-content').prepend(noticeContanier);
|
61 |
-
noticeContanier.fadeIn();
|
62 |
-
|
63 |
-
/**
|
64 |
-
* Хук выполняет проивольную функцию, после того как уведомление отображено
|
65 |
-
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
66 |
-
* Пример регистрации хука $.wbcr_factory_clearfy_224.hooks.add('wbcr/factory_clearfy_224/updated',
|
67 |
-
* function(noticeId) {});
|
68 |
-
* @param {string} noticeId - id уведомления
|
69 |
-
*/
|
70 |
-
$.wbcr_factory_clearfy_224.hooks.run('wbcr/factory_clearfy_224/showed_notice', [noticeId]);
|
71 |
-
$.wbcr_factory_clearfy_224.hooks.run('wbcr/clearfy/showed_notice', [noticeId]);
|
72 |
-
});
|
73 |
-
|
74 |
-
return noticeId;
|
75 |
-
},
|
76 |
-
|
77 |
-
/**
|
78 |
-
* Удаляет уведомление из интерфейса Clearfy
|
79 |
-
*
|
80 |
-
* @param {string} noticeId - id уведомления
|
81 |
-
*/
|
82 |
-
hideNotice: function(noticeId) {
|
83 |
-
var el;
|
84 |
-
if( !noticeId ) {
|
85 |
-
el = $('.wbcr-factory-content').find('.alert');
|
86 |
-
} else {
|
87 |
-
el = $('#uq-' + noticeId);
|
88 |
-
}
|
89 |
-
|
90 |
-
el.fadeOut(500, function(e) {
|
91 |
-
$(e).remove();
|
92 |
-
|
93 |
-
/**
|
94 |
-
* Хук выполняет проивольную функцию, после того как уведомление скрыто
|
95 |
-
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
96 |
-
* Пример регистрации хука $.wbcr_factory_clearfy_224.hooks.add('wbcr/factory_clearfy_224/updated',
|
97 |
-
* function(noticeId)
|
98 |
-
* {});
|
99 |
-
* @param {string} noticeId - id уведомления
|
100 |
-
*/
|
101 |
-
$.wbcr_factory_clearfy_224.hooks.run('wbcr/factory_clearfy_224/hidded_notice', [noticeId]);
|
102 |
-
$.wbcr_factory_clearfy_224.hooks.run('wbcr/clearfy/hidded_notice', [noticeId]);
|
103 |
-
});
|
104 |
-
},
|
105 |
-
|
106 |
-
makeid: function() {
|
107 |
-
var text = "";
|
108 |
-
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
109 |
-
|
110 |
-
for( var i = 0; i < 32; i++ ) {
|
111 |
-
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
112 |
-
}
|
113 |
-
|
114 |
-
return text;
|
115 |
-
}
|
116 |
-
|
117 |
-
};
|
118 |
-
|
119 |
-
$.wbcr_factory_clearfy_224.filters = $.wbcr_factory_clearfy_224.filters || {
|
120 |
-
|
121 |
-
/**
|
122 |
-
* A set of registered filters.
|
123 |
-
*/
|
124 |
-
_items: {},
|
125 |
-
|
126 |
-
/**
|
127 |
-
* A set of priorities of registered filters.
|
128 |
-
*/
|
129 |
-
_priorities: {},
|
130 |
-
|
131 |
-
/**
|
132 |
-
* Applies filters to a given input value.
|
133 |
-
*/
|
134 |
-
run: function(filterName, args) {
|
135 |
-
var input = args && args.length > 0 ? args[0] : null;
|
136 |
-
if( !this._items[filterName] ) {
|
137 |
-
return input;
|
138 |
-
}
|
139 |
-
|
140 |
-
for( var i in this._priorities[filterName] ) {
|
141 |
-
if( !this._priorities[filterName].hasOwnProperty(i) ) {
|
142 |
-
continue;
|
143 |
-
}
|
144 |
-
|
145 |
-
var priority = this._priorities[filterName][i];
|
146 |
-
|
147 |
-
for( var k = 0; k < this._items[filterName][priority].length; k++ ) {
|
148 |
-
var f = this._items[filterName][priority][k];
|
149 |
-
input = f.apply(f, args);
|
150 |
-
}
|
151 |
-
}
|
152 |
-
|
153 |
-
return input;
|
154 |
-
},
|
155 |
-
|
156 |
-
/**
|
157 |
-
* Registers a new filter.
|
158 |
-
*/
|
159 |
-
add: function(filterName, callback, priority) {
|
160 |
-
|
161 |
-
if( !priority ) {
|
162 |
-
priority = 10;
|
163 |
-
}
|
164 |
-
|
165 |
-
if( !this._items[filterName] ) {
|
166 |
-
this._items[filterName] = {};
|
167 |
-
}
|
168 |
-
if( !this._items[filterName][priority] ) {
|
169 |
-
this._items[filterName][priority] = [];
|
170 |
-
}
|
171 |
-
this._items[filterName][priority].push(callback);
|
172 |
-
|
173 |
-
if( !this._priorities[filterName] ) {
|
174 |
-
this._priorities[filterName] = [];
|
175 |
-
}
|
176 |
-
if( $.inArray(priority, this._priorities[filterName]) === -1 ) {
|
177 |
-
this._priorities[filterName].push(priority);
|
178 |
-
}
|
179 |
-
|
180 |
-
this._priorities[filterName].sort(function(a, b) {
|
181 |
-
return a - b;
|
182 |
-
});
|
183 |
-
}
|
184 |
-
};
|
185 |
-
|
186 |
-
$.wbcr_factory_clearfy_224.hooks = $.wbcr_factory_clearfy_224.hooks || {
|
187 |
-
|
188 |
-
/**
|
189 |
-
* Applies filters to a given input value.
|
190 |
-
*/
|
191 |
-
run: function(filterName, args) {
|
192 |
-
$.wbcr_factory_clearfy_224.filters.run(filterName, args);
|
193 |
-
},
|
194 |
-
|
195 |
-
/**
|
196 |
-
* Registers a new filter.
|
197 |
-
*/
|
198 |
-
add: function(filterName, callback, priority) {
|
199 |
-
$.wbcr_factory_clearfy_224.filters.add(filterName, callback, priority);
|
200 |
-
}
|
201 |
-
};
|
202 |
-
|
203 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/clearfy/assets/js/libs/jquery.autocomplete.min.js
CHANGED
@@ -5,4 +5,4 @@
|
|
5 |
* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license.
|
6 |
* For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete
|
7 |
*/
|
8 |
-
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports&&"function"==typeof require?require("jquery"):jQuery)}(function(a){"use strict";function b(c,d){var e=this;e.element=c,e.el=a(c),e.suggestions=[],e.badQueries=[],e.selectedIndex=-1,e.currentValue=e.element.value,e.timeoutId=null,e.cachedResponse={},e.onChangeTimeout=null,e.onChange=null,e.isLocal=!1,e.suggestionsContainer=null,e.noSuggestionsContainer=null,e.options=a.extend(!0,{},b.defaults,d),e.classes={selected:"wbcr-factory-clearfy-227__autocomplete-selected",suggestion:"wbcr-factory-clearfy-227__autocomplete-suggestion"},e.hint=null,e.hintValue="",e.selection=null,e.initialize(),e.setOptions(d)}function c(a,b,c){return a.value.toLowerCase().indexOf(c)!==-1}function d(b){return"string"==typeof b?a.parseJSON(b):b}function e(a,b){if(!b)return a.value;var c="("+g.escapeRegExChars(b)+")";return a.value.replace(new RegExp(c,"gi"),"<strong>$1</strong>").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/<(\/?strong)>/g,"<$1>")}function f(a,b){return'<div class="wbcr-factory-clearfy-227__autocomplete-group">'+b+"</div>"}var g=function(){return{escapeRegExChars:function(a){return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},createNode:function(a){var b=document.createElement("div");return b.className=a,b.style.position="absolute",b.style.display="none",b}}}(),h={ESC:27,TAB:9,RETURN:13,LEFT:37,UP:38,RIGHT:39,DOWN:40},i=a.noop;b.utils=g,a.Autocomplete=b,b.defaults={ajaxSettings:{},autoSelectFirst:!1,appendTo:"body",serviceUrl:null,lookup:null,onSelect:null,width:"auto",minChars:1,maxHeight:300,deferRequestBy:0,params:{},formatResult:e,formatGroup:f,delimiter:null,zIndex:9999,type:"GET",noCache:!1,onSearchStart:i,onSearchComplete:i,onSearchError:i,preserveInput:!1,containerClass:"wbcr-factory-clearfy-227__autocomplete-suggestions",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,preventBadQueries:!0,lookupFilter:c,paramName:"query",transformResult:d,showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1},b.prototype={initialize:function(){var c,d=this,e="."+d.classes.suggestion,f=d.classes.selected,g=d.options;d.element.setAttribute("autocomplete","off"),d.noSuggestionsContainer=a('<div class="autocomplete-no-suggestion"></div>').html(this.options.noSuggestionNotice).get(0),d.suggestionsContainer=b.utils.createNode(g.containerClass),c=a(d.suggestionsContainer),c.appendTo(g.appendTo||"body"),"auto"!==g.width&&c.css("width",g.width),c.on("mouseover.autocomplete",e,function(){d.activate(a(this).data("index"))}),c.on("mouseout.autocomplete",function(){d.selectedIndex=-1,c.children("."+f).removeClass(f)}),c.on("click.autocomplete",e,function(){d.select(a(this).data("index"))}),c.on("click.autocomplete",function(){clearTimeout(d.blurTimeoutId)}),d.fixPositionCapture=function(){d.visible&&d.fixPosition()},a(window).on("resize.autocomplete",d.fixPositionCapture),d.el.on("keydown.autocomplete",function(a){d.onKeyPress(a)}),d.el.on("keyup.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("blur.autocomplete",function(){d.onBlur()}),d.el.on("focus.autocomplete",function(){d.onFocus()}),d.el.on("change.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("input.autocomplete",function(a){d.onKeyUp(a)})},onFocus:function(){var a=this;a.disabled||(a.fixPosition(),a.el.val().length>=a.options.minChars&&a.onValueChange())},onBlur:function(){var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);b.blurTimeoutId=setTimeout(function(){b.hide(),b.selection&&b.currentValue!==e&&(c.onInvalidateSelection||a.noop).call(b.element)},200)},abortAjax:function(){var a=this;a.currentRequest&&(a.currentRequest.abort(),a.currentRequest=null)},setOptions:function(b){var c=this,d=a.extend({},c.options,b);c.isLocal=Array.isArray(d.lookup),c.isLocal&&(d.lookup=c.verifySuggestionsFormat(d.lookup)),d.orientation=c.validateOrientation(d.orientation,"bottom"),a(c.suggestionsContainer).css({"max-height":d.maxHeight+"px",width:d.width+"px","z-index":d.zIndex}),this.options=d},clearCache:function(){this.cachedResponse={},this.badQueries=[]},clear:function(){this.clearCache(),this.currentValue="",this.suggestions=[]},disable:function(){var a=this;a.disabled=!0,clearTimeout(a.onChangeTimeout),a.abortAjax()},enable:function(){this.disabled=!1},fixPosition:function(){var b=this,c=a(b.suggestionsContainer),d=c.parent().get(0);if(d===document.body||b.options.forceFixPosition){var e=b.options.orientation,f=c.outerHeight(),g=b.el.outerHeight(),h=b.el.offset(),i={top:h.top,left:h.left};if("auto"===e){var j=a(window).height(),k=a(window).scrollTop(),l=-k+h.top-f,m=k+j-(h.top+g+f);e=Math.max(l,m)===l?"top":"bottom"}if("top"===e?i.top+=-f:i.top+=g,d!==document.body){var n,o=c.css("opacity");b.visible||c.css("opacity",0).show(),n=c.offsetParent().offset(),i.top-=n.top,i.top+=d.scrollTop,i.left-=n.left,b.visible||c.css("opacity",o).hide()}"auto"===b.options.width&&(i.width=b.el.outerWidth()+"px"),c.css(i)}},isCursorAtEnd:function(){var a,b=this,c=b.el.val().length,d=b.element.selectionStart;return"number"==typeof d?d===c:!document.selection||(a=document.selection.createRange(),a.moveStart("character",-c),c===a.text.length)},onKeyPress:function(a){var b=this;if(!b.disabled&&!b.visible&&a.which===h.DOWN&&b.currentValue)return void b.suggest();if(!b.disabled&&b.visible){switch(a.which){case h.ESC:b.el.val(b.currentValue),b.hide();break;case h.RIGHT:if(b.hint&&b.options.onHint&&b.isCursorAtEnd()){b.selectHint();break}return;case h.TAB:if(b.hint&&b.options.onHint)return void b.selectHint();if(b.selectedIndex===-1)return void b.hide();if(b.select(b.selectedIndex),b.options.tabDisabled===!1)return;break;case h.RETURN:if(b.selectedIndex===-1)return void b.hide();b.select(b.selectedIndex);break;case h.UP:b.moveUp();break;case h.DOWN:b.moveDown();break;default:return}a.stopImmediatePropagation(),a.preventDefault()}},onKeyUp:function(a){var b=this;if(!b.disabled){switch(a.which){case h.UP:case h.DOWN:return}clearTimeout(b.onChangeTimeout),b.currentValue!==b.el.val()&&(b.findBestHint(),b.options.deferRequestBy>0?b.onChangeTimeout=setTimeout(function(){b.onValueChange()},b.options.deferRequestBy):b.onValueChange())}},onValueChange:function(){if(this.ignoreValueChange)return void(this.ignoreValueChange=!1);var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);return b.selection&&b.currentValue!==e&&(b.selection=null,(c.onInvalidateSelection||a.noop).call(b.element)),clearTimeout(b.onChangeTimeout),b.currentValue=d,b.selectedIndex=-1,c.triggerSelectOnValidInput&&b.isExactMatch(e)?void b.select(0):void(e.length<c.minChars?b.hide():b.getSuggestions(e))},isExactMatch:function(a){var b=this.suggestions;return 1===b.length&&b[0].value.toLowerCase()===a.toLowerCase()},getQuery:function(b){var c,d=this.options.delimiter;return d?(c=b.split(d),a.trim(c[c.length-1])):b},getSuggestionsLocal:function(b){var c,d=this,e=d.options,f=b.toLowerCase(),g=e.lookupFilter,h=parseInt(e.lookupLimit,10);return c={suggestions:a.grep(e.lookup,function(a){return g(a,b,f)})},h&&c.suggestions.length>h&&(c.suggestions=c.suggestions.slice(0,h)),c},getSuggestions:function(b){var c,d,e,f,g=this,h=g.options,i=h.serviceUrl;if(h.params[h.paramName]=b,h.onSearchStart.call(g.element,h.params)!==!1){if(d=h.ignoreParams?null:h.params,a.isFunction(h.lookup))return void h.lookup(b,function(a){g.suggestions=a.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,a.suggestions)});g.isLocal?c=g.getSuggestionsLocal(b):(a.isFunction(i)&&(i=i.call(g.element,b)),e=i+"?"+a.param(d||{}),c=g.cachedResponse[e]),c&&Array.isArray(c.suggestions)?(g.suggestions=c.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,c.suggestions)):g.isBadQuery(b)?h.onSearchComplete.call(g.element,b,[]):(g.abortAjax(),f={url:i,data:d,type:h.type,dataType:h.dataType},a.extend(f,h.ajaxSettings),g.currentRequest=a.ajax(f).done(function(a){var c;g.currentRequest=null,c=h.transformResult(a,b),g.processResponse(c,b,e),h.onSearchComplete.call(g.element,b,c.suggestions)}).fail(function(a,c,d){h.onSearchError.call(g.element,b,a,c,d)}))}},isBadQuery:function(a){if(!this.options.preventBadQueries)return!1;for(var b=this.badQueries,c=b.length;c--;)if(0===a.indexOf(b[c]))return!0;return!1},hide:function(){var b=this,c=a(b.suggestionsContainer);a.isFunction(b.options.onHide)&&b.visible&&b.options.onHide.call(b.element,c),b.visible=!1,b.selectedIndex=-1,clearTimeout(b.onChangeTimeout),a(b.suggestionsContainer).hide(),b.signalHint(null)},suggest:function(){if(!this.suggestions.length)return void(this.options.showNoSuggestionNotice?this.noSuggestions():this.hide());var b,c=this,d=c.options,e=d.groupBy,f=d.formatResult,g=c.getQuery(c.currentValue),h=c.classes.suggestion,i=c.classes.selected,j=a(c.suggestionsContainer),k=a(c.noSuggestionsContainer),l=d.beforeRender,m="",n=function(a,c){var f=a.data[e];return b===f?"":(b=f,d.formatGroup(a,b))};return d.triggerSelectOnValidInput&&c.isExactMatch(g)?void c.select(0):(a.each(c.suggestions,function(a,b){e&&(m+=n(b,g,a)),m+='<div class="'+h+'" data-index="'+a+'">'+f(b,g,a)+"</div>"}),this.adjustContainerWidth(),k.detach(),j.html(m),a.isFunction(l)&&l.call(c.element,j,c.suggestions),c.fixPosition(),j.show(),d.autoSelectFirst&&(c.selectedIndex=0,j.scrollTop(0),j.children("."+h).first().addClass(i)),c.visible=!0,void c.findBestHint())},noSuggestions:function(){var b=this,c=b.options.beforeRender,d=a(b.suggestionsContainer),e=a(b.noSuggestionsContainer);this.adjustContainerWidth(),e.detach(),d.empty(),d.append(e),a.isFunction(c)&&c.call(b.element,d,b.suggestions),b.fixPosition(),d.show(),b.visible=!0},adjustContainerWidth:function(){var b,c=this,d=c.options,e=a(c.suggestionsContainer);"auto"===d.width?(b=c.el.outerWidth(),e.css("width",b>0?b:300)):"flex"===d.width&&e.css("width","")},findBestHint:function(){var b=this,c=b.el.val().toLowerCase(),d=null;c&&(a.each(b.suggestions,function(a,b){var e=0===b.value.toLowerCase().indexOf(c);return e&&(d=b),!e}),b.signalHint(d))},signalHint:function(b){var c="",d=this;b&&(c=d.currentValue+b.value.substr(d.currentValue.length)),d.hintValue!==c&&(d.hintValue=c,d.hint=b,(this.options.onHint||a.noop)(c))},verifySuggestionsFormat:function(b){return b.length&&"string"==typeof b[0]?a.map(b,function(a){return{value:a,data:null}}):b},validateOrientation:function(b,c){return b=a.trim(b||"").toLowerCase(),a.inArray(b,["auto","bottom","top"])===-1&&(b=c),b},processResponse:function(a,b,c){var d=this,e=d.options;a.suggestions=d.verifySuggestionsFormat(a.suggestions),e.noCache||(d.cachedResponse[c]=a,e.preventBadQueries&&!a.suggestions.length&&d.badQueries.push(b)),b===d.getQuery(d.currentValue)&&(d.suggestions=a.suggestions,d.suggest())},activate:function(b){var c,d=this,e=d.classes.selected,f=a(d.suggestionsContainer),g=f.find("."+d.classes.suggestion);return f.find("."+e).removeClass(e),d.selectedIndex=b,d.selectedIndex!==-1&&g.length>d.selectedIndex?(c=g.get(d.selectedIndex),a(c).addClass(e),c):null},selectHint:function(){var b=this,c=a.inArray(b.hint,b.suggestions);b.select(c)},select:function(a){var b=this;b.hide(),b.onSelect(a)},moveUp:function(){var b=this;if(b.selectedIndex!==-1)return 0===b.selectedIndex?(a(b.suggestionsContainer).children("."+b.classes.suggestion).first().removeClass(b.classes.selected),b.selectedIndex=-1,b.ignoreValueChange=!1,b.el.val(b.currentValue),void b.findBestHint()):void b.adjustScroll(b.selectedIndex-1)},moveDown:function(){var a=this;a.selectedIndex!==a.suggestions.length-1&&a.adjustScroll(a.selectedIndex+1)},adjustScroll:function(b){var c=this,d=c.activate(b);if(d){var e,f,g,h=a(d).outerHeight();e=d.offsetTop,f=a(c.suggestionsContainer).scrollTop(),g=f+c.options.maxHeight-h,e<f?a(c.suggestionsContainer).scrollTop(e):e>g&&a(c.suggestionsContainer).scrollTop(e-c.options.maxHeight+h),c.options.preserveInput||(c.ignoreValueChange=!0,c.el.val(c.getValue(c.suggestions[b].value))),c.signalHint(null)}},onSelect:function(b){var c=this,d=c.options.onSelect,e=c.suggestions[b];c.currentValue=c.getValue(e.value),c.currentValue===c.el.val()||c.options.preserveInput||c.el.val(c.currentValue),c.signalHint(null),c.suggestions=[],c.selection=e,a.isFunction(d)&&d.call(c.element,e)},getValue:function(a){var b,c,d=this,e=d.options.delimiter;return e?(b=d.currentValue,c=b.split(e),1===c.length?a:b.substr(0,b.length-c[c.length-1].length)+a):a},dispose:function(){var b=this;b.el.off(".autocomplete").removeData("autocomplete"),a(window).off("resize.autocomplete",b.fixPositionCapture),a(b.suggestionsContainer).remove()}},a.fn.devbridgeAutocomplete=function(c,d){var e="autocomplete";return arguments.length?this.each(function(){var f=a(this),g=f.data(e);"string"==typeof c?g&&"function"==typeof g[c]&&g[c](d):(g&&g.dispose&&g.dispose(),g=new b(this,c),f.data(e,g))}):this.first().data(e)},a.fn.wfactory_clearfy_autocomplete||(a.fn.wfactory_clearfy_autocomplete=a.fn.devbridgeAutocomplete)});
|
5 |
* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license.
|
6 |
* For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete
|
7 |
*/
|
8 |
+
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports&&"function"==typeof require?require("jquery"):jQuery)}(function(a){"use strict";function b(c,d){var e=this;e.element=c,e.el=a(c),e.suggestions=[],e.badQueries=[],e.selectedIndex=-1,e.currentValue=e.element.value,e.timeoutId=null,e.cachedResponse={},e.onChangeTimeout=null,e.onChange=null,e.isLocal=!1,e.suggestionsContainer=null,e.noSuggestionsContainer=null,e.options=a.extend(!0,{},b.defaults,d),e.classes={selected:"wbcr-factory-clearfy-230__autocomplete-selected",suggestion:"wbcr-factory-clearfy-230__autocomplete-suggestion"},e.hint=null,e.hintValue="",e.selection=null,e.initialize(),e.setOptions(d)}function c(a,b,c){return a.value.toLowerCase().indexOf(c)!==-1}function d(b){return"string"==typeof b?a.parseJSON(b):b}function e(a,b){if(!b)return a.value;var c="("+g.escapeRegExChars(b)+")";return a.value.replace(new RegExp(c,"gi"),"<strong>$1</strong>").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/<(\/?strong)>/g,"<$1>")}function f(a,b){return'<div class="wbcr-factory-clearfy-230__autocomplete-group">'+b+"</div>"}var g=function(){return{escapeRegExChars:function(a){return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},createNode:function(a){var b=document.createElement("div");return b.className=a,b.style.position="absolute",b.style.display="none",b}}}(),h={ESC:27,TAB:9,RETURN:13,LEFT:37,UP:38,RIGHT:39,DOWN:40},i=a.noop;b.utils=g,a.Autocomplete=b,b.defaults={ajaxSettings:{},autoSelectFirst:!1,appendTo:"body",serviceUrl:null,lookup:null,onSelect:null,width:"auto",minChars:1,maxHeight:300,deferRequestBy:0,params:{},formatResult:e,formatGroup:f,delimiter:null,zIndex:9999,type:"GET",noCache:!1,onSearchStart:i,onSearchComplete:i,onSearchError:i,preserveInput:!1,containerClass:"wbcr-factory-clearfy-230__autocomplete-suggestions",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,preventBadQueries:!0,lookupFilter:c,paramName:"query",transformResult:d,showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1},b.prototype={initialize:function(){var c,d=this,e="."+d.classes.suggestion,f=d.classes.selected,g=d.options;d.element.setAttribute("autocomplete","off"),d.noSuggestionsContainer=a('<div class="autocomplete-no-suggestion"></div>').html(this.options.noSuggestionNotice).get(0),d.suggestionsContainer=b.utils.createNode(g.containerClass),c=a(d.suggestionsContainer),c.appendTo(g.appendTo||"body"),"auto"!==g.width&&c.css("width",g.width),c.on("mouseover.autocomplete",e,function(){d.activate(a(this).data("index"))}),c.on("mouseout.autocomplete",function(){d.selectedIndex=-1,c.children("."+f).removeClass(f)}),c.on("click.autocomplete",e,function(){d.select(a(this).data("index"))}),c.on("click.autocomplete",function(){clearTimeout(d.blurTimeoutId)}),d.fixPositionCapture=function(){d.visible&&d.fixPosition()},a(window).on("resize.autocomplete",d.fixPositionCapture),d.el.on("keydown.autocomplete",function(a){d.onKeyPress(a)}),d.el.on("keyup.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("blur.autocomplete",function(){d.onBlur()}),d.el.on("focus.autocomplete",function(){d.onFocus()}),d.el.on("change.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("input.autocomplete",function(a){d.onKeyUp(a)})},onFocus:function(){var a=this;a.disabled||(a.fixPosition(),a.el.val().length>=a.options.minChars&&a.onValueChange())},onBlur:function(){var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);b.blurTimeoutId=setTimeout(function(){b.hide(),b.selection&&b.currentValue!==e&&(c.onInvalidateSelection||a.noop).call(b.element)},200)},abortAjax:function(){var a=this;a.currentRequest&&(a.currentRequest.abort(),a.currentRequest=null)},setOptions:function(b){var c=this,d=a.extend({},c.options,b);c.isLocal=Array.isArray(d.lookup),c.isLocal&&(d.lookup=c.verifySuggestionsFormat(d.lookup)),d.orientation=c.validateOrientation(d.orientation,"bottom"),a(c.suggestionsContainer).css({"max-height":d.maxHeight+"px",width:d.width+"px","z-index":d.zIndex}),this.options=d},clearCache:function(){this.cachedResponse={},this.badQueries=[]},clear:function(){this.clearCache(),this.currentValue="",this.suggestions=[]},disable:function(){var a=this;a.disabled=!0,clearTimeout(a.onChangeTimeout),a.abortAjax()},enable:function(){this.disabled=!1},fixPosition:function(){var b=this,c=a(b.suggestionsContainer),d=c.parent().get(0);if(d===document.body||b.options.forceFixPosition){var e=b.options.orientation,f=c.outerHeight(),g=b.el.outerHeight(),h=b.el.offset(),i={top:h.top,left:h.left};if("auto"===e){var j=a(window).height(),k=a(window).scrollTop(),l=-k+h.top-f,m=k+j-(h.top+g+f);e=Math.max(l,m)===l?"top":"bottom"}if("top"===e?i.top+=-f:i.top+=g,d!==document.body){var n,o=c.css("opacity");b.visible||c.css("opacity",0).show(),n=c.offsetParent().offset(),i.top-=n.top,i.top+=d.scrollTop,i.left-=n.left,b.visible||c.css("opacity",o).hide()}"auto"===b.options.width&&(i.width=b.el.outerWidth()+"px"),c.css(i)}},isCursorAtEnd:function(){var a,b=this,c=b.el.val().length,d=b.element.selectionStart;return"number"==typeof d?d===c:!document.selection||(a=document.selection.createRange(),a.moveStart("character",-c),c===a.text.length)},onKeyPress:function(a){var b=this;if(!b.disabled&&!b.visible&&a.which===h.DOWN&&b.currentValue)return void b.suggest();if(!b.disabled&&b.visible){switch(a.which){case h.ESC:b.el.val(b.currentValue),b.hide();break;case h.RIGHT:if(b.hint&&b.options.onHint&&b.isCursorAtEnd()){b.selectHint();break}return;case h.TAB:if(b.hint&&b.options.onHint)return void b.selectHint();if(b.selectedIndex===-1)return void b.hide();if(b.select(b.selectedIndex),b.options.tabDisabled===!1)return;break;case h.RETURN:if(b.selectedIndex===-1)return void b.hide();b.select(b.selectedIndex);break;case h.UP:b.moveUp();break;case h.DOWN:b.moveDown();break;default:return}a.stopImmediatePropagation(),a.preventDefault()}},onKeyUp:function(a){var b=this;if(!b.disabled){switch(a.which){case h.UP:case h.DOWN:return}clearTimeout(b.onChangeTimeout),b.currentValue!==b.el.val()&&(b.findBestHint(),b.options.deferRequestBy>0?b.onChangeTimeout=setTimeout(function(){b.onValueChange()},b.options.deferRequestBy):b.onValueChange())}},onValueChange:function(){if(this.ignoreValueChange)return void(this.ignoreValueChange=!1);var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);return b.selection&&b.currentValue!==e&&(b.selection=null,(c.onInvalidateSelection||a.noop).call(b.element)),clearTimeout(b.onChangeTimeout),b.currentValue=d,b.selectedIndex=-1,c.triggerSelectOnValidInput&&b.isExactMatch(e)?void b.select(0):void(e.length<c.minChars?b.hide():b.getSuggestions(e))},isExactMatch:function(a){var b=this.suggestions;return 1===b.length&&b[0].value.toLowerCase()===a.toLowerCase()},getQuery:function(b){var c,d=this.options.delimiter;return d?(c=b.split(d),a.trim(c[c.length-1])):b},getSuggestionsLocal:function(b){var c,d=this,e=d.options,f=b.toLowerCase(),g=e.lookupFilter,h=parseInt(e.lookupLimit,10);return c={suggestions:a.grep(e.lookup,function(a){return g(a,b,f)})},h&&c.suggestions.length>h&&(c.suggestions=c.suggestions.slice(0,h)),c},getSuggestions:function(b){var c,d,e,f,g=this,h=g.options,i=h.serviceUrl;if(h.params[h.paramName]=b,h.onSearchStart.call(g.element,h.params)!==!1){if(d=h.ignoreParams?null:h.params,a.isFunction(h.lookup))return void h.lookup(b,function(a){g.suggestions=a.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,a.suggestions)});g.isLocal?c=g.getSuggestionsLocal(b):(a.isFunction(i)&&(i=i.call(g.element,b)),e=i+"?"+a.param(d||{}),c=g.cachedResponse[e]),c&&Array.isArray(c.suggestions)?(g.suggestions=c.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,c.suggestions)):g.isBadQuery(b)?h.onSearchComplete.call(g.element,b,[]):(g.abortAjax(),f={url:i,data:d,type:h.type,dataType:h.dataType},a.extend(f,h.ajaxSettings),g.currentRequest=a.ajax(f).done(function(a){var c;g.currentRequest=null,c=h.transformResult(a,b),g.processResponse(c,b,e),h.onSearchComplete.call(g.element,b,c.suggestions)}).fail(function(a,c,d){h.onSearchError.call(g.element,b,a,c,d)}))}},isBadQuery:function(a){if(!this.options.preventBadQueries)return!1;for(var b=this.badQueries,c=b.length;c--;)if(0===a.indexOf(b[c]))return!0;return!1},hide:function(){var b=this,c=a(b.suggestionsContainer);a.isFunction(b.options.onHide)&&b.visible&&b.options.onHide.call(b.element,c),b.visible=!1,b.selectedIndex=-1,clearTimeout(b.onChangeTimeout),a(b.suggestionsContainer).hide(),b.signalHint(null)},suggest:function(){if(!this.suggestions.length)return void(this.options.showNoSuggestionNotice?this.noSuggestions():this.hide());var b,c=this,d=c.options,e=d.groupBy,f=d.formatResult,g=c.getQuery(c.currentValue),h=c.classes.suggestion,i=c.classes.selected,j=a(c.suggestionsContainer),k=a(c.noSuggestionsContainer),l=d.beforeRender,m="",n=function(a,c){var f=a.data[e];return b===f?"":(b=f,d.formatGroup(a,b))};return d.triggerSelectOnValidInput&&c.isExactMatch(g)?void c.select(0):(a.each(c.suggestions,function(a,b){e&&(m+=n(b,g,a)),m+='<div class="'+h+'" data-index="'+a+'">'+f(b,g,a)+"</div>"}),this.adjustContainerWidth(),k.detach(),j.html(m),a.isFunction(l)&&l.call(c.element,j,c.suggestions),c.fixPosition(),j.show(),d.autoSelectFirst&&(c.selectedIndex=0,j.scrollTop(0),j.children("."+h).first().addClass(i)),c.visible=!0,void c.findBestHint())},noSuggestions:function(){var b=this,c=b.options.beforeRender,d=a(b.suggestionsContainer),e=a(b.noSuggestionsContainer);this.adjustContainerWidth(),e.detach(),d.empty(),d.append(e),a.isFunction(c)&&c.call(b.element,d,b.suggestions),b.fixPosition(),d.show(),b.visible=!0},adjustContainerWidth:function(){var b,c=this,d=c.options,e=a(c.suggestionsContainer);"auto"===d.width?(b=c.el.outerWidth(),e.css("width",b>0?b:300)):"flex"===d.width&&e.css("width","")},findBestHint:function(){var b=this,c=b.el.val().toLowerCase(),d=null;c&&(a.each(b.suggestions,function(a,b){var e=0===b.value.toLowerCase().indexOf(c);return e&&(d=b),!e}),b.signalHint(d))},signalHint:function(b){var c="",d=this;b&&(c=d.currentValue+b.value.substr(d.currentValue.length)),d.hintValue!==c&&(d.hintValue=c,d.hint=b,(this.options.onHint||a.noop)(c))},verifySuggestionsFormat:function(b){return b.length&&"string"==typeof b[0]?a.map(b,function(a){return{value:a,data:null}}):b},validateOrientation:function(b,c){return b=a.trim(b||"").toLowerCase(),a.inArray(b,["auto","bottom","top"])===-1&&(b=c),b},processResponse:function(a,b,c){var d=this,e=d.options;a.suggestions=d.verifySuggestionsFormat(a.suggestions),e.noCache||(d.cachedResponse[c]=a,e.preventBadQueries&&!a.suggestions.length&&d.badQueries.push(b)),b===d.getQuery(d.currentValue)&&(d.suggestions=a.suggestions,d.suggest())},activate:function(b){var c,d=this,e=d.classes.selected,f=a(d.suggestionsContainer),g=f.find("."+d.classes.suggestion);return f.find("."+e).removeClass(e),d.selectedIndex=b,d.selectedIndex!==-1&&g.length>d.selectedIndex?(c=g.get(d.selectedIndex),a(c).addClass(e),c):null},selectHint:function(){var b=this,c=a.inArray(b.hint,b.suggestions);b.select(c)},select:function(a){var b=this;b.hide(),b.onSelect(a)},moveUp:function(){var b=this;if(b.selectedIndex!==-1)return 0===b.selectedIndex?(a(b.suggestionsContainer).children("."+b.classes.suggestion).first().removeClass(b.classes.selected),b.selectedIndex=-1,b.ignoreValueChange=!1,b.el.val(b.currentValue),void b.findBestHint()):void b.adjustScroll(b.selectedIndex-1)},moveDown:function(){var a=this;a.selectedIndex!==a.suggestions.length-1&&a.adjustScroll(a.selectedIndex+1)},adjustScroll:function(b){var c=this,d=c.activate(b);if(d){var e,f,g,h=a(d).outerHeight();e=d.offsetTop,f=a(c.suggestionsContainer).scrollTop(),g=f+c.options.maxHeight-h,e<f?a(c.suggestionsContainer).scrollTop(e):e>g&&a(c.suggestionsContainer).scrollTop(e-c.options.maxHeight+h),c.options.preserveInput||(c.ignoreValueChange=!0,c.el.val(c.getValue(c.suggestions[b].value))),c.signalHint(null)}},onSelect:function(b){var c=this,d=c.options.onSelect,e=c.suggestions[b];c.currentValue=c.getValue(e.value),c.currentValue===c.el.val()||c.options.preserveInput||c.el.val(c.currentValue),c.signalHint(null),c.suggestions=[],c.selection=e,a.isFunction(d)&&d.call(c.element,e)},getValue:function(a){var b,c,d=this,e=d.options.delimiter;return e?(b=d.currentValue,c=b.split(e),1===c.length?a:b.substr(0,b.length-c[c.length-1].length)+a):a},dispose:function(){var b=this;b.el.off(".autocomplete").removeData("autocomplete"),a(window).off("resize.autocomplete",b.fixPositionCapture),a(b.suggestionsContainer).remove()}},a.fn.devbridgeAutocomplete=function(c,d){var e="autocomplete";return arguments.length?this.each(function(){var f=a(this),g=f.data(e);"string"==typeof c?g&&"function"==typeof g[c]&&g[c](d):(g&&g.dispose&&g.dispose(),g=new b(this,c),f.data(e,g))}):this.first().data(e)},a.fn.wfactory_clearfy_autocomplete||(a.fn.wfactory_clearfy_autocomplete=a.fn.devbridgeAutocomplete)});
|
libs/factory/clearfy/assets/js/license-manager.js
DELETED
@@ -1,92 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Этот файл содержит скрипт исполняелся во время процедур с формой лицензирования.
|
3 |
-
* Его основная роль отправка ajax запросов на проверку, активацию, деактивацию лицензии
|
4 |
-
* и вывод уведомлений об ошибка или успешно выполнении проверок.
|
5 |
-
*
|
6 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
-
* @copyright (c) 05.10.2018, Webcraftic
|
8 |
-
* @version 1.1
|
9 |
-
* @since 1.4.0
|
10 |
-
*/
|
11 |
-
jQuery(function($) {
|
12 |
-
|
13 |
-
var allNotices = [];
|
14 |
-
|
15 |
-
$(document).on('click', '.wcl-control-btn', function() {
|
16 |
-
var wrapper = $('#wcl-license-wrapper'),
|
17 |
-
loader = wrapper.data('loader'),
|
18 |
-
pluginName = wrapper.data('plugin-name'),
|
19 |
-
wpnonce = wrapper.data('nonce'),
|
20 |
-
licenseAction = $(this).data('action');
|
21 |
-
|
22 |
-
for( i = 0; i < allNotices.length; i++ ) {
|
23 |
-
$.wbcr_factory_clearfy_224.app.hideNotice(allNotices[i]);
|
24 |
-
}
|
25 |
-
|
26 |
-
$('.wcl-control-btn').hide();
|
27 |
-
|
28 |
-
$(this).after('<img class="wcl-loader" src="' + loader + '">');
|
29 |
-
|
30 |
-
var data = {
|
31 |
-
action: 'wbcr-clearfy-activate-license-for-' + pluginName,
|
32 |
-
_wpnonce: wpnonce,
|
33 |
-
plugin_name: pluginName,
|
34 |
-
license_action: licenseAction,
|
35 |
-
licensekey: ''
|
36 |
-
};
|
37 |
-
|
38 |
-
if( $(this).data('action').trim() === 'activate' ) {
|
39 |
-
data.licensekey = $('#license-key').val().trim();
|
40 |
-
}
|
41 |
-
|
42 |
-
$.ajax(ajaxurl, {
|
43 |
-
type: 'post',
|
44 |
-
dataType: 'json',
|
45 |
-
data: data,
|
46 |
-
success: function(response) {
|
47 |
-
var noticeId;
|
48 |
-
|
49 |
-
if( !response || !response.success ) {
|
50 |
-
|
51 |
-
$('.wcl-control-btn').show();
|
52 |
-
$('.wcl-loader').remove();
|
53 |
-
|
54 |
-
if( response.data ) {
|
55 |
-
console.log(response.data.error_message);
|
56 |
-
noticeId = $.wbcr_factory_clearfy_224.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
|
57 |
-
allNotices.push(noticeId);
|
58 |
-
} else {
|
59 |
-
console.log(response);
|
60 |
-
}
|
61 |
-
|
62 |
-
return;
|
63 |
-
}
|
64 |
-
|
65 |
-
if( response.data && response.data.message ) {
|
66 |
-
noticeId = $.wbcr_factory_clearfy_224.app.showNotice(response.data.message, 'success');
|
67 |
-
allNotices.push(noticeId);
|
68 |
-
|
69 |
-
// todo: доработать генерацию формы, вместо перезагрузки страницы
|
70 |
-
window.location.reload();
|
71 |
-
}
|
72 |
-
|
73 |
-
},
|
74 |
-
error: function(xhr, ajaxOptions, thrownError) {
|
75 |
-
|
76 |
-
$('.wcl-control-btn').show();
|
77 |
-
$('.wcl-loader').remove();
|
78 |
-
|
79 |
-
console.log(xhr.status);
|
80 |
-
console.log(xhr.responseText);
|
81 |
-
console.log(thrownError);
|
82 |
-
|
83 |
-
var noticeId = $.wbcr_factory_clearfy_224.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
84 |
-
|
85 |
-
allNotices.push(noticeId);
|
86 |
-
}
|
87 |
-
});
|
88 |
-
|
89 |
-
return false;
|
90 |
-
});
|
91 |
-
|
92 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/clearfy/assets/js/search-options.js
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
(function($) {
|
2 |
-
'use strict';
|
3 |
-
|
4 |
-
$(document).ready(function() {
|
5 |
-
if( '' !== window.location.hash && window.location.hash.indexOf('factory-control-') ) {
|
6 |
-
let controlClass = window.location.hash.replace('#', ''),
|
7 |
-
controlEl = $('.' + controlClass);
|
8 |
-
|
9 |
-
if( controlEl.closest('.factory-div').length && !controlEl.is(':visible') ) {
|
10 |
-
controlEl.closest('.factory-div').fadeIn();
|
11 |
-
}
|
12 |
-
|
13 |
-
$([document.documentElement, document.body]).animate({
|
14 |
-
scrollTop: controlEl.offset().top - 150
|
15 |
-
}, 500, function() {
|
16 |
-
|
17 |
-
controlEl.find('.control-label').css({
|
18 |
-
color: '#ff5722',
|
19 |
-
fontWeight: 'bold'
|
20 |
-
});
|
21 |
-
|
22 |
-
history.pushState("", document.title, window.location.pathname
|
23 |
-
+ window.location.search);
|
24 |
-
});
|
25 |
-
}
|
26 |
-
|
27 |
-
if( undefined === window.wfactory_clearfy_search_options ) {
|
28 |
-
throw new Error('Global var {wfactory_clearfy_search_options} is not declared.');
|
29 |
-
}
|
30 |
-
|
31 |
-
$('#wbcr-factory-clearfy-224__autocomplete').wfactory_clearfy_autocomplete({
|
32 |
-
lookup: wfactory_clearfy_search_options,
|
33 |
-
onSelect: function(suggestion) {
|
34 |
-
$('#wbcr-factory-clearfy-224__autocomplete').prop("disabled", true);
|
35 |
-
window.location.href = suggestion.data.page_url;
|
36 |
-
}
|
37 |
-
});
|
38 |
-
});
|
39 |
-
|
40 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/clearfy/boot.php
CHANGED
@@ -14,22 +14,22 @@ if( !defined('ABSPATH') ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( defined('
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
define('
|
22 |
|
23 |
-
define('
|
24 |
|
25 |
-
define('
|
26 |
-
define('
|
27 |
|
28 |
-
load_plugin_textdomain('
|
29 |
|
30 |
-
require(
|
31 |
-
require(
|
32 |
-
require(
|
33 |
|
34 |
// module provides function only for the admin area
|
35 |
if( is_admin() ) {
|
@@ -37,14 +37,14 @@ if( is_admin() ) {
|
|
37 |
* Подключаем скрипты для установки компонентов Clearfy
|
38 |
* на все страницы админпанели.
|
39 |
*/
|
40 |
-
add_action('admin_enqueue_scripts', function () {
|
41 |
-
wp_enqueue_script('wbcr-factory-clearfy-
|
42 |
'jquery',
|
43 |
-
'wfactory-
|
44 |
-
],
|
45 |
|
46 |
-
require_once
|
47 |
-
$all_options = \WBCR\
|
48 |
|
49 |
if( empty($all_options) ) {
|
50 |
return;
|
@@ -72,18 +72,18 @@ if( is_admin() ) {
|
|
72 |
return;
|
73 |
}
|
74 |
|
75 |
-
wp_localize_script('wbcr-factory-clearfy-
|
76 |
});
|
77 |
|
78 |
-
if( defined('
|
79 |
-
require(
|
80 |
-
require(
|
81 |
-
require(
|
82 |
-
require(
|
83 |
|
84 |
-
require(
|
85 |
-
require(
|
86 |
-
require(
|
87 |
-
require(
|
88 |
}
|
89 |
}
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( defined('FACTORY_CLEARFY_230_LOADED') ) {
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
define('FACTORY_CLEARFY_230_LOADED', true);
|
22 |
|
23 |
+
define('FACTORY_CLEARFY_230', '2.3.0');
|
24 |
|
25 |
+
define('FACTORY_CLEARFY_230_DIR', dirname(__FILE__));
|
26 |
+
define('FACTORY_CLEARFY_230_URL', plugins_url(null, __FILE__));
|
27 |
|
28 |
+
load_plugin_textdomain('wbcr_factory_clearfy_230', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
29 |
|
30 |
+
require(FACTORY_CLEARFY_230_DIR . '/includes/ajax-handlers.php');
|
31 |
+
require(FACTORY_CLEARFY_230_DIR . '/includes/class-helpers.php');
|
32 |
+
require(FACTORY_CLEARFY_230_DIR . '/includes/class-configurate.php');
|
33 |
|
34 |
// module provides function only for the admin area
|
35 |
if( is_admin() ) {
|
37 |
* Подключаем скрипты для установки компонентов Clearfy
|
38 |
* на все страницы админпанели.
|
39 |
*/
|
40 |
+
add_action('admin_enqueue_scripts', function ($hook) {
|
41 |
+
wp_enqueue_script('wbcr-factory-clearfy-230-global', FACTORY_CLEARFY_230_URL . '/assets/js/clearfy-globals.js', [
|
42 |
'jquery',
|
43 |
+
'wfactory-439-core-general'
|
44 |
+
], FACTORY_CLEARFY_230);
|
45 |
|
46 |
+
require_once FACTORY_CLEARFY_230_DIR . '/includes/class-search-options.php';
|
47 |
+
$all_options = \WBCR\Factory_Clearfy_230\Search_Options::get_all_options();
|
48 |
|
49 |
if( empty($all_options) ) {
|
50 |
return;
|
72 |
return;
|
73 |
}
|
74 |
|
75 |
+
wp_localize_script('wbcr-factory-clearfy-230-global', 'wfactory_clearfy_search_options', $formated_options);
|
76 |
});
|
77 |
|
78 |
+
if( defined('FACTORY_PAGES_438_LOADED') ) {
|
79 |
+
require(FACTORY_CLEARFY_230_DIR . '/pages/class-pages.php');
|
80 |
+
require(FACTORY_CLEARFY_230_DIR . '/pages/class-page-more-features.php');
|
81 |
+
require(FACTORY_CLEARFY_230_DIR . '/pages/class-page-license.php');
|
82 |
+
require(FACTORY_CLEARFY_230_DIR . '/pages/class-pages-components.php');
|
83 |
|
84 |
+
require(FACTORY_CLEARFY_230_DIR . '/pages/setup-parts/class-step.php');
|
85 |
+
require(FACTORY_CLEARFY_230_DIR . '/pages/setup-parts/class-step-form.php');
|
86 |
+
require(FACTORY_CLEARFY_230_DIR . '/pages/setup-parts/class-step-custom.php');
|
87 |
+
require(FACTORY_CLEARFY_230_DIR . '/pages/class-page-setup.php');
|
88 |
}
|
89 |
}
|
libs/factory/clearfy/includes/ajax-handlers.php
CHANGED
@@ -17,10 +17,10 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
17 |
*
|
18 |
* @since 2.0.7
|
19 |
*
|
20 |
-
* @param
|
21 |
*
|
22 |
*/
|
23 |
-
function
|
24 |
|
25 |
$plugin_name = $plugin_instance->request->post( 'plugin_name', null, true );
|
26 |
|
@@ -34,7 +34,7 @@ function wbcr_factory_clearfy_227_check_license( $plugin_instance ) {
|
|
34 |
check_admin_referer( "clearfy_activate_license_for_{$plugin_name}" );
|
35 |
|
36 |
if ( empty( $action ) || ! in_array( $action, [ 'activate', 'deactivate', 'sync', 'unsubscribe' ] ) ) {
|
37 |
-
wp_send_json_error( [ 'error_message' => __( 'Licensing action not passed or this action is prohibited!', '
|
38 |
die();
|
39 |
}
|
40 |
|
@@ -45,23 +45,23 @@ function wbcr_factory_clearfy_227_check_license( $plugin_instance ) {
|
|
45 |
switch ( $action ) {
|
46 |
case 'activate':
|
47 |
if ( empty( $license_key ) || strlen( $license_key ) > 32 ) {
|
48 |
-
wp_send_json_error( [ 'error_message' => __( 'License key is empty or license key too long (license key is 32 characters long)', '
|
49 |
} else {
|
50 |
$plugin_instance->premium->activate( $license_key );
|
51 |
-
$success_message = __( 'Your license has been successfully activated', '
|
52 |
}
|
53 |
break;
|
54 |
case 'deactivate':
|
55 |
$plugin_instance->premium->deactivate();
|
56 |
-
$success_message = __( 'The license is deactivated', '
|
57 |
break;
|
58 |
case 'sync':
|
59 |
$plugin_instance->premium->sync();
|
60 |
-
$success_message = __( 'The license has been updated', '
|
61 |
break;
|
62 |
case 'unsubscribe':
|
63 |
$plugin_instance->premium->cancel_paid_subscription();
|
64 |
-
$success_message = __( 'Subscription success cancelled', '
|
65 |
break;
|
66 |
}
|
67 |
} catch( Exception $e ) {
|
17 |
*
|
18 |
* @since 2.0.7
|
19 |
*
|
20 |
+
* @param Wbcr_Factory439_Plugin $plugin_instance
|
21 |
*
|
22 |
*/
|
23 |
+
function wbcr_factory_clearfy_230_check_license( $plugin_instance ) {
|
24 |
|
25 |
$plugin_name = $plugin_instance->request->post( 'plugin_name', null, true );
|
26 |
|
34 |
check_admin_referer( "clearfy_activate_license_for_{$plugin_name}" );
|
35 |
|
36 |
if ( empty( $action ) || ! in_array( $action, [ 'activate', 'deactivate', 'sync', 'unsubscribe' ] ) ) {
|
37 |
+
wp_send_json_error( [ 'error_message' => __( 'Licensing action not passed or this action is prohibited!', 'wbcr_factory_clearfy_230' ) ] );
|
38 |
die();
|
39 |
}
|
40 |
|
45 |
switch ( $action ) {
|
46 |
case 'activate':
|
47 |
if ( empty( $license_key ) || strlen( $license_key ) > 32 ) {
|
48 |
+
wp_send_json_error( [ 'error_message' => __( 'License key is empty or license key too long (license key is 32 characters long)', 'wbcr_factory_clearfy_230' ) ] );
|
49 |
} else {
|
50 |
$plugin_instance->premium->activate( $license_key );
|
51 |
+
$success_message = __( 'Your license has been successfully activated', 'wbcr_factory_clearfy_230' );
|
52 |
}
|
53 |
break;
|
54 |
case 'deactivate':
|
55 |
$plugin_instance->premium->deactivate();
|
56 |
+
$success_message = __( 'The license is deactivated', 'wbcr_factory_clearfy_230' );
|
57 |
break;
|
58 |
case 'sync':
|
59 |
$plugin_instance->premium->sync();
|
60 |
+
$success_message = __( 'The license has been updated', 'wbcr_factory_clearfy_230' );
|
61 |
break;
|
62 |
case 'unsubscribe':
|
63 |
$plugin_instance->premium->cancel_paid_subscription();
|
64 |
+
$success_message = __( 'Subscription success cancelled', 'wbcr_factory_clearfy_230' );
|
65 |
break;
|
66 |
}
|
67 |
} catch( Exception $e ) {
|
libs/factory/clearfy/includes/class-configurate.php
CHANGED
@@ -13,12 +13,12 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
* @copyright (c) 2018, Webcraftic Ltd
|
14 |
*
|
15 |
*/
|
16 |
-
abstract class
|
17 |
|
18 |
/**
|
19 |
-
* @param
|
20 |
*/
|
21 |
-
public function __construct(
|
22 |
$this->plugin = $plugin;
|
23 |
$this->registerActionsAndFilters();
|
24 |
}
|
13 |
* @copyright (c) 2018, Webcraftic Ltd
|
14 |
*
|
15 |
*/
|
16 |
+
abstract class Wbcr_FactoryClearfy230_Configurate {
|
17 |
|
18 |
/**
|
19 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
20 |
*/
|
21 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
22 |
$this->plugin = $plugin;
|
23 |
$this->registerActionsAndFilters();
|
24 |
}
|
libs/factory/clearfy/includes/class-helpers.php
CHANGED
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
* @copyright (c) 2018, Webcraftic Ltd
|
15 |
*
|
16 |
*/
|
17 |
-
class
|
18 |
|
19 |
/**
|
20 |
* Recursive sanitation for an array
|
14 |
* @copyright (c) 2018, Webcraftic Ltd
|
15 |
*
|
16 |
*/
|
17 |
+
class WbcrFactoryClearfy230_Helpers {
|
18 |
|
19 |
/**
|
20 |
* Recursive sanitation for an array
|
libs/factory/clearfy/includes/class-search-options.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
/**
|
6 |
* Class Search options
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Clearfy_230;
|
4 |
|
5 |
/**
|
6 |
* Class Search options
|
libs/factory/clearfy/langs/wbcr_factory_clearfy_221-ru_RU.mo
DELETED
Binary file
|
libs/factory/clearfy/langs/wbcr_factory_clearfy_221-ru_RU.po
DELETED
@@ -1,307 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:37+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:41+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-clearfy-compatibility.php:265
|
21 |
-
msgid "Clearfy warning"
|
22 |
-
msgstr "Clearfy предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-clearfy-compatibility.php:266
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s component"
|
27 |
-
msgstr "Работа компонента %s"
|
28 |
-
|
29 |
-
#: includes/check-clearfy-compatibility.php:268
|
30 |
-
msgid "warning"
|
31 |
-
msgstr "предупреждение"
|
32 |
-
|
33 |
-
#: includes/check-clearfy-compatibility.php:269
|
34 |
-
#, php-format
|
35 |
-
msgid "The %s plugin"
|
36 |
-
msgstr "Работа плагина %s"
|
37 |
-
|
38 |
-
#: includes/check-clearfy-compatibility.php:272
|
39 |
-
msgid "has stopped."
|
40 |
-
msgstr "была остановлена."
|
41 |
-
|
42 |
-
#: includes/check-clearfy-compatibility.php:273
|
43 |
-
msgid "Possible reasons:"
|
44 |
-
msgstr "Возможные причины:"
|
45 |
-
|
46 |
-
#: includes/check-clearfy-compatibility.php:279
|
47 |
-
#, php-format
|
48 |
-
msgid "You need to update the PHP version to %s or higher!"
|
49 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
50 |
-
|
51 |
-
#: includes/check-clearfy-compatibility.php:284
|
52 |
-
#, php-format
|
53 |
-
msgid "You need to update WordPress to %s or higher!"
|
54 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
55 |
-
|
56 |
-
#: includes/check-clearfy-compatibility.php:289
|
57 |
-
#, php-format
|
58 |
-
msgid "You need to update the Clearfy plugin version to %s or higher!"
|
59 |
-
msgstr "Вам нужно обновить версию плагина Clearfy до %s или выше!"
|
60 |
-
|
61 |
-
#: includes/check-clearfy-compatibility.php:294
|
62 |
-
msgid "This plugin is already activated, you are trying to activate it again."
|
63 |
-
msgstr "Этот плагин уже активирован, вы пытаетесь активировать его снова."
|
64 |
-
|
65 |
-
#: includes/check-clearfy-compatibility.php:299
|
66 |
-
#, php-format
|
67 |
-
msgid ""
|
68 |
-
"Clearfy has the features of the %s plugin. Please, deactivate %s to avoid "
|
69 |
-
"conflicts of plugins!"
|
70 |
-
msgstr ""
|
71 |
-
"Плагин Clearfy уже включает в себя функции плагина %s. Пожалуйста, "
|
72 |
-
"деактивируйте плагин %s, чтобы не создавать конфликтов!"
|
73 |
-
|
74 |
-
#: pages/class.pages.php:212
|
75 |
-
msgid "Upgrade to Clearfy Business"
|
76 |
-
msgstr "Перейти на Clearfy Бизнес"
|
77 |
-
|
78 |
-
#: pages/class.pages.php:213
|
79 |
-
msgid "Oops... Sorry for the inconvenience caused!"
|
80 |
-
msgstr "Упс... Мы приносим свои извинения за неудобства!"
|
81 |
-
|
82 |
-
#: pages/class.pages.php:214
|
83 |
-
msgid ""
|
84 |
-
"Complete multisite support is available in Clearfy Business and Clearfy "
|
85 |
-
"Business Revolution packages only!"
|
86 |
-
msgstr ""
|
87 |
-
"Полная поддержка мультисайтов доступна только в пакете Clearfy Бизнес и "
|
88 |
-
"Clearfy Бизнес Революция!"
|
89 |
-
|
90 |
-
#: pages/class.pages.php:215
|
91 |
-
msgid ""
|
92 |
-
"You can activate the plugin on each website and use it with zero "
|
93 |
-
"limitations. But you can’t save the plugin’s settings under the Super "
|
94 |
-
"Administrator role!"
|
95 |
-
msgstr ""
|
96 |
-
"Вы можете активировать плагин отдельно для каждого сайта и использовать его "
|
97 |
-
"без ограничений, но в режиме суперадминистратора, вы не можете сохранять "
|
98 |
-
"настройки плагина!"
|
99 |
-
|
100 |
-
#: pages/class.pages.php:217
|
101 |
-
msgid "Activate license "
|
102 |
-
msgstr "Активировать лицензию "
|
103 |
-
|
104 |
-
#: pages/class.pages.php:218
|
105 |
-
#, php-format
|
106 |
-
msgid "Upgrade to Clearfy Business for $%d"
|
107 |
-
msgstr "Обновить до Clearfy Бизнес за $%d"
|
108 |
-
|
109 |
-
#: pages/class.pages.php:273
|
110 |
-
msgid "MORE IN CLEARFY <span>BUSINESS</span>"
|
111 |
-
msgstr "ЛУЧШЕЕ В CLEARFY <span>БИЗНЕС</span>"
|
112 |
-
|
113 |
-
#: pages/class.pages.php:275
|
114 |
-
msgid "4 premium components now;"
|
115 |
-
msgstr "4 премиум компонента сейчас;"
|
116 |
-
|
117 |
-
#: pages/class.pages.php:276
|
118 |
-
msgid "40 new premium components within a year for the single price;"
|
119 |
-
msgstr "40 новых премиум компонентов в год по одной цене;"
|
120 |
-
|
121 |
-
#: pages/class.pages.php:277
|
122 |
-
msgid "Multisite support;"
|
123 |
-
msgstr "Поддержка мультисайтов;"
|
124 |
-
|
125 |
-
#: pages/class.pages.php:278
|
126 |
-
msgid "Advanced settings;"
|
127 |
-
msgstr "Дополнительные настройки;"
|
128 |
-
|
129 |
-
#: pages/class.pages.php:279
|
130 |
-
msgid "No ads;"
|
131 |
-
msgstr "Нет рекламы;"
|
132 |
-
|
133 |
-
#: pages/class.pages.php:280
|
134 |
-
msgid "Perfect support."
|
135 |
-
msgstr "Лучшая поддержка."
|
136 |
-
|
137 |
-
#: pages/class.pages.php:283
|
138 |
-
#, php-format
|
139 |
-
msgid "Upgrade for $%s"
|
140 |
-
msgstr "Обновиться за $%s"
|
141 |
-
|
142 |
-
#: pages/class.pages.php:299
|
143 |
-
msgid ""
|
144 |
-
"A neutral setting that can not harm your site, but you must be sure that you "
|
145 |
-
"need to use it."
|
146 |
-
msgstr ""
|
147 |
-
"Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
|
148 |
-
"должны быть уверены, что вам нужно ее использовать."
|
149 |
-
|
150 |
-
#: pages/class.pages.php:305
|
151 |
-
msgid ""
|
152 |
-
"When set this option, you must be careful. Plugins and themes may depend on "
|
153 |
-
"this function. You must be sure that you can disable this feature for the "
|
154 |
-
"site."
|
155 |
-
msgstr ""
|
156 |
-
"При включении этой настройки, вы должны быть осторожны. Некоторые плагины и "
|
157 |
-
"темы могут зависеть от этой функции. Вы должны быть уверены, что эту функцию "
|
158 |
-
"можно отключить для сайта."
|
159 |
-
|
160 |
-
#: pages/class.pages.php:311
|
161 |
-
msgid "Absolutely safe setting, We recommend to use."
|
162 |
-
msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
|
163 |
-
|
164 |
-
#: pages/class.pages.php:316
|
165 |
-
msgid "Hover to the icon to get help for the feature you selected."
|
166 |
-
msgstr ""
|
167 |
-
"Наведите указатель мыши на значок, чтобы получить справку по выбранной "
|
168 |
-
"функции."
|
169 |
-
|
170 |
-
#: pages/class.pages.php:334
|
171 |
-
msgid "Do you want the plugin to improved and update?"
|
172 |
-
msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
|
173 |
-
|
174 |
-
#: pages/class.pages.php:337
|
175 |
-
msgid ""
|
176 |
-
"Help the author, leave a review on wordpress.org. Thanks to feedback, I will "
|
177 |
-
"know that the plugin is really useful to you and is needed."
|
178 |
-
msgstr ""
|
179 |
-
"Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я буду "
|
180 |
-
"знать, что плагин действительно полезен для вас и необходим."
|
181 |
-
|
182 |
-
#: pages/class.pages.php:339
|
183 |
-
msgid "And also write your ideas on how to extend or improve the plugin."
|
184 |
-
msgstr "А также напишите свои идеи о том, как расширить или улучшить плагин."
|
185 |
-
|
186 |
-
#: pages/class.pages.php:344
|
187 |
-
msgid "Go rate us and push ideas"
|
188 |
-
msgstr "Оставить отзыв или поделиться идеей"
|
189 |
-
|
190 |
-
#: pages/class.pages.php:356
|
191 |
-
msgid "Donation for plugin development"
|
192 |
-
msgstr "Пожертвования на развитие плагина"
|
193 |
-
|
194 |
-
#: pages/more-features.php:31
|
195 |
-
msgid "More features (<b>free</b>)"
|
196 |
-
msgstr "Дополнительно"
|
197 |
-
|
198 |
-
#: pages/more-features.php:40
|
199 |
-
msgid "install the ultimate version of the plugin for free!"
|
200 |
-
msgstr "установите полную версию плагина бесплатно!"
|
201 |
-
|
202 |
-
#: pages/more-features.php:51
|
203 |
-
msgid "Code cleaning"
|
204 |
-
msgstr "Очищает код"
|
205 |
-
|
206 |
-
#: pages/more-features.php:53
|
207 |
-
msgid "Clears the source code of the page from unused code."
|
208 |
-
msgstr "Очищает исходный код страницы от неиспользуемого кода."
|
209 |
-
|
210 |
-
#: pages/more-features.php:60
|
211 |
-
msgid "Improve SEO"
|
212 |
-
msgstr "Улучшает SEO"
|
213 |
-
|
214 |
-
#: pages/more-features.php:62
|
215 |
-
msgid ""
|
216 |
-
"Removes duplicate pages, closes external links, changes the headers of the "
|
217 |
-
"server."
|
218 |
-
msgstr ""
|
219 |
-
"Удаляет дубликаты страниц, закрывает внешние ссылки, изменяет заголовки "
|
220 |
-
"сервера."
|
221 |
-
|
222 |
-
#: pages/more-features.php:69
|
223 |
-
msgid "Site protection"
|
224 |
-
msgstr "Защита сайта"
|
225 |
-
|
226 |
-
#: pages/more-features.php:71
|
227 |
-
msgid "Enables and disables features that improve the protection of your site."
|
228 |
-
msgstr "Включает и отключает функции, которые улучшают защиту вашего сайта."
|
229 |
-
|
230 |
-
#: pages/more-features.php:78
|
231 |
-
msgid "Disable comments"
|
232 |
-
msgstr "Отключает комментарии"
|
233 |
-
|
234 |
-
#: pages/more-features.php:80
|
235 |
-
msgid "Disables comments on the entire site or on specific pages."
|
236 |
-
msgstr "Отключает комментарии на всем сайте или у определенных страниц."
|
237 |
-
|
238 |
-
#: pages/more-features.php:87
|
239 |
-
msgid "Manage updates"
|
240 |
-
msgstr "Менеджер обновлений"
|
241 |
-
|
242 |
-
#: pages/more-features.php:89
|
243 |
-
msgid ""
|
244 |
-
"Enables or disables automatically updates for plugins, themes and core. It "
|
245 |
-
"is also possible\n"
|
246 |
-
"\t\t\t\t\t\t\tto disable all updates."
|
247 |
-
msgstr ""
|
248 |
-
"Включает или отключает автоматические обновление плагинов, тем и ядра. Также "
|
249 |
-
"возможно\n"
|
250 |
-
"отключение всех обновлений."
|
251 |
-
|
252 |
-
#: pages/more-features.php:97
|
253 |
-
msgid "Manage widgets"
|
254 |
-
msgstr "Управление виджетами"
|
255 |
-
|
256 |
-
#: pages/more-features.php:99
|
257 |
-
msgid "Allows you to remove unused widgets."
|
258 |
-
msgstr "Позволяет удалить неиспользуемые виджеты."
|
259 |
-
|
260 |
-
#: pages/more-features.php:106
|
261 |
-
msgid "Speed Optimization"
|
262 |
-
msgstr "Оптимизация производительности"
|
263 |
-
|
264 |
-
#: pages/more-features.php:108
|
265 |
-
msgid ""
|
266 |
-
"Increases performance by disabling unused functions and reducing the number "
|
267 |
-
"of requests."
|
268 |
-
msgstr ""
|
269 |
-
"Повышает производительность, отключая неиспользуемые функции и уменьшая "
|
270 |
-
"количество запросов."
|
271 |
-
|
272 |
-
#: pages/more-features.php:115
|
273 |
-
msgid "Site privacy"
|
274 |
-
msgstr "Конфиденциальность сайта"
|
275 |
-
|
276 |
-
#: pages/more-features.php:117
|
277 |
-
msgid ""
|
278 |
-
"Allows you to hide the version of the site and plugins. Allows you to hide "
|
279 |
-
"your\n"
|
280 |
-
"\t\t\t\t\t\t\tWordPress."
|
281 |
-
msgstr ""
|
282 |
-
"Позволяет скрыть версию сайта и плагинов. Позволяет скрыть ваш\n"
|
283 |
-
"WordPress."
|
284 |
-
|
285 |
-
#: pages/more-features.php:125
|
286 |
-
msgid "Easy setup"
|
287 |
-
msgstr "Простая настройка"
|
288 |
-
|
289 |
-
#: pages/more-features.php:127
|
290 |
-
msgid ""
|
291 |
-
"In quick mode, you can easily configure the plugin according to your needs."
|
292 |
-
msgstr ""
|
293 |
-
"В быстром режиме вы можете легко настроить плагин в соответствии с вашими "
|
294 |
-
"потребностями."
|
295 |
-
|
296 |
-
#: pages/more-features.php:142
|
297 |
-
msgid "Get the ultimate plugin 100% FREE"
|
298 |
-
msgstr "Получить полную версию бесплатно на 100%."
|
299 |
-
|
300 |
-
#~ msgid "component"
|
301 |
-
#~ msgstr "компонент"
|
302 |
-
|
303 |
-
#~ msgid "plugin"
|
304 |
-
#~ msgstr "плагин"
|
305 |
-
|
306 |
-
#~ msgid "Site ptotection"
|
307 |
-
#~ msgstr "Защищает ваш сайт"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/clearfy/langs/wbcr_factory_clearfy_224-ru_RU.mo
DELETED
Binary file
|
libs/factory/clearfy/langs/wbcr_factory_clearfy_224-ru_RU.po
DELETED
@@ -1,307 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:37+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:41+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-clearfy-compatibility.php:265
|
21 |
-
msgid "Clearfy warning"
|
22 |
-
msgstr "Clearfy предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-clearfy-compatibility.php:266
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s component"
|
27 |
-
msgstr "Работа компонента %s"
|
28 |
-
|
29 |
-
#: includes/check-clearfy-compatibility.php:268
|
30 |
-
msgid "warning"
|
31 |
-
msgstr "предупреждение"
|
32 |
-
|
33 |
-
#: includes/check-clearfy-compatibility.php:269
|
34 |
-
#, php-format
|
35 |
-
msgid "The %s plugin"
|
36 |
-
msgstr "Работа плагина %s"
|
37 |
-
|
38 |
-
#: includes/check-clearfy-compatibility.php:272
|
39 |
-
msgid "has stopped."
|
40 |
-
msgstr "была остановлена."
|
41 |
-
|
42 |
-
#: includes/check-clearfy-compatibility.php:273
|
43 |
-
msgid "Possible reasons:"
|
44 |
-
msgstr "Возможные причины:"
|
45 |
-
|
46 |
-
#: includes/check-clearfy-compatibility.php:279
|
47 |
-
#, php-format
|
48 |
-
msgid "You need to update the PHP version to %s or higher!"
|
49 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
50 |
-
|
51 |
-
#: includes/check-clearfy-compatibility.php:284
|
52 |
-
#, php-format
|
53 |
-
msgid "You need to update WordPress to %s or higher!"
|
54 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
55 |
-
|
56 |
-
#: includes/check-clearfy-compatibility.php:289
|
57 |
-
#, php-format
|
58 |
-
msgid "You need to update the Clearfy plugin version to %s or higher!"
|
59 |
-
msgstr "Вам нужно обновить версию плагина Clearfy до %s или выше!"
|
60 |
-
|
61 |
-
#: includes/check-clearfy-compatibility.php:294
|
62 |
-
msgid "This plugin is already activated, you are trying to activate it again."
|
63 |
-
msgstr "Этот плагин уже активирован, вы пытаетесь активировать его снова."
|
64 |
-
|
65 |
-
#: includes/check-clearfy-compatibility.php:299
|
66 |
-
#, php-format
|
67 |
-
msgid ""
|
68 |
-
"Clearfy has the features of the %s plugin. Please, deactivate %s to avoid "
|
69 |
-
"conflicts of plugins!"
|
70 |
-
msgstr ""
|
71 |
-
"Плагин Clearfy уже включает в себя функции плагина %s. Пожалуйста, "
|
72 |
-
"деактивируйте плагин %s, чтобы не создавать конфликтов!"
|
73 |
-
|
74 |
-
#: pages/class.pages.php:212
|
75 |
-
msgid "Upgrade to Clearfy Business"
|
76 |
-
msgstr "Перейти на Clearfy Бизнес"
|
77 |
-
|
78 |
-
#: pages/class.pages.php:213
|
79 |
-
msgid "Oops... Sorry for the inconvenience caused!"
|
80 |
-
msgstr "Упс... Мы приносим свои извинения за неудобства!"
|
81 |
-
|
82 |
-
#: pages/class.pages.php:214
|
83 |
-
msgid ""
|
84 |
-
"Complete multisite support is available in Clearfy Business and Clearfy "
|
85 |
-
"Business Revolution packages only!"
|
86 |
-
msgstr ""
|
87 |
-
"Полная поддержка мультисайтов доступна только в пакете Clearfy Бизнес и "
|
88 |
-
"Clearfy Бизнес Революция!"
|
89 |
-
|
90 |
-
#: pages/class.pages.php:215
|
91 |
-
msgid ""
|
92 |
-
"You can activate the plugin on each website and use it with zero "
|
93 |
-
"limitations. But you can’t save the plugin’s settings under the Super "
|
94 |
-
"Administrator role!"
|
95 |
-
msgstr ""
|
96 |
-
"Вы можете активировать плагин отдельно для каждого сайта и использовать его "
|
97 |
-
"без ограничений, но в режиме суперадминистратора, вы не можете сохранять "
|
98 |
-
"настройки плагина!"
|
99 |
-
|
100 |
-
#: pages/class.pages.php:217
|
101 |
-
msgid "Activate license "
|
102 |
-
msgstr "Активировать лицензию "
|
103 |
-
|
104 |
-
#: pages/class.pages.php:218
|
105 |
-
#, php-format
|
106 |
-
msgid "Upgrade to Clearfy Business for $%d"
|
107 |
-
msgstr "Обновить до Clearfy Бизнес за $%d"
|
108 |
-
|
109 |
-
#: pages/class.pages.php:273
|
110 |
-
msgid "MORE IN CLEARFY <span>BUSINESS</span>"
|
111 |
-
msgstr "ЛУЧШЕЕ В CLEARFY <span>БИЗНЕС</span>"
|
112 |
-
|
113 |
-
#: pages/class.pages.php:275
|
114 |
-
msgid "4 premium components now;"
|
115 |
-
msgstr "4 премиум компонента сейчас;"
|
116 |
-
|
117 |
-
#: pages/class.pages.php:276
|
118 |
-
msgid "40 new premium components within a year for the single price;"
|
119 |
-
msgstr "40 новых премиум компонентов в год по одной цене;"
|
120 |
-
|
121 |
-
#: pages/class.pages.php:277
|
122 |
-
msgid "Multisite support;"
|
123 |
-
msgstr "Поддержка мультисайтов;"
|
124 |
-
|
125 |
-
#: pages/class.pages.php:278
|
126 |
-
msgid "Advanced settings;"
|
127 |
-
msgstr "Дополнительные настройки;"
|
128 |
-
|
129 |
-
#: pages/class.pages.php:279
|
130 |
-
msgid "No ads;"
|
131 |
-
msgstr "Нет рекламы;"
|
132 |
-
|
133 |
-
#: pages/class.pages.php:280
|
134 |
-
msgid "Perfect support."
|
135 |
-
msgstr "Лучшая поддержка."
|
136 |
-
|
137 |
-
#: pages/class.pages.php:283
|
138 |
-
#, php-format
|
139 |
-
msgid "Upgrade for $%s"
|
140 |
-
msgstr "Обновиться за $%s"
|
141 |
-
|
142 |
-
#: pages/class.pages.php:299
|
143 |
-
msgid ""
|
144 |
-
"A neutral setting that can not harm your site, but you must be sure that you "
|
145 |
-
"need to use it."
|
146 |
-
msgstr ""
|
147 |
-
"Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
|
148 |
-
"должны быть уверены, что вам нужно ее использовать."
|
149 |
-
|
150 |
-
#: pages/class.pages.php:305
|
151 |
-
msgid ""
|
152 |
-
"When set this option, you must be careful. Plugins and themes may depend on "
|
153 |
-
"this function. You must be sure that you can disable this feature for the "
|
154 |
-
"site."
|
155 |
-
msgstr ""
|
156 |
-
"При включении этой настройки, вы должны быть осторожны. Некоторые плагины и "
|
157 |
-
"темы могут зависеть от этой функции. Вы должны быть уверены, что эту функцию "
|
158 |
-
"можно отключить для сайта."
|
159 |
-
|
160 |
-
#: pages/class.pages.php:311
|
161 |
-
msgid "Absolutely safe setting, We recommend to use."
|
162 |
-
msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
|
163 |
-
|
164 |
-
#: pages/class.pages.php:316
|
165 |
-
msgid "Hover to the icon to get help for the feature you selected."
|
166 |
-
msgstr ""
|
167 |
-
"Наведите указатель мыши на значок, чтобы получить справку по выбранной "
|
168 |
-
"функции."
|
169 |
-
|
170 |
-
#: pages/class.pages.php:334
|
171 |
-
msgid "Do you want the plugin to improved and update?"
|
172 |
-
msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
|
173 |
-
|
174 |
-
#: pages/class.pages.php:337
|
175 |
-
msgid ""
|
176 |
-
"Help the author, leave a review on wordpress.org. Thanks to feedback, I will "
|
177 |
-
"know that the plugin is really useful to you and is needed."
|
178 |
-
msgstr ""
|
179 |
-
"Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я буду "
|
180 |
-
"знать, что плагин действительно полезен для вас и необходим."
|
181 |
-
|
182 |
-
#: pages/class.pages.php:339
|
183 |
-
msgid "And also write your ideas on how to extend or improve the plugin."
|
184 |
-
msgstr "А также напишите свои идеи о том, как расширить или улучшить плагин."
|
185 |
-
|
186 |
-
#: pages/class.pages.php:344
|
187 |
-
msgid "Go rate us and push ideas"
|
188 |
-
msgstr "Оставить отзыв или поделиться идеей"
|
189 |
-
|
190 |
-
#: pages/class.pages.php:356
|
191 |
-
msgid "Donation for plugin development"
|
192 |
-
msgstr "Пожертвования на развитие плагина"
|
193 |
-
|
194 |
-
#: pages/more-features.php:31
|
195 |
-
msgid "More features (<b>free</b>)"
|
196 |
-
msgstr "Дополнительно"
|
197 |
-
|
198 |
-
#: pages/more-features.php:40
|
199 |
-
msgid "install the ultimate version of the plugin for free!"
|
200 |
-
msgstr "установите полную версию плагина бесплатно!"
|
201 |
-
|
202 |
-
#: pages/more-features.php:51
|
203 |
-
msgid "Code cleaning"
|
204 |
-
msgstr "Очищает код"
|
205 |
-
|
206 |
-
#: pages/more-features.php:53
|
207 |
-
msgid "Clears the source code of the page from unused code."
|
208 |
-
msgstr "Очищает исходный код страницы от неиспользуемого кода."
|
209 |
-
|
210 |
-
#: pages/more-features.php:60
|
211 |
-
msgid "Improve SEO"
|
212 |
-
msgstr "Улучшает SEO"
|
213 |
-
|
214 |
-
#: pages/more-features.php:62
|
215 |
-
msgid ""
|
216 |
-
"Removes duplicate pages, closes external links, changes the headers of the "
|
217 |
-
"server."
|
218 |
-
msgstr ""
|
219 |
-
"Удаляет дубликаты страниц, закрывает внешние ссылки, изменяет заголовки "
|
220 |
-
"сервера."
|
221 |
-
|
222 |
-
#: pages/more-features.php:69
|
223 |
-
msgid "Site protection"
|
224 |
-
msgstr "Защита сайта"
|
225 |
-
|
226 |
-
#: pages/more-features.php:71
|
227 |
-
msgid "Enables and disables features that improve the protection of your site."
|
228 |
-
msgstr "Включает и отключает функции, которые улучшают защиту вашего сайта."
|
229 |
-
|
230 |
-
#: pages/more-features.php:78
|
231 |
-
msgid "Disable comments"
|
232 |
-
msgstr "Отключает комментарии"
|
233 |
-
|
234 |
-
#: pages/more-features.php:80
|
235 |
-
msgid "Disables comments on the entire site or on specific pages."
|
236 |
-
msgstr "Отключает комментарии на всем сайте или у определенных страниц."
|
237 |
-
|
238 |
-
#: pages/more-features.php:87
|
239 |
-
msgid "Manage updates"
|
240 |
-
msgstr "Менеджер обновлений"
|
241 |
-
|
242 |
-
#: pages/more-features.php:89
|
243 |
-
msgid ""
|
244 |
-
"Enables or disables automatically updates for plugins, themes and core. It "
|
245 |
-
"is also possible\n"
|
246 |
-
"\t\t\t\t\t\t\tto disable all updates."
|
247 |
-
msgstr ""
|
248 |
-
"Включает или отключает автоматические обновление плагинов, тем и ядра. Также "
|
249 |
-
"возможно\n"
|
250 |
-
"отключение всех обновлений."
|
251 |
-
|
252 |
-
#: pages/more-features.php:97
|
253 |
-
msgid "Manage widgets"
|
254 |
-
msgstr "Управление виджетами"
|
255 |
-
|
256 |
-
#: pages/more-features.php:99
|
257 |
-
msgid "Allows you to remove unused widgets."
|
258 |
-
msgstr "Позволяет удалить неиспользуемые виджеты."
|
259 |
-
|
260 |
-
#: pages/more-features.php:106
|
261 |
-
msgid "Speed Optimization"
|
262 |
-
msgstr "Оптимизация производительности"
|
263 |
-
|
264 |
-
#: pages/more-features.php:108
|
265 |
-
msgid ""
|
266 |
-
"Increases performance by disabling unused functions and reducing the number "
|
267 |
-
"of requests."
|
268 |
-
msgstr ""
|
269 |
-
"Повышает производительность, отключая неиспользуемые функции и уменьшая "
|
270 |
-
"количество запросов."
|
271 |
-
|
272 |
-
#: pages/more-features.php:115
|
273 |
-
msgid "Site privacy"
|
274 |
-
msgstr "Конфиденциальность сайта"
|
275 |
-
|
276 |
-
#: pages/more-features.php:117
|
277 |
-
msgid ""
|
278 |
-
"Allows you to hide the version of the site and plugins. Allows you to hide "
|
279 |
-
"your\n"
|
280 |
-
"\t\t\t\t\t\t\tWordPress."
|
281 |
-
msgstr ""
|
282 |
-
"Позволяет скрыть версию сайта и плагинов. Позволяет скрыть ваш\n"
|
283 |
-
"WordPress."
|
284 |
-
|
285 |
-
#: pages/more-features.php:125
|
286 |
-
msgid "Easy setup"
|
287 |
-
msgstr "Простая настройка"
|
288 |
-
|
289 |
-
#: pages/more-features.php:127
|
290 |
-
msgid ""
|
291 |
-
"In quick mode, you can easily configure the plugin according to your needs."
|
292 |
-
msgstr ""
|
293 |
-
"В быстром режиме вы можете легко настроить плагин в соответствии с вашими "
|
294 |
-
"потребностями."
|
295 |
-
|
296 |
-
#: pages/more-features.php:142
|
297 |
-
msgid "Get the ultimate plugin 100% FREE"
|
298 |
-
msgstr "Получить полную версию бесплатно на 100%."
|
299 |
-
|
300 |
-
#~ msgid "component"
|
301 |
-
#~ msgstr "компонент"
|
302 |
-
|
303 |
-
#~ msgid "plugin"
|
304 |
-
#~ msgstr "плагин"
|
305 |
-
|
306 |
-
#~ msgid "Site ptotection"
|
307 |
-
#~ msgstr "Защищает ваш сайт"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/clearfy/langs/wbcr_factory_clearfy_227-ru_RU.mo
DELETED
Binary file
|
libs/factory/clearfy/langs/wbcr_factory_clearfy_227-ru_RU.po
DELETED
@@ -1,307 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:37+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:41+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-clearfy-compatibility.php:265
|
21 |
-
msgid "Clearfy warning"
|
22 |
-
msgstr "Clearfy предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-clearfy-compatibility.php:266
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s component"
|
27 |
-
msgstr "Работа компонента %s"
|
28 |
-
|
29 |
-
#: includes/check-clearfy-compatibility.php:268
|
30 |
-
msgid "warning"
|
31 |
-
msgstr "предупреждение"
|
32 |
-
|
33 |
-
#: includes/check-clearfy-compatibility.php:269
|
34 |
-
#, php-format
|
35 |
-
msgid "The %s plugin"
|
36 |
-
msgstr "Работа плагина %s"
|
37 |
-
|
38 |
-
#: includes/check-clearfy-compatibility.php:272
|
39 |
-
msgid "has stopped."
|
40 |
-
msgstr "была остановлена."
|
41 |
-
|
42 |
-
#: includes/check-clearfy-compatibility.php:273
|
43 |
-
msgid "Possible reasons:"
|
44 |
-
msgstr "Возможные причины:"
|
45 |
-
|
46 |
-
#: includes/check-clearfy-compatibility.php:279
|
47 |
-
#, php-format
|
48 |
-
msgid "You need to update the PHP version to %s or higher!"
|
49 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
50 |
-
|
51 |
-
#: includes/check-clearfy-compatibility.php:284
|
52 |
-
#, php-format
|
53 |
-
msgid "You need to update WordPress to %s or higher!"
|
54 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
55 |
-
|
56 |
-
#: includes/check-clearfy-compatibility.php:289
|
57 |
-
#, php-format
|
58 |
-
msgid "You need to update the Clearfy plugin version to %s or higher!"
|
59 |
-
msgstr "Вам нужно обновить версию плагина Clearfy до %s или выше!"
|
60 |
-
|
61 |
-
#: includes/check-clearfy-compatibility.php:294
|
62 |
-
msgid "This plugin is already activated, you are trying to activate it again."
|
63 |
-
msgstr "Этот плагин уже активирован, вы пытаетесь активировать его снова."
|
64 |
-
|
65 |
-
#: includes/check-clearfy-compatibility.php:299
|
66 |
-
#, php-format
|
67 |
-
msgid ""
|
68 |
-
"Clearfy has the features of the %s plugin. Please, deactivate %s to avoid "
|
69 |
-
"conflicts of plugins!"
|
70 |
-
msgstr ""
|
71 |
-
"Плагин Clearfy уже включает в себя функции плагина %s. Пожалуйста, "
|
72 |
-
"деактивируйте плагин %s, чтобы не создавать конфликтов!"
|
73 |
-
|
74 |
-
#: pages/class.pages.php:212
|
75 |
-
msgid "Upgrade to Clearfy Business"
|
76 |
-
msgstr "Перейти на Clearfy Бизнес"
|
77 |
-
|
78 |
-
#: pages/class.pages.php:213
|
79 |
-
msgid "Oops... Sorry for the inconvenience caused!"
|
80 |
-
msgstr "Упс... Мы приносим свои извинения за неудобства!"
|
81 |
-
|
82 |
-
#: pages/class.pages.php:214
|
83 |
-
msgid ""
|
84 |
-
"Complete multisite support is available in Clearfy Business and Clearfy "
|
85 |
-
"Business Revolution packages only!"
|
86 |
-
msgstr ""
|
87 |
-
"Полная поддержка мультисайтов доступна только в пакете Clearfy Бизнес и "
|
88 |
-
"Clearfy Бизнес Революция!"
|
89 |
-
|
90 |
-
#: pages/class.pages.php:215
|
91 |
-
msgid ""
|
92 |
-
"You can activate the plugin on each website and use it with zero "
|
93 |
-
"limitations. But you can’t save the plugin’s settings under the Super "
|
94 |
-
"Administrator role!"
|
95 |
-
msgstr ""
|
96 |
-
"Вы можете активировать плагин отдельно для каждого сайта и использовать его "
|
97 |
-
"без ограничений, но в режиме суперадминистратора, вы не можете сохранять "
|
98 |
-
"настройки плагина!"
|
99 |
-
|
100 |
-
#: pages/class.pages.php:217
|
101 |
-
msgid "Activate license "
|
102 |
-
msgstr "Активировать лицензию "
|
103 |
-
|
104 |
-
#: pages/class.pages.php:218
|
105 |
-
#, php-format
|
106 |
-
msgid "Upgrade to Clearfy Business for $%d"
|
107 |
-
msgstr "Обновить до Clearfy Бизнес за $%d"
|
108 |
-
|
109 |
-
#: pages/class.pages.php:273
|
110 |
-
msgid "MORE IN CLEARFY <span>BUSINESS</span>"
|
111 |
-
msgstr "ЛУЧШЕЕ В CLEARFY <span>БИЗНЕС</span>"
|
112 |
-
|
113 |
-
#: pages/class.pages.php:275
|
114 |
-
msgid "4 premium components now;"
|
115 |
-
msgstr "4 премиум компонента сейчас;"
|
116 |
-
|
117 |
-
#: pages/class.pages.php:276
|
118 |
-
msgid "40 new premium components within a year for the single price;"
|
119 |
-
msgstr "40 новых премиум компонентов в год по одной цене;"
|
120 |
-
|
121 |
-
#: pages/class.pages.php:277
|
122 |
-
msgid "Multisite support;"
|
123 |
-
msgstr "Поддержка мультисайтов;"
|
124 |
-
|
125 |
-
#: pages/class.pages.php:278
|
126 |
-
msgid "Advanced settings;"
|
127 |
-
msgstr "Дополнительные настройки;"
|
128 |
-
|
129 |
-
#: pages/class.pages.php:279
|
130 |
-
msgid "No ads;"
|
131 |
-
msgstr "Нет рекламы;"
|
132 |
-
|
133 |
-
#: pages/class.pages.php:280
|
134 |
-
msgid "Perfect support."
|
135 |
-
msgstr "Лучшая поддержка."
|
136 |
-
|
137 |
-
#: pages/class.pages.php:283
|
138 |
-
#, php-format
|
139 |
-
msgid "Upgrade for $%s"
|
140 |
-
msgstr "Обновиться за $%s"
|
141 |
-
|
142 |
-
#: pages/class.pages.php:299
|
143 |
-
msgid ""
|
144 |
-
"A neutral setting that can not harm your site, but you must be sure that you "
|
145 |
-
"need to use it."
|
146 |
-
msgstr ""
|
147 |
-
"Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
|
148 |
-
"должны быть уверены, что вам нужно ее использовать."
|
149 |
-
|
150 |
-
#: pages/class.pages.php:305
|
151 |
-
msgid ""
|
152 |
-
"When set this option, you must be careful. Plugins and themes may depend on "
|
153 |
-
"this function. You must be sure that you can disable this feature for the "
|
154 |
-
"site."
|
155 |
-
msgstr ""
|
156 |
-
"При включении этой настройки, вы должны быть осторожны. Некоторые плагины и "
|
157 |
-
"темы могут зависеть от этой функции. Вы должны быть уверены, что эту функцию "
|
158 |
-
"можно отключить для сайта."
|
159 |
-
|
160 |
-
#: pages/class.pages.php:311
|
161 |
-
msgid "Absolutely safe setting, We recommend to use."
|
162 |
-
msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
|
163 |
-
|
164 |
-
#: pages/class.pages.php:316
|
165 |
-
msgid "Hover to the icon to get help for the feature you selected."
|
166 |
-
msgstr ""
|
167 |
-
"Наведите указатель мыши на значок, чтобы получить справку по выбранной "
|
168 |
-
"функции."
|
169 |
-
|
170 |
-
#: pages/class.pages.php:334
|
171 |
-
msgid "Do you want the plugin to improved and update?"
|
172 |
-
msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
|
173 |
-
|
174 |
-
#: pages/class.pages.php:337
|
175 |
-
msgid ""
|
176 |
-
"Help the author, leave a review on wordpress.org. Thanks to feedback, I will "
|
177 |
-
"know that the plugin is really useful to you and is needed."
|
178 |
-
msgstr ""
|
179 |
-
"Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я буду "
|
180 |
-
"знать, что плагин действительно полезен для вас и необходим."
|
181 |
-
|
182 |
-
#: pages/class.pages.php:339
|
183 |
-
msgid "And also write your ideas on how to extend or improve the plugin."
|
184 |
-
msgstr "А также напишите свои идеи о том, как расширить или улучшить плагин."
|
185 |
-
|
186 |
-
#: pages/class.pages.php:344
|
187 |
-
msgid "Go rate us and push ideas"
|
188 |
-
msgstr "Оставить отзыв или поделиться идеей"
|
189 |
-
|
190 |
-
#: pages/class.pages.php:356
|
191 |
-
msgid "Donation for plugin development"
|
192 |
-
msgstr "Пожертвования на развитие плагина"
|
193 |
-
|
194 |
-
#: pages/more-features.php:31
|
195 |
-
msgid "More features (<b>free</b>)"
|
196 |
-
msgstr "Дополнительно"
|
197 |
-
|
198 |
-
#: pages/more-features.php:40
|
199 |
-
msgid "install the ultimate version of the plugin for free!"
|
200 |
-
msgstr "установите полную версию плагина бесплатно!"
|
201 |
-
|
202 |
-
#: pages/more-features.php:51
|
203 |
-
msgid "Code cleaning"
|
204 |
-
msgstr "Очищает код"
|
205 |
-
|
206 |
-
#: pages/more-features.php:53
|
207 |
-
msgid "Clears the source code of the page from unused code."
|
208 |
-
msgstr "Очищает исходный код страницы от неиспользуемого кода."
|
209 |
-
|
210 |
-
#: pages/more-features.php:60
|
211 |
-
msgid "Improve SEO"
|
212 |
-
msgstr "Улучшает SEO"
|
213 |
-
|
214 |
-
#: pages/more-features.php:62
|
215 |
-
msgid ""
|
216 |
-
"Removes duplicate pages, closes external links, changes the headers of the "
|
217 |
-
"server."
|
218 |
-
msgstr ""
|
219 |
-
"Удаляет дубликаты страниц, закрывает внешние ссылки, изменяет заголовки "
|
220 |
-
"сервера."
|
221 |
-
|
222 |
-
#: pages/more-features.php:69
|
223 |
-
msgid "Site protection"
|
224 |
-
msgstr "Защита сайта"
|
225 |
-
|
226 |
-
#: pages/more-features.php:71
|
227 |
-
msgid "Enables and disables features that improve the protection of your site."
|
228 |
-
msgstr "Включает и отключает функции, которые улучшают защиту вашего сайта."
|
229 |
-
|
230 |
-
#: pages/more-features.php:78
|
231 |
-
msgid "Disable comments"
|
232 |
-
msgstr "Отключает комментарии"
|
233 |
-
|
234 |
-
#: pages/more-features.php:80
|
235 |
-
msgid "Disables comments on the entire site or on specific pages."
|
236 |
-
msgstr "Отключает комментарии на всем сайте или у определенных страниц."
|
237 |
-
|
238 |
-
#: pages/more-features.php:87
|
239 |
-
msgid "Manage updates"
|
240 |
-
msgstr "Менеджер обновлений"
|
241 |
-
|
242 |
-
#: pages/more-features.php:89
|
243 |
-
msgid ""
|
244 |
-
"Enables or disables automatically updates for plugins, themes and core. It "
|
245 |
-
"is also possible\n"
|
246 |
-
"\t\t\t\t\t\t\tto disable all updates."
|
247 |
-
msgstr ""
|
248 |
-
"Включает или отключает автоматические обновление плагинов, тем и ядра. Также "
|
249 |
-
"возможно\n"
|
250 |
-
"отключение всех обновлений."
|
251 |
-
|
252 |
-
#: pages/more-features.php:97
|
253 |
-
msgid "Manage widgets"
|
254 |
-
msgstr "Управление виджетами"
|
255 |
-
|
256 |
-
#: pages/more-features.php:99
|
257 |
-
msgid "Allows you to remove unused widgets."
|
258 |
-
msgstr "Позволяет удалить неиспользуемые виджеты."
|
259 |
-
|
260 |
-
#: pages/more-features.php:106
|
261 |
-
msgid "Speed Optimization"
|
262 |
-
msgstr "Оптимизация производительности"
|
263 |
-
|
264 |
-
#: pages/more-features.php:108
|
265 |
-
msgid ""
|
266 |
-
"Increases performance by disabling unused functions and reducing the number "
|
267 |
-
"of requests."
|
268 |
-
msgstr ""
|
269 |
-
"Повышает производительность, отключая неиспользуемые функции и уменьшая "
|
270 |
-
"количество запросов."
|
271 |
-
|
272 |
-
#: pages/more-features.php:115
|
273 |
-
msgid "Site privacy"
|
274 |
-
msgstr "Конфиденциальность сайта"
|
275 |
-
|
276 |
-
#: pages/more-features.php:117
|
277 |
-
msgid ""
|
278 |
-
"Allows you to hide the version of the site and plugins. Allows you to hide "
|
279 |
-
"your\n"
|
280 |
-
"\t\t\t\t\t\t\tWordPress."
|
281 |
-
msgstr ""
|
282 |
-
"Позволяет скрыть версию сайта и плагинов. Позволяет скрыть ваш\n"
|
283 |
-
"WordPress."
|
284 |
-
|
285 |
-
#: pages/more-features.php:125
|
286 |
-
msgid "Easy setup"
|
287 |
-
msgstr "Простая настройка"
|
288 |
-
|
289 |
-
#: pages/more-features.php:127
|
290 |
-
msgid ""
|
291 |
-
"In quick mode, you can easily configure the plugin according to your needs."
|
292 |
-
msgstr ""
|
293 |
-
"В быстром режиме вы можете легко настроить плагин в соответствии с вашими "
|
294 |
-
"потребностями."
|
295 |
-
|
296 |
-
#: pages/more-features.php:142
|
297 |
-
msgid "Get the ultimate plugin 100% FREE"
|
298 |
-
msgstr "Получить полную версию бесплатно на 100%."
|
299 |
-
|
300 |
-
#~ msgid "component"
|
301 |
-
#~ msgstr "компонент"
|
302 |
-
|
303 |
-
#~ msgid "plugin"
|
304 |
-
#~ msgstr "плагин"
|
305 |
-
|
306 |
-
#~ msgid "Site ptotection"
|
307 |
-
#~ msgstr "Защищает ваш сайт"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/clearfy/langs/{wbcr_factory_clearfy_217-ru_RU.mo → wbcr_factory_clearfy_230-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/clearfy/langs/{wbcr_factory_clearfy_217-ru_RU.po → wbcr_factory_clearfy_230-ru_RU.po}
RENAMED
File without changes
|
libs/factory/clearfy/pages/class-page-license.php
CHANGED
@@ -11,7 +11,7 @@ if( !defined('ABSPATH') ) {
|
|
11 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
12 |
* @since 2.0.7
|
13 |
*/
|
14 |
-
class
|
15 |
|
16 |
/**
|
17 |
* {@inheritdoc}
|
@@ -80,7 +80,7 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
80 |
|
81 |
/**
|
82 |
* @since 2.0.7
|
83 |
-
* @var \WBCR\
|
84 |
*/
|
85 |
protected $premium;
|
86 |
|
@@ -98,7 +98,7 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
98 |
|
99 |
/**
|
100 |
* @since 2.0.7
|
101 |
-
* @var \WBCR\
|
102 |
*/
|
103 |
protected $premium_license;
|
104 |
|
@@ -107,9 +107,9 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
107 |
|
108 |
/**
|
109 |
* {@inheritdoc}
|
110 |
-
* @param
|
111 |
*/
|
112 |
-
public function __construct(
|
113 |
{
|
114 |
$this->plugin = $plugin;
|
115 |
|
@@ -136,8 +136,8 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
136 |
{
|
137 |
parent::assets($scripts, $styles);
|
138 |
|
139 |
-
$this->styles->add(
|
140 |
-
$this->scripts->add(
|
141 |
}
|
142 |
|
143 |
/**
|
@@ -147,7 +147,7 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
147 |
*/
|
148 |
public function ajax_handler()
|
149 |
{
|
150 |
-
|
151 |
}
|
152 |
|
153 |
/**
|
@@ -157,7 +157,7 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
157 |
{
|
158 |
?>
|
159 |
<div id="wcl-license-wrapper"
|
160 |
-
data-loader="<?php echo
|
161 |
data-plugin-name="<?php echo esc_attr($this->plugin_name); ?>"
|
162 |
data-nonce="<?php echo wp_create_nonce("clearfy_activate_license_for_{$this->plugin_name}") ?>">
|
163 |
<?php $this->show_license_form(); ?>
|
@@ -263,11 +263,11 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
263 |
if( $this->is_premium ):
|
264 |
?>
|
265 |
<p style="margin-top: 10px;">
|
266 |
-
<?php printf(__('<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', '
|
267 |
</p>
|
268 |
<?php else: ?>
|
269 |
<p style="margin-top: 10px;">
|
270 |
-
<?php printf(__('Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', '
|
271 |
</p>
|
272 |
<?php endif;
|
273 |
}
|
@@ -279,16 +279,16 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
279 |
{
|
280 |
?>
|
281 |
<div id="license-manager"
|
282 |
-
class="factory-bootstrap-
|
283 |
<div>
|
284 |
-
<h3><?php printf(__('Activate %s', '
|
285 |
<?php echo $this->get_plan_description() ?>
|
286 |
</div>
|
287 |
<br>
|
288 |
<?php if( is_wp_error($notice) ) : ?>
|
289 |
<div class="license-message <?= $this->get_license_type() ?>-license-message">
|
290 |
<div class="alert <?php echo esc_attr($notice->get_error_code()); ?>">
|
291 |
-
<h4 class="alert-heading"><?php _e($notice->get_error_message(), '
|
292 |
</div>
|
293 |
</div>
|
294 |
<?php endif; ?>
|
@@ -298,20 +298,20 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
298 |
<a href="<?php echo $this->plugin->get_support()->get_pricing_url(true, 'license_page'); ?>"
|
299 |
class="purchase-premium" target="_blank" rel="noopener">
|
300 |
<span class="btn btn-gold btn-inner-wrap">
|
301 |
-
<?php _e('Upgrade to Premium', '
|
302 |
</span>
|
303 |
</a>
|
304 |
-
<p><?php printf(__('Your current license for %1$s:', '
|
305 |
<?php endif; ?>
|
306 |
<div class="license-details-block <?= $this->get_license_type() ?>-details-block">
|
307 |
<?php if( $this->is_premium ): ?>
|
308 |
<a data-action="deactivate" href="#"
|
309 |
class="btn btn-default btn-small license-delete-button wcl-control-btn">
|
310 |
-
<?php _e('Delete Key', '
|
311 |
</a>
|
312 |
<a data-action="sync" href="#"
|
313 |
class="btn btn-default btn-small license-synchronization-button wcl-control-btn">
|
314 |
-
<?php _e('Synchronization', '
|
315 |
</a>
|
316 |
<?php endif; ?>
|
317 |
<h3>
|
@@ -330,19 +330,19 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
330 |
<?php endif; ?>
|
331 |
<div class="license-key-description">
|
332 |
<?php if( !$this->is_premium ): ?>
|
333 |
-
<p><?php _e('Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', '
|
334 |
<?php else: ?>
|
335 |
-
<p><?php _e('Сommercial license, only to the premium add-on to this free plugin. You cannot distribute or modify the premium add-on. But free plugin is a GPLv3 compatible license allowing you to change and use this version of the plugin for free.', '
|
336 |
<?php endif; ?>
|
337 |
<?php if( $this->is_premium && $this->premium_has_subscription ): ?>
|
338 |
<p class="activate-trial-hint">
|
339 |
-
<?php _e('You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wcl-control-btn" href="#">cancel subscription</a>', '
|
340 |
</p>
|
341 |
<?php endif; ?>
|
342 |
|
343 |
<?php if( $this->get_license_type() == 'trial' ): ?>
|
344 |
<p class="activate-error-hint">
|
345 |
-
<?php printf(__('Your license has expired, please extend the license to get updates and support.', '
|
346 |
</p>
|
347 |
<?php endif; ?>
|
348 |
</div>
|
@@ -350,19 +350,19 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
350 |
<tr>
|
351 |
<!--<td class="license-param license-param-domain">
|
352 |
<span class="license-value"><?php echo esc_attr($_SERVER['SERVER_NAME']); ?></span>
|
353 |
-
<span class="license-value-name"><?php _e('domain', '
|
354 |
</td>-->
|
355 |
<td class="license-param license-param-days">
|
356 |
<span class="license-value"><?= $this->get_plan() ?></span>
|
357 |
-
<span class="license-value-name"><?php _e('plan', '
|
358 |
</td>
|
359 |
<?php if( $this->is_premium ) : ?>
|
360 |
<td class="license-param license-param-sites">
|
361 |
<span class="license-value">
|
362 |
<?php echo esc_attr($this->premium_license->get_count_active_sites()); ?>
|
363 |
-
<?php _e('of', '
|
364 |
<?php echo esc_attr($this->premium_license->get_sites_quota()); ?></span>
|
365 |
-
<span class="license-value-name"><?php _e('active sites', '
|
366 |
</td>
|
367 |
<?php endif; ?>
|
368 |
<td class="license-param license-param-version">
|
@@ -372,8 +372,8 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
372 |
<?php if( $this->is_premium ): ?>
|
373 |
<td class="license-param license-param-days">
|
374 |
<?php if( $this->get_license_type() == 'trial' ): ?>
|
375 |
-
<span class="license-value"><?php _e('EXPIRED!', '
|
376 |
-
<span class="license-value-name"><?php _e('please update the key', '
|
377 |
<?php else: ?>
|
378 |
<span class="license-value">
|
379 |
<?php
|
@@ -383,9 +383,9 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
383 |
echo $this->get_expiration_days();
|
384 |
}
|
385 |
?>
|
386 |
-
<small> <?php _e('day(s)', '
|
387 |
</span>
|
388 |
-
<span class="license-value-name"><?php _e('remained', '
|
389 |
<?php endif; ?>
|
390 |
</td>
|
391 |
<?php endif; ?>
|
@@ -396,14 +396,14 @@ class Wbcr_FactoryClearfy227_LicensePage extends Wbcr_FactoryClearfy227_PageBase
|
|
396 |
<div class="license-input">
|
397 |
<form action="" method="post">
|
398 |
<?php if($this->is_premium): ?>
|
399 |
-
<p><?php _e('Have a key to activate the premium version? Paste it here:', '
|
400 |
<?php else: ?>
|
401 |
-
<p><?php _e('Have a key to activate the plugin? Paste it here:', '
|
402 |
<p>
|
403 |
<?php endif; ?>
|
404 |
<button data-action="activate" class="btn btn-default wcl-control-btn" type="button"
|
405 |
id="license-submit">
|
406 |
-
<?php _e('Submit Key', '
|
407 |
</button>
|
408 |
<div class="license-key-wrap">
|
409 |
<input type="text" id="license-key" name="licensekey" value="" class="form-control"/>
|
11 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
12 |
* @since 2.0.7
|
13 |
*/
|
14 |
+
class Wbcr_FactoryClearfy230_LicensePage extends Wbcr_FactoryClearfy230_PageBase {
|
15 |
|
16 |
/**
|
17 |
* {@inheritdoc}
|
80 |
|
81 |
/**
|
82 |
* @since 2.0.7
|
83 |
+
* @var \WBCR\Factory_439\Premium\Provider
|
84 |
*/
|
85 |
protected $premium;
|
86 |
|
98 |
|
99 |
/**
|
100 |
* @since 2.0.7
|
101 |
+
* @var \WBCR\Factory_439\Premium\Interfaces\License
|
102 |
*/
|
103 |
protected $premium_license;
|
104 |
|
107 |
|
108 |
/**
|
109 |
* {@inheritdoc}
|
110 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
111 |
*/
|
112 |
+
public function __construct(Wbcr_Factory439_Plugin $plugin)
|
113 |
{
|
114 |
$this->plugin = $plugin;
|
115 |
|
136 |
{
|
137 |
parent::assets($scripts, $styles);
|
138 |
|
139 |
+
$this->styles->add(FACTORY_CLEARFY_230_URL . '/assets/css/license-manager.css');
|
140 |
+
$this->scripts->add(FACTORY_CLEARFY_230_URL . '/assets/js/clearfy-license-manager.js');
|
141 |
}
|
142 |
|
143 |
/**
|
147 |
*/
|
148 |
public function ajax_handler()
|
149 |
{
|
150 |
+
wbcr_factory_clearfy_230_check_license($this->plugin);
|
151 |
}
|
152 |
|
153 |
/**
|
157 |
{
|
158 |
?>
|
159 |
<div id="wcl-license-wrapper"
|
160 |
+
data-loader="<?php echo FACTORY_CLEARFY_230_URL . '/assets/img/loader.gif'; ?>"
|
161 |
data-plugin-name="<?php echo esc_attr($this->plugin_name); ?>"
|
162 |
data-nonce="<?php echo wp_create_nonce("clearfy_activate_license_for_{$this->plugin_name}") ?>">
|
163 |
<?php $this->show_license_form(); ?>
|
263 |
if( $this->is_premium ):
|
264 |
?>
|
265 |
<p style="margin-top: 10px;">
|
266 |
+
<?php printf(__('<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'wbcr_factory_clearfy_230'), $this->plugin->get_support()->get_pricing_url(true, 'license_page')); ?>
|
267 |
</p>
|
268 |
<?php else: ?>
|
269 |
<p style="margin-top: 10px;">
|
270 |
+
<?php printf(__('Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'wbcr_factory_clearfy_230'), $this->plugin->get_support()->get_contacts_url(true, 'license_page')) ?>
|
271 |
</p>
|
272 |
<?php endif;
|
273 |
}
|
279 |
{
|
280 |
?>
|
281 |
<div id="license-manager"
|
282 |
+
class="factory-bootstrap-439 onp-page-wrap <?= $this->get_license_type() ?>-license-manager-content">
|
283 |
<div>
|
284 |
+
<h3><?php printf(__('Activate %s', 'wbcr_factory_clearfy_230'), $this->plan_name) ?></h3>
|
285 |
<?php echo $this->get_plan_description() ?>
|
286 |
</div>
|
287 |
<br>
|
288 |
<?php if( is_wp_error($notice) ) : ?>
|
289 |
<div class="license-message <?= $this->get_license_type() ?>-license-message">
|
290 |
<div class="alert <?php echo esc_attr($notice->get_error_code()); ?>">
|
291 |
+
<h4 class="alert-heading"><?php _e($notice->get_error_message(), 'wbcr_factory_clearfy_230') ?></h4>
|
292 |
</div>
|
293 |
</div>
|
294 |
<?php endif; ?>
|
298 |
<a href="<?php echo $this->plugin->get_support()->get_pricing_url(true, 'license_page'); ?>"
|
299 |
class="purchase-premium" target="_blank" rel="noopener">
|
300 |
<span class="btn btn-gold btn-inner-wrap">
|
301 |
+
<?php _e('Upgrade to Premium', 'wbcr_factory_clearfy_230') ?>
|
302 |
</span>
|
303 |
</a>
|
304 |
+
<p><?php printf(__('Your current license for %1$s:', 'wbcr_factory_clearfy_230'), $this->plugin->getPluginTitle()) ?></p>
|
305 |
<?php endif; ?>
|
306 |
<div class="license-details-block <?= $this->get_license_type() ?>-details-block">
|
307 |
<?php if( $this->is_premium ): ?>
|
308 |
<a data-action="deactivate" href="#"
|
309 |
class="btn btn-default btn-small license-delete-button wcl-control-btn">
|
310 |
+
<?php _e('Delete Key', 'wbcr_factory_clearfy_230') ?>
|
311 |
</a>
|
312 |
<a data-action="sync" href="#"
|
313 |
class="btn btn-default btn-small license-synchronization-button wcl-control-btn">
|
314 |
+
<?php _e('Synchronization', 'wbcr_factory_clearfy_230') ?>
|
315 |
</a>
|
316 |
<?php endif; ?>
|
317 |
<h3>
|
330 |
<?php endif; ?>
|
331 |
<div class="license-key-description">
|
332 |
<?php if( !$this->is_premium ): ?>
|
333 |
+
<p><?php _e('Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'wbcr_factory_clearfy_230') ?></p>
|
334 |
<?php else: ?>
|
335 |
+
<p><?php _e('Сommercial license, only to the premium add-on to this free plugin. You cannot distribute or modify the premium add-on. But free plugin is a GPLv3 compatible license allowing you to change and use this version of the plugin for free.', 'wbcr_factory_clearfy_230') ?></p>
|
336 |
<?php endif; ?>
|
337 |
<?php if( $this->is_premium && $this->premium_has_subscription ): ?>
|
338 |
<p class="activate-trial-hint">
|
339 |
+
<?php _e('You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wcl-control-btn" href="#">cancel subscription</a>', 'wbcr_factory_clearfy_230') ?>
|
340 |
</p>
|
341 |
<?php endif; ?>
|
342 |
|
343 |
<?php if( $this->get_license_type() == 'trial' ): ?>
|
344 |
<p class="activate-error-hint">
|
345 |
+
<?php printf(__('Your license has expired, please extend the license to get updates and support.', 'wbcr_factory_clearfy_230'), '') ?>
|
346 |
</p>
|
347 |
<?php endif; ?>
|
348 |
</div>
|
350 |
<tr>
|
351 |
<!--<td class="license-param license-param-domain">
|
352 |
<span class="license-value"><?php echo esc_attr($_SERVER['SERVER_NAME']); ?></span>
|
353 |
+
<span class="license-value-name"><?php _e('domain', 'wbcr_factory_clearfy_230') ?></span>
|
354 |
</td>-->
|
355 |
<td class="license-param license-param-days">
|
356 |
<span class="license-value"><?= $this->get_plan() ?></span>
|
357 |
+
<span class="license-value-name"><?php _e('plan', 'wbcr_factory_clearfy_230') ?></span>
|
358 |
</td>
|
359 |
<?php if( $this->is_premium ) : ?>
|
360 |
<td class="license-param license-param-sites">
|
361 |
<span class="license-value">
|
362 |
<?php echo esc_attr($this->premium_license->get_count_active_sites()); ?>
|
363 |
+
<?php _e('of', 'wbcr_factory_clearfy_230') ?>
|
364 |
<?php echo esc_attr($this->premium_license->get_sites_quota()); ?></span>
|
365 |
+
<span class="license-value-name"><?php _e('active sites', 'wbcr_factory_clearfy_230') ?></span>
|
366 |
</td>
|
367 |
<?php endif; ?>
|
368 |
<td class="license-param license-param-version">
|
372 |
<?php if( $this->is_premium ): ?>
|
373 |
<td class="license-param license-param-days">
|
374 |
<?php if( $this->get_license_type() == 'trial' ): ?>
|
375 |
+
<span class="license-value"><?php _e('EXPIRED!', 'wbcr_factory_clearfy_230') ?></span>
|
376 |
+
<span class="license-value-name"><?php _e('please update the key', 'wbcr_factory_clearfy_230') ?></span>
|
377 |
<?php else: ?>
|
378 |
<span class="license-value">
|
379 |
<?php
|
383 |
echo $this->get_expiration_days();
|
384 |
}
|
385 |
?>
|
386 |
+
<small> <?php _e('day(s)', 'wbcr_factory_clearfy_230') ?></small>
|
387 |
</span>
|
388 |
+
<span class="license-value-name"><?php _e('remained', 'wbcr_factory_clearfy_230') ?></span>
|
389 |
<?php endif; ?>
|
390 |
</td>
|
391 |
<?php endif; ?>
|
396 |
<div class="license-input">
|
397 |
<form action="" method="post">
|
398 |
<?php if($this->is_premium): ?>
|
399 |
+
<p><?php _e('Have a key to activate the premium version? Paste it here:', 'wbcr_factory_clearfy_230') ?><p>
|
400 |
<?php else: ?>
|
401 |
+
<p><?php _e('Have a key to activate the plugin? Paste it here:', 'wbcr_factory_clearfy_230') ?>
|
402 |
<p>
|
403 |
<?php endif; ?>
|
404 |
<button data-action="activate" class="btn btn-default wcl-control-btn" type="button"
|
405 |
id="license-submit">
|
406 |
+
<?php _e('Submit Key', 'wbcr_factory_clearfy_230') ?>
|
407 |
</button>
|
408 |
<div class="license-key-wrap">
|
409 |
<input type="text" id="license-key" name="licensekey" value="" class="form-control"/>
|
libs/factory/clearfy/pages/class-page-more-features.php
CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
}
|
16 |
|
17 |
|
18 |
-
class
|
19 |
|
20 |
/**
|
21 |
* {@inheritDoc}
|
@@ -60,8 +60,8 @@ class Wbcr_FactoryClearfy227_MoreFeaturesPage extends Wbcr_FactoryPages435_Impre
|
|
60 |
*/
|
61 |
public $internal = true;
|
62 |
|
63 |
-
public function __construct(
|
64 |
-
$this->menu_title = __( 'More features (<b>free</b>)', '
|
65 |
|
66 |
parent::__construct( $plugin );
|
67 |
|
@@ -74,7 +74,7 @@ class Wbcr_FactoryClearfy227_MoreFeaturesPage extends Wbcr_FactoryPages435_Impre
|
|
74 |
* @return string
|
75 |
*/
|
76 |
public function getPageTitle() {
|
77 |
-
return __( 'More features', '
|
78 |
}
|
79 |
|
80 |
/**
|
@@ -88,66 +88,66 @@ class Wbcr_FactoryClearfy227_MoreFeaturesPage extends Wbcr_FactoryPages435_Impre
|
|
88 |
<div class="col-sm-4">
|
89 |
<div class="wbcr-factory-feature-box">
|
90 |
<span class="dashicons dashicons-yes"></span>
|
91 |
-
<h3><?php _e( 'Code cleaning', '
|
92 |
-
<p><?php _e( 'Clears the source code of the page from unused code.', '
|
93 |
</div>
|
94 |
</div>
|
95 |
<div class="col-sm-4">
|
96 |
<div class="wbcr-factory-feature-box">
|
97 |
<span class="dashicons dashicons-chart-bar"></span>
|
98 |
-
<h3><?php _e( 'Improve SEO', '
|
99 |
-
<p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', '
|
100 |
</div>
|
101 |
</div>
|
102 |
<div class="col-sm-4">
|
103 |
<div class="wbcr-factory-feature-box">
|
104 |
<span class="dashicons dashicons-shield-alt"></span>
|
105 |
-
<h3><?php _e( 'Site protection', '
|
106 |
-
<p><?php _e( 'Enables and disables features that improve the protection of your site.', '
|
107 |
</div>
|
108 |
</div>
|
109 |
<div class="col-sm-4">
|
110 |
<div class="wbcr-factory-feature-box">
|
111 |
<span class="dashicons dashicons-welcome-comments"></span>
|
112 |
-
<h3><?php _e( 'Disable comments', '
|
113 |
-
<p><?php _e( 'Disables comments on the entire site or on specific pages.', '
|
114 |
</div>
|
115 |
</div>
|
116 |
<div class="col-sm-4">
|
117 |
<div class="wbcr-factory-feature-box">
|
118 |
<span class="dashicons dashicons-update"></span>
|
119 |
-
<h3><?php _e( 'Manage updates', '
|
120 |
<p><?php _e( 'Enables or disables automatically updates for plugins, themes and core. It is also possible
|
121 |
-
to disable all updates.', '
|
122 |
</div>
|
123 |
</div>
|
124 |
<div class="col-sm-4">
|
125 |
<div class="wbcr-factory-feature-box">
|
126 |
<span class="dashicons dashicons-admin-plugins"></span>
|
127 |
-
<h3><?php _e( 'Manage widgets', '
|
128 |
-
<p><?php _e( 'Allows you to remove unused widgets.', '
|
129 |
</div>
|
130 |
</div>
|
131 |
<div class="col-sm-4">
|
132 |
<div class="wbcr-factory-feature-box">
|
133 |
<span class="dashicons dashicons-dashboard"></span>
|
134 |
-
<h3><?php _e( 'Speed Optimization', '
|
135 |
-
<p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', '
|
136 |
</div>
|
137 |
</div>
|
138 |
<div class="col-sm-4">
|
139 |
<div class="wbcr-factory-feature-box">
|
140 |
<span class="dashicons dashicons-visibility"></span>
|
141 |
-
<h3><?php _e( 'Site privacy', '
|
142 |
<p><?php _e( 'Allows you to hide the version of the site and plugins. Allows you to hide your
|
143 |
-
WordPress.', '
|
144 |
</div>
|
145 |
</div>
|
146 |
<div class="col-sm-4">
|
147 |
<div class="wbcr-factory-feature-box">
|
148 |
<span class="dashicons dashicons-admin-settings"></span>
|
149 |
-
<h3><?php _e( 'Easy setup', '
|
150 |
-
<p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', '
|
151 |
</div>
|
152 |
</div>
|
153 |
</div>
|
@@ -161,7 +161,7 @@ class Wbcr_FactoryClearfy227_MoreFeaturesPage extends Wbcr_FactoryPages435_Impre
|
|
161 |
$url .= '?utm_source=wordpress.org&utm_campaign=' . $this->plugin->getPluginName();
|
162 |
?>
|
163 |
<a href="<?= $url ?>" class="wbcr-factory-premium-button" target="_blank">
|
164 |
-
<?php _e( 'Get the ultimate plugin 100% FREE', '
|
165 |
</a>
|
166 |
</div>
|
167 |
<?php
|
15 |
}
|
16 |
|
17 |
|
18 |
+
class Wbcr_FactoryClearfy230_MoreFeaturesPage extends Wbcr_FactoryPages438_ImpressiveThemplate {
|
19 |
|
20 |
/**
|
21 |
* {@inheritDoc}
|
60 |
*/
|
61 |
public $internal = true;
|
62 |
|
63 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
64 |
+
$this->menu_title = __( 'More features (<b>free</b>)', 'wbcr_factory_clearfy_230' );
|
65 |
|
66 |
parent::__construct( $plugin );
|
67 |
|
74 |
* @return string
|
75 |
*/
|
76 |
public function getPageTitle() {
|
77 |
+
return __( 'More features', 'wbcr_factory_clearfy_230' );
|
78 |
}
|
79 |
|
80 |
/**
|
88 |
<div class="col-sm-4">
|
89 |
<div class="wbcr-factory-feature-box">
|
90 |
<span class="dashicons dashicons-yes"></span>
|
91 |
+
<h3><?php _e( 'Code cleaning', 'wbcr_factory_clearfy_230' ) ?></h3>
|
92 |
+
<p><?php _e( 'Clears the source code of the page from unused code.', 'wbcr_factory_clearfy_230' ) ?></p>
|
93 |
</div>
|
94 |
</div>
|
95 |
<div class="col-sm-4">
|
96 |
<div class="wbcr-factory-feature-box">
|
97 |
<span class="dashicons dashicons-chart-bar"></span>
|
98 |
+
<h3><?php _e( 'Improve SEO', 'wbcr_factory_clearfy_230' ) ?></h3>
|
99 |
+
<p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', 'wbcr_factory_clearfy_230' ) ?></p>
|
100 |
</div>
|
101 |
</div>
|
102 |
<div class="col-sm-4">
|
103 |
<div class="wbcr-factory-feature-box">
|
104 |
<span class="dashicons dashicons-shield-alt"></span>
|
105 |
+
<h3><?php _e( 'Site protection', 'wbcr_factory_clearfy_230' ) ?></h3>
|
106 |
+
<p><?php _e( 'Enables and disables features that improve the protection of your site.', 'wbcr_factory_clearfy_230' ) ?></p>
|
107 |
</div>
|
108 |
</div>
|
109 |
<div class="col-sm-4">
|
110 |
<div class="wbcr-factory-feature-box">
|
111 |
<span class="dashicons dashicons-welcome-comments"></span>
|
112 |
+
<h3><?php _e( 'Disable comments', 'wbcr_factory_clearfy_230' ) ?></h3>
|
113 |
+
<p><?php _e( 'Disables comments on the entire site or on specific pages.', 'wbcr_factory_clearfy_230' ) ?></p>
|
114 |
</div>
|
115 |
</div>
|
116 |
<div class="col-sm-4">
|
117 |
<div class="wbcr-factory-feature-box">
|
118 |
<span class="dashicons dashicons-update"></span>
|
119 |
+
<h3><?php _e( 'Manage updates', 'wbcr_factory_clearfy_230' ) ?></h3>
|
120 |
<p><?php _e( 'Enables or disables automatically updates for plugins, themes and core. It is also possible
|
121 |
+
to disable all updates.', 'wbcr_factory_clearfy_230' ) ?></p>
|
122 |
</div>
|
123 |
</div>
|
124 |
<div class="col-sm-4">
|
125 |
<div class="wbcr-factory-feature-box">
|
126 |
<span class="dashicons dashicons-admin-plugins"></span>
|
127 |
+
<h3><?php _e( 'Manage widgets', 'wbcr_factory_clearfy_230' ) ?></h3>
|
128 |
+
<p><?php _e( 'Allows you to remove unused widgets.', 'wbcr_factory_clearfy_230' ) ?></p>
|
129 |
</div>
|
130 |
</div>
|
131 |
<div class="col-sm-4">
|
132 |
<div class="wbcr-factory-feature-box">
|
133 |
<span class="dashicons dashicons-dashboard"></span>
|
134 |
+
<h3><?php _e( 'Speed Optimization', 'wbcr_factory_clearfy_230' ) ?></h3>
|
135 |
+
<p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', 'wbcr_factory_clearfy_230' ) ?></p>
|
136 |
</div>
|
137 |
</div>
|
138 |
<div class="col-sm-4">
|
139 |
<div class="wbcr-factory-feature-box">
|
140 |
<span class="dashicons dashicons-visibility"></span>
|
141 |
+
<h3><?php _e( 'Site privacy', 'wbcr_factory_clearfy_230' ) ?></h3>
|
142 |
<p><?php _e( 'Allows you to hide the version of the site and plugins. Allows you to hide your
|
143 |
+
WordPress.', 'wbcr_factory_clearfy_230' ) ?></p>
|
144 |
</div>
|
145 |
</div>
|
146 |
<div class="col-sm-4">
|
147 |
<div class="wbcr-factory-feature-box">
|
148 |
<span class="dashicons dashicons-admin-settings"></span>
|
149 |
+
<h3><?php _e( 'Easy setup', 'wbcr_factory_clearfy_230' ) ?></h3>
|
150 |
+
<p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', 'wbcr_factory_clearfy_230' ) ?></p>
|
151 |
</div>
|
152 |
</div>
|
153 |
</div>
|
161 |
$url .= '?utm_source=wordpress.org&utm_campaign=' . $this->plugin->getPluginName();
|
162 |
?>
|
163 |
<a href="<?= $url ?>" class="wbcr-factory-premium-button" target="_blank">
|
164 |
+
<?php _e( 'Get the ultimate plugin 100% FREE', 'wbcr_factory_clearfy_230' ) ?>
|
165 |
</a>
|
166 |
</div>
|
167 |
<?php
|
libs/factory/clearfy/pages/class-page-setup.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if( !defined('ABSPATH') ) {
|
@@ -10,15 +10,15 @@ if( !defined('ABSPATH') ) {
|
|
10 |
/**
|
11 |
* Класс страницы, которая реализует функции мастера установки.
|
12 |
*
|
13 |
-
* Этот класс унаследован от стандартного шаблона страницы \
|
14 |
* поэтому все его инструменты могут быть применены и в этом классе. Но вы должны учитывать, что
|
15 |
* поведение экшенов страницы было изменено. В данной реализации экшены используется для пагинации шагов.
|
16 |
*
|
17 |
-
* @package WBCR\
|
18 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
19 |
* @since 2.2.2
|
20 |
*/
|
21 |
-
class Setup extends \
|
22 |
|
23 |
const DEFAULT_STEP = 'step0';
|
24 |
|
@@ -68,20 +68,20 @@ class Setup extends \Wbcr_FactoryPages435_ImpressiveThemplate {
|
|
68 |
private $steps = [];
|
69 |
|
70 |
/**
|
71 |
-
* @param \
|
72 |
*/
|
73 |
-
public function __construct(\
|
74 |
{
|
75 |
$this->id = 'setup';
|
76 |
|
77 |
-
$this->menu_title = __('Setup master', '
|
78 |
-
$this->page_menu_short_description = __('Setup master', '
|
79 |
parent::__construct($plugin);
|
80 |
}
|
81 |
|
82 |
public function getPageTitle()
|
83 |
{
|
84 |
-
return __('Setup', '
|
85 |
}
|
86 |
|
87 |
public function get_close_wizard_url()
|
@@ -135,18 +135,18 @@ class Setup extends \Wbcr_FactoryPages435_ImpressiveThemplate {
|
|
135 |
/**
|
136 |
* Requests assets (js and css) for the page.
|
137 |
*
|
138 |
-
* @param \
|
139 |
-
* @param \
|
140 |
*
|
141 |
* @return void
|
142 |
-
* @see
|
143 |
*
|
144 |
*/
|
145 |
public function assets($scripts, $styles)
|
146 |
{
|
147 |
parent::assets($scripts, $styles);
|
148 |
|
149 |
-
$this->styles->add(
|
150 |
|
151 |
// Require step assets
|
152 |
if( isset($_GET['action']) && false !== strpos($_GET['action'], 'step') && isset($this->steps[$_GET['action']]) ) {
|
@@ -163,8 +163,8 @@ class Setup extends \Wbcr_FactoryPages435_ImpressiveThemplate {
|
|
163 |
protected function showPage($content = null)
|
164 |
{
|
165 |
?>
|
166 |
-
<div class="w-factory-clearfy-
|
167 |
-
<ol class="w-factory-clearfy-
|
168 |
<?php foreach($this->steps as $step): ?>
|
169 |
<?php if( self::DEFAULT_STEP === $step->get_id() ) {
|
170 |
continue;
|
@@ -172,11 +172,11 @@ class Setup extends \Wbcr_FactoryPages435_ImpressiveThemplate {
|
|
172 |
<li <?php if($this->current_step === $step->get_id()): ?>class="active"<?php endif; ?>><?php echo $step->get_title(); ?></li>
|
173 |
<?php endforeach; ?>
|
174 |
</ol>
|
175 |
-
<div class="w-factory-clearfy-
|
176 |
<?php echo $content; ?>
|
177 |
</div>
|
178 |
-
<a class="w-factory-clearfy-
|
179 |
-
<?php _e('Not now', '
|
180 |
</a>
|
181 |
</div>
|
182 |
<?php
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if( !defined('ABSPATH') ) {
|
10 |
/**
|
11 |
* Класс страницы, которая реализует функции мастера установки.
|
12 |
*
|
13 |
+
* Этот класс унаследован от стандартного шаблона страницы \Wbcr_FactoryPages438_ImpressiveThemplate,
|
14 |
* поэтому все его инструменты могут быть применены и в этом классе. Но вы должны учитывать, что
|
15 |
* поведение экшенов страницы было изменено. В данной реализации экшены используется для пагинации шагов.
|
16 |
*
|
17 |
+
* @package WBCR\FactoryClearfy230\Pages
|
18 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
19 |
* @since 2.2.2
|
20 |
*/
|
21 |
+
class Setup extends \Wbcr_FactoryPages438_ImpressiveThemplate {
|
22 |
|
23 |
const DEFAULT_STEP = 'step0';
|
24 |
|
68 |
private $steps = [];
|
69 |
|
70 |
/**
|
71 |
+
* @param \Wbcr_Factory439_Plugin $plugin
|
72 |
*/
|
73 |
+
public function __construct(\Wbcr_Factory439_Plugin $plugin)
|
74 |
{
|
75 |
$this->id = 'setup';
|
76 |
|
77 |
+
$this->menu_title = __('Setup master', 'wbcr_factory_clearfy_230');
|
78 |
+
$this->page_menu_short_description = __('Setup master', 'wbcr_factory_clearfy_230');
|
79 |
parent::__construct($plugin);
|
80 |
}
|
81 |
|
82 |
public function getPageTitle()
|
83 |
{
|
84 |
+
return __('Setup', 'wbcr_factory_clearfy_230');
|
85 |
}
|
86 |
|
87 |
public function get_close_wizard_url()
|
135 |
/**
|
136 |
* Requests assets (js and css) for the page.
|
137 |
*
|
138 |
+
* @param \Wbcr_Factory439_ScriptList $scripts
|
139 |
+
* @param \Wbcr_Factory439_StyleList $styles
|
140 |
*
|
141 |
* @return void
|
142 |
+
* @see Wbcr_FactoryPages438_AdminPage
|
143 |
*
|
144 |
*/
|
145 |
public function assets($scripts, $styles)
|
146 |
{
|
147 |
parent::assets($scripts, $styles);
|
148 |
|
149 |
+
$this->styles->add(FACTORY_CLEARFY_230_URL . '/assets/css/page-setup.css');
|
150 |
|
151 |
// Require step assets
|
152 |
if( isset($_GET['action']) && false !== strpos($_GET['action'], 'step') && isset($this->steps[$_GET['action']]) ) {
|
163 |
protected function showPage($content = null)
|
164 |
{
|
165 |
?>
|
166 |
+
<div class="w-factory-clearfy-230-setup">
|
167 |
+
<ol class="w-factory-clearfy-230-setup-steps">
|
168 |
<?php foreach($this->steps as $step): ?>
|
169 |
<?php if( self::DEFAULT_STEP === $step->get_id() ) {
|
170 |
continue;
|
172 |
<li <?php if($this->current_step === $step->get_id()): ?>class="active"<?php endif; ?>><?php echo $step->get_title(); ?></li>
|
173 |
<?php endforeach; ?>
|
174 |
</ol>
|
175 |
+
<div class="w-factory-clearfy-230-setup-content">
|
176 |
<?php echo $content; ?>
|
177 |
</div>
|
178 |
+
<a class="w-factory-clearfy-230-setup-footer-links" href="<?php echo esc_url($this->get_close_wizard_url()); ?>">
|
179 |
+
<?php _e('Not now', 'wbcr_factory_clearfy_230') ?>
|
180 |
</a>
|
181 |
</div>
|
182 |
<?php
|
libs/factory/clearfy/pages/class-pages-components.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
/**
|
6 |
* This file is the add-ons page.
|
@@ -16,7 +16,7 @@ if( !defined('ABSPATH') ) {
|
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
-
class Components extends \
|
20 |
|
21 |
/**
|
22 |
* The id of the page in the admin menu.
|
@@ -24,7 +24,7 @@ class Components extends \Wbcr_FactoryClearfy227_PageBase {
|
|
24 |
* Mainly used to navigate between pages.
|
25 |
*
|
26 |
* @since 1.0.0
|
27 |
-
* @see
|
28 |
*
|
29 |
* @var string
|
30 |
*/
|
@@ -41,12 +41,12 @@ class Components extends \Wbcr_FactoryClearfy227_PageBase {
|
|
41 |
public $available_for_multisite = true;
|
42 |
|
43 |
/**
|
44 |
-
* @param \
|
45 |
*/
|
46 |
-
public function __construct(\
|
47 |
{
|
48 |
-
$this->menu_title = __('Components', '
|
49 |
-
$this->page_menu_short_description = __('More features for plugin', '
|
50 |
|
51 |
parent::__construct($plugin);
|
52 |
|
@@ -58,18 +58,18 @@ class Components extends \Wbcr_FactoryClearfy227_PageBase {
|
|
58 |
*
|
59 |
* @return void
|
60 |
* @since 1.0.0
|
61 |
-
* @see
|
62 |
*
|
63 |
*/
|
64 |
public function assets($scripts, $styles)
|
65 |
{
|
66 |
parent::assets($scripts, $styles);
|
67 |
|
68 |
-
$this->styles->add(
|
69 |
|
70 |
/**
|
71 |
-
* @param \
|
72 |
-
* @param \
|
73 |
* @since 1.4.0
|
74 |
*
|
75 |
*/
|
@@ -80,10 +80,10 @@ class Components extends \Wbcr_FactoryClearfy227_PageBase {
|
|
80 |
* We register notifications for some actions
|
81 |
*
|
82 |
* @param $notices
|
83 |
-
* @param \
|
84 |
*
|
85 |
* @return array
|
86 |
-
* @see libs\factory\pages\themplates\
|
87 |
*/
|
88 |
public function getActionNotices($notices)
|
89 |
{
|
@@ -92,7 +92,7 @@ class Components extends \Wbcr_FactoryClearfy227_PageBase {
|
|
92 |
'wbcr-force-update-components-success' => 1
|
93 |
],
|
94 |
'type' => 'success',
|
95 |
-
'message' => __('Components have been successfully updated to the latest version.', '
|
96 |
];
|
97 |
|
98 |
$notices[] = [
|
@@ -100,7 +100,7 @@ class Components extends \Wbcr_FactoryClearfy227_PageBase {
|
|
100 |
'wbcr-force-update-components-error' => 'inactive_licence'
|
101 |
],
|
102 |
'type' => 'danger',
|
103 |
-
'message' => __('To use premium components, you need activate a license!', '
|
104 |
];
|
105 |
|
106 |
$notices[] = [
|
@@ -173,12 +173,12 @@ class Components extends \Wbcr_FactoryClearfy227_PageBase {
|
|
173 |
$components = apply_filters('wbcr/clearfy/components/items_list', $components);
|
174 |
|
175 |
?>
|
176 |
-
<div class="wbcr-factory-page-group-header"><?php _e('<strong>Plugin Components</strong>.', '
|
177 |
<p>
|
178 |
-
<?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.', '
|
179 |
</p>
|
180 |
</div>
|
181 |
-
<div class="wbc-factory-clearfy-
|
182 |
<?php
|
183 |
/**
|
184 |
* @since 1.4.0
|
@@ -228,7 +228,7 @@ class Components extends \Wbcr_FactoryClearfy227_PageBase {
|
|
228 |
</div>
|
229 |
<div class="plugin-card-bottom">
|
230 |
<?php if( 'premium' === $component['build'] && !($this->plugin->premium->is_activate() && $this->plugin->premium->is_install_package()) ): ?>
|
231 |
-
<a target="_blank" href="<?php echo esc_url($component['url']) ?>" class="button button-default install-now"><?php _e('Read more', '
|
232 |
<?php else: ?>
|
233 |
<?php $delete_button->render_button(); ?><?php $install_button->render_button(); ?>
|
234 |
<?php endif; ?>
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
|
5 |
/**
|
6 |
* This file is the add-ons page.
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
+
class Components extends \Wbcr_FactoryClearfy230_PageBase {
|
20 |
|
21 |
/**
|
22 |
* The id of the page in the admin menu.
|
24 |
* Mainly used to navigate between pages.
|
25 |
*
|
26 |
* @since 1.0.0
|
27 |
+
* @see FactoryPages438_AdminPage
|
28 |
*
|
29 |
* @var string
|
30 |
*/
|
41 |
public $available_for_multisite = true;
|
42 |
|
43 |
/**
|
44 |
+
* @param \Wbcr_Factory439_Plugin $plugin
|
45 |
*/
|
46 |
+
public function __construct(\Wbcr_Factory439_Plugin $plugin)
|
47 |
{
|
48 |
+
$this->menu_title = __('Components', 'wbcr_factory_clearfy_230');
|
49 |
+
$this->page_menu_short_description = __('More features for plugin', 'wbcr_factory_clearfy_230');
|
50 |
|
51 |
parent::__construct($plugin);
|
52 |
|
58 |
*
|
59 |
* @return void
|
60 |
* @since 1.0.0
|
61 |
+
* @see FactoryPages438_AdminPage
|
62 |
*
|
63 |
*/
|
64 |
public function assets($scripts, $styles)
|
65 |
{
|
66 |
parent::assets($scripts, $styles);
|
67 |
|
68 |
+
$this->styles->add(FACTORY_CLEARFY_230_URL . '/assets/css/components.css');
|
69 |
|
70 |
/**
|
71 |
+
* @param \Wbcr_Factory439_StyleList $styles
|
72 |
+
* @param \Wbcr_Factory439_ScriptList $scripts
|
73 |
* @since 1.4.0
|
74 |
*
|
75 |
*/
|
80 |
* We register notifications for some actions
|
81 |
*
|
82 |
* @param $notices
|
83 |
+
* @param \Wbcr_Factory439_Plugin $plugin
|
84 |
*
|
85 |
* @return array
|
86 |
+
* @see libs\factory\pages\themplates\FactoryPages438_ImpressiveThemplate
|
87 |
*/
|
88 |
public function getActionNotices($notices)
|
89 |
{
|
92 |
'wbcr-force-update-components-success' => 1
|
93 |
],
|
94 |
'type' => 'success',
|
95 |
+
'message' => __('Components have been successfully updated to the latest version.', 'wbcr_factory_clearfy_230')
|
96 |
];
|
97 |
|
98 |
$notices[] = [
|
100 |
'wbcr-force-update-components-error' => 'inactive_licence'
|
101 |
],
|
102 |
'type' => 'danger',
|
103 |
+
'message' => __('To use premium components, you need activate a license!', 'wbcr_factory_clearfy_230') . '<a href="admin.php?page=license-wbcr_clearfy" class="btn btn-gold">' . __('Activate license', 'wbcr_factory_clearfy_230') . '</a>'
|
104 |
];
|
105 |
|
106 |
$notices[] = [
|
173 |
$components = apply_filters('wbcr/clearfy/components/items_list', $components);
|
174 |
|
175 |
?>
|
176 |
+
<div class="wbcr-factory-page-group-header"><?php _e('<strong>Plugin Components</strong>.', 'wbcr_factory_clearfy_230') ?>
|
177 |
<p>
|
178 |
+
<?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.', 'wbcr_factory_clearfy_230') ?>
|
179 |
</p>
|
180 |
</div>
|
181 |
+
<div class="wbc-factory-clearfy-230-components">
|
182 |
<?php
|
183 |
/**
|
184 |
* @since 1.4.0
|
228 |
</div>
|
229 |
<div class="plugin-card-bottom">
|
230 |
<?php if( 'premium' === $component['build'] && !($this->plugin->premium->is_activate() && $this->plugin->premium->is_install_package()) ): ?>
|
231 |
+
<a target="_blank" href="<?php echo esc_url($component['url']) ?>" class="button button-default install-now"><?php _e('Read more', 'wbcr_factory_clearfy_230'); ?></a>
|
232 |
<?php else: ?>
|
233 |
<?php $delete_button->render_button(); ?><?php $install_button->render_button(); ?>
|
234 |
<?php endif; ?>
|
libs/factory/clearfy/pages/class-pages.php
CHANGED
@@ -14,15 +14,16 @@ if( !defined('ABSPATH') ) {
|
|
14 |
}
|
15 |
|
16 |
/**
|
17 |
-
* Class
|
18 |
*
|
19 |
* @method string getInfoWidget() - get widget content information
|
20 |
* @method string getRatingWidget(array $args = []) - get widget content rating
|
21 |
* @method string getDonateWidget() - get widget content donate
|
|
|
22 |
* @method string getBusinessSuggetionWidget()
|
23 |
* @method string getSupportWidget
|
24 |
*/
|
25 |
-
class
|
26 |
|
27 |
/**
|
28 |
* {@inheritDoc}
|
@@ -57,9 +58,9 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
57 |
public $show_search_options_form = true;
|
58 |
|
59 |
/**
|
60 |
-
* @param
|
61 |
*/
|
62 |
-
public function __construct(
|
63 |
{
|
64 |
parent::__construct($plugin);
|
65 |
|
@@ -95,30 +96,38 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
95 |
/**
|
96 |
* Requests assets (js and css) for the page.
|
97 |
*
|
98 |
-
* @param
|
99 |
-
* @param
|
100 |
*
|
101 |
* @return void
|
102 |
-
* @see
|
103 |
*
|
104 |
*/
|
105 |
public function assets($scripts, $styles)
|
106 |
{
|
107 |
parent::assets($scripts, $styles);
|
108 |
|
109 |
-
$this->styles->add(
|
110 |
|
111 |
// todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
|
112 |
if( defined('WCL_PLUGIN_URL') ) {
|
113 |
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
114 |
}
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
// Script for search form on plugin options
|
117 |
if( $this->show_search_options_form && "options" === $this->type ) {
|
118 |
-
$this->styles->add(
|
119 |
|
120 |
-
$this->scripts->add(
|
121 |
-
$this->scripts->add(
|
122 |
}
|
123 |
|
124 |
/**
|
@@ -131,7 +140,7 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
131 |
}
|
132 |
|
133 |
/**
|
134 |
-
* @return
|
135 |
*/
|
136 |
public function request()
|
137 |
{
|
@@ -218,8 +227,11 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
218 |
$widgets['rating_widget'] = $this->getRatingWidget();
|
219 |
$widgets['support_widget'] = $this->getSupportWidget();
|
220 |
//$widgets['donate_widget'] = $this->getDonateWidget();
|
221 |
-
} else if( $position == 'right' ) {
|
222 |
$widgets['business_suggetion'] = $this->getBusinessSuggetionWidget();
|
|
|
|
|
|
|
223 |
$widgets['info_widget'] = $this->getInfoWidget();
|
224 |
$widgets['rating_widget'] = $this->getRatingWidget();
|
225 |
}
|
@@ -227,7 +239,7 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
227 |
/**
|
228 |
* @since 4.0.9 - является устаревшим
|
229 |
*/
|
230 |
-
$widgets =
|
231 |
$widgets,
|
232 |
$position,
|
233 |
$this->plugin,
|
@@ -256,24 +268,24 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
256 |
$purchase_url = $this->plugin->get_support()->get_pricing_url(true, 'right_sidebar_ads');
|
257 |
|
258 |
$default_features = [
|
259 |
-
'4_premium' => __('4 premium components now;', '
|
260 |
-
'40_premium' => __('40 new premium components within a year for the single price;', '
|
261 |
-
'multisite_support' => __('Multisite support;', '
|
262 |
-
'advance_settings' => __('Advanced settings;', '
|
263 |
-
'no_ads' => __('No ads;', '
|
264 |
-
'perfect_support' => __('Perfect support.', '
|
265 |
];
|
266 |
|
267 |
/**
|
268 |
* @since 2.0.8 - added
|
269 |
*/
|
270 |
-
$suggetion_title = __('MORE IN CLEARFY <span>BUSINESS</span>', '
|
271 |
$suggetion_title = apply_filters('wbcr/clearfy/pages/suggetion_title', $suggetion_title, $plugin_name, $this->id);
|
272 |
|
273 |
/**
|
274 |
* @since 2.0.8 - deprecated
|
275 |
*/
|
276 |
-
$suggetion_features =
|
277 |
$default_features,
|
278 |
$this->plugin->getPluginName(),
|
279 |
$this->id
|
@@ -289,18 +301,18 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
289 |
$suggetion_features = $default_features;
|
290 |
}
|
291 |
?>
|
292 |
-
<div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-
|
293 |
<h3><?php echo $suggetion_title; ?></h3>
|
294 |
<ul>
|
295 |
<?php if( !empty($suggetion_features) ): ?>
|
296 |
<?php foreach($suggetion_features as $feature): ?>
|
297 |
-
<li
|
298 |
<?php endforeach; ?>
|
299 |
<?php endif; ?>
|
300 |
</ul>
|
301 |
<a href="<?php echo $purchase_url ?>" class="wbcr-factory-purchase-premium" target="_blank"
|
302 |
rel="noopener">
|
303 |
-
<?php printf(__('Upgrade for $%s', '
|
304 |
</a>
|
305 |
</div>
|
306 |
<?php
|
@@ -322,25 +334,25 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
322 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
|
323 |
alt=""/>
|
324 |
</span>
|
325 |
-
- <?php _e('A neutral setting that can not harm your site, but you must be sure that you need to use it.', '
|
326 |
</li>
|
327 |
<li>
|
328 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
|
329 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
|
330 |
alt=""/>
|
331 |
</span>
|
332 |
-
- <?php _e('When set this option, you must be careful. Plugins and themes may depend on this function. You must be sure that you can disable this feature for the site.', '
|
333 |
</li>
|
334 |
<li>
|
335 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
|
336 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
|
337 |
alt=""/>
|
338 |
</span>
|
339 |
-
- <?php _e('Absolutely safe setting, We recommend to use.', '
|
340 |
</li>
|
341 |
</ul>
|
342 |
----------<br>
|
343 |
-
<p><?php _e('Hover to the icon to get help for the feature you selected.', '
|
344 |
</div>
|
345 |
<?php
|
346 |
}
|
@@ -362,19 +374,19 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
362 |
$page_url = $args[0];
|
363 |
}
|
364 |
|
365 |
-
$page_url = apply_filters('
|
366 |
|
367 |
?>
|
368 |
<div class="wbcr-factory-sidebar-widget">
|
369 |
<p>
|
370 |
-
<strong><?php _e('Do you want the plugin to improved and update?', '
|
371 |
</p>
|
372 |
-
<p><?php _e('Help the author, leave a review on wordpress.org. Thanks to feedback, I will know that the plugin is really useful to you and is needed.', '
|
373 |
-
<p><?php _e('And also write your ideas on how to extend or improve the plugin.', '
|
374 |
<p>
|
375 |
<i class="wbcr-factory-icon-5stars"></i>
|
376 |
-
<a href="
|
377 |
-
<strong><?php _e('Go rate us and push ideas', '
|
378 |
</a>
|
379 |
</p>
|
380 |
</div>
|
@@ -392,7 +404,7 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
392 |
?>
|
393 |
<div class="wbcr-factory-sidebar-widget">
|
394 |
<p>
|
395 |
-
<strong><?php _e('Donation for plugin development', '
|
396 |
</p>
|
397 |
<?php if( get_locale() !== 'ru_RU' ): ?>
|
398 |
<form id="wbcr-factory-paypal-donation-form" action="https://www.paypal.com/cgi-bin/webscr"
|
@@ -400,7 +412,7 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
400 |
<input type="hidden" name="cmd" value="_s-xclick">
|
401 |
<input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
|
402 |
<div class="wbcr-factory-donation-price">5$</div>
|
403 |
-
<input type="image" src="
|
404 |
border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
|
405 |
</form>
|
406 |
<?php else: ?>
|
@@ -425,19 +437,19 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
425 |
|
426 |
?>
|
427 |
<div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
|
428 |
-
<p><strong><?php _e('Having Issues?', '
|
429 |
<div class="wbcr-clr-support-widget-body">
|
430 |
<p>
|
431 |
-
<?php _e('We provide free support for this plugin. If you are pushed with a problem, just create a new ticket. We will definitely help you!', '
|
432 |
</p>
|
433 |
<ul>
|
434 |
<li><span class="dashicons dashicons-sos"></span>
|
435 |
-
<a href="
|
436 |
-
rel="noopener"><?php _e('Get starting free support', '
|
437 |
</li>
|
438 |
<li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
|
439 |
<span class="dashicons dashicons-warning"></span>
|
440 |
-
<?php printf(__('If you find a php error or a vulnerability in plugin, you can <a href="%s" target="_blank" rel="noopener">create ticket</a> in hot support that we responded instantly.', '
|
441 |
</li>
|
442 |
</ul>
|
443 |
</div>
|
@@ -445,6 +457,40 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
445 |
<?php
|
446 |
}
|
447 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
448 |
/**
|
449 |
* Registers page options in the options registry
|
450 |
*
|
@@ -452,13 +498,13 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
452 |
*/
|
453 |
public function register_options_to_search()
|
454 |
{
|
455 |
-
require_once
|
456 |
|
457 |
$options = $this->getPageOptions();
|
458 |
$page_url = $this->getBaseUrl();
|
459 |
$page_id = $this->getResultId();
|
460 |
|
461 |
-
\WBCR\
|
462 |
}
|
463 |
|
464 |
/**
|
@@ -472,12 +518,12 @@ class Wbcr_FactoryClearfy227_PageBase extends Wbcr_FactoryPages435_ImpressiveThe
|
|
472 |
return;
|
473 |
}
|
474 |
?>
|
475 |
-
<div id="wbcr-factory-clearfy-
|
476 |
-
<label for="autocomplete" class="wbcr-factory-clearfy-
|
477 |
-
<?php _e('Can\'t find the settings you need? Use the search by the plugin options:', '
|
478 |
</label>
|
479 |
-
<input type="text" name="country" id="wbcr-factory-clearfy-
|
480 |
-
|
481 |
</div>
|
482 |
<?php
|
483 |
}
|
14 |
}
|
15 |
|
16 |
/**
|
17 |
+
* Class Wbcr_FactoryPages438_ImpressiveThemplate
|
18 |
*
|
19 |
* @method string getInfoWidget() - get widget content information
|
20 |
* @method string getRatingWidget(array $args = []) - get widget content rating
|
21 |
* @method string getDonateWidget() - get widget content donate
|
22 |
+
* @method string getSubscribeWidget()
|
23 |
* @method string getBusinessSuggetionWidget()
|
24 |
* @method string getSupportWidget
|
25 |
*/
|
26 |
+
class Wbcr_FactoryClearfy230_PageBase extends Wbcr_FactoryPages438_ImpressiveThemplate {
|
27 |
|
28 |
/**
|
29 |
* {@inheritDoc}
|
58 |
public $show_search_options_form = true;
|
59 |
|
60 |
/**
|
61 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
62 |
*/
|
63 |
+
public function __construct(Wbcr_Factory439_Plugin $plugin)
|
64 |
{
|
65 |
parent::__construct($plugin);
|
66 |
|
96 |
/**
|
97 |
* Requests assets (js and css) for the page.
|
98 |
*
|
99 |
+
* @param Wbcr_Factory439_ScriptList $scripts
|
100 |
+
* @param Wbcr_Factory439_StyleList $styles
|
101 |
*
|
102 |
* @return void
|
103 |
+
* @see Wbcr_FactoryPages438_AdminPage
|
104 |
*
|
105 |
*/
|
106 |
public function assets($scripts, $styles)
|
107 |
{
|
108 |
parent::assets($scripts, $styles);
|
109 |
|
110 |
+
$this->styles->add(FACTORY_CLEARFY_230_URL . '/assets/css/clearfy-base.css');
|
111 |
|
112 |
// todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
|
113 |
if( defined('WCL_PLUGIN_URL') ) {
|
114 |
$this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
|
115 |
}
|
116 |
|
117 |
+
if( !($this->plugin->has_premium() && $this->plugin->premium->is_active()) ) {
|
118 |
+
$this->scripts->add(FACTORY_CLEARFY_230_URL . '/assets/js/clearfy-widgets.js', [
|
119 |
+
'jquery',
|
120 |
+
'wfactory-439-core-general',
|
121 |
+
'wbcr-factory-clearfy-230-global'
|
122 |
+
], 'wbcr-factory-clearfy-230-widgets');
|
123 |
+
}
|
124 |
+
|
125 |
// Script for search form on plugin options
|
126 |
if( $this->show_search_options_form && "options" === $this->type ) {
|
127 |
+
$this->styles->add(FACTORY_CLEARFY_230_URL . '/assets/css/libs/autocomplete.css');
|
128 |
|
129 |
+
$this->scripts->add(FACTORY_CLEARFY_230_URL . '/assets/js/libs/jquery.autocomplete.min.js');
|
130 |
+
$this->scripts->add(FACTORY_CLEARFY_230_URL . '/assets/js/clearfy-search-options.js');
|
131 |
}
|
132 |
|
133 |
/**
|
140 |
}
|
141 |
|
142 |
/**
|
143 |
+
* @return Wbcr_Factory439_Request
|
144 |
*/
|
145 |
public function request()
|
146 |
{
|
227 |
$widgets['rating_widget'] = $this->getRatingWidget();
|
228 |
$widgets['support_widget'] = $this->getSupportWidget();
|
229 |
//$widgets['donate_widget'] = $this->getDonateWidget();
|
230 |
+
} else if( $position == 'right' && !($this->plugin->has_premium() && $this->plugin->premium->is_activate()) ) {
|
231 |
$widgets['business_suggetion'] = $this->getBusinessSuggetionWidget();
|
232 |
+
if( $this->plugin->getPluginInfoAttr('subscribe_widget') ) {
|
233 |
+
$widgets['subscribe'] = $this->getSubscribeWidget();
|
234 |
+
}
|
235 |
$widgets['info_widget'] = $this->getInfoWidget();
|
236 |
$widgets['rating_widget'] = $this->getRatingWidget();
|
237 |
}
|
239 |
/**
|
240 |
* @since 4.0.9 - является устаревшим
|
241 |
*/
|
242 |
+
$widgets = wbcr_factory_439_apply_filters_deprecated('wbcr_factory_pages_438_imppage_get_widgets', [
|
243 |
$widgets,
|
244 |
$position,
|
245 |
$this->plugin,
|
268 |
$purchase_url = $this->plugin->get_support()->get_pricing_url(true, 'right_sidebar_ads');
|
269 |
|
270 |
$default_features = [
|
271 |
+
'4_premium' => __('4 premium components now;', 'wbcr_factory_clearfy_230'),
|
272 |
+
'40_premium' => __('40 new premium components within a year for the single price;', 'wbcr_factory_clearfy_230'),
|
273 |
+
'multisite_support' => __('Multisite support;', 'wbcr_factory_clearfy_230'),
|
274 |
+
'advance_settings' => __('Advanced settings;', 'wbcr_factory_clearfy_230'),
|
275 |
+
'no_ads' => __('No ads;', 'wbcr_factory_clearfy_230'),
|
276 |
+
'perfect_support' => __('Perfect support.', 'wbcr_factory_clearfy_230')
|
277 |
];
|
278 |
|
279 |
/**
|
280 |
* @since 2.0.8 - added
|
281 |
*/
|
282 |
+
$suggetion_title = __('MORE IN CLEARFY <span>BUSINESS</span>', 'wbcr_factory_clearfy_230');
|
283 |
$suggetion_title = apply_filters('wbcr/clearfy/pages/suggetion_title', $suggetion_title, $plugin_name, $this->id);
|
284 |
|
285 |
/**
|
286 |
* @since 2.0.8 - deprecated
|
287 |
*/
|
288 |
+
$suggetion_features = wbcr_factory_439_apply_filters_deprecated('wbcr/clearfy/page_bussines_suggetion_features', [
|
289 |
$default_features,
|
290 |
$this->plugin->getPluginName(),
|
291 |
$this->id
|
301 |
$suggetion_features = $default_features;
|
302 |
}
|
303 |
?>
|
304 |
+
<div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-230-pro-suggettion">
|
305 |
<h3><?php echo $suggetion_title; ?></h3>
|
306 |
<ul>
|
307 |
<?php if( !empty($suggetion_features) ): ?>
|
308 |
<?php foreach($suggetion_features as $feature): ?>
|
309 |
+
<li><?php echo $feature; ?></li>
|
310 |
<?php endforeach; ?>
|
311 |
<?php endif; ?>
|
312 |
</ul>
|
313 |
<a href="<?php echo $purchase_url ?>" class="wbcr-factory-purchase-premium" target="_blank"
|
314 |
rel="noopener">
|
315 |
+
<?php printf(__('Upgrade for $%s', 'wbcr_factory_clearfy_230'), $upgrade_price) ?>
|
316 |
</a>
|
317 |
</div>
|
318 |
<?php
|
334 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
|
335 |
alt=""/>
|
336 |
</span>
|
337 |
+
- <?php _e('A neutral setting that can not harm your site, but you must be sure that you need to use it.', 'wbcr_factory_clearfy_230'); ?>
|
338 |
</li>
|
339 |
<li>
|
340 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
|
341 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
|
342 |
alt=""/>
|
343 |
</span>
|
344 |
+
- <?php _e('When set this option, you must be careful. Plugins and themes may depend on this function. You must be sure that you can disable this feature for the site.', 'wbcr_factory_clearfy_230'); ?>
|
345 |
</li>
|
346 |
<li>
|
347 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
|
348 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
|
349 |
alt=""/>
|
350 |
</span>
|
351 |
+
- <?php _e('Absolutely safe setting, We recommend to use.', 'wbcr_factory_clearfy_230'); ?>
|
352 |
</li>
|
353 |
</ul>
|
354 |
----------<br>
|
355 |
+
<p><?php _e('Hover to the icon to get help for the feature you selected.', 'wbcr_factory_clearfy_230'); ?></p>
|
356 |
</div>
|
357 |
<?php
|
358 |
}
|
374 |
$page_url = $args[0];
|
375 |
}
|
376 |
|
377 |
+
$page_url = apply_filters('wbcr_factory_pages_438_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId());
|
378 |
|
379 |
?>
|
380 |
<div class="wbcr-factory-sidebar-widget">
|
381 |
<p>
|
382 |
+
<strong><?php _e('Do you want the plugin to improved and update?', 'wbcr_factory_clearfy_230'); ?></strong>
|
383 |
</p>
|
384 |
+
<p><?php _e('Help the author, leave a review on wordpress.org. Thanks to feedback, I will know that the plugin is really useful to you and is needed.', 'wbcr_factory_clearfy_230'); ?></p>
|
385 |
+
<p><?php _e('And also write your ideas on how to extend or improve the plugin.', 'wbcr_factory_clearfy_230'); ?></p>
|
386 |
<p>
|
387 |
<i class="wbcr-factory-icon-5stars"></i>
|
388 |
+
<a href="<?php echo $page_url; ?>" title="Go rate us" target="_blank">
|
389 |
+
<strong><?php _e('Go rate us and push ideas', 'wbcr_factory_clearfy_230'); ?></strong>
|
390 |
</a>
|
391 |
</p>
|
392 |
</div>
|
404 |
?>
|
405 |
<div class="wbcr-factory-sidebar-widget">
|
406 |
<p>
|
407 |
+
<strong><?php _e('Donation for plugin development', 'wbcr_factory_clearfy_230'); ?></strong>
|
408 |
</p>
|
409 |
<?php if( get_locale() !== 'ru_RU' ): ?>
|
410 |
<form id="wbcr-factory-paypal-donation-form" action="https://www.paypal.com/cgi-bin/webscr"
|
412 |
<input type="hidden" name="cmd" value="_s-xclick">
|
413 |
<input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
|
414 |
<div class="wbcr-factory-donation-price">5$</div>
|
415 |
+
<input type="image" src="<?php echo FACTORY_PAGES_438_URL ?>/templates/assets/img/paypal-donate.png"
|
416 |
border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
|
417 |
</form>
|
418 |
<?php else: ?>
|
437 |
|
438 |
?>
|
439 |
<div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
|
440 |
+
<p><strong><?php _e('Having Issues?', 'wbcr_factory_clearfy_230'); ?></strong></p>
|
441 |
<div class="wbcr-clr-support-widget-body">
|
442 |
<p>
|
443 |
+
<?php _e('We provide free support for this plugin. If you are pushed with a problem, just create a new ticket. We will definitely help you!', 'wbcr_factory_clearfy_230'); ?>
|
444 |
</p>
|
445 |
<ul>
|
446 |
<li><span class="dashicons dashicons-sos"></span>
|
447 |
+
<a href="<?php echo $free_support_url; ?>" target="_blank"
|
448 |
+
rel="noopener"><?php _e('Get starting free support', 'wbcr_factory_clearfy_230'); ?></a>
|
449 |
</li>
|
450 |
<li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
|
451 |
<span class="dashicons dashicons-warning"></span>
|
452 |
+
<?php printf(__('If you find a php error or a vulnerability in plugin, you can <a href="%s" target="_blank" rel="noopener">create ticket</a> in hot support that we responded instantly.', 'wbcr_factory_clearfy_230'), $hot_support_url); ?>
|
453 |
</li>
|
454 |
</ul>
|
455 |
</div>
|
457 |
<?php
|
458 |
}
|
459 |
|
460 |
+
public function showSubscribeWidget()
|
461 |
+
{
|
462 |
+
$widget_settings = $this->plugin->getPluginInfoAttr('subscribe_settings');
|
463 |
+
$group_id = isset($widget_settings['group_id']) ? $widget_settings['group_id'] : 0;
|
464 |
+
$terms = "https://cm-wp.com/?bizpanda=privacy-policy";
|
465 |
+
?>
|
466 |
+
<div id="wbcr-clr-subscribe-widget" class="wbcr-factory-sidebar-widget wbcr-factory-subscribe-widget">
|
467 |
+
<p><strong><?php _e('Subscribe to plugin’s newsletter', 'wbcr_factory_clearfy_230'); ?></strong></p>
|
468 |
+
<div class="wbcr-clr-subscribe-widget-body">
|
469 |
+
|
470 |
+
<div class="wbcr-factory-subscribe-widget__message-contanier">
|
471 |
+
<div class="wbcr-factory-subscribe-widget__text wbcr-factory-subscribe-widget__text--success">
|
472 |
+
<?php _e("Thank you, you have successfully subscribed!", 'wbcr_factory_clearfy_230') ?>
|
473 |
+
</div>
|
474 |
+
<div class="wbcr-factory-subscribe-widget__text wbcr-factory-subscribe-widget__text--success2">
|
475 |
+
<?php _e("Thank you for your subscription, a confirmation email has been sent to you. You need to confirm your subscription to complete this process.", 'wbcr_factory_clearfy_230'); ?>
|
476 |
+
</div>
|
477 |
+
</div>
|
478 |
+
|
479 |
+
<form id="wbcr-factory-subscribe-widget__subscribe-form" method="post">
|
480 |
+
<input id="wbcr-factory-subscribe-widget__email" class="wbcr-factory-subscribe-widget__field" type="email" name="email" placeholder="<?php _e('Enter your email address', 'wbcr_factory_clearfy_230'); ?>" required>
|
481 |
+
<label class="wbcr-factory-subscribe-widget__checkbox-label">
|
482 |
+
<input class="wbcr-factory-subscribe-widget__checkbox" type="checkbox" name="agree_terms" required>
|
483 |
+
<?php echo sprintf(__("I confirm to subscribe to the CreativeMotion newsletter to receive the latest news. You can find how we use your information on our %s Privacy Policy %s", 'wbcr_factory_clearfy_230'), '<a href="' . $terms . '" target="_blank">', '</a>'); ?>
|
484 |
+
</label>
|
485 |
+
<input type="hidden" id="wbcr-factory-subscribe-widget__group-id" value="<?php echo esc_attr($group_id); ?>">
|
486 |
+
<input type="submit" class="btn wbcr-factory-subscribe-widget__button" value="<?php _e('Subscribe', 'wbcr_factory_clearfy_230'); ?>">
|
487 |
+
</form>
|
488 |
+
</div>
|
489 |
+
</div>
|
490 |
+
|
491 |
+
<?php
|
492 |
+
}
|
493 |
+
|
494 |
/**
|
495 |
* Registers page options in the options registry
|
496 |
*
|
498 |
*/
|
499 |
public function register_options_to_search()
|
500 |
{
|
501 |
+
require_once FACTORY_CLEARFY_230_DIR . '/includes/class-search-options.php';
|
502 |
|
503 |
$options = $this->getPageOptions();
|
504 |
$page_url = $this->getBaseUrl();
|
505 |
$page_id = $this->getResultId();
|
506 |
|
507 |
+
\WBCR\Factory_Clearfy_230\Search_Options::register_options($options, $page_url, $page_id);
|
508 |
}
|
509 |
|
510 |
/**
|
518 |
return;
|
519 |
}
|
520 |
?>
|
521 |
+
<div id="wbcr-factory-clearfy-230__search_options_form" class="wbcr-factory-clearfy-230__autocomplete-wrap">
|
522 |
+
<label for="autocomplete" class="wbcr-factory-clearfy-230__autocomplete-label">
|
523 |
+
<?php _e('Can\'t find the settings you need? Use the search by the plugin options:', 'wbcr_factory_clearfy_230'); ?>
|
524 |
</label>
|
525 |
+
<input type="text" name="country" id="wbcr-factory-clearfy-230__autocomplete"/>
|
526 |
+
|
527 |
</div>
|
528 |
<?php
|
529 |
}
|
libs/factory/clearfy/pages/setup-parts/class-step-custom.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
/**
|
6 |
* Step
|
@@ -18,10 +18,10 @@ class Step_Custom extends Step {
|
|
18 |
public function render_button($continue = true, $skip = false, $custom_title = null, $align = 'right')
|
19 |
{
|
20 |
$this->set_button_handler();
|
21 |
-
$button_title = !empty($custom_title) ? $custom_title : __('Continue', '
|
22 |
|
23 |
if( !$this->get_next_id() ) {
|
24 |
-
$button_title = __('Finish', '
|
25 |
}
|
26 |
|
27 |
if( !in_array($align, ['center', 'left', 'right']) ) {
|
@@ -29,13 +29,13 @@ class Step_Custom extends Step {
|
|
29 |
}
|
30 |
|
31 |
?>
|
32 |
-
<form method="post" id="w-factory-clearfy-
|
33 |
-
<div class="w-factory-clearfy-
|
34 |
<?php if( $skip ): ?>
|
35 |
-
<input type="submit" name="skip_button_<?php echo $this->get_id() ?>" class="button-primary button button-large w-factory-clearfy-
|
36 |
<?php endif; ?>
|
37 |
<?php if( $continue ): ?>
|
38 |
-
<input type="submit" name="continue_button_<?php echo $this->get_id() ?>" class="button-primary button button-large w-factory-clearfy-
|
39 |
<?php endif; ?>
|
40 |
</div>
|
41 |
</form>
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
|
5 |
/**
|
6 |
* Step
|
18 |
public function render_button($continue = true, $skip = false, $custom_title = null, $align = 'right')
|
19 |
{
|
20 |
$this->set_button_handler();
|
21 |
+
$button_title = !empty($custom_title) ? $custom_title : __('Continue', 'wbcr_factory_clearfy_230');
|
22 |
|
23 |
if( !$this->get_next_id() ) {
|
24 |
+
$button_title = __('Finish', 'wbcr_factory_clearfy_230');
|
25 |
}
|
26 |
|
27 |
if( !in_array($align, ['center', 'left', 'right']) ) {
|
29 |
}
|
30 |
|
31 |
?>
|
32 |
+
<form method="post" id="w-factory-clearfy-230__setup-form-<?php echo $this->get_id() ?>" class="form-horizontal">
|
33 |
+
<div class="w-factory-clearfy-230__form-buttons" style="text-align: <?php echo esc_attr($align); ?>">
|
34 |
<?php if( $skip ): ?>
|
35 |
+
<input type="submit" name="skip_button_<?php echo $this->get_id() ?>" class="button-primary button button-large w-factory-clearfy-230__skip-button" value="<?php _e('Skip', 'wbcr_factory_clearfy_230') ?>">
|
36 |
<?php endif; ?>
|
37 |
<?php if( $continue ): ?>
|
38 |
+
<input type="submit" name="continue_button_<?php echo $this->get_id() ?>" class="button-primary button button-large w-factory-clearfy-230__continue-button" value="<?php echo $button_title; ?>">
|
39 |
<?php endif; ?>
|
40 |
</div>
|
41 |
</form>
|
libs/factory/clearfy/pages/setup-parts/class-step-form.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
/**
|
6 |
* Step
|
@@ -10,7 +10,7 @@ namespace WBCR\FactoryClearfy227\Pages;
|
|
10 |
*/
|
11 |
class Step_Form extends Step {
|
12 |
|
13 |
-
public function __construct(\WBCR\
|
14 |
{
|
15 |
parent::__construct($page);
|
16 |
}
|
@@ -33,12 +33,12 @@ class Step_Form extends Step {
|
|
33 |
protected function instance_form($options)
|
34 |
{
|
35 |
|
36 |
-
$form = new \
|
37 |
'scope' => rtrim($this->plugin->getPrefix(), '_'),
|
38 |
'name' => $this->page->getResultId() . "-options-" . $this->get_id()
|
39 |
], $this->plugin);
|
40 |
|
41 |
-
$form->setProvider(new \
|
42 |
|
43 |
$form_options = [];
|
44 |
|
@@ -83,20 +83,20 @@ class Step_Form extends Step {
|
|
83 |
return $form;
|
84 |
}
|
85 |
|
86 |
-
protected function render_form(\
|
87 |
{
|
88 |
?>
|
89 |
-
<form method="post" id="w-factory-clearfy-
|
90 |
<?php $form->html(); ?>
|
91 |
-
<div class="w-factory-clearfy-
|
92 |
-
<!--<input type="submit" name="skip_button_<?php /*echo $this->get_id() */ ?>" class="button-primary button button-large w-factory-clearfy-
|
93 |
-
<input type="submit" name="continue_button_<?php echo $this->get_id() ?>" class="button-primary button button-large w-factory-clearfy-
|
94 |
</div>
|
95 |
</form>
|
96 |
<?php
|
97 |
}
|
98 |
|
99 |
-
protected function set_form_handler(\
|
100 |
{
|
101 |
if( isset($_POST['continue_button_' . $this->get_id()]) ) {
|
102 |
$form->save();
|
@@ -121,8 +121,8 @@ class Step_Form extends Step {
|
|
121 |
$form = $this->instance_form($this->get_form_options());
|
122 |
?>
|
123 |
<div id="WBCR" class="wrap">
|
124 |
-
<div class="wbcr-factory-pages-
|
125 |
-
<div class="w-factory-clearfy-
|
126 |
<h3><?php echo $this->get_title(); ?></h3>
|
127 |
<p style="text-align: left;"><?php echo $this->get_form_description(); ?></p>
|
128 |
</div>
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
|
5 |
/**
|
6 |
* Step
|
10 |
*/
|
11 |
class Step_Form extends Step {
|
12 |
|
13 |
+
public function __construct(\WBCR\FactoryClearfy230\Pages\Setup $page)
|
14 |
{
|
15 |
parent::__construct($page);
|
16 |
}
|
33 |
protected function instance_form($options)
|
34 |
{
|
35 |
|
36 |
+
$form = new \Wbcr_FactoryForms436_Form([
|
37 |
'scope' => rtrim($this->plugin->getPrefix(), '_'),
|
38 |
'name' => $this->page->getResultId() . "-options-" . $this->get_id()
|
39 |
], $this->plugin);
|
40 |
|
41 |
+
$form->setProvider(new \Wbcr_FactoryForms436_OptionsValueProvider($this->plugin));
|
42 |
|
43 |
$form_options = [];
|
44 |
|
83 |
return $form;
|
84 |
}
|
85 |
|
86 |
+
protected function render_form(\Wbcr_FactoryForms436_Form $form)
|
87 |
{
|
88 |
?>
|
89 |
+
<form method="post" id="w-factory-clearfy-230__setup-form-<?php echo $this->get_id() ?>" class="w-factory-clearfy-230__setup-form form-horizontal">
|
90 |
<?php $form->html(); ?>
|
91 |
+
<div class="w-factory-clearfy-230__form-buttons">
|
92 |
+
<!--<input type="submit" name="skip_button_<?php /*echo $this->get_id() */ ?>" class="button-primary button button-large w-factory-clearfy-230__skip-button" value="<?php /*_e('Skip', 'wbcr_factory_clearfy_230') */ ?>">-->
|
93 |
+
<input type="submit" name="continue_button_<?php echo $this->get_id() ?>" class="button-primary button button-large w-factory-clearfy-230__continue-button" value="<?php _e('Continue', 'wbcr_factory_clearfy_230') ?>">
|
94 |
</div>
|
95 |
</form>
|
96 |
<?php
|
97 |
}
|
98 |
|
99 |
+
protected function set_form_handler(\Wbcr_FactoryForms436_Form $form)
|
100 |
{
|
101 |
if( isset($_POST['continue_button_' . $this->get_id()]) ) {
|
102 |
$form->save();
|
121 |
$form = $this->instance_form($this->get_form_options());
|
122 |
?>
|
123 |
<div id="WBCR" class="wrap">
|
124 |
+
<div class="wbcr-factory-pages-438-impressive-page-template factory-bootstrap-439 factory-fontawesome-000">
|
125 |
+
<div class="w-factory-clearfy-230-setup__inner-wrap">
|
126 |
<h3><?php echo $this->get_title(); ?></h3>
|
127 |
<p style="text-align: left;"><?php echo $this->get_form_description(); ?></p>
|
128 |
</div>
|
libs/factory/clearfy/pages/setup-parts/class-step.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
/**
|
6 |
* Step
|
@@ -16,16 +16,16 @@ abstract class Step {
|
|
16 |
protected $next_id = false;
|
17 |
|
18 |
/**
|
19 |
-
* @var \WBCR\
|
20 |
*/
|
21 |
protected $page;
|
22 |
|
23 |
/**
|
24 |
-
* @var \
|
25 |
*/
|
26 |
protected $plugin;
|
27 |
|
28 |
-
public function __construct(\WBCR\
|
29 |
{
|
30 |
$this->page = $page;
|
31 |
$this->plugin = $page->plugin;
|
@@ -51,7 +51,7 @@ abstract class Step {
|
|
51 |
*
|
52 |
* @return void
|
53 |
* @since 1.0.0
|
54 |
-
* @see
|
55 |
*
|
56 |
*/
|
57 |
public function assets($scripts, $styles)
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
|
5 |
/**
|
6 |
* Step
|
16 |
protected $next_id = false;
|
17 |
|
18 |
/**
|
19 |
+
* @var \WBCR\FactoryClearfy230\Pages\Setup
|
20 |
*/
|
21 |
protected $page;
|
22 |
|
23 |
/**
|
24 |
+
* @var \Wbcr_Factory439_Plugin
|
25 |
*/
|
26 |
protected $plugin;
|
27 |
|
28 |
+
public function __construct(\WBCR\FactoryClearfy230\Pages\Setup $page)
|
29 |
{
|
30 |
$this->page = $page;
|
31 |
$this->plugin = $page->plugin;
|
51 |
*
|
52 |
* @return void
|
53 |
* @since 1.0.0
|
54 |
+
* @see FactoryPages438_AdminPage
|
55 |
*
|
56 |
*/
|
57 |
public function assets($scripts, $styles)
|
libs/factory/core/ajax/install-addons.php
CHANGED
@@ -15,7 +15,7 @@ if( !defined('ABSPATH') ) {
|
|
15 |
/**
|
16 |
* This action allows you to process Ajax requests to activate external components Clearfy
|
17 |
*/
|
18 |
-
function
|
19 |
{
|
20 |
check_ajax_referer('updates');
|
21 |
|
@@ -24,11 +24,11 @@ function wfactory_436_install_components($plugin_instance)
|
|
24 |
$storage = $plugin_instance->request->post('storage', null, true);
|
25 |
|
26 |
if( !current_user_can('update_plugins') ) {
|
27 |
-
wp_die(__('You don\'t have enough capability to edit this information.', '
|
28 |
}
|
29 |
|
30 |
if( empty($slug) || empty($action) ) {
|
31 |
-
wp_send_json_error(['error_message' => __('Required attributes are not passed or empty.', '
|
32 |
}
|
33 |
$success = false;
|
34 |
$send_data = [];
|
@@ -44,7 +44,7 @@ function wfactory_436_install_components($plugin_instance)
|
|
44 |
$success = true;
|
45 |
}
|
46 |
} else {
|
47 |
-
wp_send_json_error(['error_message' => __('You are trying to perform an invalid action.', '
|
48 |
}
|
49 |
} else if( $storage == 'wordpress' || $storage == 'creativemotion' ) {
|
50 |
if( !empty($slug) ) {
|
@@ -80,7 +80,7 @@ function wfactory_436_install_components($plugin_instance)
|
|
80 |
/*if ( $action == 'deactivate' ) {
|
81 |
$is_need_rewrite_rules = $plugin_instance->getPopulateOption( 'need_rewrite_rules' );
|
82 |
if ( $is_need_rewrite_rules ) {
|
83 |
-
$send_data['need_rewrite_rules'] = sprintf( '<span class="wbcr-clr-need-rewrite-rules-message">' . __( 'When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', '
|
84 |
}
|
85 |
}*/
|
86 |
|
@@ -94,7 +94,7 @@ function wfactory_436_install_components($plugin_instance)
|
|
94 |
wp_send_json_success($send_data);
|
95 |
}
|
96 |
|
97 |
-
wp_send_json_error(['error_message' => __('An unknown error occurred during the activation of the component.', '
|
98 |
}
|
99 |
|
100 |
/**
|
@@ -102,18 +102,18 @@ function wfactory_436_install_components($plugin_instance)
|
|
102 |
* to get the component to work. Usually this is a call to the installation functions,
|
103 |
* but in some cases, overwriting permanent references or compatibility checks.
|
104 |
*/
|
105 |
-
function
|
106 |
{
|
107 |
check_ajax_referer('updates');
|
108 |
|
109 |
$component_name = $plugin_instance->request->post('plugin', null, true);
|
110 |
|
111 |
if( !current_user_can('update_plugins') ) {
|
112 |
-
wp_send_json_error(['error_message' => __('You don\'t have enough capability to edit this information.', '
|
113 |
}
|
114 |
|
115 |
if( empty($component_name) ) {
|
116 |
-
wp_send_json_error(['error_message' => __('Required attribute [component_name] is empty.', '
|
117 |
}
|
118 |
// todo: для совместимости с плагином Clearfy
|
119 |
if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
|
@@ -133,7 +133,7 @@ function wfactory_436_prepare_component($plugin_instance)
|
|
133 |
*
|
134 |
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
|
135 |
*/
|
136 |
-
function
|
137 |
{
|
138 |
check_ajax_referer('updates');
|
139 |
|
15 |
/**
|
16 |
* This action allows you to process Ajax requests to activate external components Clearfy
|
17 |
*/
|
18 |
+
function wfactory_439_install_components($plugin_instance)
|
19 |
{
|
20 |
check_ajax_referer('updates');
|
21 |
|
24 |
$storage = $plugin_instance->request->post('storage', null, true);
|
25 |
|
26 |
if( !current_user_can('update_plugins') ) {
|
27 |
+
wp_die(__('You don\'t have enough capability to edit this information.', 'wbcr_factory_439'), __('Something went wrong.'), 403);
|
28 |
}
|
29 |
|
30 |
if( empty($slug) || empty($action) ) {
|
31 |
+
wp_send_json_error(['error_message' => __('Required attributes are not passed or empty.', 'wbcr_factory_439')]);
|
32 |
}
|
33 |
$success = false;
|
34 |
$send_data = [];
|
44 |
$success = true;
|
45 |
}
|
46 |
} else {
|
47 |
+
wp_send_json_error(['error_message' => __('You are trying to perform an invalid action.', 'wbcr_factory_439')]);
|
48 |
}
|
49 |
} else if( $storage == 'wordpress' || $storage == 'creativemotion' ) {
|
50 |
if( !empty($slug) ) {
|
80 |
/*if ( $action == 'deactivate' ) {
|
81 |
$is_need_rewrite_rules = $plugin_instance->getPopulateOption( 'need_rewrite_rules' );
|
82 |
if ( $is_need_rewrite_rules ) {
|
83 |
+
$send_data['need_rewrite_rules'] = sprintf( '<span class="wbcr-clr-need-rewrite-rules-message">' . __( 'When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', 'wbcr_factory_439' ), admin_url( 'options-permalink.php' ) . '</span>' );
|
84 |
}
|
85 |
}*/
|
86 |
|
94 |
wp_send_json_success($send_data);
|
95 |
}
|
96 |
|
97 |
+
wp_send_json_error(['error_message' => __('An unknown error occurred during the activation of the component.', 'wbcr_factory_439')]);
|
98 |
}
|
99 |
|
100 |
/**
|
102 |
* to get the component to work. Usually this is a call to the installation functions,
|
103 |
* but in some cases, overwriting permanent references or compatibility checks.
|
104 |
*/
|
105 |
+
function wfactory_439_prepare_component($plugin_instance)
|
106 |
{
|
107 |
check_ajax_referer('updates');
|
108 |
|
109 |
$component_name = $plugin_instance->request->post('plugin', null, true);
|
110 |
|
111 |
if( !current_user_can('update_plugins') ) {
|
112 |
+
wp_send_json_error(['error_message' => __('You don\'t have enough capability to edit this information.', 'wbcr_factory_439')], 403);
|
113 |
}
|
114 |
|
115 |
if( empty($component_name) ) {
|
116 |
+
wp_send_json_error(['error_message' => __('Required attribute [component_name] is empty.', 'wbcr_factory_439')]);
|
117 |
}
|
118 |
// todo: для совместимости с плагином Clearfy
|
119 |
if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
|
133 |
*
|
134 |
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
|
135 |
*/
|
136 |
+
function wfactory_439_creativemotion_install_plugin($plugin_instance)
|
137 |
{
|
138 |
check_ajax_referer('updates');
|
139 |
|
libs/factory/core/assets/js/core-components.js
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
* This event is intended for installation, removal, activation, deactivation of external add-ons
|
21 |
*/
|
22 |
|
23 |
-
$(document).on('click', '.wfactory-
|
24 |
var $this = $(this),
|
25 |
button_i18n = $(this).data('i18n'),
|
26 |
plugin_slug = $(this).data('slug'),
|
@@ -30,11 +30,11 @@
|
|
30 |
wpnonce = $(this).data('wpnonce');
|
31 |
|
32 |
var action = ('creativemotion' === storage)
|
33 |
-
? 'wfactory-
|
34 |
: 'install-plugin';
|
35 |
|
36 |
if( storage === 'freemius' || ((storage === 'wordpress' || storage === 'creativemotion' || storage === 'internal') && (plugin_action === 'activate' || plugin_action === 'deactivate')) ) {
|
37 |
-
action = 'wfactory-
|
38 |
} else if( storage === 'wordpress' && plugin_action === 'delete' ) {
|
39 |
action = 'delete-plugin';
|
40 |
}
|
@@ -54,11 +54,11 @@
|
|
54 |
|
55 |
$this.addClass('disabled').text(button_i18n.loading);
|
56 |
|
57 |
-
$.
|
58 |
|
59 |
self.sendRequest(data, function(response) {
|
60 |
if( !response || !response.success ) {
|
61 |
-
$.
|
62 |
$this,
|
63 |
data,
|
64 |
response
|
@@ -80,7 +80,7 @@
|
|
80 |
$this.removeClass('button-default').addClass('button-primary');
|
81 |
}
|
82 |
|
83 |
-
$.
|
84 |
$this,
|
85 |
data,
|
86 |
response
|
@@ -96,7 +96,7 @@
|
|
96 |
$this.removeClass('button-primary').addClass('button-default');
|
97 |
}
|
98 |
|
99 |
-
$.
|
100 |
$this,
|
101 |
data,
|
102 |
response
|
@@ -124,7 +124,7 @@
|
|
124 |
$this.removeClass('button-default').addClass('button-primary');
|
125 |
}
|
126 |
|
127 |
-
$.
|
128 |
$this,
|
129 |
data,
|
130 |
response
|
@@ -134,7 +134,7 @@
|
|
134 |
|
135 |
plugin_action = 'install';
|
136 |
|
137 |
-
$.
|
138 |
}
|
139 |
} else {
|
140 |
if( plugin_action === 'install' ) {
|
@@ -144,7 +144,7 @@
|
|
144 |
|
145 |
$this.text(button_i18n[plugin_action]);
|
146 |
|
147 |
-
$.
|
148 |
});
|
149 |
|
150 |
return false;
|
@@ -169,7 +169,7 @@
|
|
169 |
.addClass('disabled')
|
170 |
.text(button_i18n.preparation);
|
171 |
|
172 |
-
sendData.action = 'wfactory-
|
173 |
|
174 |
this.sendRequest(sendData, function(response) {
|
175 |
componentButton.removeClass('disabled');
|
@@ -177,7 +177,7 @@
|
|
177 |
if( !response || !response.success ) {
|
178 |
componentButton.text(button_i18n['activate']);
|
179 |
|
180 |
-
$.
|
181 |
componentButton,
|
182 |
sendData,
|
183 |
response
|
@@ -187,7 +187,7 @@
|
|
187 |
|
188 |
componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
|
189 |
|
190 |
-
$.
|
191 |
componentButton,
|
192 |
sendData,
|
193 |
response
|
@@ -210,7 +210,7 @@
|
|
210 |
console.log(xhr.responseText);
|
211 |
console.log(thrownError);
|
212 |
|
213 |
-
$.
|
214 |
xhr,
|
215 |
ajaxOptions,
|
216 |
thrownError
|
20 |
* This event is intended for installation, removal, activation, deactivation of external add-ons
|
21 |
*/
|
22 |
|
23 |
+
$(document).on('click', '.wfactory-439-process-button', function() {
|
24 |
var $this = $(this),
|
25 |
button_i18n = $(this).data('i18n'),
|
26 |
plugin_slug = $(this).data('slug'),
|
30 |
wpnonce = $(this).data('wpnonce');
|
31 |
|
32 |
var action = ('creativemotion' === storage)
|
33 |
+
? 'wfactory-439-creativemotion-install-plugin'
|
34 |
: 'install-plugin';
|
35 |
|
36 |
if( storage === 'freemius' || ((storage === 'wordpress' || storage === 'creativemotion' || storage === 'internal') && (plugin_action === 'activate' || plugin_action === 'deactivate')) ) {
|
37 |
+
action = 'wfactory-439-intall-component';
|
38 |
} else if( storage === 'wordpress' && plugin_action === 'delete' ) {
|
39 |
action = 'delete-plugin';
|
40 |
}
|
54 |
|
55 |
$this.addClass('disabled').text(button_i18n.loading);
|
56 |
|
57 |
+
$.wfactory_439.hooks.run('core/components/pre_update', [$this, data]);
|
58 |
|
59 |
self.sendRequest(data, function(response) {
|
60 |
if( !response || !response.success ) {
|
61 |
+
$.wfactory_439.hooks.run('core/components/update_error', [
|
62 |
$this,
|
63 |
data,
|
64 |
response
|
80 |
$this.removeClass('button-default').addClass('button-primary');
|
81 |
}
|
82 |
|
83 |
+
$.wfactory_439.hooks.run('core/components/installed', [
|
84 |
$this,
|
85 |
data,
|
86 |
response
|
96 |
$this.removeClass('button-primary').addClass('button-default');
|
97 |
}
|
98 |
|
99 |
+
$.wfactory_439.hooks.run('core/components/pre_activate', [
|
100 |
$this,
|
101 |
data,
|
102 |
response
|
124 |
$this.removeClass('button-default').addClass('button-primary');
|
125 |
}
|
126 |
|
127 |
+
$.wfactory_439.hooks.run('core/components/deactivated', [
|
128 |
$this,
|
129 |
data,
|
130 |
response
|
134 |
|
135 |
plugin_action = 'install';
|
136 |
|
137 |
+
$.wfactory_439.hooks.run('core/components/deleted', [$this, data, response]);
|
138 |
}
|
139 |
} else {
|
140 |
if( plugin_action === 'install' ) {
|
144 |
|
145 |
$this.text(button_i18n[plugin_action]);
|
146 |
|
147 |
+
$.wfactory_439.hooks.run('core/components/updated', [$this, data, response]);
|
148 |
});
|
149 |
|
150 |
return false;
|
169 |
.addClass('disabled')
|
170 |
.text(button_i18n.preparation);
|
171 |
|
172 |
+
sendData.action = 'wfactory-439-prepare-component';
|
173 |
|
174 |
this.sendRequest(sendData, function(response) {
|
175 |
componentButton.removeClass('disabled');
|
177 |
if( !response || !response.success ) {
|
178 |
componentButton.text(button_i18n['activate']);
|
179 |
|
180 |
+
$.wfactory_439.hooks.run('core/components/activation_error', [
|
181 |
componentButton,
|
182 |
sendData,
|
183 |
response
|
187 |
|
188 |
componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
|
189 |
|
190 |
+
$.wfactory_439.hooks.run('core/components/activated', [
|
191 |
componentButton,
|
192 |
sendData,
|
193 |
response
|
210 |
console.log(xhr.responseText);
|
211 |
console.log(thrownError);
|
212 |
|
213 |
+
$.wfactory_439.hooks.run('core/components/ajax_error', [
|
214 |
xhr,
|
215 |
ajaxOptions,
|
216 |
thrownError
|
libs/factory/core/assets/js/core-general.js
CHANGED
@@ -8,11 +8,11 @@
|
|
8 |
(function($) {
|
9 |
'use strict';
|
10 |
|
11 |
-
if( !$.
|
12 |
-
$.
|
13 |
}
|
14 |
|
15 |
-
$.
|
16 |
|
17 |
/**
|
18 |
* A set of registered filters.
|
@@ -79,20 +79,20 @@
|
|
79 |
}
|
80 |
};
|
81 |
|
82 |
-
$.
|
83 |
|
84 |
/**
|
85 |
* Applies filters to a given input value.
|
86 |
*/
|
87 |
run: function(filterName, args) {
|
88 |
-
$.
|
89 |
},
|
90 |
|
91 |
/**
|
92 |
* Registers a new filter.
|
93 |
*/
|
94 |
add: function(filterName, callback, priority) {
|
95 |
-
$.
|
96 |
}
|
97 |
};
|
98 |
|
8 |
(function($) {
|
9 |
'use strict';
|
10 |
|
11 |
+
if( !$.wfactory_439 ) {
|
12 |
+
$.wfactory_439 = {};
|
13 |
}
|
14 |
|
15 |
+
$.wfactory_439.filters = $.wfactory_439.filters || {
|
16 |
|
17 |
/**
|
18 |
* A set of registered filters.
|
79 |
}
|
80 |
};
|
81 |
|
82 |
+
$.wfactory_439.hooks = $.wfactory_439.hooks || {
|
83 |
|
84 |
/**
|
85 |
* Applies filters to a given input value.
|
86 |
*/
|
87 |
run: function(filterName, args) {
|
88 |
+
$.wfactory_439.filters.run(filterName, args);
|
89 |
},
|
90 |
|
91 |
/**
|
92 |
* Registers a new filter.
|
93 |
*/
|
94 |
add: function(filterName, callback, priority) {
|
95 |
+
$.wfactory_439.filters.add(filterName, callback, priority);
|
96 |
}
|
97 |
};
|
98 |
|
libs/factory/core/boot.php
CHANGED
@@ -14,59 +14,59 @@ if( !defined('ABSPATH') ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( defined('
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
define('
|
22 |
|
23 |
-
define('
|
24 |
|
25 |
-
define('
|
26 |
-
define('
|
27 |
|
28 |
-
load_plugin_textdomain('
|
29 |
|
30 |
#comp merge
|
31 |
-
require_once(
|
32 |
|
33 |
-
require_once(
|
34 |
-
require_once(
|
35 |
|
36 |
-
require_once(
|
37 |
-
require_once(
|
38 |
-
require_once(
|
39 |
-
require_once(
|
40 |
-
require_once(
|
41 |
|
42 |
// ASSETS
|
43 |
-
require_once(
|
44 |
-
require_once(
|
45 |
-
require_once(
|
46 |
|
47 |
// PREMIUM
|
48 |
-
require_once(
|
49 |
-
require_once(
|
50 |
-
require_once(
|
51 |
|
52 |
// UPDATES
|
53 |
-
require_once(
|
54 |
-
require_once(
|
55 |
-
require_once(
|
56 |
-
require_once(
|
57 |
|
58 |
-
require_once(
|
59 |
|
60 |
-
require_once(
|
61 |
-
require_once(
|
62 |
#endcomp
|
63 |
|
64 |
add_action('admin_enqueue_scripts', function () {
|
65 |
-
wp_enqueue_script('wfactory-
|
66 |
'jquery'
|
67 |
-
],
|
68 |
-
wp_enqueue_script('wfactory-
|
69 |
'jquery',
|
70 |
-
'wfactory-
|
71 |
-
],
|
72 |
});
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( defined('FACTORY_439_LOADED') ) {
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
define('FACTORY_439_LOADED', true);
|
22 |
|
23 |
+
define('FACTORY_439_VERSION', '4.3.9');
|
24 |
|
25 |
+
define('FACTORY_439_DIR', dirname(__FILE__));
|
26 |
+
define('FACTORY_439_URL', plugins_url(null, __FILE__));
|
27 |
|
28 |
+
load_plugin_textdomain('wbcr_factory_439', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
29 |
|
30 |
#comp merge
|
31 |
+
require_once(FACTORY_439_DIR . '/includes/functions.php');
|
32 |
|
33 |
+
require_once(FACTORY_439_DIR . '/includes/entities/class-factory-paths.php');
|
34 |
+
require_once(FACTORY_439_DIR . '/includes/entities/class-factory-support.php');
|
35 |
|
36 |
+
require_once(FACTORY_439_DIR . '/includes/class-factory-requests.php');
|
37 |
+
require_once(FACTORY_439_DIR . '/includes/class-factory-options.php');
|
38 |
+
require_once(FACTORY_439_DIR . '/includes/class-factory-plugin-base.php');
|
39 |
+
require_once(FACTORY_439_DIR . '/includes/class-factory-migrations.php');
|
40 |
+
require_once(FACTORY_439_DIR . '/includes/class-factory-notices.php');
|
41 |
|
42 |
// ASSETS
|
43 |
+
require_once(FACTORY_439_DIR . '/includes/assets-managment/class-factory-assets-list.php');
|
44 |
+
require_once(FACTORY_439_DIR . '/includes/assets-managment/class-factory-script-list.php');
|
45 |
+
require_once(FACTORY_439_DIR . '/includes/assets-managment/class-factory-style-list.php');
|
46 |
|
47 |
// PREMIUM
|
48 |
+
require_once(FACTORY_439_DIR . '/includes/premium/class-factory-license-interface.php');
|
49 |
+
require_once(FACTORY_439_DIR . '/includes/premium/class-factory-provider-abstract.php');
|
50 |
+
require_once(FACTORY_439_DIR . '/includes/premium/class-factory-manager.php');
|
51 |
|
52 |
// UPDATES
|
53 |
+
require_once(FACTORY_439_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php');
|
54 |
+
require_once(FACTORY_439_DIR . '/includes/updates/repositories/class-factory-wordpress.php');
|
55 |
+
require_once(FACTORY_439_DIR . '/includes/updates/class-factory-upgrader.php');
|
56 |
+
require_once(FACTORY_439_DIR . '/includes/updates/class-factory-premium-upgrader.php');
|
57 |
|
58 |
+
require_once(FACTORY_439_DIR . '/includes/class-factory-plugin-abstract.php');
|
59 |
|
60 |
+
require_once(FACTORY_439_DIR . '/includes/activation/class-factory-activator.php');
|
61 |
+
require_once(FACTORY_439_DIR . '/includes/activation/class-factory-update.php');
|
62 |
#endcomp
|
63 |
|
64 |
add_action('admin_enqueue_scripts', function () {
|
65 |
+
wp_enqueue_script('wfactory-439-core-general', FACTORY_439_URL . '/assets/js/core-general.js', [
|
66 |
'jquery'
|
67 |
+
], FACTORY_439_VERSION);
|
68 |
+
wp_enqueue_script('wfactory-439-core-components', FACTORY_439_URL . '/assets/js/core-components.js', [
|
69 |
'jquery',
|
70 |
+
'wfactory-439-core-general'
|
71 |
+
], FACTORY_439_VERSION);
|
72 |
});
|
libs/factory/core/includes/activation/class-factory-activator.php
CHANGED
@@ -19,16 +19,16 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
-
abstract class
|
23 |
|
24 |
/**
|
25 |
* Curent plugin.
|
26 |
*
|
27 |
-
* @var
|
28 |
*/
|
29 |
public $plugin;
|
30 |
|
31 |
-
public function __construct(
|
32 |
$this->plugin = $plugin;
|
33 |
}
|
34 |
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
abstract class Wbcr_Factory439_Activator {
|
23 |
|
24 |
/**
|
25 |
* Curent plugin.
|
26 |
*
|
27 |
+
* @var Wbcr_Factory439_Plugin
|
28 |
*/
|
29 |
public $plugin;
|
30 |
|
31 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
32 |
$this->plugin = $plugin;
|
33 |
}
|
34 |
|
libs/factory/core/includes/activation/class-factory-update.php
CHANGED
@@ -20,16 +20,16 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
abstract class
|
24 |
|
25 |
/**
|
26 |
* Current plugin
|
27 |
*
|
28 |
-
* @var
|
29 |
*/
|
30 |
var $plugin;
|
31 |
|
32 |
-
public function __construct(
|
33 |
$this->plugin = $plugin;
|
34 |
}
|
35 |
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
abstract class Wbcr_Factory439_Update {
|
24 |
|
25 |
/**
|
26 |
* Current plugin
|
27 |
*
|
28 |
+
* @var Wbcr_Factory439_Plugin
|
29 |
*/
|
30 |
var $plugin;
|
31 |
|
32 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
33 |
$this->plugin = $plugin;
|
34 |
}
|
35 |
|
libs/factory/core/includes/assets-managment/class-factory-assets-list.php
CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
-
class
|
23 |
|
24 |
protected $all = [];
|
25 |
public $header_place = [];
|
@@ -29,15 +29,15 @@ class Wbcr_Factory436_AssetsList {
|
|
29 |
protected $default_place;
|
30 |
|
31 |
/**
|
32 |
-
* @var
|
33 |
*/
|
34 |
protected $plugin;
|
35 |
|
36 |
/**
|
37 |
-
* @param
|
38 |
* @param bool $defaultIsFooter
|
39 |
*/
|
40 |
-
public function __construct(
|
41 |
$this->plugin = $plugin;
|
42 |
|
43 |
if ( $defaultIsFooter ) {
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
class Wbcr_Factory439_AssetsList {
|
23 |
|
24 |
protected $all = [];
|
25 |
public $header_place = [];
|
29 |
protected $default_place;
|
30 |
|
31 |
/**
|
32 |
+
* @var Wbcr_Factory439_Plugin
|
33 |
*/
|
34 |
protected $plugin;
|
35 |
|
36 |
/**
|
37 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
38 |
* @param bool $defaultIsFooter
|
39 |
*/
|
40 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin, $defaultIsFooter = true ) {
|
41 |
$this->plugin = $plugin;
|
42 |
|
43 |
if ( $defaultIsFooter ) {
|
libs/factory/core/includes/assets-managment/class-factory-script-list.php
CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
public $localize_data = [];
|
26 |
public $use_ajax = false;
|
@@ -149,7 +149,7 @@ class Wbcr_Factory436_ScriptList extends Wbcr_Factory436_AssetsList {
|
|
149 |
* @param string $varname
|
150 |
* @param array $data
|
151 |
*
|
152 |
-
* @return
|
153 |
*/
|
154 |
public function localize( $varname, $data ) {
|
155 |
$bindTo = count( $this->all ) == 0 ? null : end( $this->all );
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_Factory439_ScriptList extends Wbcr_Factory439_AssetsList {
|
24 |
|
25 |
public $localize_data = [];
|
26 |
public $use_ajax = false;
|
149 |
* @param string $varname
|
150 |
* @param array $data
|
151 |
*
|
152 |
+
* @return Wbcr_Factory439_ScriptList $this
|
153 |
*/
|
154 |
public function localize( $varname, $data ) {
|
155 |
$bindTo = count( $this->all ) == 0 ? null : end( $this->all );
|
libs/factory/core/includes/assets-managment/class-factory-style-list.php
CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
/**
|
26 |
* Adds new items to the collection (default place).
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_Factory439_StyleList extends Wbcr_Factory439_AssetsList {
|
24 |
|
25 |
/**
|
26 |
* Adds new items to the collection (default place).
|
libs/factory/core/includes/class-check-compatibility.php
CHANGED
@@ -75,19 +75,19 @@ if ( ! class_exists( 'Wbcr_Factory_Compatibility' ) ) {
|
|
75 |
$notice_text = $notice_default_text = '';
|
76 |
$notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
|
77 |
|
78 |
-
$notice_default_text .= sprintf( __( 'The %s plugin has stopped.', '
|
79 |
$notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
|
80 |
|
81 |
$has_one = false;
|
82 |
|
83 |
if ( ! $this->isPhpCompatibility() ) {
|
84 |
$has_one = true;
|
85 |
-
$notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', '
|
86 |
}
|
87 |
|
88 |
if ( ! $this->isWpCompatibility() ) {
|
89 |
$has_one = true;
|
90 |
-
$notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', '
|
91 |
}
|
92 |
|
93 |
if ( $has_one ) {
|
75 |
$notice_text = $notice_default_text = '';
|
76 |
$notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
|
77 |
|
78 |
+
$notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_230' ), $this->plugin_title ) . ' ';
|
79 |
$notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
|
80 |
|
81 |
$has_one = false;
|
82 |
|
83 |
if ( ! $this->isPhpCompatibility() ) {
|
84 |
$has_one = true;
|
85 |
+
$notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_439' ), $this->required_php_version ) . '<br>';
|
86 |
}
|
87 |
|
88 |
if ( ! $this->isWpCompatibility() ) {
|
89 |
$has_one = true;
|
90 |
+
$notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_439' ), $this->required_wp_version ) . '<br>';
|
91 |
}
|
92 |
|
93 |
if ( $has_one ) {
|
libs/factory/core/includes/class-factory-migrations.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use Exception;
|
6 |
-
use
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
@@ -35,11 +35,11 @@ class Migrations {
|
|
35 |
/**
|
36 |
* Migrations constructor.
|
37 |
*
|
38 |
-
* @param
|
39 |
*
|
40 |
* @throws Exception
|
41 |
*/
|
42 |
-
public function __construct(
|
43 |
|
44 |
$this->plugin = $plugin;
|
45 |
$plugin_name = $plugin->getPluginName();
|
@@ -129,14 +129,14 @@ class Migrations {
|
|
129 |
$fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
|
130 |
|
131 |
$notice_text = $migration_error_text;
|
132 |
-
$notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', '
|
133 |
|
134 |
$notices[] = [
|
135 |
'id' => 'migration_debug_bar',
|
136 |
'type' => 'error',
|
137 |
'dismissible' => false,
|
138 |
'dismiss_expires' => 0,
|
139 |
-
'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', '
|
140 |
];
|
141 |
|
142 |
return $notices;
|
@@ -162,19 +162,19 @@ class Migrations {
|
|
162 |
|
163 |
$migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
|
164 |
|
165 |
-
$notice_text = __( "Plugin activated:", "
|
166 |
|
167 |
-
$notice_text .= __( "Old plugin version (debug):", "
|
168 |
-
$notice_text .= __( "Current plugin version:", "
|
169 |
-
$notice_text .= __( "Need migration:", "
|
170 |
-
$notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "
|
171 |
|
172 |
$notices[] = [
|
173 |
'id' => 'migration_debug_bar',
|
174 |
'type' => 'warning',
|
175 |
'dismissible' => false,
|
176 |
'dismiss_expires' => 0,
|
177 |
-
'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', '
|
178 |
];
|
179 |
|
180 |
return $notices;
|
@@ -505,7 +505,7 @@ class Migrations {
|
|
505 |
$classes = [];
|
506 |
|
507 |
if ( ! function_exists( 'token_get_all' ) ) {
|
508 |
-
throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', '
|
509 |
}
|
510 |
|
511 |
$tokens = token_get_all( $phpCode );
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439;
|
4 |
|
5 |
use Exception;
|
6 |
+
use Wbcr_Factory439_Plugin;
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
35 |
/**
|
36 |
* Migrations constructor.
|
37 |
*
|
38 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
39 |
*
|
40 |
* @throws Exception
|
41 |
*/
|
42 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
43 |
|
44 |
$this->plugin = $plugin;
|
45 |
$plugin_name = $plugin->getPluginName();
|
129 |
$fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
|
130 |
|
131 |
$notice_text = $migration_error_text;
|
132 |
+
$notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', 'wbcr_factory_439' ) . "</a>";
|
133 |
|
134 |
$notices[] = [
|
135 |
'id' => 'migration_debug_bar',
|
136 |
'type' => 'error',
|
137 |
'dismissible' => false,
|
138 |
'dismiss_expires' => 0,
|
139 |
+
'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', 'wbcr_factory_439' ) . '</b><br>' . $notice_text . '</p>'
|
140 |
];
|
141 |
|
142 |
return $notices;
|
162 |
|
163 |
$migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
|
164 |
|
165 |
+
$notice_text = __( "Plugin activated:", "wbcr_factory_439" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
|
166 |
|
167 |
+
$notice_text .= __( "Old plugin version (debug):", "wbcr_factory_439" ) . ' ' . $this->get_old_plugin_version() . "<br>";
|
168 |
+
$notice_text .= __( "Current plugin version:", "wbcr_factory_439" ) . ' ' . $this->get_current_plugin_version() . "<br>";
|
169 |
+
$notice_text .= __( "Need migration:", "wbcr_factory_439" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
|
170 |
+
$notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_439" ) . "</a><br>";
|
171 |
|
172 |
$notices[] = [
|
173 |
'id' => 'migration_debug_bar',
|
174 |
'type' => 'warning',
|
175 |
'dismissible' => false,
|
176 |
'dismiss_expires' => 0,
|
177 |
+
'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', 'wbcr_factory_439' ) . '</b><br>' . $notice_text . '</p>'
|
178 |
];
|
179 |
|
180 |
return $notices;
|
505 |
$classes = [];
|
506 |
|
507 |
if ( ! function_exists( 'token_get_all' ) ) {
|
508 |
+
throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', 'wbcr_factory_439' ) );
|
509 |
}
|
510 |
|
511 |
$tokens = token_get_all( $phpCode );
|
libs/factory/core/includes/class-factory-notices.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
-
use
|
6 |
|
7 |
// Exit if accessed directly
|
8 |
if( !defined('ABSPATH') ) {
|
@@ -27,7 +27,7 @@ if( !defined('ABSPATH') ) {
|
|
27 |
class Notices {
|
28 |
|
29 |
/**
|
30 |
-
* @var
|
31 |
*/
|
32 |
protected $plugin;
|
33 |
/**
|
@@ -58,7 +58,7 @@ class Notices {
|
|
58 |
/**
|
59 |
* Инициализируем уведомлений сразу после загрузки модуля уведомлений
|
60 |
*
|
61 |
-
* @param
|
62 |
*/
|
63 |
public function __construct($plugin)
|
64 |
{
|
@@ -86,7 +86,7 @@ class Notices {
|
|
86 |
public function currentScreenAction()
|
87 |
{
|
88 |
/**
|
89 |
-
* @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на
|
90 |
*/
|
91 |
$this->notices = apply_filters('wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName());
|
92 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439;
|
4 |
|
5 |
+
use Wbcr_Factory439_Plugin;
|
6 |
|
7 |
// Exit if accessed directly
|
8 |
if( !defined('ABSPATH') ) {
|
27 |
class Notices {
|
28 |
|
29 |
/**
|
30 |
+
* @var Wbcr_Factory439_Plugin
|
31 |
*/
|
32 |
protected $plugin;
|
33 |
/**
|
58 |
/**
|
59 |
* Инициализируем уведомлений сразу после загрузки модуля уведомлений
|
60 |
*
|
61 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
62 |
*/
|
63 |
public function __construct($plugin)
|
64 |
{
|
86 |
public function currentScreenAction()
|
87 |
{
|
88 |
/**
|
89 |
+
* @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_439
|
90 |
*/
|
91 |
$this->notices = apply_filters('wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName());
|
92 |
|
libs/factory/core/includes/class-factory-options.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
use Exception;
|
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
}
|
11 |
|
12 |
/**
|
13 |
-
* Трейт используется для расширения базового класса плагина
|
14 |
*
|
15 |
* Этот трейт является оберткой для Wordpress функций get_option, get_site_option, update_option, update_site_option,
|
16 |
* delete_option, delete_site_option. Основная задача была получать, обновлять, удалять опции без использования префиксов,
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
use Exception;
|
10 |
}
|
11 |
|
12 |
/**
|
13 |
+
* Трейт используется для расширения базового класса плагина Wbcr_Factory439_Base, позволяя работать с опциями плагина.
|
14 |
*
|
15 |
* Этот трейт является оберткой для Wordpress функций get_option, get_site_option, update_option, update_site_option,
|
16 |
* delete_option, delete_site_option. Основная задача была получать, обновлять, удалять опции без использования префиксов,
|
libs/factory/core/includes/class-factory-plugin-abstract.php
CHANGED
@@ -24,42 +24,42 @@ if( !defined('ABSPATH') ) {
|
|
24 |
* @package factory-core
|
25 |
*
|
26 |
*/
|
27 |
-
abstract class
|
28 |
|
29 |
/**
|
30 |
-
* Instance class
|
31 |
*
|
32 |
* @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
|
33 |
-
* @var
|
34 |
*/
|
35 |
public $request;
|
36 |
|
37 |
/**
|
38 |
* @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
|
39 |
-
* @var \WBCR\
|
40 |
*/
|
41 |
public $premium;
|
42 |
|
43 |
/**
|
44 |
* The Bootstrap Manager class
|
45 |
*
|
46 |
-
* @var
|
47 |
*/
|
48 |
public $bootstrap;
|
49 |
|
50 |
/**
|
51 |
* The Bootstrap Manager class
|
52 |
*
|
53 |
-
* @var
|
54 |
*/
|
55 |
public $forms;
|
56 |
|
57 |
/**
|
58 |
-
* Простой массив со списком зарегистрированных классов унаследованных от
|
59 |
* Классы активации используются для упаковки набора функций, которые нужно выполнить во время
|
60 |
* активации плагина.
|
61 |
*
|
62 |
-
* @var array[]
|
63 |
*/
|
64 |
protected $activator_class = [];
|
65 |
|
@@ -86,10 +86,19 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
86 |
*
|
87 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
88 |
* @since 4.1.9
|
89 |
-
* @var WBCR\
|
90 |
*/
|
91 |
private $adverts;
|
92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
/**
|
94 |
* Инициализирует компоненты фреймворка и плагина.
|
95 |
*
|
@@ -106,8 +115,8 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
106 |
|
107 |
parent::__construct($plugin_path, $data);
|
108 |
|
109 |
-
$this->request = new
|
110 |
-
//$this->route = new
|
111 |
|
112 |
// INIT PLUGIN FRAMEWORK MODULES
|
113 |
// Framework modules should always be loaded first,
|
@@ -135,15 +144,15 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
135 |
$this->init_plugin_components();
|
136 |
|
137 |
if( wp_doing_ajax() && isset($_REQUEST['action']) ) {
|
138 |
-
if( "wfactory-
|
139 |
-
add_action('wp_ajax_wfactory-
|
140 |
}
|
141 |
|
142 |
-
if( "wfactory-
|
143 |
-
add_action('wp_ajax_wfactory-
|
144 |
}
|
145 |
-
if( "wfactory-
|
146 |
-
add_action('wp_ajax_wfactory-
|
147 |
$this,
|
148 |
'ajax_handler_install_creativemotion_plugins'
|
149 |
]);
|
@@ -156,20 +165,20 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
156 |
|
157 |
public function ajax_handler_install_components()
|
158 |
{
|
159 |
-
require_once
|
160 |
-
|
161 |
}
|
162 |
|
163 |
public function ajax_handler_prepare_component()
|
164 |
{
|
165 |
-
require_once
|
166 |
-
|
167 |
}
|
168 |
|
169 |
public function ajax_handler_install_creativemotion_plugins()
|
170 |
{
|
171 |
-
require_once
|
172 |
-
|
173 |
}
|
174 |
// --------------------------------------------------------
|
175 |
|
@@ -177,9 +186,9 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
177 |
* Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
|
178 |
* скриптов, стилей) фреймворка.
|
179 |
*
|
180 |
-
* @param
|
181 |
*/
|
182 |
-
public function setBootstap(
|
183 |
{
|
184 |
$this->bootstrap = $bootstrap;
|
185 |
}
|
@@ -187,9 +196,9 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
187 |
/**
|
188 |
* Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
|
189 |
*
|
190 |
-
* @param
|
191 |
*/
|
192 |
-
public function setForms(
|
193 |
{
|
194 |
$this->forms = $forms;
|
195 |
}
|
@@ -207,6 +216,22 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
207 |
}
|
208 |
}
|
209 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
/**
|
211 |
* Устанавливает класс провайдера лицензий
|
212 |
*
|
@@ -221,8 +246,8 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
221 |
*/
|
222 |
public function set_license_provider($name, $class_name)
|
223 |
{
|
224 |
-
if( !isset(WBCR\
|
225 |
-
WBCR\
|
226 |
}
|
227 |
}
|
228 |
|
@@ -240,8 +265,8 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
240 |
*/
|
241 |
public function set_update_repository($name, $class_name)
|
242 |
{
|
243 |
-
if( !isset(WBCR\
|
244 |
-
WBCR\
|
245 |
}
|
246 |
}
|
247 |
|
@@ -251,7 +276,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
251 |
* Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
|
252 |
* рекламных объявлений.
|
253 |
*
|
254 |
-
* @return \WBCR\
|
255 |
* @since 1.1
|
256 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
257 |
*/
|
@@ -287,18 +312,18 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
287 |
|
288 |
public function newScriptList()
|
289 |
{
|
290 |
-
return new
|
291 |
}
|
292 |
|
293 |
public function newStyleList()
|
294 |
{
|
295 |
-
return new
|
296 |
}
|
297 |
|
298 |
/**
|
299 |
* Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
|
300 |
* фреймворка pages. Разработчик создает собственный класс, унаследованный от
|
301 |
-
*
|
302 |
* Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
|
303 |
* pages.
|
304 |
*
|
@@ -308,7 +333,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
308 |
* @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
|
309 |
*
|
310 |
* @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
|
311 |
-
* Регистрируемый класс должен быть унаследован от класса
|
312 |
* @param string $file_path Абсолютный путь к файлу с классом страницы.
|
313 |
*
|
314 |
* @throws Exception
|
@@ -330,11 +355,11 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
330 |
throw new Exception('A class with this name {' . $class_name . '} does not exist.');
|
331 |
}
|
332 |
|
333 |
-
if( !class_exists('
|
334 |
-
throw new Exception('The
|
335 |
}
|
336 |
|
337 |
-
|
338 |
}
|
339 |
|
340 |
/**
|
@@ -384,16 +409,16 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
384 |
/**
|
385 |
* @since 4.1.1 - change hook name
|
386 |
*/
|
387 |
-
if( apply_filters("wbcr/
|
388 |
return;
|
389 |
}
|
390 |
|
391 |
/**
|
392 |
-
*
|
393 |
*
|
394 |
* @since 4.1.1 - deprecated
|
395 |
*/
|
396 |
-
|
397 |
$this
|
398 |
], '4.1.1', "wbcr/factory/plugin_activation");
|
399 |
|
@@ -402,7 +427,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
402 |
*
|
403 |
* @since 4.1.2 - deprecated
|
404 |
*/
|
405 |
-
|
406 |
$this
|
407 |
], '4.1.2', "wbcr/factory/before_plugin_activation");
|
408 |
|
@@ -418,16 +443,16 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
418 |
*
|
419 |
* @since 4.1.2 - deprecated
|
420 |
*/
|
421 |
-
|
422 |
$this
|
423 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
|
424 |
|
425 |
/**
|
426 |
-
*
|
427 |
*
|
428 |
* @since 4.1.1 - deprecated
|
429 |
*/
|
430 |
-
|
431 |
$this
|
432 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
|
433 |
|
@@ -468,16 +493,16 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
468 |
/**
|
469 |
* @since 4.1.1 - change hook name
|
470 |
*/
|
471 |
-
if( apply_filters("wbcr/
|
472 |
return;
|
473 |
}
|
474 |
|
475 |
/**
|
476 |
-
*
|
477 |
*
|
478 |
* @since 4.1.1 - deprecated
|
479 |
*/
|
480 |
-
|
481 |
$this
|
482 |
], '4.1.1', "wbcr/factory/plugin_deactivation");
|
483 |
|
@@ -486,7 +511,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
486 |
*
|
487 |
* @since 4.1.2 - deprecated
|
488 |
*/
|
489 |
-
|
490 |
$this
|
491 |
], '4.1.2', "wbcr/factory/before_plugin_deactivation");
|
492 |
|
@@ -498,11 +523,11 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
498 |
do_action('wbcr/factory/plugin_deactivation', $this);
|
499 |
|
500 |
/**
|
501 |
-
*
|
502 |
*
|
503 |
* @since 4.1.1 - deprecated
|
504 |
*/
|
505 |
-
|
506 |
$this
|
507 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
|
508 |
|
@@ -511,7 +536,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
511 |
*
|
512 |
* @since 4.1.2 - deprecated
|
513 |
*/
|
514 |
-
|
515 |
$this
|
516 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
|
517 |
|
@@ -549,8 +574,8 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
549 |
*/
|
550 |
public function getPluginPageUrl($page_id, $args = [])
|
551 |
{
|
552 |
-
if( !class_exists('
|
553 |
-
throw new Exception('The
|
554 |
}
|
555 |
|
556 |
if( !is_admin() ) {
|
@@ -559,7 +584,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
559 |
return null;
|
560 |
}
|
561 |
|
562 |
-
return
|
563 |
}
|
564 |
|
565 |
/**
|
@@ -569,13 +594,13 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
569 |
* @param $slug
|
570 |
* param $premium
|
571 |
*
|
572 |
-
* @return \WBCR\
|
573 |
*/
|
574 |
public function get_install_component_button($component_type, $slug)
|
575 |
{
|
576 |
-
require_once
|
577 |
|
578 |
-
return new \WBCR\
|
579 |
}
|
580 |
|
581 |
/**
|
@@ -584,13 +609,13 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
584 |
* @param $component_type
|
585 |
* @param $slug
|
586 |
*
|
587 |
-
* @return \WBCR\
|
588 |
*/
|
589 |
public function get_delete_component_button($component_type, $slug)
|
590 |
{
|
591 |
-
require_once
|
592 |
|
593 |
-
return new WBCR\
|
594 |
}
|
595 |
|
596 |
/**
|
@@ -773,12 +798,12 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
773 |
/**
|
774 |
* @since 4.1.1 - deprecated
|
775 |
*/
|
776 |
-
|
777 |
|
778 |
/**
|
779 |
* @since 4.1.1 - add
|
780 |
*/
|
781 |
-
do_action('wbcr/
|
782 |
}
|
783 |
|
784 |
|
@@ -805,7 +830,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
805 |
});
|
806 |
|
807 |
if( is_admin() ) {
|
808 |
-
add_filter('
|
809 |
|
810 |
register_activation_hook($this->get_paths()->main_file, [$this, 'activation_hook']);
|
811 |
register_deactivation_hook($this->get_paths()->main_file, [$this, 'deactivation_hook']);
|
@@ -821,7 +846,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
821 |
*/
|
822 |
protected function init_plugin_migrations()
|
823 |
{
|
824 |
-
new WBCR\
|
825 |
}
|
826 |
|
827 |
/**
|
@@ -832,7 +857,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
832 |
*/
|
833 |
protected function init_plugin_notices()
|
834 |
{
|
835 |
-
new Wbcr\
|
836 |
}
|
837 |
|
838 |
/**
|
@@ -848,7 +873,7 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
848 |
protected function init_plugin_updates()
|
849 |
{
|
850 |
if( $this->has_updates ) {
|
851 |
-
new WBCR\
|
852 |
}
|
853 |
}
|
854 |
|
@@ -871,11 +896,11 @@ abstract class Wbcr_Factory436_Plugin extends Wbcr_Factory436_Base {
|
|
871 |
}
|
872 |
|
873 |
// Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
|
874 |
-
$this->premium = WBCR\
|
875 |
|
876 |
// Подключаем премиум апгрейдер
|
877 |
if( isset($this->license_settings['has_updates']) && $this->license_settings['has_updates'] ) {
|
878 |
-
new WBCR\
|
879 |
}
|
880 |
}
|
881 |
}
|
24 |
* @package factory-core
|
25 |
*
|
26 |
*/
|
27 |
+
abstract class Wbcr_Factory439_Plugin extends Wbcr_Factory439_Base {
|
28 |
|
29 |
/**
|
30 |
+
* Instance class Wbcr_Factory439_Request, required manages http requests
|
31 |
*
|
32 |
* @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
|
33 |
+
* @var Wbcr_Factory439_Request
|
34 |
*/
|
35 |
public $request;
|
36 |
|
37 |
/**
|
38 |
* @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
|
39 |
+
* @var \WBCR\Factory_439\Premium\Provider
|
40 |
*/
|
41 |
public $premium;
|
42 |
|
43 |
/**
|
44 |
* The Bootstrap Manager class
|
45 |
*
|
46 |
+
* @var Wbcr_FactoryBootstrap439_Manager
|
47 |
*/
|
48 |
public $bootstrap;
|
49 |
|
50 |
/**
|
51 |
* The Bootstrap Manager class
|
52 |
*
|
53 |
+
* @var Wbcr_FactoryForms436_Manager
|
54 |
*/
|
55 |
public $forms;
|
56 |
|
57 |
/**
|
58 |
+
* Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory439_Activator.
|
59 |
* Классы активации используются для упаковки набора функций, которые нужно выполнить во время
|
60 |
* активации плагина.
|
61 |
*
|
62 |
+
* @var array[] Wbcr_Factory439_Activator
|
63 |
*/
|
64 |
protected $activator_class = [];
|
65 |
|
86 |
*
|
87 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
88 |
* @since 4.1.9
|
89 |
+
* @var WBCR\Factory_Adverts_117\Base
|
90 |
*/
|
91 |
private $adverts;
|
92 |
|
93 |
+
/**
|
94 |
+
* The Logger class
|
95 |
+
*
|
96 |
+
* @author Artem Prihodko <webtemyk@yandex.ru>
|
97 |
+
* @since 4.3.7
|
98 |
+
* @var WBCR\Factory_Logger_000\Logger
|
99 |
+
*/
|
100 |
+
public $logger;
|
101 |
+
|
102 |
/**
|
103 |
* Инициализирует компоненты фреймворка и плагина.
|
104 |
*
|
115 |
|
116 |
parent::__construct($plugin_path, $data);
|
117 |
|
118 |
+
$this->request = new Wbcr_Factory439_Request();
|
119 |
+
//$this->route = new Wbcr_Factory439_Route();
|
120 |
|
121 |
// INIT PLUGIN FRAMEWORK MODULES
|
122 |
// Framework modules should always be loaded first,
|
144 |
$this->init_plugin_components();
|
145 |
|
146 |
if( wp_doing_ajax() && isset($_REQUEST['action']) ) {
|
147 |
+
if( "wfactory-439-intall-component" == $_REQUEST['action'] ) {
|
148 |
+
add_action('wp_ajax_wfactory-439-intall-component', [$this, 'ajax_handler_install_components']);
|
149 |
}
|
150 |
|
151 |
+
if( "wfactory-439-prepare-component" == $_REQUEST['action'] ) {
|
152 |
+
add_action('wp_ajax_wfactory-439-prepare-component', [$this, 'ajax_handler_prepare_component']);
|
153 |
}
|
154 |
+
if( "wfactory-439-creativemotion-install-plugin" == $_REQUEST['action'] ) {
|
155 |
+
add_action('wp_ajax_wfactory-439-creativemotion-install-plugin', [
|
156 |
$this,
|
157 |
'ajax_handler_install_creativemotion_plugins'
|
158 |
]);
|
165 |
|
166 |
public function ajax_handler_install_components()
|
167 |
{
|
168 |
+
require_once FACTORY_439_DIR . '/ajax/install-addons.php';
|
169 |
+
wfactory_439_install_components($this);
|
170 |
}
|
171 |
|
172 |
public function ajax_handler_prepare_component()
|
173 |
{
|
174 |
+
require_once FACTORY_439_DIR . '/ajax/install-addons.php';
|
175 |
+
wfactory_439_prepare_component($this);
|
176 |
}
|
177 |
|
178 |
public function ajax_handler_install_creativemotion_plugins()
|
179 |
{
|
180 |
+
require_once FACTORY_439_DIR . '/ajax/install-addons.php';
|
181 |
+
wfactory_439_creativemotion_install_plugin($this);
|
182 |
}
|
183 |
// --------------------------------------------------------
|
184 |
|
186 |
* Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
|
187 |
* скриптов, стилей) фреймворка.
|
188 |
*
|
189 |
+
* @param Wbcr_FactoryBootstrap439_Manager $bootstrap
|
190 |
*/
|
191 |
+
public function setBootstap(Wbcr_FactoryBootstrap439_Manager $bootstrap)
|
192 |
{
|
193 |
$this->bootstrap = $bootstrap;
|
194 |
}
|
196 |
/**
|
197 |
* Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
|
198 |
*
|
199 |
+
* @param Wbcr_FactoryForms436_Manager $forms
|
200 |
*/
|
201 |
+
public function setForms(Wbcr_FactoryForms436_Manager $forms)
|
202 |
{
|
203 |
$this->forms = $forms;
|
204 |
}
|
216 |
}
|
217 |
}
|
218 |
|
219 |
+
/**
|
220 |
+
* Устанавливает класс менеджер, которому будет делегирована работа с объявлениями в Wordpress
|
221 |
+
*
|
222 |
+
* @param string $class_name Logger class name
|
223 |
+
* @param array $settings Logger settings
|
224 |
+
*
|
225 |
+
* @author Artem Prihodko <webtemyk@yandex.ru>
|
226 |
+
* @since 4.3.7
|
227 |
+
*/
|
228 |
+
public function set_logger($class_name, $settings = [])
|
229 |
+
{
|
230 |
+
if( empty($this->logger) ) {
|
231 |
+
$this->logger = new $class_name($this, $settings);
|
232 |
+
}
|
233 |
+
}
|
234 |
+
|
235 |
/**
|
236 |
* Устанавливает класс провайдера лицензий
|
237 |
*
|
246 |
*/
|
247 |
public function set_license_provider($name, $class_name)
|
248 |
{
|
249 |
+
if( !isset(WBCR\Factory_439\Premium\Manager::$providers[$name]) ) {
|
250 |
+
WBCR\Factory_439\Premium\Manager::$providers[$name] = $class_name;
|
251 |
}
|
252 |
}
|
253 |
|
265 |
*/
|
266 |
public function set_update_repository($name, $class_name)
|
267 |
{
|
268 |
+
if( !isset(WBCR\Factory_439\Updates\Upgrader::$repositories[$name]) ) {
|
269 |
+
WBCR\Factory_439\Updates\Upgrader::$repositories[$name] = $class_name;
|
270 |
}
|
271 |
}
|
272 |
|
276 |
* Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
|
277 |
* рекламных объявлений.
|
278 |
*
|
279 |
+
* @return \WBCR\Factory_Adverts_117\Base
|
280 |
* @since 1.1
|
281 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
282 |
*/
|
312 |
|
313 |
public function newScriptList()
|
314 |
{
|
315 |
+
return new Wbcr_Factory439_ScriptList($this);
|
316 |
}
|
317 |
|
318 |
public function newStyleList()
|
319 |
{
|
320 |
+
return new Wbcr_Factory439_StyleList($this);
|
321 |
}
|
322 |
|
323 |
/**
|
324 |
* Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
|
325 |
* фреймворка pages. Разработчик создает собственный класс, унаследованный от
|
326 |
+
* Wbcr_FactoryPages438_AdminPage, а затем регистрирует его через этот метод.
|
327 |
* Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
|
328 |
* pages.
|
329 |
*
|
333 |
* @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
|
334 |
*
|
335 |
* @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
|
336 |
+
* Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryPages438_AdminPage.
|
337 |
* @param string $file_path Абсолютный путь к файлу с классом страницы.
|
338 |
*
|
339 |
* @throws Exception
|
355 |
throw new Exception('A class with this name {' . $class_name . '} does not exist.');
|
356 |
}
|
357 |
|
358 |
+
if( !class_exists('Wbcr_FactoryPages438') ) {
|
359 |
+
throw new Exception('The factory_pages_438 module is not included.');
|
360 |
}
|
361 |
|
362 |
+
Wbcr_FactoryPages438::register($this, $class_name);
|
363 |
}
|
364 |
|
365 |
/**
|
409 |
/**
|
410 |
* @since 4.1.1 - change hook name
|
411 |
*/
|
412 |
+
if( apply_filters("wbcr/factory_439/cancel_plugin_activation_{$this->plugin_name}", false) ) {
|
413 |
return;
|
414 |
}
|
415 |
|
416 |
/**
|
417 |
+
* wbcr_factory_439_plugin_activation
|
418 |
*
|
419 |
* @since 4.1.1 - deprecated
|
420 |
*/
|
421 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_plugin_activation', [
|
422 |
$this
|
423 |
], '4.1.1', "wbcr/factory/plugin_activation");
|
424 |
|
427 |
*
|
428 |
* @since 4.1.2 - deprecated
|
429 |
*/
|
430 |
+
wbcr_factory_439_do_action_deprecated('wbcr/factory/plugin_activation', [
|
431 |
$this
|
432 |
], '4.1.2', "wbcr/factory/before_plugin_activation");
|
433 |
|
443 |
*
|
444 |
* @since 4.1.2 - deprecated
|
445 |
*/
|
446 |
+
wbcr_factory_439_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_activation", [
|
447 |
$this
|
448 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
|
449 |
|
450 |
/**
|
451 |
+
* wbcr_factory_439_plugin_activation_' . $this->plugin_name
|
452 |
*
|
453 |
* @since 4.1.1 - deprecated
|
454 |
*/
|
455 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_plugin_activation_' . $this->plugin_name, [
|
456 |
$this
|
457 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
|
458 |
|
493 |
/**
|
494 |
* @since 4.1.1 - change hook name
|
495 |
*/
|
496 |
+
if( apply_filters("wbcr/factory_439/cancel_plugin_deactivation_{$this->plugin_name}", false) ) {
|
497 |
return;
|
498 |
}
|
499 |
|
500 |
/**
|
501 |
+
* wbcr_factory_439_plugin_deactivation
|
502 |
*
|
503 |
* @since 4.1.1 - deprecated
|
504 |
*/
|
505 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_plugin_deactivation', [
|
506 |
$this
|
507 |
], '4.1.1', "wbcr/factory/plugin_deactivation");
|
508 |
|
511 |
*
|
512 |
* @since 4.1.2 - deprecated
|
513 |
*/
|
514 |
+
wbcr_factory_439_do_action_deprecated('wbcr/factory/plugin_deactivation', [
|
515 |
$this
|
516 |
], '4.1.2', "wbcr/factory/before_plugin_deactivation");
|
517 |
|
523 |
do_action('wbcr/factory/plugin_deactivation', $this);
|
524 |
|
525 |
/**
|
526 |
+
* wbcr_factory_439_plugin_deactivation_ . $this->plugin_name
|
527 |
*
|
528 |
* @since 4.1.1 - deprecated
|
529 |
*/
|
530 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_plugin_deactivation_' . $this->plugin_name, [
|
531 |
$this
|
532 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
|
533 |
|
536 |
*
|
537 |
* @since 4.1.2 - deprecated
|
538 |
*/
|
539 |
+
wbcr_factory_439_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_deactivation", [
|
540 |
$this
|
541 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
|
542 |
|
574 |
*/
|
575 |
public function getPluginPageUrl($page_id, $args = [])
|
576 |
{
|
577 |
+
if( !class_exists('Wbcr_FactoryPages438') ) {
|
578 |
+
throw new Exception('The factory_pages_438 module is not included.');
|
579 |
}
|
580 |
|
581 |
if( !is_admin() ) {
|
584 |
return null;
|
585 |
}
|
586 |
|
587 |
+
return Wbcr_FactoryPages438::getPageUrl($this, $page_id, $args);
|
588 |
}
|
589 |
|
590 |
/**
|
594 |
* @param $slug
|
595 |
* param $premium
|
596 |
*
|
597 |
+
* @return \WBCR\Factory_439\Components\Install_Button
|
598 |
*/
|
599 |
public function get_install_component_button($component_type, $slug)
|
600 |
{
|
601 |
+
require_once FACTORY_439_DIR . '/includes/components/class-install-component-button.php';
|
602 |
|
603 |
+
return new \WBCR\Factory_439\Components\Install_Button($this, $component_type, $slug);
|
604 |
}
|
605 |
|
606 |
/**
|
609 |
* @param $component_type
|
610 |
* @param $slug
|
611 |
*
|
612 |
+
* @return \WBCR\Factory_439\Components\Delete_Button
|
613 |
*/
|
614 |
public function get_delete_component_button($component_type, $slug)
|
615 |
{
|
616 |
+
require_once FACTORY_439_DIR . '/includes/components/class-delete-component-button.php';
|
617 |
|
618 |
+
return new WBCR\Factory_439\Components\Delete_Button($this, $component_type, $slug);
|
619 |
}
|
620 |
|
621 |
/**
|
798 |
/**
|
799 |
* @since 4.1.1 - deprecated
|
800 |
*/
|
801 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_439/modules_loaded-" . $this->plugin_name);
|
802 |
|
803 |
/**
|
804 |
* @since 4.1.1 - add
|
805 |
*/
|
806 |
+
do_action('wbcr/factory_439/modules_loaded-' . $this->plugin_name);
|
807 |
}
|
808 |
|
809 |
|
830 |
});
|
831 |
|
832 |
if( is_admin() ) {
|
833 |
+
add_filter('wbcr_factory_439_core_admin_allow_multisite', '__return_true');
|
834 |
|
835 |
register_activation_hook($this->get_paths()->main_file, [$this, 'activation_hook']);
|
836 |
register_deactivation_hook($this->get_paths()->main_file, [$this, 'deactivation_hook']);
|
846 |
*/
|
847 |
protected function init_plugin_migrations()
|
848 |
{
|
849 |
+
new WBCR\Factory_439\Migrations($this);
|
850 |
}
|
851 |
|
852 |
/**
|
857 |
*/
|
858 |
protected function init_plugin_notices()
|
859 |
{
|
860 |
+
new Wbcr\Factory_439\Notices($this);
|
861 |
}
|
862 |
|
863 |
/**
|
873 |
protected function init_plugin_updates()
|
874 |
{
|
875 |
if( $this->has_updates ) {
|
876 |
+
new WBCR\Factory_439\Updates\Upgrader($this);
|
877 |
}
|
878 |
}
|
879 |
|
896 |
}
|
897 |
|
898 |
// Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
|
899 |
+
$this->premium = WBCR\Factory_439\Premium\Manager::instance($this, $this->license_settings);
|
900 |
|
901 |
// Подключаем премиум апгрейдер
|
902 |
if( isset($this->license_settings['has_updates']) && $this->license_settings['has_updates'] ) {
|
903 |
+
new WBCR\Factory_439\Updates\Premium_Upgrader($this);
|
904 |
}
|
905 |
}
|
906 |
}
|
libs/factory/core/includes/class-factory-plugin-base.php
CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
5 |
}
|
6 |
|
7 |
/**
|
8 |
-
* Базовый класс для создания нового плагина. Полную реализацию класса смотрите в
|
9 |
*
|
10 |
* Документация по классу: https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/392724484
|
11 |
* Документация по созданию плагина: https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828
|
@@ -17,9 +17,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
17 |
* @since 1.0.0
|
18 |
* @package factory-core
|
19 |
*/
|
20 |
-
class
|
21 |
|
22 |
-
use WBCR\
|
23 |
|
24 |
/**
|
25 |
* Обязательное свойство. Префикс, используется для создания пространство имен.
|
@@ -81,7 +81,7 @@ class Wbcr_Factory436_Base {
|
|
81 |
* https://robin-image-optimizer.webcraftic.com/premium-features.
|
82 |
*
|
83 |
* Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
|
84 |
-
* экземпляр класса \WBCR\
|
85 |
* Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
|
86 |
* можете изменить все ссылки в одном месте.
|
87 |
*
|
@@ -127,7 +127,7 @@ class Wbcr_Factory436_Base {
|
|
127 |
* к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
|
128 |
* взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
|
129 |
* индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
|
130 |
-
* WBCR\
|
131 |
*
|
132 |
* На текущий момент существует только реализация для freemius провайдера.
|
133 |
*
|
@@ -177,9 +177,9 @@ class Wbcr_Factory436_Base {
|
|
177 |
* }
|
178 |
*/
|
179 |
protected $load_factory_modules = [
|
180 |
-
[ 'libs/factory/bootstrap', '
|
181 |
-
[ 'libs/factory/forms', '
|
182 |
-
[ 'libs/factory/pages', '
|
183 |
];
|
184 |
|
185 |
/**
|
@@ -209,20 +209,20 @@ class Wbcr_Factory436_Base {
|
|
209 |
|
210 |
|
211 |
/**
|
212 |
-
* Экземпляр класса \WBCR\
|
213 |
* о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
|
214 |
* ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
|
215 |
*
|
216 |
-
* @var \WBCR\
|
217 |
*/
|
218 |
protected $support;
|
219 |
|
220 |
/**
|
221 |
-
* Экземпляр класса \WBCR\
|
222 |
* путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
|
223 |
* или его входного файла.
|
224 |
*
|
225 |
-
* @var \WBCR\
|
226 |
*/
|
227 |
protected $paths;
|
228 |
|
@@ -270,8 +270,8 @@ class Wbcr_Factory436_Base {
|
|
270 |
throw new Exception( 'One of the required attributes has not been passed (prefix, plugin_title, plugin_name, plugin_version, plugin_text_domain).' );
|
271 |
}
|
272 |
|
273 |
-
$this->support = new \WBCR\
|
274 |
-
$this->paths = new \WBCR\
|
275 |
|
276 |
// used only in the module 'updates'
|
277 |
$this->plugin_slug = ! empty( $this->plugin_name ) ? $this->plugin_name : basename( $plugin_file );
|
@@ -391,7 +391,7 @@ class Wbcr_Factory436_Base {
|
|
391 |
* Проверяет, включен ли премиум для этого плагина или нет.
|
392 |
*
|
393 |
* @return bool Возвращает true, если премиум пакет включен для этого плагина.
|
394 |
-
* См.
|
395 |
*/
|
396 |
public function has_premium() {
|
397 |
return $this->has_premium;
|
@@ -400,7 +400,7 @@ class Wbcr_Factory436_Base {
|
|
400 |
/**
|
401 |
* Позволяет получить заголовок плагина.
|
402 |
*
|
403 |
-
* @return string Возвращает заголовок плагина. См.
|
404 |
*/
|
405 |
public function getPluginTitle() {
|
406 |
return $this->plugin_title;
|
@@ -409,7 +409,7 @@ class Wbcr_Factory436_Base {
|
|
409 |
/**
|
410 |
* Позволяет получить префикс плагина.
|
411 |
*
|
412 |
-
* @return string Возвращает префикс плагина.См.
|
413 |
*/
|
414 |
public function getPrefix() {
|
415 |
return $this->prefix;
|
@@ -418,7 +418,7 @@ class Wbcr_Factory436_Base {
|
|
418 |
/**
|
419 |
* Позволяет получить имя плагина.
|
420 |
*
|
421 |
-
* @return string Возвращает имя плагина. См.
|
422 |
*/
|
423 |
public function getPluginName() {
|
424 |
return $this->plugin_name;
|
@@ -427,7 +427,7 @@ class Wbcr_Factory436_Base {
|
|
427 |
/**
|
428 |
* Позволяет получить версию плагина.
|
429 |
*
|
430 |
-
* @return string Возвращает версию плагина. См.
|
431 |
*/
|
432 |
public function getPluginVersion() {
|
433 |
return $this->plugin_version;
|
@@ -449,7 +449,7 @@ class Wbcr_Factory436_Base {
|
|
449 |
* какие-то данные не описанные в интерфейсе этого плагина.
|
450 |
*
|
451 |
* @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
|
452 |
-
*
|
453 |
*
|
454 |
* @return null
|
455 |
*/
|
@@ -462,18 +462,18 @@ class Wbcr_Factory436_Base {
|
|
462 |
}
|
463 |
|
464 |
/**
|
465 |
-
* Предоставляет доступ к экземпляру класса \WBCR\
|
466 |
*
|
467 |
-
* @return \WBCR\
|
468 |
*/
|
469 |
public function get_support() {
|
470 |
return $this->support;
|
471 |
}
|
472 |
|
473 |
/**
|
474 |
-
* Предоставляет доступ к экземпляру класса \WBCR\
|
475 |
*
|
476 |
-
* @return \WBCR\
|
477 |
*/
|
478 |
public function get_paths() {
|
479 |
return $this->paths;
|
@@ -482,7 +482,7 @@ class Wbcr_Factory436_Base {
|
|
482 |
/**
|
483 |
* Позволяет получить сырые данные плагина в виде объекта StdClass.
|
484 |
*
|
485 |
-
* @return object Возвращает объект с сырыми данными плагина. См.
|
486 |
*/
|
487 |
public function getPluginInfo() {
|
488 |
return (object) $this->plugin_data;
|
5 |
}
|
6 |
|
7 |
/**
|
8 |
+
* Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory439_Plugin
|
9 |
*
|
10 |
* Документация по классу: https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/392724484
|
11 |
* Документация по созданию плагина: https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828
|
17 |
* @since 1.0.0
|
18 |
* @package factory-core
|
19 |
*/
|
20 |
+
class Wbcr_Factory439_Base {
|
21 |
|
22 |
+
use WBCR\Factory_439\Options;
|
23 |
|
24 |
/**
|
25 |
* Обязательное свойство. Префикс, используется для создания пространство имен.
|
81 |
* https://robin-image-optimizer.webcraftic.com/premium-features.
|
82 |
*
|
83 |
* Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
|
84 |
+
* экземпляр класса \WBCR\Factory_439\Entities\Support, для получения информации о сайте плагина.
|
85 |
* Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
|
86 |
* можете изменить все ссылки в одном месте.
|
87 |
*
|
127 |
* к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
|
128 |
* взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
|
129 |
* индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
|
130 |
+
* WBCR\Factory_439\Premium\Provider > WBCR\Factory_Freemius_126\Premium\Provider
|
131 |
*
|
132 |
* На текущий момент существует только реализация для freemius провайдера.
|
133 |
*
|
177 |
* }
|
178 |
*/
|
179 |
protected $load_factory_modules = [
|
180 |
+
[ 'libs/factory/bootstrap', 'factory_bootstrap_439', 'admin' ],
|
181 |
+
[ 'libs/factory/forms', 'factory_forms_436', 'admin' ],
|
182 |
+
[ 'libs/factory/pages', 'factory_pages_438', 'admin' ],
|
183 |
];
|
184 |
|
185 |
/**
|
209 |
|
210 |
|
211 |
/**
|
212 |
+
* Экземпляр класса \WBCR\Factory_439\Entities\Support используется для получения информации
|
213 |
* о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
|
214 |
* ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
|
215 |
*
|
216 |
+
* @var \WBCR\Factory_439\Entities\Support
|
217 |
*/
|
218 |
protected $support;
|
219 |
|
220 |
/**
|
221 |
+
* Экземпляр класса \WBCR\Factory_439\Entities\Paths используется для получения информации о
|
222 |
* путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
|
223 |
* или его входного файла.
|
224 |
*
|
225 |
+
* @var \WBCR\Factory_439\Entities\Paths
|
226 |
*/
|
227 |
protected $paths;
|
228 |
|
270 |
throw new Exception( 'One of the required attributes has not been passed (prefix, plugin_title, plugin_name, plugin_version, plugin_text_domain).' );
|
271 |
}
|
272 |
|
273 |
+
$this->support = new \WBCR\Factory_439\Entities\Support( $this->support_details );
|
274 |
+
$this->paths = new \WBCR\Factory_439\Entities\Paths( $plugin_file );
|
275 |
|
276 |
// used only in the module 'updates'
|
277 |
$this->plugin_slug = ! empty( $this->plugin_name ) ? $this->plugin_name : basename( $plugin_file );
|
391 |
* Проверяет, включен ли премиум для этого плагина или нет.
|
392 |
*
|
393 |
* @return bool Возвращает true, если премиум пакет включен для этого плагина.
|
394 |
+
* См. Wbcr_Factory439_Base::has_premium
|
395 |
*/
|
396 |
public function has_premium() {
|
397 |
return $this->has_premium;
|
400 |
/**
|
401 |
* Позволяет получить заголовок плагина.
|
402 |
*
|
403 |
+
* @return string Возвращает заголовок плагина. См. Wbcr_Factory439_Base::plugin_title
|
404 |
*/
|
405 |
public function getPluginTitle() {
|
406 |
return $this->plugin_title;
|
409 |
/**
|
410 |
* Позволяет получить префикс плагина.
|
411 |
*
|
412 |
+
* @return string Возвращает префикс плагина.См. Wbcr_Factory439_Base::prefix
|
413 |
*/
|
414 |
public function getPrefix() {
|
415 |
return $this->prefix;
|
418 |
/**
|
419 |
* Позволяет получить имя плагина.
|
420 |
*
|
421 |
+
* @return string Возвращает имя плагина. См. Wbcr_Factory439_Base::plugin_name
|
422 |
*/
|
423 |
public function getPluginName() {
|
424 |
return $this->plugin_name;
|
427 |
/**
|
428 |
* Позволяет получить версию плагина.
|
429 |
*
|
430 |
+
* @return string Возвращает версию плагина. См. Wbcr_Factory439_Base::plugin_version
|
431 |
*/
|
432 |
public function getPluginVersion() {
|
433 |
return $this->plugin_version;
|
449 |
* какие-то данные не описанные в интерфейсе этого плагина.
|
450 |
*
|
451 |
* @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
|
452 |
+
* Wbcr_Factory439_Base::plugin_data
|
453 |
*
|
454 |
* @return null
|
455 |
*/
|
462 |
}
|
463 |
|
464 |
/**
|
465 |
+
* Предоставляет доступ к экземпляру класса \WBCR\Factory_439\Entities\Support.
|
466 |
*
|
467 |
+
* @return \WBCR\Factory_439\Entities\Support
|
468 |
*/
|
469 |
public function get_support() {
|
470 |
return $this->support;
|
471 |
}
|
472 |
|
473 |
/**
|
474 |
+
* Предоставляет доступ к экземпляру класса \WBCR\Factory_439\Entities\Paths.
|
475 |
*
|
476 |
+
* @return \WBCR\Factory_439\Entities\Paths
|
477 |
*/
|
478 |
public function get_paths() {
|
479 |
return $this->paths;
|
482 |
/**
|
483 |
* Позволяет получить сырые данные плагина в виде объекта StdClass.
|
484 |
*
|
485 |
+
* @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory439_Base::plugin_data
|
486 |
*/
|
487 |
public function getPluginInfo() {
|
488 |
return (object) $this->plugin_data;
|
libs/factory/core/includes/class-factory-requests.php
CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
* @package factory-core
|
12 |
*/
|
13 |
|
14 |
-
class
|
15 |
|
16 |
/**
|
17 |
* @param null $param
|
11 |
* @package factory-core
|
12 |
*/
|
13 |
|
14 |
+
class Wbcr_Factory439_Request {
|
15 |
|
16 |
/**
|
17 |
* @param null $param
|
libs/factory/core/includes/class-factory-requirements.php
CHANGED
@@ -12,8 +12,8 @@
|
|
12 |
* @since 4.0.9
|
13 |
*/
|
14 |
// @formatter:off
|
15 |
-
if ( ! class_exists( '
|
16 |
-
class
|
17 |
|
18 |
/**
|
19 |
* Factory framework version
|
@@ -242,7 +242,7 @@ if ( ! class_exists( 'Wbcr_Factory436_Requirements' ) ) {
|
|
242 |
$notice_text = $notice_default_text = '';
|
243 |
$notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
|
244 |
|
245 |
-
$notice_default_text .= sprintf( __( 'The %s plugin has stopped.', '
|
246 |
$notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
|
247 |
|
248 |
$has_one = false;
|
@@ -273,21 +273,21 @@ if ( ! class_exists( 'Wbcr_Factory436_Requirements' ) ) {
|
|
273 |
* @return string
|
274 |
*/
|
275 |
protected function get_php_incompat_text() {
|
276 |
-
return sprintf( __( 'You need to update the PHP version to %s or higher!', '
|
277 |
}
|
278 |
|
279 |
/**
|
280 |
* @return string
|
281 |
*/
|
282 |
protected function get_wp_incompat_text() {
|
283 |
-
return sprintf( __( 'You need to update WordPress to %s or higher!', '
|
284 |
}
|
285 |
|
286 |
/**
|
287 |
* @return string
|
288 |
*/
|
289 |
protected function get_plugin_already_activate_text() {
|
290 |
-
return sprintf( __( 'Plugin %s is already activated, you are trying to activate it again.', '
|
291 |
}
|
292 |
}
|
293 |
}
|
12 |
* @since 4.0.9
|
13 |
*/
|
14 |
// @formatter:off
|
15 |
+
if ( ! class_exists( 'Wbcr_Factory439_Requirements' ) ) {
|
16 |
+
class Wbcr_Factory439_Requirements {
|
17 |
|
18 |
/**
|
19 |
* Factory framework version
|
242 |
$notice_text = $notice_default_text = '';
|
243 |
$notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
|
244 |
|
245 |
+
$notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_230' ), $this->plugin_title ) . ' ';
|
246 |
$notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
|
247 |
|
248 |
$has_one = false;
|
273 |
* @return string
|
274 |
*/
|
275 |
protected function get_php_incompat_text() {
|
276 |
+
return sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_439' ), $this->required_php_version );
|
277 |
}
|
278 |
|
279 |
/**
|
280 |
* @return string
|
281 |
*/
|
282 |
protected function get_wp_incompat_text() {
|
283 |
+
return sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_439' ), $this->required_wp_version );
|
284 |
}
|
285 |
|
286 |
/**
|
287 |
* @return string
|
288 |
*/
|
289 |
protected function get_plugin_already_activate_text() {
|
290 |
+
return sprintf( __( 'Plugin %s is already activated, you are trying to activate it again.', 'wbcr_factory_439' ), $this->plugin_title );
|
291 |
}
|
292 |
}
|
293 |
}
|
libs/factory/core/includes/components/class-delete-component-button.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
/**
|
6 |
* This file groups the settings for quick setup
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Components;
|
4 |
|
5 |
/**
|
6 |
* This file groups the settings for quick setup
|
libs/factory/core/includes/components/class-install-component-button.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
/**
|
6 |
* This file groups the settings for quick setup
|
@@ -22,7 +22,7 @@ class Install_Button {
|
|
22 |
|
23 |
protected $classes = [
|
24 |
'button',
|
25 |
-
'wfactory-
|
26 |
];
|
27 |
protected $data = [];
|
28 |
protected $base_path;
|
@@ -37,7 +37,7 @@ class Install_Button {
|
|
37 |
* @throws \Exception
|
38 |
* @since 4.3.3
|
39 |
*/
|
40 |
-
public function __construct(\
|
41 |
{
|
42 |
if( empty($type) || !is_string($plugin_slug) ) {
|
43 |
throw new \Exception('Empty type or plugin_slug attribute.');
|
@@ -67,7 +67,7 @@ class Install_Button {
|
|
67 |
|
68 |
// Set default data
|
69 |
$this->add_data('storage', $this->type);
|
70 |
-
$this->add_data('i18n', \
|
71 |
$this->add_data('wpnonce', wp_create_nonce('updates'));
|
72 |
}
|
73 |
|
@@ -420,13 +420,13 @@ class Install_Button {
|
|
420 |
protected function get_i18n()
|
421 |
{
|
422 |
return [
|
423 |
-
'activate' => __('Activate', '
|
424 |
-
'install' => __('Install', '
|
425 |
-
'deactivate' => __('Deactivate', '
|
426 |
-
'delete' => __('Delete', '
|
427 |
-
'loading' => __('Please wait...', '
|
428 |
-
'preparation' => __('Preparation...', '
|
429 |
-
'read' => __('Read more', '
|
430 |
];
|
431 |
}
|
432 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Components;
|
4 |
|
5 |
/**
|
6 |
* This file groups the settings for quick setup
|
22 |
|
23 |
protected $classes = [
|
24 |
'button',
|
25 |
+
'wfactory-439-process-button'
|
26 |
];
|
27 |
protected $data = [];
|
28 |
protected $base_path;
|
37 |
* @throws \Exception
|
38 |
* @since 4.3.3
|
39 |
*/
|
40 |
+
public function __construct(\Wbcr_Factory439_Plugin $plugin, $type, $plugin_slug)
|
41 |
{
|
42 |
if( empty($type) || !is_string($plugin_slug) ) {
|
43 |
throw new \Exception('Empty type or plugin_slug attribute.');
|
67 |
|
68 |
// Set default data
|
69 |
$this->add_data('storage', $this->type);
|
70 |
+
$this->add_data('i18n', \WbcrFactoryClearfy230_Helpers::getEscapeJson($this->get_i18n()));
|
71 |
$this->add_data('wpnonce', wp_create_nonce('updates'));
|
72 |
}
|
73 |
|
420 |
protected function get_i18n()
|
421 |
{
|
422 |
return [
|
423 |
+
'activate' => __('Activate', 'wbcr_factory_439'),
|
424 |
+
'install' => __('Install', 'wbcr_factory_439'),
|
425 |
+
'deactivate' => __('Deactivate', 'wbcr_factory_439'),
|
426 |
+
'delete' => __('Delete', 'wbcr_factory_439'),
|
427 |
+
'loading' => __('Please wait...', 'wbcr_factory_439'),
|
428 |
+
'preparation' => __('Preparation...', 'wbcr_factory_439'),
|
429 |
+
'read' => __('Read more', 'wbcr_factory_439')
|
430 |
];
|
431 |
}
|
432 |
|
libs/factory/core/includes/entities/class-factory-paths.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
exit;
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Entities;
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
exit;
|
libs/factory/core/includes/entities/class-factory-support.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
exit;
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Entities;
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
exit;
|
libs/factory/core/includes/functions.php
CHANGED
@@ -53,17 +53,17 @@ if ( ! function_exists( 'get_user_locale' ) ) {
|
|
53 |
* @param string $message Optional. A message regarding the change.
|
54 |
*
|
55 |
* @return mixed
|
56 |
-
* @see
|
57 |
*
|
58 |
*/
|
59 |
-
function
|
60 |
if ( function_exists( 'apply_filters_deprecated' ) ) {
|
61 |
return apply_filters_deprecated( $tag, $args, $version, $replacement, $message );
|
62 |
}
|
63 |
if ( ! has_filter( $tag ) ) {
|
64 |
return $args[0];
|
65 |
}
|
66 |
-
|
67 |
|
68 |
return apply_filters_ref_array( $tag, $args );
|
69 |
}
|
@@ -89,7 +89,7 @@ function wbcr_factory_436_apply_filters_deprecated( $tag, $args, $version, $repl
|
|
89 |
* @see _deprecated_hook()
|
90 |
*
|
91 |
*/
|
92 |
-
function
|
93 |
if ( function_exists( 'do_action_deprecated' ) ) {
|
94 |
do_action_deprecated( $tag, $args, $version, $replacement, $message );
|
95 |
|
@@ -98,14 +98,14 @@ function wbcr_factory_436_do_action_deprecated( $tag, $args, $version, $replacem
|
|
98 |
if ( ! has_action( $tag ) ) {
|
99 |
return;
|
100 |
}
|
101 |
-
|
102 |
do_action_ref_array( $tag, $args );
|
103 |
}
|
104 |
|
105 |
/**
|
106 |
* Marks a deprecated action or filter hook as deprecated and throws a notice.
|
107 |
*
|
108 |
-
* Use the '
|
109 |
* deprecated hook was called.
|
110 |
*
|
111 |
* Default behavior is to trigger a user error if WP_DEBUG is true.
|
@@ -123,7 +123,7 @@ function wbcr_factory_436_do_action_deprecated( $tag, $args, $version, $replacem
|
|
123 |
* @param string $replacement Optional. The hook that should have been used.
|
124 |
* @param string $message Optional. A message regarding the change.
|
125 |
*/
|
126 |
-
function
|
127 |
/**
|
128 |
* Fires when a deprecated hook is called.
|
129 |
*
|
53 |
* @param string $message Optional. A message regarding the change.
|
54 |
*
|
55 |
* @return mixed
|
56 |
+
* @see wbcr_factory_439_deprecated_hook()
|
57 |
*
|
58 |
*/
|
59 |
+
function wbcr_factory_439_apply_filters_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
|
60 |
if ( function_exists( 'apply_filters_deprecated' ) ) {
|
61 |
return apply_filters_deprecated( $tag, $args, $version, $replacement, $message );
|
62 |
}
|
63 |
if ( ! has_filter( $tag ) ) {
|
64 |
return $args[0];
|
65 |
}
|
66 |
+
wbcr_factory_439_deprecated_hook( $tag, $version, $replacement, $message );
|
67 |
|
68 |
return apply_filters_ref_array( $tag, $args );
|
69 |
}
|
89 |
* @see _deprecated_hook()
|
90 |
*
|
91 |
*/
|
92 |
+
function wbcr_factory_439_do_action_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
|
93 |
if ( function_exists( 'do_action_deprecated' ) ) {
|
94 |
do_action_deprecated( $tag, $args, $version, $replacement, $message );
|
95 |
|
98 |
if ( ! has_action( $tag ) ) {
|
99 |
return;
|
100 |
}
|
101 |
+
wbcr_factory_439_deprecated_hook( $tag, $version, $replacement, $message );
|
102 |
do_action_ref_array( $tag, $args );
|
103 |
}
|
104 |
|
105 |
/**
|
106 |
* Marks a deprecated action or filter hook as deprecated and throws a notice.
|
107 |
*
|
108 |
+
* Use the 'wbcr_factory_439_deprecated_hook_run' action to get the backtrace describing where the
|
109 |
* deprecated hook was called.
|
110 |
*
|
111 |
* Default behavior is to trigger a user error if WP_DEBUG is true.
|
123 |
* @param string $replacement Optional. The hook that should have been used.
|
124 |
* @param string $message Optional. A message regarding the change.
|
125 |
*/
|
126 |
+
function wbcr_factory_439_deprecated_hook( $hook, $version, $replacement = null, $message = null ) {
|
127 |
/**
|
128 |
* Fires when a deprecated hook is called.
|
129 |
*
|
libs/factory/core/includes/premium/class-factory-license-interface.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Premium\Interfaces;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
libs/factory/core/includes/premium/class-factory-manager.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use Exception;
|
6 |
-
use
|
7 |
|
8 |
// Exit if accessed directly
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -24,7 +24,7 @@ class Manager {
|
|
24 |
public static $providers;
|
25 |
|
26 |
/**
|
27 |
-
* @var
|
28 |
*/
|
29 |
protected $plugin;
|
30 |
|
@@ -36,24 +36,24 @@ class Manager {
|
|
36 |
/**
|
37 |
* Manager constructor.
|
38 |
*
|
39 |
-
* @param
|
40 |
* @param array $settings
|
41 |
*
|
42 |
* @throws Exception
|
43 |
*/
|
44 |
-
public function __construct(
|
45 |
$this->plugin = $plugin;
|
46 |
$this->settings = $settings;
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
-
* @param
|
51 |
* @param array $settings
|
52 |
*
|
53 |
-
* @return \WBCR\
|
54 |
* @throws Exception
|
55 |
*/
|
56 |
-
public static function instance(
|
57 |
$premium_manager = new Manager( $plugin, $settings );
|
58 |
|
59 |
return $premium_manager->instance_provider();
|
@@ -62,7 +62,7 @@ class Manager {
|
|
62 |
/**
|
63 |
* @param $provider_name
|
64 |
*
|
65 |
-
* @return \WBCR\
|
66 |
* @throws Exception
|
67 |
*/
|
68 |
public function instance_provider() {
|
@@ -70,7 +70,7 @@ class Manager {
|
|
70 |
|
71 |
if ( isset( self::$providers[ $provider_name ] ) && class_exists( self::$providers[ $provider_name ] ) ) {
|
72 |
if ( self::$providers[ $provider_name ] instanceof Provider ) {
|
73 |
-
throw new Exception( "Provider {$provider_name} must extend the class WBCR\
|
74 |
}
|
75 |
|
76 |
return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Premium;
|
4 |
|
5 |
use Exception;
|
6 |
+
use Wbcr_Factory439_Plugin;
|
7 |
|
8 |
// Exit if accessed directly
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
24 |
public static $providers;
|
25 |
|
26 |
/**
|
27 |
+
* @var Wbcr_Factory439_Plugin
|
28 |
*/
|
29 |
protected $plugin;
|
30 |
|
36 |
/**
|
37 |
* Manager constructor.
|
38 |
*
|
39 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
40 |
* @param array $settings
|
41 |
*
|
42 |
* @throws Exception
|
43 |
*/
|
44 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin, array $settings ) {
|
45 |
$this->plugin = $plugin;
|
46 |
$this->settings = $settings;
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
51 |
* @param array $settings
|
52 |
*
|
53 |
+
* @return \WBCR\Factory_Freemius_126\Premium\Provider
|
54 |
* @throws Exception
|
55 |
*/
|
56 |
+
public static function instance( Wbcr_Factory439_Plugin $plugin, array $settings ) {
|
57 |
$premium_manager = new Manager( $plugin, $settings );
|
58 |
|
59 |
return $premium_manager->instance_provider();
|
62 |
/**
|
63 |
* @param $provider_name
|
64 |
*
|
65 |
+
* @return \WBCR\Factory_Freemius_126\Premium\Provider
|
66 |
* @throws Exception
|
67 |
*/
|
68 |
public function instance_provider() {
|
70 |
|
71 |
if ( isset( self::$providers[ $provider_name ] ) && class_exists( self::$providers[ $provider_name ] ) ) {
|
72 |
if ( self::$providers[ $provider_name ] instanceof Provider ) {
|
73 |
+
throw new Exception( "Provider {$provider_name} must extend the class WBCR\Factory_439\Premium\Provider interface!" );
|
74 |
}
|
75 |
|
76 |
return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
|
libs/factory/core/includes/premium/class-factory-provider-abstract.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use Exception;
|
6 |
-
use
|
7 |
|
8 |
// Exit if accessed directly
|
9 |
if( !defined('ABSPATH') ) {
|
@@ -21,7 +21,7 @@ if( !defined('ABSPATH') ) {
|
|
21 |
abstract class Provider {
|
22 |
|
23 |
/**
|
24 |
-
* @var
|
25 |
*/
|
26 |
protected $plugin;
|
27 |
|
@@ -38,10 +38,10 @@ abstract class Provider {
|
|
38 |
/**
|
39 |
* Provider constructor.
|
40 |
*
|
41 |
-
* @param
|
42 |
* @param array $settings
|
43 |
*/
|
44 |
-
public function __construct(
|
45 |
{
|
46 |
$this->plugin = $plugin;
|
47 |
$this->settings = $settings;
|
@@ -244,7 +244,7 @@ abstract class Provider {
|
|
244 |
abstract public function get_billing_cycle();
|
245 |
|
246 |
/**
|
247 |
-
* @return \WBCR\
|
248 |
*/
|
249 |
abstract public function get_license();
|
250 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Premium;
|
4 |
|
5 |
use Exception;
|
6 |
+
use Wbcr_Factory439_Plugin;
|
7 |
|
8 |
// Exit if accessed directly
|
9 |
if( !defined('ABSPATH') ) {
|
21 |
abstract class Provider {
|
22 |
|
23 |
/**
|
24 |
+
* @var Wbcr_Factory439_Plugin
|
25 |
*/
|
26 |
protected $plugin;
|
27 |
|
38 |
/**
|
39 |
* Provider constructor.
|
40 |
*
|
41 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
42 |
* @param array $settings
|
43 |
*/
|
44 |
+
public function __construct(Wbcr_Factory439_Plugin $plugin, array $settings)
|
45 |
{
|
46 |
$this->plugin = $plugin;
|
47 |
$this->settings = $settings;
|
244 |
abstract public function get_billing_cycle();
|
245 |
|
246 |
/**
|
247 |
+
* @return \WBCR\Factory_439\Premium\Interfaces\License
|
248 |
*/
|
249 |
abstract public function get_license();
|
250 |
|
libs/factory/core/includes/updates/class-factory-premium-upgrader.php
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use Exception;
|
6 |
use Plugin_Installer_Skin;
|
7 |
use Plugin_Upgrader;
|
8 |
-
use
|
9 |
-
use
|
10 |
use WP_Filesystem_Base;
|
11 |
use WP_Upgrader;
|
12 |
use WP_Upgrader_Skin;
|
@@ -45,13 +45,13 @@ class Premium_Upgrader extends Upgrader {
|
|
45 |
* @param $args
|
46 |
* @param bool $is_premium
|
47 |
*
|
48 |
-
* @param
|
49 |
*
|
50 |
* @throws Exception
|
51 |
* @since 4.1.1
|
52 |
*
|
53 |
*/
|
54 |
-
public function __construct(
|
55 |
{
|
56 |
parent::__construct($plugin);
|
57 |
|
@@ -242,9 +242,9 @@ class Premium_Upgrader extends Upgrader {
|
|
242 |
/**
|
243 |
* Выводит уведомление внутри интерфейса плагина, на всех страницах плагина.
|
244 |
*
|
245 |
-
* @param
|
246 |
*
|
247 |
-
* @param
|
248 |
*
|
249 |
* @return void
|
250 |
* @since 4.1.1
|
@@ -808,12 +808,12 @@ class Premium_Upgrader extends Upgrader {
|
|
808 |
$cancel_license_url = $this->get_action_url('cancel_license');
|
809 |
|
810 |
$texts = [
|
811 |
-
'need_activate_license' => __('License activation required. A license is required to get premium plugin updates, as well as to get additional services.', '
|
812 |
-
'need_renew_license' => __('Your license has expired. You can no longer get premium plugin updates, premium support and your access to Webcraftic services has been suspended.', '
|
813 |
'please_install_premium' => sprintf(__('Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
|
814 |
-
<a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', '
|
815 |
'please_activate_premium' => sprintf(__('Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
|
816 |
-
<a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', '
|
817 |
];
|
818 |
|
819 |
if( isset($texts[$type]) ) {
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Updates;
|
4 |
|
5 |
use Exception;
|
6 |
use Plugin_Installer_Skin;
|
7 |
use Plugin_Upgrader;
|
8 |
+
use Wbcr_Factory439_Plugin;
|
9 |
+
use Wbcr_FactoryPages438_ImpressiveThemplate;
|
10 |
use WP_Filesystem_Base;
|
11 |
use WP_Upgrader;
|
12 |
use WP_Upgrader_Skin;
|
45 |
* @param $args
|
46 |
* @param bool $is_premium
|
47 |
*
|
48 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
49 |
*
|
50 |
* @throws Exception
|
51 |
* @since 4.1.1
|
52 |
*
|
53 |
*/
|
54 |
+
public function __construct(Wbcr_Factory439_Plugin $plugin)
|
55 |
{
|
56 |
parent::__construct($plugin);
|
57 |
|
242 |
/**
|
243 |
* Выводит уведомление внутри интерфейса плагина, на всех страницах плагина.
|
244 |
*
|
245 |
+
* @param Wbcr_FactoryPages438_ImpressiveThemplate $obj
|
246 |
*
|
247 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
248 |
*
|
249 |
* @return void
|
250 |
* @since 4.1.1
|
808 |
$cancel_license_url = $this->get_action_url('cancel_license');
|
809 |
|
810 |
$texts = [
|
811 |
+
'need_activate_license' => __('License activation required. A license is required to get premium plugin updates, as well as to get additional services.', 'wbcr_factory_439'),
|
812 |
+
'need_renew_license' => __('Your license has expired. You can no longer get premium plugin updates, premium support and your access to Webcraftic services has been suspended.', 'wbcr_factory_439'),
|
813 |
'please_install_premium' => sprintf(__('Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
|
814 |
+
<a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_439'), $upgrade_url, $cancel_license_url),
|
815 |
'please_activate_premium' => sprintf(__('Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
|
816 |
+
<a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_439'), $activate_plugin_url, $cancel_license_url)
|
817 |
];
|
818 |
|
819 |
if( isset($texts[$type]) ) {
|
libs/factory/core/includes/updates/class-factory-upgrader.php
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use Exception;
|
6 |
use stdClass;
|
7 |
-
use
|
8 |
|
9 |
// Exit if accessed directly
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -28,8 +28,8 @@ class Upgrader {
|
|
28 |
* @since 4.1.7
|
29 |
* @var array хранит имя репозитория и его имя класса
|
30 |
* [
|
31 |
-
* 'wordpress' => 'WBCR\
|
32 |
-
* 'freemius' => '\WBCR\
|
33 |
* ]
|
34 |
*/
|
35 |
public static $repositories = [];
|
@@ -42,7 +42,7 @@ class Upgrader {
|
|
42 |
protected $type = 'default';
|
43 |
|
44 |
/**
|
45 |
-
* @var
|
46 |
*/
|
47 |
protected $plugin;
|
48 |
|
@@ -90,13 +90,13 @@ class Upgrader {
|
|
90 |
*
|
91 |
* @since 4.1.1
|
92 |
*
|
93 |
-
* @param
|
94 |
* @param $args
|
95 |
* @param bool $is_premium
|
96 |
*
|
97 |
* @throws Exception
|
98 |
*/
|
99 |
-
public function __construct(
|
100 |
|
101 |
$this->plugin = $plugin;
|
102 |
|
@@ -106,7 +106,7 @@ class Upgrader {
|
|
106 |
$this->is_debug = defined( 'FACTORY_UPDATES_DEBUG' ) && FACTORY_UPDATES_DEBUG;
|
107 |
|
108 |
# Добавляем Wordpress репозиторий в список доступных репозиториев по умолчанию
|
109 |
-
self::$repositories['wordpress'] = '\WBCR\
|
110 |
|
111 |
$settings = $this->get_settings();
|
112 |
|
@@ -287,7 +287,7 @@ class Upgrader {
|
|
287 |
|
288 |
if ( isset( self::$repositories[ $repository_name ] ) && class_exists( self::$repositories[ $repository_name ] ) ) {
|
289 |
if ( self::$repositories[ $repository_name ] instanceof Repository ) {
|
290 |
-
throw new Exception( "Repository {$repository_name} must extend the class WBCR\
|
291 |
}
|
292 |
|
293 |
return new self::$repositories[ $repository_name ]( $this->plugin );
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Updates;
|
4 |
|
5 |
use Exception;
|
6 |
use stdClass;
|
7 |
+
use Wbcr_Factory439_Plugin;
|
8 |
|
9 |
// Exit if accessed directly
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
28 |
* @since 4.1.7
|
29 |
* @var array хранит имя репозитория и его имя класса
|
30 |
* [
|
31 |
+
* 'wordpress' => 'WBCR\Factory_Freemius_126\Updates\Freemius_Repository',
|
32 |
+
* 'freemius' => '\WBCR\Factory_439\Updates\Wordpress_Repository'
|
33 |
* ]
|
34 |
*/
|
35 |
public static $repositories = [];
|
42 |
protected $type = 'default';
|
43 |
|
44 |
/**
|
45 |
+
* @var Wbcr_Factory439_Plugin
|
46 |
*/
|
47 |
protected $plugin;
|
48 |
|
90 |
*
|
91 |
* @since 4.1.1
|
92 |
*
|
93 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
94 |
* @param $args
|
95 |
* @param bool $is_premium
|
96 |
*
|
97 |
* @throws Exception
|
98 |
*/
|
99 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
100 |
|
101 |
$this->plugin = $plugin;
|
102 |
|
106 |
$this->is_debug = defined( 'FACTORY_UPDATES_DEBUG' ) && FACTORY_UPDATES_DEBUG;
|
107 |
|
108 |
# Добавляем Wordpress репозиторий в список доступных репозиториев по умолчанию
|
109 |
+
self::$repositories['wordpress'] = '\WBCR\Factory_439\Updates\Wordpress_Repository';
|
110 |
|
111 |
$settings = $this->get_settings();
|
112 |
|
287 |
|
288 |
if ( isset( self::$repositories[ $repository_name ] ) && class_exists( self::$repositories[ $repository_name ] ) ) {
|
289 |
if ( self::$repositories[ $repository_name ] instanceof Repository ) {
|
290 |
+
throw new Exception( "Repository {$repository_name} must extend the class WBCR\Factory_439\Updates\Repository interface!" );
|
291 |
}
|
292 |
|
293 |
return new self::$repositories[ $repository_name ]( $this->plugin );
|
libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
-
use
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
@@ -23,17 +23,17 @@ abstract class Repository {
|
|
23 |
protected $initialized = false;
|
24 |
|
25 |
/**
|
26 |
-
* @var
|
27 |
*/
|
28 |
protected $plugin;
|
29 |
|
30 |
/**
|
31 |
* Repository constructor.
|
32 |
*
|
33 |
-
* @param
|
34 |
* @param bool $is_premium
|
35 |
*/
|
36 |
-
abstract public function __construct(
|
37 |
|
38 |
/**
|
39 |
* @return void
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Updates;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
+
use Wbcr_Factory439_Plugin;
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
23 |
protected $initialized = false;
|
24 |
|
25 |
/**
|
26 |
+
* @var Wbcr_Factory439_Plugin
|
27 |
*/
|
28 |
protected $plugin;
|
29 |
|
30 |
/**
|
31 |
* Repository constructor.
|
32 |
*
|
33 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
34 |
* @param bool $is_premium
|
35 |
*/
|
36 |
+
abstract public function __construct( Wbcr_Factory439_Plugin $plugin );
|
37 |
|
38 |
/**
|
39 |
* @return void
|
libs/factory/core/includes/updates/repositories/class-factory-wordpress.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
-
use
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
@@ -20,10 +20,10 @@ class Wordpress_Repository extends Repository {
|
|
20 |
/**
|
21 |
* Wordpress constructor.
|
22 |
*
|
23 |
-
* @param
|
24 |
* @param bool $is_premium
|
25 |
*/
|
26 |
-
public function __construct(
|
27 |
$this->plugin = $plugin;
|
28 |
}
|
29 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_439\Updates;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
+
use Wbcr_Factory439_Plugin;
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
20 |
/**
|
21 |
* Wordpress constructor.
|
22 |
*
|
23 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
24 |
* @param bool $is_premium
|
25 |
*/
|
26 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
27 |
$this->plugin = $plugin;
|
28 |
}
|
29 |
|
libs/factory/core/langs/wbcr_factory_425-ru_RU.mo
DELETED
Binary file
|
libs/factory/core/langs/wbcr_factory_429-ru_RU.mo
DELETED
Binary file
|
libs/factory/core/langs/wbcr_factory_429-ru_RU.po
DELETED
@@ -1,128 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: factory_forms\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-compatibility.php:80
|
21 |
-
msgid "warning"
|
22 |
-
msgstr "предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-compatibility.php:82
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s plugin has stopped."
|
27 |
-
msgstr "Работа плагина %s была остановлена."
|
28 |
-
|
29 |
-
#: includes/check-compatibility.php:83
|
30 |
-
msgid "Possible reasons:"
|
31 |
-
msgstr "Возможные причины:"
|
32 |
-
|
33 |
-
#: includes/check-compatibility.php:89
|
34 |
-
#, php-format
|
35 |
-
msgid "You need to update the PHP version to %s or higher!"
|
36 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
-
|
38 |
-
#: includes/check-compatibility.php:94
|
39 |
-
#, php-format
|
40 |
-
msgid "You need to update WordPress to %s or higher!"
|
41 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
-
|
43 |
-
#: includes/functions.php:132
|
44 |
-
#, php-format
|
45 |
-
msgid ""
|
46 |
-
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
-
msgstr ""
|
48 |
-
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
-
"Wordpress! Используйте %3$s."
|
50 |
-
|
51 |
-
#: includes/functions.php:134
|
52 |
-
#, php-format
|
53 |
-
msgid ""
|
54 |
-
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
-
"available."
|
56 |
-
msgstr ""
|
57 |
-
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
-
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
-
|
60 |
-
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
-
msgid ""
|
62 |
-
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
-
msgstr ""
|
64 |
-
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
-
|
66 |
-
#: includes/plugin.class.php:220
|
67 |
-
msgid ""
|
68 |
-
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
-
"Clicking this link will lead the user to a non-existent page."
|
70 |
-
msgstr ""
|
71 |
-
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
-
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
-
"к несуществующей странице."
|
74 |
-
|
75 |
-
#: includes/plugin.class.php:222
|
76 |
-
msgid ""
|
77 |
-
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
-
"earlier than the plugin menu will be registered."
|
79 |
-
msgstr ""
|
80 |
-
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
-
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
-
|
83 |
-
#~ msgid "On"
|
84 |
-
#~ msgstr "Вкл"
|
85 |
-
|
86 |
-
#~ msgid "Off"
|
87 |
-
#~ msgstr "Выкл"
|
88 |
-
|
89 |
-
#~ msgid "(use default website font)"
|
90 |
-
#~ msgstr "(шрифт сайта по умолчанию)"
|
91 |
-
|
92 |
-
#~ msgid "Sans Serif:"
|
93 |
-
#~ msgstr "Группа Sans Serif:"
|
94 |
-
|
95 |
-
#~ msgid "Serif:"
|
96 |
-
#~ msgstr "Группа Serif:"
|
97 |
-
|
98 |
-
#~ msgid "Monospaced:"
|
99 |
-
#~ msgstr "Группа Monospaced:"
|
100 |
-
|
101 |
-
#~ msgid "vertical"
|
102 |
-
#~ msgstr "вертикальный"
|
103 |
-
|
104 |
-
#~ msgid "horizontal"
|
105 |
-
#~ msgstr "горизонтальный"
|
106 |
-
|
107 |
-
#~ msgid "hide extra options"
|
108 |
-
#~ msgstr "скрыть дополнительные настроки"
|
109 |
-
|
110 |
-
#~ msgid "Select a side and move the slider to set up:"
|
111 |
-
#~ msgstr "Выберите сторону и переместите ползунок:"
|
112 |
-
|
113 |
-
#~ msgid "Change color"
|
114 |
-
#~ msgstr "Выбрать цвет"
|
115 |
-
|
116 |
-
#~ msgid "re-color"
|
117 |
-
#~ msgstr "Перекрасить"
|
118 |
-
|
119 |
-
#~ msgid "Select color:"
|
120 |
-
#~ msgstr "Выберите цвет:"
|
121 |
-
|
122 |
-
#~ msgid "Changing the color may takes a minute or more. Please be patient."
|
123 |
-
#~ msgstr ""
|
124 |
-
#~ "В некоторых случаях изменение цвета может занять около минуты. "
|
125 |
-
#~ "Пожалуйста, будьте терпеливы."
|
126 |
-
|
127 |
-
#~ msgid "Upload Pattern"
|
128 |
-
#~ msgstr "Добавить шаблон"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/core/langs/wbcr_factory_432-ru_RU.mo
DELETED
Binary file
|
libs/factory/core/langs/wbcr_factory_432-ru_RU.po
DELETED
@@ -1,128 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: factory_forms\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-compatibility.php:80
|
21 |
-
msgid "warning"
|
22 |
-
msgstr "предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-compatibility.php:82
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s plugin has stopped."
|
27 |
-
msgstr "Работа плагина %s была остановлена."
|
28 |
-
|
29 |
-
#: includes/check-compatibility.php:83
|
30 |
-
msgid "Possible reasons:"
|
31 |
-
msgstr "Возможные причины:"
|
32 |
-
|
33 |
-
#: includes/check-compatibility.php:89
|
34 |
-
#, php-format
|
35 |
-
msgid "You need to update the PHP version to %s or higher!"
|
36 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
-
|
38 |
-
#: includes/check-compatibility.php:94
|
39 |
-
#, php-format
|
40 |
-
msgid "You need to update WordPress to %s or higher!"
|
41 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
-
|
43 |
-
#: includes/functions.php:132
|
44 |
-
#, php-format
|
45 |
-
msgid ""
|
46 |
-
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
-
msgstr ""
|
48 |
-
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
-
"Wordpress! Используйте %3$s."
|
50 |
-
|
51 |
-
#: includes/functions.php:134
|
52 |
-
#, php-format
|
53 |
-
msgid ""
|
54 |
-
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
-
"available."
|
56 |
-
msgstr ""
|
57 |
-
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
-
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
-
|
60 |
-
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
-
msgid ""
|
62 |
-
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
-
msgstr ""
|
64 |
-
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
-
|
66 |
-
#: includes/plugin.class.php:220
|
67 |
-
msgid ""
|
68 |
-
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
-
"Clicking this link will lead the user to a non-existent page."
|
70 |
-
msgstr ""
|
71 |
-
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
-
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
-
"к несуществующей странице."
|
74 |
-
|
75 |
-
#: includes/plugin.class.php:222
|
76 |
-
msgid ""
|
77 |
-
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
-
"earlier than the plugin menu will be registered."
|
79 |
-
msgstr ""
|
80 |
-
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
-
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
-
|
83 |
-
#~ msgid "On"
|
84 |
-
#~ msgstr "Вкл"
|
85 |
-
|
86 |
-
#~ msgid "Off"
|
87 |
-
#~ msgstr "Выкл"
|
88 |
-
|
89 |
-
#~ msgid "(use default website font)"
|
90 |
-
#~ msgstr "(шрифт сайта по умолчанию)"
|
91 |
-
|
92 |
-
#~ msgid "Sans Serif:"
|
93 |
-
#~ msgstr "Группа Sans Serif:"
|
94 |
-
|
95 |
-
#~ msgid "Serif:"
|
96 |
-
#~ msgstr "Группа Serif:"
|
97 |
-
|
98 |
-
#~ msgid "Monospaced:"
|
99 |
-
#~ msgstr "Группа Monospaced:"
|
100 |
-
|
101 |
-
#~ msgid "vertical"
|
102 |
-
#~ msgstr "вертикальный"
|
103 |
-
|
104 |
-
#~ msgid "horizontal"
|
105 |
-
#~ msgstr "горизонтальный"
|
106 |
-
|
107 |
-
#~ msgid "hide extra options"
|
108 |
-
#~ msgstr "скрыть дополнительные настроки"
|
109 |
-
|
110 |
-
#~ msgid "Select a side and move the slider to set up:"
|
111 |
-
#~ msgstr "Выберите сторону и переместите ползунок:"
|
112 |
-
|
113 |
-
#~ msgid "Change color"
|
114 |
-
#~ msgstr "Выбрать цвет"
|
115 |
-
|
116 |
-
#~ msgid "re-color"
|
117 |
-
#~ msgstr "Перекрасить"
|
118 |
-
|
119 |
-
#~ msgid "Select color:"
|
120 |
-
#~ msgstr "Выберите цвет:"
|
121 |
-
|
122 |
-
#~ msgid "Changing the color may takes a minute or more. Please be patient."
|
123 |
-
#~ msgstr ""
|
124 |
-
#~ "В некоторых случаях изменение цвета может занять около минуты. "
|
125 |
-
#~ "Пожалуйста, будьте терпеливы."
|
126 |
-
|
127 |
-
#~ msgid "Upload Pattern"
|
128 |
-
#~ msgstr "Добавить шаблон"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/core/langs/wbcr_factory_436-ru_RU.mo
DELETED
Binary file
|
libs/factory/core/langs/wbcr_factory_436-ru_RU.po
DELETED
@@ -1,128 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: factory_forms\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.1.1\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: includes/check-compatibility.php:80
|
21 |
-
msgid "warning"
|
22 |
-
msgstr "предупреждение"
|
23 |
-
|
24 |
-
#: includes/check-compatibility.php:82
|
25 |
-
#, php-format
|
26 |
-
msgid "The %s plugin has stopped."
|
27 |
-
msgstr "Работа плагина %s была остановлена."
|
28 |
-
|
29 |
-
#: includes/check-compatibility.php:83
|
30 |
-
msgid "Possible reasons:"
|
31 |
-
msgstr "Возможные причины:"
|
32 |
-
|
33 |
-
#: includes/check-compatibility.php:89
|
34 |
-
#, php-format
|
35 |
-
msgid "You need to update the PHP version to %s or higher!"
|
36 |
-
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
-
|
38 |
-
#: includes/check-compatibility.php:94
|
39 |
-
#, php-format
|
40 |
-
msgid "You need to update WordPress to %s or higher!"
|
41 |
-
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
-
|
43 |
-
#: includes/functions.php:132
|
44 |
-
#, php-format
|
45 |
-
msgid ""
|
46 |
-
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
-
msgstr ""
|
48 |
-
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
-
"Wordpress! Используйте %3$s."
|
50 |
-
|
51 |
-
#: includes/functions.php:134
|
52 |
-
#, php-format
|
53 |
-
msgid ""
|
54 |
-
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
-
"available."
|
56 |
-
msgstr ""
|
57 |
-
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
-
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
-
|
60 |
-
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
-
msgid ""
|
62 |
-
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
-
msgstr ""
|
64 |
-
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
-
|
66 |
-
#: includes/plugin.class.php:220
|
67 |
-
msgid ""
|
68 |
-
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
-
"Clicking this link will lead the user to a non-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|