Version Description
(16.12.2020)= * Added: Subscribe widget * Fixed: Minor bugs
Download this release
Release Info
Developer | webtemyk |
Plugin | Disable admin notices individually |
Version | 1.2.4 |
Comparing to | |
See all releases |
Code changes from version 1.2.3 to 1.2.4
- admin/assets/css/general.css +50 -50
- admin/assets/css/notifications-panel.css +77 -76
- admin/assets/css/page.css +8 -8
- admin/assets/css/settings.css +219 -219
- admin/assets/img/hide-icon-white.svg +25 -25
- admin/assets/img/hide-icon.svg +25 -25
- admin/boot.php +2 -2
- admin/class-page-basic.php +4 -4
- admin/options.php +2 -2
- admin/pages/class-pages-edit-admin-bar.php +3 -3
- admin/pages/class-pages-edit-redirects.php +3 -3
- admin/pages/class-pages-license.php +3 -3
- admin/pages/class-pages-notices.php +3 -3
- admin/pages/class-pages-settings.php +6 -6
- admin/pages/class-pages.php +0 -25
- disable-admin-notices.php +57 -51
- includes/class-plugin.php +5 -4
- includes/classes/class-configurate-notices.php +1 -1
- includes/function.php +0 -122
- languages/disable-admin-notices-ru_RU.po +256 -256
- languages/disable-admin-notices.pot +223 -223
- 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_112-ru_RU.po +0 -83
- libs/factory/adverts/langs/{wbcr_factory_adverts_111-ru_RU.mo → wbcr_factory_adverts_117-ru_RU.mo} +0 -0
- libs/factory/adverts/langs/{wbcr_factory_adverts_111-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 +140 -0
- libs/factory/clearfy/assets/css/components.css.map +1 -0
- libs/factory/clearfy/assets/css/components.less +153 -0
- libs/factory/clearfy/assets/css/libs/autocomplete.css +9 -9
- libs/factory/clearfy/assets/css/page-setup.css +454 -0
- libs/factory/clearfy/assets/css/page-setup.css.map +1 -0
- libs/factory/clearfy/assets/css/page-setup.less +515 -0
- libs/factory/clearfy/assets/js/clearfy-globals.js +221 -0
- libs/factory/clearfy/assets/js/{license-manager.js → clearfy-license-manager.js} +4 -4
- libs/factory/clearfy/assets/js/{search-options.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/boot.php +36 -27
- 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_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_223-ru_RU.mo → wbcr_factory_clearfy_230-ru_RU.mo} +0 -0
- libs/factory/clearfy/langs/{wbcr_factory_clearfy_223-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 +184 -0
- libs/factory/clearfy/pages/class-pages-components.php +244 -0
- libs/factory/clearfy/pages/class-pages.php +95 -49
- libs/factory/clearfy/pages/setup-parts/class-step-custom.php +61 -0
- libs/factory/clearfy/pages/setup-parts/class-step-form.php +135 -0
- libs/factory/clearfy/pages/setup-parts/class-step.php +81 -0
- libs/factory/core/ajax/install-addons.php +228 -0
- libs/factory/core/assets/js/core-components.js +227 -0
- libs/factory/core/assets/js/core-general.js +99 -0
- libs/factory/core/boot.php +37 -27
- 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 +228 -52
- 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 +55 -0
- libs/factory/core/includes/components/class-install-component-button.php +460 -0
- 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 +29 -12
- 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_431-ru_RU.mo +0 -0
- 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/{adverts/langs/wbcr_factory_adverts_112-ru_RU.mo → core/langs/wbcr_factory_439-ru_RU.mo} +0 -0
- libs/factory/core/langs/{wbcr_factory_431-ru_RU.po → wbcr_factory_439-ru_RU.po} +0 -0
- libs/factory/forms/boot.php +95 -95
- libs/factory/forms/controls/checkbox.php +4 -4
- libs/factory/forms/controls/color-and-opacity.php +4 -4
- libs/factory/forms/controls/color.php +2 -2
- libs/factory/forms/controls/customs/html.php +2 -2
- libs/factory/forms/controls/customs/separator.php +2 -2
- libs/factory/forms/controls/datepicker-range.php +4 -4
- libs/factory/forms/controls/dropdown-and-colors.php +6 -6
- libs/factory/forms/controls/dropdown.php +5 -5
- libs/factory/forms/controls/font.php +11 -11
- libs/factory/forms/controls/google-font.php +8 -8
- libs/factory/forms/controls/gradient.php +4 -4
- libs/factory/forms/controls/hidden.php +2 -2
- libs/factory/forms/controls/holders/accordion-item.php +2 -2
- libs/factory/forms/controls/holders/accordion.php +2 -2
- libs/factory/forms/controls/holders/columns.php +2 -2
- libs/factory/forms/controls/holders/control-group-item.php +2 -2
- libs/factory/forms/controls/holders/control-group.php +3 -3
- libs/factory/forms/controls/holders/div.php +2 -2
- libs/factory/forms/controls/holders/form-group.php +2 -2
- libs/factory/forms/controls/holders/more-link.php +2 -2
- libs/factory/forms/controls/holders/tab-item.php +2 -2
- libs/factory/forms/controls/holders/tab.php +4 -4
- libs/factory/forms/controls/integer.php +2 -2
- libs/factory/forms/controls/list.php +4 -4
- libs/factory/forms/controls/multiple-textbox.php +3 -3
- libs/factory/forms/controls/paddings-editor.php +3 -3
- libs/factory/forms/controls/pattern.php +9 -9
- libs/factory/forms/controls/radio-colors.php +2 -2
- libs/factory/forms/controls/radio.php +2 -2
- libs/factory/forms/controls/textarea.php +2 -2
- libs/factory/forms/controls/textbox.php +2 -2
- libs/factory/forms/controls/url.php +3 -3
- libs/factory/forms/controls/wp-editor.php +3 -3
- libs/factory/forms/includes/complex-control.class.php +4 -4
- libs/factory/forms/includes/control-holder.class.php +5 -5
- libs/factory/forms/includes/control.class.php +5 -5
- libs/factory/forms/includes/custom-element.class.php +2 -2
- libs/factory/forms/includes/form-element.class.php +7 -7
- libs/factory/forms/includes/form-layout.class.php +5 -5
- libs/factory/forms/includes/form.class.php +39 -39
- libs/factory/forms/includes/holder.class.php +6 -6
- libs/factory/forms/includes/html-builder.class.php +2 -2
- libs/factory/forms/includes/providers/meta-value-provider.class.php +2 -2
- libs/factory/forms/includes/providers/options-value-provider.class.php +3 -3
- libs/factory/forms/includes/providers/value-provider.interface.php +2 -2
- libs/factory/forms/langs/wbcr_factory_forms_430-ru_RU.mo +0 -0
- libs/factory/forms/langs/wbcr_factory_forms_430-ru_RU.po +0 -95
- libs/factory/forms/langs/{wbcr_factory_forms_429-ru_RU.mo → wbcr_factory_forms_436-ru_RU.mo} +0 -0
- libs/factory/forms/langs/{wbcr_factory_forms_429-ru_RU.po → wbcr_factory_forms_436-ru_RU.po} +0 -0
- libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php +7 -7
- libs/factory/freemius/boot.php +18 -18
- libs/factory/freemius/includes/class-freemius-api.php +7 -7
- libs/factory/freemius/includes/entities/class-freemius-entity.php +1 -1
- libs/factory/freemius/includes/entities/class-freemius-license.php +2 -2
- libs/factory/freemius/includes/entities/class-freemius-plugin.php +1 -1
- libs/factory/freemius/includes/entities/class-freemius-scope.php +1 -1
- libs/factory/freemius/includes/entities/class-freemius-site.php +1 -1
- libs/factory/freemius/includes/entities/class-freemius-user.php +1 -1
- libs/factory/freemius/includes/licensing/class-freemius-provider.php +18 -18
- libs/factory/freemius/includes/updates/class-freemius-repository.php +7 -7
- libs/factory/logger/assets/css/logger.css +33 -0
- libs/factory/logger/boot.php +59 -0
- libs/factory/logger/includes/class-log-export.php +258 -0
- libs/factory/logger/includes/class-logger.php +494 -0
- libs/factory/logger/pages/class-logger-admin-page.php +184 -0
- libs/factory/logger/pages/class-logger-impressive-page.php +174 -0
- libs/factory/pages/boot.php +10 -10
- libs/factory/pages/includes/admin-page.class.php +6 -6
- libs/factory/pages/includes/page.class.php +7 -7
- libs/factory/pages/langs/wbcr_factory_pages_432-fr_FR.mo +0 -0
- libs/factory/pages/langs/wbcr_factory_pages_432-fr_FR.po +0 -99
- libs/factory/pages/langs/wbcr_factory_pages_432-ru_RU.mo +0 -0
- libs/factory/pages/langs/wbcr_factory_pages_432-ru_RU.po +0 -98
- libs/factory/pages/langs/{wbcr_factory_pages_431-fr_FR.mo → wbcr_factory_pages_438-fr_FR.mo} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_431-fr_FR.po → wbcr_factory_pages_438-fr_FR.po} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_431-ru_RU.mo → wbcr_factory_pages_438-ru_RU.mo} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_431-ru_RU.po → wbcr_factory_pages_438-ru_RU.po} +0 -0
- libs/factory/pages/pages.php +11 -11
- libs/factory/pages/templates/assets/css/impressive.page.template.css +124 -124
- libs/factory/pages/templates/impressive-page.class.php +31 -31
- migrations/010007.php +1 -1
- readme.txt +15 -3
admin/assets/css/general.css
CHANGED
@@ -1,50 +1,50 @@
|
|
1 |
-
.wbcr-dan-hide-notices {
|
2 |
-
position: initial;
|
3 |
-
padding: 5px 5px 0;
|
4 |
-
background: transparent;
|
5 |
-
}
|
6 |
-
.wbcr-dan-hide-notices > div {
|
7 |
-
margin: 0 !important;
|
8 |
-
}
|
9 |
-
.is-dismissible .wbcr-dan-hide-links {
|
10 |
-
margin-right: -25px;
|
11 |
-
}
|
12 |
-
.wbcr-dan-hide-links {
|
13 |
-
text-align: right;
|
14 |
-
padding: 0 5px 5px 0;
|
15 |
-
}
|
16 |
-
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link {
|
17 |
-
min-height: 20px;
|
18 |
-
line-height: 2;
|
19 |
-
padding: 0 5px 0 0;
|
20 |
-
font-size: 11px;
|
21 |
-
color: #ec3c47;
|
22 |
-
background: #fff;
|
23 |
-
margin: 0;
|
24 |
-
cursor: pointer;
|
25 |
-
border: 1px solid #ec3c47;
|
26 |
-
border-radius: 5px;
|
27 |
-
}
|
28 |
-
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover {
|
29 |
-
background: #ec3c47;
|
30 |
-
color: #fff;
|
31 |
-
}
|
32 |
-
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover:before {
|
33 |
-
background-image: url('../img/hide-icon-white.svg');
|
34 |
-
}
|
35 |
-
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:focus {
|
36 |
-
border: 2px solid #ec3c47;
|
37 |
-
outline: none;
|
38 |
-
}
|
39 |
-
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:before {
|
40 |
-
content: '';
|
41 |
-
display: inline-block;
|
42 |
-
width: 25px;
|
43 |
-
height: 18px;
|
44 |
-
background-color: transparent;
|
45 |
-
background-image: url('../img/hide-icon.svg');
|
46 |
-
background-repeat: no-repeat;
|
47 |
-
background-position: center center;
|
48 |
-
background-size: 25px;
|
49 |
-
vertical-align: middle;
|
50 |
-
}
|
1 |
+
.wbcr-dan-hide-notices {
|
2 |
+
position: initial;
|
3 |
+
padding: 5px 5px 0;
|
4 |
+
background: transparent;
|
5 |
+
}
|
6 |
+
.wbcr-dan-hide-notices > div {
|
7 |
+
margin: 0 !important;
|
8 |
+
}
|
9 |
+
.is-dismissible .wbcr-dan-hide-links {
|
10 |
+
margin-right: -25px;
|
11 |
+
}
|
12 |
+
.wbcr-dan-hide-links {
|
13 |
+
text-align: right;
|
14 |
+
padding: 0 5px 5px 0;
|
15 |
+
}
|
16 |
+
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link {
|
17 |
+
min-height: 20px;
|
18 |
+
line-height: 2;
|
19 |
+
padding: 0 5px 0 0;
|
20 |
+
font-size: 11px;
|
21 |
+
color: #ec3c47;
|
22 |
+
background: #fff;
|
23 |
+
margin: 0;
|
24 |
+
cursor: pointer;
|
25 |
+
border: 1px solid #ec3c47;
|
26 |
+
border-radius: 5px;
|
27 |
+
}
|
28 |
+
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover {
|
29 |
+
background: #ec3c47;
|
30 |
+
color: #fff;
|
31 |
+
}
|
32 |
+
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover:before {
|
33 |
+
background-image: url('../img/hide-icon-white.svg');
|
34 |
+
}
|
35 |
+
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:focus {
|
36 |
+
border: 2px solid #ec3c47;
|
37 |
+
outline: none;
|
38 |
+
}
|
39 |
+
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:before {
|
40 |
+
content: '';
|
41 |
+
display: inline-block;
|
42 |
+
width: 25px;
|
43 |
+
height: 18px;
|
44 |
+
background-color: transparent;
|
45 |
+
background-image: url('../img/hide-icon.svg');
|
46 |
+
background-repeat: no-repeat;
|
47 |
+
background-position: center center;
|
48 |
+
background-size: 25px;
|
49 |
+
vertical-align: middle;
|
50 |
+
}
|
admin/assets/css/notifications-panel.css
CHANGED
@@ -1,76 +1,77 @@
|
|
1 |
-
/**
|
2 |
-
* Notification panel in admin bar
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 23.08.2017
|
5 |
-
*/
|
6 |
-
#wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
|
7 |
-
background-color: #0073aa;
|
8 |
-
border-radius: 50%;
|
9 |
-
color: #fff;
|
10 |
-
font-weight: bold;
|
11 |
-
padding: 2px 6px;
|
12 |
-
font-size: 0.85em;
|
13 |
-
margin-left: 5px;
|
14 |
-
}
|
15 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
|
16 |
-
max-height: 500px;
|
17 |
-
overflow-y: scroll;
|
18 |
-
}
|
19 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
|
20 |
-
width: 400px;
|
21 |
-
padding: 0;
|
22 |
-
}
|
23 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
|
24 |
-
border-left: 4px solid #26292b;
|
25 |
-
padding: 0;
|
26 |
-
}
|
27 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
|
28 |
-
border-left-color: #7ad03a;
|
29 |
-
}
|
30 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
|
31 |
-
border-left-color: #ffba00;
|
32 |
-
}
|
33 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
|
34 |
-
border-left-color: #dd3d36;
|
35 |
-
}
|
36 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
|
37 |
-
text-align: right;
|
38 |
-
}
|
39 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
|
40 |
-
color: #ffba00 !important;
|
41 |
-
text-decoration: none !important;
|
42 |
-
}
|
43 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
|
44 |
-
text-decoration: underline !important;
|
45 |
-
color: #ffc11a !important;
|
46 |
-
}
|
47 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
|
48 |
-
height: 100% !important;
|
49 |
-
white-space: normal !important;
|
50 |
-
padding: 0.5em 1em;
|
51 |
-
border-bottom: 1px solid #4a4f55;
|
52 |
-
color: #949494;
|
53 |
-
line-height: 1.5 !important;
|
54 |
-
}
|
55 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
|
56 |
-
display: inline;
|
57 |
-
padding: 0;
|
58 |
-
margin: 0;
|
59 |
-
text-decoration: underline;
|
60 |
-
line-height: 1.5 !important;
|
61 |
-
color: #949494;
|
62 |
-
}
|
63 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li[id^=wp-admin-bar-wbcr-han-notify-panel-group] .ab-item {
|
64 |
-
height: 100%;
|
65 |
-
white-space: normal;
|
66 |
-
padding: 0.5em 1em;
|
67 |
-
border-bottom: 1px solid #fff;
|
68 |
-
color: #fff;
|
69 |
-
line-height: 2;
|
70 |
-
text-align: center;
|
71 |
-
font-weight: bold;
|
72 |
-
text-transform: uppercase;
|
73 |
-
}
|
74 |
-
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
|
75 |
-
background: #26292b;
|
76 |
-
}
|
|
1 |
+
/**
|
2 |
+
* Notification panel in admin bar
|
3 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
+
* @copyright Alex Kovalev 23.08.2017
|
5 |
+
*/
|
6 |
+
#wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
|
7 |
+
background-color: #0073aa;
|
8 |
+
border-radius: 50%;
|
9 |
+
color: #fff;
|
10 |
+
font-weight: bold;
|
11 |
+
padding: 2px 6px;
|
12 |
+
font-size: 0.85em;
|
13 |
+
margin-left: 5px;
|
14 |
+
}
|
15 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
|
16 |
+
max-height: 500px;
|
17 |
+
overflow-y: scroll;
|
18 |
+
}
|
19 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
|
20 |
+
width: 400px;
|
21 |
+
padding: 0;
|
22 |
+
}
|
23 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
|
24 |
+
border-left: 4px solid #26292b;
|
25 |
+
padding: 0;
|
26 |
+
}
|
27 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
|
28 |
+
border-left-color: #7ad03a;
|
29 |
+
}
|
30 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
|
31 |
+
border-left-color: #ffba00;
|
32 |
+
}
|
33 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
|
34 |
+
border-left-color: #dd3d36;
|
35 |
+
}
|
36 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
|
37 |
+
text-align: right;
|
38 |
+
}
|
39 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
|
40 |
+
color: #ffba00 !important;
|
41 |
+
text-decoration: none !important;
|
42 |
+
}
|
43 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
|
44 |
+
text-decoration: underline !important;
|
45 |
+
color: #ffc11a !important;
|
46 |
+
}
|
47 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
|
48 |
+
height: 100% !important;
|
49 |
+
white-space: normal !important;
|
50 |
+
padding: 0.5em 1em;
|
51 |
+
border-bottom: 1px solid #4a4f55;
|
52 |
+
color: #949494;
|
53 |
+
line-height: 1.5 !important;
|
54 |
+
}
|
55 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
|
56 |
+
display: inline;
|
57 |
+
padding: 0;
|
58 |
+
margin: 0;
|
59 |
+
text-decoration: underline;
|
60 |
+
line-height: 1.5 !important;
|
61 |
+
color: #949494;
|
62 |
+
}
|
63 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li[id^=wp-admin-bar-wbcr-han-notify-panel-group] .ab-item {
|
64 |
+
height: 100%;
|
65 |
+
white-space: normal;
|
66 |
+
padding: 0.5em 1em;
|
67 |
+
border-bottom: 1px solid #fff;
|
68 |
+
color: #fff;
|
69 |
+
line-height: 2;
|
70 |
+
text-align: center;
|
71 |
+
font-weight: bold;
|
72 |
+
text-transform: uppercase;
|
73 |
+
}
|
74 |
+
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
|
75 |
+
background: #26292b;
|
76 |
+
}
|
77 |
+
/*# sourceMappingURL=notifications-panel.css.map */
|
admin/assets/css/page.css
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
.wdan-plugin-header-logo {
|
2 |
-
background: transparent url('../img/hide-icon.svg') no-repeat left center !important;
|
3 |
-
background-size: 40px !important;
|
4 |
-
display: block;
|
5 |
-
float: left;
|
6 |
-
height: 30px;
|
7 |
-
width: 40px;
|
8 |
-
}
|
1 |
+
.wdan-plugin-header-logo {
|
2 |
+
background: transparent url('../img/hide-icon.svg') no-repeat left center !important;
|
3 |
+
background-size: 40px !important;
|
4 |
+
display: block;
|
5 |
+
float: left;
|
6 |
+
height: 30px;
|
7 |
+
width: 40px;
|
8 |
+
}
|
admin/assets/css/settings.css
CHANGED
@@ -1,219 +1,219 @@
|
|
1 |
-
#WBCR .factory-checkbox.wdanpro-checkbox-premium-label:after,
|
2 |
-
#WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
|
3 |
-
display: inline-block;
|
4 |
-
position: relative;
|
5 |
-
content: 'PRO';
|
6 |
-
background: #ff5722;
|
7 |
-
border-radius: 4px;
|
8 |
-
color: #fff;
|
9 |
-
font-size: 10px;
|
10 |
-
line-height: 1;
|
11 |
-
font-style: normal;
|
12 |
-
padding: 4px 6px;
|
13 |
-
margin-left: 4px;
|
14 |
-
vertical-align: top;
|
15 |
-
top: -8px;
|
16 |
-
left: -10px;
|
17 |
-
right: auto;
|
18 |
-
z-index: 11;
|
19 |
-
cursor: pointer;
|
20 |
-
}
|
21 |
-
#WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
|
22 |
-
position: absolute;
|
23 |
-
top: -10px;
|
24 |
-
right: -10px;
|
25 |
-
left: auto;
|
26 |
-
}
|
27 |
-
#WBCR .factory-checkbox-disabled input,
|
28 |
-
#WBCR .factory-checkbox-disabled button,
|
29 |
-
#WBCR .wdanpro-radio-premium-label .factory-compact_panel {
|
30 |
-
pointer-events: none;
|
31 |
-
cursor: not-allowed;
|
32 |
-
opacity: 0.65;
|
33 |
-
filter: alpha(opacity=65);
|
34 |
-
-webkit-box-shadow: none;
|
35 |
-
box-shadow: none;
|
36 |
-
}
|
37 |
-
#WBCR .wrdan-premium-fake-content {
|
38 |
-
position: relative;
|
39 |
-
padding: 15px;
|
40 |
-
}
|
41 |
-
#WBCR .wdan-premium-info {
|
42 |
-
position: absolute;
|
43 |
-
top: 50px;
|
44 |
-
left: 50%;
|
45 |
-
margin-left: -250px;
|
46 |
-
max-width: 500px;
|
47 |
-
z-index: 999;
|
48 |
-
}
|
49 |
-
#WBCR .wdan-premium-info h3 {
|
50 |
-
font-size: 32px;
|
51 |
-
font-weight: 300;
|
52 |
-
color: inherit;
|
53 |
-
margin: 40px 0 10px;
|
54 |
-
line-height: 1.2;
|
55 |
-
}
|
56 |
-
#WBCR .wdan-premium-info p {
|
57 |
-
font-size: 16px;
|
58 |
-
font-weight: 400;
|
59 |
-
color: #a4afb7;
|
60 |
-
margin-bottom: 40px;
|
61 |
-
}
|
62 |
-
#WBCR .wdan-premium-layer {
|
63 |
-
position: absolute;
|
64 |
-
top: 0;
|
65 |
-
left: 0;
|
66 |
-
right: 0;
|
67 |
-
bottom: 0;
|
68 |
-
opacity: 0.9;
|
69 |
-
background: #fff;
|
70 |
-
}
|
71 |
-
#WBCR .wdan-button {
|
72 |
-
font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
|
73 |
-
font-weight: 500;
|
74 |
-
text-transform: uppercase;
|
75 |
-
outline: none;
|
76 |
-
border: none;
|
77 |
-
text-decoration: none;
|
78 |
-
-webkit-border-radius: 3px;
|
79 |
-
border-radius: 3px;
|
80 |
-
-webkit-transition-property: background, color, opacity, -webkit-box-shadow;
|
81 |
-
transition-property: background, color, opacity, -webkit-box-shadow;
|
82 |
-
-o-transition-property: background, color, box-shadow, opacity;
|
83 |
-
transition-property: background, color, box-shadow, opacity;
|
84 |
-
transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
|
85 |
-
-webkit-transition-duration: 0.3s;
|
86 |
-
-o-transition-duration: 0.3s;
|
87 |
-
transition-duration: 0.3s;
|
88 |
-
}
|
89 |
-
#WBCR .wdan-button:hover {
|
90 |
-
border: none;
|
91 |
-
}
|
92 |
-
#WBCR .wdan-button:not([disabled]) {
|
93 |
-
cursor: pointer;
|
94 |
-
}
|
95 |
-
#WBCR .wdan-button:not(.wdan-button-state) .wdan-state-icon {
|
96 |
-
display: none;
|
97 |
-
}
|
98 |
-
#WBCR .wdan-button.wdan-button-success {
|
99 |
-
color: #fff;
|
100 |
-
}
|
101 |
-
#WBCR .wdan-button.wdan-button-success[disabled] {
|
102 |
-
background-color: #c2cbd2;
|
103 |
-
}
|
104 |
-
#WBCR .wdan-button.wdan-button-success:not([disabled]) {
|
105 |
-
background-color: #39b54a;
|
106 |
-
}
|
107 |
-
#WBCR .wdan-button.wdan-button-success:not([disabled]):hover {
|
108 |
-
opacity: 0.85;
|
109 |
-
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
110 |
-
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
111 |
-
}
|
112 |
-
#WBCR .wdan-button.wdan-button-success:not([disabled]):active {
|
113 |
-
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
114 |
-
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
115 |
-
}
|
116 |
-
#WBCR .wdan-button.wdan-button-warning {
|
117 |
-
background-color: #a4afb7;
|
118 |
-
color: #fff;
|
119 |
-
}
|
120 |
-
#WBCR .wdan-button.wdan-button-warning[disabled] {
|
121 |
-
background-color: #c2cbd2;
|
122 |
-
}
|
123 |
-
#WBCR .wdan-button.wdan-button-warning:not([disabled]):hover {
|
124 |
-
background-color: #b01b1b;
|
125 |
-
opacity: 0.85;
|
126 |
-
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
127 |
-
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
128 |
-
}
|
129 |
-
#WBCR .wdan-button.wdan-button-warning:not([disabled]):active {
|
130 |
-
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
131 |
-
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
132 |
-
}
|
133 |
-
#WBCR .wdan-button.wdan-button-danger {
|
134 |
-
background-color: #d72b3f;
|
135 |
-
color: #fff;
|
136 |
-
}
|
137 |
-
#WBCR .wdan-button.wdan-button-danger[disabled] {
|
138 |
-
background-color: #c2cbd2;
|
139 |
-
}
|
140 |
-
#WBCR .wdan-button.wdan-button-danger:not([disabled]):hover {
|
141 |
-
opacity: 0.85;
|
142 |
-
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
143 |
-
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
144 |
-
}
|
145 |
-
#WBCR .wdan-button.wdan-button-danger:not([disabled]):active {
|
146 |
-
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
147 |
-
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
148 |
-
}
|
149 |
-
#WBCR .wdan-button.wdan-edit-template {
|
150 |
-
display: inline-block;
|
151 |
-
margin-top: 15px;
|
152 |
-
color: #fff;
|
153 |
-
}
|
154 |
-
#WBCR .wdan-button.wdan-button-default {
|
155 |
-
background-color: #a4afb7;
|
156 |
-
color: #fff;
|
157 |
-
font-size: 11px;
|
158 |
-
padding: 7px 21px;
|
159 |
-
}
|
160 |
-
#WBCR .wdan-button.wdan-button-default:hover {
|
161 |
-
background-color: #6d7882;
|
162 |
-
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
163 |
-
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
164 |
-
}
|
165 |
-
#WBCR .wdan-button.wdan-button-default:active {
|
166 |
-
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
167 |
-
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
168 |
-
}
|
169 |
-
#WBCR .wdan-button.wdan-button-default:visited {
|
170 |
-
color: #fff;
|
171 |
-
}
|
172 |
-
#WBCR .wdan-button.wdan-button-go-pro {
|
173 |
-
background-color: #ff5722;
|
174 |
-
}
|
175 |
-
#WBCR .wdan-button i {
|
176 |
-
margin-right: 10px;
|
177 |
-
}
|
178 |
-
.wdan-hidden-list {
|
179 |
-
padding: 0 15px;
|
180 |
-
}
|
181 |
-
.wdan-hidden-list-notice {
|
182 |
-
background: #fff;
|
183 |
-
border: 1px solid #ccd0d4;
|
184 |
-
border-left-width: 4px;
|
185 |
-
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
186 |
-
padding: 1px 12px;
|
187 |
-
}
|
188 |
-
.wdan-hidden-list-notice div.wdan-notice-p {
|
189 |
-
margin: 0.5em 0;
|
190 |
-
padding: 2px;
|
191 |
-
}
|
192 |
-
.wdan-hidden-list-notice div.wdan-notice-p div {
|
193 |
-
width: 100%;
|
194 |
-
}
|
195 |
-
.wdan-hidden-list-table {
|
196 |
-
border: 0;
|
197 |
-
}
|
198 |
-
.wdan-hidden-list-table tr > td:first-child {
|
199 |
-
padding: 5px 0 5px;
|
200 |
-
}
|
201 |
-
.wdan-hidden-list-table tr > td:last-child {
|
202 |
-
padding: 0 10px 0;
|
203 |
-
text-align: center;
|
204 |
-
}
|
205 |
-
.wdan-hidden-list-table .wdan-notices-page-table-head td {
|
206 |
-
font-size: 16px;
|
207 |
-
text-transform: uppercase;
|
208 |
-
padding: 10px !important;
|
209 |
-
font-weight: bold;
|
210 |
-
}
|
211 |
-
.wdan-hidden-list-table .wdan-hidden-list-notice-action {
|
212 |
-
vertical-align: middle;
|
213 |
-
}
|
214 |
-
.wdan-hidden-list-table .wdan-page-restore-notice-link-loader {
|
215 |
-
background: url(../img/loader.gif);
|
216 |
-
background-size: contain;
|
217 |
-
background-repeat: no-repeat;
|
218 |
-
background-position: top;
|
219 |
-
}
|
1 |
+
#WBCR .factory-checkbox.wdanpro-checkbox-premium-label:after,
|
2 |
+
#WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
|
3 |
+
display: inline-block;
|
4 |
+
position: relative;
|
5 |
+
content: 'PRO';
|
6 |
+
background: #ff5722;
|
7 |
+
border-radius: 4px;
|
8 |
+
color: #fff;
|
9 |
+
font-size: 10px;
|
10 |
+
line-height: 1;
|
11 |
+
font-style: normal;
|
12 |
+
padding: 4px 6px;
|
13 |
+
margin-left: 4px;
|
14 |
+
vertical-align: top;
|
15 |
+
top: -8px;
|
16 |
+
left: -10px;
|
17 |
+
right: auto;
|
18 |
+
z-index: 11;
|
19 |
+
cursor: pointer;
|
20 |
+
}
|
21 |
+
#WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
|
22 |
+
position: absolute;
|
23 |
+
top: -10px;
|
24 |
+
right: -10px;
|
25 |
+
left: auto;
|
26 |
+
}
|
27 |
+
#WBCR .factory-checkbox-disabled input,
|
28 |
+
#WBCR .factory-checkbox-disabled button,
|
29 |
+
#WBCR .wdanpro-radio-premium-label .factory-compact_panel {
|
30 |
+
pointer-events: none;
|
31 |
+
cursor: not-allowed;
|
32 |
+
opacity: 0.65;
|
33 |
+
filter: alpha(opacity=65);
|
34 |
+
-webkit-box-shadow: none;
|
35 |
+
box-shadow: none;
|
36 |
+
}
|
37 |
+
#WBCR .wrdan-premium-fake-content {
|
38 |
+
position: relative;
|
39 |
+
padding: 15px;
|
40 |
+
}
|
41 |
+
#WBCR .wdan-premium-info {
|
42 |
+
position: absolute;
|
43 |
+
top: 50px;
|
44 |
+
left: 50%;
|
45 |
+
margin-left: -250px;
|
46 |
+
max-width: 500px;
|
47 |
+
z-index: 999;
|
48 |
+
}
|
49 |
+
#WBCR .wdan-premium-info h3 {
|
50 |
+
font-size: 32px;
|
51 |
+
font-weight: 300;
|
52 |
+
color: inherit;
|
53 |
+
margin: 40px 0 10px;
|
54 |
+
line-height: 1.2;
|
55 |
+
}
|
56 |
+
#WBCR .wdan-premium-info p {
|
57 |
+
font-size: 16px;
|
58 |
+
font-weight: 400;
|
59 |
+
color: #a4afb7;
|
60 |
+
margin-bottom: 40px;
|
61 |
+
}
|
62 |
+
#WBCR .wdan-premium-layer {
|
63 |
+
position: absolute;
|
64 |
+
top: 0;
|
65 |
+
left: 0;
|
66 |
+
right: 0;
|
67 |
+
bottom: 0;
|
68 |
+
opacity: 0.9;
|
69 |
+
background: #fff;
|
70 |
+
}
|
71 |
+
#WBCR .wdan-button {
|
72 |
+
font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
|
73 |
+
font-weight: 500;
|
74 |
+
text-transform: uppercase;
|
75 |
+
outline: none;
|
76 |
+
border: none;
|
77 |
+
text-decoration: none;
|
78 |
+
-webkit-border-radius: 3px;
|
79 |
+
border-radius: 3px;
|
80 |
+
-webkit-transition-property: background, color, opacity, -webkit-box-shadow;
|
81 |
+
transition-property: background, color, opacity, -webkit-box-shadow;
|
82 |
+
-o-transition-property: background, color, box-shadow, opacity;
|
83 |
+
transition-property: background, color, box-shadow, opacity;
|
84 |
+
transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
|
85 |
+
-webkit-transition-duration: 0.3s;
|
86 |
+
-o-transition-duration: 0.3s;
|
87 |
+
transition-duration: 0.3s;
|
88 |
+
}
|
89 |
+
#WBCR .wdan-button:hover {
|
90 |
+
border: none;
|
91 |
+
}
|
92 |
+
#WBCR .wdan-button:not([disabled]) {
|
93 |
+
cursor: pointer;
|
94 |
+
}
|
95 |
+
#WBCR .wdan-button:not(.wdan-button-state) .wdan-state-icon {
|
96 |
+
display: none;
|
97 |
+
}
|
98 |
+
#WBCR .wdan-button.wdan-button-success {
|
99 |
+
color: #fff;
|
100 |
+
}
|
101 |
+
#WBCR .wdan-button.wdan-button-success[disabled] {
|
102 |
+
background-color: #c2cbd2;
|
103 |
+
}
|
104 |
+
#WBCR .wdan-button.wdan-button-success:not([disabled]) {
|
105 |
+
background-color: #39b54a;
|
106 |
+
}
|
107 |
+
#WBCR .wdan-button.wdan-button-success:not([disabled]):hover {
|
108 |
+
opacity: 0.85;
|
109 |
+
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
110 |
+
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
111 |
+
}
|
112 |
+
#WBCR .wdan-button.wdan-button-success:not([disabled]):active {
|
113 |
+
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
114 |
+
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
115 |
+
}
|
116 |
+
#WBCR .wdan-button.wdan-button-warning {
|
117 |
+
background-color: #a4afb7;
|
118 |
+
color: #fff;
|
119 |
+
}
|
120 |
+
#WBCR .wdan-button.wdan-button-warning[disabled] {
|
121 |
+
background-color: #c2cbd2;
|
122 |
+
}
|
123 |
+
#WBCR .wdan-button.wdan-button-warning:not([disabled]):hover {
|
124 |
+
background-color: #b01b1b;
|
125 |
+
opacity: 0.85;
|
126 |
+
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
127 |
+
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
128 |
+
}
|
129 |
+
#WBCR .wdan-button.wdan-button-warning:not([disabled]):active {
|
130 |
+
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
131 |
+
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
132 |
+
}
|
133 |
+
#WBCR .wdan-button.wdan-button-danger {
|
134 |
+
background-color: #d72b3f;
|
135 |
+
color: #fff;
|
136 |
+
}
|
137 |
+
#WBCR .wdan-button.wdan-button-danger[disabled] {
|
138 |
+
background-color: #c2cbd2;
|
139 |
+
}
|
140 |
+
#WBCR .wdan-button.wdan-button-danger:not([disabled]):hover {
|
141 |
+
opacity: 0.85;
|
142 |
+
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
143 |
+
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
144 |
+
}
|
145 |
+
#WBCR .wdan-button.wdan-button-danger:not([disabled]):active {
|
146 |
+
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
147 |
+
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
148 |
+
}
|
149 |
+
#WBCR .wdan-button.wdan-edit-template {
|
150 |
+
display: inline-block;
|
151 |
+
margin-top: 15px;
|
152 |
+
color: #fff;
|
153 |
+
}
|
154 |
+
#WBCR .wdan-button.wdan-button-default {
|
155 |
+
background-color: #a4afb7;
|
156 |
+
color: #fff;
|
157 |
+
font-size: 11px;
|
158 |
+
padding: 7px 21px;
|
159 |
+
}
|
160 |
+
#WBCR .wdan-button.wdan-button-default:hover {
|
161 |
+
background-color: #6d7882;
|
162 |
+
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
163 |
+
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
|
164 |
+
}
|
165 |
+
#WBCR .wdan-button.wdan-button-default:active {
|
166 |
+
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
167 |
+
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
|
168 |
+
}
|
169 |
+
#WBCR .wdan-button.wdan-button-default:visited {
|
170 |
+
color: #fff;
|
171 |
+
}
|
172 |
+
#WBCR .wdan-button.wdan-button-go-pro {
|
173 |
+
background-color: #ff5722;
|
174 |
+
}
|
175 |
+
#WBCR .wdan-button i {
|
176 |
+
margin-right: 10px;
|
177 |
+
}
|
178 |
+
.wdan-hidden-list {
|
179 |
+
padding: 0 15px;
|
180 |
+
}
|
181 |
+
.wdan-hidden-list-notice {
|
182 |
+
background: #fff;
|
183 |
+
border: 1px solid #ccd0d4;
|
184 |
+
border-left-width: 4px;
|
185 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
186 |
+
padding: 1px 12px;
|
187 |
+
}
|
188 |
+
.wdan-hidden-list-notice div.wdan-notice-p {
|
189 |
+
margin: 0.5em 0;
|
190 |
+
padding: 2px;
|
191 |
+
}
|
192 |
+
.wdan-hidden-list-notice div.wdan-notice-p div {
|
193 |
+
width: 100%;
|
194 |
+
}
|
195 |
+
.wdan-hidden-list-table {
|
196 |
+
border: 0;
|
197 |
+
}
|
198 |
+
.wdan-hidden-list-table tr > td:first-child {
|
199 |
+
padding: 5px 0 5px;
|
200 |
+
}
|
201 |
+
.wdan-hidden-list-table tr > td:last-child {
|
202 |
+
padding: 0 10px 0;
|
203 |
+
text-align: center;
|
204 |
+
}
|
205 |
+
.wdan-hidden-list-table .wdan-notices-page-table-head td {
|
206 |
+
font-size: 16px;
|
207 |
+
text-transform: uppercase;
|
208 |
+
padding: 10px !important;
|
209 |
+
font-weight: bold;
|
210 |
+
}
|
211 |
+
.wdan-hidden-list-table .wdan-hidden-list-notice-action {
|
212 |
+
vertical-align: middle;
|
213 |
+
}
|
214 |
+
.wdan-hidden-list-table .wdan-page-restore-notice-link-loader {
|
215 |
+
background: url(../img/loader.gif);
|
216 |
+
background-size: contain;
|
217 |
+
background-repeat: no-repeat;
|
218 |
+
background-position: top;
|
219 |
+
}
|
admin/assets/img/hide-icon-white.svg
CHANGED
@@ -1,25 +1,25 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
-
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
-
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
-
width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
|
6 |
-
preserveAspectRatio="xMidYMid meet">
|
7 |
-
|
8 |
-
<g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
|
9 |
-
fill="#ffffff" stroke="none">
|
10 |
-
<path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
|
11 |
-
-92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
|
12 |
-
-502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
|
13 |
-
-157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
|
14 |
-
-880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
|
15 |
-
-30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
|
16 |
-
-89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
|
17 |
-
-124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
|
18 |
-
53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
|
19 |
-
-89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
|
20 |
-
<path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
|
21 |
-
42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
|
22 |
-
-81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
|
23 |
-
199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
|
24 |
-
</g>
|
25 |
-
</svg>
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
+
width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
|
6 |
+
preserveAspectRatio="xMidYMid meet">
|
7 |
+
|
8 |
+
<g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
|
9 |
+
fill="#ffffff" stroke="none">
|
10 |
+
<path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
|
11 |
+
-92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
|
12 |
+
-502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
|
13 |
+
-157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
|
14 |
+
-880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
|
15 |
+
-30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
|
16 |
+
-89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
|
17 |
+
-124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
|
18 |
+
53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
|
19 |
+
-89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
|
20 |
+
<path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
|
21 |
+
42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
|
22 |
+
-81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
|
23 |
+
199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
|
24 |
+
</g>
|
25 |
+
</svg>
|
admin/assets/img/hide-icon.svg
CHANGED
@@ -1,25 +1,25 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
-
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
-
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
-
width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
|
6 |
-
preserveAspectRatio="xMidYMid meet">
|
7 |
-
|
8 |
-
<g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
|
9 |
-
fill="#ed3c48" stroke="none">
|
10 |
-
<path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
|
11 |
-
-92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
|
12 |
-
-502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
|
13 |
-
-157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
|
14 |
-
-880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
|
15 |
-
-30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
|
16 |
-
-89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
|
17 |
-
-124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
|
18 |
-
53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
|
19 |
-
-89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
|
20 |
-
<path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
|
21 |
-
42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
|
22 |
-
-81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
|
23 |
-
199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
|
24 |
-
</g>
|
25 |
-
</svg>
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
+
width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
|
6 |
+
preserveAspectRatio="xMidYMid meet">
|
7 |
+
|
8 |
+
<g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
|
9 |
+
fill="#ed3c48" stroke="none">
|
10 |
+
<path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
|
11 |
+
-92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
|
12 |
+
-502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
|
13 |
+
-157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
|
14 |
+
-880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
|
15 |
+
-30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
|
16 |
+
-89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
|
17 |
+
-124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
|
18 |
+
53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
|
19 |
+
-89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
|
20 |
+
<path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
|
21 |
+
42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
|
22 |
+
-81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
|
23 |
+
199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
|
24 |
+
</g>
|
25 |
+
</svg>
|
admin/boot.php
CHANGED
@@ -44,7 +44,7 @@ if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
|
|
44 |
*
|
45 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
46 |
*/
|
47 |
-
add_filter( '
|
48 |
if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
|
49 |
return 'https://goo.gl/68ucHp';
|
50 |
}
|
@@ -100,7 +100,7 @@ if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
|
|
100 |
* that put all unapproved comments to spam check queue.
|
101 |
*/
|
102 |
add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
|
103 |
-
if ( $plugin_name != WDN_Plugin::app()->getPluginName() ) {
|
104 |
return $notices;
|
105 |
}
|
106 |
|
44 |
*
|
45 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
46 |
*/
|
47 |
+
add_filter( 'wbcr_factory_pages_438_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
|
48 |
if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
|
49 |
return 'https://goo.gl/68ucHp';
|
50 |
}
|
100 |
* that put all unapproved comments to spam check queue.
|
101 |
*/
|
102 |
add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
|
103 |
+
if ( $plugin_name != WDN_Plugin::app()->getPluginName() || 'wbcr_clearfy' === $plugin_name ) {
|
104 |
return $notices;
|
105 |
}
|
106 |
|
admin/class-page-basic.php
CHANGED
@@ -19,16 +19,16 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
exit;
|
20 |
}
|
21 |
|
22 |
-
class WDN_Page extends
|
23 |
|
24 |
/**
|
25 |
* Requests assets (js and css) for the page.
|
26 |
*
|
27 |
-
* @param
|
28 |
-
* @param
|
29 |
*
|
30 |
* @return void
|
31 |
-
* @see
|
32 |
*
|
33 |
*/
|
34 |
public function assets( $scripts, $styles ) {
|
19 |
exit;
|
20 |
}
|
21 |
|
22 |
+
class WDN_Page extends Wbcr_FactoryClearfy230_PageBase {
|
23 |
|
24 |
/**
|
25 |
* Requests assets (js and css) for the page.
|
26 |
*
|
27 |
+
* @param Wbcr_Factory439_ScriptList $scripts
|
28 |
+
* @param Wbcr_Factory439_StyleList $styles
|
29 |
*
|
30 |
* @return void
|
31 |
+
* @see Wbcr_FactoryPages438_AdminPage
|
32 |
*
|
33 |
*/
|
34 |
public function assets( $scripts, $styles ) {
|
admin/options.php
CHANGED
@@ -176,7 +176,7 @@ function wbcr_dan_is_active_clearfy_component() {
|
|
176 |
* с настройками этого плагина, потому что это ухудшает юзабилити.
|
177 |
*
|
178 |
* @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
|
179 |
-
* @param
|
180 |
*
|
181 |
* @return mixed Отсортированный массив с группой опций
|
182 |
*/
|
@@ -203,7 +203,7 @@ add_filter( 'wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_op
|
|
203 |
* Эта модикация является не стандартной, поэтому мы не можете реалировать ее
|
204 |
* через фреймворк.
|
205 |
*
|
206 |
-
* @param @param $html_builder
|
207 |
*
|
208 |
* @since 1.0
|
209 |
*
|
176 |
* с настройками этого плагина, потому что это ухудшает юзабилити.
|
177 |
*
|
178 |
* @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
|
179 |
+
* @param Wbcr_FactoryPages438_ImpressiveThemplate $page Экземпляр страницы
|
180 |
*
|
181 |
* @return mixed Отсортированный массив с группой опций
|
182 |
*/
|
203 |
* Эта модикация является не стандартной, поэтому мы не можете реалировать ее
|
204 |
* через фреймворк.
|
205 |
*
|
206 |
+
* @param @param $html_builder Wbcr_FactoryForms436_Html
|
207 |
*
|
208 |
* @since 1.0
|
209 |
*
|
admin/pages/class-pages-edit-admin-bar.php
CHANGED
@@ -63,11 +63,11 @@ class WDAN_Edit_Admin_Bar extends WDN_Page {
|
|
63 |
/**
|
64 |
* Requests assets (js and css) for the page.
|
65 |
*
|
66 |
-
* @param
|
67 |
-
* @param
|
68 |
*
|
69 |
* @return void
|
70 |
-
* @see
|
71 |
*
|
72 |
*/
|
73 |
public function assets( $scripts, $styles ) {
|
63 |
/**
|
64 |
* Requests assets (js and css) for the page.
|
65 |
*
|
66 |
+
* @param Wbcr_Factory439_ScriptList $scripts
|
67 |
+
* @param Wbcr_Factory439_StyleList $styles
|
68 |
*
|
69 |
* @return void
|
70 |
+
* @see Wbcr_FactoryPages438_AdminPage
|
71 |
*
|
72 |
*/
|
73 |
public function assets( $scripts, $styles ) {
|
admin/pages/class-pages-edit-redirects.php
CHANGED
@@ -61,11 +61,11 @@ class WDAN_Block_Ad_Redirects extends WDN_Page {
|
|
61 |
/**
|
62 |
* Requests assets (js and css) for the page.
|
63 |
*
|
64 |
-
* @param
|
65 |
-
* @param
|
66 |
*
|
67 |
* @return void
|
68 |
-
* @see
|
69 |
*
|
70 |
*/
|
71 |
public function assets( $scripts, $styles ) {
|
61 |
/**
|
62 |
* Requests assets (js and css) for the page.
|
63 |
*
|
64 |
+
* @param Wbcr_Factory439_ScriptList $scripts
|
65 |
+
* @param Wbcr_Factory439_StyleList $styles
|
66 |
*
|
67 |
* @return void
|
68 |
+
* @see Wbcr_FactoryPages438_AdminPage
|
69 |
*
|
70 |
*/
|
71 |
public function assets( $scripts, $styles ) {
|
admin/pages/class-pages-license.php
CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
*
|
14 |
* @copyright (c) 2018 Webraftic Ltd
|
15 |
*/
|
16 |
-
class WDN_LicensePage extends
|
17 |
|
18 |
/**
|
19 |
* {@inheritdoc}
|
@@ -36,12 +36,12 @@ class WDN_LicensePage extends Wbcr_FactoryClearfy224_LicensePage {
|
|
36 |
/**
|
37 |
* WCL_LicensePage constructor.
|
38 |
*
|
39 |
-
* @param \
|
40 |
*
|
41 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
42 |
*
|
43 |
*/
|
44 |
-
public function __construct(
|
45 |
$this->menu_title = __( 'License', 'robin-image-optimizer' );
|
46 |
$this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
|
47 |
$this->plan_name = __( 'Disable admin notices premium', 'robin-image-optimizer' );
|
13 |
*
|
14 |
* @copyright (c) 2018 Webraftic Ltd
|
15 |
*/
|
16 |
+
class WDN_LicensePage extends Wbcr_FactoryClearfy230_LicensePage {
|
17 |
|
18 |
/**
|
19 |
* {@inheritdoc}
|
36 |
/**
|
37 |
* WCL_LicensePage constructor.
|
38 |
*
|
39 |
+
* @param \Wbcr_Factory439_Plugin $plugin
|
40 |
*
|
41 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
42 |
*
|
43 |
*/
|
44 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
45 |
$this->menu_title = __( 'License', 'robin-image-optimizer' );
|
46 |
$this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
|
47 |
$this->plan_name = __( 'Disable admin notices premium', 'robin-image-optimizer' );
|
admin/pages/class-pages-notices.php
CHANGED
@@ -59,11 +59,11 @@ class WDAN_Notices extends WDN_Page {
|
|
59 |
/**
|
60 |
* Requests assets (js and css) for the page.
|
61 |
*
|
62 |
-
* @param
|
63 |
-
* @param
|
64 |
*
|
65 |
* @return void
|
66 |
-
* @see
|
67 |
*
|
68 |
*/
|
69 |
public function assets( $scripts, $styles ) {
|
59 |
/**
|
60 |
* Requests assets (js and css) for the page.
|
61 |
*
|
62 |
+
* @param Wbcr_Factory439_ScriptList $scripts
|
63 |
+
* @param Wbcr_Factory439_StyleList $styles
|
64 |
*
|
65 |
* @return void
|
66 |
+
* @see Wbcr_FactoryPages438_AdminPage
|
67 |
*
|
68 |
*/
|
69 |
public function assets( $scripts, $styles ) {
|
admin/pages/class-pages-settings.php
CHANGED
@@ -66,9 +66,9 @@ class WDN_Settings_Page extends WDN_Page {
|
|
66 |
|
67 |
|
68 |
/**
|
69 |
-
* @param
|
70 |
*/
|
71 |
-
public function __construct(
|
72 |
$this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
|
73 |
$this->page_menu_short_description = __( 'General settings', 'disable-admin-notices' );
|
74 |
|
@@ -88,11 +88,11 @@ class WDN_Settings_Page extends WDN_Page {
|
|
88 |
/**
|
89 |
* Requests assets (js and css) for the page.
|
90 |
*
|
91 |
-
* @param
|
92 |
-
* @param
|
93 |
*
|
94 |
* @return void
|
95 |
-
* @see
|
96 |
*
|
97 |
*/
|
98 |
public function assets( $scripts, $styles ) {
|
@@ -122,7 +122,7 @@ class WDN_Settings_Page extends WDN_Page {
|
|
122 |
'wbcr_dan_code' => 'interal_error'
|
123 |
),
|
124 |
'type' => 'danger',
|
125 |
-
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', '
|
126 |
);*/
|
127 |
|
128 |
return $notices;
|
66 |
|
67 |
|
68 |
/**
|
69 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
70 |
*/
|
71 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
72 |
$this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
|
73 |
$this->page_menu_short_description = __( 'General settings', 'disable-admin-notices' );
|
74 |
|
88 |
/**
|
89 |
* Requests assets (js and css) for the page.
|
90 |
*
|
91 |
+
* @param Wbcr_Factory439_ScriptList $scripts
|
92 |
+
* @param Wbcr_Factory439_StyleList $styles
|
93 |
*
|
94 |
* @return void
|
95 |
+
* @see Wbcr_FactoryPages438_AdminPage
|
96 |
*
|
97 |
*/
|
98 |
public function assets( $scripts, $styles ) {
|
122 |
'wbcr_dan_code' => 'interal_error'
|
123 |
),
|
124 |
'type' => 'danger',
|
125 |
+
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_438')
|
126 |
);*/
|
127 |
|
128 |
return $notices;
|
admin/pages/class-pages.php
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Страница общих настроек для этого плагина.
|
4 |
-
*
|
5 |
-
* Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
|
6 |
-
* дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
|
7 |
-
*
|
8 |
-
* Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
|
9 |
-
*
|
10 |
-
* Github: https://github.com/alexkovalevv
|
11 |
-
*
|
12 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
13 |
-
* @copyright (c) 2018 Webraftic Ltd
|
14 |
-
* @version 1.0
|
15 |
-
*/
|
16 |
-
|
17 |
-
// Exit if accessed directly
|
18 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
19 |
-
exit;
|
20 |
-
}
|
21 |
-
|
22 |
-
class WDN_Page extends Wbcr_FactoryClearfy223_PageBase {
|
23 |
-
|
24 |
-
|
25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
disable-admin-notices.php
CHANGED
@@ -4,11 +4,11 @@
|
|
4 |
* Plugin URI: https://webcraftic.com
|
5 |
* Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 1.2.
|
8 |
* Text Domain: disable-admin-notices
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
/**
|
@@ -25,7 +25,7 @@
|
|
25 |
*/
|
26 |
|
27 |
// Exit if accessed directly
|
28 |
-
if
|
29 |
exit;
|
30 |
}
|
31 |
|
@@ -37,64 +37,70 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
37 |
* -----------------------------------------------------------------------------
|
38 |
*/
|
39 |
|
40 |
-
require_once(
|
41 |
|
42 |
// @formatter:off
|
43 |
$wdan_plugin_info = array(
|
44 |
-
'prefix'
|
45 |
-
'plugin_name'
|
46 |
-
'plugin_title'
|
47 |
|
48 |
// PLUGIN SUPPORT
|
49 |
-
'support_details'
|
50 |
-
'url'
|
51 |
'pages_map' => array(
|
52 |
'support' => 'support', // {site}/support
|
53 |
-
'docs'
|
54 |
'pricing' => 'disable-admin-notices'
|
55 |
)
|
56 |
),
|
57 |
// PLUGIN PREMIUM SETTINGS
|
58 |
-
'has_premium'
|
59 |
-
'license_settings'
|
60 |
-
'provider'
|
61 |
-
'slug'
|
62 |
-
'plugin_id'
|
63 |
-
'public_key'
|
64 |
-
'price'
|
65 |
-
'has_updates'
|
66 |
'updates_settings' => array(
|
67 |
-
'maybe_rollback'
|
68 |
'rollback_settings' => array(
|
69 |
'prev_stable_version' => '0.0.0'
|
70 |
)
|
71 |
)
|
72 |
),
|
|
|
|
|
|
|
|
|
|
|
73 |
// PLUGIN ADVERTS
|
74 |
-
'render_adverts'
|
75 |
-
'adverts_settings'
|
76 |
'dashboard_widget' => false, // show dashboard widget (default: false)
|
77 |
-
'right_sidebar'
|
78 |
-
'notice'
|
79 |
),
|
80 |
|
81 |
// FRAMEWORK MODULES
|
82 |
'load_factory_modules' => array(
|
83 |
-
array(
|
84 |
-
array(
|
85 |
-
array(
|
86 |
-
array(
|
87 |
-
array(
|
88 |
-
array(
|
|
|
89 |
)
|
90 |
);
|
91 |
|
92 |
-
$wdan_compatibility = new
|
93 |
-
'plugin_already_activate'
|
94 |
-
'required_php_version'
|
95 |
-
'required_wp_version'
|
96 |
'required_clearfy_check_component' => false
|
97 |
-
)
|
98 |
|
99 |
|
100 |
|
@@ -102,7 +108,7 @@ $wdan_compatibility = new Wbcr_Factory432_Requirements( __FILE__, array_merge( $
|
|
102 |
* If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
|
103 |
* and the user will throw a warning.
|
104 |
*/
|
105 |
-
if
|
106 |
return;
|
107 |
}
|
108 |
|
@@ -115,11 +121,11 @@ if ( ! $wdan_compatibility->check() ) {
|
|
115 |
*/
|
116 |
|
117 |
// This plugin is activated
|
118 |
-
define(
|
119 |
-
define(
|
120 |
-
define(
|
121 |
-
define(
|
122 |
-
define(
|
123 |
|
124 |
|
125 |
|
@@ -129,25 +135,25 @@ define( 'WDN_PLUGIN_URL', plugins_url( null, __FILE__ ) );
|
|
129 |
* -----------------------------------------------------------------------------
|
130 |
*/
|
131 |
|
132 |
-
require_once(
|
133 |
-
require_once(
|
134 |
-
require_once(
|
135 |
|
136 |
try {
|
137 |
-
new WDN_Plugin(
|
138 |
-
'plugin_version'
|
139 |
'plugin_text_domain' => $wdan_compatibility->get_text_domain(),
|
140 |
-
)
|
141 |
} catch( Exception $e ) {
|
142 |
// Plugin wasn't initialized due to an error
|
143 |
-
define(
|
144 |
|
145 |
-
$wdan_plugin_error_func = function () use (
|
146 |
-
$error = sprintf(
|
147 |
echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
|
148 |
};
|
149 |
|
150 |
-
add_action(
|
151 |
-
add_action(
|
152 |
}
|
153 |
// @formatter:on
|
4 |
* Plugin URI: https://webcraftic.com
|
5 |
* Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.2.4
|
8 |
* Text Domain: disable-admin-notices
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
+
* Framework Version: FACTORY_439_VERSION
|
12 |
*/
|
13 |
|
14 |
/**
|
25 |
*/
|
26 |
|
27 |
// Exit if accessed directly
|
28 |
+
if( !defined('ABSPATH') ) {
|
29 |
exit;
|
30 |
}
|
31 |
|
37 |
* -----------------------------------------------------------------------------
|
38 |
*/
|
39 |
|
40 |
+
require_once(dirname(__FILE__) . '/libs/factory/core/includes/class-factory-requirements.php');
|
41 |
|
42 |
// @formatter:off
|
43 |
$wdan_plugin_info = array(
|
44 |
+
'prefix' => 'wbcr_dan_',
|
45 |
+
'plugin_name' => 'wbcr_dan',
|
46 |
+
'plugin_title' => __('Webcraftic disable admin notices', 'disable-admin-notices'),
|
47 |
|
48 |
// PLUGIN SUPPORT
|
49 |
+
'support_details' => array(
|
50 |
+
'url' => 'https://clearfy.pro/',
|
51 |
'pages_map' => array(
|
52 |
'support' => 'support', // {site}/support
|
53 |
+
'docs' => 'docs', // {site}/docs,
|
54 |
'pricing' => 'disable-admin-notices'
|
55 |
)
|
56 |
),
|
57 |
// PLUGIN PREMIUM SETTINGS
|
58 |
+
'has_premium' => true,
|
59 |
+
'license_settings' => array(
|
60 |
+
'provider' => 'freemius',
|
61 |
+
'slug' => 'disable-admin-notices-premium',
|
62 |
+
'plugin_id' => '6456',
|
63 |
+
'public_key' => 'pk_0570ec3c1b4100b9c9a0cbfe80f9f',
|
64 |
+
'price' => 29,
|
65 |
+
'has_updates' => true,
|
66 |
'updates_settings' => array(
|
67 |
+
'maybe_rollback' => true,
|
68 |
'rollback_settings' => array(
|
69 |
'prev_stable_version' => '0.0.0'
|
70 |
)
|
71 |
)
|
72 |
),
|
73 |
+
|
74 |
+
// PLUGIN SUBSCRIBE FORM
|
75 |
+
'subscribe_widget' => true,
|
76 |
+
'subscribe_settings' => ['group_id' => '105407140'],
|
77 |
+
|
78 |
// PLUGIN ADVERTS
|
79 |
+
'render_adverts' => true,
|
80 |
+
'adverts_settings' => array(
|
81 |
'dashboard_widget' => false, // show dashboard widget (default: false)
|
82 |
+
'right_sidebar' => true, // show adverts sidebar (default: false)
|
83 |
+
'notice' => false, // show notice message (default: false)
|
84 |
),
|
85 |
|
86 |
// FRAMEWORK MODULES
|
87 |
'load_factory_modules' => array(
|
88 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_439', 'admin'),
|
89 |
+
array('libs/factory/forms', 'factory_forms_436', 'admin'),
|
90 |
+
array('libs/factory/pages', 'factory_pages_438', 'admin'),
|
91 |
+
array('libs/factory/clearfy', 'factory_clearfy_230', 'all'),
|
92 |
+
array('libs/factory/freemius', 'factory_freemius_126', 'all'),
|
93 |
+
array('libs/factory/adverts', 'factory_adverts_117', 'admin'),
|
94 |
+
//array('libs/factory/logger', 'factory_logger_101', 'all')
|
95 |
)
|
96 |
);
|
97 |
|
98 |
+
$wdan_compatibility = new Wbcr_Factory439_Requirements(__FILE__, array_merge($wdan_plugin_info, array(
|
99 |
+
'plugin_already_activate' => defined('WDN_PLUGIN_ACTIVE'),
|
100 |
+
'required_php_version' => '5.4',
|
101 |
+
'required_wp_version' => '4.2.0',
|
102 |
'required_clearfy_check_component' => false
|
103 |
+
)));
|
104 |
|
105 |
|
106 |
|
108 |
* If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
|
109 |
* and the user will throw a warning.
|
110 |
*/
|
111 |
+
if( !$wdan_compatibility->check() ) {
|
112 |
return;
|
113 |
}
|
114 |
|
121 |
*/
|
122 |
|
123 |
// This plugin is activated
|
124 |
+
define('WDN_PLUGIN_ACTIVE', true);
|
125 |
+
define('WDN_PLUGIN_VERSION', $wdan_compatibility->get_plugin_version());
|
126 |
+
define('WDN_PLUGIN_DIR', dirname(__FILE__));
|
127 |
+
define('WDN_PLUGIN_BASE', plugin_basename(__FILE__));
|
128 |
+
define('WDN_PLUGIN_URL', plugins_url(null, __FILE__));
|
129 |
|
130 |
|
131 |
|
135 |
* -----------------------------------------------------------------------------
|
136 |
*/
|
137 |
|
138 |
+
require_once(WDN_PLUGIN_DIR . '/libs/factory/core/boot.php');
|
139 |
+
require_once(WDN_PLUGIN_DIR . '/includes/functions.php');
|
140 |
+
require_once(WDN_PLUGIN_DIR . '/includes/class-plugin.php');
|
141 |
|
142 |
try {
|
143 |
+
new WDN_Plugin(__FILE__, array_merge($wdan_plugin_info, array(
|
144 |
+
'plugin_version' => WDN_PLUGIN_VERSION,
|
145 |
'plugin_text_domain' => $wdan_compatibility->get_text_domain(),
|
146 |
+
)));
|
147 |
} catch( Exception $e ) {
|
148 |
// Plugin wasn't initialized due to an error
|
149 |
+
define('WDN_PLUGIN_THROW_ERROR', true);
|
150 |
|
151 |
+
$wdan_plugin_error_func = function () use ($e) {
|
152 |
+
$error = sprintf("The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Webcraftic Disable Admin Notices', $e->getMessage(), $e->getCode());
|
153 |
echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
|
154 |
};
|
155 |
|
156 |
+
add_action('admin_notices', $wdan_plugin_error_func);
|
157 |
+
add_action('network_admin_notices', $wdan_plugin_error_func);
|
158 |
}
|
159 |
// @formatter:on
|
includes/class-plugin.php
CHANGED
@@ -9,16 +9,16 @@
|
|
9 |
*/
|
10 |
|
11 |
// Exit if accessed directly
|
12 |
-
//use WBCR\
|
13 |
|
14 |
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
class WDN_Plugin extends
|
19 |
|
20 |
/**
|
21 |
-
* @var
|
22 |
*/
|
23 |
private static $app;
|
24 |
private $plugin_data;
|
@@ -44,13 +44,14 @@ class WDN_Plugin extends Wbcr_Factory432_Plugin {
|
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
-
* @return
|
48 |
*/
|
49 |
public static function app() {
|
50 |
return self::$app;
|
51 |
}
|
52 |
|
53 |
private function registerPages() {
|
|
|
54 |
self::app()->registerPage( 'WDN_Settings_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-settings.php' );
|
55 |
|
56 |
if ( ! ( $this->premium->is_activate() && $this->premium->is_install_package() ) ) {
|
9 |
*/
|
10 |
|
11 |
// Exit if accessed directly
|
12 |
+
//use WBCR\Factory_Adverts_117\Base;
|
13 |
|
14 |
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
+
class WDN_Plugin extends Wbcr_Factory439_Plugin {
|
19 |
|
20 |
/**
|
21 |
+
* @var Wbcr_Factory439_Plugin
|
22 |
*/
|
23 |
private static $app;
|
24 |
private $plugin_data;
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
+
* @return Wbcr_Factory439_Plugin
|
48 |
*/
|
49 |
public static function app() {
|
50 |
return self::$app;
|
51 |
}
|
52 |
|
53 |
private function registerPages() {
|
54 |
+
//self::app()->registerPage( 'WDN_Log_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-log.php' );
|
55 |
self::app()->registerPage( 'WDN_Settings_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-settings.php' );
|
56 |
|
57 |
if ( ! ( $this->premium->is_activate() && $this->premium->is_install_package() ) ) {
|
includes/classes/class-configurate-notices.php
CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
class WDN_ConfigHideNotices extends
|
19 |
|
20 |
public function registerActionsAndFilters() {
|
21 |
if ( is_admin() ) {
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
+
class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy230_Configurate {
|
19 |
|
20 |
public function registerActionsAndFilters() {
|
21 |
if ( is_admin() ) {
|
includes/function.php
DELETED
@@ -1,122 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Helper functions
|
4 |
-
* @author Webcraftic <alex.kovalevv@gmail.com>
|
5 |
-
* @copyright (c) 05.07.2020, Webcraftic
|
6 |
-
* @version 1.0
|
7 |
-
*/
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Access to global variable $wp_filter in WP core.
|
11 |
-
* Migration from WP 4.2 to 4.9
|
12 |
-
*
|
13 |
-
* @see https://codex.wordpress.org/Version_4.7 WP 4.7 changelog (WP_Hook)
|
14 |
-
*
|
15 |
-
* @param $key string filter name
|
16 |
-
*
|
17 |
-
* @return array callbacks array by link
|
18 |
-
*/
|
19 |
-
function &wdan_get_wp_filter( $key ) {
|
20 |
-
global $wp_filter;
|
21 |
-
|
22 |
-
$default = [];
|
23 |
-
|
24 |
-
if ( 'admin_notices' === $key && is_multisite() && is_network_admin() ) {
|
25 |
-
$key = 'network_admin_notices';
|
26 |
-
}
|
27 |
-
|
28 |
-
if ( ! isset( $wp_filter[ $key ] ) ) {
|
29 |
-
return $default;
|
30 |
-
}
|
31 |
-
|
32 |
-
return $wp_filter[ $key ]->callbacks;
|
33 |
-
}
|
34 |
-
|
35 |
-
/**
|
36 |
-
* @param $key
|
37 |
-
*
|
38 |
-
* @return array
|
39 |
-
*/
|
40 |
-
function wdan_collect_notices( $key ) {
|
41 |
-
$wp_filter = &wdan_get_wp_filter( $key );
|
42 |
-
|
43 |
-
$content = [];
|
44 |
-
|
45 |
-
if ( ! empty( $wp_filter ) ) {
|
46 |
-
foreach ( (array) $wp_filter as $filters ) {
|
47 |
-
foreach ( $filters as $callback_name => $callback ) {
|
48 |
-
|
49 |
-
if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
|
50 |
-
continue;
|
51 |
-
}
|
52 |
-
|
53 |
-
ob_start();
|
54 |
-
|
55 |
-
// #CLRF-140 fix bug for php7
|
56 |
-
// when the developers forgot to delete the argument in the function of implementing the notification.
|
57 |
-
$args = [];
|
58 |
-
$accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
|
59 |
-
|
60 |
-
if ( $accepted_args > 0 ) {
|
61 |
-
for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
|
62 |
-
$args[] = null;
|
63 |
-
}
|
64 |
-
}
|
65 |
-
//===========
|
66 |
-
|
67 |
-
call_user_func_array( $callback['function'], $args );
|
68 |
-
$cont = ob_get_clean();
|
69 |
-
|
70 |
-
if ( ! empty( $cont ) ) {
|
71 |
-
$salt = is_multisite() ? get_current_blog_id() : '';
|
72 |
-
$uniq_id1 = md5( $cont . $salt );
|
73 |
-
$uniq_id2 = md5( $callback_name . $salt );
|
74 |
-
|
75 |
-
if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
|
76 |
-
$class = $callback['function'][0];
|
77 |
-
if ( is_object( $class ) ) {
|
78 |
-
$class_name = get_class( $class );
|
79 |
-
$method_name = $callback['function'][1];
|
80 |
-
$uniq_id2 = md5( $class_name . ':' . $method_name );
|
81 |
-
}
|
82 |
-
}
|
83 |
-
|
84 |
-
$content[ $uniq_id1 . "_" . $uniq_id2 ] = $cont;
|
85 |
-
}
|
86 |
-
}
|
87 |
-
}
|
88 |
-
}
|
89 |
-
|
90 |
-
return $content;
|
91 |
-
}
|
92 |
-
|
93 |
-
/**
|
94 |
-
* @param $key
|
95 |
-
* @param array $excluded_classes
|
96 |
-
* @param array $excluded_callback_names
|
97 |
-
*/
|
98 |
-
function wdan_clear_all_notices( $key, $excluded_classes = [], $excluded_callback_names = [] ) {
|
99 |
-
$wp_filter = &wdan_get_wp_filter( $key );
|
100 |
-
|
101 |
-
if ( ! empty( $wp_filter ) ) {
|
102 |
-
foreach ( (array) $wp_filter as $f_key => $f ) {
|
103 |
-
foreach ( $f as $c_name => $clback ) {
|
104 |
-
if ( is_array( $clback['function'] ) && sizeof( $clback['function'] ) == 2 ) {
|
105 |
-
$class = $clback['function'][0];
|
106 |
-
if ( is_object( $class ) ) {
|
107 |
-
$class_name = get_class( $class );
|
108 |
-
|
109 |
-
if ( in_array( $class_name, $excluded_classes ) ) {
|
110 |
-
continue;
|
111 |
-
}
|
112 |
-
}
|
113 |
-
}
|
114 |
-
|
115 |
-
if ( in_array( $c_name, $excluded_callback_names ) ) {
|
116 |
-
continue;
|
117 |
-
}
|
118 |
-
unset( $wp_filter[ $f_key ][ $c_name ] );
|
119 |
-
}
|
120 |
-
}
|
121 |
-
}
|
122 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/disable-admin-notices-ru_RU.po
CHANGED
@@ -1,256 +1,256 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2020-08-27 12:50+0000\n"
|
5 |
-
"PO-Revision-Date: 2020-08-27 12:54+0000\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: Русский\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: Loco https://localise.biz/\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
15 |
-
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
-
"Report-Msgid-Bugs-To: \n"
|
21 |
-
"X-Loco-Version: 2.4.2; wp-5.5"
|
22 |
-
|
23 |
-
#: disable-admin-notices.php:46
|
24 |
-
msgid "Webcraftic disable admin notices"
|
25 |
-
msgstr "Webcraftic отключить уведомления администратора"
|
26 |
-
|
27 |
-
#: admin/boot.php:27
|
28 |
-
msgid "Get ultimate plugin free"
|
29 |
-
msgstr "Получите полную версию плагина бесплатно"
|
30 |
-
|
31 |
-
#: admin/boot.php:82 admin/options.php:66
|
32 |
-
#: admin/pages/class-pages-settings.php:72
|
33 |
-
msgid "Hide admin notices"
|
34 |
-
msgstr "Скрыть уведомления"
|
35 |
-
|
36 |
-
#: admin/boot.php:88 admin/options.php:148
|
37 |
-
msgid "Enable hidden notices in adminbar"
|
38 |
-
msgstr "Включить уведомления в админбаре"
|
39 |
-
|
40 |
-
#: admin/class-page-basic.php:41
|
41 |
-
msgid "Webcraftic Disable Admin Notices"
|
42 |
-
msgstr "Webcraftic Disable Admin Notices"
|
43 |
-
|
44 |
-
#: admin/options.php:33
|
45 |
-
msgid "Admin notifications, Update nags"
|
46 |
-
msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
|
47 |
-
|
48 |
-
#: admin/options.php:33
|
49 |
-
msgid ""
|
50 |
-
"Do you know the situation, when some plugin offers you to update to premium, "
|
51 |
-
"to collect technical data and shows many annoying notices? You are close "
|
52 |
-
"these notices every now and again but they newly appears and interfere your "
|
53 |
-
"work with WordPress. Even worse, some plugin’s authors delete “close” button "
|
54 |
-
"from notices and they shows in your admin panel forever."
|
55 |
-
msgstr ""
|
56 |
-
"Вам знакома ситуация, когда какой-то плагин просит вас обновиться до премиум-"
|
57 |
-
"версии, получить права на сбор данных о вашем сайте и создает много "
|
58 |
-
"раздражающих уведомлений? Вы закрываете эти уведомления раз за разом, но они "
|
59 |
-
"вновь появляются и мешают вашей работе с WordPress. Хуже того, некоторые "
|
60 |
-
"авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и они висят в шапке "
|
61 |
-
"вашей панели администратора целую вечность."
|
62 |
-
|
63 |
-
#: admin/options.php:39
|
64 |
-
msgid "Don't hide"
|
65 |
-
msgstr "Не скрывать"
|
66 |
-
|
67 |
-
#: admin/options.php:40
|
68 |
-
msgid ""
|
69 |
-
"Do not hide notices and do not show “Hide notification forever” link for "
|
70 |
-
"admin."
|
71 |
-
msgstr ""
|
72 |
-
"Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление "
|
73 |
-
"навсегда\" в уведомлениях администратора."
|
74 |
-
|
75 |
-
#: admin/options.php:44
|
76 |
-
msgid "All notices"
|
77 |
-
msgstr "Все уведомления"
|
78 |
-
|
79 |
-
#: admin/options.php:45
|
80 |
-
msgid "Hide all notices globally."
|
81 |
-
msgstr "Скрыть все уведомления глобально."
|
82 |
-
|
83 |
-
#: admin/options.php:45 admin/options.php:50 admin/options.php:58
|
84 |
-
#, php-format
|
85 |
-
msgid ""
|
86 |
-
"Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
|
87 |
-
"works ."
|
88 |
-
msgstr ""
|
89 |
-
"Посмотрите <a href=\"%s\" target=\"_blank\">видео</a> о том, как это "
|
90 |
-
"работает."
|
91 |
-
|
92 |
-
#: admin/options.php:49
|
93 |
-
msgid "Only selected"
|
94 |
-
msgstr "Только выбранные"
|
95 |
-
|
96 |
-
#: admin/options.php:50
|
97 |
-
msgid ""
|
98 |
-
"Hide selected notices only. You will see the link \"Hide notification "
|
99 |
-
"forever\" in each notice. Push it and they will not bother you anymore."
|
100 |
-
msgstr ""
|
101 |
-
"Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
|
102 |
-
"ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление будет "
|
103 |
-
"скрыто навсегда и перестанет вас беспокоить."
|
104 |
-
|
105 |
-
#: admin/options.php:57
|
106 |
-
msgid "Compact panel"
|
107 |
-
msgstr "Компактная панель"
|
108 |
-
|
109 |
-
#: admin/options.php:58
|
110 |
-
msgid ""
|
111 |
-
"Collapse all notifications in one line (panel with notification counters), "
|
112 |
-
"to see the notifications, you will need to click this panel."
|
113 |
-
msgstr ""
|
114 |
-
"Свернуть все уведомления в одну строку (панель со счетчиками уведомлений), "
|
115 |
-
"чтобы увидеть уведомления, вам нужно будет нажать на эту панель."
|
116 |
-
|
117 |
-
#: admin/options.php:69
|
118 |
-
msgid ""
|
119 |
-
"Some plugins shows notifications about premium version, data collecting or "
|
120 |
-
"promote their services. Even if you push close button (that sometimes are "
|
121 |
-
"impossible), notices are shows again in some time. This option allows you to "
|
122 |
-
"control notices. Hide them all or each individually. Some plugins shows "
|
123 |
-
"notifications about premium version, data collecting or promote their "
|
124 |
-
"services. Even if you push close button (that sometimes are impossible), "
|
125 |
-
"notices are shows again in some time. This option allows you to control "
|
126 |
-
"notices. Hide them all or each individually."
|
127 |
-
msgstr ""
|
128 |
-
"Зачастую, плагины отображают уведомления о возможности перехода на премиум "
|
129 |
-
"версию, просят разрешение на сбор данных, рекламируют свои услуги. Даже если "
|
130 |
-
"вы нажмете кнопку закрыть (что не всегда возможно), уведомления всё равно "
|
131 |
-
"отобразятся через какое-то время. С помощью этой настройки, вы можете "
|
132 |
-
"контролировать эти уведомления. Скройте их все сразу или каждое по "
|
133 |
-
"отдельности."
|
134 |
-
|
135 |
-
#: admin/options.php:92 admin/options.php:94
|
136 |
-
msgid "Disable plugins updates nags"
|
137 |
-
msgstr "Отключить уведомления об обновлении плагинов"
|
138 |
-
|
139 |
-
#: admin/options.php:103 admin/options.php:105
|
140 |
-
msgid "Disable core updates nags"
|
141 |
-
msgstr "Отключить уведомления об обновлении Wordpress"
|
142 |
-
|
143 |
-
#: admin/options.php:150
|
144 |
-
msgid ""
|
145 |
-
"By default, the plugin hides all notices, which you specified. If you enable "
|
146 |
-
"this option, the plugin will collect all hidden notices and show them into "
|
147 |
-
"the top admin toolbar. It will not disturb you but will allow to look "
|
148 |
-
"notices at your convenience."
|
149 |
-
msgstr ""
|
150 |
-
"По умолчанию, плагин полностью скрывает отключенные вами уведомления. Если "
|
151 |
-
"включить эту опцию, то плагин будет собирать все скрытые вами уведомления и "
|
152 |
-
"выводить в верхней панели администратора. Это не будет вас раздражать, но и "
|
153 |
-
"позволит просматривать уведомления, когда вам это удобно."
|
154 |
-
|
155 |
-
#: admin/options.php:235
|
156 |
-
msgid "Reset hidden notices for"
|
157 |
-
msgstr "Сброс скрытых уведомлений для"
|
158 |
-
|
159 |
-
#: admin/options.php:238
|
160 |
-
msgid "Push reset hidden notices if you need to show hidden notices again."
|
161 |
-
msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
|
162 |
-
|
163 |
-
#: admin/options.php:249
|
164 |
-
msgid "current user"
|
165 |
-
msgstr "Текущий пользователь"
|
166 |
-
|
167 |
-
#: admin/options.php:253
|
168 |
-
msgid "all users"
|
169 |
-
msgstr "Все пользователи"
|
170 |
-
|
171 |
-
#: admin/options.php:257
|
172 |
-
msgid "Reset notices"
|
173 |
-
msgstr "Сбросить уведомления"
|
174 |
-
|
175 |
-
#: admin/options.php:261 admin/pages/class-pages-settings.php:116
|
176 |
-
msgid "Hidden notices are successfully reset, now you can see them again!"
|
177 |
-
msgstr ""
|
178 |
-
"Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть их!"
|
179 |
-
|
180 |
-
#: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
|
181 |
-
msgid "Undefinded notice id."
|
182 |
-
msgstr "Не передан notice id."
|
183 |
-
|
184 |
-
#: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
|
185 |
-
msgid "You don't have enough capability to edit this information."
|
186 |
-
msgstr "Вы не имеете разрешения на редактирование этого!"
|
187 |
-
|
188 |
-
#: admin/pages/class-pages-edit-admin-bar.php:53
|
189 |
-
msgid "Hide adminbar items"
|
190 |
-
msgstr "Меню админбара"
|
191 |
-
|
192 |
-
#: admin/pages/class-pages-edit-admin-bar.php:54
|
193 |
-
msgid "You can hide an annoying adminbar menu"
|
194 |
-
msgstr "Скрытие пунктов меню админбара"
|
195 |
-
|
196 |
-
#: admin/pages/class-pages-edit-redirects.php:53
|
197 |
-
msgid "Block ad redirects"
|
198 |
-
msgstr "Рекламные редиректы"
|
199 |
-
|
200 |
-
#: admin/pages/class-pages-edit-redirects.php:54
|
201 |
-
msgid "Break advertising redirects"
|
202 |
-
msgstr "Отключение рекламных редиректов"
|
203 |
-
|
204 |
-
#: admin/pages/class-pages-notices.php:51
|
205 |
-
msgid "Hidden notices"
|
206 |
-
msgstr "Скрытые нотисы"
|
207 |
-
|
208 |
-
#: admin/pages/class-pages-notices.php:52
|
209 |
-
msgid "Manage hidden notices"
|
210 |
-
msgstr "Управление скрытыми нотисами"
|
211 |
-
|
212 |
-
#: admin/pages/class-pages-settings.php:73
|
213 |
-
msgid "General settings"
|
214 |
-
msgstr "Основные настройки"
|
215 |
-
|
216 |
-
#: admin/pages/class-pages-settings.php:85
|
217 |
-
msgid "Settings"
|
218 |
-
msgstr "Настройки"
|
219 |
-
|
220 |
-
#: includes/classes/class-configurate-notices.php:81
|
221 |
-
#, php-format
|
222 |
-
msgid "Notifications %s"
|
223 |
-
msgstr "Уведомления %s"
|
224 |
-
|
225 |
-
#: includes/classes/class-configurate-notices.php:92
|
226 |
-
msgid "Hidden for you"
|
227 |
-
msgstr "Скрытые для Вас"
|
228 |
-
|
229 |
-
#: includes/classes/class-configurate-notices.php:289
|
230 |
-
msgid "Hide <b>for me</b>"
|
231 |
-
msgstr "Скрыть для меня"
|
232 |
-
|
233 |
-
#: includes/classes/class-configurate-notices.php:293
|
234 |
-
msgid "Hide <b>for all</b>"
|
235 |
-
msgstr "Скрыть для всех"
|
236 |
-
|
237 |
-
#. Name of the plugin
|
238 |
-
msgid "Disable Admin Notices Individually"
|
239 |
-
msgstr "Disable Admin Notices Individually"
|
240 |
-
|
241 |
-
#. Description of the plugin
|
242 |
-
msgid ""
|
243 |
-
"Disable admin notices plugin gives you the option to hide updates warnings "
|
244 |
-
"and inline notices in the admin panel."
|
245 |
-
msgstr ""
|
246 |
-
"Плагин Disable admin notices дает вам возможность скрыть предупреждения об "
|
247 |
-
"обновлениях и встроенные уведомления в панели администратора."
|
248 |
-
|
249 |
-
#. URI of the plugin
|
250 |
-
#. Author URI of the plugin
|
251 |
-
msgid "https://webcraftic.com"
|
252 |
-
msgstr "https://webcraftic.com"
|
253 |
-
|
254 |
-
#. Author of the plugin
|
255 |
-
msgid "Webcraftic <wordpress.webraftic@gmail.com>"
|
256 |
-
msgstr "Webcraftic <wordpress.webraftic@gmail.com>"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: clearfy\n"
|
4 |
+
"POT-Creation-Date: 2020-08-27 12:50+0000\n"
|
5 |
+
"PO-Revision-Date: 2020-08-27 12:54+0000\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Русский\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: Loco https://localise.biz/\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
15 |
+
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
"X-Poedit-SearchPathExcluded-0: libs\n"
|
20 |
+
"Report-Msgid-Bugs-To: \n"
|
21 |
+
"X-Loco-Version: 2.4.2; wp-5.5"
|
22 |
+
|
23 |
+
#: disable-admin-notices.php:46
|
24 |
+
msgid "Webcraftic disable admin notices"
|
25 |
+
msgstr "Webcraftic отключить уведомления администратора"
|
26 |
+
|
27 |
+
#: admin/boot.php:27
|
28 |
+
msgid "Get ultimate plugin free"
|
29 |
+
msgstr "Получите полную версию плагина бесплатно"
|
30 |
+
|
31 |
+
#: admin/boot.php:82 admin/options.php:66
|
32 |
+
#: admin/pages/class-pages-settings.php:72
|
33 |
+
msgid "Hide admin notices"
|
34 |
+
msgstr "Скрыть уведомления"
|
35 |
+
|
36 |
+
#: admin/boot.php:88 admin/options.php:148
|
37 |
+
msgid "Enable hidden notices in adminbar"
|
38 |
+
msgstr "Включить уведомления в админбаре"
|
39 |
+
|
40 |
+
#: admin/class-page-basic.php:41
|
41 |
+
msgid "Webcraftic Disable Admin Notices"
|
42 |
+
msgstr "Webcraftic Disable Admin Notices"
|
43 |
+
|
44 |
+
#: admin/options.php:33
|
45 |
+
msgid "Admin notifications, Update nags"
|
46 |
+
msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
|
47 |
+
|
48 |
+
#: admin/options.php:33
|
49 |
+
msgid ""
|
50 |
+
"Do you know the situation, when some plugin offers you to update to premium, "
|
51 |
+
"to collect technical data and shows many annoying notices? You are close "
|
52 |
+
"these notices every now and again but they newly appears and interfere your "
|
53 |
+
"work with WordPress. Even worse, some plugin’s authors delete “close” button "
|
54 |
+
"from notices and they shows in your admin panel forever."
|
55 |
+
msgstr ""
|
56 |
+
"Вам знакома ситуация, когда какой-то плагин просит вас обновиться до премиум-"
|
57 |
+
"версии, получить права на сбор данных о вашем сайте и создает много "
|
58 |
+
"раздражающих уведомлений? Вы закрываете эти уведомления раз за разом, но они "
|
59 |
+
"вновь появляются и мешают вашей работе с WordPress. Хуже того, некоторые "
|
60 |
+
"авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и они висят в шапке "
|
61 |
+
"вашей панели администратора целую вечность."
|
62 |
+
|
63 |
+
#: admin/options.php:39
|
64 |
+
msgid "Don't hide"
|
65 |
+
msgstr "Не скрывать"
|
66 |
+
|
67 |
+
#: admin/options.php:40
|
68 |
+
msgid ""
|
69 |
+
"Do not hide notices and do not show “Hide notification forever” link for "
|
70 |
+
"admin."
|
71 |
+
msgstr ""
|
72 |
+
"Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление "
|
73 |
+
"навсегда\" в уведомлениях администратора."
|
74 |
+
|
75 |
+
#: admin/options.php:44
|
76 |
+
msgid "All notices"
|
77 |
+
msgstr "Все уведомления"
|
78 |
+
|
79 |
+
#: admin/options.php:45
|
80 |
+
msgid "Hide all notices globally."
|
81 |
+
msgstr "Скрыть все уведомления глобально."
|
82 |
+
|
83 |
+
#: admin/options.php:45 admin/options.php:50 admin/options.php:58
|
84 |
+
#, php-format
|
85 |
+
msgid ""
|
86 |
+
"Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
|
87 |
+
"works ."
|
88 |
+
msgstr ""
|
89 |
+
"Посмотрите <a href=\"%s\" target=\"_blank\">видео</a> о том, как это "
|
90 |
+
"работает."
|
91 |
+
|
92 |
+
#: admin/options.php:49
|
93 |
+
msgid "Only selected"
|
94 |
+
msgstr "Только выбранные"
|
95 |
+
|
96 |
+
#: admin/options.php:50
|
97 |
+
msgid ""
|
98 |
+
"Hide selected notices only. You will see the link \"Hide notification "
|
99 |
+
"forever\" in each notice. Push it and they will not bother you anymore."
|
100 |
+
msgstr ""
|
101 |
+
"Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
|
102 |
+
"ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление будет "
|
103 |
+
"скрыто навсегда и перестанет вас беспокоить."
|
104 |
+
|
105 |
+
#: admin/options.php:57
|
106 |
+
msgid "Compact panel"
|
107 |
+
msgstr "Компактная панель"
|
108 |
+
|
109 |
+
#: admin/options.php:58
|
110 |
+
msgid ""
|
111 |
+
"Collapse all notifications in one line (panel with notification counters), "
|
112 |
+
"to see the notifications, you will need to click this panel."
|
113 |
+
msgstr ""
|
114 |
+
"Свернуть все уведомления в одну строку (панель со счетчиками уведомлений), "
|
115 |
+
"чтобы увидеть уведомления, вам нужно будет нажать на эту панель."
|
116 |
+
|
117 |
+
#: admin/options.php:69
|
118 |
+
msgid ""
|
119 |
+
"Some plugins shows notifications about premium version, data collecting or "
|
120 |
+
"promote their services. Even if you push close button (that sometimes are "
|
121 |
+
"impossible), notices are shows again in some time. This option allows you to "
|
122 |
+
"control notices. Hide them all or each individually. Some plugins shows "
|
123 |
+
"notifications about premium version, data collecting or promote their "
|
124 |
+
"services. Even if you push close button (that sometimes are impossible), "
|
125 |
+
"notices are shows again in some time. This option allows you to control "
|
126 |
+
"notices. Hide them all or each individually."
|
127 |
+
msgstr ""
|
128 |
+
"Зачастую, плагины отображают уведомления о возможности перехода на премиум "
|
129 |
+
"версию, просят разрешение на сбор данных, рекламируют свои услуги. Даже если "
|
130 |
+
"вы нажмете кнопку закрыть (что не всегда возможно), уведомления всё равно "
|
131 |
+
"отобразятся через какое-то время. С помощью этой настройки, вы можете "
|
132 |
+
"контролировать эти уведомления. Скройте их все сразу или каждое по "
|
133 |
+
"отдельности."
|
134 |
+
|
135 |
+
#: admin/options.php:92 admin/options.php:94
|
136 |
+
msgid "Disable plugins updates nags"
|
137 |
+
msgstr "Отключить уведомления об обновлении плагинов"
|
138 |
+
|
139 |
+
#: admin/options.php:103 admin/options.php:105
|
140 |
+
msgid "Disable core updates nags"
|
141 |
+
msgstr "Отключить уведомления об обновлении Wordpress"
|
142 |
+
|
143 |
+
#: admin/options.php:150
|
144 |
+
msgid ""
|
145 |
+
"By default, the plugin hides all notices, which you specified. If you enable "
|
146 |
+
"this option, the plugin will collect all hidden notices and show them into "
|
147 |
+
"the top admin toolbar. It will not disturb you but will allow to look "
|
148 |
+
"notices at your convenience."
|
149 |
+
msgstr ""
|
150 |
+
"По умолчанию, плагин полностью скрывает отключенные вами уведомления. Если "
|
151 |
+
"включить эту опцию, то плагин будет собирать все скрытые вами уведомления и "
|
152 |
+
"выводить в верхней панели администратора. Это не будет вас раздражать, но и "
|
153 |
+
"позволит просматривать уведомления, когда вам это удобно."
|
154 |
+
|
155 |
+
#: admin/options.php:235
|
156 |
+
msgid "Reset hidden notices for"
|
157 |
+
msgstr "Сброс скрытых уведомлений для"
|
158 |
+
|
159 |
+
#: admin/options.php:238
|
160 |
+
msgid "Push reset hidden notices if you need to show hidden notices again."
|
161 |
+
msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
|
162 |
+
|
163 |
+
#: admin/options.php:249
|
164 |
+
msgid "current user"
|
165 |
+
msgstr "Текущий пользователь"
|
166 |
+
|
167 |
+
#: admin/options.php:253
|
168 |
+
msgid "all users"
|
169 |
+
msgstr "Все пользователи"
|
170 |
+
|
171 |
+
#: admin/options.php:257
|
172 |
+
msgid "Reset notices"
|
173 |
+
msgstr "Сбросить уведомления"
|
174 |
+
|
175 |
+
#: admin/options.php:261 admin/pages/class-pages-settings.php:116
|
176 |
+
msgid "Hidden notices are successfully reset, now you can see them again!"
|
177 |
+
msgstr ""
|
178 |
+
"Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть их!"
|
179 |
+
|
180 |
+
#: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
|
181 |
+
msgid "Undefinded notice id."
|
182 |
+
msgstr "Не передан notice id."
|
183 |
+
|
184 |
+
#: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
|
185 |
+
msgid "You don't have enough capability to edit this information."
|
186 |
+
msgstr "Вы не имеете разрешения на редактирование этого!"
|
187 |
+
|
188 |
+
#: admin/pages/class-pages-edit-admin-bar.php:53
|
189 |
+
msgid "Hide adminbar items"
|
190 |
+
msgstr "Меню админбара"
|
191 |
+
|
192 |
+
#: admin/pages/class-pages-edit-admin-bar.php:54
|
193 |
+
msgid "You can hide an annoying adminbar menu"
|
194 |
+
msgstr "Скрытие пунктов меню админбара"
|
195 |
+
|
196 |
+
#: admin/pages/class-pages-edit-redirects.php:53
|
197 |
+
msgid "Block ad redirects"
|
198 |
+
msgstr "Рекламные редиректы"
|
199 |
+
|
200 |
+
#: admin/pages/class-pages-edit-redirects.php:54
|
201 |
+
msgid "Break advertising redirects"
|
202 |
+
msgstr "Отключение рекламных редиректов"
|
203 |
+
|
204 |
+
#: admin/pages/class-pages-notices.php:51
|
205 |
+
msgid "Hidden notices"
|
206 |
+
msgstr "Скрытые нотисы"
|
207 |
+
|
208 |
+
#: admin/pages/class-pages-notices.php:52
|
209 |
+
msgid "Manage hidden notices"
|
210 |
+
msgstr "Управление скрытыми нотисами"
|
211 |
+
|
212 |
+
#: admin/pages/class-pages-settings.php:73
|
213 |
+
msgid "General settings"
|
214 |
+
msgstr "Основные настройки"
|
215 |
+
|
216 |
+
#: admin/pages/class-pages-settings.php:85
|
217 |
+
msgid "Settings"
|
218 |
+
msgstr "Настройки"
|
219 |
+
|
220 |
+
#: includes/classes/class-configurate-notices.php:81
|
221 |
+
#, php-format
|
222 |
+
msgid "Notifications %s"
|
223 |
+
msgstr "Уведомления %s"
|
224 |
+
|
225 |
+
#: includes/classes/class-configurate-notices.php:92
|
226 |
+
msgid "Hidden for you"
|
227 |
+
msgstr "Скрытые для Вас"
|
228 |
+
|
229 |
+
#: includes/classes/class-configurate-notices.php:289
|
230 |
+
msgid "Hide <b>for me</b>"
|
231 |
+
msgstr "Скрыть для меня"
|
232 |
+
|
233 |
+
#: includes/classes/class-configurate-notices.php:293
|
234 |
+
msgid "Hide <b>for all</b>"
|
235 |
+
msgstr "Скрыть для всех"
|
236 |
+
|
237 |
+
#. Name of the plugin
|
238 |
+
msgid "Disable Admin Notices Individually"
|
239 |
+
msgstr "Disable Admin Notices Individually"
|
240 |
+
|
241 |
+
#. Description of the plugin
|
242 |
+
msgid ""
|
243 |
+
"Disable admin notices plugin gives you the option to hide updates warnings "
|
244 |
+
"and inline notices in the admin panel."
|
245 |
+
msgstr ""
|
246 |
+
"Плагин Disable admin notices дает вам возможность скрыть предупреждения об "
|
247 |
+
"обновлениях и встроенные уведомления в панели администратора."
|
248 |
+
|
249 |
+
#. URI of the plugin
|
250 |
+
#. Author URI of the plugin
|
251 |
+
msgid "https://webcraftic.com"
|
252 |
+
msgstr "https://webcraftic.com"
|
253 |
+
|
254 |
+
#. Author of the plugin
|
255 |
+
msgid "Webcraftic <wordpress.webraftic@gmail.com>"
|
256 |
+
msgstr "Webcraftic <wordpress.webraftic@gmail.com>"
|
languages/disable-admin-notices.pot
CHANGED
@@ -1,223 +1,223 @@
|
|
1 |
-
#, fuzzy
|
2 |
-
msgid ""
|
3 |
-
msgstr ""
|
4 |
-
"Project-Id-Version: Webcraftic Disable Admin Notices Individually\n"
|
5 |
-
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2020-08-27 12:50+0000\n"
|
7 |
-
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
-
"Language-Team: \n"
|
10 |
-
"Language: \n"
|
11 |
-
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
-
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Loco https://localise.biz/\n"
|
16 |
-
"X-Loco-Version: 2.4.2; wp-5.5"
|
17 |
-
|
18 |
-
#: disable-admin-notices.php:46
|
19 |
-
msgid "Webcraftic disable admin notices"
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: admin/boot.php:27
|
23 |
-
msgid "Get ultimate plugin free"
|
24 |
-
msgstr ""
|
25 |
-
|
26 |
-
#: admin/boot.php:82 admin/options.php:66
|
27 |
-
#: admin/pages/class-pages-settings.php:72
|
28 |
-
msgid "Hide admin notices"
|
29 |
-
msgstr ""
|
30 |
-
|
31 |
-
#: admin/boot.php:88 admin/options.php:148
|
32 |
-
msgid "Enable hidden notices in adminbar"
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: admin/class-page-basic.php:41
|
36 |
-
msgid "Webcraftic Disable Admin Notices"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: admin/options.php:33
|
40 |
-
msgid "Admin notifications, Update nags"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: admin/options.php:33
|
44 |
-
msgid ""
|
45 |
-
"Do you know the situation, when some plugin offers you to update to premium, "
|
46 |
-
"to collect technical data and shows many annoying notices? You are close "
|
47 |
-
"these notices every now and again but they newly appears and interfere your "
|
48 |
-
"work with WordPress. Even worse, some plugin’s authors delete “close” button "
|
49 |
-
"from notices and they shows in your admin panel forever."
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: admin/options.php:39
|
53 |
-
msgid "Don't hide"
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: admin/options.php:40
|
57 |
-
msgid ""
|
58 |
-
"Do not hide notices and do not show “Hide notification forever” link for "
|
59 |
-
"admin."
|
60 |
-
msgstr ""
|
61 |
-
|
62 |
-
#: admin/options.php:44
|
63 |
-
msgid "All notices"
|
64 |
-
msgstr ""
|
65 |
-
|
66 |
-
#: admin/options.php:45
|
67 |
-
msgid "Hide all notices globally."
|
68 |
-
msgstr ""
|
69 |
-
|
70 |
-
#: admin/options.php:45 admin/options.php:50 admin/options.php:58
|
71 |
-
#, php-format
|
72 |
-
msgid ""
|
73 |
-
"Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
|
74 |
-
"works ."
|
75 |
-
msgstr ""
|
76 |
-
|
77 |
-
#: admin/options.php:49
|
78 |
-
msgid "Only selected"
|
79 |
-
msgstr ""
|
80 |
-
|
81 |
-
#: admin/options.php:50
|
82 |
-
msgid ""
|
83 |
-
"Hide selected notices only. You will see the link \"Hide notification "
|
84 |
-
"forever\" in each notice. Push it and they will not bother you anymore."
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: admin/options.php:57
|
88 |
-
msgid "Compact panel"
|
89 |
-
msgstr ""
|
90 |
-
|
91 |
-
#: admin/options.php:58
|
92 |
-
msgid ""
|
93 |
-
"Collapse all notifications in one line (panel with notification counters), "
|
94 |
-
"to see the notifications, you will need to click this panel."
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: admin/options.php:69
|
98 |
-
msgid ""
|
99 |
-
"Some plugins shows notifications about premium version, data collecting or "
|
100 |
-
"promote their services. Even if you push close button (that sometimes are "
|
101 |
-
"impossible), notices are shows again in some time. This option allows you to "
|
102 |
-
"control notices. Hide them all or each individually. Some plugins shows "
|
103 |
-
"notifications about premium version, data collecting or promote their "
|
104 |
-
"services. Even if you push close button (that sometimes are impossible), "
|
105 |
-
"notices are shows again in some time. This option allows you to control "
|
106 |
-
"notices. Hide them all or each individually."
|
107 |
-
msgstr ""
|
108 |
-
|
109 |
-
#: admin/options.php:92 admin/options.php:94
|
110 |
-
msgid "Disable plugins updates nags"
|
111 |
-
msgstr ""
|
112 |
-
|
113 |
-
#: admin/options.php:103 admin/options.php:105
|
114 |
-
msgid "Disable core updates nags"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: admin/options.php:150
|
118 |
-
msgid ""
|
119 |
-
"By default, the plugin hides all notices, which you specified. If you enable "
|
120 |
-
"this option, the plugin will collect all hidden notices and show them into "
|
121 |
-
"the top admin toolbar. It will not disturb you but will allow to look "
|
122 |
-
"notices at your convenience."
|
123 |
-
msgstr ""
|
124 |
-
|
125 |
-
#: admin/options.php:235
|
126 |
-
msgid "Reset hidden notices for"
|
127 |
-
msgstr ""
|
128 |
-
|
129 |
-
#: admin/options.php:238
|
130 |
-
msgid "Push reset hidden notices if you need to show hidden notices again."
|
131 |
-
msgstr ""
|
132 |
-
|
133 |
-
#: admin/options.php:249
|
134 |
-
msgid "current user"
|
135 |
-
msgstr ""
|
136 |
-
|
137 |
-
#: admin/options.php:253
|
138 |
-
msgid "all users"
|
139 |
-
msgstr ""
|
140 |
-
|
141 |
-
#: admin/options.php:257
|
142 |
-
msgid "Reset notices"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: admin/options.php:261 admin/pages/class-pages-settings.php:116
|
146 |
-
msgid "Hidden notices are successfully reset, now you can see them again!"
|
147 |
-
msgstr ""
|
148 |
-
|
149 |
-
#: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
|
150 |
-
msgid "Undefinded notice id."
|
151 |
-
msgstr ""
|
152 |
-
|
153 |
-
#: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
|
154 |
-
msgid "You don't have enough capability to edit this information."
|
155 |
-
msgstr ""
|
156 |
-
|
157 |
-
#: admin/pages/class-pages-edit-admin-bar.php:53
|
158 |
-
msgid "Hide adminbar items"
|
159 |
-
msgstr ""
|
160 |
-
|
161 |
-
#: admin/pages/class-pages-edit-admin-bar.php:54
|
162 |
-
msgid "You can hide an annoying adminbar menu"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: admin/pages/class-pages-edit-redirects.php:53
|
166 |
-
msgid "Block ad redirects"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: admin/pages/class-pages-edit-redirects.php:54
|
170 |
-
msgid "Break advertising redirects"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: admin/pages/class-pages-notices.php:51
|
174 |
-
msgid "Hidden notices"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: admin/pages/class-pages-notices.php:52
|
178 |
-
msgid "Manage hidden notices"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: admin/pages/class-pages-settings.php:73
|
182 |
-
msgid "General settings"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: admin/pages/class-pages-settings.php:85
|
186 |
-
msgid "Settings"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/classes/class-configurate-notices.php:81
|
190 |
-
#, php-format
|
191 |
-
msgid "Notifications %s"
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: includes/classes/class-configurate-notices.php:92
|
195 |
-
msgid "Hidden for you"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: includes/classes/class-configurate-notices.php:289
|
199 |
-
msgid "Hide <b>for me</b>"
|
200 |
-
msgstr ""
|
201 |
-
|
202 |
-
#: includes/classes/class-configurate-notices.php:293
|
203 |
-
msgid "Hide <b>for all</b>"
|
204 |
-
msgstr ""
|
205 |
-
|
206 |
-
#. Name of the plugin
|
207 |
-
msgid "Disable Admin Notices Individually"
|
208 |
-
msgstr ""
|
209 |
-
|
210 |
-
#. Description of the plugin
|
211 |
-
msgid ""
|
212 |
-
"Disable admin notices plugin gives you the option to hide updates warnings "
|
213 |
-
"and inline notices in the admin panel."
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#. URI of the plugin
|
217 |
-
#. Author URI of the plugin
|
218 |
-
msgid "https://webcraftic.com"
|
219 |
-
msgstr ""
|
220 |
-
|
221 |
-
#. Author of the plugin
|
222 |
-
msgid "Webcraftic <wordpress.webraftic@gmail.com>"
|
223 |
-
msgstr ""
|
1 |
+
#, fuzzy
|
2 |
+
msgid ""
|
3 |
+
msgstr ""
|
4 |
+
"Project-Id-Version: Webcraftic Disable Admin Notices Individually\n"
|
5 |
+
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2020-08-27 12:50+0000\n"
|
7 |
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
+
"Language-Team: \n"
|
10 |
+
"Language: \n"
|
11 |
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Loco https://localise.biz/\n"
|
16 |
+
"X-Loco-Version: 2.4.2; wp-5.5"
|
17 |
+
|
18 |
+
#: disable-admin-notices.php:46
|
19 |
+
msgid "Webcraftic disable admin notices"
|
20 |
+
msgstr ""
|
21 |
+
|
22 |
+
#: admin/boot.php:27
|
23 |
+
msgid "Get ultimate plugin free"
|
24 |
+
msgstr ""
|
25 |
+
|
26 |
+
#: admin/boot.php:82 admin/options.php:66
|
27 |
+
#: admin/pages/class-pages-settings.php:72
|
28 |
+
msgid "Hide admin notices"
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: admin/boot.php:88 admin/options.php:148
|
32 |
+
msgid "Enable hidden notices in adminbar"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: admin/class-page-basic.php:41
|
36 |
+
msgid "Webcraftic Disable Admin Notices"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: admin/options.php:33
|
40 |
+
msgid "Admin notifications, Update nags"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: admin/options.php:33
|
44 |
+
msgid ""
|
45 |
+
"Do you know the situation, when some plugin offers you to update to premium, "
|
46 |
+
"to collect technical data and shows many annoying notices? You are close "
|
47 |
+
"these notices every now and again but they newly appears and interfere your "
|
48 |
+
"work with WordPress. Even worse, some plugin’s authors delete “close” button "
|
49 |
+
"from notices and they shows in your admin panel forever."
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: admin/options.php:39
|
53 |
+
msgid "Don't hide"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: admin/options.php:40
|
57 |
+
msgid ""
|
58 |
+
"Do not hide notices and do not show “Hide notification forever” link for "
|
59 |
+
"admin."
|
60 |
+
msgstr ""
|
61 |
+
|
62 |
+
#: admin/options.php:44
|
63 |
+
msgid "All notices"
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: admin/options.php:45
|
67 |
+
msgid "Hide all notices globally."
|
68 |
+
msgstr ""
|
69 |
+
|
70 |
+
#: admin/options.php:45 admin/options.php:50 admin/options.php:58
|
71 |
+
#, php-format
|
72 |
+
msgid ""
|
73 |
+
"Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
|
74 |
+
"works ."
|
75 |
+
msgstr ""
|
76 |
+
|
77 |
+
#: admin/options.php:49
|
78 |
+
msgid "Only selected"
|
79 |
+
msgstr ""
|
80 |
+
|
81 |
+
#: admin/options.php:50
|
82 |
+
msgid ""
|
83 |
+
"Hide selected notices only. You will see the link \"Hide notification "
|
84 |
+
"forever\" in each notice. Push it and they will not bother you anymore."
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
#: admin/options.php:57
|
88 |
+
msgid "Compact panel"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
#: admin/options.php:58
|
92 |
+
msgid ""
|
93 |
+
"Collapse all notifications in one line (panel with notification counters), "
|
94 |
+
"to see the notifications, you will need to click this panel."
|
95 |
+
msgstr ""
|
96 |
+
|
97 |
+
#: admin/options.php:69
|
98 |
+
msgid ""
|
99 |
+
"Some plugins shows notifications about premium version, data collecting or "
|
100 |
+
"promote their services. Even if you push close button (that sometimes are "
|
101 |
+
"impossible), notices are shows again in some time. This option allows you to "
|
102 |
+
"control notices. Hide them all or each individually. Some plugins shows "
|
103 |
+
"notifications about premium version, data collecting or promote their "
|
104 |
+
"services. Even if you push close button (that sometimes are impossible), "
|
105 |
+
"notices are shows again in some time. This option allows you to control "
|
106 |
+
"notices. Hide them all or each individually."
|
107 |
+
msgstr ""
|
108 |
+
|
109 |
+
#: admin/options.php:92 admin/options.php:94
|
110 |
+
msgid "Disable plugins updates nags"
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
+
#: admin/options.php:103 admin/options.php:105
|
114 |
+
msgid "Disable core updates nags"
|
115 |
+
msgstr ""
|
116 |
+
|
117 |
+
#: admin/options.php:150
|
118 |
+
msgid ""
|
119 |
+
"By default, the plugin hides all notices, which you specified. If you enable "
|
120 |
+
"this option, the plugin will collect all hidden notices and show them into "
|
121 |
+
"the top admin toolbar. It will not disturb you but will allow to look "
|
122 |
+
"notices at your convenience."
|
123 |
+
msgstr ""
|
124 |
+
|
125 |
+
#: admin/options.php:235
|
126 |
+
msgid "Reset hidden notices for"
|
127 |
+
msgstr ""
|
128 |
+
|
129 |
+
#: admin/options.php:238
|
130 |
+
msgid "Push reset hidden notices if you need to show hidden notices again."
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: admin/options.php:249
|
134 |
+
msgid "current user"
|
135 |
+
msgstr ""
|
136 |
+
|
137 |
+
#: admin/options.php:253
|
138 |
+
msgid "all users"
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: admin/options.php:257
|
142 |
+
msgid "Reset notices"
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: admin/options.php:261 admin/pages/class-pages-settings.php:116
|
146 |
+
msgid "Hidden notices are successfully reset, now you can see them again!"
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
|
150 |
+
msgid "Undefinded notice id."
|
151 |
+
msgstr ""
|
152 |
+
|
153 |
+
#: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
|
154 |
+
msgid "You don't have enough capability to edit this information."
|
155 |
+
msgstr ""
|
156 |
+
|
157 |
+
#: admin/pages/class-pages-edit-admin-bar.php:53
|
158 |
+
msgid "Hide adminbar items"
|
159 |
+
msgstr ""
|
160 |
+
|
161 |
+
#: admin/pages/class-pages-edit-admin-bar.php:54
|
162 |
+
msgid "You can hide an annoying adminbar menu"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: admin/pages/class-pages-edit-redirects.php:53
|
166 |
+
msgid "Block ad redirects"
|
167 |
+
msgstr ""
|
168 |
+
|
169 |
+
#: admin/pages/class-pages-edit-redirects.php:54
|
170 |
+
msgid "Break advertising redirects"
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#: admin/pages/class-pages-notices.php:51
|
174 |
+
msgid "Hidden notices"
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
#: admin/pages/class-pages-notices.php:52
|
178 |
+
msgid "Manage hidden notices"
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: admin/pages/class-pages-settings.php:73
|
182 |
+
msgid "General settings"
|
183 |
+
msgstr ""
|
184 |
+
|
185 |
+
#: admin/pages/class-pages-settings.php:85
|
186 |
+
msgid "Settings"
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
#: includes/classes/class-configurate-notices.php:81
|
190 |
+
#, php-format
|
191 |
+
msgid "Notifications %s"
|
192 |
+
msgstr ""
|
193 |
+
|
194 |
+
#: includes/classes/class-configurate-notices.php:92
|
195 |
+
msgid "Hidden for you"
|
196 |
+
msgstr ""
|
197 |
+
|
198 |
+
#: includes/classes/class-configurate-notices.php:289
|
199 |
+
msgid "Hide <b>for me</b>"
|
200 |
+
msgstr ""
|
201 |
+
|
202 |
+
#: includes/classes/class-configurate-notices.php:293
|
203 |
+
msgid "Hide <b>for all</b>"
|
204 |
+
msgstr ""
|
205 |
+
|
206 |
+
#. Name of the plugin
|
207 |
+
msgid "Disable Admin Notices Individually"
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
#. Description of the plugin
|
211 |
+
msgid ""
|
212 |
+
"Disable admin notices plugin gives you the option to hide updates warnings "
|
213 |
+
"and inline notices in the admin panel."
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#. URI of the plugin
|
217 |
+
#. Author URI of the plugin
|
218 |
+
msgid "https://webcraftic.com"
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#. Author of the plugin
|
222 |
+
msgid "Webcraftic <wordpress.webraftic@gmail.com>"
|
223 |
+
msgstr ""
|
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_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_111-ru_RU.mo → wbcr_factory_adverts_117-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/adverts/langs/{wbcr_factory_adverts_111-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-433 article,.factory-bootstrap-433 aside,.factory-bootstrap-433 details,.factory-bootstrap-433 figcaption,.factory-bootstrap-433 figure,.factory-bootstrap-433 footer,.factory-bootstrap-433 header,.factory-bootstrap-433 hgroup,.factory-bootstrap-433 main,.factory-bootstrap-433 nav,.factory-bootstrap-433 section,.factory-bootstrap-433 summary{display:block}.factory-bootstrap-433 audio,.factory-bootstrap-433 canvas,.factory-bootstrap-433 video{display:inline-block}.factory-bootstrap-433 audio:not([controls]){display:none;height:0}.factory-bootstrap-433 [hidden],.factory-bootstrap-433 template{display:none}.factory-bootstrap-433 body{margin:0}.factory-bootstrap-433 a{background:0 0}.factory-bootstrap-433 a:focus{outline:thin dotted}.factory-bootstrap-433 a:active,.factory-bootstrap-433 a:hover{outline:0}.factory-bootstrap-433 h1{margin:.67em 0}.factory-bootstrap-433 b,.factory-bootstrap-433 strong{font-weight:700}.factory-bootstrap-433 dfn{font-style:italic}.factory-bootstrap-433 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-433 mark{color:#000;background:#ff0}.factory-bootstrap-433 code,.factory-bootstrap-433 kbd,.factory-bootstrap-433 pre,.factory-bootstrap-433 samp{font-size:1em}.factory-bootstrap-433 pre{white-space:pre-wrap}.factory-bootstrap-433 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-433 sub,.factory-bootstrap-433 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-433 sup{top:-.5em}.factory-bootstrap-433 sub{bottom:-.25em}.factory-bootstrap-433 img{border:0}.factory-bootstrap-433 svg:not(:root){overflow:hidden}.factory-bootstrap-433 figure{margin:0}.factory-bootstrap-433 button,.factory-bootstrap-433 input,.factory-bootstrap-433 select,.factory-bootstrap-433 textarea{margin:0}.factory-bootstrap-433 button,.factory-bootstrap-433 select{text-transform:none}.factory-bootstrap-433 select{padding-right:4px!important}.factory-bootstrap-433 button,.factory-bootstrap-433 input[type=reset],.factory-bootstrap-433 input[type=submit],html .factory-bootstrap-433 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-433 button[disabled],html .factory-bootstrap-433 input[disabled]{cursor:default}.factory-bootstrap-433 input[type=checkbox],.factory-bootstrap-433 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-433 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-433 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-433 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-433 button::-moz-focus-inner,.factory-bootstrap-433 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-433 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-433 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-433 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-433 a,.factory-bootstrap-433 a:visited{text-decoration:underline}.factory-bootstrap-433 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-433 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-433 a[href^="javascript:"]:after,.factory-bootstrap-433 a[href^="#"]:after{content:""}.factory-bootstrap-433 blockquote,.factory-bootstrap-433 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-433 thead{display:table-header-group}.factory-bootstrap-433 img,.factory-bootstrap-433 tr{page-break-inside:avoid}.factory-bootstrap-433 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-433 h2,.factory-bootstrap-433 h3,.factory-bootstrap-433 p{orphans:3;widows:3}.factory-bootstrap-433 h2,.factory-bootstrap-433 h3{page-break-after:avoid}.factory-bootstrap-433 select{background:#fff!important}.factory-bootstrap-433 .navbar{display:none}.factory-bootstrap-433 .table td,.factory-bootstrap-433 .table th{background-color:#fff!important}.factory-bootstrap-433 .btn>.caret,.factory-bootstrap-433 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-433 .label{border:1px solid #000}.factory-bootstrap-433 .table{border-collapse:collapse!important}.factory-bootstrap-433 .table-bordered td,.factory-bootstrap-433 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-433 *,.factory-bootstrap-433 :after,.factory-bootstrap-433 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-433{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-433 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-433 button,.factory-bootstrap-433 input,.factory-bootstrap-433 select,.factory-bootstrap-433 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-433 img{vertical-align:middle}.factory-bootstrap-433 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-433 .img-rounded{border-radius:6px}.factory-bootstrap-433 .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-433 .img-circle{border-radius:50%}.factory-bootstrap-433 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-433 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-433 .h1,.factory-bootstrap-433 .h2,.factory-bootstrap-433 .h3,.factory-bootstrap-433 .h4,.factory-bootstrap-433 .h5,.factory-bootstrap-433 .h6,.factory-bootstrap-433 h1,.factory-bootstrap-433 h2,.factory-bootstrap-433 h3,.factory-bootstrap-433 h4,.factory-bootstrap-433 h5,.factory-bootstrap-433 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-433 .h1 .small,.factory-bootstrap-433 .h1 small,.factory-bootstrap-433 .h2 .small,.factory-bootstrap-433 .h2 small,.factory-bootstrap-433 .h3 .small,.factory-bootstrap-433 .h3 small,.factory-bootstrap-433 .h4 .small,.factory-bootstrap-433 .h4 small,.factory-bootstrap-433 .h5 .small,.factory-bootstrap-433 .h5 small,.factory-bootstrap-433 .h6 .small,.factory-bootstrap-433 .h6 small,.factory-bootstrap-433 h1 .small,.factory-bootstrap-433 h1 small,.factory-bootstrap-433 h2 .small,.factory-bootstrap-433 h2 small,.factory-bootstrap-433 h3 .small,.factory-bootstrap-433 h3 small,.factory-bootstrap-433 h4 .small,.factory-bootstrap-433 h4 small,.factory-bootstrap-433 h5 .small,.factory-bootstrap-433 h5 small,.factory-bootstrap-433 h6 .small,.factory-bootstrap-433 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-433 h1,.factory-bootstrap-433 h2,.factory-bootstrap-433 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-433 h1 .small,.factory-bootstrap-433 h1 small,.factory-bootstrap-433 h2 .small,.factory-bootstrap-433 h2 small,.factory-bootstrap-433 h3 .small,.factory-bootstrap-433 h3 small{font-size:65%}.factory-bootstrap-433 h4,.factory-bootstrap-433 h5,.factory-bootstrap-433 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-433 h4 .small,.factory-bootstrap-433 h4 small,.factory-bootstrap-433 h5 .small,.factory-bootstrap-433 h5 small,.factory-bootstrap-433 h6 .small,.factory-bootstrap-433 h6 small{font-size:75%}.factory-bootstrap-433 .h1,.factory-bootstrap-433 h1{font-size:36px}.factory-bootstrap-433 .h2,.factory-bootstrap-433 h2{font-size:30px}.factory-bootstrap-433 .h3,.factory-bootstrap-433 h3{font-size:24px}.factory-bootstrap-433 .h4,.factory-bootstrap-433 h4{font-size:18px}.factory-bootstrap-433 .h5,.factory-bootstrap-433 h5{font-size:14px}.factory-bootstrap-433 .h6,.factory-bootstrap-433 h6{font-size:12px}.factory-bootstrap-433 p{margin:0 0 10px}.factory-bootstrap-433 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-433 .small,.factory-bootstrap-433 small{font-size:85%}.factory-bootstrap-433 cite{font-style:normal}.factory-bootstrap-433 .text-muted{color:#999}.factory-bootstrap-433 .text-primary{color:#428bca}.factory-bootstrap-433 .text-primary:hover{color:#3071a9}.factory-bootstrap-433 .text-warning{color:#8a6d3b}.factory-bootstrap-433 .text-warning:hover{color:#66512c}.factory-bootstrap-433 .text-danger{color:#a94442}.factory-bootstrap-433 .text-danger:hover{color:#843534}.factory-bootstrap-433 .text-success{color:#3c763d}.factory-bootstrap-433 .text-success:hover{color:#2b542c}.factory-bootstrap-433 .text-info{color:#31708f}.factory-bootstrap-433 .text-info:hover{color:#245269}.factory-bootstrap-433 .text-left{text-align:left}.factory-bootstrap-433 .text-right{text-align:right}.factory-bootstrap-433 .text-center{text-align:center}.factory-bootstrap-433 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-433 ol,.factory-bootstrap-433 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-433 ol ol,.factory-bootstrap-433 ol ul,.factory-bootstrap-433 ul ol,.factory-bootstrap-433 ul ul{margin-bottom:0}.factory-bootstrap-433 .list-inline,.factory-bootstrap-433 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-433 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-433 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-433 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-433 dd,.factory-bootstrap-433 dt{line-height:1.428571429}.factory-bootstrap-433 dt{font-weight:700}.factory-bootstrap-433 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-433 abbr[data-original-title],.factory-bootstrap-433 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-433 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-433 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-433 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-433 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-433 blockquote .small,.factory-bootstrap-433 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-433 blockquote .small:before,.factory-bootstrap-433 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-433 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-433 blockquote.pull-right .small,.factory-bootstrap-433 blockquote.pull-right p,.factory-bootstrap-433 blockquote.pull-right small{text-align:right}.factory-bootstrap-433 blockquote.pull-right .small:before,.factory-bootstrap-433 blockquote.pull-right small:before{content:''}.factory-bootstrap-433 blockquote.pull-right .small:after,.factory-bootstrap-433 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-433 blockquote:after,.factory-bootstrap-433 blockquote:before{content:""}.factory-bootstrap-433 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-433 code,.factory-bootstrap-433 kbd,.factory-bootstrap-433 pre,.factory-bootstrap-433 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-433 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-433 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-433 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-433 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-433 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-433 .container:after,.factory-bootstrap-433 .container:before{display:table;content:" "}.factory-bootstrap-433 .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-433 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-433 .row:after,.factory-bootstrap-433 .row:before{display:table;content:" "}.factory-bootstrap-433 .row:after{clear:both}.factory-bootstrap-433 .col-lg-1,.factory-bootstrap-433 .col-lg-10,.factory-bootstrap-433 .col-lg-11,.factory-bootstrap-433 .col-lg-12,.factory-bootstrap-433 .col-lg-2,.factory-bootstrap-433 .col-lg-3,.factory-bootstrap-433 .col-lg-4,.factory-bootstrap-433 .col-lg-5,.factory-bootstrap-433 .col-lg-6,.factory-bootstrap-433 .col-lg-7,.factory-bootstrap-433 .col-lg-8,.factory-bootstrap-433 .col-lg-9,.factory-bootstrap-433 .col-md-1,.factory-bootstrap-433 .col-md-10,.factory-bootstrap-433 .col-md-11,.factory-bootstrap-433 .col-md-12,.factory-bootstrap-433 .col-md-2,.factory-bootstrap-433 .col-md-3,.factory-bootstrap-433 .col-md-4,.factory-bootstrap-433 .col-md-5,.factory-bootstrap-433 .col-md-6,.factory-bootstrap-433 .col-md-7,.factory-bootstrap-433 .col-md-8,.factory-bootstrap-433 .col-md-9,.factory-bootstrap-433 .col-sm-1,.factory-bootstrap-433 .col-sm-10,.factory-bootstrap-433 .col-sm-11,.factory-bootstrap-433 .col-sm-12,.factory-bootstrap-433 .col-sm-2,.factory-bootstrap-433 .col-sm-3,.factory-bootstrap-433 .col-sm-4,.factory-bootstrap-433 .col-sm-5,.factory-bootstrap-433 .col-sm-6,.factory-bootstrap-433 .col-sm-7,.factory-bootstrap-433 .col-sm-8,.factory-bootstrap-433 .col-sm-9,.factory-bootstrap-433 .col-xs-1,.factory-bootstrap-433 .col-xs-10,.factory-bootstrap-433 .col-xs-11,.factory-bootstrap-433 .col-xs-12,.factory-bootstrap-433 .col-xs-2,.factory-bootstrap-433 .col-xs-3,.factory-bootstrap-433 .col-xs-4,.factory-bootstrap-433 .col-xs-5,.factory-bootstrap-433 .col-xs-6,.factory-bootstrap-433 .col-xs-7,.factory-bootstrap-433 .col-xs-8,.factory-bootstrap-433 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-433 .col-xs-1,.factory-bootstrap-433 .col-xs-10,.factory-bootstrap-433 .col-xs-11,.factory-bootstrap-433 .col-xs-12,.factory-bootstrap-433 .col-xs-2,.factory-bootstrap-433 .col-xs-3,.factory-bootstrap-433 .col-xs-4,.factory-bootstrap-433 .col-xs-5,.factory-bootstrap-433 .col-xs-6,.factory-bootstrap-433 .col-xs-7,.factory-bootstrap-433 .col-xs-8,.factory-bootstrap-433 .col-xs-9{float:left}.factory-bootstrap-433 .col-xs-12{width:100%}.factory-bootstrap-433 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-433 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-433 .col-xs-9{width:75%}.factory-bootstrap-433 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-433 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-433 .col-xs-6{width:50%}.factory-bootstrap-433 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-433 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-433 .col-xs-3{width:25%}.factory-bootstrap-433 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-433 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-433 .col-xs-pull-12{right:100%}.factory-bootstrap-433 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-433 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-433 .col-xs-pull-9{right:75%}.factory-bootstrap-433 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-433 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-433 .col-xs-pull-6{right:50%}.factory-bootstrap-433 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-433 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-433 .col-xs-pull-3{right:25%}.factory-bootstrap-433 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-433 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-433 .col-xs-pull-0{right:0}.factory-bootstrap-433 .col-xs-push-12{left:100%}.factory-bootstrap-433 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-433 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-433 .col-xs-push-9{left:75%}.factory-bootstrap-433 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-433 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-433 .col-xs-push-6{left:50%}.factory-bootstrap-433 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-433 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-433 .col-xs-push-3{left:25%}.factory-bootstrap-433 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-433 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-433 .col-xs-push-0{left:0}.factory-bootstrap-433 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-433 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-433 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-433 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-433 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-433 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-433 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-433 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-433 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-433 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-433 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-433 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-433 .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-433 table{max-width:100%;background-color:transparent}.factory-bootstrap-433 th{text-align:left}.factory-bootstrap-433 .table{width:100%;margin-bottom:20px}.factory-bootstrap-433 .table>tbody>tr>td,.factory-bootstrap-433 .table>tbody>tr>th,.factory-bootstrap-433 .table>tfoot>tr>td,.factory-bootstrap-433 .table>tfoot>tr>th,.factory-bootstrap-433 .table>thead>tr>td,.factory-bootstrap-433 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-433 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-433 .table>caption+thead>tr:first-child>td,.factory-bootstrap-433 .table>caption+thead>tr:first-child>th,.factory-bootstrap-433 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-433 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-433 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-433 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-433 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-433 .table .table{background-color:#fff}.factory-bootstrap-433 .table-condensed>tbody>tr>td,.factory-bootstrap-433 .table-condensed>tbody>tr>th,.factory-bootstrap-433 .table-condensed>tfoot>tr>td,.factory-bootstrap-433 .table-condensed>tfoot>tr>th,.factory-bootstrap-433 .table-condensed>thead>tr>td,.factory-bootstrap-433 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-433 .table-bordered,.factory-bootstrap-433 .table-bordered>tbody>tr>td,.factory-bootstrap-433 .table-bordered>tbody>tr>th,.factory-bootstrap-433 .table-bordered>tfoot>tr>td,.factory-bootstrap-433 .table-bordered>tfoot>tr>th,.factory-bootstrap-433 .table-bordered>thead>tr>td,.factory-bootstrap-433 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-433 .table-bordered>thead>tr>td,.factory-bootstrap-433 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-433 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-433 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-433 .table-hover>tbody>tr:hover>td,.factory-bootstrap-433 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-433 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-433 table td[class*=col-],.factory-bootstrap-433 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-433 .table>tbody>.active>td,.factory-bootstrap-433 .table>tbody>.active>th,.factory-bootstrap-433 .table>tbody>tr>.active,.factory-bootstrap-433 .table>tfoot>.active>td,.factory-bootstrap-433 .table>tfoot>.active>th,.factory-bootstrap-433 .table>tfoot>tr>.active,.factory-bootstrap-433 .table>thead>.active>td,.factory-bootstrap-433 .table>thead>.active>th,.factory-bootstrap-433 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-433 .table-hover>tbody>.active:hover>td,.factory-bootstrap-433 .table-hover>tbody>.active:hover>th,.factory-bootstrap-433 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-433 .table>tbody>.success>td,.factory-bootstrap-433 .table>tbody>.success>th,.factory-bootstrap-433 .table>tbody>tr>.success,.factory-bootstrap-433 .table>tfoot>.success>td,.factory-bootstrap-433 .table>tfoot>.success>th,.factory-bootstrap-433 .table>tfoot>tr>.success,.factory-bootstrap-433 .table>thead>.success>td,.factory-bootstrap-433 .table>thead>.success>th,.factory-bootstrap-433 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-433 .table-hover>tbody>.success:hover>td,.factory-bootstrap-433 .table-hover>tbody>.success:hover>th,.factory-bootstrap-433 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-433 .table>tbody>.danger>td,.factory-bootstrap-433 .table>tbody>.danger>th,.factory-bootstrap-433 .table>tbody>tr>.danger,.factory-bootstrap-433 .table>tfoot>.danger>td,.factory-bootstrap-433 .table>tfoot>.danger>th,.factory-bootstrap-433 .table>tfoot>tr>.danger,.factory-bootstrap-433 .table>thead>.danger>td,.factory-bootstrap-433 .table>thead>.danger>th,.factory-bootstrap-433 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-433 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-433 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-433 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-433 .table>tbody>.warning>td,.factory-bootstrap-433 .table>tbody>.warning>th,.factory-bootstrap-433 .table>tbody>tr>.warning,.factory-bootstrap-433 .table>tfoot>.warning>td,.factory-bootstrap-433 .table>tfoot>.warning>th,.factory-bootstrap-433 .table>tfoot>tr>.warning,.factory-bootstrap-433 .table>thead>.warning>td,.factory-bootstrap-433 .table>thead>.warning>th,.factory-bootstrap-433 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-433 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-433 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-433 .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-433 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-433 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-433 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-433 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-433 input[type=checkbox],.factory-bootstrap-433 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-433 input[type=file]{display:block}.factory-bootstrap-433 select[multiple],.factory-bootstrap-433 select[size]{height:auto}.factory-bootstrap-433 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-433 input[type=checkbox]:focus,.factory-bootstrap-433 input[type=file]:focus,.factory-bootstrap-433 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-433 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-433 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-433 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-433 .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-433 .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-433 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-433 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-433 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-433 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-433 .form-control[disabled],.factory-bootstrap-433 .form-control[readonly],.factory-bootstrap-433 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-433 textarea.form-control{height:auto}.factory-bootstrap-433 .form-group{margin-bottom:15px}.factory-bootstrap-433 .checkbox,.factory-bootstrap-433 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-433 .checkbox label,.factory-bootstrap-433 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-433 .checkbox input[type=checkbox],.factory-bootstrap-433 .checkbox-inline input[type=checkbox],.factory-bootstrap-433 .radio input[type=radio],.factory-bootstrap-433 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-433 .checkbox+.checkbox,.factory-bootstrap-433 .radio+.radio{margin-top:-5px}.factory-bootstrap-433 .checkbox-inline,.factory-bootstrap-433 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-433 .checkbox-inline+.checkbox-inline,.factory-bootstrap-433 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-433 .checkbox-inline[disabled],.factory-bootstrap-433 .checkbox[disabled],.factory-bootstrap-433 .radio-inline[disabled],.factory-bootstrap-433 .radio[disabled],.factory-bootstrap-433 fieldset[disabled] .checkbox,.factory-bootstrap-433 fieldset[disabled] .checkbox-inline,.factory-bootstrap-433 fieldset[disabled] .radio,.factory-bootstrap-433 fieldset[disabled] .radio-inline,.factory-bootstrap-433 fieldset[disabled] input[type=checkbox],.factory-bootstrap-433 fieldset[disabled] input[type=radio],.factory-bootstrap-433 input[type=checkbox][disabled],.factory-bootstrap-433 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-433 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-433 textarea.input-sm{height:auto}.factory-bootstrap-433 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-433 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-433 textarea.input-lg{height:auto}.factory-bootstrap-433 .has-warning .checkbox,.factory-bootstrap-433 .has-warning .checkbox-inline,.factory-bootstrap-433 .has-warning .control-label,.factory-bootstrap-433 .has-warning .help-block,.factory-bootstrap-433 .has-warning .radio,.factory-bootstrap-433 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-433 .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-433 .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-433 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-433 .has-error .checkbox,.factory-bootstrap-433 .has-error .checkbox-inline,.factory-bootstrap-433 .has-error .control-label,.factory-bootstrap-433 .has-error .help-block,.factory-bootstrap-433 .has-error .radio,.factory-bootstrap-433 .has-error .radio-inline{color:#a94442}.factory-bootstrap-433 .controls{display:block}.factory-bootstrap-433 .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-433 .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-433 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-433 .has-success .checkbox,.factory-bootstrap-433 .has-success .checkbox-inline,.factory-bootstrap-433 .has-success .control-label,.factory-bootstrap-433 .has-success .help-block,.factory-bootstrap-433 .has-success .radio,.factory-bootstrap-433 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-433 .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-433 .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-433 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-433 .form-control-static{margin-bottom:0}.factory-bootstrap-433 .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-433 .form-horizontal .checkbox,.factory-bootstrap-433 .form-horizontal .checkbox-inline,.factory-bootstrap-433 .form-horizontal .control-label,.factory-bootstrap-433 .form-horizontal .radio,.factory-bootstrap-433 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-433 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-433 .form-horizontal .checkbox,.factory-bootstrap-433 .form-horizontal .radio{min-height:27px}.factory-bootstrap-433 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-433 .form-horizontal .form-group:after,.factory-bootstrap-433 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-433 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-433 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-433 .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-433 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-433 .btn{text-decoration:none}.factory-bootstrap-433 .btn:focus,.factory-bootstrap-433 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-433 .btn.disabled,.factory-bootstrap-433 .btn[disabled],.factory-bootstrap-433 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-433 .btn-default.active,.factory-bootstrap-433 .btn-default:active,.factory-bootstrap-433 .btn-default:focus,.factory-bootstrap-433 .btn-default:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-433 .btn-default.active,.factory-bootstrap-433 .btn-default:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-433 .btn-default.disabled,.factory-bootstrap-433 .btn-default.disabled.active,.factory-bootstrap-433 .btn-default.disabled:active,.factory-bootstrap-433 .btn-default.disabled:focus,.factory-bootstrap-433 .btn-default.disabled:hover,.factory-bootstrap-433 .btn-default[disabled],.factory-bootstrap-433 .btn-default[disabled].active,.factory-bootstrap-433 .btn-default[disabled]:active,.factory-bootstrap-433 .btn-default[disabled]:focus,.factory-bootstrap-433 .btn-default[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-default,.factory-bootstrap-433 fieldset[disabled] .btn-default.active,.factory-bootstrap-433 fieldset[disabled] .btn-default:active,.factory-bootstrap-433 fieldset[disabled] .btn-default:focus,.factory-bootstrap-433 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-433 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-433 .btn-primary.active,.factory-bootstrap-433 .btn-primary:active,.factory-bootstrap-433 .btn-primary:focus,.factory-bootstrap-433 .btn-primary:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-433 .btn-primary.active,.factory-bootstrap-433 .btn-primary:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-433 .btn-primary.disabled,.factory-bootstrap-433 .btn-primary.disabled.active,.factory-bootstrap-433 .btn-primary.disabled:active,.factory-bootstrap-433 .btn-primary.disabled:focus,.factory-bootstrap-433 .btn-primary.disabled:hover,.factory-bootstrap-433 .btn-primary[disabled],.factory-bootstrap-433 .btn-primary[disabled].active,.factory-bootstrap-433 .btn-primary[disabled]:active,.factory-bootstrap-433 .btn-primary[disabled]:focus,.factory-bootstrap-433 .btn-primary[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-primary,.factory-bootstrap-433 fieldset[disabled] .btn-primary.active,.factory-bootstrap-433 fieldset[disabled] .btn-primary:active,.factory-bootstrap-433 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-433 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-433 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-433 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-433 .btn-warning.active,.factory-bootstrap-433 .btn-warning:active,.factory-bootstrap-433 .btn-warning:focus,.factory-bootstrap-433 .btn-warning:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-433 .btn-warning.active,.factory-bootstrap-433 .btn-warning:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-433 .btn-warning.disabled,.factory-bootstrap-433 .btn-warning.disabled.active,.factory-bootstrap-433 .btn-warning.disabled:active,.factory-bootstrap-433 .btn-warning.disabled:focus,.factory-bootstrap-433 .btn-warning.disabled:hover,.factory-bootstrap-433 .btn-warning[disabled],.factory-bootstrap-433 .btn-warning[disabled].active,.factory-bootstrap-433 .btn-warning[disabled]:active,.factory-bootstrap-433 .btn-warning[disabled]:focus,.factory-bootstrap-433 .btn-warning[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-warning,.factory-bootstrap-433 fieldset[disabled] .btn-warning.active,.factory-bootstrap-433 fieldset[disabled] .btn-warning:active,.factory-bootstrap-433 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-433 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-433 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-433 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-433 .btn-success.active,.factory-bootstrap-433 .btn-success:active,.factory-bootstrap-433 .btn-success:focus,.factory-bootstrap-433 .btn-success:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-433 .btn-success.active,.factory-bootstrap-433 .btn-success:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-433 .btn-success.disabled,.factory-bootstrap-433 .btn-success.disabled.active,.factory-bootstrap-433 .btn-success.disabled:active,.factory-bootstrap-433 .btn-success.disabled:focus,.factory-bootstrap-433 .btn-success.disabled:hover,.factory-bootstrap-433 .btn-success[disabled],.factory-bootstrap-433 .btn-success[disabled].active,.factory-bootstrap-433 .btn-success[disabled]:active,.factory-bootstrap-433 .btn-success[disabled]:focus,.factory-bootstrap-433 .btn-success[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-success,.factory-bootstrap-433 fieldset[disabled] .btn-success.active,.factory-bootstrap-433 fieldset[disabled] .btn-success:active,.factory-bootstrap-433 fieldset[disabled] .btn-success:focus,.factory-bootstrap-433 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-433 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-433 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-433 .btn-info.active,.factory-bootstrap-433 .btn-info:active,.factory-bootstrap-433 .btn-info:focus,.factory-bootstrap-433 .btn-info:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-433 .btn-info.active,.factory-bootstrap-433 .btn-info:active,.factory-bootstrap-433 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-433 .btn-info.disabled,.factory-bootstrap-433 .btn-info.disabled.active,.factory-bootstrap-433 .btn-info.disabled:active,.factory-bootstrap-433 .btn-info.disabled:focus,.factory-bootstrap-433 .btn-info.disabled:hover,.factory-bootstrap-433 .btn-info[disabled],.factory-bootstrap-433 .btn-info[disabled].active,.factory-bootstrap-433 .btn-info[disabled]:active,.factory-bootstrap-433 .btn-info[disabled]:focus,.factory-bootstrap-433 .btn-info[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-info,.factory-bootstrap-433 fieldset[disabled] .btn-info.active,.factory-bootstrap-433 fieldset[disabled] .btn-info:active,.factory-bootstrap-433 fieldset[disabled] .btn-info:focus,.factory-bootstrap-433 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-433 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-433 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-433 .btn-link,.factory-bootstrap-433 .btn-link:active,.factory-bootstrap-433 .btn-link[disabled],.factory-bootstrap-433 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-433 .btn-link,.factory-bootstrap-433 .btn-link:active,.factory-bootstrap-433 .btn-link:focus,.factory-bootstrap-433 .btn-link:hover{border-color:transparent}.factory-bootstrap-433 .btn-link:focus,.factory-bootstrap-433 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-433 .btn-link[disabled]:focus,.factory-bootstrap-433 .btn-link[disabled]:hover,.factory-bootstrap-433 fieldset[disabled] .btn-link:focus,.factory-bootstrap-433 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-433 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-433 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-433 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-433 input[type=button].btn-block,.factory-bootstrap-433 input[type=reset].btn-block,.factory-bootstrap-433 input[type=submit].btn-block{width:100%}.factory-bootstrap-433 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-433 .fade.in{opacity:1}.factory-bootstrap-433 .collapse{display:none}.factory-bootstrap-433 .collapse.in{display:block}.factory-bootstrap-433 .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-433 .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-433 .glyphicon:empty{width:1em}.factory-bootstrap-433 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-433 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-433 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-433 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-433 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-433 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-433 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-433 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-433 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-433 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-433 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-433 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-433 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-433 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-433 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-433 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-433 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-433 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-433 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-433 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-433 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-433 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-433 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-433 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-433 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-433 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-433 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-433 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-433 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-433 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-433 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-433 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-433 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-433 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-433 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-433 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-433 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-433 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-433 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-433 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-433 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-433 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-433 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-433 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-433 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-433 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-433 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-433 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-433 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-433 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-433 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-433 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-433 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-433 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-433 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-433 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-433 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-433 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-433 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-433 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-433 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-433 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-433 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-433 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-433 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-433 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-433 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-433 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-433 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-433 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-433 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-433 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-433 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-433 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-433 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-433 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-433 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-433 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-433 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-433 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-433 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-433 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-433 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-433 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-433 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-433 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-433 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-433 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-433 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-433 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-433 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-433 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-433 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-433 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-433 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-433 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-433 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-433 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-433 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-433 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-433 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-433 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-433 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-433 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-433 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-433 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-433 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-433 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-433 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-433 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-433 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-433 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-433 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-433 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-433 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-433 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-433 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-433 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-433 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-433 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-433 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-433 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-433 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-433 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-433 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-433 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-433 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-433 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-433 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-433 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-433 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-433 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-433 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-433 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-433 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-433 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-433 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-433 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-433 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-433 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-433 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-433 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-433 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-433 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-433 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-433 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-433 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-433 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-433 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-433 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-433 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-433 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-433 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-433 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-433 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-433 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-433 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-433 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-433 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-433 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-433 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-433 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-433 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-433 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-433 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-433 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-433 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-433 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-433 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-433 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-433 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-433 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-433 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-433 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-433 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-433 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-433 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-433 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-433 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-433 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-433 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-433 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-433 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-433 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-433 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-433 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-433 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-433 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-433 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-433 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-433 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-433 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-433 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-433 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-433 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-433 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-433 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-433 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-433 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-433 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-433 .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-433 .dropdown{position:relative}.factory-bootstrap-433 .dropdown-toggle:focus{outline:0}.factory-bootstrap-433 .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-433 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-433 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-433 .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-433 .dropdown-menu>li>a:focus,.factory-bootstrap-433 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-433 .dropdown-menu>.active>a,.factory-bootstrap-433 .dropdown-menu>.active>a:focus,.factory-bootstrap-433 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-433 .dropdown-menu>.disabled>a,.factory-bootstrap-433 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-433 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-433 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-433 .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-433 .open>.dropdown-menu{display:block}.factory-bootstrap-433 .open>a{outline:0}.factory-bootstrap-433 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-433 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-433 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-433 .dropup .caret,.factory-bootstrap-433 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-433 .dropup .dropdown-menu,.factory-bootstrap-433 .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-433 .btn-group,.factory-bootstrap-433 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-433 .btn-group-vertical>.btn,.factory-bootstrap-433 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-433 .btn-group-vertical>.btn.active,.factory-bootstrap-433 .btn-group-vertical>.btn:active,.factory-bootstrap-433 .btn-group-vertical>.btn:focus,.factory-bootstrap-433 .btn-group-vertical>.btn:hover,.factory-bootstrap-433 .btn-group>.btn.active,.factory-bootstrap-433 .btn-group>.btn:active,.factory-bootstrap-433 .btn-group>.btn:focus,.factory-bootstrap-433 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-433 .btn-group-vertical>.btn:focus,.factory-bootstrap-433 .btn-group>.btn:focus{outline:0}.factory-bootstrap-433 .btn-group .btn+.btn,.factory-bootstrap-433 .btn-group .btn+.btn-group,.factory-bootstrap-433 .btn-group .btn-group+.btn,.factory-bootstrap-433 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-433 .btn-toolbar:after,.factory-bootstrap-433 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-433 .btn-toolbar:after{clear:both}.factory-bootstrap-433 .btn-toolbar .btn-group{float:left}.factory-bootstrap-433 .btn-toolbar>.btn+.btn,.factory-bootstrap-433 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-433 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-433 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-433 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-433 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-433 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-433 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-433 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .btn-group>.btn-group{float:left}.factory-bootstrap-433 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-433 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-433 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-433 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .btn-group .dropdown-toggle:active,.factory-bootstrap-433 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-433 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-433 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-433 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-433 .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-433 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-433 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-433 .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-433 .btn .caret{margin-left:0}.factory-bootstrap-433 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-433 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-433 .btn-group-vertical>.btn,.factory-bootstrap-433 .btn-group-vertical>.btn-group,.factory-bootstrap-433 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-433 .btn-group-vertical>.btn-group:after,.factory-bootstrap-433 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-433 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-433 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-433 .btn-group-vertical>.btn+.btn,.factory-bootstrap-433 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-433 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-433 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-433 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-433 .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-433 .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-433 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-433 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-433 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-433 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-433 .btn-group-justified>.btn,.factory-bootstrap-433 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-433 .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-433 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-433 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-433 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-433 .input-group-lg>.form-control,.factory-bootstrap-433 .input-group-lg>.input-group-addon,.factory-bootstrap-433 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-433 select.input-group-lg>.form-control,.factory-bootstrap-433 select.input-group-lg>.input-group-addon,.factory-bootstrap-433 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-433 textarea.input-group-lg>.form-control,.factory-bootstrap-433 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-433 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-433 .input-group-sm>.form-control,.factory-bootstrap-433 .input-group-sm>.input-group-addon,.factory-bootstrap-433 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-433 select.input-group-sm>.form-control,.factory-bootstrap-433 select.input-group-sm>.input-group-addon,.factory-bootstrap-433 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-433 textarea.input-group-sm>.form-control,.factory-bootstrap-433 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-433 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-433 .input-group .form-control,.factory-bootstrap-433 .input-group-addon,.factory-bootstrap-433 .input-group-btn{display:table-cell}.factory-bootstrap-433 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-433 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-433 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-433 .input-group-addon,.factory-bootstrap-433 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-433 .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-433 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-433 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-433 .input-group-addon input[type=checkbox],.factory-bootstrap-433 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-433 .input-group .form-control:first-child,.factory-bootstrap-433 .input-group-addon:first-child,.factory-bootstrap-433 .input-group-btn:first-child>.btn,.factory-bootstrap-433 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-433 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-433 .input-group-addon:first-child{border-right:0}.factory-bootstrap-433 .input-group .form-control:last-child,.factory-bootstrap-433 .input-group-addon:last-child,.factory-bootstrap-433 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-433 .input-group-btn:last-child>.btn,.factory-bootstrap-433 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .input-group-addon:last-child{border-left:0}.factory-bootstrap-433 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-433 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-433 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-433 .input-group-btn>.btn{position:relative}.factory-bootstrap-433 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-433 .input-group-btn>.btn:active,.factory-bootstrap-433 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-433 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-433 .nav:after,.factory-bootstrap-433 .nav:before{display:table;content:" "}.factory-bootstrap-433 .nav:after{clear:both}.factory-bootstrap-433 .nav>li{position:relative;display:block}.factory-bootstrap-433 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-433 .nav>li>a:focus,.factory-bootstrap-433 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-433 .nav>li.disabled>a{color:#999}.factory-bootstrap-433 .nav>li.disabled>a:focus,.factory-bootstrap-433 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-433 .nav .open>a,.factory-bootstrap-433 .nav .open>a:focus,.factory-bootstrap-433 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-433 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-433 .nav>li>a>img{max-width:none}.factory-bootstrap-433 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-433 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-433 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-433 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-433 .nav-tabs>li.active>a,.factory-bootstrap-433 .nav-tabs>li.active>a:focus,.factory-bootstrap-433 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-433 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-433 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-433 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-433 .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-433 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-433 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-433 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-433 .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-433 .nav-pills>li{float:left}.factory-bootstrap-433 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-433 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-433 .nav-pills>li.active>a,.factory-bootstrap-433 .nav-pills>li.active>a:focus,.factory-bootstrap-433 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-433 .nav-stacked>li{float:none}.factory-bootstrap-433 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-433 .nav-justified{width:100%}.factory-bootstrap-433 .nav-justified>li{float:none}.factory-bootstrap-433 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-433 .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-433 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-433 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-433 .nav-tabs-justified>.active>a,.factory-bootstrap-433 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-433 .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-433 .tab-content>.tab-pane{display:none}.factory-bootstrap-433 .tab-content>.active{display:block}.factory-bootstrap-433 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-433 .navbar:after,.factory-bootstrap-433 .navbar:before{display:table;content:" "}.factory-bootstrap-433 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-433 .navbar-header:after,.factory-bootstrap-433 .navbar-header:before{display:table;content:" "}.factory-bootstrap-433 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-433 .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-433 .navbar-collapse:after,.factory-bootstrap-433 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-433 .navbar-collapse:after{clear:both}.factory-bootstrap-433 .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-433 .container>.navbar-collapse,.factory-bootstrap-433 .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-433 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-433 .navbar-fixed-bottom,.factory-bootstrap-433 .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-433 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-433 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-433 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-433 .navbar-brand:focus,.factory-bootstrap-433 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-433 .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-433 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-433 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-433 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-433 .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-433 .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-433 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-433 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-433 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-433 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-433 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-433 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-433 .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-433 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-433 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-433 .navbar-default .navbar-brand:focus,.factory-bootstrap-433 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-433 .navbar-default .navbar-nav>li>a,.factory-bootstrap-433 .navbar-default .navbar-text{color:#777}.factory-bootstrap-433 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-433 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-433 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-433 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-433 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-433 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-433 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-433 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-433 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-433 .navbar-default .navbar-toggle:focus,.factory-bootstrap-433 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-433 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-433 .navbar-default .navbar-collapse,.factory-bootstrap-433 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-433 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-433 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-433 .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-433 .navbar-default .navbar-link{color:#777}.factory-bootstrap-433 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-433 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-433 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-433 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-433 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-433 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-433 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-433 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-433 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-433 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-433 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-433 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-433 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-433 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-433 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-433 .navbar-inverse .navbar-collapse,.factory-bootstrap-433 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-433 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-433 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-433 .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-433 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-433 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-433 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-433 .breadcrumb>li{display:inline-block}.factory-bootstrap-433 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-433 .breadcrumb>.active{color:#999}.factory-bootstrap-433 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-433 .pagination>li{display:inline}.factory-bootstrap-433 .pagination>li>a,.factory-bootstrap-433 .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-433 .pagination>li:first-child>a,.factory-bootstrap-433 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-433 .pagination>li:last-child>a,.factory-bootstrap-433 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-433 .pagination>li>a:focus,.factory-bootstrap-433 .pagination>li>a:hover,.factory-bootstrap-433 .pagination>li>span:focus,.factory-bootstrap-433 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-433 .pagination>.active>a,.factory-bootstrap-433 .pagination>.active>a:focus,.factory-bootstrap-433 .pagination>.active>a:hover,.factory-bootstrap-433 .pagination>.active>span,.factory-bootstrap-433 .pagination>.active>span:focus,.factory-bootstrap-433 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-433 .pagination>.disabled>a,.factory-bootstrap-433 .pagination>.disabled>a:focus,.factory-bootstrap-433 .pagination>.disabled>a:hover,.factory-bootstrap-433 .pagination>.disabled>span,.factory-bootstrap-433 .pagination>.disabled>span:focus,.factory-bootstrap-433 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-433 .pagination-lg>li>a,.factory-bootstrap-433 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-433 .pagination-lg>li:first-child>a,.factory-bootstrap-433 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-433 .pagination-lg>li:last-child>a,.factory-bootstrap-433 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-433 .pagination-sm>li>a,.factory-bootstrap-433 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-433 .pagination-sm>li:first-child>a,.factory-bootstrap-433 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-433 .pagination-sm>li:last-child>a,.factory-bootstrap-433 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-433 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-433 .pager:after,.factory-bootstrap-433 .pager:before{display:table;content:" "}.factory-bootstrap-433 .pager:after{clear:both}.factory-bootstrap-433 .pager li{display:inline}.factory-bootstrap-433 .pager li>a,.factory-bootstrap-433 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-433 .pager li>a:focus,.factory-bootstrap-433 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-433 .pager .next>a,.factory-bootstrap-433 .pager .next>span{float:right}.factory-bootstrap-433 .pager .previous>a,.factory-bootstrap-433 .pager .previous>span{float:left}.factory-bootstrap-433 .pager .disabled>a,.factory-bootstrap-433 .pager .disabled>a:focus,.factory-bootstrap-433 .pager .disabled>a:hover,.factory-bootstrap-433 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-433 .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-433 .label[href]:focus,.factory-bootstrap-433 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-433 .label:empty{display:none}.factory-bootstrap-433 .btn .label{position:relative;top:-1px}.factory-bootstrap-433 .label-default{background-color:#999}.factory-bootstrap-433 .label-default[href]:focus,.factory-bootstrap-433 .label-default[href]:hover{background-color:gray}.factory-bootstrap-433 .label-primary{background-color:#428bca}.factory-bootstrap-433 .label-primary[href]:focus,.factory-bootstrap-433 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-433 .label-success{background-color:#5cb85c}.factory-bootstrap-433 .label-success[href]:focus,.factory-bootstrap-433 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-433 .label-info{background-color:#5bc0de}.factory-bootstrap-433 .label-info[href]:focus,.factory-bootstrap-433 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-433 .label-warning{background-color:#f0ad4e}.factory-bootstrap-433 .label-warning[href]:focus,.factory-bootstrap-433 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-433 .label-danger{background-color:#d9534f}.factory-bootstrap-433 .label-danger[href]:focus,.factory-bootstrap-433 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-433 .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-433 .badge:empty{display:none}.factory-bootstrap-433 .btn .badge{position:relative;top:-1px}.factory-bootstrap-433 a.badge:focus,.factory-bootstrap-433 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-433 .nav-pills>.active>a>.badge,.factory-bootstrap-433 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-433 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-433 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-433 .jumbotron .h1,.factory-bootstrap-433 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-433 .jumbotron p{line-height:1.4}.factory-bootstrap-433 .container .jumbotron{border-radius:6px}.factory-bootstrap-433 .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-433 .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-433 .thumbnail a>img,.factory-bootstrap-433 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-433 a.thumbnail.active,.factory-bootstrap-433 a.thumbnail:focus,.factory-bootstrap-433 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-433 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-433 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-433 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-433 .alert .alert-link{font-weight:700}.factory-bootstrap-433 .alert>p,.factory-bootstrap-433 .alert>ul{margin-bottom:0}.factory-bootstrap-433 .alert>p+p{margin-top:5px}.factory-bootstrap-433 .alert-dismissable{padding-right:35px}.factory-bootstrap-433 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-433 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-433 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-433 .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-433 .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-433 .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-433 .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-433 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-433 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-433 .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-433 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-433 .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-433 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-433 .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-433 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-433 .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-433 .media,.factory-bootstrap-433 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-433 .media,.factory-bootstrap-433 .media .media{margin-top:15px}.factory-bootstrap-433 .media:first-child{margin-top:0}.factory-bootstrap-433 .media-object{display:block}.factory-bootstrap-433 .media-heading{margin:0 0 5px}.factory-bootstrap-433 .media>.pull-left{margin-right:10px}.factory-bootstrap-433 .media>.pull-right{margin-left:10px}.factory-bootstrap-433 .media-list{padding-left:0;list-style:none}.factory-bootstrap-433 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-433 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-433 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-433 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-433 .list-group-item>.badge{float:right}.factory-bootstrap-433 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-433 a.list-group-item{color:#555}.factory-bootstrap-433 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-433 a.list-group-item:focus,.factory-bootstrap-433 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-433 a.list-group-item.active,.factory-bootstrap-433 a.list-group-item.active:focus,.factory-bootstrap-433 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-433 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-433 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-433 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-433 a.list-group-item.active .list-group-item-text,.factory-bootstrap-433 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-433 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-433 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-433 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-433 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-433 .panel-body{padding:15px}.factory-bootstrap-433 .panel-body:after,.factory-bootstrap-433 .panel-body:before{display:table;content:" "}.factory-bootstrap-433 .panel-body:after{clear:both}.factory-bootstrap-433 .panel>.list-group{margin-bottom:0}.factory-bootstrap-433 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-433 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-433 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-433 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-433 .panel>.table,.factory-bootstrap-433 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-433 .panel>.panel-body+.table,.factory-bootstrap-433 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-433 .panel>.table>tbody:first-child td,.factory-bootstrap-433 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-433 .panel>.table-bordered,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-433 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-433 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-433 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-433 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-433 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-433 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-433 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-433 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-433 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-433 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-433 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-433 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-433 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-433 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-433 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-433 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-433 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-433 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-433 .panel-title>a{color:inherit}.factory-bootstrap-433 .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-433 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-433 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-433 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-433 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-433 .panel-group .panel-footer{border-top:0}.factory-bootstrap-433 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-433 .panel-default{border-color:#ddd}.factory-bootstrap-433 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-433 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-433 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-433 .panel-primary{border-color:#428bca}.factory-bootstrap-433 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-433 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-433 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-433 .panel-success{border-color:#d6e9c6}.factory-bootstrap-433 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-433 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-433 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-433 .panel-warning{border-color:#faebcc}.factory-bootstrap-433 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-433 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-433 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-433 .panel-danger{border-color:#ebccd1}.factory-bootstrap-433 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-433 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-433 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-433 .panel-info{border-color:#bce8f1}.factory-bootstrap-433 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-433 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-433 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-433 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-433 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-433 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-433 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-433 .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-433 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-433 .close:focus,.factory-bootstrap-433 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-433 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-433 .modal-open{overflow:hidden}.factory-bootstrap-433 .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-433 .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-433 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-433 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-433 .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-433 .modal-backdrop,.factory-bootstrap-433-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-433 .modal-backdrop.fade,.factory-bootstrap-433-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-433 .modal-backdrop.in,.factory-bootstrap-433-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-433 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-433 .modal-header .close{margin-top:-2px}.factory-bootstrap-433 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-433 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-433 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-433 .modal-footer:after,.factory-bootstrap-433 .modal-footer:before{display:table;content:" "}.factory-bootstrap-433 .modal-footer:after{clear:both}.factory-bootstrap-433 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-433 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-433 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-433 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-433 .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-433 .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-433 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-433 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-433 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-433 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-433 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-433 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-433 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-433 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-433 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-433 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-433 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-433 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-433 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-433 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-433 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-433 .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-433 .popover.top{margin-top:-10px}.factory-bootstrap-433 .popover.right{margin-left:10px}.factory-bootstrap-433 .popover.bottom{margin-top:10px}.factory-bootstrap-433 .popover.left{margin-left:-10px}.factory-bootstrap-433 .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-433 .popover-content{padding:9px 14px}.factory-bootstrap-433 .popover .arrow,.factory-bootstrap-433 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-433 .popover .arrow{border-width:11px}.factory-bootstrap-433 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-433 .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-433 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-433 .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-433 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-433 .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-433 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-433 .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-433 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-433 .carousel{position:relative}.factory-bootstrap-433 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-433 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-433 .carousel-inner>.item>a>img,.factory-bootstrap-433 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-433 .carousel-inner>.active,.factory-bootstrap-433 .carousel-inner>.next,.factory-bootstrap-433 .carousel-inner>.prev{display:block}.factory-bootstrap-433 .carousel-inner>.active{left:0}.factory-bootstrap-433 .carousel-inner>.next,.factory-bootstrap-433 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-433 .carousel-inner>.next{left:100%}.factory-bootstrap-433 .carousel-inner>.prev{left:-100%}.factory-bootstrap-433 .carousel-inner>.next.left,.factory-bootstrap-433 .carousel-inner>.prev.right{left:0}.factory-bootstrap-433 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-433 .carousel-inner>.active.right{left:100%}.factory-bootstrap-433 .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-433 .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-433 .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-433 .carousel-control:focus,.factory-bootstrap-433 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-433 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-433 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-433 .carousel-control .icon-next,.factory-bootstrap-433 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-433 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-433 .carousel-control .icon-prev{left:50%}.factory-bootstrap-433 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-433 .carousel-control .icon-next{right:50%}.factory-bootstrap-433 .carousel-control .icon-next,.factory-bootstrap-433 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-433 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-433 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-433 .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-433 .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-433 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-433 .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-433 .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-433 .clearfix:after,.factory-bootstrap-433 .clearfix:before{display:table;content:" "}.factory-bootstrap-433 .clearfix:after{clear:both}.factory-bootstrap-433 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-433 .pull-right{float:right!important}.factory-bootstrap-433 .pull-left{float:left!important}.factory-bootstrap-433 .hide{display:none!important}.factory-bootstrap-433 .show{display:block!important}.factory-bootstrap-433 .invisible{visibility:hidden}.factory-bootstrap-433 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-433 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-433 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-433 .visible-lg,.factory-bootstrap-433 .visible-md,.factory-bootstrap-433 .visible-sm,.factory-bootstrap-433 .visible-xs,.factory-bootstrap-433 td.visible-lg,.factory-bootstrap-433 td.visible-md,.factory-bootstrap-433 td.visible-sm,.factory-bootstrap-433 td.visible-xs,.factory-bootstrap-433 th.visible-lg,.factory-bootstrap-433 th.visible-md,.factory-bootstrap-433 th.visible-sm,.factory-bootstrap-433 th.visible-xs,.factory-bootstrap-433 tr.visible-lg,.factory-bootstrap-433 tr.visible-md,.factory-bootstrap-433 tr.visible-sm,.factory-bootstrap-433 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-433 .hidden-xs{display:block!important}.factory-bootstrap-433 table.hidden-xs{display:table}.factory-bootstrap-433 tr.hidden-xs{display:table-row!important}.factory-bootstrap-433 td.hidden-xs,.factory-bootstrap-433 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-433 .hidden-sm{display:block!important}.factory-bootstrap-433 table.hidden-sm{display:table}.factory-bootstrap-433 tr.hidden-sm{display:table-row!important}.factory-bootstrap-433 td.hidden-sm,.factory-bootstrap-433 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-433 .hidden-md{display:block!important}.factory-bootstrap-433 table.hidden-md{display:table}.factory-bootstrap-433 tr.hidden-md{display:table-row!important}.factory-bootstrap-433 td.hidden-md,.factory-bootstrap-433 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-433 .hidden-lg{display:block!important}.factory-bootstrap-433 table.hidden-lg{display:table}.factory-bootstrap-433 tr.hidden-lg{display:table-row!important}.factory-bootstrap-433 td.hidden-lg,.factory-bootstrap-433 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-433 .hidden-lg.hidden-xs,.factory-bootstrap-433 td.hidden-lg.hidden-xs,.factory-bootstrap-433 th.hidden-lg.hidden-xs,.factory-bootstrap-433 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-433 .hidden-lg.hidden-sm,.factory-bootstrap-433 td.hidden-lg.hidden-sm,.factory-bootstrap-433 th.hidden-lg.hidden-sm,.factory-bootstrap-433 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-433 .hidden-lg.hidden-md,.factory-bootstrap-433 td.hidden-lg.hidden-md,.factory-bootstrap-433 th.hidden-lg.hidden-md,.factory-bootstrap-433 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-433 .hidden-lg,.factory-bootstrap-433 td.hidden-lg,.factory-bootstrap-433 th.hidden-lg,.factory-bootstrap-433 tr.hidden-lg{display:none!important}}.factory-bootstrap-433 .visible-print,.factory-bootstrap-433 td.visible-print,.factory-bootstrap-433 th.visible-print,.factory-bootstrap-433 tr.visible-print{display:none!important}@media print{.factory-bootstrap-433 .visible-print{display:block!important}.factory-bootstrap-433 table.visible-print{display:table}.factory-bootstrap-433 tr.visible-print{display:table-row!important}.factory-bootstrap-433 td.visible-print,.factory-bootstrap-433 th.visible-print{display:table-cell!important}.factory-bootstrap-433 .hidden-print,.factory-bootstrap-433 td.hidden-print,.factory-bootstrap-433 th.hidden-print,.factory-bootstrap-433 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-433 .btn-danger,.factory-bootstrap-433 .btn-default,.factory-bootstrap-433 .btn-info,.factory-bootstrap-433 .btn-primary,.factory-bootstrap-433 .btn-success,.factory-bootstrap-433 .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-433 .btn-danger.active,.factory-bootstrap-433 .btn-danger:active,.factory-bootstrap-433 .btn-default.active,.factory-bootstrap-433 .btn-default:active,.factory-bootstrap-433 .btn-info.active,.factory-bootstrap-433 .btn-info:active,.factory-bootstrap-433 .btn-primary.active,.factory-bootstrap-433 .btn-primary:active,.factory-bootstrap-433 .btn-success.active,.factory-bootstrap-433 .btn-success:active,.factory-bootstrap-433 .btn-warning.active,.factory-bootstrap-433 .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-433 .btn.active,.factory-bootstrap-433 .btn:active{background-image:none}.factory-bootstrap-433 .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-433 .btn-default.active,.factory-bootstrap-433 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-433 .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-433 .btn-gold:focus,.factory-bootstrap-433 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-433 .btn-gold.active,.factory-bootstrap-433 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-433 .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-433 .btn-primary:focus,.factory-bootstrap-433 .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-433 .btn-primary.active,.factory-bootstrap-433 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-433 .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-433 .btn-success:focus,.factory-bootstrap-433 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-433 .btn-success.active,.factory-bootstrap-433 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-433 .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-433 .btn-warning:focus,.factory-bootstrap-433 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-433 .btn-warning.active,.factory-bootstrap-433 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-433 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-433 .btn-danger.active,.factory-bootstrap-433 .btn-danger:active,.factory-bootstrap-433 .btn-danger:focus,.factory-bootstrap-433 .btn-danger:hover,.factory-bootstrap-433 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-433 .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-433 .btn-info:focus,.factory-bootstrap-433 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-433 .btn-info.active,.factory-bootstrap-433 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-433 .img-thumbnail,.factory-bootstrap-433 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-433 .dropdown-menu>li>a:focus,.factory-bootstrap-433 .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-433 .dropdown-menu>.active>a,.factory-bootstrap-433 .dropdown-menu>.active>a:focus,.factory-bootstrap-433 .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-433 .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-433 .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-433 .navbar-brand,.factory-bootstrap-433 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-433 .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-433 .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-433 .navbar-inverse .navbar-brand,.factory-bootstrap-433 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-433 .navbar-fixed-bottom,.factory-bootstrap-433 .navbar-fixed-top,.factory-bootstrap-433 .navbar-static-top{border-radius:0}.factory-bootstrap-433 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-433 .alert .actions{padding-top:10px}.factory-bootstrap-433 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-433 .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-433 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-433 .alert-normal,.factory-bootstrap-433 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-433 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-433 .alert-danger a:not(.btn),.factory-bootstrap-433 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-433 .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-433 .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-433 .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-433 .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-433 .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-433 .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-433 .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-433 .list-group-item.active,.factory-bootstrap-433 .list-group-item.active:focus,.factory-bootstrap-433 .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-433 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-433 .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-433 .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-433 .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-433 .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-433 .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-433 .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-433 .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-433 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-433 .factory-hidden{display:none}.factory-bootstrap-433 .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_FactoryBootstrap433_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_FactoryBootstrap433_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_FactoryBootstrap433_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_FactoryBootstrap433_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_FactoryBootstrap433_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
ADDED
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Page components
|
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%;
|
14 |
+
height: 250px;
|
15 |
+
margin-left: 0;
|
16 |
+
margin-right: 0;
|
17 |
+
text-align: left;
|
18 |
+
float: none;
|
19 |
+
vertical-align: top;
|
20 |
+
}
|
21 |
+
#WBCR .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;
|
64 |
+
height: 30px;
|
65 |
+
width: 120px;
|
66 |
+
border-radius: 3px 0 0 3px;
|
67 |
+
background-color: #f7dea9;
|
68 |
+
color: #67532f;
|
69 |
+
text-align: center;
|
70 |
+
font-size: 12px;
|
71 |
+
font-weight: 600;
|
72 |
+
line-height: 2.4;
|
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;
|
80 |
+
height: 30px;
|
81 |
+
width: 120px;
|
82 |
+
border-radius: 3px 0 0 3px;
|
83 |
+
background-color: #cccccc;
|
84 |
+
color: #6b6b6b;
|
85 |
+
text-align: center;
|
86 |
+
font-size: 12px;
|
87 |
+
font-weight: 600;
|
88 |
+
line-height: 2.4;
|
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;
|
96 |
+
height: 30px;
|
97 |
+
width: 120px;
|
98 |
+
border-radius: 3px 0 0 3px;
|
99 |
+
background-color: #cae2b3;
|
100 |
+
color: #546742;
|
101 |
+
text-align: center;
|
102 |
+
font-size: 12px;
|
103 |
+
font-weight: 600;
|
104 |
+
line-height: 2.4;
|
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 |
+
}
|
140 |
+
/*# sourceMappingURL=components.css.map */
|
libs/factory/clearfy/assets/css/components.css.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["components.less"],"names":[],"mappings":";;;;;AAMA,KAkBE;EACE,oBAAA;EACA,kBAAA;;AApBJ,KAkBE,oCAIE;EACE,kBAAA;EACA,qBAAA;EACA,YAAA;EACA,aAAA;EACA,cAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;;AAEA,KAfJ,oCAIE,aAWG;EACC,cAAA;;AAlCR,KAkBE,oCAIE,aAeE;EACE,kBAAA;EACA,SAAA;EACA,QAAA;EACA,OAAA;;AAzCR,KAkBE,oCAIE,aAsBE;EACE,iBAAA;;AA7CR,KAkBE,oCAIE,aA0BE;AAhDN,KAkBE,oCAIE,aA0BS;EACL,0BAAA;;AAjDR,KAkBE,oCAIE,aA8BE,MACE;EACE,eAAA;EACA,wBAAA;;AAvDV,KAkBE,oCAIE,aAqCE;EACE,YAAA;;AA5DR,KAkBE,oCAIE,aAyCE;EACE,YAAA;EACA,gBAAA;;AAjER,KAkBE,oCAIE,aAyCE,YAIE;AAnER,KAkBE,oCAIE,aAyCE,YAIc,kBAAiB;EAC3B,0BAAA;EACA,gBAAA;EACA,cAAA;;AAtEV,KAkBE,oCAIE,aAoDE,EAAC;EACC,cAAA;EACA,qBAAA;EACA,gBAAA;EACA,eAAA;;AA9ER,KAkBE,oCAIE,aA4DE;EAhFF,kBAAA;EACA,YAAA;EACA,QAAA;EACA,YAAA;EACA,YAAA;EACA,0BAAA;EACA,yBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,UAAA;;AAfJ,KAkBE,oCAIE,aAiEE;EArFF,kBAAA;EACA,YAAA;EACA,QAAA;EACA,YAAA;EACA,YAAA;EACA,0BAAA;EACA,yBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,UAAA;;AAfJ,KAkBE,oCAIE,aAsEE;EA1FF,kBAAA;EACA,YAAA;EACA,QAAA;EACA,YAAA;EACA,YAAA;EACA,0BAAA;EACA,yBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,UAAA;;AAiFE,KA9EJ,oCAIE,aA0EG;EACC,qBAAA;EACA,yBAAA;;AAGF,KAnFJ,oCAIE,aA+EG;EACC,yBAAA;;AADF,KAnFJ,oCAIE,aA+EG,uBAIC,EAAC;EACC,cAAA;EACA,qBAAA;EACA,gBAAA;EACA,eAAA;;AARJ,KAnFJ,oCAIE,aA+EG,uBAWC;EACE,YAAA;;AAZJ,KAnFJ,oCAIE,aA+EG,uBAeC;EACE,cAAA;;AAGF,KAtGN,oCAIE,aA+EG,uBAmBE;EACC,yBAAA;;AAOV,mBAAsC;EACpC,KACE,oCACE;IACE,UAAA;;;AAMR,mBAAsC;EACpC,KACE,oCACE;IACE,WAAA","file":"components.css"}
|
libs/factory/clearfy/assets/css/components.less
ADDED
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Page components
|
3 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
+
* @copyright Alex Kovalev 30.09.2017
|
5 |
+
*/
|
6 |
+
|
7 |
+
#WBCR {
|
8 |
+
.card-ribbon(@bgColor:#f7dea9, @color:#67532f) {
|
9 |
+
position: absolute;
|
10 |
+
bottom: 60px;
|
11 |
+
right: 0;
|
12 |
+
height: 30px;
|
13 |
+
width: 120px;
|
14 |
+
border-radius: 3px 0 0 3px;
|
15 |
+
background-color: @bgColor;
|
16 |
+
color: @color;
|
17 |
+
text-align: center;
|
18 |
+
font-size: 12px;
|
19 |
+
font-weight: 600;
|
20 |
+
line-height: 2.4;
|
21 |
+
text-transform: uppercase;
|
22 |
+
z-index: 1;
|
23 |
+
}
|
24 |
+
|
25 |
+
.wbc-factory-clearfy-000-components {
|
26 |
+
padding: 0 20px 20px;
|
27 |
+
text-align: center;
|
28 |
+
|
29 |
+
.plugin-card {
|
30 |
+
position: relative;
|
31 |
+
display: inline-block;
|
32 |
+
width: 32.7%;
|
33 |
+
height: 250px;
|
34 |
+
margin-left: 0;
|
35 |
+
margin-right: 0;
|
36 |
+
text-align: left;
|
37 |
+
float: none;
|
38 |
+
vertical-align: top;
|
39 |
+
|
40 |
+
&:first-child {
|
41 |
+
margin-left: 0;
|
42 |
+
}
|
43 |
+
|
44 |
+
.plugin-card-bottom {
|
45 |
+
position: absolute;
|
46 |
+
bottom: 0;
|
47 |
+
right: 0;
|
48 |
+
left: 0;
|
49 |
+
}
|
50 |
+
|
51 |
+
.plugin-card-top {
|
52 |
+
min-height: 163px;
|
53 |
+
}
|
54 |
+
|
55 |
+
.desc, .name {
|
56 |
+
margin-right: 0 !important;
|
57 |
+
}
|
58 |
+
|
59 |
+
.name {
|
60 |
+
h3 {
|
61 |
+
font-size: 17px;
|
62 |
+
margin-top: 0 !important;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
.install-now {
|
67 |
+
float: right;
|
68 |
+
}
|
69 |
+
|
70 |
+
.delete-now {
|
71 |
+
float: right;
|
72 |
+
margin-left: 5px;
|
73 |
+
|
74 |
+
.dashicons, .dashicons-before:before {
|
75 |
+
font-size: 16px !important;
|
76 |
+
line-height: 1.5 !important;
|
77 |
+
color: #62696f;
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
+
a.open-plugin-details-modal {
|
82 |
+
color: #5c5d5f;
|
83 |
+
text-decoration: none;
|
84 |
+
font-weight: 600;
|
85 |
+
font-size: 15px;
|
86 |
+
}
|
87 |
+
|
88 |
+
// Premium
|
89 |
+
.plugin-card-premium-ribbon {
|
90 |
+
.card-ribbon();
|
91 |
+
}
|
92 |
+
|
93 |
+
// Free
|
94 |
+
.plugin-card-free-ribbon {
|
95 |
+
.card-ribbon(#cccccc, #6b6b6b);
|
96 |
+
}
|
97 |
+
|
98 |
+
// Freemium
|
99 |
+
.plugin-card-freemium-ribbon {
|
100 |
+
.card-ribbon(#cae2b3, #546742);
|
101 |
+
}
|
102 |
+
|
103 |
+
&.premium {
|
104 |
+
border-color: #e8d7b2;
|
105 |
+
background-color: #fff9eb;
|
106 |
+
}
|
107 |
+
|
108 |
+
&.plugin-status-deactive {
|
109 |
+
background-color: #f1f1f1;
|
110 |
+
//background-color: #f9f2f1;
|
111 |
+
|
112 |
+
a.open-plugin-details-modal {
|
113 |
+
color: #ababab;
|
114 |
+
text-decoration: none;
|
115 |
+
font-weight: 600;
|
116 |
+
font-size: 15px;
|
117 |
+
}
|
118 |
+
|
119 |
+
.plugin-icon {
|
120 |
+
opacity: 0.3;
|
121 |
+
}
|
122 |
+
|
123 |
+
.desc {
|
124 |
+
color: #afafaf;
|
125 |
+
}
|
126 |
+
|
127 |
+
&.premium {
|
128 |
+
background-color: #f9f2f1;
|
129 |
+
}
|
130 |
+
}
|
131 |
+
}
|
132 |
+
}
|
133 |
+
}
|
134 |
+
|
135 |
+
@media screen and (max-width: 1750px) {
|
136 |
+
#WBCR {
|
137 |
+
.wbc-factory-clearfy-000-components {
|
138 |
+
.plugin-card {
|
139 |
+
width: 49%;
|
140 |
+
}
|
141 |
+
}
|
142 |
+
}
|
143 |
+
}
|
144 |
+
|
145 |
+
@media screen and (max-width: 1350px) {
|
146 |
+
#WBCR {
|
147 |
+
.wbc-factory-clearfy-000-components {
|
148 |
+
.plugin-card {
|
149 |
+
width: 100%;
|
150 |
+
}
|
151 |
+
}
|
152 |
+
}
|
153 |
+
}
|
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
ADDED
@@ -0,0 +1,454 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#WBCR {
|
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;
|
15 |
+
text-shadow: 0 -1px 1px #e7e7e7, 1px 0 1px #e7e7e7, 0 1px 1px #e7e7e7, -1px 0 1px #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;
|
45 |
+
box-shadow: none;
|
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;
|
57 |
+
overflow: hidden;
|
58 |
+
color: #ccc;
|
59 |
+
width: 100%;
|
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;
|
67 |
+
margin: 0;
|
68 |
+
text-align: center;
|
69 |
+
position: relative;
|
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%;
|
77 |
+
width: 4px;
|
78 |
+
height: 4px;
|
79 |
+
position: absolute;
|
80 |
+
bottom: 0;
|
81 |
+
left: 50%;
|
82 |
+
margin-left: -6px;
|
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;
|
98 |
+
margin: -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;
|
166 |
+
color: #666;
|
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;
|
207 |
+
box-shadow: none;
|
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;
|
226 |
+
width: 0;
|
227 |
+
margin: 6px 0 0;
|
228 |
+
height: 0;
|
229 |
+
overflow: hidden;
|
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;
|
244 |
+
width: 0;
|
245 |
+
margin: 0;
|
246 |
+
height: 0;
|
247 |
+
overflow: hidden;
|
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;
|
335 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #ccc;
|
336 |
+
text-shadow: 1px 0 1px #eee, 0 1px 1px #eee;
|
337 |
+
font-size: 1em;
|
338 |
+
height: auto;
|
339 |
+
line-height: 1.75;
|
340 |
+
margin: 0 0 0.75em;
|
341 |
+
opacity: 1;
|
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;
|
370 |
+
display: inline-block;
|
371 |
+
padding: 0 10px 0 0;
|
372 |
+
top: 1px;
|
373 |
+
position: relative;
|
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;
|
424 |
+
top: 3px;
|
425 |
+
border: 1px solid #aaa;
|
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;
|
433 |
+
border-bottom: 2px solid;
|
434 |
+
-webkit-transform: rotate(-45deg);
|
435 |
+
-ms-transform: rotate(-45deg);
|
436 |
+
transform: rotate(-45deg);
|
437 |
+
left: 4px;
|
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 |
+
}
|
454 |
+
/*# sourceMappingURL=page-setup.css.map */
|
libs/factory/clearfy/assets/css/page-setup.css.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["page-setup.less"],"names":[],"mappings":"AAAA;EACE,SAAA;EACA,UAAA;;AAGF;EACE,iBAAA;EACA,aAAA;EACA,mBAAA;EAEA,6BAAA;;AALF,oCAOE;EACE,yBAAA;EACA,qBAAA;EACA,oEAAA;EACA,yFAAA;EACA,SAAA;EACA,cAAA;;AAEA,oCARF,oCAQG;AAAS,oCARZ,oCAQa;AAAQ,oCARrB,oCAQsB;EAClB,mBAAA;EACA,qBAAA;EACA,oEAAA;EACA,cAAA;;AAnBN,oCAuBE;EACE,yBAAA;EACA,qBAAA;EACA,oEAAA;EACA,yFAAA;EACA,SAAA;;AAEA,oCAPF,wCAOG;AAAS,oCAPZ,wCAOa;AAAQ,oCAPrB,wCAOsB;EAClB,mBAAA;EACA,qBAAA;EACA,oEAAA;;AAKN;EACE,kBAAA;EACA,gBAAA;EACA,sBAAA;EACA,gBAAA;EACA,mBAAA;EACA,UAAA;;AAGF;AAA0C,kCAAmC;EAC3E,aAAA;;AAGF;EACE,iBAAA;EACA,SAAA;EACA,wBAAA;EACA,gBAAA;EACA,WAAA;EACA,WAAA;EACA,2BAAA;EACA,oBAAA;;AAGF,kCAAmC;EACjC,WAAA;EACA,WAAA;EACA,kBAAA;EACA,SAAA;EACA,kBAAA;EACA,kBAAA;EACA,6BAAA;EACA,gBAAA;;AAEA,kCAViC,GAUhC;EACC,SAAS,EAAT;EACA,sBAAA;EACA,mBAAA;EACA,UAAA;EACA,WAAA;EACA,kBAAA;EACA,SAAA;EACA,SAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;;AAGF,kCAxBiC,GAwBhC;EACC,qBAAA;EACA,WAAA;EACA,gBAAA;;AAEA,kCA7B+B,GAwBhC,OAKE;EACC,qBAAA;;AAKN,kCAAmC,GAAG;EACpC,cAAA;EACA,qBAAA;EACA,cAAA;EACA,cAAA;EACA,kBAAA;EACA,UAAA;;AAGF,kCAAmC,GAAG,EAAC;AAAQ,kCAAmC,GAAG,EAAC;EACpF,WAAA;EACA,0BAAA;;;;;;;;;;;AAcF,4BAA6B;EAC3B,gBAAA;EACA,gBAAA;EACA,kBAAA;;AAGF,oCAAqC,EAAC;EACpC,gBAAA;;AAGF,oCAAqC,EAAC;EACpC,aAAA;;AAGF;EACE,iBAAA;EACA,cAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;;AAGF;EACE,kBAAA;;AADF,2BAGE;EACE,gBAAA;;AAKJ;EACE,yCAAA;EAEA,gBAAA;EACA,gBAAA;EAEA,OAAA;EACA,gBAAA;;AAEA,oCAAE;EACA,cAAA;EACA,iBAAA;EACA,WAAA;;AAHF,oCAAE,MAKA;EACE,mBAAA;;AANJ,oCAAE,MASA;AATF,oCAAE,MASI;EACF,kBAAA;;AAKN,oCAAqC;AAAI,oCAAqC;AAAI,oCAAqC;AAAI,oCAAqC;EAC9J,gBAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,WAAA;EACA,gBAAA;;AAGF,oCAAqC;EACnC,cAAA;EACA,iBAAA;EACA,iBAAA;EACA,WAAA;EACA,kBAAA;;AAGF;EACE,0BAAA;;AAIF,oCAAqC;EACnC,cAAA;;AAGF,oCAAqC,EAAC;AAAQ,oCAAqC,EAAC;EAClF,WAAA;;AAIF,oCAAqC,MAAK;EACxC,WAAA;EACA,iBAAA;;AAGF,oCAAqC,MAAK,UAAW;EACnD,UAAA;EACA,kBAAA;EACA,WAAA;EACA,sBAAA;;AAGF,oCAAqC,MAAK,UAAW;EACnD,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,sBAAA;;AAGF,oCAAqC,MAAK,UAAW,GAAG;EACtD,UAAA;EACA,SAAA;EACA,UAAA;EACA,gBAAA;EACA,kBAAA;EACA,WAAA;;AAGF,oCAAqC,MAAK,UAAW,GAAE;EACrD,YAAA;EACA,WAAA;;AAGF,oCAAqC,MAAK,UAAW,GAAE,KAAK;EAC1D,SAAS,OAAT;EACA,sBAAA;;AAGF,oCAAqC,MAAK,UAAW,GAAE;EACrD,mBAAA;;AAGF,oCAAqC,MAAK,UAAW;EACnD,oBAAA;EACA,cAAA;EACA,cAAA;EACA,QAAA;EACA,eAAA;EACA,SAAA;EACA,gBAAA;EACA,kBAAA;EACA,qBAAA;;AAGF,oCAAqC,MAAK,UAAW,KAAI;EACvD,SAAS,OAAT;EACA,sBAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;;AAGF,oCAAqC,MAAK,UAAW;EACnD,oBAAA;EACA,cAAA;EACA,cAAA;EACA,QAAA;EACA,SAAA;EACA,SAAA;EACA,gBAAA;EACA,kBAAA;EACA,qBAAA;;AAGF,oCAAqC,MAAK,UAAW,QAAO;EAC1D,SAAS,OAAT;EACA,sBAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;;AAGF,oCAAqC;EACnC,WAAA;EACA,0BAAA;;AAGF,oCAAqC,mCAAmC,MAAM;EAC5E,aAAA;;AAGF,oCAAqC,mCAAmC;EACtE,UAAA;EACA,gBAAA;;AAGF,oCAAqC,mCAAmC;AAAI,oCAAqC,mCAAmC;EAClJ,eAAA;EACA,6BAAA;;AAGF,oCAAqC,mCAAmC,GAAE;AAAc,oCAAqC,mCAAmC,GAAE;EAChK,kBAAA;;AAGF,oCAAqC,mCAAmC;EACtE,cAAA;;AAGF,oCAAqC,mCAAmC,cAAc;EACpF,WAAA;EACA,oBAAA;EACA,iBAAA;;AAGF,oCAAqC,mCAAmC,cAAc,EAAE;EACtF,sBAAA;EACA,eAAA;EACA,cAAA;EACA,aAAA;EACA,iBAAA;;AAGF,oCAAqC,mCAAmC,cAAc,EAAE;EACtF,cAAA;;AAGF,mBAAqC;EACnC,oCAAqC,YAAY,MAAM;IACrD,WAAA;;;AAIJ,oCAAqC;EACnC,YAAA;;AAGF,oCAAqC;EACnC,gBAAA;EACA,gBAAA;EACA,mBAAA;;AAGF,oCAAqC,wCAAwC;EAC3E,mBAAA;;AAGF,oCAAqC,wCAAwC;EAC3E,WAAA;EACA,UAAA;EACA,sBAAA;;AAGF,oCAAqC,wCAAwC;EAC3E,YAAA;EACA,UAAA;EACA,sBAAA;;AAGF,oCAAqC,wCAAwC;EAC3E,kBAAA;EACA,wBAAA;EACA,SAAA;;AAGF,oCAAqC,wCAAwC,GAAG,GAAG;EACjF,cAAA;EACA,mBAAA;;AAGF,oCAAqC,wCAAwC,GAAG,eAAe,EAAC;EAC9F,yBAAA;EACA,kBAAA;EACA,cAAA;EACA,iEAAA;EACA,2CAAA;EACA,cAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,UAAA;EACA,YAAA;EACA,kBAAA;;AAGF,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,OAAO;AAAS,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,OAAO;AAAQ,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,OAAO;EACpU,mBAAA;EACA,kBAAA;;AAGF,oCAAqC,wCAAwC,GAAG,eAAe,EAAC;EAC9F,WAAA;EACA,yBAAA;EACA,qBAAA;EACA,oEAAA;EACA,yFAAA;;AAGF,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,eAAe;AAAS,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,eAAe;AAAQ,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,eAAe;EAC5V,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,oEAAA;;AAGF,oCAAqC,wCAAwC,GAAG,GAAG,EAAC;EAClF,cAAA;EACA,0BAAA;EACA,WAAA;EACA,qBAAA;EACA,mBAAA;EACA,QAAA;EACA,kBAAA;EACA,gCAAA;EACA,mBAAA;;AAGF,oCAAqC,wCAAwC,GAAG,YAAY,EAAC;EAC3F,SAAS,OAAT;;AAGF,oCAAqC,wCAAwC,GAAG,mBAAmB,EAAC;EAClG,SAAS,OAAT;;AAGF,oCAAqC,wCAAwC,GAAG,YAAY,EAAC;EAC3F,SAAS,OAAT;;AAGF,oCAAqC;AAAU,oCAAqC;EAClF,oBAAA;EACA,gBAAA;EACA,gBAAA;EACA,mBAAA;;AAGF,oCAAqC,SAAS;AAAG,oCAAqC,wBAAwB;EAC5G,UAAA;EACA,gBAAA;;AAGF,oCAAqC,SAAS;AAAM,oCAAqC,SAAS,EAAC;AAAa,oCAAqC,wBAAwB;AAAM,oCAAqC,wBAAwB,EAAC;EAC/O,gBAAA;;AAGF,oCAAqC,UAAU,MAAK;EAClD,UAAA;EACA,kBAAA;EACA,aAAA;;AAGF,oCAAqC,UAAU;EAC7C,kBAAA;EACA,qBAAA;EACA,kBAAA;;AAGF,oCAAqC,UAAU,MAAK;AAAS,oCAAqC,UAAU,MAAK;EAC/G,kBAAA;EACA,SAAS,EAAT;EACA,qBAAA;;AAGF,oCAAqC,UAAU,MAAK;EAClD,YAAA;EACA,WAAA;EACA,OAAA;EACA,QAAA;EACA,sBAAA;EACA,sBAAA;EACA,kBAAA;;AAGF,oCAAqC,UAAU,MAAK;EAClD,WAAA;EACA,UAAA;EACA,sBAAA;EACA,wBAAA;EACA,mBAAmB,cAAnB;EACA,eAAe,cAAf;EACA,WAAW,cAAX;EACA,SAAA;EACA,QAAA;EACA,WAAA;;AAGF,oCAAqC,UAAU,MAAK,eAAgB,QAAO;EACzE,aAAA;;AAGF,oCAAqC,UAAU,MAAK,eAAe,QAAS,QAAO;EACjF,SAAS,EAAT;;AAGF,oCAAqC,UAAU,MAAK,eAAe,MAAO,QAAO;EAC/E,yBAAA;;AAGF,oCAAqC,UAAU,MAAK,eAAe,QAAS,QAAO;EACjF,mBAAA;EACA,qBAAA","file":"page-setup.css"}
|
libs/factory/clearfy/assets/css/page-setup.less
ADDED
@@ -0,0 +1,515 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#WBCR {
|
2 |
+
margin: 0;
|
3 |
+
padding: 0;
|
4 |
+
}
|
5 |
+
|
6 |
+
.w-factory-clearfy-000__form-buttons {
|
7 |
+
text-align: right;
|
8 |
+
padding: 10px;
|
9 |
+
background: #f7f7f7;
|
10 |
+
|
11 |
+
border-top: 1px solid #e8e8e8;
|
12 |
+
|
13 |
+
.w-factory-clearfy-000__skip-button {
|
14 |
+
background-color: #e7e7e7;
|
15 |
+
border-color: #e7e7e7;
|
16 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #e7e7e7;
|
17 |
+
text-shadow: 0 -1px 1px #e7e7e7, 1px 0 1px #e7e7e7, 0 1px 1px #e7e7e7, -1px 0 1px #e7e7e7;
|
18 |
+
margin: 0;
|
19 |
+
color: #8a8a8a;
|
20 |
+
|
21 |
+
&:active, &:hover, &:focus {
|
22 |
+
background: #dddddd;
|
23 |
+
border-color: #dddddd;
|
24 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #dddddd;
|
25 |
+
color: #8a8a8a;
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
.w-factory-clearfy-000__continue-button {
|
30 |
+
background-color: #f57d4f;
|
31 |
+
border-color: #f77d50;
|
32 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #f77d50;
|
33 |
+
text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50;
|
34 |
+
margin: 0;
|
35 |
+
|
36 |
+
&:active, &:hover, &:focus {
|
37 |
+
background: #f86b3b;
|
38 |
+
border-color: #f86b3b;
|
39 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #f86b3b
|
40 |
+
}
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
.w-factory-clearfy-000-setup {
|
45 |
+
text-align: center;
|
46 |
+
max-width: 900px;
|
47 |
+
margin: 65px auto 24px;
|
48 |
+
box-shadow: none;
|
49 |
+
background: #f1f1f1;
|
50 |
+
padding: 0;
|
51 |
+
}
|
52 |
+
|
53 |
+
.w-factory-clearfy-000-setup__inner-wrap, .w-factory-clearfy-000__setup-form .factory-form-layout {
|
54 |
+
padding: 30px;
|
55 |
+
}
|
56 |
+
|
57 |
+
.w-factory-clearfy-000-setup-steps {
|
58 |
+
padding: 0 0 24px;
|
59 |
+
margin: 0;
|
60 |
+
list-style: none outside;
|
61 |
+
overflow: hidden;
|
62 |
+
color: #ccc;
|
63 |
+
width: 100%;
|
64 |
+
display: -webkit-inline-box;
|
65 |
+
display: inline-flex;
|
66 |
+
}
|
67 |
+
|
68 |
+
.w-factory-clearfy-000-setup-steps li {
|
69 |
+
width: 100%;
|
70 |
+
float: left;
|
71 |
+
padding: 0 0 .8em;
|
72 |
+
margin: 0;
|
73 |
+
text-align: center;
|
74 |
+
position: relative;
|
75 |
+
border-bottom: 4px solid #ccc;
|
76 |
+
line-height: 1.4;
|
77 |
+
|
78 |
+
&::before {
|
79 |
+
content: "";
|
80 |
+
border: 4px solid #ccc;
|
81 |
+
border-radius: 100%;
|
82 |
+
width: 4px;
|
83 |
+
height: 4px;
|
84 |
+
position: absolute;
|
85 |
+
bottom: 0;
|
86 |
+
left: 50%;
|
87 |
+
margin-left: -6px;
|
88 |
+
margin-bottom: -8px;
|
89 |
+
background: #fff
|
90 |
+
}
|
91 |
+
|
92 |
+
&.active {
|
93 |
+
border-color: #ff1c40 !important;
|
94 |
+
color: #222;
|
95 |
+
font-weight: 700;
|
96 |
+
|
97 |
+
&::before {
|
98 |
+
border-color: #ff1c40 !important;
|
99 |
+
}
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
.w-factory-clearfy-000-setup-steps li a {
|
104 |
+
color: #a16696;
|
105 |
+
text-decoration: none;
|
106 |
+
padding: 1.5em;
|
107 |
+
margin: -1.5em;
|
108 |
+
position: relative;
|
109 |
+
z-index: 1
|
110 |
+
}
|
111 |
+
|
112 |
+
.w-factory-clearfy-000-setup-steps li a:focus, .w-factory-clearfy-000-setup-steps li a:hover {
|
113 |
+
color: #111;
|
114 |
+
text-decoration: underline
|
115 |
+
}
|
116 |
+
|
117 |
+
|
118 |
+
/*.w-factory-clearfy-000-setup-steps li.done {
|
119 |
+
border-color: #f57d4f;
|
120 |
+
color: #f57d4f
|
121 |
+
}
|
122 |
+
|
123 |
+
.w-factory-clearfy-000-setup-steps li.done::before {
|
124 |
+
border-color: #f57d4f;
|
125 |
+
background: #f57d4f
|
126 |
+
}*/
|
127 |
+
|
128 |
+
.w-factory-clearfy-000-setup .w-factory-clearfy-000-setup-actions {
|
129 |
+
overflow: hidden;
|
130 |
+
margin: 20px 0 0;
|
131 |
+
position: relative
|
132 |
+
}
|
133 |
+
|
134 |
+
.w-factory-clearfy-000-setup-content p:last-child {
|
135 |
+
margin-bottom: 0
|
136 |
+
}
|
137 |
+
|
138 |
+
.w-factory-clearfy-000-setup-content p.store-setup {
|
139 |
+
margin-top: 0
|
140 |
+
}
|
141 |
+
|
142 |
+
.w-factory-clearfy-000-setup-footer-links {
|
143 |
+
font-size: .85em;
|
144 |
+
color: #7b7b7b;
|
145 |
+
margin: 1.18em auto;
|
146 |
+
display: inline-block;
|
147 |
+
text-align: center
|
148 |
+
}
|
149 |
+
|
150 |
+
.w-factory-clearfy-000-logo {
|
151 |
+
text-align: center;
|
152 |
+
|
153 |
+
img {
|
154 |
+
max-width: 250px;
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
|
159 |
+
.w-factory-clearfy-000-setup-content {
|
160 |
+
box-shadow: 0 1px 3px rgba(0, 0, 0, .13);
|
161 |
+
//padding: 2em;
|
162 |
+
margin: 0 0 20px;
|
163 |
+
background: #fff;
|
164 |
+
//overflow: hidden;
|
165 |
+
zoom: 1;
|
166 |
+
text-align: left;
|
167 |
+
|
168 |
+
& table {
|
169 |
+
font-size: 1em;
|
170 |
+
line-height: 1.75;
|
171 |
+
color: #666;
|
172 |
+
|
173 |
+
thead {
|
174 |
+
background: #f1f1f1;
|
175 |
+
}
|
176 |
+
|
177 |
+
th, td {
|
178 |
+
padding: 10px 15px;
|
179 |
+
}
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
+
.w-factory-clearfy-000-setup-content h1, .w-factory-clearfy-000-setup-content h2, .w-factory-clearfy-000-setup-content h3, .w-factory-clearfy-000-setup-content table {
|
184 |
+
margin: 0 0 20px;
|
185 |
+
border: 0;
|
186 |
+
padding: 0;
|
187 |
+
color: #666;
|
188 |
+
clear: none;
|
189 |
+
font-weight: 500
|
190 |
+
}
|
191 |
+
|
192 |
+
.w-factory-clearfy-000-setup-content p {
|
193 |
+
margin: 20px 0;
|
194 |
+
font-size: 1.15em;
|
195 |
+
line-height: 1.75;
|
196 |
+
color: #666;
|
197 |
+
text-align: center;
|
198 |
+
}
|
199 |
+
|
200 |
+
.w-factory-clearfy-000-setup-step__new_onboarding-welcome {
|
201 |
+
font-size: 22px !important;
|
202 |
+
}
|
203 |
+
|
204 |
+
|
205 |
+
.w-factory-clearfy-000-setup-content a {
|
206 |
+
color: #f57d4f
|
207 |
+
}
|
208 |
+
|
209 |
+
.w-factory-clearfy-000-setup-content a:focus, .w-factory-clearfy-000-setup-content a:hover {
|
210 |
+
color: #111
|
211 |
+
}
|
212 |
+
|
213 |
+
|
214 |
+
.w-factory-clearfy-000-setup-content table.tax-rates {
|
215 |
+
width: 100%;
|
216 |
+
font-size: .92em
|
217 |
+
}
|
218 |
+
|
219 |
+
.w-factory-clearfy-000-setup-content table.tax-rates th {
|
220 |
+
padding: 0;
|
221 |
+
text-align: center;
|
222 |
+
width: auto;
|
223 |
+
vertical-align: middle
|
224 |
+
}
|
225 |
+
|
226 |
+
.w-factory-clearfy-000-setup-content table.tax-rates td {
|
227 |
+
border: 1px solid #f5f5f5;
|
228 |
+
padding: 6px;
|
229 |
+
text-align: center;
|
230 |
+
vertical-align: middle
|
231 |
+
}
|
232 |
+
|
233 |
+
.w-factory-clearfy-000-setup-content table.tax-rates td input {
|
234 |
+
outline: 0;
|
235 |
+
border: 0;
|
236 |
+
padding: 0;
|
237 |
+
box-shadow: none;
|
238 |
+
text-align: center;
|
239 |
+
width: 100%
|
240 |
+
}
|
241 |
+
|
242 |
+
.w-factory-clearfy-000-setup-content table.tax-rates td.sort {
|
243 |
+
cursor: move;
|
244 |
+
color: #ccc
|
245 |
+
}
|
246 |
+
|
247 |
+
.w-factory-clearfy-000-setup-content table.tax-rates td.sort::before {
|
248 |
+
content: "\f333";
|
249 |
+
font-family: dashicons
|
250 |
+
}
|
251 |
+
|
252 |
+
.w-factory-clearfy-000-setup-content table.tax-rates td.readonly {
|
253 |
+
background: #f5f5f5
|
254 |
+
}
|
255 |
+
|
256 |
+
.w-factory-clearfy-000-setup-content table.tax-rates .add {
|
257 |
+
padding: 1em 0 0 1em;
|
258 |
+
line-height: 1;
|
259 |
+
font-size: 1em;
|
260 |
+
width: 0;
|
261 |
+
margin: 6px 0 0;
|
262 |
+
height: 0;
|
263 |
+
overflow: hidden;
|
264 |
+
position: relative;
|
265 |
+
display: inline-block
|
266 |
+
}
|
267 |
+
|
268 |
+
.w-factory-clearfy-000-setup-content table.tax-rates .add::before {
|
269 |
+
content: "\f502";
|
270 |
+
font-family: dashicons;
|
271 |
+
position: absolute;
|
272 |
+
left: 0;
|
273 |
+
top: 0
|
274 |
+
}
|
275 |
+
|
276 |
+
.w-factory-clearfy-000-setup-content table.tax-rates .remove {
|
277 |
+
padding: 1em 0 0 1em;
|
278 |
+
line-height: 1;
|
279 |
+
font-size: 1em;
|
280 |
+
width: 0;
|
281 |
+
margin: 0;
|
282 |
+
height: 0;
|
283 |
+
overflow: hidden;
|
284 |
+
position: relative;
|
285 |
+
display: inline-block
|
286 |
+
}
|
287 |
+
|
288 |
+
.w-factory-clearfy-000-setup-content table.tax-rates .remove::before {
|
289 |
+
content: "\f182";
|
290 |
+
font-family: dashicons;
|
291 |
+
position: absolute;
|
292 |
+
left: 0;
|
293 |
+
top: 0
|
294 |
+
}
|
295 |
+
|
296 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages {
|
297 |
+
width: 100%;
|
298 |
+
border-top: 1px solid #eee
|
299 |
+
}
|
300 |
+
|
301 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages thead th {
|
302 |
+
display: none
|
303 |
+
}
|
304 |
+
|
305 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages .page-name {
|
306 |
+
width: 30%;
|
307 |
+
font-weight: 700
|
308 |
+
}
|
309 |
+
|
310 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages td, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages th {
|
311 |
+
padding: 14px 0;
|
312 |
+
border-bottom: 1px solid #eee
|
313 |
+
}
|
314 |
+
|
315 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages td:first-child, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages th:first-child {
|
316 |
+
padding-right: 9px
|
317 |
+
}
|
318 |
+
|
319 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages th {
|
320 |
+
padding-top: 0
|
321 |
+
}
|
322 |
+
|
323 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages .page-options p {
|
324 |
+
color: #777;
|
325 |
+
margin: 6px 0 0 24px;
|
326 |
+
line-height: 1.75
|
327 |
+
}
|
328 |
+
|
329 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages .page-options p input {
|
330 |
+
vertical-align: middle;
|
331 |
+
margin: 1px 0 0;
|
332 |
+
height: 1.75em;
|
333 |
+
width: 1.75em;
|
334 |
+
line-height: 1.75
|
335 |
+
}
|
336 |
+
|
337 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages .page-options p label {
|
338 |
+
line-height: 1
|
339 |
+
}
|
340 |
+
|
341 |
+
@media screen and (max-width: 782px) {
|
342 |
+
.w-factory-clearfy-000-setup-content .form-table tbody th {
|
343 |
+
width: auto
|
344 |
+
}
|
345 |
+
}
|
346 |
+
|
347 |
+
.w-factory-clearfy-000-setup-content .twitter-share-button {
|
348 |
+
float: right
|
349 |
+
}
|
350 |
+
|
351 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps {
|
352 |
+
overflow: hidden;
|
353 |
+
margin: 0 0 24px;
|
354 |
+
padding-bottom: 2px
|
355 |
+
}
|
356 |
+
|
357 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps h2 {
|
358 |
+
margin-bottom: 12px
|
359 |
+
}
|
360 |
+
|
361 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps .w-factory-clearfy-000-setup-next-steps-first {
|
362 |
+
float: left;
|
363 |
+
width: 50%;
|
364 |
+
box-sizing: border-box
|
365 |
+
}
|
366 |
+
|
367 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps .w-factory-clearfy-000-setup-next-steps-last {
|
368 |
+
float: right;
|
369 |
+
width: 50%;
|
370 |
+
box-sizing: border-box
|
371 |
+
}
|
372 |
+
|
373 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul {
|
374 |
+
padding: 0 2em 0 0;
|
375 |
+
list-style: none outside;
|
376 |
+
margin: 0
|
377 |
+
}
|
378 |
+
|
379 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul li a {
|
380 |
+
display: block;
|
381 |
+
padding: 0 0 .75em
|
382 |
+
}
|
383 |
+
|
384 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button {
|
385 |
+
background-color: #f7f7f7;
|
386 |
+
border-color: #ccc;
|
387 |
+
color: #23282d;
|
388 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #ccc;
|
389 |
+
text-shadow: 1px 0 1px #eee, 0 1px 1px #eee;
|
390 |
+
font-size: 1em;
|
391 |
+
height: auto;
|
392 |
+
line-height: 1.75;
|
393 |
+
margin: 0 0 .75em;
|
394 |
+
opacity: 1;
|
395 |
+
padding: 1em;
|
396 |
+
text-align: center
|
397 |
+
}
|
398 |
+
|
399 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button:active, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button:focus, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button:hover {
|
400 |
+
background: #f5f5f5;
|
401 |
+
border-color: #aaa
|
402 |
+
}
|
403 |
+
|
404 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button-primary {
|
405 |
+
color: #fff;
|
406 |
+
background-color: #f19570;
|
407 |
+
border-color: #f77d50;
|
408 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #f77d50;
|
409 |
+
text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50
|
410 |
+
}
|
411 |
+
|
412 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button-primary:active, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button-primary:focus, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button-primary:hover {
|
413 |
+
color: #fff;
|
414 |
+
background: #f77d50;
|
415 |
+
border-color: #f77d50;
|
416 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #f77d50
|
417 |
+
}
|
418 |
+
|
419 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul li a::before {
|
420 |
+
color: #82878c;
|
421 |
+
font: 400 20px/1 dashicons;
|
422 |
+
speak: none;
|
423 |
+
display: inline-block;
|
424 |
+
padding: 0 10px 0 0;
|
425 |
+
top: 1px;
|
426 |
+
position: relative;
|
427 |
+
text-decoration: none !important;
|
428 |
+
vertical-align: top
|
429 |
+
}
|
430 |
+
|
431 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .learn-more a::before {
|
432 |
+
content: "\f105"
|
433 |
+
}
|
434 |
+
|
435 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .video-walkthrough a::before {
|
436 |
+
content: "\f126"
|
437 |
+
}
|
438 |
+
|
439 |
+
.w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .newsletter a::before {
|
440 |
+
content: "\f465"
|
441 |
+
}
|
442 |
+
|
443 |
+
.w-factory-clearfy-000-setup-content .updated, .w-factory-clearfy-000-setup-content .woocommerce-newsletter {
|
444 |
+
padding: 24px 24px 0;
|
445 |
+
margin: 0 0 24px;
|
446 |
+
overflow: hidden;
|
447 |
+
background: #f5f5f5
|
448 |
+
}
|
449 |
+
|
450 |
+
.w-factory-clearfy-000-setup-content .updated p, .w-factory-clearfy-000-setup-content .woocommerce-newsletter p {
|
451 |
+
padding: 0;
|
452 |
+
margin: 0 0 12px
|
453 |
+
}
|
454 |
+
|
455 |
+
.w-factory-clearfy-000-setup-content .updated form, .w-factory-clearfy-000-setup-content .updated p:last-child, .w-factory-clearfy-000-setup-content .woocommerce-newsletter form, .w-factory-clearfy-000-setup-content .woocommerce-newsletter p:last-child {
|
456 |
+
margin: 0 0 24px
|
457 |
+
}
|
458 |
+
|
459 |
+
.w-factory-clearfy-000-setup-content .checkbox input[type=checkbox] {
|
460 |
+
opacity: 0;
|
461 |
+
position: absolute;
|
462 |
+
left: -9999px
|
463 |
+
}
|
464 |
+
|
465 |
+
.w-factory-clearfy-000-setup-content .checkbox label {
|
466 |
+
position: relative;
|
467 |
+
display: inline-block;
|
468 |
+
padding-left: 28px
|
469 |
+
}
|
470 |
+
|
471 |
+
.w-factory-clearfy-000-setup-content .checkbox label::after, .w-factory-clearfy-000-setup-content .checkbox label::before {
|
472 |
+
position: absolute;
|
473 |
+
content: "";
|
474 |
+
display: inline-block
|
475 |
+
}
|
476 |
+
|
477 |
+
.w-factory-clearfy-000-setup-content .checkbox label::before {
|
478 |
+
height: 16px;
|
479 |
+
width: 16px;
|
480 |
+
left: 0;
|
481 |
+
top: 3px;
|
482 |
+
border: 1px solid #aaa;
|
483 |
+
background-color: #fff;
|
484 |
+
border-radius: 3px
|
485 |
+
}
|
486 |
+
|
487 |
+
.w-factory-clearfy-000-setup-content .checkbox label::after {
|
488 |
+
height: 5px;
|
489 |
+
width: 9px;
|
490 |
+
border-left: 2px solid;
|
491 |
+
border-bottom: 2px solid;
|
492 |
+
-webkit-transform: rotate(-45deg);
|
493 |
+
-ms-transform: rotate(-45deg);
|
494 |
+
transform: rotate(-45deg);
|
495 |
+
left: 4px;
|
496 |
+
top: 7px;
|
497 |
+
color: #fff
|
498 |
+
}
|
499 |
+
|
500 |
+
.w-factory-clearfy-000-setup-content .checkbox input[type=checkbox] + label::after {
|
501 |
+
content: none
|
502 |
+
}
|
503 |
+
|
504 |
+
.w-factory-clearfy-000-setup-content .checkbox input[type=checkbox]:checked + label::after {
|
505 |
+
content: ""
|
506 |
+
}
|
507 |
+
|
508 |
+
.w-factory-clearfy-000-setup-content .checkbox input[type=checkbox]:focus + label::before {
|
509 |
+
outline: #3b99fc auto 5px
|
510 |
+
}
|
511 |
+
|
512 |
+
.w-factory-clearfy-000-setup-content .checkbox input[type=checkbox]:checked + label::before {
|
513 |
+
background: #935687;
|
514 |
+
border-color: #935687
|
515 |
+
}
|
libs/factory/clearfy/assets/js/clearfy-globals.js
ADDED
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
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 |
+
*
|
10 |
+
* @since 2.0.5
|
11 |
+
* @pacakge clearfy
|
12 |
+
*/
|
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 |
+
*
|
29 |
+
* @param {string} message - сообщение об ошибке или предупреждение
|
30 |
+
* @param {string} type - тип уведомления (error, warning, success)
|
31 |
+
*/
|
32 |
+
showNotice: function(message, type) {
|
33 |
+
var noticeContanier = $('<div></div>'),
|
34 |
+
noticeInnerWrap = $('<p></p>'),
|
35 |
+
dashicon = $('<span></span>'),
|
36 |
+
dashiconClass,
|
37 |
+
noticeId = this.makeid();
|
38 |
+
|
39 |
+
if( !type ) {
|
40 |
+
type = 'warning';
|
41 |
+
}
|
42 |
+
|
43 |
+
noticeContanier.addClass('alert', 'wbcr-factory-warning-notice')
|
44 |
+
.addClass('alert-' + type).addClass('wbcr-factory-' + type + '-notice');
|
45 |
+
|
46 |
+
noticeContanier.append(noticeInnerWrap);
|
47 |
+
noticeContanier.attr('id', 'uq-' + noticeId);
|
48 |
+
|
49 |
+
if( 'success' === type ) {
|
50 |
+
dashiconClass = 'dashicons-plus';
|
51 |
+
} else if( 'error' === type ) {
|
52 |
+
dashiconClass = 'dashicons-no';
|
53 |
+
} else {
|
54 |
+
dashiconClass = 'dashicons-warning';
|
55 |
+
}
|
56 |
+
|
57 |
+
dashicon.addClass('dashicons').addClass(dashiconClass);
|
58 |
+
noticeInnerWrap.prepend(dashicon);
|
59 |
+
dashicon.after(message);
|
60 |
+
|
61 |
+
$([document.documentElement, document.body]).animate({
|
62 |
+
scrollTop: $('.wbcr-factory-content').offset().top - 100
|
63 |
+
}, 300, function() {
|
64 |
+
noticeContanier.hide();
|
65 |
+
$('.wbcr-factory-content').prepend(noticeContanier);
|
66 |
+
noticeContanier.fadeIn();
|
67 |
+
|
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;
|
80 |
+
},
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Удаляет уведомление из интерфейса Clearfy
|
84 |
+
*
|
85 |
+
* @param {string} noticeId - id уведомления
|
86 |
+
*/
|
87 |
+
hideNotice: function(noticeId) {
|
88 |
+
var el;
|
89 |
+
if( !noticeId ) {
|
90 |
+
el = $('.wbcr-factory-content').find('.alert');
|
91 |
+
} else {
|
92 |
+
el = $('#uq-' + noticeId);
|
93 |
+
}
|
94 |
+
|
95 |
+
el.fadeOut(500, function(e) {
|
96 |
+
$(e).remove();
|
97 |
+
|
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 |
+
|
111 |
+
makeid: function() {
|
112 |
+
var text = "";
|
113 |
+
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
114 |
+
|
115 |
+
for( var i = 0; i < 32; i++ ) {
|
116 |
+
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
117 |
+
}
|
118 |
+
|
119 |
+
return text;
|
120 |
+
}
|
121 |
+
|
122 |
+
};
|
123 |
+
|
124 |
+
$.wfactory_439.hooks.add('core/components/pre_activate', function(button) {
|
125 |
+
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
126 |
+
if( !$('#WBCR').length ) {
|
127 |
+
return false;
|
128 |
+
}
|
129 |
+
|
130 |
+
if( button.closest('.alert').length ) {
|
131 |
+
button.closest('.alert').remove();
|
132 |
+
}
|
133 |
+
|
134 |
+
if( button.closest('.plugin-card').length ) {
|
135 |
+
button.closest('.plugin-card').removeClass('plugin-status-deactive');
|
136 |
+
button.closest('.plugin-card').find('.delete-now').remove();
|
137 |
+
}
|
138 |
+
});
|
139 |
+
|
140 |
+
$.wfactory_439.hooks.add('core/components/deactivated', function(button, data, response) {
|
141 |
+
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
142 |
+
if( !$('#WBCR').length ) {
|
143 |
+
return false;
|
144 |
+
}
|
145 |
+
|
146 |
+
if( button.closest('.plugin-card').length ) {
|
147 |
+
button.closest('.plugin-card').addClass('plugin-status-deactive');
|
148 |
+
|
149 |
+
if( response.data['delete_button'] && response.data['delete_button'] !== '' ) {
|
150 |
+
button.before($(response.data['delete_button']).addClass('delete-now'));
|
151 |
+
}
|
152 |
+
}
|
153 |
+
|
154 |
+
if( button.closest('.wbcr-hide-after-action').length ) {
|
155 |
+
button.closest('.wbcr-hide-after-action').remove();
|
156 |
+
}
|
157 |
+
});
|
158 |
+
|
159 |
+
$.wfactory_439.hooks.add('core/components/deleted', function(button) {
|
160 |
+
// Выполняем код ниже, только на страницах плагина с интерфейсом Clearfy
|
161 |
+
if( !$('#WBCR').length ) {
|
162 |
+
return false;
|
163 |
+
}
|
164 |
+
|
165 |
+
let button_i18n = button.data('i18n');
|
166 |
+
|
167 |
+
button.closest('.plugin-card').find('.install-now').data('plugin-action', 'install');
|
168 |
+
button.closest('.plugin-card').find('.install-now').attr('data-plugin-action', 'install');
|
169 |
+
button.closest('.plugin-card').find('.install-now').removeClass('button-primary').addClass('button-default');
|
170 |
+
button.closest('.plugin-card').find('.install-now').text(button_i18n.install);
|
171 |
+
|
172 |
+
if( button.closest('.plugin-card').length ) {
|
173 |
+
button.closest('.plugin-card').addClass('plugin-status-deactive');
|
174 |
+
button.remove();
|
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;
|
207 |
+
}
|
208 |
+
|
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/{license-manager.js → clearfy-license-manager.js}
RENAMED
@@ -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/{search-options.js → clearfy-search-options.js}
RENAMED
@@ -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-224__autocomplete-selected",suggestion:"wbcr-factory-clearfy-224__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-224__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-224__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/boot.php
CHANGED
@@ -10,71 +10,80 @@
|
|
10 |
*/
|
11 |
|
12 |
// Exit if accessed directly
|
13 |
-
if
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if
|
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
|
36 |
/**
|
37 |
* Подключаем скрипты для установки компонентов Clearfy
|
38 |
* на все страницы админпанели.
|
39 |
*/
|
40 |
-
add_action(
|
41 |
-
wp_enqueue_script(
|
|
|
|
|
|
|
42 |
|
43 |
-
require_once
|
44 |
-
$all_options = \WBCR\
|
45 |
|
46 |
-
if
|
47 |
return;
|
48 |
}
|
49 |
|
50 |
$allow_print_data = false;
|
51 |
$formated_options = [];
|
52 |
|
53 |
-
foreach
|
54 |
-
if
|
55 |
$allow_print_data = true;
|
56 |
}
|
57 |
|
58 |
$formated_options[] = [
|
59 |
'value' => $option['title'],
|
60 |
-
'data'
|
61 |
//'hint' => isset($option['hint']) ? $option['hint'] : '',
|
62 |
'page_url' => $option['page_url'],
|
63 |
-
'page_id'
|
64 |
]
|
65 |
];
|
66 |
}
|
67 |
|
68 |
-
if
|
69 |
return;
|
70 |
}
|
71 |
|
72 |
-
wp_localize_script(
|
73 |
-
}
|
74 |
|
75 |
-
if
|
76 |
-
require(
|
77 |
-
require(
|
78 |
-
require(
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
}
|
80 |
}
|
10 |
*/
|
11 |
|
12 |
// Exit if accessed directly
|
13 |
+
if( !defined('ABSPATH') ) {
|
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() ) {
|
36 |
/**
|
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;
|
51 |
}
|
52 |
|
53 |
$allow_print_data = false;
|
54 |
$formated_options = [];
|
55 |
|
56 |
+
foreach($all_options as $option) {
|
57 |
+
if( !$allow_print_data && isset($_GET['page']) && $option['page_id'] === $_GET['page'] ) {
|
58 |
$allow_print_data = true;
|
59 |
}
|
60 |
|
61 |
$formated_options[] = [
|
62 |
'value' => $option['title'],
|
63 |
+
'data' => [
|
64 |
//'hint' => isset($option['hint']) ? $option['hint'] : '',
|
65 |
'page_url' => $option['page_url'],
|
66 |
+
'page_id' => $option['page_id']
|
67 |
]
|
68 |
];
|
69 |
}
|
70 |
|
71 |
+
if( !$allow_print_data ) {
|
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_224_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_224_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_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_223-ru_RU.mo → wbcr_factory_clearfy_230-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/clearfy/langs/{wbcr_factory_clearfy_223-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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_PageBase
|
|
80 |
|
81 |
/**
|
82 |
* @since 2.0.7
|
83 |
-
* @var \WBCR\
|
84 |
*/
|
85 |
protected $premium;
|
86 |
|
@@ -98,7 +98,7 @@ class Wbcr_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_PageBase
|
|
98 |
|
99 |
/**
|
100 |
* @since 2.0.7
|
101 |
-
* @var \WBCR\
|
102 |
*/
|
103 |
protected $premium_license;
|
104 |
|
@@ -107,9 +107,9 @@ class Wbcr_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_PageBase
|
|
107 |
|
108 |
/**
|
109 |
* {@inheritdoc}
|
110 |
-
* @param
|
111 |
*/
|
112 |
-
public function __construct(
|
113 |
{
|
114 |
$this->plugin = $plugin;
|
115 |
|
@@ -136,8 +136,8 @@ class Wbcr_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_PageBase
|
|
147 |
*/
|
148 |
public function ajax_handler()
|
149 |
{
|
150 |
-
|
151 |
}
|
152 |
|
153 |
/**
|
@@ -157,7 +157,7 @@ class Wbcr_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_LicensePage extends Wbcr_FactoryClearfy224_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_FactoryClearfy224_MoreFeaturesPage extends Wbcr_FactoryPages432_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_FactoryClearfy224_MoreFeaturesPage extends Wbcr_FactoryPages432_Impre
|
|
74 |
* @return string
|
75 |
*/
|
76 |
public function getPageTitle() {
|
77 |
-
return __( 'More features', '
|
78 |
}
|
79 |
|
80 |
/**
|
@@ -88,66 +88,66 @@ class Wbcr_FactoryClearfy224_MoreFeaturesPage extends Wbcr_FactoryPages432_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_FactoryClearfy224_MoreFeaturesPage extends Wbcr_FactoryPages432_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
ADDED
@@ -0,0 +1,184 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
+
|
5 |
+
// Exit if accessed directly
|
6 |
+
if( !defined('ABSPATH') ) {
|
7 |
+
exit;
|
8 |
+
}
|
9 |
+
|
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 |
+
|
25 |
+
/**
|
26 |
+
* @var string
|
27 |
+
*/
|
28 |
+
public $type = 'page';
|
29 |
+
|
30 |
+
/**
|
31 |
+
* {@inheritDoc}
|
32 |
+
*
|
33 |
+
* @since 2.2.2 - добавлен
|
34 |
+
* @var bool
|
35 |
+
*/
|
36 |
+
public $page_parent_page = 'none';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @var string
|
40 |
+
*/
|
41 |
+
public $menu_target = 'options-general.php';
|
42 |
+
|
43 |
+
/**
|
44 |
+
* {@inheritDoc}
|
45 |
+
*
|
46 |
+
* @since 2.2.2 - добавлен
|
47 |
+
* @var bool
|
48 |
+
*/
|
49 |
+
public $show_right_sidebar_in_options = false;
|
50 |
+
|
51 |
+
/**
|
52 |
+
* {@inheritDoc}
|
53 |
+
*
|
54 |
+
* @since 2.2.2 - добавлен
|
55 |
+
* @var bool
|
56 |
+
*/
|
57 |
+
public $available_for_multisite = false;
|
58 |
+
|
59 |
+
/**
|
60 |
+
* {@inheritDoc}
|
61 |
+
*
|
62 |
+
* @since 2.2.2 - добавлен
|
63 |
+
* @var bool
|
64 |
+
*/
|
65 |
+
public $internal = true;
|
66 |
+
|
67 |
+
private $current_step = 'step0';
|
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()
|
88 |
+
{
|
89 |
+
return $this->plugin->getPluginPageUrl('quick_start');
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Поведение экшенов страницы было изменено. В данной реализации экшены используется для пагинации шагов.
|
94 |
+
*
|
95 |
+
* @param string $action
|
96 |
+
*
|
97 |
+
* @throws \Exception
|
98 |
+
*/
|
99 |
+
public function executeByName($action)
|
100 |
+
{
|
101 |
+
$step = self::DEFAULT_STEP;
|
102 |
+
|
103 |
+
if( false !== strpos($action, 'step') && isset($this->steps[$action]) ) {
|
104 |
+
$step = $this->current_step = $action;
|
105 |
+
}
|
106 |
+
|
107 |
+
ob_start();
|
108 |
+
$this->steps[$step]->html();
|
109 |
+
$step_content = ob_get_clean();
|
110 |
+
|
111 |
+
$this->showPage($step_content);
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Регистрируем класс обработчик шага
|
116 |
+
*
|
117 |
+
* Класс обработчик полностью отвечает за шаблон и функционально шага.
|
118 |
+
*
|
119 |
+
* @param string $path
|
120 |
+
* @param string $class_name
|
121 |
+
* @throws \Exception
|
122 |
+
*/
|
123 |
+
protected function register_step($path, $class_name)
|
124 |
+
{
|
125 |
+
require_once $path;
|
126 |
+
|
127 |
+
if( !class_exists($class_name) ) {
|
128 |
+
throw new \Exception("Class {$class_name} is not found!");
|
129 |
+
}
|
130 |
+
|
131 |
+
$step = new $class_name($this);
|
132 |
+
$this->steps[$step->get_id()] = $step;
|
133 |
+
}
|
134 |
+
|
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']]) ) {
|
153 |
+
$this->steps[$_GET['action']]->assets($scripts, $styles);
|
154 |
+
}
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* {@inheritDoc}
|
159 |
+
*
|
160 |
+
* @param string $content
|
161 |
+
* @since 2.2.2 - добавлен
|
162 |
+
*/
|
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;
|
171 |
+
} ?>
|
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
|
183 |
+
}
|
184 |
+
}
|
libs/factory/clearfy/pages/class-pages-components.php
ADDED
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* This file is the add-ons page.
|
7 |
+
*
|
8 |
+
* @author Alex Kovalev <alex@byonepress.com>
|
9 |
+
* @since 1.0.0
|
10 |
+
* @copyright (c) 2017, OnePress Ltd
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
|
14 |
+
// Exit if accessed directly
|
15 |
+
if( !defined('ABSPATH') ) {
|
16 |
+
exit;
|
17 |
+
}
|
18 |
+
|
19 |
+
class Components extends \Wbcr_FactoryClearfy230_PageBase {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* The id of the page in the admin menu.
|
23 |
+
*
|
24 |
+
* Mainly used to navigate between pages.
|
25 |
+
*
|
26 |
+
* @since 1.0.0
|
27 |
+
* @see FactoryPages438_AdminPage
|
28 |
+
*
|
29 |
+
* @var string
|
30 |
+
*/
|
31 |
+
public $id = "components";
|
32 |
+
|
33 |
+
public $page_menu_position = 0;
|
34 |
+
|
35 |
+
public $page_menu_dashicon = 'dashicons-admin-plugins';
|
36 |
+
|
37 |
+
public $type = 'page';
|
38 |
+
|
39 |
+
public $show_right_sidebar_in_options = false;
|
40 |
+
|
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 |
+
|
53 |
+
$this->plugin = $plugin;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Requests assets (js and css) for the page.
|
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 |
+
*/
|
76 |
+
do_action('wbcr/clearfy/components/page_assets', $scripts, $styles);
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
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 |
+
{
|
90 |
+
$notices[] = [
|
91 |
+
'conditions' => [
|
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[] = [
|
99 |
+
'conditions' => [
|
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[] = [
|
107 |
+
'conditions' => [
|
108 |
+
'wbcr-force-update-components-error' => 'unknown_error'
|
109 |
+
],
|
110 |
+
'type' => 'danger',
|
111 |
+
'message' => __('An unknown error occurred while updating plugin components. Please contact the plugin support team to resolve this issue.', 'hide_my_wp')
|
112 |
+
];
|
113 |
+
|
114 |
+
return $notices;
|
115 |
+
}
|
116 |
+
|
117 |
+
public function get_components()
|
118 |
+
{
|
119 |
+
return [];
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* This method simply sorts the list of components.
|
124 |
+
*
|
125 |
+
* @param $components
|
126 |
+
*
|
127 |
+
* @return array
|
128 |
+
*/
|
129 |
+
public function order($components)
|
130 |
+
{
|
131 |
+
$deactivate_components = $this->plugin->getPopulateOption('deactive_preinstall_components', []);
|
132 |
+
|
133 |
+
$ordered_components = [
|
134 |
+
'premium_active' => [],
|
135 |
+
'premium_deactive' => [],
|
136 |
+
'other' => []
|
137 |
+
];
|
138 |
+
|
139 |
+
foreach((array)$components as $component) {
|
140 |
+
|
141 |
+
if( ('premium' === $component['build'] || 'freemium' === $component['build']) && 'internal' === $component['type'] ) {
|
142 |
+
if( in_array($component['name'], $deactivate_components) ) {
|
143 |
+
// free component is deactivated
|
144 |
+
$order_key = 'premium_deactive';
|
145 |
+
} else {
|
146 |
+
// free component activated
|
147 |
+
$order_key = 'premium_active';
|
148 |
+
}
|
149 |
+
} else {
|
150 |
+
$order_key = 'other';
|
151 |
+
}
|
152 |
+
|
153 |
+
$ordered_components[$order_key][] = $component;
|
154 |
+
}
|
155 |
+
|
156 |
+
return array_merge($ordered_components['premium_active'], $ordered_components['premium_deactive'], $ordered_components['other']);
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* This method simply show contents of the component page.
|
161 |
+
*
|
162 |
+
* @throws \Exception
|
163 |
+
*/
|
164 |
+
public function showPageContent()
|
165 |
+
{
|
166 |
+
$components = $this->order($this->get_components());
|
167 |
+
|
168 |
+
/**
|
169 |
+
* @param array $components
|
170 |
+
* @since 1.4.0
|
171 |
+
*
|
172 |
+
*/
|
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
|
185 |
+
*/
|
186 |
+
do_action('wbcr/clearfy/components/custom_plugins_card', $components);
|
187 |
+
?>
|
188 |
+
|
189 |
+
<?php foreach((array)$components as $component): ?>
|
190 |
+
<?php
|
191 |
+
|
192 |
+
$slug = $component['name'];
|
193 |
+
|
194 |
+
if( $component['type'] == 'wordpress' || $component['type'] == 'creativemotion' ) {
|
195 |
+
$slug = $component['base_path'];
|
196 |
+
}
|
197 |
+
|
198 |
+
$install_button = $this->plugin->get_install_component_button($component['type'], $slug);
|
199 |
+
|
200 |
+
$status_class = '';
|
201 |
+
if( !$install_button->is_plugin_activate() ) {
|
202 |
+
$status_class = ' plugin-status-deactive';
|
203 |
+
}
|
204 |
+
|
205 |
+
$install_button->add_class('install-now');
|
206 |
+
|
207 |
+
// Delete button
|
208 |
+
$delete_button = $this->plugin->get_delete_component_button($component['type'], $slug);
|
209 |
+
$delete_button->add_class('delete-now');
|
210 |
+
|
211 |
+
?>
|
212 |
+
<div class="plugin-card<?php echo esc_attr($status_class) ?>">
|
213 |
+
<?php if( isset($component['build']) ): ?>
|
214 |
+
<div class="plugin-card-<?php echo esc_attr($component['build']) ?>-ribbon"><?php echo ucfirst(esc_html($component['build'])) ?></div>
|
215 |
+
<?php endif; ?>
|
216 |
+
<div class="plugin-card-top">
|
217 |
+
<div class="name column-name">
|
218 |
+
<h3>
|
219 |
+
<a href="<?php echo esc_url($component['url']) ?>" class="thickbox open-plugin-details-modal">
|
220 |
+
<?php echo esc_html($component['title']) ?>
|
221 |
+
<img src="<?php echo esc_attr($component['icon']) ?>" class="plugin-icon" alt="<?php echo esc_attr($component['title']) ?>">
|
222 |
+
</a>
|
223 |
+
</h3>
|
224 |
+
</div>
|
225 |
+
<div class="desc column-description">
|
226 |
+
<p><?php echo esc_html($component['description']); ?></p>
|
227 |
+
</div>
|
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; ?>
|
235 |
+
</div>
|
236 |
+
</div>
|
237 |
+
<?php endforeach; ?>
|
238 |
+
<div class="clearfix"></div>
|
239 |
+
</div>
|
240 |
+
<?php
|
241 |
+
}
|
242 |
+
}
|
243 |
+
|
244 |
+
|
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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_ImpressiveThe
|
|
131 |
}
|
132 |
|
133 |
/**
|
134 |
-
* @return
|
135 |
*/
|
136 |
public function request()
|
137 |
{
|
@@ -218,8 +227,11 @@ class Wbcr_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_ImpressiveThe
|
|
227 |
/**
|
228 |
* @since 4.0.9 - является устаревшим
|
229 |
*/
|
230 |
-
$widgets =
|
231 |
$widgets,
|
232 |
$position,
|
233 |
$this->plugin,
|
@@ -256,24 +268,24 @@ class Wbcr_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_ImpressiveThe
|
|
445 |
<?php
|
446 |
}
|
447 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
448 |
/**
|
449 |
* Registers page options in the options registry
|
450 |
*
|
@@ -452,13 +498,13 @@ class Wbcr_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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_FactoryClearfy224_PageBase extends Wbcr_FactoryPages432_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
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Step
|
7 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
+
* @copyright (c) 23.07.2020, Webcraftic
|
9 |
+
* @version 1.0
|
10 |
+
*/
|
11 |
+
class Step_Custom extends Step {
|
12 |
+
|
13 |
+
public function get_title()
|
14 |
+
{
|
15 |
+
return 'Custom step';
|
16 |
+
}
|
17 |
+
|
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']) ) {
|
28 |
+
$align = '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>
|
42 |
+
<?php
|
43 |
+
}
|
44 |
+
|
45 |
+
protected function set_button_handler()
|
46 |
+
{
|
47 |
+
if( isset($_POST['continue_button_' . $this->get_id()]) ) {
|
48 |
+
$this->continue_step();
|
49 |
+
}
|
50 |
+
|
51 |
+
if( isset($_POST['skip_button_' . $this->get_id()]) ) {
|
52 |
+
$this->skip_step();
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
public function html()
|
57 |
+
{
|
58 |
+
/// nothing
|
59 |
+
}
|
60 |
+
|
61 |
+
}
|
libs/factory/clearfy/pages/setup-parts/class-step-form.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Step
|
7 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
+
* @copyright (c) 23.07.2020, Webcraftic
|
9 |
+
* @version 1.0
|
10 |
+
*/
|
11 |
+
class Step_Form extends Step {
|
12 |
+
|
13 |
+
public function __construct(\WBCR\FactoryClearfy230\Pages\Setup $page)
|
14 |
+
{
|
15 |
+
parent::__construct($page);
|
16 |
+
}
|
17 |
+
|
18 |
+
public function get_title()
|
19 |
+
{
|
20 |
+
return 'Default form';
|
21 |
+
}
|
22 |
+
|
23 |
+
public function get_form_description()
|
24 |
+
{
|
25 |
+
return 'This is a sample html form, please customize the form fields, add description and title.';
|
26 |
+
}
|
27 |
+
|
28 |
+
public function get_form_options()
|
29 |
+
{
|
30 |
+
return [];
|
31 |
+
}
|
32 |
+
|
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 |
+
|
45 |
+
$form_options[] = [
|
46 |
+
'type' => 'form-group',
|
47 |
+
'items' => $options,
|
48 |
+
//'cssClass' => 'postbox'
|
49 |
+
];
|
50 |
+
|
51 |
+
if( isset($form_options[0]) && isset($form_options[0]['items']) && is_array($form_options[0]['items']) ) {
|
52 |
+
foreach($form_options[0]['items'] as $key => $value) {
|
53 |
+
|
54 |
+
if( $value['type'] == 'div' || $value['type'] == 'more-link' ) {
|
55 |
+
if( isset($form_options[0]['items'][$key]['items']) && !empty($form_options[0]['items'][$key]['items']) ) {
|
56 |
+
foreach($form_options[0]['items'][$key]['items'] as $group_key => $group_value) {
|
57 |
+
$form_options[0]['items'][$key]['items'][$group_key]['layout']['column-left'] = '8';
|
58 |
+
$form_options[0]['items'][$key]['items'][$group_key]['layout']['column-right'] = '4';
|
59 |
+
}
|
60 |
+
|
61 |
+
continue;
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
if( in_array($value['type'], [
|
66 |
+
'checkbox',
|
67 |
+
'textarea',
|
68 |
+
'integer',
|
69 |
+
'textbox',
|
70 |
+
'dropdown',
|
71 |
+
'list',
|
72 |
+
'wp-editor'
|
73 |
+
]) ) {
|
74 |
+
$form_options[0]['items'][$key]['layout']['column-left'] = '8';
|
75 |
+
$form_options[0]['items'][$key]['layout']['column-right'] = '4';
|
76 |
+
}
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
+
$form->add($form_options);
|
81 |
+
$this->set_form_handler($form);
|
82 |
+
|
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();
|
103 |
+
$this->continue_step();
|
104 |
+
}
|
105 |
+
|
106 |
+
if( isset($_POST['skip_button_' . $this->get_id()]) ) {
|
107 |
+
$this->skip_step();
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
public function html()
|
112 |
+
{
|
113 |
+
$form_options = $this->get_form_options();
|
114 |
+
|
115 |
+
if( empty($form_options) ) {
|
116 |
+
echo 'Html form is not configured.';
|
117 |
+
|
118 |
+
return;
|
119 |
+
}
|
120 |
+
|
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>
|
129 |
+
<?php $this->render_form($form); ?>
|
130 |
+
</div>
|
131 |
+
</div>
|
132 |
+
<?php
|
133 |
+
}
|
134 |
+
|
135 |
+
}
|
libs/factory/clearfy/pages/setup-parts/class-step.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\FactoryClearfy230\Pages;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Step
|
7 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
8 |
+
* @copyright (c) 23.07.2020, Webcraftic
|
9 |
+
* @version 1.0
|
10 |
+
*/
|
11 |
+
abstract class Step {
|
12 |
+
|
13 |
+
protected $id;
|
14 |
+
|
15 |
+
protected $prev_id = false;
|
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;
|
32 |
+
//$this->form_handler();
|
33 |
+
}
|
34 |
+
|
35 |
+
public function get_id()
|
36 |
+
{
|
37 |
+
if( empty($this->id) ) {
|
38 |
+
throw new \Exception('Step ID setting is required for the {' . static::class . '} class!');
|
39 |
+
}
|
40 |
+
|
41 |
+
return $this->id;
|
42 |
+
}
|
43 |
+
|
44 |
+
public function get_next_id()
|
45 |
+
{
|
46 |
+
return $this->next_id;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Requests assets (js and css) for the page.
|
51 |
+
*
|
52 |
+
* @return void
|
53 |
+
* @since 1.0.0
|
54 |
+
* @see FactoryPages438_AdminPage
|
55 |
+
*
|
56 |
+
*/
|
57 |
+
public function assets($scripts, $styles)
|
58 |
+
{
|
59 |
+
// nothing
|
60 |
+
}
|
61 |
+
|
62 |
+
protected function continue_step($skip = false)
|
63 |
+
{
|
64 |
+
$next_id = $this->get_next_id();
|
65 |
+
if( !$next_id ) {
|
66 |
+
$next_id = $this->get_id();
|
67 |
+
}
|
68 |
+
wp_safe_redirect($this->page->getActionUrl($next_id));
|
69 |
+
die();
|
70 |
+
}
|
71 |
+
|
72 |
+
protected function skip_step()
|
73 |
+
{
|
74 |
+
$this->continue_step(true);
|
75 |
+
}
|
76 |
+
|
77 |
+
abstract public function get_title();
|
78 |
+
|
79 |
+
abstract public function html();
|
80 |
+
|
81 |
+
}
|
libs/factory/core/ajax/install-addons.php
ADDED
@@ -0,0 +1,228 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Ajax plugin configuration
|
4 |
+
*
|
5 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
6 |
+
* @copyright (c) 2017 Webraftic Ltd
|
7 |
+
* @version 1.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly
|
11 |
+
if( !defined('ABSPATH') ) {
|
12 |
+
exit;
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
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 |
+
|
22 |
+
$slug = $plugin_instance->request->post('plugin', null, true);
|
23 |
+
$action = $plugin_instance->request->post('plugin_action', null, true);
|
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 = [];
|
35 |
+
|
36 |
+
if( $storage == 'internal' ) {
|
37 |
+
if( $action == 'activate' ) {
|
38 |
+
if( $plugin_instance->activateComponent($slug) ) {
|
39 |
+
$success = true;
|
40 |
+
}
|
41 |
+
} else if( $action == 'deactivate' ) {
|
42 |
+
|
43 |
+
if( $plugin_instance->deactivateComponent($slug) ) {
|
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) ) {
|
51 |
+
$network_wide = $plugin_instance->isNetworkActive();
|
52 |
+
|
53 |
+
if( $action == 'activate' ) {
|
54 |
+
$result = activate_plugin($slug, '', $network_wide);
|
55 |
+
|
56 |
+
if( is_wp_error($result) ) {
|
57 |
+
wp_send_json_error(['error_message' => $result->get_error_message()]);
|
58 |
+
}
|
59 |
+
} else if( $action == 'deactivate' ) {
|
60 |
+
deactivate_plugins($slug, false, $network_wide);
|
61 |
+
}
|
62 |
+
|
63 |
+
$success = true;
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
if( $action == 'install' || $action == 'deactivate' ) {
|
68 |
+
try {
|
69 |
+
// Delete button
|
70 |
+
$delete_button = $plugin_instance->get_delete_component_button($storage, $slug);
|
71 |
+
$send_data['delete_button'] = $delete_button->get_button();
|
72 |
+
} catch( Exception $e ) {
|
73 |
+
wp_send_json_error(['error_message' => $e->getMessage()]);
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
// Если требуется обновить постоянные ссылки, даем сигнал, что пользователю, нужно показать
|
78 |
+
// всплывающее уведомление.
|
79 |
+
// todo: сделать более красивое решение с передачей текстовых сообщений
|
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 |
+
|
87 |
+
if( $success ) {
|
88 |
+
// todo: для совместимости с плагином Clearfy
|
89 |
+
if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
|
90 |
+
do_action('wbcr_clearfy_update_component', $slug, $action, $storage);
|
91 |
+
}
|
92 |
+
do_action("wfactory/updated_{$plugin_instance->getPluginName()}_component", $slug, $action, $storage);
|
93 |
+
|
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 |
+
/**
|
101 |
+
* Ajax event that calls the wbcr/clearfy/activated_component action,
|
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() ) {
|
120 |
+
do_action('wbcr/clearfy/activated_component', $component_name);
|
121 |
+
}
|
122 |
+
do_action("wfactory/activated_{$plugin_instance->getPluginName()}_component", $component_name);
|
123 |
+
|
124 |
+
wp_send_json_success();
|
125 |
+
}
|
126 |
+
|
127 |
+
/**
|
128 |
+
* Ajax handler for installing a plugin.
|
129 |
+
*
|
130 |
+
* @since 4.6.0
|
131 |
+
*
|
132 |
+
* @see Plugin_Upgrader
|
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 |
+
|
140 |
+
if( empty($_POST['slug']) ) {
|
141 |
+
wp_send_json_error(array(
|
142 |
+
'slug' => '',
|
143 |
+
'errorCode' => 'no_plugin_specified',
|
144 |
+
'errorMessage' => __('No plugin specified.'),
|
145 |
+
));
|
146 |
+
}
|
147 |
+
|
148 |
+
$status = array(
|
149 |
+
'install' => 'plugin',
|
150 |
+
'slug' => sanitize_key(wp_unslash($_POST['slug'])),
|
151 |
+
);
|
152 |
+
|
153 |
+
if( !current_user_can('install_plugins') ) {
|
154 |
+
$status['errorMessage'] = __('Sorry, you are not allowed to install plugins on this site.');
|
155 |
+
wp_send_json_error($status);
|
156 |
+
}
|
157 |
+
|
158 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
159 |
+
include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
160 |
+
|
161 |
+
$api = plugins_api('plugin_information', array(
|
162 |
+
'slug' => sanitize_key(wp_unslash($_POST['slug'])),
|
163 |
+
'fields' => array(
|
164 |
+
'sections' => false,
|
165 |
+
),
|
166 |
+
));
|
167 |
+
|
168 |
+
if( is_wp_error($api) ) {
|
169 |
+
$status['errorMessage'] = $api->get_error_message();
|
170 |
+
wp_send_json_error($status);
|
171 |
+
}
|
172 |
+
|
173 |
+
$status['pluginName'] = $api->name;
|
174 |
+
|
175 |
+
$skin = new WP_Ajax_Upgrader_Skin();
|
176 |
+
$upgrader = new Plugin_Upgrader($skin);
|
177 |
+
//$result = $upgrader->install($api->download_link);
|
178 |
+
$result = $upgrader->install('https://clearfy.pro/components/download.php');
|
179 |
+
|
180 |
+
if( defined('WP_DEBUG') && WP_DEBUG ) {
|
181 |
+
$status['debug'] = $skin->get_upgrade_messages();
|
182 |
+
}
|
183 |
+
|
184 |
+
if( is_wp_error($result) ) {
|
185 |
+
$status['errorCode'] = $result->get_error_code();
|
186 |
+
$status['errorMessage'] = $result->get_error_message();
|
187 |
+
wp_send_json_error($status);
|
188 |
+
} elseif( is_wp_error($skin->result) ) {
|
189 |
+
$status['errorCode'] = $skin->result->get_error_code();
|
190 |
+
$status['errorMessage'] = $skin->result->get_error_message();
|
191 |
+
wp_send_json_error($status);
|
192 |
+
} elseif( $skin->get_errors()->has_errors() ) {
|
193 |
+
$status['errorMessage'] = $skin->get_error_messages();
|
194 |
+
wp_send_json_error($status);
|
195 |
+
} elseif( is_null($result) ) {
|
196 |
+
global $wp_filesystem;
|
197 |
+
|
198 |
+
$status['errorCode'] = 'unable_to_connect_to_filesystem';
|
199 |
+
$status['errorMessage'] = __('Unable to connect to the filesystem. Please confirm your credentials.');
|
200 |
+
|
201 |
+
// Pass through the error from WP_Filesystem if one was raised.
|
202 |
+
if( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->has_errors() ) {
|
203 |
+
$status['errorMessage'] = esc_html($wp_filesystem->errors->get_error_message());
|
204 |
+
}
|
205 |
+
|
206 |
+
wp_send_json_error($status);
|
207 |
+
}
|
208 |
+
|
209 |
+
$install_status = install_plugin_install_status($api);
|
210 |
+
$pagenow = isset($_POST['pagenow']) ? sanitize_key($_POST['pagenow']) : '';
|
211 |
+
|
212 |
+
// If installation request is coming from import page, do not return network activation link.
|
213 |
+
$plugins_url = ('import' === $pagenow) ? admin_url('plugins.php') : network_admin_url('plugins.php');
|
214 |
+
|
215 |
+
if( current_user_can('activate_plugin', $install_status['file']) && is_plugin_inactive($install_status['file']) ) {
|
216 |
+
$status['activateUrl'] = add_query_arg(array(
|
217 |
+
'_wpnonce' => wp_create_nonce('activate-plugin_' . $install_status['file']),
|
218 |
+
'action' => 'activate',
|
219 |
+
'plugin' => $install_status['file'],
|
220 |
+
), $plugins_url);
|
221 |
+
}
|
222 |
+
|
223 |
+
if( is_multisite() && current_user_can('manage_network_plugins') && 'import' !== $pagenow ) {
|
224 |
+
$status['activateUrl'] = add_query_arg(array('networkwide' => 1), $status['activateUrl']);
|
225 |
+
}
|
226 |
+
|
227 |
+
wp_send_json_success($status);
|
228 |
+
}
|
libs/factory/core/assets/js/core-components.js
ADDED
@@ -0,0 +1,227 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* This code provides tools for downloading, installing external add-ons for the Clearfy plugin
|
3 |
+
*
|
4 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
5 |
+
* @copyright (c) 10.09.2017, Webcraftic
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
(function($) {
|
10 |
+
'use strict';
|
11 |
+
|
12 |
+
var externalAddon = {
|
13 |
+
init: function() {
|
14 |
+
this.events();
|
15 |
+
},
|
16 |
+
events: function() {
|
17 |
+
var self = this;
|
18 |
+
|
19 |
+
/**
|
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'),
|
27 |
+
plugin_action = $(this).data('plugin-action'),
|
28 |
+
plugin = $(this).data('plugin'),
|
29 |
+
storage = $(this).data('storage'),
|
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 |
+
}
|
41 |
+
|
42 |
+
var data = {
|
43 |
+
action: action,
|
44 |
+
slug: plugin_slug,
|
45 |
+
storage: storage,
|
46 |
+
plugin: plugin,
|
47 |
+
plugin_action: plugin_action,
|
48 |
+
_wpnonce: wpnonce
|
49 |
+
};
|
50 |
+
|
51 |
+
if( plugin_action === 'install' ) {
|
52 |
+
$this.addClass('updating-message');
|
53 |
+
}
|
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
|
65 |
+
]);
|
66 |
+
|
67 |
+
return;
|
68 |
+
}
|
69 |
+
|
70 |
+
if( response.success ) {
|
71 |
+
$this.removeClass('disabled').removeClass('updating-message');
|
72 |
+
|
73 |
+
if( plugin_action === 'install' ) {
|
74 |
+
|
75 |
+
plugin_action = 'activate';
|
76 |
+
$this.data('plugin-action', 'activate');
|
77 |
+
$this.attr('data-plugin-action', 'activate');
|
78 |
+
|
79 |
+
if( $this.hasClass('button') ) {
|
80 |
+
$this.removeClass('button-default').addClass('button-primary');
|
81 |
+
}
|
82 |
+
|
83 |
+
$.wfactory_439.hooks.run('core/components/installed', [
|
84 |
+
$this,
|
85 |
+
data,
|
86 |
+
response
|
87 |
+
]);
|
88 |
+
|
89 |
+
} else if( plugin_action === 'activate' ) {
|
90 |
+
|
91 |
+
plugin_action = 'deactivate';
|
92 |
+
$this.data('plugin-action', 'deactivate');
|
93 |
+
$this.attr('data-plugin-action', 'deactivate');
|
94 |
+
|
95 |
+
if( $this.hasClass('button') ) {
|
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
|
103 |
+
]);
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Send an additional request for activation of the component, during activation
|
107 |
+
* perform the action wbcr/clearfy/activated_component.
|
108 |
+
*
|
109 |
+
* Basically, this is necessary to prepare the plugin to work, write the necessary rows and
|
110 |
+
* tables in the database, rewriting permalinks, checking conflicts, etc.
|
111 |
+
*/
|
112 |
+
if( storage === 'freemius' || storage === 'internal' ) {
|
113 |
+
self.sendRequestToComponentActivationPrepare($this, data, button_i18n);
|
114 |
+
return;
|
115 |
+
}
|
116 |
+
|
117 |
+
} else if( plugin_action === 'deactivate' ) {
|
118 |
+
|
119 |
+
plugin_action = 'activate';
|
120 |
+
$this.data('plugin-action', 'activate');
|
121 |
+
$this.attr('data-plugin-action', 'activate');
|
122 |
+
|
123 |
+
if( $this.hasClass('button') ) {
|
124 |
+
$this.removeClass('button-default').addClass('button-primary');
|
125 |
+
}
|
126 |
+
|
127 |
+
$.wfactory_439.hooks.run('core/components/deactivated', [
|
128 |
+
$this,
|
129 |
+
data,
|
130 |
+
response
|
131 |
+
]);
|
132 |
+
|
133 |
+
} else if( plugin_action === 'delete' ) {
|
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' ) {
|
141 |
+
$this.removeClass('updating-message');
|
142 |
+
}
|
143 |
+
}
|
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;
|
151 |
+
});
|
152 |
+
},
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Отправляет дополнительный запрос на активацию компонента, во время активации
|
156 |
+
* выполняет хук wbcr/clearfy/activated_component.
|
157 |
+
*
|
158 |
+
* В принципе, это необходимо для подготовки плагина к работе, записи необходимых строк и таблиц в
|
159 |
+
* базу данных, перепись постоянных ссылок, проверка конфликтов и т.д.
|
160 |
+
*
|
161 |
+
* @param {object} componentButton
|
162 |
+
* @param {object} sendData
|
163 |
+
* @param {object} button_i18n
|
164 |
+
*/
|
165 |
+
sendRequestToComponentActivationPrepare: function(componentButton, sendData, button_i18n) {
|
166 |
+
var self = this;
|
167 |
+
|
168 |
+
componentButton.addClass('button-primary')
|
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');
|
176 |
+
|
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
|
184 |
+
]);
|
185 |
+
return;
|
186 |
+
}
|
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
|
194 |
+
]);
|
195 |
+
});
|
196 |
+
},
|
197 |
+
|
198 |
+
sendRequest: function(data, callback) {
|
199 |
+
var self = this;
|
200 |
+
|
201 |
+
$.ajax(ajaxurl, {
|
202 |
+
type: 'post',
|
203 |
+
dataType: 'json',
|
204 |
+
data: data,
|
205 |
+
success: function(data, textStatus, jqXHR) {
|
206 |
+
callback && callback(data);
|
207 |
+
},
|
208 |
+
error: function(xhr, ajaxOptions, thrownError) {
|
209 |
+
console.log(xhr.status);
|
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
|
217 |
+
]);
|
218 |
+
}
|
219 |
+
});
|
220 |
+
}
|
221 |
+
};
|
222 |
+
|
223 |
+
$(document).ready(function() {
|
224 |
+
externalAddon.init();
|
225 |
+
});
|
226 |
+
|
227 |
+
})(jQuery);
|
libs/factory/core/assets/js/core-general.js
ADDED
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
*
|
3 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
+
* @copyright (c) 02.09.2020, Webcraftic
|
5 |
+
* @version 1.0
|
6 |
+
*/
|
7 |
+
|
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.
|
19 |
+
*/
|
20 |
+
_items: {},
|
21 |
+
|
22 |
+
/**
|
23 |
+
* A set of priorities of registered filters.
|
24 |
+
*/
|
25 |
+
_priorities: {},
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Applies filters to a given input value.
|
29 |
+
*/
|
30 |
+
run: function(filterName, args) {
|
31 |
+
var input = args && args.length > 0 ? args[0] : null;
|
32 |
+
if( !this._items[filterName] ) {
|
33 |
+
return input;
|
34 |
+
}
|
35 |
+
|
36 |
+
for( var i in this._priorities[filterName] ) {
|
37 |
+
if( !this._priorities[filterName].hasOwnProperty(i) ) {
|
38 |
+
continue;
|
39 |
+
}
|
40 |
+
|
41 |
+
var priority = this._priorities[filterName][i];
|
42 |
+
|
43 |
+
for( var k = 0; k < this._items[filterName][priority].length; k++ ) {
|
44 |
+
var f = this._items[filterName][priority][k];
|
45 |
+
input = f.apply(f, args);
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
return input;
|
50 |
+
},
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Registers a new filter.
|
54 |
+
*/
|
55 |
+
add: function(filterName, callback, priority) {
|
56 |
+
|
57 |
+
if( !priority ) {
|
58 |
+
priority = 10;
|
59 |
+
}
|
60 |
+
|
61 |
+
if( !this._items[filterName] ) {
|
62 |
+
this._items[filterName] = {};
|
63 |
+
}
|
64 |
+
if( !this._items[filterName][priority] ) {
|
65 |
+
this._items[filterName][priority] = [];
|
66 |
+
}
|
67 |
+
this._items[filterName][priority].push(callback);
|
68 |
+
|
69 |
+
if( !this._priorities[filterName] ) {
|
70 |
+
this._priorities[filterName] = [];
|
71 |
+
}
|
72 |
+
if( $.inArray(priority, this._priorities[filterName]) === -1 ) {
|
73 |
+
this._priorities[filterName].push(priority);
|
74 |
+
}
|
75 |
+
|
76 |
+
this._priorities[filterName].sort(function(a, b) {
|
77 |
+
return a - b;
|
78 |
+
});
|
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 |
+
|
99 |
+
})(jQuery);
|
libs/factory/core/boot.php
CHANGED
@@ -14,49 +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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_Factory432_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_Factory432_ScriptList extends Wbcr_Factory432_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_Factory432_Plugin extends Wbcr_Factory432_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_Factory432_Plugin extends Wbcr_Factory432_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,
|
@@ -133,15 +142,53 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
133 |
|
134 |
// INIT PLUGIN COMPONENTS
|
135 |
$this->init_plugin_components();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
}
|
137 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
/**
|
139 |
* Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
|
140 |
* скриптов, стилей) фреймворка.
|
141 |
*
|
142 |
-
* @param
|
143 |
*/
|
144 |
-
public function setBootstap(
|
145 |
{
|
146 |
$this->bootstrap = $bootstrap;
|
147 |
}
|
@@ -149,9 +196,9 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
149 |
/**
|
150 |
* Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
|
151 |
*
|
152 |
-
* @param
|
153 |
*/
|
154 |
-
public function setForms(
|
155 |
{
|
156 |
$this->forms = $forms;
|
157 |
}
|
@@ -169,6 +216,22 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
169 |
}
|
170 |
}
|
171 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
/**
|
173 |
* Устанавливает класс провайдера лицензий
|
174 |
*
|
@@ -183,8 +246,8 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
183 |
*/
|
184 |
public function set_license_provider($name, $class_name)
|
185 |
{
|
186 |
-
if( !isset(WBCR\
|
187 |
-
WBCR\
|
188 |
}
|
189 |
}
|
190 |
|
@@ -202,8 +265,8 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
202 |
*/
|
203 |
public function set_update_repository($name, $class_name)
|
204 |
{
|
205 |
-
if( !isset(WBCR\
|
206 |
-
WBCR\
|
207 |
}
|
208 |
}
|
209 |
|
@@ -213,7 +276,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
213 |
* Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
|
214 |
* рекламных объявлений.
|
215 |
*
|
216 |
-
* @return \WBCR\
|
217 |
* @since 1.1
|
218 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
219 |
*/
|
@@ -249,18 +312,18 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
249 |
|
250 |
public function newScriptList()
|
251 |
{
|
252 |
-
return new
|
253 |
}
|
254 |
|
255 |
public function newStyleList()
|
256 |
{
|
257 |
-
return new
|
258 |
}
|
259 |
|
260 |
/**
|
261 |
* Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
|
262 |
* фреймворка pages. Разработчик создает собственный класс, унаследованный от
|
263 |
-
*
|
264 |
* Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
|
265 |
* pages.
|
266 |
*
|
@@ -270,7 +333,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
270 |
* @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
|
271 |
*
|
272 |
* @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
|
273 |
-
* Регистрируемый класс должен быть унаследован от класса
|
274 |
* @param string $file_path Абсолютный путь к файлу с классом страницы.
|
275 |
*
|
276 |
* @throws Exception
|
@@ -292,11 +355,11 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
292 |
throw new Exception('A class with this name {' . $class_name . '} does not exist.');
|
293 |
}
|
294 |
|
295 |
-
if( !class_exists('
|
296 |
-
throw new Exception('The
|
297 |
}
|
298 |
|
299 |
-
|
300 |
}
|
301 |
|
302 |
/**
|
@@ -346,16 +409,16 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
346 |
/**
|
347 |
* @since 4.1.1 - change hook name
|
348 |
*/
|
349 |
-
if( apply_filters("wbcr/
|
350 |
return;
|
351 |
}
|
352 |
|
353 |
/**
|
354 |
-
*
|
355 |
*
|
356 |
* @since 4.1.1 - deprecated
|
357 |
*/
|
358 |
-
|
359 |
$this
|
360 |
], '4.1.1', "wbcr/factory/plugin_activation");
|
361 |
|
@@ -364,7 +427,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
364 |
*
|
365 |
* @since 4.1.2 - deprecated
|
366 |
*/
|
367 |
-
|
368 |
$this
|
369 |
], '4.1.2', "wbcr/factory/before_plugin_activation");
|
370 |
|
@@ -380,16 +443,16 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
380 |
*
|
381 |
* @since 4.1.2 - deprecated
|
382 |
*/
|
383 |
-
|
384 |
$this
|
385 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
|
386 |
|
387 |
/**
|
388 |
-
*
|
389 |
*
|
390 |
* @since 4.1.1 - deprecated
|
391 |
*/
|
392 |
-
|
393 |
$this
|
394 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
|
395 |
|
@@ -430,16 +493,16 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
430 |
/**
|
431 |
* @since 4.1.1 - change hook name
|
432 |
*/
|
433 |
-
if( apply_filters("wbcr/
|
434 |
return;
|
435 |
}
|
436 |
|
437 |
/**
|
438 |
-
*
|
439 |
*
|
440 |
* @since 4.1.1 - deprecated
|
441 |
*/
|
442 |
-
|
443 |
$this
|
444 |
], '4.1.1', "wbcr/factory/plugin_deactivation");
|
445 |
|
@@ -448,7 +511,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
448 |
*
|
449 |
* @since 4.1.2 - deprecated
|
450 |
*/
|
451 |
-
|
452 |
$this
|
453 |
], '4.1.2', "wbcr/factory/before_plugin_deactivation");
|
454 |
|
@@ -460,11 +523,11 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
460 |
do_action('wbcr/factory/plugin_deactivation', $this);
|
461 |
|
462 |
/**
|
463 |
-
*
|
464 |
*
|
465 |
* @since 4.1.1 - deprecated
|
466 |
*/
|
467 |
-
|
468 |
$this
|
469 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
|
470 |
|
@@ -473,7 +536,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
473 |
*
|
474 |
* @since 4.1.2 - deprecated
|
475 |
*/
|
476 |
-
|
477 |
$this
|
478 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
|
479 |
|
@@ -511,8 +574,8 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
511 |
*/
|
512 |
public function getPluginPageUrl($page_id, $args = [])
|
513 |
{
|
514 |
-
if( !class_exists('
|
515 |
-
throw new Exception('The
|
516 |
}
|
517 |
|
518 |
if( !is_admin() ) {
|
@@ -521,7 +584,120 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
521 |
return null;
|
522 |
}
|
523 |
|
524 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
}
|
526 |
|
527 |
/**
|
@@ -622,12 +798,12 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
622 |
/**
|
623 |
* @since 4.1.1 - deprecated
|
624 |
*/
|
625 |
-
|
626 |
|
627 |
/**
|
628 |
* @since 4.1.1 - add
|
629 |
*/
|
630 |
-
do_action('wbcr/
|
631 |
}
|
632 |
|
633 |
|
@@ -654,7 +830,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
654 |
});
|
655 |
|
656 |
if( is_admin() ) {
|
657 |
-
add_filter('
|
658 |
|
659 |
register_activation_hook($this->get_paths()->main_file, [$this, 'activation_hook']);
|
660 |
register_deactivation_hook($this->get_paths()->main_file, [$this, 'deactivation_hook']);
|
@@ -670,7 +846,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
670 |
*/
|
671 |
protected function init_plugin_migrations()
|
672 |
{
|
673 |
-
new WBCR\
|
674 |
}
|
675 |
|
676 |
/**
|
@@ -681,7 +857,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
681 |
*/
|
682 |
protected function init_plugin_notices()
|
683 |
{
|
684 |
-
new Wbcr\
|
685 |
}
|
686 |
|
687 |
/**
|
@@ -697,7 +873,7 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
697 |
protected function init_plugin_updates()
|
698 |
{
|
699 |
if( $this->has_updates ) {
|
700 |
-
new WBCR\
|
701 |
}
|
702 |
}
|
703 |
|
@@ -720,11 +896,11 @@ abstract class Wbcr_Factory432_Plugin extends Wbcr_Factory432_Base {
|
|
720 |
}
|
721 |
|
722 |
// Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
|
723 |
-
$this->premium = WBCR\
|
724 |
|
725 |
// Подключаем премиум апгрейдер
|
726 |
if( isset($this->license_settings['has_updates']) && $this->license_settings['has_updates'] ) {
|
727 |
-
new WBCR\
|
728 |
}
|
729 |
}
|
730 |
}
|
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_101\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,
|
142 |
|
143 |
// INIT PLUGIN COMPONENTS
|
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 |
+
]);
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
+
// Ajax Handlers
|
164 |
+
// --------------------------------------------------------
|
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 |
+
|
185 |
/**
|
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 |
+
/**
|
591 |
+
* Allows you to get a button to install the plugin component
|
592 |
+
*
|
593 |
+
* @param $component_type
|
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 |
+
/**
|
607 |
+
* Allows you to get a button to delete the plugin component
|
608 |
+
*
|
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 |
+
/**
|
622 |
+
* @param string $component_name
|
623 |
+
*
|
624 |
+
* @return bool
|
625 |
+
*/
|
626 |
+
public function is_activate_component($component_name)
|
627 |
+
{
|
628 |
+
if( !is_string($component_name) ) {
|
629 |
+
return false;
|
630 |
+
}
|
631 |
+
|
632 |
+
$deactivate_components = $this->getPopulateOption('deactive_preinstall_components', []);
|
633 |
+
|
634 |
+
if( !is_array($deactivate_components) ) {
|
635 |
+
$deactivate_components = [];
|
636 |
+
}
|
637 |
+
|
638 |
+
if( $deactivate_components && in_array($component_name, $deactivate_components) ) {
|
639 |
+
return false;
|
640 |
+
}
|
641 |
+
|
642 |
+
return true;
|
643 |
+
}
|
644 |
+
|
645 |
+
/**
|
646 |
+
* @param string $component_name
|
647 |
+
*
|
648 |
+
* @return bool
|
649 |
+
*/
|
650 |
+
public function activate_component($component_name)
|
651 |
+
{
|
652 |
+
if( $this->is_activate_component($component_name) ) {
|
653 |
+
return true;
|
654 |
+
}
|
655 |
+
|
656 |
+
do_action('wfactory/pre_activate_component', $component_name);
|
657 |
+
|
658 |
+
$deactivate_components = $this->getPopulateOption('deactive_preinstall_components', []);
|
659 |
+
|
660 |
+
if( !empty($deactivate_components) && is_array($deactivate_components) ) {
|
661 |
+
$index = array_search($component_name, $deactivate_components);
|
662 |
+
unset($deactivate_components[$index]);
|
663 |
+
}
|
664 |
+
|
665 |
+
if( empty($deactivate_components) ) {
|
666 |
+
$this->deletePopulateOption('deactive_preinstall_components');
|
667 |
+
} else {
|
668 |
+
$this->updatePopulateOption('deactive_preinstall_components', $deactivate_components);
|
669 |
+
}
|
670 |
+
|
671 |
+
return true;
|
672 |
+
}
|
673 |
+
|
674 |
+
/**
|
675 |
+
* @param string $component_name
|
676 |
+
*
|
677 |
+
* @return bool
|
678 |
+
*/
|
679 |
+
public function deactivate_component($component_name)
|
680 |
+
{
|
681 |
+
if( !$this->is_activate_component($component_name) ) {
|
682 |
+
return true;
|
683 |
+
}
|
684 |
+
|
685 |
+
do_action('wfactory/pre_deactivate_component', $component_name);
|
686 |
+
|
687 |
+
$deactivate_components = $this->getPopulateOption('deactive_preinstall_components', []);
|
688 |
+
|
689 |
+
if( !empty($deactivate_components) && is_array($deactivate_components) ) {
|
690 |
+
$deactivate_components[] = $component_name;
|
691 |
+
} else {
|
692 |
+
$deactivate_components = [];
|
693 |
+
$deactivate_components[] = $component_name;
|
694 |
+
}
|
695 |
+
|
696 |
+
$this->updatePopulateOption('deactive_preinstall_components', $deactivate_components);
|
697 |
+
|
698 |
+
do_action('wfactory/deactivated_component', $component_name);
|
699 |
+
|
700 |
+
return true;
|
701 |
}
|
702 |
|
703 |
/**
|
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_Factory432_Base {
|
|
81 |
* https://robin-image-optimizer.webcraftic.com/premium-features.
|
82 |
*
|
83 |
* Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
|
84 |
-
* экземпляр класса \WBCR\
|
85 |
* Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
|
86 |
* можете изменить все ссылки в одном месте.
|
87 |
*
|
@@ -127,7 +127,7 @@ class Wbcr_Factory432_Base {
|
|
127 |
* к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
|
128 |
* взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
|
129 |
* индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
|
130 |
-
* WBCR\
|
131 |
*
|
132 |
* На текущий момент существует только реализация для freemius провайдера.
|
133 |
*
|
@@ -177,9 +177,9 @@ class Wbcr_Factory432_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_Factory432_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_Factory432_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_Factory432_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_Factory432_Base {
|
|
400 |
/**
|
401 |
* Позволяет получить заголовок плагина.
|
402 |
*
|
403 |
-
* @return string Возвращает заголовок плагина. См.
|
404 |
*/
|
405 |
public function getPluginTitle() {
|
406 |
return $this->plugin_title;
|
@@ -409,7 +409,7 @@ class Wbcr_Factory432_Base {
|
|
409 |
/**
|
410 |
* Позволяет получить префикс плагина.
|
411 |
*
|
412 |
-
* @return string Возвращает префикс плагина.См.
|
413 |
*/
|
414 |
public function getPrefix() {
|
415 |
return $this->prefix;
|
@@ -418,7 +418,7 @@ class Wbcr_Factory432_Base {
|
|
418 |
/**
|
419 |
* Позволяет получить имя плагина.
|
420 |
*
|
421 |
-
* @return string Возвращает имя плагина. См.
|
422 |
*/
|
423 |
public function getPluginName() {
|
424 |
return $this->plugin_name;
|
@@ -427,7 +427,7 @@ class Wbcr_Factory432_Base {
|
|
427 |
/**
|
428 |
* Позволяет получить версию плагина.
|
429 |
*
|
430 |
-
* @return string Возвращает версию плагина. См.
|
431 |
*/
|
432 |
public function getPluginVersion() {
|
433 |
return $this->plugin_version;
|
@@ -449,7 +449,7 @@ class Wbcr_Factory432_Base {
|
|
449 |
* какие-то данные не описанные в интерфейсе этого плагина.
|
450 |
*
|
451 |
* @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
|
452 |
-
*
|
453 |
*
|
454 |
* @return null
|
455 |
*/
|
@@ -462,18 +462,18 @@ class Wbcr_Factory432_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_Factory432_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_Factory432_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_Factory432_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
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\Factory_439\Components;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* This file groups the settings for quick setup
|
7 |
+
*
|
8 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
9 |
+
* @copyright (c) 16.09.2017, Webcraftic
|
10 |
+
* @version 1.0
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if( !defined('ABSPATH') ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
require_once 'class-install-component-button.php';
|
19 |
+
|
20 |
+
class Delete_Button extends Install_Button {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @throws \Exception
|
24 |
+
*/
|
25 |
+
protected function build_wordpress()
|
26 |
+
{
|
27 |
+
parent::build_wordpress();
|
28 |
+
|
29 |
+
$this->action = 'delete';
|
30 |
+
$this->add_data('plugin-action', $this->action);
|
31 |
+
$this->remove_class('button-primary');
|
32 |
+
}
|
33 |
+
|
34 |
+
protected function build_internal()
|
35 |
+
{
|
36 |
+
// nothing
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @param bool $echo
|
41 |
+
*
|
42 |
+
* @return string|void
|
43 |
+
*/
|
44 |
+
public function get_button()
|
45 |
+
{
|
46 |
+
$button = '<a href="#" class="' . implode(' ', $this->get_classes()) . '" ' . implode(' ', $this->get_data()) . '><span class="dashicons dashicons-trash"></span></a>';
|
47 |
+
|
48 |
+
if( $this->type == 'internal' || !$this->is_plugin_install() || $this->is_plugin_activate() ) {
|
49 |
+
$button = '';
|
50 |
+
}
|
51 |
+
|
52 |
+
return $button;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
libs/factory/core/includes/components/class-install-component-button.php
ADDED
@@ -0,0 +1,460 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\Factory_439\Components;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* This file groups the settings for quick setup
|
7 |
+
*
|
8 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
9 |
+
* @copyright (c) 16.09.2017, Webcraftic
|
10 |
+
* @version 1.0
|
11 |
+
*/
|
12 |
+
|
13 |
+
// Exit if accessed directly
|
14 |
+
if( !defined('ABSPATH') ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
class Install_Button {
|
19 |
+
|
20 |
+
protected $type;
|
21 |
+
protected $plugin_slug;
|
22 |
+
|
23 |
+
protected $classes = [
|
24 |
+
'button',
|
25 |
+
'wfactory-439-process-button'
|
26 |
+
];
|
27 |
+
protected $data = [];
|
28 |
+
protected $base_path;
|
29 |
+
|
30 |
+
protected $action;
|
31 |
+
|
32 |
+
protected $url;
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param string $group_name
|
36 |
+
*
|
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.');
|
44 |
+
}
|
45 |
+
|
46 |
+
$this->plugin = $plugin;
|
47 |
+
$this->type = $type;
|
48 |
+
$this->plugin_slug = $plugin_slug;
|
49 |
+
|
50 |
+
if( $this->type == 'wordpress' || $this->type == 'creativemotion' ) {
|
51 |
+
if( strpos(rtrim(trim($this->plugin_slug)), '/') !== false ) {
|
52 |
+
$this->base_path = $this->plugin_slug;
|
53 |
+
$base_path_parts = explode('/', $this->base_path);
|
54 |
+
if( sizeof($base_path_parts) === 2 ) {
|
55 |
+
$this->plugin_slug = $base_path_parts[0];
|
56 |
+
}
|
57 |
+
} else {
|
58 |
+
$this->base_path = $this->get_plugin_base_path_by_slug($this->plugin_slug);
|
59 |
+
}
|
60 |
+
|
61 |
+
$this->build_wordpress();
|
62 |
+
} else if( $this->type == 'internal' ) {
|
63 |
+
$this->build_internal();
|
64 |
+
} else {
|
65 |
+
throw new \Exception('Invalid button type.');
|
66 |
+
}
|
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 |
+
|
74 |
+
// Удалить, через несколько версий!
|
75 |
+
// Добавлено в 4.3.3
|
76 |
+
//--------------------------------------------------------
|
77 |
+
|
78 |
+
/**
|
79 |
+
* todo: для совместимости со старыми плагинами
|
80 |
+
* @return string
|
81 |
+
* @throws \Exception
|
82 |
+
* @since 4.3.3
|
83 |
+
*/
|
84 |
+
public function getLink()
|
85 |
+
{
|
86 |
+
return $this->get_link();
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* todo: для совместимости со старыми плагинами
|
91 |
+
* @return string
|
92 |
+
* @since 4.3.3
|
93 |
+
*/
|
94 |
+
public function getButton()
|
95 |
+
{
|
96 |
+
return $this->get_button();
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Print an install a link
|
101 |
+
* todo: для совместимости со старыми плагинами
|
102 |
+
* @throws \Exception
|
103 |
+
* @since 4.3.3
|
104 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
105 |
+
*/
|
106 |
+
public function renderLink()
|
107 |
+
{
|
108 |
+
echo $this->get_link();
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Print an install button
|
113 |
+
* todo: для совместимости со старыми плагинами
|
114 |
+
*
|
115 |
+
* @throws \Exception
|
116 |
+
* @since 4.3.3
|
117 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
118 |
+
*/
|
119 |
+
public function renderButton()
|
120 |
+
{
|
121 |
+
$this->render_button();
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* todo: для совместимости со старыми плагинами
|
126 |
+
* @param $class
|
127 |
+
*
|
128 |
+
* @throws \Exception
|
129 |
+
* @since 4.3.3
|
130 |
+
*/
|
131 |
+
public function addClass($class)
|
132 |
+
{
|
133 |
+
$this->add_class($class);
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* todo: для совместимости со старыми плагинами
|
138 |
+
* @param $class
|
139 |
+
*
|
140 |
+
* @return bool
|
141 |
+
* @throws \Exception
|
142 |
+
* @since 4.3.3
|
143 |
+
*/
|
144 |
+
public function removeClass($class)
|
145 |
+
{
|
146 |
+
return $this->remove_class($class);
|
147 |
+
}
|
148 |
+
|
149 |
+
//--------------------------------------------------------
|
150 |
+
|
151 |
+
|
152 |
+
/**
|
153 |
+
* @return bool
|
154 |
+
* @since 4.3.3
|
155 |
+
*/
|
156 |
+
public function is_plugin_activate()
|
157 |
+
{
|
158 |
+
if( ($this->type == 'wordpress' || $this->type == 'creativemotion') && $this->is_plugin_install() ) {
|
159 |
+
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
160 |
+
|
161 |
+
return is_plugin_active($this->base_path);
|
162 |
+
} else if( $this->type == 'internal' ) {
|
163 |
+
$preinsatall_components = $this->plugin->getPopulateOption('deactive_preinstall_components', []);
|
164 |
+
|
165 |
+
return !in_array($this->plugin_slug, $preinsatall_components);
|
166 |
+
}
|
167 |
+
|
168 |
+
return false;
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* @return bool
|
173 |
+
* @since 4.3.3
|
174 |
+
*/
|
175 |
+
public function is_plugin_install()
|
176 |
+
{
|
177 |
+
if( $this->type == 'wordpress' || $this->type == 'creativemotion' ) {
|
178 |
+
if( empty($this->base_path) ) {
|
179 |
+
return false;
|
180 |
+
}
|
181 |
+
|
182 |
+
// Check if the function get_plugins() is registered. It is necessary for the front-end
|
183 |
+
// usually get_plugins() only works in the admin panel.
|
184 |
+
if( !function_exists('get_plugins') ) {
|
185 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
186 |
+
}
|
187 |
+
|
188 |
+
$plugins = get_plugins();
|
189 |
+
|
190 |
+
if( isset($plugins[$this->base_path]) ) {
|
191 |
+
return true;
|
192 |
+
}
|
193 |
+
} else if( $this->type == 'internal' ) {
|
194 |
+
return true;
|
195 |
+
}
|
196 |
+
|
197 |
+
return false;
|
198 |
+
}
|
199 |
+
|
200 |
+
/**
|
201 |
+
* @param $class
|
202 |
+
*
|
203 |
+
* @throws \Exception
|
204 |
+
* @since 4.3.3
|
205 |
+
*/
|
206 |
+
public function add_class($class)
|
207 |
+
{
|
208 |
+
if( !is_string($class) ) {
|
209 |
+
throw new \Exception('Attribute class must be a string.');
|
210 |
+
}
|
211 |
+
$this->classes[] = $class;
|
212 |
+
}
|
213 |
+
|
214 |
+
/**
|
215 |
+
* @param $class
|
216 |
+
*
|
217 |
+
* @return bool
|
218 |
+
* @throws \Exception
|
219 |
+
* @since 4.3.3
|
220 |
+
*/
|
221 |
+
public function remove_class($class)
|
222 |
+
{
|
223 |
+
if( !is_string($class) ) {
|
224 |
+
throw new \Exception('Attribute class must be a string.');
|
225 |
+
}
|
226 |
+
$key = array_search($class, $this->classes);
|
227 |
+
if( isset($this->classes[$key]) ) {
|
228 |
+
unset($this->classes[$key]);
|
229 |
+
|
230 |
+
return true;
|
231 |
+
}
|
232 |
+
|
233 |
+
return false;
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* @param $name
|
238 |
+
* @param $value
|
239 |
+
*
|
240 |
+
* @throws \Exception
|
241 |
+
* @since 4.3.3
|
242 |
+
*/
|
243 |
+
public function add_data($name, $value)
|
244 |
+
{
|
245 |
+
if( !is_string($name) || !is_string($value) ) {
|
246 |
+
throw new \Exception('Attributes name and value must be a string.');
|
247 |
+
}
|
248 |
+
|
249 |
+
$this->data[$name] = $value;
|
250 |
+
}
|
251 |
+
|
252 |
+
/**
|
253 |
+
* @param $name
|
254 |
+
*
|
255 |
+
* @return bool
|
256 |
+
* @throws \Exception
|
257 |
+
* @since 4.3.3
|
258 |
+
*/
|
259 |
+
public function remove_data($name)
|
260 |
+
{
|
261 |
+
if( !is_string($name) ) {
|
262 |
+
throw new \Exception('Attribute name must be a string.');
|
263 |
+
}
|
264 |
+
|
265 |
+
if( isset($this->data[$name]) ) {
|
266 |
+
unset($this->data[$name]);
|
267 |
+
|
268 |
+
return true;
|
269 |
+
}
|
270 |
+
|
271 |
+
return false;
|
272 |
+
}
|
273 |
+
|
274 |
+
/**
|
275 |
+
* Print an install button
|
276 |
+
*
|
277 |
+
* @throws \Exception
|
278 |
+
* @since 4.3.3
|
279 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
280 |
+
*/
|
281 |
+
public function render_button()
|
282 |
+
{
|
283 |
+
echo $this->get_button();
|
284 |
+
}
|
285 |
+
|
286 |
+
/**
|
287 |
+
* @return string
|
288 |
+
* @since 4.3.3
|
289 |
+
*/
|
290 |
+
public function get_button()
|
291 |
+
{
|
292 |
+
$i18n = $this->get_i18n();
|
293 |
+
|
294 |
+
$button = '<a href="#" class="' . implode(' ', $this->get_classes()) . '" ' . implode(' ', $this->get_data()) . '>' . $i18n[$this->action] . '</a>';
|
295 |
+
|
296 |
+
return $button;
|
297 |
+
}
|
298 |
+
|
299 |
+
/**
|
300 |
+
* @return string
|
301 |
+
* @throws \Exception
|
302 |
+
* @since 4.3.3
|
303 |
+
*/
|
304 |
+
public function get_link()
|
305 |
+
{
|
306 |
+
$this->remove_class('button');
|
307 |
+
$this->remove_class('button-default');
|
308 |
+
$this->remove_class('button-primary');
|
309 |
+
|
310 |
+
//$this->add_class('link');
|
311 |
+
$this->add_class('button-link');
|
312 |
+
|
313 |
+
return $this->get_button();
|
314 |
+
}
|
315 |
+
|
316 |
+
/**
|
317 |
+
* Print an install a link
|
318 |
+
*
|
319 |
+
* @throws \Exception
|
320 |
+
* @since 4.3.3
|
321 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
322 |
+
*/
|
323 |
+
public function render_link()
|
324 |
+
{
|
325 |
+
echo $this->get_link();
|
326 |
+
}
|
327 |
+
|
328 |
+
/**
|
329 |
+
* @return array
|
330 |
+
* @since 4.3.3
|
331 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
332 |
+
*/
|
333 |
+
protected function get_data()
|
334 |
+
{
|
335 |
+
$data_to_print = [];
|
336 |
+
|
337 |
+
foreach((array)$this->data as $key => $value) {
|
338 |
+
$data_to_print[$key] = 'data-' . esc_attr($key) . '="' . esc_attr($value) . '"';
|
339 |
+
}
|
340 |
+
|
341 |
+
return $data_to_print;
|
342 |
+
}
|
343 |
+
|
344 |
+
/**
|
345 |
+
* @return array
|
346 |
+
* @since 4.3.3
|
347 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
348 |
+
*/
|
349 |
+
protected function get_classes()
|
350 |
+
{
|
351 |
+
return array_map('esc_attr', $this->classes);
|
352 |
+
}
|
353 |
+
|
354 |
+
/**
|
355 |
+
* @throws \Exception
|
356 |
+
* @since 4.3.3
|
357 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
358 |
+
*/
|
359 |
+
protected function build_wordpress()
|
360 |
+
{
|
361 |
+
if( ('wordpress' === $this->type || 'creativemotion' === $this->type) && !empty($this->base_path) ) {
|
362 |
+
|
363 |
+
$this->action = 'install';
|
364 |
+
|
365 |
+
if( $this->is_plugin_install() ) {
|
366 |
+
$this->action = 'deactivate';
|
367 |
+
if( !$this->is_plugin_activate() ) {
|
368 |
+
$this->action = 'activate';
|
369 |
+
}
|
370 |
+
}
|
371 |
+
|
372 |
+
$this->add_data('plugin-action', $this->action);
|
373 |
+
$this->add_data('slug', $this->plugin_slug);
|
374 |
+
$this->add_data('plugin', $this->base_path);
|
375 |
+
|
376 |
+
if( $this->action == 'activate' ) {
|
377 |
+
$this->add_class('button-primary');
|
378 |
+
} else {
|
379 |
+
$this->add_class('button-default');
|
380 |
+
}
|
381 |
+
}
|
382 |
+
}
|
383 |
+
|
384 |
+
/**
|
385 |
+
* Configurate button of internal components
|
386 |
+
*
|
387 |
+
* @throws \Exception
|
388 |
+
* @since 4.3.3
|
389 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
390 |
+
*/
|
391 |
+
protected function build_internal()
|
392 |
+
{
|
393 |
+
if( $this->type != 'internal' ) {
|
394 |
+
return;
|
395 |
+
}
|
396 |
+
|
397 |
+
$this->action = 'activate';
|
398 |
+
|
399 |
+
if( $this->is_plugin_activate() ) {
|
400 |
+
$this->action = 'deactivate';
|
401 |
+
}
|
402 |
+
|
403 |
+
$this->add_data('plugin-action', $this->action);
|
404 |
+
$this->add_data('plugin', $this->plugin_slug);
|
405 |
+
|
406 |
+
if( $this->action == 'activate' ) {
|
407 |
+
$this->add_class('button-primary');
|
408 |
+
} else {
|
409 |
+
$this->add_class('button-default');
|
410 |
+
}
|
411 |
+
}
|
412 |
+
|
413 |
+
/**
|
414 |
+
* Internalization for action buttons
|
415 |
+
*
|
416 |
+
* @return array
|
417 |
+
* @since 4.3.3
|
418 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
419 |
+
*/
|
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 |
+
|
433 |
+
|
434 |
+
/**
|
435 |
+
* Allows you to get the base path to the plugin in the directory wp-content/plugins/
|
436 |
+
*
|
437 |
+
* @param $slug - slug for example "clearfy", "hide-login-page"
|
438 |
+
*
|
439 |
+
* @return int|null|string - "clearfy/clearfy.php"
|
440 |
+
*/
|
441 |
+
protected function get_plugin_base_path_by_slug($slug)
|
442 |
+
{
|
443 |
+
// Check if the function get_plugins() is registered. It is necessary for the front-end
|
444 |
+
// usually get_plugins() only works in the admin panel.
|
445 |
+
if( !function_exists('get_plugins') ) {
|
446 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
447 |
+
}
|
448 |
+
|
449 |
+
$plugins = get_plugins();
|
450 |
+
|
451 |
+
foreach($plugins as $base_path => $plugin) {
|
452 |
+
if( strpos($base_path, rtrim(trim($slug))) !== false ) {
|
453 |
+
return $base_path;
|
454 |
+
}
|
455 |
+
}
|
456 |
+
|
457 |
+
return null;
|
458 |
+
}
|
459 |
+
}
|
460 |
+
|
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_432_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_432_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_432_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;
|
@@ -16,6 +16,7 @@ if( !defined('ABSPATH') ) {
|
|
16 |
exit;
|
17 |
}
|
18 |
|
|
|
19 |
/**
|
20 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
|
21 |
* @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
|
@@ -31,19 +32,26 @@ class Premium_Upgrader extends Upgrader {
|
|
31 |
*/
|
32 |
protected $type = 'premium';
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Manager constructor.
|
36 |
*
|
37 |
* @param $args
|
38 |
* @param bool $is_premium
|
39 |
*
|
40 |
-
* @param
|
41 |
*
|
42 |
* @throws Exception
|
43 |
* @since 4.1.1
|
44 |
*
|
45 |
*/
|
46 |
-
public function __construct(
|
47 |
{
|
48 |
parent::__construct($plugin);
|
49 |
|
@@ -234,9 +242,9 @@ class Premium_Upgrader extends Upgrader {
|
|
234 |
/**
|
235 |
* Выводит уведомление внутри интерфейса плагина, на всех страницах плагина.
|
236 |
*
|
237 |
-
* @param
|
238 |
*
|
239 |
-
* @param
|
240 |
*
|
241 |
* @return void
|
242 |
* @since 4.1.1
|
@@ -301,9 +309,18 @@ class Premium_Upgrader extends Upgrader {
|
|
301 |
$notice_text = $this->get_notice_text('need_renew_license');
|
302 |
}
|
303 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
?>
|
305 |
<tr class="plugin-update-tr active update wbcr-factory-updates">
|
306 |
-
<td colspan="
|
307 |
<div class="update-message notice inline notice-warning notice-alt">
|
308 |
<p>
|
309 |
<?php echo $notice_text; ?>
|
@@ -791,12 +808,12 @@ class Premium_Upgrader extends Upgrader {
|
|
791 |
$cancel_license_url = $this->get_action_url('cancel_license');
|
792 |
|
793 |
$texts = [
|
794 |
-
'need_activate_license' => __('License activation required. A license is required to get premium plugin updates, as well as to get additional services.', '
|
795 |
-
'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.', '
|
796 |
'please_install_premium' => sprintf(__('Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
|
797 |
-
<a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', '
|
798 |
'please_activate_premium' => sprintf(__('Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
|
799 |
-
<a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', '
|
800 |
];
|
801 |
|
802 |
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;
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
+
require_once ABSPATH . "/wp-admin/includes/list-table.php";
|
20 |
/**
|
21 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
|
22 |
* @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
|
32 |
*/
|
33 |
protected $type = 'premium';
|
34 |
|
35 |
+
/**
|
36 |
+
* Объект таблицы со списком плагинов
|
37 |
+
*
|
38 |
+
* @var \WP_Plugins_List_Table
|
39 |
+
*/
|
40 |
+
protected $wp_list_table;
|
41 |
+
|
42 |
/**
|
43 |
* Manager constructor.
|
44 |
*
|
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
|
309 |
$notice_text = $this->get_notice_text('need_renew_license');
|
310 |
}
|
311 |
|
312 |
+
if( !$this->wp_list_table ) {
|
313 |
+
$this->wp_list_table = \_get_list_table(
|
314 |
+
'WP_Plugins_List_Table',
|
315 |
+
array(
|
316 |
+
'screen' => null,
|
317 |
+
)
|
318 |
+
);
|
319 |
+
}
|
320 |
+
|
321 |
?>
|
322 |
<tr class="plugin-update-tr active update wbcr-factory-updates">
|
323 |
+
<td colspan="<?php echo esc_attr($this->wp_list_table->get_column_count());?>" class="plugin-update colspanchange">
|
324 |
<div class="update-message notice inline notice-warning notice-alt">
|
325 |
<p>
|
326 |
<?php echo $notice_text; ?>
|
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_431-ru_RU.mo
DELETED
Binary file
|
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/{adverts/langs/wbcr_factory_adverts_112-ru_RU.mo → core/langs/wbcr_factory_439-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/core/langs/{wbcr_factory_431-ru_RU.po → wbcr_factory_439-ru_RU.po}
RENAMED
File without changes
|
libs/factory/forms/boot.php
CHANGED
@@ -22,175 +22,175 @@ if( !is_admin() ) {
|
|
22 |
|
23 |
// checks if the module is already loaded in order to
|
24 |
// prevent loading the same version of the module twice.
|
25 |
-
if( defined('
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
-
define('
|
30 |
|
31 |
-
define('
|
32 |
|
33 |
// absolute path and URL to the files and resources of the module.
|
34 |
-
define('
|
35 |
-
define('
|
36 |
|
37 |
#comp merge
|
38 |
-
require_once(
|
39 |
-
require_once(
|
40 |
-
require_once(
|
41 |
|
42 |
-
require_once(
|
43 |
#endcomp
|
44 |
|
45 |
-
load_plugin_textdomain('
|
46 |
|
47 |
/**
|
48 |
* We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
|
49 |
* we load the form controls only on pages where the forms are created.
|
50 |
*
|
51 |
* @since 3.0.7
|
52 |
-
* @see the '
|
53 |
*
|
54 |
*/
|
55 |
-
if( !function_exists('
|
56 |
|
57 |
/**
|
58 |
-
* @param
|
59 |
*
|
60 |
* @throws Exception
|
61 |
*/
|
62 |
-
function
|
63 |
{
|
64 |
|
65 |
if( $plugin && !isset($plugin->forms) ) {
|
66 |
throw new Exception("The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'.");
|
67 |
}
|
68 |
|
69 |
-
require_once(
|
70 |
-
require_once(
|
71 |
-
require_once(
|
72 |
-
require_once(
|
73 |
-
require_once(
|
74 |
-
require_once(
|
75 |
-
require_once(
|
76 |
-
require_once(
|
77 |
|
78 |
// registration of controls
|
79 |
$plugin->forms->registerControls([
|
80 |
[
|
81 |
'type' => 'checkbox',
|
82 |
-
'class' => '
|
83 |
-
'include' =>
|
84 |
],
|
85 |
[
|
86 |
'type' => 'list',
|
87 |
-
'class' => '
|
88 |
-
'include' =>
|
89 |
],
|
90 |
[
|
91 |
'type' => 'dropdown',
|
92 |
-
'class' => '
|
93 |
-
'include' =>
|
94 |
],
|
95 |
[
|
96 |
'type' => 'dropdown-and-colors',
|
97 |
-
'class' => '
|
98 |
-
'include' =>
|
99 |
],
|
100 |
[
|
101 |
'type' => 'hidden',
|
102 |
-
'class' => '
|
103 |
-
'include' =>
|
104 |
],
|
105 |
[
|
106 |
'type' => 'hidden',
|
107 |
-
'class' => '
|
108 |
-
'include' =>
|
109 |
],
|
110 |
[
|
111 |
'type' => 'radio',
|
112 |
-
'class' => '
|
113 |
-
'include' =>
|
114 |
],
|
115 |
[
|
116 |
'type' => 'radio-colors',
|
117 |
-
'class' => '
|
118 |
-
'include' =>
|
119 |
],
|
120 |
[
|
121 |
'type' => 'textarea',
|
122 |
-
'class' => '
|
123 |
-
'include' =>
|
124 |
],
|
125 |
[
|
126 |
'type' => 'textbox',
|
127 |
-
'class' => '
|
128 |
-
'include' =>
|
129 |
],
|
130 |
[
|
131 |
'type' => 'multiple-textbox',
|
132 |
-
'class' => '
|
133 |
-
'include' =>
|
134 |
],
|
135 |
[
|
136 |
'type' => 'datetimepicker-range',
|
137 |
-
'class' => '
|
138 |
-
'include' =>
|
139 |
],
|
140 |
[
|
141 |
'type' => 'url',
|
142 |
-
'class' => '
|
143 |
-
'include' =>
|
144 |
],
|
145 |
[
|
146 |
'type' => 'wp-editor',
|
147 |
-
'class' => '
|
148 |
-
'include' =>
|
149 |
],
|
150 |
[
|
151 |
'type' => 'color',
|
152 |
-
'class' => '
|
153 |
-
'include' =>
|
154 |
],
|
155 |
[
|
156 |
'type' => 'color-and-opacity',
|
157 |
-
'class' => '
|
158 |
-
'include' =>
|
159 |
],
|
160 |
[
|
161 |
'type' => 'gradient',
|
162 |
-
'class' => '
|
163 |
-
'include' =>
|
164 |
],
|
165 |
[
|
166 |
'type' => 'font',
|
167 |
-
'class' => '
|
168 |
-
'include' =>
|
169 |
],
|
170 |
[
|
171 |
'type' => 'google-font',
|
172 |
-
'class' => '
|
173 |
-
'include' =>
|
174 |
],
|
175 |
[
|
176 |
'type' => 'pattern',
|
177 |
-
'class' => '
|
178 |
-
'include' =>
|
179 |
],
|
180 |
[
|
181 |
'type' => 'integer',
|
182 |
-
'class' => '
|
183 |
-
'include' =>
|
184 |
],
|
185 |
[
|
186 |
'type' => 'control-group',
|
187 |
-
'class' => '
|
188 |
-
'include' =>
|
189 |
],
|
190 |
[
|
191 |
'type' => 'paddings-editor',
|
192 |
-
'class' => '
|
193 |
-
'include' =>
|
194 |
],
|
195 |
]);
|
196 |
|
@@ -198,53 +198,53 @@ if( !function_exists('wbcr_factory_forms_430_register_default_controls') ) {
|
|
198 |
$plugin->forms->registerHolders([
|
199 |
[
|
200 |
'type' => 'tab',
|
201 |
-
'class' => '
|
202 |
-
'include' =>
|
203 |
],
|
204 |
[
|
205 |
'type' => 'tab-item',
|
206 |
-
'class' => '
|
207 |
-
'include' =>
|
208 |
],
|
209 |
[
|
210 |
'type' => 'accordion',
|
211 |
-
'class' => '
|
212 |
-
'include' =>
|
213 |
],
|
214 |
[
|
215 |
'type' => 'accordion-item',
|
216 |
-
'class' => '
|
217 |
-
'include' =>
|
218 |
],
|
219 |
[
|
220 |
'type' => 'control-group',
|
221 |
-
'class' => '
|
222 |
-
'include' =>
|
223 |
],
|
224 |
[
|
225 |
'type' => 'control-group-item',
|
226 |
-
'class' => '
|
227 |
-
'include' =>
|
228 |
],
|
229 |
[
|
230 |
'type' => 'form-group',
|
231 |
-
'class' => '
|
232 |
-
'include' =>
|
233 |
],
|
234 |
[
|
235 |
'type' => 'more-link',
|
236 |
-
'class' => '
|
237 |
-
'include' =>
|
238 |
],
|
239 |
[
|
240 |
'type' => 'div',
|
241 |
-
'class' => '
|
242 |
-
'include' =>
|
243 |
],
|
244 |
[
|
245 |
'type' => 'columns',
|
246 |
-
'class' => '
|
247 |
-
'include' =>
|
248 |
]
|
249 |
]);
|
250 |
|
@@ -252,23 +252,23 @@ if( !function_exists('wbcr_factory_forms_430_register_default_controls') ) {
|
|
252 |
$plugin->forms->registerCustomElements([
|
253 |
[
|
254 |
'type' => 'html',
|
255 |
-
'class' => '
|
256 |
-
'include' =>
|
257 |
],
|
258 |
[
|
259 |
'type' => 'separator',
|
260 |
-
'class' => '
|
261 |
-
'include' =>
|
262 |
],
|
263 |
]);
|
264 |
|
265 |
// registration of form layouts
|
266 |
$plugin->forms->registerFormLayout([
|
267 |
'name' => 'bootstrap-3',
|
268 |
-
'class' => '
|
269 |
-
'include' =>
|
270 |
]);
|
271 |
}
|
272 |
|
273 |
-
add_action('
|
274 |
}
|
22 |
|
23 |
// checks if the module is already loaded in order to
|
24 |
// prevent loading the same version of the module twice.
|
25 |
+
if( defined('FACTORY_FORMS_436_LOADED') ) {
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
+
define('FACTORY_FORMS_436_LOADED', true);
|
30 |
|
31 |
+
define('FACTORY_FORMS_436_VERSION', '4.3.6');
|
32 |
|
33 |
// absolute path and URL to the files and resources of the module.
|
34 |
+
define('FACTORY_FORMS_436_DIR', dirname(__FILE__));
|
35 |
+
define('FACTORY_FORMS_436_URL', plugins_url(null, __FILE__));
|
36 |
|
37 |
#comp merge
|
38 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/providers/value-provider.interface.php');
|
39 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/providers/meta-value-provider.class.php');
|
40 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/providers/options-value-provider.class.php');
|
41 |
|
42 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/form.class.php');
|
43 |
#endcomp
|
44 |
|
45 |
+
load_plugin_textdomain('wbcr_factory_forms_436', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
46 |
|
47 |
/**
|
48 |
* We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
|
49 |
* we load the form controls only on pages where the forms are created.
|
50 |
*
|
51 |
* @since 3.0.7
|
52 |
+
* @see the 'wbcr_factory_forms_436_register_controls' hook
|
53 |
*
|
54 |
*/
|
55 |
+
if( !function_exists('wbcr_factory_forms_436_register_default_controls') ) {
|
56 |
|
57 |
/**
|
58 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
59 |
*
|
60 |
* @throws Exception
|
61 |
*/
|
62 |
+
function wbcr_factory_forms_436_register_default_controls(Wbcr_Factory439_Plugin $plugin)
|
63 |
{
|
64 |
|
65 |
if( $plugin && !isset($plugin->forms) ) {
|
66 |
throw new Exception("The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'.");
|
67 |
}
|
68 |
|
69 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/html-builder.class.php');
|
70 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/form-element.class.php');
|
71 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/control.class.php');
|
72 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/complex-control.class.php');
|
73 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/holder.class.php');
|
74 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/control-holder.class.php');
|
75 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/custom-element.class.php');
|
76 |
+
require_once(FACTORY_FORMS_436_DIR . '/includes/form-layout.class.php');
|
77 |
|
78 |
// registration of controls
|
79 |
$plugin->forms->registerControls([
|
80 |
[
|
81 |
'type' => 'checkbox',
|
82 |
+
'class' => 'Wbcr_FactoryForms436_CheckboxControl',
|
83 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/checkbox.php'
|
84 |
],
|
85 |
[
|
86 |
'type' => 'list',
|
87 |
+
'class' => 'Wbcr_FactoryForms436_ListControl',
|
88 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/list.php'
|
89 |
],
|
90 |
[
|
91 |
'type' => 'dropdown',
|
92 |
+
'class' => 'Wbcr_FactoryForms436_DropdownControl',
|
93 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/dropdown.php'
|
94 |
],
|
95 |
[
|
96 |
'type' => 'dropdown-and-colors',
|
97 |
+
'class' => 'Wbcr_FactoryForms436_DropdownAndColorsControl',
|
98 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/dropdown-and-colors.php'
|
99 |
],
|
100 |
[
|
101 |
'type' => 'hidden',
|
102 |
+
'class' => 'Wbcr_FactoryForms436_HiddenControl',
|
103 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/hidden.php'
|
104 |
],
|
105 |
[
|
106 |
'type' => 'hidden',
|
107 |
+
'class' => 'Wbcr_FactoryForms436_HiddenControl',
|
108 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/hidden.php'
|
109 |
],
|
110 |
[
|
111 |
'type' => 'radio',
|
112 |
+
'class' => 'Wbcr_FactoryForms436_RadioControl',
|
113 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/radio.php'
|
114 |
],
|
115 |
[
|
116 |
'type' => 'radio-colors',
|
117 |
+
'class' => 'Wbcr_FactoryForms436_RadioColorsControl',
|
118 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/radio-colors.php'
|
119 |
],
|
120 |
[
|
121 |
'type' => 'textarea',
|
122 |
+
'class' => 'Wbcr_FactoryForms436_TextareaControl',
|
123 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/textarea.php'
|
124 |
],
|
125 |
[
|
126 |
'type' => 'textbox',
|
127 |
+
'class' => 'Wbcr_FactoryForms436_TextboxControl',
|
128 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/textbox.php'
|
129 |
],
|
130 |
[
|
131 |
'type' => 'multiple-textbox',
|
132 |
+
'class' => 'Wbcr_FactoryForms436_MultipleTextboxControl',
|
133 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/multiple-textbox.php'
|
134 |
],
|
135 |
[
|
136 |
'type' => 'datetimepicker-range',
|
137 |
+
'class' => 'Wbcr_FactoryForms436_DatepickerRangeControl',
|
138 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/datepicker-range.php'
|
139 |
],
|
140 |
[
|
141 |
'type' => 'url',
|
142 |
+
'class' => 'Wbcr_FactoryForms436_UrlControl',
|
143 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/url.php'
|
144 |
],
|
145 |
[
|
146 |
'type' => 'wp-editor',
|
147 |
+
'class' => 'Wbcr_FactoryForms436_WpEditorControl',
|
148 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/wp-editor.php'
|
149 |
],
|
150 |
[
|
151 |
'type' => 'color',
|
152 |
+
'class' => 'Wbcr_FactoryForms436_ColorControl',
|
153 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/color.php'
|
154 |
],
|
155 |
[
|
156 |
'type' => 'color-and-opacity',
|
157 |
+
'class' => 'Wbcr_FactoryForms436_ColorAndOpacityControl',
|
158 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/color-and-opacity.php'
|
159 |
],
|
160 |
[
|
161 |
'type' => 'gradient',
|
162 |
+
'class' => 'Wbcr_FactoryForms436_GradientControl',
|
163 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/gradient.php'
|
164 |
],
|
165 |
[
|
166 |
'type' => 'font',
|
167 |
+
'class' => 'Wbcr_FactoryForms436_FontControl',
|
168 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/font.php'
|
169 |
],
|
170 |
[
|
171 |
'type' => 'google-font',
|
172 |
+
'class' => 'Wbcr_FactoryForms436_GoogleFontControl',
|
173 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/google-font.php'
|
174 |
],
|
175 |
[
|
176 |
'type' => 'pattern',
|
177 |
+
'class' => 'Wbcr_FactoryForms436_PatternControl',
|
178 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/pattern.php'
|
179 |
],
|
180 |
[
|
181 |
'type' => 'integer',
|
182 |
+
'class' => 'Wbcr_FactoryForms436_IntegerControl',
|
183 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/integer.php'
|
184 |
],
|
185 |
[
|
186 |
'type' => 'control-group',
|
187 |
+
'class' => 'Wbcr_FactoryForms436_ControlGroupHolder',
|
188 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/control-group.php'
|
189 |
],
|
190 |
[
|
191 |
'type' => 'paddings-editor',
|
192 |
+
'class' => 'Wbcr_FactoryForms436_PaddingsEditorControl',
|
193 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/paddings-editor.php'
|
194 |
],
|
195 |
]);
|
196 |
|
198 |
$plugin->forms->registerHolders([
|
199 |
[
|
200 |
'type' => 'tab',
|
201 |
+
'class' => 'Wbcr_FactoryForms436_TabHolder',
|
202 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/tab.php'
|
203 |
],
|
204 |
[
|
205 |
'type' => 'tab-item',
|
206 |
+
'class' => 'Wbcr_FactoryForms436_TabItemHolder',
|
207 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/tab-item.php'
|
208 |
],
|
209 |
[
|
210 |
'type' => 'accordion',
|
211 |
+
'class' => 'Wbcr_FactoryForms436_AccordionHolder',
|
212 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/accordion.php'
|
213 |
],
|
214 |
[
|
215 |
'type' => 'accordion-item',
|
216 |
+
'class' => 'Wbcr_FactoryForms436_AccordionItemHolder',
|
217 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/accordion-item.php'
|
218 |
],
|
219 |
[
|
220 |
'type' => 'control-group',
|
221 |
+
'class' => 'Wbcr_FactoryForms436_ControlGroupHolder',
|
222 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/control-group.php'
|
223 |
],
|
224 |
[
|
225 |
'type' => 'control-group-item',
|
226 |
+
'class' => 'Wbcr_FactoryForms436_ControlGroupItem',
|
227 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/control-group-item.php'
|
228 |
],
|
229 |
[
|
230 |
'type' => 'form-group',
|
231 |
+
'class' => 'Wbcr_FactoryForms436_FormGroupHolder',
|
232 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/form-group.php'
|
233 |
],
|
234 |
[
|
235 |
'type' => 'more-link',
|
236 |
+
'class' => 'Wbcr_FactoryForms436_MoreLinkHolder',
|
237 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/more-link.php'
|
238 |
],
|
239 |
[
|
240 |
'type' => 'div',
|
241 |
+
'class' => 'Wbcr_FactoryForms436_DivHolder',
|
242 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/div.php'
|
243 |
],
|
244 |
[
|
245 |
'type' => 'columns',
|
246 |
+
'class' => 'Wbcr_FactoryForms436_ColumnsHolder',
|
247 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/holders/columns.php'
|
248 |
]
|
249 |
]);
|
250 |
|
252 |
$plugin->forms->registerCustomElements([
|
253 |
[
|
254 |
'type' => 'html',
|
255 |
+
'class' => 'Wbcr_FactoryForms436_Html',
|
256 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/customs/html.php',
|
257 |
],
|
258 |
[
|
259 |
'type' => 'separator',
|
260 |
+
'class' => 'Wbcr_FactoryForms436_Separator',
|
261 |
+
'include' => FACTORY_FORMS_436_DIR . '/controls/customs/separator.php',
|
262 |
],
|
263 |
]);
|
264 |
|
265 |
// registration of form layouts
|
266 |
$plugin->forms->registerFormLayout([
|
267 |
'name' => 'bootstrap-3',
|
268 |
+
'class' => 'Wbcr_FactoryForms436_Bootstrap3FormLayout',
|
269 |
+
'include' => FACTORY_FORMS_436_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
|
270 |
]);
|
271 |
}
|
272 |
|
273 |
+
add_action('wbcr_factory_forms_436_register_controls', 'wbcr_factory_forms_436_register_default_controls');
|
274 |
}
|
libs/factory/forms/controls/checkbox.php
CHANGED
@@ -20,9 +20,9 @@
|
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
-
if( !class_exists('
|
24 |
|
25 |
-
class
|
26 |
|
27 |
public $type = 'checkbox';
|
28 |
|
@@ -130,10 +130,10 @@
|
|
130 |
<div <?php $this->attrs() ?>>
|
131 |
<button type="button" class="btn btn-default btn-small btn-sm factory-on <?php if( $value ) {
|
132 |
echo 'active';
|
133 |
-
} ?>"><?php _e('On', '
|
134 |
<button type="button" class="btn btn-default btn-small btn-sm factory-off <?php if( !$value ) {
|
135 |
echo 'active';
|
136 |
-
} ?>" data-value="0"><?php _e('Off', '
|
137 |
<input type="checkbox" style="display: none" id="<?php echo $name_on_form ?>" class="factory-result" name="<?php echo $name_on_form ?>" value="<?= $value ?>" <?php if( $value ) {
|
138 |
echo 'checked="checked"';
|
139 |
} ?>" />
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if( !class_exists('Wbcr_FactoryForms436_CheckboxControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms436_CheckboxControl extends Wbcr_FactoryForms436_Control {
|
26 |
|
27 |
public $type = 'checkbox';
|
28 |
|
130 |
<div <?php $this->attrs() ?>>
|
131 |
<button type="button" class="btn btn-default btn-small btn-sm factory-on <?php if( $value ) {
|
132 |
echo 'active';
|
133 |
+
} ?>"><?php _e('On', 'wbcr_factory_forms_436') ?></button>
|
134 |
<button type="button" class="btn btn-default btn-small btn-sm factory-off <?php if( !$value ) {
|
135 |
echo 'active';
|
136 |
+
} ?>" data-value="0"><?php _e('Off', 'wbcr_factory_forms_436') ?></button>
|
137 |
<input type="checkbox" style="display: none" id="<?php echo $name_on_form ?>" class="factory-result" name="<?php echo $name_on_form ?>" value="<?= $value ?>" <?php if( $value ) {
|
138 |
echo 'checked="checked"';
|
139 |
} ?>" />
|
libs/factory/forms/controls/color-and-opacity.php
CHANGED
@@ -20,10 +20,10 @@
|
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
-
if( !class_exists('
|
24 |
}
|
25 |
|
26 |
-
class
|
27 |
|
28 |
public $type = 'color-and-opacity';
|
29 |
|
@@ -57,8 +57,8 @@
|
|
57 |
'way' => 'slider'
|
58 |
));
|
59 |
|
60 |
-
$this->color = new
|
61 |
-
$this->opacity = new
|
62 |
|
63 |
$this->innerControls = array($this->color, $this->opacity);
|
64 |
}
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if( !class_exists('Wbcr_FactoryForms436_ColorAndOpacityControl') ) {
|
24 |
}
|
25 |
|
26 |
+
class Wbcr_FactoryForms436_ColorAndOpacityControl extends Wbcr_FactoryForms436_ComplexControl {
|
27 |
|
28 |
public $type = 'color-and-opacity';
|
29 |
|
57 |
'way' => 'slider'
|
58 |
));
|
59 |
|
60 |
+
$this->color = new Wbcr_FactoryForms436_ColorControl($options['color'], $form, $provider);
|
61 |
+
$this->opacity = new Wbcr_FactoryForms436_IntegerControl($options['opacity'], $form, $provider);
|
62 |
|
63 |
$this->innerControls = array($this->color, $this->opacity);
|
64 |
}
|
libs/factory/forms/controls/color.php
CHANGED
@@ -20,9 +20,9 @@
|
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
-
if( !class_exists('
|
24 |
|
25 |
-
class
|
26 |
|
27 |
public $type = 'color';
|
28 |
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if( !class_exists('Wbcr_FactoryForms436_ColorControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms436_ColorControl extends Wbcr_FactoryForms436_Control {
|
26 |
|
27 |
public $type = 'color';
|
28 |
|
libs/factory/forms/controls/customs/html.php
CHANGED
@@ -14,9 +14,9 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
-
class
|
20 |
|
21 |
public $type = 'html';
|
22 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_Html') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryForms436_Html extends Wbcr_FactoryForms436_CustomElement {
|
20 |
|
21 |
public $type = 'html';
|
22 |
|
libs/factory/forms/controls/customs/separator.php
CHANGED
@@ -14,8 +14,8 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
-
class
|
19 |
|
20 |
public $type = 'separator';
|
21 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_Separator') ) {
|
18 |
+
class Wbcr_FactoryForms436_Separator extends Wbcr_FactoryForms436_CustomElement {
|
19 |
|
20 |
public $type = 'separator';
|
21 |
|
libs/factory/forms/controls/datepicker-range.php
CHANGED
@@ -29,9 +29,9 @@
|
|
29 |
exit;
|
30 |
}
|
31 |
|
32 |
-
if( !class_exists('
|
33 |
|
34 |
-
class
|
35 |
|
36 |
public $type = 'datetimepicker-range';
|
37 |
|
@@ -65,8 +65,8 @@
|
|
65 |
'default' => date('Y/m/d H:i', strtotime("+1 month"))
|
66 |
), $options['range_2']);
|
67 |
|
68 |
-
$this->range_1 = new
|
69 |
-
$this->range_2 = new
|
70 |
$this->inner_controls = array($this->range_1, $this->range_2);
|
71 |
|
72 |
foreach($this->inner_controls as $key => $control) {
|
29 |
exit;
|
30 |
}
|
31 |
|
32 |
+
if( !class_exists('Wbcr_FactoryForms436_DatepickerRangeControl') ) {
|
33 |
|
34 |
+
class Wbcr_FactoryForms436_DatepickerRangeControl extends Wbcr_FactoryForms436_ComplexControl {
|
35 |
|
36 |
public $type = 'datetimepicker-range';
|
37 |
|
65 |
'default' => date('Y/m/d H:i', strtotime("+1 month"))
|
66 |
), $options['range_2']);
|
67 |
|
68 |
+
$this->range_1 = new Wbcr_FactoryForms436_TextboxControl($options['range_1'], $form, $provider);
|
69 |
+
$this->range_2 = new Wbcr_FactoryForms436_TextboxControl($options['range_2'], $form, $provider);
|
70 |
$this->inner_controls = array($this->range_1, $this->range_2);
|
71 |
|
72 |
foreach($this->inner_controls as $key => $control) {
|
libs/factory/forms/controls/dropdown-and-colors.php
CHANGED
@@ -5,14 +5,14 @@
|
|
5 |
*
|
6 |
* Main options:
|
7 |
* name => a name of the control
|
8 |
-
* // see
|
9 |
* 'dropdown' => array(
|
10 |
* // a callback to return items or an array of items to select
|
11 |
* 'data' => OPanda_ThemeManager::getThemes(OPanda_Items::getCurrentItemName(), 'dropdown'),
|
12 |
* 'default' => 'default',
|
13 |
* 'value' => 'value' // a value to show in the control
|
14 |
* ),
|
15 |
-
* // see
|
16 |
* 'colors' => array(
|
17 |
* // a callback to return items or an array of items to select
|
18 |
* 'data' => array(
|
@@ -37,9 +37,9 @@
|
|
37 |
exit;
|
38 |
}
|
39 |
|
40 |
-
if( !class_exists('
|
41 |
|
42 |
-
class
|
43 |
|
44 |
public $type = 'dropdown-and-colors';
|
45 |
|
@@ -69,8 +69,8 @@
|
|
69 |
'name' => $this->options['name'] . '__colors',
|
70 |
));
|
71 |
|
72 |
-
$this->dropdown = new
|
73 |
-
$this->colors = new
|
74 |
$this->inner_controls = array($this->dropdown, $this->colors);
|
75 |
|
76 |
$colors = $this->colors->getOption('data');
|
5 |
*
|
6 |
* Main options:
|
7 |
* name => a name of the control
|
8 |
+
* // see FactoryForms436_DropdownControl
|
9 |
* 'dropdown' => array(
|
10 |
* // a callback to return items or an array of items to select
|
11 |
* 'data' => OPanda_ThemeManager::getThemes(OPanda_Items::getCurrentItemName(), 'dropdown'),
|
12 |
* 'default' => 'default',
|
13 |
* 'value' => 'value' // a value to show in the control
|
14 |
* ),
|
15 |
+
* // see FactoryForms436_RadioColorsControl
|
16 |
* 'colors' => array(
|
17 |
* // a callback to return items or an array of items to select
|
18 |
* 'data' => array(
|
37 |
exit;
|
38 |
}
|
39 |
|
40 |
+
if( !class_exists('Wbcr_FactoryForms436_DropdownAndColorsControl') ) {
|
41 |
|
42 |
+
class Wbcr_FactoryForms436_DropdownAndColorsControl extends Wbcr_FactoryForms436_ComplexControl {
|
43 |
|
44 |
public $type = 'dropdown-and-colors';
|
45 |
|
69 |
'name' => $this->options['name'] . '__colors',
|
70 |
));
|
71 |
|
72 |
+
$this->dropdown = new Wbcr_FactoryForms436_DropdownControl($options['dropdown'], $form, $provider);
|
73 |
+
$this->colors = new Wbcr_FactoryForms436_RadioColorsControl($options['colors'], $form, $provider);
|
74 |
$this->inner_controls = array($this->dropdown, $this->colors);
|
75 |
|
76 |
$colors = $this->colors->getOption('data');
|
libs/factory/forms/controls/dropdown.php
CHANGED
@@ -21,9 +21,9 @@
|
|
21 |
exit;
|
22 |
}
|
23 |
|
24 |
-
if ( ! class_exists( '
|
25 |
|
26 |
-
class
|
27 |
|
28 |
public $type = 'dropdown';
|
29 |
|
@@ -123,7 +123,7 @@
|
|
123 |
'url': '<?php echo $data['url'] ?>',
|
124 |
'data': <?php echo json_encode( $data['data'] ) ?>,
|
125 |
'selected': '<?php echo $value ?>',
|
126 |
-
'empty_list': '<?php echo $this->getOption( 'empty', __( 'The list is empty.', '
|
127 |
};
|
128 |
</script>
|
129 |
<?php
|
@@ -268,7 +268,7 @@
|
|
268 |
}
|
269 |
|
270 |
$is_empty = $this->isAjax() || empty( $items );
|
271 |
-
$empty_list = $this->getOption( 'empty', __( '- empty -', '
|
272 |
|
273 |
?>
|
274 |
<select <?php $this->attrs() ?>>
|
@@ -349,7 +349,7 @@
|
|
349 |
}
|
350 |
|
351 |
$value = isset( $item['value'] ) ? $item['value'] : '';
|
352 |
-
$title = isset( $item['title'] ) ? $item['title'] : __( '- empty -', '
|
353 |
|
354 |
$data = isset( $item['data'] ) ? $item['data'] : null;
|
355 |
} else {
|
21 |
exit;
|
22 |
}
|
23 |
|
24 |
+
if ( ! class_exists( 'Wbcr_FactoryForms436_DropdownControl' ) ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms436_DropdownControl extends Wbcr_FactoryForms436_Control {
|
27 |
|
28 |
public $type = 'dropdown';
|
29 |
|
123 |
'url': '<?php echo $data['url'] ?>',
|
124 |
'data': <?php echo json_encode( $data['data'] ) ?>,
|
125 |
'selected': '<?php echo $value ?>',
|
126 |
+
'empty_list': '<?php echo $this->getOption( 'empty', __( 'The list is empty.', 'wbcr_factory_forms_436' ) ) ?>'
|
127 |
};
|
128 |
</script>
|
129 |
<?php
|
268 |
}
|
269 |
|
270 |
$is_empty = $this->isAjax() || empty( $items );
|
271 |
+
$empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_436' ) );
|
272 |
|
273 |
?>
|
274 |
<select <?php $this->attrs() ?>>
|
349 |
}
|
350 |
|
351 |
$value = isset( $item['value'] ) ? $item['value'] : '';
|
352 |
+
$title = isset( $item['title'] ) ? $item['title'] : __( '- empty -', 'wbcr_factory_forms_436' );
|
353 |
|
354 |
$data = isset( $item['data'] ) ? $item['data'] : null;
|
355 |
} else {
|
libs/factory/forms/controls/font.php
CHANGED
@@ -20,9 +20,9 @@
|
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
-
if( !class_exists('
|
24 |
|
25 |
-
class
|
26 |
|
27 |
public $type = 'font';
|
28 |
|
@@ -54,9 +54,9 @@
|
|
54 |
'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
|
55 |
);
|
56 |
|
57 |
-
$this->size = new
|
58 |
-
$this->family = new
|
59 |
-
$this->color = new
|
60 |
|
61 |
$this->innerControls = array($this->family, $this->size, $this->color);
|
62 |
}
|
@@ -66,8 +66,8 @@
|
|
66 |
|
67 |
$fonts = $this->getDefaultFonts();
|
68 |
|
69 |
-
$fonts = apply_filters('
|
70 |
-
$fonts = apply_filters('
|
71 |
|
72 |
return $fonts;
|
73 |
}
|
@@ -77,10 +77,10 @@
|
|
77 |
|
78 |
$fonts = array(
|
79 |
|
80 |
-
array('inherit', __('(use default website font)', '
|
81 |
array(
|
82 |
'group',
|
83 |
-
__('Sans Serif:', '
|
84 |
array(
|
85 |
array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
|
86 |
array('"Arial Black", "Arial Bold", Gadget, sans-serif', 'Arial Black'),
|
@@ -131,7 +131,7 @@
|
|
131 |
),
|
132 |
array(
|
133 |
'group',
|
134 |
-
__('Serif:', '
|
135 |
array(
|
136 |
array(
|
137 |
'Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif',
|
@@ -187,7 +187,7 @@
|
|
187 |
),
|
188 |
array(
|
189 |
'group',
|
190 |
-
__('Monospaced:', '
|
191 |
array(
|
192 |
array('"Andale Mono", AndaleMono, monospace', 'Andale Mono'),
|
193 |
array('Consolas, monaco, monospace', 'Consolas'),
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if( !class_exists('Wbcr_FactoryForms436_FontControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms436_FontControl extends Wbcr_FactoryForms436_ComplexControl {
|
26 |
|
27 |
public $type = 'font';
|
28 |
|
54 |
'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
|
55 |
);
|
56 |
|
57 |
+
$this->size = new Wbcr_FactoryForms436_IntegerControl($option_font_size, $form, $provider);
|
58 |
+
$this->family = new Wbcr_FactoryForms436_DropdownControl($option_font_family, $form, $provider);
|
59 |
+
$this->color = new Wbcr_FactoryForms436_ColorControl($optionFontColor, $form, $provider);
|
60 |
|
61 |
$this->innerControls = array($this->family, $this->size, $this->color);
|
62 |
}
|
66 |
|
67 |
$fonts = $this->getDefaultFonts();
|
68 |
|
69 |
+
$fonts = apply_filters('wbcr_factory_forms_436_fonts', $fonts);
|
70 |
+
$fonts = apply_filters('wbcr_factory_forms_436_fonts-' . $this->options['name'], $fonts);
|
71 |
|
72 |
return $fonts;
|
73 |
}
|
77 |
|
78 |
$fonts = array(
|
79 |
|
80 |
+
array('inherit', __('(use default website font)', 'wbcr_factory_forms_436')),
|
81 |
array(
|
82 |
'group',
|
83 |
+
__('Sans Serif:', 'wbcr_factory_forms_436'),
|
84 |
array(
|
85 |
array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
|
86 |
array('"Arial Black", "Arial Bold", Gadget, sans-serif', 'Arial Black'),
|
131 |
),
|
132 |
array(
|
133 |
'group',
|
134 |
+
__('Serif:', 'wbcr_factory_forms_436'),
|
135 |
array(
|
136 |
array(
|
137 |
'Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif',
|
187 |
),
|
188 |
array(
|
189 |
'group',
|
190 |
+
__('Monospaced:', 'wbcr_factory_forms_436'),
|
191 |
array(
|
192 |
array('"Andale Mono", AndaleMono, monospace', 'Andale Mono'),
|
193 |
array('Consolas, monaco, monospace', 'Consolas'),
|
libs/factory/forms/controls/google-font.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* @package core
|
16 |
* @since 1.0.0
|
17 |
*/
|
18 |
-
class
|
19 |
|
20 |
public $type = 'google-font';
|
21 |
const APIKEY = 'AIzaSyB-3vazYv7Q-5QZA04bmSKFrWcw_VhC40w';
|
@@ -30,7 +30,7 @@
|
|
30 |
'cssClass' => 'factory-google-font-data'
|
31 |
);
|
32 |
|
33 |
-
$this->google_font_data = new
|
34 |
$this->inner_controls[] = $this->google_font_data;
|
35 |
}
|
36 |
|
@@ -49,12 +49,12 @@
|
|
49 |
$google_fonts = $this->getGoogleFonts();
|
50 |
|
51 |
$fonts = array(
|
52 |
-
array('inherit', __('(use default website font)', '
|
53 |
);
|
54 |
|
55 |
$fontsCommon = array(
|
56 |
'group',
|
57 |
-
__('Standard:', '
|
58 |
array(
|
59 |
|
60 |
array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
|
@@ -65,7 +65,7 @@
|
|
65 |
)
|
66 |
);
|
67 |
|
68 |
-
$fontsGoogleFonts = array('group', __('Google Fonts:', '
|
69 |
|
70 |
foreach($google_fonts->items as $item) {
|
71 |
|
@@ -115,7 +115,7 @@
|
|
115 |
|
116 |
if( is_wp_error($response) ) {
|
117 |
|
118 |
-
$this->error = __('Unable to retrieve the list of Google Fonts.', '
|
119 |
$this->defailed_error = $response->get_error_message();
|
120 |
|
121 |
return $body;
|
@@ -123,7 +123,7 @@
|
|
123 |
|
124 |
if( !isset($response['body']) ) {
|
125 |
|
126 |
-
$this->error = __('Invalide response from the Google Fonts API.', '
|
127 |
$this->defailed_error = $response['body'];
|
128 |
|
129 |
return $body;
|
@@ -133,7 +133,7 @@
|
|
133 |
|
134 |
if( empty($body->items) ) {
|
135 |
|
136 |
-
$this->error = __('Unexpected error. The list of Google Fonts are empty.', '
|
137 |
|
138 |
return $body;
|
139 |
}
|
15 |
* @package core
|
16 |
* @since 1.0.0
|
17 |
*/
|
18 |
+
class Wbcr_FactoryForms436_GoogleFontControl extends Wbcr_FactoryForms436_FontControl {
|
19 |
|
20 |
public $type = 'google-font';
|
21 |
const APIKEY = 'AIzaSyB-3vazYv7Q-5QZA04bmSKFrWcw_VhC40w';
|
30 |
'cssClass' => 'factory-google-font-data'
|
31 |
);
|
32 |
|
33 |
+
$this->google_font_data = new Wbcr_FactoryForms436_HiddenControl($option_google_font_data, $form, $provider);
|
34 |
$this->inner_controls[] = $this->google_font_data;
|
35 |
}
|
36 |
|
49 |
$google_fonts = $this->getGoogleFonts();
|
50 |
|
51 |
$fonts = array(
|
52 |
+
array('inherit', __('(use default website font)', 'wbcr_factory_forms_436'))
|
53 |
);
|
54 |
|
55 |
$fontsCommon = array(
|
56 |
'group',
|
57 |
+
__('Standard:', 'wbcr_factory_forms_436'),
|
58 |
array(
|
59 |
|
60 |
array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
|
65 |
)
|
66 |
);
|
67 |
|
68 |
+
$fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_436'), array());
|
69 |
|
70 |
foreach($google_fonts->items as $item) {
|
71 |
|
115 |
|
116 |
if( is_wp_error($response) ) {
|
117 |
|
118 |
+
$this->error = __('Unable to retrieve the list of Google Fonts.', 'wbcr_factory_forms_436');
|
119 |
$this->defailed_error = $response->get_error_message();
|
120 |
|
121 |
return $body;
|
123 |
|
124 |
if( !isset($response['body']) ) {
|
125 |
|
126 |
+
$this->error = __('Invalide response from the Google Fonts API.', 'wbcr_factory_forms_436');
|
127 |
$this->defailed_error = $response['body'];
|
128 |
|
129 |
return $body;
|
133 |
|
134 |
if( empty($body->items) ) {
|
135 |
|
136 |
+
$this->error = __('Unexpected error. The list of Google Fonts are empty.', 'wbcr_factory_forms_436');
|
137 |
|
138 |
return $body;
|
139 |
}
|
libs/factory/forms/controls/gradient.php
CHANGED
@@ -25,8 +25,8 @@
|
|
25 |
exit;
|
26 |
}
|
27 |
|
28 |
-
if( !class_exists('
|
29 |
-
class
|
30 |
|
31 |
public $type = 'gradient';
|
32 |
|
@@ -66,8 +66,8 @@
|
|
66 |
if( !window.factory.res ) {
|
67 |
window.factory.res = {};
|
68 |
}
|
69 |
-
factory.res.resVertical = '<?php _e( 'vertical', '
|
70 |
-
factory.res.resHorizontal = '<?php _e( 'horizontal', '
|
71 |
</script>
|
72 |
<div <?php $this->attrs() ?>>
|
73 |
<div class="factory-gradient-picker">
|
25 |
exit;
|
26 |
}
|
27 |
|
28 |
+
if( !class_exists('Wbcr_FactoryForms436_GradientControl') ) {
|
29 |
+
class Wbcr_FactoryForms436_GradientControl extends Wbcr_FactoryForms436_Control {
|
30 |
|
31 |
public $type = 'gradient';
|
32 |
|
66 |
if( !window.factory.res ) {
|
67 |
window.factory.res = {};
|
68 |
}
|
69 |
+
factory.res.resVertical = '<?php _e( 'vertical', 'wbcr_factory_forms_436' ) ?>';
|
70 |
+
factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_436' ) ?>';
|
71 |
</script>
|
72 |
<div <?php $this->attrs() ?>>
|
73 |
<div class="factory-gradient-picker">
|
libs/factory/forms/controls/hidden.php
CHANGED
@@ -20,9 +20,9 @@
|
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
-
if( !class_exists('
|
24 |
|
25 |
-
class
|
26 |
|
27 |
public $type = 'hidden';
|
28 |
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if( !class_exists('Wbcr_FactoryForms436_HiddenControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms436_HiddenControl extends Wbcr_FactoryForms436_Control {
|
26 |
|
27 |
public $type = 'hidden';
|
28 |
|
libs/factory/forms/controls/holders/accordion-item.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
class
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_AccordionItemHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms436_AccordionItemHolder extends Wbcr_FactoryForms436_Holder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
libs/factory/forms/controls/holders/accordion.php
CHANGED
@@ -13,13 +13,13 @@
|
|
13 |
if( !defined('ABSPATH') ) {
|
14 |
exit;
|
15 |
}
|
16 |
-
if( !class_exists('
|
17 |
/**
|
18 |
* Tab Control Holder
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
-
class
|
23 |
|
24 |
/**
|
25 |
* A holder type.
|
13 |
if( !defined('ABSPATH') ) {
|
14 |
exit;
|
15 |
}
|
16 |
+
if( !class_exists('Wbcr_FactoryForms436_AccordionHolder') ) {
|
17 |
/**
|
18 |
* Tab Control Holder
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
class Wbcr_FactoryForms436_AccordionHolder extends Wbcr_FactoryForms436_Holder {
|
23 |
|
24 |
/**
|
25 |
* A holder type.
|
libs/factory/forms/controls/holders/columns.php
CHANGED
@@ -14,13 +14,13 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* Columns Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
/**
|
26 |
* A holder type.
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_ColumnsHolder') ) {
|
18 |
/**
|
19 |
* Columns Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms436_ColumnsHolder extends Wbcr_FactoryForms436_Holder {
|
24 |
|
25 |
/**
|
26 |
* A holder type.
|
libs/factory/forms/controls/holders/control-group-item.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
class
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_ControlGroupItem') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms436_ControlGroupItem extends Wbcr_FactoryForms436_Holder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
libs/factory/forms/controls/holders/control-group.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
class
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
@@ -61,7 +61,7 @@
|
|
61 |
continue;
|
62 |
}
|
63 |
|
64 |
-
$builder = new
|
65 |
|
66 |
$builder->addCssClass('factory-control-group-nav-label');
|
67 |
$builder->addCssClass('factory-control-group-nav-label-' . $element->getOption('name'));
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_ControlGroupHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms436_ControlGroupHolder extends Wbcr_FactoryForms436_ControlHolder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
61 |
continue;
|
62 |
}
|
63 |
|
64 |
+
$builder = new Wbcr_FactoryForms436_HtmlAttributeBuilder();
|
65 |
|
66 |
$builder->addCssClass('factory-control-group-nav-label');
|
67 |
$builder->addCssClass('factory-control-group-nav-label-' . $element->getOption('name'));
|
libs/factory/forms/controls/holders/div.php
CHANGED
@@ -14,13 +14,13 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* Div Control Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
/**
|
26 |
* A holder type.
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_DivHolder') ) {
|
18 |
/**
|
19 |
* Div Control Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms436_DivHolder extends Wbcr_FactoryForms436_Holder {
|
24 |
|
25 |
/**
|
26 |
* A holder type.
|
libs/factory/forms/controls/holders/form-group.php
CHANGED
@@ -14,13 +14,13 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* Group Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
/**
|
26 |
* A holder type.
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_FormGroupHolder') ) {
|
18 |
/**
|
19 |
* Group Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms436_FormGroupHolder extends Wbcr_FactoryForms436_Holder {
|
24 |
|
25 |
/**
|
26 |
* A holder type.
|
libs/factory/forms/controls/holders/more-link.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* Collapsed Group Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
class
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_MoreLinkHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Collapsed Group Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms436_MoreLinkHolder extends Wbcr_FactoryForms436_Holder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
libs/factory/forms/controls/holders/tab-item.php
CHANGED
@@ -13,13 +13,13 @@
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
if( !class_exists('
|
17 |
/**
|
18 |
* Tab Item Control Holder
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
-
class
|
23 |
|
24 |
/**
|
25 |
* A holder type.
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
if( !class_exists('Wbcr_FactoryForms436_TabItemHolder') ) {
|
17 |
/**
|
18 |
* Tab Item Control Holder
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
class Wbcr_FactoryForms436_TabItemHolder extends Wbcr_FactoryForms436_Holder {
|
23 |
|
24 |
/**
|
25 |
* A holder type.
|
libs/factory/forms/controls/holders/tab.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
class
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
@@ -44,7 +44,7 @@
|
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @param mixed[] $options A holder options.
|
47 |
-
* @param
|
48 |
*/
|
49 |
public function __construct($options, $form)
|
50 |
{
|
@@ -88,7 +88,7 @@
|
|
88 |
$tab_icon = $element->options['icon'];
|
89 |
}
|
90 |
|
91 |
-
$builder = new
|
92 |
|
93 |
$builder->addCssClass('factory-tab-item-header');
|
94 |
$builder->addCssClass('factory-tab-item-header-' . $element->getName());
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_TabHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms436_TabHolder extends Wbcr_FactoryForms436_Holder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @param mixed[] $options A holder options.
|
47 |
+
* @param FactoryForms436_Form $form A parent form.
|
48 |
*/
|
49 |
public function __construct($options, $form)
|
50 |
{
|
88 |
$tab_icon = $element->options['icon'];
|
89 |
}
|
90 |
|
91 |
+
$builder = new Wbcr_FactoryForms436_HtmlAttributeBuilder();
|
92 |
|
93 |
$builder->addCssClass('factory-tab-item-header');
|
94 |
$builder->addCssClass('factory-tab-item-header-' . $element->getName());
|
libs/factory/forms/controls/integer.php
CHANGED
@@ -32,9 +32,9 @@
|
|
32 |
exit;
|
33 |
}
|
34 |
|
35 |
-
if( !class_exists('
|
36 |
|
37 |
-
class
|
38 |
|
39 |
public $type = 'integer';
|
40 |
|
32 |
exit;
|
33 |
}
|
34 |
|
35 |
+
if( !class_exists('Wbcr_FactoryForms436_IntegerControl') ) {
|
36 |
|
37 |
+
class Wbcr_FactoryForms436_IntegerControl extends Wbcr_FactoryForms436_Control {
|
38 |
|
39 |
public $type = 'integer';
|
40 |
|
libs/factory/forms/controls/list.php
CHANGED
@@ -21,9 +21,9 @@
|
|
21 |
exit;
|
22 |
}
|
23 |
|
24 |
-
if( !class_exists('
|
25 |
|
26 |
-
class
|
27 |
|
28 |
public $type = 'list';
|
29 |
|
@@ -93,7 +93,7 @@
|
|
93 |
'url': '<?php echo $data['url'] ?>',
|
94 |
'data': <?php echo json_encode( $data['data'] ) ?>,
|
95 |
'selected': <?php echo json_encode( $value ) ?>,
|
96 |
-
'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', '
|
97 |
};
|
98 |
</script>
|
99 |
<?php
|
@@ -136,7 +136,7 @@
|
|
136 |
: array();
|
137 |
|
138 |
$is_empty = $this->isAjax() || empty($items);
|
139 |
-
$emptyList = $this->getOption('empty', __('The list is empty.', '
|
140 |
|
141 |
if( $is_empty ) {
|
142 |
$this->addCssClass('factory-empty');
|
21 |
exit;
|
22 |
}
|
23 |
|
24 |
+
if( !class_exists('Wbcr_FactoryForms436_ListControl') ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms436_ListControl extends Wbcr_FactoryForms436_Control {
|
27 |
|
28 |
public $type = 'list';
|
29 |
|
93 |
'url': '<?php echo $data['url'] ?>',
|
94 |
'data': <?php echo json_encode( $data['data'] ) ?>,
|
95 |
'selected': <?php echo json_encode( $value ) ?>,
|
96 |
+
'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_436') ) ?>'
|
97 |
};
|
98 |
</script>
|
99 |
<?php
|
136 |
: array();
|
137 |
|
138 |
$is_empty = $this->isAjax() || empty($items);
|
139 |
+
$emptyList = $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_436'));
|
140 |
|
141 |
if( $is_empty ) {
|
142 |
$this->addCssClass('factory-empty');
|
libs/factory/forms/controls/multiple-textbox.php
CHANGED
@@ -15,9 +15,9 @@
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
if( !class_exists('
|
19 |
|
20 |
-
class
|
21 |
|
22 |
public $type = 'multiple-textbox';
|
23 |
|
@@ -86,7 +86,7 @@
|
|
86 |
<?php endif; ?>
|
87 |
</div>
|
88 |
<button class="btn btn-default btn-small factory-mtextbox-add-item">
|
89 |
-
<i class="fa fa-plus" aria-hidden="true"></i> <?php _e('Add new', '
|
90 |
</button>
|
91 |
</div>
|
92 |
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
+
if( !class_exists('Wbcr_FactoryForms436_MultipleTextboxControl') ) {
|
19 |
|
20 |
+
class Wbcr_FactoryForms436_MultipleTextboxControl extends Wbcr_FactoryForms436_Control {
|
21 |
|
22 |
public $type = 'multiple-textbox';
|
23 |
|
86 |
<?php endif; ?>
|
87 |
</div>
|
88 |
<button class="btn btn-default btn-small factory-mtextbox-add-item">
|
89 |
+
<i class="fa fa-plus" aria-hidden="true"></i> <?php _e('Add new', 'wbcr_factory_forms_436') ?>
|
90 |
</button>
|
91 |
</div>
|
92 |
|
libs/factory/forms/controls/paddings-editor.php
CHANGED
@@ -14,9 +14,9 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
-
class
|
20 |
|
21 |
public $type = 'paddings-editor';
|
22 |
|
@@ -67,7 +67,7 @@
|
|
67 |
</div>
|
68 |
<div class="factory-slider-container">
|
69 |
<label class="factory-title">
|
70 |
-
<?php _e('Select a side and move the slider to set up:', '
|
71 |
</label>
|
72 |
|
73 |
<div class="factory-slider">
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_PaddingsEditorControl') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryForms436_PaddingsEditorControl extends Wbcr_FactoryForms436_Control {
|
20 |
|
21 |
public $type = 'paddings-editor';
|
22 |
|
67 |
</div>
|
68 |
<div class="factory-slider-container">
|
69 |
<label class="factory-title">
|
70 |
+
<?php _e('Select a side and move the slider to set up:', 'wbcr_factory_forms_436') ?>
|
71 |
</label>
|
72 |
|
73 |
<div class="factory-slider">
|
libs/factory/forms/controls/pattern.php
CHANGED
@@ -15,9 +15,9 @@
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
if( !class_exists('
|
19 |
|
20 |
-
class
|
21 |
|
22 |
public $type = 'pattern';
|
23 |
|
@@ -52,12 +52,12 @@
|
|
52 |
$name = $this->getOption('name');
|
53 |
|
54 |
// filters to get available patterns for the given background contols
|
55 |
-
$this->patterns = apply_filters('
|
56 |
-
$this->patterns = apply_filters('
|
57 |
|
58 |
$this->custom_patterns = $this->getOption('patterns', array());
|
59 |
|
60 |
-
$this->color = new
|
61 |
}
|
62 |
|
63 |
/**
|
@@ -102,19 +102,19 @@
|
|
102 |
</div>
|
103 |
<a href="#" class="button button-default factory-button factory-change-color-btn <?php if( $hasColor ) {
|
104 |
echo 'button-active';
|
105 |
-
} ?>" title="<?php _e('Change color', '
|
106 |
<i class="fa fa-flask"></i>
|
107 |
-
<span><?php _e('re-color', '
|
108 |
</a>
|
109 |
<input type="hidden" id="<?php echo $name[0]; ?>" name="<?php echo $name[0]; ?>" value="<?php echo esc_url($values['url']); ?>" class="factory-pattern-result">
|
110 |
<input type="hidden" id="<?php echo $name[1]; ?>" name="<?php echo $name[1]; ?>" value="<?php echo esc_attr($values['color']); ?>" class="factory-color-result">
|
111 |
</div>
|
112 |
<div class="factory-color-panel">
|
113 |
<div class="factory-color-wrap">
|
114 |
-
<span class="factory-color-label"><?php _e('Select color:', '
|
115 |
<?php $this->color->html() ?>
|
116 |
<div class="factory-hint">
|
117 |
-
<i><?php _e('Changing the color may takes a minute or more. Please be patient.', '
|
118 |
</div>
|
119 |
</div>
|
120 |
<div class="factory-picker-target"></div>
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
+
if( !class_exists('Wbcr_FactoryForms436_PatternControl') ) {
|
19 |
|
20 |
+
class Wbcr_FactoryForms436_PatternControl extends Wbcr_FactoryForms436_Control {
|
21 |
|
22 |
public $type = 'pattern';
|
23 |
|
52 |
$name = $this->getOption('name');
|
53 |
|
54 |
// filters to get available patterns for the given background contols
|
55 |
+
$this->patterns = apply_filters('wbcr_factory_forms_436_patterns', array());
|
56 |
+
$this->patterns = apply_filters('wbcr_factory_forms_436_patterns-' . $name, $this->patterns);
|
57 |
|
58 |
$this->custom_patterns = $this->getOption('patterns', array());
|
59 |
|
60 |
+
$this->color = new Wbcr_FactoryForms436_ColorControl($options['color'], $form, $provider);
|
61 |
}
|
62 |
|
63 |
/**
|
102 |
</div>
|
103 |
<a href="#" class="button button-default factory-button factory-change-color-btn <?php if( $hasColor ) {
|
104 |
echo 'button-active';
|
105 |
+
} ?>" title="<?php _e('Change color', 'wbcr_factory_forms_436') ?>">
|
106 |
<i class="fa fa-flask"></i>
|
107 |
+
<span><?php _e('re-color', 'wbcr_factory_forms_436') ?></span>
|
108 |
</a>
|
109 |
<input type="hidden" id="<?php echo $name[0]; ?>" name="<?php echo $name[0]; ?>" value="<?php echo esc_url($values['url']); ?>" class="factory-pattern-result">
|
110 |
<input type="hidden" id="<?php echo $name[1]; ?>" name="<?php echo $name[1]; ?>" value="<?php echo esc_attr($values['color']); ?>" class="factory-color-result">
|
111 |
</div>
|
112 |
<div class="factory-color-panel">
|
113 |
<div class="factory-color-wrap">
|
114 |
+
<span class="factory-color-label"><?php _e('Select color:', 'wbcr_factory_forms_436') ?></span>
|
115 |
<?php $this->color->html() ?>
|
116 |
<div class="factory-hint">
|
117 |
+
<i><?php _e('Changing the color may takes a minute or more. Please be patient.', 'wbcr_factory_forms_436') ?></i>
|
118 |
</div>
|
119 |
</div>
|
120 |
<div class="factory-picker-target"></div>
|
libs/factory/forms/controls/radio-colors.php
CHANGED
@@ -27,9 +27,9 @@
|
|
27 |
exit;
|
28 |
}
|
29 |
|
30 |
-
if( !class_exists('
|
31 |
|
32 |
-
class
|
33 |
|
34 |
public $type = 'radio-color';
|
35 |
|
27 |
exit;
|
28 |
}
|
29 |
|
30 |
+
if( !class_exists('Wbcr_FactoryForms436_RadioColorsControl') ) {
|
31 |
|
32 |
+
class Wbcr_FactoryForms436_RadioColorsControl extends Wbcr_FactoryForms436_Control {
|
33 |
|
34 |
public $type = 'radio-color';
|
35 |
|
libs/factory/forms/controls/radio.php
CHANGED
@@ -21,9 +21,9 @@
|
|
21 |
exit;
|
22 |
}
|
23 |
|
24 |
-
if( !class_exists('
|
25 |
|
26 |
-
class
|
27 |
|
28 |
public $type = 'radio';
|
29 |
|
21 |
exit;
|
22 |
}
|
23 |
|
24 |
+
if( !class_exists('Wbcr_FactoryForms436_RadioControl') ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms436_RadioControl extends Wbcr_FactoryForms436_Control {
|
27 |
|
28 |
public $type = 'radio';
|
29 |
|
libs/factory/forms/controls/textarea.php
CHANGED
@@ -20,9 +20,9 @@
|
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
-
if( !class_exists('
|
24 |
|
25 |
-
class
|
26 |
|
27 |
public $type = 'textarea';
|
28 |
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if( !class_exists('Wbcr_FactoryForms436_TextareaControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms436_TextareaControl extends Wbcr_FactoryForms436_Control {
|
26 |
|
27 |
public $type = 'textarea';
|
28 |
|
libs/factory/forms/controls/textbox.php
CHANGED
@@ -29,9 +29,9 @@
|
|
29 |
exit;
|
30 |
}
|
31 |
|
32 |
-
if( !class_exists('
|
33 |
|
34 |
-
class
|
35 |
|
36 |
public $type = 'textbox';
|
37 |
|
29 |
exit;
|
30 |
}
|
31 |
|
32 |
+
if( !class_exists('Wbcr_FactoryForms436_TextboxControl') ) {
|
33 |
|
34 |
+
class Wbcr_FactoryForms436_TextboxControl extends Wbcr_FactoryForms436_Control {
|
35 |
|
36 |
public $type = 'textbox';
|
37 |
|
libs/factory/forms/controls/url.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Url Control
|
5 |
*
|
6 |
* Main options:
|
7 |
-
* @see
|
8 |
*
|
9 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
10 |
* @copyright (c) 2018, Webcraftic Ltd
|
@@ -18,9 +18,9 @@
|
|
18 |
exit;
|
19 |
}
|
20 |
|
21 |
-
if( !class_exists('
|
22 |
|
23 |
-
class
|
24 |
|
25 |
public $type = 'url';
|
26 |
|
4 |
* Url Control
|
5 |
*
|
6 |
* Main options:
|
7 |
+
* @see FactoryForms436_TextboxControl
|
8 |
*
|
9 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
10 |
* @copyright (c) 2018, Webcraftic Ltd
|
18 |
exit;
|
19 |
}
|
20 |
|
21 |
+
if( !class_exists('Wbcr_FactoryForms436_UrlControl') ) {
|
22 |
|
23 |
+
class Wbcr_FactoryForms436_UrlControl extends Wbcr_FactoryForms436_TextboxControl {
|
24 |
|
25 |
public $type = 'url';
|
26 |
|
libs/factory/forms/controls/wp-editor.php
CHANGED
@@ -22,9 +22,9 @@
|
|
22 |
exit;
|
23 |
}
|
24 |
|
25 |
-
if( !class_exists('
|
26 |
|
27 |
-
class
|
28 |
|
29 |
public $type = 'wp-editor';
|
30 |
|
@@ -42,7 +42,7 @@
|
|
42 |
}
|
43 |
|
44 |
if( !isset($this->options['tinymce']['content_css']) ) {
|
45 |
-
$this->options['tinymce']['content_css'] =
|
46 |
}
|
47 |
}
|
48 |
|
22 |
exit;
|
23 |
}
|
24 |
|
25 |
+
if( !class_exists('Wbcr_FactoryForms436_WpEditorControl') ) {
|
26 |
|
27 |
+
class Wbcr_FactoryForms436_WpEditorControl extends Wbcr_FactoryForms436_Control {
|
28 |
|
29 |
public $type = 'wp-editor';
|
30 |
|
42 |
}
|
43 |
|
44 |
if( !isset($this->options['tinymce']['content_css']) ) {
|
45 |
+
$this->options['tinymce']['content_css'] = FACTORY_FORMS_436_URL . '/assets/css/editor.css';
|
46 |
}
|
47 |
}
|
48 |
|
libs/factory/forms/includes/complex-control.class.php
CHANGED
@@ -13,13 +13,13 @@
|
|
13 |
if( !defined('ABSPATH') ) {
|
14 |
exit;
|
15 |
}
|
16 |
-
if( !class_exists('
|
17 |
/**
|
18 |
* The base class for all controls.
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
-
abstract class
|
23 |
|
24 |
/**
|
25 |
* Is this element a complex control?
|
@@ -33,7 +33,7 @@
|
|
33 |
* Contains a set of internal controls.
|
34 |
*
|
35 |
* @since 1.0.0
|
36 |
-
* @var
|
37 |
*/
|
38 |
public $inner_controls = array();
|
39 |
|
@@ -41,7 +41,7 @@
|
|
41 |
* Sets a provider for the control.
|
42 |
*
|
43 |
* @since 1.0.0
|
44 |
-
* @param
|
45 |
* @return void
|
46 |
*/
|
47 |
public function setProvider($provider)
|
13 |
if( !defined('ABSPATH') ) {
|
14 |
exit;
|
15 |
}
|
16 |
+
if( !class_exists('Wbcr_FactoryForms436_ComplexControl') ) {
|
17 |
/**
|
18 |
* The base class for all controls.
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
abstract class Wbcr_FactoryForms436_ComplexControl extends Wbcr_FactoryForms436_Control {
|
23 |
|
24 |
/**
|
25 |
* Is this element a complex control?
|
33 |
* Contains a set of internal controls.
|
34 |
*
|
35 |
* @since 1.0.0
|
36 |
+
* @var Wbcr_FactoryForms436_Control[]
|
37 |
*/
|
38 |
public $inner_controls = array();
|
39 |
|
41 |
* Sets a provider for the control.
|
42 |
*
|
43 |
* @since 1.0.0
|
44 |
+
* @param Wbcr_IFactoryForms436_ValueProvider $provider
|
45 |
* @return void
|
46 |
*/
|
47 |
public function setProvider($provider)
|
libs/factory/forms/includes/control-holder.class.php
CHANGED
@@ -14,19 +14,19 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* The base class for control holders.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
abstract class
|
24 |
|
25 |
/**
|
26 |
* Holder Elements.
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
-
* @var
|
30 |
*/
|
31 |
protected $elements = array();
|
32 |
|
@@ -43,7 +43,7 @@
|
|
43 |
*
|
44 |
* @since 1.0.0
|
45 |
* @param mixed[] $options A holder options.
|
46 |
-
* @param
|
47 |
*/
|
48 |
public function __construct($options, $form)
|
49 |
{
|
@@ -60,7 +60,7 @@
|
|
60 |
* Returns holder elements.
|
61 |
*
|
62 |
* @since 1.0.0
|
63 |
-
* @return
|
64 |
*/
|
65 |
public function getElements()
|
66 |
{
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_ControlHolder') ) {
|
18 |
/**
|
19 |
* The base class for control holders.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
abstract class Wbcr_FactoryForms436_ControlHolder extends Wbcr_FactoryForms436_Control {
|
24 |
|
25 |
/**
|
26 |
* Holder Elements.
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
+
* @var Wbcr_FactoryForms436_Control[]
|
30 |
*/
|
31 |
protected $elements = array();
|
32 |
|
43 |
*
|
44 |
* @since 1.0.0
|
45 |
* @param mixed[] $options A holder options.
|
46 |
+
* @param Wbcr_FactoryForms436_Form $form A parent form.
|
47 |
*/
|
48 |
public function __construct($options, $form)
|
49 |
{
|
60 |
* Returns holder elements.
|
61 |
*
|
62 |
* @since 1.0.0
|
63 |
+
* @return Wbcr_FactoryForms436_FormElement[].
|
64 |
*/
|
65 |
public function getElements()
|
66 |
{
|
libs/factory/forms/includes/control.class.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* The base class for all controls.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
abstract class
|
25 |
|
26 |
/**
|
27 |
* Is this element a control?
|
@@ -43,7 +43,7 @@
|
|
43 |
* A provider that is used to get values.
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
-
* @var
|
47 |
*/
|
48 |
protected $provider = null;
|
49 |
|
@@ -51,7 +51,7 @@
|
|
51 |
* Create a new instance of the control.
|
52 |
*
|
53 |
* @param mixed[] $options
|
54 |
-
* @param
|
55 |
* @param null $provider
|
56 |
* @since 1.0.0
|
57 |
* @return void
|
@@ -66,7 +66,7 @@
|
|
66 |
* Sets a provider for the control.
|
67 |
*
|
68 |
* @since 1.0.0
|
69 |
-
* @param
|
70 |
* @return void
|
71 |
*/
|
72 |
public function setProvider($provider)
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_Control') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all controls.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryForms436_Control extends Wbcr_FactoryForms436_FormElement {
|
25 |
|
26 |
/**
|
27 |
* Is this element a control?
|
43 |
* A provider that is used to get values.
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
+
* @var Wbcr_IFactoryForms436_ValueProvider
|
47 |
*/
|
48 |
protected $provider = null;
|
49 |
|
51 |
* Create a new instance of the control.
|
52 |
*
|
53 |
* @param mixed[] $options
|
54 |
+
* @param FactoryForms436_Form $form
|
55 |
* @param null $provider
|
56 |
* @since 1.0.0
|
57 |
* @return void
|
66 |
* Sets a provider for the control.
|
67 |
*
|
68 |
* @since 1.0.0
|
69 |
+
* @param IFactoryForms436_ValueProvider $provider
|
70 |
* @return void
|
71 |
*/
|
72 |
public function setProvider($provider)
|
libs/factory/forms/includes/custom-element.class.php
CHANGED
@@ -14,13 +14,13 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* The base class for all controls.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
abstract class
|
24 |
|
25 |
/**
|
26 |
* Is this element a custom form element?
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_CustomElement') ) {
|
18 |
/**
|
19 |
* The base class for all controls.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
abstract class Wbcr_FactoryForms436_CustomElement extends Wbcr_FactoryForms436_FormElement {
|
24 |
|
25 |
/**
|
26 |
* Is this element a custom form element?
|
libs/factory/forms/includes/form-element.class.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* The base class for all form element (controls, holders).
|
@@ -23,7 +23,7 @@
|
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
*/
|
26 |
-
abstract class
|
27 |
|
28 |
/**
|
29 |
* A type of an elemnt.
|
@@ -37,7 +37,7 @@
|
|
37 |
* An html attribute builder.
|
38 |
*
|
39 |
* @since 1.0.0
|
40 |
-
* @var
|
41 |
*/
|
42 |
private $html_builder;
|
43 |
|
@@ -53,7 +53,7 @@
|
|
53 |
* A parent form.
|
54 |
*
|
55 |
* @since 1.0.0
|
56 |
-
* @var
|
57 |
*/
|
58 |
protected $form;
|
59 |
|
@@ -61,7 +61,7 @@
|
|
61 |
* A form layout.
|
62 |
*
|
63 |
* @since 1.0.0
|
64 |
-
* @var
|
65 |
*/
|
66 |
protected $layout;
|
67 |
|
@@ -94,7 +94,7 @@
|
|
94 |
*
|
95 |
* @since 1.0.0
|
96 |
* @param mixed[] $options A holder options.
|
97 |
-
* @param
|
98 |
*/
|
99 |
public function __construct($options, $form)
|
100 |
{
|
@@ -102,7 +102,7 @@
|
|
102 |
$this->form = $form;
|
103 |
$this->layout = $form->layout;
|
104 |
|
105 |
-
$this->html_builder = new
|
106 |
|
107 |
if( isset($this->options['cssClass']) ) {
|
108 |
$this->html_builder->addCssClass($this->options['cssClass']);
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_FormElement') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all form element (controls, holders).
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
*/
|
26 |
+
abstract class Wbcr_FactoryForms436_FormElement {
|
27 |
|
28 |
/**
|
29 |
* A type of an elemnt.
|
37 |
* An html attribute builder.
|
38 |
*
|
39 |
* @since 1.0.0
|
40 |
+
* @var Wbcr_FactoryForms436_HtmlAttributeBuilder
|
41 |
*/
|
42 |
private $html_builder;
|
43 |
|
53 |
* A parent form.
|
54 |
*
|
55 |
* @since 1.0.0
|
56 |
+
* @var Wbcr_FactoryForms436_Form
|
57 |
*/
|
58 |
protected $form;
|
59 |
|
61 |
* A form layout.
|
62 |
*
|
63 |
* @since 1.0.0
|
64 |
+
* @var Wbcr_FactoryForms436_FormLayout
|
65 |
*/
|
66 |
protected $layout;
|
67 |
|
94 |
*
|
95 |
* @since 1.0.0
|
96 |
* @param mixed[] $options A holder options.
|
97 |
+
* @param Wbcr_FactoryForms436_Form $form A parent form.
|
98 |
*/
|
99 |
public function __construct($options, $form)
|
100 |
{
|
102 |
$this->form = $form;
|
103 |
$this->layout = $form->layout;
|
104 |
|
105 |
+
$this->html_builder = new Wbcr_FactoryForms436_HtmlAttributeBuilder();
|
106 |
|
107 |
if( isset($this->options['cssClass']) ) {
|
108 |
$this->html_builder->addCssClass($this->options['cssClass']);
|
libs/factory/forms/includes/form-layout.class.php
CHANGED
@@ -14,12 +14,12 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* The base class for all form layouts.
|
21 |
*/
|
22 |
-
abstract class
|
23 |
|
24 |
/**
|
25 |
* A form layout name.
|
@@ -42,7 +42,7 @@
|
|
42 |
*
|
43 |
* @since 1.0.0
|
44 |
* @param mixed[] $options A holder options.
|
45 |
-
* @param
|
46 |
*/
|
47 |
public function __construct($options, $form)
|
48 |
{
|
@@ -52,8 +52,8 @@
|
|
52 |
|
53 |
parent::__construct($options, $form);
|
54 |
|
55 |
-
$this->addCssClass('factory-forms-
|
56 |
-
$this->addCssClass('factory-forms-
|
57 |
}
|
58 |
|
59 |
/**
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_FormLayout') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all form layouts.
|
21 |
*/
|
22 |
+
abstract class Wbcr_FactoryForms436_FormLayout extends Wbcr_FactoryForms436_Holder {
|
23 |
|
24 |
/**
|
25 |
* A form layout name.
|
42 |
*
|
43 |
* @since 1.0.0
|
44 |
* @param mixed[] $options A holder options.
|
45 |
+
* @param Wbcr_FactoryForms436_Form $form A parent form.
|
46 |
*/
|
47 |
public function __construct($options, $form)
|
48 |
{
|
52 |
|
53 |
parent::__construct($options, $form);
|
54 |
|
55 |
+
$this->addCssClass('factory-forms-436-' . $this->type);
|
56 |
+
$this->addCssClass('factory-forms-436-' . $this->name);
|
57 |
}
|
58 |
|
59 |
/**
|
libs/factory/forms/includes/form.class.php
CHANGED
@@ -15,16 +15,16 @@
|
|
15 |
}
|
16 |
|
17 |
// creating a license manager for each plugin created via the factory
|
18 |
-
add_action('
|
19 |
|
20 |
-
function
|
21 |
{
|
22 |
-
$plugin->forms = new
|
23 |
}
|
24 |
|
25 |
-
if( !class_exists('
|
26 |
|
27 |
-
class
|
28 |
|
29 |
// ----------------------------------------------------
|
30 |
// Static fields and methods
|
@@ -57,7 +57,7 @@
|
|
57 |
/**
|
58 |
* Registers a set of new controls.
|
59 |
*
|
60 |
-
* @see
|
61 |
*
|
62 |
* @since 1.0.0
|
63 |
* @return void
|
@@ -95,7 +95,7 @@
|
|
95 |
/**
|
96 |
* Registers a set of new holder controls.
|
97 |
*
|
98 |
-
* @see
|
99 |
*
|
100 |
* @since 1.0.0
|
101 |
* @return void
|
@@ -129,7 +129,7 @@
|
|
129 |
/**
|
130 |
* Registers a set of new custom form elements.
|
131 |
*
|
132 |
-
* @see
|
133 |
*
|
134 |
* @since 1.0.0
|
135 |
* @return void
|
@@ -180,11 +180,11 @@
|
|
180 |
public static $controls_registered = false;
|
181 |
}
|
182 |
}
|
183 |
-
if( !class_exists('
|
184 |
/**
|
185 |
* An abstraction for forms.
|
186 |
*/
|
187 |
-
class
|
188 |
|
189 |
// ----------------------------------------------------
|
190 |
// Object fields and methods
|
@@ -194,7 +194,7 @@
|
|
194 |
* A value provider of the form that is used to save and load values.
|
195 |
*
|
196 |
* @since 1.0.0
|
197 |
-
* @var
|
198 |
*/
|
199 |
private $provider;
|
200 |
|
@@ -245,7 +245,7 @@
|
|
245 |
* A current form layout used to render a form.
|
246 |
*
|
247 |
* @since 1.0.0
|
248 |
-
* @var
|
249 |
*/
|
250 |
public $layout;
|
251 |
|
@@ -261,20 +261,20 @@
|
|
261 |
*
|
262 |
* @since 1.0.0
|
263 |
* @param array $options
|
264 |
-
* @param
|
265 |
*/
|
266 |
-
public function __construct(array $options = array(),
|
267 |
{
|
268 |
// register controls once, when the first form is created
|
269 |
-
if( !
|
270 |
|
271 |
-
do_action('
|
272 |
|
273 |
//if( !empty($plugin) ) {
|
274 |
-
do_action('
|
275 |
//}
|
276 |
|
277 |
-
|
278 |
}
|
279 |
|
280 |
$this->scope = isset($options['scope']) ? $options['scope'] : null;
|
@@ -289,14 +289,14 @@
|
|
289 |
$this->form_layout = 'bootstrap-3';
|
290 |
}
|
291 |
|
292 |
-
|
293 |
}
|
294 |
|
295 |
/**
|
296 |
* Sets a provider for the control.
|
297 |
*
|
298 |
* @since 1.0.0
|
299 |
-
* @param
|
300 |
* @return void
|
301 |
*/
|
302 |
public function setProvider($provider)
|
@@ -332,14 +332,14 @@
|
|
332 |
*/
|
333 |
public function getItems()
|
334 |
{
|
335 |
-
return apply_filters('
|
336 |
}
|
337 |
|
338 |
/**
|
339 |
* Returns form controls (control objects).
|
340 |
*
|
341 |
* @since 1.0.0
|
342 |
-
* @return
|
343 |
*/
|
344 |
public function getControls()
|
345 |
{
|
@@ -355,7 +355,7 @@
|
|
355 |
* Builds a form items to the control objects ready to use.
|
356 |
*
|
357 |
* @param null $holder
|
358 |
-
* @return
|
359 |
*/
|
360 |
|
361 |
public function createControls($holder = null)
|
@@ -395,7 +395,7 @@
|
|
395 |
*
|
396 |
* @since 1.0.0
|
397 |
* @param array $item Item data.
|
398 |
-
* @return
|
399 |
*/
|
400 |
public function createElement($item)
|
401 |
{
|
@@ -417,7 +417,7 @@
|
|
417 |
*
|
418 |
* @since 1.0.0
|
419 |
* @param mixed[] $item Data of items.
|
420 |
-
* @return
|
421 |
*/
|
422 |
public function createElements($items = array())
|
423 |
{
|
@@ -433,7 +433,7 @@
|
|
433 |
*
|
434 |
* @since 1.0.0
|
435 |
* @param array $item Item data.
|
436 |
-
* @return
|
437 |
*/
|
438 |
public function createControl($item)
|
439 |
{
|
@@ -441,7 +441,7 @@
|
|
441 |
|
442 |
if( is_array($item) ) {
|
443 |
|
444 |
-
$control_data =
|
445 |
|
446 |
require_once($control_data['include']);
|
447 |
|
@@ -465,7 +465,7 @@
|
|
465 |
*
|
466 |
* @since 1.0.0
|
467 |
* @param array $item Item data.
|
468 |
-
* @return
|
469 |
*/
|
470 |
public function createHolder($item)
|
471 |
{
|
@@ -473,7 +473,7 @@
|
|
473 |
|
474 |
if( is_array($item) ) {
|
475 |
|
476 |
-
$holderData =
|
477 |
require_once($holderData['include']);
|
478 |
|
479 |
$object = new $holderData['class']($item, $this);
|
@@ -491,7 +491,7 @@
|
|
491 |
*
|
492 |
* @since 1.0.0
|
493 |
* @param mixed $item Item data.
|
494 |
-
* @return
|
495 |
*/
|
496 |
public function createCustomElement($item)
|
497 |
{
|
@@ -499,7 +499,7 @@
|
|
499 |
|
500 |
if( is_array($item) ) {
|
501 |
|
502 |
-
$data =
|
503 |
require_once($data['include']);
|
504 |
|
505 |
$options = $item;
|
@@ -523,12 +523,12 @@
|
|
523 |
public function html($options = array())
|
524 |
{
|
525 |
|
526 |
-
if( !isset(
|
527 |
die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
|
528 |
}
|
529 |
|
530 |
// include a render code
|
531 |
-
$layout_data =
|
532 |
require_once($layout_data['include']);
|
533 |
|
534 |
$this->connectAssets();
|
@@ -552,7 +552,7 @@
|
|
552 |
{
|
553 |
|
554 |
$this->connectAssetsForItems();
|
555 |
-
$layout_data =
|
556 |
|
557 |
if( $layout_data['name'] == 'default' ) {
|
558 |
if( isset($layout_data['style']) ) {
|
@@ -602,9 +602,9 @@
|
|
602 |
|
603 |
$haystack = array();
|
604 |
if( self::isControl($type) ) {
|
605 |
-
$haystack =
|
606 |
} elseif( self::isControlHolder($type) ) {
|
607 |
-
$haystack =
|
608 |
}
|
609 |
|
610 |
if( isset($haystack[$type]) ) {
|
@@ -660,7 +660,7 @@
|
|
660 |
*/
|
661 |
public static function isControl($item)
|
662 |
{
|
663 |
-
return isset(
|
664 |
}
|
665 |
|
666 |
/**
|
@@ -672,7 +672,7 @@
|
|
672 |
*/
|
673 |
public static function isControlHolder($item)
|
674 |
{
|
675 |
-
return isset(
|
676 |
}
|
677 |
|
678 |
/**
|
@@ -684,7 +684,7 @@
|
|
684 |
*/
|
685 |
public static function isCustomElement($item)
|
686 |
{
|
687 |
-
return isset(
|
688 |
}
|
689 |
}
|
690 |
}
|
15 |
}
|
16 |
|
17 |
// creating a license manager for each plugin created via the factory
|
18 |
+
add_action('wbcr_factory_forms_436_plugin_created', 'wbcr_factory_forms_436_plugin_created');
|
19 |
|
20 |
+
function wbcr_factory_forms_436_plugin_created($plugin)
|
21 |
{
|
22 |
+
$plugin->forms = new Wbcr_FactoryForms436_Manager($plugin);
|
23 |
}
|
24 |
|
25 |
+
if( !class_exists('Wbcr_FactoryForms436_Manager') ) {
|
26 |
|
27 |
+
class Wbcr_FactoryForms436_Manager {
|
28 |
|
29 |
// ----------------------------------------------------
|
30 |
// Static fields and methods
|
57 |
/**
|
58 |
* Registers a set of new controls.
|
59 |
*
|
60 |
+
* @see FactoryForms436_Form::registerControl()
|
61 |
*
|
62 |
* @since 1.0.0
|
63 |
* @return void
|
95 |
/**
|
96 |
* Registers a set of new holder controls.
|
97 |
*
|
98 |
+
* @see FactoryForms436_Form::registerHolder()
|
99 |
*
|
100 |
* @since 1.0.0
|
101 |
* @return void
|
129 |
/**
|
130 |
* Registers a set of new custom form elements.
|
131 |
*
|
132 |
+
* @see FactoryForms436_Form::registerCustomElement()
|
133 |
*
|
134 |
* @since 1.0.0
|
135 |
* @return void
|
180 |
public static $controls_registered = false;
|
181 |
}
|
182 |
}
|
183 |
+
if( !class_exists('Wbcr_FactoryForms436_Form') ) {
|
184 |
/**
|
185 |
* An abstraction for forms.
|
186 |
*/
|
187 |
+
class Wbcr_FactoryForms436_Form {
|
188 |
|
189 |
// ----------------------------------------------------
|
190 |
// Object fields and methods
|
194 |
* A value provider of the form that is used to save and load values.
|
195 |
*
|
196 |
* @since 1.0.0
|
197 |
+
* @var Wbcr_IFactoryForms436_ValueProvider
|
198 |
*/
|
199 |
private $provider;
|
200 |
|
245 |
* A current form layout used to render a form.
|
246 |
*
|
247 |
* @since 1.0.0
|
248 |
+
* @var Wbcr_FactoryForms436_FormLayout
|
249 |
*/
|
250 |
public $layout;
|
251 |
|
261 |
*
|
262 |
* @since 1.0.0
|
263 |
* @param array $options
|
264 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
265 |
*/
|
266 |
+
public function __construct(array $options = array(), Wbcr_Factory439_Plugin $plugin)
|
267 |
{
|
268 |
// register controls once, when the first form is created
|
269 |
+
if( !Wbcr_FactoryForms436_Manager::$controls_registered ) {
|
270 |
|
271 |
+
do_action('wbcr_factory_forms_436_register_controls', $plugin);
|
272 |
|
273 |
//if( !empty($plugin) ) {
|
274 |
+
do_action('wbcr_factory_forms_436_register_controls_' . $plugin->getPluginName(), $plugin);
|
275 |
//}
|
276 |
|
277 |
+
Wbcr_FactoryForms436_Manager::$controls_registered = true;
|
278 |
}
|
279 |
|
280 |
$this->scope = isset($options['scope']) ? $options['scope'] : null;
|
289 |
$this->form_layout = 'bootstrap-3';
|
290 |
}
|
291 |
|
292 |
+
Wbcr_FactoryForms436_Manager::$temper = 'flat';
|
293 |
}
|
294 |
|
295 |
/**
|
296 |
* Sets a provider for the control.
|
297 |
*
|
298 |
* @since 1.0.0
|
299 |
+
* @param Wbcr_IFactoryForms436_ValueProvider $provider
|
300 |
* @return void
|
301 |
*/
|
302 |
public function setProvider($provider)
|
332 |
*/
|
333 |
public function getItems()
|
334 |
{
|
335 |
+
return apply_filters('wbcr_factory_439_form_items', $this->items, $this->name);
|
336 |
}
|
337 |
|
338 |
/**
|
339 |
* Returns form controls (control objects).
|
340 |
*
|
341 |
* @since 1.0.0
|
342 |
+
* @return Wbcr_FactoryForms436_Control[]
|
343 |
*/
|
344 |
public function getControls()
|
345 |
{
|
355 |
* Builds a form items to the control objects ready to use.
|
356 |
*
|
357 |
* @param null $holder
|
358 |
+
* @return Wbcr_FactoryForms436_Control[]
|
359 |
*/
|
360 |
|
361 |
public function createControls($holder = null)
|
395 |
*
|
396 |
* @since 1.0.0
|
397 |
* @param array $item Item data.
|
398 |
+
* @return Wbcr_FactoryForms436_FormElement|null A form element.
|
399 |
*/
|
400 |
public function createElement($item)
|
401 |
{
|
417 |
*
|
418 |
* @since 1.0.0
|
419 |
* @param mixed[] $item Data of items.
|
420 |
+
* @return Wbcr_FactoryForms436_FormElement[] Created elements.
|
421 |
*/
|
422 |
public function createElements($items = array())
|
423 |
{
|
433 |
*
|
434 |
* @since 1.0.0
|
435 |
* @param array $item Item data.
|
436 |
+
* @return Wbcr_FactoryForms436_Control A control object.
|
437 |
*/
|
438 |
public function createControl($item)
|
439 |
{
|
441 |
|
442 |
if( is_array($item) ) {
|
443 |
|
444 |
+
$control_data = Wbcr_FactoryForms436_Manager::$registered_controls[$item['type']];
|
445 |
|
446 |
require_once($control_data['include']);
|
447 |
|
465 |
*
|
466 |
* @since 1.0.0
|
467 |
* @param array $item Item data.
|
468 |
+
* @return Wbcr_FactoryForms436_Holder A control holder object.
|
469 |
*/
|
470 |
public function createHolder($item)
|
471 |
{
|
473 |
|
474 |
if( is_array($item) ) {
|
475 |
|
476 |
+
$holderData = Wbcr_FactoryForms436_Manager::$registered_holders[$item['type']];
|
477 |
require_once($holderData['include']);
|
478 |
|
479 |
$object = new $holderData['class']($item, $this);
|
491 |
*
|
492 |
* @since 1.0.0
|
493 |
* @param mixed $item Item data.
|
494 |
+
* @return Wbcr_FactoryForms436_FormElement A custom form element object.
|
495 |
*/
|
496 |
public function createCustomElement($item)
|
497 |
{
|
499 |
|
500 |
if( is_array($item) ) {
|
501 |
|
502 |
+
$data = Wbcr_FactoryForms436_Manager::$registered_custom_elements[$item['type']];
|
503 |
require_once($data['include']);
|
504 |
|
505 |
$options = $item;
|
523 |
public function html($options = array())
|
524 |
{
|
525 |
|
526 |
+
if( !isset(Wbcr_FactoryForms436_Manager::$form_layouts[$this->form_layout]) ) {
|
527 |
die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
|
528 |
}
|
529 |
|
530 |
// include a render code
|
531 |
+
$layout_data = Wbcr_FactoryForms436_Manager::$form_layouts[$this->form_layout];
|
532 |
require_once($layout_data['include']);
|
533 |
|
534 |
$this->connectAssets();
|
552 |
{
|
553 |
|
554 |
$this->connectAssetsForItems();
|
555 |
+
$layout_data = Wbcr_FactoryForms436_Manager::$form_layouts[$this->form_layout];
|
556 |
|
557 |
if( $layout_data['name'] == 'default' ) {
|
558 |
if( isset($layout_data['style']) ) {
|
602 |
|
603 |
$haystack = array();
|
604 |
if( self::isControl($type) ) {
|
605 |
+
$haystack = Wbcr_FactoryForms436_Manager::$registered_controls;
|
606 |
} elseif( self::isControlHolder($type) ) {
|
607 |
+
$haystack = Wbcr_FactoryForms436_Manager::$registered_holders;
|
608 |
}
|
609 |
|
610 |
if( isset($haystack[$type]) ) {
|
660 |
*/
|
661 |
public static function isControl($item)
|
662 |
{
|
663 |
+
return isset(Wbcr_FactoryForms436_Manager::$registered_controls[$item['type']]);
|
664 |
}
|
665 |
|
666 |
/**
|
672 |
*/
|
673 |
public static function isControlHolder($item)
|
674 |
{
|
675 |
+
return isset(Wbcr_FactoryForms436_Manager::$registered_holders[$item['type']]);
|
676 |
}
|
677 |
|
678 |
/**
|
684 |
*/
|
685 |
public static function isCustomElement($item)
|
686 |
{
|
687 |
+
return isset(Wbcr_FactoryForms436_Manager::$registered_custom_elements[$item['type']]);
|
688 |
}
|
689 |
}
|
690 |
}
|
libs/factory/forms/includes/holder.class.php
CHANGED
@@ -14,20 +14,20 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* The base class for control holders.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
abstract class
|
25 |
|
26 |
/**
|
27 |
* Holder Elements.
|
28 |
*
|
29 |
* @since 1.0.0
|
30 |
-
* @var
|
31 |
*/
|
32 |
protected $elements = array();
|
33 |
|
@@ -44,7 +44,7 @@
|
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @param mixed[] $options A holder options.
|
47 |
-
* @param
|
48 |
*/
|
49 |
public function __construct($options, $form)
|
50 |
{
|
@@ -56,7 +56,7 @@
|
|
56 |
* Returns holder elements.
|
57 |
*
|
58 |
* @since 1.0.0
|
59 |
-
* @return
|
60 |
*/
|
61 |
public function getElements()
|
62 |
{
|
@@ -84,7 +84,7 @@
|
|
84 |
$is_first_item = false;
|
85 |
}
|
86 |
|
87 |
-
do_action('
|
88 |
|
89 |
// if a current item is a control holder
|
90 |
if( $element->is_holder ) {
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_Holder') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for control holders.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryForms436_Holder extends Wbcr_FactoryForms436_FormElement {
|
25 |
|
26 |
/**
|
27 |
* Holder Elements.
|
28 |
*
|
29 |
* @since 1.0.0
|
30 |
+
* @var Wbcr_FactoryForms436_Control[]
|
31 |
*/
|
32 |
protected $elements = array();
|
33 |
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @param mixed[] $options A holder options.
|
47 |
+
* @param Wbcr_FactoryForms436_Form $form A parent form.
|
48 |
*/
|
49 |
public function __construct($options, $form)
|
50 |
{
|
56 |
* Returns holder elements.
|
57 |
*
|
58 |
* @since 1.0.0
|
59 |
+
* @return Wbcr_FactoryForms436_Control[].
|
60 |
*/
|
61 |
public function getElements()
|
62 |
{
|
84 |
$is_first_item = false;
|
85 |
}
|
86 |
|
87 |
+
do_action('wbcr_factory_439_form_before_element_' . $element->getOption('name'));
|
88 |
|
89 |
// if a current item is a control holder
|
90 |
if( $element->is_holder ) {
|
libs/factory/forms/includes/html-builder.class.php
CHANGED
@@ -14,13 +14,13 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* Html Attribute Builder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
/**
|
26 |
* An array to store css classes.
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_HtmlAttributeBuilder') ) {
|
18 |
/**
|
19 |
* Html Attribute Builder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms436_HtmlAttributeBuilder {
|
24 |
|
25 |
/**
|
26 |
* An array to store css classes.
|
libs/factory/forms/includes/providers/meta-value-provider.class.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* Factory Meta Value Provider
|
@@ -24,7 +24,7 @@
|
|
24 |
*
|
25 |
* @since 1.0.0
|
26 |
*/
|
27 |
-
class
|
28 |
|
29 |
|
30 |
public $scope;
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_OptionsValueProvider') ) {
|
18 |
|
19 |
/**
|
20 |
* Factory Meta Value Provider
|
24 |
*
|
25 |
* @since 1.0.0
|
26 |
*/
|
27 |
+
class Wbcr_FactoryForms436_MetaValueProvider implements Wbcr_IFactoryForms436_ValueProvider {
|
28 |
|
29 |
|
30 |
public $scope;
|
libs/factory/forms/includes/providers/options-value-provider.class.php
CHANGED
@@ -13,7 +13,7 @@
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
if( !class_exists('
|
17 |
|
18 |
/**
|
19 |
* Factory Options Value Provider
|
@@ -22,7 +22,7 @@
|
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
-
class
|
26 |
|
27 |
/**
|
28 |
* A prefix that will be added to all option names.
|
@@ -43,7 +43,7 @@
|
|
43 |
/**
|
44 |
* Creates a new instance of an options value provider.
|
45 |
*/
|
46 |
-
public function __construct(
|
47 |
{
|
48 |
$this->plugin = $plugin;
|
49 |
}
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
if( !class_exists('Wbcr_FactoryForms436_OptionsValueProvider') ) {
|
17 |
|
18 |
/**
|
19 |
* Factory Options Value Provider
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
+
class Wbcr_FactoryForms436_OptionsValueProvider implements Wbcr_IFactoryForms436_ValueProvider {
|
26 |
|
27 |
/**
|
28 |
* A prefix that will be added to all option names.
|
43 |
/**
|
44 |
* Creates a new instance of an options value provider.
|
45 |
*/
|
46 |
+
public function __construct(Wbcr_Factory439_Plugin $plugin)
|
47 |
{
|
48 |
$this->plugin = $plugin;
|
49 |
}
|
libs/factory/forms/includes/providers/value-provider.interface.php
CHANGED
@@ -14,13 +14,13 @@
|
|
14 |
if( !defined('ABSPATH') ) {
|
15 |
exit;
|
16 |
}
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* The interface for all value provides.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
interface
|
24 |
|
25 |
/**
|
26 |
* Inits a form a provider to get data from a storage.
|
14 |
if( !defined('ABSPATH') ) {
|
15 |
exit;
|
16 |
}
|
17 |
+
if( !class_exists('Wbcr_IFactoryForms436_ValueProvider') ) {
|
18 |
/**
|
19 |
* The interface for all value provides.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
interface Wbcr_IFactoryForms436_ValueProvider {
|
24 |
|
25 |
/**
|
26 |
* Inits a form a provider to get data from a storage.
|
libs/factory/forms/langs/wbcr_factory_forms_430-ru_RU.mo
DELETED
Binary file
|
libs/factory/forms/langs/wbcr_factory_forms_430-ru_RU.po
DELETED
@@ -1,95 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: factory_forms\n"
|
4 |
-
"POT-Creation-Date: 2014-08-24 17:39+0400\n"
|
5 |
-
"PO-Revision-Date: 2014-08-24 17:49+0400\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 1.6.8\n"
|
13 |
-
"X-Poedit-Basepath: .\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: E:\\cloud\\Dropbox\\OnePress\\Products\\Topic\\Plugin "
|
19 |
-
"- Opt-In Panda for Wordpress\\wp-content\\plugins\\optinpanda-next\\libs"
|
20 |
-
"\\factory\\forms\n"
|
21 |
-
|
22 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
23 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/checkbox.php:55
|
24 |
-
msgid "On"
|
25 |
-
msgstr "Вкл"
|
26 |
-
|
27 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
28 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/checkbox.php:56
|
29 |
-
msgid "Off"
|
30 |
-
msgstr "Выкл"
|
31 |
-
|
32 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
33 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/font.php:33
|
34 |
-
msgid "(use default website font)"
|
35 |
-
msgstr "(шрифт сайта по умолчанию)"
|
36 |
-
|
37 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
38 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/font.php:35
|
39 |
-
msgid "Sans Serif:"
|
40 |
-
msgstr "Группа Sans Serif:"
|
41 |
-
|
42 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
43 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/font.php:58
|
44 |
-
msgid "Serif:"
|
45 |
-
msgstr "Группа Serif:"
|
46 |
-
|
47 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
48 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/font.php:78
|
49 |
-
msgid "Monospaced:"
|
50 |
-
msgstr "Группа Monospaced:"
|
51 |
-
|
52 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
53 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/gradient.php:54
|
54 |
-
msgid "vertical"
|
55 |
-
msgstr "вертикальный"
|
56 |
-
|
57 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
58 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/gradient.php:55
|
59 |
-
msgid "horizontal"
|
60 |
-
msgstr "горизонтальный"
|
61 |
-
|
62 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
63 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/holders/more-link.php:47
|
64 |
-
msgid "hide extra options"
|
65 |
-
msgstr "скрыть дополнительные настроки"
|
66 |
-
|
67 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
68 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/paddings-editor.php:51
|
69 |
-
msgid "Select a side and move the slider to set up:"
|
70 |
-
msgstr "Выберите сторону и переместите ползунок:"
|
71 |
-
|
72 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
73 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/pattern.php:78
|
74 |
-
msgid "Change color"
|
75 |
-
msgstr "Выбрать цвет"
|
76 |
-
|
77 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
78 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/pattern.php:80
|
79 |
-
msgid "re-color"
|
80 |
-
msgstr "Перекрасить"
|
81 |
-
|
82 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
83 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/pattern.php:89
|
84 |
-
msgid "Select color:"
|
85 |
-
msgstr "Выберите цвет:"
|
86 |
-
|
87 |
-
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Opt-In Panda for
|
88 |
-
#: Wordpress\wp-content\plugins\optinpanda-next\libs\factory\forms/controls/pattern.php:91
|
89 |
-
msgid "Changing the color may takes a minute or more. Please be patient."
|
90 |
-
msgstr ""
|
91 |
-
"В некоторых случаях изменение цвета может занять около минуты. Пожалуйста, "
|
92 |
-
"будьте терпеливы."
|
93 |
-
|
94 |
-
#~ msgid "Upload Pattern"
|
95 |
-
#~ msgstr "Добавить шаблон"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/forms/langs/{wbcr_factory_forms_429-ru_RU.mo → wbcr_factory_forms_436-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/forms/langs/{wbcr_factory_forms_429-ru_RU.po → wbcr_factory_forms_436-ru_RU.po}
RENAMED
File without changes
|
libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php
CHANGED
@@ -14,11 +14,11 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* A form layout based on Twitter Bootstrap 3
|
20 |
*/
|
21 |
-
class
|
22 |
|
23 |
public $name = 'default';
|
24 |
|
@@ -27,7 +27,7 @@
|
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
* @param array $options A holder options.
|
30 |
-
* @param
|
31 |
*/
|
32 |
public function __construct($options, $form)
|
33 |
{
|
@@ -68,7 +68,7 @@
|
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
-
* @param
|
72 |
*/
|
73 |
public function beforeControl($control)
|
74 |
{
|
@@ -116,7 +116,7 @@
|
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
-
* @param
|
120 |
*/
|
121 |
public function afterControl($control)
|
122 |
{
|
@@ -168,7 +168,7 @@
|
|
168 |
}
|
169 |
|
170 |
/**
|
171 |
-
* @param
|
172 |
* @param int $index
|
173 |
* @param int $total
|
174 |
*/
|
@@ -193,7 +193,7 @@
|
|
193 |
}
|
194 |
|
195 |
/**
|
196 |
-
* @param
|
197 |
* @param int $index
|
198 |
* @param int $total
|
199 |
*/
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms436_Bootstrap3FormLayout') ) {
|
18 |
/**
|
19 |
* A form layout based on Twitter Bootstrap 3
|
20 |
*/
|
21 |
+
class Wbcr_FactoryForms436_Bootstrap3FormLayout extends Wbcr_FactoryForms436_FormLayout {
|
22 |
|
23 |
public $name = 'default';
|
24 |
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
* @param array $options A holder options.
|
30 |
+
* @param Wbcr_FactoryForms436_Form $form A parent form.
|
31 |
*/
|
32 |
public function __construct($options, $form)
|
33 |
{
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* @param Wbcr_FactoryForms436_Control $control
|
72 |
*/
|
73 |
public function beforeControl($control)
|
74 |
{
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
+
* @param Wbcr_FactoryForms436_Control $control
|
120 |
*/
|
121 |
public function afterControl($control)
|
122 |
{
|
168 |
}
|
169 |
|
170 |
/**
|
171 |
+
* @param Wbcr_FactoryForms436_Control $control
|
172 |
* @param int $index
|
173 |
* @param int $total
|
174 |
*/
|
193 |
}
|
194 |
|
195 |
/**
|
196 |
+
* @param Wbcr_FactoryForms436_Control $control
|
197 |
* @param int $index
|
198 |
* @param int $total
|
199 |
*/
|
libs/factory/freemius/boot.php
CHANGED
@@ -14,39 +14,39 @@ if( !defined('ABSPATH') ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( defined('
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
define('
|
22 |
|
23 |
-
define('
|
24 |
-
define('
|
25 |
-
define('
|
26 |
|
27 |
#comp merge
|
28 |
// Freemius
|
29 |
-
require_once(
|
30 |
-
require_once(
|
31 |
-
require_once(
|
32 |
-
require_once(
|
33 |
-
require_once(
|
34 |
-
require_once(
|
35 |
-
require_once(
|
36 |
|
37 |
if( !class_exists('Freemius_Api_WordPress') ) {
|
38 |
-
require_once
|
39 |
}
|
40 |
|
41 |
-
require_once(
|
42 |
|
43 |
/**
|
44 |
-
* @param
|
45 |
*/
|
46 |
-
add_action('
|
47 |
# Устанавливаем класс провайдера лицензий для премиум менеджера
|
48 |
-
$plugin->set_license_provider('freemius', 'WBCR\
|
49 |
# Устанавливаем класс репозитория обновлений для менеджера обновлений
|
50 |
-
$plugin->set_update_repository('freemius', 'WBCR\
|
51 |
});
|
52 |
#endcomp
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( defined('FACTORY_FREEMIUS_126_LOADED') ) {
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
define('FACTORY_FREEMIUS_126_VERSION', '1.2.6');
|
22 |
|
23 |
+
define('FACTORY_FREEMIUS_126_LOADED', true);
|
24 |
+
define('FACTORY_FREEMIUS_126_DIR', dirname(__FILE__));
|
25 |
+
define('FACTORY_FREEMIUS_126_URL', plugins_url(null, __FILE__));
|
26 |
|
27 |
#comp merge
|
28 |
// Freemius
|
29 |
+
require_once(FACTORY_FREEMIUS_126_DIR . '/includes/entities/class-freemius-entity.php');
|
30 |
+
require_once(FACTORY_FREEMIUS_126_DIR . '/includes/entities/class-freemius-scope.php');
|
31 |
+
require_once(FACTORY_FREEMIUS_126_DIR . '/includes/entities/class-freemius-user.php');
|
32 |
+
require_once(FACTORY_FREEMIUS_126_DIR . '/includes/entities/class-freemius-site.php');
|
33 |
+
require_once(FACTORY_FREEMIUS_126_DIR . '/includes/entities/class-freemius-license.php');
|
34 |
+
require_once(FACTORY_FREEMIUS_126_DIR . '/includes/licensing/class-freemius-provider.php');
|
35 |
+
require_once(FACTORY_FREEMIUS_126_DIR . '/includes/updates/class-freemius-repository.php');
|
36 |
|
37 |
if( !class_exists('Freemius_Api_WordPress') ) {
|
38 |
+
require_once FACTORY_FREEMIUS_126_DIR . '/includes/sdk/FreemiusWordPress.php';
|
39 |
}
|
40 |
|
41 |
+
require_once(FACTORY_FREEMIUS_126_DIR . '/includes/class-freemius-api.php');
|
42 |
|
43 |
/**
|
44 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
45 |
*/
|
46 |
+
add_action('wbcr_factory_freemius_126_plugin_created', function ($plugin) {
|
47 |
# Устанавливаем класс провайдера лицензий для премиум менеджера
|
48 |
+
$plugin->set_license_provider('freemius', 'WBCR\Factory_Freemius_126\Premium\Provider');
|
49 |
# Устанавливаем класс репозитория обновлений для менеджера обновлений
|
50 |
+
$plugin->set_update_repository('freemius', 'WBCR\Factory_Freemius_126\Updates\Freemius_Repository');
|
51 |
});
|
52 |
#endcomp
|
libs/factory/freemius/includes/class-freemius-api.php
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use Freemius_Api_WordPress;
|
6 |
use Freemius_Exception;
|
7 |
-
use
|
8 |
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
@@ -33,7 +33,7 @@ final class Api {
|
|
33 |
private $api;
|
34 |
|
35 |
/**
|
36 |
-
* @var
|
37 |
*/
|
38 |
private $plugin;
|
39 |
|
@@ -48,14 +48,14 @@ final class Api {
|
|
48 |
private static $clock_diff;
|
49 |
|
50 |
/**
|
51 |
-
* @param
|
52 |
* @param string $scope 'app', 'developer', 'user' or 'install'.
|
53 |
* @param number $id Element's id.
|
54 |
* @param string $public_key Public key.
|
55 |
* @param bool|string $secret_key Element's secret key.
|
56 |
* @param bool $is_sandbox
|
57 |
*/
|
58 |
-
private function __construct(
|
59 |
if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
|
60 |
require_once WP_FS__DIR_SDK . '/FreemiusWordPress.php';
|
61 |
}
|
@@ -73,7 +73,7 @@ final class Api {
|
|
73 |
}
|
74 |
|
75 |
/**
|
76 |
-
* @param
|
77 |
* @param string $scope 'app', 'developer', 'user' or 'install'.
|
78 |
* @param number $id Element's id.
|
79 |
* @param string $public_key Public key.
|
@@ -82,7 +82,7 @@ final class Api {
|
|
82 |
*
|
83 |
* @return Api
|
84 |
*/
|
85 |
-
public static function instance(
|
86 |
$identifier = md5( $plugin->getPluginName() . $scope . $id . $public_key . ( is_string( $secret_key ) ? $secret_key : '' ) . json_encode( $is_sandbox ) );
|
87 |
|
88 |
if ( ! isset( self::$instances[ $identifier ] ) ) {
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_126;
|
4 |
|
5 |
use Freemius_Api_WordPress;
|
6 |
use Freemius_Exception;
|
7 |
+
use Wbcr_Factory439_Plugin;
|
8 |
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
33 |
private $api;
|
34 |
|
35 |
/**
|
36 |
+
* @var Wbcr_Factory439_Plugin
|
37 |
*/
|
38 |
private $plugin;
|
39 |
|
48 |
private static $clock_diff;
|
49 |
|
50 |
/**
|
51 |
+
* @param Wbcr_Factory439_Plugin $slug
|
52 |
* @param string $scope 'app', 'developer', 'user' or 'install'.
|
53 |
* @param number $id Element's id.
|
54 |
* @param string $public_key Public key.
|
55 |
* @param bool|string $secret_key Element's secret key.
|
56 |
* @param bool $is_sandbox
|
57 |
*/
|
58 |
+
private function __construct( Wbcr_Factory439_Plugin $plugin, $scope, $id, $public_key, $secret_key, $is_sandbox ) {
|
59 |
if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
|
60 |
require_once WP_FS__DIR_SDK . '/FreemiusWordPress.php';
|
61 |
}
|
73 |
}
|
74 |
|
75 |
/**
|
76 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
77 |
* @param string $scope 'app', 'developer', 'user' or 'install'.
|
78 |
* @param number $id Element's id.
|
79 |
* @param string $public_key Public key.
|
82 |
*
|
83 |
* @return Api
|
84 |
*/
|
85 |
+
public static function instance( Wbcr_Factory439_Plugin $plugin, $scope, $id, $public_key, $is_sandbox, $secret_key = false ) {
|
86 |
$identifier = md5( $plugin->getPluginName() . $scope . $id . $public_key . ( is_string( $secret_key ) ? $secret_key : '' ) . json_encode( $is_sandbox ) );
|
87 |
|
88 |
if ( ! isset( self::$instances[ $identifier ] ) ) {
|
libs/factory/freemius/includes/entities/class-freemius-entity.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use stdClass;
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_126\Entities;
|
4 |
|
5 |
use stdClass;
|
6 |
|
libs/factory/freemius/includes/entities/class-freemius-license.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use stdClass;
|
6 |
|
@@ -14,7 +14,7 @@
|
|
14 |
* @copyright (c) 2018 Webraftic Ltd, Freemius, Inc.
|
15 |
* @version 1.0
|
16 |
*/
|
17 |
-
class License extends Entity implements \WBCR\
|
18 |
|
19 |
/**
|
20 |
* @var number
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_126\Entities;
|
4 |
|
5 |
use stdClass;
|
6 |
|
14 |
* @copyright (c) 2018 Webraftic Ltd, Freemius, Inc.
|
15 |
* @version 1.0
|
16 |
*/
|
17 |
+
class License extends Entity implements \WBCR\Factory_439\Premium\Interfaces\License {
|
18 |
|
19 |
/**
|
20 |
* @var number
|
libs/factory/freemius/includes/entities/class-freemius-plugin.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use stdClass;
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_126\Entities;
|
4 |
|
5 |
use stdClass;
|
6 |
|
libs/factory/freemius/includes/entities/class-freemius-scope.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use stdClass;
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_126\Entities;
|
4 |
|
5 |
use stdClass;
|
6 |
|
libs/factory/freemius/includes/entities/class-freemius-site.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
use stdClass;
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_126\Entities;
|
4 |
|
5 |
use stdClass;
|
6 |
|
libs/factory/freemius/includes/entities/class-freemius-user.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_Freemius_126\Entities;
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
exit;
|
libs/factory/freemius/includes/licensing/class-freemius-provider.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
-
|
5 |
-
use WBCR\
|
6 |
-
use WBCR\
|
7 |
-
use WBCR\
|
8 |
-
use WBCR\
|
9 |
-
use WBCR\
|
10 |
-
use
|
11 |
-
use WBCR\
|
12 |
use WP_Error;
|
13 |
use Exception;
|
14 |
|
@@ -40,17 +40,17 @@ final class Provider extends License_Provider {
|
|
40 |
private $slug;
|
41 |
|
42 |
/**
|
43 |
-
* @var \WBCR\
|
44 |
*/
|
45 |
private $site_api;
|
46 |
|
47 |
/**
|
48 |
-
* @var \WBCR\
|
49 |
*/
|
50 |
private $plugin_api;
|
51 |
|
52 |
/**
|
53 |
-
* @var \WBCR\
|
54 |
*/
|
55 |
private $user_api;
|
56 |
|
@@ -82,11 +82,11 @@ final class Provider extends License_Provider {
|
|
82 |
/**
|
83 |
* Manager constructor.
|
84 |
*
|
85 |
-
* @param
|
86 |
*
|
87 |
* @throws Exception
|
88 |
*/
|
89 |
-
public function __construct(
|
90 |
{
|
91 |
parent::__construct($plugin, $settings);
|
92 |
|
@@ -150,7 +150,7 @@ final class Provider extends License_Provider {
|
|
150 |
}
|
151 |
|
152 |
/**
|
153 |
-
* @return \WBCR\
|
154 |
* @throws Exception
|
155 |
*/
|
156 |
public function get_license()
|
@@ -613,7 +613,7 @@ final class Provider extends License_Provider {
|
|
613 |
/**
|
614 |
* @param bool $flush
|
615 |
*
|
616 |
-
* @return \WBCR\
|
617 |
* @throws Exception
|
618 |
*/
|
619 |
private function get_api_user_scope(User $user, $flush = false)
|
@@ -628,7 +628,7 @@ final class Provider extends License_Provider {
|
|
628 |
/**
|
629 |
* @param bool $flush
|
630 |
*
|
631 |
-
* @return \WBCR\
|
632 |
* @throws Exception
|
633 |
*/
|
634 |
private function get_api_site_scope(Site $site, $flush = false)
|
@@ -643,7 +643,7 @@ final class Provider extends License_Provider {
|
|
643 |
/**
|
644 |
* Get plugin public API scope.
|
645 |
*
|
646 |
-
* @return \WBCR\
|
647 |
* @throws Exception
|
648 |
*/
|
649 |
private function get_api_plugin_scope()
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_126\Premium;
|
4 |
+
|
5 |
+
use WBCR\Factory_Freemius_126\Entities\License;
|
6 |
+
use WBCR\Factory_Freemius_126\Entities\Plugin;
|
7 |
+
use WBCR\Factory_Freemius_126\Entities\Site;
|
8 |
+
use WBCR\Factory_Freemius_126\Entities\User;
|
9 |
+
use WBCR\Factory_439\Premium\Provider as License_Provider;
|
10 |
+
use Wbcr_Factory439_Plugin;
|
11 |
+
use WBCR\Factory_Freemius_126\Api;
|
12 |
use WP_Error;
|
13 |
use Exception;
|
14 |
|
40 |
private $slug;
|
41 |
|
42 |
/**
|
43 |
+
* @var \WBCR\Factory_Freemius_126\Api
|
44 |
*/
|
45 |
private $site_api;
|
46 |
|
47 |
/**
|
48 |
+
* @var \WBCR\Factory_Freemius_126\Api
|
49 |
*/
|
50 |
private $plugin_api;
|
51 |
|
52 |
/**
|
53 |
+
* @var \WBCR\Factory_Freemius_126\Api
|
54 |
*/
|
55 |
private $user_api;
|
56 |
|
82 |
/**
|
83 |
* Manager constructor.
|
84 |
*
|
85 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
86 |
*
|
87 |
* @throws Exception
|
88 |
*/
|
89 |
+
public function __construct(Wbcr_Factory439_Plugin $plugin, array $settings)
|
90 |
{
|
91 |
parent::__construct($plugin, $settings);
|
92 |
|
150 |
}
|
151 |
|
152 |
/**
|
153 |
+
* @return \WBCR\Factory_Freemius_126\Entities\License|null
|
154 |
* @throws Exception
|
155 |
*/
|
156 |
public function get_license()
|
613 |
/**
|
614 |
* @param bool $flush
|
615 |
*
|
616 |
+
* @return \WBCR\Factory_Freemius_126\Api
|
617 |
* @throws Exception
|
618 |
*/
|
619 |
private function get_api_user_scope(User $user, $flush = false)
|
628 |
/**
|
629 |
* @param bool $flush
|
630 |
*
|
631 |
+
* @return \WBCR\Factory_Freemius_126\Api
|
632 |
* @throws Exception
|
633 |
*/
|
634 |
private function get_api_site_scope(Site $site, $flush = false)
|
643 |
/**
|
644 |
* Get plugin public API scope.
|
645 |
*
|
646 |
+
* @return \WBCR\Factory_Freemius_126\Api
|
647 |
* @throws Exception
|
648 |
*/
|
649 |
private function get_api_plugin_scope()
|
libs/factory/freemius/includes/updates/class-freemius-repository.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
use Exception;
|
7 |
-
use
|
8 |
-
use WBCR\
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
20 |
class Freemius_Repository extends Repository {
|
21 |
|
22 |
/**
|
23 |
-
* @var \WBCR\
|
24 |
*/
|
25 |
private $premium;
|
26 |
|
@@ -28,11 +28,11 @@ class Freemius_Repository extends Repository {
|
|
28 |
* Freemius constructor.
|
29 |
* @since 4.0.0
|
30 |
*
|
31 |
-
* @param
|
32 |
*
|
33 |
* @throws Exception
|
34 |
*/
|
35 |
-
public function __construct(
|
36 |
$this->plugin = $plugin;
|
37 |
$this->premium = $this->plugin->premium;
|
38 |
}
|
@@ -41,7 +41,7 @@ class Freemius_Repository extends Repository {
|
|
41 |
* @throws Exception
|
42 |
*/
|
43 |
public function init() {
|
44 |
-
if ( ! $this->premium instanceof \WBCR\
|
45 |
throw new Exception( "This repository type requires Freemius premium provider." );
|
46 |
}
|
47 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_126\Updates;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
use Exception;
|
7 |
+
use Wbcr_Factory439_Plugin;
|
8 |
+
use WBCR\Factory_439\Updates\Repository;
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
20 |
class Freemius_Repository extends Repository {
|
21 |
|
22 |
/**
|
23 |
+
* @var \WBCR\Factory_Freemius_126\Premium\Provider
|
24 |
*/
|
25 |
private $premium;
|
26 |
|
28 |
* Freemius constructor.
|
29 |
* @since 4.0.0
|
30 |
*
|
31 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
32 |
*
|
33 |
* @throws Exception
|
34 |
*/
|
35 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
36 |
$this->plugin = $plugin;
|
37 |
$this->premium = $this->plugin->premium;
|
38 |
}
|
41 |
* @throws Exception
|
42 |
*/
|
43 |
public function init() {
|
44 |
+
if ( ! $this->premium instanceof \WBCR\Factory_Freemius_126\Premium\Provider ) {
|
45 |
throw new Exception( "This repository type requires Freemius premium provider." );
|
46 |
}
|
47 |
|
libs/factory/logger/assets/css/logger.css
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.wbcr_factory_logger_container {
|
2 |
+
padding-right: 40px;
|
3 |
+
}
|
4 |
+
|
5 |
+
.wbcr_factory_logger_page_title {
|
6 |
+
text-align: center;
|
7 |
+
padding: 10px 0;
|
8 |
+
}
|
9 |
+
|
10 |
+
.wbcr-log-viewer {
|
11 |
+
width: 100%;
|
12 |
+
min-height: 50vh;
|
13 |
+
max-height: 600px;
|
14 |
+
font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace;
|
15 |
+
font-size: 12px;
|
16 |
+
word-break: break-all;
|
17 |
+
word-wrap: break-word;
|
18 |
+
overflow: auto;
|
19 |
+
-ms-overflow-style: scrollbar;
|
20 |
+
background-color: #e9e9e9;
|
21 |
+
padding: 8px;
|
22 |
+
border: 1px solid #cfcfcf;
|
23 |
+
}
|
24 |
+
|
25 |
+
.wbcr-log-viewer span.wbcr_logger_level {
|
26 |
+
border-radius: 3px;
|
27 |
+
padding: 1px 4px;
|
28 |
+
margin: 4px;
|
29 |
+
}
|
30 |
+
|
31 |
+
.wbcr_factory_logger_buttons {
|
32 |
+
padding: 10px 0;
|
33 |
+
}
|
libs/factory/logger/boot.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
use WBCR\Factory_Logger_101\Logger;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Factory Logger
|
7 |
+
*
|
8 |
+
* @author Artem Prihodko <webtemyk@yandex.ru>
|
9 |
+
* @since 1.0.0
|
10 |
+
*
|
11 |
+
* @package factory-logger
|
12 |
+
* @copyright (c) 2020, Webcraftic Ltd
|
13 |
+
*
|
14 |
+
* @version 1.0.0
|
15 |
+
*/
|
16 |
+
|
17 |
+
// Exit if accessed directly
|
18 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
19 |
+
exit;
|
20 |
+
}
|
21 |
+
|
22 |
+
if ( defined( 'FACTORY_LOGGER_101_LOADED' ) || ( defined( 'FACTORY_LOGGER_STOP' ) && FACTORY_LOGGER_STOP ) ) {
|
23 |
+
return;
|
24 |
+
}
|
25 |
+
|
26 |
+
define( 'FACTORY_LOGGER_101_LOADED', true );
|
27 |
+
define( 'FACTORY_LOGGER_101_VERSION', '1.0.1' );
|
28 |
+
define( 'FACTORY_LOGGER_101_DIR', dirname( __FILE__ ) );
|
29 |
+
define( 'FACTORY_LOGGER_101_URL', plugins_url( null, __FILE__ ) );
|
30 |
+
|
31 |
+
load_plugin_textdomain( 'wbcr_factory_logger_101', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
|
32 |
+
|
33 |
+
require_once( FACTORY_LOGGER_101_DIR . '/includes/class-logger.php' );
|
34 |
+
|
35 |
+
if ( is_admin() ) {
|
36 |
+
require_once( FACTORY_LOGGER_101_DIR . '/includes/class-log-export.php' );
|
37 |
+
require_once( FACTORY_LOGGER_101_DIR . '/pages/class-logger-impressive-page.php' );
|
38 |
+
require_once( FACTORY_LOGGER_101_DIR . '/pages/class-logger-admin-page.php' );
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
43 |
+
*/
|
44 |
+
add_action( 'wbcr_factory_logger_101_plugin_created', function ( $plugin ) {
|
45 |
+
/* @var Wbcr_Factory439_Plugin $plugin */
|
46 |
+
|
47 |
+
/* Settings of Logger
|
48 |
+
$settings = [
|
49 |
+
'dir' => null,
|
50 |
+
'file' => 'app.log',
|
51 |
+
'flush_interval' => 1000,
|
52 |
+
'rotate_size' => 5000000,
|
53 |
+
'rotate_limit' => 3,
|
54 |
+
];
|
55 |
+
|
56 |
+
$plugin->set_logger( "WBCR\Factory_Logger_101\Logger", $settings );
|
57 |
+
*/
|
58 |
+
$plugin->set_logger( "WBCR\Factory_Logger_101\Logger" );
|
59 |
+
} );
|
libs/factory/logger/includes/class-log-export.php
ADDED
@@ -0,0 +1,258 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\Factory_Logger_101;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Prepares export files, ZIPs them and allows to download the package.
|
7 |
+
*
|
8 |
+
* Usage example:
|
9 |
+
*
|
10 |
+
* ```php
|
11 |
+
* $export_model = new Log_Export('package.zip');
|
12 |
+
* $prepared = $export_model->prepare();
|
13 |
+
*
|
14 |
+
* if($prepared) {
|
15 |
+
* // start streaming ZIP archive to be downloaded
|
16 |
+
* $export_model->download();
|
17 |
+
* }
|
18 |
+
* ```
|
19 |
+
*/
|
20 |
+
class Log_Export {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @var Logger Logger class
|
24 |
+
*/
|
25 |
+
private $logger;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var string Default archive name on download. {datetime} will be replaced with current m-d-Y.
|
29 |
+
*/
|
30 |
+
private $_archive_name = 'plugin_log_export-{datetime}.zip';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @var string|null Archive save path.
|
34 |
+
*/
|
35 |
+
private $_archive_save_path;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Log_Export constructor.
|
39 |
+
*
|
40 |
+
* @param Logger $logger
|
41 |
+
* @param null|string $archive_name
|
42 |
+
*/
|
43 |
+
public function __construct( $logger, $archive_name = null ) {
|
44 |
+
$this->logger = $logger;
|
45 |
+
if ( $archive_name !== null ) {
|
46 |
+
$this->_archive_name = $archive_name;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Prepare export.
|
52 |
+
*
|
53 |
+
* @return bool
|
54 |
+
*/
|
55 |
+
public function prepare() {
|
56 |
+
|
57 |
+
if ( ! class_exists( '\ZipArchive' ) ) {
|
58 |
+
$this->logger->error( 'App does not have \ZipArchive class available. It is not possible to prepare export' );
|
59 |
+
|
60 |
+
return false;
|
61 |
+
}
|
62 |
+
|
63 |
+
$zip = new \ZipArchive();
|
64 |
+
|
65 |
+
$log_base_dir = $this->logger->get_base_dir();
|
66 |
+
|
67 |
+
if ( $log_base_dir === false ) {
|
68 |
+
$this->logger->error( sprintf( 'Failed to get log path %s', $log_base_dir ) );
|
69 |
+
|
70 |
+
return false;
|
71 |
+
}
|
72 |
+
|
73 |
+
$uploads = wp_get_upload_dir();
|
74 |
+
|
75 |
+
if ( isset( $uploads['error'] ) && $uploads['error'] !== false ) {
|
76 |
+
$this->logger->error( 'Unable to get save path of ZIP archive from wp_get_upload_dir()' );
|
77 |
+
|
78 |
+
return false;
|
79 |
+
}
|
80 |
+
|
81 |
+
$save_base_path = isset( $uploads['basedir'] ) ? $uploads['basedir'] : null;
|
82 |
+
$zip_archive_name = 'wplugin_export.zip';
|
83 |
+
$zip_save_path = $save_base_path . DIRECTORY_SEPARATOR . $zip_archive_name;
|
84 |
+
|
85 |
+
|
86 |
+
if ( ! $zip->open( $zip_save_path, \ZipArchive::CREATE ) ) {
|
87 |
+
$this->logger->error( sprintf( 'Failed to created ZIP archive in path %s. Skipping export...', $zip_save_path ) );
|
88 |
+
|
89 |
+
return false;
|
90 |
+
}
|
91 |
+
|
92 |
+
// Add all logs to ZIP archive
|
93 |
+
$glob_path = $log_base_dir . '*.log';
|
94 |
+
$log_files = glob( $glob_path );
|
95 |
+
|
96 |
+
if ( ! empty( $log_files ) ) {
|
97 |
+
foreach ( $log_files as $file ) {
|
98 |
+
if ( ! $zip->addFile( $file, wp_basename( $file ) ) ) {
|
99 |
+
$this->logger->error( sprintf( 'Failed to add %s to %s archive. Skipping it.', $file, $zip_save_path ) );
|
100 |
+
|
101 |
+
return false;
|
102 |
+
}
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
$system_info = $this->prepare_system_info();
|
107 |
+
|
108 |
+
if ( ! empty( $system_info ) ) {
|
109 |
+
$system_info_file_name = 'system-info.txt';
|
110 |
+
$system_info_path = $save_base_path . DIRECTORY_SEPARATOR . $system_info_file_name;
|
111 |
+
if ( false !== @file_put_contents( $system_info_path, $system_info ) ) {
|
112 |
+
if ( ! $zip->addFile( $system_info_path, $system_info_file_name ) ) {
|
113 |
+
$this->logger->error( sprintf( 'Failed to add %s to %s archive. Skipping it.', $system_info_file_name, $system_info_path ) );
|
114 |
+
}
|
115 |
+
} else {
|
116 |
+
$this->logger->error( sprintf( 'Failed to save %s in %s', $system_info_file_name, $zip_save_path ) );
|
117 |
+
}
|
118 |
+
}
|
119 |
+
|
120 |
+
if ( ! $zip->close() ) {
|
121 |
+
$this->logger->error( sprintf( 'Failed to close ZIP archive %s for unknown reason. ZipArchive::close() failed.' ) );
|
122 |
+
}
|
123 |
+
|
124 |
+
if ( isset( $system_info_path ) ) {
|
125 |
+
// Clean-up as this is just temp file
|
126 |
+
@unlink( $system_info_path );
|
127 |
+
}
|
128 |
+
|
129 |
+
$this->_archive_save_path = $zip_save_path;
|
130 |
+
|
131 |
+
return true;
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Prepare generic system information, such as WordPress, PHP version, active plugins, loaded extenstions, etc.
|
136 |
+
*
|
137 |
+
* @return string
|
138 |
+
*/
|
139 |
+
public function prepare_system_info() {
|
140 |
+
|
141 |
+
$space = PHP_EOL . PHP_EOL;
|
142 |
+
$nl = PHP_EOL;
|
143 |
+
|
144 |
+
$report = 'Plugin version: ' . $this->logger->plugin->getPluginVersion() . $nl;
|
145 |
+
|
146 |
+
global $wp_version;
|
147 |
+
|
148 |
+
$report .= 'WordPress Version: ' . $wp_version . $nl;
|
149 |
+
$report .= 'PHP Version: ' . PHP_VERSION . $nl;
|
150 |
+
$report .= 'Locale: ' . get_locale() . $nl;
|
151 |
+
$report .= 'HTTP Accept: ' . ( isset( $_SERVER['HTTP_ACCEPT'] ) ? $_SERVER['HTTP_ACCEPT'] : '*empty*' ) . $nl;
|
152 |
+
$report .= 'HTTP User Agent: ' . ( isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : '*empty*' ) . $nl;
|
153 |
+
$report .= 'Server software: ' . ( isset( $_SERVER['SERVER_SOFTWARE'] ) ? $_SERVER['SERVER_SOFTWARE'] : '*empty*' ) . $nl;
|
154 |
+
|
155 |
+
$report .= $space;
|
156 |
+
|
157 |
+
$active_plugins = get_option( 'active_plugins', null );
|
158 |
+
|
159 |
+
if ( $active_plugins !== null ) {
|
160 |
+
|
161 |
+
$prepared_plugins = [];
|
162 |
+
|
163 |
+
$all_plugins = get_plugins();
|
164 |
+
|
165 |
+
foreach ( $active_plugins as $active_plugin ) {
|
166 |
+
if ( isset( $all_plugins[ $active_plugin ] ) ) {
|
167 |
+
$advanced_info = $all_plugins[ $active_plugin ];
|
168 |
+
$name = isset( $advanced_info['Name'] ) ? $advanced_info['Name'] : '';
|
169 |
+
$version = isset( $advanced_info['Version'] ) ? $advanced_info['Version'] : '';
|
170 |
+
$prepared_plugins[] = sprintf( "%s (%s)", $name, $version );
|
171 |
+
}
|
172 |
+
}
|
173 |
+
|
174 |
+
$report .= 'Active plugins:' . PHP_EOL;
|
175 |
+
$report .= implode( PHP_EOL, $prepared_plugins );
|
176 |
+
}
|
177 |
+
|
178 |
+
if ( function_exists( 'get_loaded_extensions' ) ) {
|
179 |
+
|
180 |
+
$report .= PHP_EOL . PHP_EOL;
|
181 |
+
$report .= 'Active extensions: ' . $nl;
|
182 |
+
$report .= implode( ', ', get_loaded_extensions() );
|
183 |
+
}
|
184 |
+
|
185 |
+
$report .= $space;
|
186 |
+
|
187 |
+
$report .= 'Generated at: ' . date( 'c' );
|
188 |
+
|
189 |
+
return $report;
|
190 |
+
}
|
191 |
+
|
192 |
+
/**
|
193 |
+
* Download saved ZIP archive.
|
194 |
+
*
|
195 |
+
* It sets download headers, which streams content of the ZIP archive.
|
196 |
+
*
|
197 |
+
* Additionally it cleans-up by deleting the archive if `$and_delete` set to true.
|
198 |
+
*
|
199 |
+
* @param bool $should_clean_up Allows to delete temp ZIP archive if required.
|
200 |
+
*
|
201 |
+
* @return bool
|
202 |
+
*/
|
203 |
+
public function download( $should_clean_up = true ) {
|
204 |
+
|
205 |
+
$zip_save_path = $this->_archive_save_path;
|
206 |
+
|
207 |
+
if ( empty( $zip_save_path ) ) {
|
208 |
+
return false;
|
209 |
+
}
|
210 |
+
|
211 |
+
$zip_content = @file_get_contents( $zip_save_path );
|
212 |
+
|
213 |
+
if ( $zip_save_path === false ) {
|
214 |
+
$this->logger->error( sprintf( 'Failed to get ZIP %s content as file_get_contents() returned false', $zip_save_path ) );
|
215 |
+
|
216 |
+
return false;
|
217 |
+
}
|
218 |
+
|
219 |
+
if ( $should_clean_up ) {
|
220 |
+
// Delete as ZIP is just for temporary usage
|
221 |
+
@unlink( $zip_save_path );
|
222 |
+
}
|
223 |
+
|
224 |
+
$archive_name = str_replace( '{datetime}', date( 'c' ), $this->_archive_name );
|
225 |
+
|
226 |
+
// Set-up headers to download export file
|
227 |
+
header( 'Content-Description: File Transfer' );
|
228 |
+
header( 'Content-Type: application/zip' );
|
229 |
+
header( 'Content-Disposition: attachment; filename=' . $archive_name );
|
230 |
+
header( 'Content-Transfer-Encoding: binary' );
|
231 |
+
header( 'Connection: Keep-Alive' );
|
232 |
+
header( 'Expires: 0' );
|
233 |
+
header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
|
234 |
+
header( 'Pragma: public' );
|
235 |
+
header( 'Content-Length: ' . strlen( $zip_content ) );
|
236 |
+
|
237 |
+
echo $zip_content;
|
238 |
+
exit();
|
239 |
+
}
|
240 |
+
|
241 |
+
/**
|
242 |
+
* Get temporary stored archive path.
|
243 |
+
*
|
244 |
+
* @return string
|
245 |
+
*/
|
246 |
+
public function get_temp_archive_path() {
|
247 |
+
return $this->_archive_save_path;
|
248 |
+
}
|
249 |
+
|
250 |
+
/**
|
251 |
+
* Delete temporary stored archive path.
|
252 |
+
*
|
253 |
+
* @return bool
|
254 |
+
*/
|
255 |
+
public function delete_temp_archive() {
|
256 |
+
return @unlink( $this->get_temp_archive_path() );
|
257 |
+
}
|
258 |
+
}
|
libs/factory/logger/includes/class-logger.php
ADDED
@@ -0,0 +1,494 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\Factory_Logger_101;
|
4 |
+
|
5 |
+
// Exit if accessed directly
|
6 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
7 |
+
exit;
|
8 |
+
}
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Adds ability to log application message into .log file.
|
12 |
+
*
|
13 |
+
* It has 4 core levels:
|
14 |
+
* - info: generic log message
|
15 |
+
* - warning: log possible exceptions states or unusual
|
16 |
+
* - error: log error-related logs
|
17 |
+
* - debug: log stack traces, big outputs, etc.
|
18 |
+
*
|
19 |
+
* Each level has its constant. See LEVEL_* prefix.
|
20 |
+
*
|
21 |
+
* Additionally it is possible to configure flush interval and file name.
|
22 |
+
*
|
23 |
+
* Usage examples:
|
24 |
+
*
|
25 |
+
* ```php
|
26 |
+
* // Info message level
|
27 |
+
* $this->info('Some generic message, good to know');
|
28 |
+
*
|
29 |
+
* // Warning message level
|
30 |
+
* $this->warning('Something does not work or unusual');
|
31 |
+
*
|
32 |
+
* // Error message level
|
33 |
+
* $this->error('Something critical happened');
|
34 |
+
*
|
35 |
+
* // Debug message level
|
36 |
+
* $this->debug('Some message used for debug purposed. Could be stack trace.');
|
37 |
+
* ```
|
38 |
+
*
|
39 |
+
* @author Artem Prihodko <webtemyk@yandex.ru>
|
40 |
+
* @copyright (c) 2020, Webcraftic
|
41 |
+
* @version 1.0
|
42 |
+
*/
|
43 |
+
class Logger {
|
44 |
+
|
45 |
+
const LEVEL_INFO = 'info';
|
46 |
+
const LEVEL_WARNING = 'warning';
|
47 |
+
const LEVEL_ERROR = 'error';
|
48 |
+
const LEVEL_DEBUG = 'debug';
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @var \Wbcr_Factory439_Plugin Plugin class.
|
52 |
+
*/
|
53 |
+
public $plugin;
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @var null|string Request hash.
|
57 |
+
*/
|
58 |
+
public $hash = null;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @var null|string Directory where log file would be saved.
|
62 |
+
*/
|
63 |
+
public $dir = null;
|
64 |
+
|
65 |
+
/**
|
66 |
+
* @var string File log name where logs would be flushed.
|
67 |
+
*/
|
68 |
+
public $file = 'app.log';
|
69 |
+
|
70 |
+
/**
|
71 |
+
* @var int Flushing interval. When $_logs would reach this number of items they would be flushed to log file.
|
72 |
+
*/
|
73 |
+
public $flush_interval = 1000;
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @var int Rotate size in bytes. Default: 5 Mb.
|
77 |
+
*/
|
78 |
+
public $rotate_size = 5000000;
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @var int Number of rotated files. When size of $rotate_size matches current file, current file would be rotated.
|
82 |
+
* For example, there are 3 files, current file became size of $rotate_size, third file would be deleted, two first
|
83 |
+
* shifted and empty one created.
|
84 |
+
*/
|
85 |
+
public $rotate_limit = 3;
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @var array List of logs to be dumped.
|
89 |
+
*/
|
90 |
+
private $_logs = [];
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Logger constructor.
|
94 |
+
*
|
95 |
+
* @param \Wbcr_Factory439_Plugin $plugin
|
96 |
+
* @param array $settings
|
97 |
+
*/
|
98 |
+
public function __construct( $plugin, $settings = [] ) {
|
99 |
+
$this->plugin = $plugin;
|
100 |
+
$this->init( $settings );
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Initiate object.
|
105 |
+
*
|
106 |
+
* @param array $settings
|
107 |
+
*/
|
108 |
+
public function init( $settings ) {
|
109 |
+
$this->hash = substr( uniqid(), - 6, 6 );
|
110 |
+
|
111 |
+
if ( is_array( $settings ) && ! empty( $settings ) ) {
|
112 |
+
foreach ( $settings as $key => $value ) {
|
113 |
+
if ( isset( $this->$key ) ) {
|
114 |
+
$this->$key = $value;
|
115 |
+
}
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
add_action( 'shutdown', [ $this, 'shutdown_flush' ], 9999, 0 );
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Get directory to save collected logs.
|
124 |
+
*
|
125 |
+
* In addition to that, it manages log rotation so that it does not become too big.
|
126 |
+
*
|
127 |
+
* @return string|false false on failure, string on success.
|
128 |
+
*/
|
129 |
+
public function get_dir() {
|
130 |
+
|
131 |
+
$base_dir = $this->get_base_dir();
|
132 |
+
|
133 |
+
if ( $base_dir === null ) {
|
134 |
+
return false;
|
135 |
+
}
|
136 |
+
|
137 |
+
$root_file = $base_dir . $this->file;
|
138 |
+
|
139 |
+
// Check whether file exists and it exceeds rotate size, then should rotate it copy
|
140 |
+
if ( file_exists( $root_file ) && filesize( $root_file ) >= $this->rotate_size ) {
|
141 |
+
$name_split = explode( '.', $this->file );
|
142 |
+
|
143 |
+
if ( ! empty( $name_split ) && isset( $name_split[0] ) ) {
|
144 |
+
$name_split[0] = trim( $name_split[0] );
|
145 |
+
|
146 |
+
for ( $i = $this->rotate_limit; $i >= 0; $i -- ) {
|
147 |
+
|
148 |
+
$cur_name = $name_split[0] . $i;
|
149 |
+
$cur_path = $base_dir . $cur_name . '.log';
|
150 |
+
|
151 |
+
$next_path = $i !== 0 ? $base_dir . $name_split[0] . ( $i - 1 ) . '.log' : $root_file;
|
152 |
+
|
153 |
+
if ( file_exists( $next_path ) ) {
|
154 |
+
@copy( $next_path, $cur_path );
|
155 |
+
}
|
156 |
+
}
|
157 |
+
}
|
158 |
+
|
159 |
+
// Need to empty root file as it was supposed to be copied to next rotation :)
|
160 |
+
@file_put_contents( $root_file, '' );
|
161 |
+
}
|
162 |
+
|
163 |
+
return $root_file;
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Get base directory, location of logs.
|
168 |
+
*
|
169 |
+
* @return null|string NULL in case of failure, string on success.
|
170 |
+
*/
|
171 |
+
public function get_base_dir() {
|
172 |
+
$plugin_slug = $this->plugin->plugin_slug;
|
173 |
+
|
174 |
+
if ( empty( $this->dir ) ) {
|
175 |
+
$base_path = wp_normalize_path( trailingslashit( WP_CONTENT_DIR ) . "logs/{$plugin_slug}/" );
|
176 |
+
} else {
|
177 |
+
$base_path = wp_normalize_path( trailingslashit( $this->dir ) . "{$plugin_slug}/" );
|
178 |
+
}
|
179 |
+
|
180 |
+
$folders = glob( $base_path . 'logs-*' );
|
181 |
+
|
182 |
+
if ( ! empty( $folders ) ) {
|
183 |
+
$exploded_path = explode( '/', trim( $folders[0] ) );
|
184 |
+
$selected_logs_folder = array_pop( $exploded_path );
|
185 |
+
} else {
|
186 |
+
if ( function_exists( 'wp_salt' ) ) {
|
187 |
+
$hash = md5( wp_salt() );
|
188 |
+
} else {
|
189 |
+
$hash = md5( AUTH_KEY );
|
190 |
+
}
|
191 |
+
|
192 |
+
$selected_logs_folder = 'logs-' . $hash;
|
193 |
+
}
|
194 |
+
|
195 |
+
$path = $base_path . $selected_logs_folder . '/';
|
196 |
+
|
197 |
+
if ( ! file_exists( $path ) ) {
|
198 |
+
@mkdir( $path, 0755, true );
|
199 |
+
}
|
200 |
+
|
201 |
+
// Create .htaccess file to protect log files
|
202 |
+
$htaccess_path = $path . '.htaccess';
|
203 |
+
|
204 |
+
if ( ! file_exists( $htaccess_path ) ) {
|
205 |
+
$htaccess_content = 'deny from all';
|
206 |
+
@file_put_contents( $htaccess_path, $htaccess_content );
|
207 |
+
}
|
208 |
+
|
209 |
+
// Create index.htm file in case .htaccess is not support as a fallback
|
210 |
+
$index_path = $path . 'index.html';
|
211 |
+
|
212 |
+
if ( ! file_exists( $index_path ) ) {
|
213 |
+
@file_put_contents( $index_path, '' );
|
214 |
+
}
|
215 |
+
|
216 |
+
return $path;
|
217 |
+
}
|
218 |
+
|
219 |
+
/**
|
220 |
+
* Get all available log paths.
|
221 |
+
*
|
222 |
+
* @return array|bool
|
223 |
+
*/
|
224 |
+
public function get_all() {
|
225 |
+
$base_dir = $this->get_base_dir();
|
226 |
+
|
227 |
+
if ( $base_dir === null ) {
|
228 |
+
return false;
|
229 |
+
}
|
230 |
+
|
231 |
+
$glob_path = $base_dir . '*.log';
|
232 |
+
|
233 |
+
return glob( $glob_path );
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Get total log size in bytes.
|
238 |
+
*
|
239 |
+
* @return int
|
240 |
+
* @see size_format() for formatting.
|
241 |
+
*/
|
242 |
+
public function get_total_size() {
|
243 |
+
$logs = $this->get_all();
|
244 |
+
$bytes = 0;
|
245 |
+
|
246 |
+
if ( empty( $logs ) ) {
|
247 |
+
return $bytes;
|
248 |
+
}
|
249 |
+
|
250 |
+
foreach ( $logs as $log ) {
|
251 |
+
$bytes += @filesize( $log );
|
252 |
+
}
|
253 |
+
|
254 |
+
return $bytes;
|
255 |
+
}
|
256 |
+
|
257 |
+
/**
|
258 |
+
* Empty all log files and deleted rotated ones.
|
259 |
+
*
|
260 |
+
* @return bool
|
261 |
+
*/
|
262 |
+
public function clean_up() {
|
263 |
+
|
264 |
+
$base_dir = $this->get_base_dir();
|
265 |
+
|
266 |
+
if ( $base_dir === null ) {
|
267 |
+
return false;
|
268 |
+
}
|
269 |
+
|
270 |
+
$glob_path = $base_dir . '*.log';
|
271 |
+
|
272 |
+
$files = glob( $glob_path );
|
273 |
+
|
274 |
+
if ( $files === false ) {
|
275 |
+
return false;
|
276 |
+
}
|
277 |
+
|
278 |
+
if ( empty( $files ) ) {
|
279 |
+
return true;
|
280 |
+
}
|
281 |
+
|
282 |
+
$unlinked_count = 0;
|
283 |
+
|
284 |
+
foreach ( $files as $file ) {
|
285 |
+
if ( @unlink( $file ) ) {
|
286 |
+
$unlinked_count ++;
|
287 |
+
}
|
288 |
+
}
|
289 |
+
|
290 |
+
return count( $files ) === $unlinked_count;
|
291 |
+
}
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Flush all messages.
|
295 |
+
*
|
296 |
+
* @return bool
|
297 |
+
*/
|
298 |
+
public function flush() {
|
299 |
+
|
300 |
+
$messages = $this->_logs;
|
301 |
+
|
302 |
+
$this->_logs = [];
|
303 |
+
|
304 |
+
if ( empty( $messages ) ) {
|
305 |
+
return false;
|
306 |
+
}
|
307 |
+
|
308 |
+
$file_content = PHP_EOL . implode( PHP_EOL, $messages );
|
309 |
+
$is_put = @file_put_contents( $this->get_dir(), $file_content, FILE_APPEND );
|
310 |
+
|
311 |
+
return $is_put !== false;
|
312 |
+
}
|
313 |
+
|
314 |
+
/**
|
315 |
+
* Flush all messages.
|
316 |
+
*
|
317 |
+
*/
|
318 |
+
public function shutdown_flush() {
|
319 |
+
$end_line = "-------------------------------";
|
320 |
+
if ( ! empty( $this->_logs ) ) {
|
321 |
+
$this->_logs[] = $end_line;
|
322 |
+
}
|
323 |
+
|
324 |
+
$this->flush();
|
325 |
+
}
|
326 |
+
|
327 |
+
/**
|
328 |
+
*
|
329 |
+
* @param $level
|
330 |
+
* @param $message
|
331 |
+
*
|
332 |
+
* @return string
|
333 |
+
*/
|
334 |
+
public function get_format( $level, $message ) {
|
335 |
+
|
336 |
+
// Example: 2019-01-14 12:03:29.0593 [127.0.0.1][ee6a12][info] {message}
|
337 |
+
$template = '%s [%s][:%s:] %s';
|
338 |
+
$date = date( 'd-m-Y H:i:s' );
|
339 |
+
|
340 |
+
$ip = isset( $_SERVER['REMOTE_ADDR'] ) ? $_SERVER['REMOTE_ADDR'] : '';
|
341 |
+
|
342 |
+
return sprintf( $template, $date, $ip, $level, $message );
|
343 |
+
}
|
344 |
+
|
345 |
+
/**
|
346 |
+
* Get latest file content.
|
347 |
+
*
|
348 |
+
* @return bool|string
|
349 |
+
*/
|
350 |
+
public function get_content() {
|
351 |
+
if ( ! file_exists( $this->get_dir() ) ) {
|
352 |
+
return null;
|
353 |
+
}
|
354 |
+
|
355 |
+
return @file_get_contents( $this->get_dir() );
|
356 |
+
}
|
357 |
+
|
358 |
+
/**
|
359 |
+
* Get Export object.
|
360 |
+
*
|
361 |
+
* @return bool|string
|
362 |
+
*/
|
363 |
+
public function get_export() {
|
364 |
+
return new Log_Export( $this, "{$this->plugin->plugin_slug}_log_export-{datetime}.zip" );
|
365 |
+
}
|
366 |
+
|
367 |
+
/**
|
368 |
+
* Add new log message.
|
369 |
+
*
|
370 |
+
* @param string $level Log level.
|
371 |
+
* @param string $message Message to log.
|
372 |
+
*
|
373 |
+
* @return bool
|
374 |
+
*/
|
375 |
+
public function add( $level, $message ) {
|
376 |
+
|
377 |
+
//if ( $level === $this->LEVEL_DEBUG ) {
|
378 |
+
//$log_debug = defined( 'WP_DEBUG' ) && WP_DEBUG;
|
379 |
+
|
380 |
+
//if ( ! $log_debug ) {
|
381 |
+
//return false;
|
382 |
+
//}
|
383 |
+
//}
|
384 |
+
|
385 |
+
$this->_logs[] = $this->get_format( $level, $message );
|
386 |
+
|
387 |
+
if ( count( $this->_logs ) >= $this->flush_interval ) {
|
388 |
+
$this->flush();
|
389 |
+
}
|
390 |
+
|
391 |
+
return true;
|
392 |
+
}
|
393 |
+
|
394 |
+
/**
|
395 |
+
* Add info level log.
|
396 |
+
*
|
397 |
+
* @param string $message Message to log.
|
398 |
+
*/
|
399 |
+
public function info( $message ) {
|
400 |
+
$this->add( self::LEVEL_INFO, $message );
|
401 |
+
}
|
402 |
+
|
403 |
+
/**
|
404 |
+
* Add error level log.
|
405 |
+
*
|
406 |
+
* @param string $message Message to log.
|
407 |
+
*/
|
408 |
+
public function error( $message ) {
|
409 |
+
$this->add( self::LEVEL_ERROR, $message );
|
410 |
+
}
|
411 |
+
|
412 |
+
/**
|
413 |
+
* Add debug level log.
|
414 |
+
*
|
415 |
+
* @param $message
|
416 |
+
*/
|
417 |
+
public function debug( $message ) {
|
418 |
+
$this->add( self::LEVEL_DEBUG, $message );
|
419 |
+
}
|
420 |
+
|
421 |
+
/**
|
422 |
+
* Add warning level log.
|
423 |
+
*
|
424 |
+
* @param string $message Message to log.
|
425 |
+
*/
|
426 |
+
public function warning( $message ) {
|
427 |
+
$this->add( self::LEVEL_WARNING, $message );
|
428 |
+
}
|
429 |
+
|
430 |
+
/**
|
431 |
+
* Writes information to log about memory.
|
432 |
+
*
|
433 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
434 |
+
* @since 1.3.6
|
435 |
+
*/
|
436 |
+
public function memory_usage() {
|
437 |
+
$memory_avail = ini_get( 'memory_limit' );
|
438 |
+
$memory_used = number_format( memory_get_usage( true ) / ( 1024 * 1024 ), 2 );
|
439 |
+
$memory_peak = number_format( memory_get_peak_usage( true ) / ( 1024 * 1024 ), 2 );
|
440 |
+
|
441 |
+
$this->info( sprintf( "Memory: %s (avail) / %sM (used) / %sM (peak)", $memory_avail, $memory_used, $memory_peak ) );
|
442 |
+
}
|
443 |
+
|
444 |
+
/**
|
445 |
+
* Prettify log content.
|
446 |
+
*
|
447 |
+
* Helps to convert log file content into easy-to-read HTML.
|
448 |
+
*
|
449 |
+
* Usage example:
|
450 |
+
*
|
451 |
+
* @return bool|mixed|string
|
452 |
+
*/
|
453 |
+
public function prettify() {
|
454 |
+
$content = $this->get_content();
|
455 |
+
|
456 |
+
$search = [
|
457 |
+
"\r\n",
|
458 |
+
"\n\r",
|
459 |
+
"\025",
|
460 |
+
"\n",
|
461 |
+
"\r",
|
462 |
+
"\t",
|
463 |
+
];
|
464 |
+
|
465 |
+
$replacement = [
|
466 |
+
'<br>',
|
467 |
+
'<br>',
|
468 |
+
'<br>',
|
469 |
+
'<br>',
|
470 |
+
'<br>',
|
471 |
+
str_repeat( ' ', 4 ),
|
472 |
+
];
|
473 |
+
|
474 |
+
$content = str_replace( $search, $replacement, $content );
|
475 |
+
|
476 |
+
|
477 |
+
$color_map = [
|
478 |
+
self::LEVEL_INFO => [ 'color' => '#fff', 'bg' => '#52d130' ],
|
479 |
+
self::LEVEL_ERROR => [ 'color' => '#fff', 'bg' => '#ff5e5e' ],
|
480 |
+
self::LEVEL_WARNING => [ 'color' => '#fff', 'bg' => '#ef910a' ],
|
481 |
+
self::LEVEL_DEBUG => [ 'color' => '#fff', 'bg' => '#8f8d8b' ],
|
482 |
+
];
|
483 |
+
|
484 |
+
/**
|
485 |
+
* Highlight log levels
|
486 |
+
*/
|
487 |
+
foreach ( $color_map as $level => $item ) {
|
488 |
+
$content = preg_replace( "/(\[:$level:\])/",
|
489 |
+
"<span class='wbcr_logger_level' style='color: {$item['color']};background-color: {$item['bg']}'>$level</span>", $content );
|
490 |
+
}
|
491 |
+
|
492 |
+
return $content;
|
493 |
+
}
|
494 |
+
}
|
libs/factory/logger/pages/class-logger-admin-page.php
ADDED
@@ -0,0 +1,184 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Exit if accessed directly
|
4 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Класс отвечает за работу страницы логов.
|
10 |
+
*
|
11 |
+
* @author Artem Prihodko <webtemyk@yandex.ru>
|
12 |
+
* @copyright (c) 2020, Webcraftic
|
13 |
+
* @version 1.0
|
14 |
+
*/
|
15 |
+
class Wbcr_FactoryLogger101_AdminPage extends Wbcr_FactoryPages438_AdminPage {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* {@inheritdoc}
|
19 |
+
*/
|
20 |
+
public $id; // Уникальный идентификатор страницы
|
21 |
+
|
22 |
+
/**
|
23 |
+
* {@inheritdoc}
|
24 |
+
*/
|
25 |
+
public $page_menu_dashicon = 'dashicons-admin-tools';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* {@inheritdoc}
|
29 |
+
*/
|
30 |
+
public $type = 'page';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
34 |
+
*/
|
35 |
+
public function __construct( $plugin ) {
|
36 |
+
$this->id = $plugin->getPrefix() . "logger";
|
37 |
+
|
38 |
+
$this->menu_title = __( 'Plugin Log', 'wbcr_factory_logger_101' );
|
39 |
+
$this->page_title = __( 'Plugin log', 'wbcr_factory_logger_101' );
|
40 |
+
$this->capabilitiy = "manage_options";
|
41 |
+
|
42 |
+
add_action( 'wp_ajax_wbcr_factory_logger_101_logs_cleanup', [ $this, 'ajax_cleanup' ] );
|
43 |
+
|
44 |
+
parent::__construct( $plugin );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* {@inheritdoc}
|
49 |
+
*
|
50 |
+
* @return void
|
51 |
+
* @since 1.0.0
|
52 |
+
*/
|
53 |
+
public function assets( $scripts, $styles ) {
|
54 |
+
parent::assets( $scripts, $styles );
|
55 |
+
|
56 |
+
$this->styles->add( FACTORY_LOGGER_101_URL . '/assets/css/logger.css' );
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* {@inheritdoc}
|
61 |
+
*/
|
62 |
+
public function getMenuTitle() {
|
63 |
+
return __( 'Plugin Log', 'wbcr_factory_logger_101' );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Show rendered template - $template_name
|
68 |
+
*/
|
69 |
+
public function indexAction() {
|
70 |
+
echo $this->showPageContent();
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* {@inheritdoc}
|
75 |
+
*/
|
76 |
+
public function showPageContent() {
|
77 |
+
$buttons = "
|
78 |
+
<div class='wbcr_factory_logger_buttons'>
|
79 |
+
<a href='" . wp_nonce_url( $this->getActionUrl( 'export' ) ) . "'
|
80 |
+
class='button button-primary'>" . __( 'Export Debug Information', 'wbcr_factory_logger_101' ) . "</a>
|
81 |
+
<a href='#'
|
82 |
+
class='button button-secondary'
|
83 |
+
onclick='wbcr_factory_logger_101_LogCleanup(this);return false;'
|
84 |
+
data-working='" . __( 'Working...', 'wbcr_factory_logger_101' ) . "'>" .
|
85 |
+
sprintf( __( 'Clean-up Logs (<span id="wbcr-log-size">%s</span>)', 'wbcr_factory_logger_101' ), $this->get_log_size_formatted() ) . "
|
86 |
+
</a>
|
87 |
+
</div>";
|
88 |
+
|
89 |
+
?>
|
90 |
+
<script>
|
91 |
+
function wbcr_factory_logger_101_LogCleanup(element) {
|
92 |
+
|
93 |
+
var btn = jQuery(element),
|
94 |
+
currentBtnText = btn.html();
|
95 |
+
|
96 |
+
console.log(btn.data('working'), btn);
|
97 |
+
|
98 |
+
btn.text(btn.data('working'));
|
99 |
+
|
100 |
+
jQuery.ajax({
|
101 |
+
url: ajaxurl,
|
102 |
+
method: 'post',
|
103 |
+
data: {
|
104 |
+
action: 'wbcr_factory_logger_101_logs_cleanup',
|
105 |
+
nonce: '<?php echo wp_create_nonce( 'wbcr_factory_logger_101_clean_logs' ) ?>'
|
106 |
+
},
|
107 |
+
success: function (data) {
|
108 |
+
btn.html(currentBtnText);
|
109 |
+
|
110 |
+
jQuery('#wbcr-log-viewer').html('');
|
111 |
+
jQuery('#wbcr-log-size').text('0B');
|
112 |
+
jQuery.wbcr_factory_clearfy_230.app.showNotice(data.message, data.type);
|
113 |
+
},
|
114 |
+
error: function (jqXHR, textStatus, errorThrown) {
|
115 |
+
jQuery.wbcr_factory_clearfy_230.app.showNotice('Error: ' + errorThrown + ', status: ' + textStatus, 'danger');
|
116 |
+
btn.html(currentBtnText);
|
117 |
+
}
|
118 |
+
});
|
119 |
+
}
|
120 |
+
</script>
|
121 |
+
<div class="wbcr_factory_logger_container">
|
122 |
+
<div class="wbcr_factory_logger_page_title">
|
123 |
+
<h1><?php _e( 'Logs of the', 'wbcr_factory_logger_101' ) ?>
|
124 |
+
<?php echo $this->plugin->getPluginTitle() . " " . $this->plugin->getPluginVersion(); ?></h1>
|
125 |
+
<p>
|
126 |
+
<?php _e( 'In this section, you can track how the plugin works. Sending this log to the developer will help you resolve possible issues.', 'wbcr_factory_logger_101' ) ?>
|
127 |
+
</p>
|
128 |
+
</div>
|
129 |
+
<?= $buttons; ?>
|
130 |
+
<div class="wbcr-log-viewer" id="wbcr-log-viewer">
|
131 |
+
<?php echo $this->plugin->logger->prettify() ?>
|
132 |
+
</div>
|
133 |
+
<?= $buttons; ?>
|
134 |
+
</div>
|
135 |
+
<?php
|
136 |
+
}
|
137 |
+
|
138 |
+
public function ajax_cleanup() {
|
139 |
+
check_admin_referer( 'wbcr_factory_logger_101_clean_logs', 'nonce' );
|
140 |
+
|
141 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
142 |
+
wp_die( - 1 );
|
143 |
+
}
|
144 |
+
|
145 |
+
if ( ! $this->plugin->logger->clean_up() ) {
|
146 |
+
wp_send_json_error( [
|
147 |
+
'message' => esc_html__( 'Failed to clean-up logs. Please try again later.', 'wbcr_factory_logger_101' ),
|
148 |
+
'type' => 'danger',
|
149 |
+
] );
|
150 |
+
}
|
151 |
+
|
152 |
+
wp_send_json( [
|
153 |
+
'message' => esc_html__( 'Logs clean-up successfully', 'wbcr_factory_logger_101' ),
|
154 |
+
'type' => 'success',
|
155 |
+
] );
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Processing log export action in form of ZIP archive.
|
160 |
+
*/
|
161 |
+
public function exportAction() {
|
162 |
+
$export = new WBCR\Factory_Logger_101\Log_Export( $this->plugin->logger );
|
163 |
+
|
164 |
+
if ( $export->prepare() ) {
|
165 |
+
$export->download( true );
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* Get log size formatted.
|
171 |
+
*
|
172 |
+
* @return false|string
|
173 |
+
*/
|
174 |
+
private function get_log_size_formatted() {
|
175 |
+
|
176 |
+
try {
|
177 |
+
return size_format( $this->plugin->logger->get_total_size() );
|
178 |
+
} catch ( \Exception $exception ) {
|
179 |
+
$this->plugin->logger->error( sprintf( 'Failed to get total log size as exception was thrown: %s', $exception->getMessage() ) );
|
180 |
+
}
|
181 |
+
|
182 |
+
return '';
|
183 |
+
}
|
184 |
+
}
|
libs/factory/logger/pages/class-logger-impressive-page.php
ADDED
@@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Exit if accessed directly
|
4 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Класс отвечает за работу страницы логов.
|
10 |
+
*
|
11 |
+
* @author Artem Prihodko <webtemyk@yandex.ru>
|
12 |
+
* @copyright (c) 2020, Webcraftic
|
13 |
+
* @version 1.0
|
14 |
+
*/
|
15 |
+
class Wbcr_FactoryLogger101_PageBase extends Wbcr_FactoryClearfy230_PageBase {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* {@inheritdoc}
|
19 |
+
*/
|
20 |
+
public $id; // Уникальный идентификатор страницы
|
21 |
+
|
22 |
+
/**
|
23 |
+
* {@inheritdoc}
|
24 |
+
*/
|
25 |
+
public $page_menu_dashicon = 'dashicons-admin-tools';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* {@inheritdoc}
|
29 |
+
*/
|
30 |
+
public $type = 'page';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
34 |
+
*/
|
35 |
+
public function __construct( $plugin ) {
|
36 |
+
$this->id = $plugin->getPrefix() . "logger";
|
37 |
+
|
38 |
+
$this->menu_title = __( 'Plugin Log', 'wbcr_factory_logger_101' );
|
39 |
+
$this->page_menu_short_description = __( 'Plugin debug report', 'wbcr_factory_logger_101' );
|
40 |
+
|
41 |
+
add_action( 'wp_ajax_wbcr_factory_logger_101_logs_cleanup', [$this, 'ajax_cleanup']);
|
42 |
+
|
43 |
+
parent::__construct( $plugin );
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* {@inheritdoc}
|
48 |
+
*
|
49 |
+
* @return void
|
50 |
+
* @since 1.0.0
|
51 |
+
*/
|
52 |
+
public function assets( $scripts, $styles ) {
|
53 |
+
parent::assets( $scripts, $styles );
|
54 |
+
|
55 |
+
$this->styles->add( FACTORY_LOGGER_101_URL . '/assets/css/logger.css' );
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* {@inheritdoc}
|
60 |
+
*/
|
61 |
+
public function getMenuTitle() {
|
62 |
+
return __( 'Plugin Log', 'wbcr_factory_logger_101' );
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* {@inheritdoc}
|
67 |
+
*/
|
68 |
+
public function showPageContent() {
|
69 |
+
$buttons = "
|
70 |
+
<div class='btn-group'>
|
71 |
+
<a href='" . wp_nonce_url( $this->getActionUrl( 'export' ) ) . "'
|
72 |
+
class='button button-primary'>" . __( 'Export Debug Information', 'wbcr_factory_logger_101' ) . "</a>
|
73 |
+
<a href='#'
|
74 |
+
class='button button-secondary'
|
75 |
+
onclick='wbcr_factory_logger_101_LogCleanup(this);return false;'
|
76 |
+
data-working='" . __( 'Working...', 'wbcr_factory_logger_101' ) . "'>" .
|
77 |
+
sprintf( __( 'Clean-up Logs (<span id="wbcr-log-size">%s</span>)', 'wbcr_factory_logger_101' ), $this->get_log_size_formatted() ) . "
|
78 |
+
</a>
|
79 |
+
</div>";
|
80 |
+
?>
|
81 |
+
<script>
|
82 |
+
function wbcr_factory_logger_101_LogCleanup(element) {
|
83 |
+
|
84 |
+
var btn = jQuery(element),
|
85 |
+
currentBtnText = btn.html();
|
86 |
+
|
87 |
+
console.log(btn.data('working'), btn);
|
88 |
+
|
89 |
+
btn.text(btn.data('working'));
|
90 |
+
|
91 |
+
jQuery.ajax({
|
92 |
+
url: ajaxurl,
|
93 |
+
method: 'post',
|
94 |
+
data: {
|
95 |
+
action: 'wbcr_factory_logger_101_logs_cleanup',
|
96 |
+
nonce: '<?php echo wp_create_nonce( 'wbcr_factory_logger_101_clean_logs' ) ?>'
|
97 |
+
},
|
98 |
+
success: function (data) {
|
99 |
+
btn.html(currentBtnText);
|
100 |
+
|
101 |
+
jQuery('#wbcr-log-viewer').html('');
|
102 |
+
jQuery('#wbcr-log-size').text('0B');
|
103 |
+
jQuery.wbcr_factory_clearfy_230.app.showNotice(data.message, data.type);
|
104 |
+
},
|
105 |
+
error: function (jqXHR, textStatus, errorThrown) {
|
106 |
+
jQuery.wbcr_factory_clearfy_230.app.showNotice('Error: ' + errorThrown + ', status: ' + textStatus, 'danger');
|
107 |
+
btn.html(currentBtnText);
|
108 |
+
}
|
109 |
+
});
|
110 |
+
}
|
111 |
+
</script>
|
112 |
+
<div class="wbcr-factory-page-group-header" style="margin-top:0;">
|
113 |
+
<strong><?php _e( 'Plugin Log', 'wbcr_factory_logger_101' ) ?></strong>
|
114 |
+
<p>
|
115 |
+
<?php _e( 'In this section, you can track how the plugin works. Sending this log to the developer will help you resolve possible issues.', 'wbcr_factory_logger_101' ) ?>
|
116 |
+
</p>
|
117 |
+
</div>
|
118 |
+
<div class="wbcr-factory-page-group-body" style="padding:20px">
|
119 |
+
<?=$buttons;?>
|
120 |
+
<div class="wbcr-log-viewer" id="wbcr-log-viewer">
|
121 |
+
<?php echo $this->plugin->logger->prettify() ?>
|
122 |
+
</div>
|
123 |
+
<?=$buttons;?>
|
124 |
+
</div>
|
125 |
+
<?php
|
126 |
+
}
|
127 |
+
|
128 |
+
public function ajax_cleanup() {
|
129 |
+
check_admin_referer( 'wbcr_factory_logger_101_clean_logs', 'nonce' );
|
130 |
+
|
131 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
132 |
+
wp_die( - 1 );
|
133 |
+
}
|
134 |
+
|
135 |
+
if ( ! $this->plugin->logger->clean_up() ) {
|
136 |
+
wp_send_json_error( [
|
137 |
+
'message' => esc_html__( 'Failed to clean-up logs. Please try again later.', 'wbcr_factory_logger_101' ),
|
138 |
+
'type' => 'danger',
|
139 |
+
] );
|
140 |
+
}
|
141 |
+
|
142 |
+
wp_send_json( [
|
143 |
+
'message' => esc_html__( 'Logs clean-up successfully', 'wbcr_factory_logger_101' ),
|
144 |
+
'type' => 'success',
|
145 |
+
] );
|
146 |
+
}
|
147 |
+
|
148 |
+
/**
|
149 |
+
* Processing log export action in form of ZIP archive.
|
150 |
+
*/
|
151 |
+
public function exportAction() {
|
152 |
+
$export = new WBCR\Factory_Logger_101\Log_Export( $this->plugin->logger );
|
153 |
+
|
154 |
+
if ( $export->prepare() ) {
|
155 |
+
$export->download( true );
|
156 |
+
}
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Get log size formatted.
|
161 |
+
*
|
162 |
+
* @return false|string
|
163 |
+
*/
|
164 |
+
private function get_log_size_formatted() {
|
165 |
+
|
166 |
+
try {
|
167 |
+
return size_format( $this->plugin->logger->get_total_size() );
|
168 |
+
} catch ( \Exception $exception ) {
|
169 |
+
$this->plugin->logger->error( sprintf( 'Failed to get total log size as exception was thrown: %s', $exception->getMessage() ) );
|
170 |
+
}
|
171 |
+
|
172 |
+
return '';
|
173 |
+
}
|
174 |
+
}
|
libs/factory/pages/boot.php
CHANGED
@@ -19,25 +19,25 @@ if( !is_admin() ) {
|
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
-
if( defined('
|
23 |
return;
|
24 |
}
|
25 |
|
26 |
-
define('
|
27 |
|
28 |
-
define('
|
29 |
|
30 |
-
define('
|
31 |
-
define('
|
32 |
|
33 |
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
34 |
define('FACTORY_FLAT_ADMIN', true);
|
35 |
}
|
36 |
|
37 |
-
load_plugin_textdomain('
|
38 |
|
39 |
-
require(
|
40 |
-
require(
|
41 |
-
require(
|
42 |
-
require(
|
43 |
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
+
if( defined('FACTORY_PAGES_438_LOADED') ) {
|
23 |
return;
|
24 |
}
|
25 |
|
26 |
+
define('FACTORY_PAGES_438_LOADED', true);
|
27 |
|
28 |
+
define('FACTORY_PAGES_438_VERSION', '4.3.8');
|
29 |
|
30 |
+
define('FACTORY_PAGES_438_DIR', dirname(__FILE__));
|
31 |
+
define('FACTORY_PAGES_438_URL', plugins_url(null, __FILE__));
|
32 |
|
33 |
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
34 |
define('FACTORY_FLAT_ADMIN', true);
|
35 |
}
|
36 |
|
37 |
+
load_plugin_textdomain('wbcr_factory_pages_438', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
38 |
|
39 |
+
require(FACTORY_PAGES_438_DIR . '/pages.php');
|
40 |
+
require(FACTORY_PAGES_438_DIR . '/includes/page.class.php');
|
41 |
+
require(FACTORY_PAGES_438_DIR . '/includes/admin-page.class.php');
|
42 |
+
require(FACTORY_PAGES_438_DIR . '/templates/impressive-page.class.php');
|
43 |
|
libs/factory/pages/includes/admin-page.class.php
CHANGED
@@ -14,9 +14,9 @@ if( !defined('ABSPATH') ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
-
class
|
20 |
|
21 |
/**
|
22 |
* Visible page title.
|
@@ -209,7 +209,7 @@ if( !class_exists('Wbcr_FactoryPages432_AdminPage') ) {
|
|
209 |
*/
|
210 |
public $add_link_to_plugin_actions = false;
|
211 |
|
212 |
-
public function __construct(
|
213 |
{
|
214 |
parent::__construct($plugin);
|
215 |
$this->configure();
|
@@ -325,13 +325,13 @@ if( !class_exists('Wbcr_FactoryPages432_AdminPage') ) {
|
|
325 |
{
|
326 |
$result_id = $this->getResultId();
|
327 |
|
328 |
-
$this->hidden = apply_filters('
|
329 |
|
330 |
if( $this->hidden ) {
|
331 |
return;
|
332 |
}
|
333 |
|
334 |
-
$this->internal = apply_filters('
|
335 |
|
336 |
if( $this->internal ) {
|
337 |
$this->menu_target = null;
|
@@ -370,7 +370,7 @@ if( !class_exists('Wbcr_FactoryPages432_AdminPage') ) {
|
|
370 |
$this->assets($this->scripts, $this->styles);
|
371 |
|
372 |
if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
|
373 |
-
add_action('
|
374 |
$this,
|
375 |
'actionAdminBootstrapScripts'
|
376 |
]);
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryPages438_AdminPage') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryPages438_AdminPage extends Wbcr_FactoryPages438_Page {
|
20 |
|
21 |
/**
|
22 |
* Visible page title.
|
209 |
*/
|
210 |
public $add_link_to_plugin_actions = false;
|
211 |
|
212 |
+
public function __construct(Wbcr_Factory439_Plugin $plugin)
|
213 |
{
|
214 |
parent::__construct($plugin);
|
215 |
$this->configure();
|
325 |
{
|
326 |
$result_id = $this->getResultId();
|
327 |
|
328 |
+
$this->hidden = apply_filters('wbcr_factory_439_page_is_hidden_' . $result_id, $this->hidden);
|
329 |
|
330 |
if( $this->hidden ) {
|
331 |
return;
|
332 |
}
|
333 |
|
334 |
+
$this->internal = apply_filters('wbcr_factory_439_page_is_internal_' . $result_id, $this->internal);
|
335 |
|
336 |
if( $this->internal ) {
|
337 |
$this->menu_target = null;
|
370 |
$this->assets($this->scripts, $this->styles);
|
371 |
|
372 |
if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
|
373 |
+
add_action('wbcr_factory_439_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), [
|
374 |
$this,
|
375 |
'actionAdminBootstrapScripts'
|
376 |
]);
|
libs/factory/pages/includes/page.class.php
CHANGED
@@ -14,9 +14,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if ( ! class_exists( '
|
18 |
|
19 |
-
class
|
20 |
|
21 |
|
22 |
/**
|
@@ -30,7 +30,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
|
|
30 |
* Чтобы не было конфликтов с другими плагинами, используйте префиксы.
|
31 |
*
|
32 |
* @since 1.0.0
|
33 |
-
* @see
|
34 |
*
|
35 |
* @var string
|
36 |
*/
|
@@ -39,7 +39,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
|
|
39 |
/**
|
40 |
* Current Factory Plugin.
|
41 |
*
|
42 |
-
* @var
|
43 |
*/
|
44 |
public $plugin;
|
45 |
|
@@ -51,11 +51,11 @@ if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
|
|
51 |
//private $default_actions = array();
|
52 |
|
53 |
/**
|
54 |
-
* @param
|
55 |
*
|
56 |
* @throws Exception
|
57 |
*/
|
58 |
-
public function __construct(
|
59 |
$this->plugin = $plugin;
|
60 |
|
61 |
if ( $plugin ) {
|
@@ -111,7 +111,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages432_Page' ) ) {
|
|
111 |
|
112 |
if ( ! method_exists( $this, $actionFunction ) ) {
|
113 |
// todo: продумать и доработать выполнение произвольных и глобальных дейтсвия для всех страниц
|
114 |
-
/*$custom_actions = apply_filters('wbcr/
|
115 |
|
116 |
if(isset($custom_actions[$raw_action_name])) {
|
117 |
$custom_actions[$raw_action_name]();
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if ( ! class_exists( 'Wbcr_FactoryPages438_Page' ) ) {
|
18 |
|
19 |
+
class Wbcr_FactoryPages438_Page {
|
20 |
|
21 |
|
22 |
/**
|
30 |
* Чтобы не было конфликтов с другими плагинами, используйте префиксы.
|
31 |
*
|
32 |
* @since 1.0.0
|
33 |
+
* @see FactoryPages438_AdminPage
|
34 |
*
|
35 |
* @var string
|
36 |
*/
|
39 |
/**
|
40 |
* Current Factory Plugin.
|
41 |
*
|
42 |
+
* @var Wbcr_Factory439_Plugin
|
43 |
*/
|
44 |
public $plugin;
|
45 |
|
51 |
//private $default_actions = array();
|
52 |
|
53 |
/**
|
54 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
55 |
*
|
56 |
* @throws Exception
|
57 |
*/
|
58 |
+
public function __construct( Wbcr_Factory439_Plugin $plugin ) {
|
59 |
$this->plugin = $plugin;
|
60 |
|
61 |
if ( $plugin ) {
|
111 |
|
112 |
if ( ! method_exists( $this, $actionFunction ) ) {
|
113 |
// todo: продумать и доработать выполнение произвольных и глобальных дейтсвия для всех страниц
|
114 |
+
/*$custom_actions = apply_filters('wbcr/factory_pages_438/custom_actions', array(), $raw_action_name);
|
115 |
|
116 |
if(isset($custom_actions[$raw_action_name])) {
|
117 |
$custom_actions[$raw_action_name]();
|
libs/factory/pages/langs/wbcr_factory_pages_432-fr_FR.mo
DELETED
Binary file
|
libs/factory/pages/langs/wbcr_factory_pages_432-fr_FR.po
DELETED
@@ -1,99 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2017-11-09 10:33+0300\n"
|
5 |
-
"PO-Revision-Date: 2017-11-09 19:04+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: fr\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.8.8\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
-
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
-
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
-
"X-Poedit-SearchPath-0: .\n"
|
19 |
-
|
20 |
-
#: templates/impressive-page.class.php:45
|
21 |
-
msgid "Settings"
|
22 |
-
msgstr "Paramètres"
|
23 |
-
|
24 |
-
#: templates/impressive-page.class.php:170
|
25 |
-
msgid ""
|
26 |
-
"It seems that a caching/performance plugin is active on this site. Please "
|
27 |
-
"manually invalidate that plugin's cache after making any changes to the "
|
28 |
-
"settings below."
|
29 |
-
msgstr ""
|
30 |
-
"Il semble qu'un plugin cache / performance soit actif sur ce site. Veuillez "
|
31 |
-
"invalider manuellement le cache de ce plugin après avoir apporté des "
|
32 |
-
"modifications aux paramètres ci-dessous."
|
33 |
-
|
34 |
-
#: templates/impressive-page.class.php:187
|
35 |
-
msgid "The settings have been updated successfully!"
|
36 |
-
msgstr "Les paramètres ont été mis à jour avec succès!"
|
37 |
-
|
38 |
-
#: templates/impressive-page.class.php:251
|
39 |
-
msgid "Page"
|
40 |
-
msgstr "Page"
|
41 |
-
|
42 |
-
#: templates/impressive-page.class.php:256
|
43 |
-
msgid "Save settings"
|
44 |
-
msgstr "Enregistrer les paramètres"
|
45 |
-
|
46 |
-
#: templates/impressive-page.class.php:328
|
47 |
-
msgid "You do not have permission to edit page."
|
48 |
-
msgstr "Vous n'êtes pas autorisé à modifier la page."
|
49 |
-
|
50 |
-
#: templates/impressive-page.class.php:403
|
51 |
-
msgid ""
|
52 |
-
"A neutral setting that can not harm your site, but you must be sure that you "
|
53 |
-
"need to use it."
|
54 |
-
msgstr ""
|
55 |
-
"Un paramètre neutre qui ne peut pas nuire à votre site, mais vous devez être "
|
56 |
-
"sûr que vous devez l'utiliser."
|
57 |
-
|
58 |
-
#: templates/impressive-page.class.php:407
|
59 |
-
msgid ""
|
60 |
-
"When set this option, you must be careful. Plugins and themes may depend on "
|
61 |
-
"this function. You must be sure that you can disable this feature for the "
|
62 |
-
"site."
|
63 |
-
msgstr ""
|
64 |
-
"Lorsque vous définissez cette option, vous devez faire attention. Les "
|
65 |
-
"plugins et les thèmes peuvent dépendre de cette fonction. Vous devez être "
|
66 |
-
"sûr que vous pouvez désactiver cette fonctionnalité pour le site."
|
67 |
-
|
68 |
-
#: templates/impressive-page.class.php:411
|
69 |
-
msgid "Absolutely safe setting, We recommend to use."
|
70 |
-
msgstr "Réglage absolument sûr, nous recommandons d'utiliser."
|
71 |
-
|
72 |
-
#: templates/impressive-page.class.php:416
|
73 |
-
msgid "Hover to the icon to get help for the feature you selected."
|
74 |
-
msgstr "Passez à l'icône pour obtenir de l'aide sur la fonction sélectionnée."
|
75 |
-
|
76 |
-
#: templates/impressive-page.class.php:432
|
77 |
-
msgid "Do you want the plugin to improved and update?"
|
78 |
-
msgstr "Voulez-vous que le plugin pour améliorer et mettre à jour?"
|
79 |
-
|
80 |
-
#: templates/impressive-page.class.php:435
|
81 |
-
msgid ""
|
82 |
-
"Help the author, leave a review on wordpress.org. Thanks to feedback, I will "
|
83 |
-
"know that the plugin is really useful to you and is needed."
|
84 |
-
msgstr ""
|
85 |
-
"Aidez l'auteur, laissez un commentaire sur wordpress.org. Grâce aux retours, "
|
86 |
-
"je saurai que le plugin est vraiment utile et nécessaire."
|
87 |
-
|
88 |
-
#: templates/impressive-page.class.php:437
|
89 |
-
msgid "And also write your ideas on how to extend or improve the plugin."
|
90 |
-
msgstr ""
|
91 |
-
"Et écrivez aussi vos idées sur la façon d'étendre ou d'améliorer le plugin."
|
92 |
-
|
93 |
-
#: templates/impressive-page.class.php:442
|
94 |
-
msgid "Go rate us and push ideas"
|
95 |
-
msgstr "Allez nous évaluer et pousser des idées"
|
96 |
-
|
97 |
-
#: templates/impressive-page.class.php:454
|
98 |
-
msgid "Donation for plug-in development"
|
99 |
-
msgstr "Don pour le développement du plug-in"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/pages/langs/wbcr_factory_pages_432-ru_RU.mo
DELETED
Binary file
|
libs/factory/pages/langs/wbcr_factory_pages_432-ru_RU.po
DELETED
@@ -1,98 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: clearfy\n"
|
4 |
-
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
-
"PO-Revision-Date: 2018-10-16 22:44+0300\n"
|
6 |
-
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
-
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
-
"Language: ru_RU\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 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 |
-
#: templates/impressive-page.class.php:128
|
21 |
-
msgid "Settings"
|
22 |
-
msgstr "Настройки"
|
23 |
-
|
24 |
-
#: templates/impressive-page.class.php:484
|
25 |
-
msgid "The settings have been updated successfully!"
|
26 |
-
msgstr "Настройки были успешно обновлены!"
|
27 |
-
|
28 |
-
#: templates/impressive-page.class.php:484
|
29 |
-
msgid ""
|
30 |
-
"It seems that a caching/performance plugin is active on this site. Please "
|
31 |
-
"manually invalidate that plugin's cache after making any changes to the "
|
32 |
-
"settings below."
|
33 |
-
msgstr ""
|
34 |
-
"Похоже, что Вы используете плагин кэширования или ускорения блога. Не "
|
35 |
-
"забудьте после изменения любых настроек, очистить кэш вручную!"
|
36 |
-
|
37 |
-
#: templates/impressive-page.class.php:659
|
38 |
-
msgid "Page"
|
39 |
-
msgstr "Страница"
|
40 |
-
|
41 |
-
#: templates/impressive-page.class.php:665
|
42 |
-
msgid "Clearfy settings"
|
43 |
-
msgstr "Настройки Clearfy"
|
44 |
-
|
45 |
-
#: templates/impressive-page.class.php:668
|
46 |
-
msgid "Save"
|
47 |
-
msgstr "Сохранить"
|
48 |
-
|
49 |
-
#: templates/impressive-page.class.php:783
|
50 |
-
msgid "You do not have permission to edit page."
|
51 |
-
msgstr "У вас недостаточно прав, для редактирования этой страницы."
|
52 |
-
|
53 |
-
#~ msgid "Save settings"
|
54 |
-
#~ msgstr "Сохранить настройки"
|
55 |
-
|
56 |
-
#~ msgid ""
|
57 |
-
#~ "A neutral setting that can not harm your site, but you must be sure that "
|
58 |
-
#~ "you need to use it."
|
59 |
-
#~ msgstr ""
|
60 |
-
#~ "Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
|
61 |
-
#~ "должны быть уверены, что вам нужно ее использовать."
|
62 |
-
|
63 |
-
#~ msgid ""
|
64 |
-
#~ "When set this option, you must be careful. Plugins and themes may depend "
|
65 |
-
#~ "on this function. You must be sure that you can disable this feature for "
|
66 |
-
#~ "the site."
|
67 |
-
#~ msgstr ""
|
68 |
-
#~ "При включении этой настройки, вы должны быть осторожны. Некоторые плагины "
|
69 |
-
#~ "и темы могут зависеть от этой функции. Вы должны быть уверены, что эту "
|
70 |
-
#~ "функцию можно отключить для сайта."
|
71 |
-
|
72 |
-
#~ msgid "Absolutely safe setting, We recommend to use."
|
73 |
-
#~ msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
|
74 |
-
|
75 |
-
#~ msgid "Hover to the icon to get help for the feature you selected."
|
76 |
-
#~ msgstr ""
|
77 |
-
#~ "Наведите указатель мыши на значок, чтобы получить справку по выбранной "
|
78 |
-
#~ "функции."
|
79 |
-
|
80 |
-
#~ msgid "Do you want the plugin to improved and update?"
|
81 |
-
#~ msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
|
82 |
-
|
83 |
-
#~ msgid ""
|
84 |
-
#~ "Help the author, leave a review on wordpress.org. Thanks to feedback, I "
|
85 |
-
#~ "will know that the plugin is really useful to you and is needed."
|
86 |
-
#~ msgstr ""
|
87 |
-
#~ "Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я "
|
88 |
-
#~ "буду знать, что плагин действительно полезен для вас и необходим."
|
89 |
-
|
90 |
-
#~ msgid "And also write your ideas on how to extend or improve the plugin."
|
91 |
-
#~ msgstr ""
|
92 |
-
#~ "А также напишите свои идеи о том, как расширить или улучшить плагин."
|
93 |
-
|
94 |
-
#~ msgid "Go rate us and push ideas"
|
95 |
-
#~ msgstr "Оставить отзыв или поделиться идеей"
|
96 |
-
|
97 |
-
#~ msgid "Donation for plug-in development"
|
98 |
-
#~ msgstr "Пожертвования на развитие плагина"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/factory/pages/langs/{wbcr_factory_pages_431-fr_FR.mo → wbcr_factory_pages_438-fr_FR.mo}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_431-fr_FR.po → wbcr_factory_pages_438-fr_FR.po}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_431-ru_RU.mo → wbcr_factory_pages_438-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_431-ru_RU.po → wbcr_factory_pages_438-ru_RU.po}
RENAMED
File without changes
|
libs/factory/pages/pages.php
CHANGED
@@ -14,24 +14,24 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
add_action('admin_menu', '
|
18 |
-
add_action('network_admin_menu', '
|
19 |
|
20 |
-
if( !class_exists('
|
21 |
/**
|
22 |
* A base class to manage pages.
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
*/
|
26 |
-
class
|
27 |
|
28 |
/**
|
29 |
-
* @var
|
30 |
*/
|
31 |
private static $pages = array();
|
32 |
|
33 |
/**
|
34 |
-
* @param
|
35 |
* @param $class_name
|
36 |
*/
|
37 |
public static function register($plugin, $class_name)
|
@@ -59,7 +59,7 @@
|
|
59 |
}
|
60 |
}
|
61 |
|
62 |
-
public static function getPageUrl(
|
63 |
{
|
64 |
if( isset(self::$pages[$plugin->getPluginName()]) ) {
|
65 |
$pages = self::$pages[$plugin->getPluginName()];
|
@@ -75,7 +75,7 @@
|
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
-
* @param
|
79 |
* @return array
|
80 |
*/
|
81 |
public static function getIds($plugin)
|
@@ -93,14 +93,14 @@
|
|
93 |
}
|
94 |
}
|
95 |
|
96 |
-
if( !function_exists('
|
97 |
/**
|
98 |
*
|
99 |
-
* @param
|
100 |
* @param string $page_id
|
101 |
* @return string
|
102 |
*/
|
103 |
-
function
|
104 |
{
|
105 |
return $page_id . '-' . $plugin->getPluginName();
|
106 |
}
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
add_action('admin_menu', 'Wbcr_FactoryPages438::actionAdminMenu');
|
18 |
+
add_action('network_admin_menu', 'Wbcr_FactoryPages438::actionAdminMenu');
|
19 |
|
20 |
+
if( !class_exists('Wbcr_FactoryPages438') ) {
|
21 |
/**
|
22 |
* A base class to manage pages.
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
*/
|
26 |
+
class Wbcr_FactoryPages438 {
|
27 |
|
28 |
/**
|
29 |
+
* @var Wbcr_FactoryPages438_Page[]
|
30 |
*/
|
31 |
private static $pages = array();
|
32 |
|
33 |
/**
|
34 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
35 |
* @param $class_name
|
36 |
*/
|
37 |
public static function register($plugin, $class_name)
|
59 |
}
|
60 |
}
|
61 |
|
62 |
+
public static function getPageUrl(Wbcr_Factory439_Plugin $plugin, $page_id, $args = array())
|
63 |
{
|
64 |
if( isset(self::$pages[$plugin->getPluginName()]) ) {
|
65 |
$pages = self::$pages[$plugin->getPluginName()];
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
79 |
* @return array
|
80 |
*/
|
81 |
public static function getIds($plugin)
|
93 |
}
|
94 |
}
|
95 |
|
96 |
+
if( !function_exists('wbcr_factory_pages_438_get_page_id') ) {
|
97 |
/**
|
98 |
*
|
99 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
100 |
* @param string $page_id
|
101 |
* @return string
|
102 |
*/
|
103 |
+
function wbcr_factory_pages_438_get_page_id($plugin, $page_id)
|
104 |
{
|
105 |
return $page_id . '-' . $plugin->getPluginName();
|
106 |
}
|
libs/factory/pages/templates/assets/css/impressive.page.template.css
CHANGED
@@ -9,7 +9,7 @@
|
|
9 |
#WBCR .wdan-notices-compact-panel {
|
10 |
display: none !important;
|
11 |
}
|
12 |
-
#WBCR .wbcr-factory-pages-
|
13 |
position: relative;
|
14 |
/**
|
15 |
Content sections
|
@@ -18,134 +18,134 @@
|
|
18 |
Widget in the sidebar of the plugin
|
19 |
*/
|
20 |
}
|
21 |
-
#WBCR .wbcr-factory-pages-
|
22 |
color: #9a9a9a;
|
23 |
}
|
24 |
-
#WBCR .wbcr-factory-pages-
|
25 |
color: #ffc107;
|
26 |
}
|
27 |
-
#WBCR .wbcr-factory-pages-
|
28 |
color: #ffeb3b;
|
29 |
}
|
30 |
-
#WBCR .wbcr-factory-pages-
|
31 |
padding: 0 20px;
|
32 |
}
|
33 |
-
#WBCR .wbcr-factory-pages-
|
34 |
font-weight: normal;
|
35 |
}
|
36 |
-
#WBCR .wbcr-factory-pages-
|
37 |
max-width: 300px;
|
38 |
}
|
39 |
-
#WBCR .wbcr-factory-pages-
|
40 |
text-align: right;
|
41 |
padding-right: 20px;
|
42 |
}
|
43 |
-
#WBCR .wbcr-factory-pages-
|
44 |
display: inline-block;
|
45 |
vertical-align: bottom;
|
46 |
}
|
47 |
-
#WBCR .wbcr-factory-pages-
|
48 |
-
#WBCR .wbcr-factory-pages-
|
49 |
outline: none;
|
50 |
}
|
51 |
-
#WBCR .wbcr-factory-pages-
|
52 |
font-weight: bold;
|
53 |
margin: 0 !important;
|
54 |
border: 0;
|
55 |
border-radius: 0;
|
56 |
padding: 15px;
|
57 |
}
|
58 |
-
#WBCR .wbcr-factory-pages-
|
59 |
margin-top: 0 !important;
|
60 |
}
|
61 |
-
#WBCR .wbcr-factory-pages-
|
62 |
background: #fff3d0;
|
63 |
}
|
64 |
-
#WBCR .wbcr-factory-pages-
|
65 |
background: #fffde9;
|
66 |
}
|
67 |
-
#WBCR .wbcr-factory-pages-
|
68 |
background: #de716d;
|
69 |
}
|
70 |
-
#WBCR .wbcr-factory-pages-
|
71 |
background: #ec8c89;
|
72 |
}
|
73 |
-
#WBCR .wbcr-factory-pages-
|
74 |
background: #d0ecc4;
|
75 |
}
|
76 |
-
#WBCR .wbcr-factory-pages-
|
77 |
background: #e0eadb;
|
78 |
}
|
79 |
-
#WBCR .wbcr-factory-pages-
|
80 |
padding: 20px 20px 40px;
|
81 |
}
|
82 |
-
#WBCR .wbcr-factory-pages-
|
83 |
display: block;
|
84 |
font-size: 11px;
|
85 |
font-weight: lighter;
|
86 |
color: #179347;
|
87 |
}
|
88 |
-
#WBCR .wbcr-factory-pages-
|
89 |
-
#WBCR .wbcr-factory-pages-
|
90 |
position: relative;
|
91 |
background: #e6e6e6;
|
92 |
overflow: hidden;
|
93 |
}
|
94 |
-
#WBCR .wbcr-factory-pages-
|
95 |
-
#WBCR .wbcr-factory-pages-
|
96 |
display: block;
|
97 |
content: '';
|
98 |
clear: both;
|
99 |
}
|
100 |
-
#WBCR .wbcr-factory-pages-
|
101 |
background: #efefef;
|
102 |
padding: 20px 0 10px 20px;
|
103 |
margin: 30px 0;
|
104 |
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
105 |
}
|
106 |
-
#WBCR .wbcr-factory-pages-
|
107 |
margin-top: 0;
|
108 |
}
|
109 |
-
#WBCR .wbcr-factory-pages-
|
110 |
font-size: 15px;
|
111 |
}
|
112 |
-
#WBCR .wbcr-factory-pages-
|
113 |
color: #8c8888;
|
114 |
font-size: 12px;
|
115 |
}
|
116 |
-
#WBCR .wbcr-factory-pages-
|
117 |
margin-left: 230px;
|
118 |
padding: 80px 0 0 0;
|
119 |
vertical-align: top;
|
120 |
background: #fff;
|
121 |
}
|
122 |
-
#WBCR .wbcr-factory-pages-
|
123 |
-
#WBCR .wbcr-factory-pages-
|
124 |
-
#WBCR .wbcr-factory-pages-
|
125 |
border: 0;
|
126 |
}
|
127 |
-
#WBCR .wbcr-factory-pages-
|
128 |
background: #efefef !important;
|
129 |
margin-bottom: -2px !important;
|
130 |
border-bottom: 1px solid #efefef !important;
|
131 |
}
|
132 |
-
#WBCR .wbcr-factory-pages-
|
133 |
margin: 0;
|
134 |
}
|
135 |
-
#WBCR .wbcr-factory-pages-
|
136 |
background: #f7f7f7;
|
137 |
}
|
138 |
-
#WBCR .wbcr-factory-pages-
|
139 |
border: 2px solid #dedede;
|
140 |
border-bottom: 0;
|
141 |
box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
|
142 |
}
|
143 |
-
#WBCR .wbcr-factory-pages-
|
144 |
-
#WBCR .wbcr-factory-pages-
|
145 |
box-shadow: none;
|
146 |
outline: none;
|
147 |
}
|
148 |
-
#WBCR .wbcr-factory-pages-
|
149 |
position: absolute;
|
150 |
z-index: 13;
|
151 |
top: 0;
|
@@ -156,7 +156,7 @@
|
|
156 |
color: #fff;
|
157 |
border-radius: 5px 5px 0 0;
|
158 |
}
|
159 |
-
#WBCR .wbcr-factory-pages-
|
160 |
float: left;
|
161 |
padding: 25px 0;
|
162 |
font-size: 20px;
|
@@ -169,11 +169,11 @@
|
|
169 |
margin-right: 10px;
|
170 |
background: none;
|
171 |
}
|
172 |
-
#WBCR .wbcr-factory-pages-
|
173 |
display: inline-block;
|
174 |
vertical-align: middle;
|
175 |
}
|
176 |
-
#WBCR .wbcr-factory-pages-
|
177 |
font-size: 18px;
|
178 |
line-height: 30px;
|
179 |
font-weight: 300;
|
@@ -184,12 +184,12 @@
|
|
184 |
text-overflow: ellipsis;
|
185 |
color: #fff;
|
186 |
}
|
187 |
-
#WBCR .wbcr-factory-pages-
|
188 |
position: relative;
|
189 |
float: right;
|
190 |
margin: 12px;
|
191 |
}
|
192 |
-
#WBCR .wbcr-factory-pages-
|
193 |
display: inline-block;
|
194 |
vertical-align: top;
|
195 |
font-size: 13px;
|
@@ -212,49 +212,49 @@
|
|
212 |
text-decoration: none;
|
213 |
z-index: 3;
|
214 |
}
|
215 |
-
#WBCR .wbcr-factory-pages-
|
216 |
box-shadow: none;
|
217 |
min-width: 100px;
|
218 |
background-color: #8bc34a;
|
219 |
color: #fff;
|
220 |
}
|
221 |
-
#WBCR .wbcr-factory-pages-
|
222 |
background: #9dbb7b;
|
223 |
color: #fff;
|
224 |
}
|
225 |
-
#WBCR .wbcr-factory-pages-
|
226 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
227 |
}
|
228 |
-
#WBCR .wbcr-factory-pages-
|
229 |
box-shadow: none;
|
230 |
min-width: 200px;
|
231 |
background-color: #9e9e9e;
|
232 |
color: #fff;
|
233 |
}
|
234 |
-
#WBCR .wbcr-factory-pages-
|
235 |
background: #797979;
|
236 |
color: #fff;
|
237 |
}
|
238 |
-
#WBCR .wbcr-factory-pages-
|
239 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
240 |
}
|
241 |
-
#WBCR .wbcr-factory-pages-
|
242 |
float: left;
|
243 |
vertical-align: top;
|
244 |
width: 230px;
|
245 |
background: #e6e6e6;
|
246 |
}
|
247 |
-
#WBCR .wbcr-factory-pages-
|
248 |
padding: 0;
|
249 |
margin-bottom: 0;
|
250 |
margin-top: 80px;
|
251 |
}
|
252 |
-
#WBCR .wbcr-factory-pages-
|
253 |
display: block;
|
254 |
background: #efefef;
|
255 |
margin: 1px 0;
|
256 |
}
|
257 |
-
#WBCR .wbcr-factory-pages-
|
258 |
display: block;
|
259 |
width: 100%;
|
260 |
padding: 20px 20px;
|
@@ -265,58 +265,58 @@
|
|
265 |
text-align: left;
|
266 |
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
267 |
}
|
268 |
-
#WBCR .wbcr-factory-pages-
|
269 |
display: block;
|
270 |
font-weight: bold;
|
271 |
}
|
272 |
-
#WBCR .wbcr-factory-pages-
|
273 |
display: block;
|
274 |
font-size: 13px;
|
275 |
font-weight: normal;
|
276 |
text-transform: none;
|
277 |
color: #9a9a9a;
|
278 |
}
|
279 |
-
#WBCR .wbcr-factory-pages-
|
280 |
float: right;
|
281 |
color: #ccc;
|
282 |
}
|
283 |
-
#WBCR .wbcr-factory-pages-
|
284 |
clear: both;
|
285 |
}
|
286 |
-
#WBCR .wbcr-factory-pages-
|
287 |
background: #f7f6f6;
|
288 |
}
|
289 |
-
#WBCR .wbcr-factory-pages-
|
290 |
color: #9a9a9a;
|
291 |
}
|
292 |
-
#WBCR .wbcr-factory-pages-
|
293 |
-
#WBCR .wbcr-factory-pages-
|
294 |
-
#WBCR .wbcr-factory-pages-
|
295 |
-
#WBCR .wbcr-factory-pages-
|
296 |
-
#WBCR .wbcr-factory-pages-
|
297 |
outline: 0 !important;
|
298 |
box-shadow: none !important;
|
299 |
}
|
300 |
-
#WBCR .wbcr-factory-pages-
|
301 |
background: #fff;
|
302 |
border-left: 5px solid #ff5722;
|
303 |
}
|
304 |
-
#WBCR .wbcr-factory-pages-
|
305 |
color: #ff5722;
|
306 |
font-weight: bold;
|
307 |
}
|
308 |
-
#WBCR .wbcr-factory-pages-
|
309 |
color: #9a9a9a;
|
310 |
}
|
311 |
-
#WBCR .wbcr-factory-pages-
|
312 |
padding: 0;
|
313 |
margin: 0;
|
314 |
}
|
315 |
-
#WBCR .wbcr-factory-pages-
|
316 |
margin: 1px 0 0;
|
317 |
padding: 0;
|
318 |
}
|
319 |
-
#WBCR .wbcr-factory-pages-
|
320 |
display: block;
|
321 |
font-weight: normal;
|
322 |
color: #222;
|
@@ -327,12 +327,12 @@
|
|
327 |
text-decoration: none;
|
328 |
outline: none;
|
329 |
}
|
330 |
-
#WBCR .wbcr-factory-pages-
|
331 |
-
#WBCR .wbcr-factory-pages-
|
332 |
outline: 0 !important;
|
333 |
text-shadow: none !important;
|
334 |
}
|
335 |
-
#WBCR .wbcr-factory-pages-
|
336 |
color: #9a9a9a;
|
337 |
font-size: 13px;
|
338 |
border: 0;
|
@@ -343,48 +343,48 @@
|
|
343 |
-ms-filter: fliph;
|
344 |
filter: fliph;
|
345 |
}
|
346 |
-
#WBCR .wbcr-factory-pages-
|
347 |
background: #fff;
|
348 |
color: #ff5722;
|
349 |
font-weight: 600;
|
350 |
}
|
351 |
-
#WBCR .wbcr-factory-pages-
|
352 |
color: #ff5722;
|
353 |
}
|
354 |
-
#WBCR .wbcr-factory-pages-
|
355 |
-
#WBCR .wbcr-factory-pages-
|
356 |
display: inline-block;
|
357 |
vertical-align: top;
|
358 |
}
|
359 |
-
#WBCR .wbcr-factory-pages-
|
360 |
width: 74.6%;
|
361 |
}
|
362 |
-
#WBCR .wbcr-factory-pages-
|
363 |
width: 100%;
|
364 |
}
|
365 |
-
#WBCR .wbcr-factory-pages-
|
366 |
margin-top: 15px;
|
367 |
}
|
368 |
-
#WBCR .wbcr-factory-pages-
|
369 |
background: #f7f7f7;
|
370 |
padding: 0 0 20px 0;
|
371 |
border: 1px solid #dad8d8;
|
372 |
box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
|
373 |
}
|
374 |
-
#WBCR .wbcr-factory-pages-
|
375 |
padding-top: 0 !important;
|
376 |
}
|
377 |
-
#WBCR .wbcr-factory-pages-
|
378 |
width: 25%;
|
379 |
padding: 10px;
|
380 |
margin: 0 0 -20px;
|
381 |
background-color: #f9f9f9;
|
382 |
box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
|
383 |
}
|
384 |
-
#WBCR .wbcr-factory-pages-
|
385 |
margin: 0 0 20px;
|
386 |
}
|
387 |
-
#WBCR .wbcr-factory-pages-
|
388 |
display: inline-block;
|
389 |
min-height: 230px;
|
390 |
width: 100%;
|
@@ -393,19 +393,19 @@
|
|
393 |
padding: 20px 15px;
|
394 |
vertical-align: top;
|
395 |
}
|
396 |
-
#WBCR .wbcr-factory-pages-
|
397 |
display: none;
|
398 |
}
|
399 |
-
#WBCR .wbcr-factory-pages-
|
400 |
background: #fff4d0;
|
401 |
}
|
402 |
-
#WBCR .wbcr-factory-pages-
|
403 |
background: #e2ffc0;
|
404 |
}
|
405 |
-
#WBCR .wbcr-factory-pages-
|
406 |
background: #ffebe9;
|
407 |
}
|
408 |
-
#WBCR .wbcr-factory-pages-
|
409 |
display: inline-block;
|
410 |
width: 16px;
|
411 |
height: 16px;
|
@@ -417,16 +417,16 @@
|
|
417 |
background: #E91E63;
|
418 |
border-radius: 3px;
|
419 |
}
|
420 |
-
#WBCR .wbcr-factory-pages-
|
421 |
background: #E91E63;
|
422 |
}
|
423 |
-
#WBCR .wbcr-factory-pages-
|
424 |
background: #9e9e9e;
|
425 |
}
|
426 |
-
#WBCR .wbcr-factory-pages-
|
427 |
background: #8bc34a;
|
428 |
}
|
429 |
-
#WBCR .wbcr-factory-pages-
|
430 |
display: block;
|
431 |
width: 80px;
|
432 |
height: 17px;
|
@@ -434,23 +434,23 @@
|
|
434 |
vertical-align: middle;
|
435 |
margin-bottom: 5px;
|
436 |
}
|
437 |
-
#WBCR .wbcr-factory-pages-
|
438 |
display: block;
|
439 |
margin: 30px auto 0;
|
440 |
outline: none;
|
441 |
}
|
442 |
-
#WBCR .wbcr-factory-pages-
|
443 |
-
#WBCR .wbcr-factory-pages-
|
444 |
box-shadow: none;
|
445 |
}
|
446 |
-
#WBCR .wbcr-factory-pages-
|
447 |
font-size: 50px;
|
448 |
margin-top: 30px;
|
449 |
text-align: center;
|
450 |
font-weight: 600;
|
451 |
color: #8BC34A;
|
452 |
}
|
453 |
-
#WBCR .wbcr-factory-pages-
|
454 |
min-height: 240px;
|
455 |
margin-bottom: 20px;
|
456 |
text-align: center;
|
@@ -458,24 +458,24 @@
|
|
458 |
padding: 30px;
|
459 |
border: 1px solid #f3f1e7;
|
460 |
}
|
461 |
-
#WBCR .wbcr-factory-pages-
|
462 |
width: 50px;
|
463 |
height: 50px;
|
464 |
font-size: 50px;
|
465 |
color: #FFC107;
|
466 |
line-height: normal;
|
467 |
}
|
468 |
-
#WBCR .wbcr-factory-pages-
|
469 |
color: #7b6111;
|
470 |
}
|
471 |
-
#WBCR .wbcr-factory-pages-
|
472 |
color: #9e9e9e;
|
473 |
}
|
474 |
-
#WBCR .wbcr-factory-pages-
|
475 |
margin-top: 20px;
|
476 |
text-align: center;
|
477 |
}
|
478 |
-
#WBCR .wbcr-factory-pages-
|
479 |
display: inline-block;
|
480 |
padding: 20px 60px;
|
481 |
background-color: #FFC107;
|
@@ -485,67 +485,67 @@
|
|
485 |
font-weight: bold;
|
486 |
transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
|
487 |
}
|
488 |
-
#WBCR .wbcr-factory-pages-
|
489 |
background-color: #ffce3a;
|
490 |
}
|
491 |
-
#WBCR .wbcr-factory-pages-
|
492 |
padding: 20px;
|
493 |
background: #ffffff;
|
494 |
}
|
495 |
-
#WBCR .wbcr-factory-pages-
|
496 |
-
#WBCR .wbcr-factory-pages-
|
497 |
display: none;
|
498 |
}
|
499 |
-
#WBCR .wbcr-factory-pages-
|
500 |
font-size: 18px;
|
501 |
margin-top: 10px;
|
502 |
}
|
503 |
-
#WBCR .wbcr-factory-pages-
|
504 |
padding: 10px;
|
505 |
background: #ffedeb;
|
506 |
border: 1px solid #ffdfdc;
|
507 |
margin: 15px 0;
|
508 |
}
|
509 |
-
#WBCR .wbcr-factory-pages-
|
510 |
margin-bottom: 15px;
|
511 |
color: #7b7b7b;
|
512 |
}
|
513 |
@media screen and (max-width: 1367px) {
|
514 |
-
#WBCR .wbcr-factory-pages-
|
515 |
width: 69.6%;
|
516 |
}
|
517 |
-
#WBCR .wbcr-factory-pages-
|
518 |
width: 30%;
|
519 |
}
|
520 |
}
|
521 |
@media screen and (max-width: 1320px) {
|
522 |
-
#WBCR .wbcr-factory-pages-
|
523 |
width: 100%;
|
524 |
}
|
525 |
-
#WBCR .wbcr-factory-pages-
|
526 |
display: none !important;
|
527 |
}
|
528 |
-
#WBCR .wbcr-factory-pages-
|
529 |
display: none !important;
|
530 |
}
|
531 |
-
#WBCR .wbcr-factory-pages-
|
532 |
display: none !important;
|
533 |
}
|
534 |
}
|
535 |
@media screen and (max-width: 950px) {
|
536 |
-
#WBCR .wbcr-factory-pages-
|
537 |
width: 70px;
|
538 |
}
|
539 |
-
#WBCR .wbcr-factory-pages-
|
540 |
font-size: 0;
|
541 |
}
|
542 |
-
#WBCR .wbcr-factory-pages-
|
543 |
font-size: 0;
|
544 |
}
|
545 |
-
#WBCR .wbcr-factory-pages-
|
546 |
display: none !important;
|
547 |
}
|
548 |
-
#WBCR .wbcr-factory-pages-
|
549 |
margin-left: 70px;
|
550 |
}
|
551 |
}
|
9 |
#WBCR .wdan-notices-compact-panel {
|
10 |
display: none !important;
|
11 |
}
|
12 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template {
|
13 |
position: relative;
|
14 |
/**
|
15 |
Content sections
|
18 |
Widget in the sidebar of the plugin
|
19 |
*/
|
20 |
}
|
21 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-color-grey {
|
22 |
color: #9a9a9a;
|
23 |
}
|
24 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-orange-color {
|
25 |
color: #ffc107;
|
26 |
}
|
27 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-light-orange-color {
|
28 |
color: #ffeb3b;
|
29 |
}
|
30 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .form-group {
|
31 |
padding: 0 20px;
|
32 |
}
|
33 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .form-group label {
|
34 |
font-weight: normal;
|
35 |
}
|
36 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .form-horizontal .control-label {
|
37 |
max-width: 300px;
|
38 |
}
|
39 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .factory-control-buttons {
|
40 |
text-align: right;
|
41 |
padding-right: 20px;
|
42 |
}
|
43 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .factory-from-control-list label span {
|
44 |
display: inline-block;
|
45 |
vertical-align: bottom;
|
46 |
}
|
47 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
|
48 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
|
49 |
outline: none;
|
50 |
}
|
51 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .alert {
|
52 |
font-weight: bold;
|
53 |
margin: 0 !important;
|
54 |
border: 0;
|
55 |
border-radius: 0;
|
56 |
padding: 15px;
|
57 |
}
|
58 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .alert + .wbcr-factory-page-group-header {
|
59 |
margin-top: 0 !important;
|
60 |
}
|
61 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .alert.alert-warning {
|
62 |
background: #fff3d0;
|
63 |
}
|
64 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
|
65 |
background: #fffde9;
|
66 |
}
|
67 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .alert.alert-danger {
|
68 |
background: #de716d;
|
69 |
}
|
70 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
|
71 |
background: #ec8c89;
|
72 |
}
|
73 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .alert.alert-success {
|
74 |
background: #d0ecc4;
|
75 |
}
|
76 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .alert.alert-success:nth-child(2n+1) {
|
77 |
background: #e0eadb;
|
78 |
}
|
79 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-header {
|
80 |
padding: 20px 20px 40px;
|
81 |
}
|
82 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-recomended-text {
|
83 |
display: block;
|
84 |
font-size: 11px;
|
85 |
font-weight: lighter;
|
86 |
color: #179347;
|
87 |
}
|
88 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-options,
|
89 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page {
|
90 |
position: relative;
|
91 |
background: #e6e6e6;
|
92 |
overflow: hidden;
|
93 |
}
|
94 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-options:after,
|
95 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page:after {
|
96 |
display: block;
|
97 |
content: '';
|
98 |
clear: both;
|
99 |
}
|
100 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-group-header {
|
101 |
background: #efefef;
|
102 |
padding: 20px 0 10px 20px;
|
103 |
margin: 30px 0;
|
104 |
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
105 |
}
|
106 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-group-header:first-child {
|
107 |
margin-top: 0;
|
108 |
}
|
109 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-group-header strong {
|
110 |
font-size: 15px;
|
111 |
}
|
112 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-group-header p {
|
113 |
color: #8c8888;
|
114 |
font-size: 12px;
|
115 |
}
|
116 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap {
|
117 |
margin-left: 230px;
|
118 |
padding: 80px 0 0 0;
|
119 |
vertical-align: top;
|
120 |
background: #fff;
|
121 |
}
|
122 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
|
123 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
|
124 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
|
125 |
border: 0;
|
126 |
}
|
127 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
|
128 |
background: #efefef !important;
|
129 |
margin-bottom: -2px !important;
|
130 |
border-bottom: 1px solid #efefef !important;
|
131 |
}
|
132 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
|
133 |
margin: 0;
|
134 |
}
|
135 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
|
136 |
background: #f7f7f7;
|
137 |
}
|
138 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
|
139 |
border: 2px solid #dedede;
|
140 |
border-bottom: 0;
|
141 |
box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
|
142 |
}
|
143 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
|
144 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
|
145 |
box-shadow: none;
|
146 |
outline: none;
|
147 |
}
|
148 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header {
|
149 |
position: absolute;
|
150 |
z-index: 13;
|
151 |
top: 0;
|
156 |
color: #fff;
|
157 |
border-radius: 5px 5px 0 0;
|
158 |
}
|
159 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
|
160 |
float: left;
|
161 |
padding: 25px 0;
|
162 |
font-size: 20px;
|
169 |
margin-right: 10px;
|
170 |
background: none;
|
171 |
}
|
172 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
|
173 |
display: inline-block;
|
174 |
vertical-align: middle;
|
175 |
}
|
176 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
|
177 |
font-size: 18px;
|
178 |
line-height: 30px;
|
179 |
font-weight: 300;
|
184 |
text-overflow: ellipsis;
|
185 |
color: #fff;
|
186 |
}
|
187 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
|
188 |
position: relative;
|
189 |
float: right;
|
190 |
margin: 12px;
|
191 |
}
|
192 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button {
|
193 |
display: inline-block;
|
194 |
vertical-align: top;
|
195 |
font-size: 13px;
|
212 |
text-decoration: none;
|
213 |
z-index: 3;
|
214 |
}
|
215 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
|
216 |
box-shadow: none;
|
217 |
min-width: 100px;
|
218 |
background-color: #8bc34a;
|
219 |
color: #fff;
|
220 |
}
|
221 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
|
222 |
background: #9dbb7b;
|
223 |
color: #fff;
|
224 |
}
|
225 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:active {
|
226 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
227 |
}
|
228 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings {
|
229 |
box-shadow: none;
|
230 |
min-width: 200px;
|
231 |
background-color: #9e9e9e;
|
232 |
color: #fff;
|
233 |
}
|
234 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:hover {
|
235 |
background: #797979;
|
236 |
color: #fff;
|
237 |
}
|
238 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:active {
|
239 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
240 |
}
|
241 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar {
|
242 |
float: left;
|
243 |
vertical-align: top;
|
244 |
width: 230px;
|
245 |
background: #e6e6e6;
|
246 |
}
|
247 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul {
|
248 |
padding: 0;
|
249 |
margin-bottom: 0;
|
250 |
margin-top: 80px;
|
251 |
}
|
252 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
|
253 |
display: block;
|
254 |
background: #efefef;
|
255 |
margin: 1px 0;
|
256 |
}
|
257 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link {
|
258 |
display: block;
|
259 |
width: 100%;
|
260 |
padding: 20px 20px;
|
265 |
text-align: left;
|
266 |
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
267 |
}
|
268 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__title {
|
269 |
display: block;
|
270 |
font-weight: bold;
|
271 |
}
|
272 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__short-description {
|
273 |
display: block;
|
274 |
font-size: 13px;
|
275 |
font-weight: normal;
|
276 |
text-transform: none;
|
277 |
color: #9a9a9a;
|
278 |
}
|
279 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .dashicons {
|
280 |
float: right;
|
281 |
color: #ccc;
|
282 |
}
|
283 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link::after {
|
284 |
clear: both;
|
285 |
}
|
286 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover {
|
287 |
background: #f7f6f6;
|
288 |
}
|
289 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover .dashicons {
|
290 |
color: #9a9a9a;
|
291 |
}
|
292 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link,
|
293 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
|
294 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover,
|
295 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
|
296 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:focus {
|
297 |
outline: 0 !important;
|
298 |
box-shadow: none !important;
|
299 |
}
|
300 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
|
301 |
background: #fff;
|
302 |
border-left: 5px solid #ff5722;
|
303 |
}
|
304 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
|
305 |
color: #ff5722;
|
306 |
font-weight: bold;
|
307 |
}
|
308 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons {
|
309 |
color: #9a9a9a;
|
310 |
}
|
311 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu {
|
312 |
padding: 0;
|
313 |
margin: 0;
|
314 |
}
|
315 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li {
|
316 |
margin: 1px 0 0;
|
317 |
padding: 0;
|
318 |
}
|
319 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a {
|
320 |
display: block;
|
321 |
font-weight: normal;
|
322 |
color: #222;
|
327 |
text-decoration: none;
|
328 |
outline: none;
|
329 |
}
|
330 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a:focus,
|
331 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a:link {
|
332 |
outline: 0 !important;
|
333 |
text-shadow: none !important;
|
334 |
}
|
335 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a .dashicons {
|
336 |
color: #9a9a9a;
|
337 |
font-size: 13px;
|
338 |
border: 0;
|
343 |
-ms-filter: fliph;
|
344 |
filter: fliph;
|
345 |
}
|
346 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a.wbcr-factory-tab-active {
|
347 |
background: #fff;
|
348 |
color: #ff5722;
|
349 |
font-weight: 600;
|
350 |
}
|
351 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a.wbcr-factory-tab-active .dashicons {
|
352 |
color: #ff5722;
|
353 |
}
|
354 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-content-section,
|
355 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section {
|
356 |
display: inline-block;
|
357 |
vertical-align: top;
|
358 |
}
|
359 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-content-section {
|
360 |
width: 74.6%;
|
361 |
}
|
362 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
|
363 |
width: 100%;
|
364 |
}
|
365 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
|
366 |
margin-top: 15px;
|
367 |
}
|
368 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
|
369 |
background: #f7f7f7;
|
370 |
padding: 0 0 20px 0;
|
371 |
border: 1px solid #dad8d8;
|
372 |
box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
|
373 |
}
|
374 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
|
375 |
padding-top: 0 !important;
|
376 |
}
|
377 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section {
|
378 |
width: 25%;
|
379 |
padding: 10px;
|
380 |
margin: 0 0 -20px;
|
381 |
background-color: #f9f9f9;
|
382 |
box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
|
383 |
}
|
384 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
|
385 |
margin: 0 0 20px;
|
386 |
}
|
387 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget {
|
388 |
display: inline-block;
|
389 |
min-height: 230px;
|
390 |
width: 100%;
|
393 |
padding: 20px 15px;
|
394 |
vertical-align: top;
|
395 |
}
|
396 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
|
397 |
display: none;
|
398 |
}
|
399 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
|
400 |
background: #fff4d0;
|
401 |
}
|
402 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
|
403 |
background: #e2ffc0;
|
404 |
}
|
405 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
|
406 |
background: #ffebe9;
|
407 |
}
|
408 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
|
409 |
display: inline-block;
|
410 |
width: 16px;
|
411 |
height: 16px;
|
417 |
background: #E91E63;
|
418 |
border-radius: 3px;
|
419 |
}
|
420 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
|
421 |
background: #E91E63;
|
422 |
}
|
423 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
|
424 |
background: #9e9e9e;
|
425 |
}
|
426 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
|
427 |
background: #8bc34a;
|
428 |
}
|
429 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
|
430 |
display: block;
|
431 |
width: 80px;
|
432 |
height: 17px;
|
434 |
vertical-align: middle;
|
435 |
margin-bottom: 5px;
|
436 |
}
|
437 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
|
438 |
display: block;
|
439 |
margin: 30px auto 0;
|
440 |
outline: none;
|
441 |
}
|
442 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
|
443 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
|
444 |
box-shadow: none;
|
445 |
}
|
446 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
|
447 |
font-size: 50px;
|
448 |
margin-top: 30px;
|
449 |
text-align: center;
|
450 |
font-weight: 600;
|
451 |
color: #8BC34A;
|
452 |
}
|
453 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
|
454 |
min-height: 240px;
|
455 |
margin-bottom: 20px;
|
456 |
text-align: center;
|
458 |
padding: 30px;
|
459 |
border: 1px solid #f3f1e7;
|
460 |
}
|
461 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
|
462 |
width: 50px;
|
463 |
height: 50px;
|
464 |
font-size: 50px;
|
465 |
color: #FFC107;
|
466 |
line-height: normal;
|
467 |
}
|
468 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
|
469 |
color: #7b6111;
|
470 |
}
|
471 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
|
472 |
color: #9e9e9e;
|
473 |
}
|
474 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
|
475 |
margin-top: 20px;
|
476 |
text-align: center;
|
477 |
}
|
478 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
|
479 |
display: inline-block;
|
480 |
padding: 20px 60px;
|
481 |
background-color: #FFC107;
|
485 |
font-weight: bold;
|
486 |
transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
|
487 |
}
|
488 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
|
489 |
background-color: #ffce3a;
|
490 |
}
|
491 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template #wbcr-factory-confirm-dialog {
|
492 |
padding: 20px;
|
493 |
background: #ffffff;
|
494 |
}
|
495 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template #wbcr-factory-confirm-dialog .updated,
|
496 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template #wbcr-factory-confirm-dialog .alert {
|
497 |
display: none;
|
498 |
}
|
499 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template #wbcr-factory-confirm-dialog h2 {
|
500 |
font-size: 18px;
|
501 |
margin-top: 10px;
|
502 |
}
|
503 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
|
504 |
padding: 10px;
|
505 |
background: #ffedeb;
|
506 |
border: 1px solid #ffdfdc;
|
507 |
margin: 15px 0;
|
508 |
}
|
509 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
|
510 |
margin-bottom: 15px;
|
511 |
color: #7b7b7b;
|
512 |
}
|
513 |
@media screen and (max-width: 1367px) {
|
514 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-content-section {
|
515 |
width: 69.6%;
|
516 |
}
|
517 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section {
|
518 |
width: 30%;
|
519 |
}
|
520 |
}
|
521 |
@media screen and (max-width: 1320px) {
|
522 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-content-section {
|
523 |
width: 100%;
|
524 |
}
|
525 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-right-sidebar-section {
|
526 |
display: none !important;
|
527 |
}
|
528 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-header-logo .dash {
|
529 |
display: none !important;
|
530 |
}
|
531 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-header-title {
|
532 |
display: none !important;
|
533 |
}
|
534 |
}
|
535 |
@media screen and (max-width: 950px) {
|
536 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar {
|
537 |
width: 70px;
|
538 |
}
|
539 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
|
540 |
font-size: 0;
|
541 |
}
|
542 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__title {
|
543 |
font-size: 0;
|
544 |
}
|
545 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__short-description {
|
546 |
display: none !important;
|
547 |
}
|
548 |
+
#WBCR .wbcr-factory-pages-438-impressive-page-template .wbcr-factory-page-inner-wrap {
|
549 |
margin-left: 70px;
|
550 |
}
|
551 |
}
|
libs/factory/pages/templates/impressive-page.class.php
CHANGED
@@ -14,11 +14,11 @@ if( !defined('ABSPATH') ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
-
* Class
|
20 |
*/
|
21 |
-
abstract class
|
22 |
|
23 |
/**
|
24 |
* Тип страницы:
|
@@ -112,12 +112,12 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
112 |
public $page_menu = [];
|
113 |
|
114 |
/**
|
115 |
-
* @param
|
116 |
*/
|
117 |
-
public function __construct(
|
118 |
{
|
119 |
-
$this->menuIcon =
|
120 |
-
//$allow_multisite = apply_filters('
|
121 |
|
122 |
if( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
|
123 |
$this->network = true;
|
@@ -127,7 +127,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
127 |
|
128 |
parent::__construct($plugin);
|
129 |
|
130 |
-
$this->title_plugin_action_link = __('Settings', '
|
131 |
|
132 |
$this->setPageMenu();
|
133 |
}
|
@@ -137,7 +137,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
137 |
*
|
138 |
* @return void
|
139 |
* @since 1.0.0
|
140 |
-
* @see
|
141 |
*
|
142 |
*/
|
143 |
public function assets($scripts, $styles)
|
@@ -159,7 +159,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
159 |
'control.checkbox'
|
160 |
], 'bootstrap');
|
161 |
|
162 |
-
$this->styles->add(
|
163 |
}
|
164 |
|
165 |
/**
|
@@ -173,7 +173,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
173 |
* @since 4.0.8 - добавлен
|
174 |
* @since 4.0.9 - является устаревшим
|
175 |
*/
|
176 |
-
$plugin_title =
|
177 |
$this->plugin->getPluginTitle(),
|
178 |
$this->plugin->getPluginName()
|
179 |
], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title');
|
@@ -240,22 +240,22 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
240 |
{
|
241 |
check_admin_referer('wbcr_factory_' . $this->getResultId() . '_flush_action');
|
242 |
|
243 |
-
if( class_exists('
|
244 |
-
|
245 |
}
|
246 |
|
247 |
/**
|
248 |
* @since 4.0.1 - является устаревшим
|
249 |
*/
|
250 |
-
|
251 |
$this->plugin->getPluginName(),
|
252 |
$this->getResultId()
|
253 |
-
], '4.0.1', '
|
254 |
|
255 |
/**
|
256 |
* @since 4.0.9 - является устаревшим
|
257 |
*/
|
258 |
-
|
259 |
$this->plugin,
|
260 |
$this
|
261 |
], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save');
|
@@ -274,7 +274,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
274 |
/**
|
275 |
* @since 4.0.9 - является устаревшим
|
276 |
*/
|
277 |
-
$redirect_args =
|
278 |
|
279 |
/**
|
280 |
* @since 4.0.1 - добавлен
|
@@ -292,7 +292,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
292 |
protected function warningNotice()
|
293 |
{
|
294 |
/*if( WP_CACHE ) {
|
295 |
-
$this->printWarningNotice(__("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", '
|
296 |
}*/
|
297 |
// Метод предназначен для вызова в дочернем классе
|
298 |
}
|
@@ -372,7 +372,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
372 |
/**
|
373 |
* @since 4.0.9 - является устаревшим
|
374 |
*/
|
375 |
-
|
376 |
$this->plugin,
|
377 |
$this
|
378 |
], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices');
|
@@ -392,14 +392,14 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
392 |
$this->plugin->getPluginName() . '_saved' => '1'
|
393 |
],
|
394 |
'type' => 'success',
|
395 |
-
'message' => __('The settings have been updated successfully!', '
|
396 |
]
|
397 |
];
|
398 |
|
399 |
/**
|
400 |
* @since 4.0.9 - является устаревшим
|
401 |
*/
|
402 |
-
$notices =
|
403 |
$notices,
|
404 |
$this->plugin,
|
405 |
$this->id
|
@@ -674,7 +674,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
674 |
<?php if( $this->type == 'options' ): ?>
|
675 |
<input name="<?= $this->plugin->getPluginName() ?>_save_action"
|
676 |
class="wbcr-factory-button wbcr-factory-type-save" type="submit"
|
677 |
-
value="<?php _e('Save', '
|
678 |
<?php wp_nonce_field('wbcr_factory_' . $this->getResultId() . '_save_action'); ?>
|
679 |
<?php endif; ?>
|
680 |
</div>
|
@@ -733,7 +733,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
733 |
/**
|
734 |
* @since 4.0.9 - является устаревшим
|
735 |
*/
|
736 |
-
$widgets =
|
737 |
$widgets,
|
738 |
$position,
|
739 |
$this->plugin,
|
@@ -751,12 +751,12 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
751 |
|
752 |
protected function showOptions()
|
753 |
{
|
754 |
-
$form = new
|
755 |
'scope' => rtrim($this->plugin->getPrefix(), '_'),
|
756 |
'name' => $this->getResultId() . "-options"
|
757 |
], $this->plugin);
|
758 |
|
759 |
-
$form->setProvider(new
|
760 |
|
761 |
$options = $this->getPageOptions();
|
762 |
|
@@ -796,14 +796,14 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
796 |
check_admin_referer('wbcr_factory_' . $this->getResultId() . '_save_action');
|
797 |
|
798 |
if( !current_user_can('administrator') && !current_user_can($this->capabilitiy) ) {
|
799 |
-
wp_die(__('You do not have permission to edit page.', '
|
800 |
exit;
|
801 |
}
|
802 |
|
803 |
/**
|
804 |
* @since 4.0.9 - является устаревшим
|
805 |
*/
|
806 |
-
|
807 |
$form,
|
808 |
$this->plugin,
|
809 |
$this
|
@@ -822,7 +822,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
822 |
/**
|
823 |
* @since 4.0.9 - является устаревшим
|
824 |
*/
|
825 |
-
|
826 |
$form,
|
827 |
$this->plugin,
|
828 |
$this
|
@@ -843,7 +843,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
843 |
|
844 |
?>
|
845 |
<div id="WBCR" class="wrap">
|
846 |
-
<div class="wbcr-factory-pages-
|
847 |
<div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr($this->id) ?>">
|
848 |
<div class="wbcr-factory-left-navigation-bar">
|
849 |
<?php $this->showPageMenu() ?>
|
@@ -890,7 +890,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
890 |
protected function showPage($content = null)
|
891 |
{ ?>
|
892 |
<div id="WBCR" class="wrap">
|
893 |
-
<div class="wbcr-factory-pages-
|
894 |
<div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
|
895 |
<?php $this->showHeader(); ?>
|
896 |
<div class="wbcr-factory-left-navigation-bar">
|
@@ -957,7 +957,7 @@ if( !class_exists('Wbcr_FactoryPages432_ImpressiveThemplate') ) {
|
|
957 |
{
|
958 |
?>
|
959 |
<div id="WBCR" class="wrap">
|
960 |
-
<div class="wbcr-factory-pages-
|
961 |
<div id="wbcr-factory-confirm-dialog">
|
962 |
<h2><?php echo $data['title'] ?></h2>
|
963 |
<p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryPages438_ImpressiveThemplate') ) {
|
18 |
/**
|
19 |
+
* Class Wbcr_FactoryPages438_ImpressiveThemplate
|
20 |
*/
|
21 |
+
abstract class Wbcr_FactoryPages438_ImpressiveThemplate extends Wbcr_FactoryPages438_AdminPage {
|
22 |
|
23 |
/**
|
24 |
* Тип страницы:
|
112 |
public $page_menu = [];
|
113 |
|
114 |
/**
|
115 |
+
* @param Wbcr_Factory439_Plugin $plugin
|
116 |
*/
|
117 |
+
public function __construct(Wbcr_Factory439_Plugin $plugin)
|
118 |
{
|
119 |
+
$this->menuIcon = FACTORY_PAGES_438_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
|
120 |
+
//$allow_multisite = apply_filters('wbcr_factory_439_core_admin_allow_multisite', false);
|
121 |
|
122 |
if( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
|
123 |
$this->network = true;
|
127 |
|
128 |
parent::__construct($plugin);
|
129 |
|
130 |
+
$this->title_plugin_action_link = __('Settings', 'wbcr_factory_pages_438');
|
131 |
|
132 |
$this->setPageMenu();
|
133 |
}
|
137 |
*
|
138 |
* @return void
|
139 |
* @since 1.0.0
|
140 |
+
* @see FactoryPages438_AdminPage
|
141 |
*
|
142 |
*/
|
143 |
public function assets($scripts, $styles)
|
159 |
'control.checkbox'
|
160 |
], 'bootstrap');
|
161 |
|
162 |
+
$this->styles->add(FACTORY_PAGES_438_URL . '/templates/assets/css/impressive.page.template.css');
|
163 |
}
|
164 |
|
165 |
/**
|
173 |
* @since 4.0.8 - добавлен
|
174 |
* @since 4.0.9 - является устаревшим
|
175 |
*/
|
176 |
+
$plugin_title = wbcr_factory_439_apply_filters_deprecated('wbcr/factory/imppage/plugin_title', [
|
177 |
$this->plugin->getPluginTitle(),
|
178 |
$this->plugin->getPluginName()
|
179 |
], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title');
|
240 |
{
|
241 |
check_admin_referer('wbcr_factory_' . $this->getResultId() . '_flush_action');
|
242 |
|
243 |
+
if( class_exists('WbcrFactoryClearfy230_Helpers') ) {
|
244 |
+
WbcrFactoryClearfy230_Helpers::flushPageCache();
|
245 |
}
|
246 |
|
247 |
/**
|
248 |
* @since 4.0.1 - является устаревшим
|
249 |
*/
|
250 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_imppage_flush_cache', [
|
251 |
$this->plugin->getPluginName(),
|
252 |
$this->getResultId()
|
253 |
+
], '4.0.1', 'wbcr_factory_439_imppage_after_form_save');
|
254 |
|
255 |
/**
|
256 |
* @since 4.0.9 - является устаревшим
|
257 |
*/
|
258 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_imppage_after_form_save', [
|
259 |
$this->plugin,
|
260 |
$this
|
261 |
], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save');
|
274 |
/**
|
275 |
* @since 4.0.9 - является устаревшим
|
276 |
*/
|
277 |
+
$redirect_args = wbcr_factory_439_apply_filters_deprecated('wbcr_factory_439_imppage_after_form_save_redirect_args', [$redirect_args], '4.0.9', 'wbcr/factory/pages/impressive/save_redirect_args');
|
278 |
|
279 |
/**
|
280 |
* @since 4.0.1 - добавлен
|
292 |
protected function warningNotice()
|
293 |
{
|
294 |
/*if( WP_CACHE ) {
|
295 |
+
$this->printWarningNotice(__("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_438'));
|
296 |
}*/
|
297 |
// Метод предназначен для вызова в дочернем классе
|
298 |
}
|
372 |
/**
|
373 |
* @since 4.0.9 - является устаревшим
|
374 |
*/
|
375 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_pages_438_imppage_print_all_notices', [
|
376 |
$this->plugin,
|
377 |
$this
|
378 |
], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices');
|
392 |
$this->plugin->getPluginName() . '_saved' => '1'
|
393 |
],
|
394 |
'type' => 'success',
|
395 |
+
'message' => __('The settings have been updated successfully!', 'wbcr_factory_pages_438') . (WP_CACHE ? '<br>' . __("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_438') : '')
|
396 |
]
|
397 |
];
|
398 |
|
399 |
/**
|
400 |
* @since 4.0.9 - является устаревшим
|
401 |
*/
|
402 |
+
$notices = wbcr_factory_439_apply_filters_deprecated('wbcr_factory_pages_438_imppage_actions_notice', [
|
403 |
$notices,
|
404 |
$this->plugin,
|
405 |
$this->id
|
674 |
<?php if( $this->type == 'options' ): ?>
|
675 |
<input name="<?= $this->plugin->getPluginName() ?>_save_action"
|
676 |
class="wbcr-factory-button wbcr-factory-type-save" type="submit"
|
677 |
+
value="<?php _e('Save', 'wbcr_factory_pages_438'); ?>">
|
678 |
<?php wp_nonce_field('wbcr_factory_' . $this->getResultId() . '_save_action'); ?>
|
679 |
<?php endif; ?>
|
680 |
</div>
|
733 |
/**
|
734 |
* @since 4.0.9 - является устаревшим
|
735 |
*/
|
736 |
+
$widgets = wbcr_factory_439_apply_filters_deprecated('wbcr_factory_pages_438_imppage_get_widgets', [
|
737 |
$widgets,
|
738 |
$position,
|
739 |
$this->plugin,
|
751 |
|
752 |
protected function showOptions()
|
753 |
{
|
754 |
+
$form = new Wbcr_FactoryForms436_Form([
|
755 |
'scope' => rtrim($this->plugin->getPrefix(), '_'),
|
756 |
'name' => $this->getResultId() . "-options"
|
757 |
], $this->plugin);
|
758 |
|
759 |
+
$form->setProvider(new Wbcr_FactoryForms436_OptionsValueProvider($this->plugin));
|
760 |
|
761 |
$options = $this->getPageOptions();
|
762 |
|
796 |
check_admin_referer('wbcr_factory_' . $this->getResultId() . '_save_action');
|
797 |
|
798 |
if( !current_user_can('administrator') && !current_user_can($this->capabilitiy) ) {
|
799 |
+
wp_die(__('You do not have permission to edit page.', 'wbcr_factory_pages_438'));
|
800 |
exit;
|
801 |
}
|
802 |
|
803 |
/**
|
804 |
* @since 4.0.9 - является устаревшим
|
805 |
*/
|
806 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_imppage_before_form_save', [
|
807 |
$form,
|
808 |
$this->plugin,
|
809 |
$this
|
822 |
/**
|
823 |
* @since 4.0.9 - является устаревшим
|
824 |
*/
|
825 |
+
wbcr_factory_439_do_action_deprecated('wbcr_factory_439_imppage_form_saved', [
|
826 |
$form,
|
827 |
$this->plugin,
|
828 |
$this
|
843 |
|
844 |
?>
|
845 |
<div id="WBCR" class="wrap">
|
846 |
+
<div class="wbcr-factory-pages-438-impressive-page-template factory-bootstrap-439 factory-fontawesome-000">
|
847 |
<div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr($this->id) ?>">
|
848 |
<div class="wbcr-factory-left-navigation-bar">
|
849 |
<?php $this->showPageMenu() ?>
|
890 |
protected function showPage($content = null)
|
891 |
{ ?>
|
892 |
<div id="WBCR" class="wrap">
|
893 |
+
<div class="wbcr-factory-pages-438-impressive-page-template factory-bootstrap-439 factory-fontawesome-000">
|
894 |
<div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
|
895 |
<?php $this->showHeader(); ?>
|
896 |
<div class="wbcr-factory-left-navigation-bar">
|
957 |
{
|
958 |
?>
|
959 |
<div id="WBCR" class="wrap">
|
960 |
+
<div class="wbcr-factory-pages-438-impressive-page-template factory-bootstrap-439 factory-fontawesome-000">
|
961 |
<div id="wbcr-factory-confirm-dialog">
|
962 |
<h2><?php echo $data['title'] ?></h2>
|
963 |
<p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
|
migrations/010007.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Updates for altering the table used to store statistics data.
|
5 |
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
*/
|
7 |
-
class WDNUpdate010007 extends
|
8 |
|
9 |
public function install()
|
10 |
{
|
4 |
* Updates for altering the table used to store statistics data.
|
5 |
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
*/
|
7 |
+
class WDNUpdate010007 extends Wbcr_Factory439_Update {
|
8 |
|
9 |
public function install()
|
10 |
{
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Tags: notices, notification, notifications, upgrade, nag
|
|
3 |
Contributors: webcraftic, alexkovalevv, creativemotion
|
4 |
Donate link: https://clearfy.pro/disable-admin-notices/
|
5 |
Requires at least: 4.8
|
6 |
-
Tested up to: 5.
|
7 |
Requires PHP: 5.6
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2
|
@@ -45,8 +45,16 @@ We invite you to check out a few other related free plugins that our team has al
|
|
45 |
|
46 |
== Translations ==
|
47 |
|
48 |
-
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
If you want to help with the translation, please contact me through this site or through the contacts inside the plugin.
|
52 |
|
@@ -62,6 +70,10 @@ If you want to help with the translation, please contact me through this site or
|
|
62 |
3. Notifications panel (optional)
|
63 |
|
64 |
== Changelog ==
|
|
|
|
|
|
|
|
|
65 |
= 1.2.3 =
|
66 |
* Fixed: Compatibility with other plugins
|
67 |
* Fixed: Appearance of the list of hidden notifications in the adminbar
|
3 |
Contributors: webcraftic, alexkovalevv, creativemotion
|
4 |
Donate link: https://clearfy.pro/disable-admin-notices/
|
5 |
Requires at least: 4.8
|
6 |
+
Tested up to: 5.6
|
7 |
Requires PHP: 5.6
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2
|
45 |
|
46 |
== Translations ==
|
47 |
|
48 |
+
<ul>
|
49 |
+
<li>English (default), always included</li>
|
50 |
+
<li>Spanish (Spain) — big thanks to @fernandot, @nobnob</li>
|
51 |
+
<li>Spanish (Venezuela) — big thanks to @yordansoares, @nobnob</li>
|
52 |
+
<li>Spanish (Argentina) — big thanks to @damonh</li>
|
53 |
+
<li>French (France) — big thanks to @btpub</li>
|
54 |
+
<li>Hungarian — big thanks to @naoko01</li>
|
55 |
+
</ul>
|
56 |
+
<p>We are very need for your help with <a href="https://translate.wordpress.org/projects/wp-plugins/disable-admin-notices/" rel="nofollow ugc">translating the
|
57 |
+
Disable Admin Notices plugin</a> into your native language. We want to make it international and understandable for everyone. Please contact us via email inside the plugin, or create a topic on our <a href="https://wordpress.org/support/plugin/disable-admin-notices">support forum</a> if you can help with the translations. In exchange for your help, we will give you better support and our premium plugins absolutely free!</p>
|
58 |
|
59 |
If you want to help with the translation, please contact me through this site or through the contacts inside the plugin.
|
60 |
|
70 |
3. Notifications panel (optional)
|
71 |
|
72 |
== Changelog ==
|
73 |
+
= 1.2.4 (16.12.2020)=
|
74 |
+
* Added: Subscribe widget
|
75 |
+
* Fixed: Minor bugs
|
76 |
+
|
77 |
= 1.2.3 =
|
78 |
* Fixed: Compatibility with other plugins
|
79 |
* Fixed: Appearance of the list of hidden notifications in the adminbar
|