Version Description
(13.11.2019) = * Fixed: Compatibility with Wordpress 5.3 * Fixed: [Assets manager component] Minor bugs. Added an admin notice about great release. * Fixed: [Assets manager component] Conditional logic in the premium plugin didn't work in previous version due an error. * Added: [Assets manager component] You can control asset requires. Now if you disabled asset and it required for which other asset, you will get prompt with warning. * Added: [Assets manager component] If you click on the "requires" tag, you will be gone to the asset for which require the current asset. * Added: Restored plugin Hide my wp for premium build. And added compatibility Clearfy with Hide my wp.
Download this release
Release Info
Developer | alexkovalevv |
Plugin | Clearfy – WordPress optimization plugin and disable ultimate tweaker |
Version | 1.6.1 |
Comparing to | |
See all releases |
Code changes from version 1.6.0 to 1.6.1
- admin/activation.php +7 -14
- admin/ajax/configurate.php +1 -1
- admin/ajax/import-settings.php +2 -2
- admin/assets/css/general.css +2 -2
- admin/assets/js/general.js +13 -13
- admin/assets/js/install-addons.js +15 -15
- admin/assets/js/license-manager.js +4 -4
- admin/boot.php +10 -10
- admin/includes/compatibility.php +80 -96
- admin/includes/sidebar-widgets.php +4 -4
- admin/pages/class-page.php +1 -1
- admin/pages/class-pages-advanced.php +1 -1
- admin/pages/class-pages-clearfy-settings.php +2 -2
- admin/pages/class-pages-components.php +33 -18
- admin/pages/class-pages-defence.php +2 -2
- admin/pages/class-pages-hide-login-page.php +3 -3
- admin/pages/class-pages-image-optimization.php +3 -3
- admin/pages/class-pages-license.php +3 -3
- admin/pages/class-pages-performance-google.php +1 -1
- admin/pages/class-pages-quick-start.php +2 -2
- admin/pages/class-pages-seo-double-pages.php +1 -1
- admin/pages/class-pages-seo.php +1 -1
- admin/pages/class-pages-widgets.php +1 -1
- clearfy.php +12 -12
- components/assets-manager/admin/activation.php +2 -2
- components/assets-manager/admin/ajax/save-settings.php +136 -8
- components/assets-manager/admin/boot.php +27 -4
- components/assets-manager/admin/pages/class-pages-more-features.php +1 -1
- components/assets-manager/admin/pages/class-pages-settings.php +6 -6
- components/assets-manager/assets/css/assets-conditions.css +5 -0
- components/assets-manager/assets/css/assets-conditions.css.map +1 -1
- components/assets-manager/assets/css/assets-conditions.less +10 -0
- components/assets-manager/assets/css/assets-manager.css +50 -16
- components/assets-manager/assets/css/assets-manager.css.map +1 -1
- components/assets-manager/assets/css/assets-manager.less +12 -4
- components/assets-manager/assets/css/float-panel.less +1 -1
- components/assets-manager/assets/css/tables.css +41 -352
- components/assets-manager/assets/css/tables.css.map +1 -1
- components/assets-manager/assets/css/tables.less +26 -16
- components/assets-manager/assets/css/tabs.less +24 -1
- components/assets-manager/assets/js/index.php +0 -0
- components/assets-manager/assets/js/{wam-jquery-migrate.min.js → libs/wam-jquery-migrate.min.js} +0 -0
- components/assets-manager/assets/js/{wam-jquery.js → libs/wam-jquery.js} +0 -0
- components/assets-manager/assets/js/libs/wam-pnotify-confirm.js +790 -0
- components/assets-manager/assets/js/libs/wam-pnotify-history.js +305 -0
- components/assets-manager/assets/js/{PNotify.js → libs/wam-pnotify.js} +1 -1
- components/assets-manager/assets/js/{assets-conditions.js → wam-assets-conditions.js} +0 -0
- components/assets-manager/assets/js/{assets-manager.js → wam-assets-manager.js} +139 -28
- components/assets-manager/clearfy.php +1 -1
- components/assets-manager/gonzales.php +9 -9
- components/assets-manager/includes/class-plugin.php +3 -3
- components/assets-manager/includes/classes/class-assets-manager-global.php +586 -313
- components/assets-manager/includes/classes/class-check-conditions.php +200 -82
- components/assets-manager/includes/classes/class-views.php +4 -4
- components/assets-manager/migrations/010100.php +1 -1
- components/assets-manager/migrations/010108.php +2 -1
- components/assets-manager/mu-plugins/assets-manager.php +227 -55
- components/assets-manager/readme.txt +8 -2
- components/assets-manager/uninstall.php +6 -1
- components/assets-manager/views/assets-manager.php +3 -3
- components/assets-manager/views/part-assets-manager-header.php +1 -1
- components/assets-manager/views/part-assets-manager-info-bar.php +2 -2
- components/assets-manager/views/part-tab-content-assets-plugins-settings.php +15 -1
- components/assets-manager/views/tab-content-assets-plugins.php +1 -1
- components/assets-manager/views/tab-content-assets.php +15 -1
- components/comments-plus/admin/boot.php +1 -1
- components/comments-plus/admin/pages/class-page-comments.php +3 -3
- components/comments-plus/admin/pages/class-page-delete-comments.php +6 -6
- components/comments-plus/admin/pages/class-page-more-features.php +1 -1
- components/comments-plus/comments-plus.php +7 -7
- components/comments-plus/includes/class-plugin.php +3 -3
- components/comments-plus/includes/classes/class-configurate-comments.php +3 -3
- components/cyrlitera/admin/activation.php +2 -2
- components/cyrlitera/admin/boot.php +1 -1
- components/cyrlitera/admin/pages/class-page-cyrlitera.php +4 -4
- components/cyrlitera/admin/pages/class-page-more-features.php +1 -1
- components/cyrlitera/cyrlitera.php +7 -7
- components/cyrlitera/includes/class-plugin.php +3 -3
- components/cyrlitera/includes/classes/class-configurate-cyrlitera.php +2 -2
- components/cyrlitera/migrations/010004.php +1 -1
- components/disable-admin-notices/admin/boot.php +1 -1
- components/disable-admin-notices/admin/options.php +2 -2
- components/disable-admin-notices/admin/pages/class-pages-more-features.php +1 -1
- components/disable-admin-notices/admin/pages/class-pages-notices.php +4 -4
- components/disable-admin-notices/disable-admin-notices.php +7 -7
- components/disable-admin-notices/includes/class-plugin.php +4 -4
- components/disable-admin-notices/includes/classes/class-configurate-notices.php +1 -1
- components/disable-admin-notices/migrations/010007.php +1 -1
- components/ga-cache/admin/activation.php +2 -2
- components/ga-cache/admin/boot.php +3 -3
- components/ga-cache/admin/options.php +1 -1
- components/ga-cache/admin/pages/class-pages-general-settings.php +3 -3
- components/ga-cache/admin/pages/class-pages-more-features.php +1 -1
- components/ga-cache/includes/class-plugin.php +3 -3
- components/ga-cache/includes/classes/class-configurate-ga.php +1 -1
- components/ga-cache/migrations/030002.php +1 -1
- components/ga-cache/simple_google_analytics.php +6 -6
- components/html-minify/admin/pages/class-pages-settings.php +3 -3
- components/html-minify/html-minify.php +7 -7
- components/html-minify/includes/class-plugin.php +3 -3
- components/minify-and-combine/admin/pages/class-pages-settings.php +3 -3
- components/minify-and-combine/includes/class-plugin.php +3 -3
- components/minify-and-combine/includes/classes/class-cache.php +1 -1
- components/minify-and-combine/includes/classes/class-styles.php +4 -4
- components/minify-and-combine/minify-and-combine.php +7 -7
- components/updates-manager/admin/activation.php +2 -2
- components/updates-manager/admin/assets/js/ajax-components.js +4 -4
- components/updates-manager/admin/boot.php +1 -1
- components/updates-manager/admin/includes/class-abstract-filters.php +1 -1
- components/updates-manager/admin/pages/class-page-advanced.php +5 -5
- components/updates-manager/admin/pages/class-page-more-features.php +1 -1
- components/updates-manager/admin/pages/class-page-plugins.php +5 -5
- components/updates-manager/admin/pages/class-page-themes.php +4 -4
- components/updates-manager/admin/pages/class-page-updates.php +5 -5
- components/updates-manager/includes/class-plugin.php +3 -3
- components/updates-manager/includes/classes/class-configurate-updates.php +1 -1
- components/updates-manager/migrations/010008.php +1 -1
- components/updates-manager/webcraftic-updates-manager.php +7 -7
- includes/boot.php +4 -4
- includes/class.plugin.php +7 -3
- includes/classes/class.configurate-advanced.php +1 -1
- includes/classes/class.configurate-google-performance.php +1 -1
- includes/classes/class.configurate-performance.php +1 -1
- includes/classes/class.configurate-privacy.php +1 -1
- includes/classes/class.configurate-security.php +1 -1
- includes/classes/class.configurate-seo.php +1 -1
- libs/factory/adverts/boot.php +12 -12
- libs/factory/adverts/includes/class-base.php +6 -6
- libs/factory/adverts/includes/class-dashboard-widget.php +4 -4
- libs/factory/adverts/includes/class-rest-request.php +4 -4
- libs/factory/adverts/langs/{wbcr_factory_adverts_103-ru_RU.mo → wbcr_factory_adverts_104-ru_RU.mo} +0 -0
- libs/factory/adverts/langs/{wbcr_factory_adverts_103-ru_RU.po → wbcr_factory_adverts_104-ru_RU.po} +0 -0
- libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +1 -1
- libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.list.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +1 -1
- libs/factory/bootstrap/boot.php +9 -9
- libs/factory/bootstrap/includes/functions.php +15 -15
- libs/factory/clearfy/assets/css/clearfy-base.css +24 -24
- libs/factory/clearfy/assets/js/globals.js +15 -15
- libs/factory/clearfy/assets/js/license-manager.js +4 -4
- libs/factory/clearfy/boot.php +14 -14
- 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/langs/{wbcr_factory_clearfy_213-ru_RU.mo → wbcr_factory_clearfy_214-ru_RU.mo} +0 -0
- libs/factory/clearfy/langs/{wbcr_factory_clearfy_213-ru_RU.po → wbcr_factory_clearfy_214-ru_RU.po} +0 -0
- libs/factory/clearfy/pages/class-page-license.php +32 -32
- libs/factory/clearfy/pages/class-page-more-features.php +23 -23
- libs/factory/clearfy/pages/class-pages.php +41 -41
- libs/factory/core/boot.php +27 -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 +6 -6
- libs/factory/core/includes/class-factory-options.php +2 -2
- libs/factory/core/includes/class-factory-plugin-abstract.php +52 -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 +16 -15
- 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 +36 -22
- 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_421-ru_RU.mo → wbcr_factory_422-ru_RU.mo} +0 -0
- libs/factory/core/langs/{wbcr_factory_421-ru_RU.po → wbcr_factory_422-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_419-ru_RU.mo → wbcr_factory_forms_420-ru_RU.mo} +0 -0
- libs/factory/forms/langs/{wbcr_factory_forms_419-ru_RU.po → wbcr_factory_forms_420-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/pages/boot.php +10 -10
- libs/factory/pages/includes/admin-page.class.php +7 -8
- libs/factory/pages/includes/page.class.php +7 -7
- libs/factory/pages/langs/{wbcr_factory_pages_421-fr_FR.mo → wbcr_factory_pages_422-fr_FR.mo} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_421-fr_FR.po → wbcr_factory_pages_422-fr_FR.po} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_421-ru_RU.mo → wbcr_factory_pages_422-ru_RU.mo} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_421-ru_RU.po → wbcr_factory_pages_422-ru_RU.po} +0 -0
- libs/factory/pages/pages.php +11 -11
- libs/factory/pages/templates/assets/css/impressive.page.template.css +116 -116
- libs/factory/pages/templates/impressive-page.class.php +31 -31
- migrations/010103.php +1 -1
- migrations/010108.php +1 -1
- migrations/010200.php +1 -1
- migrations/010300.php +1 -1
- migrations/010402.php +1 -1
- migrations/010501.php +1 -1
- migrations/010504.php +1 -1
- migrations/010505.php +2 -2
- migrations/010601.php +12 -0
- readme.txt +9 -1
admin/activation.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 09.09.2017, Webcraftic
|
7 |
-
* @see
|
8 |
* @version 1.0
|
9 |
*/
|
10 |
|
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
class WCL_Activation extends
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
@@ -60,9 +60,6 @@ class WCL_Activation extends Wbcr_Factory421_Activator {
|
|
60 |
WCL_Plugin::app()->deactivateComponent( 'cyrlitera' );
|
61 |
}
|
62 |
|
63 |
-
//$package_plugin = WCL_Package::instance();
|
64 |
-
//$package_plugin->active();
|
65 |
-
|
66 |
/**
|
67 |
* @since 1.4.1
|
68 |
*/
|
@@ -74,24 +71,20 @@ class WCL_Activation extends Wbcr_Factory421_Activator {
|
|
74 |
*
|
75 |
* @since 1.0.0
|
76 |
*/
|
77 |
-
|
78 |
-
|
79 |
-
wp_clear_scheduled_hook( 'wbcr_clearfy_license_autosync' );
|
80 |
-
}
|
81 |
-
|
82 |
-
$dependent = 'clearfy_package/clearfy-package.php';
|
83 |
|
84 |
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
85 |
if ( is_plugin_active( $dependent ) ) {
|
86 |
add_action( 'update_option_active_plugins', [ $this, 'deactivateDependent' ] );
|
87 |
}
|
88 |
-
add_action( 'update_site_option_active_sitewide_plugins', [ $this, 'deactivateDependent' ] )
|
89 |
|
90 |
/**
|
91 |
* @since 1.4.1
|
92 |
*/
|
93 |
-
|
94 |
-
|
95 |
|
96 |
/**
|
97 |
* Deactivate clearfy package
|
4 |
*
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 09.09.2017, Webcraftic
|
7 |
+
* @see Factory422_Activator
|
8 |
* @version 1.0
|
9 |
*/
|
10 |
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
class WCL_Activation extends Wbcr_Factory422_Activator {
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
60 |
WCL_Plugin::app()->deactivateComponent( 'cyrlitera' );
|
61 |
}
|
62 |
|
|
|
|
|
|
|
63 |
/**
|
64 |
* @since 1.4.1
|
65 |
*/
|
71 |
*
|
72 |
* @since 1.0.0
|
73 |
*/
|
74 |
+
public function deactivate() {
|
75 |
+
/*$dependent = 'clearfy_package/clearfy-package.php';
|
|
|
|
|
|
|
|
|
76 |
|
77 |
require_once ABSPATH . '/wp-admin/includes/plugin.php';
|
78 |
if ( is_plugin_active( $dependent ) ) {
|
79 |
add_action( 'update_option_active_plugins', [ $this, 'deactivateDependent' ] );
|
80 |
}
|
81 |
+
add_action( 'update_site_option_active_sitewide_plugins', [ $this, 'deactivateDependent' ] );*/
|
82 |
|
83 |
/**
|
84 |
* @since 1.4.1
|
85 |
*/
|
86 |
+
do_action( 'wbcr/clearfy/deactivated' );
|
87 |
+
}
|
88 |
|
89 |
/**
|
90 |
* Deactivate clearfy package
|
admin/ajax/configurate.php
CHANGED
@@ -57,7 +57,7 @@
|
|
57 |
}
|
58 |
|
59 |
if( !$flush_redirect ) {
|
60 |
-
|
61 |
}
|
62 |
|
63 |
do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
|
57 |
}
|
58 |
|
59 |
if( !$flush_redirect ) {
|
60 |
+
WbcrFactoryClearfy214_Helpers::flushPageCache();
|
61 |
}
|
62 |
|
63 |
do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
|
admin/ajax/import-settings.php
CHANGED
@@ -62,7 +62,7 @@
|
|
62 |
}
|
63 |
|
64 |
if( is_array($option_value) || is_object($option_value) ) {
|
65 |
-
$option_value =
|
66 |
$option_value = maybe_serialize($option_value);
|
67 |
} else {
|
68 |
$option_value = wp_kses_post($option_value);
|
@@ -140,7 +140,7 @@
|
|
140 |
//$send_data['update_notice'] = $package_plugin->getUpdateNotice();
|
141 |
|
142 |
// Сбрасываем кеш для кеширующих плагинов
|
143 |
-
|
144 |
|
145 |
do_action('wbcr_clearfy_imported_settings');
|
146 |
|
62 |
}
|
63 |
|
64 |
if( is_array($option_value) || is_object($option_value) ) {
|
65 |
+
$option_value = WbcrFactoryClearfy214_Helpers::recursiveSanitizeArray($option_value, 'wp_kses_post');
|
66 |
$option_value = maybe_serialize($option_value);
|
67 |
} else {
|
68 |
$option_value = wp_kses_post($option_value);
|
140 |
//$send_data['update_notice'] = $package_plugin->getUpdateNotice();
|
141 |
|
142 |
// Сбрасываем кеш для кеширующих плагинов
|
143 |
+
WbcrFactoryClearfy214_Helpers::flushPageCache();
|
144 |
|
145 |
do_action('wbcr_clearfy_imported_settings');
|
146 |
|
admin/assets/css/general.css
CHANGED
@@ -33,10 +33,10 @@
|
|
33 |
//float: right;
|
34 |
}*/
|
35 |
}
|
36 |
-
#WBCR .wbcr-factory-pages-
|
37 |
height: 80px !important;
|
38 |
}
|
39 |
-
#WBCR .wbcr-factory-pages-
|
40 |
display: inline-block !important;
|
41 |
}
|
42 |
#WBCR .row {
|
33 |
//float: right;
|
34 |
}*/
|
35 |
}
|
36 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header {
|
37 |
height: 80px !important;
|
38 |
}
|
39 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo span {
|
40 |
display: inline-block !important;
|
41 |
}
|
42 |
#WBCR .row {
|
admin/assets/js/general.js
CHANGED
@@ -87,13 +87,13 @@
|
|
87 |
* Хук выполняет проивольную функцию, после того как получен ajax ответ о том, что в
|
88 |
* результате конфигурации произошла ошибка Реализация системы фильтров и хуков в файле
|
89 |
* libs/clearfy/admin/assests/js/global.js Пример регистрации хука
|
90 |
-
* $.
|
91 |
* function(noticeId) {});
|
92 |
* @param {string} modeName - имя режима конфигурации
|
93 |
* @param {object} data
|
94 |
*/
|
95 |
|
96 |
-
$.
|
97 |
modeName,
|
98 |
data
|
99 |
]);
|
@@ -110,12 +110,12 @@
|
|
110 |
* Хук выполняет проивольную функцию, после того как получен ajax ответ об успешном выполнении
|
111 |
* конфигурации Реализация системы фильтров и хуков в файле
|
112 |
* libs/clearfy/admin/assests/js/global.js Пример регистрации хука
|
113 |
-
* $.
|
114 |
* {});
|
115 |
* @param {string} modeName - имя режима конфигурации
|
116 |
* @param {object} data
|
117 |
*/
|
118 |
-
$.
|
119 |
|
120 |
if( modeName != 'reset' ) {
|
121 |
switcher.addClass('wbcr-clearfy-active');
|
@@ -183,12 +183,12 @@
|
|
183 |
$this = $(this);
|
184 |
|
185 |
if( !settings ) {
|
186 |
-
$.
|
187 |
return false;
|
188 |
}
|
189 |
|
190 |
if( void 0 == wbcr_clearfy_ajax || !wbcr_clearfy_ajax.import_options_nonce ) {
|
191 |
-
$.
|
192 |
return false;
|
193 |
}
|
194 |
|
@@ -203,7 +203,7 @@
|
|
203 |
|
204 |
if( response.data.update_notice ) {
|
205 |
if( !$('.wbcr-clr-update-package').length ) {
|
206 |
-
$.
|
207 |
}
|
208 |
} else {
|
209 |
if( $('.wbcr-clr-update-package').length ) {
|
@@ -240,15 +240,15 @@
|
|
240 |
console.log(data);
|
241 |
|
242 |
if( data ) {
|
243 |
-
noticeId = $.
|
244 |
} else {
|
245 |
if( void 0 != wbcr_clearfy_ajax ) {
|
246 |
-
noticeId = $.
|
247 |
}
|
248 |
}
|
249 |
|
250 |
setTimeout(function() {
|
251 |
-
$.
|
252 |
}, 5000);
|
253 |
return;
|
254 |
}
|
@@ -257,10 +257,10 @@
|
|
257 |
|
258 |
if( !request_data.flush_redirect ) {
|
259 |
if( void 0 != wbcr_clearfy_ajax ) {
|
260 |
-
noticeId = $.
|
261 |
|
262 |
setTimeout(function() {
|
263 |
-
$.
|
264 |
}, 5000);
|
265 |
}
|
266 |
return;
|
@@ -275,7 +275,7 @@
|
|
275 |
console.log(xhr.responseText);
|
276 |
console.log(thrownError);
|
277 |
|
278 |
-
var noticeId = $.
|
279 |
}
|
280 |
});
|
281 |
}
|
87 |
* Хук выполняет проивольную функцию, после того как получен ajax ответ о том, что в
|
88 |
* результате конфигурации произошла ошибка Реализация системы фильтров и хуков в файле
|
89 |
* libs/clearfy/admin/assests/js/global.js Пример регистрации хука
|
90 |
+
* $.wbcr_factory_clearfy_214.hooks.add('wbcr/factory_clearfy_214/updated',
|
91 |
* function(noticeId) {});
|
92 |
* @param {string} modeName - имя режима конфигурации
|
93 |
* @param {object} data
|
94 |
*/
|
95 |
|
96 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/quick_start/configurated_error', [
|
97 |
modeName,
|
98 |
data
|
99 |
]);
|
110 |
* Хук выполняет проивольную функцию, после того как получен ajax ответ об успешном выполнении
|
111 |
* конфигурации Реализация системы фильтров и хуков в файле
|
112 |
* libs/clearfy/admin/assests/js/global.js Пример регистрации хука
|
113 |
+
* $.wbcr_factory_clearfy_214.hooks.add('wbcr/factory_clearfy_214/updated', function(noticeId)
|
114 |
* {});
|
115 |
* @param {string} modeName - имя режима конфигурации
|
116 |
* @param {object} data
|
117 |
*/
|
118 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/quick_start/configurated', [modeName, data]);
|
119 |
|
120 |
if( modeName != 'reset' ) {
|
121 |
switcher.addClass('wbcr-clearfy-active');
|
183 |
$this = $(this);
|
184 |
|
185 |
if( !settings ) {
|
186 |
+
$.wbcr_factory_clearfy_214.app.showNotice('Import options is empty!', 'danger');
|
187 |
return false;
|
188 |
}
|
189 |
|
190 |
if( void 0 == wbcr_clearfy_ajax || !wbcr_clearfy_ajax.import_options_nonce ) {
|
191 |
+
$.wbcr_factory_clearfy_214.app.showNotice('Unknown Javascript error, most likely the wbcr_clearfy_ajax variable does not exist!', 'danger');
|
192 |
return false;
|
193 |
}
|
194 |
|
203 |
|
204 |
if( response.data.update_notice ) {
|
205 |
if( !$('.wbcr-clr-update-package').length ) {
|
206 |
+
$.wbcr_factory_clearfy_214.app.showNotice(response.data.update_notice);
|
207 |
}
|
208 |
} else {
|
209 |
if( $('.wbcr-clr-update-package').length ) {
|
240 |
console.log(data);
|
241 |
|
242 |
if( data ) {
|
243 |
+
noticeId = $.wbcr_factory_clearfy_214.app.showNotice(data.error_message, 'danger');
|
244 |
} else {
|
245 |
if( void 0 != wbcr_clearfy_ajax ) {
|
246 |
+
noticeId = $.wbcr_factory_clearfy_214.app.showNotice(wbcr_clearfy_ajax.i18n.unknown_error, 'danger');
|
247 |
}
|
248 |
}
|
249 |
|
250 |
setTimeout(function() {
|
251 |
+
$.wbcr_factory_clearfy_214.app.hideNotice(noticeId);
|
252 |
}, 5000);
|
253 |
return;
|
254 |
}
|
257 |
|
258 |
if( !request_data.flush_redirect ) {
|
259 |
if( void 0 != wbcr_clearfy_ajax ) {
|
260 |
+
noticeId = $.wbcr_factory_clearfy_214.app.showNotice(wbcr_clearfy_ajax.i18n.success_update_settings, 'success');
|
261 |
|
262 |
setTimeout(function() {
|
263 |
+
$.wbcr_factory_clearfy_214.app.hideNotice(noticeId);
|
264 |
}, 5000);
|
265 |
}
|
266 |
return;
|
275 |
console.log(xhr.responseText);
|
276 |
console.log(thrownError);
|
277 |
|
278 |
+
var noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
279 |
}
|
280 |
});
|
281 |
}
|
admin/assets/js/install-addons.js
CHANGED
@@ -53,16 +53,16 @@
|
|
53 |
|
54 |
$this.addClass('disabled').text(button_i18n.loading);
|
55 |
|
56 |
-
$.
|
57 |
|
58 |
self.sendRequest(data, function(response) {
|
59 |
if( !response || !response.success ) {
|
60 |
|
61 |
if( response.data && response.data.error_message ) {
|
62 |
-
$.
|
63 |
}
|
64 |
|
65 |
-
$.
|
66 |
$this,
|
67 |
data,
|
68 |
response.data.error_message,
|
@@ -78,7 +78,7 @@
|
|
78 |
if( storage == 'freemius' ) {
|
79 |
if( response.data.update_notice ) {
|
80 |
if( !$('.wbcr-clr-update-package').length ) {
|
81 |
-
$.
|
82 |
}
|
83 |
} else {
|
84 |
if( $('.wbcr-clr-update-package').length ) {
|
@@ -97,7 +97,7 @@
|
|
97 |
$this.removeClass('button-default').addClass('button-primary');
|
98 |
}
|
99 |
|
100 |
-
$.
|
101 |
$this,
|
102 |
data,
|
103 |
response
|
@@ -147,7 +147,7 @@
|
|
147 |
$this.closest('.plugin-card').find('.delete-now').remove();
|
148 |
}
|
149 |
|
150 |
-
$.
|
151 |
$this,
|
152 |
data,
|
153 |
response
|
@@ -194,7 +194,7 @@
|
|
194 |
$this.closest('.wbcr-hide-after-action').remove();
|
195 |
}
|
196 |
|
197 |
-
$.
|
198 |
$this,
|
199 |
data,
|
200 |
response
|
@@ -217,7 +217,7 @@
|
|
217 |
$this.remove();
|
218 |
}
|
219 |
|
220 |
-
$.
|
221 |
}
|
222 |
} else {
|
223 |
if( plugin_action == 'install' ) {
|
@@ -228,10 +228,10 @@
|
|
228 |
$this.text(button_i18n[plugin_action]);
|
229 |
|
230 |
if( response.data.need_rewrite_rules && !$('.wbcr-clr-need-rewrite-rules-message').length ) {
|
231 |
-
$.
|
232 |
}
|
233 |
|
234 |
-
$.
|
235 |
});
|
236 |
|
237 |
return false;
|
@@ -254,7 +254,7 @@
|
|
254 |
self.sendRequest(data, function(response) {
|
255 |
if( !response || !response.success ) {
|
256 |
if( response.data && response.data.error_message ) {
|
257 |
-
$.
|
258 |
}
|
259 |
return;
|
260 |
}
|
@@ -317,17 +317,17 @@
|
|
317 |
self.setComponentDeactivate(componentButton);
|
318 |
|
319 |
if( response.data && response.data.error_message ) {
|
320 |
-
$.
|
321 |
}
|
322 |
|
323 |
-
$.
|
324 |
return;
|
325 |
}
|
326 |
|
327 |
componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
|
328 |
self.setComponentActivate(componentButton);
|
329 |
|
330 |
-
$.
|
331 |
});
|
332 |
},
|
333 |
|
@@ -346,7 +346,7 @@
|
|
346 |
console.log(xhr.responseText);
|
347 |
console.log(thrownError);
|
348 |
|
349 |
-
$.
|
350 |
}
|
351 |
});
|
352 |
}
|
53 |
|
54 |
$this.addClass('disabled').text(button_i18n.loading);
|
55 |
|
56 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/pre_update', [$this, data]);
|
57 |
|
58 |
self.sendRequest(data, function(response) {
|
59 |
if( !response || !response.success ) {
|
60 |
|
61 |
if( response.data && response.data.error_message ) {
|
62 |
+
$.wbcr_factory_clearfy_214.app.showNotice(response.data.error_message, 'danger');
|
63 |
}
|
64 |
|
65 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/update_error', [
|
66 |
$this,
|
67 |
data,
|
68 |
response.data.error_message,
|
78 |
if( storage == 'freemius' ) {
|
79 |
if( response.data.update_notice ) {
|
80 |
if( !$('.wbcr-clr-update-package').length ) {
|
81 |
+
$.wbcr_factory_clearfy_214.app.showNotice(response.data.update_notice);
|
82 |
}
|
83 |
} else {
|
84 |
if( $('.wbcr-clr-update-package').length ) {
|
97 |
$this.removeClass('button-default').addClass('button-primary');
|
98 |
}
|
99 |
|
100 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/installed', [
|
101 |
$this,
|
102 |
data,
|
103 |
response
|
147 |
$this.closest('.plugin-card').find('.delete-now').remove();
|
148 |
}
|
149 |
|
150 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/pre_activate', [
|
151 |
$this,
|
152 |
data,
|
153 |
response
|
194 |
$this.closest('.wbcr-hide-after-action').remove();
|
195 |
}
|
196 |
|
197 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/deactivated', [
|
198 |
$this,
|
199 |
data,
|
200 |
response
|
217 |
$this.remove();
|
218 |
}
|
219 |
|
220 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/deleted', [$this, data, response]);
|
221 |
}
|
222 |
} else {
|
223 |
if( plugin_action == 'install' ) {
|
228 |
$this.text(button_i18n[plugin_action]);
|
229 |
|
230 |
if( response.data.need_rewrite_rules && !$('.wbcr-clr-need-rewrite-rules-message').length ) {
|
231 |
+
$.wbcr_factory_clearfy_214.app.showNotice(response.data.need_rewrite_rules, 'warning');
|
232 |
}
|
233 |
|
234 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/updated', [$this, data, response]);
|
235 |
});
|
236 |
|
237 |
return false;
|
254 |
self.sendRequest(data, function(response) {
|
255 |
if( !response || !response.success ) {
|
256 |
if( response.data && response.data.error_message ) {
|
257 |
+
$.wbcr_factory_clearfy_214.app.showNotice(response.data.error_message, 'danger');
|
258 |
}
|
259 |
return;
|
260 |
}
|
317 |
self.setComponentDeactivate(componentButton);
|
318 |
|
319 |
if( response.data && response.data.error_message ) {
|
320 |
+
$.wbcr_factory_clearfy_214.app.showNotice(response.data.error_message, 'danger');
|
321 |
}
|
322 |
|
323 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/activated_error', [sendData.plugin]);
|
324 |
return;
|
325 |
}
|
326 |
|
327 |
componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
|
328 |
self.setComponentActivate(componentButton);
|
329 |
|
330 |
+
$.wbcr_factory_clearfy_214.hooks.run('clearfy/components/activated', [sendData.plugin]);
|
331 |
});
|
332 |
},
|
333 |
|
346 |
console.log(xhr.responseText);
|
347 |
console.log(thrownError);
|
348 |
|
349 |
+
$.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
350 |
}
|
351 |
});
|
352 |
}
|
admin/assets/js/license-manager.js
CHANGED
@@ -20,7 +20,7 @@ jQuery(function($) {
|
|
20 |
// Глобальные уведомления не трогаем
|
21 |
|
22 |
for( i = 0; i < allNotices.length; i++ ) {
|
23 |
-
$.
|
24 |
}
|
25 |
|
26 |
$('.wcl-control-btn').hide();
|
@@ -55,7 +55,7 @@ jQuery(function($) {
|
|
55 |
|
56 |
if( response.data ) {
|
57 |
console.log(response.data.error_message);
|
58 |
-
noticeId = $.
|
59 |
allNotices.push(noticeId);
|
60 |
} else {
|
61 |
console.log(response);
|
@@ -65,7 +65,7 @@ jQuery(function($) {
|
|
65 |
}
|
66 |
|
67 |
if( response.data && response.data.message ) {
|
68 |
-
noticeId = $.
|
69 |
allNotices.push(noticeId);
|
70 |
|
71 |
// todo: доработать генерацию формы, вместо перезагрузки страницы
|
@@ -82,7 +82,7 @@ jQuery(function($) {
|
|
82 |
console.log(xhr.responseText);
|
83 |
console.log(thrownError);
|
84 |
|
85 |
-
var noticeId = $.
|
86 |
|
87 |
allNotices.push(noticeId);
|
88 |
}
|
20 |
// Глобальные уведомления не трогаем
|
21 |
|
22 |
for( i = 0; i < allNotices.length; i++ ) {
|
23 |
+
$.wbcr_factory_clearfy_214.app.hideNotice(allNotices[i]);
|
24 |
}
|
25 |
|
26 |
$('.wcl-control-btn').hide();
|
55 |
|
56 |
if( response.data ) {
|
57 |
console.log(response.data.error_message);
|
58 |
+
noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
|
59 |
allNotices.push(noticeId);
|
60 |
} else {
|
61 |
console.log(response);
|
65 |
}
|
66 |
|
67 |
if( response.data && response.data.message ) {
|
68 |
+
noticeId = $.wbcr_factory_clearfy_214.app.showNotice(response.data.message, 'success');
|
69 |
allNotices.push(noticeId);
|
70 |
|
71 |
// todo: доработать генерацию формы, вместо перезагрузки страницы
|
82 |
console.log(xhr.responseText);
|
83 |
console.log(thrownError);
|
84 |
|
85 |
+
var noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
86 |
|
87 |
allNotices.push(noticeId);
|
88 |
}
|
admin/boot.php
CHANGED
@@ -33,8 +33,8 @@ add_action( 'wbcr/factory/pages/impressive/header', function ( $plugin_name ) {
|
|
33 |
|
34 |
/**
|
35 |
* @param $form
|
36 |
-
* @param
|
37 |
-
* @param
|
38 |
*/
|
39 |
function wbcr_clearfy_multisite_before_save( $form, $plugin, $obj ) {
|
40 |
if ( $plugin->getPluginName() !== WCL_Plugin::app()->getPluginName() ) {
|
@@ -74,7 +74,7 @@ add_action( 'admin_enqueue_scripts', function () {
|
|
74 |
wp_enqueue_style( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/css/install-addons.css', [], WCL_Plugin::app()->getPluginVersion() );
|
75 |
wp_enqueue_script( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/js/install-addons.js', [
|
76 |
'jquery',
|
77 |
-
'wbcr-factory-clearfy-
|
78 |
], WCL_Plugin::app()->getPluginVersion() );
|
79 |
} );
|
80 |
|
@@ -83,30 +83,30 @@ add_action( 'admin_enqueue_scripts', function () {
|
|
83 |
* Уведомление будет показано на всех страницах Clearfy и его компонентах.
|
84 |
*
|
85 |
* @param WCL_Plugin $plugin
|
86 |
-
* @param
|
87 |
*/
|
88 |
-
|
89 |
if ( WCL_Plugin::app()->getPopulateOption( 'need_rewrite_rules' ) ) {
|
90 |
$obj->printWarningNotice( 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.', 'clearfy' ), admin_url( 'options-permalink.php' ) ) . '</span>' );
|
91 |
}
|
92 |
}
|
93 |
|
94 |
-
add_action( 'wbcr/factory/pages/impressive/print_all_notices', 'wbcr_clearfy_print_notice_rewrite_rules', 10, 2 )
|
95 |
|
96 |
/**
|
97 |
* Удалем уведомление Clearfy о том, что нужно перезаписать постоянные ссылоки.s
|
98 |
*/
|
99 |
-
|
100 |
WCL_Plugin::app()->deletePopulateOption( 'need_rewrite_rules', 1 );
|
101 |
}
|
102 |
|
103 |
-
add_action( 'flush_rewrite_rules_hard', 'wbcr_clearfy_flush_rewrite_rules' )
|
104 |
|
105 |
/**
|
106 |
* Обновить постоынные ссылки, после выполнения быстрых настроек
|
107 |
*
|
108 |
* @param WHM_Plugin $plugin
|
109 |
-
* @param
|
110 |
*/
|
111 |
function wbcr_clearfy_after_form_save( $plugin, $obj ) {
|
112 |
if ( ! WCL_Plugin::app()->currentUserCan() ) {
|
@@ -128,7 +128,7 @@ add_action( 'wbcr/factory/pages/impressive/after_form_save', 'wbcr_clearfy_after
|
|
128 |
*
|
129 |
* @param array $widgets
|
130 |
* @param string $position
|
131 |
-
* @param
|
132 |
*/
|
133 |
|
134 |
add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
|
33 |
|
34 |
/**
|
35 |
* @param $form
|
36 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
37 |
+
* @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
|
38 |
*/
|
39 |
function wbcr_clearfy_multisite_before_save( $form, $plugin, $obj ) {
|
40 |
if ( $plugin->getPluginName() !== WCL_Plugin::app()->getPluginName() ) {
|
74 |
wp_enqueue_style( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/css/install-addons.css', [], WCL_Plugin::app()->getPluginVersion() );
|
75 |
wp_enqueue_script( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/js/install-addons.js', [
|
76 |
'jquery',
|
77 |
+
'wbcr-factory-clearfy-214-global'
|
78 |
], WCL_Plugin::app()->getPluginVersion() );
|
79 |
} );
|
80 |
|
83 |
* Уведомление будет показано на всех страницах Clearfy и его компонентах.
|
84 |
*
|
85 |
* @param WCL_Plugin $plugin
|
86 |
+
* @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
|
87 |
*/
|
88 |
+
function wbcr_clearfy_print_notice_rewrite_rules( $plugin, $obj ) {
|
89 |
if ( WCL_Plugin::app()->getPopulateOption( 'need_rewrite_rules' ) ) {
|
90 |
$obj->printWarningNotice( 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.', 'clearfy' ), admin_url( 'options-permalink.php' ) ) . '</span>' );
|
91 |
}
|
92 |
}
|
93 |
|
94 |
+
add_action( 'wbcr/factory/pages/impressive/print_all_notices', 'wbcr_clearfy_print_notice_rewrite_rules', 10, 2 );
|
95 |
|
96 |
/**
|
97 |
* Удалем уведомление Clearfy о том, что нужно перезаписать постоянные ссылоки.s
|
98 |
*/
|
99 |
+
function wbcr_clearfy_flush_rewrite_rules() {
|
100 |
WCL_Plugin::app()->deletePopulateOption( 'need_rewrite_rules', 1 );
|
101 |
}
|
102 |
|
103 |
+
add_action( 'flush_rewrite_rules_hard', 'wbcr_clearfy_flush_rewrite_rules' );
|
104 |
|
105 |
/**
|
106 |
* Обновить постоынные ссылки, после выполнения быстрых настроек
|
107 |
*
|
108 |
* @param WHM_Plugin $plugin
|
109 |
+
* @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
|
110 |
*/
|
111 |
function wbcr_clearfy_after_form_save( $plugin, $obj ) {
|
112 |
if ( ! WCL_Plugin::app()->currentUserCan() ) {
|
128 |
*
|
129 |
* @param array $widgets
|
130 |
* @param string $position
|
131 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
132 |
*/
|
133 |
|
134 |
add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
|
admin/includes/compatibility.php
CHANGED
@@ -1,112 +1,96 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
|
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
|
15 |
-
|
16 |
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
|
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
}
|
37 |
}
|
|
|
38 |
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
|
44 |
-
|
45 |
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
}
|
66 |
}
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Дополнительная подсказка, что форма импорта, экспорта перемещена
|
71 |
-
*/
|
72 |
-
add_action('admin_enqueue_scripts', function ($page_id) {
|
73 |
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
77 |
|
78 |
-
|
79 |
-
|
|
|
80 |
|
81 |
-
|
82 |
-
$
|
|
|
83 |
|
84 |
-
$
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
<?php if( !in_array('wbcr_clearfy_settings_pointer_1_4_2', $dismissed_pointers) ): ?>
|
92 |
-
$('.wbcr-factory-type-settings').pointer({
|
93 |
-
content: '<?php echo $pointer_setting_content; ?>',
|
94 |
-
position: {
|
95 |
-
edge: 'top', // arrow direction
|
96 |
-
align: 'center' // vertical alignment
|
97 |
-
},
|
98 |
-
pointerWidth: 350,
|
99 |
-
close: function() {
|
100 |
-
$.post(ajaxurl, {
|
101 |
-
pointer: 'wbcr_clearfy_settings_pointer_1_4_2', // pointer ID
|
102 |
-
action: 'dismiss-wp-pointer'
|
103 |
-
});
|
104 |
-
}
|
105 |
-
}).pointer('open');
|
106 |
-
<?php endif; ?>
|
107 |
-
});
|
108 |
-
//]]>
|
109 |
-
</script>
|
110 |
-
<?php
|
111 |
-
}, 20);
|
112 |
-
});
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Compatibility with Clearfy old components
|
4 |
+
*
|
5 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
+
* @copyright (c) 22.10.2018, Webcraftic
|
7 |
+
* @version 1.0
|
8 |
+
*/
|
9 |
|
10 |
+
add_action( 'plugins_loaded', function () {
|
11 |
+
if ( defined( 'WIO_PLUGIN_ACTIVE' ) ) {
|
12 |
+
if ( ! file_exists( WP_PLUGIN_DIR . '/robin-image-optimizer/robin-image-optimizer.php' ) ) {
|
13 |
+
return;
|
14 |
+
}
|
15 |
|
16 |
+
$plugin = get_plugin_data( WP_PLUGIN_DIR . '/robin-image-optimizer/robin-image-optimizer.php' );
|
17 |
|
18 |
+
if ( isset( $plugin['Version'] ) && version_compare( $plugin['Version'], '1.0.8', '<=' ) ) {
|
19 |
+
$notice = __( 'Please update the plugin Robin image Optimizer to the latest version, as it may not work correctly with the new version of Clearfy!', 'clearfy' );
|
20 |
+
/**
|
21 |
+
* Выводит уведомление внутри интерфейса Clearfy, на всех страницах плагина.
|
22 |
+
* Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
|
23 |
+
* иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
|
24 |
+
*
|
25 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
26 |
+
* @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
|
27 |
+
*
|
28 |
+
* @return bool
|
29 |
+
*/
|
30 |
+
add_action( 'wbcr/factory/pages/impressive/print_all_notices', function ( $plugin, $obj ) use ( $notice ) {
|
31 |
+
$obj->printErrorNotice( $notice );
|
32 |
+
}, 10, 2 );
|
33 |
|
34 |
+
// Специально для преидущей версии фреймворка (407)
|
35 |
+
add_action( 'wbcr_factory_pages_407_imppage_print_all_notices', function ( $plugin, $obj ) use ( $notice ) {
|
36 |
+
$obj->printErrorNotice( $notice );
|
37 |
+
}, 10, 2 );
|
|
|
38 |
}
|
39 |
+
}
|
40 |
|
41 |
+
if ( defined( 'WHLP_PLUGIN_ACTIVE' ) ) {
|
42 |
+
if ( ! file_exists( WP_PLUGIN_DIR . '/hide-login-page/hide-login-page.php' ) ) {
|
43 |
+
return;
|
44 |
+
}
|
45 |
|
46 |
+
$plugin = get_plugin_data( WP_PLUGIN_DIR . '/hide-login-page/hide-login-page.php' );
|
47 |
|
48 |
+
if ( isset( $plugin['Version'] ) && version_compare( $plugin['Version'], '1.0.5', '<=' ) ) {
|
49 |
+
$notice = __( 'Please update the plugin Hide login page to the latest version, as it may not work correctly with the new version of Clearfy!', 'clearfy' );
|
50 |
+
/**
|
51 |
+
* Выводит уведомление внутри интерфейса Clearfy, на всех страницах плагина.
|
52 |
+
* Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
|
53 |
+
* иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
|
54 |
+
*
|
55 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
56 |
+
* @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
|
57 |
+
*
|
58 |
+
* @return bool
|
59 |
+
*/
|
60 |
+
add_action( 'wbcr/factory/pages/impressive/print_all_notices', function ( $plugin, $obj ) use ( $notice ) {
|
61 |
+
$obj->printErrorNotice( $notice );
|
62 |
+
}, 10, 2 );
|
63 |
|
64 |
+
// Специально для преидущей версии фреймворка (407)
|
65 |
+
add_action( 'wbcr_factory_pages_407_imppage_print_all_notices', function ( $plugin, $obj ) use ( $notice ) {
|
66 |
+
$obj->printErrorNotice( $notice );
|
67 |
+
}, 10, 2 );
|
|
|
68 |
}
|
69 |
+
}
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
+
if ( defined( 'WCLRP_PLUGIN_ACTIVE' ) ) {
|
72 |
+
add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
|
73 |
+
if ( $plugin_name != WGZ_Plugin::app()->getPluginName() ) {
|
74 |
+
return $notices;
|
75 |
+
}
|
76 |
|
77 |
+
if ( ! current_user_can( 'update_plugins' ) ) {
|
78 |
+
return $notices;
|
79 |
+
}
|
80 |
|
81 |
+
$nonce_action = 'upgrade-plugin_' . WCLRP_PLUGIN_BASE;
|
82 |
+
$upgrade_url = wp_nonce_url( self_admin_url( "update.php?action=upgrade-plugin&plugin=" . urlencode( WCLRP_PLUGIN_BASE ) ), $nonce_action );
|
83 |
+
$notice_text = sprintf( __( 'You must <a href="%s">upgrade the premium version</a> of the Clearfy plugin to version 1.1.3, since the new Clearfy release isn\'t compatible with the previous version of the premium plugin.', 'gonzales' ), $upgrade_url );
|
84 |
|
85 |
+
$notices[] = [
|
86 |
+
'id' => 'clearfy-package_-compatibility-113',
|
87 |
+
'type' => 'error',
|
88 |
+
'dismissible' => false,
|
89 |
+
'dismiss_expires' => 0,
|
90 |
+
'text' => '<p><b>' . __( 'Clearfy', 'clearfy' ) . ': </b>' . $notice_text . '</p>'
|
91 |
+
];
|
92 |
|
93 |
+
return $notices;
|
94 |
+
}, 10, 2 );
|
95 |
+
}
|
96 |
+
}, 30 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/includes/sidebar-widgets.php
CHANGED
@@ -12,8 +12,8 @@
|
|
12 |
*/
|
13 |
function wbcr_clearfy_get_sidebar_premium_widget() {
|
14 |
|
15 |
-
$buy_premium_url =
|
16 |
-
$upgrade_price =
|
17 |
|
18 |
ob_start();
|
19 |
?>
|
@@ -49,8 +49,8 @@ function wbcr_clearfy_get_sidebar_support_widget() {
|
|
49 |
|
50 |
$output = '';
|
51 |
|
52 |
-
$free_support_url =
|
53 |
-
$page_hot_support_url =
|
54 |
|
55 |
ob_start();
|
56 |
?>
|
12 |
*/
|
13 |
function wbcr_clearfy_get_sidebar_premium_widget() {
|
14 |
|
15 |
+
$buy_premium_url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'pricing', 'license_page' );
|
16 |
+
$upgrade_price = WbcrFactoryClearfy214_Helpers::getClearfyBusinessPrice();
|
17 |
|
18 |
ob_start();
|
19 |
?>
|
49 |
|
50 |
$output = '';
|
51 |
|
52 |
+
$free_support_url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'support', 'support_widget' );
|
53 |
+
$page_hot_support_url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'hot-support', 'support_widget' );
|
54 |
|
55 |
ob_start();
|
56 |
?>
|
admin/pages/class-page.php
CHANGED
@@ -7,6 +7,6 @@
|
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
|
10 |
-
class WCL_Page extends
|
11 |
|
12 |
}
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
|
10 |
+
class WCL_Page extends Wbcr_FactoryClearfy214_PageBase {
|
11 |
|
12 |
}
|
admin/pages/class-pages-advanced.php
CHANGED
@@ -17,7 +17,7 @@
|
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages422_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
admin/pages/class-pages-clearfy-settings.php
CHANGED
@@ -19,7 +19,7 @@ class WCL_ClearfySettingsPage extends WCL_Page {
|
|
19 |
* Mainly used to navigate between pages.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
-
* @see
|
23 |
*
|
24 |
* @var string
|
25 |
*/
|
@@ -58,7 +58,7 @@ class WCL_ClearfySettingsPage extends WCL_Page {
|
|
58 |
*
|
59 |
* @since 1.0.0
|
60 |
* @return void
|
61 |
-
* @see
|
62 |
*
|
63 |
*/
|
64 |
public function assets( $scripts, $styles ) {
|
19 |
* Mainly used to navigate between pages.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
+
* @see FactoryPages422_AdminPage
|
23 |
*
|
24 |
* @var string
|
25 |
*/
|
58 |
*
|
59 |
* @since 1.0.0
|
60 |
* @return void
|
61 |
+
* @see FactoryPages422_AdminPage
|
62 |
*
|
63 |
*/
|
64 |
public function assets( $scripts, $styles ) {
|
admin/pages/class-pages-components.php
CHANGED
@@ -21,7 +21,7 @@ class WCL_ComponentsPage extends WCL_Page {
|
|
21 |
* Mainly used to navigate between pages.
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
-
* @see
|
25 |
*
|
26 |
* @var string
|
27 |
*/
|
@@ -54,7 +54,7 @@ class WCL_ComponentsPage extends WCL_Page {
|
|
54 |
*
|
55 |
* @since 1.0.0
|
56 |
* @return void
|
57 |
-
* @see
|
58 |
*
|
59 |
*/
|
60 |
public function assets( $scripts, $styles ) {
|
@@ -65,8 +65,8 @@ class WCL_ComponentsPage extends WCL_Page {
|
|
65 |
/**
|
66 |
* @since 1.4.0
|
67 |
*
|
68 |
-
* @param
|
69 |
-
* @param
|
70 |
*/
|
71 |
do_action( 'wbcr/clearfy/components/page_assets', $scripts, $styles );
|
72 |
}
|
@@ -75,10 +75,10 @@ class WCL_ComponentsPage extends WCL_Page {
|
|
75 |
* We register notifications for some actions
|
76 |
*
|
77 |
* @param $notices
|
78 |
-
* @param
|
79 |
*
|
80 |
* @return array
|
81 |
-
* @see libs\factory\pages\themplates\
|
82 |
*/
|
83 |
public function getActionNotices( $notices ) {
|
84 |
$notices[] = [
|
@@ -154,7 +154,7 @@ class WCL_ComponentsPage extends WCL_Page {
|
|
154 |
$response = [];
|
155 |
|
156 |
$response = array_merge( $response, [
|
157 |
-
|
158 |
'name' => 'hide_my_wp',
|
159 |
'title' => __( 'Hide my wp', 'clearfy' ),
|
160 |
'type' => 'internal',
|
@@ -162,8 +162,9 @@ class WCL_ComponentsPage extends WCL_Page {
|
|
162 |
'url' => 'http://clearfy.pro/hide-my-wp/',
|
163 |
'icon' => '//s3-us-west-2.amazonaws.com/freemius/plugins/2318/icons/db36219969de82e3d07042cc03eb53b0.png',
|
164 |
'description' => __( 'You can protect your WP by preventing the hacker from knowing which CMS, plugins, themes you use. It disables identification of your CMS.', 'clearfy' )
|
165 |
-
]
|
166 |
-
|
|
|
167 |
'title' => __( 'Seo friendly images', 'clearfy' ),
|
168 |
'type' => 'internal',
|
169 |
'build' => 'premium',
|
@@ -245,15 +246,6 @@ class WCL_ComponentsPage extends WCL_Page {
|
|
245 |
'icon' => $default_image,
|
246 |
'description' => __( 'Disable unused widgets such as tag cloud, links, calendar etc.', 'clearfy' )
|
247 |
],
|
248 |
-
[
|
249 |
-
'name' => 'assets_manager',
|
250 |
-
'title' => __( 'Asset manager', 'clearfy' ),
|
251 |
-
'url' => '#',
|
252 |
-
'type' => 'internal',
|
253 |
-
'build' => 'freemium',
|
254 |
-
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/asm-icon-128x128.png',
|
255 |
-
'description' => __( 'Selectively disable unused scripts and styles on the pages of your website.', 'clearfy' )
|
256 |
-
],
|
257 |
[
|
258 |
'name' => 'disable_notices',
|
259 |
'title' => __( 'Disable admin notices', 'clearfy' ),
|
@@ -283,6 +275,29 @@ class WCL_ComponentsPage extends WCL_Page {
|
|
283 |
]
|
284 |
] );
|
285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
$response[] = [
|
287 |
'name' => 'cyrlitera',
|
288 |
'title' => __( 'Transliteration of Cyrillic alphabet', 'clearfy' ),
|
21 |
* Mainly used to navigate between pages.
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
+
* @see FactoryPages422_AdminPage
|
25 |
*
|
26 |
* @var string
|
27 |
*/
|
54 |
*
|
55 |
* @since 1.0.0
|
56 |
* @return void
|
57 |
+
* @see FactoryPages422_AdminPage
|
58 |
*
|
59 |
*/
|
60 |
public function assets( $scripts, $styles ) {
|
65 |
/**
|
66 |
* @since 1.4.0
|
67 |
*
|
68 |
+
* @param Wbcr_Factory422_StyleList $styles
|
69 |
+
* @param Wbcr_Factory422_ScriptList $scripts
|
70 |
*/
|
71 |
do_action( 'wbcr/clearfy/components/page_assets', $scripts, $styles );
|
72 |
}
|
75 |
* We register notifications for some actions
|
76 |
*
|
77 |
* @param $notices
|
78 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
79 |
*
|
80 |
* @return array
|
81 |
+
* @see libs\factory\pages\themplates\FactoryPages422_ImpressiveThemplate
|
82 |
*/
|
83 |
public function getActionNotices( $notices ) {
|
84 |
$notices[] = [
|
154 |
$response = [];
|
155 |
|
156 |
$response = array_merge( $response, [
|
157 |
+
[
|
158 |
'name' => 'hide_my_wp',
|
159 |
'title' => __( 'Hide my wp', 'clearfy' ),
|
160 |
'type' => 'internal',
|
162 |
'url' => 'http://clearfy.pro/hide-my-wp/',
|
163 |
'icon' => '//s3-us-west-2.amazonaws.com/freemius/plugins/2318/icons/db36219969de82e3d07042cc03eb53b0.png',
|
164 |
'description' => __( 'You can protect your WP by preventing the hacker from knowing which CMS, plugins, themes you use. It disables identification of your CMS.', 'clearfy' )
|
165 |
+
],
|
166 |
+
[
|
167 |
+
'name' => 'seo_friendly_images',
|
168 |
'title' => __( 'Seo friendly images', 'clearfy' ),
|
169 |
'type' => 'internal',
|
170 |
'build' => 'premium',
|
246 |
'icon' => $default_image,
|
247 |
'description' => __( 'Disable unused widgets such as tag cloud, links, calendar etc.', 'clearfy' )
|
248 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
[
|
250 |
'name' => 'disable_notices',
|
251 |
'title' => __( 'Disable admin notices', 'clearfy' ),
|
275 |
]
|
276 |
] );
|
277 |
|
278 |
+
if ( ! is_plugin_active( 'gonzales/gonzales.php' ) ) {
|
279 |
+
array_unshift( $response, [
|
280 |
+
'name' => 'assets_manager',
|
281 |
+
'title' => __( 'Asset manager', 'clearfy' ),
|
282 |
+
'url' => '#',
|
283 |
+
'type' => 'internal',
|
284 |
+
'build' => 'freemium',
|
285 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/asm-icon-128x128.png',
|
286 |
+
'description' => __( 'Selectively disable unused scripts and styles on the pages of your website.', 'clearfy' )
|
287 |
+
] );
|
288 |
+
} else {
|
289 |
+
array_unshift( $response, [
|
290 |
+
'name' => 'gonzales',
|
291 |
+
'title' => __( 'Asset manager', 'clearfy' ),
|
292 |
+
'url' => 'https://wordpress.org/plugins/robin-image-optimizer/',
|
293 |
+
'type' => 'wordpress',
|
294 |
+
'build' => 'freemium',
|
295 |
+
'base_path' => 'gonzales/gonzales.php',
|
296 |
+
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/asm-icon-128x128.png',
|
297 |
+
'description' => __( 'Selectively disable unused scripts and styles on the pages of your website.', 'clearfy' )
|
298 |
+
] );
|
299 |
+
}
|
300 |
+
|
301 |
$response[] = [
|
302 |
'name' => 'cyrlitera',
|
303 |
'title' => __( 'Transliteration of Cyrillic alphabet', 'clearfy' ),
|
admin/pages/class-pages-defence.php
CHANGED
@@ -17,7 +17,7 @@ class WCL_DefencePage extends WCL_Page {
|
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
@@ -132,7 +132,7 @@ class WCL_DefencePage extends WCL_Page {
|
|
132 |
//'cssClass' => 'postbox'
|
133 |
);
|
134 |
|
135 |
-
return
|
136 |
$form_options,
|
137 |
$this
|
138 |
), '1.3.1', 'wbcr_clearfy_defence_form_options' );
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages422_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
132 |
//'cssClass' => 'postbox'
|
133 |
);
|
134 |
|
135 |
+
return wbcr_factory_422_apply_filters_deprecated( 'wbcr_clr_defence_form_options', array(
|
136 |
$form_options,
|
137 |
$this
|
138 |
), '1.3.1', 'wbcr_clearfy_defence_form_options' );
|
admin/pages/class-pages-hide-login-page.php
CHANGED
@@ -17,7 +17,7 @@
|
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
@@ -78,7 +78,7 @@
|
|
78 |
?>
|
79 |
<script>
|
80 |
jQuery(document).ready(function($) {
|
81 |
-
$.
|
82 |
if( component_name.plugin_action == 'install' ) {
|
83 |
button.removeClass('wbcr-factory-purchase-premium');
|
84 |
button.addClass('wbcr-factory-activate-premium');
|
@@ -91,7 +91,7 @@
|
|
91 |
});
|
92 |
});
|
93 |
</script>
|
94 |
-
<div class="wbcr-factory-clearfy-
|
95 |
<div class="wbcr-factory-inner-contanier">
|
96 |
<h3><?php _e('Install Hide login page component', 'clearfy') ?></h3>
|
97 |
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages422_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
78 |
?>
|
79 |
<script>
|
80 |
jQuery(document).ready(function($) {
|
81 |
+
$.wbcr_factory_clearfy_214.hooks.add('clearfy/components/updated', function(button, component_name) {
|
82 |
if( component_name.plugin_action == 'install' ) {
|
83 |
button.removeClass('wbcr-factory-purchase-premium');
|
84 |
button.addClass('wbcr-factory-activate-premium');
|
91 |
});
|
92 |
});
|
93 |
</script>
|
94 |
+
<div class="wbcr-factory-clearfy-214-multisite-suggetion">
|
95 |
<div class="wbcr-factory-inner-contanier">
|
96 |
<h3><?php _e('Install Hide login page component', 'clearfy') ?></h3>
|
97 |
|
admin/pages/class-pages-image-optimization.php
CHANGED
@@ -19,7 +19,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
|
|
19 |
* Mainly used to navigate between pages.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
-
* @see
|
23 |
*
|
24 |
* @var string
|
25 |
*/
|
@@ -79,7 +79,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
|
|
79 |
?>
|
80 |
<script>
|
81 |
jQuery(document).ready(function($) {
|
82 |
-
$.
|
83 |
if( component_name.plugin_action == 'install' ) {
|
84 |
button.removeClass('wbcr-factory-purchase-premium');
|
85 |
button.addClass('wbcr-factory-activate-premium');
|
@@ -92,7 +92,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
|
|
92 |
});
|
93 |
});
|
94 |
</script>
|
95 |
-
<div class="wbcr-factory-clearfy-
|
96 |
<div class="wbcr-factory-inner-contanier">
|
97 |
<h3><?php _e( 'Install Robin Image Optimizer component', 'clearfy' ) ?></h3>
|
98 |
<p><?php _e( 'To start optimizing images, you need to install the additional component Robin image optimizer!', 'clearfy' ) ?></p>
|
19 |
* Mainly used to navigate between pages.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
+
* @see FactoryPages422_AdminPage
|
23 |
*
|
24 |
* @var string
|
25 |
*/
|
79 |
?>
|
80 |
<script>
|
81 |
jQuery(document).ready(function($) {
|
82 |
+
$.wbcr_factory_clearfy_214.hooks.add('clearfy/components/updated', function(button, component_name) {
|
83 |
if( component_name.plugin_action == 'install' ) {
|
84 |
button.removeClass('wbcr-factory-purchase-premium');
|
85 |
button.addClass('wbcr-factory-activate-premium');
|
92 |
});
|
93 |
});
|
94 |
</script>
|
95 |
+
<div class="wbcr-factory-clearfy-214-multisite-suggetion">
|
96 |
<div class="wbcr-factory-inner-contanier">
|
97 |
<h3><?php _e( 'Install Robin Image Optimizer component', 'clearfy' ) ?></h3>
|
98 |
<p><?php _e( 'To start optimizing images, you need to install the additional component Robin image optimizer!', 'clearfy' ) ?></p>
|
admin/pages/class-pages-license.php
CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
*
|
14 |
* @copyright (c) 2018 Webraftic Ltd
|
15 |
*/
|
16 |
-
class WCL_LicensePage extends
|
17 |
|
18 |
/**
|
19 |
* {@inheritdoc}
|
@@ -38,9 +38,9 @@ class WCL_LicensePage extends Wbcr_FactoryClearfy213_LicensePage {
|
|
38 |
*
|
39 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
40 |
*
|
41 |
-
* @param \
|
42 |
*/
|
43 |
-
public function __construct(
|
44 |
$this->menu_title = __( 'License', 'robin-image-optimizer' );
|
45 |
$this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
|
46 |
$this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
|
13 |
*
|
14 |
* @copyright (c) 2018 Webraftic Ltd
|
15 |
*/
|
16 |
+
class WCL_LicensePage extends Wbcr_FactoryClearfy214_LicensePage {
|
17 |
|
18 |
/**
|
19 |
* {@inheritdoc}
|
38 |
*
|
39 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
40 |
*
|
41 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
42 |
*/
|
43 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
44 |
$this->menu_title = __( 'License', 'robin-image-optimizer' );
|
45 |
$this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
|
46 |
$this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
|
admin/pages/class-pages-performance-google.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages422_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
admin/pages/class-pages-quick-start.php
CHANGED
@@ -17,7 +17,7 @@
|
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
-
* @see
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
@@ -79,7 +79,7 @@
|
|
79 |
/**
|
80 |
* Requests assets (js and css) for the page.
|
81 |
*
|
82 |
-
* @see
|
83 |
*
|
84 |
* @since 1.0.0
|
85 |
* @return void
|
17 |
* The id of the page in the admin menu.
|
18 |
*
|
19 |
* Mainly used to navigate between pages.
|
20 |
+
* @see FactoryPages422_AdminPage
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
* @var string
|
79 |
/**
|
80 |
* Requests assets (js and css) for the page.
|
81 |
*
|
82 |
+
* @see FactoryPages422_AdminPage
|
83 |
*
|
84 |
* @since 1.0.0
|
85 |
* @return void
|
admin/pages/class-pages-seo-double-pages.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages422_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
admin/pages/class-pages-seo.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages422_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
admin/pages/class-pages-widgets.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
-
* @see
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
16 |
* The id of the page in the admin menu.
|
17 |
*
|
18 |
* Mainly used to navigate between pages.
|
19 |
+
* @see FactoryPages422_AdminPage
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
* @var string
|
clearfy.php
CHANGED
@@ -4,11 +4,11 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/clearfy/
|
5 |
* Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 1.6.
|
8 |
* Text Domain: clearfy
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: http://clearfy.pro
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
@@ -53,7 +53,7 @@ $plugin_info = array(
|
|
53 |
'slug' => 'clearfy_package',
|
54 |
'plugin_id' => '2315',
|
55 |
'public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
|
56 |
-
'price' =>
|
57 |
'has_updates' => true,
|
58 |
'updates_settings' => array(
|
59 |
'maybe_rollback' => true,
|
@@ -71,12 +71,12 @@ $plugin_info = array(
|
|
71 |
),
|
72 |
// FRAMEWORK MODULES
|
73 |
'load_factory_modules' => array(
|
74 |
-
array( 'libs/factory/bootstrap', '
|
75 |
-
array( 'libs/factory/forms', '
|
76 |
-
array( 'libs/factory/pages', '
|
77 |
-
array( 'libs/factory/clearfy', '
|
78 |
-
array( 'libs/factory/freemius', '
|
79 |
-
array( 'libs/factory/adverts', '
|
80 |
),
|
81 |
'load_plugin_components' => array(
|
82 |
'disable_notices' => array(
|
@@ -116,7 +116,7 @@ $plugin_info = array(
|
|
116 |
|
117 |
|
118 |
|
119 |
-
$clearfy_compatibility = new
|
120 |
'plugin_already_activate' => defined( 'WCL_PLUGIN_ACTIVE' ),
|
121 |
'required_php_version' => '5.4',
|
122 |
'required_wp_version' => '4.2.0',
|
@@ -148,7 +148,7 @@ define( 'WBCR_CLEARFY_PLUGIN_ACTIVE', true );
|
|
148 |
|
149 |
// Plugin version
|
150 |
define( 'WCL_PLUGIN_VERSION', $clearfy_compatibility->get_plugin_version() );
|
151 |
-
define( 'WCL_FRAMEWORK_VER', '
|
152 |
|
153 |
define( 'WCL_PLUGIN_DIR', dirname( __FILE__ ) );
|
154 |
define( 'WCL_PLUGIN_BASE', plugin_basename( __FILE__ ) );
|
@@ -185,4 +185,4 @@ try {
|
|
185 |
add_action( 'admin_notices', $clearfy_plugin_error_func );
|
186 |
add_action( 'network_admin_notices', $clearfy_plugin_error_func );
|
187 |
}
|
188 |
-
// @formatter:on
|
4 |
* Plugin URI: https://wordpress.org/plugins/clearfy/
|
5 |
* Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 1.6.1
|
8 |
* Text Domain: clearfy
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: http://clearfy.pro
|
11 |
+
* Framework Version: FACTORY_422_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
53 |
'slug' => 'clearfy_package',
|
54 |
'plugin_id' => '2315',
|
55 |
'public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
|
56 |
+
'price' => 35,
|
57 |
'has_updates' => true,
|
58 |
'updates_settings' => array(
|
59 |
'maybe_rollback' => true,
|
71 |
),
|
72 |
// FRAMEWORK MODULES
|
73 |
'load_factory_modules' => array(
|
74 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
75 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
76 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
77 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
78 |
+
array( 'libs/factory/freemius', 'factory_freemius_110', 'all' ),
|
79 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
80 |
),
|
81 |
'load_plugin_components' => array(
|
82 |
'disable_notices' => array(
|
116 |
|
117 |
|
118 |
|
119 |
+
$clearfy_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $plugin_info, array(
|
120 |
'plugin_already_activate' => defined( 'WCL_PLUGIN_ACTIVE' ),
|
121 |
'required_php_version' => '5.4',
|
122 |
'required_wp_version' => '4.2.0',
|
148 |
|
149 |
// Plugin version
|
150 |
define( 'WCL_PLUGIN_VERSION', $clearfy_compatibility->get_plugin_version() );
|
151 |
+
define( 'WCL_FRAMEWORK_VER', 'FACTORY_422_VERSION' );
|
152 |
|
153 |
define( 'WCL_PLUGIN_DIR', dirname( __FILE__ ) );
|
154 |
define( 'WCL_PLUGIN_BASE', plugin_basename( __FILE__ ) );
|
185 |
add_action( 'admin_notices', $clearfy_plugin_error_func );
|
186 |
add_action( 'network_admin_notices', $clearfy_plugin_error_func );
|
187 |
}
|
188 |
+
// @formatter:on
|
components/assets-manager/admin/activation.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
*
|
6 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
* @copyright (c) 09.03.2018, Webcraftic
|
8 |
-
* @see
|
9 |
* @version 1.0
|
10 |
*/
|
11 |
|
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
class WGNZ_Activation extends
|
18 |
|
19 |
/**
|
20 |
* Runs activation actions.
|
5 |
*
|
6 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
* @copyright (c) 09.03.2018, Webcraftic
|
8 |
+
* @see Wbcr_Factory422_Activator
|
9 |
* @version 1.0
|
10 |
*/
|
11 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
class WGNZ_Activation extends Wbcr_Factory422_Activator {
|
18 |
|
19 |
/**
|
20 |
* Runs activation actions.
|
components/assets-manager/admin/ajax/save-settings.php
CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
}
|
14 |
|
15 |
/**
|
16 |
-
* Ajax
|
17 |
*
|
18 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
19 |
* @since 2.0.0
|
@@ -21,19 +21,134 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
21 |
function wam_save_settings_action() {
|
22 |
check_ajax_referer( 'wam_save_settigns' );
|
23 |
|
24 |
-
if ( !
|
25 |
wp_send_json_error( [
|
26 |
'error_message_title' => __( 'Save settings failed!', 'gonzales' ),
|
27 |
'error_message_content' => __( 'You don\'t have enough capability to edit this information.', 'gonzales' )
|
28 |
] );
|
29 |
}
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
$save_message_title = __( 'Settings saved successfully!', 'clearfy' );
|
32 |
$save_message_content = __( 'If you use test mode, do not forget to disable it. We also recommend that you flush the cache if you use caching plugins.', 'clearfy' );
|
33 |
-
$
|
|
|
34 |
|
35 |
if ( ! empty( $raw_updated_settings ) ) {
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
if ( ! defined( 'WGZP_PLUGIN_ACTIVE' ) || ( is_array( $settings ) && ! isset( $settings['save_mode'] ) ) ) {
|
39 |
$settings['save_mode'] = false;
|
@@ -67,15 +182,28 @@ function wam_save_settings_action() {
|
|
67 |
$settings['misc'] = $raw_updated_settings['misc'];
|
68 |
}
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
// If mu plugin does not exist, install it.
|
75 |
wbcr_gnz_deploy_mu_plugin();
|
76 |
|
77 |
// Flush cache for all cache plugins
|
78 |
-
|
79 |
}
|
80 |
|
81 |
wp_send_json_success( [
|
13 |
}
|
14 |
|
15 |
/**
|
16 |
+
* Ajax action for save plugin settings.
|
17 |
*
|
18 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
19 |
* @since 2.0.0
|
21 |
function wam_save_settings_action() {
|
22 |
check_ajax_referer( 'wam_save_settigns' );
|
23 |
|
24 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
25 |
wp_send_json_error( [
|
26 |
'error_message_title' => __( 'Save settings failed!', 'gonzales' ),
|
27 |
'error_message_content' => __( 'You don\'t have enough capability to edit this information.', 'gonzales' )
|
28 |
] );
|
29 |
}
|
30 |
|
31 |
+
/*$scrape_key = md5( rand() );
|
32 |
+
$transient = 'scrape_key_' . $scrape_key;
|
33 |
+
$scrape_nonce = strval( rand() );
|
34 |
+
set_transient( $transient, $scrape_nonce, 60 ); // It shouldn't take more than 60 seconds to make the two loopback requests.
|
35 |
+
|
36 |
+
$cookies = wp_unslash( $_COOKIE );
|
37 |
+
$scrape_params = array(
|
38 |
+
'wp_scrape_key' => $scrape_key,
|
39 |
+
'wp_scrape_nonce' => $scrape_nonce,
|
40 |
+
);
|
41 |
+
$headers = array(
|
42 |
+
'Cache-Control' => 'no-cache',
|
43 |
+
);
|
44 |
+
|
45 |
+
/** This filter is documented in wp-includes/class-wp-http-streams.php */ ///*$sslverify = apply_filters( 'https_local_ssl_verify', false );
|
46 |
+
//
|
47 |
+
//// Include Basic auth in loopback requests.
|
48 |
+
//if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) {
|
49 |
+
// $headers['Authorization'] = 'Basic ' . base64_encode( wp_unslash( $_SERVER['PHP_AUTH_USER'] ) . ':' . wp_unslash( $_SERVER['PHP_AUTH_PW'] ) );
|
50 |
+
//}
|
51 |
+
//
|
52 |
+
//// Make sure PHP process doesn't die before loopback requests complete.
|
53 |
+
//set_time_limit( 300 );
|
54 |
+
//
|
55 |
+
//// Time to wait for loopback requests to finish.
|
56 |
+
//$timeout = 100;
|
57 |
+
//
|
58 |
+
//$needle_start = "###### wp_scraping_result_start:$scrape_key ######";
|
59 |
+
//$needle_end = "###### wp_scraping_result_end:$scrape_key ######";
|
60 |
+
//
|
61 |
+
//// Attempt loopback request to editor to see if user just whitescreened themselves.
|
62 |
+
//if ( $plugin ) {
|
63 |
+
// $url = add_query_arg( compact( 'plugin', 'file' ), admin_url( 'plugin-editor.php' ) );
|
64 |
+
//} elseif ( isset( $stylesheet ) ) {
|
65 |
+
// $url = add_query_arg(
|
66 |
+
// array(
|
67 |
+
// 'theme' => $stylesheet,
|
68 |
+
// 'file' => $file,
|
69 |
+
// ),
|
70 |
+
// admin_url( 'theme-editor.php' )
|
71 |
+
// );
|
72 |
+
//} else {
|
73 |
+
// $url = admin_url();
|
74 |
+
//}
|
75 |
+
//$url = add_query_arg( $scrape_params, $url );
|
76 |
+
//$r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) );
|
77 |
+
//$body = wp_remote_retrieve_body( $r );
|
78 |
+
//$scrape_result_position = strpos( $body, $needle_start );
|
79 |
+
//
|
80 |
+
//$loopback_request_failure = array(
|
81 |
+
// 'code' => 'loopback_request_failed',
|
82 |
+
// 'message' => __( 'Unable to communicate back with site to check for fatal errors, so the PHP change was reverted. You will need to upload your PHP file change by some other means, such as by using SFTP.' ),
|
83 |
+
//);
|
84 |
+
//$json_parse_failure = array(
|
85 |
+
// 'code' => 'json_parse_error',
|
86 |
+
//);
|
87 |
+
//
|
88 |
+
//$result = null;
|
89 |
+
//if ( false === $scrape_result_position ) {
|
90 |
+
// $result = $loopback_request_failure;
|
91 |
+
//} else {
|
92 |
+
// $error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) );
|
93 |
+
// $error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) );
|
94 |
+
// $result = json_decode( trim( $error_output ), true );
|
95 |
+
// if ( empty( $result ) ) {
|
96 |
+
// $result = $json_parse_failure;
|
97 |
+
// }
|
98 |
+
//}
|
99 |
+
//
|
100 |
+
//// Try making request to homepage as well to see if visitors have been whitescreened.
|
101 |
+
//if ( true === $result ) {
|
102 |
+
// $url = home_url( '/' );
|
103 |
+
// $url = add_query_arg( $scrape_params, $url );
|
104 |
+
// $r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout' ) );
|
105 |
+
// $body = wp_remote_retrieve_body( $r );
|
106 |
+
// $scrape_result_position = strpos( $body, $needle_start );
|
107 |
+
//
|
108 |
+
// if ( false === $scrape_result_position ) {
|
109 |
+
// $result = $loopback_request_failure;
|
110 |
+
// } else {
|
111 |
+
// $error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) );
|
112 |
+
// $error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) );
|
113 |
+
// $result = json_decode( trim( $error_output ), true );
|
114 |
+
// if ( empty( $result ) ) {
|
115 |
+
// $result = $json_parse_failure;
|
116 |
+
// }
|
117 |
+
// }
|
118 |
+
//}
|
119 |
+
//
|
120 |
+
//delete_transient( $transient );
|
121 |
+
//
|
122 |
+
//if ( true !== $result ) {
|
123 |
+
//
|
124 |
+
// // Roll-back file change.
|
125 |
+
// file_put_contents( $real_file, $previous_content );
|
126 |
+
// if ( function_exists( 'opcache_invalidate' ) ) {
|
127 |
+
// opcache_invalidate( $real_file, true );
|
128 |
+
// }
|
129 |
+
//
|
130 |
+
// if ( ! isset( $result['message'] ) ) {
|
131 |
+
// $message = __( 'Something went wrong.' );
|
132 |
+
// } else {
|
133 |
+
// $message = $result['message'];
|
134 |
+
// unset( $result['message'] );
|
135 |
+
// }
|
136 |
+
// return new WP_Error( 'php_error', $message, $result );
|
137 |
+
//}*/
|
138 |
+
|
139 |
$save_message_title = __( 'Settings saved successfully!', 'clearfy' );
|
140 |
$save_message_content = __( 'If you use test mode, do not forget to disable it. We also recommend that you flush the cache if you use caching plugins.', 'clearfy' );
|
141 |
+
$scope = WGZ_Plugin::app()->request->post( 'scope', 'frontend' );
|
142 |
+
$raw_updated_settings = WGZ_Plugin::app()->request->post( 'settings', [], true );
|
143 |
|
144 |
if ( ! empty( $raw_updated_settings ) ) {
|
145 |
+
if ( 'networkadmin' === $scope ) {
|
146 |
+
$settings = WGZ_Plugin::app()->getNetworkOption( 'backend_assets_states', [] );
|
147 |
+
} else if ( 'admin' === $scope ) {
|
148 |
+
$settings = WGZ_Plugin::app()->getOption( 'backend_assets_states', [] );
|
149 |
+
} else {
|
150 |
+
$settings = WGZ_Plugin::app()->getOption( 'assets_states', [] );
|
151 |
+
}
|
152 |
|
153 |
if ( ! defined( 'WGZP_PLUGIN_ACTIVE' ) || ( is_array( $settings ) && ! isset( $settings['save_mode'] ) ) ) {
|
154 |
$settings['save_mode'] = false;
|
182 |
$settings['misc'] = $raw_updated_settings['misc'];
|
183 |
}
|
184 |
|
185 |
+
/**
|
186 |
+
* Filter run before save settings.
|
187 |
+
*
|
188 |
+
* @param array $settings
|
189 |
+
* @param array $raw_updated_settings
|
190 |
+
* @param string $scope
|
191 |
+
*/
|
192 |
+
$settings = apply_filters( 'wam/before_save_settings', $settings, $raw_updated_settings, $scope );
|
193 |
+
|
194 |
+
if ( 'networkadmin' === $scope ) {
|
195 |
+
WGZ_Plugin::app()->updateNetworkOption( 'backend_assets_states', $settings );
|
196 |
+
} else if ( 'admin' === $scope ) {
|
197 |
+
WGZ_Plugin::app()->updateOption( 'backend_assets_states', $settings );
|
198 |
+
} else {
|
199 |
+
WGZ_Plugin::app()->updateOption( 'assets_states', $settings );
|
200 |
+
}
|
201 |
|
202 |
// If mu plugin does not exist, install it.
|
203 |
wbcr_gnz_deploy_mu_plugin();
|
204 |
|
205 |
// Flush cache for all cache plugins
|
206 |
+
WbcrFactoryClearfy214_Helpers::flushPageCache();
|
207 |
}
|
208 |
|
209 |
wp_send_json_success( [
|
components/assets-manager/admin/boot.php
CHANGED
@@ -12,6 +12,27 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
exit;
|
13 |
}
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
|
16 |
|
17 |
/**
|
@@ -146,10 +167,12 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
|
|
146 |
*
|
147 |
* @param array $widgets
|
148 |
* @param string $position
|
149 |
-
* @param
|
150 |
*/
|
151 |
add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
|
152 |
if ( $plugin->getPluginName() == WGZ_Plugin::app()->getPluginName() ) {
|
|
|
|
|
153 |
if ( $position == 'right' ) {
|
154 |
unset( $widgets['donate_widget'] );
|
155 |
unset( $widgets['rating_widget'] );
|
@@ -167,7 +190,7 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
|
|
167 |
* @param string $page_id
|
168 |
* @param string $plugin
|
169 |
*/
|
170 |
-
add_filter( 'wbcr/clearfy/
|
171 |
|
172 |
if ( ! empty( $plugin_name ) && ( $plugin_name == WGZ_Plugin::app()->getPluginName() ) ) {
|
173 |
$upgrade_feature = [];
|
@@ -185,7 +208,7 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
|
|
185 |
|
186 |
function wbcr_gnz_set_plugin_meta( $links, $file ) {
|
187 |
if ( $file == WGZ_PLUGIN_BASE ) {
|
188 |
-
$url =
|
189 |
$links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __( 'Get premium', 'gonzales' ) . '</a>';
|
190 |
}
|
191 |
|
@@ -202,5 +225,5 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
|
|
202 |
return $page_url;
|
203 |
}
|
204 |
|
205 |
-
add_filter( '
|
206 |
}
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
/**
|
16 |
+
* Печатает ошибки совместимости с похожими плагинами
|
17 |
+
*/
|
18 |
+
add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
|
19 |
+
if ( $plugin_name != WGZ_Plugin::app()->getPluginName() ) {
|
20 |
+
return $notices;
|
21 |
+
}
|
22 |
+
|
23 |
+
$notice_text = __( 'We released great plugin upgrade! But, some plugin settings can\'t be migrated. Please check the disabled assets in the plugin, if they are configured incorrectly, you will need to fix the settings. Make sure the plugin works for you.', 'gonzales' );
|
24 |
+
|
25 |
+
$notices[] = [
|
26 |
+
'id' => 'am-great-release-warning',
|
27 |
+
'type' => 'warning',
|
28 |
+
'dismissible' => true,
|
29 |
+
'dismiss_expires' => 0,
|
30 |
+
'text' => '<p><b>' . __( 'Assets manager', 'gonzales' ) . ': </b>' . $notice_text . '</p>'
|
31 |
+
];
|
32 |
+
|
33 |
+
return $notices;
|
34 |
+
}, 10, 2 );
|
35 |
+
|
36 |
if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
|
37 |
|
38 |
/**
|
167 |
*
|
168 |
* @param array $widgets
|
169 |
* @param string $position
|
170 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
171 |
*/
|
172 |
add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
|
173 |
if ( $plugin->getPluginName() == WGZ_Plugin::app()->getPluginName() ) {
|
174 |
+
unset( $widgets['business_suggetion'] );
|
175 |
+
|
176 |
if ( $position == 'right' ) {
|
177 |
unset( $widgets['donate_widget'] );
|
178 |
unset( $widgets['rating_widget'] );
|
190 |
* @param string $page_id
|
191 |
* @param string $plugin
|
192 |
*/
|
193 |
+
add_filter( 'wbcr/clearfy/pages/suggetion_features', function ( $features, $plugin_name, $page_id ) {
|
194 |
|
195 |
if ( ! empty( $plugin_name ) && ( $plugin_name == WGZ_Plugin::app()->getPluginName() ) ) {
|
196 |
$upgrade_feature = [];
|
208 |
|
209 |
function wbcr_gnz_set_plugin_meta( $links, $file ) {
|
210 |
if ( $file == WGZ_PLUGIN_BASE ) {
|
211 |
+
$url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WGZ_Plugin::app()->getPluginName(), 'assets-manager', 'plugin_row' );
|
212 |
$links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __( 'Get premium', 'gonzales' ) . '</a>';
|
213 |
}
|
214 |
|
225 |
return $page_url;
|
226 |
}
|
227 |
|
228 |
+
add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2 );
|
229 |
}
|
components/assets-manager/admin/pages/class-pages-more-features.php
CHANGED
@@ -17,6 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
17 |
*
|
18 |
* @copyright (c) 2018 Webraftic Ltd
|
19 |
*/
|
20 |
-
class WGZ_MoreFeaturesPage extends
|
21 |
|
22 |
}
|
17 |
*
|
18 |
* @copyright (c) 2018 Webraftic Ltd
|
19 |
*/
|
20 |
+
class WGZ_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
|
21 |
|
22 |
}
|
components/assets-manager/admin/pages/class-pages-settings.php
CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
*
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
-
class WGZ_AssetsManagerPage extends
|
20 |
|
21 |
/**
|
22 |
* The id of the page in the admin menu.
|
@@ -24,7 +24,7 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
24 |
* Mainly used to navigate between pages.
|
25 |
*
|
26 |
* @since 1.0.0
|
27 |
-
* @see
|
28 |
*
|
29 |
* @var string
|
30 |
*/
|
@@ -48,9 +48,9 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
48 |
public $available_for_multisite = true;
|
49 |
|
50 |
/**
|
51 |
-
* @param
|
52 |
*/
|
53 |
-
public function __construct(
|
54 |
$this->menu_title = __( 'Assets manager', 'gonzales' );
|
55 |
|
56 |
if ( ! defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
|
@@ -135,7 +135,7 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
135 |
'hint' => __( 'Disables assets manager initialization for frontend.', 'gonzales' ),
|
136 |
'default' => false
|
137 |
],
|
138 |
-
|
139 |
'type' => 'checkbox',
|
140 |
'way' => 'buttons',
|
141 |
'name' => 'disable_assets_manager_on_backend',
|
@@ -143,7 +143,7 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
143 |
'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
|
144 |
'hint' => __( 'Disables assets manager initialization for backend.', 'gonzales' ),
|
145 |
'default' => true
|
146 |
-
]
|
147 |
]
|
148 |
];
|
149 |
|
16 |
*
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
+
class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy214_PageBase {
|
20 |
|
21 |
/**
|
22 |
* The id of the page in the admin menu.
|
24 |
* Mainly used to navigate between pages.
|
25 |
*
|
26 |
* @since 1.0.0
|
27 |
+
* @see FactoryPages422_AdminPage
|
28 |
*
|
29 |
* @var string
|
30 |
*/
|
48 |
public $available_for_multisite = true;
|
49 |
|
50 |
/**
|
51 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
52 |
*/
|
53 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
54 |
$this->menu_title = __( 'Assets manager', 'gonzales' );
|
55 |
|
56 |
if ( ! defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
|
135 |
'hint' => __( 'Disables assets manager initialization for frontend.', 'gonzales' ),
|
136 |
'default' => false
|
137 |
],
|
138 |
+
[
|
139 |
'type' => 'checkbox',
|
140 |
'way' => 'buttons',
|
141 |
'name' => 'disable_assets_manager_on_backend',
|
143 |
'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
|
144 |
'hint' => __( 'Disables assets manager initialization for backend.', 'gonzales' ),
|
145 |
'default' => true
|
146 |
+
]
|
147 |
]
|
148 |
];
|
149 |
|
components/assets-manager/assets/css/assets-conditions.css
CHANGED
@@ -10,6 +10,11 @@
|
|
10 |
top: 0;
|
11 |
padding: 4px;
|
12 |
}
|
|
|
|
|
|
|
|
|
|
|
13 |
#WBCR-AM .wam-cleditor .wam-cleditor__text {
|
14 |
width: 300px;
|
15 |
}
|
10 |
top: 0;
|
11 |
padding: 4px;
|
12 |
}
|
13 |
+
#WBCR-AM .wam-cleditor.wam-cleditor__disable-plugin-mode .wam-cleditor__param-select option[value="location-taxonomy"],
|
14 |
+
#WBCR-AM .wam-cleditor.wam-cleditor__disable-plugin-mode .wam-cleditor__param-select option[value="location-post-type"],
|
15 |
+
#WBCR-AM .wam-cleditor.wam-cleditor__disable-plugin-mode .wam-cleditor__param-select option[value="location-some-page"] {
|
16 |
+
display: none;
|
17 |
+
}
|
18 |
#WBCR-AM .wam-cleditor .wam-cleditor__text {
|
19 |
width: 300px;
|
20 |
}
|
components/assets-manager/assets/css/assets-conditions.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["assets-conditions.less"],"names":[],"mappings":";AACA,QAGE;EACE,sBAAA;;;;AAJJ,QAGE,cAGE;EACE,WAAA;EACA,kBAAA;EACA,MAAA;EACA,YAAA;;
|
1 |
+
{"version":3,"sources":["assets-conditions.less"],"names":[],"mappings":";AACA,QAGE;EACE,sBAAA;;;;AAJJ,QAGE,cAGE;EACE,WAAA;EACA,kBAAA;EACA,MAAA;EACA,YAAA;;AAXL,QAIC,cAJA,kCAAD,4BAgBO,OAAM;AAhBb,QAIC,cAJA,kCAAD,4BAiBO,OAAM;AAjBb,QAIC,cAJA,kCAAD,4BAkBO,OAAM;EACJ,aAAA;;AAlBV,QAGE,cAJD;EAyBK,YAAA;;AAxBN,QAGE,cAJD;EA6BK,4BAAA;EACA,2BAAA;EACA,yBAAA;;AA9BN,QAGE,cAJD;EAmCK,aAAA;;AAlCN,QAGE,cAJD,qBAEE;EAqCG,cAAA;;AAtCN,QAGE,cAJD;EA2CK,aAAA;EACA,cAAA;EACA,sBAAA;EACA,6BAAA;EACA,2BAAA;EACA,kBAAA;;AA/CN,QAGE,cAJD,oBAAA;AACD,QAGE,cAJD,oBAEO;EAiDA,qBAAA;;AAlDR,QAGE,cAJD,oBAAA;EAuDO,gBAAA;EACA,WAAA;;AAvDR,QAGE,cAJD,oBAAA;EA4DO,iBAAA;EACA,WAAA;;AA5DR,QAGE,cAJD,oBAAA;EAiEO,yBAAA;EACA,SAAA;EACA,gBAAA;EACA,eAAA;EACA,gBAAA;;AApER,QAGE,cAJD,oBAEC;EAwEI,kBAAA;EACA,2BAAA;;AA1EN,QAGE,cAJD,sBAAA;EAiFO,sBAAA;EACA,yBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,cAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;;AAxFR,QAGE,cAJD,sBAAA,qBAEC;EA2FM,kBAAA;EACA,SAAS,GAAT;EACA,cAAA;EACA,WAAA;EACA,0BAAA;EACA,iBAAA;EACA,eAAA;;AAlGR,QAGE,cAJD;;;;;AACD,QAGE,cAJD,qBAAA;EAyGO,aAAA;EACA,yBAAA;EACA,SAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,WAAA;EACA,mBAAA;EACA,kBAAA;EACA,kBAAA;EACA,0BAAA;;AAnHR,QAGE,cAJD,qBAEE;EA2HG,aAAA;;AA5HN,QAGE,cAJD;EAmIK,kBAAA;;AAlIN,QAGE,cAJD,yBAAA;AACD,QAGE,cAJD,yBAEE;EAqIK,aAAA;;AAtIR,QAGE,cAJD,yBAAA;EA2IO,kBAAA;EACA,qBAAA;EACA,oBAAA;;AA5IR,QAGE,cAJD,yBAAA;EAiJO,gBAAgB,4CAAhB;EACA,kBAAA;EACA,YAAA;EACA,WAAA;EACA,qBAAA;EACA,YAAA;EACA,sBAAA;EACA,SAAA;EACA,aAAA;;AAxJR,QAGE,cAJD,yBAAA,oBAEA,MAAO;EA2JA,cAAA;EACA,kBAAA;EACA,YAAA;EACA,oCAAA;EACA,mBAAA;EACA,4BAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,WAAA;EACA,eAAA;EACA,YAAA;;AAvKR,QAGE,cAJD,yBAAA,oBAEC;AADF,QAGE,cAJD,yBAIA,oBACE,4BAED;EAsKM,WAAA;;AA5KR,QAGE,cAJD,yBAAA;EAiLO,cAAA;EACA,yBAAA;EACA,iBAAA;EACA,0BAAA;EACA,cAAA;EACA,kBAAA;;AArLR,QAGE,cAJD,yBAAA,4BA0LO;EACE,kBAAA;EACA,UAAA;EACA,yBAAA;EACA,kBAAA;EACA,yBAAA;;AA/LT,QAIC,cAJD,yBAAC,YACK;EAmMC,aAAA;;AAGF,QAnMJ,cAJD,yBAuMO;EACA,qBAAA;EACA,mBAAA;;AAxMR,QAGE,cAJD,yBAAA;EA6MO,kBAAA;EACA,QAAA;;AA7MR,QAGE,cAJD;EAsNK,gBAAA","file":"assets-conditions.css"}
|
components/assets-manager/assets/css/assets-conditions.less
CHANGED
@@ -12,6 +12,16 @@
|
|
12 |
padding: 4px;
|
13 |
}
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
@{prefix}__text {
|
16 |
width: 300px;
|
17 |
}
|
12 |
padding: 4px;
|
13 |
}
|
14 |
|
15 |
+
&@{prefix}__disable-plugin-mode {
|
16 |
+
@{prefix}__param-select {
|
17 |
+
option[value="location-taxonomy"],
|
18 |
+
option[value="location-post-type"],
|
19 |
+
option[value="location-some-page"] {
|
20 |
+
display: none;
|
21 |
+
}
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
@{prefix}__text {
|
26 |
width: 300px;
|
27 |
}
|
components/assets-manager/assets/css/assets-manager.css
CHANGED
@@ -390,9 +390,17 @@ body p {
|
|
390 |
box-sizing: border-box;
|
391 |
table-layout: fixed;
|
392 |
border-collapse: collapse;
|
393 |
-
|
394 |
-
|
395 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
396 |
}
|
397 |
#WBCR-AM .wam-table tr:nth-child(2n) > td {
|
398 |
background: #f9f9f9;
|
@@ -407,22 +415,12 @@ body p {
|
|
407 |
#WBCR-AM .wam-table th:not(:last-child) {
|
408 |
border-right: 2px solid #FFF;
|
409 |
}
|
410 |
-
#WBCR-AM .wam-table td {
|
411 |
-
padding: 17px 10px;
|
412 |
-
vertical-align: top;
|
413 |
-
border-bottom: 1px solid #ECEDED;
|
414 |
-
text-align: left;
|
415 |
-
box-shadow: none;
|
416 |
-
}
|
417 |
#WBCR-AM .wam-table__th-actions {
|
418 |
width: 200px;
|
419 |
}
|
420 |
#WBCR-AM .wam-table__th-type {
|
421 |
width: 100px;
|
422 |
}
|
423 |
-
#WBCR-AM .wam-table__td-handle {
|
424 |
-
word-break: break-word;
|
425 |
-
}
|
426 |
#WBCR-AM .wam-table__th-version {
|
427 |
width: 100px;
|
428 |
}
|
@@ -433,6 +431,15 @@ body p {
|
|
433 |
#WBCR-AM .wam-table__td-plugins-list {
|
434 |
width: 350px;
|
435 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
436 |
#WBCR-AM .wam-table__td-plugins-list {
|
437 |
padding: 0 !important;
|
438 |
}
|
@@ -507,7 +514,7 @@ body p {
|
|
507 |
#WBCR-AM .wam-float-panel {
|
508 |
position: fixed;
|
509 |
z-index: 50;
|
510 |
-
top:
|
511 |
right: 0;
|
512 |
left: 0;
|
513 |
width: 100%;
|
@@ -751,7 +758,7 @@ body p {
|
|
751 |
}
|
752 |
#WBCR-AM .wam-assets-type-tabs {
|
753 |
position: fixed;
|
754 |
-
top:
|
755 |
bottom: 0;
|
756 |
left: 0;
|
757 |
width: 75px;
|
@@ -837,6 +844,7 @@ body p {
|
|
837 |
list-style: none;
|
838 |
}
|
839 |
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab {
|
|
|
840 |
text-align: left;
|
841 |
margin-bottom: 3px;
|
842 |
}
|
@@ -861,6 +869,26 @@ body p {
|
|
861 |
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab.wam-nav-plugins__tab--active a {
|
862 |
background: #e8e8e8;
|
863 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
864 |
#WBCR-AM .wam-nav-plugins__tab-content {
|
865 |
display: none;
|
866 |
}
|
@@ -895,6 +923,12 @@ body p {
|
|
895 |
background: #9757a5;
|
896 |
color: #ffffff;
|
897 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
898 |
#WBCR-AM .wam-button {
|
899 |
display: inline-block;
|
900 |
vertical-align: bottom;
|
@@ -986,7 +1020,7 @@ body p {
|
|
986 |
min-width: 1365px;
|
987 |
position: fixed;
|
988 |
z-index: 99999999;
|
989 |
-
top:
|
990 |
bottom: 0;
|
991 |
left: 0;
|
992 |
right: 0;
|
390 |
box-sizing: border-box;
|
391 |
table-layout: fixed;
|
392 |
border-collapse: collapse;
|
393 |
+
}
|
394 |
+
#WBCR-AM .wam-table__handle-deps {
|
395 |
+
margin-top: 15px;
|
396 |
+
}
|
397 |
+
#WBCR-AM .wam-table__handle-deps span,
|
398 |
+
#WBCR-AM .wam-table__handle-deps a {
|
399 |
+
font-size: 11px !important;
|
400 |
+
}
|
401 |
+
#WBCR-AM .wam-table__handle-deps a {
|
402 |
+
color: red;
|
403 |
+
text-decoration: underline;
|
404 |
}
|
405 |
#WBCR-AM .wam-table tr:nth-child(2n) > td {
|
406 |
background: #f9f9f9;
|
415 |
#WBCR-AM .wam-table th:not(:last-child) {
|
416 |
border-right: 2px solid #FFF;
|
417 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
418 |
#WBCR-AM .wam-table__th-actions {
|
419 |
width: 200px;
|
420 |
}
|
421 |
#WBCR-AM .wam-table__th-type {
|
422 |
width: 100px;
|
423 |
}
|
|
|
|
|
|
|
424 |
#WBCR-AM .wam-table__th-version {
|
425 |
width: 100px;
|
426 |
}
|
431 |
#WBCR-AM .wam-table__td-plugins-list {
|
432 |
width: 350px;
|
433 |
}
|
434 |
+
#WBCR-AM .wam-table td {
|
435 |
+
padding: 17px 10px;
|
436 |
+
vertical-align: top;
|
437 |
+
text-align: left;
|
438 |
+
box-shadow: none;
|
439 |
+
}
|
440 |
+
#WBCR-AM .wam-table__td-handle {
|
441 |
+
word-break: break-word;
|
442 |
+
}
|
443 |
#WBCR-AM .wam-table__td-plugins-list {
|
444 |
padding: 0 !important;
|
445 |
}
|
514 |
#WBCR-AM .wam-float-panel {
|
515 |
position: fixed;
|
516 |
z-index: 50;
|
517 |
+
top: 0;
|
518 |
right: 0;
|
519 |
left: 0;
|
520 |
width: 100%;
|
758 |
}
|
759 |
#WBCR-AM .wam-assets-type-tabs {
|
760 |
position: fixed;
|
761 |
+
top: 62px;
|
762 |
bottom: 0;
|
763 |
left: 0;
|
764 |
width: 75px;
|
844 |
list-style: none;
|
845 |
}
|
846 |
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab {
|
847 |
+
position: relative;
|
848 |
text-align: left;
|
849 |
margin-bottom: 3px;
|
850 |
}
|
869 |
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab.wam-nav-plugins__tab--active a {
|
870 |
background: #e8e8e8;
|
871 |
}
|
872 |
+
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab-load-mode--enable::after,
|
873 |
+
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab-load-mode--disable-plugin::after,
|
874 |
+
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab-load-mode--disable-assets::after {
|
875 |
+
display: block;
|
876 |
+
content: '';
|
877 |
+
position: absolute;
|
878 |
+
bottom: 10px;
|
879 |
+
right: 10px;
|
880 |
+
width: 10px;
|
881 |
+
height: 10px;
|
882 |
+
background: #8bc34a;
|
883 |
+
text-align: center;
|
884 |
+
font-size: 11px;
|
885 |
+
font-weight: 600;
|
886 |
+
border-radius: 4px;
|
887 |
+
}
|
888 |
+
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab-load-mode--disable-assets::after,
|
889 |
+
#WBCR-AM .wam-nav-plugins .wam-nav-plugins__tab-load-mode--disable-plugin::after {
|
890 |
+
background: #d47b7b;
|
891 |
+
}
|
892 |
#WBCR-AM .wam-nav-plugins__tab-content {
|
893 |
display: none;
|
894 |
}
|
923 |
background: #9757a5;
|
924 |
color: #ffffff;
|
925 |
}
|
926 |
+
#WBCR-AM .wam-colors--red {
|
927 |
+
color: red;
|
928 |
+
}
|
929 |
+
#WBCR-AM .wam-colors--grey {
|
930 |
+
color: grey;
|
931 |
+
}
|
932 |
#WBCR-AM .wam-button {
|
933 |
display: inline-block;
|
934 |
vertical-align: bottom;
|
1020 |
min-width: 1365px;
|
1021 |
position: fixed;
|
1022 |
z-index: 99999999;
|
1023 |
+
top: 0;
|
1024 |
bottom: 0;
|
1025 |
left: 0;
|
1026 |
right: 0;
|
components/assets-manager/assets/css/assets-manager.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["assets-manager.less","reset.less","tables.less","tooltip.less","float-panel.less","tabs.less"],"names":[],"mappings":";;;;;AAMA;AAAM;EACJ,2BAAA;;AAGF;EACE,iBAAA;EACA,yCAAA;EACA,sBAAA;;AAGF;EACE,oBAAA;EACA,qBAAA;EACA,gBAAA;;AAEA;AALF,IAKK;EACD,oBAAoB,4BAApB;;AAIJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,QCpBA;ADoBA,QCpBG,EAAC;ADoBJ,QCpBa,EAAC;EACZ,8BAAA;EACA,2BAAA;EACA,sBAAA;;AAGF;ADcA,QCbA;ADaA,QCbI;ADaJ,QCbQ;ADaR,QCbY;ADaZ,QCbgB;ADahB,QCZA;ADYA,QCZG;ADYH,QCZW;ADYX,QCZc;ADYd,QCXA;ADWA,QCXI;ADWJ,QCXO;ADWP,QCXU;ADWV,QCXe;ADWf,QCVA;ADUA,QCVS;ADUT,QCVa;ADUb,QCTA,MAAK;ADSL,QCTsB,MAAK;ADS3B,QCRA;EACE,oBAAoB,4BAApB;EACA,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;EACA,iBAAA;;ADEF,QCCA;EACE,cAAA;EACA,gBAAA;;ADHF,QCMA;EACE,uBAAA;EACA,SAAA;EACA,iBAAA;;ADTF,QCYA;EACE,iCAAA;EACA,cAAA;;ADdF,QCiBA;EACE,6BAAA;;ADlBF,QCqBA,KAAI;EACF,mBAAA;EACA,iCAAA;;ADvBF,QC0BA;AD1BA,QC0BG;EACD,mBAAA;;AD3BF,QC8BA;AD9BA,QC8BM;AD9BN,QC8BW;EACT,iCAAA;EACA,cAAA;;ADhCF,QCmCA;EACE,cAAA;;ADpCF,QCuCA;ADvCA,QCuCK;EACH,cAAA;EACA,cAAA;EACA,kBAAA;EACA,wBAAA;;AD3CF,QC8CA;EACE,eAAA;;AD/CF,QCkDA;EACE,WAAA;;ADnDF,QCsDA;EACE,kBAAA;;ADvDF,QC0DA;AD1DA,QC2DA;AD3DA,QC4DA;AD5DA,QC6DA;AD7DA,QC8DA;EACE,oBAAA;EACA,eAAA;EACA,iBAAA;EACA,SAAA;EACA,YAAA;EACA,WAAA;;AACA,QAXF;AAWE,QAVF;AAUE,QATF;AASE,QARF;AAQE,QAPF;AAOK,QAXL,OAWM;AAAD,QAVL,MAUM;AAAD,QATL,SASM;AAAD,QARL,OAQM;AAAD,QAPL,SAOM;AAAQ,QAXd,OAWe;AAAD,QAVd,MAUe;AAAD,QATd,SASe;AAAD,QARd,OAQe;AAAD,QAPd,SAOe;EACX,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;ADzEJ,QC6EA;AD7EA,QC8EA;EACE,iBAAA;;AD/EF,QCkFA;ADlFA,QCmFA;EACE,oBAAA;;ADpFF,QCuFA;ADvFA,QCwFA;ADxFA,QCyFA;ADzFA,QC0FA;EACE,0BAAA;;AD3FF,QC8FA,OAAM;AD9FN,QC+FA,gBAAe;AD/Ff,QCgGA,eAAc;ADhGd,QCiGA,gBAAe;EACb,kBAAA;EACA,UAAA;;ADnGF,QCsGA,OAAM;ADtGN,QCuGA,gBAAe;ADvGf,QCwGA,eAAc;ADxGd,QCyGA,gBAAe;EACb,8BAAA;;AD1GF,QC6GA;EACE,8BAAA;;AD9GF,QCiHA;EACE,sBAAA;EACA,cAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EACA,mBAAA;;ADvHF,QC0HA;EACE,cAAA;;AD3HF,QC8HA;AD9HA,QC+HA;EACE,sBAAA;EACA,UAAA;;ADjIF,QCoIA,gBAAe;ADpIf,QCqIA,gBAAe;EACb,YAAA;;ADtIF,QCyIA;EACE,6BAAA;EACA,oBAAA;;AD3IF,QC8IA,gBAAe;EACb,wBAAA;;AD/IF,QCkJA;EACE,0BAAA;EACA,aAAA;;ADpJF,QCuJA;EACE,8BAAA;;ADxJF,QC2JA;EACE,sBAAA;EACA,cAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EACA,mBAAA;;ADjKF,QCoKA;EACE,wBAAA;;ADrKF,QCwKA;EACE,cAAA;;ADzKF,QC4KA;AD5KA,QC4KiB;EACf,sBAAA;EACA,UAAA;;AD9KF,QCiLA,cAAa;ADjLb,QCiL0C,cAAa;EACrD,YAAA;;ADlLF,QCqLA;EACE,6BAAA;EACA,oBAAA;;ADvLF,QC0LA,cAAa;EACX,wBAAA;;AD3LF,QC8LA;EACE,0BAAA;EACA,aAAA;;ADhMF,QCmMA;EACE,cAAA;;ADpMF,QCuMA;EACE,kBAAA;;ADxMF,QC2MA;EACE,aAAA;;AD5MF,QC+MA;EACE,aAAA;;ADhNF,QCmNA;ADnNA,QCmNO;ADnNP,QCmNgB;ADnNhB,QCmNuB;ADnNvB,QCmN8B;ADnN9B,QCmNqC;ADnNrC,QCmNyC;ADnNzC,QCmN6C;EAC3C,SAAA;EACA,UAAA;EACA,SAAA;EACA,eAAA;EACA,aAAA;EACA,sBAAA;EACA,gBAAA;;AD1NF,QC6NA;EACE,kBAAA;EACA,yBAAA;EACA,iBAAA;;ADhOF,QAIE;EACE,eAAA;EACA,SAAA;;AANJ,QAaE,MAAK,aAAa;EAChB,cAAA;;AAdJ,QAiBE,MAAK,aAAa;AAjBpB,QAiBiD,SAAQ;EACrD,cAAA;;AAlBJ,QAqBE,MAAK,aAAa;AArBpB,QAqB4C,SAAQ;EAChD,cAAA;;AAtBJ,QAyBE,MAAK,aAAa;AAzBpB,QAyB6C,SAAQ;EACjD,cAAA;;AA1BJ,QA6BE,MAAK,aAAa;AA7BpB,QA6BmC,SAAQ;EACvC,cAAA;;AA9BJ,QAiCE;EACE,qBAAA;EACA,cAAA;EACA,YAAA;EACA,gBAAA;;AAEA,QANF,EAMG;EACC,0BAAA;EACA,eAAA;EACA,mBAAA;;AA1CN,QA8CE;AA9CF,QA8CU;EACN,YAAA;EACA,gBAAA;EACA,UAAA;EACA,gBAAA;;AAlDJ,QAqDE;EACE,YAAA;EACA,SAAA;EACA,gBAAA;;AAxDJ,QA2DE;AA3DF,QA2DU;EACN,YAAA;;AA5DJ,QA+DE;EACE,kBAAA;EACA,gBAAA;EACA,MAAM,aAAN;EACA,mBAAmB,WAAnB;EACA,WAAW,WAAX;EACA,UAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;EACA,SAAA;;AA1EJ,QEnBA;EAEE,WAAA;EACA,sBAAA;EACA,mBAAA;EACA,yBAAA;;;;;AFcF,QEnBA,WAOE,GAAE,UAAU,IAAK;EACf,mBAAA;;AFWJ,QEnBA,WAYE;EACE,kBAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;;AFEJ,QEnBA,WAoBE,GAAE,IAAI;EACJ,4BAAA;;AFFJ,QEnBA,WAwBE;EACE,kBAAA;EACA,mBAAA;EAEA,gCAAA;EACA,gBAAA;EACA,gBAAA;;AAOF,QArCF,WAqCG;EACC,YAAA;;AAGF,QAzCF,WAyCG;EACC,YAAA;;AAGF,QA7CF,WA6CG;EACC,sBAAA;;AAGF,QAjDF,WAiDG;EACC,YAAA;;AAGF,QArDF,WAqDG;EACC,YAAA;;AAGF,QAzDF,WAyDG;AAAmB,QAzDtB,WAyDuB;EACnB,YAAA;;AAGF,QA7DF,WA6DG;EACC,qBAAA;;AAGF,QAjEF,WAiEG;AAAuB,QAjE1B,WAiE2B;EACvB,UAAA;EACA,aAAA;EACA,gBAAA;;AFjDJ,QEnBA,WAuEE;EACE,mBAAA;EACA,YAAA;;AAGF,QA5EF,WA4EG;EACC,aAAA;EACA,mBAAA;EACA,cAAA;EACA,eAAA;EACA,2BAAA;;AAEA,QAnFJ,WA4EG,2BAOG;EACA,yBAAA;;AFjEN,QGnBA;EACE,kBAAA;;AHkBF,QGfA,aAAY;EACV,SAAS,EAAT;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;;AHQF,QGLA,aAAY;EACV,SAAS,kBAAT;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;EACA,gBAAA;EACA,iBAAA;EACA,cAAA;EACA,mBAAA;EACA,eAAA;EACA,mBAAA;EACA,gBAAA;;AHPF,QGUA,iBAAgB;EACd,YAAA;EACA,YAAY,qFAAZ;;AHZF,QGeA,iBAAgB;EACd,YAAA;EACA,gBAAA;EACA,4BAAA;;AHlBF,QGqBA,qBAAoB;EAClB,SAAA;EACA,YAAY,oFAAZ;;AHvBF,QG0BA,qBAAoB;EAClB,SAAA;EACA,gBAAA;EACA,4BAAA;;AH7BF,QGgCA,aAAY,MAAM;AHhClB,QGiCA,aAAY,MAAM;EAChB,cAAA;;AHlCF,QInBA;EACE,eAAA;EACA,WAAA;EACA,SAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,sBAAA;EACA,sCAAA;EACA,8BAAA;EACA,YAAA;EACA,eAAA;EACA,SAAA;EACA,WAAA;EACA,mBAAA;EACA,eAAA;EACA,6BAAA;;AAEA,QArBF,iBAqBG;EACC,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;;AAEA,QA7BJ,iBAqBG,SAQE;EACC,eAAA;;AATJ,QArBF,iBAqBG,SAYC;EACE,kBAAA;EACA,YAAA;EACA,QAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,cAAA;EACA,mBAAA;EACA,WAAA;EACA,kBAAA;EACA,kBAAA;EACA,oBAAA;EACA,gBAAA;;AAGF,QAjDJ,iBAqBG,SA4BE;EACC,cAAA;EACA,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;;AAIJ,QA7DF,iBA6DG;AACD,QA9DF,iBA8DG;EACC,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,sBAAA;;AAGF,QAvEF,iBAuEG;EACC,gBAAA;EACA,kBAAA;;AAGF,QA5EF,iBA4EG;EACC,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAgB,ymEAAhB;;AAGF,QAnFF,iBAmFG;EACC,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,sBAAA;EACA,eAAA;EACA,UAAA;EACA,gBAAA;;AAGF,QA/FF,iBA+FG,MAAM,IAAI;EACT,kBAAA;;AAGF,QAnGF,iBAmGG;EACC,cAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;;AAGF,QA3GF,iBA2GG;EACC,aAAA;EACA,kBAAA;;AAGF,QAhHF,iBAgHG,aAAc;EACb,sBAAA;;AAGF,QApHF,iBAoHG;EACC,eAAA;EACA,cAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;;AAKA,QA9HJ,iBA4HG;AAEC,QA9HJ,iBA6HG;AACI,QA9HP,iBA4HG,OAEK,MAAM;AAAP,QA9HP,iBA6HG,MACK,MAAM;EACR,qBAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,oCAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;;AAKJ,QA9IF,iBA8IG,OAAO;AACR,QA/IF,iBA+IG,MAAM;AACP,QAhJF,iBAgJG,OAAO;AACR,QAjJF,iBAiJG,MAAM;EACL,aAAA;EACA,qBAAA;;AAGF,QAtJF,iBAsJG,OAAO;AACR,QAvJF,iBAuJG,MAAM;EACL,mBAAmB,eAAnB;EACA,WAAW,eAAX;;AAIA,QA7JJ,iBA4JG;AACI,QA7JP,iBA4JG,OACK,MAAM;EACR,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,yBAAA;;AAIJ,QAtKF,iBAsKG,OAAO;AACR,QAvKF,iBAuKG,OAAO;EACN,mBAAA;;AAGF,QA3KF,iBA2KG,OAAO;EACN,yBAAA;;AAIA,QAhLJ,iBA+KG;AACI,QAhLP,iBA+KG,MACK,MAAM;EACR,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,mBAAA;EACA,yBAAA;;AAGF,QAzLJ,iBA+KG,MAUE;AAAQ,QAzLb,iBA+KG,MAUW;EACR,mBAAA;EACA,yBAAA;;AAGF,QA9LJ,iBA+KG,MAeE;EACC,mBAAA;EACA,yBAAA;;AAGF,QAnMJ,iBA+KG,MAoBG;EACA,SAAA;;AAIJ,QAxMF,iBAwMG;EACC,eAAA;EACA,eAAA;EACA,eAAA;;AAGF,QA9MF,iBA8MG;AAAiB,QA9MpB,iBA8MqB;EACjB,kBAAA;EACA,mBAAA;;AAEA,QAlNJ,iBA8MG,eAIE;AAAD,QAlNJ,iBA8MqB,uBAIhB;EACC,SAAS,EAAT;EACA,kBAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,mBAAA;;AAOE,QAjOR,iBA8NG,gBACE,QACG,kCACC;AAAD,QAjOR,iBA8NG,gBACE,QACwC,0CACpC;EACC,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,mBAAmB,cAAnB;EACA,WAAW,cAAX;EACA,kBAAA;EACA,yBAAA;;AAMR,QAjPF,iBAiPG;EACC,eAAA;EACA,+BAAA;;AAFF,QAjPF,iBAiPG,uBAIC;EACE,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,WAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;;AAGF,QAnQJ,iBAiPG,uBAkBE;EACC,oCAAA;;AAIJ,QAxQF,iBAwQG;AAAS,QAxQZ,iBAwQa,OAAO;EAChB,WAAA;EACA,YAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAgB,ijBAAhB;;AAOA,QAvRJ,iBAwQG,OAeE;AAAD,QAvRJ,iBAwQa,OAAO,MAef;EACC,YAAA;EACA,aAAA;;AJtQN,QKnBA;EACE,eAAA;EACA,SAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,wCAAA;;ALSF,QKnBA,sBAYE;EACE,SAAA;EACA,UAAA;;ALKJ,QKDA;EACE,kBAAA;EACA,cAAA;EACA,WAAA;EACA,aAAA;EACA,eAAA;EACA,YAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;AAEA,QAfF,8BAeG;AAAQ,QAfX,8BAeY;AAAQ,QAfpB,8BAeqB;AAAQ,QAf7B,8BAe8B;AAAS,QAfvC,8BAewC,MAAM;AAAQ,QAftD,8BAeuD,OAAO;EAC1D,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;ALlBJ,QKsBA,8BAA6B;EAC3B,SAAS,EAAT;EACA,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,aAAA;;AL7BF,QKgCA,oCAAmC;EACjC,gBAAgB,+8FAAhB;;ALjCF,QKoCA,qCAAoC;EAClC,gBAAgB,unEAAhB;;ALrCF,QKwCA,uCAAsC;EACpC,gBAAgB,2iHAAhB;;ALzCF,QK4CA,8BAA6B;AL5C7B,QK6CA,8BAA6B;EAC3B,aAAA;EACA,mBAAA;;AL/CF,QKkDA,8BAA6B,MAAM;ALlDnC,QKmDA,8BAA6B,MAAM;EACjC,UAAA;;AAIA,QADF,8BACG;EACC,mBAAA;;AAEA,QAJJ,8BACG,4BAGE;EACC,UAAA;;AL5DN,QKiEA;EACE,aAAA;EACA,kBAAA;;AAIA,QADF,6BACG;EACC,yBAAA;;ALxEJ,QK8EA;EAEE,UAAA;EACA,SAAA;EACA,gBAAA;;ALlFF,QK8EA,iBAME;EACE,gBAAA;EACA,kBAAA;;ALtFJ,QK8EA,iBAME,sBAIE;EACE,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,WAAA;;AL5FN,QK8EA,iBAME,sBAIE,EAME;AL9FN,QK8EA,iBAME,sBAIE,EAMU;EACN,cAAA;;AL/FR,QK8EA,iBAME,sBAIE,EAUE;EACE,eAAA;EACA,cAAA;;AAIJ,QA1BJ,iBAME,sBAoBG,MACC;EACE,mBAAA;EACA,qBAAA;;AAIJ,QAjCJ,iBAME,sBA2BG,6BACC;EACE,mBAAA;;ALjHR,QKuHA;EAEE,aAAA;;AAnJD,QAiJD,8BAjJE;EAsJE,yBAAA;;AL5HJ,QAuGE;EACE,qBAAA;EACA,kBAAA;EACA,0DAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,sBAAA;EACA,SAAA;;AA/GJ,QAkHE;EACE,qBAAA;EACA,iBAAA;EACA,eAAA;EACA,yBAAA;EACA,kBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;;AAEA,QAVF,gBAUG;EACC,mBAAA;EACA,cAAA;;AAGF,QAfF,gBAeG;EACC,mBAAA;EACA,cAAA;;AAnIN,QAyIE;EAGE,qBAAA;EACA,sBAAA;EACA,iBAAA;EACA,qBAAA;EACA,gBAAA;EACA,gBAAA;EACA,kBAAA;;AAEA,QAXF,YAWG;EACC,gBAAA;EACA,eAAA;;AKhLL,QLmKC,YKnKA;ELoLI,aAAA;;AAGF,QApBF,YAoBG;EACC,eAAA;EACA,qBAAA;EACA,gBAAA;;AAGF,QA1BF,YA0BG;EACC,aAAA;EACA,gBAAA;;AAGF,QA/BF,YA+BG;EACC,YAAA;EACA,WAAA;EACA,YAAA;EACA,cAAA;;AKtML,QLmKC,YKnKA;EL0MI,gBAAgB,mCAAhB;;AK1ML,QLmKC,YKnKA;EL8MI,gBAAgB,oCAAhB;;AAGF,QA9CF,YA8CG;EACC,yBAAA;EACA,WAAA;EACA,yBAAA;;AAEA,QAnDJ,YA8CG,SAKE;EACC,eAAA;EACA,sBAAA;EACA,yBAAA;;AAIJ,QA1DF,YA0DG;EAEC,sBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,QAhEJ,YA0DG,QAME;EACC,sBAAA;EACA,WAAA;EACA,yBAAA;;AAIJ,QAvEF,YAuEG;EAEC,sBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,QA7EJ,YAuEG,QAME;EACC,sBAAA;EACA,WAAA;EACA,yBAAA;;AAzNR,QAkOE;EAGE,qBAAA;EACA,sBAAA;EACA,YAAA;EACA,iBAAA;;AKlQH,QL4PC,YK5PA;ELqQI,mBAAA;EACA,cAAA;EACA,yBAAA;;AKvQL,QL4PC,YK5PA;EL2QI,mBAAA;EACA,yBAAA;EACA,cAAA;;AAGF,QApBF,YAoBG;EACC,aAAA;EACA,gBAAA;;AAMJ,QAAC;EACC,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,SAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,gBAAA;EACA,gBAAA;;AAvQJ,QA0QE;EACE,cAAA;EACA,WAAA;EACA,SAAA;EACA,sBAAA;;AA9QJ,QAiRE;EACE,cAAA;EAEA,oBAAA;EACA,cAAA;EACA,eAAA;EACA,iBAAA;;AAvRJ,QAiRE,kBAQE;EACE,eAAA;EACA,SAAA;;AAEA,QAZJ,kBAQE,EAIG,IAAI;EACH,mBAAA;;AA9RR,QAiRE,kBAiBE;AAlSJ,QAiRE,kBAiB8B;EAC1B,mBAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,aAAA;EACA,mBAAA;EAEA,4BAAA;;AA1SN,QAiRE,kBA6BE;EACE,mBAAA;EAEA,2BAAA;EACA,iBAAA;;AAlTN,QAiRE,kBA6BE,iCAME;EACE,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,gBAAA;EACA,gCAAA;EACA,sBAAA;;AA1TR,QAiRE,kBA6BE,iCAME,GAQE;EACE,cAAA;EACA,eAAA;EACA,gBAAA;EACA,cAAA;EACA,yBAAA;;AAjUV,QAiRE,kBA6BE,iCAuBE;EACE,gBAAA;EACA,gBAAA;EACA,mBAAA;EACA,UAAA;;AAzUR,QAiRE,kBA6BE,iCAuBE,GAME;EACE,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,cAAA;EACA,UAAA;;AAEA,QAjER,kBA6BE,iCAuBE,GAME,GAOG;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;;AA9VZ,QAqWE;EAEE,oBAAA;;AAEA,QAJF,qBAIG;EACC,mBAAA;;AA1WN,QAqWE,qBK/XD;ELwYK,aAAA;EACA,aAAA;;AAKN,mBAAsC;EACpC,KACE;IACE,eAAA;;EAFJ,KAKE;IACE,sBAAA;;EANJ,KASE,uBACE;IACE,cAAA;;EAXN,KAeE,wBACE;IACE,eAAA;;EAjBN,KAeE,wBAKE;EApBJ,KAeE,wBAK2B;IACvB,eAAA;;EArBN,KAeE,wBASE;IACE,eAAA;IACA,cAAA;IACA,gBAAA;;EA3BN,KAeE,wBAgBE;IACE,WAAA;IACA,YAAA;IACA,qBAAA;IACA,sBAAA;;EAnCN,KAuCE;IACE,UAAA;;EAEA,KAHF;EAvCF,KAuCE,kBAGK;IACD,eAAA;;EA3CN,KAuCE,kBAOE;IACE,uBAAA;;EA/CN,KAmDE;IACE,eAAA;;EApDJ,KAuDE;IACE,SAAA;;EAxDJ,KAuDE,WAGE;IACE,eAAA;;EA3DN,KAuDE,WAOE,iBACE;IACE,eAAA;;EAIA,KAbN,WAOE,iBAKE;EACE,KAbN,WAOE,iBAK2B;EACvB,KAbN,WAOE,iBAKqD;EAnEzD,KAuDE,WAOE,iBAKE,wBACK;EApEX,KAuDE,WAOE,iBAK2B,yBACpB;EApEX,KAuDE,WAOE,iBAKqD,qBAC9C;IACD,eAAA;;EArEV,KAuDE,WAmBE;IACE,eAAA;;EA3EN,KAuDE,WAmBE,wBAGE;IACE,eAAA;IACA,oBAAA;IACA,gBAAA;IACA,iBAAA;;EAjFR,KAuDE,WA8BE,wBACE;IACE,eAAA;;EAvFR,KAuDE,WAoCE;IACE,UAAA;;EA5FN,KAuDE,WAoCE,0BAGE;EA9FN,KAuDE,WAoCE,0BAGkC;IAC9B,eAAA;;EA/FR,KAuDE,WAoCE,0BAOE;IACE,eAAA;;EAnGR,KAuDE,WAgDE;IACE,UAAA;;;AAMR,mBAAsC;EACpC,KACE;IACE,aAAA;;EAFJ,KAKE;IACE,cAAA","file":"assets-manager.css"}
|
1 |
+
{"version":3,"sources":["assets-manager.less","reset.less","tables.less","tooltip.less","float-panel.less","tabs.less"],"names":[],"mappings":";;;;;AAMA;AAAM;EACJ,2BAAA;;AAGF;EACE,iBAAA;EACA,yCAAA;EACA,sBAAA;;AAGF;EACE,oBAAA;EACA,qBAAA;EACA,gBAAA;;AAEA;AALF,IAKK;EACD,oBAAoB,4BAApB;;AAIJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,QCpBA;ADoBA,QCpBG,EAAC;ADoBJ,QCpBa,EAAC;EACZ,8BAAA;EACA,2BAAA;EACA,sBAAA;;AAGF;ADcA,QCbA;ADaA,QCbI;ADaJ,QCbQ;ADaR,QCbY;ADaZ,QCbgB;ADahB,QCZA;ADYA,QCZG;ADYH,QCZW;ADYX,QCZc;ADYd,QCXA;ADWA,QCXI;ADWJ,QCXO;ADWP,QCXU;ADWV,QCXe;ADWf,QCVA;ADUA,QCVS;ADUT,QCVa;ADUb,QCTA,MAAK;ADSL,QCTsB,MAAK;ADS3B,QCRA;EACE,oBAAoB,4BAApB;EACA,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;EACA,iBAAA;;ADEF,QCCA;EACE,cAAA;EACA,gBAAA;;ADHF,QCMA;EACE,uBAAA;EACA,SAAA;EACA,iBAAA;;ADTF,QCYA;EACE,iCAAA;EACA,cAAA;;ADdF,QCiBA;EACE,6BAAA;;ADlBF,QCqBA,KAAI;EACF,mBAAA;EACA,iCAAA;;ADvBF,QC0BA;AD1BA,QC0BG;EACD,mBAAA;;AD3BF,QC8BA;AD9BA,QC8BM;AD9BN,QC8BW;EACT,iCAAA;EACA,cAAA;;ADhCF,QCmCA;EACE,cAAA;;ADpCF,QCuCA;ADvCA,QCuCK;EACH,cAAA;EACA,cAAA;EACA,kBAAA;EACA,wBAAA;;AD3CF,QC8CA;EACE,eAAA;;AD/CF,QCkDA;EACE,WAAA;;ADnDF,QCsDA;EACE,kBAAA;;ADvDF,QC0DA;AD1DA,QC2DA;AD3DA,QC4DA;AD5DA,QC6DA;AD7DA,QC8DA;EACE,oBAAA;EACA,eAAA;EACA,iBAAA;EACA,SAAA;EACA,YAAA;EACA,WAAA;;AACA,QAXF;AAWE,QAVF;AAUE,QATF;AASE,QARF;AAQE,QAPF;AAOK,QAXL,OAWM;AAAD,QAVL,MAUM;AAAD,QATL,SASM;AAAD,QARL,OAQM;AAAD,QAPL,SAOM;AAAQ,QAXd,OAWe;AAAD,QAVd,MAUe;AAAD,QATd,SASe;AAAD,QARd,OAQe;AAAD,QAPd,SAOe;EACX,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;ADzEJ,QC6EA;AD7EA,QC8EA;EACE,iBAAA;;AD/EF,QCkFA;ADlFA,QCmFA;EACE,oBAAA;;ADpFF,QCuFA;ADvFA,QCwFA;ADxFA,QCyFA;ADzFA,QC0FA;EACE,0BAAA;;AD3FF,QC8FA,OAAM;AD9FN,QC+FA,gBAAe;AD/Ff,QCgGA,eAAc;ADhGd,QCiGA,gBAAe;EACb,kBAAA;EACA,UAAA;;ADnGF,QCsGA,OAAM;ADtGN,QCuGA,gBAAe;ADvGf,QCwGA,eAAc;ADxGd,QCyGA,gBAAe;EACb,8BAAA;;AD1GF,QC6GA;EACE,8BAAA;;AD9GF,QCiHA;EACE,sBAAA;EACA,cAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EACA,mBAAA;;ADvHF,QC0HA;EACE,cAAA;;AD3HF,QC8HA;AD9HA,QC+HA;EACE,sBAAA;EACA,UAAA;;ADjIF,QCoIA,gBAAe;ADpIf,QCqIA,gBAAe;EACb,YAAA;;ADtIF,QCyIA;EACE,6BAAA;EACA,oBAAA;;AD3IF,QC8IA,gBAAe;EACb,wBAAA;;AD/IF,QCkJA;EACE,0BAAA;EACA,aAAA;;ADpJF,QCuJA;EACE,8BAAA;;ADxJF,QC2JA;EACE,sBAAA;EACA,cAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EACA,mBAAA;;ADjKF,QCoKA;EACE,wBAAA;;ADrKF,QCwKA;EACE,cAAA;;ADzKF,QC4KA;AD5KA,QC4KiB;EACf,sBAAA;EACA,UAAA;;AD9KF,QCiLA,cAAa;ADjLb,QCiL0C,cAAa;EACrD,YAAA;;ADlLF,QCqLA;EACE,6BAAA;EACA,oBAAA;;ADvLF,QC0LA,cAAa;EACX,wBAAA;;AD3LF,QC8LA;EACE,0BAAA;EACA,aAAA;;ADhMF,QCmMA;EACE,cAAA;;ADpMF,QCuMA;EACE,kBAAA;;ADxMF,QC2MA;EACE,aAAA;;AD5MF,QC+MA;EACE,aAAA;;ADhNF,QCmNA;ADnNA,QCmNO;ADnNP,QCmNgB;ADnNhB,QCmNuB;ADnNvB,QCmN8B;ADnN9B,QCmNqC;ADnNrC,QCmNyC;ADnNzC,QCmN6C;EAC3C,SAAA;EACA,UAAA;EACA,SAAA;EACA,eAAA;EACA,aAAA;EACA,sBAAA;EACA,gBAAA;;AD1NF,QC6NA;EACE,kBAAA;EACA,yBAAA;EACA,iBAAA;;ADhOF,QAIE;EACE,eAAA;EACA,SAAA;;AANJ,QAaE,MAAK,aAAa;EAChB,cAAA;;AAdJ,QAiBE,MAAK,aAAa;AAjBpB,QAiBiD,SAAQ;EACrD,cAAA;;AAlBJ,QAqBE,MAAK,aAAa;AArBpB,QAqB4C,SAAQ;EAChD,cAAA;;AAtBJ,QAyBE,MAAK,aAAa;AAzBpB,QAyB6C,SAAQ;EACjD,cAAA;;AA1BJ,QA6BE,MAAK,aAAa;AA7BpB,QA6BmC,SAAQ;EACvC,cAAA;;AA9BJ,QAiCE;EACE,qBAAA;EACA,cAAA;EACA,YAAA;EACA,gBAAA;;AAEA,QANF,EAMG;EACC,0BAAA;EACA,eAAA;EACA,mBAAA;;AA1CN,QA8CE;AA9CF,QA8CU;EACN,YAAA;EACA,gBAAA;EACA,UAAA;EACA,gBAAA;;AAlDJ,QAqDE;EACE,YAAA;EACA,SAAA;EACA,gBAAA;;AAxDJ,QA2DE;AA3DF,QA2DU;EACN,YAAA;;AA5DJ,QA+DE;EACE,kBAAA;EACA,gBAAA;EACA,MAAM,aAAN;EACA,mBAAmB,WAAnB;EACA,WAAW,WAAX;EACA,UAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;EACA,SAAA;;AA1EJ,QEnBA;EAEE,WAAA;EACA,sBAAA;EACA,mBAAA;EACA,yBAAA;;AAEA,QAPF,WAOG;EACC,gBAAA;;AADF,QAPF,WAOG,aAGC;AAHF,QAPF,WAOG,aAGO;EACJ,0BAAA;;AAJJ,QAPF,WAOG,aAOC;EACE,UAAA;EACA,0BAAA;;AFGN,QEnBA,WAoBE,GAAE,UAAU,IAAK;EACf,mBAAA;;AFFJ,QEnBA,WAyBE;EACE,kBAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;;AFXJ,QEnBA,WAiCE,GAAE,IAAI;EACJ,4BAAA;;AAIF,QAtCF,WAsCG;EACC,YAAA;;AAGF,QA1CF,WA0CG;EACC,YAAA;;AAGF,QA9CF,WA8CG;EACC,YAAA;;AAGF,QAlDF,WAkDG;EACC,YAAA;;AAGF,QAtDF,WAsDG;AAAmB,QAtDtB,WAsDuB;EACnB,YAAA;;AFpCJ,QEnBA,WA0DE;EACE,kBAAA;EACA,mBAAA;EAGA,gBAAA;EACA,gBAAA;;AAGF,QAnEF,WAmEG;EACC,sBAAA;;AAGF,QAvEF,WAuEG;EACC,qBAAA;;AAGF,QA3EF,WA2EG;AAAuB,QA3E1B,WA2E2B;EACvB,UAAA;EACA,aAAA;EACA,gBAAA;;AF3DJ,QEnBA,WAiFE;EACE,mBAAA;EACA,YAAA;;AAGF,QAtFF,WAsFG;EACC,aAAA;EACA,mBAAA;EACA,cAAA;EACA,eAAA;EACA,2BAAA;;AAEA,QA7FJ,WAsFG,2BAOG;EACA,yBAAA;;AF3EN,QGnBA;EACE,kBAAA;;AHkBF,QGfA,aAAY;EACV,SAAS,EAAT;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;;AHQF,QGLA,aAAY;EACV,SAAS,kBAAT;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;EACA,gBAAA;EACA,iBAAA;EACA,cAAA;EACA,mBAAA;EACA,eAAA;EACA,mBAAA;EACA,gBAAA;;AHPF,QGUA,iBAAgB;EACd,YAAA;EACA,YAAY,qFAAZ;;AHZF,QGeA,iBAAgB;EACd,YAAA;EACA,gBAAA;EACA,4BAAA;;AHlBF,QGqBA,qBAAoB;EAClB,SAAA;EACA,YAAY,oFAAZ;;AHvBF,QG0BA,qBAAoB;EAClB,SAAA;EACA,gBAAA;EACA,4BAAA;;AH7BF,QGgCA,aAAY,MAAM;AHhClB,QGiCA,aAAY,MAAM;EAChB,cAAA;;AHlCF,QInBA;EACE,eAAA;EACA,WAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,sBAAA;EACA,sCAAA;EACA,8BAAA;EACA,YAAA;EACA,eAAA;EACA,SAAA;EACA,WAAA;EACA,mBAAA;EACA,eAAA;EACA,6BAAA;;AAEA,QArBF,iBAqBG;EACC,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;;AAEA,QA7BJ,iBAqBG,SAQE;EACC,eAAA;;AATJ,QArBF,iBAqBG,SAYC;EACE,kBAAA;EACA,YAAA;EACA,QAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,cAAA;EACA,mBAAA;EACA,WAAA;EACA,kBAAA;EACA,kBAAA;EACA,oBAAA;EACA,gBAAA;;AAGF,QAjDJ,iBAqBG,SA4BE;EACC,cAAA;EACA,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;;AAIJ,QA7DF,iBA6DG;AACD,QA9DF,iBA8DG;EACC,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,sBAAA;;AAGF,QAvEF,iBAuEG;EACC,gBAAA;EACA,kBAAA;;AAGF,QA5EF,iBA4EG;EACC,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAgB,ymEAAhB;;AAGF,QAnFF,iBAmFG;EACC,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,sBAAA;EACA,eAAA;EACA,UAAA;EACA,gBAAA;;AAGF,QA/FF,iBA+FG,MAAM,IAAI;EACT,kBAAA;;AAGF,QAnGF,iBAmGG;EACC,cAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;;AAGF,QA3GF,iBA2GG;EACC,aAAA;EACA,kBAAA;;AAGF,QAhHF,iBAgHG,aAAc;EACb,sBAAA;;AAGF,QApHF,iBAoHG;EACC,eAAA;EACA,cAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;;AAKA,QA9HJ,iBA4HG;AAEC,QA9HJ,iBA6HG;AACI,QA9HP,iBA4HG,OAEK,MAAM;AAAP,QA9HP,iBA6HG,MACK,MAAM;EACR,qBAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,oCAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;;AAKJ,QA9IF,iBA8IG,OAAO;AACR,QA/IF,iBA+IG,MAAM;AACP,QAhJF,iBAgJG,OAAO;AACR,QAjJF,iBAiJG,MAAM;EACL,aAAA;EACA,qBAAA;;AAGF,QAtJF,iBAsJG,OAAO;AACR,QAvJF,iBAuJG,MAAM;EACL,mBAAmB,eAAnB;EACA,WAAW,eAAX;;AAIA,QA7JJ,iBA4JG;AACI,QA7JP,iBA4JG,OACK,MAAM;EACR,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,yBAAA;;AAIJ,QAtKF,iBAsKG,OAAO;AACR,QAvKF,iBAuKG,OAAO;EACN,mBAAA;;AAGF,QA3KF,iBA2KG,OAAO;EACN,yBAAA;;AAIA,QAhLJ,iBA+KG;AACI,QAhLP,iBA+KG,MACK,MAAM;EACR,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,mBAAA;EACA,yBAAA;;AAGF,QAzLJ,iBA+KG,MAUE;AAAQ,QAzLb,iBA+KG,MAUW;EACR,mBAAA;EACA,yBAAA;;AAGF,QA9LJ,iBA+KG,MAeE;EACC,mBAAA;EACA,yBAAA;;AAGF,QAnMJ,iBA+KG,MAoBG;EACA,SAAA;;AAIJ,QAxMF,iBAwMG;EACC,eAAA;EACA,eAAA;EACA,eAAA;;AAGF,QA9MF,iBA8MG;AAAiB,QA9MpB,iBA8MqB;EACjB,kBAAA;EACA,mBAAA;;AAEA,QAlNJ,iBA8MG,eAIE;AAAD,QAlNJ,iBA8MqB,uBAIhB;EACC,SAAS,EAAT;EACA,kBAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,mBAAA;;AAOE,QAjOR,iBA8NG,gBACE,QACG,kCACC;AAAD,QAjOR,iBA8NG,gBACE,QACwC,0CACpC;EACC,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,mBAAmB,cAAnB;EACA,WAAW,cAAX;EACA,kBAAA;EACA,yBAAA;;AAMR,QAjPF,iBAiPG;EACC,eAAA;EACA,+BAAA;;AAFF,QAjPF,iBAiPG,uBAIC;EACE,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,WAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;;AAGF,QAnQJ,iBAiPG,uBAkBE;EACC,oCAAA;;AAIJ,QAxQF,iBAwQG;AAAS,QAxQZ,iBAwQa,OAAO;EAChB,WAAA;EACA,YAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAgB,ijBAAhB;;AAOA,QAvRJ,iBAwQG,OAeE;AAAD,QAvRJ,iBAwQa,OAAO,MAef;EACC,YAAA;EACA,aAAA;;AJtQN,QKnBA;EACE,eAAA;EACA,SAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,wCAAA;;ALSF,QKnBA,sBAYE;EACE,SAAA;EACA,UAAA;;ALKJ,QKDA;EACE,kBAAA;EACA,cAAA;EACA,WAAA;EACA,aAAA;EACA,eAAA;EACA,YAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;AAEA,QAfF,8BAeG;AAAQ,QAfX,8BAeY;AAAQ,QAfpB,8BAeqB;AAAQ,QAf7B,8BAe8B;AAAS,QAfvC,8BAewC,MAAM;AAAQ,QAftD,8BAeuD,OAAO;EAC1D,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;ALlBJ,QKsBA,8BAA6B;EAC3B,SAAS,EAAT;EACA,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,aAAA;;AL7BF,QKgCA,oCAAmC;EACjC,gBAAgB,+8FAAhB;;ALjCF,QKoCA,qCAAoC;EAClC,gBAAgB,unEAAhB;;ALrCF,QKwCA,uCAAsC;EACpC,gBAAgB,2iHAAhB;;ALzCF,QK4CA,8BAA6B;AL5C7B,QK6CA,8BAA6B;EAC3B,aAAA;EACA,mBAAA;;AL/CF,QKkDA,8BAA6B,MAAM;ALlDnC,QKmDA,8BAA6B,MAAM;EACjC,UAAA;;AAIA,QADF,8BACG;EACC,mBAAA;;AAEA,QAJJ,8BACG,4BAGE;EACC,UAAA;;AL5DN,QKiEA;EACE,aAAA;EACA,kBAAA;;AAIA,QADF,6BACG;EACC,yBAAA;;ALxEJ,QK8EA;EAEE,UAAA;EACA,SAAA;EACA,gBAAA;;ALlFF,QK8EA,iBAME;EACE,kBAAA;EACA,gBAAA;EACA,kBAAA;;ALvFJ,QK8EA,iBAME,sBAKE;EACE,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,WAAA;;AL7FN,QK8EA,iBAME,sBAKE,EAME;AL/FN,QK8EA,iBAME,sBAKE,EAMU;EACN,cAAA;;ALhGR,QK8EA,iBAME,sBAKE,EAUE;EACE,eAAA;EACA,cAAA;;AAIJ,QA3BJ,iBAME,sBAqBG,MACC;EACE,mBAAA;EACA,qBAAA;;AAIJ,QAlCJ,iBAME,sBA4BG,6BACC;EACE,mBAAA;;AAIJ,QAxCJ,iBAME,sBAkCG,kBAAkB;AACnB,QAzCJ,iBAME,sBAmCG,0BAA0B;AAC3B,QA1CJ,iBAME,sBAoCG,0BAA0B;EACzB,cAAA;EACA,SAAS,EAAT;EACA,kBAAA;EACA,YAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;;AAGF,QAzDJ,iBAME,sBAmDG,0BAA0B;AAC3B,QA1DJ,iBAME,sBAoDG,0BAA0B;EACzB,mBAAA;;ALzIN,QK8IA;EAEE,aAAA;;AA1KD,QAwKD,8BAxKE;EA6KE,yBAAA;;ALnJJ,QAuGE;EACE,qBAAA;EACA,kBAAA;EACA,0DAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,sBAAA;EACA,SAAA;;AA/GJ,QAkHE;EACE,qBAAA;EACA,iBAAA;EACA,eAAA;EACA,yBAAA;EACA,kBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;;AAEA,QAVF,gBAUG;EACC,mBAAA;EACA,cAAA;;AAGF,QAfF,gBAeG;EACC,mBAAA;EACA,cAAA;;AAnIN,QAuIE;EACE,UAAA;;AAxIJ,QA2IE;EACE,WAAA;;AA5IJ,QAiJE;EAGE,qBAAA;EACA,sBAAA;EACA,iBAAA;EACA,qBAAA;EACA,gBAAA;EACA,gBAAA;EACA,kBAAA;;AAEA,QAXF,YAWG;EACC,gBAAA;EACA,eAAA;;AKxLL,QL2KC,YK3KA;EL4LI,aAAA;;AAGF,QApBF,YAoBG;EACC,eAAA;EACA,qBAAA;EACA,gBAAA;;AAGF,QA1BF,YA0BG;EACC,aAAA;EACA,gBAAA;;AAGF,QA/BF,YA+BG;EACC,YAAA;EACA,WAAA;EACA,YAAA;EACA,cAAA;;AK9ML,QL2KC,YK3KA;ELkNI,gBAAgB,mCAAhB;;AKlNL,QL2KC,YK3KA;ELsNI,gBAAgB,oCAAhB;;AAGF,QA9CF,YA8CG;EACC,yBAAA;EACA,WAAA;EACA,yBAAA;;AAEA,QAnDJ,YA8CG,SAKE;EACC,eAAA;EACA,sBAAA;EACA,yBAAA;;AAIJ,QA1DF,YA0DG;EAEC,sBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,QAhEJ,YA0DG,QAME;EACC,sBAAA;EACA,WAAA;EACA,yBAAA;;AAIJ,QAvEF,YAuEG;EAEC,sBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,QA7EJ,YAuEG,QAME;EACC,sBAAA;EACA,WAAA;EACA,yBAAA;;AAjOR,QA0OE;EAGE,qBAAA;EACA,sBAAA;EACA,YAAA;EACA,iBAAA;;AK1QH,QLoQC,YKpQA;EL6QI,mBAAA;EACA,cAAA;EACA,yBAAA;;AK/QL,QLoQC,YKpQA;ELmRI,mBAAA;EACA,yBAAA;EACA,cAAA;;AAGF,QApBF,YAoBG;EACC,aAAA;EACA,gBAAA;;AAMJ,QAAC;EACC,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,gBAAA;EACA,gBAAA;;AA/QJ,QAkRE;EACE,cAAA;EACA,WAAA;EACA,SAAA;EACA,sBAAA;;AAtRJ,QAyRE;EACE,cAAA;EAEA,oBAAA;EACA,cAAA;EACA,eAAA;EACA,iBAAA;;AA/RJ,QAyRE,kBAQE;EACE,eAAA;EACA,SAAA;;AAEA,QAZJ,kBAQE,EAIG,IAAI;EACH,mBAAA;;AAtSR,QAyRE,kBAiBE;AA1SJ,QAyRE,kBAiB8B;EAC1B,mBAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,aAAA;EACA,mBAAA;EAEA,4BAAA;;AAlTN,QAyRE,kBA6BE;EACE,mBAAA;EAEA,2BAAA;EACA,iBAAA;;AA1TN,QAyRE,kBA6BE,iCAME;EACE,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,gBAAA;EACA,gCAAA;EACA,sBAAA;;AAlUR,QAyRE,kBA6BE,iCAME,GAQE;EACE,cAAA;EACA,eAAA;EACA,gBAAA;EACA,cAAA;EACA,yBAAA;;AAzUV,QAyRE,kBA6BE,iCAuBE;EACE,gBAAA;EACA,gBAAA;EACA,mBAAA;EACA,UAAA;;AAjVR,QAyRE,kBA6BE,iCAuBE,GAME;EACE,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,cAAA;EACA,UAAA;;AAEA,QAjER,kBA6BE,iCAuBE,GAME,GAOG;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;;AAtWZ,QA6WE;EAEE,oBAAA;;AAEA,QAJF,qBAIG;EACC,mBAAA;;AAlXN,QA6WE,qBKvYD;ELgZK,aAAA;EACA,aAAA;;AAKN,mBAAsC;EACpC,KACE;IACE,eAAA;;EAFJ,KAKE;IACE,sBAAA;;EANJ,KASE,uBACE;IACE,cAAA;;EAXN,KAeE,wBACE;IACE,eAAA;;EAjBN,KAeE,wBAKE;EApBJ,KAeE,wBAK2B;IACvB,eAAA;;EArBN,KAeE,wBASE;IACE,eAAA;IACA,cAAA;IACA,gBAAA;;EA3BN,KAeE,wBAgBE;IACE,WAAA;IACA,YAAA;IACA,qBAAA;IACA,sBAAA;;EAnCN,KAuCE;IACE,UAAA;;EAEA,KAHF;EAvCF,KAuCE,kBAGK;IACD,eAAA;;EA3CN,KAuCE,kBAOE;IACE,uBAAA;;EA/CN,KAmDE;IACE,eAAA;;EApDJ,KAuDE;IACE,SAAA;;EAxDJ,KAuDE,WAGE;IACE,eAAA;;EA3DN,KAuDE,WAOE,iBACE;IACE,eAAA;;EAIA,KAbN,WAOE,iBAKE;EACE,KAbN,WAOE,iBAK2B;EACvB,KAbN,WAOE,iBAKqD;EAnEzD,KAuDE,WAOE,iBAKE,wBACK;EApEX,KAuDE,WAOE,iBAK2B,yBACpB;EApEX,KAuDE,WAOE,iBAKqD,qBAC9C;IACD,eAAA;;EArEV,KAuDE,WAmBE;IACE,eAAA;;EA3EN,KAuDE,WAmBE,wBAGE;IACE,eAAA;IACA,oBAAA;IACA,gBAAA;IACA,iBAAA;;EAjFR,KAuDE,WA8BE,wBACE;IACE,eAAA;;EAvFR,KAuDE,WAoCE;IACE,UAAA;;EA5FN,KAuDE,WAoCE,0BAGE;EA9FN,KAuDE,WAoCE,0BAGkC;IAC9B,eAAA;;EA/FR,KAuDE,WAoCE,0BAOE;IACE,eAAA;;EAnGR,KAuDE,WAgDE;IACE,UAAA;;;AAMR,mBAAsC;EACpC,KACE;IACE,aAAA;;EAFJ,KAKE;IACE,cAAA","file":"assets-manager.css"}
|
components/assets-manager/assets/css/assets-manager.less
CHANGED
@@ -159,8 +159,16 @@ body {
|
|
159 |
}
|
160 |
}
|
161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
// BUTTONS
|
163 |
-
//
|
164 |
.wam-button {
|
165 |
@buttonClass: ~"wam-button";
|
166 |
|
@@ -246,10 +254,10 @@ body {
|
|
246 |
}
|
247 |
}
|
248 |
|
249 |
-
//
|
250 |
|
251 |
// CONTROLS
|
252 |
-
//
|
253 |
.wam-select {
|
254 |
@selectClass: ~"wam-select";
|
255 |
|
@@ -282,7 +290,7 @@ body {
|
|
282 |
min-width: 1365px;
|
283 |
position: fixed;
|
284 |
z-index: 99999999;
|
285 |
-
top:
|
286 |
bottom: 0;
|
287 |
left: 0;
|
288 |
right: 0;
|
159 |
}
|
160 |
}
|
161 |
|
162 |
+
.wam-colors--red {
|
163 |
+
color: red;
|
164 |
+
}
|
165 |
+
|
166 |
+
.wam-colors--grey {
|
167 |
+
color: grey;
|
168 |
+
}
|
169 |
+
|
170 |
// BUTTONS
|
171 |
+
// ------------------------------------------------------------
|
172 |
.wam-button {
|
173 |
@buttonClass: ~"wam-button";
|
174 |
|
254 |
}
|
255 |
}
|
256 |
|
257 |
+
// -------------------------------------------------------------
|
258 |
|
259 |
// CONTROLS
|
260 |
+
// -------------------------------------------------------------
|
261 |
.wam-select {
|
262 |
@selectClass: ~"wam-select";
|
263 |
|
290 |
min-width: 1365px;
|
291 |
position: fixed;
|
292 |
z-index: 99999999;
|
293 |
+
top: 0;
|
294 |
bottom: 0;
|
295 |
left: 0;
|
296 |
right: 0;
|
components/assets-manager/assets/css/float-panel.less
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
.wam-float-panel {
|
9 |
position: fixed;
|
10 |
z-index: 50;
|
11 |
-
top:
|
12 |
right: 0;
|
13 |
left: 0;
|
14 |
width: 100%;
|
8 |
.wam-float-panel {
|
9 |
position: fixed;
|
10 |
z-index: 50;
|
11 |
+
top: 0;
|
12 |
right: 0;
|
13 |
left: 0;
|
14 |
width: 100%;
|
components/assets-manager/assets/css/tables.css
CHANGED
@@ -5,13 +5,24 @@
|
|
5 |
* @copyright Webcraftic 26.08.2019
|
6 |
*/
|
7 |
.wam-table {
|
|
|
|
|
8 |
table-layout: fixed;
|
9 |
border-collapse: collapse;
|
10 |
-
margin: 0 30px;
|
11 |
}
|
12 |
-
.wam-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
background: #f9f9f9;
|
14 |
-
border-bottom: 15px solid white;
|
15 |
}
|
16 |
.wam-table th {
|
17 |
padding: 12px 10px;
|
@@ -23,374 +34,52 @@
|
|
23 |
.wam-table th:not(:last-child) {
|
24 |
border-right: 2px solid #FFF;
|
25 |
}
|
26 |
-
.wam-
|
27 |
-
|
28 |
-
border-bottom: 1px solid #ECEDED;
|
29 |
-
text-align: left;
|
30 |
-
background: none;
|
31 |
-
box-shadow: none;
|
32 |
-
}
|
33 |
-
.wam-table td:first-child {
|
34 |
-
width: 20%;
|
35 |
-
}
|
36 |
-
.wam-table__th-plugins-list {
|
37 |
-
width: 350px;
|
38 |
-
}
|
39 |
-
.wam-table__td-plugin-settings {
|
40 |
-
width: 80%;
|
41 |
-
padding: 15px;
|
42 |
-
text-align: left;
|
43 |
-
}
|
44 |
-
.wam-table__alternate th {
|
45 |
-
background: #eceded;
|
46 |
-
font-weight: 600;
|
47 |
-
}
|
48 |
-
.wam-table__column_switch {
|
49 |
-
vertical-align: top;
|
50 |
-
width: 10%;
|
51 |
-
}
|
52 |
-
th.wam-table__column_switch {
|
53 |
-
padding: 0 !important;
|
54 |
-
}
|
55 |
-
th.wam-table__column_switch em {
|
56 |
-
display: block;
|
57 |
-
padding: 10px 12px;
|
58 |
-
font-style: normal;
|
59 |
-
font-size: 11px;
|
60 |
-
font-weight: lighter;
|
61 |
-
}
|
62 |
-
th.wam-table__column_switch b {
|
63 |
-
display: block;
|
64 |
-
padding: 10px 12px;
|
65 |
-
font-weight: 600;
|
66 |
-
}
|
67 |
-
.wam-table__column_condition {
|
68 |
-
width: 30%;
|
69 |
}
|
70 |
-
.wam-
|
71 |
width: 100px;
|
72 |
-
text-align: center;
|
73 |
}
|
74 |
-
.wam-table__th-
|
75 |
-
|
76 |
-
position: relative;
|
77 |
-
font-size: 13px;
|
78 |
-
background: #e0e0e0;
|
79 |
-
color: #444444;
|
80 |
-
padding: 5px 10px;
|
81 |
-
margin-top: 0;
|
82 |
-
}
|
83 |
-
.wam-table__th-external-plugin .wam-help-hint {
|
84 |
-
display: block;
|
85 |
-
position: absolute;
|
86 |
-
top: 4px;
|
87 |
-
right: 4px;
|
88 |
-
line-height: 1.2;
|
89 |
-
}
|
90 |
-
.wam-table__loaded-state {
|
91 |
-
position: relative;
|
92 |
-
display: inline-block;
|
93 |
-
width: 30px;
|
94 |
-
height: 30px;
|
95 |
-
vertical-align: middle;
|
96 |
-
border-radius: 20px;
|
97 |
-
}
|
98 |
-
.wam-table__loaded-state::after {
|
99 |
-
content: "";
|
100 |
-
position: absolute;
|
101 |
-
top: 9px;
|
102 |
-
left: 8px;
|
103 |
-
width: 15px;
|
104 |
-
height: 7px;
|
105 |
-
-webkit-transform: rotate(-45deg);
|
106 |
-
transform: rotate(-45deg);
|
107 |
-
border: solid #FFF;
|
108 |
-
border-width: 0 0 2px 2px;
|
109 |
-
}
|
110 |
-
.wam-table__loaded-super-no {
|
111 |
-
background: #C8CFD7 !important;
|
112 |
-
}
|
113 |
-
.wam-table__loaded-no {
|
114 |
-
background: #C8CFD7;
|
115 |
-
}
|
116 |
-
.wam-table__loaded-yes {
|
117 |
-
background: #8BC34A;
|
118 |
-
}
|
119 |
-
.wam-table__size {
|
120 |
-
width: 75px;
|
121 |
}
|
122 |
-
.wam-
|
123 |
-
|
124 |
-
font-size: 15px;
|
125 |
-
line-height: 20px;
|
126 |
}
|
127 |
-
.wam-
|
128 |
-
|
|
|
129 |
}
|
130 |
-
|
|
|
|
|
131 |
text-align: left;
|
|
|
132 |
}
|
133 |
-
.wam-
|
134 |
-
|
135 |
-
text-transform: uppercase;
|
136 |
-
font-size: 16px;
|
137 |
-
font-weight: bold;
|
138 |
-
}
|
139 |
-
.wam-table__item-author {
|
140 |
-
margin: 0 0 4px;
|
141 |
-
}
|
142 |
-
.wam-table__script-name {
|
143 |
-
color: #737373;
|
144 |
-
font-size: 16px;
|
145 |
-
font-weight: bold;
|
146 |
-
}
|
147 |
-
.wam-table__script-name b {
|
148 |
-
display: inline-block;
|
149 |
-
padding: 5px 10px;
|
150 |
-
font-size: 13px;
|
151 |
-
text-transform: uppercase;
|
152 |
-
text-align: center;
|
153 |
-
border-radius: 3px;
|
154 |
-
vertical-align: middle;
|
155 |
-
margin-right: 15px;
|
156 |
-
}
|
157 |
-
.wam-table__script-name b.wbcr-wgz-resource-type-js {
|
158 |
-
background: #ffcb1e;
|
159 |
-
color: #403102;
|
160 |
-
}
|
161 |
-
.wam-table__script-name b.wbcr-wgz-resource-type-css {
|
162 |
-
background: #9757a5;
|
163 |
-
color: #ffffff;
|
164 |
-
}
|
165 |
-
.wam-table__script-name:not(:last-child) {
|
166 |
-
margin-bottom: 5px;
|
167 |
-
}
|
168 |
-
.wam-table__script-path {
|
169 |
-
color: #BBBBBA;
|
170 |
-
}
|
171 |
-
.wam-table__script-path,
|
172 |
-
.wam-table__script-path a {
|
173 |
-
font-size: 12px;
|
174 |
-
}
|
175 |
-
.wam-table__script-version {
|
176 |
-
color: #BBBBBA;
|
177 |
-
font-size: 12px;
|
178 |
-
padding: 5px 0;
|
179 |
-
}
|
180 |
-
.wam-table__state {
|
181 |
-
width: 200px;
|
182 |
-
}
|
183 |
-
.wam-table__turn-on {
|
184 |
-
width: 500px;
|
185 |
-
}
|
186 |
-
.wam-table__note {
|
187 |
-
color: #BBB;
|
188 |
-
font-style: italic;
|
189 |
-
line-height: 21px;
|
190 |
-
}
|
191 |
-
.wam-table__note p {
|
192 |
-
margin: 0;
|
193 |
-
}
|
194 |
-
.wam-table__note p:not(:last-child) {
|
195 |
-
margin-bottom: 12px;
|
196 |
-
}
|
197 |
-
.wam-table__select-wrapper::before,
|
198 |
-
.wam-table__select-wrapper::after {
|
199 |
-
display: none !important;
|
200 |
-
}
|
201 |
-
.wam-table__select {
|
202 |
-
padding: 8px 28px 8px 10px;
|
203 |
-
color: #4B4E51;
|
204 |
-
border: none;
|
205 |
-
border-radius: 3px;
|
206 |
-
background: #F2F3F3 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFNJREFUeNpinDZtWgQDA0MjEKsxYAeLmDIzM1cAGbNwKQDKxzNBOXOBOBeI76ArADEY////DxedPn16EpCaBMRrYQpAgAXN+I1ALA1U0IwsCBBgADmdFtA7IxcEAAAAAElFTkSuQmCC") no-repeat right 10px top 50%;
|
207 |
-
font-size: 13px;
|
208 |
-
-webkit-appearance: none;
|
209 |
-
-moz-appearance: none;
|
210 |
-
appearance: none;
|
211 |
-
}
|
212 |
-
.wam-table__select:not(:last-child) {
|
213 |
-
margin-bottom: 16px;
|
214 |
-
}
|
215 |
-
.wam-table__select:focus {
|
216 |
-
outline: none;
|
217 |
-
background-color: #E5E7E7;
|
218 |
-
box-shadow: 0 0 0 2px rgba(255, 203, 30, 0.5);
|
219 |
-
}
|
220 |
-
.wam-table__select::-ms-expand {
|
221 |
-
display: none;
|
222 |
-
}
|
223 |
-
.wam-table__select-pro {
|
224 |
-
color: rgba(242, 39, 20, 0.34);
|
225 |
-
}
|
226 |
-
.wam-table__label {
|
227 |
-
display: block;
|
228 |
-
margin: 15px 0 15px 10px;
|
229 |
-
padding-bottom: 5px;
|
230 |
-
color: #414B56;
|
231 |
-
font-size: 13px;
|
232 |
-
font-weight: bold;
|
233 |
-
border-bottom: 2px solid #efefef;
|
234 |
-
}
|
235 |
-
.wam-table__label .wam-help-hint {
|
236 |
-
vertical-align: bottom;
|
237 |
-
}
|
238 |
-
.wam-table__wrap-options {
|
239 |
-
height: 150px;
|
240 |
-
overflow-y: scroll;
|
241 |
-
border: 1px solid #eceded;
|
242 |
-
background: #f5f5f5;
|
243 |
-
padding: 10px;
|
244 |
-
margin-left: 10px;
|
245 |
-
}
|
246 |
-
.wam-table__options {
|
247 |
-
display: block;
|
248 |
-
max-width: 380px;
|
249 |
-
margin: 0 0 -15px 10px;
|
250 |
-
padding: 0;
|
251 |
-
list-style: none;
|
252 |
-
color: #646D78;
|
253 |
-
font-size: 13px;
|
254 |
-
}
|
255 |
-
.wam-table__options-item-group {
|
256 |
-
margin: 10px 0 5px;
|
257 |
-
}
|
258 |
-
.wam-table__options-item {
|
259 |
-
display: block;
|
260 |
-
padding: 0 20px 5px 0;
|
261 |
-
}
|
262 |
-
.wam-table__checkbox {
|
263 |
-
cursor: pointer;
|
264 |
-
}
|
265 |
-
.wam-table__checkbox-text {
|
266 |
-
position: relative;
|
267 |
-
padding: 0 0 0 20px;
|
268 |
-
color: #6f7275;
|
269 |
-
font-size: 13px;
|
270 |
-
}
|
271 |
-
.wam-table__checkbox-text::before {
|
272 |
-
content: "";
|
273 |
-
position: absolute;
|
274 |
-
top: 1px;
|
275 |
-
left: 0;
|
276 |
-
width: 13px;
|
277 |
-
height: 13px;
|
278 |
-
border-radius: 2px;
|
279 |
-
background: #c8cfd7;
|
280 |
-
}
|
281 |
-
.wam-table__checkbox-input:checked ~ .wam-table__checkbox-text {
|
282 |
-
color: #646D78;
|
283 |
-
}
|
284 |
-
.wam-table__checkbox-input:checked ~ .wam-table__checkbox-text::before {
|
285 |
-
background: #FFCB1E;
|
286 |
-
}
|
287 |
-
.wam-table__checkbox-input:checked ~ .wam-table__checkbox-text::after {
|
288 |
-
content: "";
|
289 |
-
position: absolute;
|
290 |
-
top: 5px;
|
291 |
-
left: 4px;
|
292 |
-
width: 6px;
|
293 |
-
height: 4px;
|
294 |
-
-webkit-transform: rotate(-45deg);
|
295 |
-
transform: rotate(-45deg);
|
296 |
-
border: solid #FFF;
|
297 |
-
border-width: 0 0 2px 2px;
|
298 |
-
}
|
299 |
-
.wam-table__field {
|
300 |
-
font-size: 13px;
|
301 |
-
}
|
302 |
-
.wam-table__field-item {
|
303 |
-
display: -webkit-flex;
|
304 |
-
display: -ms-flexbox;
|
305 |
-
display: flex;
|
306 |
-
margin: 0 0 10px;
|
307 |
-
}
|
308 |
-
.wam-table__field-input,
|
309 |
-
.wam-table__textarea {
|
310 |
-
width: 70%;
|
311 |
-
padding: 8px 10px;
|
312 |
-
margin-left: 10px;
|
313 |
-
color: #4B4E51;
|
314 |
-
border: none;
|
315 |
-
border-radius: 3px;
|
316 |
-
background: #ececec;
|
317 |
-
font-size: 100%;
|
318 |
-
}
|
319 |
-
.wam-table__field-input:focus,
|
320 |
-
.wam-table__textarea:focus {
|
321 |
-
outline: none;
|
322 |
-
/*box-shadow: 0 0 0 2px rgba(255, 203, 30, .5);*/
|
323 |
-
}
|
324 |
-
.wam-table__field-add {
|
325 |
-
width: 30px;
|
326 |
-
margin: 0 0 0 5px;
|
327 |
-
cursor: pointer;
|
328 |
-
border: none;
|
329 |
-
border-radius: 3px;
|
330 |
-
background: #FFCB1E;
|
331 |
-
}
|
332 |
-
.wam-table__field-add::before {
|
333 |
-
content: "+";
|
334 |
-
color: #4E3E09;
|
335 |
-
}
|
336 |
-
.wam-table__field-add:hover {
|
337 |
-
background: #FBC100;
|
338 |
-
}
|
339 |
-
.wam-table__field-add:focus {
|
340 |
-
outline: none;
|
341 |
-
box-shadow: 0 0 0 2px rgba(255, 203, 30, 0.5);
|
342 |
-
}
|
343 |
-
.wam-table__textarea {
|
344 |
-
width: 95%;
|
345 |
-
padding-right: 10px;
|
346 |
-
margin: 0 0 10px 10px;
|
347 |
-
}
|
348 |
-
.wam-table__also {
|
349 |
-
font-size: 12px;
|
350 |
-
font-weight: bold;
|
351 |
-
margin-top: 15px;
|
352 |
-
}
|
353 |
-
.wam-table__also .wam-table__label {
|
354 |
-
font-size: 12px;
|
355 |
-
padding: 5px 5px 5px 0;
|
356 |
-
margin: 0;
|
357 |
-
}
|
358 |
-
.wam-table__also-url {
|
359 |
-
color: #A9AAAA;
|
360 |
-
}
|
361 |
-
.wam-table__also-url span {
|
362 |
-
display: block;
|
363 |
-
}
|
364 |
-
.wam-table__also-url span a {
|
365 |
-
text-decoration: underline;
|
366 |
-
color: #adaeae;
|
367 |
-
font-size: 12px;
|
368 |
-
}
|
369 |
-
.wgz-td,
|
370 |
-
.wgz-th {
|
371 |
-
max-width: 600px;
|
372 |
-
}
|
373 |
-
.wgz-td {
|
374 |
-
word-wrap: break-word;
|
375 |
}
|
376 |
-
.wam-
|
377 |
-
|
378 |
}
|
379 |
-
.wam-
|
380 |
-
|
|
|
|
|
|
|
381 |
}
|
382 |
-
.wam-
|
383 |
background: #fbf5f4;
|
384 |
opacity: 0.7;
|
385 |
}
|
386 |
-
.wam-
|
387 |
display: none;
|
388 |
background: #f3f3f3;
|
389 |
color: #7b7b7b;
|
390 |
font-size: 13px;
|
391 |
box-shadow: 0 2px 0 #d4d4d4;
|
392 |
}
|
393 |
-
.wam-
|
394 |
-
padding:
|
395 |
}
|
396 |
/*# sourceMappingURL=tables.css.map */
|
5 |
* @copyright Webcraftic 26.08.2019
|
6 |
*/
|
7 |
.wam-table {
|
8 |
+
width: 100%;
|
9 |
+
box-sizing: border-box;
|
10 |
table-layout: fixed;
|
11 |
border-collapse: collapse;
|
|
|
12 |
}
|
13 |
+
.wam-table__handle-deps {
|
14 |
+
margin-top: 15px;
|
15 |
+
}
|
16 |
+
.wam-table__handle-deps span,
|
17 |
+
.wam-table__handle-deps a {
|
18 |
+
font-size: 11px !important;
|
19 |
+
}
|
20 |
+
.wam-table__handle-deps a {
|
21 |
+
color: red;
|
22 |
+
text-decoration: underline;
|
23 |
+
}
|
24 |
+
.wam-table tr:nth-child(2n) > td {
|
25 |
background: #f9f9f9;
|
|
|
26 |
}
|
27 |
.wam-table th {
|
28 |
padding: 12px 10px;
|
34 |
.wam-table th:not(:last-child) {
|
35 |
border-right: 2px solid #FFF;
|
36 |
}
|
37 |
+
.wam-table__th-actions {
|
38 |
+
width: 200px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
40 |
+
.wam-table__th-type {
|
41 |
width: 100px;
|
|
|
42 |
}
|
43 |
+
.wam-table__th-version {
|
44 |
+
width: 100px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
}
|
46 |
+
.wam-table__th-size {
|
47 |
+
width: 100px;
|
|
|
|
|
48 |
}
|
49 |
+
.wam-table__th-plugins-list,
|
50 |
+
.wam-table__td-plugins-list {
|
51 |
+
width: 350px;
|
52 |
}
|
53 |
+
.wam-table td {
|
54 |
+
padding: 17px 10px;
|
55 |
+
vertical-align: top;
|
56 |
text-align: left;
|
57 |
+
box-shadow: none;
|
58 |
}
|
59 |
+
.wam-table__td-handle {
|
60 |
+
word-break: break-word;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
62 |
+
.wam-table__td-plugins-list {
|
63 |
+
padding: 0 !important;
|
64 |
}
|
65 |
+
.wam-table__th-plugins-settings,
|
66 |
+
.wam-table__td-plugins-settings {
|
67 |
+
width: 80%;
|
68 |
+
padding: 15px;
|
69 |
+
text-align: left;
|
70 |
}
|
71 |
+
.wam-table .js-wam-table__tr--disabled-section {
|
72 |
background: #fbf5f4;
|
73 |
opacity: 0.7;
|
74 |
}
|
75 |
+
.wam-table__asset-settings-conditions {
|
76 |
display: none;
|
77 |
background: #f3f3f3;
|
78 |
color: #7b7b7b;
|
79 |
font-size: 13px;
|
80 |
box-shadow: 0 2px 0 #d4d4d4;
|
81 |
}
|
82 |
+
.wam-table__asset-settings-conditions > td {
|
83 |
+
padding: 0 25px 15px 25px;
|
84 |
}
|
85 |
/*# sourceMappingURL=tables.css.map */
|
components/assets-manager/assets/css/tables.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["tables.less"],"names":[],"mappings":";;;;;;AAOA;
|
1 |
+
{"version":3,"sources":["tables.less"],"names":[],"mappings":";;;;;;AAOA;EAEE,WAAA;EACA,sBAAA;EACA,mBAAA;EACA,yBAAA;;AAEA,UAAC;EACC,gBAAA;;AADF,UAAC,aAGC;AAHF,UAAC,aAGO;EACJ,0BAAA;;AAJJ,UAAC,aAOC;EACE,UAAA;EACA,0BAAA;;AAhBN,UAoBE,GAAE,UAAU,IAAK;EACf,mBAAA;;AArBJ,UAyBE;EACE,kBAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;;AA9BJ,UAiCE,GAAE,IAAI;EACJ,4BAAA;;AAIF,UAAC;EACC,YAAA;;AAGF,UAAC;EACC,YAAA;;AAGF,UAAC;EACC,YAAA;;AAGF,UAAC;EACC,YAAA;;AAGF,UAAC;AAAmB,UAAC;EACnB,YAAA;;AAvDJ,UA0DE;EACE,kBAAA;EACA,mBAAA;EAGA,gBAAA;EACA,gBAAA;;AAGF,UAAC;EACC,sBAAA;;AAGF,UAAC;EACC,qBAAA;;AAGF,UAAC;AAAuB,UAAC;EACvB,UAAA;EACA,aAAA;EACA,gBAAA;;AA9EJ,UAiFE;EACE,mBAAA;EACA,YAAA;;AAGF,UAAC;EACC,aAAA;EACA,mBAAA;EACA,cAAA;EACA,eAAA;EACA,2BAAA;;AAEA,UAPD,2BAOG;EACA,yBAAA","file":"tables.css"}
|
components/assets-manager/assets/css/tables.less
CHANGED
@@ -12,6 +12,19 @@
|
|
12 |
table-layout: fixed;
|
13 |
border-collapse: collapse;
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
tr:nth-child(2n) > td {
|
16 |
background: #f9f9f9;
|
17 |
//border-bottom: 15px solid white;
|
@@ -29,18 +42,6 @@
|
|
29 |
border-right: 2px solid #FFF;
|
30 |
}
|
31 |
|
32 |
-
td {
|
33 |
-
padding: 17px 10px;
|
34 |
-
vertical-align: top;
|
35 |
-
//background: #f9f9f9;
|
36 |
-
border-bottom: 1px solid #ECEDED;
|
37 |
-
text-align: left;
|
38 |
-
box-shadow: none;
|
39 |
-
}
|
40 |
-
|
41 |
-
/*td:first-child {
|
42 |
-
width: 20%;
|
43 |
-
}*/
|
44 |
|
45 |
&__th-actions {
|
46 |
width: 200px;
|
@@ -50,10 +51,6 @@
|
|
50 |
width: 100px;
|
51 |
}
|
52 |
|
53 |
-
&__td-handle {
|
54 |
-
word-break: break-word;
|
55 |
-
}
|
56 |
-
|
57 |
&__th-version {
|
58 |
width: 100px
|
59 |
}
|
@@ -66,6 +63,19 @@
|
|
66 |
width: 350px;
|
67 |
}
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
&__td-plugins-list {
|
70 |
padding: 0 !important;
|
71 |
}
|
12 |
table-layout: fixed;
|
13 |
border-collapse: collapse;
|
14 |
|
15 |
+
&__handle-deps {
|
16 |
+
margin-top: 15px;
|
17 |
+
|
18 |
+
span, a {
|
19 |
+
font-size: 11px !important;
|
20 |
+
}
|
21 |
+
|
22 |
+
a {
|
23 |
+
color: red;
|
24 |
+
text-decoration: underline;
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
tr:nth-child(2n) > td {
|
29 |
background: #f9f9f9;
|
30 |
//border-bottom: 15px solid white;
|
42 |
border-right: 2px solid #FFF;
|
43 |
}
|
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
&__th-actions {
|
47 |
width: 200px;
|
51 |
width: 100px;
|
52 |
}
|
53 |
|
|
|
|
|
|
|
|
|
54 |
&__th-version {
|
55 |
width: 100px
|
56 |
}
|
63 |
width: 350px;
|
64 |
}
|
65 |
|
66 |
+
td {
|
67 |
+
padding: 17px 10px;
|
68 |
+
vertical-align: top;
|
69 |
+
//background: #f9f9f9;
|
70 |
+
//border-bottom: 1px solid #ECEDED;
|
71 |
+
text-align: left;
|
72 |
+
box-shadow: none;
|
73 |
+
}
|
74 |
+
|
75 |
+
&__td-handle {
|
76 |
+
word-break: break-word;
|
77 |
+
}
|
78 |
+
|
79 |
&__td-plugins-list {
|
80 |
padding: 0 !important;
|
81 |
}
|
components/assets-manager/assets/css/tabs.less
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
|
8 |
.wam-assets-type-tabs {
|
9 |
position: fixed;
|
10 |
-
top:
|
11 |
bottom: 0;
|
12 |
left: 0;
|
13 |
width: 75px;
|
@@ -109,6 +109,7 @@
|
|
109 |
list-style: none;
|
110 |
|
111 |
.wam-nav-plugins__tab {
|
|
|
112 |
text-align: left;
|
113 |
margin-bottom: 3px;
|
114 |
|
@@ -140,6 +141,28 @@
|
|
140 |
background: #e8e8e8;
|
141 |
}
|
142 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
}
|
144 |
}
|
145 |
|
7 |
|
8 |
.wam-assets-type-tabs {
|
9 |
position: fixed;
|
10 |
+
top: 62px;
|
11 |
bottom: 0;
|
12 |
left: 0;
|
13 |
width: 75px;
|
109 |
list-style: none;
|
110 |
|
111 |
.wam-nav-plugins__tab {
|
112 |
+
position: relative;
|
113 |
text-align: left;
|
114 |
margin-bottom: 3px;
|
115 |
|
141 |
background: #e8e8e8;
|
142 |
}
|
143 |
}
|
144 |
+
|
145 |
+
&-load-mode--enable::after,
|
146 |
+
&-load-mode--disable-plugin::after,
|
147 |
+
&-load-mode--disable-assets::after {
|
148 |
+
display: block;
|
149 |
+
content: '';
|
150 |
+
position: absolute;
|
151 |
+
bottom: 10px;
|
152 |
+
right: 10px;
|
153 |
+
width: 10px;
|
154 |
+
height: 10px;
|
155 |
+
background: #8bc34a;
|
156 |
+
text-align: center;
|
157 |
+
font-size: 11px;
|
158 |
+
font-weight: 600;
|
159 |
+
border-radius: 4px;
|
160 |
+
}
|
161 |
+
|
162 |
+
&-load-mode--disable-assets::after,
|
163 |
+
&-load-mode--disable-plugin::after {
|
164 |
+
background: #d47b7b;
|
165 |
+
}
|
166 |
}
|
167 |
}
|
168 |
|
components/assets-manager/assets/js/index.php
DELETED
File without changes
|
components/assets-manager/assets/js/{wam-jquery-migrate.min.js → libs/wam-jquery-migrate.min.js}
RENAMED
File without changes
|
components/assets-manager/assets/js/{wam-jquery.js → libs/wam-jquery.js}
RENAMED
File without changes
|
components/assets-manager/assets/js/libs/wam-pnotify-confirm.js
ADDED
@@ -0,0 +1,790 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
2 |
+
|
3 |
+
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
4 |
+
|
5 |
+
/* src/PNotifyConfirm.html generated by Svelte v2.16.1 */
|
6 |
+
var WamPnotifyConfirm = function (PNotify) {
|
7 |
+
"use strict";
|
8 |
+
|
9 |
+
PNotify = PNotify && PNotify.__esModule ? PNotify["default"] : PNotify;
|
10 |
+
|
11 |
+
function data() {
|
12 |
+
return _extends({
|
13 |
+
'_notice': null, // The PNotify notice.
|
14 |
+
'_options': {} // The options for the notice.
|
15 |
+
}, PNotify.modules.Confirm.defaults);
|
16 |
+
};
|
17 |
+
|
18 |
+
var methods = {
|
19 |
+
initModule: function initModule(options) {
|
20 |
+
this.set(options);
|
21 |
+
},
|
22 |
+
afterOpen: function afterOpen() {
|
23 |
+
if (this.get().prompt && this.get().focus !== false) {
|
24 |
+
if (this.get().promptMultiLine) {
|
25 |
+
this.refs.promptMulti.focus();
|
26 |
+
} else {
|
27 |
+
this.refs.promptSingle.focus();
|
28 |
+
}
|
29 |
+
} else if (this.get().confirm && (this.get().focus === true || this.get().focus === null && this.get()._options.stack.modal)) {
|
30 |
+
var buttons = this.get().buttons;
|
31 |
+
if (buttons.length) {
|
32 |
+
var i = buttons.length - 1;
|
33 |
+
while (i >= 0) {
|
34 |
+
if (buttons[i].promptTrigger) {
|
35 |
+
break;
|
36 |
+
}
|
37 |
+
i--;
|
38 |
+
}
|
39 |
+
this.refs.buttons.children[i].focus();
|
40 |
+
}
|
41 |
+
}
|
42 |
+
},
|
43 |
+
handleClick: function handleClick(button, event) {
|
44 |
+
if (button.click) {
|
45 |
+
button.click(this.get()._notice, this.get().prompt ? this.get().promptValue : null, event);
|
46 |
+
}
|
47 |
+
},
|
48 |
+
handleKeyPress: function handleKeyPress(event) {
|
49 |
+
if (event.keyCode === 13 && !event.shiftKey) {
|
50 |
+
event.preventDefault();
|
51 |
+
|
52 |
+
var _get = this.get(),
|
53 |
+
buttons = _get.buttons;
|
54 |
+
|
55 |
+
for (var i = 0; i < buttons.length; i++) {
|
56 |
+
if (buttons[i].promptTrigger && buttons[i].click) {
|
57 |
+
buttons[i].click(this.get()._notice, this.get().prompt ? this.get().promptValue : null, event);
|
58 |
+
}
|
59 |
+
}
|
60 |
+
}
|
61 |
+
}
|
62 |
+
};
|
63 |
+
|
64 |
+
function oncreate() {
|
65 |
+
this.fire('init', { module: this });
|
66 |
+
};
|
67 |
+
|
68 |
+
function setup(Component) {
|
69 |
+
Component.key = 'Confirm';
|
70 |
+
|
71 |
+
Component.defaults = {
|
72 |
+
// Make a confirmation box.
|
73 |
+
confirm: false,
|
74 |
+
// Make a prompt.
|
75 |
+
prompt: false,
|
76 |
+
// Classes to add to the input element of the prompt.
|
77 |
+
promptClass: '',
|
78 |
+
// The value of the prompt.
|
79 |
+
promptValue: '',
|
80 |
+
// Whether the prompt should accept multiple lines of text.
|
81 |
+
promptMultiLine: false,
|
82 |
+
// For confirmation boxes, true means the first button or the button with promptTrigger will be focused, and null means focus will change only for modal notices. For prompts, true or null means focus the prompt. When false, focus will not change.
|
83 |
+
focus: null,
|
84 |
+
// Where to align the buttons. (flex-start, center, flex-end, space-around, space-between)
|
85 |
+
align: 'flex-end',
|
86 |
+
// The buttons to display, and their callbacks.
|
87 |
+
buttons: [{
|
88 |
+
text: 'Ok',
|
89 |
+
textTrusted: false,
|
90 |
+
addClass: '',
|
91 |
+
primary: true,
|
92 |
+
// Whether to trigger this button when the user hits enter in a single line prompt. Also, focus the button if it is a modal prompt.
|
93 |
+
promptTrigger: true,
|
94 |
+
click: function click(notice, value) {
|
95 |
+
notice.close();
|
96 |
+
notice.fire('pnotify.confirm', { notice: notice, value: value });
|
97 |
+
}
|
98 |
+
}, {
|
99 |
+
text: 'Cancel',
|
100 |
+
textTrusted: false,
|
101 |
+
addClass: '',
|
102 |
+
click: function click(notice) {
|
103 |
+
notice.close();
|
104 |
+
notice.fire('pnotify.cancel', { notice: notice });
|
105 |
+
}
|
106 |
+
}]
|
107 |
+
};
|
108 |
+
|
109 |
+
// Register the module with PNotify.
|
110 |
+
PNotify.modules.Confirm = Component;
|
111 |
+
// Append this module to the container.
|
112 |
+
PNotify.modulesAppendContainer.push(Component);
|
113 |
+
|
114 |
+
// Add button styles to styling objects.
|
115 |
+
_extends(PNotify.styling.brighttheme, {
|
116 |
+
actionBar: '',
|
117 |
+
promptBar: '',
|
118 |
+
btn: '',
|
119 |
+
btnPrimary: 'brighttheme-primary',
|
120 |
+
input: ''
|
121 |
+
});
|
122 |
+
_extends(PNotify.styling.bootstrap3, {
|
123 |
+
actionBar: 'ui-pnotify-confirm-ml',
|
124 |
+
promptBar: 'ui-pnotify-confirm-ml',
|
125 |
+
btn: 'btn btn-default ui-pnotify-confirm-mx-1',
|
126 |
+
btnPrimary: 'btn btn-default ui-pnotify-confirm-mx-1 btn-primary',
|
127 |
+
input: 'form-control'
|
128 |
+
});
|
129 |
+
_extends(PNotify.styling.bootstrap4, {
|
130 |
+
actionBar: 'ui-pnotify-confirm-ml',
|
131 |
+
promptBar: 'ui-pnotify-confirm-ml',
|
132 |
+
btn: 'btn btn-secondary mx-1',
|
133 |
+
btnPrimary: 'btn btn-primary mx-1',
|
134 |
+
input: 'form-control'
|
135 |
+
});
|
136 |
+
if (!PNotify.styling.material) {
|
137 |
+
PNotify.styling.material = {};
|
138 |
+
}
|
139 |
+
_extends(PNotify.styling.material, {
|
140 |
+
actionBar: '',
|
141 |
+
promptBar: '',
|
142 |
+
btn: '',
|
143 |
+
btnPrimary: 'ui-pnotify-material-primary',
|
144 |
+
input: ''
|
145 |
+
});
|
146 |
+
};
|
147 |
+
|
148 |
+
function add_css() {
|
149 |
+
var style = createElement("style");
|
150 |
+
style.id = 'svelte-1y9suua-style';
|
151 |
+
style.textContent = ".ui-pnotify-action-bar.svelte-1y9suua,.ui-pnotify-prompt-bar.svelte-1y9suua{margin-top:5px;clear:both}.ui-pnotify-action-bar.svelte-1y9suua{display:flex;flex-wrap:wrap;justify-content:flex-end}.ui-pnotify-prompt-input.svelte-1y9suua{margin-bottom:5px;display:block;width:100%}.ui-pnotify-confirm-mx-1.svelte-1y9suua{margin:0 5px}.ui-pnotify.ui-pnotify-with-icon .ui-pnotify-confirm-ml.svelte-1y9suua{margin-left:24px}[dir=rtl] .ui-pnotify.ui-pnotify-with-icon .ui-pnotify-confirm-ml.svelte-1y9suua{margin-right:24px;margin-left:0}";
|
152 |
+
append(document.head, style);
|
153 |
+
}
|
154 |
+
|
155 |
+
function click_handler(event) {
|
156 |
+
var _svelte = this._svelte,
|
157 |
+
component = _svelte.component,
|
158 |
+
ctx = _svelte.ctx;
|
159 |
+
|
160 |
+
|
161 |
+
component.handleClick(ctx.button, event);
|
162 |
+
}
|
163 |
+
|
164 |
+
function get_each_context(ctx, list, i) {
|
165 |
+
var child_ctx = Object.create(ctx);
|
166 |
+
child_ctx.button = list[i];
|
167 |
+
return child_ctx;
|
168 |
+
}
|
169 |
+
|
170 |
+
function create_main_fragment(component, ctx) {
|
171 |
+
var if_block_anchor;
|
172 |
+
|
173 |
+
var if_block = (ctx.confirm || ctx.prompt) && create_if_block(component, ctx);
|
174 |
+
|
175 |
+
return {
|
176 |
+
c: function c() {
|
177 |
+
if (if_block) if_block.c();
|
178 |
+
if_block_anchor = createComment();
|
179 |
+
},
|
180 |
+
m: function m(target, anchor) {
|
181 |
+
if (if_block) if_block.m(target, anchor);
|
182 |
+
insert(target, if_block_anchor, anchor);
|
183 |
+
},
|
184 |
+
p: function p(changed, ctx) {
|
185 |
+
if (ctx.confirm || ctx.prompt) {
|
186 |
+
if (if_block) {
|
187 |
+
if_block.p(changed, ctx);
|
188 |
+
} else {
|
189 |
+
if_block = create_if_block(component, ctx);
|
190 |
+
if_block.c();
|
191 |
+
if_block.m(if_block_anchor.parentNode, if_block_anchor);
|
192 |
+
}
|
193 |
+
} else if (if_block) {
|
194 |
+
if_block.d(1);
|
195 |
+
if_block = null;
|
196 |
+
}
|
197 |
+
},
|
198 |
+
d: function d(detach) {
|
199 |
+
if (if_block) if_block.d(detach);
|
200 |
+
if (detach) {
|
201 |
+
detachNode(if_block_anchor);
|
202 |
+
}
|
203 |
+
}
|
204 |
+
};
|
205 |
+
}
|
206 |
+
|
207 |
+
// (1:0) {#if confirm || prompt}
|
208 |
+
function create_if_block(component, ctx) {
|
209 |
+
var div1, text, div0, div0_class_value;
|
210 |
+
|
211 |
+
var if_block = ctx.prompt && create_if_block_2(component, ctx);
|
212 |
+
|
213 |
+
var each_value = ctx.buttons;
|
214 |
+
|
215 |
+
var each_blocks = [];
|
216 |
+
|
217 |
+
for (var i = 0; i < each_value.length; i += 1) {
|
218 |
+
each_blocks[i] = create_each_block(component, get_each_context(ctx, each_value, i));
|
219 |
+
}
|
220 |
+
|
221 |
+
return {
|
222 |
+
c: function c() {
|
223 |
+
div1 = createElement("div");
|
224 |
+
if (if_block) if_block.c();
|
225 |
+
text = createText("\n ");
|
226 |
+
div0 = createElement("div");
|
227 |
+
|
228 |
+
for (var i = 0; i < each_blocks.length; i += 1) {
|
229 |
+
each_blocks[i].c();
|
230 |
+
}
|
231 |
+
div0.className = div0_class_value = "\n ui-pnotify-action-bar\n " + (ctx._notice.get()._styles.actionBar ? ctx._notice.get()._styles.actionBar : '') + "\n " + (ctx._notice.get()._styles.text ? ctx._notice.get()._styles.text : '') + "\n " + " svelte-1y9suua";
|
232 |
+
setStyle(div0, "justify-content", ctx.align);
|
233 |
+
div1.className = "ui-pnotify-confirm";
|
234 |
+
},
|
235 |
+
m: function m(target, anchor) {
|
236 |
+
insert(target, div1, anchor);
|
237 |
+
if (if_block) if_block.m(div1, null);
|
238 |
+
append(div1, text);
|
239 |
+
append(div1, div0);
|
240 |
+
|
241 |
+
for (var i = 0; i < each_blocks.length; i += 1) {
|
242 |
+
each_blocks[i].m(div0, null);
|
243 |
+
}
|
244 |
+
|
245 |
+
component.refs.buttons = div0;
|
246 |
+
},
|
247 |
+
p: function p(changed, ctx) {
|
248 |
+
if (ctx.prompt) {
|
249 |
+
if (if_block) {
|
250 |
+
if_block.p(changed, ctx);
|
251 |
+
} else {
|
252 |
+
if_block = create_if_block_2(component, ctx);
|
253 |
+
if_block.c();
|
254 |
+
if_block.m(div1, text);
|
255 |
+
}
|
256 |
+
} else if (if_block) {
|
257 |
+
if_block.d(1);
|
258 |
+
if_block = null;
|
259 |
+
}
|
260 |
+
|
261 |
+
if (changed.buttons || changed._notice) {
|
262 |
+
each_value = ctx.buttons;
|
263 |
+
|
264 |
+
for (var i = 0; i < each_value.length; i += 1) {
|
265 |
+
var child_ctx = get_each_context(ctx, each_value, i);
|
266 |
+
|
267 |
+
if (each_blocks[i]) {
|
268 |
+
each_blocks[i].p(changed, child_ctx);
|
269 |
+
} else {
|
270 |
+
each_blocks[i] = create_each_block(component, child_ctx);
|
271 |
+
each_blocks[i].c();
|
272 |
+
each_blocks[i].m(div0, null);
|
273 |
+
}
|
274 |
+
}
|
275 |
+
|
276 |
+
for (; i < each_blocks.length; i += 1) {
|
277 |
+
each_blocks[i].d(1);
|
278 |
+
}
|
279 |
+
each_blocks.length = each_value.length;
|
280 |
+
}
|
281 |
+
|
282 |
+
if (changed._notice && div0_class_value !== (div0_class_value = "\n ui-pnotify-action-bar\n " + (ctx._notice.get()._styles.actionBar ? ctx._notice.get()._styles.actionBar : '') + "\n " + (ctx._notice.get()._styles.text ? ctx._notice.get()._styles.text : '') + "\n " + " svelte-1y9suua")) {
|
283 |
+
div0.className = div0_class_value;
|
284 |
+
}
|
285 |
+
|
286 |
+
if (changed.align) {
|
287 |
+
setStyle(div0, "justify-content", ctx.align);
|
288 |
+
}
|
289 |
+
},
|
290 |
+
d: function d(detach) {
|
291 |
+
if (detach) {
|
292 |
+
detachNode(div1);
|
293 |
+
}
|
294 |
+
|
295 |
+
if (if_block) if_block.d();
|
296 |
+
|
297 |
+
destroyEach(each_blocks, detach);
|
298 |
+
|
299 |
+
if (component.refs.buttons === div0) component.refs.buttons = null;
|
300 |
+
}
|
301 |
+
};
|
302 |
+
}
|
303 |
+
|
304 |
+
// (3:4) {#if prompt}
|
305 |
+
function create_if_block_2(component, ctx) {
|
306 |
+
var div, div_class_value;
|
307 |
+
|
308 |
+
function select_block_type(ctx) {
|
309 |
+
if (ctx.promptMultiLine) return create_if_block_3;
|
310 |
+
return create_else_block_1;
|
311 |
+
}
|
312 |
+
|
313 |
+
var current_block_type = select_block_type(ctx);
|
314 |
+
var if_block = current_block_type(component, ctx);
|
315 |
+
|
316 |
+
return {
|
317 |
+
c: function c() {
|
318 |
+
div = createElement("div");
|
319 |
+
if_block.c();
|
320 |
+
div.className = div_class_value = "\n ui-pnotify-prompt-bar\n " + (ctx._notice.get()._styles.promptBar ? ctx._notice.get()._styles.promptBar : '') + "\n " + (ctx._notice.get()._styles.text ? ctx._notice.get()._styles.text : '') + "\n " + " svelte-1y9suua";
|
321 |
+
},
|
322 |
+
m: function m(target, anchor) {
|
323 |
+
insert(target, div, anchor);
|
324 |
+
if_block.m(div, null);
|
325 |
+
},
|
326 |
+
p: function p(changed, ctx) {
|
327 |
+
if (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {
|
328 |
+
if_block.p(changed, ctx);
|
329 |
+
} else {
|
330 |
+
if_block.d(1);
|
331 |
+
if_block = current_block_type(component, ctx);
|
332 |
+
if_block.c();
|
333 |
+
if_block.m(div, null);
|
334 |
+
}
|
335 |
+
|
336 |
+
if (changed._notice && div_class_value !== (div_class_value = "\n ui-pnotify-prompt-bar\n " + (ctx._notice.get()._styles.promptBar ? ctx._notice.get()._styles.promptBar : '') + "\n " + (ctx._notice.get()._styles.text ? ctx._notice.get()._styles.text : '') + "\n " + " svelte-1y9suua")) {
|
337 |
+
div.className = div_class_value;
|
338 |
+
}
|
339 |
+
},
|
340 |
+
d: function d(detach) {
|
341 |
+
if (detach) {
|
342 |
+
detachNode(div);
|
343 |
+
}
|
344 |
+
|
345 |
+
if_block.d();
|
346 |
+
}
|
347 |
+
};
|
348 |
+
}
|
349 |
+
|
350 |
+
// (21:8) {:else}
|
351 |
+
function create_else_block_1(component, ctx) {
|
352 |
+
var input,
|
353 |
+
input_updating = false,
|
354 |
+
input_class_value;
|
355 |
+
|
356 |
+
function input_input_handler() {
|
357 |
+
input_updating = true;
|
358 |
+
component.set({ promptValue: input.value });
|
359 |
+
input_updating = false;
|
360 |
+
}
|
361 |
+
|
362 |
+
function keypress_handler(event) {
|
363 |
+
component.handleKeyPress(event);
|
364 |
+
}
|
365 |
+
|
366 |
+
return {
|
367 |
+
c: function c() {
|
368 |
+
input = createElement("input");
|
369 |
+
addListener(input, "input", input_input_handler);
|
370 |
+
addListener(input, "keypress", keypress_handler);
|
371 |
+
setAttribute(input, "type", "text");
|
372 |
+
input.className = input_class_value = "\n ui-pnotify-prompt-input\n " + (ctx._notice.get()._styles.input ? ctx._notice.get()._styles.input : '') + "\n " + ctx.promptClass + "\n " + " svelte-1y9suua";
|
373 |
+
},
|
374 |
+
m: function m(target, anchor) {
|
375 |
+
insert(target, input, anchor);
|
376 |
+
component.refs.promptSingle = input;
|
377 |
+
|
378 |
+
input.value = ctx.promptValue;
|
379 |
+
},
|
380 |
+
p: function p(changed, ctx) {
|
381 |
+
if (!input_updating && changed.promptValue) input.value = ctx.promptValue;
|
382 |
+
if ((changed._notice || changed.promptClass) && input_class_value !== (input_class_value = "\n ui-pnotify-prompt-input\n " + (ctx._notice.get()._styles.input ? ctx._notice.get()._styles.input : '') + "\n " + ctx.promptClass + "\n " + " svelte-1y9suua")) {
|
383 |
+
input.className = input_class_value;
|
384 |
+
}
|
385 |
+
},
|
386 |
+
d: function d(detach) {
|
387 |
+
if (detach) {
|
388 |
+
detachNode(input);
|
389 |
+
}
|
390 |
+
|
391 |
+
removeListener(input, "input", input_input_handler);
|
392 |
+
removeListener(input, "keypress", keypress_handler);
|
393 |
+
if (component.refs.promptSingle === input) component.refs.promptSingle = null;
|
394 |
+
}
|
395 |
+
};
|
396 |
+
}
|
397 |
+
|
398 |
+
// (10:8) {#if promptMultiLine}
|
399 |
+
function create_if_block_3(component, ctx) {
|
400 |
+
var textarea,
|
401 |
+
textarea_updating = false,
|
402 |
+
textarea_class_value;
|
403 |
+
|
404 |
+
function textarea_input_handler() {
|
405 |
+
textarea_updating = true;
|
406 |
+
component.set({ promptValue: textarea.value });
|
407 |
+
textarea_updating = false;
|
408 |
+
}
|
409 |
+
|
410 |
+
function keypress_handler(event) {
|
411 |
+
component.handleKeyPress(event);
|
412 |
+
}
|
413 |
+
|
414 |
+
return {
|
415 |
+
c: function c() {
|
416 |
+
textarea = createElement("textarea");
|
417 |
+
addListener(textarea, "input", textarea_input_handler);
|
418 |
+
addListener(textarea, "keypress", keypress_handler);
|
419 |
+
textarea.rows = "5";
|
420 |
+
textarea.className = textarea_class_value = "\n ui-pnotify-prompt-input\n " + (ctx._notice.get()._styles.input ? ctx._notice.get()._styles.input : '') + "\n " + ctx.promptClass + "\n " + " svelte-1y9suua";
|
421 |
+
},
|
422 |
+
m: function m(target, anchor) {
|
423 |
+
insert(target, textarea, anchor);
|
424 |
+
component.refs.promptMulti = textarea;
|
425 |
+
|
426 |
+
textarea.value = ctx.promptValue;
|
427 |
+
},
|
428 |
+
p: function p(changed, ctx) {
|
429 |
+
if (!textarea_updating && changed.promptValue) textarea.value = ctx.promptValue;
|
430 |
+
if ((changed._notice || changed.promptClass) && textarea_class_value !== (textarea_class_value = "\n ui-pnotify-prompt-input\n " + (ctx._notice.get()._styles.input ? ctx._notice.get()._styles.input : '') + "\n " + ctx.promptClass + "\n " + " svelte-1y9suua")) {
|
431 |
+
textarea.className = textarea_class_value;
|
432 |
+
}
|
433 |
+
},
|
434 |
+
d: function d(detach) {
|
435 |
+
if (detach) {
|
436 |
+
detachNode(textarea);
|
437 |
+
}
|
438 |
+
|
439 |
+
removeListener(textarea, "input", textarea_input_handler);
|
440 |
+
removeListener(textarea, "keypress", keypress_handler);
|
441 |
+
if (component.refs.promptMulti === textarea) component.refs.promptMulti = null;
|
442 |
+
}
|
443 |
+
};
|
444 |
+
}
|
445 |
+
|
446 |
+
// (51:57) {:else}
|
447 |
+
function create_else_block(component, ctx) {
|
448 |
+
var text_value = ctx.button.text,
|
449 |
+
text;
|
450 |
+
|
451 |
+
return {
|
452 |
+
c: function c() {
|
453 |
+
text = createText(text_value);
|
454 |
+
},
|
455 |
+
m: function m(target, anchor) {
|
456 |
+
insert(target, text, anchor);
|
457 |
+
},
|
458 |
+
p: function p(changed, ctx) {
|
459 |
+
if (changed.buttons && text_value !== (text_value = ctx.button.text)) {
|
460 |
+
setData(text, text_value);
|
461 |
+
}
|
462 |
+
},
|
463 |
+
d: function d(detach) {
|
464 |
+
if (detach) {
|
465 |
+
detachNode(text);
|
466 |
+
}
|
467 |
+
}
|
468 |
+
};
|
469 |
+
}
|
470 |
+
|
471 |
+
// (51:14) {#if button.textTrusted}
|
472 |
+
function create_if_block_1(component, ctx) {
|
473 |
+
var raw_value = ctx.button.text,
|
474 |
+
raw_before,
|
475 |
+
raw_after;
|
476 |
+
|
477 |
+
return {
|
478 |
+
c: function c() {
|
479 |
+
raw_before = createElement('noscript');
|
480 |
+
raw_after = createElement('noscript');
|
481 |
+
},
|
482 |
+
m: function m(target, anchor) {
|
483 |
+
insert(target, raw_before, anchor);
|
484 |
+
raw_before.insertAdjacentHTML("afterend", raw_value);
|
485 |
+
insert(target, raw_after, anchor);
|
486 |
+
},
|
487 |
+
p: function p(changed, ctx) {
|
488 |
+
if (changed.buttons && raw_value !== (raw_value = ctx.button.text)) {
|
489 |
+
detachBetween(raw_before, raw_after);
|
490 |
+
raw_before.insertAdjacentHTML("afterend", raw_value);
|
491 |
+
}
|
492 |
+
},
|
493 |
+
d: function d(detach) {
|
494 |
+
if (detach) {
|
495 |
+
detachBetween(raw_before, raw_after);
|
496 |
+
detachNode(raw_before);
|
497 |
+
detachNode(raw_after);
|
498 |
+
}
|
499 |
+
}
|
500 |
+
};
|
501 |
+
}
|
502 |
+
|
503 |
+
// (43:6) {#each buttons as button}
|
504 |
+
function create_each_block(component, ctx) {
|
505 |
+
var button, button_class_value;
|
506 |
+
|
507 |
+
function select_block_type_1(ctx) {
|
508 |
+
if (ctx.button.textTrusted) return create_if_block_1;
|
509 |
+
return create_else_block;
|
510 |
+
}
|
511 |
+
|
512 |
+
var current_block_type = select_block_type_1(ctx);
|
513 |
+
var if_block = current_block_type(component, ctx);
|
514 |
+
|
515 |
+
return {
|
516 |
+
c: function c() {
|
517 |
+
button = createElement("button");
|
518 |
+
if_block.c();
|
519 |
+
button._svelte = { component: component, ctx: ctx };
|
520 |
+
|
521 |
+
addListener(button, "click", click_handler);
|
522 |
+
button.type = "button";
|
523 |
+
button.className = button_class_value = "\n ui-pnotify-action-button\n " + (ctx.button.primary ? ctx._notice.get()._styles.btnPrimary ? ctx._notice.get()._styles.btnPrimary : '' : ctx._notice.get()._styles.btn ? ctx._notice.get()._styles.btn : '') + "\n " + (ctx.button.addClass ? ctx.button.addClass : '') + "\n " + " svelte-1y9suua";
|
524 |
+
},
|
525 |
+
m: function m(target, anchor) {
|
526 |
+
insert(target, button, anchor);
|
527 |
+
if_block.m(button, null);
|
528 |
+
},
|
529 |
+
p: function p(changed, _ctx) {
|
530 |
+
ctx = _ctx;
|
531 |
+
if (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {
|
532 |
+
if_block.p(changed, ctx);
|
533 |
+
} else {
|
534 |
+
if_block.d(1);
|
535 |
+
if_block = current_block_type(component, ctx);
|
536 |
+
if_block.c();
|
537 |
+
if_block.m(button, null);
|
538 |
+
}
|
539 |
+
|
540 |
+
button._svelte.ctx = ctx;
|
541 |
+
if ((changed.buttons || changed._notice) && button_class_value !== (button_class_value = "\n ui-pnotify-action-button\n " + (ctx.button.primary ? ctx._notice.get()._styles.btnPrimary ? ctx._notice.get()._styles.btnPrimary : '' : ctx._notice.get()._styles.btn ? ctx._notice.get()._styles.btn : '') + "\n " + (ctx.button.addClass ? ctx.button.addClass : '') + "\n " + " svelte-1y9suua")) {
|
542 |
+
button.className = button_class_value;
|
543 |
+
}
|
544 |
+
},
|
545 |
+
d: function d(detach) {
|
546 |
+
if (detach) {
|
547 |
+
detachNode(button);
|
548 |
+
}
|
549 |
+
|
550 |
+
if_block.d();
|
551 |
+
removeListener(button, "click", click_handler);
|
552 |
+
}
|
553 |
+
};
|
554 |
+
}
|
555 |
+
|
556 |
+
function PNotifyConfirm(options) {
|
557 |
+
var _this = this;
|
558 |
+
|
559 |
+
init(this, options);
|
560 |
+
this.refs = {};
|
561 |
+
this._state = assign(data(), options.data);
|
562 |
+
this._intro = true;
|
563 |
+
|
564 |
+
if (!document.getElementById("svelte-1y9suua-style")) add_css();
|
565 |
+
|
566 |
+
this._fragment = create_main_fragment(this, this._state);
|
567 |
+
|
568 |
+
this.root._oncreate.push(function () {
|
569 |
+
oncreate.call(_this);
|
570 |
+
_this.fire("update", { changed: assignTrue({}, _this._state), current: _this._state });
|
571 |
+
});
|
572 |
+
|
573 |
+
if (options.target) {
|
574 |
+
this._fragment.c();
|
575 |
+
this._mount(options.target, options.anchor);
|
576 |
+
|
577 |
+
flush(this);
|
578 |
+
}
|
579 |
+
}
|
580 |
+
|
581 |
+
assign(PNotifyConfirm.prototype, {
|
582 |
+
destroy: destroy,
|
583 |
+
get: get,
|
584 |
+
fire: fire,
|
585 |
+
on: on,
|
586 |
+
set: set,
|
587 |
+
_set: _set,
|
588 |
+
_stage: _stage,
|
589 |
+
_mount: _mount,
|
590 |
+
_differs: _differs
|
591 |
+
});
|
592 |
+
assign(PNotifyConfirm.prototype, methods);
|
593 |
+
|
594 |
+
PNotifyConfirm.prototype._recompute = noop;
|
595 |
+
|
596 |
+
setup(PNotifyConfirm);
|
597 |
+
|
598 |
+
function createElement(name) {
|
599 |
+
return document.createElement(name);
|
600 |
+
}
|
601 |
+
|
602 |
+
function append(target, node) {
|
603 |
+
target.appendChild(node);
|
604 |
+
}
|
605 |
+
|
606 |
+
function createComment() {
|
607 |
+
return document.createComment('');
|
608 |
+
}
|
609 |
+
|
610 |
+
function insert(target, node, anchor) {
|
611 |
+
target.insertBefore(node, anchor);
|
612 |
+
}
|
613 |
+
|
614 |
+
function detachNode(node) {
|
615 |
+
node.parentNode.removeChild(node);
|
616 |
+
}
|
617 |
+
|
618 |
+
function createText(data) {
|
619 |
+
return document.createTextNode(data);
|
620 |
+
}
|
621 |
+
|
622 |
+
function setStyle(node, key, value) {
|
623 |
+
node.style.setProperty(key, value);
|
624 |
+
}
|
625 |
+
|
626 |
+
function destroyEach(iterations, detach) {
|
627 |
+
for (var i = 0; i < iterations.length; i += 1) {
|
628 |
+
if (iterations[i]) iterations[i].d(detach);
|
629 |
+
}
|
630 |
+
}
|
631 |
+
|
632 |
+
function addListener(node, event, handler, options) {
|
633 |
+
node.addEventListener(event, handler, options);
|
634 |
+
}
|
635 |
+
|
636 |
+
function setAttribute(node, attribute, value) {
|
637 |
+
if (value == null) node.removeAttribute(attribute);else node.setAttribute(attribute, value);
|
638 |
+
}
|
639 |
+
|
640 |
+
function removeListener(node, event, handler, options) {
|
641 |
+
node.removeEventListener(event, handler, options);
|
642 |
+
}
|
643 |
+
|
644 |
+
function setData(text, data) {
|
645 |
+
text.data = '' + data;
|
646 |
+
}
|
647 |
+
|
648 |
+
function detachBetween(before, after) {
|
649 |
+
while (before.nextSibling && before.nextSibling !== after) {
|
650 |
+
before.parentNode.removeChild(before.nextSibling);
|
651 |
+
}
|
652 |
+
}
|
653 |
+
|
654 |
+
function init(component, options) {
|
655 |
+
component._handlers = blankObject();
|
656 |
+
component._slots = blankObject();
|
657 |
+
component._bind = options._bind;
|
658 |
+
component._staged = {};
|
659 |
+
|
660 |
+
component.options = options;
|
661 |
+
component.root = options.root || component;
|
662 |
+
component.store = options.store || component.root.store;
|
663 |
+
|
664 |
+
if (!options.root) {
|
665 |
+
component._beforecreate = [];
|
666 |
+
component._oncreate = [];
|
667 |
+
component._aftercreate = [];
|
668 |
+
}
|
669 |
+
}
|
670 |
+
|
671 |
+
function assign(tar, src) {
|
672 |
+
for (var k in src) {
|
673 |
+
tar[k] = src[k];
|
674 |
+
}return tar;
|
675 |
+
}
|
676 |
+
|
677 |
+
function assignTrue(tar, src) {
|
678 |
+
for (var k in src) {
|
679 |
+
tar[k] = 1;
|
680 |
+
}return tar;
|
681 |
+
}
|
682 |
+
|
683 |
+
function flush(component) {
|
684 |
+
component._lock = true;
|
685 |
+
callAll(component._beforecreate);
|
686 |
+
callAll(component._oncreate);
|
687 |
+
callAll(component._aftercreate);
|
688 |
+
component._lock = false;
|
689 |
+
}
|
690 |
+
|
691 |
+
function destroy(detach) {
|
692 |
+
this.destroy = noop;
|
693 |
+
this.fire('destroy');
|
694 |
+
this.set = noop;
|
695 |
+
|
696 |
+
this._fragment.d(detach !== false);
|
697 |
+
this._fragment = null;
|
698 |
+
this._state = {};
|
699 |
+
}
|
700 |
+
|
701 |
+
function get() {
|
702 |
+
return this._state;
|
703 |
+
}
|
704 |
+
|
705 |
+
function fire(eventName, data) {
|
706 |
+
var handlers = eventName in this._handlers && this._handlers[eventName].slice();
|
707 |
+
if (!handlers) return;
|
708 |
+
|
709 |
+
for (var i = 0; i < handlers.length; i += 1) {
|
710 |
+
var handler = handlers[i];
|
711 |
+
|
712 |
+
if (!handler.__calling) {
|
713 |
+
try {
|
714 |
+
handler.__calling = true;
|
715 |
+
handler.call(this, data);
|
716 |
+
} finally {
|
717 |
+
handler.__calling = false;
|
718 |
+
}
|
719 |
+
}
|
720 |
+
}
|
721 |
+
}
|
722 |
+
|
723 |
+
function on(eventName, handler) {
|
724 |
+
var handlers = this._handlers[eventName] || (this._handlers[eventName] = []);
|
725 |
+
handlers.push(handler);
|
726 |
+
|
727 |
+
return {
|
728 |
+
cancel: function cancel() {
|
729 |
+
var index = handlers.indexOf(handler);
|
730 |
+
if (~index) handlers.splice(index, 1);
|
731 |
+
}
|
732 |
+
};
|
733 |
+
}
|
734 |
+
|
735 |
+
function set(newState) {
|
736 |
+
this._set(assign({}, newState));
|
737 |
+
if (this.root._lock) return;
|
738 |
+
flush(this.root);
|
739 |
+
}
|
740 |
+
|
741 |
+
function _set(newState) {
|
742 |
+
var oldState = this._state,
|
743 |
+
changed = {},
|
744 |
+
dirty = false;
|
745 |
+
|
746 |
+
newState = assign(this._staged, newState);
|
747 |
+
this._staged = {};
|
748 |
+
|
749 |
+
for (var key in newState) {
|
750 |
+
if (this._differs(newState[key], oldState[key])) changed[key] = dirty = true;
|
751 |
+
}
|
752 |
+
if (!dirty) return;
|
753 |
+
|
754 |
+
this._state = assign(assign({}, oldState), newState);
|
755 |
+
this._recompute(changed, this._state);
|
756 |
+
if (this._bind) this._bind(changed, this._state);
|
757 |
+
|
758 |
+
if (this._fragment) {
|
759 |
+
this.fire("state", { changed: changed, current: this._state, previous: oldState });
|
760 |
+
this._fragment.p(changed, this._state);
|
761 |
+
this.fire("update", { changed: changed, current: this._state, previous: oldState });
|
762 |
+
}
|
763 |
+
}
|
764 |
+
|
765 |
+
function _stage(newState) {
|
766 |
+
assign(this._staged, newState);
|
767 |
+
}
|
768 |
+
|
769 |
+
function _mount(target, anchor) {
|
770 |
+
this._fragment[this._fragment.i ? 'i' : 'm'](target, anchor || null);
|
771 |
+
}
|
772 |
+
|
773 |
+
function _differs(a, b) {
|
774 |
+
return a != a ? b == b : a !== b || a && (typeof a === "undefined" ? "undefined" : _typeof(a)) === 'object' || typeof a === 'function';
|
775 |
+
}
|
776 |
+
|
777 |
+
function noop() {}
|
778 |
+
|
779 |
+
function blankObject() {
|
780 |
+
return Object.create(null);
|
781 |
+
}
|
782 |
+
|
783 |
+
function callAll(fns) {
|
784 |
+
while (fns && fns.length) {
|
785 |
+
fns.shift()();
|
786 |
+
}
|
787 |
+
}
|
788 |
+
return PNotifyConfirm;
|
789 |
+
}(WamPnotify);
|
790 |
+
//# sourceMappingURL=PNotifyConfirm.js.map
|
components/assets-manager/assets/js/libs/wam-pnotify-history.js
ADDED
@@ -0,0 +1,305 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
2 |
+
|
3 |
+
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
4 |
+
|
5 |
+
/* src/PNotifyHistory.html generated by Svelte v2.16.1 */
|
6 |
+
var WamPnotifyHistory = function (PNotify) {
|
7 |
+
"use strict";
|
8 |
+
|
9 |
+
PNotify = PNotify && PNotify.__esModule ? PNotify["default"] : PNotify;
|
10 |
+
|
11 |
+
function data() {
|
12 |
+
return _extends({
|
13 |
+
'_notice': null, // The PNotify notice.
|
14 |
+
'_options': {} // The options for the notice.
|
15 |
+
}, PNotify.modules.History.defaults);
|
16 |
+
};
|
17 |
+
|
18 |
+
var methods = {
|
19 |
+
initModule: function initModule(options) {
|
20 |
+
this.set(options);
|
21 |
+
|
22 |
+
if (this.get().history) {
|
23 |
+
// Don't destroy notices that are in history.
|
24 |
+
var _get = this.get(),
|
25 |
+
_notice = _get._notice;
|
26 |
+
|
27 |
+
if (_notice.get().destroy) {
|
28 |
+
_notice.set({ 'destroy': false });
|
29 |
+
}
|
30 |
+
}
|
31 |
+
},
|
32 |
+
beforeOpen: function beforeOpen() {
|
33 |
+
var _get2 = this.get(),
|
34 |
+
maxInStack = _get2.maxInStack,
|
35 |
+
_options = _get2._options;
|
36 |
+
|
37 |
+
if (maxInStack === Infinity) {
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
var stack = _options.stack;
|
42 |
+
if (stack === false) {
|
43 |
+
return;
|
44 |
+
}
|
45 |
+
|
46 |
+
// Remove oldest notifications leaving only maxInStack from the stack.
|
47 |
+
if (PNotify.notices && PNotify.notices.length > maxInStack) {
|
48 |
+
// Oldest are normally in front of array, or if stack.push=='top' then
|
49 |
+
// they are at the end of the array!
|
50 |
+
var top = stack.push === 'top';
|
51 |
+
var forRemoval = [];
|
52 |
+
var currentOpen = 0;
|
53 |
+
|
54 |
+
for (var i = top ? 0 : PNotify.notices.length - 1; top ? i < PNotify.notices.length : i >= 0; top ? i++ : i--) {
|
55 |
+
if (['opening', 'open'].indexOf(PNotify.notices[i].get()._state) !== -1 && PNotify.notices[i].get().stack === stack) {
|
56 |
+
if (currentOpen >= maxInStack) {
|
57 |
+
forRemoval.push(PNotify.notices[i]);
|
58 |
+
} else {
|
59 |
+
currentOpen++;
|
60 |
+
}
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
for (var _i = 0; _i < forRemoval.length; _i++) {
|
65 |
+
forRemoval[_i].close(false);
|
66 |
+
}
|
67 |
+
}
|
68 |
+
}
|
69 |
+
};
|
70 |
+
|
71 |
+
function setup(Component) {
|
72 |
+
Component.key = 'History';
|
73 |
+
|
74 |
+
Component.defaults = {
|
75 |
+
// Place the notice in the history.
|
76 |
+
history: true,
|
77 |
+
// Maximum number of notices to have open in its stack.
|
78 |
+
maxInStack: Infinity
|
79 |
+
};
|
80 |
+
|
81 |
+
Component.init = function (notice) {
|
82 |
+
return new Component({ target: document.body });
|
83 |
+
};
|
84 |
+
|
85 |
+
Component.showLast = function (stack) {
|
86 |
+
if (stack === undefined) {
|
87 |
+
stack = PNotify.defaultStack;
|
88 |
+
}
|
89 |
+
if (stack === false) {
|
90 |
+
return;
|
91 |
+
}
|
92 |
+
var top = stack.push === 'top';
|
93 |
+
|
94 |
+
// Look up the last history notice, and display it.
|
95 |
+
var i = top ? 0 : PNotify.notices.length - 1;
|
96 |
+
|
97 |
+
var notice = void 0;
|
98 |
+
do {
|
99 |
+
notice = PNotify.notices[i];
|
100 |
+
|
101 |
+
if (!notice) {
|
102 |
+
return;
|
103 |
+
}
|
104 |
+
|
105 |
+
i += top ? 1 : -1;
|
106 |
+
} while (notice.get().stack !== stack || !notice.get()._modules.History.get().history || notice.get()._state === 'opening' || notice.get()._state === 'open');
|
107 |
+
|
108 |
+
notice.open();
|
109 |
+
};
|
110 |
+
|
111 |
+
Component.showAll = function (stack) {
|
112 |
+
if (stack === undefined) {
|
113 |
+
stack = PNotify.defaultStack;
|
114 |
+
}
|
115 |
+
if (stack === false) {
|
116 |
+
return;
|
117 |
+
}
|
118 |
+
|
119 |
+
// Display all notices. (Disregarding non-history notices.)
|
120 |
+
for (var i = 0; i < PNotify.notices.length; i++) {
|
121 |
+
var notice = PNotify.notices[i];
|
122 |
+
if ((stack === true || notice.get().stack === stack) && notice.get()._modules.History.get().history) {
|
123 |
+
notice.open();
|
124 |
+
}
|
125 |
+
}
|
126 |
+
};
|
127 |
+
|
128 |
+
// Register the module with PNotify.
|
129 |
+
PNotify.modules.History = Component;
|
130 |
+
};
|
131 |
+
|
132 |
+
function create_main_fragment(component, ctx) {
|
133 |
+
|
134 |
+
return {
|
135 |
+
c: noop,
|
136 |
+
|
137 |
+
m: noop,
|
138 |
+
|
139 |
+
p: noop,
|
140 |
+
|
141 |
+
d: noop
|
142 |
+
};
|
143 |
+
}
|
144 |
+
|
145 |
+
function PNotifyHistory(options) {
|
146 |
+
init(this, options);
|
147 |
+
this._state = assign(data(), options.data);
|
148 |
+
this._intro = true;
|
149 |
+
|
150 |
+
this._fragment = create_main_fragment(this, this._state);
|
151 |
+
|
152 |
+
if (options.target) {
|
153 |
+
this._fragment.c();
|
154 |
+
this._mount(options.target, options.anchor);
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
assign(PNotifyHistory.prototype, {
|
159 |
+
destroy: destroy,
|
160 |
+
get: get,
|
161 |
+
fire: fire,
|
162 |
+
on: on,
|
163 |
+
set: set,
|
164 |
+
_set: _set,
|
165 |
+
_stage: _stage,
|
166 |
+
_mount: _mount,
|
167 |
+
_differs: _differs
|
168 |
+
});
|
169 |
+
assign(PNotifyHistory.prototype, methods);
|
170 |
+
|
171 |
+
PNotifyHistory.prototype._recompute = noop;
|
172 |
+
|
173 |
+
setup(PNotifyHistory);
|
174 |
+
|
175 |
+
function noop() {}
|
176 |
+
|
177 |
+
function init(component, options) {
|
178 |
+
component._handlers = blankObject();
|
179 |
+
component._slots = blankObject();
|
180 |
+
component._bind = options._bind;
|
181 |
+
component._staged = {};
|
182 |
+
|
183 |
+
component.options = options;
|
184 |
+
component.root = options.root || component;
|
185 |
+
component.store = options.store || component.root.store;
|
186 |
+
|
187 |
+
if (!options.root) {
|
188 |
+
component._beforecreate = [];
|
189 |
+
component._oncreate = [];
|
190 |
+
component._aftercreate = [];
|
191 |
+
}
|
192 |
+
}
|
193 |
+
|
194 |
+
function assign(tar, src) {
|
195 |
+
for (var k in src) {
|
196 |
+
tar[k] = src[k];
|
197 |
+
}return tar;
|
198 |
+
}
|
199 |
+
|
200 |
+
function destroy(detach) {
|
201 |
+
this.destroy = noop;
|
202 |
+
this.fire('destroy');
|
203 |
+
this.set = noop;
|
204 |
+
|
205 |
+
this._fragment.d(detach !== false);
|
206 |
+
this._fragment = null;
|
207 |
+
this._state = {};
|
208 |
+
}
|
209 |
+
|
210 |
+
function get() {
|
211 |
+
return this._state;
|
212 |
+
}
|
213 |
+
|
214 |
+
function fire(eventName, data) {
|
215 |
+
var handlers = eventName in this._handlers && this._handlers[eventName].slice();
|
216 |
+
if (!handlers) return;
|
217 |
+
|
218 |
+
for (var i = 0; i < handlers.length; i += 1) {
|
219 |
+
var handler = handlers[i];
|
220 |
+
|
221 |
+
if (!handler.__calling) {
|
222 |
+
try {
|
223 |
+
handler.__calling = true;
|
224 |
+
handler.call(this, data);
|
225 |
+
} finally {
|
226 |
+
handler.__calling = false;
|
227 |
+
}
|
228 |
+
}
|
229 |
+
}
|
230 |
+
}
|
231 |
+
|
232 |
+
function on(eventName, handler) {
|
233 |
+
var handlers = this._handlers[eventName] || (this._handlers[eventName] = []);
|
234 |
+
handlers.push(handler);
|
235 |
+
|
236 |
+
return {
|
237 |
+
cancel: function cancel() {
|
238 |
+
var index = handlers.indexOf(handler);
|
239 |
+
if (~index) handlers.splice(index, 1);
|
240 |
+
}
|
241 |
+
};
|
242 |
+
}
|
243 |
+
|
244 |
+
function set(newState) {
|
245 |
+
this._set(assign({}, newState));
|
246 |
+
if (this.root._lock) return;
|
247 |
+
flush(this.root);
|
248 |
+
}
|
249 |
+
|
250 |
+
function _set(newState) {
|
251 |
+
var oldState = this._state,
|
252 |
+
changed = {},
|
253 |
+
dirty = false;
|
254 |
+
|
255 |
+
newState = assign(this._staged, newState);
|
256 |
+
this._staged = {};
|
257 |
+
|
258 |
+
for (var key in newState) {
|
259 |
+
if (this._differs(newState[key], oldState[key])) changed[key] = dirty = true;
|
260 |
+
}
|
261 |
+
if (!dirty) return;
|
262 |
+
|
263 |
+
this._state = assign(assign({}, oldState), newState);
|
264 |
+
this._recompute(changed, this._state);
|
265 |
+
if (this._bind) this._bind(changed, this._state);
|
266 |
+
|
267 |
+
if (this._fragment) {
|
268 |
+
this.fire("state", { changed: changed, current: this._state, previous: oldState });
|
269 |
+
this._fragment.p(changed, this._state);
|
270 |
+
this.fire("update", { changed: changed, current: this._state, previous: oldState });
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
function _stage(newState) {
|
275 |
+
assign(this._staged, newState);
|
276 |
+
}
|
277 |
+
|
278 |
+
function _mount(target, anchor) {
|
279 |
+
this._fragment[this._fragment.i ? 'i' : 'm'](target, anchor || null);
|
280 |
+
}
|
281 |
+
|
282 |
+
function _differs(a, b) {
|
283 |
+
return a != a ? b == b : a !== b || a && (typeof a === "undefined" ? "undefined" : _typeof(a)) === 'object' || typeof a === 'function';
|
284 |
+
}
|
285 |
+
|
286 |
+
function blankObject() {
|
287 |
+
return Object.create(null);
|
288 |
+
}
|
289 |
+
|
290 |
+
function flush(component) {
|
291 |
+
component._lock = true;
|
292 |
+
callAll(component._beforecreate);
|
293 |
+
callAll(component._oncreate);
|
294 |
+
callAll(component._aftercreate);
|
295 |
+
component._lock = false;
|
296 |
+
}
|
297 |
+
|
298 |
+
function callAll(fns) {
|
299 |
+
while (fns && fns.length) {
|
300 |
+
fns.shift()();
|
301 |
+
}
|
302 |
+
}
|
303 |
+
return PNotifyHistory;
|
304 |
+
}(WamPnotify);
|
305 |
+
//# sourceMappingURL=PNotifyHistory.js.map
|
components/assets-manager/assets/js/{PNotify.js → libs/wam-pnotify.js}
RENAMED
@@ -3,7 +3,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
|
|
3 |
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
4 |
|
5 |
/* src/PNotify.html generated by Svelte v2.16.1 */
|
6 |
-
var
|
7 |
"use strict";
|
8 |
|
9 |
var PNotify = void 0;
|
3 |
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
4 |
|
5 |
/* src/PNotify.html generated by Svelte v2.16.1 */
|
6 |
+
var WamPnotify = function () {
|
7 |
"use strict";
|
8 |
|
9 |
var PNotify = void 0;
|
components/assets-manager/assets/js/{assets-conditions.js → wam-assets-conditions.js}
RENAMED
File without changes
|
components/assets-manager/assets/js/{assets-manager.js → wam-assets-manager.js}
RENAMED
@@ -4,27 +4,46 @@
|
|
4 |
* @copyright (c) 13.11.2017, Webcraftic
|
5 |
* @version 1.0
|
6 |
*/
|
7 |
-
// [{"type":"group","conditions":[{"param":"location-some-page","operator":"equals","type":"select","value":"base_web"}]}]
|
8 |
-
// [{"type":"group","conditions":[{"param":"location-some-page","operator":"equals","type":"select","value":"base_web"}]}]
|
9 |
|
10 |
(function($) {
|
11 |
'use strict';
|
12 |
|
13 |
class AssetsManager {
|
14 |
constructor() {
|
15 |
-
|
16 |
-
|
17 |
-
if( tabHash ) {
|
18 |
-
$('.js-wam-assets-type-tabs__button[data-type="' + tabHash + '"]').click();
|
19 |
}
|
20 |
|
|
|
|
|
21 |
this.initEvents();
|
22 |
this.updateStat();
|
|
|
23 |
}
|
24 |
|
25 |
initEvents() {
|
26 |
var self = this;
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
$('.js-wam-assets-type-tabs__button').click(function() {
|
29 |
self.switchCategoryTab($(this));
|
30 |
return false;
|
@@ -62,12 +81,46 @@
|
|
62 |
});
|
63 |
|
64 |
$('.js-wam-select-asset-load-mode').change(function() {
|
65 |
-
let selectElement = $(this)
|
|
|
66 |
|
67 |
if( 'enable' === selectElement.val() ) {
|
68 |
self.enableAsset(selectElement);
|
69 |
return false;
|
70 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
self.disableAsset(selectElement);
|
72 |
return false;
|
73 |
});
|
@@ -81,6 +134,49 @@
|
|
81 |
self.openAssetSettings($(this));
|
82 |
return false;
|
83 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
}
|
85 |
|
86 |
switchCategoryTab(element) {
|
@@ -217,15 +313,12 @@ notice.on('pnotify.cancel', function() {
|
|
217 |
|
218 |
this.createConditionsEditor(editorContainerElement, function(e) {
|
219 |
function a() {
|
220 |
-
let
|
221 |
-
loadMode = containerElement.find('.js-wam-select-plugin-load-mode').val();
|
222 |
|
223 |
if( "disable_plugin" === loadMode ) {
|
224 |
-
|
225 |
-
e.element.find('.wam-cleditor__param-select').find('option[value="' + params[i] + '"]').hide();
|
226 |
-
}
|
227 |
} else {
|
228 |
-
e.element.
|
229 |
}
|
230 |
}
|
231 |
|
@@ -361,10 +454,6 @@ notice.on('pnotify.cancel', function() {
|
|
361 |
};
|
362 |
}
|
363 |
});
|
364 |
-
|
365 |
-
if( undefined === typeof window.wam_localize_data || !wam_localize_data.ajaxurl ) {
|
366 |
-
throw new Error("Undefined wam_localize_data, please check the var in source!");
|
367 |
-
}
|
368 |
});
|
369 |
|
370 |
$('.wam-conditions-builder__settings', '#wam-assets-type-tab-content__theme,#wam-assets-type-tab-content__misc').each(function() {
|
@@ -388,34 +477,36 @@ notice.on('pnotify.cancel', function() {
|
|
388 |
'firstpos2': 25
|
389 |
};
|
390 |
|
391 |
-
|
392 |
-
|
393 |
title: 'Saving settings!',
|
394 |
text: 'Please wait, saving settings ...',
|
395 |
stack: stackBottomRight,
|
396 |
hide: false
|
397 |
});
|
398 |
|
399 |
-
$.ajax(
|
400 |
type: 'post',
|
401 |
dataType: 'json',
|
402 |
data: {
|
403 |
action: 'wam-save-settings',
|
|
|
404 |
settings: settings,
|
405 |
_wpnonce: $('#wam-save-button').data('nonce')
|
406 |
},
|
407 |
success: function(response) {
|
408 |
-
|
409 |
|
410 |
if( !response || !response.success ) {
|
411 |
if( response.data ) {
|
412 |
console.log(response.data.error_message_content);
|
413 |
-
|
414 |
title: response.data.error_message_title,
|
415 |
text: response.data.error_message_content,
|
416 |
stack: stackBottomRight,
|
417 |
type: 'error',
|
418 |
-
|
|
|
419 |
});
|
420 |
} else {
|
421 |
console.log(response);
|
@@ -423,17 +514,18 @@ notice.on('pnotify.cancel', function() {
|
|
423 |
return;
|
424 |
}
|
425 |
if( response.data ) {
|
426 |
-
|
427 |
title: response.data.save_massage_title,
|
428 |
text: response.data.save_message_content,
|
429 |
stack: stackBottomRight,
|
430 |
type: 'success',
|
431 |
-
|
|
|
432 |
});
|
433 |
}
|
434 |
},
|
435 |
error: function(xhr, ajaxOptions, thrownError) {
|
436 |
-
|
437 |
title: 'Unknown error',
|
438 |
text: thrownError,
|
439 |
stack: {
|
@@ -443,7 +535,8 @@ notice.on('pnotify.cancel', function() {
|
|
443 |
'firstpos2': 25
|
444 |
},
|
445 |
type: 'error',
|
446 |
-
|
|
|
447 |
});
|
448 |
}
|
449 |
});
|
@@ -463,7 +556,7 @@ notice.on('pnotify.cancel', function() {
|
|
463 |
"param": "current-url",
|
464 |
"operator": "equals",
|
465 |
"type": "default",
|
466 |
-
"value":
|
467 |
}
|
468 |
|
469 |
]
|
@@ -474,6 +567,24 @@ notice.on('pnotify.cancel', function() {
|
|
474 |
});
|
475 |
}
|
476 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
477 |
destroyCoditionEditor(element) {
|
478 |
element.find('.wam-cleditor').remove();
|
479 |
element.find('.wam-conditions-builder__settings').val('');
|
4 |
* @copyright (c) 13.11.2017, Webcraftic
|
5 |
* @version 1.0
|
6 |
*/
|
|
|
|
|
7 |
|
8 |
(function($) {
|
9 |
'use strict';
|
10 |
|
11 |
class AssetsManager {
|
12 |
constructor() {
|
13 |
+
if( undefined === typeof window.wam_localize_data || !wam_localize_data.ajaxurl ) {
|
14 |
+
throw new Error("Undefined wam_localize_data, please check the var in source!");
|
|
|
|
|
15 |
}
|
16 |
|
17 |
+
this.pluginVars = window.wam_localize_data;
|
18 |
+
|
19 |
this.initEvents();
|
20 |
this.updateStat();
|
21 |
+
this.setDefaultCategoryTab();
|
22 |
}
|
23 |
|
24 |
initEvents() {
|
25 |
var self = this;
|
26 |
|
27 |
+
$('.js-wam-require-handle-tag').click(function() {
|
28 |
+
let handle = $(this).data('tag-handle'),
|
29 |
+
assetElement = $('[data-asset-handle="' + handle + '"]'),
|
30 |
+
currentTabElement = $(this).closest('.wam-assets-type-tab-content'),
|
31 |
+
searchTabElement = assetElement.closest('.wam-assets-type-tab-content');
|
32 |
+
|
33 |
+
self.switchCategoryTab($('.wam-assets-type-tabs__button--' + searchTabElement.data('category')));
|
34 |
+
|
35 |
+
assetElement.get(0).scrollIntoView({
|
36 |
+
block: 'center'
|
37 |
+
});
|
38 |
+
|
39 |
+
assetElement.css('border', '1px solid red');
|
40 |
+
setTimeout(function() {
|
41 |
+
assetElement.css('border', '0');
|
42 |
+
}, 2000)
|
43 |
+
|
44 |
+
return false;
|
45 |
+
});
|
46 |
+
|
47 |
$('.js-wam-assets-type-tabs__button').click(function() {
|
48 |
self.switchCategoryTab($(this));
|
49 |
return false;
|
81 |
});
|
82 |
|
83 |
$('.js-wam-select-asset-load-mode').change(function() {
|
84 |
+
let selectElement = $(this),
|
85 |
+
requires = selectElement.closest('tr').find('.js-wam-table__asset-requires');
|
86 |
|
87 |
if( 'enable' === selectElement.val() ) {
|
88 |
self.enableAsset(selectElement);
|
89 |
return false;
|
90 |
}
|
91 |
+
|
92 |
+
if( requires.length ) {
|
93 |
+
// show warning
|
94 |
+
var notice = WamPnotify.notice({
|
95 |
+
title: self.pluginVars.i18n.asset_canbe_required_title,
|
96 |
+
text: self.pluginVars.i18n.asset_canbe_required_text.replace('%s', requires.text()),
|
97 |
+
icon: 'fas fa-question-circle',
|
98 |
+
hide: false,
|
99 |
+
stack: {
|
100 |
+
'dir1': 'down',
|
101 |
+
'modal': true,
|
102 |
+
'firstpos1': 25
|
103 |
+
},
|
104 |
+
modules: {
|
105 |
+
Confirm: {
|
106 |
+
confirm: true
|
107 |
+
},
|
108 |
+
Buttons: {
|
109 |
+
closer: false,
|
110 |
+
sticker: false
|
111 |
+
},
|
112 |
+
History: {
|
113 |
+
history: false
|
114 |
+
},
|
115 |
+
}
|
116 |
+
});
|
117 |
+
notice.on('pnotify.confirm', function() {
|
118 |
+
self.disableAsset(selectElement);
|
119 |
+
});
|
120 |
+
|
121 |
+
return false;
|
122 |
+
}
|
123 |
+
|
124 |
self.disableAsset(selectElement);
|
125 |
return false;
|
126 |
});
|
134 |
self.openAssetSettings($(this));
|
135 |
return false;
|
136 |
});
|
137 |
+
|
138 |
+
$('.js-wam-reset-settings').click(function() {
|
139 |
+
self.setWarningForClearSettingsAction($(this));
|
140 |
+
return false;
|
141 |
+
});
|
142 |
+
}
|
143 |
+
|
144 |
+
setWarningForClearSettingsAction(button) {
|
145 |
+
var notice = WamPnotify.notice({
|
146 |
+
title: this.pluginVars.i18n.reset_settings_warning_title,
|
147 |
+
text: this.pluginVars.i18n.reset_settings_warning_text,
|
148 |
+
icon: 'fas fa-question-circle',
|
149 |
+
hide: false,
|
150 |
+
stack: {
|
151 |
+
'dir1': 'down',
|
152 |
+
'modal': true,
|
153 |
+
'firstpos1': 25
|
154 |
+
},
|
155 |
+
modules: {
|
156 |
+
Confirm: {
|
157 |
+
confirm: true
|
158 |
+
},
|
159 |
+
Buttons: {
|
160 |
+
closer: false,
|
161 |
+
sticker: false
|
162 |
+
},
|
163 |
+
History: {
|
164 |
+
history: false
|
165 |
+
},
|
166 |
+
}
|
167 |
+
});
|
168 |
+
notice.on('pnotify.confirm', function() {
|
169 |
+
window.location.href = button.attr('href');
|
170 |
+
});
|
171 |
+
/*notice.on('pnotify.cancel', function() {
|
172 |
+
alert('Oh ok. Chicken, I see.');
|
173 |
+
});*/
|
174 |
+
}
|
175 |
+
|
176 |
+
setDefaultCategoryTab() {
|
177 |
+
let tabHash = window.location.hash.replace('#', '');
|
178 |
+
|
179 |
+
tabHash && $('.js-wam-assets-type-tabs__button[data-type="' + tabHash + '"]').click();
|
180 |
}
|
181 |
|
182 |
switchCategoryTab(element) {
|
313 |
|
314 |
this.createConditionsEditor(editorContainerElement, function(e) {
|
315 |
function a() {
|
316 |
+
let loadMode = containerElement.find('.js-wam-select-plugin-load-mode').val();
|
|
|
317 |
|
318 |
if( "disable_plugin" === loadMode ) {
|
319 |
+
e.element.addClass('wam-cleditor__disable-plugin-mode');
|
|
|
|
|
320 |
} else {
|
321 |
+
e.element.removeClass('wam-cleditor__disable-plugin-mode');
|
322 |
}
|
323 |
}
|
324 |
|
454 |
};
|
455 |
}
|
456 |
});
|
|
|
|
|
|
|
|
|
457 |
});
|
458 |
|
459 |
$('.wam-conditions-builder__settings', '#wam-assets-type-tab-content__theme,#wam-assets-type-tab-content__misc').each(function() {
|
477 |
'firstpos2': 25
|
478 |
};
|
479 |
|
480 |
+
WamPnotify.closeAll();
|
481 |
+
WamPnotify.alert({
|
482 |
title: 'Saving settings!',
|
483 |
text: 'Please wait, saving settings ...',
|
484 |
stack: stackBottomRight,
|
485 |
hide: false
|
486 |
});
|
487 |
|
488 |
+
$.ajax(this.pluginVars.ajaxurl, {
|
489 |
type: 'post',
|
490 |
dataType: 'json',
|
491 |
data: {
|
492 |
action: 'wam-save-settings',
|
493 |
+
scope: this.pluginVars.scope,
|
494 |
settings: settings,
|
495 |
_wpnonce: $('#wam-save-button').data('nonce')
|
496 |
},
|
497 |
success: function(response) {
|
498 |
+
WamPnotify.closeAll();
|
499 |
|
500 |
if( !response || !response.success ) {
|
501 |
if( response.data ) {
|
502 |
console.log(response.data.error_message_content);
|
503 |
+
WamPnotify.alert({
|
504 |
title: response.data.error_message_title,
|
505 |
text: response.data.error_message_content,
|
506 |
stack: stackBottomRight,
|
507 |
type: 'error',
|
508 |
+
delay: 15000,
|
509 |
+
hide: true
|
510 |
});
|
511 |
} else {
|
512 |
console.log(response);
|
514 |
return;
|
515 |
}
|
516 |
if( response.data ) {
|
517 |
+
WamPnotify.alert({
|
518 |
title: response.data.save_massage_title,
|
519 |
text: response.data.save_message_content,
|
520 |
stack: stackBottomRight,
|
521 |
type: 'success',
|
522 |
+
delay: 3000,
|
523 |
+
hide: true
|
524 |
});
|
525 |
}
|
526 |
},
|
527 |
error: function(xhr, ajaxOptions, thrownError) {
|
528 |
+
WamPnotify.alert({
|
529 |
title: 'Unknown error',
|
530 |
text: thrownError,
|
531 |
stack: {
|
535 |
'firstpos2': 25
|
536 |
},
|
537 |
type: 'error',
|
538 |
+
delay: 15000,
|
539 |
+
hide: true
|
540 |
});
|
541 |
}
|
542 |
});
|
556 |
"param": "current-url",
|
557 |
"operator": "equals",
|
558 |
"type": "default",
|
559 |
+
"value": this.getCurrentUrl()
|
560 |
}
|
561 |
|
562 |
]
|
567 |
});
|
568 |
}
|
569 |
|
570 |
+
/**
|
571 |
+
* Get current url
|
572 |
+
*
|
573 |
+
* if it is the admin area url would be with query string
|
574 |
+
*
|
575 |
+
* @returns {jQuery|*|*}
|
576 |
+
*/
|
577 |
+
getCurrentUrl() {
|
578 |
+
let path = $(location).attr('pathname'),
|
579 |
+
queryString = $(location).attr('search');
|
580 |
+
|
581 |
+
if( "admin" === this.pluginVars.scope || "networkadmin" === this.pluginVars.scope ) {
|
582 |
+
return path + queryString.replace(/[?&]{1}wbcr_assets_manager=1/g, '');
|
583 |
+
}
|
584 |
+
|
585 |
+
return path;
|
586 |
+
}
|
587 |
+
|
588 |
destroyCoditionEditor(element) {
|
589 |
element.find('.wam-cleditor').remove();
|
590 |
element.find('.wam-conditions-builder__settings').val('');
|
components/assets-manager/clearfy.php
CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
}
|
16 |
|
17 |
if ( ! defined( 'WGZ_PLUGIN_ACTIVE' ) ) {
|
18 |
-
define( 'WGZ_PLUGIN_VERSION', '2.0.
|
19 |
define( 'WGZ_PLUGIN_ACTIVE', true );
|
20 |
|
21 |
// Этот плагин загружен, как аддон для плагина Clearfy
|
15 |
}
|
16 |
|
17 |
if ( ! defined( 'WGZ_PLUGIN_ACTIVE' ) ) {
|
18 |
+
define( 'WGZ_PLUGIN_VERSION', '2.0.3' );
|
19 |
define( 'WGZ_PLUGIN_ACTIVE', true );
|
20 |
|
21 |
// Этот плагин загружен, как аддон для плагина Clearfy
|
components/assets-manager/gonzales.php
CHANGED
@@ -4,11 +4,11 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/gonzales/
|
5 |
* Description: Increase the speed of the pages by disabling unused scripts (.JS) and styles (.CSS). Make your website REACTIVE!
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 2.0.
|
8 |
* Text Domain: gonzales
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
@@ -47,7 +47,7 @@ $wgnz_plugin_info = array(
|
|
47 |
|
48 |
// PLUGIN SUPPORT
|
49 |
'support_details' => array(
|
50 |
-
'url' => 'https://
|
51 |
'pages_map' => array(
|
52 |
'support' => 'support', // {site}/support
|
53 |
'docs' => 'docs' // {site}/docs
|
@@ -64,15 +64,15 @@ $wgnz_plugin_info = array(
|
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
-
array( 'libs/factory/bootstrap', '
|
68 |
-
array( 'libs/factory/forms', '
|
69 |
-
array( 'libs/factory/pages', '
|
70 |
-
array( 'libs/factory/clearfy', '
|
71 |
-
array( 'libs/factory/adverts', '
|
72 |
)
|
73 |
);
|
74 |
|
75 |
-
$wgnz_compatibility = new
|
76 |
'plugin_already_activate' => defined( 'WGZ_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
4 |
* Plugin URI: https://wordpress.org/plugins/gonzales/
|
5 |
* Description: Increase the speed of the pages by disabling unused scripts (.JS) and styles (.CSS). Make your website REACTIVE!
|
6 |
* Author: Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 2.0.3
|
8 |
* Text Domain: gonzales
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
+
* Framework Version: FACTORY_422_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
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
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
68 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
69 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
70 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
71 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
72 |
)
|
73 |
);
|
74 |
|
75 |
+
$wgnz_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wgnz_plugin_info, array(
|
76 |
'plugin_already_activate' => defined( 'WGZ_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
components/assets-manager/includes/class-plugin.php
CHANGED
@@ -11,11 +11,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
* @version 1.0
|
13 |
*/
|
14 |
-
class WGZ_Plugin extends
|
15 |
|
16 |
/**
|
17 |
* @see self::app()
|
18 |
-
* @var
|
19 |
*/
|
20 |
private static $app;
|
21 |
|
@@ -53,7 +53,7 @@ class WGZ_Plugin extends Wbcr_Factory421_Plugin {
|
|
53 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
54 |
* классам.
|
55 |
*
|
56 |
-
* @return \
|
57 |
*/
|
58 |
public static function app() {
|
59 |
return self::$app;
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
* @version 1.0
|
13 |
*/
|
14 |
+
class WGZ_Plugin extends Wbcr_Factory422_Plugin {
|
15 |
|
16 |
/**
|
17 |
* @see self::app()
|
18 |
+
* @var Wbcr_Factory422_Plugin
|
19 |
*/
|
20 |
private static $app;
|
21 |
|
53 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
54 |
* классам.
|
55 |
*
|
56 |
+
* @return \Wbcr_Factory422_Plugin|\WGZ_Plugin
|
57 |
*/
|
58 |
public static function app() {
|
59 |
return self::$app;
|
components/assets-manager/includes/classes/class-assets-manager-global.php
CHANGED
@@ -21,19 +21,18 @@ class WGZ_Assets_Manager_Public {
|
|
21 |
public $collection = [];
|
22 |
|
23 |
/**
|
24 |
-
* @param
|
25 |
*/
|
26 |
-
public function __construct(
|
27 |
$this->plugin = $plugin;
|
28 |
|
29 |
$this->register_hooks();
|
30 |
}
|
31 |
|
32 |
/**
|
33 |
-
*
|
34 |
*
|
35 |
-
*
|
36 |
-
* чтобы использовать менеджер скриптов.
|
37 |
*
|
38 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
39 |
* @since 1.1.0
|
@@ -73,7 +72,6 @@ class WGZ_Assets_Manager_Public {
|
|
73 |
}
|
74 |
|
75 |
if ( ! is_admin() && ! $on_frontend ) {
|
76 |
-
add_action( 'template_redirect', [ $this, 'clean_source_code' ], 9999 );
|
77 |
add_action( 'wp_head', [ $this, 'collect_assets' ], 10000 );
|
78 |
add_action( 'wp_footer', [ $this, 'collect_assets' ], 10000 );
|
79 |
}
|
@@ -91,12 +89,17 @@ class WGZ_Assets_Manager_Public {
|
|
91 |
}
|
92 |
}
|
93 |
|
|
|
|
|
|
|
|
|
94 |
##Login/Logout
|
95 |
add_action( 'wp_login', [ $this, 'user_logged_in' ], 99, 2 );
|
96 |
add_action( 'wp_logout', [ $this, 'user_logged_out' ] );
|
97 |
|
98 |
// Stop optimizing scripts and caching the asset manager page.
|
99 |
-
add_action( '
|
|
|
100 |
|
101 |
// Disable autoptimize on Assets manager page
|
102 |
add_filter( 'autoptimize_filter_noptimize', [ $this, 'autoptimize_noptimize' ], 10, 0 );
|
@@ -107,6 +110,14 @@ class WGZ_Assets_Manager_Public {
|
|
107 |
}
|
108 |
}
|
109 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
public function print_save_mode_fake_checkbox( $data ) {
|
111 |
if ( defined( 'WGZP_PLUGIN_ACTIVE' ) ) {
|
112 |
return;
|
@@ -120,10 +131,10 @@ class WGZ_Assets_Manager_Public {
|
|
120 |
}
|
121 |
|
122 |
/**
|
123 |
-
*
|
124 |
*
|
125 |
-
*
|
126 |
-
*
|
127 |
*
|
128 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
129 |
* @since 2.0.0
|
@@ -142,7 +153,7 @@ class WGZ_Assets_Manager_Public {
|
|
142 |
}
|
143 |
|
144 |
/**
|
145 |
-
*
|
146 |
*
|
147 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
148 |
* @since 2.0.0
|
@@ -186,6 +197,26 @@ class WGZ_Assets_Manager_Public {
|
|
186 |
if ( ! defined( 'DONOTMINIFY' ) ) {
|
187 |
define( 'DONOTMINIFY', true );
|
188 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
}
|
190 |
|
191 |
/**
|
@@ -204,144 +235,33 @@ class WGZ_Assets_Manager_Public {
|
|
204 |
}
|
205 |
|
206 |
/**
|
207 |
-
*
|
208 |
-
* unnecessary conflicts during the use of the asset manager.
|
209 |
*
|
210 |
-
*
|
211 |
*
|
212 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
213 |
-
* @since 1.0
|
214 |
*/
|
215 |
-
public function
|
216 |
if ( ! isset( $_GET['wbcr_assets_manager'] ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
|
217 |
-
return
|
218 |
}
|
219 |
|
220 |
-
|
221 |
-
|
222 |
-
$raw_html = $html;
|
223 |
-
|
224 |
-
$html = preg_replace( [
|
225 |
-
"'<\s*style.*?<\s*/\s*style\s*>'is",
|
226 |
-
], [
|
227 |
-
""
|
228 |
-
], $html );
|
229 |
-
|
230 |
-
$html = preg_replace_callback( [
|
231 |
-
"'<\s*link.*?>'is",
|
232 |
-
], function ( $matches ) {
|
233 |
-
$doc = new DOMDocument();
|
234 |
-
$doc->loadHTML( $matches[0] );
|
235 |
-
$imageTags = $doc->getElementsByTagName( 'link' );
|
236 |
-
|
237 |
-
foreach ( $imageTags as $tag ) {
|
238 |
-
$src = $tag->getAttribute( 'href' );
|
239 |
-
|
240 |
-
$white_list_js = [
|
241 |
-
'wp-includes/css/dashicons.min.css',
|
242 |
-
'wp-includes/css/admin-bar.min.css',
|
243 |
-
// --
|
244 |
-
'assets-manager/assets/css/assets-manager.css',
|
245 |
-
'assets-manager-premium/assets/css/assets-manager.css',
|
246 |
-
'assets-manager-premium-premium/assets/css/assets-manager.css',
|
247 |
-
// --
|
248 |
-
'assets-manager/assets/css/assets-conditions.css',
|
249 |
-
'assets-manager-premium/assets/css/assets-conditions.css',
|
250 |
-
'assets-manager-premium-premium/assets/css/assets-conditions.css',
|
251 |
-
// --
|
252 |
-
'clearfy/assets/css/admin-bar.css',
|
253 |
-
// --
|
254 |
-
'assets-manager/assets/css/PNotifyBrightTheme.css',
|
255 |
-
'assets-manager-premium/assets/css/PNotifyBrightTheme.css',
|
256 |
-
'assets-manager-premium-premium/assets/css/PNotifyBrightTheme.css',
|
257 |
-
|
258 |
-
];
|
259 |
-
|
260 |
-
if ( ! empty( $src ) ) {
|
261 |
-
foreach ( $white_list_js as $js ) {
|
262 |
-
if ( false !== strpos( $src, $js ) ) {
|
263 |
-
return $matches[0];
|
264 |
-
}
|
265 |
-
}
|
266 |
-
}
|
267 |
-
|
268 |
-
return '';
|
269 |
-
}
|
270 |
-
}, $html );
|
271 |
-
|
272 |
-
$html = preg_replace_callback( [
|
273 |
-
"'<\s*script.*?<\s*\/\s*script\s*>'is",
|
274 |
-
], function ( $matches ) {
|
275 |
-
if ( false !== strpos( $matches[0], 'wam_localize_data' ) ) {
|
276 |
-
return $matches[0];
|
277 |
-
}
|
278 |
-
if ( false !== strpos( $matches[0], 'wam-conditions-builder-template' ) ) {
|
279 |
-
return $matches[0];
|
280 |
-
}
|
281 |
-
|
282 |
-
$doc = new DOMDocument();
|
283 |
-
$doc->loadHTML( $matches[0] );
|
284 |
-
$imageTags = $doc->getElementsByTagName( 'script' );
|
285 |
-
|
286 |
-
foreach ( $imageTags as $tag ) {
|
287 |
-
$src = $tag->getAttribute( 'src' );
|
288 |
-
|
289 |
-
$white_list_js = [
|
290 |
-
'wam-jquery.js',
|
291 |
-
'wam-jquery-migrate.min.js',
|
292 |
-
'wp-includes/js/admin-bar.min.js',
|
293 |
-
// --
|
294 |
-
'assets-manager/assets/js/assets-manager.js',
|
295 |
-
'assets-manager-premium/assets/js/assets-manager.js',
|
296 |
-
'assets-manager-premium-premium/assets/js/assets-manager.js',
|
297 |
-
// --
|
298 |
-
'assets-manager/assets/js/assets-conditions.js',
|
299 |
-
'assets-manager-premium/assets/js/assets-conditions.js',
|
300 |
-
'assets-manager-premium-premium/assets/js/assets-conditions.js',
|
301 |
-
// --
|
302 |
-
'assets-manager/assets/js/PNotify.js',
|
303 |
-
'assets-manager-premium/assets/js/PNotify.js',
|
304 |
-
'assets-manager-premium-premium/assets/js/PNotify.js',
|
305 |
-
|
306 |
-
];
|
307 |
-
|
308 |
-
if ( ! empty( $src ) ) {
|
309 |
-
foreach ( $white_list_js as $js ) {
|
310 |
-
if ( false !== strpos( $src, $js ) ) {
|
311 |
-
return $matches[0];
|
312 |
-
}
|
313 |
-
}
|
314 |
-
}
|
315 |
-
|
316 |
-
return '';
|
317 |
-
}
|
318 |
-
//return $matches[0];
|
319 |
-
}, $html );
|
320 |
-
|
321 |
-
if ( empty( $html ) ) {
|
322 |
-
return $raw_html;
|
323 |
-
}
|
324 |
-
|
325 |
-
return $html;
|
326 |
-
} );
|
327 |
}
|
328 |
|
329 |
/**
|
330 |
-
*
|
331 |
*
|
332 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
333 |
* @since 1.1.0
|
334 |
*
|
335 |
-
* @param array $menu_items
|
336 |
*
|
337 |
* @return mixed
|
338 |
*/
|
339 |
-
function clearfy_admin_bar_menu_filter( $menu_items ) {
|
340 |
-
//todo: Закрыть функциональность для админки
|
341 |
-
if ( is_admin() ) {
|
342 |
-
return $menu_items;
|
343 |
-
}
|
344 |
-
|
345 |
$current_url = add_query_arg( [ 'wbcr_assets_manager' => 1 ] );
|
346 |
|
347 |
$menu_items['assets_manager_render_template'] = [
|
@@ -353,19 +273,14 @@ class WGZ_Assets_Manager_Public {
|
|
353 |
}
|
354 |
|
355 |
/**
|
356 |
-
*
|
357 |
*
|
358 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
359 |
* @since 1.1.0
|
360 |
*
|
361 |
* @param WP_Admin_Bar $wp_admin_bar
|
362 |
*/
|
363 |
-
function assets_manager_add_admin_bar_menu( $wp_admin_bar ) {
|
364 |
-
//todo: Закрыть функциональность для админки
|
365 |
-
if ( ! $this->is_user_can() || is_admin() ) {
|
366 |
-
return;
|
367 |
-
}
|
368 |
-
|
369 |
$current_url = add_query_arg( [ 'wbcr_assets_manager' => 1 ] );
|
370 |
|
371 |
$args = [
|
@@ -377,33 +292,23 @@ class WGZ_Assets_Manager_Public {
|
|
377 |
}
|
378 |
|
379 |
/**
|
380 |
-
*
|
381 |
*
|
382 |
-
*
|
383 |
-
* wp_footer
|
384 |
*
|
385 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
386 |
* @since 2.0.0
|
387 |
* @throws \Exception
|
388 |
*/
|
389 |
-
function assets_manager_render_template() {
|
390 |
if ( ! $this->is_user_can() || ! isset( $_GET['wbcr_assets_manager'] ) ) {
|
391 |
return;
|
392 |
}
|
393 |
|
394 |
-
|
395 |
-
if ( isset( $_GET['wam_reset_settings'] ) ) {
|
396 |
-
check_admin_referer( 'wam_reset_settings' );
|
397 |
-
$this->plugin->updateOption( 'assets_states', [] );
|
398 |
-
wp_redirect( untrailingslashit( $this->get_current_url() ) . '?wbcr_assets_manager' );
|
399 |
-
die();
|
400 |
-
}
|
401 |
-
|
402 |
-
$settings = $this->plugin->getOption( 'assets_states', [] );
|
403 |
|
404 |
$views = new WGZ_Views( WGZ_PLUGIN_DIR );
|
405 |
$views->print_template( 'assets-manager', [
|
406 |
-
'current_url' => esc_url( $this->get_current_url() ),
|
407 |
'save_mode' => isset( $settings['save_mode'] ) ? (bool) $settings['save_mode'] : false,
|
408 |
'collection' => $this->collection,
|
409 |
'loaded_plugins' => $this->get_loaded_plugins(),
|
@@ -417,16 +322,21 @@ class WGZ_Assets_Manager_Public {
|
|
417 |
}
|
418 |
|
419 |
/**
|
|
|
|
|
|
|
|
|
420 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
421 |
* @since 2.0.0
|
422 |
*
|
423 |
-
* @param $src
|
424 |
-
* @param $handle
|
425 |
*
|
426 |
-
* @return
|
|
|
427 |
*/
|
428 |
-
function filter_load_assets( $src, $handle ) {
|
429 |
-
$settings = $this->
|
430 |
|
431 |
if ( isset( $_GET['wbcr_assets_manager'] ) || empty( $settings ) || ( true === $settings['save_mode'] && ! $this->is_user_can() ) ) {
|
432 |
return $src;
|
@@ -518,15 +428,21 @@ class WGZ_Assets_Manager_Public {
|
|
518 |
$resource_type = 'misc';
|
519 |
}
|
520 |
|
521 |
-
$
|
|
|
522 |
if ( 'plugins' == $resource_type ) {
|
523 |
$clean_url = str_replace( WP_PLUGIN_URL . '/', '', $url );
|
524 |
$url_parts = explode( '/', $clean_url );
|
525 |
-
$resource_name =
|
|
|
|
|
|
|
|
|
|
|
526 |
}
|
527 |
|
528 |
-
if ( ! isset( $
|
529 |
-
$
|
530 |
'url_full' => $url,
|
531 |
'url_short' => $url_short,
|
532 |
//'state' => $this->get_visibility($type, $el),
|
@@ -565,7 +481,7 @@ class WGZ_Assets_Manager_Public {
|
|
565 |
}
|
566 |
|
567 |
/**
|
568 |
-
*
|
569 |
*
|
570 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
571 |
* @since 2.0.0
|
@@ -577,21 +493,6 @@ class WGZ_Assets_Manager_Public {
|
|
577 |
wp_enqueue_style( 'wam-assets-manager', WGZ_PLUGIN_URL . '/assets/css/assets-manager.css', [], $plugin_ver );
|
578 |
wp_enqueue_style( 'wam-assets-conditions', WGZ_PLUGIN_URL . '/assets/css/assets-conditions.css', [], $plugin_ver );
|
579 |
wp_enqueue_style( 'wam-pnotify', WGZ_PLUGIN_URL . '/assets/css/PNotifyBrightTheme.css', [], $plugin_ver );
|
580 |
-
|
581 |
-
// Фикс для рукожопов, которые отключают jquery из ядра
|
582 |
-
/*if ( ! wp_script_is( 'jquery' ) ) {
|
583 |
-
wp_enqueue_script( 'jquery', '/wp-includes/js/jquery/jquery.js', [], '1.12.4-wp' );
|
584 |
-
}*/
|
585 |
-
/*wp_enqueue_script( 'wam-pnotify', WGZ_PLUGIN_URL . '/assets/js/PNotify.js', [], $plugin_ver, true );
|
586 |
-
wp_enqueue_script( 'wam-assets-conditions', WGZ_PLUGIN_URL . '/assets/js/assets-conditions.js', [ 'jquery' ], $plugin_ver, true );
|
587 |
-
wp_enqueue_script( 'wam-assets-manager', WGZ_PLUGIN_URL . '/assets/js/assets-manager.js', [
|
588 |
-
'jquery',
|
589 |
-
'wam-assets-conditions'
|
590 |
-
], $plugin_ver, true );
|
591 |
-
|
592 |
-
wp_localize_script( 'wam-assets-manager', 'wam_localize_data', [
|
593 |
-
'ajaxurl' => admin_url( 'admin-ajax.php', is_ssl() ? 'admin' : 'http' )
|
594 |
-
] );*/
|
595 |
}
|
596 |
}
|
597 |
|
@@ -602,21 +503,172 @@ class WGZ_Assets_Manager_Public {
|
|
602 |
* @since 2.0.0
|
603 |
*/
|
604 |
public function print_plugin_scripts() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
605 |
?>
|
606 |
<script>
|
607 |
var wam_localize_data = <?php echo json_encode( [
|
608 |
-
'ajaxurl' => admin_url( 'admin-ajax.php', is_ssl() ? 'admin' : 'http' )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
609 |
] ) ?>;
|
610 |
</script>
|
611 |
-
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/wam-jquery.js'; ?>'></script>
|
612 |
-
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/wam-jquery-migrate.min.js'; ?>'></script>
|
613 |
-
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/
|
614 |
-
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/
|
615 |
-
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/
|
|
|
|
|
616 |
<?php
|
617 |
}
|
618 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
619 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
620 |
private function get_collected_assets( $type ) {
|
621 |
$assets = [];
|
622 |
|
@@ -626,15 +678,51 @@ class WGZ_Assets_Manager_Public {
|
|
626 |
|
627 |
foreach ( (array) $this->collection as $resource_type => $resources ) {
|
628 |
if ( $type == $resource_type ) {
|
629 |
-
|
630 |
-
$assets = $this->get_parsed_asset_settings( $types, $resource_type );
|
631 |
-
}
|
632 |
}
|
633 |
}
|
634 |
|
635 |
return $assets;
|
636 |
}
|
637 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
638 |
/**
|
639 |
* Позволяет получить список плагинов, которые загружаются на странице
|
640 |
*
|
@@ -688,7 +776,7 @@ class WGZ_Assets_Manager_Public {
|
|
688 |
* @throws \Exception
|
689 |
*/
|
690 |
private function get_parsed_plugin_settings( $plugin_name, $setting_name = null ) {
|
691 |
-
$settings = $this->
|
692 |
$default_settings = [
|
693 |
'load_mode' => 'enable',
|
694 |
'visability' => "",
|
@@ -745,7 +833,7 @@ class WGZ_Assets_Manager_Public {
|
|
745 |
private function get_parsed_asset_settings( array $assets, $group_name, $plugin_name = null ) {
|
746 |
$plugin_group = false;
|
747 |
$settings_formated = [];
|
748 |
-
$settings = $this->
|
749 |
|
750 |
if ( ! isset( $assets['js'] ) ) {
|
751 |
$assets['js'] = [];
|
@@ -797,7 +885,8 @@ class WGZ_Assets_Manager_Public {
|
|
797 |
$s['settings_button_classes'] = " js-wam-button--hidden";
|
798 |
}
|
799 |
|
800 |
-
$s =
|
|
|
801 |
}
|
802 |
}
|
803 |
|
@@ -834,6 +923,28 @@ class WGZ_Assets_Manager_Public {
|
|
834 |
return $data;
|
835 |
}
|
836 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
837 |
/**
|
838 |
* Exception for address starting from "//example.com" instead of
|
839 |
* "http://example.com". WooCommerce likes such a format
|
@@ -857,15 +968,23 @@ class WGZ_Assets_Manager_Public {
|
|
857 |
*
|
858 |
* @return string
|
859 |
*/
|
860 |
-
private function
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
|
|
|
|
|
|
|
|
866 |
}
|
867 |
|
868 |
-
|
|
|
|
|
|
|
|
|
869 |
}
|
870 |
|
871 |
/**
|
@@ -904,7 +1023,7 @@ class WGZ_Assets_Manager_Public {
|
|
904 |
$roles_param_values = [
|
905 |
[
|
906 |
'value' => 'guest',
|
907 |
-
'title' => __( 'Guest', '
|
908 |
]
|
909 |
];
|
910 |
|
@@ -944,6 +1063,274 @@ class WGZ_Assets_Manager_Public {
|
|
944 |
|
945 |
$pro_label = ! defined( 'WGZP_PLUGIN_ACTIVE' ) ? ' (Pro)' : '';
|
946 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
947 |
$grouped_filter_params = [
|
948 |
[
|
949 |
'id' => 'user',
|
@@ -987,121 +1374,7 @@ class WGZ_Assets_Manager_Public {
|
|
987 |
[
|
988 |
'id' => 'location',
|
989 |
'title' => __( 'Location', 'gonzales' ),
|
990 |
-
'items' =>
|
991 |
-
[
|
992 |
-
'id' => 'current-url',
|
993 |
-
'title' => __( 'Current URL', 'gonzales' ),
|
994 |
-
'type' => 'default',
|
995 |
-
'default_value' => ( "/" === $this->get_current_url() ? "/" : trailingslashit( $this->get_current_url() ) ),
|
996 |
-
'description' => __( 'Current Url', 'gonzales' )
|
997 |
-
],
|
998 |
-
[
|
999 |
-
'id' => 'location-page',
|
1000 |
-
'title' => __( 'Custom URL', 'gonzales' ) . $pro_label,
|
1001 |
-
'type' => 'text',
|
1002 |
-
'description' => __( 'An URL of the current page where a user who views your website is located.', 'gonzales' ),
|
1003 |
-
'disabled' => ! defined( 'WGZP_PLUGIN_ACTIVE' )
|
1004 |
-
],
|
1005 |
-
[
|
1006 |
-
'id' => 'regular-expression',
|
1007 |
-
'title' => __( 'Regular Expression', 'gonzales' ) . $pro_label,
|
1008 |
-
'type' => 'regexp',
|
1009 |
-
'placeholder' => '^(about-page-[0-9]+|contacts-[0-9]{,2})',
|
1010 |
-
'description' => __( 'Regular expressions can be used by experts. This tool creates flexible conditions to disable the resource. For example, if you specify this expression: ^([A-z0-9]+-)?gifts? then the resource will be disabled at the following pages http://yoursite.test/get-gift/, http://yoursite.test/gift/, http://yoursite.test/get-gifts/, http://yoursite.test/gifts/. The plugin ignores the backslash at the beginning of the query string, so you can dismiss it. Check your regular expressions in here: https://regex101.com, this will prevent you from the mistakes. This feature is available at the paid version.', 'gonzales' ),
|
1011 |
-
'disabled' => ! defined( 'WGZP_PLUGIN_ACTIVE' )
|
1012 |
-
],
|
1013 |
-
[
|
1014 |
-
'id' => 'location-some-page',
|
1015 |
-
'title' => __( 'Page', 'gonzales' ),
|
1016 |
-
'type' => 'select',
|
1017 |
-
'params' => [
|
1018 |
-
'Basic' => [
|
1019 |
-
[
|
1020 |
-
'value' => 'base_web',
|
1021 |
-
'title' => __( 'Entire Website', 'insert-php' ),
|
1022 |
-
],
|
1023 |
-
[
|
1024 |
-
'value' => 'base_sing',
|
1025 |
-
'title' => __( 'All Singulars', 'insert-php' ),
|
1026 |
-
],
|
1027 |
-
[
|
1028 |
-
'value' => 'base_arch',
|
1029 |
-
'title' => __( 'All Archives', 'insert-php' ),
|
1030 |
-
],
|
1031 |
-
],
|
1032 |
-
'Special Pages' => [
|
1033 |
-
[
|
1034 |
-
'value' => 'spec_404',
|
1035 |
-
'title' => __( '404 Page', 'insert-php' )
|
1036 |
-
],
|
1037 |
-
[
|
1038 |
-
'value' => 'spec_search',
|
1039 |
-
'title' => __( 'Search Page', 'insert-php' )
|
1040 |
-
],
|
1041 |
-
[
|
1042 |
-
'value' => 'spec_blog',
|
1043 |
-
'title' => __( 'Blog / Posts Page', 'insert-php' )
|
1044 |
-
],
|
1045 |
-
[
|
1046 |
-
'value' => 'spec_front',
|
1047 |
-
'title' => __( 'Front Page', 'insert-php' )
|
1048 |
-
],
|
1049 |
-
[
|
1050 |
-
'value' => 'spec_date',
|
1051 |
-
'title' => __( 'Date Archive', 'insert-php' )
|
1052 |
-
],
|
1053 |
-
[
|
1054 |
-
'value' => 'spec_auth',
|
1055 |
-
'title' => __( 'Author Archive', 'insert-php' )
|
1056 |
-
],
|
1057 |
-
],
|
1058 |
-
'Posts' => [
|
1059 |
-
[
|
1060 |
-
'value' => 'post_all',
|
1061 |
-
'title' => __( 'All Posts', 'insert-php' )
|
1062 |
-
],
|
1063 |
-
[
|
1064 |
-
'value' => 'post_arch',
|
1065 |
-
'title' => __( 'All Posts Archive', 'insert-php' )
|
1066 |
-
],
|
1067 |
-
[
|
1068 |
-
'value' => 'post_cat',
|
1069 |
-
'title' => __( 'All Categories Archive', 'insert-php' )
|
1070 |
-
],
|
1071 |
-
[
|
1072 |
-
'value' => 'post_tag',
|
1073 |
-
'title' => __( 'All Tags Archive', 'insert-php' )
|
1074 |
-
],
|
1075 |
-
],
|
1076 |
-
'Pages' => [
|
1077 |
-
[
|
1078 |
-
'value' => 'page_all',
|
1079 |
-
'title' => __( 'All Pages', 'insert-php' )
|
1080 |
-
],
|
1081 |
-
[
|
1082 |
-
'value' => 'page_arch',
|
1083 |
-
'title' => __( 'All Pages Archive', 'insert-php' )
|
1084 |
-
],
|
1085 |
-
],
|
1086 |
-
|
1087 |
-
],
|
1088 |
-
'description' => __( 'List of specific pages.', 'gonzales' )
|
1089 |
-
],
|
1090 |
-
[
|
1091 |
-
'id' => 'location-post-type',
|
1092 |
-
'title' => __( 'Post type', 'gonzales' ),
|
1093 |
-
'type' => 'select',
|
1094 |
-
'params' => $post_types_param_values,
|
1095 |
-
'description' => __( 'A post type of the current page.', 'gonzales' ),
|
1096 |
-
],
|
1097 |
-
[
|
1098 |
-
'id' => 'location-taxonomy',
|
1099 |
-
'title' => __( 'Taxonomy', 'gonzales' ),
|
1100 |
-
'type' => 'select',
|
1101 |
-
'params' => $taxonomies_param_values,
|
1102 |
-
'description' => __( 'A taxonomy of the current page.', 'gonzales' ),
|
1103 |
-
]
|
1104 |
-
]
|
1105 |
]
|
1106 |
];
|
1107 |
|
21 |
public $collection = [];
|
22 |
|
23 |
/**
|
24 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
25 |
*/
|
26 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
27 |
$this->plugin = $plugin;
|
28 |
|
29 |
$this->register_hooks();
|
30 |
}
|
31 |
|
32 |
/**
|
33 |
+
* Check user permissions
|
34 |
*
|
35 |
+
* User must have administrator or super administrator permissions to use the plugin.
|
|
|
36 |
*
|
37 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
38 |
* @since 1.1.0
|
72 |
}
|
73 |
|
74 |
if ( ! is_admin() && ! $on_frontend ) {
|
|
|
75 |
add_action( 'wp_head', [ $this, 'collect_assets' ], 10000 );
|
76 |
add_action( 'wp_footer', [ $this, 'collect_assets' ], 10000 );
|
77 |
}
|
89 |
}
|
90 |
}
|
91 |
|
92 |
+
# Reset plugin settings and clean source code
|
93 |
+
//add_action( 'template_redirect', [ $this, 'redirects' ], 9999 );
|
94 |
+
add_action( 'init', [ $this, 'redirects' ], 9999 );
|
95 |
+
|
96 |
##Login/Logout
|
97 |
add_action( 'wp_login', [ $this, 'user_logged_in' ], 99, 2 );
|
98 |
add_action( 'wp_logout', [ $this, 'user_logged_out' ] );
|
99 |
|
100 |
// Stop optimizing scripts and caching the asset manager page.
|
101 |
+
//add_action( 'plugins_loaded', [ $this, 'stop_caching_and_script_optimize' ] );
|
102 |
+
$this->stop_caching_and_script_optimize();
|
103 |
|
104 |
// Disable autoptimize on Assets manager page
|
105 |
add_filter( 'autoptimize_filter_noptimize', [ $this, 'autoptimize_noptimize' ], 10, 0 );
|
110 |
}
|
111 |
}
|
112 |
|
113 |
+
/**
|
114 |
+
* Render a fake checkbox to show for user, it is pro feature.
|
115 |
+
*
|
116 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
117 |
+
* @since 1.1
|
118 |
+
*
|
119 |
+
* @param array $data Temlate data
|
120 |
+
*/
|
121 |
public function print_save_mode_fake_checkbox( $data ) {
|
122 |
if ( defined( 'WGZP_PLUGIN_ACTIVE' ) ) {
|
123 |
return;
|
131 |
}
|
132 |
|
133 |
/**
|
134 |
+
* Write cookie with user roles
|
135 |
*
|
136 |
+
* MU plugin will use cookie for identity user role. We can't use all wordpress
|
137 |
+
* features before full wp load.
|
138 |
*
|
139 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
140 |
* @since 2.0.0
|
153 |
}
|
154 |
|
155 |
/**
|
156 |
+
* Delete cookie with user roles when user logged out
|
157 |
*
|
158 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
159 |
* @since 2.0.0
|
197 |
if ( ! defined( 'DONOTMINIFY' ) ) {
|
198 |
define( 'DONOTMINIFY', true );
|
199 |
}
|
200 |
+
|
201 |
+
if ( ! defined( 'DONOTROCKETOPTIMIZE' ) ) {
|
202 |
+
define( 'DONOTROCKETOPTIMIZE', true );
|
203 |
+
}
|
204 |
+
|
205 |
+
if ( ! defined( 'DONOTMINIFYJS' ) ) {
|
206 |
+
define( 'DONOTMINIFYJS', true );
|
207 |
+
}
|
208 |
+
|
209 |
+
if ( ! defined( 'DONOTASYNCCSS' ) ) {
|
210 |
+
define( 'DONOTASYNCCSS', true );
|
211 |
+
}
|
212 |
+
|
213 |
+
if ( ! defined( 'DONOTMINIFYCSS' ) ) {
|
214 |
+
define( 'DONOTMINIFYCSS', true );
|
215 |
+
}
|
216 |
+
|
217 |
+
if ( ! defined( 'WHM_DO_NOT_HIDE_WP' ) ) {
|
218 |
+
define( 'WHM_DO_NOT_HIDE_WP', true );
|
219 |
+
}
|
220 |
}
|
221 |
|
222 |
/**
|
235 |
}
|
236 |
|
237 |
/**
|
238 |
+
* Adds two actions "Reset options" and "Clean source code"
|
|
|
239 |
*
|
240 |
+
* The method will call in init action.
|
241 |
*
|
242 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
243 |
+
* @since 1.1.0
|
244 |
*/
|
245 |
+
public function redirects() {
|
246 |
if ( ! isset( $_GET['wbcr_assets_manager'] ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
|
247 |
+
return;
|
248 |
}
|
249 |
|
250 |
+
$this->reset_plugin_settings_redirect();
|
251 |
+
$this->clean_source_code();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
}
|
253 |
|
254 |
/**
|
255 |
+
* Adds a link in Clearfy admin bar menu to go to the Assets manager
|
256 |
*
|
257 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
258 |
* @since 1.1.0
|
259 |
*
|
260 |
+
* @param array $menu_items Array links of Clearfy menu
|
261 |
*
|
262 |
* @return mixed
|
263 |
*/
|
264 |
+
public function clearfy_admin_bar_menu_filter( $menu_items ) {
|
|
|
|
|
|
|
|
|
|
|
265 |
$current_url = add_query_arg( [ 'wbcr_assets_manager' => 1 ] );
|
266 |
|
267 |
$menu_items['assets_manager_render_template'] = [
|
273 |
}
|
274 |
|
275 |
/**
|
276 |
+
* Add Assets Manager menu to admin bar.
|
277 |
*
|
278 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
279 |
* @since 1.1.0
|
280 |
*
|
281 |
* @param WP_Admin_Bar $wp_admin_bar
|
282 |
*/
|
283 |
+
public function assets_manager_add_admin_bar_menu( $wp_admin_bar ) {
|
|
|
|
|
|
|
|
|
|
|
284 |
$current_url = add_query_arg( [ 'wbcr_assets_manager' => 1 ] );
|
285 |
|
286 |
$args = [
|
292 |
}
|
293 |
|
294 |
/**
|
295 |
+
* Render Assets Manager view in the page body.
|
296 |
*
|
297 |
+
* This is callback function for admin_footer and wp_footer hooks.
|
|
|
298 |
*
|
299 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
300 |
* @since 2.0.0
|
301 |
* @throws \Exception
|
302 |
*/
|
303 |
+
public function assets_manager_render_template() {
|
304 |
if ( ! $this->is_user_can() || ! isset( $_GET['wbcr_assets_manager'] ) ) {
|
305 |
return;
|
306 |
}
|
307 |
|
308 |
+
$settings = $this->get_settings();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
|
310 |
$views = new WGZ_Views( WGZ_PLUGIN_DIR );
|
311 |
$views->print_template( 'assets-manager', [
|
|
|
312 |
'save_mode' => isset( $settings['save_mode'] ) ? (bool) $settings['save_mode'] : false,
|
313 |
'collection' => $this->collection,
|
314 |
'loaded_plugins' => $this->get_loaded_plugins(),
|
322 |
}
|
323 |
|
324 |
/**
|
325 |
+
* Filter loaded assets by user conditions.
|
326 |
+
*
|
327 |
+
* If enabled save mode or onened Assets Manager panel, assets will not be filtered. *
|
328 |
+
*
|
329 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
330 |
* @since 2.0.0
|
331 |
*
|
332 |
+
* @param string $src
|
333 |
+
* @param string $handle
|
334 |
*
|
335 |
+
* @return bool
|
336 |
+
* @throws \Exception
|
337 |
*/
|
338 |
+
public function filter_load_assets( $src, $handle ) {
|
339 |
+
$settings = $this->get_settings();
|
340 |
|
341 |
if ( isset( $_GET['wbcr_assets_manager'] ) || empty( $settings ) || ( true === $settings['save_mode'] && ! $this->is_user_can() ) ) {
|
342 |
return $src;
|
428 |
$resource_type = 'misc';
|
429 |
}
|
430 |
|
431 |
+
$collection = &$this->collection[ $resource_type ];
|
432 |
+
|
433 |
if ( 'plugins' == $resource_type ) {
|
434 |
$clean_url = str_replace( WP_PLUGIN_URL . '/', '', $url );
|
435 |
$url_parts = explode( '/', $clean_url );
|
436 |
+
$resource_name = ! empty( $url_parts[0] ) ? $url_parts[0] : null;
|
437 |
+
|
438 |
+
if ( empty( $resource_name ) ) {
|
439 |
+
continue;
|
440 |
+
}
|
441 |
+
$collection = &$this->collection[ $resource_type ][ $resource_name ];
|
442 |
}
|
443 |
|
444 |
+
if ( ! isset( $collection[ $type ][ $el ] ) ) {
|
445 |
+
$collection[ $type ][ $el ] = [
|
446 |
'url_full' => $url,
|
447 |
'url_short' => $url_short,
|
448 |
//'state' => $this->get_visibility($type, $el),
|
481 |
}
|
482 |
|
483 |
/**
|
484 |
+
* Enqueue scripts and styles of the plugin
|
485 |
*
|
486 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
487 |
* @since 2.0.0
|
493 |
wp_enqueue_style( 'wam-assets-manager', WGZ_PLUGIN_URL . '/assets/css/assets-manager.css', [], $plugin_ver );
|
494 |
wp_enqueue_style( 'wam-assets-conditions', WGZ_PLUGIN_URL . '/assets/css/assets-conditions.css', [], $plugin_ver );
|
495 |
wp_enqueue_style( 'wam-pnotify', WGZ_PLUGIN_URL . '/assets/css/PNotifyBrightTheme.css', [], $plugin_ver );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
496 |
}
|
497 |
}
|
498 |
|
503 |
* @since 2.0.0
|
504 |
*/
|
505 |
public function print_plugin_scripts() {
|
506 |
+
$scope = 'frontend';
|
507 |
+
|
508 |
+
if ( $this->plugin->isNetworkActive() && $this->plugin->isNetworkAdmin() ) {
|
509 |
+
$scope = 'networkadmin';
|
510 |
+
} else if ( is_admin() ) {
|
511 |
+
$scope = 'admin';
|
512 |
+
}
|
513 |
?>
|
514 |
<script>
|
515 |
var wam_localize_data = <?php echo json_encode( [
|
516 |
+
'ajaxurl' => admin_url( 'admin-ajax.php', is_ssl() ? 'admin' : 'http' ),
|
517 |
+
'scope' => $scope,
|
518 |
+
'i18n' => [
|
519 |
+
'asset_canbe_required_title' => __( 'Warning', 'gonzales' ),
|
520 |
+
'asset_canbe_required_text' => __( 'The asset is required for %s. If you will disable the asset, other assets which in dependence on this asset also will disabled.', 'gonzales' ),
|
521 |
+
'reset_settings_warning_title' => __( 'Are you sure you want to reset all plugin settings?', 'gonzales' ),
|
522 |
+
'reset_settings_warning_text' => __( 'If you click OK, all conditions settings will be reset, including settings that you made on other pages and in the admin panel. ', 'gonzales' )
|
523 |
+
]
|
524 |
] ) ?>;
|
525 |
</script>
|
526 |
+
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/libs/wam-jquery.js'; ?>'></script>
|
527 |
+
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/libs/wam-jquery-migrate.min.js'; ?>'></script>
|
528 |
+
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/libs/wam-pnotify.js'; ?>'></script>
|
529 |
+
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/libs/wam-pnotify-confirm.js'; ?>'></script>
|
530 |
+
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/libs/wam-pnotify-history.js'; ?>'></script>
|
531 |
+
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/wam-assets-conditions.js'; ?>'></script>
|
532 |
+
<script type='text/javascript' src='<?php echo WGZ_PLUGIN_URL . '/assets/js/wam-assets-manager.js'; ?>'></script>
|
533 |
<?php
|
534 |
}
|
535 |
|
536 |
+
/**
|
537 |
+
* We remove scripts and styles of themes, plugins to avoidE
|
538 |
+
* unnecessary conflicts during the use of the asset manager.
|
539 |
+
*
|
540 |
+
* todo: the method requires better study. Sorry, I don't have time for this.
|
541 |
+
*
|
542 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
543 |
+
* @since 1.0.8
|
544 |
+
*/
|
545 |
+
private function clean_source_code() {
|
546 |
+
ob_start( function ( $html ) {
|
547 |
+
|
548 |
+
$raw_html = $html;
|
549 |
+
|
550 |
+
$html = preg_replace( [
|
551 |
+
"'<\s*style.*?<\s*/\s*style\s*>'is",
|
552 |
+
], [
|
553 |
+
""
|
554 |
+
], $html );
|
555 |
+
|
556 |
+
$html = preg_replace_callback( [
|
557 |
+
"'<\s*link.*?>'is",
|
558 |
+
], function ( $matches ) {
|
559 |
+
$doc = new DOMDocument();
|
560 |
+
$doc->loadHTML( $matches[0] );
|
561 |
+
$imageTags = $doc->getElementsByTagName( 'link' );
|
562 |
+
|
563 |
+
foreach ( $imageTags as $tag ) {
|
564 |
+
$src = $tag->getAttribute( 'href' );
|
565 |
|
566 |
+
$white_list_js = [
|
567 |
+
'wp-includes/css/dashicons.min.css',
|
568 |
+
'wp-includes/css/admin-bar.min.css',
|
569 |
+
'assets/css/assets-manager.css',
|
570 |
+
'assets/css/assets-conditions.css',
|
571 |
+
'clearfy/assets/css/admin-bar.css',
|
572 |
+
'assets/css/PNotifyBrightTheme.css'
|
573 |
+
];
|
574 |
+
|
575 |
+
if ( ! empty( $src ) ) {
|
576 |
+
foreach ( $white_list_js as $js ) {
|
577 |
+
if ( false !== strpos( $src, $js ) ) {
|
578 |
+
return $matches[0];
|
579 |
+
}
|
580 |
+
}
|
581 |
+
}
|
582 |
+
|
583 |
+
return '';
|
584 |
+
}
|
585 |
+
}, $html );
|
586 |
+
|
587 |
+
$html = preg_replace_callback( [
|
588 |
+
"'<\s*script.*?<\s*\/\s*script\s*>'is",
|
589 |
+
], function ( $matches ) {
|
590 |
+
if ( false !== strpos( $matches[0], 'wam_localize_data' ) ) {
|
591 |
+
return $matches[0];
|
592 |
+
}
|
593 |
+
if ( false !== strpos( $matches[0], 'wam-conditions-builder-template' ) ) {
|
594 |
+
return $matches[0];
|
595 |
+
}
|
596 |
+
|
597 |
+
$doc = new DOMDocument();
|
598 |
+
$doc->loadHTML( $matches[0] );
|
599 |
+
$imageTags = $doc->getElementsByTagName( 'script' );
|
600 |
+
|
601 |
+
foreach ( $imageTags as $tag ) {
|
602 |
+
$src = $tag->getAttribute( 'src' );
|
603 |
+
|
604 |
+
$white_list_js = [
|
605 |
+
'wam-jquery.js',
|
606 |
+
'wam-jquery-migrate.min.js',
|
607 |
+
'wp-includes/js/admin-bar.min.js',
|
608 |
+
// --
|
609 |
+
'assets/js/wam-assets-manager.js',
|
610 |
+
'assets/js/wam-assets-conditions.js',
|
611 |
+
// --
|
612 |
+
'assets/js/libs/wam-pnotify.js',
|
613 |
+
'assets/js/libs/wam-pnotify-confirm.js',
|
614 |
+
'assets/js/libs/wam-pnotify-history.js',
|
615 |
+
|
616 |
+
];
|
617 |
+
|
618 |
+
if ( ! empty( $src ) ) {
|
619 |
+
foreach ( $white_list_js as $js ) {
|
620 |
+
if ( false !== strpos( $src, $js ) ) {
|
621 |
+
return $matches[0];
|
622 |
+
}
|
623 |
+
}
|
624 |
+
}
|
625 |
+
|
626 |
+
return '';
|
627 |
+
}
|
628 |
+
//return $matches[0];
|
629 |
+
}, $html );
|
630 |
+
|
631 |
+
if ( empty( $html ) ) {
|
632 |
+
return $raw_html;
|
633 |
+
}
|
634 |
+
|
635 |
+
return $html;
|
636 |
+
} );
|
637 |
+
}
|
638 |
+
|
639 |
+
/**
|
640 |
+
* If exists GET var, the method make redirect to Assets Manager
|
641 |
+
*
|
642 |
+
* Before redirecting, the method will clear some options to completely reset settings.
|
643 |
+
*
|
644 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
645 |
+
* @since 2.0.0
|
646 |
+
*/
|
647 |
+
private function reset_plugin_settings_redirect() {
|
648 |
+
// Reset settings
|
649 |
+
if ( isset( $_GET['wbcr_assets_manager'] ) && isset( $_GET['wam_reset_settings'] ) ) {
|
650 |
+
check_admin_referer( 'wam_reset_settings' );
|
651 |
+
$this->plugin->updateOption( 'assets_states', [] );
|
652 |
+
$this->plugin->updateOption( 'backend_assets_states', [] );
|
653 |
+
|
654 |
+
if ( $this->plugin->isNetworkActive() ) {
|
655 |
+
$this->plugin->updateNetworkOption( 'backend_assets_states', [] );
|
656 |
+
}
|
657 |
+
|
658 |
+
wp_redirect( remove_query_arg( [ 'wam_reset_settings', '_wpnonce' ] ) );
|
659 |
+
die();
|
660 |
+
}
|
661 |
+
}
|
662 |
+
|
663 |
+
/**
|
664 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
665 |
+
* @since 2.0.0
|
666 |
+
*
|
667 |
+
* @param string $type
|
668 |
+
*
|
669 |
+
* @return array
|
670 |
+
* @throws \Exception
|
671 |
+
*/
|
672 |
private function get_collected_assets( $type ) {
|
673 |
$assets = [];
|
674 |
|
678 |
|
679 |
foreach ( (array) $this->collection as $resource_type => $resources ) {
|
680 |
if ( $type == $resource_type ) {
|
681 |
+
$assets = $this->get_parsed_asset_settings( $resources, $resource_type );
|
|
|
|
|
682 |
}
|
683 |
}
|
684 |
|
685 |
return $assets;
|
686 |
}
|
687 |
|
688 |
+
private function get_asset_requires( $handle ) {
|
689 |
+
$requires = [];
|
690 |
+
|
691 |
+
if ( empty( $this->collection ) ) {
|
692 |
+
return $requires;
|
693 |
+
}
|
694 |
+
|
695 |
+
foreach ( (array) $this->collection as $resource_type => $resources ) {
|
696 |
+
if ( empty( $resources ) ) {
|
697 |
+
continue;
|
698 |
+
}
|
699 |
+
|
700 |
+
if ( 'plugins' == $resource_type ) {
|
701 |
+
foreach ( (array) $resources as $plugin_name => $plugin_types ) {
|
702 |
+
if ( ! empty( $plugin_types ) ) {
|
703 |
+
foreach ( (array) $plugin_types as $plugin_type_name => $plugin_resources ) {
|
704 |
+
foreach ( (array) $plugin_resources as $plugin_resource_name => $plugin_resource ) {
|
705 |
+
if ( ! empty( $plugin_resource['deps'] ) && in_array( $handle, $plugin_resource['deps'] ) ) {
|
706 |
+
$requires[] = '<a class="js-wam-require-handle-tag" data-tag-handle="' . esc_attr( $plugin_resource_name . '-' . $plugin_type_name ) . '" href="#">' . esc_attr( $plugin_resource_name ) . '</a>';
|
707 |
+
}
|
708 |
+
}
|
709 |
+
}
|
710 |
+
}
|
711 |
+
}
|
712 |
+
} else {
|
713 |
+
foreach ( (array) $resources as $other_type_name => $other_resources ) {
|
714 |
+
foreach ( (array) $other_resources as $other_resource_name => $other_resource ) {
|
715 |
+
if ( ! empty( $other_resource['deps'] ) && in_array( $handle, $other_resource['deps'] ) ) {
|
716 |
+
$requires[] = '<a class="js-wam-require-handle-tag" data-tag-handle="' . esc_attr( $other_resource_name . '-' . $other_type_name ) . '" href="#">' . esc_attr( $other_resource_name ) . '</a>';
|
717 |
+
}
|
718 |
+
}
|
719 |
+
}
|
720 |
+
}
|
721 |
+
}
|
722 |
+
|
723 |
+
return $requires;
|
724 |
+
}
|
725 |
+
|
726 |
/**
|
727 |
* Позволяет получить список плагинов, которые загружаются на странице
|
728 |
*
|
776 |
* @throws \Exception
|
777 |
*/
|
778 |
private function get_parsed_plugin_settings( $plugin_name, $setting_name = null ) {
|
779 |
+
$settings = $this->get_settings();
|
780 |
$default_settings = [
|
781 |
'load_mode' => 'enable',
|
782 |
'visability' => "",
|
833 |
private function get_parsed_asset_settings( array $assets, $group_name, $plugin_name = null ) {
|
834 |
$plugin_group = false;
|
835 |
$settings_formated = [];
|
836 |
+
$settings = $this->get_settings();
|
837 |
|
838 |
if ( ! isset( $assets['js'] ) ) {
|
839 |
$assets['js'] = [];
|
885 |
$s['settings_button_classes'] = " js-wam-button--hidden";
|
886 |
}
|
887 |
|
888 |
+
$s['requires'] = $this->get_asset_requires( $name );
|
889 |
+
$s = array_merge( $s, $attrs );
|
890 |
}
|
891 |
}
|
892 |
|
923 |
return $data;
|
924 |
}
|
925 |
|
926 |
+
/**
|
927 |
+
* Get all plugin settings in dependence on logic.
|
928 |
+
*
|
929 |
+
* If plugin loaded in admin area, the method will return settings for the admin area. *
|
930 |
+
*
|
931 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
932 |
+
* @since 2.0.1
|
933 |
+
* @return array All plugin settings
|
934 |
+
* @throws \Exception
|
935 |
+
*/
|
936 |
+
private function get_settings() {
|
937 |
+
if ( is_admin() ) {
|
938 |
+
if ( $this->plugin->isNetworkActive() && $this->plugin->isNetworkAdmin() ) {
|
939 |
+
return $this->plugin->getNetworkOption( 'backend_assets_states', [] );
|
940 |
+
}
|
941 |
+
|
942 |
+
return $this->plugin->getOption( 'backend_assets_states', [] );
|
943 |
+
}
|
944 |
+
|
945 |
+
return $this->plugin->getOption( 'assets_states', [] );
|
946 |
+
}
|
947 |
+
|
948 |
/**
|
949 |
* Exception for address starting from "//example.com" instead of
|
950 |
* "http://example.com". WooCommerce likes such a format
|
968 |
*
|
969 |
* @return string
|
970 |
*/
|
971 |
+
private function get_current_url_path() {
|
972 |
+
if ( ! is_admin() ) {
|
973 |
+
$url = explode( '?', $_SERVER['REQUEST_URI'], 2 );
|
974 |
+
if ( strlen( $url[0] ) > 1 ) {
|
975 |
+
$out = rtrim( $url[0], '/' );
|
976 |
+
} else {
|
977 |
+
$out = $url[0];
|
978 |
+
}
|
979 |
+
|
980 |
+
return "/" === $out ? "/" : untrailingslashit( $out );
|
981 |
}
|
982 |
|
983 |
+
$removeble_args = array_merge( [ 'wbcr_assets_manager' ], wp_removable_query_args() );
|
984 |
+
|
985 |
+
$url = remove_query_arg( $removeble_args, $_SERVER['REQUEST_URI'] );
|
986 |
+
|
987 |
+
return untrailingslashit( $url );
|
988 |
}
|
989 |
|
990 |
/**
|
1023 |
$roles_param_values = [
|
1024 |
[
|
1025 |
'value' => 'guest',
|
1026 |
+
'title' => __( 'Guest', 'gonzales' ),
|
1027 |
]
|
1028 |
];
|
1029 |
|
1063 |
|
1064 |
$pro_label = ! defined( 'WGZP_PLUGIN_ACTIVE' ) ? ' (Pro)' : '';
|
1065 |
|
1066 |
+
$location_items = [
|
1067 |
+
[
|
1068 |
+
'id' => 'current-url',
|
1069 |
+
'title' => __( 'Current URL', 'gonzales' ),
|
1070 |
+
'type' => 'default',
|
1071 |
+
'default_value' => $this->get_current_url_path(),
|
1072 |
+
'description' => __( 'Current Url', 'gonzales' )
|
1073 |
+
],
|
1074 |
+
[
|
1075 |
+
'id' => 'location-page',
|
1076 |
+
'title' => __( 'Custom URL', 'gonzales' ) . $pro_label,
|
1077 |
+
'type' => 'text',
|
1078 |
+
'description' => __( 'An URL of the current page where a user who views your website is located.', 'gonzales' ),
|
1079 |
+
'disabled' => ! defined( 'WGZP_PLUGIN_ACTIVE' )
|
1080 |
+
],
|
1081 |
+
[
|
1082 |
+
'id' => 'regular-expression',
|
1083 |
+
'title' => __( 'Regular Expression', 'gonzales' ) . $pro_label,
|
1084 |
+
'type' => 'regexp',
|
1085 |
+
'placeholder' => '^(about-page-[0-9]+|contacts-[0-9]{,2})',
|
1086 |
+
'description' => __( 'Regular expressions can be used by experts. This tool creates flexible conditions to disable the resource. For example, if you specify this expression: ^([A-z0-9]+-)?gifts? then the resource will be disabled at the following pages http://yoursite.test/get-gift/, http://yoursite.test/gift/, http://yoursite.test/get-gifts/, http://yoursite.test/gifts/. The plugin ignores the backslash at the beginning of the query string, so you can dismiss it. Check your regular expressions in here: https://regex101.com, this will prevent you from the mistakes. This feature is available at the paid version.', 'gonzales' ),
|
1087 |
+
'disabled' => ! defined( 'WGZP_PLUGIN_ACTIVE' )
|
1088 |
+
]
|
1089 |
+
];
|
1090 |
+
|
1091 |
+
if ( ! is_admin() ) {
|
1092 |
+
$location_items[] = [
|
1093 |
+
'id' => 'location-some-page',
|
1094 |
+
'title' => __( 'Page', 'gonzales' ),
|
1095 |
+
'type' => 'select',
|
1096 |
+
'params' => [
|
1097 |
+
'Basic' => [
|
1098 |
+
[
|
1099 |
+
'value' => 'base_web',
|
1100 |
+
'title' => __( 'Entire Website', 'gonzales' ),
|
1101 |
+
],
|
1102 |
+
[
|
1103 |
+
'value' => 'base_sing',
|
1104 |
+
'title' => __( 'All Singulars', 'gonzales' ),
|
1105 |
+
],
|
1106 |
+
[
|
1107 |
+
'value' => 'base_arch',
|
1108 |
+
'title' => __( 'All Archives', 'gonzales' ),
|
1109 |
+
],
|
1110 |
+
],
|
1111 |
+
'Special Pages' => [
|
1112 |
+
[
|
1113 |
+
'value' => 'spec_404',
|
1114 |
+
'title' => __( '404 Page', 'gonzales' )
|
1115 |
+
],
|
1116 |
+
[
|
1117 |
+
'value' => 'spec_search',
|
1118 |
+
'title' => __( 'Search Page', 'gonzales' )
|
1119 |
+
],
|
1120 |
+
[
|
1121 |
+
'value' => 'spec_blog',
|
1122 |
+
'title' => __( 'Blog / Posts Page', 'gonzales' )
|
1123 |
+
],
|
1124 |
+
[
|
1125 |
+
'value' => 'spec_front',
|
1126 |
+
'title' => __( 'Front Page', 'gonzales' )
|
1127 |
+
],
|
1128 |
+
[
|
1129 |
+
'value' => 'spec_date',
|
1130 |
+
'title' => __( 'Date Archive', 'gonzales' )
|
1131 |
+
],
|
1132 |
+
[
|
1133 |
+
'value' => 'spec_auth',
|
1134 |
+
'title' => __( 'Author Archive', 'gonzales' )
|
1135 |
+
],
|
1136 |
+
],
|
1137 |
+
'Posts' => [
|
1138 |
+
[
|
1139 |
+
'value' => 'post_all',
|
1140 |
+
'title' => __( 'All Posts', 'gonzales' )
|
1141 |
+
],
|
1142 |
+
[
|
1143 |
+
'value' => 'post_arch',
|
1144 |
+
'title' => __( 'All Posts Archive', 'gonzales' )
|
1145 |
+
],
|
1146 |
+
[
|
1147 |
+
'value' => 'post_cat',
|
1148 |
+
'title' => __( 'All Categories Archive', 'gonzales' )
|
1149 |
+
],
|
1150 |
+
[
|
1151 |
+
'value' => 'post_tag',
|
1152 |
+
'title' => __( 'All Tags Archive', 'gonzales' )
|
1153 |
+
],
|
1154 |
+
],
|
1155 |
+
'Pages' => [
|
1156 |
+
[
|
1157 |
+
'value' => 'page_all',
|
1158 |
+
'title' => __( 'All Pages', 'gonzales' )
|
1159 |
+
],
|
1160 |
+
[
|
1161 |
+
'value' => 'page_arch',
|
1162 |
+
'title' => __( 'All Pages Archive', 'gonzales' )
|
1163 |
+
],
|
1164 |
+
],
|
1165 |
+
|
1166 |
+
],
|
1167 |
+
'description' => __( 'List of specific pages.', 'gonzales' )
|
1168 |
+
];
|
1169 |
+
$location_items[] = [
|
1170 |
+
'id' => 'location-post-type',
|
1171 |
+
'title' => __( 'Post type', 'gonzales' ),
|
1172 |
+
'type' => 'select',
|
1173 |
+
'params' => $post_types_param_values,
|
1174 |
+
'description' => __( 'A post type of the current page.', 'gonzales' ),
|
1175 |
+
];
|
1176 |
+
$location_items[] = [
|
1177 |
+
'id' => 'location-taxonomy',
|
1178 |
+
'title' => __( 'Taxonomy', 'gonzales' ),
|
1179 |
+
'type' => 'select',
|
1180 |
+
'params' => $taxonomies_param_values,
|
1181 |
+
'description' => __( 'A taxonomy of the current page.', 'gonzales' ),
|
1182 |
+
];
|
1183 |
+
} else {
|
1184 |
+
$location_items[] = [
|
1185 |
+
'id' => 'location-some-page',
|
1186 |
+
'title' => __( 'Page', 'gonzales' ),
|
1187 |
+
'type' => 'select',
|
1188 |
+
'params' => [
|
1189 |
+
'Basic' => [
|
1190 |
+
[
|
1191 |
+
'value' => 'all_admin_area',
|
1192 |
+
'title' => __( 'All Admin Pages', 'gonzales' ),
|
1193 |
+
],
|
1194 |
+
[
|
1195 |
+
'value' => 'posts_all',
|
1196 |
+
'title' => __( 'All Posts', 'gonzales' )
|
1197 |
+
],
|
1198 |
+
[
|
1199 |
+
'value' => 'posts_add_new',
|
1200 |
+
'title' => __( 'Add New Post', 'gonzales' )
|
1201 |
+
],
|
1202 |
+
[
|
1203 |
+
'value' => 'posts_taxonomies',
|
1204 |
+
'title' => __( 'All Taxonomies', 'gonzales' )
|
1205 |
+
]
|
1206 |
+
],
|
1207 |
+
'Dashboard' => [
|
1208 |
+
[
|
1209 |
+
'value' => 'dashboard_home',
|
1210 |
+
'title' => __( 'Home', 'gonzales' )
|
1211 |
+
],
|
1212 |
+
[
|
1213 |
+
'value' => 'dashboard_wordpress_updates',
|
1214 |
+
'title' => __( 'WordPress Updates', 'gonzales' )
|
1215 |
+
],
|
1216 |
+
],
|
1217 |
+
'Media' => [
|
1218 |
+
[
|
1219 |
+
'value' => 'media_library',
|
1220 |
+
'title' => __( 'Library', 'gonzales' )
|
1221 |
+
],
|
1222 |
+
[
|
1223 |
+
'value' => 'media_library_add_new',
|
1224 |
+
'title' => __( 'Add new', 'gonzales' )
|
1225 |
+
]
|
1226 |
+
],
|
1227 |
+
'Appearance' => [
|
1228 |
+
[
|
1229 |
+
'value' => 'appearance_themes',
|
1230 |
+
'title' => __( 'Themes', 'gonzales' )
|
1231 |
+
],
|
1232 |
+
[
|
1233 |
+
'value' => 'appearance_customize',
|
1234 |
+
'title' => __( 'Customize', 'gonzales' )
|
1235 |
+
],
|
1236 |
+
[
|
1237 |
+
'value' => 'appearance_widgets',
|
1238 |
+
'title' => __( 'Widgets', 'gonzales' )
|
1239 |
+
],
|
1240 |
+
[
|
1241 |
+
'value' => 'appearance_menus',
|
1242 |
+
'title' => __( 'Menus', 'gonzales' )
|
1243 |
+
],
|
1244 |
+
[
|
1245 |
+
'value' => 'appearance_theme_editor',
|
1246 |
+
'title' => __( 'Theme Editor', 'gonzales' )
|
1247 |
+
]
|
1248 |
+
],
|
1249 |
+
'Plugins' => [
|
1250 |
+
[
|
1251 |
+
'value' => 'plugins_installed',
|
1252 |
+
'title' => __( 'Installed Plugins', 'gonzales' )
|
1253 |
+
],
|
1254 |
+
[
|
1255 |
+
'value' => 'plugins_add_new',
|
1256 |
+
'title' => __( 'Add New', 'gonzales' )
|
1257 |
+
],
|
1258 |
+
[
|
1259 |
+
'value' => 'plugins_editor',
|
1260 |
+
'title' => __( 'Plugin Editor', 'gonzales' )
|
1261 |
+
]
|
1262 |
+
],
|
1263 |
+
'Users' => [
|
1264 |
+
[
|
1265 |
+
'value' => 'users_all',
|
1266 |
+
'title' => __( 'All Users', 'gonzales' )
|
1267 |
+
],
|
1268 |
+
[
|
1269 |
+
'value' => 'users_add_new',
|
1270 |
+
'title' => __( 'Add New', 'gonzales' )
|
1271 |
+
],
|
1272 |
+
[
|
1273 |
+
'value' => 'users_your_profile',
|
1274 |
+
'title' => __( 'Your profile', 'gonzales' )
|
1275 |
+
]
|
1276 |
+
],
|
1277 |
+
'Tools' => [
|
1278 |
+
[
|
1279 |
+
'value' => 'tools_available',
|
1280 |
+
'title' => __( 'Available Tools', 'gonzales' )
|
1281 |
+
],
|
1282 |
+
[
|
1283 |
+
'value' => 'tools_import',
|
1284 |
+
'title' => __( 'Import', 'gonzales' )
|
1285 |
+
],
|
1286 |
+
[
|
1287 |
+
'value' => 'tools_export',
|
1288 |
+
'title' => __( 'Export', 'gonzales' )
|
1289 |
+
],
|
1290 |
+
[
|
1291 |
+
'value' => 'tools_site_health',
|
1292 |
+
'title' => __( 'Site Health', 'gonzales' )
|
1293 |
+
],
|
1294 |
+
[
|
1295 |
+
'value' => 'tools_export_personal_data',
|
1296 |
+
'title' => __( 'Export Personal Data', 'gonzales' )
|
1297 |
+
],
|
1298 |
+
[
|
1299 |
+
'value' => 'tools_erase_personal_data',
|
1300 |
+
'title' => __( 'Erase Personal Data', 'gonzales' )
|
1301 |
+
]
|
1302 |
+
],
|
1303 |
+
'Settings' => [
|
1304 |
+
[
|
1305 |
+
'value' => 'settings_general',
|
1306 |
+
'title' => __( 'General', 'gonzales' )
|
1307 |
+
],
|
1308 |
+
[
|
1309 |
+
'value' => 'settings_writing',
|
1310 |
+
'title' => __( 'Writing', 'gonzales' )
|
1311 |
+
],
|
1312 |
+
[
|
1313 |
+
'value' => 'settings_reading',
|
1314 |
+
'title' => __( 'Reading', 'gonzales' )
|
1315 |
+
],
|
1316 |
+
[
|
1317 |
+
'value' => 'settings_media',
|
1318 |
+
'title' => __( 'Media', 'gonzales' )
|
1319 |
+
],
|
1320 |
+
[
|
1321 |
+
'value' => 'settings_permalinks',
|
1322 |
+
'title' => __( 'Permalinks', 'gonzales' )
|
1323 |
+
],
|
1324 |
+
[
|
1325 |
+
'value' => 'settings_privacy',
|
1326 |
+
'title' => __( 'Privacy', 'gonzales' )
|
1327 |
+
]
|
1328 |
+
],
|
1329 |
+
],
|
1330 |
+
'description' => __( 'List of specific pages.', 'gonzales' )
|
1331 |
+
];
|
1332 |
+
}
|
1333 |
+
|
1334 |
$grouped_filter_params = [
|
1335 |
[
|
1336 |
'id' => 'user',
|
1374 |
[
|
1375 |
'id' => 'location',
|
1376 |
'title' => __( 'Location', 'gonzales' ),
|
1377 |
+
'items' => $location_items
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1378 |
]
|
1379 |
];
|
1380 |
|
components/assets-manager/includes/classes/class-check-conditions.php
CHANGED
@@ -24,16 +24,6 @@ class WGZ_Check_Conditions {
|
|
24 |
}
|
25 |
}
|
26 |
|
27 |
-
/*public function __call( $method ) {
|
28 |
-
$extended_methods = apply_filters( 'wam/conditions/extended_methods', [] );
|
29 |
-
|
30 |
-
if ( isset( $extended_methods[ $method ] ) ) {
|
31 |
-
return $extended_methods[ $method ]();
|
32 |
-
}
|
33 |
-
|
34 |
-
return null;
|
35 |
-
}*/
|
36 |
-
|
37 |
/**
|
38 |
* Проверяем в правильном ли формате нам передано условие
|
39 |
*
|
@@ -125,14 +115,15 @@ class WGZ_Check_Conditions {
|
|
125 |
}
|
126 |
|
127 |
/**
|
128 |
-
*
|
|
|
|
|
|
|
129 |
*
|
130 |
* @return string
|
131 |
*/
|
132 |
-
protected function
|
133 |
-
|
134 |
-
|
135 |
-
return ! empty( $url[0] ) ? trailingslashit( $url[0] ) : '/';
|
136 |
}
|
137 |
|
138 |
/**
|
@@ -150,6 +141,30 @@ class WGZ_Check_Conditions {
|
|
150 |
return $out ? urldecode( $out ) : '/';
|
151 |
}
|
152 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
/**
|
154 |
* Check by operator
|
155 |
*
|
@@ -238,72 +253,174 @@ class WGZ_Check_Conditions {
|
|
238 |
* @return boolean
|
239 |
*/
|
240 |
protected function location_some_page( $operator, $value ) {
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
case 'post_arch': // Posts - All Posts Archive
|
280 |
-
case 'page_arch': // Pages - All Pages Archive
|
281 |
-
$result = false;
|
282 |
-
if ( is_archive() ) {
|
283 |
-
$post_type = 'post_arch' == $value ? 'post' : 'page';
|
284 |
-
$result = $post_type == get_post_type();
|
285 |
-
}
|
286 |
-
break;
|
287 |
-
case 'post_cat': // Posts - All Categories Archive
|
288 |
-
case 'post_tag': // Posts - All Tags Archive
|
289 |
-
$result = false;
|
290 |
-
if ( is_archive() && 'post' == get_post_type() ) {
|
291 |
-
$taxonomy = 'post_tag' == $value ? 'post_tag' : 'category';
|
292 |
-
$obj = get_queried_object();
|
293 |
-
|
294 |
-
$current_taxonomy = '';
|
295 |
-
if ( '' !== $obj && null !== $obj ) {
|
296 |
-
$current_taxonomy = $obj->taxonomy;
|
297 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
|
299 |
-
|
300 |
-
|
|
|
301 |
}
|
302 |
-
|
303 |
-
break;
|
304 |
|
305 |
-
|
306 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
}
|
308 |
|
309 |
return $this->apply_operator( $operator, $result, true );
|
@@ -322,9 +439,10 @@ class WGZ_Check_Conditions {
|
|
322 |
* @param string $value
|
323 |
*/
|
324 |
protected function current_url( $operator, $value ) {
|
325 |
-
$value
|
|
|
326 |
|
327 |
-
return $this->apply_operator( $operator, $value, $
|
328 |
}
|
329 |
|
330 |
/**
|
@@ -355,13 +473,13 @@ class WGZ_Check_Conditions {
|
|
355 |
* @return boolean
|
356 |
*/
|
357 |
protected function location_taxonomy( $operator, $value ) {
|
358 |
-
$
|
359 |
|
360 |
if ( is_tax() || is_tag() || is_category() ) {
|
361 |
-
$
|
362 |
}
|
363 |
|
364 |
-
return $this->apply_operator( $operator, $
|
365 |
}
|
366 |
|
367 |
|
24 |
}
|
25 |
}
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
/**
|
28 |
* Проверяем в правильном ли формате нам передано условие
|
29 |
*
|
115 |
}
|
116 |
|
117 |
/**
|
118 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
119 |
+
* @since 2.0.0
|
120 |
+
*
|
121 |
+
* @param string $path
|
122 |
*
|
123 |
* @return string
|
124 |
*/
|
125 |
+
protected function get_admin_url_path( $path ) {
|
126 |
+
return str_replace( site_url(), '', admin_url( $path ) );
|
|
|
|
|
127 |
}
|
128 |
|
129 |
/**
|
141 |
return $out ? urldecode( $out ) : '/';
|
142 |
}
|
143 |
|
144 |
+
/**
|
145 |
+
* Get current URL
|
146 |
+
*
|
147 |
+
* @return string
|
148 |
+
*/
|
149 |
+
protected function get_current_url_path( $clear_query = false ) {
|
150 |
+
if ( ! is_admin() && ! $clear_query ) {
|
151 |
+
$url = explode( '?', $_SERVER['REQUEST_URI'], 2 );
|
152 |
+
if ( strlen( $url[0] ) > 1 ) {
|
153 |
+
$out = rtrim( $url[0], '/' );
|
154 |
+
} else {
|
155 |
+
$out = $url[0];
|
156 |
+
}
|
157 |
+
|
158 |
+
return "/" === $out ? "/" : untrailingslashit( $out );
|
159 |
+
}
|
160 |
+
|
161 |
+
$removeble_args = array_merge( [ 'wbcr_assets_manager' ], wp_removable_query_args() );
|
162 |
+
|
163 |
+
$url = remove_query_arg( $removeble_args, $_SERVER['REQUEST_URI'] );
|
164 |
+
|
165 |
+
return untrailingslashit( $url );
|
166 |
+
}
|
167 |
+
|
168 |
/**
|
169 |
* Check by operator
|
170 |
*
|
253 |
* @return boolean
|
254 |
*/
|
255 |
protected function location_some_page( $operator, $value ) {
|
256 |
+
if ( ! is_admin() ) {
|
257 |
+
// For frontend area
|
258 |
+
switch ( $value ) {
|
259 |
+
case 'base_web': // Basic - Entire Website
|
260 |
+
$result = ! is_admin();
|
261 |
+
break;
|
262 |
+
case 'base_sing': // Basic - All Singulars
|
263 |
+
$result = is_singular();
|
264 |
+
break;
|
265 |
+
case 'base_arch': // Basic - All Archives
|
266 |
+
$result = is_archive();
|
267 |
+
break;
|
268 |
+
case 'spec_404': // Special Pages - 404 Page
|
269 |
+
$result = is_404();
|
270 |
+
break;
|
271 |
+
case 'spec_search': // Special Pages - Search Page
|
272 |
+
$result = is_search();
|
273 |
+
break;
|
274 |
+
case 'spec_blog': // Special Pages - Blog / Posts Page
|
275 |
+
$result = is_home();
|
276 |
+
break;
|
277 |
+
case 'spec_front': // Special Pages - Front Page
|
278 |
+
$result = is_front_page();
|
279 |
+
break;
|
280 |
+
case 'spec_date': // Special Pages - Date Archive
|
281 |
+
$result = is_date();
|
282 |
+
break;
|
283 |
+
case 'spec_auth': // Special Pages - Author Archive
|
284 |
+
$result = is_author();
|
285 |
+
break;
|
286 |
+
case 'post_all': // Posts - All Posts
|
287 |
+
case 'page_all': // Pages - All Pages
|
288 |
+
$result = false;
|
289 |
+
$post_id = ( ! is_404() && ! is_search() && ! is_archive() && ! is_home() ) ? get_the_ID() : false;
|
290 |
+
|
291 |
+
if ( false !== $post_id ) {
|
292 |
+
$post_type = 'post_all' == $value ? 'post' : 'page';
|
293 |
+
$result = $post_type == get_post_type( $post_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
}
|
295 |
+
break;
|
296 |
+
case 'post_arch': // Posts - All Posts Archive
|
297 |
+
case 'page_arch': // Pages - All Pages Archive
|
298 |
+
$result = false;
|
299 |
+
if ( is_archive() ) {
|
300 |
+
$post_type = 'post_arch' == $value ? 'post' : 'page';
|
301 |
+
$result = $post_type == get_post_type();
|
302 |
+
}
|
303 |
+
break;
|
304 |
+
case 'post_cat': // Posts - All Categories Archive
|
305 |
+
case 'post_tag': // Posts - All Tags Archive
|
306 |
+
$result = false;
|
307 |
+
if ( is_archive() && 'post' == get_post_type() ) {
|
308 |
+
$taxonomy = 'post_tag' == $value ? 'post_tag' : 'category';
|
309 |
+
$obj = get_queried_object();
|
310 |
+
|
311 |
+
$current_taxonomy = '';
|
312 |
+
if ( '' !== $obj && null !== $obj ) {
|
313 |
+
$current_taxonomy = $obj->taxonomy;
|
314 |
+
}
|
315 |
|
316 |
+
if ( $current_taxonomy == $taxonomy ) {
|
317 |
+
$result = true;
|
318 |
+
}
|
319 |
}
|
320 |
+
break;
|
|
|
321 |
|
322 |
+
default:
|
323 |
+
$result = true;
|
324 |
+
}
|
325 |
+
} else {
|
326 |
+
// For admin area
|
327 |
+
switch ( $value ) {
|
328 |
+
case 'all_admin_area':
|
329 |
+
$result = is_admin();
|
330 |
+
break;
|
331 |
+
case 'dashboard_home':
|
332 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'index.php' );
|
333 |
+
break;
|
334 |
+
case 'dashboard_wordpress_updates':
|
335 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'update-core.php' );
|
336 |
+
break;
|
337 |
+
case 'posts_all':
|
338 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'edit.php' );
|
339 |
+
break;
|
340 |
+
case 'posts_add_new':
|
341 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'post-new.php' );
|
342 |
+
break;
|
343 |
+
case 'posts_taxonomies':
|
344 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'edit-tags.php' );
|
345 |
+
break;
|
346 |
+
case 'media_library':
|
347 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'upload.php' );
|
348 |
+
break;
|
349 |
+
case 'media_library_add_new':
|
350 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'media-new.php' );
|
351 |
+
break;
|
352 |
+
case 'appearance_themes':
|
353 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'themes.php' );
|
354 |
+
break;
|
355 |
+
case 'appearance_customize':
|
356 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'customize.php' );
|
357 |
+
break;
|
358 |
+
case 'appearance_widgets':
|
359 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'widgets.php' );
|
360 |
+
break;
|
361 |
+
case 'appearance_menus':
|
362 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'nav-menus.php' );
|
363 |
+
break;
|
364 |
+
case 'appearance_theme_editor':
|
365 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'theme-editor.php' );
|
366 |
+
break;
|
367 |
+
case 'plugins_installed':
|
368 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'plugins.php' );
|
369 |
+
break;
|
370 |
+
case 'plugins_add_new':
|
371 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'plugin-install.php' );
|
372 |
+
break;
|
373 |
+
case 'plugins_editor':
|
374 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'plugin-editor.php' );
|
375 |
+
break;
|
376 |
+
case 'users_all':
|
377 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'users.php' );
|
378 |
+
break;
|
379 |
+
case 'users_add_new':
|
380 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'user-new.php' );
|
381 |
+
break;
|
382 |
+
case 'users_your_profile':
|
383 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'profile.php' );
|
384 |
+
break;
|
385 |
+
case 'tools_available':
|
386 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'tools.php' );
|
387 |
+
break;
|
388 |
+
case 'tools_import':
|
389 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'import.php' );
|
390 |
+
break;
|
391 |
+
case 'tools_export':
|
392 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'export.php' );
|
393 |
+
break;
|
394 |
+
case 'tools_site_health':
|
395 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'site-health.php' );
|
396 |
+
break;
|
397 |
+
case 'tools_export_personal_data':
|
398 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'tools.php' );
|
399 |
+
break;
|
400 |
+
case 'tools_erase_personal_data':
|
401 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'tools.php' );
|
402 |
+
break;
|
403 |
+
case 'settings_general':
|
404 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'options-general.php' );
|
405 |
+
break;
|
406 |
+
case 'settings_writing':
|
407 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'options-writing.php' );
|
408 |
+
break;
|
409 |
+
case 'settings_reading':
|
410 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'options-reading.php' );
|
411 |
+
break;
|
412 |
+
case 'settings_media':
|
413 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'options-media.php' );
|
414 |
+
break;
|
415 |
+
case 'settings_permalinks':
|
416 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'options-permalink.php' );
|
417 |
+
break;
|
418 |
+
case 'settings_privacy':
|
419 |
+
$result = $this->get_current_url_path( true ) === $this->get_admin_url_path( 'privacy.php' );
|
420 |
+
break;
|
421 |
+
default:
|
422 |
+
$result = true;
|
423 |
+
}
|
424 |
}
|
425 |
|
426 |
return $this->apply_operator( $operator, $result, true );
|
439 |
* @param string $value
|
440 |
*/
|
441 |
protected function current_url( $operator, $value ) {
|
442 |
+
$value = ( "/" === $value ) ? "/" : untrailingslashit( $value );
|
443 |
+
$current_url = $this->get_current_url_path();
|
444 |
|
445 |
+
return $this->apply_operator( $operator, $value, $current_url );
|
446 |
}
|
447 |
|
448 |
/**
|
473 |
* @return boolean
|
474 |
*/
|
475 |
protected function location_taxonomy( $operator, $value ) {
|
476 |
+
$taxonomy = null;
|
477 |
|
478 |
if ( is_tax() || is_tag() || is_category() ) {
|
479 |
+
$taxonomy = get_queried_object()->taxonomy;
|
480 |
}
|
481 |
|
482 |
+
return $this->apply_operator( $operator, $taxonomy, $value );
|
483 |
}
|
484 |
|
485 |
|
components/assets-manager/includes/classes/class-views.php
CHANGED
@@ -63,11 +63,11 @@ class WGZ_Views {
|
|
63 |
*
|
64 |
* @param string $template The template name.
|
65 |
* @param mixed $data Some data to pass to the template.
|
66 |
-
* @param
|
67 |
*
|
68 |
* @return bool|string The page contents. False if the template doesn't exist.
|
69 |
*/
|
70 |
-
public function get_template( $template, $data = [],
|
71 |
$template = str_replace( '_', '-', $template );
|
72 |
$path = $this->plugin_dir . '/views/' . $template . '.php';
|
73 |
|
@@ -92,9 +92,9 @@ class WGZ_Views {
|
|
92 |
*
|
93 |
* @param string $template The template name.
|
94 |
* @param mixed $data Some data to pass to the template.
|
95 |
-
* @param
|
96 |
*/
|
97 |
-
public function print_template( $template, $data = [],
|
98 |
echo $this->get_template( $template, $data, $page );
|
99 |
}
|
100 |
}
|
63 |
*
|
64 |
* @param string $template The template name.
|
65 |
* @param mixed $data Some data to pass to the template.
|
66 |
+
* @param Wbcr_FactoryClearfy214_PageBase $page
|
67 |
*
|
68 |
* @return bool|string The page contents. False if the template doesn't exist.
|
69 |
*/
|
70 |
+
public function get_template( $template, $data = [], Wbcr_FactoryClearfy214_PageBase $page = null ) {
|
71 |
$template = str_replace( '_', '-', $template );
|
72 |
$path = $this->plugin_dir . '/views/' . $template . '.php';
|
73 |
|
92 |
*
|
93 |
* @param string $template The template name.
|
94 |
* @param mixed $data Some data to pass to the template.
|
95 |
+
* @param Wbcr_FactoryClearfy214_PageBase $page
|
96 |
*/
|
97 |
+
public function print_template( $template, $data = [], Wbcr_FactoryClearfy214_PageBase $page = null ) {
|
98 |
echo $this->get_template( $template, $data, $page );
|
99 |
}
|
100 |
}
|
components/assets-manager/migrations/010100.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 WGZUpdate010100 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 WGZUpdate010100 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install()
|
10 |
{
|
components/assets-manager/migrations/010108.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 WGZUpdate010108 extends
|
8 |
|
9 |
/**
|
10 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
@@ -80,6 +80,7 @@ class WGZUpdate010108 extends Wbcr_Factory421_Update {
|
|
80 |
}
|
81 |
}
|
82 |
|
|
|
83 |
update_option( $this->plugin->getPrefix() . 'assets_states', $settings );
|
84 |
}
|
85 |
|
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 WGZUpdate010108 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
/**
|
10 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
80 |
}
|
81 |
}
|
82 |
|
83 |
+
//update_option( $this->plugin->getPrefix() . 'backend_assets_states', $settings );
|
84 |
update_option( $this->plugin->getPrefix() . 'assets_states', $settings );
|
85 |
}
|
86 |
|
components/assets-manager/mu-plugins/assets-manager.php
CHANGED
@@ -1,20 +1,17 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
Framework Version: FACTORY_421_VERSION
|
10 |
-
*/
|
11 |
-
// TODO: The plugin does not support backend
|
12 |
// todo: проверить, как работает кеширование
|
13 |
// todo: замерить, скорость работы этого решения
|
14 |
|
15 |
defined( 'ABSPATH' ) || exit;
|
16 |
|
17 |
-
if ( defined( 'WP_SETUP_CONFIG' ) || defined( 'WP_INSTALLING' ) ||
|
18 |
return;
|
19 |
}
|
20 |
|
@@ -25,7 +22,9 @@ if ( defined( 'WP_SETUP_CONFIG' ) || defined( 'WP_INSTALLING' ) || is_admin() ||
|
|
25 |
|
26 |
class WGNZ_Plugins_Loader {
|
27 |
|
28 |
-
|
|
|
|
|
29 |
protected $parent_plugin_dir;
|
30 |
protected $settings;
|
31 |
protected $active_plugins = array();
|
@@ -35,44 +34,32 @@ class WGNZ_Plugins_Loader {
|
|
35 |
# task or a rest api request. Otherwise, the user may have problems
|
36 |
# with the work of plugins.
|
37 |
if ( $this->doing_ajax() || $this->doing_cron() || $this->doing_rest_api() ) {
|
38 |
-
return
|
39 |
}
|
40 |
|
41 |
-
$is_assets_manager_active = false;
|
42 |
$is_clearfy_active = false;
|
43 |
|
44 |
-
$active_plugins = $this->get_active_plugins();
|
45 |
|
46 |
-
|
47 |
-
$this->prefix = 'wbcr_clearfy_';
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
} else {
|
52 |
-
$deactivate_components = get_option( $this->prefix . 'deactive_preinstall_components', array() );
|
53 |
-
}
|
54 |
|
55 |
if ( empty( $deactivate_components ) || ! in_array( 'assets_manager', $deactivate_components ) ) {
|
56 |
$is_clearfy_active = true;
|
57 |
}
|
58 |
-
if ( in_array( 'wp-plugin-clearfy/clearfy.php', $active_plugins ) ) {
|
59 |
-
$this->parent_plugin_dir = WP_PLUGIN_DIR . '/wp-plugin-clearfy/components/assets-manager/';
|
60 |
-
} else {
|
61 |
-
$this->parent_plugin_dir = WP_PLUGIN_DIR . '/clearfy/components/assets-manager/';
|
62 |
-
}
|
63 |
-
} else if ( in_array( 'gonzales/gonzales.php', $active_plugins ) || in_array( 'wp-plugin-gonzales/gonzales.php', $active_plugins ) ) {
|
64 |
-
$is_assets_manager_active = true;
|
65 |
-
$this->prefix = 'wbcr_gnz_';
|
66 |
-
$this->parent_plugin_dir = WP_PLUGIN_DIR . '/gonzales/';
|
67 |
}
|
68 |
|
69 |
-
|
70 |
-
|
|
|
|
|
71 |
}
|
72 |
|
73 |
# Disable plugins only if Asset Manager and Clearfy are activated
|
74 |
-
if ( $is_clearfy_active || $
|
75 |
-
$this->settings =
|
76 |
|
77 |
if ( ! empty( $this->settings ) ) {
|
78 |
if ( is_multisite() ) {
|
@@ -154,6 +141,36 @@ class WGNZ_Plugins_Loader {
|
|
154 |
return $plugins_list;
|
155 |
}
|
156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
/**
|
158 |
* Get a list of active plugins.
|
159 |
*
|
@@ -174,6 +191,8 @@ class WGNZ_Plugins_Loader {
|
|
174 |
}
|
175 |
|
176 |
/**
|
|
|
|
|
177 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
178 |
* @since 1.0.0
|
179 |
*
|
@@ -199,7 +218,8 @@ class WGNZ_Plugins_Loader {
|
|
199 |
}
|
200 |
|
201 |
if ( ! empty( $this->settings['plugins'] ) && isset( $this->settings['plugins'][ $plugin_base_part[0] ] ) && 'disable_plugin' === $this->settings['plugins'][ $plugin_base_part[0] ]['load_mode'] ) {
|
202 |
-
require_once $this->
|
|
|
203 |
if ( ! empty( $this->settings['plugins'][ $plugin_base_part[0] ]['visability'] ) ) {
|
204 |
$condition = new WGZ_Check_Conditions( $this->settings['plugins'][ $plugin_base_part[0] ]['visability'] );
|
205 |
if ( $condition->validate() ) {
|
@@ -211,23 +231,6 @@ class WGNZ_Plugins_Loader {
|
|
211 |
return false;
|
212 |
}
|
213 |
|
214 |
-
|
215 |
-
/**
|
216 |
-
* Get current URL
|
217 |
-
*
|
218 |
-
* @return string
|
219 |
-
*/
|
220 |
-
private function get_current_url() {
|
221 |
-
$url = explode( '?', $_SERVER['REQUEST_URI'], 2 );
|
222 |
-
if ( strlen( $url[0] ) > 1 ) {
|
223 |
-
$out = rtrim( $url[0], '/' );
|
224 |
-
} else {
|
225 |
-
$out = $url[0];
|
226 |
-
}
|
227 |
-
|
228 |
-
return $out;
|
229 |
-
}
|
230 |
-
|
231 |
/**
|
232 |
* Checks if the current request is a WP REST API request.
|
233 |
*
|
@@ -259,8 +262,10 @@ class WGNZ_Plugins_Loader {
|
|
259 |
}
|
260 |
|
261 |
/**
|
|
|
|
|
262 |
* @since 1.0.0
|
263 |
-
* @return bool
|
264 |
*/
|
265 |
private function doing_ajax() {
|
266 |
if ( function_exists( 'wp_doing_ajax' ) ) {
|
@@ -271,8 +276,10 @@ class WGNZ_Plugins_Loader {
|
|
271 |
}
|
272 |
|
273 |
/**
|
|
|
|
|
274 |
* @since 1.0.0
|
275 |
-
* @return bool
|
276 |
*/
|
277 |
private function doing_cron() {
|
278 |
if ( function_exists( 'wp_doing_cron' ) ) {
|
@@ -281,6 +288,171 @@ class WGNZ_Plugins_Loader {
|
|
281 |
|
282 |
return defined( 'DOING_CRON' ) && DOING_CRON;
|
283 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
}
|
285 |
|
286 |
new WGNZ_Plugins_Loader();
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Webcraftic AM plugin load filter
|
4 |
+
* Dynamically activated only plugins that you have selected in each page. [Note] Webcraftic AM has been automatically installed/deleted by Activate/Deactivate of "load filter plugin".
|
5 |
+
* Version: 1.0.8
|
6 |
+
* Framework Version: FACTORY_422_VERSION
|
7 |
+
*/
|
8 |
+
|
|
|
|
|
|
|
9 |
// todo: проверить, как работает кеширование
|
10 |
// todo: замерить, скорость работы этого решения
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit;
|
13 |
|
14 |
+
if ( defined( 'WP_SETUP_CONFIG' ) || defined( 'WP_INSTALLING' ) || isset( $_GET['wbcr_assets_manager'] ) ) {
|
15 |
return;
|
16 |
}
|
17 |
|
22 |
|
23 |
class WGNZ_Plugins_Loader {
|
24 |
|
25 |
+
const DEFAULT_OPTIONS_PREFIX = 'wbcr_gnz_';
|
26 |
+
const CLEARFY_OPTIONS_PREFIX = 'wbcr_clearfy_';
|
27 |
+
|
28 |
protected $parent_plugin_dir;
|
29 |
protected $settings;
|
30 |
protected $active_plugins = array();
|
34 |
# task or a rest api request. Otherwise, the user may have problems
|
35 |
# with the work of plugins.
|
36 |
if ( $this->doing_ajax() || $this->doing_cron() || $this->doing_rest_api() ) {
|
37 |
+
return;
|
38 |
}
|
39 |
|
|
|
40 |
$is_clearfy_active = false;
|
41 |
|
42 |
+
$this->active_plugins = $this->get_active_plugins();
|
43 |
|
44 |
+
add_filter( 'wam/conditions/call_method', [ $this, 'check_conditions_method' ], 10, 4 );
|
|
|
45 |
|
46 |
+
if ( $this->is_active_clearfy() ) {
|
47 |
+
$deactivate_components = $this->get_clearfy_deactivate_components();
|
|
|
|
|
|
|
48 |
|
49 |
if ( empty( $deactivate_components ) || ! in_array( 'assets_manager', $deactivate_components ) ) {
|
50 |
$is_clearfy_active = true;
|
51 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
53 |
|
54 |
+
$parent_plugin_dir = $this->get_parent_plugin_dir();
|
55 |
+
|
56 |
+
if( empty($parent_plugin_dir) || !file_exists($parent_plugin_dir) ) {
|
57 |
+
return;
|
58 |
}
|
59 |
|
60 |
# Disable plugins only if Asset Manager and Clearfy are activated
|
61 |
+
if ( $is_clearfy_active || $this->is_active_assets_manager_standalone() ) {
|
62 |
+
$this->settings = $this->get_assets_manager_options();
|
63 |
|
64 |
if ( ! empty( $this->settings ) ) {
|
65 |
if ( is_multisite() ) {
|
141 |
return $plugins_list;
|
142 |
}
|
143 |
|
144 |
+
/**
|
145 |
+
* Extra method for extend WGZ_Check_Conditions class.
|
146 |
+
*
|
147 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
148 |
+
* @since 1.0.7
|
149 |
+
*
|
150 |
+
* @param mixed $default
|
151 |
+
* @param string $method_name
|
152 |
+
* @param string $operator
|
153 |
+
* @param mixed $value
|
154 |
+
*
|
155 |
+
* @return mixed
|
156 |
+
*/
|
157 |
+
public function check_conditions_method( $default, $method_name, $operator, $value ) {
|
158 |
+
$premium_plugin_dir = $this->get_parent_premium_plugin_dir();
|
159 |
+
|
160 |
+
if( $premium_plugin_dir && file_exists($premium_plugin_dir) ) {
|
161 |
+
require_once $premium_plugin_dir . '/includes/class-check-conditions.php';
|
162 |
+
if(class_exists('WGNZP_Check_Conditions')) {
|
163 |
+
$conditions = new WGNZP_Check_Conditions();
|
164 |
+
|
165 |
+
if ( method_exists( $conditions, $method_name ) ) {
|
166 |
+
return $conditions->$method_name( $operator, $value );
|
167 |
+
}
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
return $default;
|
172 |
+
}
|
173 |
+
|
174 |
/**
|
175 |
* Get a list of active plugins.
|
176 |
*
|
191 |
}
|
192 |
|
193 |
/**
|
194 |
+
* Determines whether the current plugin is disabled
|
195 |
+
*
|
196 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
197 |
* @since 1.0.0
|
198 |
*
|
218 |
}
|
219 |
|
220 |
if ( ! empty( $this->settings['plugins'] ) && isset( $this->settings['plugins'][ $plugin_base_part[0] ] ) && 'disable_plugin' === $this->settings['plugins'][ $plugin_base_part[0] ]['load_mode'] ) {
|
221 |
+
require_once $this->get_parent_plugin_dir() . '/includes/classes/class-check-conditions.php';
|
222 |
+
|
223 |
if ( ! empty( $this->settings['plugins'][ $plugin_base_part[0] ]['visability'] ) ) {
|
224 |
$condition = new WGZ_Check_Conditions( $this->settings['plugins'][ $plugin_base_part[0] ]['visability'] );
|
225 |
if ( $condition->validate() ) {
|
231 |
return false;
|
232 |
}
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
/**
|
235 |
* Checks if the current request is a WP REST API request.
|
236 |
*
|
262 |
}
|
263 |
|
264 |
/**
|
265 |
+
* Determines whether the current request is a WordPress Ajax request.
|
266 |
+
*
|
267 |
* @since 1.0.0
|
268 |
+
* @return bool True if it's a WordPress Ajax request, false otherwise.
|
269 |
*/
|
270 |
private function doing_ajax() {
|
271 |
if ( function_exists( 'wp_doing_ajax' ) ) {
|
276 |
}
|
277 |
|
278 |
/**
|
279 |
+
* Determines whether the current request is a WordPress cron request.
|
280 |
+
*
|
281 |
* @since 1.0.0
|
282 |
+
* @return bool True if it's a WordPress cron request, false otherwise.
|
283 |
*/
|
284 |
private function doing_cron() {
|
285 |
if ( function_exists( 'wp_doing_cron' ) ) {
|
288 |
|
289 |
return defined( 'DOING_CRON' ) && DOING_CRON;
|
290 |
}
|
291 |
+
|
292 |
+
/**
|
293 |
+
* Is Clearfy plugin actives?
|
294 |
+
*
|
295 |
+
* @since 1.0.7
|
296 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
297 |
+
* @return string|null
|
298 |
+
*/
|
299 |
+
private function is_active_clearfy() {
|
300 |
+
return $this->is_active_clearfy_dev() || $this->is_active_clearfy_prod();
|
301 |
+
}
|
302 |
+
|
303 |
+
/**
|
304 |
+
* Is Clearfy Dev plugin actives?
|
305 |
+
*
|
306 |
+
* @since 1.0.7
|
307 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
308 |
+
* @return string|null
|
309 |
+
*/
|
310 |
+
private function is_active_clearfy_dev() {
|
311 |
+
return in_array( 'wp-plugin-clearfy/clearfy.php', $this->active_plugins );
|
312 |
+
}
|
313 |
+
|
314 |
+
/**
|
315 |
+
* Is Clearfy Prod plugin actives?
|
316 |
+
*
|
317 |
+
* @since 1.0.7
|
318 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
319 |
+
* @return string|null
|
320 |
+
*/
|
321 |
+
private function is_active_clearfy_prod() {
|
322 |
+
return in_array( 'clearfy/clearfy.php', $this->active_plugins );
|
323 |
+
}
|
324 |
+
|
325 |
+
/**
|
326 |
+
* Is Assets Manager standalone actives?
|
327 |
+
*
|
328 |
+
* @since 1.0.7
|
329 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
330 |
+
* @return string|null
|
331 |
+
*/
|
332 |
+
private function is_active_assets_manager_standalone() {
|
333 |
+
return $this->is_active_assets_manager_standalone_prod() || $this->is_active_assets_manager_standalone_dev();
|
334 |
+
}
|
335 |
+
|
336 |
+
/**
|
337 |
+
* Is Assets Manager standalone prod actives?
|
338 |
+
*
|
339 |
+
* @since 1.0.7
|
340 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
341 |
+
* @return string|null
|
342 |
+
*/
|
343 |
+
private function is_active_assets_manager_standalone_prod() {
|
344 |
+
return in_array( 'gonzales/gonzales.php', $this->active_plugins );
|
345 |
+
}
|
346 |
+
|
347 |
+
/**
|
348 |
+
* Is Assets Manager standalone dev actives?
|
349 |
+
*
|
350 |
+
* @since 1.0.7
|
351 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
352 |
+
* @return string|null
|
353 |
+
*/
|
354 |
+
private function is_active_assets_manager_standalone_dev() {
|
355 |
+
return in_array( 'wp-plugin-gonzales/gonzales.php', $this->active_plugins );
|
356 |
+
}
|
357 |
+
|
358 |
+
/**
|
359 |
+
* Get options prefix
|
360 |
+
*
|
361 |
+
* @since 1.0.7
|
362 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
363 |
+
* @return string|null
|
364 |
+
*/
|
365 |
+
private function get_options_prefix() {
|
366 |
+
if( $this->is_active_clearfy() ) {
|
367 |
+
return self::CLEARFY_OPTIONS_PREFIX;
|
368 |
+
}
|
369 |
+
return self::DEFAULT_OPTIONS_PREFIX;
|
370 |
+
}
|
371 |
+
|
372 |
+
/**
|
373 |
+
* Get Clearfy deactivated components
|
374 |
+
*
|
375 |
+
* @since 1.0.7
|
376 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
377 |
+
* @return array|null
|
378 |
+
*/
|
379 |
+
private function get_clearfy_deactivate_components() {
|
380 |
+
if ( is_multisite() ) {
|
381 |
+
return get_site_option( $this->get_options_prefix() . 'deactive_preinstall_components', array() );
|
382 |
+
}
|
383 |
+
|
384 |
+
return get_option( $this->get_options_prefix() . 'deactive_preinstall_components', array() );
|
385 |
+
}
|
386 |
+
|
387 |
+
/**
|
388 |
+
* Get Assets Manager options
|
389 |
+
*
|
390 |
+
* @since 1.0.7
|
391 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
392 |
+
* @return string|null
|
393 |
+
*/
|
394 |
+
private function get_assets_manager_options() {
|
395 |
+
if( is_multisite() && is_network_admin() ) {
|
396 |
+
return get_site_option( $this->get_options_prefix() . 'backend_assets_states', array() );
|
397 |
+
} else if( is_admin() ) {
|
398 |
+
return get_option( $this->get_options_prefix() . 'backend_assets_states', array() );
|
399 |
+
}
|
400 |
+
|
401 |
+
return get_option( $this->get_options_prefix() . 'assets_states', array() );
|
402 |
+
}
|
403 |
+
|
404 |
+
/**
|
405 |
+
* Get parent plugin dir
|
406 |
+
*
|
407 |
+
* @since 1.0.7
|
408 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
409 |
+
* @return string|null
|
410 |
+
*/
|
411 |
+
private function get_parent_plugin_dir() {
|
412 |
+
if ( $this->is_active_clearfy() ) {
|
413 |
+
if ( $this->is_active_clearfy_dev() ) {
|
414 |
+
return WP_PLUGIN_DIR . '/wp-plugin-clearfy/components/assets-manager/';
|
415 |
+
}
|
416 |
+
|
417 |
+
return WP_PLUGIN_DIR . '/clearfy/components/assets-manager/';
|
418 |
+
} else if ( $this->is_active_assets_manager_standalone() ) {
|
419 |
+
if ( $this->is_active_assets_manager_standalone_dev() ) {
|
420 |
+
return WP_PLUGIN_DIR . '/wp-plugin-gonzales/';
|
421 |
+
}
|
422 |
+
|
423 |
+
return WP_PLUGIN_DIR . '/gonzales/';
|
424 |
+
}
|
425 |
+
|
426 |
+
return null;
|
427 |
+
}
|
428 |
+
|
429 |
+
/**
|
430 |
+
* Get premium plugin dir in dependence on environment
|
431 |
+
*
|
432 |
+
* @since 1.0.7
|
433 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
434 |
+
* @return string|null
|
435 |
+
*/
|
436 |
+
private function get_parent_premium_plugin_dir() {
|
437 |
+
$is_active_prod = in_array( 'clearfy_package/clearfy-package.php', $this->active_plugins );
|
438 |
+
$is_active_dev = in_array( 'wp-plugin-clearfy-package/clearfy-package.php', $this->active_plugins );
|
439 |
+
$is_active_stand_alone_prod = in_array( 'assets-manager-premium/assets-manager-premium.php', $this->active_plugins );
|
440 |
+
$is_active_stand_alone_dev = in_array( 'wp-plugin-assets-manager-premium/assets-manager-premium.php', $this->active_plugins );
|
441 |
+
|
442 |
+
if($is_active_dev) {
|
443 |
+
$premium_plugin_dir = WP_PLUGIN_DIR .'/wp-plugin-clearfy-package/plugins/assets-manager-premium';
|
444 |
+
} else if($is_active_prod) {
|
445 |
+
$premium_plugin_dir = WP_PLUGIN_DIR .'/clearfy_package/assets-manager-premium';
|
446 |
+
} else if($is_active_stand_alone_prod){
|
447 |
+
$premium_plugin_dir = WP_PLUGIN_DIR .'/assets-manager-premium/';
|
448 |
+
} else if($is_active_stand_alone_dev) {
|
449 |
+
$premium_plugin_dir = WP_PLUGIN_DIR .'/wp-plugin-assets-manager-premium/';
|
450 |
+
} else {
|
451 |
+
return null;
|
452 |
+
}
|
453 |
+
|
454 |
+
return wp_normalize_path($premium_plugin_dir);
|
455 |
+
}
|
456 |
}
|
457 |
|
458 |
new WGNZ_Plugins_Loader();
|
components/assets-manager/readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Tags: dequeue script, dequeue style, pagespeed, speed, unload style, gonzales, assets clean, assets, assets cleanup, page speed optimizer, perfmatters, disable script, disable style, disable jquery, disable jquery-migrate, disable fonts
|
3 |
Contributors: webcraftic, creativemotion, alexkovalevv
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
|
5 |
-
Requires at least: 4.
|
6 |
-
Tested up to: 5.
|
7 |
Requires PHP: 5.4
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2
|
@@ -59,6 +59,12 @@ We invite you to check out a few other related free plugins that our team has al
|
|
59 |
2. Assets manager
|
60 |
|
61 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
= 2.0.1 (12.10.2019) =
|
63 |
* Fixed: The bug with save mode.
|
64 |
* Fixed: Some conditions (entire website) didn't work. It could be due save mode.
|
2 |
Tags: dequeue script, dequeue style, pagespeed, speed, unload style, gonzales, assets clean, assets, assets cleanup, page speed optimizer, perfmatters, disable script, disable style, disable jquery, disable jquery-migrate, disable fonts
|
3 |
Contributors: webcraftic, creativemotion, alexkovalevv
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
|
5 |
+
Requires at least: 4.8
|
6 |
+
Tested up to: 5.3
|
7 |
Requires PHP: 5.4
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2
|
59 |
2. Assets manager
|
60 |
|
61 |
== Changelog ==
|
62 |
+
= 2.0.3 (13.11.2019) =
|
63 |
+
* Fixed: Minor bugs. Comment head of mu plugin determined as main.
|
64 |
+
|
65 |
+
= 2.0.2 (13.11.2019) =
|
66 |
+
* Fixed: Minor bugs. Added an admin notice about great release.
|
67 |
+
|
68 |
= 2.0.1 (12.10.2019) =
|
69 |
* Fixed: The bug with save mode.
|
70 |
* Fixed: Some conditions (entire website) didn't work. It could be due save mode.
|
components/assets-manager/uninstall.php
CHANGED
@@ -8,6 +8,10 @@ if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
|
8 |
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
|
|
|
|
|
|
|
|
11 |
if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
|
12 |
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
13 |
}
|
@@ -43,5 +47,6 @@ if ( is_multisite() ) {
|
|
43 |
}
|
44 |
|
45 |
// Remove mu plugin
|
46 |
-
require_once
|
|
|
47 |
wbcr_gnz_remove_mu_plugin();
|
8 |
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
11 |
+
if ( ! defined( 'WGZ_PLUGIN_DIR' ) ) {
|
12 |
+
define( 'WGZ_PLUGIN_DIR', dirname( __FILE__ ) );
|
13 |
+
}
|
14 |
+
|
15 |
if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
|
16 |
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
17 |
}
|
47 |
}
|
48 |
|
49 |
// Remove mu plugin
|
50 |
+
require_once WGZ_PLUGIN_DIR . '/includes/functions.php';
|
51 |
+
// todo: for the function require the constant WGZ_PLUGIN_DIR
|
52 |
wbcr_gnz_remove_mu_plugin();
|
components/assets-manager/views/assets-manager.php
CHANGED
@@ -13,19 +13,19 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
13 |
<main class="wam-content">
|
14 |
<?php $this->print_template( 'part-assets-manager-tabs-menu' ); ?>
|
15 |
<?php //$this->print_template( 'part-assets-manager-info-bar' ); ?>
|
16 |
-
<div id="wam-assets-type-tab-content__theme" class="wam-assets-type-tab-content">
|
17 |
<?php $this->print_template( 'tab-content-assets', [
|
18 |
'type' => 'theme',
|
19 |
'assets' => $data['theme_assets']
|
20 |
] ); ?>
|
21 |
</div>
|
22 |
-
<div id="wam-assets-type-tab-content__misc" class="wam-assets-type-tab-content">
|
23 |
<?php $this->print_template( 'tab-content-assets', [
|
24 |
'type' => 'misc',
|
25 |
'assets' => $data['misc_assets']
|
26 |
] ); ?>
|
27 |
</div>
|
28 |
-
<div id="wam-assets-type-tab-content__plugins" class="wam-assets-type-tab-content wam-assets-type-tab-content__active">
|
29 |
<?php $this->print_template( 'tab-content-assets-plugins', $data ); ?>
|
30 |
</div>
|
31 |
</main>
|
13 |
<main class="wam-content">
|
14 |
<?php $this->print_template( 'part-assets-manager-tabs-menu' ); ?>
|
15 |
<?php //$this->print_template( 'part-assets-manager-info-bar' ); ?>
|
16 |
+
<div id="wam-assets-type-tab-content__theme" data-category="theme" class="wam-assets-type-tab-content">
|
17 |
<?php $this->print_template( 'tab-content-assets', [
|
18 |
'type' => 'theme',
|
19 |
'assets' => $data['theme_assets']
|
20 |
] ); ?>
|
21 |
</div>
|
22 |
+
<div id="wam-assets-type-tab-content__misc" data-category="misc" class="wam-assets-type-tab-content">
|
23 |
<?php $this->print_template( 'tab-content-assets', [
|
24 |
'type' => 'misc',
|
25 |
'assets' => $data['misc_assets']
|
26 |
] ); ?>
|
27 |
</div>
|
28 |
+
<div id="wam-assets-type-tab-content__plugins" data-category="plugins" class="wam-assets-type-tab-content wam-assets-type-tab-content__active">
|
29 |
<?php $this->print_template( 'tab-content-assets-plugins', $data ); ?>
|
30 |
</div>
|
31 |
</main>
|
components/assets-manager/views/part-assets-manager-header.php
CHANGED
@@ -31,7 +31,7 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
31 |
</ul>
|
32 |
</div>
|
33 |
<div class="wam-float-panel__right">
|
34 |
-
<a class="wam-float-panel__reset wbcr-reset-button" href="<?php echo esc_url( wp_nonce_url( add_query_arg( [ 'wam_reset_settings' => 1 ] ), 'wam_reset_settings' ) ); ?>">
|
35 |
<?php _e( 'Reset', 'gonzales' ) ?>
|
36 |
</a>
|
37 |
<button id="wam-save-button" class="wam-float-panel__save js-wam-top-panel__save-button" data-nonce="<?php echo wp_create_nonce( 'wam_save_settigns' ); ?>"><?php _e( 'Save', 'gonzales' ) ?></button>
|
31 |
</ul>
|
32 |
</div>
|
33 |
<div class="wam-float-panel__right">
|
34 |
+
<a class="wam-float-panel__reset wbcr-reset-button js-wam-reset-settings" href="<?php echo esc_url( wp_nonce_url( add_query_arg( [ 'wam_reset_settings' => 1 ] ), 'wam_reset_settings' ) ); ?>">
|
35 |
<?php _e( 'Reset', 'gonzales' ) ?>
|
36 |
</a>
|
37 |
<button id="wam-save-button" class="wam-float-panel__save js-wam-top-panel__save-button" data-nonce="<?php echo wp_create_nonce( 'wam_save_settigns' ); ?>"><?php _e( 'Save', 'gonzales' ) ?></button>
|
components/assets-manager/views/part-assets-manager-info-bar.php
CHANGED
@@ -22,10 +22,10 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
22 |
To enable the changes for other users, uncheck Safe mode.', 'gonzales' ) ?>
|
23 |
</p>
|
24 |
<p>
|
25 |
-
<?php echo sprintf( __( 'For more details and user guides, check the plugin’s <a href="%s" target="_blank" rel="noreferrer noopener">documentation</a>.', 'gonzales' ),
|
26 |
</p>
|
27 |
</div>
|
28 |
-
<a class="wbcr-gnz-button__pro" href="<?php echo
|
29 |
<?php _e( 'Upgrade to Premium', 'gonzales' ) ?></a>
|
30 |
<div class="wam-info-section__go-to-premium">
|
31 |
<h3>
|
22 |
To enable the changes for other users, uncheck Safe mode.', 'gonzales' ) ?>
|
23 |
</p>
|
24 |
<p>
|
25 |
+
<?php echo sprintf( __( 'For more details and user guides, check the plugin’s <a href="%s" target="_blank" rel="noreferrer noopener">documentation</a>.', 'gonzales' ), WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WGZ_Plugin::app()->getPluginName(), 'docs' ) ) ?>
|
26 |
</p>
|
27 |
</div>
|
28 |
+
<a class="wbcr-gnz-button__pro" href="<?php echo WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WGZ_Plugin::app()->getPluginName(), 'assets-manager' ) ?>" target="_blank" rel="noreferrer noopener">'
|
29 |
<?php _e( 'Upgrade to Premium', 'gonzales' ) ?></a>
|
30 |
<div class="wam-info-section__go-to-premium">
|
31 |
<h3>
|
components/assets-manager/views/part-tab-content-assets-plugins-settings.php
CHANGED
@@ -41,7 +41,7 @@ $plugin_name = $data['name'];
|
|
41 |
<?php if ( ! empty( $data['assets'] ) ): ?>
|
42 |
<?php foreach ( (array) $data['assets'] as $resource_type => $assets ): ?>
|
43 |
<?php foreach ( (array) $assets as $resource_handle => $item ): ?>
|
44 |
-
<tr data-size="<?php echo esc_attr( $item['size'] ); ?>" class="js-wam-asset js-wam-<?php echo esc_attr( $resource_type ); ?>-asset wam-table__asset-settings<?php echo $item['row_classes']; ?>" id="wam-table__loaded-resourse-<?php echo md5( $resource_handle . $resource_type . $item['url_full'] ); ?>">
|
45 |
<td class="wam-table__td-actions">
|
46 |
<select class="wam-select<?php echo $item['select_control_classes']; ?> js-wam-select-asset-load-mode"<?php disabled( 'enable' !== $data['load_mode'] ) ?>>
|
47 |
<option value="enable"<?php selected( 'enable', $item['load_mode'] ) ?>>
|
@@ -63,6 +63,20 @@ $plugin_name = $data['name'];
|
|
63 |
<a href="<?php echo esc_url( $item['url_full'] ); ?>">
|
64 |
<?php echo esc_html( $item['url_short'] ); ?>
|
65 |
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
</td>
|
67 |
<td class="wam-table__td-version"><?php echo esc_html( $item['ver'] ); ?></td>
|
68 |
<td class="wam-table__td-size"><?php echo esc_html( $item['size'] ); ?> KB</td>
|
41 |
<?php if ( ! empty( $data['assets'] ) ): ?>
|
42 |
<?php foreach ( (array) $data['assets'] as $resource_type => $assets ): ?>
|
43 |
<?php foreach ( (array) $assets as $resource_handle => $item ): ?>
|
44 |
+
<tr data-size="<?php echo esc_attr( $item['size'] ); ?>" data-asset-handle="<?php echo esc_attr( $resource_handle . '-' . $resource_type ); ?>" class="js-wam-asset js-wam-<?php echo esc_attr( $resource_type ); ?>-asset wam-table__asset-settings<?php echo $item['row_classes']; ?>" id="wam-table__loaded-resourse-<?php echo md5( $resource_handle . $resource_type . $item['url_full'] ); ?>">
|
45 |
<td class="wam-table__td-actions">
|
46 |
<select class="wam-select<?php echo $item['select_control_classes']; ?> js-wam-select-asset-load-mode"<?php disabled( 'enable' !== $data['load_mode'] ) ?>>
|
47 |
<option value="enable"<?php selected( 'enable', $item['load_mode'] ) ?>>
|
63 |
<a href="<?php echo esc_url( $item['url_full'] ); ?>">
|
64 |
<?php echo esc_html( $item['url_short'] ); ?>
|
65 |
</a>
|
66 |
+
<div class="wam-table__handle-deps">
|
67 |
+
<?php if ( ! empty( $item['deps'] ) ): ?>
|
68 |
+
<span class="wam-colors--grey"><?php _e( 'Dependency by', 'gonzales' ) ?></span>:
|
69 |
+
<span class="wam-table__asset-deps js-wam-table__asset-deps">
|
70 |
+
<?php echo implode( ', ', $item['deps'] ); ?>
|
71 |
+
</span><br>
|
72 |
+
<?php endif; ?>
|
73 |
+
<?php if ( ! empty( $item['requires'] ) ): ?>
|
74 |
+
<span class="wam-colors--red"><?php _e( 'Requires for', 'gonzales' ) ?></span>:
|
75 |
+
<span class="wam-table__asset-requires js-wam-table__asset-requires">
|
76 |
+
<?php echo implode( ', ', $item['requires'] ); ?>
|
77 |
+
</span>
|
78 |
+
<?php endif; ?>
|
79 |
+
</div>
|
80 |
</td>
|
81 |
<td class="wam-table__td-version"><?php echo esc_html( $item['ver'] ); ?></td>
|
82 |
<td class="wam-table__td-size"><?php echo esc_html( $item['size'] ); ?> KB</td>
|
components/assets-manager/views/tab-content-assets-plugins.php
CHANGED
@@ -26,7 +26,7 @@ $active_plugin = reset( $data['loaded_plugins'] );
|
|
26 |
<td class="wam-table__td-plugins-list">
|
27 |
<ul class="wam-nav-plugins">
|
28 |
<?php foreach ( (array) $data['loaded_plugins'] as $plugin_name => $plugin ): ?>
|
29 |
-
<li class="wam-nav-plugins__tab js-wam-nav-plugins__tab-switch<?php echo( $active_plugin['name'] == $plugin_name ? ' wam-nav-plugins__tab--active' : '' ) ?>">
|
30 |
<a href="#wam-<?php echo esc_attr( $plugin_name ); ?>">
|
31 |
<strong class="wam-plugin-name"><?php echo $plugin['info']['Title']; ?></strong>
|
32 |
<span><?php _e( 'Author', 'gonzales' ) ?>: <?php echo $plugin['info']['Author']; ?></span>
|
26 |
<td class="wam-table__td-plugins-list">
|
27 |
<ul class="wam-nav-plugins">
|
28 |
<?php foreach ( (array) $data['loaded_plugins'] as $plugin_name => $plugin ): ?>
|
29 |
+
<li class="wam-nav-plugins__tab wam-nav-plugins__tab-load-mode--<?php echo esc_attr( str_replace( '_', '-', $plugin['load_mode'] ) ); ?> js-wam-nav-plugins__tab-switch<?php echo( $active_plugin['name'] == $plugin_name ? ' wam-nav-plugins__tab--active' : '' ) ?>">
|
30 |
<a href="#wam-<?php echo esc_attr( $plugin_name ); ?>">
|
31 |
<strong class="wam-plugin-name"><?php echo $plugin['info']['Title']; ?></strong>
|
32 |
<span><?php _e( 'Author', 'gonzales' ) ?>: <?php echo $plugin['info']['Author']; ?></span>
|
components/assets-manager/views/tab-content-assets.php
CHANGED
@@ -24,7 +24,7 @@ if ( empty( $data['assets'] ) ) {
|
|
24 |
<?php if ( ! empty( $data['assets'] ) ): ?>
|
25 |
<?php foreach ( (array) $data['assets'] as $resource_type => $assets ): ?>
|
26 |
<?php foreach ( (array) $assets as $resource_handle => $item ): ?>
|
27 |
-
<tr data-size="<?php echo esc_attr( $item['size'] ); ?>" class="js-wam-asset js-wam-<?php echo esc_attr( $resource_type ); ?>-asset wam-table__asset-settings<?php echo $item['row_classes']; ?>" id="wam-table__loaded-resourse-<?php echo md5( $resource_handle . $resource_type . $item['url_full'] ); ?>">
|
28 |
<td class="wam-table__td-actions">
|
29 |
<select class="wam-select<?php echo $item['select_control_classes']; ?> js-wam-select-asset-load-mode">
|
30 |
<option value="enable"<?php selected( 'enable', $item['load_mode'] ) ?>>
|
@@ -46,6 +46,20 @@ if ( empty( $data['assets'] ) ) {
|
|
46 |
<a href="<?php echo esc_url( $item['url_full'] ); ?>">
|
47 |
<?php echo esc_html( $item['url_short'] ); ?>
|
48 |
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
</td>
|
50 |
<td class="wam-assets__table-td-version"><?php echo esc_html( $item['ver'] ); ?></td>
|
51 |
<td class="wam-assets__table-td-size"><?php echo esc_html( $item['size'] ); ?> KB</td>
|
24 |
<?php if ( ! empty( $data['assets'] ) ): ?>
|
25 |
<?php foreach ( (array) $data['assets'] as $resource_type => $assets ): ?>
|
26 |
<?php foreach ( (array) $assets as $resource_handle => $item ): ?>
|
27 |
+
<tr data-size="<?php echo esc_attr( $item['size'] ); ?>" data-asset-handle="<?php echo esc_attr( $resource_handle . '-' . $resource_type ); ?>" class="js-wam-asset js-wam-<?php echo esc_attr( $resource_type ); ?>-asset wam-table__asset-settings<?php echo $item['row_classes']; ?>" id="wam-table__loaded-resourse-<?php echo md5( $resource_handle . $resource_type . $item['url_full'] ); ?>">
|
28 |
<td class="wam-table__td-actions">
|
29 |
<select class="wam-select<?php echo $item['select_control_classes']; ?> js-wam-select-asset-load-mode">
|
30 |
<option value="enable"<?php selected( 'enable', $item['load_mode'] ) ?>>
|
46 |
<a href="<?php echo esc_url( $item['url_full'] ); ?>">
|
47 |
<?php echo esc_html( $item['url_short'] ); ?>
|
48 |
</a>
|
49 |
+
<div class="wam-table__handle-deps">
|
50 |
+
<?php if ( ! empty( $item['deps'] ) ): ?>
|
51 |
+
<span class="wam-colors--grey"><?php _e( 'Dependency by', 'gonzales' ) ?></span>:
|
52 |
+
<span class="wam-table__asset-deps js-wam-table__asset-deps">
|
53 |
+
<?php echo implode( ', ', $item['deps'] ); ?>
|
54 |
+
</span><br>
|
55 |
+
<?php endif; ?>
|
56 |
+
<?php if ( ! empty( $item['requires'] ) ): ?>
|
57 |
+
<span class="wam-colors--red"><?php _e( 'Requires for', 'gonzales' ) ?></span>:
|
58 |
+
<span class="wam-table__asset-requires js-wam-table__asset-requires">
|
59 |
+
<?php echo implode( ', ', $item['requires'] ); ?>
|
60 |
+
</span>
|
61 |
+
<?php endif; ?>
|
62 |
+
</div>
|
63 |
</td>
|
64 |
<td class="wam-assets__table-td-version"><?php echo esc_html( $item['ver'] ); ?></td>
|
65 |
<td class="wam-assets__table-td-size"><?php echo esc_html( $item['size'] ); ?> KB</td>
|
components/comments-plus/admin/boot.php
CHANGED
@@ -101,7 +101,7 @@ if ( ! defined( 'LOADING_COMMENTS_PLUS_AS_ADDON' ) ) {
|
|
101 |
return $page_url;
|
102 |
}
|
103 |
|
104 |
-
add_filter( '
|
105 |
|
106 |
/**
|
107 |
* Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
|
101 |
return $page_url;
|
102 |
}
|
103 |
|
104 |
+
add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', 'wbcr_cmp_rating_widget_url', 10, 2 );
|
105 |
|
106 |
/**
|
107 |
* Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
|
components/comments-plus/admin/pages/class-page-comments.php
CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
*
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
-
class WbcrCmp_CommentsPage extends
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
@@ -52,9 +52,9 @@ class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
52 |
*
|
53 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
54 |
*
|
55 |
-
* @param \
|
56 |
*/
|
57 |
-
public function __construct(
|
58 |
$this->menu_title = __( 'Disable comments', 'comments-plus' );
|
59 |
$this->page_menu_short_description = __( 'Manage site comments', 'comments-plus' );
|
60 |
|
16 |
*
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
+
class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy214_PageBase {
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
52 |
*
|
53 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
54 |
*
|
55 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
56 |
*/
|
57 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
58 |
$this->menu_title = __( 'Disable comments', 'comments-plus' );
|
59 |
$this->page_menu_short_description = __( 'Manage site comments', 'comments-plus' );
|
60 |
|
components/comments-plus/admin/pages/class-page-delete-comments.php
CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
*
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
-
class WbcrCmp_DeleteCommentsPage extends
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
@@ -66,9 +66,9 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
66 |
*
|
67 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
68 |
*
|
69 |
-
* @param \
|
70 |
*/
|
71 |
-
public function __construct(
|
72 |
$this->menu_title = __( 'Comments cleaner', 'comments-plus' );
|
73 |
|
74 |
parent::__construct( $plugin );
|
@@ -78,10 +78,10 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
78 |
* {@inheritDoc}
|
79 |
*
|
80 |
* @param $notices
|
81 |
-
* @param
|
82 |
*
|
83 |
* @return array
|
84 |
-
* @see libs\factory\pages\themplates\
|
85 |
*/
|
86 |
public function getActionNotices( $notices ) {
|
87 |
|
@@ -200,7 +200,7 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
200 |
/**
|
201 |
* Prints the content of the page
|
202 |
*
|
203 |
-
* @see libs\factory\pages\themplates\
|
204 |
*/
|
205 |
public function showPageContent() {
|
206 |
$stats = $this->getStats();
|
16 |
*
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
+
class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy214_PageBase {
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
66 |
*
|
67 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
68 |
*
|
69 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
70 |
*/
|
71 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
72 |
$this->menu_title = __( 'Comments cleaner', 'comments-plus' );
|
73 |
|
74 |
parent::__construct( $plugin );
|
78 |
* {@inheritDoc}
|
79 |
*
|
80 |
* @param $notices
|
81 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
82 |
*
|
83 |
* @return array
|
84 |
+
* @see libs\factory\pages\themplates\FactoryPages422_ImpressiveThemplate
|
85 |
*/
|
86 |
public function getActionNotices( $notices ) {
|
87 |
|
200 |
/**
|
201 |
* Prints the content of the page
|
202 |
*
|
203 |
+
* @see libs\factory\pages\themplates\FactoryPages422_ImpressiveThemplate
|
204 |
*/
|
205 |
public function showPageContent() {
|
206 |
$stats = $this->getStats();
|
components/comments-plus/admin/pages/class-page-more-features.php
CHANGED
@@ -19,6 +19,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
*
|
20 |
* @copyright (c) 2018 Webraftic Ltd
|
21 |
*/
|
22 |
-
class WbcrCmp_MoreFeaturesPage extends
|
23 |
|
24 |
}
|
19 |
*
|
20 |
* @copyright (c) 2018 Webraftic Ltd
|
21 |
*/
|
22 |
+
class WbcrCmp_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
|
23 |
|
24 |
}
|
components/comments-plus/comments-plus.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Text Domain: comments-plus
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
@@ -64,15 +64,15 @@ $wcm_plugin_info = array(
|
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
-
array( 'libs/factory/bootstrap', '
|
68 |
-
array( 'libs/factory/forms', '
|
69 |
-
array( 'libs/factory/pages', '
|
70 |
-
array( 'libs/factory/clearfy', '
|
71 |
-
array( 'libs/factory/adverts', '
|
72 |
)
|
73 |
);
|
74 |
|
75 |
-
$wcm_compatibility = new
|
76 |
'plugin_already_activate' => defined( 'WCM_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
8 |
* Text Domain: comments-plus
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
+
* Framework Version: FACTORY_422_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
68 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
69 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
70 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
71 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
72 |
)
|
73 |
);
|
74 |
|
75 |
+
$wcm_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wcm_plugin_info, array(
|
76 |
'plugin_already_activate' => defined( 'WCM_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
components/comments-plus/includes/class-plugin.php
CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
*/
|
13 |
-
class WCM_Plugin extends
|
14 |
|
15 |
/**
|
16 |
* @see self::app()
|
17 |
-
* @var
|
18 |
*/
|
19 |
private static $app;
|
20 |
|
@@ -59,7 +59,7 @@ class WCM_Plugin extends Wbcr_Factory421_Plugin {
|
|
59 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
60 |
* классам.
|
61 |
*
|
62 |
-
* @return \
|
63 |
*/
|
64 |
public static function app() {
|
65 |
return self::$app;
|
10 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
*/
|
13 |
+
class WCM_Plugin extends Wbcr_Factory422_Plugin {
|
14 |
|
15 |
/**
|
16 |
* @see self::app()
|
17 |
+
* @var Wbcr_Factory422_Plugin
|
18 |
*/
|
19 |
private static $app;
|
20 |
|
59 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
60 |
* классам.
|
61 |
*
|
62 |
+
* @return \Wbcr_Factory422_Plugin|\WCM_Plugin
|
63 |
*/
|
64 |
public static function app() {
|
65 |
return self::$app;
|
components/comments-plus/includes/classes/class-configurate-comments.php
CHANGED
@@ -12,14 +12,14 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
*
|
13 |
* @copyright (c) 2017 Webraftic Ltd
|
14 |
*/
|
15 |
-
class WbcrCmp_ConfigComments extends
|
16 |
|
17 |
private $modified_types = [];
|
18 |
|
19 |
/**
|
20 |
-
* @param
|
21 |
*/
|
22 |
-
public function __construct(
|
23 |
parent::__construct( $plugin );
|
24 |
$this->plugin = $plugin;
|
25 |
}
|
12 |
*
|
13 |
* @copyright (c) 2017 Webraftic Ltd
|
14 |
*/
|
15 |
+
class WbcrCmp_ConfigComments extends Wbcr_FactoryClearfy214_Configurate {
|
16 |
|
17 |
private $modified_types = [];
|
18 |
|
19 |
/**
|
20 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
21 |
*/
|
22 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
23 |
parent::__construct( $plugin );
|
24 |
$this->plugin = $plugin;
|
25 |
}
|
components/cyrlitera/admin/activation.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
*
|
6 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
* @copyright (c) 09.03.2018, Webcraftic
|
8 |
-
* @see
|
9 |
* @version 1.0
|
10 |
*/
|
11 |
|
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
class WCTR_Activation extends
|
18 |
|
19 |
/**
|
20 |
* Runs activation actions.
|
5 |
*
|
6 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
* @copyright (c) 09.03.2018, Webcraftic
|
8 |
+
* @see Wbcr_Factory422_Activator
|
9 |
* @version 1.0
|
10 |
*/
|
11 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
class WCTR_Activation extends Wbcr_Factory422_Activator {
|
18 |
|
19 |
/**
|
20 |
* Runs activation actions.
|
components/cyrlitera/admin/boot.php
CHANGED
@@ -135,7 +135,7 @@ if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
|
|
135 |
return $page_url;
|
136 |
}
|
137 |
|
138 |
-
add_filter( '
|
139 |
|
140 |
/**
|
141 |
* Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
|
135 |
return $page_url;
|
136 |
}
|
137 |
|
138 |
+
add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', 'wbcr_cyrlitera_rating_widget_url', 10, 2 );
|
139 |
|
140 |
/**
|
141 |
* Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
|
components/cyrlitera/admin/pages/class-page-cyrlitera.php
CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
* @copyright (c) 2018 Webraftic Ltd
|
17 |
* @version 1.0
|
18 |
*/
|
19 |
-
class WCTR_CyrliteraPage extends
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
@@ -59,9 +59,9 @@ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
59 |
*
|
60 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
61 |
*
|
62 |
-
* @param \
|
63 |
*/
|
64 |
-
public function __construct(
|
65 |
$this->menu_title = __( 'Cyrlitera', 'cyrlitera' );
|
66 |
|
67 |
if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
|
@@ -202,7 +202,7 @@ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
202 |
}
|
203 |
|
204 |
/**
|
205 |
-
* @param $html_builder
|
206 |
*/
|
207 |
public function rollbackButton( $html_builder ) {
|
208 |
$form_name = $html_builder->getFormName();
|
16 |
* @copyright (c) 2018 Webraftic Ltd
|
17 |
* @version 1.0
|
18 |
*/
|
19 |
+
class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy214_PageBase {
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
59 |
*
|
60 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
61 |
*
|
62 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
63 |
*/
|
64 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
65 |
$this->menu_title = __( 'Cyrlitera', 'cyrlitera' );
|
66 |
|
67 |
if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
|
202 |
}
|
203 |
|
204 |
/**
|
205 |
+
* @param $html_builder Wbcr_FactoryForms420_Html
|
206 |
*/
|
207 |
public function rollbackButton( $html_builder ) {
|
208 |
$form_name = $html_builder->getFormName();
|
components/cyrlitera/admin/pages/class-page-more-features.php
CHANGED
@@ -18,6 +18,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
19 |
* @copyright (c) 2018 Webraftic Ltd
|
20 |
*/
|
21 |
-
class WCTR_MoreFeaturesPage extends
|
22 |
|
23 |
}
|
18 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
19 |
* @copyright (c) 2018 Webraftic Ltd
|
20 |
*/
|
21 |
+
class WCTR_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
|
22 |
|
23 |
}
|
components/cyrlitera/cyrlitera.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Text Domain: cyrlitera
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
@@ -64,15 +64,15 @@ $wctr_plugin_info = array(
|
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
-
array( 'libs/factory/bootstrap', '
|
68 |
-
array( 'libs/factory/forms', '
|
69 |
-
array( 'libs/factory/pages', '
|
70 |
-
array( 'libs/factory/clearfy', '
|
71 |
-
array( 'libs/factory/adverts', '
|
72 |
)
|
73 |
);
|
74 |
|
75 |
-
$wctr_compatibility = new
|
76 |
'plugin_already_activate' => defined( 'WCTR_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
8 |
* Text Domain: cyrlitera
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
+
* Framework Version: FACTORY_422_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
68 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
69 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
70 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
71 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
72 |
)
|
73 |
);
|
74 |
|
75 |
+
$wctr_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wctr_plugin_info, array(
|
76 |
'plugin_already_activate' => defined( 'WCTR_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
components/cyrlitera/includes/class-plugin.php
CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
*/
|
13 |
-
class WCTR_Plugin extends
|
14 |
|
15 |
/**
|
16 |
* @see self::app()
|
17 |
-
* @var
|
18 |
*/
|
19 |
private static $app;
|
20 |
|
@@ -57,7 +57,7 @@ class WCTR_Plugin extends Wbcr_Factory421_Plugin {
|
|
57 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
58 |
* классам.
|
59 |
*
|
60 |
-
* @return \
|
61 |
*/
|
62 |
public static function app() {
|
63 |
return self::$app;
|
10 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
*/
|
13 |
+
class WCTR_Plugin extends Wbcr_Factory422_Plugin {
|
14 |
|
15 |
/**
|
16 |
* @see self::app()
|
17 |
+
* @var Wbcr_Factory422_Plugin
|
18 |
*/
|
19 |
private static $app;
|
20 |
|
57 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
58 |
* классам.
|
59 |
*
|
60 |
+
* @return \Wbcr_Factory422_Plugin|\WCTR_Plugin
|
61 |
*/
|
62 |
public static function app() {
|
63 |
return self::$app;
|
components/cyrlitera/includes/classes/class-configurate-cyrlitera.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
class WCTR_ConfigurateCyrlitera extends
|
16 |
|
17 |
public function registerActionsAndFilters() {
|
18 |
|
@@ -235,7 +235,7 @@ class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy213_Configurate {
|
|
235 |
* Перенаправление со старых url, которые были уже преобразованы
|
236 |
*/
|
237 |
public function redirectFromOldUrls() {
|
238 |
-
if ( !
|
239 |
return;
|
240 |
}
|
241 |
$is404 = is_404();
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy214_Configurate {
|
16 |
|
17 |
public function registerActionsAndFilters() {
|
18 |
|
235 |
* Перенаправление со старых url, которые были уже преобразованы
|
236 |
*/
|
237 |
public function redirectFromOldUrls() {
|
238 |
+
if ( ! WbcrFactoryClearfy214_Helpers::isPermalink() ) {
|
239 |
return;
|
240 |
}
|
241 |
$is404 = is_404();
|
components/cyrlitera/migrations/010004.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 WCTR_Update010004 extends
|
8 |
|
9 |
public function install() {
|
10 |
WCTR_Plugin::app()->deletePopulateOption( 'custom_symbols_pack' );
|
4 |
* Updates for altering the table used to store statistics data.
|
5 |
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
*/
|
7 |
+
class WCTR_Update010004 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
WCTR_Plugin::app()->deletePopulateOption( 'custom_symbols_pack' );
|
components/disable-admin-notices/admin/boot.php
CHANGED
@@ -44,7 +44,7 @@ if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
|
|
44 |
*
|
45 |
* @return string
|
46 |
*/
|
47 |
-
add_filter( '
|
48 |
if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
|
49 |
return 'https://goo.gl/68ucHp';
|
50 |
}
|
44 |
*
|
45 |
* @return string
|
46 |
*/
|
47 |
+
add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
|
48 |
if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
|
49 |
return 'https://goo.gl/68ucHp';
|
50 |
}
|
components/disable-admin-notices/admin/options.php
CHANGED
@@ -131,7 +131,7 @@ function wbcr_dan_get_plugin_options() {
|
|
131 |
* с настройками этого плагина, потому что это ухудшает юзабилити.
|
132 |
*
|
133 |
* @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
|
134 |
-
* @param
|
135 |
*
|
136 |
* @return mixed Отсортированный массив с группой опций
|
137 |
*/
|
@@ -161,7 +161,7 @@ add_filter( 'wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_op
|
|
161 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
162 |
* @since 1.0
|
163 |
*
|
164 |
-
* @param @param $html_builder
|
165 |
*/
|
166 |
function wbcr_dan_reset_notices_button( $html_builder ) {
|
167 |
global $wpdb;
|
131 |
* с настройками этого плагина, потому что это ухудшает юзабилити.
|
132 |
*
|
133 |
* @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
|
134 |
+
* @param Wbcr_FactoryPages422_ImpressiveThemplate $page Экземпляр страницы
|
135 |
*
|
136 |
* @return mixed Отсортированный массив с группой опций
|
137 |
*/
|
161 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
162 |
* @since 1.0
|
163 |
*
|
164 |
+
* @param @param $html_builder Wbcr_FactoryForms420_Html
|
165 |
*/
|
166 |
function wbcr_dan_reset_notices_button( $html_builder ) {
|
167 |
global $wpdb;
|
components/disable-admin-notices/admin/pages/class-pages-more-features.php
CHANGED
@@ -22,6 +22,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
22 |
exit;
|
23 |
}
|
24 |
|
25 |
-
class WDN_MoreFeaturesPage extends
|
26 |
|
27 |
}
|
22 |
exit;
|
23 |
}
|
24 |
|
25 |
+
class WDN_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
|
26 |
|
27 |
}
|
components/disable-admin-notices/admin/pages/class-pages-notices.php
CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
19 |
exit;
|
20 |
}
|
21 |
|
22 |
-
class WDN_NoticesPage extends
|
23 |
|
24 |
/**
|
25 |
* {@inheritDoc}
|
@@ -52,9 +52,9 @@ class WDN_NoticesPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
52 |
|
53 |
|
54 |
/**
|
55 |
-
* @param
|
56 |
*/
|
57 |
-
public function __construct(
|
58 |
$this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
|
59 |
|
60 |
$this->internal = false;
|
@@ -86,7 +86,7 @@ class WDN_NoticesPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
86 |
'wbcr_dan_code' => 'interal_error'
|
87 |
),
|
88 |
'type' => 'danger',
|
89 |
-
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', '
|
90 |
);*/
|
91 |
|
92 |
return $notices;
|
19 |
exit;
|
20 |
}
|
21 |
|
22 |
+
class WDN_NoticesPage extends Wbcr_FactoryClearfy214_PageBase {
|
23 |
|
24 |
/**
|
25 |
* {@inheritDoc}
|
52 |
|
53 |
|
54 |
/**
|
55 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
56 |
*/
|
57 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
58 |
$this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
|
59 |
|
60 |
$this->internal = false;
|
86 |
'wbcr_dan_code' => 'interal_error'
|
87 |
),
|
88 |
'type' => 'danger',
|
89 |
+
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_422')
|
90 |
);*/
|
91 |
|
92 |
return $notices;
|
components/disable-admin-notices/disable-admin-notices.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Text Domain: disable-admin-notices
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
/**
|
@@ -64,15 +64,15 @@ $wdan_plugin_info = array(
|
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
-
array( 'libs/factory/bootstrap', '
|
68 |
-
array( 'libs/factory/forms', '
|
69 |
-
array( 'libs/factory/pages', '
|
70 |
-
array( 'libs/factory/clearfy', '
|
71 |
-
array( 'libs/factory/adverts', '
|
72 |
)
|
73 |
);
|
74 |
|
75 |
-
$wdan_compatibility = new
|
76 |
'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
8 |
* Text Domain: disable-admin-notices
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
+
* Framework Version: FACTORY_422_VERSION
|
12 |
*/
|
13 |
|
14 |
/**
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
68 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
69 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
70 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
71 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
72 |
)
|
73 |
);
|
74 |
|
75 |
+
$wdan_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wdan_plugin_info, array(
|
76 |
'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
components/disable-admin-notices/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,7 +44,7 @@ class WDN_Plugin extends Wbcr_Factory421_Plugin {
|
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
-
* @return
|
48 |
*/
|
49 |
public static function app() {
|
50 |
return self::$app;
|
9 |
*/
|
10 |
|
11 |
// Exit if accessed directly
|
12 |
+
//use WBCR\Factory_Adverts_104\Base;
|
13 |
|
14 |
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
+
class WDN_Plugin extends Wbcr_Factory422_Plugin {
|
19 |
|
20 |
/**
|
21 |
+
* @var Wbcr_Factory422_Plugin
|
22 |
*/
|
23 |
private static $app;
|
24 |
private $plugin_data;
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
+
* @return Wbcr_Factory422_Plugin
|
48 |
*/
|
49 |
public static function app() {
|
50 |
return self::$app;
|
components/disable-admin-notices/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_FactoryClearfy214_Configurate {
|
19 |
|
20 |
public function registerActionsAndFilters() {
|
21 |
if ( is_admin() ) {
|
components/disable-admin-notices/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_Factory422_Update {
|
8 |
|
9 |
public function install()
|
10 |
{
|
components/ga-cache/admin/activation.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
*
|
6 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
* @copyright (c) 09.09.2017, Webcraftic
|
8 |
-
* @see
|
9 |
* @version 1.0
|
10 |
*/
|
11 |
|
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
class WGA_Activation extends
|
18 |
|
19 |
/**
|
20 |
* Runs activation actions.
|
5 |
*
|
6 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
* @copyright (c) 09.09.2017, Webcraftic
|
8 |
+
* @see Factory422_Activator
|
9 |
* @version 1.0
|
10 |
*/
|
11 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
class WGA_Activation extends Wbcr_Factory422_Activator {
|
18 |
|
19 |
/**
|
20 |
* Runs activation actions.
|
components/ga-cache/admin/boot.php
CHANGED
@@ -23,13 +23,13 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
23 |
*
|
24 |
* @since 3.0.1
|
25 |
*
|
26 |
-
* @param
|
27 |
*
|
28 |
-
* @param
|
29 |
*
|
30 |
* @return void
|
31 |
*/
|
32 |
-
add_action( '
|
33 |
if ( WGA_Plugin::app()->getPluginName() != $plugin->getPluginName() ) {
|
34 |
return;
|
35 |
}
|
23 |
*
|
24 |
* @since 3.0.1
|
25 |
*
|
26 |
+
* @param Wbcr_FactoryPages422_ImpressiveThemplate $page
|
27 |
*
|
28 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
29 |
*
|
30 |
* @return void
|
31 |
*/
|
32 |
+
add_action( 'wbcr_factory_422_imppage_after_form_save', function ( $plugin, $page ) {
|
33 |
if ( WGA_Plugin::app()->getPluginName() != $plugin->getPluginName() ) {
|
34 |
return;
|
35 |
}
|
components/ga-cache/admin/options.php
CHANGED
@@ -117,7 +117,7 @@ function wbcr_ga_get_plugin_options() {
|
|
117 |
|
118 |
/**
|
119 |
* @param $form
|
120 |
-
* @param $page
|
121 |
*
|
122 |
* @return mixed
|
123 |
*/
|
117 |
|
118 |
/**
|
119 |
* @param $form
|
120 |
+
* @param $page Wbcr_FactoryPages422_ImpressiveThemplate
|
121 |
*
|
122 |
* @return mixed
|
123 |
*/
|
components/ga-cache/admin/pages/class-pages-general-settings.php
CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
* @copyright (c) 2018 Webraftic Ltd
|
17 |
* @version 1.0
|
18 |
*/
|
19 |
-
class WGA_CachePage extends
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
@@ -48,9 +48,9 @@ class WGA_CachePage extends Wbcr_FactoryClearfy213_PageBase {
|
|
48 |
public $show_right_sidebar_in_options = true;
|
49 |
|
50 |
/**
|
51 |
-
* @param
|
52 |
*/
|
53 |
-
public function __construct(
|
54 |
$this->menu_title = __( 'Local Google Analytics', 'simple-google-analytics' );
|
55 |
|
56 |
if ( ! defined( 'LOADING_GA_CACHE_AS_ADDON' ) ) {
|
16 |
* @copyright (c) 2018 Webraftic Ltd
|
17 |
* @version 1.0
|
18 |
*/
|
19 |
+
class WGA_CachePage extends Wbcr_FactoryClearfy214_PageBase {
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
48 |
public $show_right_sidebar_in_options = true;
|
49 |
|
50 |
/**
|
51 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
52 |
*/
|
53 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
54 |
$this->menu_title = __( 'Local Google Analytics', 'simple-google-analytics' );
|
55 |
|
56 |
if ( ! defined( 'LOADING_GA_CACHE_AS_ADDON' ) ) {
|
components/ga-cache/admin/pages/class-pages-more-features.php
CHANGED
@@ -16,6 +16,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
-
class WGA_MoreFeaturesPage extends
|
20 |
|
21 |
}
|
16 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
+
class WGA_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
|
20 |
|
21 |
}
|
components/ga-cache/includes/class-plugin.php
CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
*/
|
13 |
-
class WGA_Plugin extends
|
14 |
|
15 |
/**
|
16 |
* @see self::app()
|
17 |
-
* @var
|
18 |
*/
|
19 |
private static $app;
|
20 |
|
@@ -58,7 +58,7 @@ class WGA_Plugin extends Wbcr_Factory421_Plugin {
|
|
58 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
59 |
* классам.
|
60 |
*
|
61 |
-
* @return \
|
62 |
*/
|
63 |
public static function app() {
|
64 |
return self::$app;
|
10 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
*/
|
13 |
+
class WGA_Plugin extends Wbcr_Factory422_Plugin {
|
14 |
|
15 |
/**
|
16 |
* @see self::app()
|
17 |
+
* @var Wbcr_Factory422_Plugin
|
18 |
*/
|
19 |
private static $app;
|
20 |
|
58 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
59 |
* классам.
|
60 |
*
|
61 |
+
* @return \Wbcr_Factory422_Plugin|\WGA_Plugin
|
62 |
*/
|
63 |
public static function app() {
|
64 |
return self::$app;
|
components/ga-cache/includes/classes/class-configurate-ga.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
class WGA_ConfigGACache extends
|
16 |
|
17 |
|
18 |
public function registerActionsAndFilters() {
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WGA_ConfigGACache extends Wbcr_FactoryClearfy214_Configurate {
|
16 |
|
17 |
|
18 |
public function registerActionsAndFilters() {
|
components/ga-cache/migrations/030002.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 WGACUpdate030002 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 WGACUpdate030002 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
/**
|
components/ga-cache/simple_google_analytics.php
CHANGED
@@ -63,15 +63,15 @@ $plugin_info = array(
|
|
63 |
|
64 |
// FRAMEWORK MODULES
|
65 |
'load_factory_modules' => array(
|
66 |
-
array( 'libs/factory/bootstrap', '
|
67 |
-
array( 'libs/factory/forms', '
|
68 |
-
array( 'libs/factory/pages', '
|
69 |
-
array( 'libs/factory/clearfy', '
|
70 |
-
array( 'libs/factory/adverts', '
|
71 |
)
|
72 |
);
|
73 |
|
74 |
-
$wga_compatibility = new
|
75 |
'plugin_already_activate' => defined( 'WGA_PLUGIN_ACTIVE' ),
|
76 |
'required_php_version' => '5.4',
|
77 |
'required_wp_version' => '4.2.0',
|
63 |
|
64 |
// FRAMEWORK MODULES
|
65 |
'load_factory_modules' => array(
|
66 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
67 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
68 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
69 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
70 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
71 |
)
|
72 |
);
|
73 |
|
74 |
+
$wga_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $plugin_info, array(
|
75 |
'plugin_already_activate' => defined( 'WGA_PLUGIN_ACTIVE' ),
|
76 |
'required_php_version' => '5.4',
|
77 |
'required_wp_version' => '4.2.0',
|
components/html-minify/admin/pages/class-pages-settings.php
CHANGED
@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
9 |
*
|
10 |
* @since 1.0.0
|
11 |
*/
|
12 |
-
class WHTM_SettingsPage extends
|
13 |
|
14 |
/**
|
15 |
* {@inheritDoc}
|
@@ -52,9 +52,9 @@ class WHTM_SettingsPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
52 |
*
|
53 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
54 |
*
|
55 |
-
* @param \
|
56 |
*/
|
57 |
-
public function __construct(
|
58 |
// Заголовок страницы
|
59 |
$this->menu_title = __( 'HTML Minify', 'html-minify' );
|
60 |
|
9 |
*
|
10 |
* @since 1.0.0
|
11 |
*/
|
12 |
+
class WHTM_SettingsPage extends Wbcr_FactoryClearfy214_PageBase {
|
13 |
|
14 |
/**
|
15 |
* {@inheritDoc}
|
52 |
*
|
53 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
54 |
*
|
55 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
56 |
*/
|
57 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
58 |
// Заголовок страницы
|
59 |
$this->menu_title = __( 'HTML Minify', 'html-minify' );
|
60 |
|
components/html-minify/html-minify.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Text Domain: html-minify
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -59,15 +59,15 @@ $whtml_plugin_info = array(
|
|
59 |
|
60 |
// FRAMEWORK MODULES
|
61 |
'load_factory_modules' => array(
|
62 |
-
array( 'libs/factory/bootstrap', '
|
63 |
-
array( 'libs/factory/forms', '
|
64 |
-
array( 'libs/factory/pages', '
|
65 |
-
array( 'libs/factory/clearfy', '
|
66 |
-
array( 'libs/factory/adverts', '
|
67 |
)
|
68 |
);
|
69 |
|
70 |
-
$whtml_compatibility = new
|
71 |
'plugin_already_activate' => defined( 'WHTM_PLUGIN_ACTIVE' ),
|
72 |
'required_php_version' => '5.4',
|
73 |
'required_wp_version' => '4.2.0',
|
8 |
* Text Domain: html-minify
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
+
* Framework Version: FACTORY_422_VERSION
|
12 |
*/
|
13 |
|
14 |
/*
|
59 |
|
60 |
// FRAMEWORK MODULES
|
61 |
'load_factory_modules' => array(
|
62 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
63 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
64 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
65 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
66 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
67 |
)
|
68 |
);
|
69 |
|
70 |
+
$whtml_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $whtml_plugin_info, array(
|
71 |
'plugin_already_activate' => defined( 'WHTM_PLUGIN_ACTIVE' ),
|
72 |
'required_php_version' => '5.4',
|
73 |
'required_wp_version' => '4.2.0',
|
components/html-minify/includes/class-plugin.php
CHANGED
@@ -13,11 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
}
|
14 |
|
15 |
|
16 |
-
class WHTM_Plugin extends
|
17 |
|
18 |
/**
|
19 |
* @see self::app()
|
20 |
-
* @var
|
21 |
*/
|
22 |
private static $app;
|
23 |
|
@@ -53,7 +53,7 @@ class WHTM_Plugin extends Wbcr_Factory421_Plugin {
|
|
53 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
54 |
* классам.
|
55 |
*
|
56 |
-
* @return \
|
57 |
*/
|
58 |
public static function app() {
|
59 |
return self::$app;
|
13 |
}
|
14 |
|
15 |
|
16 |
+
class WHTM_Plugin extends Wbcr_Factory422_Plugin {
|
17 |
|
18 |
/**
|
19 |
* @see self::app()
|
20 |
+
* @var Wbcr_Factory422_Plugin
|
21 |
*/
|
22 |
private static $app;
|
23 |
|
53 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
54 |
* классам.
|
55 |
*
|
56 |
+
* @return \Wbcr_Factory422_Plugin|\WCM_Plugin
|
57 |
*/
|
58 |
public static function app() {
|
59 |
return self::$app;
|
components/minify-and-combine/admin/pages/class-pages-settings.php
CHANGED
@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
9 |
*
|
10 |
* @since 1.0.0
|
11 |
*/
|
12 |
-
class WMAC_MinifyAndCombineSettingsPage extends
|
13 |
|
14 |
/**
|
15 |
* {@inheritDoc}
|
@@ -52,9 +52,9 @@ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy213_PageBase
|
|
52 |
*
|
53 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
54 |
*
|
55 |
-
* @param \
|
56 |
*/
|
57 |
-
public function __construct(
|
58 |
$this->menu_title = __( 'Minify (JS/CSS)', 'minify-and-combine' );
|
59 |
|
60 |
if ( ! defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ) {
|
9 |
*
|
10 |
* @since 1.0.0
|
11 |
*/
|
12 |
+
class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy214_PageBase {
|
13 |
|
14 |
/**
|
15 |
* {@inheritDoc}
|
52 |
*
|
53 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
54 |
*
|
55 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
56 |
*/
|
57 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
58 |
$this->menu_title = __( 'Minify (JS/CSS)', 'minify-and-combine' );
|
59 |
|
60 |
if ( ! defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ) {
|
components/minify-and-combine/includes/class-plugin.php
CHANGED
@@ -13,11 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
}
|
14 |
|
15 |
|
16 |
-
class WMAC_Plugin extends
|
17 |
|
18 |
/**
|
19 |
* @see self::app()
|
20 |
-
* @var
|
21 |
*/
|
22 |
private static $app;
|
23 |
|
@@ -55,7 +55,7 @@ class WMAC_Plugin extends Wbcr_Factory421_Plugin {
|
|
55 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
56 |
* классам.
|
57 |
*
|
58 |
-
* @return \
|
59 |
*/
|
60 |
public static function app() {
|
61 |
return self::$app;
|
13 |
}
|
14 |
|
15 |
|
16 |
+
class WMAC_Plugin extends Wbcr_Factory422_Plugin {
|
17 |
|
18 |
/**
|
19 |
* @see self::app()
|
20 |
+
* @var Wbcr_Factory422_Plugin
|
21 |
*/
|
22 |
private static $app;
|
23 |
|
55 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
56 |
* классам.
|
57 |
*
|
58 |
+
* @return \Wbcr_Factory422_Plugin|\WCM_Plugin
|
59 |
*/
|
60 |
public static function app() {
|
61 |
return self::$app;
|
components/minify-and-combine/includes/classes/class-cache.php
CHANGED
@@ -385,7 +385,7 @@ class WMAC_PluginCache {
|
|
385 |
}
|
386 |
}
|
387 |
add_action( 'shutdown', 'wmac_do_cachepurged_action', 11 );
|
388 |
-
add_action( 'wmac_action_cachepurged', [ '
|
389 |
}
|
390 |
|
391 |
// Warm cache (part of speedupper)!
|
385 |
}
|
386 |
}
|
387 |
add_action( 'shutdown', 'wmac_do_cachepurged_action', 11 );
|
388 |
+
add_action( 'wmac_action_cachepurged', [ 'WbcrFactoryClearfy214_Helpers', 'flushPageCache' ], 10, 0 );
|
389 |
}
|
390 |
|
391 |
// Warm cache (part of speedupper)!
|
components/minify-and-combine/includes/classes/class-styles.php
CHANGED
@@ -810,9 +810,9 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
|
|
810 |
|
811 |
// Adds preload polyfill at end of body tag.
|
812 |
$this->injectInHtml( apply_filters( 'wmac_css_preload_polyfill', $preload_polyfill ), [
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
}
|
817 |
}
|
818 |
|
@@ -1011,7 +1011,7 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
|
|
1011 |
* @return string
|
1012 |
*/
|
1013 |
public function getAoCssPreloadPolyfill() {
|
1014 |
-
$preload_poly = apply_filters( '
|
1015 |
|
1016 |
return $preload_poly;
|
1017 |
}
|
810 |
|
811 |
// Adds preload polyfill at end of body tag.
|
812 |
$this->injectInHtml( apply_filters( 'wmac_css_preload_polyfill', $preload_polyfill ), [
|
813 |
+
'</body>',
|
814 |
+
'before'
|
815 |
+
] );
|
816 |
}
|
817 |
}
|
818 |
|
1011 |
* @return string
|
1012 |
*/
|
1013 |
public function getAoCssPreloadPolyfill() {
|
1014 |
+
$preload_poly = apply_filters( 'wmac_filter_css_preload_polyfill', '<script data-cfasync=\'false\'>!function(t){"use strict";t.loadCSS||(t.loadCSS=function(){});var e=loadCSS.relpreload={};if(e.support=function(){var e;try{e=t.document.createElement("link").relList.supports("preload")}catch(t){e=!1}return function(){return e}}(),e.bindMediaToggle=function(t){function e(){t.media=a}var a=t.media||"all";t.addEventListener?t.addEventListener("load",e):t.attachEvent&&t.attachEvent("onload",e),setTimeout(function(){t.rel="stylesheet",t.media="only x"}),setTimeout(e,3e3)},e.poly=function(){if(!e.support())for(var a=t.document.getElementsByTagName("link"),n=0;n<a.length;n++){var o=a[n];"preload"!==o.rel||"style"!==o.getAttribute("as")||o.getAttribute("data-loadcss")||(o.setAttribute("data-loadcss",!0),e.bindMediaToggle(o))}},!e.support()){e.poly();var a=t.setInterval(e.poly,500);t.addEventListener?t.addEventListener("load",function(){e.poly(),t.clearInterval(a)}):t.attachEvent&&t.attachEvent("onload",function(){e.poly(),t.clearInterval(a)})}"undefined"!=typeof exports?exports.loadCSS=loadCSS:t.loadCSS=loadCSS}("undefined"!=typeof global?global:this);</script>' );
|
1015 |
|
1016 |
return $preload_poly;
|
1017 |
}
|
components/minify-and-combine/minify-and-combine.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Text Domain: minify-and-combine
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -59,15 +59,15 @@ $wmac_plugin_info = array(
|
|
59 |
|
60 |
// FRAMEWORK MODULES
|
61 |
'load_factory_modules' => array(
|
62 |
-
array( 'libs/factory/bootstrap', '
|
63 |
-
array( 'libs/factory/forms', '
|
64 |
-
array( 'libs/factory/pages', '
|
65 |
-
array( 'libs/factory/clearfy', '
|
66 |
-
array( 'libs/factory/adverts', '
|
67 |
)
|
68 |
);
|
69 |
|
70 |
-
$wmac_compatibility = new
|
71 |
'plugin_already_activate' => defined( 'WMAC_PLUGIN_ACTIVE' ),
|
72 |
'required_php_version' => '5.4',
|
73 |
'required_wp_version' => '4.2.0',
|
8 |
* Text Domain: minify-and-combine
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
+
* Framework Version: FACTORY_422_VERSION
|
12 |
*/
|
13 |
|
14 |
/*
|
59 |
|
60 |
// FRAMEWORK MODULES
|
61 |
'load_factory_modules' => array(
|
62 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
63 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
64 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
65 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
66 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
67 |
)
|
68 |
);
|
69 |
|
70 |
+
$wmac_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wmac_plugin_info, array(
|
71 |
'plugin_already_activate' => defined( 'WMAC_PLUGIN_ACTIVE' ),
|
72 |
'required_php_version' => '5.4',
|
73 |
'required_wp_version' => '4.2.0',
|
components/updates-manager/admin/activation.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
*
|
6 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
* @copyright (c) 09.09.2017, Webcraftic
|
8 |
-
* @see
|
9 |
*/
|
10 |
|
11 |
// Exit if accessed directly
|
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
class WUPM_Activation extends
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
5 |
*
|
6 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
7 |
* @copyright (c) 09.09.2017, Webcraftic
|
8 |
+
* @see Factory422_Activator
|
9 |
*/
|
10 |
|
11 |
// Exit if accessed directly
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
class WUPM_Activation extends Wbcr_Factory422_Activator {
|
17 |
|
18 |
/**
|
19 |
* Runs activation actions.
|
components/updates-manager/admin/assets/js/ajax-components.js
CHANGED
@@ -59,15 +59,15 @@ jQuery(function($) {
|
|
59 |
|
60 |
if( !response || !response.success ) {
|
61 |
if( response.data.error_message ) {
|
62 |
-
$.
|
63 |
}
|
64 |
return false;
|
65 |
}
|
66 |
|
67 |
-
/*var noticeId = $.
|
68 |
|
69 |
setTimeout(function() {
|
70 |
-
$.
|
71 |
}, 5000);*/
|
72 |
},
|
73 |
error: function(xhr, ajaxOptions, thrownError) {
|
@@ -75,7 +75,7 @@ jQuery(function($) {
|
|
75 |
console.log(xhr.responseText);
|
76 |
console.log(thrownError);
|
77 |
|
78 |
-
$.
|
79 |
}
|
80 |
});
|
81 |
});
|
59 |
|
60 |
if( !response || !response.success ) {
|
61 |
if( response.data.error_message ) {
|
62 |
+
$.wbcr_factory_clearfy_214.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
|
63 |
}
|
64 |
return false;
|
65 |
}
|
66 |
|
67 |
+
/*var noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Settings successfully updated', 'success');
|
68 |
|
69 |
setTimeout(function() {
|
70 |
+
$.wbcr_factory_clearfy_214.app.hideNotice(noticeId);
|
71 |
}, 5000);*/
|
72 |
},
|
73 |
error: function(xhr, ajaxOptions, thrownError) {
|
75 |
console.log(xhr.responseText);
|
76 |
console.log(thrownError);
|
77 |
|
78 |
+
$.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
79 |
}
|
80 |
});
|
81 |
});
|
components/updates-manager/admin/boot.php
CHANGED
@@ -48,7 +48,7 @@ if ( ! defined( 'LOADING_UPDATES_MANAGER_AS_ADDON' ) ) {
|
|
48 |
return $page_url;
|
49 |
}
|
50 |
|
51 |
-
add_filter( '
|
52 |
|
53 |
/**
|
54 |
* Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
|
48 |
return $page_url;
|
49 |
}
|
50 |
|
51 |
+
add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', 'wbcr_upm_rating_widget_url', 10, 2 );
|
52 |
|
53 |
/**
|
54 |
* Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
|
components/updates-manager/admin/includes/class-abstract-filters.php
CHANGED
@@ -14,7 +14,7 @@ abstract class WUPM_AbstractFilters {
|
|
14 |
protected $is_disable_translation_updates;
|
15 |
|
16 |
|
17 |
-
function __construct(
|
18 |
$this->plugin = $plugin;
|
19 |
$this->load();
|
20 |
}
|
14 |
protected $is_disable_translation_updates;
|
15 |
|
16 |
|
17 |
+
function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
18 |
$this->plugin = $plugin;
|
19 |
$this->load();
|
20 |
}
|
components/updates-manager/admin/pages/class-page-advanced.php
CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
-
class WUPM_AdvancedPage extends
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
@@ -66,9 +66,9 @@ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
66 |
*
|
67 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
68 |
*
|
69 |
-
* @param \
|
70 |
*/
|
71 |
-
public function __construct(
|
72 |
$this->menu_title = __( 'Advanced', 'webcraftic-updates-manager' );
|
73 |
|
74 |
parent::__construct( $plugin );
|
@@ -79,8 +79,8 @@ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
79 |
*
|
80 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
81 |
*
|
82 |
-
* @param \
|
83 |
-
* @param \
|
84 |
*/
|
85 |
public function assets( $scripts, $styles ) {
|
86 |
parent::assets( $scripts, $styles );
|
16 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
+
class WUPM_AdvancedPage extends Wbcr_FactoryClearfy214_PageBase {
|
20 |
|
21 |
/**
|
22 |
* {@inheritDoc}
|
66 |
*
|
67 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
68 |
*
|
69 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
70 |
*/
|
71 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
72 |
$this->menu_title = __( 'Advanced', 'webcraftic-updates-manager' );
|
73 |
|
74 |
parent::__construct( $plugin );
|
79 |
*
|
80 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
81 |
*
|
82 |
+
* @param \Wbcr_Factory422_ScriptList $scripts
|
83 |
+
* @param \Wbcr_Factory422_StyleList $styles
|
84 |
*/
|
85 |
public function assets( $scripts, $styles ) {
|
86 |
parent::assets( $scripts, $styles );
|
components/updates-manager/admin/pages/class-page-more-features.php
CHANGED
@@ -16,6 +16,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
-
class WUPM_MoreFeaturesPage extends
|
20 |
|
21 |
}
|
16 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
+
class WUPM_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
|
20 |
|
21 |
}
|
components/updates-manager/admin/pages/class-page-plugins.php
CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
*
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
-
class WUPM_PluginsPage extends
|
20 |
|
21 |
/**
|
22 |
*{@inheritDoc}
|
@@ -83,9 +83,9 @@ class WUPM_PluginsPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
83 |
*
|
84 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
85 |
*
|
86 |
-
* @param \
|
87 |
*/
|
88 |
-
public function __construct(
|
89 |
$this->menu_title = __( 'Plugins', 'webcraftic-updates-manager' );
|
90 |
|
91 |
parent::__construct( $plugin );
|
@@ -121,8 +121,8 @@ class WUPM_PluginsPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
121 |
*
|
122 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
123 |
*
|
124 |
-
* @param \
|
125 |
-
* @param \
|
126 |
*/
|
127 |
public function assets( $scripts, $styles ) {
|
128 |
parent::assets( $scripts, $styles );
|
16 |
*
|
17 |
* @copyright (c) 2018 Webraftic Ltd
|
18 |
*/
|
19 |
+
class WUPM_PluginsPage extends Wbcr_FactoryClearfy214_PageBase {
|
20 |
|
21 |
/**
|
22 |
*{@inheritDoc}
|
83 |
*
|
84 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
85 |
*
|
86 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
87 |
*/
|
88 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
89 |
$this->menu_title = __( 'Plugins', 'webcraftic-updates-manager' );
|
90 |
|
91 |
parent::__construct( $plugin );
|
121 |
*
|
122 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
123 |
*
|
124 |
+
* @param \Wbcr_Factory422_ScriptList $scripts
|
125 |
+
* @param \Wbcr_Factory422_StyleList $styles
|
126 |
*/
|
127 |
public function assets( $scripts, $styles ) {
|
128 |
parent::assets( $scripts, $styles );
|
components/updates-manager/admin/pages/class-page-themes.php
CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
16 |
* @copyright (c) 2018 Webraftic Ltd
|
17 |
*/
|
18 |
-
class WUPM_ThemesPage extends
|
19 |
|
20 |
/**
|
21 |
* {@inheritDoc}
|
@@ -85,9 +85,9 @@ class WUPM_ThemesPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
85 |
private $themes_update_filters = [];
|
86 |
|
87 |
/**
|
88 |
-
* @param
|
89 |
*/
|
90 |
-
public function __construct(
|
91 |
$this->menu_title = __( 'Themes', 'webcraftic-updates-manager' );
|
92 |
|
93 |
parent::__construct( $plugin );
|
@@ -123,7 +123,7 @@ class WUPM_ThemesPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
123 |
*
|
124 |
* @since 1.0.0
|
125 |
* @return void
|
126 |
-
* @see
|
127 |
*
|
128 |
*/
|
129 |
public function assets( $scripts, $styles ) {
|
15 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
16 |
* @copyright (c) 2018 Webraftic Ltd
|
17 |
*/
|
18 |
+
class WUPM_ThemesPage extends Wbcr_FactoryClearfy214_PageBase {
|
19 |
|
20 |
/**
|
21 |
* {@inheritDoc}
|
85 |
private $themes_update_filters = [];
|
86 |
|
87 |
/**
|
88 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
89 |
*/
|
90 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
91 |
$this->menu_title = __( 'Themes', 'webcraftic-updates-manager' );
|
92 |
|
93 |
parent::__construct( $plugin );
|
123 |
*
|
124 |
* @since 1.0.0
|
125 |
* @return void
|
126 |
+
* @see FactoryPages422_AdminPage
|
127 |
*
|
128 |
*/
|
129 |
public function assets( $scripts, $styles ) {
|
components/updates-manager/admin/pages/class-page-updates.php
CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
16 |
* @copyright (c) 2018 Webraftic Ltd
|
17 |
*/
|
18 |
-
class WUPM_UpdatesPage extends
|
19 |
|
20 |
/**
|
21 |
* {@inheritDoc}
|
@@ -51,9 +51,9 @@ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
51 |
*
|
52 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
53 |
*
|
54 |
-
* @param \
|
55 |
*/
|
56 |
-
public function __construct(
|
57 |
$this->menu_title = __( 'Updates manager', 'webcraftic-updates-manager' );
|
58 |
$this->page_menu_short_description = __( 'Manage all site updates', 'webcraftic-updates-manager' );
|
59 |
|
@@ -85,8 +85,8 @@ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy213_PageBase {
|
|
85 |
*
|
86 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com> *
|
87 |
*
|
88 |
-
* @param \
|
89 |
-
* @param \
|
90 |
*/
|
91 |
public function assets( $scripts, $styles ) {
|
92 |
parent::assets( $scripts, $styles );
|
15 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
16 |
* @copyright (c) 2018 Webraftic Ltd
|
17 |
*/
|
18 |
+
class WUPM_UpdatesPage extends Wbcr_FactoryClearfy214_PageBase {
|
19 |
|
20 |
/**
|
21 |
* {@inheritDoc}
|
51 |
*
|
52 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
53 |
*
|
54 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
55 |
*/
|
56 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
57 |
$this->menu_title = __( 'Updates manager', 'webcraftic-updates-manager' );
|
58 |
$this->page_menu_short_description = __( 'Manage all site updates', 'webcraftic-updates-manager' );
|
59 |
|
85 |
*
|
86 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com> *
|
87 |
*
|
88 |
+
* @param \Wbcr_Factory422_ScriptList $scripts
|
89 |
+
* @param \Wbcr_Factory422_StyleList $styles
|
90 |
*/
|
91 |
public function assets( $scripts, $styles ) {
|
92 |
parent::assets( $scripts, $styles );
|
components/updates-manager/includes/class-plugin.php
CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
*/
|
13 |
-
class WUPM_Plugin extends
|
14 |
|
15 |
/**
|
16 |
* @see self::app()
|
17 |
-
* @var
|
18 |
*/
|
19 |
private static $app;
|
20 |
|
@@ -57,7 +57,7 @@ class WUPM_Plugin extends Wbcr_Factory421_Plugin {
|
|
57 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
58 |
* классам.
|
59 |
*
|
60 |
-
* @return \
|
61 |
*/
|
62 |
public static function app() {
|
63 |
return self::$app;
|
10 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
11 |
* @copyright (c) 19.02.2018, Webcraftic
|
12 |
*/
|
13 |
+
class WUPM_Plugin extends Wbcr_Factory422_Plugin {
|
14 |
|
15 |
/**
|
16 |
* @see self::app()
|
17 |
+
* @var Wbcr_Factory422_Plugin
|
18 |
*/
|
19 |
private static $app;
|
20 |
|
57 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
58 |
* классам.
|
59 |
*
|
60 |
+
* @return \Wbcr_Factory422_Plugin|\WUPM_Plugin
|
61 |
*/
|
62 |
public static function app() {
|
63 |
return self::$app;
|
components/updates-manager/includes/classes/class-configurate-updates.php
CHANGED
@@ -12,7 +12,7 @@ require_once WUPM_PLUGIN_DIR . '/admin/includes/class-plugin-filters.php';
|
|
12 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
13 |
* @copyright (c) 2017 Webraftic Ltd
|
14 |
*/
|
15 |
-
class WUPM_ConfigUpdates extends
|
16 |
|
17 |
public function registerActionsAndFilters() {
|
18 |
/**
|
12 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
13 |
* @copyright (c) 2017 Webraftic Ltd
|
14 |
*/
|
15 |
+
class WUPM_ConfigUpdates extends Wbcr_FactoryClearfy214_Configurate {
|
16 |
|
17 |
public function registerActionsAndFilters() {
|
18 |
/**
|
components/updates-manager/migrations/010008.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 WUPMUpdate010008 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 WUPMUpdate010008 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install()
|
10 |
{
|
components/updates-manager/webcraftic-updates-manager.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Text Domain: webcraftic-updates-manager
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
-
* Framework Version:
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
@@ -64,15 +64,15 @@ $wupm_plugin_info = array(
|
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
-
array( 'libs/factory/bootstrap', '
|
68 |
-
array( 'libs/factory/forms', '
|
69 |
-
array( 'libs/factory/pages', '
|
70 |
-
array( 'libs/factory/clearfy', '
|
71 |
-
array( 'libs/factory/adverts', '
|
72 |
)
|
73 |
);
|
74 |
|
75 |
-
$wupm_compatibility = new
|
76 |
'plugin_already_activate' => defined( 'WUPM_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
8 |
* Text Domain: webcraftic-updates-manager
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: https://webcraftic.com
|
11 |
+
* Framework Version: FACTORY_422_VERSION
|
12 |
*/
|
13 |
|
14 |
// Exit if accessed directly
|
64 |
|
65 |
// FRAMEWORK MODULES
|
66 |
'load_factory_modules' => array(
|
67 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
|
68 |
+
array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
|
69 |
+
array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
|
70 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
|
71 |
+
array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
|
72 |
)
|
73 |
);
|
74 |
|
75 |
+
$wupm_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wupm_plugin_info, array(
|
76 |
'plugin_already_activate' => defined( 'WUPM_PLUGIN_ACTIVE' ),
|
77 |
'required_php_version' => '5.4',
|
78 |
'required_wp_version' => '4.2.0',
|
includes/boot.php
CHANGED
@@ -54,7 +54,7 @@ function wbcr_clr_admin_bar_menu( $wp_admin_bar ) {
|
|
54 |
* @since 1.1.3 - добавлен
|
55 |
* @since 1.1.4 - является устаревшим
|
56 |
*/
|
57 |
-
$menu_items =
|
58 |
|
59 |
/**
|
60 |
* @since 1.1.3 - добавлен
|
@@ -65,7 +65,7 @@ function wbcr_clr_admin_bar_menu( $wp_admin_bar ) {
|
|
65 |
$menu_items['clearfy-docs'] = [
|
66 |
'id' => 'clearfy-docs',
|
67 |
'title' => '<span class="dashicons dashicons-book"></span> ' . __( 'Documentation', 'gonzales' ),
|
68 |
-
'href' =>
|
69 |
];
|
70 |
|
71 |
$menu_items['clearfy-rating'] = [
|
@@ -76,14 +76,14 @@ function wbcr_clr_admin_bar_menu( $wp_admin_bar ) {
|
|
76 |
$menu_items['clearfy-support'] = [
|
77 |
'id' => 'clearfy-rating',
|
78 |
'title' => '<span class="dashicons dashicons-sos"></span> ' . __( 'Getting started free support', 'gonzales' ),
|
79 |
-
'href' =>
|
80 |
];
|
81 |
|
82 |
if ( ! WCL_Plugin::app()->premium->is_activate() ) {
|
83 |
$menu_items['clearfy-premium'] = [
|
84 |
'id' => 'clearfy-premium',
|
85 |
'title' => '<span class="dashicons dashicons-star-filled"></span> ' . __( 'Upgrade to premium', 'gonzales' ),
|
86 |
-
'href' =>
|
87 |
];
|
88 |
}
|
89 |
|
54 |
* @since 1.1.3 - добавлен
|
55 |
* @since 1.1.4 - является устаревшим
|
56 |
*/
|
57 |
+
$menu_items = wbcr_factory_422_apply_filters_deprecated( 'wbcr_clearfy_admin_bar_menu_items', [ $menu_items ], '1.4.0', 'wbcr/clearfy/adminbar_menu_items' );
|
58 |
|
59 |
/**
|
60 |
* @since 1.1.3 - добавлен
|
65 |
$menu_items['clearfy-docs'] = [
|
66 |
'id' => 'clearfy-docs',
|
67 |
'title' => '<span class="dashicons dashicons-book"></span> ' . __( 'Documentation', 'gonzales' ),
|
68 |
+
'href' => WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'docs', 'adminbar_menu' )
|
69 |
];
|
70 |
|
71 |
$menu_items['clearfy-rating'] = [
|
76 |
$menu_items['clearfy-support'] = [
|
77 |
'id' => 'clearfy-rating',
|
78 |
'title' => '<span class="dashicons dashicons-sos"></span> ' . __( 'Getting started free support', 'gonzales' ),
|
79 |
+
'href' => WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'support', 'adminbar_menu' )
|
80 |
];
|
81 |
|
82 |
if ( ! WCL_Plugin::app()->premium->is_activate() ) {
|
83 |
$menu_items['clearfy-premium'] = [
|
84 |
'id' => 'clearfy-premium',
|
85 |
'title' => '<span class="dashicons dashicons-star-filled"></span> ' . __( 'Upgrade to premium', 'gonzales' ),
|
86 |
+
'href' => WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'pricing', 'adminbar_menu' )
|
87 |
];
|
88 |
}
|
89 |
|
includes/class.plugin.php
CHANGED
@@ -12,11 +12,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
class WCL_Plugin extends
|
16 |
|
17 |
/**
|
18 |
* @see self::app()
|
19 |
-
* @var
|
20 |
*/
|
21 |
private static $app;
|
22 |
|
@@ -70,7 +70,7 @@ class WCL_Plugin extends Wbcr_Factory421_Plugin {
|
|
70 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
71 |
* классам.
|
72 |
*
|
73 |
-
* @return \
|
74 |
*/
|
75 |
public static function app() {
|
76 |
return self::$app;
|
@@ -113,6 +113,10 @@ class WCL_Plugin extends Wbcr_Factory421_Plugin {
|
|
113 |
}
|
114 |
}
|
115 |
|
|
|
|
|
|
|
|
|
116 |
return $load_components;
|
117 |
}
|
118 |
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WCL_Plugin extends Wbcr_Factory422_Plugin {
|
16 |
|
17 |
/**
|
18 |
* @see self::app()
|
19 |
+
* @var Wbcr_Factory422_Plugin
|
20 |
*/
|
21 |
private static $app;
|
22 |
|
70 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
71 |
* классам.
|
72 |
*
|
73 |
+
* @return \Wbcr_Factory422_Plugin|\WCL_Plugin
|
74 |
*/
|
75 |
public static function app() {
|
76 |
return self::$app;
|
113 |
}
|
114 |
}
|
115 |
|
116 |
+
if ( is_plugin_active( 'gonzales/gonzales.php' ) ) {
|
117 |
+
unset( $load_components['assets_manager'] );
|
118 |
+
}
|
119 |
+
|
120 |
return $load_components;
|
121 |
}
|
122 |
|
includes/classes/class.configurate-advanced.php
CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WCL_ConfigAdvanced extends
|
15 |
|
16 |
/**
|
17 |
* @param WCL_Plugin $plugin
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WCL_ConfigAdvanced extends Wbcr_FactoryClearfy214_Configurate {
|
15 |
|
16 |
/**
|
17 |
* @param WCL_Plugin $plugin
|
includes/classes/class.configurate-google-performance.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
class WCL_ConfigGooglePerformance extends
|
16 |
|
17 |
/**
|
18 |
* @param WCL_Plugin $plugin
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WCL_ConfigGooglePerformance extends Wbcr_FactoryClearfy214_Configurate {
|
16 |
|
17 |
/**
|
18 |
* @param WCL_Plugin $plugin
|
includes/classes/class.configurate-performance.php
CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
-
class WCL_ConfigPerformance extends
|
16 |
|
17 |
/**
|
18 |
* @param WCL_Plugin $plugin
|
12 |
exit;
|
13 |
}
|
14 |
|
15 |
+
class WCL_ConfigPerformance extends Wbcr_FactoryClearfy214_Configurate {
|
16 |
|
17 |
/**
|
18 |
* @param WCL_Plugin $plugin
|
includes/classes/class.configurate-privacy.php
CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
class WCL_ConfigPrivacy extends
|
17 |
|
18 |
/**
|
19 |
* @param WCL_Plugin $plugin
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
class WCL_ConfigPrivacy extends Wbcr_FactoryClearfy214_Configurate {
|
17 |
|
18 |
/**
|
19 |
* @param WCL_Plugin $plugin
|
includes/classes/class.configurate-security.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
class WCL_ConfigSecurity extends
|
15 |
|
16 |
/**
|
17 |
* @param WCL_Plugin $plugin
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
class WCL_ConfigSecurity extends Wbcr_FactoryClearfy214_Configurate {
|
15 |
|
16 |
/**
|
17 |
* @param WCL_Plugin $plugin
|
includes/classes/class.configurate-seo.php
CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
class WCL_ConfigSeo extends
|
17 |
|
18 |
/**
|
19 |
* @param WCL_Plugin $plugin
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
class WCL_ConfigSeo extends Wbcr_FactoryClearfy214_Configurate {
|
17 |
|
18 |
/**
|
19 |
* @param WCL_Plugin $plugin
|
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_104\Base;
|
4 |
|
5 |
/**
|
6 |
* Factory Adverts
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if ( defined( 'FACTORY_ADVERTS_104_LOADED' ) || ( defined( 'FACTORY_ADVERTS_BLOCK' ) && FACTORY_ADVERTS_BLOCK ) ) {
|
24 |
return;
|
25 |
}
|
26 |
|
27 |
# Устанавливаем константу, что модуль уже загружен
|
28 |
+
define( 'FACTORY_ADVERTS_104_LOADED', true );
|
29 |
|
30 |
# Устанавливаем версию модуля
|
31 |
+
define( 'FACTORY_ADVERTS_104_VERSION', '1.0.4' );
|
32 |
|
33 |
# Регистрируем тектовый домен, для интернализации интерфейса модуля
|
34 |
+
load_plugin_textdomain( 'wbcr_factory_adverts_104', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
|
35 |
|
36 |
# Устанавливаем директорию модуля
|
37 |
+
define( 'FACTORY_ADVERTS_104_DIR', dirname( __FILE__ ) );
|
38 |
|
39 |
# Устанавливаем url модуля
|
40 |
+
define( 'FACTORY_ADVERTS_104_URL', plugins_url( null, __FILE__ ) );
|
41 |
|
42 |
+
require_once( FACTORY_ADVERTS_104_DIR . '/includes/class-rest-request.php' );
|
43 |
+
require_once( FACTORY_ADVERTS_104_DIR . '/includes/class-base.php' );
|
44 |
|
45 |
/**
|
46 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
47 |
*/
|
48 |
+
add_action( 'wbcr_factory_adverts_104_plugin_created', function ( $plugin ) {
|
49 |
+
$plugin->set_adverts_manager( "WBCR\Factory_Adverts_104\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_104;
|
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_Factory422_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_104\Creative_Motion_API
|
57 |
*/
|
58 |
private $api;
|
59 |
|
82 |
*
|
83 |
* @since 1.0.0 Added
|
84 |
*
|
85 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
86 |
*/
|
87 |
+
public function __construct( \Wbcr_Factory422_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_104_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_104;
|
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_Factory422_Plugin
|
39 |
*/
|
40 |
private $plugin;
|
41 |
|
46 |
*
|
47 |
* @since 1.0.0 Added
|
48 |
*
|
49 |
+
* @param \Wbcr_Factory422_Plugin $plugin
|
50 |
* @param string $content
|
51 |
*/
|
52 |
+
public function __construct( \Wbcr_Factory422_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 |
|
@@ -77,9 +77,9 @@ class Creative_Motion_API {
|
|
77 |
*
|
78 |
* @since 1.0.0 Added
|
79 |
*
|
80 |
-
* @param \
|
81 |
*/
|
82 |
-
public function __construct( \
|
83 |
$this->plugin = $plugin;
|
84 |
}
|
85 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Adverts_104;
|
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_Factory422_Plugin
|
69 |
*/
|
70 |
private $plugin;
|
71 |
|
77 |
*
|
78 |
* @since 1.0.0 Added
|
79 |
*
|
80 |
+
* @param \Wbcr_Factory422_Plugin $plugin_name
|
81 |
*/
|
82 |
+
public function __construct( \Wbcr_Factory422_Plugin $plugin ) {
|
83 |
$this->plugin = $plugin;
|
84 |
}
|
85 |
|
libs/factory/adverts/langs/{wbcr_factory_adverts_103-ru_RU.mo → wbcr_factory_adverts_104-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/adverts/langs/{wbcr_factory_adverts_103-ru_RU.po → wbcr_factory_adverts_104-ru_RU.po}
RENAMED
File without changes
|
libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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-423 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-423 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-423 .factory-accordion-item{display:none}.factory-bootstrap-423 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-423 .factory-accordion>h3.active:hover{cursor:default}
|
libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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-423 .btn-primary:focus,.factory-bootstrap-423 .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-423 .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-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-423 .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-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
|
libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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-423 .btn-primary:focus,.factory-bootstrap-423 .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-423 .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-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-423 .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-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
|
libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-422 article,.factory-bootstrap-422 aside,.factory-bootstrap-422 details,.factory-bootstrap-422 figcaption,.factory-bootstrap-422 figure,.factory-bootstrap-422 footer,.factory-bootstrap-422 header,.factory-bootstrap-422 hgroup,.factory-bootstrap-422 main,.factory-bootstrap-422 nav,.factory-bootstrap-422 section,.factory-bootstrap-422 summary{display:block}.factory-bootstrap-422 audio,.factory-bootstrap-422 canvas,.factory-bootstrap-422 video{display:inline-block}.factory-bootstrap-422 audio:not([controls]){display:none;height:0}.factory-bootstrap-422 [hidden],.factory-bootstrap-422 template{display:none}.factory-bootstrap-422 body{margin:0}.factory-bootstrap-422 a{background:0 0}.factory-bootstrap-422 a:focus{outline:thin dotted}.factory-bootstrap-422 a:active,.factory-bootstrap-422 a:hover{outline:0}.factory-bootstrap-422 h1{margin:.67em 0}.factory-bootstrap-422 b,.factory-bootstrap-422 strong{font-weight:700}.factory-bootstrap-422 dfn{font-style:italic}.factory-bootstrap-422 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-422 mark{color:#000;background:#ff0}.factory-bootstrap-422 code,.factory-bootstrap-422 kbd,.factory-bootstrap-422 pre,.factory-bootstrap-422 samp{font-size:1em}.factory-bootstrap-422 pre{white-space:pre-wrap}.factory-bootstrap-422 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-422 sub,.factory-bootstrap-422 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-422 sup{top:-.5em}.factory-bootstrap-422 sub{bottom:-.25em}.factory-bootstrap-422 img{border:0}.factory-bootstrap-422 svg:not(:root){overflow:hidden}.factory-bootstrap-422 figure{margin:0}.factory-bootstrap-422 button,.factory-bootstrap-422 input,.factory-bootstrap-422 select,.factory-bootstrap-422 textarea{margin:0}.factory-bootstrap-422 button,.factory-bootstrap-422 select{text-transform:none}.factory-bootstrap-422 select{padding-right:4px!important}.factory-bootstrap-422 button,.factory-bootstrap-422 input[type=reset],.factory-bootstrap-422 input[type=submit],html .factory-bootstrap-422 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-422 button[disabled],html .factory-bootstrap-422 input[disabled]{cursor:default}.factory-bootstrap-422 input[type=checkbox],.factory-bootstrap-422 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-422 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-422 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-422 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-422 button::-moz-focus-inner,.factory-bootstrap-422 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-422 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-422 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-422 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-422 a,.factory-bootstrap-422 a:visited{text-decoration:underline}.factory-bootstrap-422 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-422 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-422 a[href^="javascript:"]:after,.factory-bootstrap-422 a[href^="#"]:after{content:""}.factory-bootstrap-422 blockquote,.factory-bootstrap-422 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-422 thead{display:table-header-group}.factory-bootstrap-422 img,.factory-bootstrap-422 tr{page-break-inside:avoid}.factory-bootstrap-422 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-422 h2,.factory-bootstrap-422 h3,.factory-bootstrap-422 p{orphans:3;widows:3}.factory-bootstrap-422 h2,.factory-bootstrap-422 h3{page-break-after:avoid}.factory-bootstrap-422 select{background:#fff!important}.factory-bootstrap-422 .navbar{display:none}.factory-bootstrap-422 .table td,.factory-bootstrap-422 .table th{background-color:#fff!important}.factory-bootstrap-422 .btn>.caret,.factory-bootstrap-422 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-422 .label{border:1px solid #000}.factory-bootstrap-422 .table{border-collapse:collapse!important}.factory-bootstrap-422 .table-bordered td,.factory-bootstrap-422 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-422 *,.factory-bootstrap-422 :after,.factory-bootstrap-422 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-422{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-422 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-422 button,.factory-bootstrap-422 input,.factory-bootstrap-422 select,.factory-bootstrap-422 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-422 img{vertical-align:middle}.factory-bootstrap-422 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-422 .img-rounded{border-radius:6px}.factory-bootstrap-422 .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-422 .img-circle{border-radius:50%}.factory-bootstrap-422 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-422 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-422 .h1,.factory-bootstrap-422 .h2,.factory-bootstrap-422 .h3,.factory-bootstrap-422 .h4,.factory-bootstrap-422 .h5,.factory-bootstrap-422 .h6,.factory-bootstrap-422 h1,.factory-bootstrap-422 h2,.factory-bootstrap-422 h3,.factory-bootstrap-422 h4,.factory-bootstrap-422 h5,.factory-bootstrap-422 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-422 .h1 .small,.factory-bootstrap-422 .h1 small,.factory-bootstrap-422 .h2 .small,.factory-bootstrap-422 .h2 small,.factory-bootstrap-422 .h3 .small,.factory-bootstrap-422 .h3 small,.factory-bootstrap-422 .h4 .small,.factory-bootstrap-422 .h4 small,.factory-bootstrap-422 .h5 .small,.factory-bootstrap-422 .h5 small,.factory-bootstrap-422 .h6 .small,.factory-bootstrap-422 .h6 small,.factory-bootstrap-422 h1 .small,.factory-bootstrap-422 h1 small,.factory-bootstrap-422 h2 .small,.factory-bootstrap-422 h2 small,.factory-bootstrap-422 h3 .small,.factory-bootstrap-422 h3 small,.factory-bootstrap-422 h4 .small,.factory-bootstrap-422 h4 small,.factory-bootstrap-422 h5 .small,.factory-bootstrap-422 h5 small,.factory-bootstrap-422 h6 .small,.factory-bootstrap-422 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-422 h1,.factory-bootstrap-422 h2,.factory-bootstrap-422 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-422 h1 .small,.factory-bootstrap-422 h1 small,.factory-bootstrap-422 h2 .small,.factory-bootstrap-422 h2 small,.factory-bootstrap-422 h3 .small,.factory-bootstrap-422 h3 small{font-size:65%}.factory-bootstrap-422 h4,.factory-bootstrap-422 h5,.factory-bootstrap-422 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-422 h4 .small,.factory-bootstrap-422 h4 small,.factory-bootstrap-422 h5 .small,.factory-bootstrap-422 h5 small,.factory-bootstrap-422 h6 .small,.factory-bootstrap-422 h6 small{font-size:75%}.factory-bootstrap-422 .h1,.factory-bootstrap-422 h1{font-size:36px}.factory-bootstrap-422 .h2,.factory-bootstrap-422 h2{font-size:30px}.factory-bootstrap-422 .h3,.factory-bootstrap-422 h3{font-size:24px}.factory-bootstrap-422 .h4,.factory-bootstrap-422 h4{font-size:18px}.factory-bootstrap-422 .h5,.factory-bootstrap-422 h5{font-size:14px}.factory-bootstrap-422 .h6,.factory-bootstrap-422 h6{font-size:12px}.factory-bootstrap-422 p{margin:0 0 10px}.factory-bootstrap-422 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-422 .small,.factory-bootstrap-422 small{font-size:85%}.factory-bootstrap-422 cite{font-style:normal}.factory-bootstrap-422 .text-muted{color:#999}.factory-bootstrap-422 .text-primary{color:#428bca}.factory-bootstrap-422 .text-primary:hover{color:#3071a9}.factory-bootstrap-422 .text-warning{color:#8a6d3b}.factory-bootstrap-422 .text-warning:hover{color:#66512c}.factory-bootstrap-422 .text-danger{color:#a94442}.factory-bootstrap-422 .text-danger:hover{color:#843534}.factory-bootstrap-422 .text-success{color:#3c763d}.factory-bootstrap-422 .text-success:hover{color:#2b542c}.factory-bootstrap-422 .text-info{color:#31708f}.factory-bootstrap-422 .text-info:hover{color:#245269}.factory-bootstrap-422 .text-left{text-align:left}.factory-bootstrap-422 .text-right{text-align:right}.factory-bootstrap-422 .text-center{text-align:center}.factory-bootstrap-422 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-422 ol,.factory-bootstrap-422 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-422 ol ol,.factory-bootstrap-422 ol ul,.factory-bootstrap-422 ul ol,.factory-bootstrap-422 ul ul{margin-bottom:0}.factory-bootstrap-422 .list-inline,.factory-bootstrap-422 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-422 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-422 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-422 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-422 dd,.factory-bootstrap-422 dt{line-height:1.428571429}.factory-bootstrap-422 dt{font-weight:700}.factory-bootstrap-422 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-422 abbr[data-original-title],.factory-bootstrap-422 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-422 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-422 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-422 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-422 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-422 blockquote .small,.factory-bootstrap-422 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-422 blockquote .small:before,.factory-bootstrap-422 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-422 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-422 blockquote.pull-right .small,.factory-bootstrap-422 blockquote.pull-right p,.factory-bootstrap-422 blockquote.pull-right small{text-align:right}.factory-bootstrap-422 blockquote.pull-right .small:before,.factory-bootstrap-422 blockquote.pull-right small:before{content:''}.factory-bootstrap-422 blockquote.pull-right .small:after,.factory-bootstrap-422 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-422 blockquote:after,.factory-bootstrap-422 blockquote:before{content:""}.factory-bootstrap-422 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-422 code,.factory-bootstrap-422 kbd,.factory-bootstrap-422 pre,.factory-bootstrap-422 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-422 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-422 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-422 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-422 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-422 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-422 .container:after,.factory-bootstrap-422 .container:before{display:table;content:" "}.factory-bootstrap-422 .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-422 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-422 .row:after,.factory-bootstrap-422 .row:before{display:table;content:" "}.factory-bootstrap-422 .row:after{clear:both}.factory-bootstrap-422 .col-lg-1,.factory-bootstrap-422 .col-lg-10,.factory-bootstrap-422 .col-lg-11,.factory-bootstrap-422 .col-lg-12,.factory-bootstrap-422 .col-lg-2,.factory-bootstrap-422 .col-lg-3,.factory-bootstrap-422 .col-lg-4,.factory-bootstrap-422 .col-lg-5,.factory-bootstrap-422 .col-lg-6,.factory-bootstrap-422 .col-lg-7,.factory-bootstrap-422 .col-lg-8,.factory-bootstrap-422 .col-lg-9,.factory-bootstrap-422 .col-md-1,.factory-bootstrap-422 .col-md-10,.factory-bootstrap-422 .col-md-11,.factory-bootstrap-422 .col-md-12,.factory-bootstrap-422 .col-md-2,.factory-bootstrap-422 .col-md-3,.factory-bootstrap-422 .col-md-4,.factory-bootstrap-422 .col-md-5,.factory-bootstrap-422 .col-md-6,.factory-bootstrap-422 .col-md-7,.factory-bootstrap-422 .col-md-8,.factory-bootstrap-422 .col-md-9,.factory-bootstrap-422 .col-sm-1,.factory-bootstrap-422 .col-sm-10,.factory-bootstrap-422 .col-sm-11,.factory-bootstrap-422 .col-sm-12,.factory-bootstrap-422 .col-sm-2,.factory-bootstrap-422 .col-sm-3,.factory-bootstrap-422 .col-sm-4,.factory-bootstrap-422 .col-sm-5,.factory-bootstrap-422 .col-sm-6,.factory-bootstrap-422 .col-sm-7,.factory-bootstrap-422 .col-sm-8,.factory-bootstrap-422 .col-sm-9,.factory-bootstrap-422 .col-xs-1,.factory-bootstrap-422 .col-xs-10,.factory-bootstrap-422 .col-xs-11,.factory-bootstrap-422 .col-xs-12,.factory-bootstrap-422 .col-xs-2,.factory-bootstrap-422 .col-xs-3,.factory-bootstrap-422 .col-xs-4,.factory-bootstrap-422 .col-xs-5,.factory-bootstrap-422 .col-xs-6,.factory-bootstrap-422 .col-xs-7,.factory-bootstrap-422 .col-xs-8,.factory-bootstrap-422 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-422 .col-xs-1,.factory-bootstrap-422 .col-xs-10,.factory-bootstrap-422 .col-xs-11,.factory-bootstrap-422 .col-xs-12,.factory-bootstrap-422 .col-xs-2,.factory-bootstrap-422 .col-xs-3,.factory-bootstrap-422 .col-xs-4,.factory-bootstrap-422 .col-xs-5,.factory-bootstrap-422 .col-xs-6,.factory-bootstrap-422 .col-xs-7,.factory-bootstrap-422 .col-xs-8,.factory-bootstrap-422 .col-xs-9{float:left}.factory-bootstrap-422 .col-xs-12{width:100%}.factory-bootstrap-422 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-422 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-422 .col-xs-9{width:75%}.factory-bootstrap-422 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-422 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-422 .col-xs-6{width:50%}.factory-bootstrap-422 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-422 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-422 .col-xs-3{width:25%}.factory-bootstrap-422 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-422 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-422 .col-xs-pull-12{right:100%}.factory-bootstrap-422 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-422 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-422 .col-xs-pull-9{right:75%}.factory-bootstrap-422 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-422 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-422 .col-xs-pull-6{right:50%}.factory-bootstrap-422 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-422 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-422 .col-xs-pull-3{right:25%}.factory-bootstrap-422 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-422 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-422 .col-xs-pull-0{right:0}.factory-bootstrap-422 .col-xs-push-12{left:100%}.factory-bootstrap-422 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-422 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-422 .col-xs-push-9{left:75%}.factory-bootstrap-422 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-422 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-422 .col-xs-push-6{left:50%}.factory-bootstrap-422 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-422 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-422 .col-xs-push-3{left:25%}.factory-bootstrap-422 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-422 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-422 .col-xs-push-0{left:0}.factory-bootstrap-422 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-422 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-422 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-422 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-422 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-422 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-422 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-422 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-422 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-422 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-422 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-422 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-422 .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-422 table{max-width:100%;background-color:transparent}.factory-bootstrap-422 th{text-align:left}.factory-bootstrap-422 .table{width:100%;margin-bottom:20px}.factory-bootstrap-422 .table>tbody>tr>td,.factory-bootstrap-422 .table>tbody>tr>th,.factory-bootstrap-422 .table>tfoot>tr>td,.factory-bootstrap-422 .table>tfoot>tr>th,.factory-bootstrap-422 .table>thead>tr>td,.factory-bootstrap-422 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-422 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-422 .table>caption+thead>tr:first-child>td,.factory-bootstrap-422 .table>caption+thead>tr:first-child>th,.factory-bootstrap-422 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-422 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-422 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-422 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-422 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-422 .table .table{background-color:#fff}.factory-bootstrap-422 .table-condensed>tbody>tr>td,.factory-bootstrap-422 .table-condensed>tbody>tr>th,.factory-bootstrap-422 .table-condensed>tfoot>tr>td,.factory-bootstrap-422 .table-condensed>tfoot>tr>th,.factory-bootstrap-422 .table-condensed>thead>tr>td,.factory-bootstrap-422 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-422 .table-bordered,.factory-bootstrap-422 .table-bordered>tbody>tr>td,.factory-bootstrap-422 .table-bordered>tbody>tr>th,.factory-bootstrap-422 .table-bordered>tfoot>tr>td,.factory-bootstrap-422 .table-bordered>tfoot>tr>th,.factory-bootstrap-422 .table-bordered>thead>tr>td,.factory-bootstrap-422 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-422 .table-bordered>thead>tr>td,.factory-bootstrap-422 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-422 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-422 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-422 .table-hover>tbody>tr:hover>td,.factory-bootstrap-422 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-422 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-422 table td[class*=col-],.factory-bootstrap-422 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-422 .table>tbody>.active>td,.factory-bootstrap-422 .table>tbody>.active>th,.factory-bootstrap-422 .table>tbody>tr>.active,.factory-bootstrap-422 .table>tfoot>.active>td,.factory-bootstrap-422 .table>tfoot>.active>th,.factory-bootstrap-422 .table>tfoot>tr>.active,.factory-bootstrap-422 .table>thead>.active>td,.factory-bootstrap-422 .table>thead>.active>th,.factory-bootstrap-422 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-422 .table-hover>tbody>.active:hover>td,.factory-bootstrap-422 .table-hover>tbody>.active:hover>th,.factory-bootstrap-422 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-422 .table>tbody>.success>td,.factory-bootstrap-422 .table>tbody>.success>th,.factory-bootstrap-422 .table>tbody>tr>.success,.factory-bootstrap-422 .table>tfoot>.success>td,.factory-bootstrap-422 .table>tfoot>.success>th,.factory-bootstrap-422 .table>tfoot>tr>.success,.factory-bootstrap-422 .table>thead>.success>td,.factory-bootstrap-422 .table>thead>.success>th,.factory-bootstrap-422 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-422 .table-hover>tbody>.success:hover>td,.factory-bootstrap-422 .table-hover>tbody>.success:hover>th,.factory-bootstrap-422 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-422 .table>tbody>.danger>td,.factory-bootstrap-422 .table>tbody>.danger>th,.factory-bootstrap-422 .table>tbody>tr>.danger,.factory-bootstrap-422 .table>tfoot>.danger>td,.factory-bootstrap-422 .table>tfoot>.danger>th,.factory-bootstrap-422 .table>tfoot>tr>.danger,.factory-bootstrap-422 .table>thead>.danger>td,.factory-bootstrap-422 .table>thead>.danger>th,.factory-bootstrap-422 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-422 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-422 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-422 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-422 .table>tbody>.warning>td,.factory-bootstrap-422 .table>tbody>.warning>th,.factory-bootstrap-422 .table>tbody>tr>.warning,.factory-bootstrap-422 .table>tfoot>.warning>td,.factory-bootstrap-422 .table>tfoot>.warning>th,.factory-bootstrap-422 .table>tfoot>tr>.warning,.factory-bootstrap-422 .table>thead>.warning>td,.factory-bootstrap-422 .table>thead>.warning>th,.factory-bootstrap-422 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-422 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-422 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-422 .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-422 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-422 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-422 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-422 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-422 input[type=checkbox],.factory-bootstrap-422 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-422 input[type=file]{display:block}.factory-bootstrap-422 select[multiple],.factory-bootstrap-422 select[size]{height:auto}.factory-bootstrap-422 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-422 input[type=checkbox]:focus,.factory-bootstrap-422 input[type=file]:focus,.factory-bootstrap-422 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-422 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-422 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-422 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-422 .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-422 .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-422 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-422 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-422 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-422 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-422 .form-control[disabled],.factory-bootstrap-422 .form-control[readonly],.factory-bootstrap-422 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-422 textarea.form-control{height:auto}.factory-bootstrap-422 .form-group{margin-bottom:15px}.factory-bootstrap-422 .checkbox,.factory-bootstrap-422 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-422 .checkbox label,.factory-bootstrap-422 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-422 .checkbox input[type=checkbox],.factory-bootstrap-422 .checkbox-inline input[type=checkbox],.factory-bootstrap-422 .radio input[type=radio],.factory-bootstrap-422 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-422 .checkbox+.checkbox,.factory-bootstrap-422 .radio+.radio{margin-top:-5px}.factory-bootstrap-422 .checkbox-inline,.factory-bootstrap-422 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-422 .checkbox-inline+.checkbox-inline,.factory-bootstrap-422 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-422 .checkbox-inline[disabled],.factory-bootstrap-422 .checkbox[disabled],.factory-bootstrap-422 .radio-inline[disabled],.factory-bootstrap-422 .radio[disabled],.factory-bootstrap-422 fieldset[disabled] .checkbox,.factory-bootstrap-422 fieldset[disabled] .checkbox-inline,.factory-bootstrap-422 fieldset[disabled] .radio,.factory-bootstrap-422 fieldset[disabled] .radio-inline,.factory-bootstrap-422 fieldset[disabled] input[type=checkbox],.factory-bootstrap-422 fieldset[disabled] input[type=radio],.factory-bootstrap-422 input[type=checkbox][disabled],.factory-bootstrap-422 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-422 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-422 textarea.input-sm{height:auto}.factory-bootstrap-422 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-422 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-422 textarea.input-lg{height:auto}.factory-bootstrap-422 .has-warning .checkbox,.factory-bootstrap-422 .has-warning .checkbox-inline,.factory-bootstrap-422 .has-warning .control-label,.factory-bootstrap-422 .has-warning .help-block,.factory-bootstrap-422 .has-warning .radio,.factory-bootstrap-422 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-422 .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-422 .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-422 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-422 .has-error .checkbox,.factory-bootstrap-422 .has-error .checkbox-inline,.factory-bootstrap-422 .has-error .control-label,.factory-bootstrap-422 .has-error .help-block,.factory-bootstrap-422 .has-error .radio,.factory-bootstrap-422 .has-error .radio-inline{color:#a94442}.factory-bootstrap-422 .controls{display:block}.factory-bootstrap-422 .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-422 .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-422 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-422 .has-success .checkbox,.factory-bootstrap-422 .has-success .checkbox-inline,.factory-bootstrap-422 .has-success .control-label,.factory-bootstrap-422 .has-success .help-block,.factory-bootstrap-422 .has-success .radio,.factory-bootstrap-422 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-422 .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-422 .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-422 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-422 .form-control-static{margin-bottom:0}.factory-bootstrap-422 .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-422 .form-horizontal .checkbox,.factory-bootstrap-422 .form-horizontal .checkbox-inline,.factory-bootstrap-422 .form-horizontal .control-label,.factory-bootstrap-422 .form-horizontal .radio,.factory-bootstrap-422 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-422 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-422 .form-horizontal .checkbox,.factory-bootstrap-422 .form-horizontal .radio{min-height:27px}.factory-bootstrap-422 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-422 .form-horizontal .form-group:after,.factory-bootstrap-422 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-422 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-422 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-422 .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-422 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-422 .btn{text-decoration:none}.factory-bootstrap-422 .btn:focus,.factory-bootstrap-422 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-422 .btn.disabled,.factory-bootstrap-422 .btn[disabled],.factory-bootstrap-422 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-422 .btn-default.active,.factory-bootstrap-422 .btn-default:active,.factory-bootstrap-422 .btn-default:focus,.factory-bootstrap-422 .btn-default:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-422 .btn-default.active,.factory-bootstrap-422 .btn-default:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-422 .btn-default.disabled,.factory-bootstrap-422 .btn-default.disabled.active,.factory-bootstrap-422 .btn-default.disabled:active,.factory-bootstrap-422 .btn-default.disabled:focus,.factory-bootstrap-422 .btn-default.disabled:hover,.factory-bootstrap-422 .btn-default[disabled],.factory-bootstrap-422 .btn-default[disabled].active,.factory-bootstrap-422 .btn-default[disabled]:active,.factory-bootstrap-422 .btn-default[disabled]:focus,.factory-bootstrap-422 .btn-default[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-default,.factory-bootstrap-422 fieldset[disabled] .btn-default.active,.factory-bootstrap-422 fieldset[disabled] .btn-default:active,.factory-bootstrap-422 fieldset[disabled] .btn-default:focus,.factory-bootstrap-422 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-422 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-422 .btn-primary.active,.factory-bootstrap-422 .btn-primary:active,.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-422 .btn-primary.active,.factory-bootstrap-422 .btn-primary:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-422 .btn-primary.disabled,.factory-bootstrap-422 .btn-primary.disabled.active,.factory-bootstrap-422 .btn-primary.disabled:active,.factory-bootstrap-422 .btn-primary.disabled:focus,.factory-bootstrap-422 .btn-primary.disabled:hover,.factory-bootstrap-422 .btn-primary[disabled],.factory-bootstrap-422 .btn-primary[disabled].active,.factory-bootstrap-422 .btn-primary[disabled]:active,.factory-bootstrap-422 .btn-primary[disabled]:focus,.factory-bootstrap-422 .btn-primary[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-primary,.factory-bootstrap-422 fieldset[disabled] .btn-primary.active,.factory-bootstrap-422 fieldset[disabled] .btn-primary:active,.factory-bootstrap-422 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-422 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-422 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-422 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-422 .btn-warning.active,.factory-bootstrap-422 .btn-warning:active,.factory-bootstrap-422 .btn-warning:focus,.factory-bootstrap-422 .btn-warning:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-422 .btn-warning.active,.factory-bootstrap-422 .btn-warning:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-422 .btn-warning.disabled,.factory-bootstrap-422 .btn-warning.disabled.active,.factory-bootstrap-422 .btn-warning.disabled:active,.factory-bootstrap-422 .btn-warning.disabled:focus,.factory-bootstrap-422 .btn-warning.disabled:hover,.factory-bootstrap-422 .btn-warning[disabled],.factory-bootstrap-422 .btn-warning[disabled].active,.factory-bootstrap-422 .btn-warning[disabled]:active,.factory-bootstrap-422 .btn-warning[disabled]:focus,.factory-bootstrap-422 .btn-warning[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-warning,.factory-bootstrap-422 fieldset[disabled] .btn-warning.active,.factory-bootstrap-422 fieldset[disabled] .btn-warning:active,.factory-bootstrap-422 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-422 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-422 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-422 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-422 .btn-success.active,.factory-bootstrap-422 .btn-success:active,.factory-bootstrap-422 .btn-success:focus,.factory-bootstrap-422 .btn-success:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-422 .btn-success.active,.factory-bootstrap-422 .btn-success:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-422 .btn-success.disabled,.factory-bootstrap-422 .btn-success.disabled.active,.factory-bootstrap-422 .btn-success.disabled:active,.factory-bootstrap-422 .btn-success.disabled:focus,.factory-bootstrap-422 .btn-success.disabled:hover,.factory-bootstrap-422 .btn-success[disabled],.factory-bootstrap-422 .btn-success[disabled].active,.factory-bootstrap-422 .btn-success[disabled]:active,.factory-bootstrap-422 .btn-success[disabled]:focus,.factory-bootstrap-422 .btn-success[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-success,.factory-bootstrap-422 fieldset[disabled] .btn-success.active,.factory-bootstrap-422 fieldset[disabled] .btn-success:active,.factory-bootstrap-422 fieldset[disabled] .btn-success:focus,.factory-bootstrap-422 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-422 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-422 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-422 .btn-info.active,.factory-bootstrap-422 .btn-info:active,.factory-bootstrap-422 .btn-info:focus,.factory-bootstrap-422 .btn-info:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-422 .btn-info.active,.factory-bootstrap-422 .btn-info:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-422 .btn-info.disabled,.factory-bootstrap-422 .btn-info.disabled.active,.factory-bootstrap-422 .btn-info.disabled:active,.factory-bootstrap-422 .btn-info.disabled:focus,.factory-bootstrap-422 .btn-info.disabled:hover,.factory-bootstrap-422 .btn-info[disabled],.factory-bootstrap-422 .btn-info[disabled].active,.factory-bootstrap-422 .btn-info[disabled]:active,.factory-bootstrap-422 .btn-info[disabled]:focus,.factory-bootstrap-422 .btn-info[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-info,.factory-bootstrap-422 fieldset[disabled] .btn-info.active,.factory-bootstrap-422 fieldset[disabled] .btn-info:active,.factory-bootstrap-422 fieldset[disabled] .btn-info:focus,.factory-bootstrap-422 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-422 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-422 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-422 .btn-link,.factory-bootstrap-422 .btn-link:active,.factory-bootstrap-422 .btn-link[disabled],.factory-bootstrap-422 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-422 .btn-link,.factory-bootstrap-422 .btn-link:active,.factory-bootstrap-422 .btn-link:focus,.factory-bootstrap-422 .btn-link:hover{border-color:transparent}.factory-bootstrap-422 .btn-link:focus,.factory-bootstrap-422 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-422 .btn-link[disabled]:focus,.factory-bootstrap-422 .btn-link[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-link:focus,.factory-bootstrap-422 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-422 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-422 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-422 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-422 input[type=button].btn-block,.factory-bootstrap-422 input[type=reset].btn-block,.factory-bootstrap-422 input[type=submit].btn-block{width:100%}.factory-bootstrap-422 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-422 .fade.in{opacity:1}.factory-bootstrap-422 .collapse{display:none}.factory-bootstrap-422 .collapse.in{display:block}.factory-bootstrap-422 .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-422 .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-422 .glyphicon:empty{width:1em}.factory-bootstrap-422 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-422 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-422 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-422 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-422 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-422 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-422 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-422 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-422 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-422 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-422 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-422 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-422 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-422 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-422 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-422 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-422 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-422 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-422 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-422 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-422 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-422 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-422 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-422 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-422 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-422 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-422 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-422 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-422 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-422 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-422 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-422 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-422 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-422 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-422 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-422 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-422 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-422 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-422 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-422 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-422 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-422 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-422 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-422 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-422 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-422 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-422 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-422 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-422 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-422 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-422 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-422 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-422 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-422 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-422 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-422 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-422 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-422 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-422 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-422 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-422 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-422 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-422 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-422 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-422 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-422 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-422 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-422 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-422 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-422 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-422 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-422 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-422 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-422 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-422 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-422 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-422 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-422 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-422 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-422 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-422 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-422 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-422 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-422 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-422 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-422 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-422 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-422 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-422 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-422 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-422 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-422 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-422 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-422 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-422 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-422 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-422 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-422 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-422 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-422 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-422 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-422 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-422 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-422 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-422 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-422 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-422 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-422 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-422 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-422 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-422 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-422 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-422 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-422 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-422 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-422 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-422 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-422 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-422 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-422 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-422 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-422 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-422 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-422 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-422 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-422 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-422 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-422 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-422 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-422 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-422 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-422 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-422 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-422 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-422 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-422 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-422 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-422 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-422 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-422 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-422 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-422 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-422 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-422 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-422 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-422 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-422 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-422 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-422 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-422 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-422 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-422 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-422 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-422 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-422 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-422 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-422 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-422 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-422 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-422 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-422 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-422 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-422 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-422 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-422 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-422 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-422 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-422 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-422 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-422 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-422 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-422 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-422 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-422 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-422 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-422 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-422 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-422 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-422 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-422 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-422 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-422 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-422 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-422 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-422 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-422 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-422 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-422 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-422 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-422 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-422 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-422 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-422 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-422 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-422 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-422 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-422 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-422 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-422 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-422 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-422 .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-422 .dropdown{position:relative}.factory-bootstrap-422 .dropdown-toggle:focus{outline:0}.factory-bootstrap-422 .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-422 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-422 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-422 .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-422 .dropdown-menu>li>a:focus,.factory-bootstrap-422 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-422 .dropdown-menu>.active>a,.factory-bootstrap-422 .dropdown-menu>.active>a:focus,.factory-bootstrap-422 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-422 .dropdown-menu>.disabled>a,.factory-bootstrap-422 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-422 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-422 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-422 .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-422 .open>.dropdown-menu{display:block}.factory-bootstrap-422 .open>a{outline:0}.factory-bootstrap-422 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-422 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-422 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-422 .dropup .caret,.factory-bootstrap-422 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-422 .dropup .dropdown-menu,.factory-bootstrap-422 .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-422 .btn-group,.factory-bootstrap-422 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-422 .btn-group-vertical>.btn,.factory-bootstrap-422 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-422 .btn-group-vertical>.btn.active,.factory-bootstrap-422 .btn-group-vertical>.btn:active,.factory-bootstrap-422 .btn-group-vertical>.btn:focus,.factory-bootstrap-422 .btn-group-vertical>.btn:hover,.factory-bootstrap-422 .btn-group>.btn.active,.factory-bootstrap-422 .btn-group>.btn:active,.factory-bootstrap-422 .btn-group>.btn:focus,.factory-bootstrap-422 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-422 .btn-group-vertical>.btn:focus,.factory-bootstrap-422 .btn-group>.btn:focus{outline:0}.factory-bootstrap-422 .btn-group .btn+.btn,.factory-bootstrap-422 .btn-group .btn+.btn-group,.factory-bootstrap-422 .btn-group .btn-group+.btn,.factory-bootstrap-422 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-422 .btn-toolbar:after,.factory-bootstrap-422 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-422 .btn-toolbar:after{clear:both}.factory-bootstrap-422 .btn-toolbar .btn-group{float:left}.factory-bootstrap-422 .btn-toolbar>.btn+.btn,.factory-bootstrap-422 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-422 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-422 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-422 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-422 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-422 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-422 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-422 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .btn-group>.btn-group{float:left}.factory-bootstrap-422 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-422 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-422 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-422 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .btn-group .dropdown-toggle:active,.factory-bootstrap-422 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-422 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-422 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-422 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-422 .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-422 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-422 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-422 .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-422 .btn .caret{margin-left:0}.factory-bootstrap-422 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-422 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-422 .btn-group-vertical>.btn,.factory-bootstrap-422 .btn-group-vertical>.btn-group,.factory-bootstrap-422 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-422 .btn-group-vertical>.btn-group:after,.factory-bootstrap-422 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-422 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-422 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-422 .btn-group-vertical>.btn+.btn,.factory-bootstrap-422 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-422 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-422 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-422 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-422 .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-422 .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-422 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-422 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-422 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-422 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-422 .btn-group-justified>.btn,.factory-bootstrap-422 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-422 .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-422 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-422 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-422 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-422 .input-group-lg>.form-control,.factory-bootstrap-422 .input-group-lg>.input-group-addon,.factory-bootstrap-422 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-422 select.input-group-lg>.form-control,.factory-bootstrap-422 select.input-group-lg>.input-group-addon,.factory-bootstrap-422 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-422 textarea.input-group-lg>.form-control,.factory-bootstrap-422 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-422 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-422 .input-group-sm>.form-control,.factory-bootstrap-422 .input-group-sm>.input-group-addon,.factory-bootstrap-422 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 select.input-group-sm>.form-control,.factory-bootstrap-422 select.input-group-sm>.input-group-addon,.factory-bootstrap-422 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-422 textarea.input-group-sm>.form-control,.factory-bootstrap-422 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-422 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-422 .input-group .form-control,.factory-bootstrap-422 .input-group-addon,.factory-bootstrap-422 .input-group-btn{display:table-cell}.factory-bootstrap-422 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-422 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-422 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-422 .input-group-addon,.factory-bootstrap-422 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-422 .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-422 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-422 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-422 .input-group-addon input[type=checkbox],.factory-bootstrap-422 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-422 .input-group .form-control:first-child,.factory-bootstrap-422 .input-group-addon:first-child,.factory-bootstrap-422 .input-group-btn:first-child>.btn,.factory-bootstrap-422 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-422 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-422 .input-group-addon:first-child{border-right:0}.factory-bootstrap-422 .input-group .form-control:last-child,.factory-bootstrap-422 .input-group-addon:last-child,.factory-bootstrap-422 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-422 .input-group-btn:last-child>.btn,.factory-bootstrap-422 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .input-group-addon:last-child{border-left:0}.factory-bootstrap-422 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-422 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-422 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-422 .input-group-btn>.btn{position:relative}.factory-bootstrap-422 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-422 .input-group-btn>.btn:active,.factory-bootstrap-422 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-422 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-422 .nav:after,.factory-bootstrap-422 .nav:before{display:table;content:" "}.factory-bootstrap-422 .nav:after{clear:both}.factory-bootstrap-422 .nav>li{position:relative;display:block}.factory-bootstrap-422 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-422 .nav>li>a:focus,.factory-bootstrap-422 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-422 .nav>li.disabled>a{color:#999}.factory-bootstrap-422 .nav>li.disabled>a:focus,.factory-bootstrap-422 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-422 .nav .open>a,.factory-bootstrap-422 .nav .open>a:focus,.factory-bootstrap-422 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-422 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-422 .nav>li>a>img{max-width:none}.factory-bootstrap-422 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-422 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-422 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-422 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-422 .nav-tabs>li.active>a,.factory-bootstrap-422 .nav-tabs>li.active>a:focus,.factory-bootstrap-422 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-422 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-422 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-422 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-422 .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-422 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-422 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-422 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-422 .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-422 .nav-pills>li{float:left}.factory-bootstrap-422 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-422 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-422 .nav-pills>li.active>a,.factory-bootstrap-422 .nav-pills>li.active>a:focus,.factory-bootstrap-422 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-422 .nav-stacked>li{float:none}.factory-bootstrap-422 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-422 .nav-justified{width:100%}.factory-bootstrap-422 .nav-justified>li{float:none}.factory-bootstrap-422 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-422 .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-422 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-422 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-422 .nav-tabs-justified>.active>a,.factory-bootstrap-422 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-422 .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-422 .tab-content>.tab-pane{display:none}.factory-bootstrap-422 .tab-content>.active{display:block}.factory-bootstrap-422 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-422 .navbar:after,.factory-bootstrap-422 .navbar:before{display:table;content:" "}.factory-bootstrap-422 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-422 .navbar-header:after,.factory-bootstrap-422 .navbar-header:before{display:table;content:" "}.factory-bootstrap-422 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-422 .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-422 .navbar-collapse:after,.factory-bootstrap-422 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-422 .navbar-collapse:after{clear:both}.factory-bootstrap-422 .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-422 .container>.navbar-collapse,.factory-bootstrap-422 .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-422 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-422 .navbar-fixed-bottom,.factory-bootstrap-422 .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-422 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-422 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-422 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-422 .navbar-brand:focus,.factory-bootstrap-422 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-422 .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-422 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-422 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-422 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-422 .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-422 .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-422 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-422 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-422 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-422 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-422 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-422 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-422 .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-422 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-422 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-422 .navbar-default .navbar-brand:focus,.factory-bootstrap-422 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-422 .navbar-default .navbar-nav>li>a,.factory-bootstrap-422 .navbar-default .navbar-text{color:#777}.factory-bootstrap-422 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-422 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-422 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-422 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-422 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-422 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-422 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-422 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-422 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-422 .navbar-default .navbar-toggle:focus,.factory-bootstrap-422 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-422 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-422 .navbar-default .navbar-collapse,.factory-bootstrap-422 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-422 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-422 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-422 .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-422 .navbar-default .navbar-link{color:#777}.factory-bootstrap-422 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-422 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-422 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-422 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-422 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-422 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-422 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-422 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-422 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-422 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-422 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-422 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-422 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-422 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-422 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-422 .navbar-inverse .navbar-collapse,.factory-bootstrap-422 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-422 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-422 .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-422 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-422 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-422 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-422 .breadcrumb>li{display:inline-block}.factory-bootstrap-422 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-422 .breadcrumb>.active{color:#999}.factory-bootstrap-422 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-422 .pagination>li{display:inline}.factory-bootstrap-422 .pagination>li>a,.factory-bootstrap-422 .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-422 .pagination>li:first-child>a,.factory-bootstrap-422 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-422 .pagination>li:last-child>a,.factory-bootstrap-422 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-422 .pagination>li>a:focus,.factory-bootstrap-422 .pagination>li>a:hover,.factory-bootstrap-422 .pagination>li>span:focus,.factory-bootstrap-422 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-422 .pagination>.disabled>a,.factory-bootstrap-422 .pagination>.disabled>a:focus,.factory-bootstrap-422 .pagination>.disabled>a:hover,.factory-bootstrap-422 .pagination>.disabled>span,.factory-bootstrap-422 .pagination>.disabled>span:focus,.factory-bootstrap-422 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-422 .pagination-lg>li>a,.factory-bootstrap-422 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-422 .pagination-lg>li:first-child>a,.factory-bootstrap-422 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-422 .pagination-lg>li:last-child>a,.factory-bootstrap-422 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-422 .pagination-sm>li>a,.factory-bootstrap-422 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-422 .pagination-sm>li:first-child>a,.factory-bootstrap-422 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-422 .pagination-sm>li:last-child>a,.factory-bootstrap-422 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-422 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-422 .pager:after,.factory-bootstrap-422 .pager:before{display:table;content:" "}.factory-bootstrap-422 .pager:after{clear:both}.factory-bootstrap-422 .pager li{display:inline}.factory-bootstrap-422 .pager li>a,.factory-bootstrap-422 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-422 .pager li>a:focus,.factory-bootstrap-422 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-422 .pager .next>a,.factory-bootstrap-422 .pager .next>span{float:right}.factory-bootstrap-422 .pager .previous>a,.factory-bootstrap-422 .pager .previous>span{float:left}.factory-bootstrap-422 .pager .disabled>a,.factory-bootstrap-422 .pager .disabled>a:focus,.factory-bootstrap-422 .pager .disabled>a:hover,.factory-bootstrap-422 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-422 .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-422 .label[href]:focus,.factory-bootstrap-422 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-422 .label:empty{display:none}.factory-bootstrap-422 .btn .label{position:relative;top:-1px}.factory-bootstrap-422 .label-default{background-color:#999}.factory-bootstrap-422 .label-default[href]:focus,.factory-bootstrap-422 .label-default[href]:hover{background-color:gray}.factory-bootstrap-422 .label-primary{background-color:#428bca}.factory-bootstrap-422 .label-primary[href]:focus,.factory-bootstrap-422 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-422 .label-success{background-color:#5cb85c}.factory-bootstrap-422 .label-success[href]:focus,.factory-bootstrap-422 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-422 .label-info{background-color:#5bc0de}.factory-bootstrap-422 .label-info[href]:focus,.factory-bootstrap-422 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-422 .label-warning{background-color:#f0ad4e}.factory-bootstrap-422 .label-warning[href]:focus,.factory-bootstrap-422 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-422 .label-danger{background-color:#d9534f}.factory-bootstrap-422 .label-danger[href]:focus,.factory-bootstrap-422 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-422 .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-422 .badge:empty{display:none}.factory-bootstrap-422 .btn .badge{position:relative;top:-1px}.factory-bootstrap-422 a.badge:focus,.factory-bootstrap-422 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-422 .nav-pills>.active>a>.badge,.factory-bootstrap-422 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-422 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-422 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-422 .jumbotron .h1,.factory-bootstrap-422 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-422 .jumbotron p{line-height:1.4}.factory-bootstrap-422 .container .jumbotron{border-radius:6px}.factory-bootstrap-422 .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-422 .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-422 .thumbnail a>img,.factory-bootstrap-422 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-422 a.thumbnail.active,.factory-bootstrap-422 a.thumbnail:focus,.factory-bootstrap-422 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-422 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-422 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-422 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-422 .alert .alert-link{font-weight:700}.factory-bootstrap-422 .alert>p,.factory-bootstrap-422 .alert>ul{margin-bottom:0}.factory-bootstrap-422 .alert>p+p{margin-top:5px}.factory-bootstrap-422 .alert-dismissable{padding-right:35px}.factory-bootstrap-422 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-422 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-422 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-422 .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-422 .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-422 .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-422 .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-422 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-422 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-422 .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-422 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-422 .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-422 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-422 .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-422 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-422 .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-422 .media,.factory-bootstrap-422 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-422 .media,.factory-bootstrap-422 .media .media{margin-top:15px}.factory-bootstrap-422 .media:first-child{margin-top:0}.factory-bootstrap-422 .media-object{display:block}.factory-bootstrap-422 .media-heading{margin:0 0 5px}.factory-bootstrap-422 .media>.pull-left{margin-right:10px}.factory-bootstrap-422 .media>.pull-right{margin-left:10px}.factory-bootstrap-422 .media-list{padding-left:0;list-style:none}.factory-bootstrap-422 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-422 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-422 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-422 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-422 .list-group-item>.badge{float:right}.factory-bootstrap-422 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-422 a.list-group-item{color:#555}.factory-bootstrap-422 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-422 a.list-group-item:focus,.factory-bootstrap-422 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-422 a.list-group-item.active,.factory-bootstrap-422 a.list-group-item.active:focus,.factory-bootstrap-422 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-422 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-422 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-422 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-422 a.list-group-item.active .list-group-item-text,.factory-bootstrap-422 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-422 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-422 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-422 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-422 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-422 .panel-body{padding:15px}.factory-bootstrap-422 .panel-body:after,.factory-bootstrap-422 .panel-body:before{display:table;content:" "}.factory-bootstrap-422 .panel-body:after{clear:both}.factory-bootstrap-422 .panel>.list-group{margin-bottom:0}.factory-bootstrap-422 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-422 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-422 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-422 .panel>.table,.factory-bootstrap-422 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-422 .panel>.panel-body+.table,.factory-bootstrap-422 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-422 .panel>.table>tbody:first-child td,.factory-bootstrap-422 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-422 .panel>.table-bordered,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-422 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-422 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-422 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-422 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-422 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-422 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-422 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-422 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-422 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-422 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-422 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-422 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-422 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-422 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-422 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-422 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-422 .panel-title>a{color:inherit}.factory-bootstrap-422 .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-422 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-422 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-422 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-422 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-422 .panel-group .panel-footer{border-top:0}.factory-bootstrap-422 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-422 .panel-default{border-color:#ddd}.factory-bootstrap-422 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-422 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-422 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-422 .panel-primary{border-color:#428bca}.factory-bootstrap-422 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-422 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-422 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-422 .panel-success{border-color:#d6e9c6}.factory-bootstrap-422 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-422 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-422 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-422 .panel-warning{border-color:#faebcc}.factory-bootstrap-422 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-422 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-422 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-422 .panel-danger{border-color:#ebccd1}.factory-bootstrap-422 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-422 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-422 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-422 .panel-info{border-color:#bce8f1}.factory-bootstrap-422 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-422 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-422 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-422 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-422 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-422 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-422 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-422 .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-422 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-422 .close:focus,.factory-bootstrap-422 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-422 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-422 .modal-open{overflow:hidden}.factory-bootstrap-422 .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-422 .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-422 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-422 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-422 .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-422 .modal-backdrop,.factory-bootstrap-422-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-422 .modal-backdrop.fade,.factory-bootstrap-422-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-422 .modal-backdrop.in,.factory-bootstrap-422-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-422 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-422 .modal-header .close{margin-top:-2px}.factory-bootstrap-422 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-422 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-422 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-422 .modal-footer:after,.factory-bootstrap-422 .modal-footer:before{display:table;content:" "}.factory-bootstrap-422 .modal-footer:after{clear:both}.factory-bootstrap-422 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-422 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-422 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-422 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-422 .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-422 .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-422 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-422 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-422 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-422 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-422 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-422 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-422 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-422 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-422 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-422 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-422 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-422 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-422 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-422 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-422 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-422 .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-422 .popover.top{margin-top:-10px}.factory-bootstrap-422 .popover.right{margin-left:10px}.factory-bootstrap-422 .popover.bottom{margin-top:10px}.factory-bootstrap-422 .popover.left{margin-left:-10px}.factory-bootstrap-422 .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-422 .popover-content{padding:9px 14px}.factory-bootstrap-422 .popover .arrow,.factory-bootstrap-422 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-422 .popover .arrow{border-width:11px}.factory-bootstrap-422 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-422 .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-422 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-422 .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-422 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-422 .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-422 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-422 .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-422 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-422 .carousel{position:relative}.factory-bootstrap-422 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-422 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-422 .carousel-inner>.item>a>img,.factory-bootstrap-422 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-422 .carousel-inner>.active,.factory-bootstrap-422 .carousel-inner>.next,.factory-bootstrap-422 .carousel-inner>.prev{display:block}.factory-bootstrap-422 .carousel-inner>.active{left:0}.factory-bootstrap-422 .carousel-inner>.next,.factory-bootstrap-422 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-422 .carousel-inner>.next{left:100%}.factory-bootstrap-422 .carousel-inner>.prev{left:-100%}.factory-bootstrap-422 .carousel-inner>.next.left,.factory-bootstrap-422 .carousel-inner>.prev.right{left:0}.factory-bootstrap-422 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-422 .carousel-inner>.active.right{left:100%}.factory-bootstrap-422 .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-422 .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-422 .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-422 .carousel-control:focus,.factory-bootstrap-422 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-422 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-422 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-422 .carousel-control .icon-next,.factory-bootstrap-422 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-422 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-422 .carousel-control .icon-prev{left:50%}.factory-bootstrap-422 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-422 .carousel-control .icon-next{right:50%}.factory-bootstrap-422 .carousel-control .icon-next,.factory-bootstrap-422 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-422 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-422 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-422 .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-422 .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-422 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-422 .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-422 .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-422 .clearfix:after,.factory-bootstrap-422 .clearfix:before{display:table;content:" "}.factory-bootstrap-422 .clearfix:after{clear:both}.factory-bootstrap-422 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-422 .pull-right{float:right!important}.factory-bootstrap-422 .pull-left{float:left!important}.factory-bootstrap-422 .hide{display:none!important}.factory-bootstrap-422 .show{display:block!important}.factory-bootstrap-422 .invisible{visibility:hidden}.factory-bootstrap-422 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-422 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-422 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-422 .visible-lg,.factory-bootstrap-422 .visible-md,.factory-bootstrap-422 .visible-sm,.factory-bootstrap-422 .visible-xs,.factory-bootstrap-422 td.visible-lg,.factory-bootstrap-422 td.visible-md,.factory-bootstrap-422 td.visible-sm,.factory-bootstrap-422 td.visible-xs,.factory-bootstrap-422 th.visible-lg,.factory-bootstrap-422 th.visible-md,.factory-bootstrap-422 th.visible-sm,.factory-bootstrap-422 th.visible-xs,.factory-bootstrap-422 tr.visible-lg,.factory-bootstrap-422 tr.visible-md,.factory-bootstrap-422 tr.visible-sm,.factory-bootstrap-422 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-422 .hidden-xs{display:block!important}.factory-bootstrap-422 table.hidden-xs{display:table}.factory-bootstrap-422 tr.hidden-xs{display:table-row!important}.factory-bootstrap-422 td.hidden-xs,.factory-bootstrap-422 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-422 .hidden-sm{display:block!important}.factory-bootstrap-422 table.hidden-sm{display:table}.factory-bootstrap-422 tr.hidden-sm{display:table-row!important}.factory-bootstrap-422 td.hidden-sm,.factory-bootstrap-422 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-422 .hidden-md{display:block!important}.factory-bootstrap-422 table.hidden-md{display:table}.factory-bootstrap-422 tr.hidden-md{display:table-row!important}.factory-bootstrap-422 td.hidden-md,.factory-bootstrap-422 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-422 .hidden-lg{display:block!important}.factory-bootstrap-422 table.hidden-lg{display:table}.factory-bootstrap-422 tr.hidden-lg{display:table-row!important}.factory-bootstrap-422 td.hidden-lg,.factory-bootstrap-422 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-422 .hidden-lg.hidden-xs,.factory-bootstrap-422 td.hidden-lg.hidden-xs,.factory-bootstrap-422 th.hidden-lg.hidden-xs,.factory-bootstrap-422 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-422 .hidden-lg.hidden-sm,.factory-bootstrap-422 td.hidden-lg.hidden-sm,.factory-bootstrap-422 th.hidden-lg.hidden-sm,.factory-bootstrap-422 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-422 .hidden-lg.hidden-md,.factory-bootstrap-422 td.hidden-lg.hidden-md,.factory-bootstrap-422 th.hidden-lg.hidden-md,.factory-bootstrap-422 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-422 .hidden-lg,.factory-bootstrap-422 td.hidden-lg,.factory-bootstrap-422 th.hidden-lg,.factory-bootstrap-422 tr.hidden-lg{display:none!important}}.factory-bootstrap-422 .visible-print,.factory-bootstrap-422 td.visible-print,.factory-bootstrap-422 th.visible-print,.factory-bootstrap-422 tr.visible-print{display:none!important}@media print{.factory-bootstrap-422 .visible-print{display:block!important}.factory-bootstrap-422 table.visible-print{display:table}.factory-bootstrap-422 tr.visible-print{display:table-row!important}.factory-bootstrap-422 td.visible-print,.factory-bootstrap-422 th.visible-print{display:table-cell!important}.factory-bootstrap-422 .hidden-print,.factory-bootstrap-422 td.hidden-print,.factory-bootstrap-422 th.hidden-print,.factory-bootstrap-422 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-422 .btn-danger,.factory-bootstrap-422 .btn-default,.factory-bootstrap-422 .btn-info,.factory-bootstrap-422 .btn-primary,.factory-bootstrap-422 .btn-success,.factory-bootstrap-422 .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-422 .btn-danger.active,.factory-bootstrap-422 .btn-danger:active,.factory-bootstrap-422 .btn-default.active,.factory-bootstrap-422 .btn-default:active,.factory-bootstrap-422 .btn-info.active,.factory-bootstrap-422 .btn-info:active,.factory-bootstrap-422 .btn-primary.active,.factory-bootstrap-422 .btn-primary:active,.factory-bootstrap-422 .btn-success.active,.factory-bootstrap-422 .btn-success:active,.factory-bootstrap-422 .btn-warning.active,.factory-bootstrap-422 .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-422 .btn.active,.factory-bootstrap-422 .btn:active{background-image:none}.factory-bootstrap-422 .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-422 .btn-default.active,.factory-bootstrap-422 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-422 .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-422 .btn-gold:focus,.factory-bootstrap-422 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-422 .btn-gold.active,.factory-bootstrap-422 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-422 .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-422 .btn-primary:focus,.factory-bootstrap-422 .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-422 .btn-primary.active,.factory-bootstrap-422 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-422 .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-422 .btn-success:focus,.factory-bootstrap-422 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-422 .btn-success.active,.factory-bootstrap-422 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-422 .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-422 .btn-warning:focus,.factory-bootstrap-422 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-422 .btn-warning.active,.factory-bootstrap-422 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-422 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-422 .btn-danger.active,.factory-bootstrap-422 .btn-danger:active,.factory-bootstrap-422 .btn-danger:focus,.factory-bootstrap-422 .btn-danger:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-422 .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-422 .btn-info:focus,.factory-bootstrap-422 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-422 .btn-info.active,.factory-bootstrap-422 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-422 .img-thumbnail,.factory-bootstrap-422 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-422 .dropdown-menu>li>a:focus,.factory-bootstrap-422 .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-422 .dropdown-menu>.active>a,.factory-bootstrap-422 .dropdown-menu>.active>a:focus,.factory-bootstrap-422 .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-422 .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-422 .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-422 .navbar-brand,.factory-bootstrap-422 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-422 .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-422 .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-422 .navbar-inverse .navbar-brand,.factory-bootstrap-422 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-422 .navbar-fixed-bottom,.factory-bootstrap-422 .navbar-fixed-top,.factory-bootstrap-422 .navbar-static-top{border-radius:0}.factory-bootstrap-422 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-422 .alert .actions{padding-top:10px}.factory-bootstrap-422 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-422 .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-422 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-422 .alert-normal,.factory-bootstrap-422 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-422 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-422 .alert-danger a:not(.btn),.factory-bootstrap-422 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-422 .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-422 .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-422 .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-422 .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-422 .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-422 .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-422 .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-422 .list-group-item.active,.factory-bootstrap-422 .list-group-item.active:focus,.factory-bootstrap-422 .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-422 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-422 .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-422 .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-422 .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-422 .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-422 .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-422 .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-422 .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-422 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-422 .factory-hidden{display:none}.factory-bootstrap-422 .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}
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 article,.factory-bootstrap-423 aside,.factory-bootstrap-423 details,.factory-bootstrap-423 figcaption,.factory-bootstrap-423 figure,.factory-bootstrap-423 footer,.factory-bootstrap-423 header,.factory-bootstrap-423 hgroup,.factory-bootstrap-423 main,.factory-bootstrap-423 nav,.factory-bootstrap-423 section,.factory-bootstrap-423 summary{display:block}.factory-bootstrap-423 audio,.factory-bootstrap-423 canvas,.factory-bootstrap-423 video{display:inline-block}.factory-bootstrap-423 audio:not([controls]){display:none;height:0}.factory-bootstrap-423 [hidden],.factory-bootstrap-423 template{display:none}.factory-bootstrap-423 body{margin:0}.factory-bootstrap-423 a{background:0 0}.factory-bootstrap-423 a:focus{outline:thin dotted}.factory-bootstrap-423 a:active,.factory-bootstrap-423 a:hover{outline:0}.factory-bootstrap-423 h1{margin:.67em 0}.factory-bootstrap-423 b,.factory-bootstrap-423 strong{font-weight:700}.factory-bootstrap-423 dfn{font-style:italic}.factory-bootstrap-423 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-423 mark{color:#000;background:#ff0}.factory-bootstrap-423 code,.factory-bootstrap-423 kbd,.factory-bootstrap-423 pre,.factory-bootstrap-423 samp{font-size:1em}.factory-bootstrap-423 pre{white-space:pre-wrap}.factory-bootstrap-423 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-423 sub,.factory-bootstrap-423 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-423 sup{top:-.5em}.factory-bootstrap-423 sub{bottom:-.25em}.factory-bootstrap-423 img{border:0}.factory-bootstrap-423 svg:not(:root){overflow:hidden}.factory-bootstrap-423 figure{margin:0}.factory-bootstrap-423 button,.factory-bootstrap-423 input,.factory-bootstrap-423 select,.factory-bootstrap-423 textarea{margin:0}.factory-bootstrap-423 button,.factory-bootstrap-423 select{text-transform:none}.factory-bootstrap-423 select{padding-right:4px!important}.factory-bootstrap-423 button,.factory-bootstrap-423 input[type=reset],.factory-bootstrap-423 input[type=submit],html .factory-bootstrap-423 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-423 button[disabled],html .factory-bootstrap-423 input[disabled]{cursor:default}.factory-bootstrap-423 input[type=checkbox],.factory-bootstrap-423 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-423 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-423 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-423 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-423 button::-moz-focus-inner,.factory-bootstrap-423 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-423 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-423 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-423 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-423 a,.factory-bootstrap-423 a:visited{text-decoration:underline}.factory-bootstrap-423 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-423 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-423 a[href^="javascript:"]:after,.factory-bootstrap-423 a[href^="#"]:after{content:""}.factory-bootstrap-423 blockquote,.factory-bootstrap-423 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-423 thead{display:table-header-group}.factory-bootstrap-423 img,.factory-bootstrap-423 tr{page-break-inside:avoid}.factory-bootstrap-423 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-423 h2,.factory-bootstrap-423 h3,.factory-bootstrap-423 p{orphans:3;widows:3}.factory-bootstrap-423 h2,.factory-bootstrap-423 h3{page-break-after:avoid}.factory-bootstrap-423 select{background:#fff!important}.factory-bootstrap-423 .navbar{display:none}.factory-bootstrap-423 .table td,.factory-bootstrap-423 .table th{background-color:#fff!important}.factory-bootstrap-423 .btn>.caret,.factory-bootstrap-423 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-423 .label{border:1px solid #000}.factory-bootstrap-423 .table{border-collapse:collapse!important}.factory-bootstrap-423 .table-bordered td,.factory-bootstrap-423 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-423 *,.factory-bootstrap-423 :after,.factory-bootstrap-423 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-423{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-423 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-423 button,.factory-bootstrap-423 input,.factory-bootstrap-423 select,.factory-bootstrap-423 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-423 img{vertical-align:middle}.factory-bootstrap-423 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-423 .img-rounded{border-radius:6px}.factory-bootstrap-423 .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-423 .img-circle{border-radius:50%}.factory-bootstrap-423 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-423 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-423 .h1,.factory-bootstrap-423 .h2,.factory-bootstrap-423 .h3,.factory-bootstrap-423 .h4,.factory-bootstrap-423 .h5,.factory-bootstrap-423 .h6,.factory-bootstrap-423 h1,.factory-bootstrap-423 h2,.factory-bootstrap-423 h3,.factory-bootstrap-423 h4,.factory-bootstrap-423 h5,.factory-bootstrap-423 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-423 .h1 .small,.factory-bootstrap-423 .h1 small,.factory-bootstrap-423 .h2 .small,.factory-bootstrap-423 .h2 small,.factory-bootstrap-423 .h3 .small,.factory-bootstrap-423 .h3 small,.factory-bootstrap-423 .h4 .small,.factory-bootstrap-423 .h4 small,.factory-bootstrap-423 .h5 .small,.factory-bootstrap-423 .h5 small,.factory-bootstrap-423 .h6 .small,.factory-bootstrap-423 .h6 small,.factory-bootstrap-423 h1 .small,.factory-bootstrap-423 h1 small,.factory-bootstrap-423 h2 .small,.factory-bootstrap-423 h2 small,.factory-bootstrap-423 h3 .small,.factory-bootstrap-423 h3 small,.factory-bootstrap-423 h4 .small,.factory-bootstrap-423 h4 small,.factory-bootstrap-423 h5 .small,.factory-bootstrap-423 h5 small,.factory-bootstrap-423 h6 .small,.factory-bootstrap-423 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-423 h1,.factory-bootstrap-423 h2,.factory-bootstrap-423 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-423 h1 .small,.factory-bootstrap-423 h1 small,.factory-bootstrap-423 h2 .small,.factory-bootstrap-423 h2 small,.factory-bootstrap-423 h3 .small,.factory-bootstrap-423 h3 small{font-size:65%}.factory-bootstrap-423 h4,.factory-bootstrap-423 h5,.factory-bootstrap-423 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-423 h4 .small,.factory-bootstrap-423 h4 small,.factory-bootstrap-423 h5 .small,.factory-bootstrap-423 h5 small,.factory-bootstrap-423 h6 .small,.factory-bootstrap-423 h6 small{font-size:75%}.factory-bootstrap-423 .h1,.factory-bootstrap-423 h1{font-size:36px}.factory-bootstrap-423 .h2,.factory-bootstrap-423 h2{font-size:30px}.factory-bootstrap-423 .h3,.factory-bootstrap-423 h3{font-size:24px}.factory-bootstrap-423 .h4,.factory-bootstrap-423 h4{font-size:18px}.factory-bootstrap-423 .h5,.factory-bootstrap-423 h5{font-size:14px}.factory-bootstrap-423 .h6,.factory-bootstrap-423 h6{font-size:12px}.factory-bootstrap-423 p{margin:0 0 10px}.factory-bootstrap-423 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-423 .small,.factory-bootstrap-423 small{font-size:85%}.factory-bootstrap-423 cite{font-style:normal}.factory-bootstrap-423 .text-muted{color:#999}.factory-bootstrap-423 .text-primary{color:#428bca}.factory-bootstrap-423 .text-primary:hover{color:#3071a9}.factory-bootstrap-423 .text-warning{color:#8a6d3b}.factory-bootstrap-423 .text-warning:hover{color:#66512c}.factory-bootstrap-423 .text-danger{color:#a94442}.factory-bootstrap-423 .text-danger:hover{color:#843534}.factory-bootstrap-423 .text-success{color:#3c763d}.factory-bootstrap-423 .text-success:hover{color:#2b542c}.factory-bootstrap-423 .text-info{color:#31708f}.factory-bootstrap-423 .text-info:hover{color:#245269}.factory-bootstrap-423 .text-left{text-align:left}.factory-bootstrap-423 .text-right{text-align:right}.factory-bootstrap-423 .text-center{text-align:center}.factory-bootstrap-423 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-423 ol,.factory-bootstrap-423 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-423 ol ol,.factory-bootstrap-423 ol ul,.factory-bootstrap-423 ul ol,.factory-bootstrap-423 ul ul{margin-bottom:0}.factory-bootstrap-423 .list-inline,.factory-bootstrap-423 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-423 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-423 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-423 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-423 dd,.factory-bootstrap-423 dt{line-height:1.428571429}.factory-bootstrap-423 dt{font-weight:700}.factory-bootstrap-423 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-423 abbr[data-original-title],.factory-bootstrap-423 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-423 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-423 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-423 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-423 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-423 blockquote .small,.factory-bootstrap-423 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-423 blockquote .small:before,.factory-bootstrap-423 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-423 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-423 blockquote.pull-right .small,.factory-bootstrap-423 blockquote.pull-right p,.factory-bootstrap-423 blockquote.pull-right small{text-align:right}.factory-bootstrap-423 blockquote.pull-right .small:before,.factory-bootstrap-423 blockquote.pull-right small:before{content:''}.factory-bootstrap-423 blockquote.pull-right .small:after,.factory-bootstrap-423 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-423 blockquote:after,.factory-bootstrap-423 blockquote:before{content:""}.factory-bootstrap-423 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-423 code,.factory-bootstrap-423 kbd,.factory-bootstrap-423 pre,.factory-bootstrap-423 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-423 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-423 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-423 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-423 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-423 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-423 .container:after,.factory-bootstrap-423 .container:before{display:table;content:" "}.factory-bootstrap-423 .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-423 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-423 .row:after,.factory-bootstrap-423 .row:before{display:table;content:" "}.factory-bootstrap-423 .row:after{clear:both}.factory-bootstrap-423 .col-lg-1,.factory-bootstrap-423 .col-lg-10,.factory-bootstrap-423 .col-lg-11,.factory-bootstrap-423 .col-lg-12,.factory-bootstrap-423 .col-lg-2,.factory-bootstrap-423 .col-lg-3,.factory-bootstrap-423 .col-lg-4,.factory-bootstrap-423 .col-lg-5,.factory-bootstrap-423 .col-lg-6,.factory-bootstrap-423 .col-lg-7,.factory-bootstrap-423 .col-lg-8,.factory-bootstrap-423 .col-lg-9,.factory-bootstrap-423 .col-md-1,.factory-bootstrap-423 .col-md-10,.factory-bootstrap-423 .col-md-11,.factory-bootstrap-423 .col-md-12,.factory-bootstrap-423 .col-md-2,.factory-bootstrap-423 .col-md-3,.factory-bootstrap-423 .col-md-4,.factory-bootstrap-423 .col-md-5,.factory-bootstrap-423 .col-md-6,.factory-bootstrap-423 .col-md-7,.factory-bootstrap-423 .col-md-8,.factory-bootstrap-423 .col-md-9,.factory-bootstrap-423 .col-sm-1,.factory-bootstrap-423 .col-sm-10,.factory-bootstrap-423 .col-sm-11,.factory-bootstrap-423 .col-sm-12,.factory-bootstrap-423 .col-sm-2,.factory-bootstrap-423 .col-sm-3,.factory-bootstrap-423 .col-sm-4,.factory-bootstrap-423 .col-sm-5,.factory-bootstrap-423 .col-sm-6,.factory-bootstrap-423 .col-sm-7,.factory-bootstrap-423 .col-sm-8,.factory-bootstrap-423 .col-sm-9,.factory-bootstrap-423 .col-xs-1,.factory-bootstrap-423 .col-xs-10,.factory-bootstrap-423 .col-xs-11,.factory-bootstrap-423 .col-xs-12,.factory-bootstrap-423 .col-xs-2,.factory-bootstrap-423 .col-xs-3,.factory-bootstrap-423 .col-xs-4,.factory-bootstrap-423 .col-xs-5,.factory-bootstrap-423 .col-xs-6,.factory-bootstrap-423 .col-xs-7,.factory-bootstrap-423 .col-xs-8,.factory-bootstrap-423 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-423 .col-xs-1,.factory-bootstrap-423 .col-xs-10,.factory-bootstrap-423 .col-xs-11,.factory-bootstrap-423 .col-xs-12,.factory-bootstrap-423 .col-xs-2,.factory-bootstrap-423 .col-xs-3,.factory-bootstrap-423 .col-xs-4,.factory-bootstrap-423 .col-xs-5,.factory-bootstrap-423 .col-xs-6,.factory-bootstrap-423 .col-xs-7,.factory-bootstrap-423 .col-xs-8,.factory-bootstrap-423 .col-xs-9{float:left}.factory-bootstrap-423 .col-xs-12{width:100%}.factory-bootstrap-423 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-423 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-423 .col-xs-9{width:75%}.factory-bootstrap-423 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-423 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-423 .col-xs-6{width:50%}.factory-bootstrap-423 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-423 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-423 .col-xs-3{width:25%}.factory-bootstrap-423 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-423 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-423 .col-xs-pull-12{right:100%}.factory-bootstrap-423 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-423 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-423 .col-xs-pull-9{right:75%}.factory-bootstrap-423 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-423 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-423 .col-xs-pull-6{right:50%}.factory-bootstrap-423 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-423 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-423 .col-xs-pull-3{right:25%}.factory-bootstrap-423 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-423 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-423 .col-xs-pull-0{right:0}.factory-bootstrap-423 .col-xs-push-12{left:100%}.factory-bootstrap-423 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-423 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-423 .col-xs-push-9{left:75%}.factory-bootstrap-423 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-423 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-423 .col-xs-push-6{left:50%}.factory-bootstrap-423 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-423 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-423 .col-xs-push-3{left:25%}.factory-bootstrap-423 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-423 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-423 .col-xs-push-0{left:0}.factory-bootstrap-423 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-423 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-423 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-423 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-423 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-423 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-423 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-423 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-423 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-423 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-423 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-423 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-423 .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-423 table{max-width:100%;background-color:transparent}.factory-bootstrap-423 th{text-align:left}.factory-bootstrap-423 .table{width:100%;margin-bottom:20px}.factory-bootstrap-423 .table>tbody>tr>td,.factory-bootstrap-423 .table>tbody>tr>th,.factory-bootstrap-423 .table>tfoot>tr>td,.factory-bootstrap-423 .table>tfoot>tr>th,.factory-bootstrap-423 .table>thead>tr>td,.factory-bootstrap-423 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-423 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-423 .table>caption+thead>tr:first-child>td,.factory-bootstrap-423 .table>caption+thead>tr:first-child>th,.factory-bootstrap-423 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-423 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-423 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-423 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-423 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-423 .table .table{background-color:#fff}.factory-bootstrap-423 .table-condensed>tbody>tr>td,.factory-bootstrap-423 .table-condensed>tbody>tr>th,.factory-bootstrap-423 .table-condensed>tfoot>tr>td,.factory-bootstrap-423 .table-condensed>tfoot>tr>th,.factory-bootstrap-423 .table-condensed>thead>tr>td,.factory-bootstrap-423 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-423 .table-bordered,.factory-bootstrap-423 .table-bordered>tbody>tr>td,.factory-bootstrap-423 .table-bordered>tbody>tr>th,.factory-bootstrap-423 .table-bordered>tfoot>tr>td,.factory-bootstrap-423 .table-bordered>tfoot>tr>th,.factory-bootstrap-423 .table-bordered>thead>tr>td,.factory-bootstrap-423 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-423 .table-bordered>thead>tr>td,.factory-bootstrap-423 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-423 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-423 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-423 .table-hover>tbody>tr:hover>td,.factory-bootstrap-423 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-423 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-423 table td[class*=col-],.factory-bootstrap-423 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-423 .table>tbody>.active>td,.factory-bootstrap-423 .table>tbody>.active>th,.factory-bootstrap-423 .table>tbody>tr>.active,.factory-bootstrap-423 .table>tfoot>.active>td,.factory-bootstrap-423 .table>tfoot>.active>th,.factory-bootstrap-423 .table>tfoot>tr>.active,.factory-bootstrap-423 .table>thead>.active>td,.factory-bootstrap-423 .table>thead>.active>th,.factory-bootstrap-423 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-423 .table-hover>tbody>.active:hover>td,.factory-bootstrap-423 .table-hover>tbody>.active:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-423 .table>tbody>.success>td,.factory-bootstrap-423 .table>tbody>.success>th,.factory-bootstrap-423 .table>tbody>tr>.success,.factory-bootstrap-423 .table>tfoot>.success>td,.factory-bootstrap-423 .table>tfoot>.success>th,.factory-bootstrap-423 .table>tfoot>tr>.success,.factory-bootstrap-423 .table>thead>.success>td,.factory-bootstrap-423 .table>thead>.success>th,.factory-bootstrap-423 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-423 .table-hover>tbody>.success:hover>td,.factory-bootstrap-423 .table-hover>tbody>.success:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-423 .table>tbody>.danger>td,.factory-bootstrap-423 .table>tbody>.danger>th,.factory-bootstrap-423 .table>tbody>tr>.danger,.factory-bootstrap-423 .table>tfoot>.danger>td,.factory-bootstrap-423 .table>tfoot>.danger>th,.factory-bootstrap-423 .table>tfoot>tr>.danger,.factory-bootstrap-423 .table>thead>.danger>td,.factory-bootstrap-423 .table>thead>.danger>th,.factory-bootstrap-423 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-423 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-423 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-423 .table>tbody>.warning>td,.factory-bootstrap-423 .table>tbody>.warning>th,.factory-bootstrap-423 .table>tbody>tr>.warning,.factory-bootstrap-423 .table>tfoot>.warning>td,.factory-bootstrap-423 .table>tfoot>.warning>th,.factory-bootstrap-423 .table>tfoot>tr>.warning,.factory-bootstrap-423 .table>thead>.warning>td,.factory-bootstrap-423 .table>thead>.warning>th,.factory-bootstrap-423 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-423 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-423 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-423 .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-423 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-423 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-423 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-423 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-423 input[type=checkbox],.factory-bootstrap-423 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-423 input[type=file]{display:block}.factory-bootstrap-423 select[multiple],.factory-bootstrap-423 select[size]{height:auto}.factory-bootstrap-423 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-423 input[type=checkbox]:focus,.factory-bootstrap-423 input[type=file]:focus,.factory-bootstrap-423 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-423 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-423 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-423 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-423 .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-423 .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-423 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-423 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-423 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-423 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-423 .form-control[disabled],.factory-bootstrap-423 .form-control[readonly],.factory-bootstrap-423 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-423 textarea.form-control{height:auto}.factory-bootstrap-423 .form-group{margin-bottom:15px}.factory-bootstrap-423 .checkbox,.factory-bootstrap-423 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-423 .checkbox label,.factory-bootstrap-423 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-423 .checkbox input[type=checkbox],.factory-bootstrap-423 .checkbox-inline input[type=checkbox],.factory-bootstrap-423 .radio input[type=radio],.factory-bootstrap-423 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-423 .checkbox+.checkbox,.factory-bootstrap-423 .radio+.radio{margin-top:-5px}.factory-bootstrap-423 .checkbox-inline,.factory-bootstrap-423 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-423 .checkbox-inline+.checkbox-inline,.factory-bootstrap-423 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-423 .checkbox-inline[disabled],.factory-bootstrap-423 .checkbox[disabled],.factory-bootstrap-423 .radio-inline[disabled],.factory-bootstrap-423 .radio[disabled],.factory-bootstrap-423 fieldset[disabled] .checkbox,.factory-bootstrap-423 fieldset[disabled] .checkbox-inline,.factory-bootstrap-423 fieldset[disabled] .radio,.factory-bootstrap-423 fieldset[disabled] .radio-inline,.factory-bootstrap-423 fieldset[disabled] input[type=checkbox],.factory-bootstrap-423 fieldset[disabled] input[type=radio],.factory-bootstrap-423 input[type=checkbox][disabled],.factory-bootstrap-423 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-423 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-423 textarea.input-sm{height:auto}.factory-bootstrap-423 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-423 textarea.input-lg{height:auto}.factory-bootstrap-423 .has-warning .checkbox,.factory-bootstrap-423 .has-warning .checkbox-inline,.factory-bootstrap-423 .has-warning .control-label,.factory-bootstrap-423 .has-warning .help-block,.factory-bootstrap-423 .has-warning .radio,.factory-bootstrap-423 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-423 .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-423 .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-423 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-423 .has-error .checkbox,.factory-bootstrap-423 .has-error .checkbox-inline,.factory-bootstrap-423 .has-error .control-label,.factory-bootstrap-423 .has-error .help-block,.factory-bootstrap-423 .has-error .radio,.factory-bootstrap-423 .has-error .radio-inline{color:#a94442}.factory-bootstrap-423 .controls{display:block}.factory-bootstrap-423 .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-423 .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-423 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-423 .has-success .checkbox,.factory-bootstrap-423 .has-success .checkbox-inline,.factory-bootstrap-423 .has-success .control-label,.factory-bootstrap-423 .has-success .help-block,.factory-bootstrap-423 .has-success .radio,.factory-bootstrap-423 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-423 .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-423 .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-423 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-423 .form-control-static{margin-bottom:0}.factory-bootstrap-423 .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-423 .form-horizontal .checkbox,.factory-bootstrap-423 .form-horizontal .checkbox-inline,.factory-bootstrap-423 .form-horizontal .control-label,.factory-bootstrap-423 .form-horizontal .radio,.factory-bootstrap-423 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-423 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-423 .form-horizontal .checkbox,.factory-bootstrap-423 .form-horizontal .radio{min-height:27px}.factory-bootstrap-423 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-423 .form-horizontal .form-group:after,.factory-bootstrap-423 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-423 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-423 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-423 .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-423 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-423 .btn{text-decoration:none}.factory-bootstrap-423 .btn:focus,.factory-bootstrap-423 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-423 .btn.disabled,.factory-bootstrap-423 .btn[disabled],.factory-bootstrap-423 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .btn-default:focus,.factory-bootstrap-423 .btn-default:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-423 .btn-default.disabled,.factory-bootstrap-423 .btn-default.disabled.active,.factory-bootstrap-423 .btn-default.disabled:active,.factory-bootstrap-423 .btn-default.disabled:focus,.factory-bootstrap-423 .btn-default.disabled:hover,.factory-bootstrap-423 .btn-default[disabled],.factory-bootstrap-423 .btn-default[disabled].active,.factory-bootstrap-423 .btn-default[disabled]:active,.factory-bootstrap-423 .btn-default[disabled]:focus,.factory-bootstrap-423 .btn-default[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-default,.factory-bootstrap-423 fieldset[disabled] .btn-default.active,.factory-bootstrap-423 fieldset[disabled] .btn-default:active,.factory-bootstrap-423 fieldset[disabled] .btn-default:focus,.factory-bootstrap-423 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-423 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-423 .btn-primary.disabled,.factory-bootstrap-423 .btn-primary.disabled.active,.factory-bootstrap-423 .btn-primary.disabled:active,.factory-bootstrap-423 .btn-primary.disabled:focus,.factory-bootstrap-423 .btn-primary.disabled:hover,.factory-bootstrap-423 .btn-primary[disabled],.factory-bootstrap-423 .btn-primary[disabled].active,.factory-bootstrap-423 .btn-primary[disabled]:active,.factory-bootstrap-423 .btn-primary[disabled]:focus,.factory-bootstrap-423 .btn-primary[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-primary,.factory-bootstrap-423 fieldset[disabled] .btn-primary.active,.factory-bootstrap-423 fieldset[disabled] .btn-primary:active,.factory-bootstrap-423 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-423 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-423 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-423 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active,.factory-bootstrap-423 .btn-warning:focus,.factory-bootstrap-423 .btn-warning:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-423 .btn-warning.disabled,.factory-bootstrap-423 .btn-warning.disabled.active,.factory-bootstrap-423 .btn-warning.disabled:active,.factory-bootstrap-423 .btn-warning.disabled:focus,.factory-bootstrap-423 .btn-warning.disabled:hover,.factory-bootstrap-423 .btn-warning[disabled],.factory-bootstrap-423 .btn-warning[disabled].active,.factory-bootstrap-423 .btn-warning[disabled]:active,.factory-bootstrap-423 .btn-warning[disabled]:focus,.factory-bootstrap-423 .btn-warning[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-warning,.factory-bootstrap-423 fieldset[disabled] .btn-warning.active,.factory-bootstrap-423 fieldset[disabled] .btn-warning:active,.factory-bootstrap-423 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-423 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-423 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-423 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .btn-success:focus,.factory-bootstrap-423 .btn-success:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-423 .btn-success.disabled,.factory-bootstrap-423 .btn-success.disabled.active,.factory-bootstrap-423 .btn-success.disabled:active,.factory-bootstrap-423 .btn-success.disabled:focus,.factory-bootstrap-423 .btn-success.disabled:hover,.factory-bootstrap-423 .btn-success[disabled],.factory-bootstrap-423 .btn-success[disabled].active,.factory-bootstrap-423 .btn-success[disabled]:active,.factory-bootstrap-423 .btn-success[disabled]:focus,.factory-bootstrap-423 .btn-success[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-success,.factory-bootstrap-423 fieldset[disabled] .btn-success.active,.factory-bootstrap-423 fieldset[disabled] .btn-success:active,.factory-bootstrap-423 fieldset[disabled] .btn-success:focus,.factory-bootstrap-423 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-423 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-423 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .btn-info:focus,.factory-bootstrap-423 .btn-info:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-423 .btn-info.disabled,.factory-bootstrap-423 .btn-info.disabled.active,.factory-bootstrap-423 .btn-info.disabled:active,.factory-bootstrap-423 .btn-info.disabled:focus,.factory-bootstrap-423 .btn-info.disabled:hover,.factory-bootstrap-423 .btn-info[disabled],.factory-bootstrap-423 .btn-info[disabled].active,.factory-bootstrap-423 .btn-info[disabled]:active,.factory-bootstrap-423 .btn-info[disabled]:focus,.factory-bootstrap-423 .btn-info[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-info,.factory-bootstrap-423 fieldset[disabled] .btn-info.active,.factory-bootstrap-423 fieldset[disabled] .btn-info:active,.factory-bootstrap-423 fieldset[disabled] .btn-info:focus,.factory-bootstrap-423 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-423 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-423 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-423 .btn-link,.factory-bootstrap-423 .btn-link:active,.factory-bootstrap-423 .btn-link[disabled],.factory-bootstrap-423 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-link,.factory-bootstrap-423 .btn-link:active,.factory-bootstrap-423 .btn-link:focus,.factory-bootstrap-423 .btn-link:hover{border-color:transparent}.factory-bootstrap-423 .btn-link:focus,.factory-bootstrap-423 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-423 .btn-link[disabled]:focus,.factory-bootstrap-423 .btn-link[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-link:focus,.factory-bootstrap-423 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-423 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-423 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-423 input[type=button].btn-block,.factory-bootstrap-423 input[type=reset].btn-block,.factory-bootstrap-423 input[type=submit].btn-block{width:100%}.factory-bootstrap-423 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-423 .fade.in{opacity:1}.factory-bootstrap-423 .collapse{display:none}.factory-bootstrap-423 .collapse.in{display:block}.factory-bootstrap-423 .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-423 .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-423 .glyphicon:empty{width:1em}.factory-bootstrap-423 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-423 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-423 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-423 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-423 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-423 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-423 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-423 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-423 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-423 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-423 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-423 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-423 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-423 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-423 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-423 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-423 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-423 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-423 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-423 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-423 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-423 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-423 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-423 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-423 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-423 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-423 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-423 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-423 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-423 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-423 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-423 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-423 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-423 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-423 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-423 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-423 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-423 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-423 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-423 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-423 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-423 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-423 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-423 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-423 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-423 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-423 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-423 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-423 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-423 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-423 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-423 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-423 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-423 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-423 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-423 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-423 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-423 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-423 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-423 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-423 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-423 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-423 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-423 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-423 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-423 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-423 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-423 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-423 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-423 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-423 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-423 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-423 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-423 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-423 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-423 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-423 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-423 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-423 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-423 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-423 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-423 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-423 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-423 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-423 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-423 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-423 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-423 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-423 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-423 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-423 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-423 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-423 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-423 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-423 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-423 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-423 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-423 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-423 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-423 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-423 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-423 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-423 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-423 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-423 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-423 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-423 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-423 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-423 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-423 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-423 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-423 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-423 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-423 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-423 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-423 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-423 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-423 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-423 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-423 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-423 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-423 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-423 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-423 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-423 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-423 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-423 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-423 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-423 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-423 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-423 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-423 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-423 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-423 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-423 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-423 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-423 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-423 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-423 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-423 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-423 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-423 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-423 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-423 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-423 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-423 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-423 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-423 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-423 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-423 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-423 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-423 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-423 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-423 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-423 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-423 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-423 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-423 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-423 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-423 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-423 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-423 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-423 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-423 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-423 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-423 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-423 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-423 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-423 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-423 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-423 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-423 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-423 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-423 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-423 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-423 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-423 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-423 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-423 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-423 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-423 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-423 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-423 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-423 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-423 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-423 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-423 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-423 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-423 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-423 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-423 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-423 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-423 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-423 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-423 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-423 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-423 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-423 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-423 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-423 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-423 .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-423 .dropdown{position:relative}.factory-bootstrap-423 .dropdown-toggle:focus{outline:0}.factory-bootstrap-423 .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-423 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-423 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-423 .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-423 .dropdown-menu>li>a:focus,.factory-bootstrap-423 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-423 .dropdown-menu>.active>a,.factory-bootstrap-423 .dropdown-menu>.active>a:focus,.factory-bootstrap-423 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-423 .dropdown-menu>.disabled>a,.factory-bootstrap-423 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-423 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-423 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-423 .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-423 .open>.dropdown-menu{display:block}.factory-bootstrap-423 .open>a{outline:0}.factory-bootstrap-423 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-423 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-423 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-423 .dropup .caret,.factory-bootstrap-423 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-423 .dropup .dropdown-menu,.factory-bootstrap-423 .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-423 .btn-group,.factory-bootstrap-423 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-423 .btn-group-vertical>.btn,.factory-bootstrap-423 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-423 .btn-group-vertical>.btn.active,.factory-bootstrap-423 .btn-group-vertical>.btn:active,.factory-bootstrap-423 .btn-group-vertical>.btn:focus,.factory-bootstrap-423 .btn-group-vertical>.btn:hover,.factory-bootstrap-423 .btn-group>.btn.active,.factory-bootstrap-423 .btn-group>.btn:active,.factory-bootstrap-423 .btn-group>.btn:focus,.factory-bootstrap-423 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-423 .btn-group-vertical>.btn:focus,.factory-bootstrap-423 .btn-group>.btn:focus{outline:0}.factory-bootstrap-423 .btn-group .btn+.btn,.factory-bootstrap-423 .btn-group .btn+.btn-group,.factory-bootstrap-423 .btn-group .btn-group+.btn,.factory-bootstrap-423 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-423 .btn-toolbar:after,.factory-bootstrap-423 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-423 .btn-toolbar:after{clear:both}.factory-bootstrap-423 .btn-toolbar .btn-group{float:left}.factory-bootstrap-423 .btn-toolbar>.btn+.btn,.factory-bootstrap-423 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-423 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-423 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-423 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-423 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-423 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-423 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group>.btn-group{float:left}.factory-bootstrap-423 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-423 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-423 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group .dropdown-toggle:active,.factory-bootstrap-423 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-423 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-423 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-423 .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-423 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-423 .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-423 .btn .caret{margin-left:0}.factory-bootstrap-423 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-423 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-423 .btn-group-vertical>.btn,.factory-bootstrap-423 .btn-group-vertical>.btn-group,.factory-bootstrap-423 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-423 .btn-group-vertical>.btn-group:after,.factory-bootstrap-423 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-423 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-423 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-423 .btn-group-vertical>.btn+.btn,.factory-bootstrap-423 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-423 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-423 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-423 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-423 .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-423 .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-423 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-423 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-423 .btn-group-justified>.btn,.factory-bootstrap-423 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-423 .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-423 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-423 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-423 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-423 .input-group-lg>.form-control,.factory-bootstrap-423 .input-group-lg>.input-group-addon,.factory-bootstrap-423 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 select.input-group-lg>.form-control,.factory-bootstrap-423 select.input-group-lg>.input-group-addon,.factory-bootstrap-423 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-423 textarea.input-group-lg>.form-control,.factory-bootstrap-423 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-423 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-423 .input-group-sm>.form-control,.factory-bootstrap-423 .input-group-sm>.input-group-addon,.factory-bootstrap-423 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 select.input-group-sm>.form-control,.factory-bootstrap-423 select.input-group-sm>.input-group-addon,.factory-bootstrap-423 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-423 textarea.input-group-sm>.form-control,.factory-bootstrap-423 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-423 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-423 .input-group .form-control,.factory-bootstrap-423 .input-group-addon,.factory-bootstrap-423 .input-group-btn{display:table-cell}.factory-bootstrap-423 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-423 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-423 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-423 .input-group-addon,.factory-bootstrap-423 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-423 .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-423 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-423 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-423 .input-group-addon input[type=checkbox],.factory-bootstrap-423 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-423 .input-group .form-control:first-child,.factory-bootstrap-423 .input-group-addon:first-child,.factory-bootstrap-423 .input-group-btn:first-child>.btn,.factory-bootstrap-423 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-423 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .input-group-addon:first-child{border-right:0}.factory-bootstrap-423 .input-group .form-control:last-child,.factory-bootstrap-423 .input-group-addon:last-child,.factory-bootstrap-423 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-423 .input-group-btn:last-child>.btn,.factory-bootstrap-423 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .input-group-addon:last-child{border-left:0}.factory-bootstrap-423 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-423 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-423 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-423 .input-group-btn>.btn{position:relative}.factory-bootstrap-423 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-423 .input-group-btn>.btn:active,.factory-bootstrap-423 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-423 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-423 .nav:after,.factory-bootstrap-423 .nav:before{display:table;content:" "}.factory-bootstrap-423 .nav:after{clear:both}.factory-bootstrap-423 .nav>li{position:relative;display:block}.factory-bootstrap-423 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-423 .nav>li>a:focus,.factory-bootstrap-423 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-423 .nav>li.disabled>a{color:#999}.factory-bootstrap-423 .nav>li.disabled>a:focus,.factory-bootstrap-423 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-423 .nav .open>a,.factory-bootstrap-423 .nav .open>a:focus,.factory-bootstrap-423 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-423 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-423 .nav>li>a>img{max-width:none}.factory-bootstrap-423 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-423 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-423 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-423 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-423 .nav-tabs>li.active>a,.factory-bootstrap-423 .nav-tabs>li.active>a:focus,.factory-bootstrap-423 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-423 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-423 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-423 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-423 .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-423 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-423 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-423 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-423 .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-423 .nav-pills>li{float:left}.factory-bootstrap-423 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-423 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-423 .nav-pills>li.active>a,.factory-bootstrap-423 .nav-pills>li.active>a:focus,.factory-bootstrap-423 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-423 .nav-stacked>li{float:none}.factory-bootstrap-423 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-423 .nav-justified{width:100%}.factory-bootstrap-423 .nav-justified>li{float:none}.factory-bootstrap-423 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-423 .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-423 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-423 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-423 .nav-tabs-justified>.active>a,.factory-bootstrap-423 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-423 .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-423 .tab-content>.tab-pane{display:none}.factory-bootstrap-423 .tab-content>.active{display:block}.factory-bootstrap-423 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-423 .navbar:after,.factory-bootstrap-423 .navbar:before{display:table;content:" "}.factory-bootstrap-423 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-423 .navbar-header:after,.factory-bootstrap-423 .navbar-header:before{display:table;content:" "}.factory-bootstrap-423 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-423 .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-423 .navbar-collapse:after,.factory-bootstrap-423 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-423 .navbar-collapse:after{clear:both}.factory-bootstrap-423 .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-423 .container>.navbar-collapse,.factory-bootstrap-423 .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-423 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-423 .navbar-fixed-bottom,.factory-bootstrap-423 .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-423 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-423 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-423 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-423 .navbar-brand:focus,.factory-bootstrap-423 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-423 .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-423 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-423 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-423 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-423 .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-423 .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-423 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-423 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-423 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-423 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-423 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-423 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-423 .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-423 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-423 .navbar-default .navbar-brand:focus,.factory-bootstrap-423 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-nav>li>a,.factory-bootstrap-423 .navbar-default .navbar-text{color:#777}.factory-bootstrap-423 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-423 .navbar-default .navbar-toggle:focus,.factory-bootstrap-423 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-423 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-423 .navbar-default .navbar-collapse,.factory-bootstrap-423 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-423 .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-423 .navbar-default .navbar-link{color:#777}.factory-bootstrap-423 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-423 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-423 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-423 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-423 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-423 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-423 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-423 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-423 .navbar-inverse .navbar-collapse,.factory-bootstrap-423 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-423 .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-423 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-423 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-423 .breadcrumb>li{display:inline-block}.factory-bootstrap-423 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-423 .breadcrumb>.active{color:#999}.factory-bootstrap-423 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-423 .pagination>li{display:inline}.factory-bootstrap-423 .pagination>li>a,.factory-bootstrap-423 .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-423 .pagination>li:first-child>a,.factory-bootstrap-423 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-423 .pagination>li:last-child>a,.factory-bootstrap-423 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-423 .pagination>li>a:focus,.factory-bootstrap-423 .pagination>li>a:hover,.factory-bootstrap-423 .pagination>li>span:focus,.factory-bootstrap-423 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-423 .pagination>.disabled>a,.factory-bootstrap-423 .pagination>.disabled>a:focus,.factory-bootstrap-423 .pagination>.disabled>a:hover,.factory-bootstrap-423 .pagination>.disabled>span,.factory-bootstrap-423 .pagination>.disabled>span:focus,.factory-bootstrap-423 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-423 .pagination-lg>li>a,.factory-bootstrap-423 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-423 .pagination-lg>li:first-child>a,.factory-bootstrap-423 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-423 .pagination-lg>li:last-child>a,.factory-bootstrap-423 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-423 .pagination-sm>li>a,.factory-bootstrap-423 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-423 .pagination-sm>li:first-child>a,.factory-bootstrap-423 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-423 .pagination-sm>li:last-child>a,.factory-bootstrap-423 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-423 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-423 .pager:after,.factory-bootstrap-423 .pager:before{display:table;content:" "}.factory-bootstrap-423 .pager:after{clear:both}.factory-bootstrap-423 .pager li{display:inline}.factory-bootstrap-423 .pager li>a,.factory-bootstrap-423 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-423 .pager li>a:focus,.factory-bootstrap-423 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-423 .pager .next>a,.factory-bootstrap-423 .pager .next>span{float:right}.factory-bootstrap-423 .pager .previous>a,.factory-bootstrap-423 .pager .previous>span{float:left}.factory-bootstrap-423 .pager .disabled>a,.factory-bootstrap-423 .pager .disabled>a:focus,.factory-bootstrap-423 .pager .disabled>a:hover,.factory-bootstrap-423 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-423 .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-423 .label[href]:focus,.factory-bootstrap-423 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-423 .label:empty{display:none}.factory-bootstrap-423 .btn .label{position:relative;top:-1px}.factory-bootstrap-423 .label-default{background-color:#999}.factory-bootstrap-423 .label-default[href]:focus,.factory-bootstrap-423 .label-default[href]:hover{background-color:gray}.factory-bootstrap-423 .label-primary{background-color:#428bca}.factory-bootstrap-423 .label-primary[href]:focus,.factory-bootstrap-423 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-423 .label-success{background-color:#5cb85c}.factory-bootstrap-423 .label-success[href]:focus,.factory-bootstrap-423 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-423 .label-info{background-color:#5bc0de}.factory-bootstrap-423 .label-info[href]:focus,.factory-bootstrap-423 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-423 .label-warning{background-color:#f0ad4e}.factory-bootstrap-423 .label-warning[href]:focus,.factory-bootstrap-423 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-423 .label-danger{background-color:#d9534f}.factory-bootstrap-423 .label-danger[href]:focus,.factory-bootstrap-423 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-423 .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-423 .badge:empty{display:none}.factory-bootstrap-423 .btn .badge{position:relative;top:-1px}.factory-bootstrap-423 a.badge:focus,.factory-bootstrap-423 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-423 .nav-pills>.active>a>.badge,.factory-bootstrap-423 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-423 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-423 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-423 .jumbotron .h1,.factory-bootstrap-423 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-423 .jumbotron p{line-height:1.4}.factory-bootstrap-423 .container .jumbotron{border-radius:6px}.factory-bootstrap-423 .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-423 .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-423 .thumbnail a>img,.factory-bootstrap-423 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-423 a.thumbnail.active,.factory-bootstrap-423 a.thumbnail:focus,.factory-bootstrap-423 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-423 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-423 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-423 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-423 .alert .alert-link{font-weight:700}.factory-bootstrap-423 .alert>p,.factory-bootstrap-423 .alert>ul{margin-bottom:0}.factory-bootstrap-423 .alert>p+p{margin-top:5px}.factory-bootstrap-423 .alert-dismissable{padding-right:35px}.factory-bootstrap-423 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-423 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-423 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-423 .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-423 .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-423 .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-423 .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-423 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-423 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-423 .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-423 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-423 .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-423 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-423 .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-423 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-423 .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-423 .media,.factory-bootstrap-423 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-423 .media,.factory-bootstrap-423 .media .media{margin-top:15px}.factory-bootstrap-423 .media:first-child{margin-top:0}.factory-bootstrap-423 .media-object{display:block}.factory-bootstrap-423 .media-heading{margin:0 0 5px}.factory-bootstrap-423 .media>.pull-left{margin-right:10px}.factory-bootstrap-423 .media>.pull-right{margin-left:10px}.factory-bootstrap-423 .media-list{padding-left:0;list-style:none}.factory-bootstrap-423 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-423 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-423 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-423 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-423 .list-group-item>.badge{float:right}.factory-bootstrap-423 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-423 a.list-group-item{color:#555}.factory-bootstrap-423 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-423 a.list-group-item:focus,.factory-bootstrap-423 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-423 a.list-group-item.active,.factory-bootstrap-423 a.list-group-item.active:focus,.factory-bootstrap-423 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-423 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-423 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-423 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-423 a.list-group-item.active .list-group-item-text,.factory-bootstrap-423 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-423 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-423 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-423 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-423 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-423 .panel-body{padding:15px}.factory-bootstrap-423 .panel-body:after,.factory-bootstrap-423 .panel-body:before{display:table;content:" "}.factory-bootstrap-423 .panel-body:after{clear:both}.factory-bootstrap-423 .panel>.list-group{margin-bottom:0}.factory-bootstrap-423 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-423 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-423 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-423 .panel>.table,.factory-bootstrap-423 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-423 .panel>.panel-body+.table,.factory-bootstrap-423 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-423 .panel>.table>tbody:first-child td,.factory-bootstrap-423 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-423 .panel>.table-bordered,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-423 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-423 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-423 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-423 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-423 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-423 .panel-title>a{color:inherit}.factory-bootstrap-423 .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-423 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-423 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-423 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-423 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-423 .panel-group .panel-footer{border-top:0}.factory-bootstrap-423 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-423 .panel-default{border-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-423 .panel-primary{border-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-423 .panel-success{border-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-423 .panel-warning{border-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-423 .panel-danger{border-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-423 .panel-info{border-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-423 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-423 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-423 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-423 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-423 .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-423 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-423 .close:focus,.factory-bootstrap-423 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-423 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-423 .modal-open{overflow:hidden}.factory-bootstrap-423 .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-423 .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-423 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-423 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-423 .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-423 .modal-backdrop,.factory-bootstrap-423-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-423 .modal-backdrop.fade,.factory-bootstrap-423-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-423 .modal-backdrop.in,.factory-bootstrap-423-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-423 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-423 .modal-header .close{margin-top:-2px}.factory-bootstrap-423 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-423 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-423 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-423 .modal-footer:after,.factory-bootstrap-423 .modal-footer:before{display:table;content:" "}.factory-bootstrap-423 .modal-footer:after{clear:both}.factory-bootstrap-423 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-423 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-423 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-423 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-423 .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-423 .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-423 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-423 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-423 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-423 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-423 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-423 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-423 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-423 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-423 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-423 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .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-423 .popover.top{margin-top:-10px}.factory-bootstrap-423 .popover.right{margin-left:10px}.factory-bootstrap-423 .popover.bottom{margin-top:10px}.factory-bootstrap-423 .popover.left{margin-left:-10px}.factory-bootstrap-423 .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-423 .popover-content{padding:9px 14px}.factory-bootstrap-423 .popover .arrow,.factory-bootstrap-423 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-423 .popover .arrow{border-width:11px}.factory-bootstrap-423 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-423 .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-423 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-423 .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-423 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-423 .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-423 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-423 .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-423 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-423 .carousel{position:relative}.factory-bootstrap-423 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-423 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-423 .carousel-inner>.item>a>img,.factory-bootstrap-423 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-423 .carousel-inner>.active,.factory-bootstrap-423 .carousel-inner>.next,.factory-bootstrap-423 .carousel-inner>.prev{display:block}.factory-bootstrap-423 .carousel-inner>.active{left:0}.factory-bootstrap-423 .carousel-inner>.next,.factory-bootstrap-423 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-423 .carousel-inner>.next{left:100%}.factory-bootstrap-423 .carousel-inner>.prev{left:-100%}.factory-bootstrap-423 .carousel-inner>.next.left,.factory-bootstrap-423 .carousel-inner>.prev.right{left:0}.factory-bootstrap-423 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-423 .carousel-inner>.active.right{left:100%}.factory-bootstrap-423 .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-423 .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-423 .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-423 .carousel-control:focus,.factory-bootstrap-423 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-423 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-423 .carousel-control .icon-next,.factory-bootstrap-423 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-423 .carousel-control .icon-prev{left:50%}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-423 .carousel-control .icon-next{right:50%}.factory-bootstrap-423 .carousel-control .icon-next,.factory-bootstrap-423 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-423 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-423 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-423 .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-423 .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-423 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-423 .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-423 .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-423 .clearfix:after,.factory-bootstrap-423 .clearfix:before{display:table;content:" "}.factory-bootstrap-423 .clearfix:after{clear:both}.factory-bootstrap-423 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-423 .pull-right{float:right!important}.factory-bootstrap-423 .pull-left{float:left!important}.factory-bootstrap-423 .hide{display:none!important}.factory-bootstrap-423 .show{display:block!important}.factory-bootstrap-423 .invisible{visibility:hidden}.factory-bootstrap-423 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-423 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-423 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-423 .visible-lg,.factory-bootstrap-423 .visible-md,.factory-bootstrap-423 .visible-sm,.factory-bootstrap-423 .visible-xs,.factory-bootstrap-423 td.visible-lg,.factory-bootstrap-423 td.visible-md,.factory-bootstrap-423 td.visible-sm,.factory-bootstrap-423 td.visible-xs,.factory-bootstrap-423 th.visible-lg,.factory-bootstrap-423 th.visible-md,.factory-bootstrap-423 th.visible-sm,.factory-bootstrap-423 th.visible-xs,.factory-bootstrap-423 tr.visible-lg,.factory-bootstrap-423 tr.visible-md,.factory-bootstrap-423 tr.visible-sm,.factory-bootstrap-423 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-423 .hidden-xs{display:block!important}.factory-bootstrap-423 table.hidden-xs{display:table}.factory-bootstrap-423 tr.hidden-xs{display:table-row!important}.factory-bootstrap-423 td.hidden-xs,.factory-bootstrap-423 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-423 .hidden-sm{display:block!important}.factory-bootstrap-423 table.hidden-sm{display:table}.factory-bootstrap-423 tr.hidden-sm{display:table-row!important}.factory-bootstrap-423 td.hidden-sm,.factory-bootstrap-423 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-423 .hidden-md{display:block!important}.factory-bootstrap-423 table.hidden-md{display:table}.factory-bootstrap-423 tr.hidden-md{display:table-row!important}.factory-bootstrap-423 td.hidden-md,.factory-bootstrap-423 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-423 .hidden-lg{display:block!important}.factory-bootstrap-423 table.hidden-lg{display:table}.factory-bootstrap-423 tr.hidden-lg{display:table-row!important}.factory-bootstrap-423 td.hidden-lg,.factory-bootstrap-423 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-423 .hidden-lg.hidden-xs,.factory-bootstrap-423 td.hidden-lg.hidden-xs,.factory-bootstrap-423 th.hidden-lg.hidden-xs,.factory-bootstrap-423 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-423 .hidden-lg.hidden-sm,.factory-bootstrap-423 td.hidden-lg.hidden-sm,.factory-bootstrap-423 th.hidden-lg.hidden-sm,.factory-bootstrap-423 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-423 .hidden-lg.hidden-md,.factory-bootstrap-423 td.hidden-lg.hidden-md,.factory-bootstrap-423 th.hidden-lg.hidden-md,.factory-bootstrap-423 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-423 .hidden-lg,.factory-bootstrap-423 td.hidden-lg,.factory-bootstrap-423 th.hidden-lg,.factory-bootstrap-423 tr.hidden-lg{display:none!important}}.factory-bootstrap-423 .visible-print,.factory-bootstrap-423 td.visible-print,.factory-bootstrap-423 th.visible-print,.factory-bootstrap-423 tr.visible-print{display:none!important}@media print{.factory-bootstrap-423 .visible-print{display:block!important}.factory-bootstrap-423 table.visible-print{display:table}.factory-bootstrap-423 tr.visible-print{display:table-row!important}.factory-bootstrap-423 td.visible-print,.factory-bootstrap-423 th.visible-print{display:table-cell!important}.factory-bootstrap-423 .hidden-print,.factory-bootstrap-423 td.hidden-print,.factory-bootstrap-423 th.hidden-print,.factory-bootstrap-423 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-423 .btn-danger,.factory-bootstrap-423 .btn-default,.factory-bootstrap-423 .btn-info,.factory-bootstrap-423 .btn-primary,.factory-bootstrap-423 .btn-success,.factory-bootstrap-423 .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-423 .btn-danger.active,.factory-bootstrap-423 .btn-danger:active,.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .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-423 .btn.active,.factory-bootstrap-423 .btn:active{background-image:none}.factory-bootstrap-423 .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-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-423 .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-423 .btn-gold:focus,.factory-bootstrap-423 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-423 .btn-gold.active,.factory-bootstrap-423 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-423 .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-423 .btn-primary:focus,.factory-bootstrap-423 .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-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-423 .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-423 .btn-success:focus,.factory-bootstrap-423 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-423 .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-423 .btn-warning:focus,.factory-bootstrap-423 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-423 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-423 .btn-danger.active,.factory-bootstrap-423 .btn-danger:active,.factory-bootstrap-423 .btn-danger:focus,.factory-bootstrap-423 .btn-danger:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-423 .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-423 .btn-info:focus,.factory-bootstrap-423 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-423 .img-thumbnail,.factory-bootstrap-423 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-423 .dropdown-menu>li>a:focus,.factory-bootstrap-423 .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-423 .dropdown-menu>.active>a,.factory-bootstrap-423 .dropdown-menu>.active>a:focus,.factory-bootstrap-423 .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-423 .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-423 .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-423 .navbar-brand,.factory-bootstrap-423 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-423 .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-423 .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-423 .navbar-inverse .navbar-brand,.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-423 .navbar-fixed-bottom,.factory-bootstrap-423 .navbar-fixed-top,.factory-bootstrap-423 .navbar-static-top{border-radius:0}.factory-bootstrap-423 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-423 .alert .actions{padding-top:10px}.factory-bootstrap-423 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-423 .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-423 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-423 .alert-normal,.factory-bootstrap-423 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-423 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-423 .alert-danger a:not(.btn),.factory-bootstrap-423 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-423 .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-423 .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-423 .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-423 .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-423 .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-423 .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-423 .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-423 .list-group-item.active,.factory-bootstrap-423 .list-group-item.active:focus,.factory-bootstrap-423 .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-423 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-423 .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-423 .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-423 .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-423 .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-423 .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-423 .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-423 .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-423 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-423 .factory-hidden{display:none}.factory-bootstrap-423 .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.ectoplasm.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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-423 .btn-primary:focus,.factory-bootstrap-423 .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-423 .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-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-423 .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-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
|
libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-423 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-423 .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-423 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-423 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-423 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-423 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-423 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-423 .factory-form-group legend+.control-group{margin-top:0}
|
libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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-423 .btn-primary:focus,.factory-bootstrap-423 .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-423 .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-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-423 .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-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
|
libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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-423 .btn-primary:focus,.factory-bootstrap-423 .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-423 .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-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-423 .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-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
|
libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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-423 .btn-primary:focus,.factory-bootstrap-423 .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-423 .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-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-423 .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-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
|
libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .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-423 .btn-primary:focus,.factory-bootstrap-423 .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-423 .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-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-423 .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-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
|
libs/factory/bootstrap/assets/css-min/control.checkbox.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
#side-sortables .factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
#side-sortables .factory-bootstrap-423 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-423 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-423 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-423 .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-423 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-423 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-423 .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-423 .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-423 .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-423 .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-423 .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-423 .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-423 .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
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-423 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-423 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-423 .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-423 .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-423 .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-423 .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-423 .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-423 .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-423 .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-423 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-423 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-423 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-423 .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
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-423 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-423 .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-423 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-423 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-423 .factory-mtextbox-add-item{display:block;margin-top:10px}
|
libs/factory/bootstrap/assets/css-min/holder.more-link.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-423 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-423 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-423 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-423 .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-423 .factory-tab .factory-more-link-hide:hover{color:#999}
|
libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js
CHANGED
@@ -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.
|
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.factoryBootstrap423_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.factoryBootstrap423_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/control.checkbox.min.js
CHANGED
@@ -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.
|
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.factoryBootstrap423_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.factoryBootstrap423_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-423 .factory-checkbox.factory-buttons-way").factoryBootstrap423_checkboxControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.dropdown.min.js
CHANGED
@@ -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.
|
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.factoryBootstrap423_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.factoryBootstrap423_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-423 .factory-dropdown").factoryBootstrap423_dropdownControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.list.min.js
CHANGED
@@ -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.
|
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.factoryBootstrap423_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.factoryBootstrap423_listControl.Constructor=b,a(function(){a(".factory-bootstrap-423 .factory-list").factoryBootstrap423_listControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js
CHANGED
@@ -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.
|
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.factoryBootstrap423_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-423 .factory-multiple-textbox-group").factoryBootstrap423_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_423_LOADED' ) ) {
|
23 |
return;
|
24 |
}
|
25 |
|
26 |
+
define( 'FACTORY_BOOTSTRAP_423_VERSION', '4.2.3' );
|
27 |
+
define( 'FACTORY_BOOTSTRAP_423_LOADED', true );
|
28 |
|
29 |
if ( ! defined( 'FACTORY_FLAT_ADMIN' ) ) {
|
30 |
define( 'FACTORY_FLAT_ADMIN', true );
|
31 |
}
|
32 |
|
33 |
+
define( 'FACTORY_BOOTSTRAP_423_DIR', dirname( __FILE__ ) );
|
34 |
+
define( 'FACTORY_BOOTSTRAP_423_URL', plugins_url( null, __FILE__ ) );
|
35 |
|
36 |
+
require_once( FACTORY_BOOTSTRAP_423_DIR . '/includes/functions.php' );
|
37 |
|
38 |
/**
|
39 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
40 |
*/
|
41 |
+
add_action( 'wbcr_factory_bootstrap_423_plugin_created', function ( $plugin ) {
|
42 |
+
$manager = new Wbcr_FactoryBootstrap423_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_FactoryBootstrap422_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_FactoryBootstrap422_Manager {
|
|
111 |
*/
|
112 |
public function loadAssets( $hook ) {
|
113 |
|
114 |
-
do_action( '
|
115 |
-
do_action( '
|
116 |
|
117 |
$dependencies = [];
|
118 |
if ( ! empty( $this->scripts ) ) {
|
@@ -142,8 +142,8 @@ class Wbcr_FactoryBootstrap422_Manager {
|
|
142 |
$color_name = get_user_meta( $user_id, 'admin_color', true );
|
143 |
|
144 |
if ( $color_name !== 'fresh' ) {
|
145 |
-
if ( file_exists(
|
146 |
-
wp_enqueue_style( 'wbcr-factory-bootstrap-
|
147 |
}
|
148 |
}
|
149 |
|
@@ -178,10 +178,10 @@ class Wbcr_FactoryBootstrap422_Manager {
|
|
178 |
if( !window.factory ) {
|
179 |
window.factory = {};
|
180 |
}
|
181 |
-
if( !window.factory.
|
182 |
-
window.factory.
|
183 |
}
|
184 |
-
window.factory.
|
185 |
primaryDark: '<?php echo $primary_dark ?>',
|
186 |
primaryLight: '<?php echo $primary_light ?>'
|
187 |
};
|
@@ -206,8 +206,8 @@ class Wbcr_FactoryBootstrap422_Manager {
|
|
206 |
$cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
|
207 |
|
208 |
$cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
|
209 |
-
$cache_dir_path =
|
210 |
-
$cache_dir_url =
|
211 |
|
212 |
$cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
|
213 |
$cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
|
@@ -234,7 +234,7 @@ class Wbcr_FactoryBootstrap422_Manager {
|
|
234 |
foreach ( $sripts as $script_to_load ) {
|
235 |
$script_to_load = sanitize_text_field( $script_to_load );
|
236 |
if ( $cache_enable && $cache_dir_exists ) {
|
237 |
-
$fname =
|
238 |
if ( file_exists( $fname ) ) {
|
239 |
$f = @fopen( $fname, 'r' );
|
240 |
$concat_files[] = @fread( $f, filesize( $fname ) );
|
@@ -242,9 +242,9 @@ class Wbcr_FactoryBootstrap422_Manager {
|
|
242 |
}
|
243 |
} else {
|
244 |
if ( $type == 'js' ) {
|
245 |
-
wp_enqueue_script( md5( $script_to_load ),
|
246 |
} else {
|
247 |
-
wp_enqueue_style( md5( $script_to_load ),
|
248 |
}
|
249 |
$is_first = false;
|
250 |
}
|
20 |
*
|
21 |
* @since 3.2.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryBootstrap423_Manager {
|
24 |
|
25 |
/**
|
26 |
* A plugin for which the manager was created.
|
27 |
*
|
28 |
* @since 3.2.0
|
29 |
+
* @var Wbcr_Factory422_Plugin
|
30 |
*/
|
31 |
public $plugin;
|
32 |
|
51 |
*
|
52 |
* @since 1.0.0
|
53 |
*/
|
54 |
+
public function __construct( Wbcr_Factory422_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_422_bootstrap_enqueue_scripts', $hook );
|
115 |
+
do_action( 'wbcr_factory_422_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
|
116 |
|
117 |
$dependencies = [];
|
118 |
if ( ! empty( $this->scripts ) ) {
|
142 |
$color_name = get_user_meta( $user_id, 'admin_color', true );
|
143 |
|
144 |
if ( $color_name !== 'fresh' ) {
|
145 |
+
if ( file_exists( FACTORY_BOOTSTRAP_423_DIR . '/assets/flat/css/bootstrap.' . $color_name . '.css' ) ) {
|
146 |
+
wp_enqueue_style( 'wbcr-factory-bootstrap-423-colors', FACTORY_BOOTSTRAP_423_URL . '/assets/flat/css/bootstrap.' . $color_name . '.css' );
|
147 |
}
|
148 |
}
|
149 |
|
178 |
if( !window.factory ) {
|
179 |
window.factory = {};
|
180 |
}
|
181 |
+
if( !window.factory.factoryBootstrap423 ) {
|
182 |
+
window.factory.factoryBootstrap423 = {};
|
183 |
}
|
184 |
+
window.factory.factoryBootstrap423.colors = {
|
185 |
primaryDark: '<?php echo $primary_dark ?>',
|
186 |
primaryLight: '<?php echo $primary_light ?>'
|
187 |
};
|
206 |
$cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
|
207 |
|
208 |
$cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
|
209 |
+
$cache_dir_path = FACTORY_BOOTSTRAP_423_DIR . '/assets/cache/';
|
210 |
+
$cache_dir_url = FACTORY_BOOTSTRAP_423_URL . '/assets/cache/';
|
211 |
|
212 |
$cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
|
213 |
$cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
|
234 |
foreach ( $sripts as $script_to_load ) {
|
235 |
$script_to_load = sanitize_text_field( $script_to_load );
|
236 |
if ( $cache_enable && $cache_dir_exists ) {
|
237 |
+
$fname = FACTORY_BOOTSTRAP_423_DIR . "/assets/$type-min/$script_to_load.min." . $type;
|
238 |
if ( file_exists( $fname ) ) {
|
239 |
$f = @fopen( $fname, 'r' );
|
240 |
$concat_files[] = @fread( $f, filesize( $fname ) );
|
242 |
}
|
243 |
} else {
|
244 |
if ( $type == 'js' ) {
|
245 |
+
wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_423_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
|
246 |
} else {
|
247 |
+
wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_423_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
|
248 |
}
|
249 |
$is_first = false;
|
250 |
}
|
libs/factory/clearfy/assets/css/clearfy-base.css
CHANGED
@@ -5,18 +5,18 @@
|
|
5 |
* @copyright Webcraftic 06.10.2018
|
6 |
* @sicne 2.0.5
|
7 |
*/
|
8 |
-
#WBCR .wbcr-factory-pages-
|
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 +35,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 +63,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 +89,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 +112,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 +131,44 @@
|
|
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 .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion {
|
9 |
padding: 30px 80px;
|
10 |
}
|
11 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion h3 {
|
12 |
margin: 0 0 20px;
|
13 |
}
|
14 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-inner-contanier {
|
15 |
border: 2px dashed #8bc34a;
|
16 |
background: #fff;
|
17 |
padding: 20px;
|
18 |
}
|
19 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-activate-premium {
|
20 |
display: inline-block;
|
21 |
cursor: pointer;
|
22 |
line-height: 16px;
|
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-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-activate-premium:active {
|
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-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-activate-premium:focus {
|
44 |
outline: none;
|
45 |
border: 0;
|
46 |
}
|
47 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-purchase-premium {
|
48 |
display: inline-block;
|
49 |
cursor: pointer;
|
50 |
line-height: 16px;
|
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-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-purchase-premium:active {
|
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-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-purchase-premium:focus {
|
72 |
outline: none;
|
73 |
border: 0;
|
74 |
}
|
75 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion {
|
76 |
background: #fff;
|
77 |
color: #353535;
|
78 |
font-weight: 600;
|
79 |
border: 2px dashed #8bc34a;
|
80 |
}
|
81 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion h3 {
|
82 |
margin: 0 0 20px;
|
83 |
padding: 10px 0;
|
84 |
text-align: center;
|
89 |
vertical-align: middle;
|
90 |
text-transform: uppercase;
|
91 |
}
|
92 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul {
|
93 |
position: relative;
|
94 |
margin-bottom: 20px;
|
95 |
}
|
96 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul li {
|
97 |
font-size: 15px;
|
98 |
padding: 7px;
|
99 |
padding-left: 20px;
|
100 |
}
|
101 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul li:before {
|
102 |
content: " ";
|
103 |
display: inline-block;
|
104 |
width: 0.4em;
|
112 |
-o-transform: rotate(45deg);
|
113 |
transform: rotate(45deg);
|
114 |
}
|
115 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion .wbcr-factory-purchase-premium {
|
116 |
display: block;
|
117 |
cursor: pointer;
|
118 |
line-height: 16px;
|
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-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion .wbcr-factory-purchase-premium:active {
|
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-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion .wbcr-factory-purchase-premium:focus {
|
140 |
outline: none;
|
141 |
border: 0;
|
142 |
}
|
143 |
@media screen and (max-width: 1550px) {
|
144 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-pro-suggetion {
|
145 |
padding: 10px 80px;
|
146 |
}
|
147 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion {
|
148 |
padding: 10px;
|
149 |
}
|
150 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion h3 {
|
151 |
margin: 0 0 20px;
|
152 |
padding: 10px 0;
|
153 |
font-size: 13px;
|
154 |
font-weight: 600;
|
155 |
}
|
156 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul {
|
157 |
margin-bottom: 20px;
|
158 |
}
|
159 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul li {
|
160 |
font-size: 13px;
|
161 |
padding: 2px;
|
162 |
padding-left: 10px;
|
163 |
}
|
164 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul li:before {
|
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-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion .wbcr-factory-purchase-premium {
|
172 |
font-weight: 700;
|
173 |
line-height: 16px;
|
174 |
font-size: 12px;
|
libs/factory/clearfy/assets/js/globals.js
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
* Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
|
3 |
* и самого Clearfy.
|
4 |
*
|
5 |
-
* $.
|
6 |
-
* $.
|
7 |
*
|
8 |
* Copyright 2018, Webcraftic, http://webcraftic.com
|
9 |
*
|
@@ -13,11 +13,11 @@
|
|
13 |
(function($) {
|
14 |
'use strict';
|
15 |
|
16 |
-
if( !$.
|
17 |
-
$.
|
18 |
}
|
19 |
|
20 |
-
$.
|
21 |
/**
|
22 |
* Создает и показывает уведомление внутри интерфейса Clearfy
|
23 |
*
|
@@ -63,12 +63,12 @@
|
|
63 |
/**
|
64 |
* Хук выполняет проивольную функцию, после того как уведомление отображено
|
65 |
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
66 |
-
* Пример регистрации хука $.
|
67 |
* function(noticeId) {});
|
68 |
* @param {string} noticeId - id уведомления
|
69 |
*/
|
70 |
-
$.
|
71 |
-
$.
|
72 |
});
|
73 |
|
74 |
return noticeId;
|
@@ -93,13 +93,13 @@
|
|
93 |
/**
|
94 |
* Хук выполняет проивольную функцию, после того как уведомление скрыто
|
95 |
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
96 |
-
* Пример регистрации хука $.
|
97 |
* function(noticeId)
|
98 |
* {});
|
99 |
* @param {string} noticeId - id уведомления
|
100 |
*/
|
101 |
-
$.
|
102 |
-
$.
|
103 |
});
|
104 |
},
|
105 |
|
@@ -116,7 +116,7 @@
|
|
116 |
|
117 |
};
|
118 |
|
119 |
-
$.
|
120 |
|
121 |
/**
|
122 |
* A set of registered filters.
|
@@ -183,20 +183,20 @@
|
|
183 |
}
|
184 |
};
|
185 |
|
186 |
-
$.
|
187 |
|
188 |
/**
|
189 |
* Applies filters to a given input value.
|
190 |
*/
|
191 |
run: function(filterName, args) {
|
192 |
-
$.
|
193 |
},
|
194 |
|
195 |
/**
|
196 |
* Registers a new filter.
|
197 |
*/
|
198 |
add: function(filterName, callback, priority) {
|
199 |
-
$.
|
200 |
}
|
201 |
};
|
202 |
|
2 |
* Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
|
3 |
* и самого Clearfy.
|
4 |
*
|
5 |
+
* $.wbcr_factory_clearfy_214.app - методы для работы с приложением. Скрыть, показать уведомления.
|
6 |
+
* $.wbcr_factory_clearfy_214.hooks - это иммитация хуков и фильтров аналогично тем, что используются в Wordpress
|
7 |
*
|
8 |
* Copyright 2018, Webcraftic, http://webcraftic.com
|
9 |
*
|
13 |
(function($) {
|
14 |
'use strict';
|
15 |
|
16 |
+
if( !$.wbcr_factory_clearfy_214 ) {
|
17 |
+
$.wbcr_factory_clearfy_214 = {};
|
18 |
}
|
19 |
|
20 |
+
$.wbcr_factory_clearfy_214.app = $.wbcr_factory_clearfy_214.app || {
|
21 |
/**
|
22 |
* Создает и показывает уведомление внутри интерфейса Clearfy
|
23 |
*
|
63 |
/**
|
64 |
* Хук выполняет проивольную функцию, после того как уведомление отображено
|
65 |
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
66 |
+
* Пример регистрации хука $.wbcr_factory_clearfy_214.hooks.add('wbcr/factory_clearfy_214/updated',
|
67 |
* function(noticeId) {});
|
68 |
* @param {string} noticeId - id уведомления
|
69 |
*/
|
70 |
+
$.wbcr_factory_clearfy_214.hooks.run('wbcr/factory_clearfy_214/showed_notice', [noticeId]);
|
71 |
+
$.wbcr_factory_clearfy_214.hooks.run('wbcr/clearfy/showed_notice', [noticeId]);
|
72 |
});
|
73 |
|
74 |
return noticeId;
|
93 |
/**
|
94 |
* Хук выполняет проивольную функцию, после того как уведомление скрыто
|
95 |
* Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
|
96 |
+
* Пример регистрации хука $.wbcr_factory_clearfy_214.hooks.add('wbcr/factory_clearfy_214/updated',
|
97 |
* function(noticeId)
|
98 |
* {});
|
99 |
* @param {string} noticeId - id уведомления
|
100 |
*/
|
101 |
+
$.wbcr_factory_clearfy_214.hooks.run('wbcr/factory_clearfy_214/hidded_notice', [noticeId]);
|
102 |
+
$.wbcr_factory_clearfy_214.hooks.run('wbcr/clearfy/hidded_notice', [noticeId]);
|
103 |
});
|
104 |
},
|
105 |
|
116 |
|
117 |
};
|
118 |
|
119 |
+
$.wbcr_factory_clearfy_214.filters = $.wbcr_factory_clearfy_214.filters || {
|
120 |
|
121 |
/**
|
122 |
* A set of registered filters.
|
183 |
}
|
184 |
};
|
185 |
|
186 |
+
$.wbcr_factory_clearfy_214.hooks = $.wbcr_factory_clearfy_214.hooks || {
|
187 |
|
188 |
/**
|
189 |
* Applies filters to a given input value.
|
190 |
*/
|
191 |
run: function(filterName, args) {
|
192 |
+
$.wbcr_factory_clearfy_214.filters.run(filterName, args);
|
193 |
},
|
194 |
|
195 |
/**
|
196 |
* Registers a new filter.
|
197 |
*/
|
198 |
add: function(filterName, callback, priority) {
|
199 |
+
$.wbcr_factory_clearfy_214.filters.add(filterName, callback, priority);
|
200 |
}
|
201 |
};
|
202 |
|
libs/factory/clearfy/assets/js/license-manager.js
CHANGED
@@ -20,7 +20,7 @@ jQuery(function($) {
|
|
20 |
licenseAction = $(this).data('action');
|
21 |
|
22 |
for( i = 0; i < allNotices.length; i++ ) {
|
23 |
-
$.
|
24 |
}
|
25 |
|
26 |
$('.wcl-control-btn').hide();
|
@@ -53,7 +53,7 @@ jQuery(function($) {
|
|
53 |
|
54 |
if( response.data ) {
|
55 |
console.log(response.data.error_message);
|
56 |
-
noticeId = $.
|
57 |
allNotices.push(noticeId);
|
58 |
} else {
|
59 |
console.log(response);
|
@@ -63,7 +63,7 @@ jQuery(function($) {
|
|
63 |
}
|
64 |
|
65 |
if( response.data && response.data.message ) {
|
66 |
-
noticeId = $.
|
67 |
allNotices.push(noticeId);
|
68 |
|
69 |
// todo: доработать генерацию формы, вместо перезагрузки страницы
|
@@ -80,7 +80,7 @@ jQuery(function($) {
|
|
80 |
console.log(xhr.responseText);
|
81 |
console.log(thrownError);
|
82 |
|
83 |
-
var noticeId = $.
|
84 |
|
85 |
allNotices.push(noticeId);
|
86 |
}
|
20 |
licenseAction = $(this).data('action');
|
21 |
|
22 |
for( i = 0; i < allNotices.length; i++ ) {
|
23 |
+
$.wbcr_factory_clearfy_214.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_214.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_214.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_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
|
84 |
|
85 |
allNotices.push(noticeId);
|
86 |
}
|
libs/factory/clearfy/boot.php
CHANGED
@@ -14,22 +14,22 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if ( defined( '
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
define( '
|
22 |
|
23 |
-
define( '
|
24 |
|
25 |
-
define( '
|
26 |
-
define( '
|
27 |
|
28 |
-
load_plugin_textdomain( '
|
29 |
|
30 |
-
require(
|
31 |
-
require(
|
32 |
-
require(
|
33 |
|
34 |
// module provides function only for the admin area
|
35 |
if ( is_admin() ) {
|
@@ -38,12 +38,12 @@ if ( is_admin() ) {
|
|
38 |
* на все страницы админпанели.
|
39 |
*/
|
40 |
add_action( 'admin_enqueue_scripts', function () {
|
41 |
-
wp_enqueue_script( 'wbcr-factory-clearfy-
|
42 |
} );
|
43 |
|
44 |
-
if ( defined( '
|
45 |
-
require(
|
46 |
-
require(
|
47 |
-
require(
|
48 |
}
|
49 |
}
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if ( defined( 'FACTORY_CLEARFY_214_LOADED' ) ) {
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
define( 'FACTORY_CLEARFY_214_LOADED', true );
|
22 |
|
23 |
+
define( 'FACTORY_CLEARFY_214', '2.1.4' );
|
24 |
|
25 |
+
define( 'FACTORY_CLEARFY_214_DIR', dirname( __FILE__ ) );
|
26 |
+
define( 'FACTORY_CLEARFY_214_URL', plugins_url( null, __FILE__ ) );
|
27 |
|
28 |
+
load_plugin_textdomain( 'wbcr_factory_clearfy_214', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
|
29 |
|
30 |
+
require( FACTORY_CLEARFY_214_DIR . '/includes/ajax-handlers.php' );
|
31 |
+
require( FACTORY_CLEARFY_214_DIR . '/includes/class-helpers.php' );
|
32 |
+
require( FACTORY_CLEARFY_214_DIR . '/includes/class-configurate.php' );
|
33 |
|
34 |
// module provides function only for the admin area
|
35 |
if ( is_admin() ) {
|
38 |
* на все страницы админпанели.
|
39 |
*/
|
40 |
add_action( 'admin_enqueue_scripts', function () {
|
41 |
+
wp_enqueue_script( 'wbcr-factory-clearfy-214-global', FACTORY_CLEARFY_214_URL . '/assets/js/globals.js', [ 'jquery' ], FACTORY_CLEARFY_214 );
|
42 |
} );
|
43 |
|
44 |
+
if ( defined( 'FACTORY_PAGES_422_LOADED' ) ) {
|
45 |
+
require( FACTORY_CLEARFY_214_DIR . '/pages/class-pages.php' );
|
46 |
+
require( FACTORY_CLEARFY_214_DIR . '/pages/class-page-more-features.php' );
|
47 |
+
require( FACTORY_CLEARFY_214_DIR . '/pages/class-page-license.php' );
|
48 |
}
|
49 |
}
|
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_213_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_213_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_Factory422_Plugin $plugin_instance
|
21 |
*
|
22 |
*/
|
23 |
+
function wbcr_factory_clearfy_214_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_214' ) ] );
|
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_214' ) ] );
|
49 |
} else {
|
50 |
$plugin_instance->premium->activate( $license_key );
|
51 |
+
$success_message = __( 'Your license has been successfully activated', 'wbcr_factory_clearfy_214' );
|
52 |
}
|
53 |
break;
|
54 |
case 'deactivate':
|
55 |
$plugin_instance->premium->deactivate();
|
56 |
+
$success_message = __( 'The license is deactivated', 'wbcr_factory_clearfy_214' );
|
57 |
break;
|
58 |
case 'sync':
|
59 |
$plugin_instance->premium->sync();
|
60 |
+
$success_message = __( 'The license has been updated', 'wbcr_factory_clearfy_214' );
|
61 |
break;
|
62 |
case 'unsubscribe':
|
63 |
$plugin_instance->premium->cancel_paid_subscription();
|
64 |
+
$success_message = __( 'Subscription success cancelled', 'wbcr_factory_clearfy_214' );
|
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_FactoryClearfy214_Configurate {
|
17 |
|
18 |
/**
|
19 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
20 |
*/
|
21 |
+
public function __construct( Wbcr_Factory422_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 |
* Ссылка по умолчанию (анг)
|
14 |
* @copyright (c) 2018, Webcraftic Ltd
|
15 |
*
|
16 |
*/
|
17 |
+
class WbcrFactoryClearfy214_Helpers {
|
18 |
|
19 |
/**
|
20 |
* Ссылка по умолчанию (анг)
|
libs/factory/clearfy/langs/{wbcr_factory_clearfy_213-ru_RU.mo → wbcr_factory_clearfy_214-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/clearfy/langs/{wbcr_factory_clearfy_213-ru_RU.po → wbcr_factory_clearfy_214-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_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
80 |
|
81 |
/**
|
82 |
* @since 2.0.7
|
83 |
-
* @var \WBCR\
|
84 |
*/
|
85 |
protected $premium;
|
86 |
|
@@ -98,7 +98,7 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
98 |
|
99 |
/**
|
100 |
* @since 2.0.7
|
101 |
-
* @var \WBCR\
|
102 |
*/
|
103 |
protected $premium_license;
|
104 |
|
@@ -107,9 +107,9 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
107 |
|
108 |
/**
|
109 |
* {@inheritdoc}
|
110 |
-
* @param
|
111 |
*/
|
112 |
-
public function __construct(
|
113 |
$this->plugin = $plugin;
|
114 |
|
115 |
parent::__construct( $plugin );
|
@@ -134,8 +134,8 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
134 |
public function assets( $scripts, $styles ) {
|
135 |
parent::assets( $scripts, $styles );
|
136 |
|
137 |
-
$this->styles->add(
|
138 |
-
$this->scripts->add(
|
139 |
}
|
140 |
|
141 |
/**
|
@@ -144,7 +144,7 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
144 |
* @since 2.0.7
|
145 |
*/
|
146 |
public function ajax_handler() {
|
147 |
-
|
148 |
}
|
149 |
|
150 |
/**
|
@@ -153,7 +153,7 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
153 |
public function showPageContent() {
|
154 |
?>
|
155 |
<div id="wcl-license-wrapper"
|
156 |
-
data-loader="<?php echo
|
157 |
data-plugin-name="<?php echo esc_attr( $this->plugin_name ); ?>"
|
158 |
data-nonce="<?php echo wp_create_nonce( "clearfy_activate_license_for_{$this->plugin_name}" ) ?>">
|
159 |
<?php $this->show_license_form(); ?>
|
@@ -250,16 +250,16 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
250 |
public function show_license_form( $notice = false ) {
|
251 |
?>
|
252 |
<div id="license-manager"
|
253 |
-
class="factory-bootstrap-
|
254 |
<div>
|
255 |
-
<h3><?php printf( __( 'Activate %s', '
|
256 |
<?php echo $this->get_plan_description() ?>
|
257 |
</div>
|
258 |
<br>
|
259 |
<?php if ( is_wp_error( $notice ) ) : ?>
|
260 |
<div class="license-message <?= $this->get_license_type() ?>-license-message">
|
261 |
<div class="alert <?php echo esc_attr( $notice->get_error_code() ); ?>">
|
262 |
-
<h4 class="alert-heading"><?php _e( $notice->get_error_message(), '
|
263 |
</div>
|
264 |
</div>
|
265 |
<?php endif; ?>
|
@@ -269,20 +269,20 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
269 |
<a href="<?php echo $this->plugin->get_support()->get_pricing_url( true, 'license_page' ); ?>"
|
270 |
class="purchase-premium" target="_blank" rel="noopener">
|
271 |
<span class="btn btn-gold btn-inner-wrap">
|
272 |
-
<?php printf( __( 'Upgrade to Premium for $%s', '
|
273 |
</span>
|
274 |
</a>
|
275 |
-
<p><?php printf( __( 'Your current license for %1$s:', '
|
276 |
<?php endif; ?>
|
277 |
<div class="license-details-block <?= $this->get_license_type() ?>-details-block">
|
278 |
<?php if ( $this->is_premium ): ?>
|
279 |
<a data-action="deactivate" href="#"
|
280 |
class="btn btn-default btn-small license-delete-button wcl-control-btn">
|
281 |
-
<?php _e( 'Delete Key', '
|
282 |
</a>
|
283 |
<a data-action="sync" href="#"
|
284 |
class="btn btn-default btn-small license-synchronization-button wcl-control-btn">
|
285 |
-
<?php _e( 'Synchronization', '
|
286 |
</a>
|
287 |
<?php endif; ?>
|
288 |
<h3>
|
@@ -300,17 +300,17 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
300 |
</div>
|
301 |
<?php endif; ?>
|
302 |
<div class="license-key-description">
|
303 |
-
<p><?php _e( 'Public License is a GPLv2 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.', '
|
304 |
</p>
|
305 |
<?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
|
306 |
<p class="activate-trial-hint">
|
307 |
-
<?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>', '
|
308 |
</p>
|
309 |
<?php endif; ?>
|
310 |
|
311 |
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
312 |
<p class="activate-error-hint">
|
313 |
-
<?php printf( __( 'Your license has expired, please extend the license to get updates and support.', '
|
314 |
</p>
|
315 |
<?php endif; ?>
|
316 |
</div>
|
@@ -318,19 +318,19 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
318 |
<tr>
|
319 |
<!--<td class="license-param license-param-domain">
|
320 |
<span class="license-value"><?php echo esc_attr( $_SERVER['SERVER_NAME'] ); ?></span>
|
321 |
-
<span class="license-value-name"><?php _e( 'domain', '
|
322 |
</td>-->
|
323 |
<td class="license-param license-param-days">
|
324 |
<span class="license-value"><?= $this->get_plan() ?></span>
|
325 |
-
<span class="license-value-name"><?php _e( 'plan', '
|
326 |
</td>
|
327 |
<?php if ( $this->is_premium ) : ?>
|
328 |
<td class="license-param license-param-sites">
|
329 |
<span class="license-value">
|
330 |
<?php echo esc_attr( $this->premium_license->get_count_active_sites() ); ?>
|
331 |
-
<?php _e( 'of', '
|
332 |
<?php echo esc_attr( $this->premium_license->get_sites_quota() ); ?></span>
|
333 |
-
<span class="license-value-name"><?php _e( 'active sites', '
|
334 |
</td>
|
335 |
<?php endif; ?>
|
336 |
<td class="license-param license-param-version">
|
@@ -340,8 +340,8 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
340 |
<?php if ( $this->is_premium ): ?>
|
341 |
<td class="license-param license-param-days">
|
342 |
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
343 |
-
<span class="license-value"><?php _e( 'EXPIRED!', '
|
344 |
-
<span class="license-value-name"><?php _e( 'please update the key', '
|
345 |
<?php else: ?>
|
346 |
<span class="license-value">
|
347 |
<?php
|
@@ -351,9 +351,9 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
351 |
echo $this->get_expiration_days();
|
352 |
}
|
353 |
?>
|
354 |
-
<small> <?php _e( 'day(s)', '
|
355 |
</span>
|
356 |
-
<span class="license-value-name"><?php _e( 'remained', '
|
357 |
<?php endif; ?>
|
358 |
</td>
|
359 |
<?php endif; ?>
|
@@ -364,24 +364,24 @@ class Wbcr_FactoryClearfy213_LicensePage extends Wbcr_FactoryClearfy213_PageBase
|
|
364 |
<div class="license-input">
|
365 |
<form action="" method="post">
|
366 |
<?php if ( $this->is_premium ): ?>
|
367 |
-
<p><?php _e( 'Have a key to activate the premium version? Paste it here:', '
|
368 |
<?php else: ?>
|
369 |
-
<p><?php _e( 'Have a key to activate the plugin? Paste it here:', '
|
370 |
<p>
|
371 |
<?php endif; ?>
|
372 |
<button data-action="activate" class="btn btn-default wcl-control-btn" type="button" id="license-submit">
|
373 |
-
<?php _e( 'Submit Key', '
|
374 |
</button>
|
375 |
<div class="license-key-wrap">
|
376 |
<input type="text" id="license-key" name="licensekey" value="" class="form-control"/>
|
377 |
</div>
|
378 |
<?php if ( $this->is_premium ): ?>
|
379 |
<p style="margin-top: 10px;">
|
380 |
-
<?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!', '
|
381 |
</p>
|
382 |
<?php else: ?>
|
383 |
<p style="margin-top: 10px;">
|
384 |
-
<?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.', '
|
385 |
</p>
|
386 |
<?php endif; ?>
|
387 |
</form>
|
11 |
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
|
12 |
* @since 2.0.7
|
13 |
*/
|
14 |
+
class Wbcr_FactoryClearfy214_LicensePage extends Wbcr_FactoryClearfy214_PageBase {
|
15 |
|
16 |
/**
|
17 |
* {@inheritdoc}
|
80 |
|
81 |
/**
|
82 |
* @since 2.0.7
|
83 |
+
* @var \WBCR\Factory_422\Premium\Provider
|
84 |
*/
|
85 |
protected $premium;
|
86 |
|
98 |
|
99 |
/**
|
100 |
* @since 2.0.7
|
101 |
+
* @var \WBCR\Factory_422\Premium\Interfaces\License
|
102 |
*/
|
103 |
protected $premium_license;
|
104 |
|
107 |
|
108 |
/**
|
109 |
* {@inheritdoc}
|
110 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
111 |
*/
|
112 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
113 |
$this->plugin = $plugin;
|
114 |
|
115 |
parent::__construct( $plugin );
|
134 |
public function assets( $scripts, $styles ) {
|
135 |
parent::assets( $scripts, $styles );
|
136 |
|
137 |
+
$this->styles->add( FACTORY_CLEARFY_214_URL . '/assets/css/license-manager.css' );
|
138 |
+
$this->scripts->add( FACTORY_CLEARFY_214_URL . '/assets/js/license-manager.js' );
|
139 |
}
|
140 |
|
141 |
/**
|
144 |
* @since 2.0.7
|
145 |
*/
|
146 |
public function ajax_handler() {
|
147 |
+
wbcr_factory_clearfy_214_check_license( $this->plugin );
|
148 |
}
|
149 |
|
150 |
/**
|
153 |
public function showPageContent() {
|
154 |
?>
|
155 |
<div id="wcl-license-wrapper"
|
156 |
+
data-loader="<?php echo FACTORY_CLEARFY_214_URL . '/assets/img/loader.gif'; ?>"
|
157 |
data-plugin-name="<?php echo esc_attr( $this->plugin_name ); ?>"
|
158 |
data-nonce="<?php echo wp_create_nonce( "clearfy_activate_license_for_{$this->plugin_name}" ) ?>">
|
159 |
<?php $this->show_license_form(); ?>
|
250 |
public function show_license_form( $notice = false ) {
|
251 |
?>
|
252 |
<div id="license-manager"
|
253 |
+
class="factory-bootstrap-423 onp-page-wrap <?= $this->get_license_type() ?>-license-manager-content">
|
254 |
<div>
|
255 |
+
<h3><?php printf( __( 'Activate %s', 'wbcr_factory_clearfy_214' ), $this->plan_name ) ?></h3>
|
256 |
<?php echo $this->get_plan_description() ?>
|
257 |
</div>
|
258 |
<br>
|
259 |
<?php if ( is_wp_error( $notice ) ) : ?>
|
260 |
<div class="license-message <?= $this->get_license_type() ?>-license-message">
|
261 |
<div class="alert <?php echo esc_attr( $notice->get_error_code() ); ?>">
|
262 |
+
<h4 class="alert-heading"><?php _e( $notice->get_error_message(), 'wbcr_factory_clearfy_214' ) ?></h4>
|
263 |
</div>
|
264 |
</div>
|
265 |
<?php endif; ?>
|
269 |
<a href="<?php echo $this->plugin->get_support()->get_pricing_url( true, 'license_page' ); ?>"
|
270 |
class="purchase-premium" target="_blank" rel="noopener">
|
271 |
<span class="btn btn-gold btn-inner-wrap">
|
272 |
+
<?php printf( __( 'Upgrade to Premium for $%s', 'wbcr_factory_clearfy_214' ), $this->premium->get_price() ) ?>
|
273 |
</span>
|
274 |
</a>
|
275 |
+
<p><?php printf( __( 'Your current license for %1$s:', 'wbcr_factory_clearfy_214' ), $this->plugin->getPluginTitle() ) ?></p>
|
276 |
<?php endif; ?>
|
277 |
<div class="license-details-block <?= $this->get_license_type() ?>-details-block">
|
278 |
<?php if ( $this->is_premium ): ?>
|
279 |
<a data-action="deactivate" href="#"
|
280 |
class="btn btn-default btn-small license-delete-button wcl-control-btn">
|
281 |
+
<?php _e( 'Delete Key', 'wbcr_factory_clearfy_214' ) ?>
|
282 |
</a>
|
283 |
<a data-action="sync" href="#"
|
284 |
class="btn btn-default btn-small license-synchronization-button wcl-control-btn">
|
285 |
+
<?php _e( 'Synchronization', 'wbcr_factory_clearfy_214' ) ?>
|
286 |
</a>
|
287 |
<?php endif; ?>
|
288 |
<h3>
|
300 |
</div>
|
301 |
<?php endif; ?>
|
302 |
<div class="license-key-description">
|
303 |
+
<p><?php _e( 'Public License is a GPLv2 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_214' ) ?>
|
304 |
</p>
|
305 |
<?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
|
306 |
<p class="activate-trial-hint">
|
307 |
+
<?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_214' ) ?>
|
308 |
</p>
|
309 |
<?php endif; ?>
|
310 |
|
311 |
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
312 |
<p class="activate-error-hint">
|
313 |
+
<?php printf( __( 'Your license has expired, please extend the license to get updates and support.', 'wbcr_factory_clearfy_214' ), '' ) ?>
|
314 |
</p>
|
315 |
<?php endif; ?>
|
316 |
</div>
|
318 |
<tr>
|
319 |
<!--<td class="license-param license-param-domain">
|
320 |
<span class="license-value"><?php echo esc_attr( $_SERVER['SERVER_NAME'] ); ?></span>
|
321 |
+
<span class="license-value-name"><?php _e( 'domain', 'wbcr_factory_clearfy_214' ) ?></span>
|
322 |
</td>-->
|
323 |
<td class="license-param license-param-days">
|
324 |
<span class="license-value"><?= $this->get_plan() ?></span>
|
325 |
+
<span class="license-value-name"><?php _e( 'plan', 'wbcr_factory_clearfy_214' ) ?></span>
|
326 |
</td>
|
327 |
<?php if ( $this->is_premium ) : ?>
|
328 |
<td class="license-param license-param-sites">
|
329 |
<span class="license-value">
|
330 |
<?php echo esc_attr( $this->premium_license->get_count_active_sites() ); ?>
|
331 |
+
<?php _e( 'of', 'wbcr_factory_clearfy_214' ) ?>
|
332 |
<?php echo esc_attr( $this->premium_license->get_sites_quota() ); ?></span>
|
333 |
+
<span class="license-value-name"><?php _e( 'active sites', 'wbcr_factory_clearfy_214' ) ?></span>
|
334 |
</td>
|
335 |
<?php endif; ?>
|
336 |
<td class="license-param license-param-version">
|
340 |
<?php if ( $this->is_premium ): ?>
|
341 |
<td class="license-param license-param-days">
|
342 |
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
343 |
+
<span class="license-value"><?php _e( 'EXPIRED!', 'wbcr_factory_clearfy_214' ) ?></span>
|
344 |
+
<span class="license-value-name"><?php _e( 'please update the key', 'wbcr_factory_clearfy_214' ) ?></span>
|
345 |
<?php else: ?>
|
346 |
<span class="license-value">
|
347 |
<?php
|
351 |
echo $this->get_expiration_days();
|
352 |
}
|
353 |
?>
|
354 |
+
<small> <?php _e( 'day(s)', 'wbcr_factory_clearfy_214' ) ?></small>
|
355 |
</span>
|
356 |
+
<span class="license-value-name"><?php _e( 'remained', 'wbcr_factory_clearfy_214' ) ?></span>
|
357 |
<?php endif; ?>
|
358 |
</td>
|
359 |
<?php endif; ?>
|
364 |
<div class="license-input">
|
365 |
<form action="" method="post">
|
366 |
<?php if ( $this->is_premium ): ?>
|
367 |
+
<p><?php _e( 'Have a key to activate the premium version? Paste it here:', 'wbcr_factory_clearfy_214' ) ?><p>
|
368 |
<?php else: ?>
|
369 |
+
<p><?php _e( 'Have a key to activate the plugin? Paste it here:', 'wbcr_factory_clearfy_214' ) ?>
|
370 |
<p>
|
371 |
<?php endif; ?>
|
372 |
<button data-action="activate" class="btn btn-default wcl-control-btn" type="button" id="license-submit">
|
373 |
+
<?php _e( 'Submit Key', 'wbcr_factory_clearfy_214' ) ?>
|
374 |
</button>
|
375 |
<div class="license-key-wrap">
|
376 |
<input type="text" id="license-key" name="licensekey" value="" class="form-control"/>
|
377 |
</div>
|
378 |
<?php if ( $this->is_premium ): ?>
|
379 |
<p style="margin-top: 10px;">
|
380 |
+
<?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_214' ), $this->plugin->get_support()->get_pricing_url( true, 'license_page' ) ); ?>
|
381 |
</p>
|
382 |
<?php else: ?>
|
383 |
<p style="margin-top: 10px;">
|
384 |
+
<?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_214' ), $this->plugin->get_support()->get_contacts_url( true, 'license_page' ) ) ?>
|
385 |
</p>
|
386 |
<?php endif; ?>
|
387 |
</form>
|
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_FactoryClearfy213_MoreFeaturesPage extends Wbcr_FactoryPages421_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_FactoryClearfy213_MoreFeaturesPage extends Wbcr_FactoryPages421_Impre
|
|
74 |
* @return string
|
75 |
*/
|
76 |
public function getPageTitle() {
|
77 |
-
return __( 'More features', '
|
78 |
}
|
79 |
|
80 |
/**
|
@@ -88,66 +88,66 @@ class Wbcr_FactoryClearfy213_MoreFeaturesPage extends Wbcr_FactoryPages421_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_FactoryClearfy213_MoreFeaturesPage extends Wbcr_FactoryPages421_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_FactoryClearfy214_MoreFeaturesPage extends Wbcr_FactoryPages422_ImpressiveThemplate {
|
19 |
|
20 |
/**
|
21 |
* {@inheritDoc}
|
60 |
*/
|
61 |
public $internal = true;
|
62 |
|
63 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
64 |
+
$this->menu_title = __( 'More features (<b>free</b>)', 'wbcr_factory_clearfy_214' );
|
65 |
|
66 |
parent::__construct( $plugin );
|
67 |
|
74 |
* @return string
|
75 |
*/
|
76 |
public function getPageTitle() {
|
77 |
+
return __( 'More features', 'wbcr_factory_clearfy_214' );
|
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_214' ) ?></h3>
|
92 |
+
<p><?php _e( 'Clears the source code of the page from unused code.', 'wbcr_factory_clearfy_214' ) ?></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_214' ) ?></h3>
|
99 |
+
<p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', 'wbcr_factory_clearfy_214' ) ?></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_214' ) ?></h3>
|
106 |
+
<p><?php _e( 'Enables and disables features that improve the protection of your site.', 'wbcr_factory_clearfy_214' ) ?></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_214' ) ?></h3>
|
113 |
+
<p><?php _e( 'Disables comments on the entire site or on specific pages.', 'wbcr_factory_clearfy_214' ) ?></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_214' ) ?></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_214' ) ?></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_214' ) ?></h3>
|
128 |
+
<p><?php _e( 'Allows you to remove unused widgets.', 'wbcr_factory_clearfy_214' ) ?></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_214' ) ?></h3>
|
135 |
+
<p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', 'wbcr_factory_clearfy_214' ) ?></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_214' ) ?></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_214' ) ?></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_214' ) ?></h3>
|
150 |
+
<p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', 'wbcr_factory_clearfy_214' ) ?></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_214' ) ?>
|
165 |
</a>
|
166 |
</div>
|
167 |
<?php
|
libs/factory/clearfy/pages/class-pages.php
CHANGED
@@ -14,7 +14,7 @@ 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
|
@@ -22,7 +22,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
22 |
* @method string getBusinessSuggetionWidget()
|
23 |
* @method string getSupportWidget
|
24 |
*/
|
25 |
-
class
|
26 |
|
27 |
/**
|
28 |
* {@inheritDoc}
|
@@ -49,9 +49,9 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
49 |
public $internal = true;
|
50 |
|
51 |
/**
|
52 |
-
* @param
|
53 |
*/
|
54 |
-
public function __construct(
|
55 |
parent::__construct( $plugin );
|
56 |
}
|
57 |
|
@@ -81,24 +81,24 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
81 |
/**
|
82 |
* Requests assets (js and css) for the page.
|
83 |
*
|
84 |
-
* @param
|
85 |
-
* @param
|
86 |
*
|
87 |
* @return void
|
88 |
-
* @see
|
89 |
*
|
90 |
*/
|
91 |
public function assets( $scripts, $styles ) {
|
92 |
parent::assets( $scripts, $styles );
|
93 |
|
94 |
-
$this->styles->add(
|
95 |
|
96 |
// todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
|
97 |
if ( defined( 'WCL_PLUGIN_URL' ) ) {
|
98 |
$this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/general.css' );
|
99 |
}
|
100 |
|
101 |
-
|
102 |
$this->getResultId(),
|
103 |
$scripts,
|
104 |
$styles
|
@@ -114,7 +114,7 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
-
* @return
|
118 |
*/
|
119 |
public function request() {
|
120 |
return $this->plugin->request;
|
@@ -189,18 +189,18 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
189 |
if ( is_multisite() && $this->plugin->isNetworkActive() ) {
|
190 |
|
191 |
$license_page_url = $this->getBaseUrl( 'license' );
|
192 |
-
$upgrade_url =
|
193 |
-
$upgrade_price =
|
194 |
|
195 |
-
$html = '<div class="wbcr-factory-clearfy-
|
196 |
$html .= '<div class="wbcr-factory-inner-contanier">';
|
197 |
-
$html .= '<h3>' . __( 'Upgrade to Clearfy Business', '
|
198 |
-
$html .= '<p>' . __( 'Oops... Sorry for the inconvenience caused!', '
|
199 |
-
$html .= '<p>' . __( 'Complete multisite support is available in Clearfy Business and Clearfy Business Revolution packages only!', '
|
200 |
-
$html .= '<p>' . __( 'You can activate the plugin on each website and use it with zero limitations. But you can’t save the plugin’s settings under the Super Administrator role!', '
|
201 |
$html .= '<p style="margin-top:20px">';
|
202 |
-
$html .= '<a href="' . $license_page_url . '" class="wbcr-factory-activate-premium" rel="noopener">' . __( 'Activate license ', '
|
203 |
-
$html .= '<a href="' . $upgrade_url . '" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">' . sprintf( __( 'Upgrade to Clearfy Business for $%d', '
|
204 |
$html .= '</p>';
|
205 |
$html .= '</div>';
|
206 |
$html .= '</div>';
|
@@ -235,7 +235,7 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
235 |
/**
|
236 |
* @since 4.0.9 - является устаревшим
|
237 |
*/
|
238 |
-
$widgets =
|
239 |
$widgets,
|
240 |
$position,
|
241 |
$this->plugin,
|
@@ -263,24 +263,24 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
263 |
$purchase_url = $this->plugin->get_support()->get_pricing_url( true, 'right_sidebar_ads' );
|
264 |
|
265 |
$default_features = [
|
266 |
-
'4_premium' => __( '4 premium components now;', '
|
267 |
-
'40_premium' => __( '40 new premium components within a year for the single price;', '
|
268 |
-
'multisite_support' => __( 'Multisite support;', '
|
269 |
-
'advance_settings' => __( 'Advanced settings;', '
|
270 |
-
'no_ads' => __( 'No ads;', '
|
271 |
-
'perfect_support' => __( 'Perfect support.', '
|
272 |
];
|
273 |
|
274 |
/**
|
275 |
* @since 2.0.8 - added
|
276 |
*/
|
277 |
-
$suggetion_title = __( 'MORE IN CLEARFY <span>BUSINESS</span>', '
|
278 |
$suggetion_title = apply_filters( 'wbcr/clearfy/pages/suggetion_title', $suggetion_title, $plugin_name, $this->id );
|
279 |
|
280 |
/**
|
281 |
* @since 2.0.8 - deprecated
|
282 |
*/
|
283 |
-
$suggetion_features =
|
284 |
$default_features,
|
285 |
$this->plugin->getPluginName(),
|
286 |
$this->id
|
@@ -296,7 +296,7 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
296 |
$suggetion_features = $default_features;
|
297 |
}
|
298 |
?>
|
299 |
-
<div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-
|
300 |
<h3><?php echo $suggetion_title; ?></h3>
|
301 |
<ul>
|
302 |
<?php if ( ! empty( $suggetion_features ) ): ?>
|
@@ -306,7 +306,7 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
306 |
<?php endif; ?>
|
307 |
</ul>
|
308 |
<a href="<?php echo $purchase_url ?>" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">
|
309 |
-
<?php printf( __( 'Upgrade for $%s', '
|
310 |
</a>
|
311 |
</div>
|
312 |
<?php
|
@@ -326,23 +326,23 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
326 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-red">
|
327 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
328 |
</span>
|
329 |
-
- <?php _e( 'A neutral setting that can not harm your site, but you must be sure that you need to use it.', '
|
330 |
</li>
|
331 |
<li>
|
332 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
|
333 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
334 |
</span>
|
335 |
-
- <?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.', '
|
336 |
</li>
|
337 |
<li>
|
338 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
|
339 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
340 |
</span>
|
341 |
-
- <?php _e( 'Absolutely safe setting, We recommend to use.', '
|
342 |
</li>
|
343 |
</ul>
|
344 |
----------<br>
|
345 |
-
<p><?php _e( 'Hover to the icon to get help for the feature you selected.', '
|
346 |
</div>
|
347 |
<?php
|
348 |
}
|
@@ -362,19 +362,19 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_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="<?= $page_url ?>" title="Go rate us" target="_blank">
|
377 |
-
<strong><?php _e( 'Go rate us and push ideas', '
|
378 |
</a>
|
379 |
</p>
|
380 |
</div>
|
@@ -391,14 +391,14 @@ class Wbcr_FactoryClearfy213_PageBase extends Wbcr_FactoryPages421_ImpressiveThe
|
|
391 |
?>
|
392 |
<div class="wbcr-factory-sidebar-widget">
|
393 |
<p>
|
394 |
-
<strong><?php _e( 'Donation for plugin development', '
|
395 |
</p>
|
396 |
<?php if ( get_locale() !== 'ru_RU' ): ?>
|
397 |
<form id="wbcr-factory-paypal-donation-form" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
|
398 |
<input type="hidden" name="cmd" value="_s-xclick">
|
399 |
<input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
|
400 |
<div class="wbcr-factory-donation-price">5$</div>
|
401 |
-
<input type="image" src="<?=
|
402 |
</form>
|
403 |
<?php else: ?>
|
404 |
<iframe frameborder="0" allowtransparency="true" scrolling="no" src="https://money.yandex.ru/embed/donate.xml?account=410011242846510&quickpay=donate&payment-type-choice=on&mobile-payment-type-choice=on&default-sum=300&targets=%D0%9D%D0%B0+%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D1%83+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0+%D0%B8+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83+%D0%BD%D0%BE%D0%B2%D1%8B%D1%85+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9.+&target-visibility=on&project-name=Webcraftic&project-site=&button-text=05&comment=on&hint=%D0%9A%D0%B0%D0%BA%D1%83%D1%8E+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E+%D0%BD%D1%83%D0%B6%D0%BD%D0%BE+%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%B2+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%3F&mail=on&successURL=" width="508" height="187"></iframe>
|
14 |
}
|
15 |
|
16 |
/**
|
17 |
+
* Class Wbcr_FactoryPages422_ImpressiveThemplate
|
18 |
*
|
19 |
* @method string getInfoWidget() - get widget content information
|
20 |
* @method string getRatingWidget( array $args = [] ) - get widget content rating
|
22 |
* @method string getBusinessSuggetionWidget()
|
23 |
* @method string getSupportWidget
|
24 |
*/
|
25 |
+
class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThemplate {
|
26 |
|
27 |
/**
|
28 |
* {@inheritDoc}
|
49 |
public $internal = true;
|
50 |
|
51 |
/**
|
52 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
53 |
*/
|
54 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
55 |
parent::__construct( $plugin );
|
56 |
}
|
57 |
|
81 |
/**
|
82 |
* Requests assets (js and css) for the page.
|
83 |
*
|
84 |
+
* @param Wbcr_Factory422_ScriptList $scripts
|
85 |
+
* @param Wbcr_Factory422_StyleList $styles
|
86 |
*
|
87 |
* @return void
|
88 |
+
* @see Wbcr_FactoryPages422_AdminPage
|
89 |
*
|
90 |
*/
|
91 |
public function assets( $scripts, $styles ) {
|
92 |
parent::assets( $scripts, $styles );
|
93 |
|
94 |
+
$this->styles->add( FACTORY_CLEARFY_214_URL . '/assets/css/clearfy-base.css' );
|
95 |
|
96 |
// todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
|
97 |
if ( defined( 'WCL_PLUGIN_URL' ) ) {
|
98 |
$this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/general.css' );
|
99 |
}
|
100 |
|
101 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_clearfy_page_enqueue_scripts', [
|
102 |
$this->getResultId(),
|
103 |
$scripts,
|
104 |
$styles
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
+
* @return Wbcr_Factory422_Request
|
118 |
*/
|
119 |
public function request() {
|
120 |
return $this->plugin->request;
|
189 |
if ( is_multisite() && $this->plugin->isNetworkActive() ) {
|
190 |
|
191 |
$license_page_url = $this->getBaseUrl( 'license' );
|
192 |
+
$upgrade_url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( $this->plugin->getPluginName(), 'pricing', 'multisite_save_settings' );
|
193 |
+
$upgrade_price = WbcrFactoryClearfy214_Helpers::getClearfyBusinessPrice();
|
194 |
|
195 |
+
$html = '<div class="wbcr-factory-clearfy-214-multisite-suggetion">';
|
196 |
$html .= '<div class="wbcr-factory-inner-contanier">';
|
197 |
+
$html .= '<h3>' . __( 'Upgrade to Clearfy Business', 'wbcr_factory_clearfy_214' ) . '</h3>';
|
198 |
+
$html .= '<p>' . __( 'Oops... Sorry for the inconvenience caused!', 'wbcr_factory_clearfy_214' ) . '</p>';
|
199 |
+
$html .= '<p>' . __( 'Complete multisite support is available in Clearfy Business and Clearfy Business Revolution packages only!', 'wbcr_factory_clearfy_214' ) . '</p>';
|
200 |
+
$html .= '<p>' . __( 'You can activate the plugin on each website and use it with zero limitations. But you can’t save the plugin’s settings under the Super Administrator role!', 'wbcr_factory_clearfy_214' ) . '</p>';
|
201 |
$html .= '<p style="margin-top:20px">';
|
202 |
+
$html .= '<a href="' . $license_page_url . '" class="wbcr-factory-activate-premium" rel="noopener">' . __( 'Activate license ', 'wbcr_factory_clearfy_214' ) . '</a> ';
|
203 |
+
$html .= '<a href="' . $upgrade_url . '" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">' . sprintf( __( 'Upgrade to Clearfy Business for $%d', 'wbcr_factory_clearfy_214' ), $upgrade_price ) . '</a>';
|
204 |
$html .= '</p>';
|
205 |
$html .= '</div>';
|
206 |
$html .= '</div>';
|
235 |
/**
|
236 |
* @since 4.0.9 - является устаревшим
|
237 |
*/
|
238 |
+
$widgets = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_pages_422_imppage_get_widgets', [
|
239 |
$widgets,
|
240 |
$position,
|
241 |
$this->plugin,
|
263 |
$purchase_url = $this->plugin->get_support()->get_pricing_url( true, 'right_sidebar_ads' );
|
264 |
|
265 |
$default_features = [
|
266 |
+
'4_premium' => __( '4 premium components now;', 'wbcr_factory_clearfy_214' ),
|
267 |
+
'40_premium' => __( '40 new premium components within a year for the single price;', 'wbcr_factory_clearfy_214' ),
|
268 |
+
'multisite_support' => __( 'Multisite support;', 'wbcr_factory_clearfy_214' ),
|
269 |
+
'advance_settings' => __( 'Advanced settings;', 'wbcr_factory_clearfy_214' ),
|
270 |
+
'no_ads' => __( 'No ads;', 'wbcr_factory_clearfy_214' ),
|
271 |
+
'perfect_support' => __( 'Perfect support.', 'wbcr_factory_clearfy_214' )
|
272 |
];
|
273 |
|
274 |
/**
|
275 |
* @since 2.0.8 - added
|
276 |
*/
|
277 |
+
$suggetion_title = __( 'MORE IN CLEARFY <span>BUSINESS</span>', 'wbcr_factory_clearfy_214' );
|
278 |
$suggetion_title = apply_filters( 'wbcr/clearfy/pages/suggetion_title', $suggetion_title, $plugin_name, $this->id );
|
279 |
|
280 |
/**
|
281 |
* @since 2.0.8 - deprecated
|
282 |
*/
|
283 |
+
$suggetion_features = wbcr_factory_422_apply_filters_deprecated( 'wbcr/clearfy/page_bussines_suggetion_features', [
|
284 |
$default_features,
|
285 |
$this->plugin->getPluginName(),
|
286 |
$this->id
|
296 |
$suggetion_features = $default_features;
|
297 |
}
|
298 |
?>
|
299 |
+
<div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-214-pro-suggettion">
|
300 |
<h3><?php echo $suggetion_title; ?></h3>
|
301 |
<ul>
|
302 |
<?php if ( ! empty( $suggetion_features ) ): ?>
|
306 |
<?php endif; ?>
|
307 |
</ul>
|
308 |
<a href="<?php echo $purchase_url ?>" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">
|
309 |
+
<?php printf( __( 'Upgrade for $%s', 'wbcr_factory_clearfy_214' ), $upgrade_price ) ?>
|
310 |
</a>
|
311 |
</div>
|
312 |
<?php
|
326 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-red">
|
327 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
328 |
</span>
|
329 |
+
- <?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_214' ); ?>
|
330 |
</li>
|
331 |
<li>
|
332 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
|
333 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
334 |
</span>
|
335 |
+
- <?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_214' ); ?>
|
336 |
</li>
|
337 |
<li>
|
338 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
|
339 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
340 |
</span>
|
341 |
+
- <?php _e( 'Absolutely safe setting, We recommend to use.', 'wbcr_factory_clearfy_214' ); ?>
|
342 |
</li>
|
343 |
</ul>
|
344 |
----------<br>
|
345 |
+
<p><?php _e( 'Hover to the icon to get help for the feature you selected.', 'wbcr_factory_clearfy_214' ); ?></p>
|
346 |
</div>
|
347 |
<?php
|
348 |
}
|
362 |
$page_url = $args[0];
|
363 |
}
|
364 |
|
365 |
+
$page_url = apply_filters( 'wbcr_factory_pages_422_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId() );
|
366 |
|
367 |
?>
|
368 |
<div class="wbcr-factory-sidebar-widget">
|
369 |
<p>
|
370 |
+
<strong><?php _e( 'Do you want the plugin to improved and update?', 'wbcr_factory_clearfy_214' ); ?></strong>
|
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.', 'wbcr_factory_clearfy_214' ); ?></p>
|
373 |
+
<p><?php _e( 'And also write your ideas on how to extend or improve the plugin.', 'wbcr_factory_clearfy_214' ); ?></p>
|
374 |
<p>
|
375 |
<i class="wbcr-factory-icon-5stars"></i>
|
376 |
<a href="<?= $page_url ?>" title="Go rate us" target="_blank">
|
377 |
+
<strong><?php _e( 'Go rate us and push ideas', 'wbcr_factory_clearfy_214' ); ?></strong>
|
378 |
</a>
|
379 |
</p>
|
380 |
</div>
|
391 |
?>
|
392 |
<div class="wbcr-factory-sidebar-widget">
|
393 |
<p>
|
394 |
+
<strong><?php _e( 'Donation for plugin development', 'wbcr_factory_clearfy_214' ); ?></strong>
|
395 |
</p>
|
396 |
<?php if ( get_locale() !== 'ru_RU' ): ?>
|
397 |
<form id="wbcr-factory-paypal-donation-form" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
|
398 |
<input type="hidden" name="cmd" value="_s-xclick">
|
399 |
<input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
|
400 |
<div class="wbcr-factory-donation-price">5$</div>
|
401 |
+
<input type="image" src="<?= FACTORY_PAGES_422_URL ?>/templates/assets/img/paypal-donate.png" border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
|
402 |
</form>
|
403 |
<?php else: ?>
|
404 |
<iframe frameborder="0" allowtransparency="true" scrolling="no" src="https://money.yandex.ru/embed/donate.xml?account=410011242846510&quickpay=donate&payment-type-choice=on&mobile-payment-type-choice=on&default-sum=300&targets=%D0%9D%D0%B0+%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D1%83+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0+%D0%B8+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83+%D0%BD%D0%BE%D0%B2%D1%8B%D1%85+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9.+&target-visibility=on&project-name=Webcraftic&project-site=&button-text=05&comment=on&hint=%D0%9A%D0%B0%D0%BA%D1%83%D1%8E+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E+%D0%BD%D1%83%D0%B6%D0%BD%D0%BE+%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%B2+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%3F&mail=on&successURL=" width="508" height="187"></iframe>
|
libs/factory/core/boot.php
CHANGED
@@ -14,49 +14,49 @@ 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_422_LOADED' ) ) {
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
define( 'FACTORY_422_LOADED', true );
|
22 |
|
23 |
+
define( 'FACTORY_422_VERSION', '4.2.2' );
|
24 |
|
25 |
+
define( 'FACTORY_422_DIR', dirname( __FILE__ ) );
|
26 |
+
define( 'FACTORY_422_URL', plugins_url( null, __FILE__ ) );
|
27 |
|
28 |
+
load_plugin_textdomain( 'wbcr_factory_422', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
|
29 |
|
30 |
#comp merge
|
31 |
+
require_once( FACTORY_422_DIR . '/includes/functions.php' );
|
32 |
|
33 |
+
require_once( FACTORY_422_DIR . '/includes/entities/class-factory-paths.php' );
|
34 |
+
require_once( FACTORY_422_DIR . '/includes/entities/class-factory-support.php' );
|
35 |
|
36 |
+
require_once( FACTORY_422_DIR . '/includes/class-factory-requests.php' );
|
37 |
+
require_once( FACTORY_422_DIR . '/includes/class-factory-options.php' );
|
38 |
+
require_once( FACTORY_422_DIR . '/includes/class-factory-plugin-base.php' );
|
39 |
+
require_once( FACTORY_422_DIR . '/includes/class-factory-migrations.php' );
|
40 |
+
require_once( FACTORY_422_DIR . '/includes/class-factory-notices.php' );
|
41 |
|
42 |
// ASSETS
|
43 |
+
require_once( FACTORY_422_DIR . '/includes/assets-managment/class-factory-assets-list.php' );
|
44 |
+
require_once( FACTORY_422_DIR . '/includes/assets-managment/class-factory-script-list.php' );
|
45 |
+
require_once( FACTORY_422_DIR . '/includes/assets-managment/class-factory-style-list.php' );
|
46 |
|
47 |
// PREMIUM
|
48 |
+
require_once( FACTORY_422_DIR . '/includes/premium/class-factory-license-interface.php' );
|
49 |
+
require_once( FACTORY_422_DIR . '/includes/premium/class-factory-provider-abstract.php' );
|
50 |
+
require_once( FACTORY_422_DIR . '/includes/premium/class-factory-manager.php' );
|
51 |
|
52 |
// UPDATES
|
53 |
+
require_once( FACTORY_422_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php' );
|
54 |
+
require_once( FACTORY_422_DIR . '/includes/updates/repositories/class-factory-wordpress.php' );
|
55 |
+
require_once( FACTORY_422_DIR . '/includes/updates/class-factory-upgrader.php' );
|
56 |
+
require_once( FACTORY_422_DIR . '/includes/updates/class-factory-premium-upgrader.php' );
|
57 |
|
58 |
+
require_once( FACTORY_422_DIR . '/includes/class-factory-plugin-abstract.php' );
|
59 |
|
60 |
+
require_once( FACTORY_422_DIR . '/includes/activation/class-factory-activator.php' );
|
61 |
+
require_once( FACTORY_422_DIR . '/includes/activation/class-factory-update.php' );
|
62 |
#endcomp
|
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_Factory422_Activator {
|
23 |
|
24 |
/**
|
25 |
* Curent plugin.
|
26 |
*
|
27 |
+
* @var Wbcr_Factory422_Plugin
|
28 |
*/
|
29 |
public $plugin;
|
30 |
|
31 |
+
public function __construct( Wbcr_Factory422_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_Factory422_Update {
|
24 |
|
25 |
/**
|
26 |
* Current plugin
|
27 |
*
|
28 |
+
* @var Wbcr_Factory422_Plugin
|
29 |
*/
|
30 |
var $plugin;
|
31 |
|
32 |
+
public function __construct( Wbcr_Factory422_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_Factory421_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_Factory422_AssetsList {
|
23 |
|
24 |
protected $all = [];
|
25 |
public $header_place = [];
|
29 |
protected $default_place;
|
30 |
|
31 |
/**
|
32 |
+
* @var Wbcr_Factory422_Plugin
|
33 |
*/
|
34 |
protected $plugin;
|
35 |
|
36 |
/**
|
37 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
38 |
* @param bool $defaultIsFooter
|
39 |
*/
|
40 |
+
public function __construct( Wbcr_Factory422_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_Factory421_ScriptList extends Wbcr_Factory421_AssetsList {
|
|
149 |
* @param string $varname
|
150 |
* @param string $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_Factory422_ScriptList extends Wbcr_Factory422_AssetsList {
|
24 |
|
25 |
public $localize_data = [];
|
26 |
public $use_ajax = false;
|
149 |
* @param string $varname
|
150 |
* @param string $data
|
151 |
*
|
152 |
+
* @return Wbcr_Factory422_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_Factory422_StyleList extends Wbcr_Factory422_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_214' ), $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_422' ), $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_422' ), $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_422;
|
4 |
|
5 |
use Exception;
|
6 |
+
use Wbcr_Factory422_Plugin;
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
35 |
/**
|
36 |
* Migrations constructor.
|
37 |
*
|
38 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
39 |
*
|
40 |
* @throws Exception
|
41 |
*/
|
42 |
+
public function __construct( Wbcr_Factory422_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_422' ) . "</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_422' ) . '</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_422" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
|
166 |
|
167 |
+
$notice_text .= __( "Old plugin version (debug):", "wbcr_factory_422" ) . ' ' . $this->get_old_plugin_version() . "<br>";
|
168 |
+
$notice_text .= __( "Current plugin version:", "wbcr_factory_422" ) . ' ' . $this->get_current_plugin_version() . "<br>";
|
169 |
+
$notice_text .= __( "Need migration:", "wbcr_factory_422" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
|
170 |
+
$notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_422" ) . "</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_422' ) . '</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_422' ) );
|
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 |
//default notices
|
@@ -86,13 +86,13 @@ class Notices {
|
|
86 |
/**
|
87 |
* @since 2.1.2 - является устаревшим
|
88 |
*/
|
89 |
-
$this->notices =
|
90 |
$this->notices,
|
91 |
$this->plugin->getPluginName(),
|
92 |
], '2.1.2', 'wbcr/factory/admin_notices' );
|
93 |
|
94 |
/**
|
95 |
-
* @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на
|
96 |
*/
|
97 |
$this->notices = apply_filters( 'wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName() );
|
98 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_422;
|
4 |
|
5 |
+
use Wbcr_Factory422_Plugin;
|
6 |
|
7 |
// Exit if accessed directly
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
27 |
class Notices {
|
28 |
|
29 |
/**
|
30 |
+
* @var Wbcr_Factory422_Plugin
|
31 |
*/
|
32 |
protected $plugin;
|
33 |
/**
|
58 |
/**
|
59 |
* Инициализируем уведомлений сразу после загрузки модуля уведомлений
|
60 |
*
|
61 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
62 |
*/
|
63 |
public function __construct( $plugin ) {
|
64 |
//default notices
|
86 |
/**
|
87 |
* @since 2.1.2 - является устаревшим
|
88 |
*/
|
89 |
+
$this->notices = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_notices_000_list', [
|
90 |
$this->notices,
|
91 |
$this->plugin->getPluginName(),
|
92 |
], '2.1.2', 'wbcr/factory/admin_notices' );
|
93 |
|
94 |
/**
|
95 |
+
* @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_422
|
96 |
*/
|
97 |
$this->notices = apply_filters( 'wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName() );
|
98 |
|
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_422;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
use Exception;
|
10 |
}
|
11 |
|
12 |
/**
|
13 |
+
* Трейт используется для расширения базового класса плагина Wbcr_Factory422_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,7 +86,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
86 |
*
|
87 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
88 |
* @since 4.1.9
|
89 |
-
* @var WBCR\
|
90 |
*/
|
91 |
private $adverts;
|
92 |
|
@@ -105,8 +105,8 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
105 |
|
106 |
parent::__construct( $plugin_path, $data );
|
107 |
|
108 |
-
$this->request = new
|
109 |
-
//$this->route = new
|
110 |
|
111 |
// INIT PLUGIN FRAMEWORK MODULES
|
112 |
// Framework modules should always be loaded first,
|
@@ -138,18 +138,18 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
138 |
* Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
|
139 |
* скриптов, стилей) фреймворка.
|
140 |
*
|
141 |
-
* @param
|
142 |
*/
|
143 |
-
public function setBootstap(
|
144 |
$this->bootstrap = $bootstrap;
|
145 |
}
|
146 |
|
147 |
/**
|
148 |
* Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
|
149 |
*
|
150 |
-
* @param
|
151 |
*/
|
152 |
-
public function setForms(
|
153 |
$this->forms = $forms;
|
154 |
}
|
155 |
|
@@ -177,8 +177,8 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
177 |
* @param string $class_name Имя класса провайдера
|
178 |
*/
|
179 |
public function set_license_provider( $name, $class_name ) {
|
180 |
-
if ( ! isset( WBCR\
|
181 |
-
WBCR\
|
182 |
}
|
183 |
}
|
184 |
|
@@ -194,8 +194,8 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
194 |
* @param string $class_name Имя класса репозитория
|
195 |
*/
|
196 |
public function set_update_repository( $name, $class_name ) {
|
197 |
-
if ( ! isset( WBCR\
|
198 |
-
WBCR\
|
199 |
}
|
200 |
}
|
201 |
|
@@ -207,7 +207,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
207 |
*
|
208 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
209 |
* @since 1.1
|
210 |
-
* @return \WBCR\
|
211 |
*/
|
212 |
public function get_adverts_manager() {
|
213 |
return $this->adverts;
|
@@ -237,17 +237,17 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
237 |
}
|
238 |
|
239 |
public function newScriptList() {
|
240 |
-
return new
|
241 |
}
|
242 |
|
243 |
public function newStyleList() {
|
244 |
-
return new
|
245 |
}
|
246 |
|
247 |
/**
|
248 |
* Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
|
249 |
* фреймворка pages. Разработчик создает собственный класс, унаследованный от
|
250 |
-
*
|
251 |
* Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
|
252 |
* pages.
|
253 |
*
|
@@ -257,7 +257,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
257 |
* @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
|
258 |
*
|
259 |
* @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
|
260 |
-
* Регистрируемый класс должен быть унаследован от класса
|
261 |
* @param string $file_path Абсолютный путь к файлу с классом страницы.
|
262 |
*
|
263 |
* @throws Exception
|
@@ -278,11 +278,11 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
278 |
throw new Exception( 'A class with this name {' . $class_name . '} does not exist.' );
|
279 |
}
|
280 |
|
281 |
-
if ( ! class_exists( '
|
282 |
-
throw new Exception( 'The
|
283 |
}
|
284 |
|
285 |
-
|
286 |
}
|
287 |
|
288 |
/**
|
@@ -329,16 +329,16 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
329 |
/**
|
330 |
* @since 4.1.1 - change hook name
|
331 |
*/
|
332 |
-
if ( apply_filters( "wbcr/
|
333 |
return;
|
334 |
}
|
335 |
|
336 |
/**
|
337 |
-
*
|
338 |
*
|
339 |
* @since 4.1.1 - deprecated
|
340 |
*/
|
341 |
-
|
342 |
$this
|
343 |
], '4.1.1', "wbcr/factory/plugin_activation" );
|
344 |
|
@@ -347,7 +347,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
347 |
*
|
348 |
* @since 4.1.2 - deprecated
|
349 |
*/
|
350 |
-
|
351 |
$this
|
352 |
], '4.1.2', "wbcr/factory/before_plugin_activation" );
|
353 |
|
@@ -363,16 +363,16 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
363 |
*
|
364 |
* @since 4.1.2 - deprecated
|
365 |
*/
|
366 |
-
|
367 |
$this
|
368 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation" );
|
369 |
|
370 |
/**
|
371 |
-
*
|
372 |
*
|
373 |
* @since 4.1.1 - deprecated
|
374 |
*/
|
375 |
-
|
376 |
$this
|
377 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation" );
|
378 |
|
@@ -412,16 +412,16 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
412 |
/**
|
413 |
* @since 4.1.1 - change hook name
|
414 |
*/
|
415 |
-
if ( apply_filters( "wbcr/
|
416 |
return;
|
417 |
}
|
418 |
|
419 |
/**
|
420 |
-
*
|
421 |
*
|
422 |
* @since 4.1.1 - deprecated
|
423 |
*/
|
424 |
-
|
425 |
$this
|
426 |
], '4.1.1', "wbcr/factory/plugin_deactivation" );
|
427 |
|
@@ -430,7 +430,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
430 |
*
|
431 |
* @since 4.1.2 - deprecated
|
432 |
*/
|
433 |
-
|
434 |
$this
|
435 |
], '4.1.2', "wbcr/factory/before_plugin_deactivation" );
|
436 |
|
@@ -442,11 +442,11 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
442 |
do_action( 'wbcr/factory/plugin_deactivation', $this );
|
443 |
|
444 |
/**
|
445 |
-
*
|
446 |
*
|
447 |
* @since 4.1.1 - deprecated
|
448 |
*/
|
449 |
-
|
450 |
$this
|
451 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation" );
|
452 |
|
@@ -455,7 +455,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
455 |
*
|
456 |
* @since 4.1.2 - deprecated
|
457 |
*/
|
458 |
-
|
459 |
$this
|
460 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation" );
|
461 |
|
@@ -492,8 +492,8 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
492 |
* @throws Exception
|
493 |
*/
|
494 |
public function getPluginPageUrl( $page_id, $args = [] ) {
|
495 |
-
if ( ! class_exists( '
|
496 |
-
throw new Exception( 'The
|
497 |
}
|
498 |
|
499 |
if ( ! is_admin() ) {
|
@@ -502,7 +502,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
502 |
return null;
|
503 |
}
|
504 |
|
505 |
-
return
|
506 |
}
|
507 |
|
508 |
/**
|
@@ -596,12 +596,12 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
596 |
/**
|
597 |
* @since 4.1.1 - deprecated
|
598 |
*/
|
599 |
-
|
600 |
|
601 |
/**
|
602 |
* @since 4.1.1 - add
|
603 |
*/
|
604 |
-
do_action( 'wbcr/
|
605 |
}
|
606 |
|
607 |
|
@@ -615,7 +615,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
615 |
add_action( 'plugins_loaded', [ $this, 'set_text_domain' ] );
|
616 |
|
617 |
if ( is_admin() ) {
|
618 |
-
add_filter( '
|
619 |
|
620 |
register_activation_hook( $this->get_paths()->main_file, [ $this, 'activation_hook' ] );
|
621 |
register_deactivation_hook( $this->get_paths()->main_file, [ $this, 'deactivation_hook' ] );
|
@@ -630,7 +630,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
630 |
* @throws Exception
|
631 |
*/
|
632 |
protected function init_plugin_migrations() {
|
633 |
-
new WBCR\
|
634 |
}
|
635 |
|
636 |
/**
|
@@ -640,7 +640,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
640 |
* @return void
|
641 |
*/
|
642 |
protected function init_plugin_notices() {
|
643 |
-
new Wbcr\
|
644 |
}
|
645 |
|
646 |
/**
|
@@ -655,7 +655,7 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
655 |
*/
|
656 |
protected function init_plugin_updates() {
|
657 |
if ( $this->has_updates ) {
|
658 |
-
new WBCR\
|
659 |
}
|
660 |
}
|
661 |
|
@@ -677,11 +677,11 @@ abstract class Wbcr_Factory421_Plugin extends Wbcr_Factory421_Base {
|
|
677 |
}
|
678 |
|
679 |
// Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
|
680 |
-
$this->premium = WBCR\
|
681 |
|
682 |
// Подключаем премиум апгрейдер
|
683 |
if ( isset( $this->license_settings['has_updates'] ) && $this->license_settings['has_updates'] ) {
|
684 |
-
new WBCR\
|
685 |
}
|
686 |
}
|
687 |
}
|
24 |
* @package factory-core
|
25 |
*
|
26 |
*/
|
27 |
+
abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
|
28 |
|
29 |
/**
|
30 |
+
* Instance class Wbcr_Factory422_Request, required manages http requests
|
31 |
*
|
32 |
* @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
|
33 |
+
* @var Wbcr_Factory422_Request
|
34 |
*/
|
35 |
public $request;
|
36 |
|
37 |
/**
|
38 |
* @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
|
39 |
+
* @var \WBCR\Factory_422\Premium\Provider
|
40 |
*/
|
41 |
public $premium;
|
42 |
|
43 |
/**
|
44 |
* The Bootstrap Manager class
|
45 |
*
|
46 |
+
* @var Wbcr_FactoryBootstrap423_Manager
|
47 |
*/
|
48 |
public $bootstrap;
|
49 |
|
50 |
/**
|
51 |
* The Bootstrap Manager class
|
52 |
*
|
53 |
+
* @var Wbcr_FactoryForms420_Manager
|
54 |
*/
|
55 |
public $forms;
|
56 |
|
57 |
/**
|
58 |
+
* Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory422_Activator.
|
59 |
* Классы активации используются для упаковки набора функций, которые нужно выполнить во время
|
60 |
* активации плагина.
|
61 |
*
|
62 |
+
* @var array[] Wbcr_Factory422_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_104\Base
|
90 |
*/
|
91 |
private $adverts;
|
92 |
|
105 |
|
106 |
parent::__construct( $plugin_path, $data );
|
107 |
|
108 |
+
$this->request = new Wbcr_Factory422_Request();
|
109 |
+
//$this->route = new Wbcr_Factory422_Route();
|
110 |
|
111 |
// INIT PLUGIN FRAMEWORK MODULES
|
112 |
// Framework modules should always be loaded first,
|
138 |
* Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
|
139 |
* скриптов, стилей) фреймворка.
|
140 |
*
|
141 |
+
* @param Wbcr_FactoryBootstrap423_Manager $bootstrap
|
142 |
*/
|
143 |
+
public function setBootstap( Wbcr_FactoryBootstrap423_Manager $bootstrap ) {
|
144 |
$this->bootstrap = $bootstrap;
|
145 |
}
|
146 |
|
147 |
/**
|
148 |
* Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
|
149 |
*
|
150 |
+
* @param Wbcr_FactoryForms420_Manager $forms
|
151 |
*/
|
152 |
+
public function setForms( Wbcr_FactoryForms420_Manager $forms ) {
|
153 |
$this->forms = $forms;
|
154 |
}
|
155 |
|
177 |
* @param string $class_name Имя класса провайдера
|
178 |
*/
|
179 |
public function set_license_provider( $name, $class_name ) {
|
180 |
+
if ( ! isset( WBCR\Factory_422\Premium\Manager::$providers[ $name ] ) ) {
|
181 |
+
WBCR\Factory_422\Premium\Manager::$providers[ $name ] = $class_name;
|
182 |
}
|
183 |
}
|
184 |
|
194 |
* @param string $class_name Имя класса репозитория
|
195 |
*/
|
196 |
public function set_update_repository( $name, $class_name ) {
|
197 |
+
if ( ! isset( WBCR\Factory_422\Updates\Upgrader::$repositories[ $name ] ) ) {
|
198 |
+
WBCR\Factory_422\Updates\Upgrader::$repositories[ $name ] = $class_name;
|
199 |
}
|
200 |
}
|
201 |
|
207 |
*
|
208 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
209 |
* @since 1.1
|
210 |
+
* @return \WBCR\Factory_Adverts_104\Base
|
211 |
*/
|
212 |
public function get_adverts_manager() {
|
213 |
return $this->adverts;
|
237 |
}
|
238 |
|
239 |
public function newScriptList() {
|
240 |
+
return new Wbcr_Factory422_ScriptList( $this );
|
241 |
}
|
242 |
|
243 |
public function newStyleList() {
|
244 |
+
return new Wbcr_Factory422_StyleList( $this );
|
245 |
}
|
246 |
|
247 |
/**
|
248 |
* Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
|
249 |
* фреймворка pages. Разработчик создает собственный класс, унаследованный от
|
250 |
+
* Wbcr_FactoryPages422_AdminPage, а затем регистрирует его через этот метод.
|
251 |
* Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
|
252 |
* pages.
|
253 |
*
|
257 |
* @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
|
258 |
*
|
259 |
* @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
|
260 |
+
* Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryPages422_AdminPage.
|
261 |
* @param string $file_path Абсолютный путь к файлу с классом страницы.
|
262 |
*
|
263 |
* @throws Exception
|
278 |
throw new Exception( 'A class with this name {' . $class_name . '} does not exist.' );
|
279 |
}
|
280 |
|
281 |
+
if ( ! class_exists( 'Wbcr_FactoryPages422' ) ) {
|
282 |
+
throw new Exception( 'The factory_pages_422 module is not included.' );
|
283 |
}
|
284 |
|
285 |
+
Wbcr_FactoryPages422::register( $this, $class_name );
|
286 |
}
|
287 |
|
288 |
/**
|
329 |
/**
|
330 |
* @since 4.1.1 - change hook name
|
331 |
*/
|
332 |
+
if ( apply_filters( "wbcr/factory_422/cancel_plugin_activation_{$this->plugin_name}", false ) ) {
|
333 |
return;
|
334 |
}
|
335 |
|
336 |
/**
|
337 |
+
* wbcr_factory_422_plugin_activation
|
338 |
*
|
339 |
* @since 4.1.1 - deprecated
|
340 |
*/
|
341 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_plugin_activation', [
|
342 |
$this
|
343 |
], '4.1.1', "wbcr/factory/plugin_activation" );
|
344 |
|
347 |
*
|
348 |
* @since 4.1.2 - deprecated
|
349 |
*/
|
350 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr/factory/plugin_activation', [
|
351 |
$this
|
352 |
], '4.1.2', "wbcr/factory/before_plugin_activation" );
|
353 |
|
363 |
*
|
364 |
* @since 4.1.2 - deprecated
|
365 |
*/
|
366 |
+
wbcr_factory_422_do_action_deprecated( "wbcr/factory/plugin_{$this->plugin_name}_activation", [
|
367 |
$this
|
368 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation" );
|
369 |
|
370 |
/**
|
371 |
+
* wbcr_factory_422_plugin_activation_' . $this->plugin_name
|
372 |
*
|
373 |
* @since 4.1.1 - deprecated
|
374 |
*/
|
375 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_plugin_activation_' . $this->plugin_name, [
|
376 |
$this
|
377 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation" );
|
378 |
|
412 |
/**
|
413 |
* @since 4.1.1 - change hook name
|
414 |
*/
|
415 |
+
if ( apply_filters( "wbcr/factory_422/cancel_plugin_deactivation_{$this->plugin_name}", false ) ) {
|
416 |
return;
|
417 |
}
|
418 |
|
419 |
/**
|
420 |
+
* wbcr_factory_422_plugin_deactivation
|
421 |
*
|
422 |
* @since 4.1.1 - deprecated
|
423 |
*/
|
424 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_plugin_deactivation', [
|
425 |
$this
|
426 |
], '4.1.1', "wbcr/factory/plugin_deactivation" );
|
427 |
|
430 |
*
|
431 |
* @since 4.1.2 - deprecated
|
432 |
*/
|
433 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr/factory/plugin_deactivation', [
|
434 |
$this
|
435 |
], '4.1.2', "wbcr/factory/before_plugin_deactivation" );
|
436 |
|
442 |
do_action( 'wbcr/factory/plugin_deactivation', $this );
|
443 |
|
444 |
/**
|
445 |
+
* wbcr_factory_422_plugin_deactivation_ . $this->plugin_name
|
446 |
*
|
447 |
* @since 4.1.1 - deprecated
|
448 |
*/
|
449 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_plugin_deactivation_' . $this->plugin_name, [
|
450 |
$this
|
451 |
], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation" );
|
452 |
|
455 |
*
|
456 |
* @since 4.1.2 - deprecated
|
457 |
*/
|
458 |
+
wbcr_factory_422_do_action_deprecated( "wbcr/factory/plugin_{$this->plugin_name}_deactivation", [
|
459 |
$this
|
460 |
], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation" );
|
461 |
|
492 |
* @throws Exception
|
493 |
*/
|
494 |
public function getPluginPageUrl( $page_id, $args = [] ) {
|
495 |
+
if ( ! class_exists( 'Wbcr_FactoryPages422' ) ) {
|
496 |
+
throw new Exception( 'The factory_pages_422 module is not included.' );
|
497 |
}
|
498 |
|
499 |
if ( ! is_admin() ) {
|
502 |
return null;
|
503 |
}
|
504 |
|
505 |
+
return Wbcr_FactoryPages422::getPageUrl( $this, $page_id, $args );
|
506 |
}
|
507 |
|
508 |
/**
|
596 |
/**
|
597 |
* @since 4.1.1 - deprecated
|
598 |
*/
|
599 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_422/modules_loaded-" . $this->plugin_name );
|
600 |
|
601 |
/**
|
602 |
* @since 4.1.1 - add
|
603 |
*/
|
604 |
+
do_action( 'wbcr/factory_422/modules_loaded-' . $this->plugin_name );
|
605 |
}
|
606 |
|
607 |
|
615 |
add_action( 'plugins_loaded', [ $this, 'set_text_domain' ] );
|
616 |
|
617 |
if ( is_admin() ) {
|
618 |
+
add_filter( 'wbcr_factory_422_core_admin_allow_multisite', '__return_true' );
|
619 |
|
620 |
register_activation_hook( $this->get_paths()->main_file, [ $this, 'activation_hook' ] );
|
621 |
register_deactivation_hook( $this->get_paths()->main_file, [ $this, 'deactivation_hook' ] );
|
630 |
* @throws Exception
|
631 |
*/
|
632 |
protected function init_plugin_migrations() {
|
633 |
+
new WBCR\Factory_422\Migrations( $this );
|
634 |
}
|
635 |
|
636 |
/**
|
640 |
* @return void
|
641 |
*/
|
642 |
protected function init_plugin_notices() {
|
643 |
+
new Wbcr\Factory_422\Notices( $this );
|
644 |
}
|
645 |
|
646 |
/**
|
655 |
*/
|
656 |
protected function init_plugin_updates() {
|
657 |
if ( $this->has_updates ) {
|
658 |
+
new WBCR\Factory_422\Updates\Upgrader( $this );
|
659 |
}
|
660 |
}
|
661 |
|
677 |
}
|
678 |
|
679 |
// Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
|
680 |
+
$this->premium = WBCR\Factory_422\Premium\Manager::instance( $this, $this->license_settings );
|
681 |
|
682 |
// Подключаем премиум апгрейдер
|
683 |
if ( isset( $this->license_settings['has_updates'] ) && $this->license_settings['has_updates'] ) {
|
684 |
+
new WBCR\Factory_422\Updates\Premium_Upgrader( $this );
|
685 |
}
|
686 |
}
|
687 |
}
|
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_Factory421_Base {
|
|
81 |
* https://robin-image-optimizer.webcraftic.com/premium-features.
|
82 |
*
|
83 |
* Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
|
84 |
-
* экземпляр класса \WBCR\
|
85 |
* Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
|
86 |
* можете изменить все ссылки в одном месте.
|
87 |
*
|
@@ -127,7 +127,7 @@ class Wbcr_Factory421_Base {
|
|
127 |
* к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
|
128 |
* взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
|
129 |
* индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
|
130 |
-
* WBCR\
|
131 |
*
|
132 |
* На текущий момент существует только реализация для freemius провайдера.
|
133 |
*
|
@@ -177,9 +177,9 @@ class Wbcr_Factory421_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_Factory421_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_Factory421_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_Factory421_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_Factory421_Base {
|
|
400 |
/**
|
401 |
* Позволяет получить заголовок плагина.
|
402 |
*
|
403 |
-
* @return string Возвращает заголовок плагина. См.
|
404 |
*/
|
405 |
public function getPluginTitle() {
|
406 |
return $this->plugin_title;
|
@@ -409,7 +409,7 @@ class Wbcr_Factory421_Base {
|
|
409 |
/**
|
410 |
* Позволяет получить префикс плагина.
|
411 |
*
|
412 |
-
* @return string Возвращает префикс плагина.См.
|
413 |
*/
|
414 |
public function getPrefix() {
|
415 |
return $this->prefix;
|
@@ -418,7 +418,7 @@ class Wbcr_Factory421_Base {
|
|
418 |
/**
|
419 |
* Позволяет получить имя плагина.
|
420 |
*
|
421 |
-
* @return string Возвращает имя плагина. См.
|
422 |
*/
|
423 |
public function getPluginName() {
|
424 |
return $this->plugin_name;
|
@@ -427,7 +427,7 @@ class Wbcr_Factory421_Base {
|
|
427 |
/**
|
428 |
* Позволяет получить версию плагина.
|
429 |
*
|
430 |
-
* @return string Возвращает версию плагина. См.
|
431 |
*/
|
432 |
public function getPluginVersion() {
|
433 |
return $this->plugin_version;
|
@@ -449,7 +449,7 @@ class Wbcr_Factory421_Base {
|
|
449 |
* какие-то данные не описанные в интерфейсе этого плагина.
|
450 |
*
|
451 |
* @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
|
452 |
-
*
|
453 |
*
|
454 |
* @return null
|
455 |
*/
|
@@ -462,18 +462,18 @@ class Wbcr_Factory421_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_Factory421_Base {
|
|
482 |
/**
|
483 |
* Позволяет получить сырые данные плагина в виде объекта StdClass.
|
484 |
*
|
485 |
-
* @return object Возвращает объект с сырыми данными плагина. См.
|
486 |
*/
|
487 |
public function getPluginInfo() {
|
488 |
return (object) $this->plugin_data;
|
5 |
}
|
6 |
|
7 |
/**
|
8 |
+
* Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory422_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_Factory422_Base {
|
21 |
|
22 |
+
use WBCR\Factory_422\Options;
|
23 |
|
24 |
/**
|
25 |
* Обязательное свойство. Префикс, используется для создания пространство имен.
|
81 |
* https://robin-image-optimizer.webcraftic.com/premium-features.
|
82 |
*
|
83 |
* Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
|
84 |
+
* экземпляр класса \WBCR\Factory_422\Entities\Support, для получения информации о сайте плагина.
|
85 |
* Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
|
86 |
* можете изменить все ссылки в одном месте.
|
87 |
*
|
127 |
* к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
|
128 |
* взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
|
129 |
* индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
|
130 |
+
* WBCR\Factory_422\Premium\Provider > WBCR\Factory_Freemius_110\Premium\Provider
|
131 |
*
|
132 |
* На текущий момент существует только реализация для freemius провайдера.
|
133 |
*
|
177 |
* }
|
178 |
*/
|
179 |
protected $load_factory_modules = [
|
180 |
+
[ 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ],
|
181 |
+
[ 'libs/factory/forms', 'factory_forms_420', 'admin' ],
|
182 |
+
[ 'libs/factory/pages', 'factory_pages_422', 'admin' ],
|
183 |
];
|
184 |
|
185 |
/**
|
209 |
|
210 |
|
211 |
/**
|
212 |
+
* Экземпляр класса \WBCR\Factory_422\Entities\Support используется для получения информации
|
213 |
* о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
|
214 |
* ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
|
215 |
*
|
216 |
+
* @var \WBCR\Factory_422\Entities\Support
|
217 |
*/
|
218 |
protected $support;
|
219 |
|
220 |
/**
|
221 |
+
* Экземпляр класса \WBCR\Factory_422\Entities\Paths используется для получения информации о
|
222 |
* путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
|
223 |
* или его входного файла.
|
224 |
*
|
225 |
+
* @var \WBCR\Factory_422\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_422\Entities\Support( $this->support_details );
|
274 |
+
$this->paths = new \WBCR\Factory_422\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_Factory422_Base::has_premium
|
395 |
*/
|
396 |
public function has_premium() {
|
397 |
return $this->has_premium;
|
400 |
/**
|
401 |
* Позволяет получить заголовок плагина.
|
402 |
*
|
403 |
+
* @return string Возвращает заголовок плагина. См. Wbcr_Factory422_Base::plugin_title
|
404 |
*/
|
405 |
public function getPluginTitle() {
|
406 |
return $this->plugin_title;
|
409 |
/**
|
410 |
* Позволяет получить префикс плагина.
|
411 |
*
|
412 |
+
* @return string Возвращает префикс плагина.См. Wbcr_Factory422_Base::prefix
|
413 |
*/
|
414 |
public function getPrefix() {
|
415 |
return $this->prefix;
|
418 |
/**
|
419 |
* Позволяет получить имя плагина.
|
420 |
*
|
421 |
+
* @return string Возвращает имя плагина. См. Wbcr_Factory422_Base::plugin_name
|
422 |
*/
|
423 |
public function getPluginName() {
|
424 |
return $this->plugin_name;
|
427 |
/**
|
428 |
* Позволяет получить версию плагина.
|
429 |
*
|
430 |
+
* @return string Возвращает версию плагина. См. Wbcr_Factory422_Base::plugin_version
|
431 |
*/
|
432 |
public function getPluginVersion() {
|
433 |
return $this->plugin_version;
|
449 |
* какие-то данные не описанные в интерфейсе этого плагина.
|
450 |
*
|
451 |
* @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
|
452 |
+
* Wbcr_Factory422_Base::plugin_data
|
453 |
*
|
454 |
* @return null
|
455 |
*/
|
462 |
}
|
463 |
|
464 |
/**
|
465 |
+
* Предоставляет доступ к экземпляру класса \WBCR\Factory_422\Entities\Support.
|
466 |
*
|
467 |
+
* @return \WBCR\Factory_422\Entities\Support
|
468 |
*/
|
469 |
public function get_support() {
|
470 |
return $this->support;
|
471 |
}
|
472 |
|
473 |
/**
|
474 |
+
* Предоставляет доступ к экземпляру класса \WBCR\Factory_422\Entities\Paths.
|
475 |
*
|
476 |
+
* @return \WBCR\Factory_422\Entities\Paths
|
477 |
*/
|
478 |
public function get_paths() {
|
479 |
return $this->paths;
|
482 |
/**
|
483 |
* Позволяет получить сырые данные плагина в виде объекта StdClass.
|
484 |
*
|
485 |
+
* @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory422_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_Factory422_Request {
|
15 |
|
16 |
/**
|
17 |
* @param null $param
|
libs/factory/core/includes/class-factory-requirements.php
CHANGED
@@ -11,9 +11,9 @@
|
|
11 |
* @version 2.0.0
|
12 |
* @since 4.0.9
|
13 |
*/
|
14 |
-
|
15 |
-
if ( ! class_exists( '
|
16 |
-
class
|
17 |
|
18 |
/**
|
19 |
* Factory framework version
|
@@ -121,11 +121,11 @@ if ( ! class_exists( 'Wbcr_Factory421_Requirements' ) ) {
|
|
121 |
$this->plugin_basename = plugin_basename( $plugin_file );
|
122 |
$this->plugin_url = plugins_url( null, $plugin_file );
|
123 |
|
124 |
-
$plugin_info = get_file_data( $this->plugin_file,
|
125 |
'Version' => 'Version',
|
126 |
'FrameworkVersion' => 'Framework Version',
|
127 |
'TextDomain' => 'Text Domain'
|
128 |
-
|
129 |
|
130 |
if ( isset( $plugin_info['FrameworkVersion'] ) ) {
|
131 |
$this->factory_version = $plugin_info['FrameworkVersion'];
|
@@ -139,7 +139,7 @@ if ( ! class_exists( 'Wbcr_Factory421_Requirements' ) ) {
|
|
139 |
$this->plugin_text_domain = $plugin_info['TextDomain'];
|
140 |
}
|
141 |
|
142 |
-
add_action( 'admin_init',
|
143 |
}
|
144 |
|
145 |
public function get_plugin_version() {
|
@@ -158,13 +158,13 @@ if ( ! class_exists( 'Wbcr_Factory421_Requirements' ) ) {
|
|
158 |
if ( current_user_can( 'activate_plugins' ) && current_user_can( 'edit_plugins' ) && current_user_can( 'install_plugins' ) ) {
|
159 |
|
160 |
if ( is_multisite() ) {
|
161 |
-
add_action( 'network_admin_notices',
|
162 |
|
163 |
-
if ( ! empty( $this->plugin_basename ) && in_array( $this->plugin_basename, (array) get_option( 'active_plugins',
|
164 |
-
add_action( 'admin_notices',
|
165 |
}
|
166 |
} else {
|
167 |
-
add_action( 'admin_notices',
|
168 |
}
|
169 |
}
|
170 |
}
|
@@ -242,7 +242,7 @@ if ( ! class_exists( 'Wbcr_Factory421_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,22 @@ if ( ! class_exists( 'Wbcr_Factory421_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 |
-
}
|
|
11 |
* @version 2.0.0
|
12 |
* @since 4.0.9
|
13 |
*/
|
14 |
+
// @formatter:off
|
15 |
+
if ( ! class_exists( 'Wbcr_Factory422_Requirements' ) ) {
|
16 |
+
class Wbcr_Factory422_Requirements {
|
17 |
|
18 |
/**
|
19 |
* Factory framework version
|
121 |
$this->plugin_basename = plugin_basename( $plugin_file );
|
122 |
$this->plugin_url = plugins_url( null, $plugin_file );
|
123 |
|
124 |
+
$plugin_info = get_file_data( $this->plugin_file, array(
|
125 |
'Version' => 'Version',
|
126 |
'FrameworkVersion' => 'Framework Version',
|
127 |
'TextDomain' => 'Text Domain'
|
128 |
+
), 'plugin' );
|
129 |
|
130 |
if ( isset( $plugin_info['FrameworkVersion'] ) ) {
|
131 |
$this->factory_version = $plugin_info['FrameworkVersion'];
|
139 |
$this->plugin_text_domain = $plugin_info['TextDomain'];
|
140 |
}
|
141 |
|
142 |
+
add_action( 'admin_init', array( $this, 'register_notices' ) );
|
143 |
}
|
144 |
|
145 |
public function get_plugin_version() {
|
158 |
if ( current_user_can( 'activate_plugins' ) && current_user_can( 'edit_plugins' ) && current_user_can( 'install_plugins' ) ) {
|
159 |
|
160 |
if ( is_multisite() ) {
|
161 |
+
add_action( 'network_admin_notices', array( $this, 'show_notice' ) );
|
162 |
|
163 |
+
if ( ! empty( $this->plugin_basename ) && in_array( $this->plugin_basename, (array) get_option( 'active_plugins', array() ) ) ) {
|
164 |
+
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
165 |
}
|
166 |
} else {
|
167 |
+
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
168 |
}
|
169 |
}
|
170 |
}
|
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_214' ), $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_422' ), $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_422' ), $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_422' ), $this->plugin_title );
|
291 |
}
|
292 |
}
|
293 |
+
}
|
294 |
+
// @formatter:on
|
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_422\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_422\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_421_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_421_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_421_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_422_deprecated_hook()
|
57 |
*
|
58 |
*/
|
59 |
+
function wbcr_factory_422_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_422_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_422_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_422_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_422_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_422_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_422\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_422\Premium;
|
4 |
|
5 |
use Exception;
|
6 |
+
use Wbcr_Factory422_Plugin;
|
7 |
|
8 |
// Exit if accessed directly
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
24 |
public static $providers;
|
25 |
|
26 |
/**
|
27 |
+
* @var Wbcr_Factory422_Plugin
|
28 |
*/
|
29 |
protected $plugin;
|
30 |
|
36 |
/**
|
37 |
* Manager constructor.
|
38 |
*
|
39 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
40 |
* @param array $settings
|
41 |
*
|
42 |
* @throws Exception
|
43 |
*/
|
44 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin, array $settings ) {
|
45 |
$this->plugin = $plugin;
|
46 |
$this->settings = $settings;
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
51 |
* @param array $settings
|
52 |
*
|
53 |
+
* @return \WBCR\Factory_Freemius_110\Premium\Provider
|
54 |
* @throws Exception
|
55 |
*/
|
56 |
+
public static function instance( Wbcr_Factory422_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_110\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_422\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 |
$this->plugin = $plugin;
|
46 |
$this->settings = $settings;
|
47 |
|
@@ -195,7 +195,7 @@ abstract class Provider {
|
|
195 |
abstract public function get_billing_cycle();
|
196 |
|
197 |
/**
|
198 |
-
* @return \WBCR\
|
199 |
*/
|
200 |
abstract public function get_license();
|
201 |
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_422\Premium;
|
4 |
|
5 |
use Exception;
|
6 |
+
use Wbcr_Factory422_Plugin;
|
7 |
|
8 |
// Exit if accessed directly
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
21 |
abstract class Provider {
|
22 |
|
23 |
/**
|
24 |
+
* @var Wbcr_Factory422_Plugin
|
25 |
*/
|
26 |
protected $plugin;
|
27 |
|
38 |
/**
|
39 |
* Provider constructor.
|
40 |
*
|
41 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
42 |
* @param array $settings
|
43 |
*/
|
44 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin, array $settings ) {
|
45 |
$this->plugin = $plugin;
|
46 |
$this->settings = $settings;
|
47 |
|
195 |
abstract public function get_billing_cycle();
|
196 |
|
197 |
/**
|
198 |
+
* @return \WBCR\Factory_422\Premium\Interfaces\License
|
199 |
*/
|
200 |
abstract public function get_license();
|
201 |
|
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;
|
@@ -39,11 +39,11 @@ class Premium_Upgrader extends Upgrader {
|
|
39 |
* @param $args
|
40 |
* @param bool $is_premium
|
41 |
*
|
42 |
-
* @param
|
43 |
*
|
44 |
* @throws Exception
|
45 |
*/
|
46 |
-
public function __construct(
|
47 |
parent::__construct( $plugin );
|
48 |
|
49 |
$this->plugin_basename = null;
|
@@ -116,11 +116,14 @@ class Premium_Upgrader extends Upgrader {
|
|
116 |
}
|
117 |
|
118 |
/**
|
|
|
119 |
* @since 4.1.1
|
120 |
*/
|
121 |
public function init_admin_actions() {
|
122 |
-
|
123 |
-
|
|
|
|
|
124 |
|
125 |
check_admin_referer( "factory_premium_{$action}" );
|
126 |
try {
|
@@ -225,9 +228,9 @@ class Premium_Upgrader extends Upgrader {
|
|
225 |
*
|
226 |
* @since 4.1.1
|
227 |
*
|
228 |
-
* @param
|
229 |
*
|
230 |
-
* @param
|
231 |
*
|
232 |
* @return void
|
233 |
*/
|
@@ -342,20 +345,28 @@ class Premium_Upgrader extends Upgrader {
|
|
342 |
<?php
|
343 |
}
|
344 |
|
|
|
345 |
/**
|
346 |
* Обновляет данные о премиум пакете в базе данных, после обновления плагина.
|
347 |
*
|
348 |
-
* @
|
349 |
-
*
|
350 |
-
* @param array $options
|
351 |
-
*
|
352 |
-
* @param WP_Upgrader $upgrader_object
|
353 |
*
|
|
|
354 |
* @throws Exception
|
355 |
*/
|
356 |
-
public function upgrader_process_complete_hook( $upgrader_object, $
|
357 |
-
if ( ! empty( $
|
358 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
$this->update_package_data();
|
360 |
}
|
361 |
}
|
@@ -424,7 +435,10 @@ class Premium_Upgrader extends Upgrader {
|
|
424 |
* @return string
|
425 |
*/
|
426 |
protected function get_action_url( $action ) {
|
427 |
-
$args = [
|
|
|
|
|
|
|
428 |
|
429 |
return wp_nonce_url( $this->get_admin_url( $args ), "factory_premium_{$action}" );
|
430 |
}
|
@@ -752,12 +766,12 @@ class Premium_Upgrader extends Upgrader {
|
|
752 |
$cancel_license_url = $this->get_action_url( 'cancel_license' );
|
753 |
|
754 |
$texts = [
|
755 |
-
'need_activate_license' => __( 'License activation required. A license is required to get premium plugin updates, as well as to get additional services.', '
|
756 |
-
'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.', '
|
757 |
'please_install_premium' => sprintf( __( 'Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
|
758 |
-
<a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', '
|
759 |
'please_activate_premium' => sprintf( __( 'Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
|
760 |
-
<a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', '
|
761 |
];
|
762 |
|
763 |
if ( isset( $texts[ $type ] ) ) {
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_422\Updates;
|
4 |
|
5 |
use Exception;
|
6 |
use Plugin_Installer_Skin;
|
7 |
use Plugin_Upgrader;
|
8 |
+
use Wbcr_Factory422_Plugin;
|
9 |
+
use Wbcr_FactoryPages422_ImpressiveThemplate;
|
10 |
use WP_Filesystem_Base;
|
11 |
use WP_Upgrader;
|
12 |
use WP_Upgrader_Skin;
|
39 |
* @param $args
|
40 |
* @param bool $is_premium
|
41 |
*
|
42 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
43 |
*
|
44 |
* @throws Exception
|
45 |
*/
|
46 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
47 |
parent::__construct( $plugin );
|
48 |
|
49 |
$this->plugin_basename = null;
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
+
* @since 4.2.2 Fixed bug with plugins namespace (ISW-4)
|
120 |
* @since 4.1.1
|
121 |
*/
|
122 |
public function init_admin_actions() {
|
123 |
+
$plugin_slug = $this->plugin->request->get( 'wfactory_premium_updates_plugin', null );
|
124 |
+
|
125 |
+
if ( isset( $_GET['wfactory_premium_updates_action'] ) && $this->plugin_slug === $plugin_slug ) {
|
126 |
+
$action = $this->plugin->request->get( 'wfactory_premium_updates_action' );
|
127 |
|
128 |
check_admin_referer( "factory_premium_{$action}" );
|
129 |
try {
|
228 |
*
|
229 |
* @since 4.1.1
|
230 |
*
|
231 |
+
* @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
|
232 |
*
|
233 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
234 |
*
|
235 |
* @return void
|
236 |
*/
|
345 |
<?php
|
346 |
}
|
347 |
|
348 |
+
|
349 |
/**
|
350 |
* Обновляет данные о премиум пакете в базе данных, после обновления плагина.
|
351 |
*
|
352 |
+
* @param WP_Upgrader $wp_upgrader WP_Upgrader instance.
|
353 |
+
* @param array $hook_extra Array of bulk item update data.
|
|
|
|
|
|
|
354 |
*
|
355 |
+
* @return void
|
356 |
* @throws Exception
|
357 |
*/
|
358 |
+
public function upgrader_process_complete_hook( $upgrader_object, $hook_extra ) {
|
359 |
+
if ( ! empty( $hook_extra ) && $hook_extra['action'] == 'update' && $hook_extra['type'] == 'plugin' ) {
|
360 |
+
|
361 |
+
# if it isn't bulk upgrade
|
362 |
+
if ( isset( $hook_extra['plugin'] ) && $this->plugin_basename === $hook_extra['plugin'] ) {
|
363 |
+
$this->update_package_data();
|
364 |
+
|
365 |
+
return;
|
366 |
+
}
|
367 |
+
|
368 |
+
# if it is bulk upgrade
|
369 |
+
if ( is_array( $hook_extra['plugins'] ) && in_array( $this->plugin_basename, $hook_extra['plugins'] ) ) {
|
370 |
$this->update_package_data();
|
371 |
}
|
372 |
}
|
435 |
* @return string
|
436 |
*/
|
437 |
protected function get_action_url( $action ) {
|
438 |
+
$args = [
|
439 |
+
'wfactory_premium_updates_action' => $action,
|
440 |
+
'wfactory_premium_updates_plugin' => $this->plugin_slug
|
441 |
+
];
|
442 |
|
443 |
return wp_nonce_url( $this->get_admin_url( $args ), "factory_premium_{$action}" );
|
444 |
}
|
766 |
$cancel_license_url = $this->get_action_url( 'cancel_license' );
|
767 |
|
768 |
$texts = [
|
769 |
+
'need_activate_license' => __( 'License activation required. A license is required to get premium plugin updates, as well as to get additional services.', 'wbcr_factory_422' ),
|
770 |
+
'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_422' ),
|
771 |
'please_install_premium' => sprintf( __( 'Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
|
772 |
+
<a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_422' ), $upgrade_url, $cancel_license_url ),
|
773 |
'please_activate_premium' => sprintf( __( 'Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
|
774 |
+
<a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_422' ), $activate_plugin_url, $cancel_license_url )
|
775 |
];
|
776 |
|
777 |
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_422\Updates;
|
4 |
|
5 |
use Exception;
|
6 |
use stdClass;
|
7 |
+
use Wbcr_Factory422_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_110\Updates\Freemius_Repository',
|
32 |
+
* 'freemius' => '\WBCR\Factory_422\Updates\Wordpress_Repository'
|
33 |
* ]
|
34 |
*/
|
35 |
public static $repositories = [];
|
42 |
protected $type = 'default';
|
43 |
|
44 |
/**
|
45 |
+
* @var Wbcr_Factory422_Plugin
|
46 |
*/
|
47 |
protected $plugin;
|
48 |
|
90 |
*
|
91 |
* @since 4.1.1
|
92 |
*
|
93 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
94 |
* @param $args
|
95 |
* @param bool $is_premium
|
96 |
*
|
97 |
* @throws Exception
|
98 |
*/
|
99 |
+
public function __construct( Wbcr_Factory422_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_422\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_422\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_422\Updates;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
+
use Wbcr_Factory422_Plugin;
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
23 |
protected $initialized = false;
|
24 |
|
25 |
/**
|
26 |
+
* @var Wbcr_Factory422_Plugin
|
27 |
*/
|
28 |
protected $plugin;
|
29 |
|
30 |
/**
|
31 |
* Repository constructor.
|
32 |
*
|
33 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
34 |
* @param bool $is_premium
|
35 |
*/
|
36 |
+
abstract public function __construct( Wbcr_Factory422_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_422\Updates;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
+
use Wbcr_Factory422_Plugin;
|
7 |
|
8 |
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
exit;
|
20 |
/**
|
21 |
* Wordpress constructor.
|
22 |
*
|
23 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
24 |
* @param bool $is_premium
|
25 |
*/
|
26 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
27 |
$this->plugin = $plugin;
|
28 |
}
|
29 |
|
libs/factory/core/langs/{wbcr_factory_421-ru_RU.mo → wbcr_factory_422-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/core/langs/{wbcr_factory_421-ru_RU.po → wbcr_factory_422-ru_RU.po}
RENAMED
File without changes
|
libs/factory/forms/boot.php
CHANGED
@@ -22,174 +22,174 @@ 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 |
if ( $plugin && ! isset( $plugin->forms ) ) {
|
65 |
throw new Exception( "The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'." );
|
66 |
}
|
67 |
|
68 |
-
require_once(
|
69 |
-
require_once(
|
70 |
-
require_once(
|
71 |
-
require_once(
|
72 |
-
require_once(
|
73 |
-
require_once(
|
74 |
-
require_once(
|
75 |
-
require_once(
|
76 |
|
77 |
// registration of controls
|
78 |
$plugin->forms->registerControls( [
|
79 |
[
|
80 |
'type' => 'checkbox',
|
81 |
-
'class' => '
|
82 |
-
'include' =>
|
83 |
],
|
84 |
[
|
85 |
'type' => 'list',
|
86 |
-
'class' => '
|
87 |
-
'include' =>
|
88 |
],
|
89 |
[
|
90 |
'type' => 'dropdown',
|
91 |
-
'class' => '
|
92 |
-
'include' =>
|
93 |
],
|
94 |
[
|
95 |
'type' => 'dropdown-and-colors',
|
96 |
-
'class' => '
|
97 |
-
'include' =>
|
98 |
],
|
99 |
[
|
100 |
'type' => 'hidden',
|
101 |
-
'class' => '
|
102 |
-
'include' =>
|
103 |
],
|
104 |
[
|
105 |
'type' => 'hidden',
|
106 |
-
'class' => '
|
107 |
-
'include' =>
|
108 |
],
|
109 |
[
|
110 |
'type' => 'radio',
|
111 |
-
'class' => '
|
112 |
-
'include' =>
|
113 |
],
|
114 |
[
|
115 |
'type' => 'radio-colors',
|
116 |
-
'class' => '
|
117 |
-
'include' =>
|
118 |
],
|
119 |
[
|
120 |
'type' => 'textarea',
|
121 |
-
'class' => '
|
122 |
-
'include' =>
|
123 |
],
|
124 |
[
|
125 |
'type' => 'textbox',
|
126 |
-
'class' => '
|
127 |
-
'include' =>
|
128 |
],
|
129 |
[
|
130 |
'type' => 'multiple-textbox',
|
131 |
-
'class' => '
|
132 |
-
'include' =>
|
133 |
],
|
134 |
[
|
135 |
'type' => 'datetimepicker-range',
|
136 |
-
'class' => '
|
137 |
-
'include' =>
|
138 |
],
|
139 |
[
|
140 |
'type' => 'url',
|
141 |
-
'class' => '
|
142 |
-
'include' =>
|
143 |
],
|
144 |
[
|
145 |
'type' => 'wp-editor',
|
146 |
-
'class' => '
|
147 |
-
'include' =>
|
148 |
],
|
149 |
[
|
150 |
'type' => 'color',
|
151 |
-
'class' => '
|
152 |
-
'include' =>
|
153 |
],
|
154 |
[
|
155 |
'type' => 'color-and-opacity',
|
156 |
-
'class' => '
|
157 |
-
'include' =>
|
158 |
],
|
159 |
[
|
160 |
'type' => 'gradient',
|
161 |
-
'class' => '
|
162 |
-
'include' =>
|
163 |
],
|
164 |
[
|
165 |
'type' => 'font',
|
166 |
-
'class' => '
|
167 |
-
'include' =>
|
168 |
],
|
169 |
[
|
170 |
'type' => 'google-font',
|
171 |
-
'class' => '
|
172 |
-
'include' =>
|
173 |
],
|
174 |
[
|
175 |
'type' => 'pattern',
|
176 |
-
'class' => '
|
177 |
-
'include' =>
|
178 |
],
|
179 |
[
|
180 |
'type' => 'integer',
|
181 |
-
'class' => '
|
182 |
-
'include' =>
|
183 |
],
|
184 |
[
|
185 |
'type' => 'control-group',
|
186 |
-
'class' => '
|
187 |
-
'include' =>
|
188 |
],
|
189 |
[
|
190 |
'type' => 'paddings-editor',
|
191 |
-
'class' => '
|
192 |
-
'include' =>
|
193 |
],
|
194 |
] );
|
195 |
|
@@ -197,53 +197,53 @@ if ( ! function_exists( 'wbcr_factory_forms_419_register_default_controls' ) ) {
|
|
197 |
$plugin->forms->registerHolders( [
|
198 |
[
|
199 |
'type' => 'tab',
|
200 |
-
'class' => '
|
201 |
-
'include' =>
|
202 |
],
|
203 |
[
|
204 |
'type' => 'tab-item',
|
205 |
-
'class' => '
|
206 |
-
'include' =>
|
207 |
],
|
208 |
[
|
209 |
'type' => 'accordion',
|
210 |
-
'class' => '
|
211 |
-
'include' =>
|
212 |
],
|
213 |
[
|
214 |
'type' => 'accordion-item',
|
215 |
-
'class' => '
|
216 |
-
'include' =>
|
217 |
],
|
218 |
[
|
219 |
'type' => 'control-group',
|
220 |
-
'class' => '
|
221 |
-
'include' =>
|
222 |
],
|
223 |
[
|
224 |
'type' => 'control-group-item',
|
225 |
-
'class' => '
|
226 |
-
'include' =>
|
227 |
],
|
228 |
[
|
229 |
'type' => 'form-group',
|
230 |
-
'class' => '
|
231 |
-
'include' =>
|
232 |
],
|
233 |
[
|
234 |
'type' => 'more-link',
|
235 |
-
'class' => '
|
236 |
-
'include' =>
|
237 |
],
|
238 |
[
|
239 |
'type' => 'div',
|
240 |
-
'class' => '
|
241 |
-
'include' =>
|
242 |
],
|
243 |
[
|
244 |
'type' => 'columns',
|
245 |
-
'class' => '
|
246 |
-
'include' =>
|
247 |
]
|
248 |
] );
|
249 |
|
@@ -251,23 +251,23 @@ if ( ! function_exists( 'wbcr_factory_forms_419_register_default_controls' ) ) {
|
|
251 |
$plugin->forms->registerCustomElements( [
|
252 |
[
|
253 |
'type' => 'html',
|
254 |
-
'class' => '
|
255 |
-
'include' =>
|
256 |
],
|
257 |
[
|
258 |
'type' => 'separator',
|
259 |
-
'class' => '
|
260 |
-
'include' =>
|
261 |
],
|
262 |
] );
|
263 |
|
264 |
// registration of form layouts
|
265 |
$plugin->forms->registerFormLayout( [
|
266 |
'name' => 'bootstrap-3',
|
267 |
-
'class' => '
|
268 |
-
'include' =>
|
269 |
] );
|
270 |
}
|
271 |
|
272 |
-
add_action( '
|
273 |
}
|
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_420_LOADED' ) ) {
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
+
define( 'FACTORY_FORMS_420_LOADED', true );
|
30 |
|
31 |
+
define( 'FACTORY_FORMS_420_VERSION', '4.2.0' );
|
32 |
|
33 |
// absolute path and URL to the files and resources of the module.
|
34 |
+
define( 'FACTORY_FORMS_420_DIR', dirname( __FILE__ ) );
|
35 |
+
define( 'FACTORY_FORMS_420_URL', plugins_url( null, __FILE__ ) );
|
36 |
|
37 |
#comp merge
|
38 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/providers/value-provider.interface.php' );
|
39 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/providers/meta-value-provider.class.php' );
|
40 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/providers/options-value-provider.class.php' );
|
41 |
|
42 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/form.class.php' );
|
43 |
#endcomp
|
44 |
|
45 |
+
load_plugin_textdomain( 'wbcr_factory_forms_420', 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_420_register_controls' hook
|
53 |
*
|
54 |
*/
|
55 |
+
if ( ! function_exists( 'wbcr_factory_forms_420_register_default_controls' ) ) {
|
56 |
|
57 |
/**
|
58 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
59 |
*
|
60 |
* @throws Exception
|
61 |
*/
|
62 |
+
function wbcr_factory_forms_420_register_default_controls( Wbcr_Factory422_Plugin $plugin ) {
|
63 |
|
64 |
if ( $plugin && ! isset( $plugin->forms ) ) {
|
65 |
throw new Exception( "The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'." );
|
66 |
}
|
67 |
|
68 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/html-builder.class.php' );
|
69 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/form-element.class.php' );
|
70 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/control.class.php' );
|
71 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/complex-control.class.php' );
|
72 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/holder.class.php' );
|
73 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/control-holder.class.php' );
|
74 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/custom-element.class.php' );
|
75 |
+
require_once( FACTORY_FORMS_420_DIR . '/includes/form-layout.class.php' );
|
76 |
|
77 |
// registration of controls
|
78 |
$plugin->forms->registerControls( [
|
79 |
[
|
80 |
'type' => 'checkbox',
|
81 |
+
'class' => 'Wbcr_FactoryForms420_CheckboxControl',
|
82 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/checkbox.php'
|
83 |
],
|
84 |
[
|
85 |
'type' => 'list',
|
86 |
+
'class' => 'Wbcr_FactoryForms420_ListControl',
|
87 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/list.php'
|
88 |
],
|
89 |
[
|
90 |
'type' => 'dropdown',
|
91 |
+
'class' => 'Wbcr_FactoryForms420_DropdownControl',
|
92 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/dropdown.php'
|
93 |
],
|
94 |
[
|
95 |
'type' => 'dropdown-and-colors',
|
96 |
+
'class' => 'Wbcr_FactoryForms420_DropdownAndColorsControl',
|
97 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/dropdown-and-colors.php'
|
98 |
],
|
99 |
[
|
100 |
'type' => 'hidden',
|
101 |
+
'class' => 'Wbcr_FactoryForms420_HiddenControl',
|
102 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/hidden.php'
|
103 |
],
|
104 |
[
|
105 |
'type' => 'hidden',
|
106 |
+
'class' => 'Wbcr_FactoryForms420_HiddenControl',
|
107 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/hidden.php'
|
108 |
],
|
109 |
[
|
110 |
'type' => 'radio',
|
111 |
+
'class' => 'Wbcr_FactoryForms420_RadioControl',
|
112 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/radio.php'
|
113 |
],
|
114 |
[
|
115 |
'type' => 'radio-colors',
|
116 |
+
'class' => 'Wbcr_FactoryForms420_RadioColorsControl',
|
117 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/radio-colors.php'
|
118 |
],
|
119 |
[
|
120 |
'type' => 'textarea',
|
121 |
+
'class' => 'Wbcr_FactoryForms420_TextareaControl',
|
122 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/textarea.php'
|
123 |
],
|
124 |
[
|
125 |
'type' => 'textbox',
|
126 |
+
'class' => 'Wbcr_FactoryForms420_TextboxControl',
|
127 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/textbox.php'
|
128 |
],
|
129 |
[
|
130 |
'type' => 'multiple-textbox',
|
131 |
+
'class' => 'Wbcr_FactoryForms420_MultipleTextboxControl',
|
132 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/multiple-textbox.php'
|
133 |
],
|
134 |
[
|
135 |
'type' => 'datetimepicker-range',
|
136 |
+
'class' => 'Wbcr_FactoryForms420_DatepickerRangeControl',
|
137 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/datepicker-range.php'
|
138 |
],
|
139 |
[
|
140 |
'type' => 'url',
|
141 |
+
'class' => 'Wbcr_FactoryForms420_UrlControl',
|
142 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/url.php'
|
143 |
],
|
144 |
[
|
145 |
'type' => 'wp-editor',
|
146 |
+
'class' => 'Wbcr_FactoryForms420_WpEditorControl',
|
147 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/wp-editor.php'
|
148 |
],
|
149 |
[
|
150 |
'type' => 'color',
|
151 |
+
'class' => 'Wbcr_FactoryForms420_ColorControl',
|
152 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/color.php'
|
153 |
],
|
154 |
[
|
155 |
'type' => 'color-and-opacity',
|
156 |
+
'class' => 'Wbcr_FactoryForms420_ColorAndOpacityControl',
|
157 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/color-and-opacity.php'
|
158 |
],
|
159 |
[
|
160 |
'type' => 'gradient',
|
161 |
+
'class' => 'Wbcr_FactoryForms420_GradientControl',
|
162 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/gradient.php'
|
163 |
],
|
164 |
[
|
165 |
'type' => 'font',
|
166 |
+
'class' => 'Wbcr_FactoryForms420_FontControl',
|
167 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/font.php'
|
168 |
],
|
169 |
[
|
170 |
'type' => 'google-font',
|
171 |
+
'class' => 'Wbcr_FactoryForms420_GoogleFontControl',
|
172 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/google-font.php'
|
173 |
],
|
174 |
[
|
175 |
'type' => 'pattern',
|
176 |
+
'class' => 'Wbcr_FactoryForms420_PatternControl',
|
177 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/pattern.php'
|
178 |
],
|
179 |
[
|
180 |
'type' => 'integer',
|
181 |
+
'class' => 'Wbcr_FactoryForms420_IntegerControl',
|
182 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/integer.php'
|
183 |
],
|
184 |
[
|
185 |
'type' => 'control-group',
|
186 |
+
'class' => 'Wbcr_FactoryForms420_ControlGroupHolder',
|
187 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/control-group.php'
|
188 |
],
|
189 |
[
|
190 |
'type' => 'paddings-editor',
|
191 |
+
'class' => 'Wbcr_FactoryForms420_PaddingsEditorControl',
|
192 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/paddings-editor.php'
|
193 |
],
|
194 |
] );
|
195 |
|
197 |
$plugin->forms->registerHolders( [
|
198 |
[
|
199 |
'type' => 'tab',
|
200 |
+
'class' => 'Wbcr_FactoryForms420_TabHolder',
|
201 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/tab.php'
|
202 |
],
|
203 |
[
|
204 |
'type' => 'tab-item',
|
205 |
+
'class' => 'Wbcr_FactoryForms420_TabItemHolder',
|
206 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/tab-item.php'
|
207 |
],
|
208 |
[
|
209 |
'type' => 'accordion',
|
210 |
+
'class' => 'Wbcr_FactoryForms420_AccordionHolder',
|
211 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/accordion.php'
|
212 |
],
|
213 |
[
|
214 |
'type' => 'accordion-item',
|
215 |
+
'class' => 'Wbcr_FactoryForms420_AccordionItemHolder',
|
216 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/accordion-item.php'
|
217 |
],
|
218 |
[
|
219 |
'type' => 'control-group',
|
220 |
+
'class' => 'Wbcr_FactoryForms420_ControlGroupHolder',
|
221 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/control-group.php'
|
222 |
],
|
223 |
[
|
224 |
'type' => 'control-group-item',
|
225 |
+
'class' => 'Wbcr_FactoryForms420_ControlGroupItem',
|
226 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/control-group-item.php'
|
227 |
],
|
228 |
[
|
229 |
'type' => 'form-group',
|
230 |
+
'class' => 'Wbcr_FactoryForms420_FormGroupHolder',
|
231 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/form-group.php'
|
232 |
],
|
233 |
[
|
234 |
'type' => 'more-link',
|
235 |
+
'class' => 'Wbcr_FactoryForms420_MoreLinkHolder',
|
236 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/more-link.php'
|
237 |
],
|
238 |
[
|
239 |
'type' => 'div',
|
240 |
+
'class' => 'Wbcr_FactoryForms420_DivHolder',
|
241 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/div.php'
|
242 |
],
|
243 |
[
|
244 |
'type' => 'columns',
|
245 |
+
'class' => 'Wbcr_FactoryForms420_ColumnsHolder',
|
246 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/holders/columns.php'
|
247 |
]
|
248 |
] );
|
249 |
|
251 |
$plugin->forms->registerCustomElements( [
|
252 |
[
|
253 |
'type' => 'html',
|
254 |
+
'class' => 'Wbcr_FactoryForms420_Html',
|
255 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/customs/html.php',
|
256 |
],
|
257 |
[
|
258 |
'type' => 'separator',
|
259 |
+
'class' => 'Wbcr_FactoryForms420_Separator',
|
260 |
+
'include' => FACTORY_FORMS_420_DIR . '/controls/customs/separator.php',
|
261 |
],
|
262 |
] );
|
263 |
|
264 |
// registration of form layouts
|
265 |
$plugin->forms->registerFormLayout( [
|
266 |
'name' => 'bootstrap-3',
|
267 |
+
'class' => 'Wbcr_FactoryForms420_Bootstrap3FormLayout',
|
268 |
+
'include' => FACTORY_FORMS_420_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
|
269 |
] );
|
270 |
}
|
271 |
|
272 |
+
add_action( 'wbcr_factory_forms_420_register_controls', 'wbcr_factory_forms_420_register_default_controls' );
|
273 |
}
|
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_FactoryForms420_CheckboxControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms420_CheckboxControl extends Wbcr_FactoryForms420_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_420') ?></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_420') ?></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_FactoryForms420_ColorAndOpacityControl') ) {
|
24 |
}
|
25 |
|
26 |
+
class Wbcr_FactoryForms420_ColorAndOpacityControl extends Wbcr_FactoryForms420_ComplexControl {
|
27 |
|
28 |
public $type = 'color-and-opacity';
|
29 |
|
57 |
'way' => 'slider'
|
58 |
));
|
59 |
|
60 |
+
$this->color = new Wbcr_FactoryForms420_ColorControl($options['color'], $form, $provider);
|
61 |
+
$this->opacity = new Wbcr_FactoryForms420_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_FactoryForms420_ColorControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms420_ColorControl extends Wbcr_FactoryForms420_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_FactoryForms420_Html') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryForms420_Html extends Wbcr_FactoryForms420_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_FactoryForms420_Separator') ) {
|
18 |
+
class Wbcr_FactoryForms420_Separator extends Wbcr_FactoryForms420_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_FactoryForms420_DatepickerRangeControl') ) {
|
33 |
|
34 |
+
class Wbcr_FactoryForms420_DatepickerRangeControl extends Wbcr_FactoryForms420_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_FactoryForms420_TextboxControl($options['range_1'], $form, $provider);
|
69 |
+
$this->range_2 = new Wbcr_FactoryForms420_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 FactoryForms420_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 FactoryForms420_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_FactoryForms420_DropdownAndColorsControl') ) {
|
41 |
|
42 |
+
class Wbcr_FactoryForms420_DropdownAndColorsControl extends Wbcr_FactoryForms420_ComplexControl {
|
43 |
|
44 |
public $type = 'dropdown-and-colors';
|
45 |
|
69 |
'name' => $this->options['name'] . '__colors',
|
70 |
));
|
71 |
|
72 |
+
$this->dropdown = new Wbcr_FactoryForms420_DropdownControl($options['dropdown'], $form, $provider);
|
73 |
+
$this->colors = new Wbcr_FactoryForms420_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_FactoryForms420_DropdownControl' ) ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms420_DropdownControl extends Wbcr_FactoryForms420_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_420' ) ) ?>'
|
127 |
};
|
128 |
</script>
|
129 |
<?php
|
268 |
}
|
269 |
|
270 |
$is_empty = $this->isAjax() || empty( $items );
|
271 |
+
$empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_420' ) );
|
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_420' );
|
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_FactoryForms420_FontControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms420_FontControl extends Wbcr_FactoryForms420_ComplexControl {
|
26 |
|
27 |
public $type = 'font';
|
28 |
|
54 |
'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
|
55 |
);
|
56 |
|
57 |
+
$this->size = new Wbcr_FactoryForms420_IntegerControl($option_font_size, $form, $provider);
|
58 |
+
$this->family = new Wbcr_FactoryForms420_DropdownControl($option_font_family, $form, $provider);
|
59 |
+
$this->color = new Wbcr_FactoryForms420_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_420_fonts', $fonts);
|
70 |
+
$fonts = apply_filters('wbcr_factory_forms_420_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_420')),
|
81 |
array(
|
82 |
'group',
|
83 |
+
__('Sans Serif:', 'wbcr_factory_forms_420'),
|
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_420'),
|
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_420'),
|
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_FactoryForms420_GoogleFontControl extends Wbcr_FactoryForms420_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_FactoryForms420_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_420'))
|
53 |
);
|
54 |
|
55 |
$fontsCommon = array(
|
56 |
'group',
|
57 |
+
__('Standard:', 'wbcr_factory_forms_420'),
|
58 |
array(
|
59 |
|
60 |
array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
|
65 |
)
|
66 |
);
|
67 |
|
68 |
+
$fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_420'), 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_420');
|
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_420');
|
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_420');
|
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_FactoryForms420_GradientControl') ) {
|
29 |
+
class Wbcr_FactoryForms420_GradientControl extends Wbcr_FactoryForms420_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_420' ) ?>';
|
70 |
+
factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_420' ) ?>';
|
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_FactoryForms420_HiddenControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms420_HiddenControl extends Wbcr_FactoryForms420_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_FactoryForms420_AccordionItemHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms420_AccordionItemHolder extends Wbcr_FactoryForms420_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_FactoryForms420_AccordionHolder') ) {
|
17 |
/**
|
18 |
* Tab Control Holder
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
class Wbcr_FactoryForms420_AccordionHolder extends Wbcr_FactoryForms420_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_FactoryForms420_ColumnsHolder') ) {
|
18 |
/**
|
19 |
* Columns Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms420_ColumnsHolder extends Wbcr_FactoryForms420_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_FactoryForms420_ControlGroupItem') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms420_ControlGroupItem extends Wbcr_FactoryForms420_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_FactoryForms420_ControlGroupHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms420_ControlGroupHolder extends Wbcr_FactoryForms420_ControlHolder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
61 |
continue;
|
62 |
}
|
63 |
|
64 |
+
$builder = new Wbcr_FactoryForms420_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_FactoryForms420_DivHolder') ) {
|
18 |
/**
|
19 |
* Div Control Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms420_DivHolder extends Wbcr_FactoryForms420_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_FactoryForms420_FormGroupHolder') ) {
|
18 |
/**
|
19 |
* Group Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms420_FormGroupHolder extends Wbcr_FactoryForms420_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_FactoryForms420_MoreLinkHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Collapsed Group Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms420_MoreLinkHolder extends Wbcr_FactoryForms420_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_FactoryForms420_TabItemHolder') ) {
|
17 |
/**
|
18 |
* Tab Item Control Holder
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
class Wbcr_FactoryForms420_TabItemHolder extends Wbcr_FactoryForms420_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_FactoryForms420_TabHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms420_TabHolder extends Wbcr_FactoryForms420_Holder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @param mixed[] $options A holder options.
|
47 |
+
* @param FactoryForms420_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_FactoryForms420_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_FactoryForms420_IntegerControl') ) {
|
36 |
|
37 |
+
class Wbcr_FactoryForms420_IntegerControl extends Wbcr_FactoryForms420_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_FactoryForms420_ListControl') ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms420_ListControl extends Wbcr_FactoryForms420_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_420') ) ?>'
|
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_420'));
|
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_FactoryForms420_MultipleTextboxControl') ) {
|
19 |
|
20 |
+
class Wbcr_FactoryForms420_MultipleTextboxControl extends Wbcr_FactoryForms420_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_420') ?>
|
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_FactoryForms420_PaddingsEditorControl') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryForms420_PaddingsEditorControl extends Wbcr_FactoryForms420_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_420') ?>
|
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_FactoryForms420_PatternControl') ) {
|
19 |
|
20 |
+
class Wbcr_FactoryForms420_PatternControl extends Wbcr_FactoryForms420_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_420_patterns', array());
|
56 |
+
$this->patterns = apply_filters('wbcr_factory_forms_420_patterns-' . $name, $this->patterns);
|
57 |
|
58 |
$this->custom_patterns = $this->getOption('patterns', array());
|
59 |
|
60 |
+
$this->color = new Wbcr_FactoryForms420_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_420') ?>">
|
106 |
<i class="fa fa-flask"></i>
|
107 |
+
<span><?php _e('re-color', 'wbcr_factory_forms_420') ?></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_420') ?></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_420') ?></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_FactoryForms420_RadioColorsControl') ) {
|
31 |
|
32 |
+
class Wbcr_FactoryForms420_RadioColorsControl extends Wbcr_FactoryForms420_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_FactoryForms420_RadioControl') ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms420_RadioControl extends Wbcr_FactoryForms420_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_FactoryForms420_TextareaControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms420_TextareaControl extends Wbcr_FactoryForms420_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_FactoryForms420_TextboxControl') ) {
|
33 |
|
34 |
+
class Wbcr_FactoryForms420_TextboxControl extends Wbcr_FactoryForms420_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 FactoryForms420_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_FactoryForms420_UrlControl') ) {
|
22 |
|
23 |
+
class Wbcr_FactoryForms420_UrlControl extends Wbcr_FactoryForms420_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_FactoryForms420_WpEditorControl') ) {
|
26 |
|
27 |
+
class Wbcr_FactoryForms420_WpEditorControl extends Wbcr_FactoryForms420_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_420_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_FactoryForms420_ComplexControl') ) {
|
17 |
/**
|
18 |
* The base class for all controls.
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
abstract class Wbcr_FactoryForms420_ComplexControl extends Wbcr_FactoryForms420_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_FactoryForms420_Control[]
|
37 |
*/
|
38 |
public $inner_controls = array();
|
39 |
|
41 |
* Sets a provider for the control.
|
42 |
*
|
43 |
* @since 1.0.0
|
44 |
+
* @param Wbcr_IFactoryForms420_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_FactoryForms420_ControlHolder') ) {
|
18 |
/**
|
19 |
* The base class for control holders.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
abstract class Wbcr_FactoryForms420_ControlHolder extends Wbcr_FactoryForms420_Control {
|
24 |
|
25 |
/**
|
26 |
* Holder Elements.
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
+
* @var Wbcr_FactoryForms420_Control[]
|
30 |
*/
|
31 |
protected $elements = array();
|
32 |
|
43 |
*
|
44 |
* @since 1.0.0
|
45 |
* @param mixed[] $options A holder options.
|
46 |
+
* @param Wbcr_FactoryForms420_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_FactoryForms420_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_FactoryForms420_Control') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all controls.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryForms420_Control extends Wbcr_FactoryForms420_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_IFactoryForms420_ValueProvider
|
47 |
*/
|
48 |
protected $provider = null;
|
49 |
|
51 |
* Create a new instance of the control.
|
52 |
*
|
53 |
* @param mixed[] $options
|
54 |
+
* @param FactoryForms420_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 IFactoryForms420_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_FactoryForms420_CustomElement') ) {
|
18 |
/**
|
19 |
* The base class for all controls.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
abstract class Wbcr_FactoryForms420_CustomElement extends Wbcr_FactoryForms420_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_FactoryForms420_FormElement') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all form element (controls, holders).
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
*/
|
26 |
+
abstract class Wbcr_FactoryForms420_FormElement {
|
27 |
|
28 |
/**
|
29 |
* A type of an elemnt.
|
37 |
* An html attribute builder.
|
38 |
*
|
39 |
* @since 1.0.0
|
40 |
+
* @var Wbcr_FactoryForms420_HtmlAttributeBuilder
|
41 |
*/
|
42 |
private $html_builder;
|
43 |
|
53 |
* A parent form.
|
54 |
*
|
55 |
* @since 1.0.0
|
56 |
+
* @var Wbcr_FactoryForms420_Form
|
57 |
*/
|
58 |
protected $form;
|
59 |
|
61 |
* A form layout.
|
62 |
*
|
63 |
* @since 1.0.0
|
64 |
+
* @var Wbcr_FactoryForms420_FormLayout
|
65 |
*/
|
66 |
protected $layout;
|
67 |
|
94 |
*
|
95 |
* @since 1.0.0
|
96 |
* @param mixed[] $options A holder options.
|
97 |
+
* @param Wbcr_FactoryForms420_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_FactoryForms420_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_FactoryForms420_FormLayout') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all form layouts.
|
21 |
*/
|
22 |
+
abstract class Wbcr_FactoryForms420_FormLayout extends Wbcr_FactoryForms420_Holder {
|
23 |
|
24 |
/**
|
25 |
* A form layout name.
|
42 |
*
|
43 |
* @since 1.0.0
|
44 |
* @param mixed[] $options A holder options.
|
45 |
+
* @param Wbcr_FactoryForms420_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-420-' . $this->type);
|
56 |
+
$this->addCssClass('factory-forms-420-' . $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_420_plugin_created', 'wbcr_factory_forms_420_plugin_created');
|
19 |
|
20 |
+
function wbcr_factory_forms_420_plugin_created($plugin)
|
21 |
{
|
22 |
+
$plugin->forms = new Wbcr_FactoryForms420_Manager($plugin);
|
23 |
}
|
24 |
|
25 |
+
if( !class_exists('Wbcr_FactoryForms420_Manager') ) {
|
26 |
|
27 |
+
class Wbcr_FactoryForms420_Manager {
|
28 |
|
29 |
// ----------------------------------------------------
|
30 |
// Static fields and methods
|
57 |
/**
|
58 |
* Registers a set of new controls.
|
59 |
*
|
60 |
+
* @see FactoryForms420_Form::registerControl()
|
61 |
*
|
62 |
* @since 1.0.0
|
63 |
* @return void
|
95 |
/**
|
96 |
* Registers a set of new holder controls.
|
97 |
*
|
98 |
+
* @see FactoryForms420_Form::registerHolder()
|
99 |
*
|
100 |
* @since 1.0.0
|
101 |
* @return void
|
129 |
/**
|
130 |
* Registers a set of new custom form elements.
|
131 |
*
|
132 |
+
* @see FactoryForms420_Form::registerCustomElement()
|
133 |
*
|
134 |
* @since 1.0.0
|
135 |
* @return void
|
180 |
public static $controls_registered = false;
|
181 |
}
|
182 |
}
|
183 |
+
if( !class_exists('Wbcr_FactoryForms420_Form') ) {
|
184 |
/**
|
185 |
* An abstraction for forms.
|
186 |
*/
|
187 |
+
class Wbcr_FactoryForms420_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_IFactoryForms420_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_FactoryForms420_FormLayout
|
249 |
*/
|
250 |
public $layout;
|
251 |
|
261 |
*
|
262 |
* @since 1.0.0
|
263 |
* @param array $options
|
264 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
265 |
*/
|
266 |
+
public function __construct(array $options = array(), Wbcr_Factory422_Plugin $plugin)
|
267 |
{
|
268 |
// register controls once, when the first form is created
|
269 |
+
if( !Wbcr_FactoryForms420_Manager::$controls_registered ) {
|
270 |
|
271 |
+
do_action('wbcr_factory_forms_420_register_controls', $plugin);
|
272 |
|
273 |
//if( !empty($plugin) ) {
|
274 |
+
do_action('wbcr_factory_forms_420_register_controls_' . $plugin->getPluginName(), $plugin);
|
275 |
//}
|
276 |
|
277 |
+
Wbcr_FactoryForms420_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_FactoryForms420_Manager::$temper = 'flat';
|
293 |
}
|
294 |
|
295 |
/**
|
296 |
* Sets a provider for the control.
|
297 |
*
|
298 |
* @since 1.0.0
|
299 |
+
* @param Wbcr_IFactoryForms420_ValueProvider $provider
|
300 |
* @return void
|
301 |
*/
|
302 |
public function setProvider($provider)
|
332 |
*/
|
333 |
public function getItems()
|
334 |
{
|
335 |
+
return apply_filters('wbcr_factory_422_form_items', $this->items, $this->name);
|
336 |
}
|
337 |
|
338 |
/**
|
339 |
* Returns form controls (control objects).
|
340 |
*
|
341 |
* @since 1.0.0
|
342 |
+
* @return Wbcr_FactoryForms420_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_FactoryForms420_Control[]
|
359 |
*/
|
360 |
|
361 |
public function createControls($holder = null)
|
395 |
*
|
396 |
* @since 1.0.0
|
397 |
* @param array $item Item data.
|
398 |
+
* @return Wbcr_FactoryForms420_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_FactoryForms420_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_FactoryForms420_Control A control object.
|
437 |
*/
|
438 |
public function createControl($item)
|
439 |
{
|
441 |
|
442 |
if( is_array($item) ) {
|
443 |
|
444 |
+
$control_data = Wbcr_FactoryForms420_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_FactoryForms420_Holder A control holder object.
|
469 |
*/
|
470 |
public function createHolder($item)
|
471 |
{
|
473 |
|
474 |
if( is_array($item) ) {
|
475 |
|
476 |
+
$holderData = Wbcr_FactoryForms420_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_FactoryForms420_FormElement A custom form element object.
|
495 |
*/
|
496 |
public function createCustomElement($item)
|
497 |
{
|
499 |
|
500 |
if( is_array($item) ) {
|
501 |
|
502 |
+
$data = Wbcr_FactoryForms420_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_FactoryForms420_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_FactoryForms420_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_FactoryForms420_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_FactoryForms420_Manager::$registered_controls;
|
606 |
} elseif( self::isControlHolder($type) ) {
|
607 |
+
$haystack = Wbcr_FactoryForms420_Manager::$registered_holders;
|
608 |
}
|
609 |
|
610 |
if( isset($haystack[$type]) ) {
|
660 |
*/
|
661 |
public static function isControl($item)
|
662 |
{
|
663 |
+
return isset(Wbcr_FactoryForms420_Manager::$registered_controls[$item['type']]);
|
664 |
}
|
665 |
|
666 |
/**
|
672 |
*/
|
673 |
public static function isControlHolder($item)
|
674 |
{
|
675 |
+
return isset(Wbcr_FactoryForms420_Manager::$registered_holders[$item['type']]);
|
676 |
}
|
677 |
|
678 |
/**
|
684 |
*/
|
685 |
public static function isCustomElement($item)
|
686 |
{
|
687 |
+
return isset(Wbcr_FactoryForms420_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_FactoryForms420_Holder') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for control holders.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryForms420_Holder extends Wbcr_FactoryForms420_FormElement {
|
25 |
|
26 |
/**
|
27 |
* Holder Elements.
|
28 |
*
|
29 |
* @since 1.0.0
|
30 |
+
* @var Wbcr_FactoryForms420_Control[]
|
31 |
*/
|
32 |
protected $elements = array();
|
33 |
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @param mixed[] $options A holder options.
|
47 |
+
* @param Wbcr_FactoryForms420_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_FactoryForms420_Control[].
|
60 |
*/
|
61 |
public function getElements()
|
62 |
{
|
84 |
$is_first_item = false;
|
85 |
}
|
86 |
|
87 |
+
do_action('wbcr_factory_422_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_FactoryForms420_HtmlAttributeBuilder') ) {
|
18 |
/**
|
19 |
* Html Attribute Builder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms420_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_FactoryForms420_OptionsValueProvider') ) {
|
18 |
|
19 |
/**
|
20 |
* Factory Meta Value Provider
|
24 |
*
|
25 |
* @since 1.0.0
|
26 |
*/
|
27 |
+
class Wbcr_FactoryForms420_MetaValueProvider implements Wbcr_IFactoryForms420_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_FactoryForms420_OptionsValueProvider') ) {
|
17 |
|
18 |
/**
|
19 |
* Factory Options Value Provider
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
+
class Wbcr_FactoryForms420_OptionsValueProvider implements Wbcr_IFactoryForms420_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_Factory422_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_IFactoryForms420_ValueProvider') ) {
|
18 |
/**
|
19 |
* The interface for all value provides.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
interface Wbcr_IFactoryForms420_ValueProvider {
|
24 |
|
25 |
/**
|
26 |
* Inits a form a provider to get data from a storage.
|
libs/factory/forms/langs/{wbcr_factory_forms_419-ru_RU.mo → wbcr_factory_forms_420-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/forms/langs/{wbcr_factory_forms_419-ru_RU.po → wbcr_factory_forms_420-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_FactoryForms420_Bootstrap3FormLayout') ) {
|
18 |
/**
|
19 |
* A form layout based on Twitter Bootstrap 3
|
20 |
*/
|
21 |
+
class Wbcr_FactoryForms420_Bootstrap3FormLayout extends Wbcr_FactoryForms420_FormLayout {
|
22 |
|
23 |
public $name = 'default';
|
24 |
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
* @param array $options A holder options.
|
30 |
+
* @param Wbcr_FactoryForms420_Form $form A parent form.
|
31 |
*/
|
32 |
public function __construct($options, $form)
|
33 |
{
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* @param Wbcr_FactoryForms420_Control $control
|
72 |
*/
|
73 |
public function beforeControl($control)
|
74 |
{
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
+
* @param Wbcr_FactoryForms420_Control $control
|
120 |
*/
|
121 |
public function afterControl($control)
|
122 |
{
|
168 |
}
|
169 |
|
170 |
/**
|
171 |
+
* @param Wbcr_FactoryForms420_Control $control
|
172 |
* @param int $index
|
173 |
* @param int $total
|
174 |
*/
|
193 |
}
|
194 |
|
195 |
/**
|
196 |
+
* @param Wbcr_FactoryForms420_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_110_LOADED' ) ) {
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
define( 'FACTORY_FREEMIUS_110_VERSION', '1.1.0' );
|
22 |
|
23 |
+
define( 'FACTORY_FREEMIUS_110_LOADED', true );
|
24 |
+
define( 'FACTORY_FREEMIUS_110_DIR', dirname( __FILE__ ) );
|
25 |
+
define( 'FACTORY_FREEMIUS_110_URL', plugins_url( null, __FILE__ ) );
|
26 |
|
27 |
#comp merge
|
28 |
// Freemius
|
29 |
+
require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-entity.php' );
|
30 |
+
require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-scope.php' );
|
31 |
+
require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-user.php' );
|
32 |
+
require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-site.php' );
|
33 |
+
require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-license.php' );
|
34 |
+
require_once( FACTORY_FREEMIUS_110_DIR . '/includes/licensing/class-freemius-provider.php' );
|
35 |
+
require_once( FACTORY_FREEMIUS_110_DIR . '/includes/updates/class-freemius-repository.php' );
|
36 |
|
37 |
if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
|
38 |
+
require_once FACTORY_FREEMIUS_110_DIR . '/includes/sdk/FreemiusWordPress.php';
|
39 |
}
|
40 |
|
41 |
+
require_once( FACTORY_FREEMIUS_110_DIR . '/includes/class-freemius-api.php' );
|
42 |
|
43 |
/**
|
44 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
45 |
*/
|
46 |
+
add_action( 'wbcr_factory_freemius_110_plugin_created', function ( $plugin ) {
|
47 |
# Устанавливаем класс провайдера лицензий для премиум менеджера
|
48 |
+
$plugin->set_license_provider( 'freemius', 'WBCR\Factory_Freemius_110\Premium\Provider' );
|
49 |
# Устанавливаем класс репозитория обновлений для менеджера обновлений
|
50 |
+
$plugin->set_update_repository( 'freemius', 'WBCR\Factory_Freemius_110\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_110;
|
4 |
|
5 |
use Freemius_Api_WordPress;
|
6 |
use Freemius_Exception;
|
7 |
+
use Wbcr_Factory422_Plugin;
|
8 |
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
exit;
|
33 |
private $api;
|
34 |
|
35 |
/**
|
36 |
+
* @var Wbcr_Factory422_Plugin
|
37 |
*/
|
38 |
private $plugin;
|
39 |
|
48 |
private static $clock_diff;
|
49 |
|
50 |
/**
|
51 |
+
* @param Wbcr_Factory422_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_Factory422_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_Factory422_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_Factory422_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_110\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 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
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_110\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_422\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_110\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_110\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_110\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_110\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 |
parent::__construct( $plugin, $settings );
|
91 |
|
92 |
$this->plugin_id = $this->get_setting( 'plugin_id', null );
|
@@ -145,7 +145,7 @@ final class Provider extends License_Provider {
|
|
145 |
}
|
146 |
|
147 |
/**
|
148 |
-
* @return \WBCR\
|
149 |
* @throws Exception
|
150 |
*/
|
151 |
public function get_license() {
|
@@ -589,7 +589,7 @@ final class Provider extends License_Provider {
|
|
589 |
/**
|
590 |
* @param bool $flush
|
591 |
*
|
592 |
-
* @return \WBCR\
|
593 |
* @throws Exception
|
594 |
*/
|
595 |
private function get_api_user_scope( User $user, $flush = false ) {
|
@@ -603,7 +603,7 @@ final class Provider extends License_Provider {
|
|
603 |
/**
|
604 |
* @param bool $flush
|
605 |
*
|
606 |
-
* @return \WBCR\
|
607 |
* @throws Exception
|
608 |
*/
|
609 |
private function get_api_site_scope( Site $site, $flush = false ) {
|
@@ -617,7 +617,7 @@ final class Provider extends License_Provider {
|
|
617 |
/**
|
618 |
* Get plugin public API scope.
|
619 |
*
|
620 |
-
* @return \WBCR\
|
621 |
* @throws Exception
|
622 |
*/
|
623 |
private function get_api_plugin_scope() {
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Freemius_110\Premium;
|
4 |
+
|
5 |
+
use WBCR\Factory_Freemius_110\Entities\License;
|
6 |
+
use WBCR\Factory_Freemius_110\Entities\Plugin;
|
7 |
+
use WBCR\Factory_Freemius_110\Entities\Site;
|
8 |
+
use WBCR\Factory_Freemius_110\Entities\User;
|
9 |
+
use WBCR\Factory_422\Premium\Provider as License_Provider;
|
10 |
+
use Wbcr_Factory422_Plugin;
|
11 |
+
use WBCR\Factory_Freemius_110\Api;
|
12 |
use WP_Error;
|
13 |
use Exception;
|
14 |
|
40 |
private $slug;
|
41 |
|
42 |
/**
|
43 |
+
* @var \WBCR\Factory_Freemius_110\Api
|
44 |
*/
|
45 |
private $site_api;
|
46 |
|
47 |
/**
|
48 |
+
* @var \WBCR\Factory_Freemius_110\Api
|
49 |
*/
|
50 |
private $plugin_api;
|
51 |
|
52 |
/**
|
53 |
+
* @var \WBCR\Factory_Freemius_110\Api
|
54 |
*/
|
55 |
private $user_api;
|
56 |
|
82 |
/**
|
83 |
* Manager constructor.
|
84 |
*
|
85 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
86 |
*
|
87 |
* @throws Exception
|
88 |
*/
|
89 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin, array $settings ) {
|
90 |
parent::__construct( $plugin, $settings );
|
91 |
|
92 |
$this->plugin_id = $this->get_setting( 'plugin_id', null );
|
145 |
}
|
146 |
|
147 |
/**
|
148 |
+
* @return \WBCR\Factory_Freemius_110\Entities\License|null
|
149 |
* @throws Exception
|
150 |
*/
|
151 |
public function get_license() {
|
589 |
/**
|
590 |
* @param bool $flush
|
591 |
*
|
592 |
+
* @return \WBCR\Factory_Freemius_110\Api
|
593 |
* @throws Exception
|
594 |
*/
|
595 |
private function get_api_user_scope( User $user, $flush = false ) {
|
603 |
/**
|
604 |
* @param bool $flush
|
605 |
*
|
606 |
+
* @return \WBCR\Factory_Freemius_110\Api
|
607 |
* @throws Exception
|
608 |
*/
|
609 |
private function get_api_site_scope( Site $site, $flush = false ) {
|
617 |
/**
|
618 |
* Get plugin public API scope.
|
619 |
*
|
620 |
+
* @return \WBCR\Factory_Freemius_110\Api
|
621 |
* @throws Exception
|
622 |
*/
|
623 |
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_110\Updates;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
use Exception;
|
7 |
+
use Wbcr_Factory422_Plugin;
|
8 |
+
use WBCR\Factory_422\Updates\Repository;
|
9 |
|
10 |
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
exit;
|
20 |
class Freemius_Repository extends Repository {
|
21 |
|
22 |
/**
|
23 |
+
* @var \WBCR\Factory_Freemius_110\Premium\Provider
|
24 |
*/
|
25 |
private $premium;
|
26 |
|
28 |
* Freemius constructor.
|
29 |
* @since 4.0.0
|
30 |
*
|
31 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
32 |
*
|
33 |
* @throws Exception
|
34 |
*/
|
35 |
+
public function __construct( Wbcr_Factory422_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_110\Premium\Provider ) {
|
45 |
throw new Exception( "This repository type requires Freemius premium provider." );
|
46 |
}
|
47 |
|
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_422_LOADED' ) ) {
|
23 |
return;
|
24 |
}
|
25 |
|
26 |
+
define( 'FACTORY_PAGES_422_LOADED', true );
|
27 |
|
28 |
+
define( 'FACTORY_PAGES_422_VERSION', '4.2.2' );
|
29 |
|
30 |
+
define( 'FACTORY_PAGES_422_DIR', dirname( __FILE__ ) );
|
31 |
+
define( 'FACTORY_PAGES_422_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_422', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
|
38 |
|
39 |
+
require( FACTORY_PAGES_422_DIR . '/pages.php' );
|
40 |
+
require( FACTORY_PAGES_422_DIR . '/includes/page.class.php' );
|
41 |
+
require( FACTORY_PAGES_422_DIR . '/includes/admin-page.class.php' );
|
42 |
+
require( FACTORY_PAGES_422_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_FactoryPages421_AdminPage' ) ) {
|
|
209 |
*/
|
210 |
public $add_link_to_plugin_actions = false;
|
211 |
|
212 |
-
public function __construct(
|
213 |
parent::__construct( $plugin );
|
214 |
$this->configure();
|
215 |
|
@@ -316,13 +316,13 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_AdminPage' ) ) {
|
|
316 |
public function connect() {
|
317 |
$result_id = $this->getResultId();
|
318 |
|
319 |
-
$this->hidden = apply_filters( '
|
320 |
|
321 |
if ( $this->hidden ) {
|
322 |
return;
|
323 |
}
|
324 |
|
325 |
-
$this->internal = apply_filters( '
|
326 |
|
327 |
if ( $this->internal ) {
|
328 |
$this->menu_target = null;
|
@@ -361,7 +361,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_AdminPage' ) ) {
|
|
361 |
$this->assets( $this->scripts, $this->styles );
|
362 |
|
363 |
if ( ! $this->scripts->isEmpty( 'bootstrap' ) || ! $this->styles->isEmpty( 'bootstrap' ) ) {
|
364 |
-
add_action( '
|
365 |
$this,
|
366 |
'actionAdminBootstrapScripts'
|
367 |
] );
|
@@ -490,8 +490,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_AdminPage' ) ) {
|
|
490 |
if ( preg_match( '/\\\f\d{3}/', $this->menu_icon ) ) {
|
491 |
$icon_code = $this->menu_icon;
|
492 |
} else {
|
493 |
-
$
|
494 |
-
$icon_url = str_replace( '~/', $plugin_path_info->plugin_url . '/', $this->menu_icon );
|
495 |
}
|
496 |
}
|
497 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if ( ! class_exists( 'Wbcr_FactoryPages422_AdminPage' ) ) {
|
18 |
|
19 |
+
class Wbcr_FactoryPages422_AdminPage extends Wbcr_FactoryPages422_Page {
|
20 |
|
21 |
/**
|
22 |
* Visible page title.
|
209 |
*/
|
210 |
public $add_link_to_plugin_actions = false;
|
211 |
|
212 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
213 |
parent::__construct( $plugin );
|
214 |
$this->configure();
|
215 |
|
316 |
public function connect() {
|
317 |
$result_id = $this->getResultId();
|
318 |
|
319 |
+
$this->hidden = apply_filters( 'wbcr_factory_422_page_is_hidden_' . $result_id, $this->hidden );
|
320 |
|
321 |
if ( $this->hidden ) {
|
322 |
return;
|
323 |
}
|
324 |
|
325 |
+
$this->internal = apply_filters( 'wbcr_factory_422_page_is_internal_' . $result_id, $this->internal );
|
326 |
|
327 |
if ( $this->internal ) {
|
328 |
$this->menu_target = null;
|
361 |
$this->assets( $this->scripts, $this->styles );
|
362 |
|
363 |
if ( ! $this->scripts->isEmpty( 'bootstrap' ) || ! $this->styles->isEmpty( 'bootstrap' ) ) {
|
364 |
+
add_action( 'wbcr_factory_422_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), [
|
365 |
$this,
|
366 |
'actionAdminBootstrapScripts'
|
367 |
] );
|
490 |
if ( preg_match( '/\\\f\d{3}/', $this->menu_icon ) ) {
|
491 |
$icon_code = $this->menu_icon;
|
492 |
} else {
|
493 |
+
$icon_url = str_replace( '~/', $this->plugin->get_paths()->url . '/', $this->menu_icon );
|
|
|
494 |
}
|
495 |
}
|
496 |
|
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_FactoryPages421_Page' ) ) {
|
|
30 |
* Чтобы не было конфликтов с другими плагинами, используйте префиксы.
|
31 |
*
|
32 |
* @since 1.0.0
|
33 |
-
* @see
|
34 |
*
|
35 |
* @var string
|
36 |
*/
|
@@ -39,7 +39,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_Page' ) ) {
|
|
39 |
/**
|
40 |
* Current Factory Plugin.
|
41 |
*
|
42 |
-
* @var
|
43 |
*/
|
44 |
public $plugin;
|
45 |
|
@@ -51,11 +51,11 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_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_FactoryPages421_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_FactoryPages422_Page' ) ) {
|
18 |
|
19 |
+
class Wbcr_FactoryPages422_Page {
|
20 |
|
21 |
|
22 |
/**
|
30 |
* Чтобы не было конфликтов с другими плагинами, используйте префиксы.
|
31 |
*
|
32 |
* @since 1.0.0
|
33 |
+
* @see FactoryPages422_AdminPage
|
34 |
*
|
35 |
* @var string
|
36 |
*/
|
39 |
/**
|
40 |
* Current Factory Plugin.
|
41 |
*
|
42 |
+
* @var Wbcr_Factory422_Plugin
|
43 |
*/
|
44 |
public $plugin;
|
45 |
|
51 |
//private $default_actions = array();
|
52 |
|
53 |
/**
|
54 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
55 |
*
|
56 |
* @throws Exception
|
57 |
*/
|
58 |
+
public function __construct( Wbcr_Factory422_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_422/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_421-fr_FR.mo → wbcr_factory_pages_422-fr_FR.mo}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_421-fr_FR.po → wbcr_factory_pages_422-fr_FR.po}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_421-ru_RU.mo → wbcr_factory_pages_422-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_421-ru_RU.po → wbcr_factory_pages_422-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_FactoryPages422::actionAdminMenu');
|
18 |
+
add_action('network_admin_menu', 'Wbcr_FactoryPages422::actionAdminMenu');
|
19 |
|
20 |
+
if( !class_exists('Wbcr_FactoryPages422') ) {
|
21 |
/**
|
22 |
* A base class to manage pages.
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
*/
|
26 |
+
class Wbcr_FactoryPages422 {
|
27 |
|
28 |
/**
|
29 |
+
* @var Wbcr_FactoryPages422_Page[]
|
30 |
*/
|
31 |
private static $pages = array();
|
32 |
|
33 |
/**
|
34 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
35 |
* @param $class_name
|
36 |
*/
|
37 |
public static function register($plugin, $class_name)
|
59 |
}
|
60 |
}
|
61 |
|
62 |
+
public static function getPageUrl(Wbcr_Factory422_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_Factory422_Plugin $plugin
|
79 |
* @return array
|
80 |
*/
|
81 |
public static function getIds($plugin)
|
93 |
}
|
94 |
}
|
95 |
|
96 |
+
if( !function_exists('wbcr_factory_pages_422_get_page_id') ) {
|
97 |
/**
|
98 |
*
|
99 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
100 |
* @param string $page_id
|
101 |
* @return string
|
102 |
*/
|
103 |
+
function wbcr_factory_pages_422_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
@@ -8,7 +8,7 @@
|
|
8 |
#WBCR .error {
|
9 |
display: none !important;
|
10 |
}
|
11 |
-
#WBCR .wbcr-factory-pages-
|
12 |
position: relative;
|
13 |
/**
|
14 |
Content sections
|
@@ -17,134 +17,134 @@
|
|
17 |
Widget in the sidebar of the plugin
|
18 |
*/
|
19 |
}
|
20 |
-
#WBCR .wbcr-factory-pages-
|
21 |
color: #9a9a9a;
|
22 |
}
|
23 |
-
#WBCR .wbcr-factory-pages-
|
24 |
color: #ffc107;
|
25 |
}
|
26 |
-
#WBCR .wbcr-factory-pages-
|
27 |
color: #ffeb3b;
|
28 |
}
|
29 |
-
#WBCR .wbcr-factory-pages-
|
30 |
padding: 0 20px;
|
31 |
}
|
32 |
-
#WBCR .wbcr-factory-pages-
|
33 |
font-weight: normal;
|
34 |
}
|
35 |
-
#WBCR .wbcr-factory-pages-
|
36 |
max-width: 300px;
|
37 |
}
|
38 |
-
#WBCR .wbcr-factory-pages-
|
39 |
text-align: right;
|
40 |
padding-right: 20px;
|
41 |
}
|
42 |
-
#WBCR .wbcr-factory-pages-
|
43 |
display: inline-block;
|
44 |
vertical-align: bottom;
|
45 |
}
|
46 |
-
#WBCR .wbcr-factory-pages-
|
47 |
-
#WBCR .wbcr-factory-pages-
|
48 |
outline: none;
|
49 |
}
|
50 |
-
#WBCR .wbcr-factory-pages-
|
51 |
font-weight: bold;
|
52 |
margin: 0 !important;
|
53 |
border: 0;
|
54 |
border-radius: 0;
|
55 |
padding: 15px;
|
56 |
}
|
57 |
-
#WBCR .wbcr-factory-pages-
|
58 |
margin-top: 0 !important;
|
59 |
}
|
60 |
-
#WBCR .wbcr-factory-pages-
|
61 |
background: #fff3d0;
|
62 |
}
|
63 |
-
#WBCR .wbcr-factory-pages-
|
64 |
background: #fffde9;
|
65 |
}
|
66 |
-
#WBCR .wbcr-factory-pages-
|
67 |
background: #de716d;
|
68 |
}
|
69 |
-
#WBCR .wbcr-factory-pages-
|
70 |
background: #ec8c89;
|
71 |
}
|
72 |
-
#WBCR .wbcr-factory-pages-
|
73 |
background: #d0ecc4;
|
74 |
}
|
75 |
-
#WBCR .wbcr-factory-pages-
|
76 |
background: #e0eadb;
|
77 |
}
|
78 |
-
#WBCR .wbcr-factory-pages-
|
79 |
padding: 20px 20px 40px;
|
80 |
}
|
81 |
-
#WBCR .wbcr-factory-pages-
|
82 |
display: block;
|
83 |
font-size: 11px;
|
84 |
font-weight: lighter;
|
85 |
color: #179347;
|
86 |
}
|
87 |
-
#WBCR .wbcr-factory-pages-
|
88 |
-
#WBCR .wbcr-factory-pages-
|
89 |
position: relative;
|
90 |
background: #e6e6e6;
|
91 |
overflow: hidden;
|
92 |
}
|
93 |
-
#WBCR .wbcr-factory-pages-
|
94 |
-
#WBCR .wbcr-factory-pages-
|
95 |
display: block;
|
96 |
content: '';
|
97 |
clear: both;
|
98 |
}
|
99 |
-
#WBCR .wbcr-factory-pages-
|
100 |
background: #efefef;
|
101 |
padding: 20px 0 10px 20px;
|
102 |
margin: 30px 0;
|
103 |
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
104 |
}
|
105 |
-
#WBCR .wbcr-factory-pages-
|
106 |
margin-top: 0;
|
107 |
}
|
108 |
-
#WBCR .wbcr-factory-pages-
|
109 |
font-size: 15px;
|
110 |
}
|
111 |
-
#WBCR .wbcr-factory-pages-
|
112 |
color: #8c8888;
|
113 |
font-size: 12px;
|
114 |
}
|
115 |
-
#WBCR .wbcr-factory-pages-
|
116 |
margin-left: 230px;
|
117 |
padding: 80px 0 0 0;
|
118 |
vertical-align: top;
|
119 |
background: #fff;
|
120 |
}
|
121 |
-
#WBCR .wbcr-factory-pages-
|
122 |
-
#WBCR .wbcr-factory-pages-
|
123 |
-
#WBCR .wbcr-factory-pages-
|
124 |
border: 0;
|
125 |
}
|
126 |
-
#WBCR .wbcr-factory-pages-
|
127 |
background: #efefef !important;
|
128 |
margin-bottom: -2px !important;
|
129 |
border-bottom: 1px solid #efefef !important;
|
130 |
}
|
131 |
-
#WBCR .wbcr-factory-pages-
|
132 |
margin: 0;
|
133 |
}
|
134 |
-
#WBCR .wbcr-factory-pages-
|
135 |
background: #f7f7f7;
|
136 |
}
|
137 |
-
#WBCR .wbcr-factory-pages-
|
138 |
border: 2px solid #dedede;
|
139 |
border-bottom: 0;
|
140 |
box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
|
141 |
}
|
142 |
-
#WBCR .wbcr-factory-pages-
|
143 |
-
#WBCR .wbcr-factory-pages-
|
144 |
box-shadow: none;
|
145 |
outline: none;
|
146 |
}
|
147 |
-
#WBCR .wbcr-factory-pages-
|
148 |
position: absolute;
|
149 |
z-index: 13;
|
150 |
top: 0;
|
@@ -155,7 +155,7 @@
|
|
155 |
color: #fff;
|
156 |
border-radius: 5px 5px 0 0;
|
157 |
}
|
158 |
-
#WBCR .wbcr-factory-pages-
|
159 |
float: left;
|
160 |
padding: 25px 0;
|
161 |
font-size: 20px;
|
@@ -168,11 +168,11 @@
|
|
168 |
margin-right: 10px;
|
169 |
background: none;
|
170 |
}
|
171 |
-
#WBCR .wbcr-factory-pages-
|
172 |
display: inline-block;
|
173 |
vertical-align: middle;
|
174 |
}
|
175 |
-
#WBCR .wbcr-factory-pages-
|
176 |
font-size: 18px;
|
177 |
line-height: 30px;
|
178 |
font-weight: 300;
|
@@ -183,12 +183,12 @@
|
|
183 |
text-overflow: ellipsis;
|
184 |
color: #fff;
|
185 |
}
|
186 |
-
#WBCR .wbcr-factory-pages-
|
187 |
position: relative;
|
188 |
float: right;
|
189 |
margin: 12px;
|
190 |
}
|
191 |
-
#WBCR .wbcr-factory-pages-
|
192 |
display: inline-block;
|
193 |
vertical-align: top;
|
194 |
font-size: 13px;
|
@@ -211,49 +211,49 @@
|
|
211 |
text-decoration: none;
|
212 |
z-index: 3;
|
213 |
}
|
214 |
-
#WBCR .wbcr-factory-pages-
|
215 |
box-shadow: none;
|
216 |
min-width: 100px;
|
217 |
background-color: #8bc34a;
|
218 |
color: #fff;
|
219 |
}
|
220 |
-
#WBCR .wbcr-factory-pages-
|
221 |
background: #9dbb7b;
|
222 |
color: #fff;
|
223 |
}
|
224 |
-
#WBCR .wbcr-factory-pages-
|
225 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
226 |
}
|
227 |
-
#WBCR .wbcr-factory-pages-
|
228 |
box-shadow: none;
|
229 |
min-width: 200px;
|
230 |
background-color: #9e9e9e;
|
231 |
color: #fff;
|
232 |
}
|
233 |
-
#WBCR .wbcr-factory-pages-
|
234 |
background: #797979;
|
235 |
color: #fff;
|
236 |
}
|
237 |
-
#WBCR .wbcr-factory-pages-
|
238 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
239 |
}
|
240 |
-
#WBCR .wbcr-factory-pages-
|
241 |
float: left;
|
242 |
vertical-align: top;
|
243 |
width: 230px;
|
244 |
background: #e6e6e6;
|
245 |
}
|
246 |
-
#WBCR .wbcr-factory-pages-
|
247 |
padding: 0;
|
248 |
margin-bottom: 0;
|
249 |
margin-top: 80px;
|
250 |
}
|
251 |
-
#WBCR .wbcr-factory-pages-
|
252 |
display: block;
|
253 |
background: #efefef;
|
254 |
margin: 1px 0;
|
255 |
}
|
256 |
-
#WBCR .wbcr-factory-pages-
|
257 |
display: block;
|
258 |
width: 100%;
|
259 |
padding: 20px 20px;
|
@@ -264,83 +264,83 @@
|
|
264 |
text-align: left;
|
265 |
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
266 |
}
|
267 |
-
#WBCR .wbcr-factory-pages-
|
268 |
display: block;
|
269 |
font-weight: bold;
|
270 |
}
|
271 |
-
#WBCR .wbcr-factory-pages-
|
272 |
display: block;
|
273 |
font-size: 13px;
|
274 |
font-weight: normal;
|
275 |
text-transform: none;
|
276 |
color: #9a9a9a;
|
277 |
}
|
278 |
-
#WBCR .wbcr-factory-pages-
|
279 |
float: right;
|
280 |
color: #ccc;
|
281 |
}
|
282 |
-
#WBCR .wbcr-factory-pages-
|
283 |
clear: both;
|
284 |
}
|
285 |
-
#WBCR .wbcr-factory-pages-
|
286 |
background: #f7f6f6;
|
287 |
}
|
288 |
-
#WBCR .wbcr-factory-pages-
|
289 |
color: #9a9a9a;
|
290 |
}
|
291 |
-
#WBCR .wbcr-factory-pages-
|
292 |
-
#WBCR .wbcr-factory-pages-
|
293 |
-
#WBCR .wbcr-factory-pages-
|
294 |
-
#WBCR .wbcr-factory-pages-
|
295 |
-
#WBCR .wbcr-factory-pages-
|
296 |
outline: 0 !important;
|
297 |
box-shadow: none !important;
|
298 |
}
|
299 |
-
#WBCR .wbcr-factory-pages-
|
300 |
background: #fff;
|
301 |
}
|
302 |
-
#WBCR .wbcr-factory-pages-
|
303 |
color: #ff5722;
|
304 |
font-weight: bold;
|
305 |
border-left: 5px solid #ff5722;
|
306 |
}
|
307 |
-
#WBCR .wbcr-factory-pages-
|
308 |
color: #9a9a9a;
|
309 |
}
|
310 |
-
#WBCR .wbcr-factory-pages-
|
311 |
-
#WBCR .wbcr-factory-pages-
|
312 |
display: inline-block;
|
313 |
vertical-align: top;
|
314 |
}
|
315 |
-
#WBCR .wbcr-factory-pages-
|
316 |
width: 74.6%;
|
317 |
}
|
318 |
-
#WBCR .wbcr-factory-pages-
|
319 |
width: 100%;
|
320 |
}
|
321 |
-
#WBCR .wbcr-factory-pages-
|
322 |
margin-top: 15px;
|
323 |
}
|
324 |
-
#WBCR .wbcr-factory-pages-
|
325 |
background: #f7f7f7;
|
326 |
padding: 0 0 20px 0;
|
327 |
border: 1px solid #dad8d8;
|
328 |
box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
|
329 |
}
|
330 |
-
#WBCR .wbcr-factory-pages-
|
331 |
padding-top: 0 !important;
|
332 |
}
|
333 |
-
#WBCR .wbcr-factory-pages-
|
334 |
width: 25%;
|
335 |
padding: 10px;
|
336 |
margin: 0 0 -20px;
|
337 |
background-color: #f9f9f9;
|
338 |
box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
|
339 |
}
|
340 |
-
#WBCR .wbcr-factory-pages-
|
341 |
margin: 0 0 20px;
|
342 |
}
|
343 |
-
#WBCR .wbcr-factory-pages-
|
344 |
display: inline-block;
|
345 |
min-height: 230px;
|
346 |
width: 100%;
|
@@ -349,19 +349,19 @@
|
|
349 |
padding: 20px 15px;
|
350 |
vertical-align: top;
|
351 |
}
|
352 |
-
#WBCR .wbcr-factory-pages-
|
353 |
display: none;
|
354 |
}
|
355 |
-
#WBCR .wbcr-factory-pages-
|
356 |
background: #fff4d0;
|
357 |
}
|
358 |
-
#WBCR .wbcr-factory-pages-
|
359 |
background: #e2ffc0;
|
360 |
}
|
361 |
-
#WBCR .wbcr-factory-pages-
|
362 |
background: #ffebe9;
|
363 |
}
|
364 |
-
#WBCR .wbcr-factory-pages-
|
365 |
display: inline-block;
|
366 |
width: 16px;
|
367 |
height: 16px;
|
@@ -373,16 +373,16 @@
|
|
373 |
background: #E91E63;
|
374 |
border-radius: 3px;
|
375 |
}
|
376 |
-
#WBCR .wbcr-factory-pages-
|
377 |
background: #E91E63;
|
378 |
}
|
379 |
-
#WBCR .wbcr-factory-pages-
|
380 |
background: #9e9e9e;
|
381 |
}
|
382 |
-
#WBCR .wbcr-factory-pages-
|
383 |
background: #8bc34a;
|
384 |
}
|
385 |
-
#WBCR .wbcr-factory-pages-
|
386 |
display: block;
|
387 |
width: 80px;
|
388 |
height: 17px;
|
@@ -390,23 +390,23 @@
|
|
390 |
vertical-align: middle;
|
391 |
margin-bottom: 5px;
|
392 |
}
|
393 |
-
#WBCR .wbcr-factory-pages-
|
394 |
display: block;
|
395 |
margin: 30px auto 0;
|
396 |
outline: none;
|
397 |
}
|
398 |
-
#WBCR .wbcr-factory-pages-
|
399 |
-
#WBCR .wbcr-factory-pages-
|
400 |
box-shadow: none;
|
401 |
}
|
402 |
-
#WBCR .wbcr-factory-pages-
|
403 |
font-size: 50px;
|
404 |
margin-top: 30px;
|
405 |
text-align: center;
|
406 |
font-weight: 600;
|
407 |
color: #8BC34A;
|
408 |
}
|
409 |
-
#WBCR .wbcr-factory-pages-
|
410 |
min-height: 240px;
|
411 |
margin-bottom: 20px;
|
412 |
text-align: center;
|
@@ -414,24 +414,24 @@
|
|
414 |
padding: 30px;
|
415 |
border: 1px solid #f3f1e7;
|
416 |
}
|
417 |
-
#WBCR .wbcr-factory-pages-
|
418 |
width: 50px;
|
419 |
height: 50px;
|
420 |
font-size: 50px;
|
421 |
color: #FFC107;
|
422 |
line-height: normal;
|
423 |
}
|
424 |
-
#WBCR .wbcr-factory-pages-
|
425 |
color: #7b6111;
|
426 |
}
|
427 |
-
#WBCR .wbcr-factory-pages-
|
428 |
color: #9e9e9e;
|
429 |
}
|
430 |
-
#WBCR .wbcr-factory-pages-
|
431 |
margin-top: 20px;
|
432 |
text-align: center;
|
433 |
}
|
434 |
-
#WBCR .wbcr-factory-pages-
|
435 |
display: inline-block;
|
436 |
padding: 20px 60px;
|
437 |
background-color: #FFC107;
|
@@ -441,67 +441,67 @@
|
|
441 |
font-weight: bold;
|
442 |
transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
|
443 |
}
|
444 |
-
#WBCR .wbcr-factory-pages-
|
445 |
background-color: #ffce3a;
|
446 |
}
|
447 |
-
#WBCR .wbcr-factory-pages-
|
448 |
padding: 20px;
|
449 |
background: #ffffff;
|
450 |
}
|
451 |
-
#WBCR .wbcr-factory-pages-
|
452 |
-
#WBCR .wbcr-factory-pages-
|
453 |
display: none;
|
454 |
}
|
455 |
-
#WBCR .wbcr-factory-pages-
|
456 |
font-size: 18px;
|
457 |
margin-top: 10px;
|
458 |
}
|
459 |
-
#WBCR .wbcr-factory-pages-
|
460 |
padding: 10px;
|
461 |
background: #ffedeb;
|
462 |
border: 1px solid #ffdfdc;
|
463 |
margin: 15px 0;
|
464 |
}
|
465 |
-
#WBCR .wbcr-factory-pages-
|
466 |
margin-bottom: 15px;
|
467 |
color: #7b7b7b;
|
468 |
}
|
469 |
@media screen and (max-width: 1367px) {
|
470 |
-
#WBCR .wbcr-factory-pages-
|
471 |
width: 69.6%;
|
472 |
}
|
473 |
-
#WBCR .wbcr-factory-pages-
|
474 |
width: 30%;
|
475 |
}
|
476 |
}
|
477 |
@media screen and (max-width: 1320px) {
|
478 |
-
#WBCR .wbcr-factory-pages-
|
479 |
width: 100%;
|
480 |
}
|
481 |
-
#WBCR .wbcr-factory-pages-
|
482 |
display: none !important;
|
483 |
}
|
484 |
-
#WBCR .wbcr-factory-pages-
|
485 |
display: none !important;
|
486 |
}
|
487 |
-
#WBCR .wbcr-factory-pages-
|
488 |
display: none !important;
|
489 |
}
|
490 |
}
|
491 |
@media screen and (max-width: 950px) {
|
492 |
-
#WBCR .wbcr-factory-pages-
|
493 |
width: 70px;
|
494 |
}
|
495 |
-
#WBCR .wbcr-factory-pages-
|
496 |
font-size: 0;
|
497 |
}
|
498 |
-
#WBCR .wbcr-factory-pages-
|
499 |
font-size: 0;
|
500 |
}
|
501 |
-
#WBCR .wbcr-factory-pages-
|
502 |
display: none !important;
|
503 |
}
|
504 |
-
#WBCR .wbcr-factory-pages-
|
505 |
margin-left: 70px;
|
506 |
}
|
507 |
}
|
8 |
#WBCR .error {
|
9 |
display: none !important;
|
10 |
}
|
11 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template {
|
12 |
position: relative;
|
13 |
/**
|
14 |
Content sections
|
17 |
Widget in the sidebar of the plugin
|
18 |
*/
|
19 |
}
|
20 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-color-grey {
|
21 |
color: #9a9a9a;
|
22 |
}
|
23 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-orange-color {
|
24 |
color: #ffc107;
|
25 |
}
|
26 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-light-orange-color {
|
27 |
color: #ffeb3b;
|
28 |
}
|
29 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .form-group {
|
30 |
padding: 0 20px;
|
31 |
}
|
32 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .form-group label {
|
33 |
font-weight: normal;
|
34 |
}
|
35 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .form-horizontal .control-label {
|
36 |
max-width: 300px;
|
37 |
}
|
38 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .factory-control-buttons {
|
39 |
text-align: right;
|
40 |
padding-right: 20px;
|
41 |
}
|
42 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .factory-from-control-list label span {
|
43 |
display: inline-block;
|
44 |
vertical-align: bottom;
|
45 |
}
|
46 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
|
47 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
|
48 |
outline: none;
|
49 |
}
|
50 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .alert {
|
51 |
font-weight: bold;
|
52 |
margin: 0 !important;
|
53 |
border: 0;
|
54 |
border-radius: 0;
|
55 |
padding: 15px;
|
56 |
}
|
57 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .alert + .wbcr-factory-page-group-header {
|
58 |
margin-top: 0 !important;
|
59 |
}
|
60 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-warning {
|
61 |
background: #fff3d0;
|
62 |
}
|
63 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
|
64 |
background: #fffde9;
|
65 |
}
|
66 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-danger {
|
67 |
background: #de716d;
|
68 |
}
|
69 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
|
70 |
background: #ec8c89;
|
71 |
}
|
72 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-success {
|
73 |
background: #d0ecc4;
|
74 |
}
|
75 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-success:nth-child(2n+1) {
|
76 |
background: #e0eadb;
|
77 |
}
|
78 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-header {
|
79 |
padding: 20px 20px 40px;
|
80 |
}
|
81 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-recomended-text {
|
82 |
display: block;
|
83 |
font-size: 11px;
|
84 |
font-weight: lighter;
|
85 |
color: #179347;
|
86 |
}
|
87 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-options,
|
88 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page {
|
89 |
position: relative;
|
90 |
background: #e6e6e6;
|
91 |
overflow: hidden;
|
92 |
}
|
93 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-options:after,
|
94 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page:after {
|
95 |
display: block;
|
96 |
content: '';
|
97 |
clear: both;
|
98 |
}
|
99 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-group-header {
|
100 |
background: #efefef;
|
101 |
padding: 20px 0 10px 20px;
|
102 |
margin: 30px 0;
|
103 |
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
104 |
}
|
105 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-group-header:first-child {
|
106 |
margin-top: 0;
|
107 |
}
|
108 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-group-header strong {
|
109 |
font-size: 15px;
|
110 |
}
|
111 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-group-header p {
|
112 |
color: #8c8888;
|
113 |
font-size: 12px;
|
114 |
}
|
115 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap {
|
116 |
margin-left: 230px;
|
117 |
padding: 80px 0 0 0;
|
118 |
vertical-align: top;
|
119 |
background: #fff;
|
120 |
}
|
121 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
|
122 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
|
123 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
|
124 |
border: 0;
|
125 |
}
|
126 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
|
127 |
background: #efefef !important;
|
128 |
margin-bottom: -2px !important;
|
129 |
border-bottom: 1px solid #efefef !important;
|
130 |
}
|
131 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
|
132 |
margin: 0;
|
133 |
}
|
134 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
|
135 |
background: #f7f7f7;
|
136 |
}
|
137 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
|
138 |
border: 2px solid #dedede;
|
139 |
border-bottom: 0;
|
140 |
box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
|
141 |
}
|
142 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
|
143 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
|
144 |
box-shadow: none;
|
145 |
outline: none;
|
146 |
}
|
147 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header {
|
148 |
position: absolute;
|
149 |
z-index: 13;
|
150 |
top: 0;
|
155 |
color: #fff;
|
156 |
border-radius: 5px 5px 0 0;
|
157 |
}
|
158 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
|
159 |
float: left;
|
160 |
padding: 25px 0;
|
161 |
font-size: 20px;
|
168 |
margin-right: 10px;
|
169 |
background: none;
|
170 |
}
|
171 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
|
172 |
display: inline-block;
|
173 |
vertical-align: middle;
|
174 |
}
|
175 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
|
176 |
font-size: 18px;
|
177 |
line-height: 30px;
|
178 |
font-weight: 300;
|
183 |
text-overflow: ellipsis;
|
184 |
color: #fff;
|
185 |
}
|
186 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
|
187 |
position: relative;
|
188 |
float: right;
|
189 |
margin: 12px;
|
190 |
}
|
191 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button {
|
192 |
display: inline-block;
|
193 |
vertical-align: top;
|
194 |
font-size: 13px;
|
211 |
text-decoration: none;
|
212 |
z-index: 3;
|
213 |
}
|
214 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
|
215 |
box-shadow: none;
|
216 |
min-width: 100px;
|
217 |
background-color: #8bc34a;
|
218 |
color: #fff;
|
219 |
}
|
220 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
|
221 |
background: #9dbb7b;
|
222 |
color: #fff;
|
223 |
}
|
224 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:active {
|
225 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
226 |
}
|
227 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings {
|
228 |
box-shadow: none;
|
229 |
min-width: 200px;
|
230 |
background-color: #9e9e9e;
|
231 |
color: #fff;
|
232 |
}
|
233 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:hover {
|
234 |
background: #797979;
|
235 |
color: #fff;
|
236 |
}
|
237 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:active {
|
238 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
239 |
}
|
240 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar {
|
241 |
float: left;
|
242 |
vertical-align: top;
|
243 |
width: 230px;
|
244 |
background: #e6e6e6;
|
245 |
}
|
246 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul {
|
247 |
padding: 0;
|
248 |
margin-bottom: 0;
|
249 |
margin-top: 80px;
|
250 |
}
|
251 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
|
252 |
display: block;
|
253 |
background: #efefef;
|
254 |
margin: 1px 0;
|
255 |
}
|
256 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link {
|
257 |
display: block;
|
258 |
width: 100%;
|
259 |
padding: 20px 20px;
|
264 |
text-align: left;
|
265 |
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
266 |
}
|
267 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__title {
|
268 |
display: block;
|
269 |
font-weight: bold;
|
270 |
}
|
271 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__short-description {
|
272 |
display: block;
|
273 |
font-size: 13px;
|
274 |
font-weight: normal;
|
275 |
text-transform: none;
|
276 |
color: #9a9a9a;
|
277 |
}
|
278 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .dashicons {
|
279 |
float: right;
|
280 |
color: #ccc;
|
281 |
}
|
282 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link::after {
|
283 |
clear: both;
|
284 |
}
|
285 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover {
|
286 |
background: #f7f6f6;
|
287 |
}
|
288 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover .dashicons {
|
289 |
color: #9a9a9a;
|
290 |
}
|
291 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link,
|
292 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
|
293 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover,
|
294 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
|
295 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:focus {
|
296 |
outline: 0 !important;
|
297 |
box-shadow: none !important;
|
298 |
}
|
299 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
|
300 |
background: #fff;
|
301 |
}
|
302 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
|
303 |
color: #ff5722;
|
304 |
font-weight: bold;
|
305 |
border-left: 5px solid #ff5722;
|
306 |
}
|
307 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons {
|
308 |
color: #9a9a9a;
|
309 |
}
|
310 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section,
|
311 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section {
|
312 |
display: inline-block;
|
313 |
vertical-align: top;
|
314 |
}
|
315 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section {
|
316 |
width: 74.6%;
|
317 |
}
|
318 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
|
319 |
width: 100%;
|
320 |
}
|
321 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
|
322 |
margin-top: 15px;
|
323 |
}
|
324 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
|
325 |
background: #f7f7f7;
|
326 |
padding: 0 0 20px 0;
|
327 |
border: 1px solid #dad8d8;
|
328 |
box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
|
329 |
}
|
330 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
|
331 |
padding-top: 0 !important;
|
332 |
}
|
333 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section {
|
334 |
width: 25%;
|
335 |
padding: 10px;
|
336 |
margin: 0 0 -20px;
|
337 |
background-color: #f9f9f9;
|
338 |
box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
|
339 |
}
|
340 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
|
341 |
margin: 0 0 20px;
|
342 |
}
|
343 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget {
|
344 |
display: inline-block;
|
345 |
min-height: 230px;
|
346 |
width: 100%;
|
349 |
padding: 20px 15px;
|
350 |
vertical-align: top;
|
351 |
}
|
352 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
|
353 |
display: none;
|
354 |
}
|
355 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
|
356 |
background: #fff4d0;
|
357 |
}
|
358 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
|
359 |
background: #e2ffc0;
|
360 |
}
|
361 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
|
362 |
background: #ffebe9;
|
363 |
}
|
364 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
|
365 |
display: inline-block;
|
366 |
width: 16px;
|
367 |
height: 16px;
|
373 |
background: #E91E63;
|
374 |
border-radius: 3px;
|
375 |
}
|
376 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
|
377 |
background: #E91E63;
|
378 |
}
|
379 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
|
380 |
background: #9e9e9e;
|
381 |
}
|
382 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
|
383 |
background: #8bc34a;
|
384 |
}
|
385 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
|
386 |
display: block;
|
387 |
width: 80px;
|
388 |
height: 17px;
|
390 |
vertical-align: middle;
|
391 |
margin-bottom: 5px;
|
392 |
}
|
393 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
|
394 |
display: block;
|
395 |
margin: 30px auto 0;
|
396 |
outline: none;
|
397 |
}
|
398 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
|
399 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
|
400 |
box-shadow: none;
|
401 |
}
|
402 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
|
403 |
font-size: 50px;
|
404 |
margin-top: 30px;
|
405 |
text-align: center;
|
406 |
font-weight: 600;
|
407 |
color: #8BC34A;
|
408 |
}
|
409 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
|
410 |
min-height: 240px;
|
411 |
margin-bottom: 20px;
|
412 |
text-align: center;
|
414 |
padding: 30px;
|
415 |
border: 1px solid #f3f1e7;
|
416 |
}
|
417 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
|
418 |
width: 50px;
|
419 |
height: 50px;
|
420 |
font-size: 50px;
|
421 |
color: #FFC107;
|
422 |
line-height: normal;
|
423 |
}
|
424 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
|
425 |
color: #7b6111;
|
426 |
}
|
427 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
|
428 |
color: #9e9e9e;
|
429 |
}
|
430 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
|
431 |
margin-top: 20px;
|
432 |
text-align: center;
|
433 |
}
|
434 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
|
435 |
display: inline-block;
|
436 |
padding: 20px 60px;
|
437 |
background-color: #FFC107;
|
441 |
font-weight: bold;
|
442 |
transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
|
443 |
}
|
444 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
|
445 |
background-color: #ffce3a;
|
446 |
}
|
447 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog {
|
448 |
padding: 20px;
|
449 |
background: #ffffff;
|
450 |
}
|
451 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog .updated,
|
452 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog .alert {
|
453 |
display: none;
|
454 |
}
|
455 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog h2 {
|
456 |
font-size: 18px;
|
457 |
margin-top: 10px;
|
458 |
}
|
459 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
|
460 |
padding: 10px;
|
461 |
background: #ffedeb;
|
462 |
border: 1px solid #ffdfdc;
|
463 |
margin: 15px 0;
|
464 |
}
|
465 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
|
466 |
margin-bottom: 15px;
|
467 |
color: #7b7b7b;
|
468 |
}
|
469 |
@media screen and (max-width: 1367px) {
|
470 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section {
|
471 |
width: 69.6%;
|
472 |
}
|
473 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section {
|
474 |
width: 30%;
|
475 |
}
|
476 |
}
|
477 |
@media screen and (max-width: 1320px) {
|
478 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section {
|
479 |
width: 100%;
|
480 |
}
|
481 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section {
|
482 |
display: none !important;
|
483 |
}
|
484 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-header-logo .dash {
|
485 |
display: none !important;
|
486 |
}
|
487 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-header-title {
|
488 |
display: none !important;
|
489 |
}
|
490 |
}
|
491 |
@media screen and (max-width: 950px) {
|
492 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar {
|
493 |
width: 70px;
|
494 |
}
|
495 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
|
496 |
font-size: 0;
|
497 |
}
|
498 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__title {
|
499 |
font-size: 0;
|
500 |
}
|
501 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__short-description {
|
502 |
display: none !important;
|
503 |
}
|
504 |
+
#WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap {
|
505 |
margin-left: 70px;
|
506 |
}
|
507 |
}
|
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,11 +112,11 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
112 |
public $page_menu = [];
|
113 |
|
114 |
/**
|
115 |
-
* @param
|
116 |
*/
|
117 |
-
public function __construct(
|
118 |
-
$this->menuIcon =
|
119 |
-
//$allow_multisite = apply_filters('
|
120 |
|
121 |
if ( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
|
122 |
$this->network = true;
|
@@ -126,7 +126,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
126 |
|
127 |
parent::__construct( $plugin );
|
128 |
|
129 |
-
$this->title_plugin_action_link = __( 'Settings', '
|
130 |
|
131 |
$this->setPageMenu();
|
132 |
}
|
@@ -170,7 +170,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
170 |
*
|
171 |
* @since 1.0.0
|
172 |
* @return void
|
173 |
-
* @see
|
174 |
*
|
175 |
*/
|
176 |
public function assets( $scripts, $styles ) {
|
@@ -191,7 +191,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
191 |
'control.checkbox'
|
192 |
], 'bootstrap' );
|
193 |
|
194 |
-
$this->styles->add(
|
195 |
}
|
196 |
|
197 |
/**
|
@@ -204,7 +204,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
204 |
* @since 4.0.8 - добавлен
|
205 |
* @since 4.0.9 - является устаревшим
|
206 |
*/
|
207 |
-
$plugin_title =
|
208 |
$this->plugin->getPluginTitle(),
|
209 |
$this->plugin->getPluginName()
|
210 |
], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title' );
|
@@ -280,22 +280,22 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
280 |
public function flushCacheAndRulesAction() {
|
281 |
check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_flush_action' );
|
282 |
|
283 |
-
if ( class_exists( '
|
284 |
-
|
285 |
}
|
286 |
|
287 |
/**
|
288 |
* @since 4.0.1 - является устаревшим
|
289 |
*/
|
290 |
-
|
291 |
$this->plugin->getPluginName(),
|
292 |
$this->getResultId()
|
293 |
-
], '4.0.1', '
|
294 |
|
295 |
/**
|
296 |
* @since 4.0.9 - является устаревшим
|
297 |
*/
|
298 |
-
|
299 |
$this->plugin,
|
300 |
$this
|
301 |
], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save' );
|
@@ -314,7 +314,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
314 |
/**
|
315 |
* @since 4.0.9 - является устаревшим
|
316 |
*/
|
317 |
-
$redirect_args =
|
318 |
|
319 |
/**
|
320 |
* @since 4.0.1 - добавлен
|
@@ -331,7 +331,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
331 |
*/
|
332 |
protected function warningNotice() {
|
333 |
/*if( WP_CACHE ) {
|
334 |
-
$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.", '
|
335 |
}*/
|
336 |
// Метод предназначен для вызова в дочернем классе
|
337 |
}
|
@@ -403,7 +403,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
403 |
/**
|
404 |
* @since 4.0.9 - является устаревшим
|
405 |
*/
|
406 |
-
|
407 |
$this->plugin,
|
408 |
$this
|
409 |
], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices' );
|
@@ -422,14 +422,14 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
422 |
$this->plugin->getPluginName() . '_saved' => '1'
|
423 |
],
|
424 |
'type' => 'success',
|
425 |
-
'message' => __( 'The settings have been updated successfully!', '
|
426 |
]
|
427 |
];
|
428 |
|
429 |
/**
|
430 |
* @since 4.0.9 - является устаревшим
|
431 |
*/
|
432 |
-
$notices =
|
433 |
$notices,
|
434 |
$this->plugin,
|
435 |
$this->id
|
@@ -601,7 +601,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
601 |
<?php do_action( 'wbcr/factory/pages/impressive/header', $this->plugin->getPluginName() ) ?>
|
602 |
|
603 |
<?php if ( $this->type == 'options' ): ?>
|
604 |
-
<input name="<?= $this->plugin->getPluginName() ?>_save_action" class="wbcr-factory-button wbcr-factory-type-save" type="submit" value="<?php _e( 'Save', '
|
605 |
<?php wp_nonce_field( 'wbcr_factory_' . $this->getResultId() . '_save_action' ); ?>
|
606 |
<?php endif; ?>
|
607 |
</div>
|
@@ -656,7 +656,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
656 |
/**
|
657 |
* @since 4.0.9 - является устаревшим
|
658 |
*/
|
659 |
-
$widgets =
|
660 |
$widgets,
|
661 |
$position,
|
662 |
$this->plugin,
|
@@ -673,12 +673,12 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
673 |
}
|
674 |
|
675 |
protected function showOptions() {
|
676 |
-
$form = new
|
677 |
'scope' => rtrim( $this->plugin->getPrefix(), '_' ),
|
678 |
'name' => $this->getResultId() . "-options"
|
679 |
], $this->plugin );
|
680 |
|
681 |
-
$form->setProvider( new
|
682 |
|
683 |
$options = $this->getPageOptions();
|
684 |
|
@@ -718,14 +718,14 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
718 |
check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_save_action' );
|
719 |
|
720 |
if ( ! current_user_can( 'administrator' ) && ! current_user_can( $this->capabilitiy ) ) {
|
721 |
-
wp_die( __( 'You do not have permission to edit page.', '
|
722 |
exit;
|
723 |
}
|
724 |
|
725 |
/**
|
726 |
* @since 4.0.9 - является устаревшим
|
727 |
*/
|
728 |
-
|
729 |
$form,
|
730 |
$this->plugin,
|
731 |
$this
|
@@ -744,7 +744,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
744 |
/**
|
745 |
* @since 4.0.9 - является устаревшим
|
746 |
*/
|
747 |
-
|
748 |
$form,
|
749 |
$this->plugin,
|
750 |
$this
|
@@ -765,7 +765,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
765 |
|
766 |
?>
|
767 |
<div id="WBCR" class="wrap">
|
768 |
-
<div class="wbcr-factory-pages-
|
769 |
<div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr( $this->id ) ?>">
|
770 |
<div class="wbcr-factory-left-navigation-bar">
|
771 |
<?php $this->showPageMenu() ?>
|
@@ -810,7 +810,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
810 |
|
811 |
protected function showPage( $content = null ) { ?>
|
812 |
<div id="WBCR" class="wrap">
|
813 |
-
<div class="wbcr-factory-pages-
|
814 |
<div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
|
815 |
<?php $this->showHeader(); ?>
|
816 |
<div class="wbcr-factory-left-navigation-bar">
|
@@ -873,7 +873,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages421_ImpressiveThemplate' ) ) {
|
|
873 |
public function confirmPageTemplate( $data ) {
|
874 |
?>
|
875 |
<div id="WBCR" class="wrap">
|
876 |
-
<div class="wbcr-factory-pages-
|
877 |
<div id="wbcr-factory-confirm-dialog">
|
878 |
<h2><?php echo $data['title'] ?></h2>
|
879 |
<p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
|
18 |
/**
|
19 |
+
* Class Wbcr_FactoryPages422_ImpressiveThemplate
|
20 |
*/
|
21 |
+
abstract class Wbcr_FactoryPages422_ImpressiveThemplate extends Wbcr_FactoryPages422_AdminPage {
|
22 |
|
23 |
/**
|
24 |
* Тип страницы:
|
112 |
public $page_menu = [];
|
113 |
|
114 |
/**
|
115 |
+
* @param Wbcr_Factory422_Plugin $plugin
|
116 |
*/
|
117 |
+
public function __construct( Wbcr_Factory422_Plugin $plugin ) {
|
118 |
+
$this->menuIcon = FACTORY_PAGES_422_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
|
119 |
+
//$allow_multisite = apply_filters('wbcr_factory_422_core_admin_allow_multisite', false);
|
120 |
|
121 |
if ( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
|
122 |
$this->network = true;
|
126 |
|
127 |
parent::__construct( $plugin );
|
128 |
|
129 |
+
$this->title_plugin_action_link = __( 'Settings', 'wbcr_factory_pages_422' );
|
130 |
|
131 |
$this->setPageMenu();
|
132 |
}
|
170 |
*
|
171 |
* @since 1.0.0
|
172 |
* @return void
|
173 |
+
* @see FactoryPages422_AdminPage
|
174 |
*
|
175 |
*/
|
176 |
public function assets( $scripts, $styles ) {
|
191 |
'control.checkbox'
|
192 |
], 'bootstrap' );
|
193 |
|
194 |
+
$this->styles->add( FACTORY_PAGES_422_URL . '/templates/assets/css/impressive.page.template.css' );
|
195 |
}
|
196 |
|
197 |
/**
|
204 |
* @since 4.0.8 - добавлен
|
205 |
* @since 4.0.9 - является устаревшим
|
206 |
*/
|
207 |
+
$plugin_title = wbcr_factory_422_apply_filters_deprecated( 'wbcr/factory/imppage/plugin_title', [
|
208 |
$this->plugin->getPluginTitle(),
|
209 |
$this->plugin->getPluginName()
|
210 |
], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title' );
|
280 |
public function flushCacheAndRulesAction() {
|
281 |
check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_flush_action' );
|
282 |
|
283 |
+
if ( class_exists( 'WbcrFactoryClearfy214_Helpers' ) ) {
|
284 |
+
WbcrFactoryClearfy214_Helpers::flushPageCache();
|
285 |
}
|
286 |
|
287 |
/**
|
288 |
* @since 4.0.1 - является устаревшим
|
289 |
*/
|
290 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_imppage_flush_cache', [
|
291 |
$this->plugin->getPluginName(),
|
292 |
$this->getResultId()
|
293 |
+
], '4.0.1', 'wbcr_factory_422_imppage_after_form_save' );
|
294 |
|
295 |
/**
|
296 |
* @since 4.0.9 - является устаревшим
|
297 |
*/
|
298 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_imppage_after_form_save', [
|
299 |
$this->plugin,
|
300 |
$this
|
301 |
], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save' );
|
314 |
/**
|
315 |
* @since 4.0.9 - является устаревшим
|
316 |
*/
|
317 |
+
$redirect_args = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_422_imppage_after_form_save_redirect_args', [ $redirect_args ], '4.0.9', 'wbcr/factory/pages/impressive/save_redirect_args' );
|
318 |
|
319 |
/**
|
320 |
* @since 4.0.1 - добавлен
|
331 |
*/
|
332 |
protected function warningNotice() {
|
333 |
/*if( WP_CACHE ) {
|
334 |
+
$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_422'));
|
335 |
}*/
|
336 |
// Метод предназначен для вызова в дочернем классе
|
337 |
}
|
403 |
/**
|
404 |
* @since 4.0.9 - является устаревшим
|
405 |
*/
|
406 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_pages_422_imppage_print_all_notices', [
|
407 |
$this->plugin,
|
408 |
$this
|
409 |
], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices' );
|
422 |
$this->plugin->getPluginName() . '_saved' => '1'
|
423 |
],
|
424 |
'type' => 'success',
|
425 |
+
'message' => __( 'The settings have been updated successfully!', 'wbcr_factory_pages_422' ) . ( 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_422' ) : '' )
|
426 |
]
|
427 |
];
|
428 |
|
429 |
/**
|
430 |
* @since 4.0.9 - является устаревшим
|
431 |
*/
|
432 |
+
$notices = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_pages_422_imppage_actions_notice', [
|
433 |
$notices,
|
434 |
$this->plugin,
|
435 |
$this->id
|
601 |
<?php do_action( 'wbcr/factory/pages/impressive/header', $this->plugin->getPluginName() ) ?>
|
602 |
|
603 |
<?php if ( $this->type == 'options' ): ?>
|
604 |
+
<input name="<?= $this->plugin->getPluginName() ?>_save_action" class="wbcr-factory-button wbcr-factory-type-save" type="submit" value="<?php _e( 'Save', 'wbcr_factory_pages_422' ); ?>">
|
605 |
<?php wp_nonce_field( 'wbcr_factory_' . $this->getResultId() . '_save_action' ); ?>
|
606 |
<?php endif; ?>
|
607 |
</div>
|
656 |
/**
|
657 |
* @since 4.0.9 - является устаревшим
|
658 |
*/
|
659 |
+
$widgets = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_pages_422_imppage_get_widgets', [
|
660 |
$widgets,
|
661 |
$position,
|
662 |
$this->plugin,
|
673 |
}
|
674 |
|
675 |
protected function showOptions() {
|
676 |
+
$form = new Wbcr_FactoryForms420_Form( [
|
677 |
'scope' => rtrim( $this->plugin->getPrefix(), '_' ),
|
678 |
'name' => $this->getResultId() . "-options"
|
679 |
], $this->plugin );
|
680 |
|
681 |
+
$form->setProvider( new Wbcr_FactoryForms420_OptionsValueProvider( $this->plugin ) );
|
682 |
|
683 |
$options = $this->getPageOptions();
|
684 |
|
718 |
check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_save_action' );
|
719 |
|
720 |
if ( ! current_user_can( 'administrator' ) && ! current_user_can( $this->capabilitiy ) ) {
|
721 |
+
wp_die( __( 'You do not have permission to edit page.', 'wbcr_factory_pages_422' ) );
|
722 |
exit;
|
723 |
}
|
724 |
|
725 |
/**
|
726 |
* @since 4.0.9 - является устаревшим
|
727 |
*/
|
728 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_imppage_before_form_save', [
|
729 |
$form,
|
730 |
$this->plugin,
|
731 |
$this
|
744 |
/**
|
745 |
* @since 4.0.9 - является устаревшим
|
746 |
*/
|
747 |
+
wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_imppage_form_saved', [
|
748 |
$form,
|
749 |
$this->plugin,
|
750 |
$this
|
765 |
|
766 |
?>
|
767 |
<div id="WBCR" class="wrap">
|
768 |
+
<div class="wbcr-factory-pages-422-impressive-page-template factory-bootstrap-423 factory-fontawesome-000">
|
769 |
<div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr( $this->id ) ?>">
|
770 |
<div class="wbcr-factory-left-navigation-bar">
|
771 |
<?php $this->showPageMenu() ?>
|
810 |
|
811 |
protected function showPage( $content = null ) { ?>
|
812 |
<div id="WBCR" class="wrap">
|
813 |
+
<div class="wbcr-factory-pages-422-impressive-page-template factory-bootstrap-423 factory-fontawesome-000">
|
814 |
<div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
|
815 |
<?php $this->showHeader(); ?>
|
816 |
<div class="wbcr-factory-left-navigation-bar">
|
873 |
public function confirmPageTemplate( $data ) {
|
874 |
?>
|
875 |
<div id="WBCR" class="wrap">
|
876 |
+
<div class="wbcr-factory-pages-422-impressive-page-template factory-bootstrap-423 factory-fontawesome-000">
|
877 |
<div id="wbcr-factory-confirm-dialog">
|
878 |
<h2><?php echo $data['title'] ?></h2>
|
879 |
<p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
|
migrations/010103.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 WCLUpdate010103 extends
|
8 |
|
9 |
public function install() {
|
10 |
global $wpdb;
|
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 WCLUpdate010103 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
global $wpdb;
|
migrations/010108.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 WCLUpdate010108 extends
|
8 |
|
9 |
public function install() {
|
10 |
global $wpdb, $wbcr_clearfy_plugin;
|
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 WCLUpdate010108 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
global $wpdb, $wbcr_clearfy_plugin;
|
migrations/010200.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 WCLUpdate010200 extends
|
8 |
|
9 |
public function install() {
|
10 |
WCL_Plugin::app()->deleteOption( 'enable_wordpres_sanitize' );
|
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 WCLUpdate010200 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
WCL_Plugin::app()->deleteOption( 'enable_wordpres_sanitize' );
|
migrations/010300.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 WCL_Update010300 extends
|
8 |
|
9 |
public function install() {
|
10 |
// Deactivate components for code minification, if alternative plugins are installed
|
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 WCL_Update010300 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
// Deactivate components for code minification, if alternative plugins are installed
|
migrations/010402.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 WCLUpdate010402 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 WCLUpdate010402 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
/**
|
migrations/010501.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 WCLUpdate010501 extends
|
8 |
|
9 |
public function install() {
|
10 |
require_once( WCL_PLUGIN_DIR . '/components/ga-cache/migrations/030002.php' );
|
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 WCLUpdate010501 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
require_once( WCL_PLUGIN_DIR . '/components/ga-cache/migrations/030002.php' );
|
migrations/010504.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 WCLUpdate010504 extends
|
8 |
|
9 |
public function install() {
|
10 |
$deactivate_components = $this->plugin->getPopulateOption( 'deactive_preinstall_components', [] );
|
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 WCLUpdate010504 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
$deactivate_components = $this->plugin->getPopulateOption( 'deactive_preinstall_components', [] );
|
migrations/010505.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 WCLUpdate010505 extends
|
8 |
|
9 |
public function install() {
|
10 |
$this->update_premium();
|
@@ -34,7 +34,7 @@ class WCLUpdate010505 extends Wbcr_Factory421_Update {
|
|
34 |
*/
|
35 |
$this->clean_hide_my_wp_data();
|
36 |
|
37 |
-
|
38 |
}
|
39 |
|
40 |
/**
|
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 WCLUpdate010505 extends Wbcr_Factory422_Update {
|
8 |
|
9 |
public function install() {
|
10 |
$this->update_premium();
|
34 |
*/
|
35 |
$this->clean_hide_my_wp_data();
|
36 |
|
37 |
+
WbcrFactoryClearfy214_Helpers::flushPageCache();
|
38 |
}
|
39 |
|
40 |
/**
|
migrations/010601.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php #comp-page builds: premium
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Updates for altering the table used to store statistics data.
|
5 |
+
* Adds new columns and renames existing ones in order to add support for the new social buttons.
|
6 |
+
*/
|
7 |
+
class WCLUpdate010601 extends Wbcr_Factory422_Update {
|
8 |
+
|
9 |
+
public function install() {
|
10 |
+
$this->plugin->updatePopulateOption( "last_check_premium_update_time", 0 );
|
11 |
+
}
|
12 |
+
}
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: webcraftic
|
|
3 |
Donate link: https://clearfy.pro/pricing/?utm_source=wordpress.org&utm_campaign=wbcr_clearfy&utm_content=repo
|
4 |
Tags: wp disable, disable comments, disable updates, disable emoji, disable embeds, remove querystrings, disable rest api, bicycles by falbar, remove rss feeds, remove meta generator, yoast seo remove comments, yoast seo, yoast seo breadcrumbs, disable embeds,remove embeds, remove rsd link, dns-prefetch, remove dns-prefetch, meta generator, rsd link, wlw manifest link, remove wlw manifest link, canonical link, remove canonical link, shortlink link, remove shortlink link, emoji, attachment pages, remove attachment pages, rss feeds, disable rss feeds, rest api, disable rest api, remove rest api, clearfy, archives date, post pagination, archives author, hide login errors, recent comments, tag, rpc, xml, xml rpc, xmlrpc, admin bar, remove querystrings, reduce HTTP requests, disable heartbeat, disable revision, heartbeat, revision, clean, optimize, remove rest-api, remove rest-api, remove jquery migrate, html minify, robots.txt editor, plugin updates, disable plugin updates, disable core updates, core updates, enable automatic updates, disable widgets, disable default widgets, remove html comments
|
5 |
Requires at least: 4.7
|
6 |
-
Tested up to: 5.
|
7 |
Requires PHP: 5.4
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2
|
@@ -238,6 +238,14 @@ Of course! To do this, email us your wishes with address, which you will find in
|
|
238 |
|
239 |
|
240 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
= 1.6.0 (12.10.2019) =
|
242 |
* Fixed: [Google analytic cache] a bug with creating a local copy of the Google analytics library.
|
243 |
* Fixed: [Assets manager component] fatal error with "Call to undefined function wp_scripts_get_suffix"
|
3 |
Donate link: https://clearfy.pro/pricing/?utm_source=wordpress.org&utm_campaign=wbcr_clearfy&utm_content=repo
|
4 |
Tags: wp disable, disable comments, disable updates, disable emoji, disable embeds, remove querystrings, disable rest api, bicycles by falbar, remove rss feeds, remove meta generator, yoast seo remove comments, yoast seo, yoast seo breadcrumbs, disable embeds,remove embeds, remove rsd link, dns-prefetch, remove dns-prefetch, meta generator, rsd link, wlw manifest link, remove wlw manifest link, canonical link, remove canonical link, shortlink link, remove shortlink link, emoji, attachment pages, remove attachment pages, rss feeds, disable rss feeds, rest api, disable rest api, remove rest api, clearfy, archives date, post pagination, archives author, hide login errors, recent comments, tag, rpc, xml, xml rpc, xmlrpc, admin bar, remove querystrings, reduce HTTP requests, disable heartbeat, disable revision, heartbeat, revision, clean, optimize, remove rest-api, remove rest-api, remove jquery migrate, html minify, robots.txt editor, plugin updates, disable plugin updates, disable core updates, core updates, enable automatic updates, disable widgets, disable default widgets, remove html comments
|
5 |
Requires at least: 4.7
|
6 |
+
Tested up to: 5.3
|
7 |
Requires PHP: 5.4
|
8 |
Stable tag: trunk
|
9 |
License: GPLv2
|
238 |
|
239 |
|
240 |
== Changelog ==
|
241 |
+
= 1.6.1 (13.11.2019) =
|
242 |
+
* Fixed: Compatibility with Wordpress 5.3
|
243 |
+
* Fixed: [Assets manager component] Minor bugs. Added an admin notice about great release.
|
244 |
+
* Fixed: [Assets manager component] Conditional logic in the premium plugin didn't work in previous version due an error.
|
245 |
+
* Added: [Assets manager component] You can control asset requires. Now if you disabled asset and it required for which other asset, you will get prompt with warning.
|
246 |
+
* Added: [Assets manager component] If you click on the "requires" tag, you will be gone to the asset for which require the current asset.
|
247 |
+
* Added: Restored plugin Hide my wp for premium build. And added compatibility Clearfy with Hide my wp.
|
248 |
+
|
249 |
= 1.6.0 (12.10.2019) =
|
250 |
* Fixed: [Google analytic cache] a bug with creating a local copy of the Google analytics library.
|
251 |
* Fixed: [Assets manager component] fatal error with "Call to undefined function wp_scripts_get_suffix"
|