Version Description
- Changed the way to safely save snippets. Now in case of an error, you will not lose the snippet changes. And also now there is no verification for snippets created for shortcodes, because of what many users had a problem with saving their old code.
- You can get the values of the variables from the shortcode attributes. For example, if you set the my_type attribute for the shortcode [wbcr_php_snippet id="2864" my_type="button"], you can get the value of the my_type attribute in the snippet by calling $my_type var.
- Added feature to set tags for snippets
- Added an instruction on how to export and import your own snippets
- Some bugs fixed.
Download this release
Release Info
Developer | webcraftic |
Plugin | Insert PHP |
Version | 2.0.6 |
Comparing to | |
See all releases |
Code changes from version 2.0.4 to 2.0.6
- admin/assets/css/general.css +47 -0
- admin/assets/css/general.less +53 -0
- admin/assets/css/list-table.css +3 -0
- admin/assets/css/list-table.less +3 -0
- admin/assets/img/43d2351a21.png +0 -0
- admin/assets/img/79018c6892.png +0 -0
- admin/assets/img/b2347551e4.png +0 -0
- admin/boot.php +29 -1
- admin/includes/class.snippets.viewtable.php +24 -9
- admin/metaboxes/base-options.php +47 -24
- admin/metaboxes/info.php +86 -0
- admin/pages/export.php +76 -0
- admin/pages/settings.php +6 -6
- admin/types/snippets-post-types.php +3 -3
- admin/types/snippets-taxonomy.php +49 -0
- assets/css/admin.fb-pages-types.css +0 -26
- assets/css/admin.fb-pages-types.less +0 -33
- assets/css/admin.shedule-list.css +0 -99
- assets/css/admin.shedule-list.less +0 -116
- assets/css/feed.css +0 -76
- assets/css/feed.less +0 -90
- assets/css/general.css +0 -72
- assets/css/general.less +0 -88
- assets/css/iframe.css +0 -23
- assets/js/admin.shedule-list.js +0 -49
- assets/js/feed.js +0 -45
- assets/js/general.js +0 -358
- assets/js/jquery.base64.js +0 -91
- includes/class.helpers.php +6 -0
- includes/class.plugin.php +48 -12
- includes/shortcodes.php +22 -9
- insert_php.php +5 -2
- 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.datetimepicker.min.css +1 -1
- 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.form-metabox.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/bootstrap.tab.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.wp-editor.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.color-and-opacity.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.color.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.dropdown-and-colors.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.fonts.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.list.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.pattern.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/control.radio-colors.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/plugin.gradient-picker.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/plugin.paddings-editor.min.css +1 -1
- libs/factory/bootstrap/assets/js-min/bootstrap.accordion.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/bootstrap.collapse.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/bootstrap.datetimepicker.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/bootstrap.modal.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.color-and-opacity.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.color.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.dropdown-and-colors.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.fonts.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.gradient.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/control.integer.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/assets/js-min/control.pattern.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/holder.more-link.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/plugin.gradient-picker.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/plugin.iris.min.js +1 -1
- libs/factory/bootstrap/assets/js-min/plugin.paddings-editor.min.js +1 -1
- libs/factory/bootstrap/boot.php +6 -6
- libs/factory/bootstrap/includes/functions.php +20 -20
- libs/factory/core/boot.php +14 -14
- libs/factory/core/includes/activation/activator.class.php +4 -4
- libs/factory/core/includes/activation/update.class.php +4 -4
- libs/factory/core/includes/assets-managment/assets-list.class.php +5 -5
- libs/factory/core/includes/assets-managment/script-list.class.php +2 -2
- libs/factory/core/includes/assets-managment/style-list.class.php +2 -2
- libs/factory/core/includes/base.class.php +5 -5
- libs/factory/core/includes/functions.php +15 -15
- libs/factory/core/includes/plugin.class.php +32 -32
- libs/factory/core/includes/request.class.php +2 -2
- libs/factory/forms/boot.php +94 -94
- 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 -11
- 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 +6 -6
- 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_402-fr-FR.mo → wbcr_factory_forms_405-fr-FR.mo} +0 -0
- libs/factory/forms/langs/{wbcr_factory_forms_402-fr-FR.po → wbcr_factory_forms_405-fr-FR.po} +0 -0
- libs/factory/forms/langs/{wbcr_factory_forms_402-ru_RU.mo → wbcr_factory_forms_405-ru_RU.mo} +0 -0
- libs/factory/forms/langs/{wbcr_factory_forms_402-ru_RU.po → wbcr_factory_forms_405-ru_RU.po} +0 -0
- libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php +7 -7
- libs/factory/metaboxes/boot.php +8 -8
- libs/factory/metaboxes/includes/form-metabox.class.php +22 -12
- libs/factory/metaboxes/includes/publish-metabox.class.php +4 -4
- libs/factory/metaboxes/metabox.class.php +8 -8
- libs/factory/metaboxes/metaboxes.php +10 -10
- libs/factory/notices/boot.php +5 -5
- libs/factory/notices/notices.php +7 -7
- libs/factory/pages/boot.php +9 -9
- libs/factory/pages/includes/admin-page.class.php +6 -6
- libs/factory/pages/includes/page.class.php +5 -5
- libs/factory/pages/langs/{wbcr_factory_pages_402-fr_FR.mo → wbcr_factory_pages_405-fr_FR.mo} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_402-fr_FR.po → wbcr_factory_pages_405-fr_FR.po} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_402-ru_RU.mo → wbcr_factory_pages_405-ru_RU.mo} +0 -0
- libs/factory/pages/langs/{wbcr_factory_pages_402-ru_RU.po → wbcr_factory_pages_405-ru_RU.po} +0 -0
- libs/factory/pages/pages.php +9 -9
- libs/factory/pages/templates/assets/css/impressive.page.template.css +97 -97
- libs/factory/pages/templates/impressive-page.class.php +58 -49
- libs/factory/shortcodes/boot.php +5 -5
- libs/factory/shortcodes/shortcode.class.php +6 -6
- libs/factory/shortcodes/shortcodes.php +7 -7
- libs/factory/taxonomies/boot.php +37 -0
- libs/factory/{types/langs/wbcr_factory_types_401-ru_RU.mo → taxonomies/langs/factory_taxonomies_324-ru_RU.mo} +0 -0
- libs/factory/{types/langs/wbcr_factory_types_401-ru_RU.po → taxonomies/langs/factory_taxonomies_324-ru_RU.po} +0 -0
- libs/factory/taxonomies/taxonomy.class.php +390 -0
- libs/factory/taxonomies/taxonomy.php +131 -0
- libs/factory/types/boot.php +8 -8
- libs/factory/types/includes/type-menu.class.php +5 -5
- libs/factory/types/langs/wbcr_factory_types_404-ru_RU.mo +0 -0
- libs/factory/types/langs/wbcr_factory_types_404-ru_RU.po +99 -0
- libs/factory/types/type.class.php +25 -25
- libs/factory/types/types.php +11 -11
- libs/factory/viewtables/boot.php +6 -6
- libs/factory/viewtables/includes/viewtable-columns.class.php +1 -1
- libs/factory/viewtables/viewtable.class.php +9 -9
- readme.txt +8 -0
- uninstall.php +15 -1
admin/assets/css/general.css
CHANGED
@@ -4,9 +4,56 @@
|
|
4 |
* @copyright Webcraftic 28.05.2018
|
5 |
*/
|
6 |
.CodeMirror {
|
|
|
7 |
border: 1px solid #dad8d8;
|
8 |
}
|
|
|
|
|
|
|
9 |
.misc-pub-post-status,
|
10 |
.misc-pub-visibility {
|
11 |
display: none;
|
12 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
* @copyright Webcraftic 28.05.2018
|
5 |
*/
|
6 |
.CodeMirror {
|
7 |
+
height: auto !important;
|
8 |
border: 1px solid #dad8d8;
|
9 |
}
|
10 |
+
.CodeMirror-scroll {
|
11 |
+
min-height: 250px;
|
12 |
+
}
|
13 |
.misc-pub-post-status,
|
14 |
.misc-pub-visibility {
|
15 |
display: none;
|
16 |
}
|
17 |
+
.postbox {
|
18 |
+
display: none;
|
19 |
+
}
|
20 |
+
#WINP_BaseOptionsMetaBox,
|
21 |
+
#WINP_InfoMetaBox,
|
22 |
+
#tagsdiv-wbcr-snippet-tags,
|
23 |
+
#submitdiv {
|
24 |
+
display: block;
|
25 |
+
}
|
26 |
+
#WINP_InfoMetaBox {
|
27 |
+
background: #2a2428;
|
28 |
+
color: #989898;
|
29 |
+
}
|
30 |
+
#WINP_InfoMetaBox h2 {
|
31 |
+
font-size: 16px;
|
32 |
+
color: #ffe202;
|
33 |
+
text-transform: uppercase;
|
34 |
+
}
|
35 |
+
#WINP_InfoMetaBox h4 {
|
36 |
+
margin: 0;
|
37 |
+
text-align: center;
|
38 |
+
}
|
39 |
+
#WINP_InfoMetaBox .inside {
|
40 |
+
padding: 0;
|
41 |
+
}
|
42 |
+
#WINP_InfoMetaBox .wbcr-inp-metabox-banner {
|
43 |
+
padding: 15px;
|
44 |
+
}
|
45 |
+
#WINP_InfoMetaBox .wbcr-inp-metabox-banner .wbcr-inp-big-text {
|
46 |
+
color: #fff;
|
47 |
+
font-size: 15px;
|
48 |
+
}
|
49 |
+
#WINP_InfoMetaBox .wbcr-inp-metabox-banner .wbcr-inp-button {
|
50 |
+
display: block;
|
51 |
+
font-size: 18px;
|
52 |
+
letter-spacing: 0;
|
53 |
+
margin-top: 10px;
|
54 |
+
text-decoration: none;
|
55 |
+
color: #2a2428;
|
56 |
+
background-color: #f9e100;
|
57 |
+
padding: 15px 50px 15px 50px;
|
58 |
+
box-shadow: 0 5px 0 0 #af9800;
|
59 |
+
}
|
admin/assets/css/general.less
CHANGED
@@ -5,9 +5,62 @@
|
|
5 |
*/
|
6 |
|
7 |
.CodeMirror {
|
|
|
8 |
border: 1px solid #dad8d8;
|
9 |
}
|
10 |
|
|
|
|
|
|
|
|
|
11 |
.misc-pub-post-status, .misc-pub-visibility {
|
12 |
display: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
5 |
*/
|
6 |
|
7 |
.CodeMirror {
|
8 |
+
height: auto !important;
|
9 |
border: 1px solid #dad8d8;
|
10 |
}
|
11 |
|
12 |
+
.CodeMirror-scroll {
|
13 |
+
min-height: 250px;
|
14 |
+
}
|
15 |
+
|
16 |
.misc-pub-post-status, .misc-pub-visibility {
|
17 |
display: none;
|
18 |
+
}
|
19 |
+
|
20 |
+
.postbox {
|
21 |
+
display: none;
|
22 |
+
}
|
23 |
+
|
24 |
+
#WINP_BaseOptionsMetaBox, #WINP_InfoMetaBox, #tagsdiv-wbcr-snippet-tags, #submitdiv {
|
25 |
+
display: block;
|
26 |
+
}
|
27 |
+
|
28 |
+
#WINP_InfoMetaBox {
|
29 |
+
background: #2a2428;
|
30 |
+
color: #989898;
|
31 |
+
|
32 |
+
h2 {
|
33 |
+
font-size: 16px;
|
34 |
+
color: rgb(255, 226, 2);
|
35 |
+
text-transform: uppercase;
|
36 |
+
}
|
37 |
+
h4 {
|
38 |
+
margin: 0;
|
39 |
+
text-align: center;
|
40 |
+
}
|
41 |
+
|
42 |
+
.inside {
|
43 |
+
padding: 0;
|
44 |
+
}
|
45 |
+
|
46 |
+
.wbcr-inp-metabox-banner {
|
47 |
+
padding: 15px;
|
48 |
+
|
49 |
+
.wbcr-inp-big-text {
|
50 |
+
color: #fff;
|
51 |
+
font-size: 15px;
|
52 |
+
}
|
53 |
+
.wbcr-inp-button {
|
54 |
+
display: block;
|
55 |
+
font-size: 18px;
|
56 |
+
letter-spacing: 0;
|
57 |
+
margin-top: 10px;
|
58 |
+
text-decoration: none;
|
59 |
+
color: #2a2428;
|
60 |
+
background-color: #f9e100;
|
61 |
+
padding: 15px 50px 15px 50px;
|
62 |
+
box-shadow: 0 5px 0 0 #af9800;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
}
|
admin/assets/css/list-table.css
CHANGED
@@ -15,6 +15,9 @@
|
|
15 |
.wp-list-table th#where_use {
|
16 |
width: 200px !important;
|
17 |
}
|
|
|
|
|
|
|
18 |
.wp-list-table td {
|
19 |
vertical-align: middle !important;
|
20 |
}
|
15 |
.wp-list-table th#where_use {
|
16 |
width: 200px !important;
|
17 |
}
|
18 |
+
.wp-list-table th#taxonomy-wbcr-snippet-tags {
|
19 |
+
width: 150px;
|
20 |
+
}
|
21 |
.wp-list-table td {
|
22 |
vertical-align: middle !important;
|
23 |
}
|
admin/assets/css/list-table.less
CHANGED
@@ -18,6 +18,9 @@
|
|
18 |
&#where_use {
|
19 |
width: 200px !important;
|
20 |
}
|
|
|
|
|
|
|
21 |
}
|
22 |
& td {
|
23 |
vertical-align: middle !important;
|
18 |
&#where_use {
|
19 |
width: 200px !important;
|
20 |
}
|
21 |
+
&#taxonomy-wbcr-snippet-tags {
|
22 |
+
width: 150px;
|
23 |
+
}
|
24 |
}
|
25 |
& td {
|
26 |
vertical-align: middle !important;
|
admin/assets/img/43d2351a21.png
ADDED
Binary file
|
admin/assets/img/79018c6892.png
ADDED
Binary file
|
admin/assets/img/b2347551e4.png
ADDED
Binary file
|
admin/boot.php
CHANGED
@@ -54,6 +54,31 @@
|
|
54 |
'text' => '<p>' . $upgrade_plugin_notice . '</p>'
|
55 |
);
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
return $notices;
|
58 |
}
|
59 |
|
@@ -75,7 +100,10 @@
|
|
75 |
// Register metaboxes
|
76 |
|
77 |
require_once(WINP_PLUGIN_DIR . '/admin/metaboxes/base-options.php');
|
78 |
-
|
|
|
|
|
|
|
79 |
|
80 |
// Upgrade up to new version
|
81 |
if( !$plugin->getOption('upgrade_up_to_201', false) ) {
|
54 |
'text' => '<p>' . $upgrade_plugin_notice . '</p>'
|
55 |
);
|
56 |
|
57 |
+
/**
|
58 |
+
* Show error notification after saving snippet. We can also show this message when the snippet is activated.
|
59 |
+
* We must warn the user that we can not perform the spippet due to an error.
|
60 |
+
*/
|
61 |
+
if( isset($_GET['wbcr_inp_save_snippet_result']) && $_GET['wbcr_inp_save_snippet_result'] == 'code-error' ) {
|
62 |
+
|
63 |
+
$post_id = isset($_GET['post'])
|
64 |
+
? intval($_GET['post'])
|
65 |
+
: null;
|
66 |
+
|
67 |
+
if( $post_id && $error = WINP_Plugin::app()->getSnippetError($post_id) ) {
|
68 |
+
|
69 |
+
$error_message = sprintf('<p>%s</p><p><strong>%s</strong></p>', sprintf(__('The snippet has been deactivated due to an error on line %d:', 'insert-php'), $error['line']), $error['message']);
|
70 |
+
|
71 |
+
$notices[] = array(
|
72 |
+
'id' => 'inp_result_error',
|
73 |
+
'where' => array('post', 'post-new', 'edit'),
|
74 |
+
'type' => 'error',
|
75 |
+
'dismissible' => false,
|
76 |
+
'dismiss_expires' => 0,
|
77 |
+
'text' => $error_message
|
78 |
+
);
|
79 |
+
}
|
80 |
+
}
|
81 |
+
|
82 |
return $notices;
|
83 |
}
|
84 |
|
100 |
// Register metaboxes
|
101 |
|
102 |
require_once(WINP_PLUGIN_DIR . '/admin/metaboxes/base-options.php');
|
103 |
+
Wbcr_FactoryMetaboxes403::registerFor(new WINP_BaseOptionsMetaBox($plugin), WINP_SNIPPETS_POST_TYPE, $plugin);
|
104 |
+
|
105 |
+
require_once(WINP_PLUGIN_DIR . '/admin/metaboxes/info.php');
|
106 |
+
Wbcr_FactoryMetaboxes403::registerFor(new WINP_InfoMetaBox($plugin), WINP_SNIPPETS_POST_TYPE, $plugin);
|
107 |
|
108 |
// Upgrade up to new version
|
109 |
if( !$plugin->getOption('upgrade_up_to_201', false) ) {
|
admin/includes/class.snippets.viewtable.php
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class WINP_SnippetsViewTable extends
|
4 |
|
5 |
public function configure()
|
6 |
{
|
7 |
/**
|
8 |
* Columns
|
9 |
*/
|
10 |
-
|
11 |
$this->columns->clear();
|
12 |
$this->columns->add('title', __('Snippet title', 'insert-php'));
|
13 |
-
$this->columns->add('description', __('Description', 'insert-php'));
|
14 |
$this->columns->add('where_use', __('Where use?', 'insert-php'));
|
|
|
|
|
15 |
$this->columns->add('status', __('Status', 'insert-php'));
|
16 |
$this->columns->add('actions', __('Actions', 'insert-php'));
|
17 |
|
@@ -19,10 +19,6 @@
|
|
19 |
* Scripts & styles
|
20 |
*/
|
21 |
$this->styles->add(WINP_PLUGIN_URL . '/admin/assets/css/list-table.css');
|
22 |
-
|
23 |
-
//$this->scripts->add(OPANDA_BIZPANDA_URL . '/assets/admin/js/item-view.js');
|
24 |
-
//do_action('bizpanda_view_table_register_scripts', $this->scripts, $this->styles);
|
25 |
-
|
26 |
$this->runActions();
|
27 |
}
|
28 |
|
@@ -99,13 +95,32 @@
|
|
99 |
}
|
100 |
|
101 |
$is_activate = (int)WINP_Helper::getMetaOption($post_id, 'snippet_activate', 0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
$status = !$is_activate;
|
104 |
|
105 |
update_post_meta($post_id, $this->plugin->getPrefix() . 'snippet_activate', $status);
|
106 |
|
107 |
-
$redirect_url =
|
108 |
-
|
|
|
|
|
109 |
|
110 |
wp_safe_redirect($redirect_url);
|
111 |
exit;
|
1 |
<?php
|
2 |
|
3 |
+
class WINP_SnippetsViewTable extends Wbcr_FactoryViewtables403_Viewtable {
|
4 |
|
5 |
public function configure()
|
6 |
{
|
7 |
/**
|
8 |
* Columns
|
9 |
*/
|
|
|
10 |
$this->columns->clear();
|
11 |
$this->columns->add('title', __('Snippet title', 'insert-php'));
|
|
|
12 |
$this->columns->add('where_use', __('Where use?', 'insert-php'));
|
13 |
+
$this->columns->add('description', __('Description', 'insert-php'));
|
14 |
+
$this->columns->add('taxonomy-' . WINP_SNIPPETS_TAXONOMY, __('Tags', 'insert-php'));
|
15 |
$this->columns->add('status', __('Status', 'insert-php'));
|
16 |
$this->columns->add('actions', __('Actions', 'insert-php'));
|
17 |
|
19 |
* Scripts & styles
|
20 |
*/
|
21 |
$this->styles->add(WINP_PLUGIN_URL . '/admin/assets/css/list-table.css');
|
|
|
|
|
|
|
|
|
22 |
$this->runActions();
|
23 |
}
|
24 |
|
95 |
}
|
96 |
|
97 |
$is_activate = (int)WINP_Helper::getMetaOption($post_id, 'snippet_activate', 0);
|
98 |
+
$snippet_scope = WINP_Helper::getMetaOption($post_id, 'snippet_scope');
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Prevent activation of the snippet if it contains an error. This will not allow the user to break his site.
|
102 |
+
* @since 2.0.5
|
103 |
+
*/
|
104 |
+
|
105 |
+
if( $snippet_scope == 'evrywhere' && !$is_activate ) {
|
106 |
+
if( WINP_Plugin::app()->getSnippetError($post_id) ) {
|
107 |
+
wp_safe_redirect(add_query_arg(array(
|
108 |
+
'action' => 'edit',
|
109 |
+
'post' => $post_id,
|
110 |
+
'wbcr_inp_save_snippet_result' => 'code-error'
|
111 |
+
), admin_url('post.php')));
|
112 |
+
exit;
|
113 |
+
}
|
114 |
+
}
|
115 |
|
116 |
$status = !$is_activate;
|
117 |
|
118 |
update_post_meta($post_id, $this->plugin->getPrefix() . 'snippet_activate', $status);
|
119 |
|
120 |
+
$redirect_url = add_query_arg(array(
|
121 |
+
'post_type' => WINP_SNIPPETS_POST_TYPE,
|
122 |
+
'wbcr_inp_snippet_updated' => 1
|
123 |
+
), admin_url('edit.php'));
|
124 |
|
125 |
wp_safe_redirect($redirect_url);
|
126 |
exit;
|
admin/metaboxes/base-options.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class WINP_BaseOptionsMetaBox extends
|
4 |
|
5 |
/**
|
6 |
* A visible title of the metabox.
|
@@ -25,7 +25,7 @@
|
|
25 |
*/
|
26 |
public $priority = 'core';
|
27 |
|
28 |
-
public $
|
29 |
|
30 |
protected $errors = array();
|
31 |
protected $source_channel;
|
@@ -50,8 +50,8 @@
|
|
50 |
* Configures a metabox.
|
51 |
*
|
52 |
* @since 1.0.0
|
53 |
-
* @param
|
54 |
-
* @param
|
55 |
* @return void
|
56 |
*/
|
57 |
public function configure($scripts, $styles)
|
@@ -160,10 +160,10 @@
|
|
160 |
/**
|
161 |
* Configures a form that will be inside the metabox.
|
162 |
*
|
163 |
-
* @see
|
164 |
* @since 1.0.0
|
165 |
*
|
166 |
-
* @param
|
167 |
* @return void
|
168 |
*/
|
169 |
public function form($form)
|
@@ -172,7 +172,7 @@
|
|
172 |
'type' => 'textarea',
|
173 |
'name' => 'snippet_code',
|
174 |
'title' => __('Enter the code for your snippet', 'insert-php'),
|
175 |
-
'hint' => __('Enter the PHP code, without opening and closing tags.', 'insert-php'),
|
176 |
'filter_value' => array($this, 'codeSnippetFilterValue')
|
177 |
);
|
178 |
|
@@ -230,7 +230,7 @@
|
|
230 |
|
231 |
do_action('wbcr_inp_after_execute_snippet', $post->ID, $snippet_code, $result);
|
232 |
|
233 |
-
return false === $result;
|
234 |
}
|
235 |
|
236 |
private function codeErrorCallback($out)
|
@@ -258,19 +258,7 @@
|
|
258 |
*/
|
259 |
public function codeSnippetFilterValue($value, $raw_value)
|
260 |
{
|
261 |
-
|
262 |
-
|
263 |
-
$snippet_code = $this->prepareCode($raw_value);
|
264 |
-
|
265 |
-
$is_default_activate = WINP_Plugin::app()->getOption('activate_by_default', true);
|
266 |
-
|
267 |
-
if( !$this->validateCode($snippet_code) && $is_default_activate && current_user_can('manage_options') ) {
|
268 |
-
WINP_Helper::updateMetaOption($post->ID, 'snippet_activate', true);
|
269 |
-
} else {
|
270 |
-
WINP_Helper::updateMetaOption($post->ID, 'snippet_activate', false);
|
271 |
-
}
|
272 |
-
|
273 |
-
return $snippet_code;
|
274 |
}
|
275 |
|
276 |
/**
|
@@ -289,10 +277,45 @@
|
|
289 |
return $code;
|
290 |
}
|
291 |
|
292 |
-
public function
|
293 |
{
|
294 |
-
|
|
|
|
|
295 |
return;
|
296 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
}
|
298 |
}
|
1 |
<?php
|
2 |
|
3 |
+
class WINP_BaseOptionsMetaBox extends Wbcr_FactoryMetaboxes403_FormMetabox {
|
4 |
|
5 |
/**
|
6 |
* A visible title of the metabox.
|
25 |
*/
|
26 |
public $priority = 'core';
|
27 |
|
28 |
+
public $css_class = 'factory-bootstrap-404 factory-fontawesome-000';
|
29 |
|
30 |
protected $errors = array();
|
31 |
protected $source_channel;
|
50 |
* Configures a metabox.
|
51 |
*
|
52 |
* @since 1.0.0
|
53 |
+
* @param Factory404_ScriptList $scripts A set of scripts to include.
|
54 |
+
* @param Factory404_StyleList $styles A set of style to include.
|
55 |
* @return void
|
56 |
*/
|
57 |
public function configure($scripts, $styles)
|
160 |
/**
|
161 |
* Configures a form that will be inside the metabox.
|
162 |
*
|
163 |
+
* @see Wbcr_FactoryMetaboxes403_FormMetabox
|
164 |
* @since 1.0.0
|
165 |
*
|
166 |
+
* @param FactoryForms405_Form $form A form object to configure.
|
167 |
* @return void
|
168 |
*/
|
169 |
public function form($form)
|
172 |
'type' => 'textarea',
|
173 |
'name' => 'snippet_code',
|
174 |
'title' => __('Enter the code for your snippet', 'insert-php'),
|
175 |
+
'hint' => __('Enter the PHP code, without opening and closing tags.<br>-If you want to put the html code in the snippet, put the closing php tag before the html code. Example: <b>?><div>my html code</div></b><br>-You can get the values of the variables from the shortcode attributes. For example, if you set the <b>my_type</b> attribute for the shortcode [wbcr_php_snippet id="2864" <b>my_type="button"</b>], you can get the value of the my_type attribute in the snippet by calling <b>$my_type</b> var.', 'insert-php'),
|
176 |
'filter_value' => array($this, 'codeSnippetFilterValue')
|
177 |
);
|
178 |
|
230 |
|
231 |
do_action('wbcr_inp_after_execute_snippet', $post->ID, $snippet_code, $result);
|
232 |
|
233 |
+
return !(false === $result);
|
234 |
}
|
235 |
|
236 |
private function codeErrorCallback($out)
|
258 |
*/
|
259 |
public function codeSnippetFilterValue($value, $raw_value)
|
260 |
{
|
261 |
+
return $this->prepareCode($raw_value);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
}
|
263 |
|
264 |
/**
|
277 |
return $code;
|
278 |
}
|
279 |
|
280 |
+
public function afterSavingForm($postId)
|
281 |
{
|
282 |
+
global $post;
|
283 |
+
|
284 |
+
if( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
|
285 |
return;
|
286 |
+
}
|
287 |
+
|
288 |
+
$is_default_activate = WINP_Plugin::app()->getOption('activate_by_default', true);
|
289 |
+
|
290 |
+
$snippet_code = isset($_POST[WINP_Plugin::app()->getPrefix() . 'snippet_code'])
|
291 |
+
? $this->prepareCode($_POST[WINP_Plugin::app()->getPrefix() . 'snippet_code'])
|
292 |
+
: '';
|
293 |
+
|
294 |
+
$snippet_type = isset($_POST[WINP_Plugin::app()->getPrefix() . 'snippet_scope'])
|
295 |
+
? sanitize_text_field($_POST[WINP_Plugin::app()->getPrefix() . 'snippet_scope'])
|
296 |
+
: null;
|
297 |
+
|
298 |
+
WINP_Helper::updateMetaOption($post->ID, 'snippet_activate', false);
|
299 |
+
|
300 |
+
$validate = true;
|
301 |
+
|
302 |
+
if( $snippet_type == 'evrywhere' ) {
|
303 |
+
$validate = $this->validateCode($snippet_code);
|
304 |
+
}
|
305 |
+
|
306 |
+
if( $validate && $is_default_activate && WINP_Plugin::app()->currentUserCan() ) {
|
307 |
+
WINP_Helper::updateMetaOption($post->ID, 'snippet_activate', true);
|
308 |
+
} else {
|
309 |
+
|
310 |
+
/* Display message if a parse error occurred */
|
311 |
+
|
312 |
+
wp_redirect(add_query_arg(array(
|
313 |
+
'action' => 'edit',
|
314 |
+
'post' => $post->ID,
|
315 |
+
'wbcr_inp_save_snippet_result' => 'code-error'
|
316 |
+
), admin_url('post.php')));
|
317 |
+
|
318 |
+
exit;
|
319 |
+
}
|
320 |
}
|
321 |
}
|
admin/metaboxes/info.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class WINP_InfoMetaBox extends Wbcr_FactoryMetaboxes403_Metabox {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* A visible title of the metabox.
|
7 |
+
*
|
8 |
+
* Inherited from the class FactoryMetabox.
|
9 |
+
* @link http://codex.wordpress.org/Function_Reference/add_meta_box
|
10 |
+
*
|
11 |
+
* @since 1.0.0
|
12 |
+
* @var string
|
13 |
+
*/
|
14 |
+
public $title;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The part of the page where the edit screen
|
18 |
+
* section should be shown ('normal', 'advanced', or 'side').
|
19 |
+
*
|
20 |
+
* @since 1.0.0
|
21 |
+
* @var string
|
22 |
+
*/
|
23 |
+
public $context = 'side';
|
24 |
+
|
25 |
+
|
26 |
+
/**
|
27 |
+
* The priority within the context where the boxes should show ('high', 'core', 'default' or 'low').
|
28 |
+
*
|
29 |
+
* @link http://codex.wordpress.org/Function_Reference/add_meta_box
|
30 |
+
* Inherited from the class FactoryMetabox.
|
31 |
+
*
|
32 |
+
* @since 1.0.0
|
33 |
+
* @var string
|
34 |
+
*/
|
35 |
+
public $priority = 'core';
|
36 |
+
|
37 |
+
public $css_class = 'factory-bootstrap-404 factory-fontawesome-000';
|
38 |
+
|
39 |
+
protected $errors = array();
|
40 |
+
protected $source_channel;
|
41 |
+
protected $facebook_group_id;
|
42 |
+
protected $paginate_url;
|
43 |
+
|
44 |
+
public function __construct($plugin)
|
45 |
+
{
|
46 |
+
parent::__construct($plugin);
|
47 |
+
|
48 |
+
$this->title = __('Meet with Clearfy plugin!', 'insert-php');
|
49 |
+
}
|
50 |
+
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Configures a metabox.
|
54 |
+
*
|
55 |
+
* @since 1.0.0
|
56 |
+
* @param Wbcr_Factory404_ScriptList $scripts A set of scripts to include.
|
57 |
+
* @param Wbcr_Factory404_StyleList $styles A set of style to include.
|
58 |
+
* @return void
|
59 |
+
*/
|
60 |
+
public function configure($scripts, $styles)
|
61 |
+
{
|
62 |
+
}
|
63 |
+
|
64 |
+
public function html()
|
65 |
+
{
|
66 |
+
?>
|
67 |
+
<div class="wbcr-inp-metabox-banner">
|
68 |
+
<strong class="wbcr-inp-big-text"><?php _e('Do you use snippets to disable unused WordPress features?', 'insert-php'); ?></strong>
|
69 |
+
|
70 |
+
<p><?php _e('We can offer you a simpler and more reliable solution - our popular plugin for WordPress optimization
|
71 |
+
Clearfy.', 'insert-php'); ?></p>
|
72 |
+
|
73 |
+
<p><?php _e('Just click toggles to turn on or off unused WordPress functions.', 'insert-php'); ?></p>
|
74 |
+
<ul>
|
75 |
+
<li class="wbcr-inp-big-text">- <?php _e('No snippets', 'insert-php'); ?></li>
|
76 |
+
<li class="wbcr-inp-big-text">- <?php _e('Do not waste time', 'insert-php'); ?></li>
|
77 |
+
<li class="wbcr-inp-big-text">- <?php _e('Do not worry about security', 'insert-php'); ?></li>
|
78 |
+
<li class="wbcr-inp-big-text">- <?php _e('It\'s free', 'insert-php'); ?></li>
|
79 |
+
</ul>
|
80 |
+
<a href="https://clearfy.pro/?utm_source=wordpress.org&utm_campaign=wbcr_php_snippets" class="wbcr-inp-button" target="_blank">
|
81 |
+
<?php _e('Download for free', 'insert-php'); ?>
|
82 |
+
</a>
|
83 |
+
</div>
|
84 |
+
<?php
|
85 |
+
}
|
86 |
+
}
|
admin/pages/export.php
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* This class is implemented page: import, export in the admin panel.
|
4 |
+
*
|
5 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
6 |
+
* @copyright (c) 2018, OnePress Ltd
|
7 |
+
*s
|
8 |
+
* @package core
|
9 |
+
* @since 1.0.0
|
10 |
+
*/
|
11 |
+
|
12 |
+
// Exit if accessed directly
|
13 |
+
if( !defined('ABSPATH') ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Common Settings
|
19 |
+
*/
|
20 |
+
class WINP_ExportPage extends Wbcr_FactoryPages405_AdminPage {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
24 |
+
*/
|
25 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
26 |
+
{
|
27 |
+
$this->menu_post_type = WINP_SNIPPETS_POST_TYPE;
|
28 |
+
|
29 |
+
$this->id = "export";
|
30 |
+
$this->menu_title = __('Import/Export', 'insert-php');
|
31 |
+
|
32 |
+
parent::__construct($plugin);
|
33 |
+
|
34 |
+
$this->plugin = $plugin;
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Prints the contents of the page.
|
39 |
+
*/
|
40 |
+
public function indexAction()
|
41 |
+
{
|
42 |
+
?>
|
43 |
+
<div class="wrap ">
|
44 |
+
<div class="factory-bootstrap-404 factory-fontawesome-000">
|
45 |
+
<h3><?php _e('Import/Export', 'insert-php') ?></h3>
|
46 |
+
|
47 |
+
<p><?php _e('To export or migrate your snippets, you can use native WordPress functional or any other import/export plugin for custom post types.', 'insert-php'); ?></p>
|
48 |
+
|
49 |
+
<p><?php _e('Let\'s have a look how you can export your snippets:', 'insert-php'); ?></p>
|
50 |
+
|
51 |
+
<h3><?php _e('Export with WordPress', 'insert-php'); ?></h3>
|
52 |
+
<ul>
|
53 |
+
<li>1. <?php _e('Go to Tools -> Export', 'insert-php'); ?></li>
|
54 |
+
<li>2. <?php _e('Select "PHP snippets" custom post', 'insert-php'); ?></li>
|
55 |
+
<li>3. <?php _e('Press "Download Export File" button', 'insert-php'); ?></li>
|
56 |
+
</ul>
|
57 |
+
<img src="<?= WINP_PLUGIN_URL ?>/admin/assets/img/79018c6892.png" width="800" alt=""/>
|
58 |
+
|
59 |
+
<h3><?php _e('Import using other plugin', 'insert-php'); ?></h3>
|
60 |
+
<ul>
|
61 |
+
<li>1. <?php _e('Go to Tools -> Import', 'insert-php'); ?></li>
|
62 |
+
<li>2. <?php _e('Install WordPress import plugin', 'insert-php'); ?></li>
|
63 |
+
<li>3. <?php _e('Run Importer after installation', 'insert-php'); ?></li>
|
64 |
+
</ul>
|
65 |
+
<img src="<?= WINP_PLUGIN_URL ?>/admin/assets/img/b2347551e4.png" width="800" alt=""/>
|
66 |
+
<ul>
|
67 |
+
<li>1. <?php _e('Make sure you are on the import page', 'insert-php'); ?></li>
|
68 |
+
<li>2. <?php _e('Select the export file that you downloaded at the export stage', 'insert-php'); ?></li>
|
69 |
+
<li>3. <?php _e('Press "Upload file and import" button', 'insert-php'); ?></li>
|
70 |
+
</ul>
|
71 |
+
<img src="<?= WINP_PLUGIN_URL ?>/admin/assets/img/43d2351a21.png" width="800" alt=""/>
|
72 |
+
</div>
|
73 |
+
</div>
|
74 |
+
<?php
|
75 |
+
}
|
76 |
+
}
|
admin/pages/settings.php
CHANGED
@@ -17,12 +17,12 @@
|
|
17 |
/**
|
18 |
* Common Settings
|
19 |
*/
|
20 |
-
class WINP_SettingsPage extends
|
21 |
|
22 |
/**
|
23 |
-
* @param
|
24 |
*/
|
25 |
-
public function __construct(
|
26 |
{
|
27 |
$this->menu_post_type = WINP_SNIPPETS_POST_TYPE;
|
28 |
|
@@ -173,12 +173,12 @@
|
|
173 |
{
|
174 |
|
175 |
// creating a form
|
176 |
-
$form = new
|
177 |
'scope' => substr($this->plugin->getPrefix(), 0, -1),
|
178 |
'name' => 'setting'
|
179 |
), $this->plugin);
|
180 |
|
181 |
-
$form->setProvider(new
|
182 |
|
183 |
$form->add($this->getOptions());
|
184 |
|
@@ -191,7 +191,7 @@
|
|
191 |
|
192 |
?>
|
193 |
<div class="wrap ">
|
194 |
-
<div class="factory-bootstrap-
|
195 |
<h3><?php _e('Settings', 'insert-php') ?></h3>
|
196 |
|
197 |
<form method="post" class="form-horizontal">
|
17 |
/**
|
18 |
* Common Settings
|
19 |
*/
|
20 |
+
class WINP_SettingsPage extends Wbcr_FactoryPages405_AdminPage {
|
21 |
|
22 |
/**
|
23 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
24 |
*/
|
25 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
26 |
{
|
27 |
$this->menu_post_type = WINP_SNIPPETS_POST_TYPE;
|
28 |
|
173 |
{
|
174 |
|
175 |
// creating a form
|
176 |
+
$form = new Wbcr_FactoryForms405_Form(array(
|
177 |
'scope' => substr($this->plugin->getPrefix(), 0, -1),
|
178 |
'name' => 'setting'
|
179 |
), $this->plugin);
|
180 |
|
181 |
+
$form->setProvider(new Wbcr_FactoryForms405_OptionsValueProvider($this->plugin));
|
182 |
|
183 |
$form->add($this->getOptions());
|
184 |
|
191 |
|
192 |
?>
|
193 |
<div class="wrap ">
|
194 |
+
<div class="factory-bootstrap-404 factory-fontawesome-000">
|
195 |
<h3><?php _e('Settings', 'insert-php') ?></h3>
|
196 |
|
197 |
<form method="post" class="form-horizontal">
|
admin/types/snippets-post-types.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Declaration for custom post type of Php code snippets
|
6 |
* @link http://codex.wordpress.org/Post_Types
|
7 |
*/
|
8 |
-
class WSC_TasksItemType extends
|
9 |
|
10 |
/**
|
11 |
* Custom post name.
|
@@ -28,9 +28,9 @@
|
|
28 |
public $capabilities = array('administrator');
|
29 |
|
30 |
/**
|
31 |
-
* @param
|
32 |
*/
|
33 |
-
function __construct(
|
34 |
{
|
35 |
$this->name = WINP_SNIPPETS_POST_TYPE;
|
36 |
$this->plural_title = __('PHP snippets', 'insert-php');
|
5 |
* Declaration for custom post type of Php code snippets
|
6 |
* @link http://codex.wordpress.org/Post_Types
|
7 |
*/
|
8 |
+
class WSC_TasksItemType extends Wbcr_FactoryTypes404_Type {
|
9 |
|
10 |
/**
|
11 |
* Custom post name.
|
28 |
public $capabilities = array('administrator');
|
29 |
|
30 |
/**
|
31 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
32 |
*/
|
33 |
+
function __construct(Wbcr_Factory404_Plugin $plugin)
|
34 |
{
|
35 |
$this->name = WINP_SNIPPETS_POST_TYPE;
|
36 |
$this->plural_title = __('PHP snippets', 'insert-php');
|
admin/types/snippets-taxonomy.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class WINP_SnippetsTaxonomy extends Wbcr_FactoryTaxonomies324_Taxonomy {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Custom post name.
|
7 |
+
* @var string
|
8 |
+
*/
|
9 |
+
public $name = WINP_SNIPPETS_TAXONOMY;
|
10 |
+
public $post_types = WINP_SNIPPETS_POST_TYPE;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Template that defines a set of type options.
|
14 |
+
* Allowed values: public, private, internal.
|
15 |
+
* @var string
|
16 |
+
*/
|
17 |
+
public $template = 'private';
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Capabilities for roles that have access to manage the type.
|
21 |
+
* @link http://codex.wordpress.org/Roles_and_Capabilities
|
22 |
+
* @var array
|
23 |
+
*/
|
24 |
+
public $capabilities = array('administrator');
|
25 |
+
|
26 |
+
|
27 |
+
function __construct($plugin)
|
28 |
+
{
|
29 |
+
$this->plural_title = __('Tags', 'insert-php');
|
30 |
+
$this->singular_title = __('Tag', 'insert-php');
|
31 |
+
|
32 |
+
$this->options['hierarchical'] = false;
|
33 |
+
$this->options['show_admin_column'] = true;
|
34 |
+
$this->options['show_in_nav_menus'] = true;
|
35 |
+
$this->options['update_count_callback'] = true;
|
36 |
+
$this->options['show_in_quick_edit'] = true;
|
37 |
+
|
38 |
+
parent::__construct($plugin);
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Taxonomy configurator.
|
43 |
+
*/
|
44 |
+
public function configure()
|
45 |
+
{
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
|
assets/css/admin.fb-pages-types.css
DELETED
@@ -1,26 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Стили для страницы редактирования групп фейсбук страниц
|
3 |
-
* Используется только в панели администратора
|
4 |
-
|
5 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
-
* @copyright Webcraftic 09.02.2018
|
7 |
-
*/
|
8 |
-
.factory-bootstrap-401 .wbcr-autopost-fb-pages-listbox {
|
9 |
-
display: block;
|
10 |
-
border: 1px solid #e2e2e2;
|
11 |
-
background: #fbfbfb;
|
12 |
-
overflow-x: auto;
|
13 |
-
width: 400px;
|
14 |
-
max-height: 150px;
|
15 |
-
padding: 10px 20px;
|
16 |
-
}
|
17 |
-
.factory-bootstrap-401 .wbcr-autopost-fb-pages-listbox-error {
|
18 |
-
display: block;
|
19 |
-
border: 1px solid #ffc8c8;
|
20 |
-
background: #f9eeee;
|
21 |
-
color: #927070;
|
22 |
-
overflow-x: auto;
|
23 |
-
width: 400px;
|
24 |
-
max-height: 150px;
|
25 |
-
padding: 10px 20px;
|
26 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/admin.fb-pages-types.less
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Стили для страницы редактирования групп фейсбук страниц
|
3 |
-
* Используется только в панели администратора
|
4 |
-
|
5 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
-
* @copyright Webcraftic 09.02.2018
|
7 |
-
*/
|
8 |
-
|
9 |
-
.factory-bootstrap-000 {
|
10 |
-
.wbcr-autopost-fb-pages-listbox {
|
11 |
-
display: block;
|
12 |
-
border: 1px solid #e2e2e2;
|
13 |
-
background: #fbfbfb;
|
14 |
-
overflow-x: auto;
|
15 |
-
width: 400px;
|
16 |
-
max-height: 150px;
|
17 |
-
padding: 10px 20px
|
18 |
-
}
|
19 |
-
|
20 |
-
.wbcr-autopost-fb-pages-listbox-error {
|
21 |
-
display: block;
|
22 |
-
border: 1px solid #ffc8c8;
|
23 |
-
background: #f9eeee;
|
24 |
-
color: #927070;
|
25 |
-
overflow-x: auto;
|
26 |
-
width: 400px;
|
27 |
-
max-height: 150px;
|
28 |
-
padding: 10px 20px
|
29 |
-
}
|
30 |
-
}
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/admin.shedule-list.css
DELETED
@@ -1,99 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Стили для страницы запланированных записей
|
3 |
-
* Используется только в панели администратора
|
4 |
-
|
5 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
-
* @copyright Webcraftic 09.02.2018
|
7 |
-
*/
|
8 |
-
.factory-bootstrap-401 {
|
9 |
-
/*.column-post_title {
|
10 |
-
width: 500px;
|
11 |
-
}*/
|
12 |
-
}
|
13 |
-
.factory-bootstrap-401 #the-list td,
|
14 |
-
.factory-bootstrap-401 #the-list th {
|
15 |
-
vertical-align: middle;
|
16 |
-
}
|
17 |
-
.factory-bootstrap-401 .check-column {
|
18 |
-
padding: 10px !important;
|
19 |
-
}
|
20 |
-
.factory-bootstrap-401 .column-status {
|
21 |
-
width: 120px;
|
22 |
-
text-align: center;
|
23 |
-
}
|
24 |
-
.factory-bootstrap-401 .column-group_name {
|
25 |
-
width: 200px;
|
26 |
-
}
|
27 |
-
.factory-bootstrap-401 .wbcr-autoposter-spoiler-wrap {
|
28 |
-
position: relative;
|
29 |
-
height: 80px;
|
30 |
-
overflow: hidden;
|
31 |
-
}
|
32 |
-
.factory-bootstrap-401 .wbcr-autoposter-spoiler-wrap.wbcr-hide {
|
33 |
-
border-bottom: 1px dashed #e2dcdc;
|
34 |
-
background: #f5f5f5;
|
35 |
-
padding: 10px;
|
36 |
-
}
|
37 |
-
.factory-bootstrap-401 .wbcr-autoposter-spoiler-wrap.wbcr-hide:after {
|
38 |
-
content: '';
|
39 |
-
position: absolute;
|
40 |
-
bottom: 0;
|
41 |
-
left: 0;
|
42 |
-
right: 0;
|
43 |
-
height: 30px;
|
44 |
-
box-shadow: inset 0 -15px 30px #f9f9f9;
|
45 |
-
}
|
46 |
-
.factory-bootstrap-401 .wbcr-autoposter-spoiler-wrap.wbcr-show {
|
47 |
-
height: auto;
|
48 |
-
}
|
49 |
-
.factory-bootstrap-401 .wbcr-autoposter-spoiler-wrap.wbcr-show:after {
|
50 |
-
display: none;
|
51 |
-
}
|
52 |
-
.factory-bootstrap-401 .wbcr-autoposter-expand-action {
|
53 |
-
text-decoration: underline;
|
54 |
-
color: #adadad;
|
55 |
-
cursor: pointer;
|
56 |
-
float: right;
|
57 |
-
}
|
58 |
-
.factory-bootstrap-401 .wbcr-autoposter-warning-tr {
|
59 |
-
border-left: 4px solid #ff9800;
|
60 |
-
}
|
61 |
-
.factory-bootstrap-401 .wbcr-autoposter-danger-tr {
|
62 |
-
border-left: 4px solid #ce4c42;
|
63 |
-
}
|
64 |
-
.factory-bootstrap-401 .wbcr-autoposter-default-tr {
|
65 |
-
border-left: 4px solid #dedfe0;
|
66 |
-
}
|
67 |
-
.factory-bootstrap-401 .wbcr-autoposter-error-message {
|
68 |
-
display: none;
|
69 |
-
}
|
70 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status {
|
71 |
-
display: inline-block;
|
72 |
-
padding: 0 10px 2px;
|
73 |
-
border-radius: 5px;
|
74 |
-
color: #fff;
|
75 |
-
}
|
76 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status:active,
|
77 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status:focus {
|
78 |
-
box-shadow: none;
|
79 |
-
outline: none;
|
80 |
-
}
|
81 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status.publish-error {
|
82 |
-
background: #ce4c42;
|
83 |
-
}
|
84 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status.publish-error:hover {
|
85 |
-
background: #c43d33;
|
86 |
-
}
|
87 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status.complete-publish-error {
|
88 |
-
background: #ff9800;
|
89 |
-
}
|
90 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status.complete-publish-error:hover {
|
91 |
-
background: #e68900;
|
92 |
-
}
|
93 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status.complete-publish {
|
94 |
-
background: #8bc34a;
|
95 |
-
}
|
96 |
-
.factory-bootstrap-401 .wbcr-autoposter-publish-status.waiting-publish {
|
97 |
-
background: #dedfe0;
|
98 |
-
color: #afa9a9;
|
99 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/admin.shedule-list.less
DELETED
@@ -1,116 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Стили для страницы запланированных записей
|
3 |
-
* Используется только в панели администратора
|
4 |
-
|
5 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
-
* @copyright Webcraftic 09.02.2018
|
7 |
-
*/
|
8 |
-
|
9 |
-
.factory-bootstrap-000 {
|
10 |
-
#the-list {
|
11 |
-
td, th {
|
12 |
-
vertical-align: middle;
|
13 |
-
|
14 |
-
}
|
15 |
-
}
|
16 |
-
|
17 |
-
/*.column-post_title {
|
18 |
-
width: 500px;
|
19 |
-
}*/
|
20 |
-
.check-column {
|
21 |
-
padding: 10px !important;
|
22 |
-
}
|
23 |
-
.column-status {
|
24 |
-
width: 120px;
|
25 |
-
text-align: center;
|
26 |
-
}
|
27 |
-
.column-group_name {
|
28 |
-
width: 200px;
|
29 |
-
}
|
30 |
-
|
31 |
-
.wbcr-autoposter-spoiler-wrap {
|
32 |
-
position: relative;
|
33 |
-
height: 80px;
|
34 |
-
overflow: hidden;
|
35 |
-
|
36 |
-
&.wbcr-hide {
|
37 |
-
border-bottom: 1px dashed #e2dcdc;
|
38 |
-
background: #f5f5f5;
|
39 |
-
padding: 10px;
|
40 |
-
|
41 |
-
&:after {
|
42 |
-
content: '';
|
43 |
-
position: absolute;
|
44 |
-
bottom: 0;
|
45 |
-
left: 0;
|
46 |
-
right: 0;
|
47 |
-
height: 30px;
|
48 |
-
box-shadow: inset 0 -15px 30px #f9f9f9;
|
49 |
-
|
50 |
-
}
|
51 |
-
}
|
52 |
-
&.wbcr-show {
|
53 |
-
height: auto;
|
54 |
-
&:after {
|
55 |
-
display: none;
|
56 |
-
}
|
57 |
-
}
|
58 |
-
}
|
59 |
-
|
60 |
-
.wbcr-autoposter-expand-action {
|
61 |
-
text-decoration: underline;
|
62 |
-
color: #adadad;
|
63 |
-
cursor: pointer;
|
64 |
-
float: right;
|
65 |
-
}
|
66 |
-
|
67 |
-
.wbcr-autoposter-warning-tr {
|
68 |
-
border-left: 4px solid #ff9800;
|
69 |
-
}
|
70 |
-
.wbcr-autoposter-danger-tr {
|
71 |
-
border-left: 4px solid #ce4c42;
|
72 |
-
}
|
73 |
-
.wbcr-autoposter-default-tr {
|
74 |
-
border-left: 4px solid #dedfe0;
|
75 |
-
}
|
76 |
-
|
77 |
-
.wbcr-autoposter-error-message {
|
78 |
-
display: none;
|
79 |
-
}
|
80 |
-
|
81 |
-
.wbcr-autoposter-publish-status {
|
82 |
-
display: inline-block;
|
83 |
-
//margin-top: 10px;
|
84 |
-
padding: 0 10px 2px;
|
85 |
-
border-radius: 5px;
|
86 |
-
color: #fff;
|
87 |
-
|
88 |
-
&:active, &:focus {
|
89 |
-
box-shadow: none;
|
90 |
-
outline: none;
|
91 |
-
}
|
92 |
-
|
93 |
-
&.publish-error {
|
94 |
-
background: #ce4c42;
|
95 |
-
&:hover {
|
96 |
-
background: darken(#ce4c42, 5%);
|
97 |
-
}
|
98 |
-
}
|
99 |
-
&.complete-publish-error {
|
100 |
-
background: #ff9800;
|
101 |
-
&:hover {
|
102 |
-
background: darken(#ff9800, 5%);
|
103 |
-
}
|
104 |
-
}
|
105 |
-
&.complete-publish {
|
106 |
-
background: #8bc34a;
|
107 |
-
}
|
108 |
-
&.waiting-publish {
|
109 |
-
background: #dedfe0;
|
110 |
-
color: #afa9a9;
|
111 |
-
}
|
112 |
-
}
|
113 |
-
}
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/feed.css
DELETED
@@ -1,76 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Feed styles
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 10.11.2017
|
5 |
-
*/
|
6 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item {
|
7 |
-
display: block;
|
8 |
-
position: relative;
|
9 |
-
width: 500px;
|
10 |
-
background: #fff;
|
11 |
-
margin-bottom: 30px;
|
12 |
-
}
|
13 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-meta {
|
14 |
-
padding: 10px 20px;
|
15 |
-
}
|
16 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-meta:after {
|
17 |
-
display: block;
|
18 |
-
content: '';
|
19 |
-
clear: both;
|
20 |
-
}
|
21 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-meta .fa,
|
22 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-meta .wbcr-scrapes-emotions-count {
|
23 |
-
font-size: 18px;
|
24 |
-
color: #4CAF50;
|
25 |
-
}
|
26 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-meta .wbcr-scrapes-emotions-count {
|
27 |
-
font-size: 14px;
|
28 |
-
}
|
29 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-meta .wbcr-scrapes-remove-feed-item {
|
30 |
-
float: right;
|
31 |
-
color: #e25d5d;
|
32 |
-
font-weight: bold;
|
33 |
-
}
|
34 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-preview {
|
35 |
-
padding: 0;
|
36 |
-
margin: 0;
|
37 |
-
}
|
38 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-title {
|
39 |
-
border-bottom: 2px solid #eaeaea;
|
40 |
-
margin: 0;
|
41 |
-
padding: 10px 20px;
|
42 |
-
font-size: 16px;
|
43 |
-
}
|
44 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-title,
|
45 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-title a {
|
46 |
-
color: #222;
|
47 |
-
line-height: 1.5;
|
48 |
-
text-decoration: none;
|
49 |
-
}
|
50 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-title,
|
51 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-description {
|
52 |
-
padding: 5px 20px;
|
53 |
-
}
|
54 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-description {
|
55 |
-
padding: 10px 20px;
|
56 |
-
}
|
57 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-more-buttons {
|
58 |
-
padding: 10px 20px;
|
59 |
-
text-align: right;
|
60 |
-
background: #4267b2;
|
61 |
-
}
|
62 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-more-buttons a {
|
63 |
-
display: inline-block;
|
64 |
-
color: #fff;
|
65 |
-
}
|
66 |
-
#WBCR .factory-bootstrap-401 .wbcr-scrapes-feed .wbcr-scrapes-feed-item .wbcr-scrapes-post-already-added {
|
67 |
-
position: absolute;
|
68 |
-
top: 65px;
|
69 |
-
right: 0;
|
70 |
-
padding: 5px 20px;
|
71 |
-
background: #ff846b;
|
72 |
-
font-size: 12px;
|
73 |
-
color: #ffffff;
|
74 |
-
font-weight: bold;
|
75 |
-
text-transform: uppercase;
|
76 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/feed.less
DELETED
@@ -1,90 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Feed styles
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 10.11.2017
|
5 |
-
*/
|
6 |
-
|
7 |
-
#WBCR {
|
8 |
-
.factory-bootstrap-000 {
|
9 |
-
.wbcr-scrapes-feed {
|
10 |
-
|
11 |
-
.wbcr-scrapes-feed-item {
|
12 |
-
display: block;
|
13 |
-
position: relative;
|
14 |
-
width: 500px;
|
15 |
-
background: #fff;
|
16 |
-
margin-bottom: 30px;
|
17 |
-
|
18 |
-
.wbcr-scrapes-meta {
|
19 |
-
padding: 10px 20px;
|
20 |
-
&:after {
|
21 |
-
display: block;
|
22 |
-
content: '';
|
23 |
-
clear: both;
|
24 |
-
}
|
25 |
-
|
26 |
-
.fa, .wbcr-scrapes-emotions-count {
|
27 |
-
font-size: 18px;
|
28 |
-
color: #4CAF50;
|
29 |
-
}
|
30 |
-
.wbcr-scrapes-emotions-count {
|
31 |
-
font-size: 14px;
|
32 |
-
}
|
33 |
-
|
34 |
-
.wbcr-scrapes-remove-feed-item {
|
35 |
-
float: right;
|
36 |
-
color: #e25d5d;
|
37 |
-
font-weight: bold;
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
.wbcr-scrapes-preview {
|
42 |
-
padding: 0;
|
43 |
-
margin: 0;
|
44 |
-
}
|
45 |
-
|
46 |
-
.wbcr-scrapes-title {
|
47 |
-
border-bottom: 2px solid #eaeaea;
|
48 |
-
margin: 0;
|
49 |
-
padding: 10px 20px;
|
50 |
-
font-size: 16px;
|
51 |
-
&, a {
|
52 |
-
color: #222;
|
53 |
-
line-height: 1.5;
|
54 |
-
text-decoration: none;
|
55 |
-
}
|
56 |
-
}
|
57 |
-
|
58 |
-
.wbcr-scrapes-title, .wbcr-scrapes-description {
|
59 |
-
padding: 5px 20px;
|
60 |
-
}
|
61 |
-
.wbcr-scrapes-description {
|
62 |
-
padding: 10px 20px;
|
63 |
-
}
|
64 |
-
|
65 |
-
.wbcr-scrapes-more-buttons {
|
66 |
-
padding: 10px 20px;
|
67 |
-
text-align: right;
|
68 |
-
background: #4267b2;
|
69 |
-
|
70 |
-
a {
|
71 |
-
display: inline-block;
|
72 |
-
color: #fff;
|
73 |
-
}
|
74 |
-
}
|
75 |
-
|
76 |
-
.wbcr-scrapes-post-already-added {
|
77 |
-
position: absolute;
|
78 |
-
top: 65px;
|
79 |
-
right: 0;
|
80 |
-
padding: 5px 20px;
|
81 |
-
background: #ff846b;
|
82 |
-
font-size: 12px;
|
83 |
-
color: #ffffff;
|
84 |
-
font-weight: bold;
|
85 |
-
text-transform: uppercase;
|
86 |
-
}
|
87 |
-
}
|
88 |
-
}
|
89 |
-
}
|
90 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/general.css
DELETED
@@ -1,72 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* General styles
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 08.11.2017
|
5 |
-
*/
|
6 |
-
.factory-bootstrap-401 #wbcr_scrapes_post_type,
|
7 |
-
.factory-bootstrap-401 #wbcr_scrapes_shedule_hourly_time {
|
8 |
-
width: 250px;
|
9 |
-
}
|
10 |
-
.factory-bootstrap-401 #wbcr-scrapes-iframe {
|
11 |
-
z-index: 999999;
|
12 |
-
}
|
13 |
-
.factory-bootstrap-401 #wbcr-scrapes-iframe .modal-dialog,
|
14 |
-
.factory-bootstrap-401 #wbcr-scrapes-iframe .modal-content,
|
15 |
-
.factory-bootstrap-401 #wbcr-scrapes-iframe .modal-body {
|
16 |
-
position: absolute !important;
|
17 |
-
top: 0;
|
18 |
-
right: 0;
|
19 |
-
bottom: 0;
|
20 |
-
left: 0;
|
21 |
-
margin: 0;
|
22 |
-
width: auto !important;
|
23 |
-
height: auto !important;
|
24 |
-
}
|
25 |
-
.factory-bootstrap-401 #wbcr-scrapes-iframe #wbcr-scrapes-iframe-render {
|
26 |
-
overflow: hidden;
|
27 |
-
height: 100%;
|
28 |
-
width: 100%;
|
29 |
-
}
|
30 |
-
.factory-bootstrap-401 .wbcr-scrapes-control-xpath {
|
31 |
-
position: relative;
|
32 |
-
}
|
33 |
-
.factory-bootstrap-401 .wbcr-scrapes-control-xpath button {
|
34 |
-
position: absolute;
|
35 |
-
top: 0;
|
36 |
-
right: 0;
|
37 |
-
bottom: 0;
|
38 |
-
width: 40px;
|
39 |
-
background: #efefef;
|
40 |
-
border-radius: 0 3px 3px 0;
|
41 |
-
}
|
42 |
-
.factory-bootstrap-401 .wbcr-scrapes-control-xpath button:hover,
|
43 |
-
.factory-bootstrap-401 .wbcr-scrapes-control-xpath button:focus {
|
44 |
-
box-shadow: none;
|
45 |
-
outline: none;
|
46 |
-
}
|
47 |
-
.factory-bootstrap-401 .factory-multiple-textbox-group .factory-mtextbox-item:first-child .wbcr-scrapes-control-xpath button {
|
48 |
-
right: 0;
|
49 |
-
}
|
50 |
-
.factory-bootstrap-401 .factory-multiple-textbox-group .factory-mtextbox-item .wbcr-scrapes-control-xpath button {
|
51 |
-
right: 39px;
|
52 |
-
border-radius: 0;
|
53 |
-
}
|
54 |
-
.column-actions {
|
55 |
-
width: 150px;
|
56 |
-
}
|
57 |
-
.column-autoparsing {
|
58 |
-
width: 150px;
|
59 |
-
text-align: center;
|
60 |
-
}
|
61 |
-
.column-autoparsing .wbcr-scrapes-table-circle {
|
62 |
-
display: inline-block;
|
63 |
-
width: 10px;
|
64 |
-
height: 10px;
|
65 |
-
border-radius: 100%;
|
66 |
-
}
|
67 |
-
.column-autoparsing .wbcr-scrapes-table-circle.wbcr-green {
|
68 |
-
background-color: #229922;
|
69 |
-
}
|
70 |
-
.column-autoparsing .wbcr-scrapes-table-circle.wbcr-grey {
|
71 |
-
background-color: #9e9e9e;
|
72 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/general.less
DELETED
@@ -1,88 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* General styles
|
3 |
-
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
4 |
-
* @copyright Alex Kovalev 08.11.2017
|
5 |
-
*/
|
6 |
-
|
7 |
-
.factory-bootstrap-000 {
|
8 |
-
#wbcr_scrapes_post_type, #wbcr_scrapes_shedule_hourly_time {
|
9 |
-
width: 250px;
|
10 |
-
}
|
11 |
-
#wbcr-scrapes-iframe {
|
12 |
-
z-index: 999999;
|
13 |
-
|
14 |
-
.modal-dialog, .modal-content, .modal-body {
|
15 |
-
position: absolute !important;
|
16 |
-
top: 0;
|
17 |
-
right: 0;
|
18 |
-
bottom: 0;
|
19 |
-
left: 0;
|
20 |
-
margin: 0;
|
21 |
-
width: auto !important;
|
22 |
-
height: auto !important;
|
23 |
-
}
|
24 |
-
|
25 |
-
#wbcr-scrapes-iframe-render {
|
26 |
-
overflow: hidden;
|
27 |
-
height: 100%;
|
28 |
-
width: 100%
|
29 |
-
}
|
30 |
-
}
|
31 |
-
|
32 |
-
.wbcr-scrapes-control-xpath {
|
33 |
-
position: relative;
|
34 |
-
button {
|
35 |
-
position: absolute;
|
36 |
-
top: 0;
|
37 |
-
right: 0;
|
38 |
-
bottom: 0;
|
39 |
-
width: 40px;
|
40 |
-
background: #efefef;
|
41 |
-
//border: 0;
|
42 |
-
//box-shadow: none;
|
43 |
-
border-radius: 0 3px 3px 0;
|
44 |
-
&:hover, &:focus {
|
45 |
-
box-shadow: none;
|
46 |
-
outline: none;
|
47 |
-
}
|
48 |
-
}
|
49 |
-
}
|
50 |
-
|
51 |
-
.factory-multiple-textbox-group {
|
52 |
-
.factory-mtextbox-item {
|
53 |
-
&:first-child {
|
54 |
-
.wbcr-scrapes-control-xpath button {
|
55 |
-
right: 0;
|
56 |
-
}
|
57 |
-
}
|
58 |
-
.wbcr-scrapes-control-xpath button {
|
59 |
-
right: 39px;
|
60 |
-
border-radius: 0;
|
61 |
-
}
|
62 |
-
}
|
63 |
-
|
64 |
-
}
|
65 |
-
|
66 |
-
}
|
67 |
-
|
68 |
-
.column-actions {
|
69 |
-
width: 150px;
|
70 |
-
}
|
71 |
-
|
72 |
-
.column-autoparsing {
|
73 |
-
width: 150px;
|
74 |
-
text-align: center;
|
75 |
-
.wbcr-scrapes-table-circle {
|
76 |
-
display: inline-block;
|
77 |
-
width: 10px;
|
78 |
-
height: 10px;
|
79 |
-
border-radius: 100%;
|
80 |
-
|
81 |
-
&.wbcr-green {
|
82 |
-
background-color: #229922;
|
83 |
-
}
|
84 |
-
&.wbcr-grey {
|
85 |
-
background-color: #9e9e9e;
|
86 |
-
}
|
87 |
-
}
|
88 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/css/iframe.css
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
.wbcr-scrapes-inspector {
|
2 |
-
cursor: crosshair !important;
|
3 |
-
box-shadow: inset 0 0 0 1000px rgba(245, 24, 41, 0.50) !important;
|
4 |
-
outline: 1px solid red !important;
|
5 |
-
}
|
6 |
-
|
7 |
-
.wbcr-scrapes-picked-title-section {
|
8 |
-
box-shadow: inset 0 0 0 1000px rgba(255, 182, 53, 0.50) !important;
|
9 |
-
outline: 1px solid orange !important;
|
10 |
-
}
|
11 |
-
|
12 |
-
.wbcr-scrapes-picked-content-section {
|
13 |
-
box-shadow: inset 0 0 0 1000px rgba(255, 140, 113, 0.50) !important;
|
14 |
-
outline: 1px solid #ff846b !important;
|
15 |
-
}
|
16 |
-
|
17 |
-
.wbcr-scrapes-picked-title-section .wbcr-scrapes-picked-filter-section,
|
18 |
-
.wbcr-scrapes-picked-content-section .wbcr-scrapes-picked-filter-section {
|
19 |
-
box-shadow: inset 0 0 0 1000px rgba(168, 238, 105, 0.50) !important;
|
20 |
-
outline: 1px solid green !important;
|
21 |
-
}
|
22 |
-
|
23 |
-
/*# sourceMappingURL=iframe.css.map */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/admin.shedule-list.js
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Скрипты для страницы запланированных записей
|
3 |
-
* Используется только в панели администратора
|
4 |
-
*
|
5 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
-
* @copyright (c) 17.02.2018, Webcraftic
|
7 |
-
* @version 1.0
|
8 |
-
*/
|
9 |
-
|
10 |
-
|
11 |
-
(function($) {
|
12 |
-
'use strict';
|
13 |
-
|
14 |
-
$(document).ready(function() {
|
15 |
-
$('.wbcr-autoposter-publish-status.publish-error, .wbcr-autoposter-publish-status.complete-publish-error').click(function() {
|
16 |
-
var error_message = $(this).closest('.wbcr-autoposter-error-contanier').find('.wbcr-autoposter-error-message').text();
|
17 |
-
alert(error_message);
|
18 |
-
return false;
|
19 |
-
});
|
20 |
-
|
21 |
-
$(document).on('click', '.wbcr-autoposter-expand-action', function() {
|
22 |
-
var spoilerWrap = $(this).prev();
|
23 |
-
|
24 |
-
if( spoilerWrap.hasClass('wbcr-hide') ) {
|
25 |
-
spoilerWrap.addClass('wbcr-show');
|
26 |
-
spoilerWrap.removeClass('wbcr-hide');
|
27 |
-
$(this).text('-Свернуть');
|
28 |
-
} else if( spoilerWrap.hasClass('wbcr-show') ) {
|
29 |
-
spoilerWrap.addClass('wbcr-hide');
|
30 |
-
spoilerWrap.removeClass('wbcr-show');
|
31 |
-
$(this).text('+Весь список');
|
32 |
-
}
|
33 |
-
|
34 |
-
return false;
|
35 |
-
});
|
36 |
-
|
37 |
-
$('.wbcr-autoposter-spoiler').each(function() {
|
38 |
-
var spoiler = $(this);
|
39 |
-
var spoilerWrap = spoiler.parent();
|
40 |
-
var height = spoiler.outerHeight(true);
|
41 |
-
|
42 |
-
if( height > 80 ) {
|
43 |
-
spoilerWrap.addClass('wbcr-hide');
|
44 |
-
spoilerWrap.after('<div class="wbcr-autoposter-expand-action">+Весь список</div>');
|
45 |
-
}
|
46 |
-
});
|
47 |
-
});
|
48 |
-
|
49 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/feed.js
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Feed scripts
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright (c) 10.11.2017, Webcraftic
|
5 |
-
* @version 1.0
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
(function($) {
|
10 |
-
'use strict';
|
11 |
-
|
12 |
-
$(function() {
|
13 |
-
|
14 |
-
$('.wbcr-scrapes-remove-feed-item').click(function() {
|
15 |
-
var self = this;
|
16 |
-
|
17 |
-
var postId = $(this).data('post-id');
|
18 |
-
if( !postId ) {
|
19 |
-
alert('[Error]: post id is empty');
|
20 |
-
return
|
21 |
-
}
|
22 |
-
|
23 |
-
var req = $.ajax({
|
24 |
-
url: ajaxurl,
|
25 |
-
type: 'post',
|
26 |
-
dataType: 'json',
|
27 |
-
data: {
|
28 |
-
action: 'scrapes_ajax_remove_post',
|
29 |
-
post_id: postId
|
30 |
-
},
|
31 |
-
success: function(data, textStatus, jqXHR) {
|
32 |
-
if( !data || data.error ) {
|
33 |
-
data.error && console.log(data.error);
|
34 |
-
return false;
|
35 |
-
}
|
36 |
-
|
37 |
-
self.closest('.wbcr-scrapes-feed-item').remove();
|
38 |
-
}
|
39 |
-
});
|
40 |
-
|
41 |
-
return false;
|
42 |
-
});
|
43 |
-
});
|
44 |
-
|
45 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/general.js
DELETED
@@ -1,358 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* General scripts
|
3 |
-
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
4 |
-
* @copyright (c) 08.11.2017, Webcraftic
|
5 |
-
* @version 1.0
|
6 |
-
*/
|
7 |
-
|
8 |
-
|
9 |
-
(function($) {
|
10 |
-
'use strict';
|
11 |
-
|
12 |
-
var general = {
|
13 |
-
inputCurrent: null,
|
14 |
-
iframe: null,
|
15 |
-
modal: null,
|
16 |
-
errors: {},
|
17 |
-
init: function() {
|
18 |
-
var self = this;
|
19 |
-
|
20 |
-
this.addXpathContanier('#wbcr_scrapes_xpath_post_title_url');
|
21 |
-
this.addXpathContanier('#wbcr_scrapes_post_title');
|
22 |
-
this.addXpathContanier('#wbcr_scrapes_post_content');
|
23 |
-
this.addXpathContanier('.wbcr-scrapes-html-filters');
|
24 |
-
|
25 |
-
this.registerEvents();
|
26 |
-
},
|
27 |
-
|
28 |
-
addXpathContanier: function(selector) {
|
29 |
-
var xpathFields;
|
30 |
-
if( typeof selector === 'string' ) {
|
31 |
-
xpathFields = $(selector);
|
32 |
-
} else if( typeof selector === 'object' ) {
|
33 |
-
xpathFields = selector;
|
34 |
-
} else {
|
35 |
-
throw new Error('Unknow type of selector');
|
36 |
-
return;
|
37 |
-
}
|
38 |
-
|
39 |
-
var xpathContanier = $('<div class="wbcr-scrapes-control-xpath"></div>');
|
40 |
-
xpathFields.wrap(xpathContanier);
|
41 |
-
xpathFields.after('<button class="btn btn-default btn-small wbcr-scrapes-xpath-target-button"><i class="fa fa-bullseye" aria-hidden="true"></i></button>');
|
42 |
-
|
43 |
-
},
|
44 |
-
|
45 |
-
registerEvents: function() {
|
46 |
-
var self = this;
|
47 |
-
|
48 |
-
$('.factory-mtextbox-add-item', '.factory-control-html_filters').on('click', function(e) {
|
49 |
-
e.preventDefault();
|
50 |
-
self.addXpathContanier('.factory-mtextbox-item:last-child > .wbcr-scrapes-html-filters');
|
51 |
-
return false;
|
52 |
-
});
|
53 |
-
|
54 |
-
$(document).on('click', '.wbcr-scrapes-xpath-target-button', function(e) {
|
55 |
-
var $this = $(this);
|
56 |
-
|
57 |
-
self.inputCurrent = $this.parent().find('.factory-from-control-textbox, .factory-from-control-multiple-textbox');
|
58 |
-
|
59 |
-
if( !self.modal ) {
|
60 |
-
self.modal = $('body').append('<div class="factory-bootstrap-401"><div id="wbcr-scrapes-iframe" class="modal fade">' +
|
61 |
-
'<div class="modal-dialog">' +
|
62 |
-
'<div class="modal-content">' +
|
63 |
-
'<div class="modal-body">' +
|
64 |
-
'<iframe id="wbcr-scrapes-iframe-render" frameborder="0"></iframe>' +
|
65 |
-
'</div>' +
|
66 |
-
'</div>' +
|
67 |
-
'</div>' +
|
68 |
-
'</div></div>');
|
69 |
-
|
70 |
-
self.iframe = self.modal.find('#wbcr-scrapes-iframe-render');
|
71 |
-
}
|
72 |
-
var pageUrl;
|
73 |
-
var sourceChannel;
|
74 |
-
|
75 |
-
if( window.wbcrScrapesSourceChannel !== undefined || window.wbcrScrapesSourceChannel != '' ) {
|
76 |
-
sourceChannel = window.wbcrScrapesSourceChannel;
|
77 |
-
}
|
78 |
-
|
79 |
-
sourceChannel = sourceChannel ? sourceChannel : $('#wbcr_scrapes_source_channel').val();
|
80 |
-
|
81 |
-
var isPostTitleUrlControl = $(e.target).closest('.wbcr-scrapes-control-xpath').find('.factory-textbox').attr('id') == 'wbcr_scrapes_xpath_post_title_url';
|
82 |
-
|
83 |
-
if( isPostTitleUrlControl && sourceChannel == 'site_stream' ) {
|
84 |
-
pageUrl = $('#wbcr_scrapes_paginate_url').val();
|
85 |
-
if( !pageUrl ) {
|
86 |
-
alert('Пожалуйста, установите ссылку пагинации, чтобы открыть страницу для разметки шаблона.');
|
87 |
-
|
88 |
-
return false;
|
89 |
-
}
|
90 |
-
} else {
|
91 |
-
if( sourceChannel == 'default' ) {
|
92 |
-
var collectedLinks = $('#wbcr_scrapes_collected_links').val().split(/\r?\n/);
|
93 |
-
if( collectedLinks[0] ) {
|
94 |
-
pageUrl = collectedLinks[0];
|
95 |
-
}
|
96 |
-
} else {
|
97 |
-
pageUrl = $('#wbcr_scrapes_site_url').val();
|
98 |
-
}
|
99 |
-
|
100 |
-
if( !pageUrl ) {
|
101 |
-
alert('Пожалуйста, выберите адрес сайта для разметки шаблона.');
|
102 |
-
return false;
|
103 |
-
}
|
104 |
-
}
|
105 |
-
|
106 |
-
if( self.inputCurrent.hasClass('wbcr-scrapes-html-filters') && $('#wbcr_scrapes_post_content').val() == '' ) {
|
107 |
-
alert('Пожалуйста, установите шаблон для извлечения содержания записи.');
|
108 |
-
return false;
|
109 |
-
}
|
110 |
-
|
111 |
-
var iframeUrl = ajaxurl + '?action=scrapes_ajax_url_load&address=' + encodeURIComponent(pageUrl);
|
112 |
-
|
113 |
-
if( self.iframe.attr('src') != iframeUrl ) {
|
114 |
-
self.iframe.attr('src', iframeUrl);
|
115 |
-
}
|
116 |
-
|
117 |
-
self.setColorsForChangeSections();
|
118 |
-
|
119 |
-
$('#wbcr-scrapes-iframe').factoryBootstrap401_modal();
|
120 |
-
|
121 |
-
self.iframe.on('load', function() {
|
122 |
-
var iframeCurrent = $(this);
|
123 |
-
|
124 |
-
$(this).contents().find('head').append(
|
125 |
-
$('<link/>', {
|
126 |
-
rel: 'stylesheet',
|
127 |
-
type: 'text/css',
|
128 |
-
href: wbcrScrapesPluginPath + '/assets/css/iframe.css',
|
129 |
-
id: 'wbcr-scrapes-inspector'
|
130 |
-
})
|
131 |
-
);
|
132 |
-
|
133 |
-
self.setColorsForChangeSections();
|
134 |
-
|
135 |
-
$(this).contents()
|
136 |
-
.on('mouseover', function(event) {
|
137 |
-
if( self.inputCurrent.hasClass('wbcr-scrapes-html-filters') && !$(event.target).closest('.wbcr-scrapes-picked-content-section, .wbcr-scrapes-picked-title-section').length ) {
|
138 |
-
return;
|
139 |
-
}
|
140 |
-
|
141 |
-
$(event.target).addClass('wbcr-scrapes-inspector');
|
142 |
-
})
|
143 |
-
.on('mouseout', function(event) {
|
144 |
-
if( self.inputCurrent.hasClass('wbcr-scrapes-html-filters') && !$(event.target).closest('.wbcr-scrapes-picked-content-section, .wbcr-scrapes-picked-title-section').length ) {
|
145 |
-
return;
|
146 |
-
}
|
147 |
-
|
148 |
-
$(event.target).removeClass('wbcr-scrapes-inspector');
|
149 |
-
})
|
150 |
-
.on('click', function(event) {
|
151 |
-
event.preventDefault();
|
152 |
-
|
153 |
-
var xpath = self.getXpath(event.target);
|
154 |
-
|
155 |
-
if( self.inputCurrent.hasClass('wbcr-scrapes-html-filters') ) {
|
156 |
-
if( !$(event.target).closest('.wbcr-scrapes-picked-content-section, .wbcr-scrapes-picked-title-section').length ) {
|
157 |
-
$('#wbcr-scrapes-iframe').factoryBootstrap401_modal('hide');
|
158 |
-
return;
|
159 |
-
}
|
160 |
-
}
|
161 |
-
|
162 |
-
// SITE STREAM CHANNEL
|
163 |
-
if( isPostTitleUrlControl && sourceChannel == 'site_stream' ) {
|
164 |
-
var siteUrl, countPosts;
|
165 |
-
|
166 |
-
if( $(event.target).find('a').length ) {
|
167 |
-
siteUrl = $(event.target).find('a').attr('href');
|
168 |
-
} else {
|
169 |
-
var nest = 0, isFindATag,
|
170 |
-
elTarget = $(event.target);
|
171 |
-
|
172 |
-
while( nest <= 5 && !siteUrl ) {
|
173 |
-
isFindATag = elTarget.prop("tagName") == 'A';
|
174 |
-
if( isFindATag ) {
|
175 |
-
siteUrl = elTarget.attr('href');
|
176 |
-
} else {
|
177 |
-
elTarget = elTarget.parent();
|
178 |
-
}
|
179 |
-
nest++;
|
180 |
-
}
|
181 |
-
}
|
182 |
-
|
183 |
-
//console.log(siteUrl);
|
184 |
-
|
185 |
-
$('#wbcr_scrapes_site_url').val(siteUrl);
|
186 |
-
|
187 |
-
if( self.iframe && self.iframe.contents() ) {
|
188 |
-
var xPathPostsUrl = xpath.replace(/\[\d+\]/g, '');
|
189 |
-
countPosts = self.convertXpathToJquery(self.iframe, xPathPostsUrl).length;
|
190 |
-
}
|
191 |
-
|
192 |
-
if( !countPosts || countPosts < 2 ) {
|
193 |
-
countPosts = 10;
|
194 |
-
}
|
195 |
-
|
196 |
-
$('#wbcr_scrapes_post_per_page').val(countPosts);
|
197 |
-
}
|
198 |
-
|
199 |
-
if( iframeCurrent.attr('id') == self.iframe.attr('id') ) {
|
200 |
-
self.inputCurrent.val(xpath);
|
201 |
-
$('#wbcr-scrapes-iframe').factoryBootstrap401_modal('hide');
|
202 |
-
|
203 |
-
}
|
204 |
-
});
|
205 |
-
return false;
|
206 |
-
});
|
207 |
-
|
208 |
-
return false;
|
209 |
-
});
|
210 |
-
|
211 |
-
},
|
212 |
-
|
213 |
-
setColorsForChangeSections: function() {
|
214 |
-
var self = this;
|
215 |
-
if( self.iframe && self.iframe.contents() ) {
|
216 |
-
var postTitleValue = $('#wbcr_scrapes_post_title').val(),
|
217 |
-
postContentValue = $('#wbcr_scrapes_post_content').val();
|
218 |
-
|
219 |
-
self.iframe.contents()
|
220 |
-
.find('.wbcr-scrapes-picked-title-section, .wbcr-scrapes-picked-content-section, .wbcr-scrapes-picked-filter-section')
|
221 |
-
.removeClass('wbcr-scrapes-picked-title-section')
|
222 |
-
.removeClass('wbcr-scrapes-picked-content-section')
|
223 |
-
.removeClass('wbcr-scrapes-picked-filter-section');
|
224 |
-
|
225 |
-
if( postTitleValue ) {
|
226 |
-
self.convertXpathToJquery(self.iframe, postTitleValue).addClass('wbcr-scrapes-picked-title-section');
|
227 |
-
}
|
228 |
-
if( postContentValue ) {
|
229 |
-
self.convertXpathToJquery(self.iframe, postContentValue).addClass('wbcr-scrapes-picked-content-section');
|
230 |
-
}
|
231 |
-
|
232 |
-
$('.wbcr-scrapes-html-filters').each(function() {
|
233 |
-
var value = $(this).val().split('{|}');
|
234 |
-
|
235 |
-
if( value[0] ) {
|
236 |
-
self.convertXpathToJquery(self.iframe, value[0]).addClass('wbcr-scrapes-picked-filter-section');
|
237 |
-
}
|
238 |
-
});
|
239 |
-
}
|
240 |
-
},
|
241 |
-
|
242 |
-
checkElement: function(type, element) {
|
243 |
-
if( element.is(type) ) {
|
244 |
-
return true;
|
245 |
-
} else {
|
246 |
-
if( element.find(type + ':first').is(type) ) {
|
247 |
-
return element.find(type + ':first').get(0);
|
248 |
-
} else {
|
249 |
-
if( element.parents().find(type + ':last').is(type) ) {
|
250 |
-
return element.parents().find(type + ':last').get(0);
|
251 |
-
} else {
|
252 |
-
return false;
|
253 |
-
}
|
254 |
-
}
|
255 |
-
}
|
256 |
-
},
|
257 |
-
getXpath: function(element) {
|
258 |
-
var self = this;
|
259 |
-
|
260 |
-
var result = [];
|
261 |
-
var parent_index = 0;
|
262 |
-
|
263 |
-
$($(element).parents().addBack().get().reverse()).each(function() {
|
264 |
-
var name_tag = this.nodeName.toLowerCase();
|
265 |
-
var name_node = name_tag;
|
266 |
-
var non_digits, $elements, xpathForClasses, non_digits_parts;
|
267 |
-
|
268 |
-
if( name_node == 'body' ) {
|
269 |
-
return false;
|
270 |
-
}
|
271 |
-
|
272 |
-
if( $(this).hasClass('wbcr-scrapes-inspector') ) {
|
273 |
-
$(this).removeClass('wbcr-scrapes-inspector');
|
274 |
-
}
|
275 |
-
|
276 |
-
if( $(this).attr('id') ) {
|
277 |
-
non_digits = $(this).attr('id').split(/\s+/).filter(function(c) {
|
278 |
-
return !/\d/.test(c);
|
279 |
-
}).join(' ');
|
280 |
-
if( non_digits != "" ) {
|
281 |
-
name_tag += '[@id="' + non_digits + '"]';
|
282 |
-
result.push(name_tag);
|
283 |
-
return false;
|
284 |
-
}
|
285 |
-
}
|
286 |
-
|
287 |
-
if( $(this).siblings(name_node).length > 0 ) {
|
288 |
-
name_tag += "[" + ($(this).prevAll(name_tag).length + 1) + "]";
|
289 |
-
}
|
290 |
-
|
291 |
-
if( $(this).attr('class') ) {
|
292 |
-
non_digits = $(this).attr('class').split(/\s+/).filter(function(c) {
|
293 |
-
return !/(\d|tag\-|category\-|format\-|has\-post\-|status\-|wbcr-scrapes\-)/.test(c);
|
294 |
-
}).join(' ');
|
295 |
-
|
296 |
-
if( non_digits != "" ) {
|
297 |
-
non_digits = non_digits.trim().replace(/\s+/g, ' ');
|
298 |
-
non_digits_parts = non_digits.split(' ');
|
299 |
-
|
300 |
-
xpathForClasses = "[contains(@class, '" + non_digits + "')]";
|
301 |
-
|
302 |
-
if( non_digits_parts.length > 1 ) {
|
303 |
-
xpathForClasses = "[contains(@class, '" + non_digits_parts[0] + "')";
|
304 |
-
for( var i = 1; i < non_digits_parts.length; i++ ) {
|
305 |
-
xpathForClasses += " and contains(@class, '" + non_digits_parts[i] + "')";
|
306 |
-
}
|
307 |
-
xpathForClasses += "]";
|
308 |
-
}
|
309 |
-
name_tag += xpathForClasses;
|
310 |
-
$elements = self.convertXpathToJquery(self.iframe, "//" + name_node + xpathForClasses);
|
311 |
-
|
312 |
-
if( $elements.length == 1 && parent_index == 0 ) {
|
313 |
-
result = [];
|
314 |
-
result.push(name_node + xpathForClasses);
|
315 |
-
return false;
|
316 |
-
}
|
317 |
-
}
|
318 |
-
}
|
319 |
-
parent_index++;
|
320 |
-
result.push(name_tag);
|
321 |
-
});
|
322 |
-
|
323 |
-
if( parent_index == 0 ) {
|
324 |
-
return '//' + result.reverse().join('/');
|
325 |
-
} else {
|
326 |
-
return '//' + result.reverse().join('/') + ' | ' + self.getAbsoluteXpath(element);
|
327 |
-
}
|
328 |
-
|
329 |
-
},
|
330 |
-
getAbsoluteXpath: function(a) {
|
331 |
-
var b = [];
|
332 |
-
$($(a).parents().addBack().get().reverse()).each(function() {
|
333 |
-
var a = this.nodeName.toLowerCase(), c = a;
|
334 |
-
0 < $(this).siblings(c).length && (a += "[" + ($(this).prevAll(a).length + 1) + "]");
|
335 |
-
b.push(a);
|
336 |
-
});
|
337 |
-
return "//" + b.reverse().join("/");
|
338 |
-
},
|
339 |
-
|
340 |
-
convertXpathToJquery: function(container, xpath) {
|
341 |
-
var item;
|
342 |
-
var result = [];
|
343 |
-
var doc = container[0].contentWindow.document;
|
344 |
-
var xpaths = doc.evaluate(xpath, doc, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
|
345 |
-
|
346 |
-
while( item = xpaths.iterateNext() ) {
|
347 |
-
result.push(item);
|
348 |
-
}
|
349 |
-
|
350 |
-
return $([]).pushStack(result);
|
351 |
-
}
|
352 |
-
|
353 |
-
};
|
354 |
-
|
355 |
-
$(function() {
|
356 |
-
general.init();
|
357 |
-
});
|
358 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/js/jquery.base64.js
DELETED
@@ -1,91 +0,0 @@
|
|
1 |
-
// Create Base64 Object
|
2 |
-
var Base64 = {
|
3 |
-
_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
|
4 |
-
encode: function(e) {
|
5 |
-
var t = "";
|
6 |
-
var n, r, i, s, o, u, a;
|
7 |
-
var f = 0;
|
8 |
-
e = Base64._utf8_encode(e);
|
9 |
-
while( f < e.length ) {
|
10 |
-
n = e.charCodeAt(f++);
|
11 |
-
r = e.charCodeAt(f++);
|
12 |
-
i = e.charCodeAt(f++);
|
13 |
-
s = n >> 2;
|
14 |
-
o = (n & 3) << 4 | r >> 4;
|
15 |
-
u = (r & 15) << 2 | i >> 6;
|
16 |
-
a = i & 63;
|
17 |
-
if( isNaN(r) ) {
|
18 |
-
u = a = 64
|
19 |
-
} else if( isNaN(i) ) {
|
20 |
-
a = 64
|
21 |
-
}
|
22 |
-
t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a)
|
23 |
-
}
|
24 |
-
return t
|
25 |
-
},
|
26 |
-
decode: function(e) {
|
27 |
-
var t = "";
|
28 |
-
var n, r, i;
|
29 |
-
var s, o, u, a;
|
30 |
-
var f = 0;
|
31 |
-
e = e.replace(/[^A-Za-z0-9+/=]/g, "");
|
32 |
-
while( f < e.length ) {
|
33 |
-
s = this._keyStr.indexOf(e.charAt(f++));
|
34 |
-
o = this._keyStr.indexOf(e.charAt(f++));
|
35 |
-
u = this._keyStr.indexOf(e.charAt(f++));
|
36 |
-
a = this._keyStr.indexOf(e.charAt(f++));
|
37 |
-
n = s << 2 | o >> 4;
|
38 |
-
r = (o & 15) << 4 | u >> 2;
|
39 |
-
i = (u & 3) << 6 | a;
|
40 |
-
t = t + String.fromCharCode(n);
|
41 |
-
if( u != 64 ) {
|
42 |
-
t = t + String.fromCharCode(r)
|
43 |
-
}
|
44 |
-
if( a != 64 ) {
|
45 |
-
t = t + String.fromCharCode(i)
|
46 |
-
}
|
47 |
-
}
|
48 |
-
t = Base64._utf8_decode(t);
|
49 |
-
return t
|
50 |
-
},
|
51 |
-
_utf8_encode: function(e) {
|
52 |
-
e = e.replace(/rn/g, "n");
|
53 |
-
var t = "";
|
54 |
-
for( var n = 0; n < e.length; n++ ) {
|
55 |
-
var r = e.charCodeAt(n);
|
56 |
-
if( r < 128 ) {
|
57 |
-
t += String.fromCharCode(r)
|
58 |
-
} else if( r > 127 && r < 2048 ) {
|
59 |
-
t += String.fromCharCode(r >> 6 | 192);
|
60 |
-
t += String.fromCharCode(r & 63 | 128)
|
61 |
-
} else {
|
62 |
-
t += String.fromCharCode(r >> 12 | 224);
|
63 |
-
t += String.fromCharCode(r >> 6 & 63 | 128);
|
64 |
-
t += String.fromCharCode(r & 63 | 128)
|
65 |
-
}
|
66 |
-
}
|
67 |
-
return t
|
68 |
-
},
|
69 |
-
_utf8_decode: function(e) {
|
70 |
-
var t = "";
|
71 |
-
var n = 0;
|
72 |
-
var r = c1 = c2 = 0;
|
73 |
-
while( n < e.length ) {
|
74 |
-
r = e.charCodeAt(n);
|
75 |
-
if( r < 128 ) {
|
76 |
-
t += String.fromCharCode(r);
|
77 |
-
n++
|
78 |
-
} else if( r > 191 && r < 224 ) {
|
79 |
-
c2 = e.charCodeAt(n + 1);
|
80 |
-
t += String.fromCharCode((r & 31) << 6 | c2 & 63);
|
81 |
-
n += 2
|
82 |
-
} else {
|
83 |
-
c2 = e.charCodeAt(n + 1);
|
84 |
-
c3 = e.charCodeAt(n + 2);
|
85 |
-
t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);
|
86 |
-
n += 3
|
87 |
-
}
|
88 |
-
}
|
89 |
-
return t
|
90 |
-
}
|
91 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/class.helpers.php
CHANGED
@@ -20,6 +20,8 @@
|
|
20 |
*/
|
21 |
public static function getMetaOption($post_id, $option_name, $default = null)
|
22 |
{
|
|
|
|
|
23 |
if( !isset(self::$meta_options[$post_id]) || empty(self::$meta_options[$post_id]) ) {
|
24 |
$meta_vals = get_post_meta($post_id, '', true);
|
25 |
|
@@ -43,6 +45,8 @@
|
|
43 |
*/
|
44 |
public static function updateMetaOption($post_id, $option_name, $option_value)
|
45 |
{
|
|
|
|
|
46 |
return update_post_meta($post_id, WINP_Plugin::app()->getPrefix() . $option_name, $option_value);
|
47 |
}
|
48 |
|
@@ -55,6 +59,8 @@
|
|
55 |
*/
|
56 |
public static function removeMetaOption($post_id, $option_name)
|
57 |
{
|
|
|
|
|
58 |
return delete_post_meta($post_id, WINP_Plugin::app()->getPrefix() . $option_name);
|
59 |
}
|
60 |
}
|
20 |
*/
|
21 |
public static function getMetaOption($post_id, $option_name, $default = null)
|
22 |
{
|
23 |
+
$post_id = (int)$post_id;
|
24 |
+
|
25 |
if( !isset(self::$meta_options[$post_id]) || empty(self::$meta_options[$post_id]) ) {
|
26 |
$meta_vals = get_post_meta($post_id, '', true);
|
27 |
|
45 |
*/
|
46 |
public static function updateMetaOption($post_id, $option_name, $option_value)
|
47 |
{
|
48 |
+
$post_id = (int)$post_id;
|
49 |
+
|
50 |
return update_post_meta($post_id, WINP_Plugin::app()->getPrefix() . $option_name, $option_value);
|
51 |
}
|
52 |
|
59 |
*/
|
60 |
public static function removeMetaOption($post_id, $option_name)
|
61 |
{
|
62 |
+
$post_id = (int)$post_id;
|
63 |
+
|
64 |
return delete_post_meta($post_id, WINP_Plugin::app()->getPrefix() . $option_name);
|
65 |
}
|
66 |
}
|
includes/class.plugin.php
CHANGED
@@ -13,10 +13,10 @@
|
|
13 |
|
14 |
if( !class_exists('WINP_Plugin') ) {
|
15 |
|
16 |
-
class WINP_Plugin extends
|
17 |
|
18 |
/**
|
19 |
-
* @var
|
20 |
*/
|
21 |
private static $app;
|
22 |
|
@@ -42,7 +42,7 @@
|
|
42 |
}
|
43 |
|
44 |
/**
|
45 |
-
* @return
|
46 |
*/
|
47 |
public static function app()
|
48 |
{
|
@@ -67,31 +67,37 @@
|
|
67 |
{
|
68 |
|
69 |
$this->load(array(
|
70 |
-
array('libs/factory/bootstrap', '
|
71 |
-
array('libs/factory/forms', '
|
72 |
-
array('libs/factory/pages', '
|
73 |
-
array('libs/factory/types', '
|
74 |
-
array('libs/factory/
|
75 |
-
array('libs/factory/
|
76 |
-
array('libs/factory/
|
77 |
-
array('libs/factory/
|
|
|
|
|
78 |
));
|
79 |
}
|
80 |
|
81 |
private function registerPages()
|
82 |
{
|
|
|
83 |
$this->registerPage('WINP_SettingsPage', WINP_PLUGIN_DIR . '/admin/pages/settings.php');
|
84 |
}
|
85 |
|
86 |
private function registerTypes()
|
87 |
{
|
88 |
$this->registerType('WSC_TasksItemType', WINP_PLUGIN_DIR . '/admin/types/snippets-post-types.php');
|
|
|
|
|
|
|
89 |
}
|
90 |
|
91 |
private function registerShortcodes()
|
92 |
{
|
93 |
require_once(WINP_PLUGIN_DIR . '/includes/shortcodes.php');
|
94 |
-
|
95 |
}
|
96 |
|
97 |
private function adminScripts()
|
@@ -183,5 +189,35 @@
|
|
183 |
|
184 |
return $result;
|
185 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
}
|
187 |
}
|
13 |
|
14 |
if( !class_exists('WINP_Plugin') ) {
|
15 |
|
16 |
+
class WINP_Plugin extends Wbcr_Factory404_Plugin {
|
17 |
|
18 |
/**
|
19 |
+
* @var Wbcr_Factory404_Plugin
|
20 |
*/
|
21 |
private static $app;
|
22 |
|
42 |
}
|
43 |
|
44 |
/**
|
45 |
+
* @return WINP_Plugin
|
46 |
*/
|
47 |
public static function app()
|
48 |
{
|
67 |
{
|
68 |
|
69 |
$this->load(array(
|
70 |
+
array('libs/factory/bootstrap', 'factory_bootstrap_404', 'admin'),
|
71 |
+
array('libs/factory/forms', 'factory_forms_405', 'admin'),
|
72 |
+
array('libs/factory/pages', 'factory_pages_405', 'admin'),
|
73 |
+
array('libs/factory/types', 'factory_types_404'),
|
74 |
+
array('libs/factory/taxonomies', 'factory_taxonomies_324'),
|
75 |
+
array('libs/factory/metaboxes', 'factory_metaboxes_403', 'admin'),
|
76 |
+
array('libs/factory/viewtables', 'factory_viewtables_403', 'admin'),
|
77 |
+
array('libs/factory/shortcodes', 'factory_shortcodes_324', 'all'),
|
78 |
+
array('libs/factory/notices', 'factory_notices_403', 'admin'),
|
79 |
+
|
80 |
));
|
81 |
}
|
82 |
|
83 |
private function registerPages()
|
84 |
{
|
85 |
+
$this->registerPage('WINP_ExportPage', WINP_PLUGIN_DIR . '/admin/pages/export.php');
|
86 |
$this->registerPage('WINP_SettingsPage', WINP_PLUGIN_DIR . '/admin/pages/settings.php');
|
87 |
}
|
88 |
|
89 |
private function registerTypes()
|
90 |
{
|
91 |
$this->registerType('WSC_TasksItemType', WINP_PLUGIN_DIR . '/admin/types/snippets-post-types.php');
|
92 |
+
|
93 |
+
require_once(WINP_PLUGIN_DIR . '/admin/types/snippets-taxonomy.php');
|
94 |
+
Wbcr_FactoryTaxonomies324::register('WINP_SnippetsTaxonomy', $this);
|
95 |
}
|
96 |
|
97 |
private function registerShortcodes()
|
98 |
{
|
99 |
require_once(WINP_PLUGIN_DIR . '/includes/shortcodes.php');
|
100 |
+
Wbcr_FactoryShortcodes324::register('WINP_SnippetShortcode', $this);
|
101 |
}
|
102 |
|
103 |
private function adminScripts()
|
189 |
|
190 |
return $result;
|
191 |
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Retrieve the first error in a snippet's code
|
195 |
+
*
|
196 |
+
* @param int $snippet_id
|
197 |
+
*
|
198 |
+
* @return array|bool
|
199 |
+
*/
|
200 |
+
public function getSnippetError($snippet_id)
|
201 |
+
{
|
202 |
+
if( !intval($snippet_id) ) {
|
203 |
+
return false;
|
204 |
+
}
|
205 |
+
|
206 |
+
$snippet_code = WINP_Helper::getMetaOption($snippet_id, 'snippet_code');
|
207 |
+
|
208 |
+
$result = $this->executeSnippet($snippet_code, $snippet_id);
|
209 |
+
|
210 |
+
if( false !== $result ) {
|
211 |
+
return false;
|
212 |
+
}
|
213 |
+
|
214 |
+
$error = error_get_last();
|
215 |
+
|
216 |
+
if( is_null($error) ) {
|
217 |
+
return false;
|
218 |
+
}
|
219 |
+
|
220 |
+
return $error;
|
221 |
+
}
|
222 |
}
|
223 |
}
|
includes/shortcodes.php
CHANGED
@@ -5,21 +5,34 @@
|
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
-
class WINP_SnippetShortcode extends
|
9 |
|
10 |
public $shortcode_name = 'wbcr_php_snippet';
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
|
|
15 |
public $assets_in_header = true;
|
16 |
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
|
|
21 |
public function html($attr, $content)
|
22 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
$id = isset($attr['id'])
|
24 |
? (int)$attr['id']
|
25 |
: null;
|
5 |
*
|
6 |
* @since 1.0.0
|
7 |
*/
|
8 |
+
class WINP_SnippetShortcode extends Wbcr_FactoryShortcodes324_Shortcode {
|
9 |
|
10 |
public $shortcode_name = 'wbcr_php_snippet';
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Includes assets
|
14 |
+
* @var bool
|
15 |
+
*/
|
16 |
public $assets_in_header = true;
|
17 |
|
18 |
+
/**
|
19 |
+
* Content render
|
20 |
+
*
|
21 |
+
* @param array $attr
|
22 |
+
* @param string $content
|
23 |
+
*/
|
24 |
public function html($attr, $content)
|
25 |
{
|
26 |
+
if( isset($attr['title']) ) {
|
27 |
+
unset($attr['title']);
|
28 |
+
}
|
29 |
+
|
30 |
+
$attr = array_map('sanitize_title', $attr);
|
31 |
+
|
32 |
+
// Let users pass arbitrary variables, through shortcode attributes.
|
33 |
+
// @since 2.0.5
|
34 |
+
extract($attr, EXTR_SKIP);
|
35 |
+
|
36 |
$id = isset($attr['id'])
|
37 |
? (int)$attr['id']
|
38 |
: null;
|
insert_php.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin URI: https://wordpress.org/plugins/insert-php/
|
5 |
* Description: Run PHP code inserted into WordPress posts and pages. An easy, clean and easy way to add code snippets to your site. You do not need to edit the functions.php file of your theme again!
|
6 |
* Author: Will Bontrager Software, LLC <will@willmaster.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
-
* Version: 2.0.
|
8 |
* Text Domain: insert-php
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: http://www.willmaster.com/contact.php
|
@@ -34,6 +34,9 @@
|
|
34 |
// The type of posts used for snippets types
|
35 |
define('WINP_SNIPPETS_POST_TYPE', 'wbcr-snippets');
|
36 |
|
|
|
|
|
|
|
37 |
|
38 |
|
39 |
global $wp_version;
|
@@ -50,7 +53,7 @@
|
|
50 |
'prefix' => 'wbcr_inp_',
|
51 |
'plugin_name' => 'wbcr_insert_php',
|
52 |
'plugin_title' => __('PHP code snippets (Insert PHP)', 'insert-php'),
|
53 |
-
'plugin_version' => '2.0.
|
54 |
'required_php_version' => '5.2',
|
55 |
'required_wp_version' => '4.2',
|
56 |
'plugin_build' => 'free',
|
4 |
* Plugin URI: https://wordpress.org/plugins/insert-php/
|
5 |
* Description: Run PHP code inserted into WordPress posts and pages. An easy, clean and easy way to add code snippets to your site. You do not need to edit the functions.php file of your theme again!
|
6 |
* Author: Will Bontrager Software, LLC <will@willmaster.com>, Webcraftic <wordpress.webraftic@gmail.com>
|
7 |
+
* Version: 2.0.6
|
8 |
* Text Domain: insert-php
|
9 |
* Domain Path: /languages/
|
10 |
* Author URI: http://www.willmaster.com/contact.php
|
34 |
// The type of posts used for snippets types
|
35 |
define('WINP_SNIPPETS_POST_TYPE', 'wbcr-snippets');
|
36 |
|
37 |
+
// The taxonomy used for snippets types
|
38 |
+
define('WINP_SNIPPETS_TAXONOMY', 'wbcr-snippet-tags');
|
39 |
+
|
40 |
|
41 |
|
42 |
global $wp_version;
|
53 |
'prefix' => 'wbcr_inp_',
|
54 |
'plugin_name' => 'wbcr_insert_php',
|
55 |
'plugin_title' => __('PHP code snippets (Insert PHP)', 'insert-php'),
|
56 |
+
'plugin_version' => '2.0.6',
|
57 |
'required_php_version' => '5.2',
|
58 |
'required_wp_version' => '4.2',
|
59 |
'plugin_build' => 'free',
|
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-404 .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-404 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-404 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-404 .factory-accordion-item{display:none}.factory-bootstrap-404 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-404 .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-404 .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-404 .btn-primary:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:disabled,.factory-bootstrap-404 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-404 .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-404 .pagination>.active>a,.factory-bootstrap-404 .pagination>.active>a:focus,.factory-bootstrap-404 .pagination>.active>a:hover,.factory-bootstrap-404 .pagination>.active>span,.factory-bootstrap-404 .pagination>.active>span:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:disabled,.factory-bootstrap-404 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-404 .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-404 .pagination>.active>a,.factory-bootstrap-404 .pagination>.active>a:focus,.factory-bootstrap-404 .pagination>.active>a:hover,.factory-bootstrap-404 .pagination>.active>span,.factory-bootstrap-404 .pagination>.active>span:focus,.factory-bootstrap-404 .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-401 article,.factory-bootstrap-401 aside,.factory-bootstrap-401 details,.factory-bootstrap-401 figcaption,.factory-bootstrap-401 figure,.factory-bootstrap-401 footer,.factory-bootstrap-401 header,.factory-bootstrap-401 hgroup,.factory-bootstrap-401 main,.factory-bootstrap-401 nav,.factory-bootstrap-401 section,.factory-bootstrap-401 summary{display:block}.factory-bootstrap-401 audio,.factory-bootstrap-401 canvas,.factory-bootstrap-401 video{display:inline-block}.factory-bootstrap-401 audio:not([controls]){display:none;height:0}.factory-bootstrap-401 [hidden],.factory-bootstrap-401 template{display:none}.factory-bootstrap-401 body{margin:0}.factory-bootstrap-401 a{background:0 0}.factory-bootstrap-401 a:focus{outline:thin dotted}.factory-bootstrap-401 a:active,.factory-bootstrap-401 a:hover{outline:0}.factory-bootstrap-401 h1{margin:.67em 0}.factory-bootstrap-401 b,.factory-bootstrap-401 strong{font-weight:700}.factory-bootstrap-401 dfn{font-style:italic}.factory-bootstrap-401 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-401 mark{color:#000;background:#ff0}.factory-bootstrap-401 code,.factory-bootstrap-401 kbd,.factory-bootstrap-401 pre,.factory-bootstrap-401 samp{font-size:1em}.factory-bootstrap-401 pre{white-space:pre-wrap}.factory-bootstrap-401 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-401 sub,.factory-bootstrap-401 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-401 sup{top:-.5em}.factory-bootstrap-401 sub{bottom:-.25em}.factory-bootstrap-401 img{border:0}.factory-bootstrap-401 svg:not(:root){overflow:hidden}.factory-bootstrap-401 figure{margin:0}.factory-bootstrap-401 button,.factory-bootstrap-401 input,.factory-bootstrap-401 select,.factory-bootstrap-401 textarea{margin:0}.factory-bootstrap-401 button,.factory-bootstrap-401 select{text-transform:none}.factory-bootstrap-401 select{padding-right:4px!important}.factory-bootstrap-401 button,.factory-bootstrap-401 input[type=reset],.factory-bootstrap-401 input[type=submit],html .factory-bootstrap-401 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-401 button[disabled],html .factory-bootstrap-401 input[disabled]{cursor:default}.factory-bootstrap-401 input[type=checkbox],.factory-bootstrap-401 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-401 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-401 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-401 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-401 button::-moz-focus-inner,.factory-bootstrap-401 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-401 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-401 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-401 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-401 a,.factory-bootstrap-401 a:visited{text-decoration:underline}.factory-bootstrap-401 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-401 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-401 a[href^="javascript:"]:after,.factory-bootstrap-401 a[href^="#"]:after{content:""}.factory-bootstrap-401 blockquote,.factory-bootstrap-401 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-401 thead{display:table-header-group}.factory-bootstrap-401 img,.factory-bootstrap-401 tr{page-break-inside:avoid}.factory-bootstrap-401 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-401 h2,.factory-bootstrap-401 h3,.factory-bootstrap-401 p{orphans:3;widows:3}.factory-bootstrap-401 h2,.factory-bootstrap-401 h3{page-break-after:avoid}.factory-bootstrap-401 select{background:#fff!important}.factory-bootstrap-401 .navbar{display:none}.factory-bootstrap-401 .table td,.factory-bootstrap-401 .table th{background-color:#fff!important}.factory-bootstrap-401 .btn>.caret,.factory-bootstrap-401 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-401 .label{border:1px solid #000}.factory-bootstrap-401 .table{border-collapse:collapse!important}.factory-bootstrap-401 .table-bordered td,.factory-bootstrap-401 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-401 *,.factory-bootstrap-401 :after,.factory-bootstrap-401 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-401{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-401 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-401 button,.factory-bootstrap-401 input,.factory-bootstrap-401 select,.factory-bootstrap-401 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-401 img{vertical-align:middle}.factory-bootstrap-401 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-401 .img-rounded{border-radius:6px}.factory-bootstrap-401 .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-401 .img-circle{border-radius:50%}.factory-bootstrap-401 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-401 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-401 .h1,.factory-bootstrap-401 .h2,.factory-bootstrap-401 .h3,.factory-bootstrap-401 .h4,.factory-bootstrap-401 .h5,.factory-bootstrap-401 .h6,.factory-bootstrap-401 h1,.factory-bootstrap-401 h2,.factory-bootstrap-401 h3,.factory-bootstrap-401 h4,.factory-bootstrap-401 h5,.factory-bootstrap-401 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-401 .h1 .small,.factory-bootstrap-401 .h1 small,.factory-bootstrap-401 .h2 .small,.factory-bootstrap-401 .h2 small,.factory-bootstrap-401 .h3 .small,.factory-bootstrap-401 .h3 small,.factory-bootstrap-401 .h4 .small,.factory-bootstrap-401 .h4 small,.factory-bootstrap-401 .h5 .small,.factory-bootstrap-401 .h5 small,.factory-bootstrap-401 .h6 .small,.factory-bootstrap-401 .h6 small,.factory-bootstrap-401 h1 .small,.factory-bootstrap-401 h1 small,.factory-bootstrap-401 h2 .small,.factory-bootstrap-401 h2 small,.factory-bootstrap-401 h3 .small,.factory-bootstrap-401 h3 small,.factory-bootstrap-401 h4 .small,.factory-bootstrap-401 h4 small,.factory-bootstrap-401 h5 .small,.factory-bootstrap-401 h5 small,.factory-bootstrap-401 h6 .small,.factory-bootstrap-401 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-401 h1,.factory-bootstrap-401 h2,.factory-bootstrap-401 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-401 h1 .small,.factory-bootstrap-401 h1 small,.factory-bootstrap-401 h2 .small,.factory-bootstrap-401 h2 small,.factory-bootstrap-401 h3 .small,.factory-bootstrap-401 h3 small{font-size:65%}.factory-bootstrap-401 h4,.factory-bootstrap-401 h5,.factory-bootstrap-401 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-401 h4 .small,.factory-bootstrap-401 h4 small,.factory-bootstrap-401 h5 .small,.factory-bootstrap-401 h5 small,.factory-bootstrap-401 h6 .small,.factory-bootstrap-401 h6 small{font-size:75%}.factory-bootstrap-401 .h1,.factory-bootstrap-401 h1{font-size:36px}.factory-bootstrap-401 .h2,.factory-bootstrap-401 h2{font-size:30px}.factory-bootstrap-401 .h3,.factory-bootstrap-401 h3{font-size:24px}.factory-bootstrap-401 .h4,.factory-bootstrap-401 h4{font-size:18px}.factory-bootstrap-401 .h5,.factory-bootstrap-401 h5{font-size:14px}.factory-bootstrap-401 .h6,.factory-bootstrap-401 h6{font-size:12px}.factory-bootstrap-401 p{margin:0 0 10px}.factory-bootstrap-401 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-401 .small,.factory-bootstrap-401 small{font-size:85%}.factory-bootstrap-401 cite{font-style:normal}.factory-bootstrap-401 .text-muted{color:#999}.factory-bootstrap-401 .text-primary{color:#428bca}.factory-bootstrap-401 .text-primary:hover{color:#3071a9}.factory-bootstrap-401 .text-warning{color:#8a6d3b}.factory-bootstrap-401 .text-warning:hover{color:#66512c}.factory-bootstrap-401 .text-danger{color:#a94442}.factory-bootstrap-401 .text-danger:hover{color:#843534}.factory-bootstrap-401 .text-success{color:#3c763d}.factory-bootstrap-401 .text-success:hover{color:#2b542c}.factory-bootstrap-401 .text-info{color:#31708f}.factory-bootstrap-401 .text-info:hover{color:#245269}.factory-bootstrap-401 .text-left{text-align:left}.factory-bootstrap-401 .text-right{text-align:right}.factory-bootstrap-401 .text-center{text-align:center}.factory-bootstrap-401 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-401 ol,.factory-bootstrap-401 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-401 ol ol,.factory-bootstrap-401 ol ul,.factory-bootstrap-401 ul ol,.factory-bootstrap-401 ul ul{margin-bottom:0}.factory-bootstrap-401 .list-inline,.factory-bootstrap-401 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-401 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-401 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-401 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-401 dd,.factory-bootstrap-401 dt{line-height:1.428571429}.factory-bootstrap-401 dt{font-weight:700}.factory-bootstrap-401 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-401 abbr[data-original-title],.factory-bootstrap-401 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-401 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-401 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-401 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-401 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-401 blockquote .small,.factory-bootstrap-401 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-401 blockquote .small:before,.factory-bootstrap-401 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-401 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-401 blockquote.pull-right .small,.factory-bootstrap-401 blockquote.pull-right p,.factory-bootstrap-401 blockquote.pull-right small{text-align:right}.factory-bootstrap-401 blockquote.pull-right .small:before,.factory-bootstrap-401 blockquote.pull-right small:before{content:''}.factory-bootstrap-401 blockquote.pull-right .small:after,.factory-bootstrap-401 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-401 blockquote:after,.factory-bootstrap-401 blockquote:before{content:""}.factory-bootstrap-401 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-401 code,.factory-bootstrap-401 kbd,.factory-bootstrap-401 pre,.factory-bootstrap-401 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-401 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-401 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-401 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-401 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-401 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-401 .container:after,.factory-bootstrap-401 .container:before{display:table;content:" "}.factory-bootstrap-401 .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-401 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-401 .row:after,.factory-bootstrap-401 .row:before{display:table;content:" "}.factory-bootstrap-401 .row:after{clear:both}.factory-bootstrap-401 .col-lg-1,.factory-bootstrap-401 .col-lg-10,.factory-bootstrap-401 .col-lg-11,.factory-bootstrap-401 .col-lg-12,.factory-bootstrap-401 .col-lg-2,.factory-bootstrap-401 .col-lg-3,.factory-bootstrap-401 .col-lg-4,.factory-bootstrap-401 .col-lg-5,.factory-bootstrap-401 .col-lg-6,.factory-bootstrap-401 .col-lg-7,.factory-bootstrap-401 .col-lg-8,.factory-bootstrap-401 .col-lg-9,.factory-bootstrap-401 .col-md-1,.factory-bootstrap-401 .col-md-10,.factory-bootstrap-401 .col-md-11,.factory-bootstrap-401 .col-md-12,.factory-bootstrap-401 .col-md-2,.factory-bootstrap-401 .col-md-3,.factory-bootstrap-401 .col-md-4,.factory-bootstrap-401 .col-md-5,.factory-bootstrap-401 .col-md-6,.factory-bootstrap-401 .col-md-7,.factory-bootstrap-401 .col-md-8,.factory-bootstrap-401 .col-md-9,.factory-bootstrap-401 .col-sm-1,.factory-bootstrap-401 .col-sm-10,.factory-bootstrap-401 .col-sm-11,.factory-bootstrap-401 .col-sm-12,.factory-bootstrap-401 .col-sm-2,.factory-bootstrap-401 .col-sm-3,.factory-bootstrap-401 .col-sm-4,.factory-bootstrap-401 .col-sm-5,.factory-bootstrap-401 .col-sm-6,.factory-bootstrap-401 .col-sm-7,.factory-bootstrap-401 .col-sm-8,.factory-bootstrap-401 .col-sm-9,.factory-bootstrap-401 .col-xs-1,.factory-bootstrap-401 .col-xs-10,.factory-bootstrap-401 .col-xs-11,.factory-bootstrap-401 .col-xs-12,.factory-bootstrap-401 .col-xs-2,.factory-bootstrap-401 .col-xs-3,.factory-bootstrap-401 .col-xs-4,.factory-bootstrap-401 .col-xs-5,.factory-bootstrap-401 .col-xs-6,.factory-bootstrap-401 .col-xs-7,.factory-bootstrap-401 .col-xs-8,.factory-bootstrap-401 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-401 .col-xs-1,.factory-bootstrap-401 .col-xs-10,.factory-bootstrap-401 .col-xs-11,.factory-bootstrap-401 .col-xs-12,.factory-bootstrap-401 .col-xs-2,.factory-bootstrap-401 .col-xs-3,.factory-bootstrap-401 .col-xs-4,.factory-bootstrap-401 .col-xs-5,.factory-bootstrap-401 .col-xs-6,.factory-bootstrap-401 .col-xs-7,.factory-bootstrap-401 .col-xs-8,.factory-bootstrap-401 .col-xs-9{float:left}.factory-bootstrap-401 .col-xs-12{width:100%}.factory-bootstrap-401 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-401 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-401 .col-xs-9{width:75%}.factory-bootstrap-401 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-401 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-401 .col-xs-6{width:50%}.factory-bootstrap-401 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-401 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-401 .col-xs-3{width:25%}.factory-bootstrap-401 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-401 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-401 .col-xs-pull-12{right:100%}.factory-bootstrap-401 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-401 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-401 .col-xs-pull-9{right:75%}.factory-bootstrap-401 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-401 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-401 .col-xs-pull-6{right:50%}.factory-bootstrap-401 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-401 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-401 .col-xs-pull-3{right:25%}.factory-bootstrap-401 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-401 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-401 .col-xs-pull-0{right:0}.factory-bootstrap-401 .col-xs-push-12{left:100%}.factory-bootstrap-401 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-401 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-401 .col-xs-push-9{left:75%}.factory-bootstrap-401 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-401 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-401 .col-xs-push-6{left:50%}.factory-bootstrap-401 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-401 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-401 .col-xs-push-3{left:25%}.factory-bootstrap-401 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-401 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-401 .col-xs-push-0{left:0}.factory-bootstrap-401 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-401 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-401 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-401 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-401 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-401 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-401 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-401 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-401 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-401 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-401 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-401 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-401 .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-401 table{max-width:100%;background-color:transparent}.factory-bootstrap-401 th{text-align:left}.factory-bootstrap-401 .table{width:100%;margin-bottom:20px}.factory-bootstrap-401 .table>tbody>tr>td,.factory-bootstrap-401 .table>tbody>tr>th,.factory-bootstrap-401 .table>tfoot>tr>td,.factory-bootstrap-401 .table>tfoot>tr>th,.factory-bootstrap-401 .table>thead>tr>td,.factory-bootstrap-401 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-401 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-401 .table>caption+thead>tr:first-child>td,.factory-bootstrap-401 .table>caption+thead>tr:first-child>th,.factory-bootstrap-401 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-401 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-401 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-401 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-401 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-401 .table .table{background-color:#fff}.factory-bootstrap-401 .table-condensed>tbody>tr>td,.factory-bootstrap-401 .table-condensed>tbody>tr>th,.factory-bootstrap-401 .table-condensed>tfoot>tr>td,.factory-bootstrap-401 .table-condensed>tfoot>tr>th,.factory-bootstrap-401 .table-condensed>thead>tr>td,.factory-bootstrap-401 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-401 .table-bordered,.factory-bootstrap-401 .table-bordered>tbody>tr>td,.factory-bootstrap-401 .table-bordered>tbody>tr>th,.factory-bootstrap-401 .table-bordered>tfoot>tr>td,.factory-bootstrap-401 .table-bordered>tfoot>tr>th,.factory-bootstrap-401 .table-bordered>thead>tr>td,.factory-bootstrap-401 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-401 .table-bordered>thead>tr>td,.factory-bootstrap-401 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-401 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-401 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-401 .table-hover>tbody>tr:hover>td,.factory-bootstrap-401 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-401 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-401 table td[class*=col-],.factory-bootstrap-401 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-401 .table>tbody>.active>td,.factory-bootstrap-401 .table>tbody>.active>th,.factory-bootstrap-401 .table>tbody>tr>.active,.factory-bootstrap-401 .table>tfoot>.active>td,.factory-bootstrap-401 .table>tfoot>.active>th,.factory-bootstrap-401 .table>tfoot>tr>.active,.factory-bootstrap-401 .table>thead>.active>td,.factory-bootstrap-401 .table>thead>.active>th,.factory-bootstrap-401 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-401 .table-hover>tbody>.active:hover>td,.factory-bootstrap-401 .table-hover>tbody>.active:hover>th,.factory-bootstrap-401 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-401 .table>tbody>.success>td,.factory-bootstrap-401 .table>tbody>.success>th,.factory-bootstrap-401 .table>tbody>tr>.success,.factory-bootstrap-401 .table>tfoot>.success>td,.factory-bootstrap-401 .table>tfoot>.success>th,.factory-bootstrap-401 .table>tfoot>tr>.success,.factory-bootstrap-401 .table>thead>.success>td,.factory-bootstrap-401 .table>thead>.success>th,.factory-bootstrap-401 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-401 .table-hover>tbody>.success:hover>td,.factory-bootstrap-401 .table-hover>tbody>.success:hover>th,.factory-bootstrap-401 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-401 .table>tbody>.danger>td,.factory-bootstrap-401 .table>tbody>.danger>th,.factory-bootstrap-401 .table>tbody>tr>.danger,.factory-bootstrap-401 .table>tfoot>.danger>td,.factory-bootstrap-401 .table>tfoot>.danger>th,.factory-bootstrap-401 .table>tfoot>tr>.danger,.factory-bootstrap-401 .table>thead>.danger>td,.factory-bootstrap-401 .table>thead>.danger>th,.factory-bootstrap-401 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-401 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-401 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-401 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-401 .table>tbody>.warning>td,.factory-bootstrap-401 .table>tbody>.warning>th,.factory-bootstrap-401 .table>tbody>tr>.warning,.factory-bootstrap-401 .table>tfoot>.warning>td,.factory-bootstrap-401 .table>tfoot>.warning>th,.factory-bootstrap-401 .table>tfoot>tr>.warning,.factory-bootstrap-401 .table>thead>.warning>td,.factory-bootstrap-401 .table>thead>.warning>th,.factory-bootstrap-401 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-401 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-401 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-401 .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-401 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-401 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-401 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-401 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-401 input[type=checkbox],.factory-bootstrap-401 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-401 input[type=file]{display:block}.factory-bootstrap-401 select[multiple],.factory-bootstrap-401 select[size]{height:auto}.factory-bootstrap-401 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-401 input[type=checkbox]:focus,.factory-bootstrap-401 input[type=file]:focus,.factory-bootstrap-401 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-401 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-401 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-401 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-401 .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-401 .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-401 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-401 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-401 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-401 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-401 .form-control[disabled],.factory-bootstrap-401 .form-control[readonly],.factory-bootstrap-401 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-401 textarea.form-control{height:auto}.factory-bootstrap-401 .form-group{margin-bottom:15px}.factory-bootstrap-401 .checkbox,.factory-bootstrap-401 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-401 .checkbox label,.factory-bootstrap-401 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-401 .checkbox input[type=checkbox],.factory-bootstrap-401 .checkbox-inline input[type=checkbox],.factory-bootstrap-401 .radio input[type=radio],.factory-bootstrap-401 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-401 .checkbox+.checkbox,.factory-bootstrap-401 .radio+.radio{margin-top:-5px}.factory-bootstrap-401 .checkbox-inline,.factory-bootstrap-401 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-401 .checkbox-inline+.checkbox-inline,.factory-bootstrap-401 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-401 .checkbox-inline[disabled],.factory-bootstrap-401 .checkbox[disabled],.factory-bootstrap-401 .radio-inline[disabled],.factory-bootstrap-401 .radio[disabled],.factory-bootstrap-401 fieldset[disabled] .checkbox,.factory-bootstrap-401 fieldset[disabled] .checkbox-inline,.factory-bootstrap-401 fieldset[disabled] .radio,.factory-bootstrap-401 fieldset[disabled] .radio-inline,.factory-bootstrap-401 fieldset[disabled] input[type=checkbox],.factory-bootstrap-401 fieldset[disabled] input[type=radio],.factory-bootstrap-401 input[type=checkbox][disabled],.factory-bootstrap-401 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-401 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-401 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-401 textarea.input-sm{height:auto}.factory-bootstrap-401 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-401 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-401 textarea.input-lg{height:auto}.factory-bootstrap-401 .has-warning .checkbox,.factory-bootstrap-401 .has-warning .checkbox-inline,.factory-bootstrap-401 .has-warning .control-label,.factory-bootstrap-401 .has-warning .help-block,.factory-bootstrap-401 .has-warning .radio,.factory-bootstrap-401 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-401 .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-401 .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-401 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-401 .has-error .checkbox,.factory-bootstrap-401 .has-error .checkbox-inline,.factory-bootstrap-401 .has-error .control-label,.factory-bootstrap-401 .has-error .help-block,.factory-bootstrap-401 .has-error .radio,.factory-bootstrap-401 .has-error .radio-inline{color:#a94442}.factory-bootstrap-401 .controls{display:block}.factory-bootstrap-401 .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-401 .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-401 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-401 .has-success .checkbox,.factory-bootstrap-401 .has-success .checkbox-inline,.factory-bootstrap-401 .has-success .control-label,.factory-bootstrap-401 .has-success .help-block,.factory-bootstrap-401 .has-success .radio,.factory-bootstrap-401 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-401 .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-401 .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-401 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-401 .form-control-static{margin-bottom:0}.factory-bootstrap-401 .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-401 .form-horizontal .checkbox,.factory-bootstrap-401 .form-horizontal .checkbox-inline,.factory-bootstrap-401 .form-horizontal .control-label,.factory-bootstrap-401 .form-horizontal .radio,.factory-bootstrap-401 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-401 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-401 .form-horizontal .checkbox,.factory-bootstrap-401 .form-horizontal .radio{min-height:27px}.factory-bootstrap-401 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-401 .form-horizontal .form-group:after,.factory-bootstrap-401 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-401 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-401 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-401 .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-401 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-401 .btn{text-decoration:none}.factory-bootstrap-401 .btn:focus,.factory-bootstrap-401 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-401 .btn.disabled,.factory-bootstrap-401 .btn[disabled],.factory-bootstrap-401 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-401 .btn-default.active,.factory-bootstrap-401 .btn-default:active,.factory-bootstrap-401 .btn-default:focus,.factory-bootstrap-401 .btn-default:hover,.factory-bootstrap-401 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-401 .btn-default.active,.factory-bootstrap-401 .btn-default:active,.factory-bootstrap-401 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-401 .btn-default.disabled,.factory-bootstrap-401 .btn-default.disabled.active,.factory-bootstrap-401 .btn-default.disabled:active,.factory-bootstrap-401 .btn-default.disabled:focus,.factory-bootstrap-401 .btn-default.disabled:hover,.factory-bootstrap-401 .btn-default[disabled],.factory-bootstrap-401 .btn-default[disabled].active,.factory-bootstrap-401 .btn-default[disabled]:active,.factory-bootstrap-401 .btn-default[disabled]:focus,.factory-bootstrap-401 .btn-default[disabled]:hover,.factory-bootstrap-401 fieldset[disabled] .btn-default,.factory-bootstrap-401 fieldset[disabled] .btn-default.active,.factory-bootstrap-401 fieldset[disabled] .btn-default:active,.factory-bootstrap-401 fieldset[disabled] .btn-default:focus,.factory-bootstrap-401 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-401 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-401 .btn-primary.active,.factory-bootstrap-401 .btn-primary:active,.factory-bootstrap-401 .btn-primary:focus,.factory-bootstrap-401 .btn-primary:hover,.factory-bootstrap-401 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-401 .btn-primary.active,.factory-bootstrap-401 .btn-primary:active,.factory-bootstrap-401 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-401 .btn-primary.disabled,.factory-bootstrap-401 .btn-primary.disabled.active,.factory-bootstrap-401 .btn-primary.disabled:active,.factory-bootstrap-401 .btn-primary.disabled:focus,.factory-bootstrap-401 .btn-primary.disabled:hover,.factory-bootstrap-401 .btn-primary[disabled],.factory-bootstrap-401 .btn-primary[disabled].active,.factory-bootstrap-401 .btn-primary[disabled]:active,.factory-bootstrap-401 .btn-primary[disabled]:focus,.factory-bootstrap-401 .btn-primary[disabled]:hover,.factory-bootstrap-401 fieldset[disabled] .btn-primary,.factory-bootstrap-401 fieldset[disabled] .btn-primary.active,.factory-bootstrap-401 fieldset[disabled] .btn-primary:active,.factory-bootstrap-401 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-401 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-401 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-401 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-401 .btn-warning.active,.factory-bootstrap-401 .btn-warning:active,.factory-bootstrap-401 .btn-warning:focus,.factory-bootstrap-401 .btn-warning:hover,.factory-bootstrap-401 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-401 .btn-warning.active,.factory-bootstrap-401 .btn-warning:active,.factory-bootstrap-401 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-401 .btn-warning.disabled,.factory-bootstrap-401 .btn-warning.disabled.active,.factory-bootstrap-401 .btn-warning.disabled:active,.factory-bootstrap-401 .btn-warning.disabled:focus,.factory-bootstrap-401 .btn-warning.disabled:hover,.factory-bootstrap-401 .btn-warning[disabled],.factory-bootstrap-401 .btn-warning[disabled].active,.factory-bootstrap-401 .btn-warning[disabled]:active,.factory-bootstrap-401 .btn-warning[disabled]:focus,.factory-bootstrap-401 .btn-warning[disabled]:hover,.factory-bootstrap-401 fieldset[disabled] .btn-warning,.factory-bootstrap-401 fieldset[disabled] .btn-warning.active,.factory-bootstrap-401 fieldset[disabled] .btn-warning:active,.factory-bootstrap-401 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-401 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-401 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-401 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-401 .btn-success.active,.factory-bootstrap-401 .btn-success:active,.factory-bootstrap-401 .btn-success:focus,.factory-bootstrap-401 .btn-success:hover,.factory-bootstrap-401 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-401 .btn-success.active,.factory-bootstrap-401 .btn-success:active,.factory-bootstrap-401 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-401 .btn-success.disabled,.factory-bootstrap-401 .btn-success.disabled.active,.factory-bootstrap-401 .btn-success.disabled:active,.factory-bootstrap-401 .btn-success.disabled:focus,.factory-bootstrap-401 .btn-success.disabled:hover,.factory-bootstrap-401 .btn-success[disabled],.factory-bootstrap-401 .btn-success[disabled].active,.factory-bootstrap-401 .btn-success[disabled]:active,.factory-bootstrap-401 .btn-success[disabled]:focus,.factory-bootstrap-401 .btn-success[disabled]:hover,.factory-bootstrap-401 fieldset[disabled] .btn-success,.factory-bootstrap-401 fieldset[disabled] .btn-success.active,.factory-bootstrap-401 fieldset[disabled] .btn-success:active,.factory-bootstrap-401 fieldset[disabled] .btn-success:focus,.factory-bootstrap-401 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-401 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-401 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-401 .btn-info.active,.factory-bootstrap-401 .btn-info:active,.factory-bootstrap-401 .btn-info:focus,.factory-bootstrap-401 .btn-info:hover,.factory-bootstrap-401 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-401 .btn-info.active,.factory-bootstrap-401 .btn-info:active,.factory-bootstrap-401 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-401 .btn-info.disabled,.factory-bootstrap-401 .btn-info.disabled.active,.factory-bootstrap-401 .btn-info.disabled:active,.factory-bootstrap-401 .btn-info.disabled:focus,.factory-bootstrap-401 .btn-info.disabled:hover,.factory-bootstrap-401 .btn-info[disabled],.factory-bootstrap-401 .btn-info[disabled].active,.factory-bootstrap-401 .btn-info[disabled]:active,.factory-bootstrap-401 .btn-info[disabled]:focus,.factory-bootstrap-401 .btn-info[disabled]:hover,.factory-bootstrap-401 fieldset[disabled] .btn-info,.factory-bootstrap-401 fieldset[disabled] .btn-info.active,.factory-bootstrap-401 fieldset[disabled] .btn-info:active,.factory-bootstrap-401 fieldset[disabled] .btn-info:focus,.factory-bootstrap-401 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-401 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-401 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-401 .btn-link,.factory-bootstrap-401 .btn-link:active,.factory-bootstrap-401 .btn-link[disabled],.factory-bootstrap-401 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-401 .btn-link,.factory-bootstrap-401 .btn-link:active,.factory-bootstrap-401 .btn-link:focus,.factory-bootstrap-401 .btn-link:hover{border-color:transparent}.factory-bootstrap-401 .btn-link:focus,.factory-bootstrap-401 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-401 .btn-link[disabled]:focus,.factory-bootstrap-401 .btn-link[disabled]:hover,.factory-bootstrap-401 fieldset[disabled] .btn-link:focus,.factory-bootstrap-401 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-401 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-401 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-401 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-401 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-401 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-401 input[type=button].btn-block,.factory-bootstrap-401 input[type=reset].btn-block,.factory-bootstrap-401 input[type=submit].btn-block{width:100%}.factory-bootstrap-401 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-401 .fade.in{opacity:1}.factory-bootstrap-401 .collapse{display:none}.factory-bootstrap-401 .collapse.in{display:block}.factory-bootstrap-401 .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-401 .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-401 .glyphicon:empty{width:1em}.factory-bootstrap-401 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-401 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-401 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-401 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-401 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-401 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-401 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-401 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-401 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-401 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-401 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-401 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-401 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-401 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-401 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-401 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-401 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-401 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-401 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-401 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-401 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-401 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-401 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-401 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-401 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-401 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-401 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-401 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-401 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-401 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-401 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-401 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-401 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-401 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-401 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-401 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-401 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-401 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-401 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-401 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-401 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-401 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-401 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-401 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-401 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-401 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-401 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-401 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-401 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-401 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-401 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-401 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-401 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-401 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-401 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-401 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-401 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-401 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-401 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-401 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-401 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-401 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-401 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-401 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-401 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-401 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-401 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-401 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-401 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-401 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-401 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-401 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-401 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-401 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-401 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-401 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-401 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-401 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-401 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-401 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-401 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-401 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-401 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-401 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-401 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-401 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-401 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-401 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-401 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-401 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-401 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-401 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-401 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-401 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-401 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-401 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-401 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-401 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-401 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-401 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-401 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-401 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-401 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-401 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-401 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-401 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-401 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-401 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-401 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-401 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-401 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-401 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-401 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-401 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-401 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-401 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-401 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-401 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-401 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-401 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-401 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-401 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-401 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-401 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-401 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-401 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-401 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-401 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-401 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-401 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-401 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-401 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-401 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-401 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-401 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-401 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-401 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-401 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-401 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-401 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-401 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-401 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-401 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-401 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-401 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-401 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-401 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-401 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-401 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-401 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-401 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-401 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-401 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-401 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-401 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-401 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-401 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-401 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-401 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-401 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-401 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-401 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-401 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-401 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-401 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-401 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-401 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-401 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-401 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-401 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-401 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-401 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-401 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-401 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-401 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-401 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-401 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-401 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-401 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-401 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-401 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-401 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-401 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-401 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-401 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-401 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-401 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-401 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-401 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-401 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-401 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-401 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-401 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-401 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-401 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-401 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-401 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-401 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-401 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-401 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-401 .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-401 .dropdown{position:relative}.factory-bootstrap-401 .dropdown-toggle:focus{outline:0}.factory-bootstrap-401 .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-401 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-401 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-401 .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-401 .dropdown-menu>li>a:focus,.factory-bootstrap-401 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-401 .dropdown-menu>.active>a,.factory-bootstrap-401 .dropdown-menu>.active>a:focus,.factory-bootstrap-401 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-401 .dropdown-menu>.disabled>a,.factory-bootstrap-401 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-401 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-401 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-401 .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-401 .open>.dropdown-menu{display:block}.factory-bootstrap-401 .open>a{outline:0}.factory-bootstrap-401 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-401 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-401 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-401 .dropup .caret,.factory-bootstrap-401 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-401 .dropup .dropdown-menu,.factory-bootstrap-401 .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-401 .btn-group,.factory-bootstrap-401 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-401 .btn-group-vertical>.btn,.factory-bootstrap-401 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-401 .btn-group-vertical>.btn.active,.factory-bootstrap-401 .btn-group-vertical>.btn:active,.factory-bootstrap-401 .btn-group-vertical>.btn:focus,.factory-bootstrap-401 .btn-group-vertical>.btn:hover,.factory-bootstrap-401 .btn-group>.btn.active,.factory-bootstrap-401 .btn-group>.btn:active,.factory-bootstrap-401 .btn-group>.btn:focus,.factory-bootstrap-401 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-401 .btn-group-vertical>.btn:focus,.factory-bootstrap-401 .btn-group>.btn:focus{outline:0}.factory-bootstrap-401 .btn-group .btn+.btn,.factory-bootstrap-401 .btn-group .btn+.btn-group,.factory-bootstrap-401 .btn-group .btn-group+.btn,.factory-bootstrap-401 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-401 .btn-toolbar:after,.factory-bootstrap-401 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-401 .btn-toolbar:after{clear:both}.factory-bootstrap-401 .btn-toolbar .btn-group{float:left}.factory-bootstrap-401 .btn-toolbar>.btn+.btn,.factory-bootstrap-401 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-401 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-401 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-401 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-401 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-401 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-401 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-401 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-401 .btn-group>.btn-group{float:left}.factory-bootstrap-401 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-401 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-401 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-401 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-401 .btn-group .dropdown-toggle:active,.factory-bootstrap-401 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-401 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-401 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-401 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-401 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-401 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-401 .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-401 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-401 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-401 .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-401 .btn .caret{margin-left:0}.factory-bootstrap-401 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-401 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-401 .btn-group-vertical>.btn,.factory-bootstrap-401 .btn-group-vertical>.btn-group,.factory-bootstrap-401 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-401 .btn-group-vertical>.btn-group:after,.factory-bootstrap-401 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-401 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-401 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-401 .btn-group-vertical>.btn+.btn,.factory-bootstrap-401 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-401 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-401 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-401 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-401 .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-401 .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-401 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-401 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-401 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-401 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-401 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-401 .btn-group-justified>.btn,.factory-bootstrap-401 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-401 .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-401 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-401 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-401 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-401 .input-group-lg>.form-control,.factory-bootstrap-401 .input-group-lg>.input-group-addon,.factory-bootstrap-401 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-401 select.input-group-lg>.form-control,.factory-bootstrap-401 select.input-group-lg>.input-group-addon,.factory-bootstrap-401 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-401 textarea.input-group-lg>.form-control,.factory-bootstrap-401 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-401 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-401 .input-group-sm>.form-control,.factory-bootstrap-401 .input-group-sm>.input-group-addon,.factory-bootstrap-401 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-401 select.input-group-sm>.form-control,.factory-bootstrap-401 select.input-group-sm>.input-group-addon,.factory-bootstrap-401 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-401 textarea.input-group-sm>.form-control,.factory-bootstrap-401 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-401 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-401 .input-group .form-control,.factory-bootstrap-401 .input-group-addon,.factory-bootstrap-401 .input-group-btn{display:table-cell}.factory-bootstrap-401 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-401 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-401 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-401 .input-group-addon,.factory-bootstrap-401 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-401 .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-401 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-401 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-401 .input-group-addon input[type=checkbox],.factory-bootstrap-401 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-401 .input-group .form-control:first-child,.factory-bootstrap-401 .input-group-addon:first-child,.factory-bootstrap-401 .input-group-btn:first-child>.btn,.factory-bootstrap-401 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-401 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-401 .input-group-addon:first-child{border-right:0}.factory-bootstrap-401 .input-group .form-control:last-child,.factory-bootstrap-401 .input-group-addon:last-child,.factory-bootstrap-401 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-401 .input-group-btn:last-child>.btn,.factory-bootstrap-401 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-401 .input-group-addon:last-child{border-left:0}.factory-bootstrap-401 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-401 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-401 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-401 .input-group-btn>.btn{position:relative}.factory-bootstrap-401 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-401 .input-group-btn>.btn:active,.factory-bootstrap-401 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-401 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-401 .nav:after,.factory-bootstrap-401 .nav:before{display:table;content:" "}.factory-bootstrap-401 .nav:after{clear:both}.factory-bootstrap-401 .nav>li{position:relative;display:block}.factory-bootstrap-401 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-401 .nav>li>a:focus,.factory-bootstrap-401 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-401 .nav>li.disabled>a{color:#999}.factory-bootstrap-401 .nav>li.disabled>a:focus,.factory-bootstrap-401 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-401 .nav .open>a,.factory-bootstrap-401 .nav .open>a:focus,.factory-bootstrap-401 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-401 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-401 .nav>li>a>img{max-width:none}.factory-bootstrap-401 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-401 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-401 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-401 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-401 .nav-tabs>li.active>a,.factory-bootstrap-401 .nav-tabs>li.active>a:focus,.factory-bootstrap-401 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-401 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-401 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-401 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-401 .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-401 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-401 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-401 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-401 .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-401 .nav-pills>li{float:left}.factory-bootstrap-401 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-401 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-401 .nav-pills>li.active>a,.factory-bootstrap-401 .nav-pills>li.active>a:focus,.factory-bootstrap-401 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-401 .nav-stacked>li{float:none}.factory-bootstrap-401 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-401 .nav-justified{width:100%}.factory-bootstrap-401 .nav-justified>li{float:none}.factory-bootstrap-401 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-401 .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-401 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-401 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-401 .nav-tabs-justified>.active>a,.factory-bootstrap-401 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-401 .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-401 .tab-content>.tab-pane{display:none}.factory-bootstrap-401 .tab-content>.active{display:block}.factory-bootstrap-401 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-401 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-401 .navbar:after,.factory-bootstrap-401 .navbar:before{display:table;content:" "}.factory-bootstrap-401 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-401 .navbar-header:after,.factory-bootstrap-401 .navbar-header:before{display:table;content:" "}.factory-bootstrap-401 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-401 .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-401 .navbar-collapse:after,.factory-bootstrap-401 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-401 .navbar-collapse:after{clear:both}.factory-bootstrap-401 .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-401 .container>.navbar-collapse,.factory-bootstrap-401 .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-401 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-401 .navbar-fixed-bottom,.factory-bootstrap-401 .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-401 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-401 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-401 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-401 .navbar-brand:focus,.factory-bootstrap-401 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-401 .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-401 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-401 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-401 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-401 .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-401 .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-401 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-401 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-401 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-401 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-401 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-401 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-401 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-401 .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-401 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-401 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-401 .navbar-default .navbar-brand:focus,.factory-bootstrap-401 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-401 .navbar-default .navbar-nav>li>a,.factory-bootstrap-401 .navbar-default .navbar-text{color:#777}.factory-bootstrap-401 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-401 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-401 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-401 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-401 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-401 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-401 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-401 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-401 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-401 .navbar-default .navbar-toggle:focus,.factory-bootstrap-401 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-401 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-401 .navbar-default .navbar-collapse,.factory-bootstrap-401 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-401 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-401 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-401 .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-401 .navbar-default .navbar-link{color:#777}.factory-bootstrap-401 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-401 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-401 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-401 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-401 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-401 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-401 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-401 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-401 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-401 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-401 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-401 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-401 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-401 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-401 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-401 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-401 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-401 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-401 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-401 .navbar-inverse .navbar-collapse,.factory-bootstrap-401 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-401 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-401 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-401 .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-401 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-401 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-401 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-401 .breadcrumb>li{display:inline-block}.factory-bootstrap-401 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-401 .breadcrumb>.active{color:#999}.factory-bootstrap-401 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-401 .pagination>li{display:inline}.factory-bootstrap-401 .pagination>li>a,.factory-bootstrap-401 .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-401 .pagination>li:first-child>a,.factory-bootstrap-401 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-401 .pagination>li:last-child>a,.factory-bootstrap-401 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-401 .pagination>li>a:focus,.factory-bootstrap-401 .pagination>li>a:hover,.factory-bootstrap-401 .pagination>li>span:focus,.factory-bootstrap-401 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-401 .pagination>.active>a,.factory-bootstrap-401 .pagination>.active>a:focus,.factory-bootstrap-401 .pagination>.active>a:hover,.factory-bootstrap-401 .pagination>.active>span,.factory-bootstrap-401 .pagination>.active>span:focus,.factory-bootstrap-401 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-401 .pagination>.disabled>a,.factory-bootstrap-401 .pagination>.disabled>a:focus,.factory-bootstrap-401 .pagination>.disabled>a:hover,.factory-bootstrap-401 .pagination>.disabled>span,.factory-bootstrap-401 .pagination>.disabled>span:focus,.factory-bootstrap-401 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-401 .pagination-lg>li>a,.factory-bootstrap-401 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-401 .pagination-lg>li:first-child>a,.factory-bootstrap-401 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-401 .pagination-lg>li:last-child>a,.factory-bootstrap-401 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-401 .pagination-sm>li>a,.factory-bootstrap-401 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-401 .pagination-sm>li:first-child>a,.factory-bootstrap-401 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-401 .pagination-sm>li:last-child>a,.factory-bootstrap-401 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-401 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-401 .pager:after,.factory-bootstrap-401 .pager:before{display:table;content:" "}.factory-bootstrap-401 .pager:after{clear:both}.factory-bootstrap-401 .pager li{display:inline}.factory-bootstrap-401 .pager li>a,.factory-bootstrap-401 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-401 .pager li>a:focus,.factory-bootstrap-401 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-401 .pager .next>a,.factory-bootstrap-401 .pager .next>span{float:right}.factory-bootstrap-401 .pager .previous>a,.factory-bootstrap-401 .pager .previous>span{float:left}.factory-bootstrap-401 .pager .disabled>a,.factory-bootstrap-401 .pager .disabled>a:focus,.factory-bootstrap-401 .pager .disabled>a:hover,.factory-bootstrap-401 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-401 .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-401 .label[href]:focus,.factory-bootstrap-401 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-401 .label:empty{display:none}.factory-bootstrap-401 .btn .label{position:relative;top:-1px}.factory-bootstrap-401 .label-default{background-color:#999}.factory-bootstrap-401 .label-default[href]:focus,.factory-bootstrap-401 .label-default[href]:hover{background-color:gray}.factory-bootstrap-401 .label-primary{background-color:#428bca}.factory-bootstrap-401 .label-primary[href]:focus,.factory-bootstrap-401 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-401 .label-success{background-color:#5cb85c}.factory-bootstrap-401 .label-success[href]:focus,.factory-bootstrap-401 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-401 .label-info{background-color:#5bc0de}.factory-bootstrap-401 .label-info[href]:focus,.factory-bootstrap-401 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-401 .label-warning{background-color:#f0ad4e}.factory-bootstrap-401 .label-warning[href]:focus,.factory-bootstrap-401 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-401 .label-danger{background-color:#d9534f}.factory-bootstrap-401 .label-danger[href]:focus,.factory-bootstrap-401 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-401 .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-401 .badge:empty{display:none}.factory-bootstrap-401 .btn .badge{position:relative;top:-1px}.factory-bootstrap-401 a.badge:focus,.factory-bootstrap-401 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-401 .nav-pills>.active>a>.badge,.factory-bootstrap-401 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-401 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-401 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-401 .jumbotron .h1,.factory-bootstrap-401 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-401 .jumbotron p{line-height:1.4}.factory-bootstrap-401 .container .jumbotron{border-radius:6px}.factory-bootstrap-401 .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-401 .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-401 .thumbnail a>img,.factory-bootstrap-401 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-401 a.thumbnail.active,.factory-bootstrap-401 a.thumbnail:focus,.factory-bootstrap-401 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-401 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-401 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-401 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-401 .alert .alert-link{font-weight:700}.factory-bootstrap-401 .alert>p,.factory-bootstrap-401 .alert>ul{margin-bottom:0}.factory-bootstrap-401 .alert>p+p{margin-top:5px}.factory-bootstrap-401 .alert-dismissable{padding-right:35px}.factory-bootstrap-401 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-401 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-401 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-401 .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-401 .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-401 .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-401 .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-401 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-401 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-401 .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-401 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-401 .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-401 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-401 .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-401 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-401 .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-401 .media,.factory-bootstrap-401 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-401 .media,.factory-bootstrap-401 .media .media{margin-top:15px}.factory-bootstrap-401 .media:first-child{margin-top:0}.factory-bootstrap-401 .media-object{display:block}.factory-bootstrap-401 .media-heading{margin:0 0 5px}.factory-bootstrap-401 .media>.pull-left{margin-right:10px}.factory-bootstrap-401 .media>.pull-right{margin-left:10px}.factory-bootstrap-401 .media-list{padding-left:0;list-style:none}.factory-bootstrap-401 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-401 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-401 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-401 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-401 .list-group-item>.badge{float:right}.factory-bootstrap-401 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-401 a.list-group-item{color:#555}.factory-bootstrap-401 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-401 a.list-group-item:focus,.factory-bootstrap-401 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-401 a.list-group-item.active,.factory-bootstrap-401 a.list-group-item.active:focus,.factory-bootstrap-401 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-401 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-401 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-401 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-401 a.list-group-item.active .list-group-item-text,.factory-bootstrap-401 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-401 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-401 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-401 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-401 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-401 .panel-body{padding:15px}.factory-bootstrap-401 .panel-body:after,.factory-bootstrap-401 .panel-body:before{display:table;content:" "}.factory-bootstrap-401 .panel-body:after{clear:both}.factory-bootstrap-401 .panel>.list-group{margin-bottom:0}.factory-bootstrap-401 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-401 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-401 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-401 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-401 .panel>.table,.factory-bootstrap-401 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-401 .panel>.panel-body+.table,.factory-bootstrap-401 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-401 .panel>.table>tbody:first-child td,.factory-bootstrap-401 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-401 .panel>.table-bordered,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-401 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-401 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-401 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-401 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-401 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-401 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-401 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-401 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-401 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-401 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-401 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-401 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-401 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-401 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-401 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-401 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-401 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-401 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-401 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-401 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-401 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-401 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-401 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-401 .panel-title>a{color:inherit}.factory-bootstrap-401 .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-401 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-401 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-401 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-401 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-401 .panel-group .panel-footer{border-top:0}.factory-bootstrap-401 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-401 .panel-default{border-color:#ddd}.factory-bootstrap-401 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-401 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-401 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-401 .panel-primary{border-color:#428bca}.factory-bootstrap-401 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-401 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-401 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-401 .panel-success{border-color:#d6e9c6}.factory-bootstrap-401 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-401 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-401 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-401 .panel-warning{border-color:#faebcc}.factory-bootstrap-401 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-401 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-401 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-401 .panel-danger{border-color:#ebccd1}.factory-bootstrap-401 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-401 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-401 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-401 .panel-info{border-color:#bce8f1}.factory-bootstrap-401 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-401 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-401 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-401 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-401 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-401 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-401 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-401 .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-401 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-401 .close:focus,.factory-bootstrap-401 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-401 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-401 .modal-open{overflow:hidden}.factory-bootstrap-401 .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-401 .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-401 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-401 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-401 .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-401 .modal-backdrop,.factory-bootstrap-401-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-401 .modal-backdrop.fade,.factory-bootstrap-401-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-401 .modal-backdrop.in,.factory-bootstrap-401-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-401 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-401 .modal-header .close{margin-top:-2px}.factory-bootstrap-401 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-401 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-401 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-401 .modal-footer:after,.factory-bootstrap-401 .modal-footer:before{display:table;content:" "}.factory-bootstrap-401 .modal-footer:after{clear:both}.factory-bootstrap-401 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-401 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-401 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-401 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-401 .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-401 .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-401 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-401 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-401 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-401 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-401 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-401 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-401 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-401 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-401 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-401 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-401 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-401 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-401 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-401 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-401 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-401 .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-401 .popover.top{margin-top:-10px}.factory-bootstrap-401 .popover.right{margin-left:10px}.factory-bootstrap-401 .popover.bottom{margin-top:10px}.factory-bootstrap-401 .popover.left{margin-left:-10px}.factory-bootstrap-401 .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-401 .popover-content{padding:9px 14px}.factory-bootstrap-401 .popover .arrow,.factory-bootstrap-401 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-401 .popover .arrow{border-width:11px}.factory-bootstrap-401 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-401 .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-401 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-401 .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-401 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-401 .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-401 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-401 .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-401 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-401 .carousel{position:relative}.factory-bootstrap-401 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-401 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-401 .carousel-inner>.item>a>img,.factory-bootstrap-401 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-401 .carousel-inner>.active,.factory-bootstrap-401 .carousel-inner>.next,.factory-bootstrap-401 .carousel-inner>.prev{display:block}.factory-bootstrap-401 .carousel-inner>.active{left:0}.factory-bootstrap-401 .carousel-inner>.next,.factory-bootstrap-401 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-401 .carousel-inner>.next{left:100%}.factory-bootstrap-401 .carousel-inner>.prev{left:-100%}.factory-bootstrap-401 .carousel-inner>.next.left,.factory-bootstrap-401 .carousel-inner>.prev.right{left:0}.factory-bootstrap-401 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-401 .carousel-inner>.active.right{left:100%}.factory-bootstrap-401 .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-401 .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-401 .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-401 .carousel-control:focus,.factory-bootstrap-401 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-401 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-401 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-401 .carousel-control .icon-next,.factory-bootstrap-401 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-401 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-401 .carousel-control .icon-prev{left:50%}.factory-bootstrap-401 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-401 .carousel-control .icon-next{right:50%}.factory-bootstrap-401 .carousel-control .icon-next,.factory-bootstrap-401 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-401 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-401 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-401 .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-401 .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-401 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-401 .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-401 .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-401 .clearfix:after,.factory-bootstrap-401 .clearfix:before{display:table;content:" "}.factory-bootstrap-401 .clearfix:after{clear:both}.factory-bootstrap-401 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-401 .pull-right{float:right!important}.factory-bootstrap-401 .pull-left{float:left!important}.factory-bootstrap-401 .hide{display:none!important}.factory-bootstrap-401 .show{display:block!important}.factory-bootstrap-401 .invisible{visibility:hidden}.factory-bootstrap-401 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-401 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-401 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-401 .visible-lg,.factory-bootstrap-401 .visible-md,.factory-bootstrap-401 .visible-sm,.factory-bootstrap-401 .visible-xs,.factory-bootstrap-401 td.visible-lg,.factory-bootstrap-401 td.visible-md,.factory-bootstrap-401 td.visible-sm,.factory-bootstrap-401 td.visible-xs,.factory-bootstrap-401 th.visible-lg,.factory-bootstrap-401 th.visible-md,.factory-bootstrap-401 th.visible-sm,.factory-bootstrap-401 th.visible-xs,.factory-bootstrap-401 tr.visible-lg,.factory-bootstrap-401 tr.visible-md,.factory-bootstrap-401 tr.visible-sm,.factory-bootstrap-401 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-401 .hidden-xs{display:block!important}.factory-bootstrap-401 table.hidden-xs{display:table}.factory-bootstrap-401 tr.hidden-xs{display:table-row!important}.factory-bootstrap-401 td.hidden-xs,.factory-bootstrap-401 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-401 .hidden-sm{display:block!important}.factory-bootstrap-401 table.hidden-sm{display:table}.factory-bootstrap-401 tr.hidden-sm{display:table-row!important}.factory-bootstrap-401 td.hidden-sm,.factory-bootstrap-401 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-401 .hidden-md{display:block!important}.factory-bootstrap-401 table.hidden-md{display:table}.factory-bootstrap-401 tr.hidden-md{display:table-row!important}.factory-bootstrap-401 td.hidden-md,.factory-bootstrap-401 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-401 .hidden-lg{display:block!important}.factory-bootstrap-401 table.hidden-lg{display:table}.factory-bootstrap-401 tr.hidden-lg{display:table-row!important}.factory-bootstrap-401 td.hidden-lg,.factory-bootstrap-401 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-401 .hidden-lg.hidden-xs,.factory-bootstrap-401 td.hidden-lg.hidden-xs,.factory-bootstrap-401 th.hidden-lg.hidden-xs,.factory-bootstrap-401 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-401 .hidden-lg.hidden-sm,.factory-bootstrap-401 td.hidden-lg.hidden-sm,.factory-bootstrap-401 th.hidden-lg.hidden-sm,.factory-bootstrap-401 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-401 .hidden-lg.hidden-md,.factory-bootstrap-401 td.hidden-lg.hidden-md,.factory-bootstrap-401 th.hidden-lg.hidden-md,.factory-bootstrap-401 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-401 .hidden-lg,.factory-bootstrap-401 td.hidden-lg,.factory-bootstrap-401 th.hidden-lg,.factory-bootstrap-401 tr.hidden-lg{display:none!important}}.factory-bootstrap-401 .visible-print,.factory-bootstrap-401 td.visible-print,.factory-bootstrap-401 th.visible-print,.factory-bootstrap-401 tr.visible-print{display:none!important}@media print{.factory-bootstrap-401 .visible-print{display:block!important}.factory-bootstrap-401 table.visible-print{display:table}.factory-bootstrap-401 tr.visible-print{display:table-row!important}.factory-bootstrap-401 td.visible-print,.factory-bootstrap-401 th.visible-print{display:table-cell!important}.factory-bootstrap-401 .hidden-print,.factory-bootstrap-401 td.hidden-print,.factory-bootstrap-401 th.hidden-print,.factory-bootstrap-401 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-401 .btn-danger,.factory-bootstrap-401 .btn-default,.factory-bootstrap-401 .btn-info,.factory-bootstrap-401 .btn-primary,.factory-bootstrap-401 .btn-success,.factory-bootstrap-401 .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-401 .btn-danger.active,.factory-bootstrap-401 .btn-danger:active,.factory-bootstrap-401 .btn-default.active,.factory-bootstrap-401 .btn-default:active,.factory-bootstrap-401 .btn-info.active,.factory-bootstrap-401 .btn-info:active,.factory-bootstrap-401 .btn-primary.active,.factory-bootstrap-401 .btn-primary:active,.factory-bootstrap-401 .btn-success.active,.factory-bootstrap-401 .btn-success:active,.factory-bootstrap-401 .btn-warning.active,.factory-bootstrap-401 .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-401 .btn.active,.factory-bootstrap-401 .btn:active{background-image:none}.factory-bootstrap-401 .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-401 .btn-default.active,.factory-bootstrap-401 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-401 .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-401 .btn-gold:focus,.factory-bootstrap-401 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-401 .btn-gold.active,.factory-bootstrap-401 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-401 .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-401 .btn-primary:focus,.factory-bootstrap-401 .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-401 .btn-primary.active,.factory-bootstrap-401 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-401 .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-401 .btn-success:focus,.factory-bootstrap-401 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-401 .btn-success.active,.factory-bootstrap-401 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-401 .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-401 .btn-warning:focus,.factory-bootstrap-401 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-401 .btn-warning.active,.factory-bootstrap-401 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-401 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-401 .btn-danger.active,.factory-bootstrap-401 .btn-danger:active,.factory-bootstrap-401 .btn-danger:focus,.factory-bootstrap-401 .btn-danger:hover,.factory-bootstrap-401 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-401 .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-401 .btn-info:focus,.factory-bootstrap-401 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-401 .btn-info.active,.factory-bootstrap-401 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-401 .img-thumbnail,.factory-bootstrap-401 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-401 .dropdown-menu>li>a:focus,.factory-bootstrap-401 .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-401 .dropdown-menu>.active>a,.factory-bootstrap-401 .dropdown-menu>.active>a:focus,.factory-bootstrap-401 .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-401 .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-401 .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-401 .navbar-brand,.factory-bootstrap-401 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-401 .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-401 .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-401 .navbar-inverse .navbar-brand,.factory-bootstrap-401 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-401 .navbar-fixed-bottom,.factory-bootstrap-401 .navbar-fixed-top,.factory-bootstrap-401 .navbar-static-top{border-radius:0}.factory-bootstrap-401 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-401 .alert .actions{padding-top:10px}.factory-bootstrap-401 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-401 .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-401 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-401 .alert-normal,.factory-bootstrap-401 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-401 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-401 .alert-danger a:not(.btn),.factory-bootstrap-401 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-401 .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-401 .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-401 .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-401 .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-401 .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-401 .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-401 .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-401 .list-group-item.active,.factory-bootstrap-401 .list-group-item.active:focus,.factory-bootstrap-401 .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-401 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-401 .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-401 .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-401 .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-401 .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-401 .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-401 .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-401 .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-401 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-401 .factory-hidden{display:none}.factory-bootstrap-401 .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-404 article,.factory-bootstrap-404 aside,.factory-bootstrap-404 details,.factory-bootstrap-404 figcaption,.factory-bootstrap-404 figure,.factory-bootstrap-404 footer,.factory-bootstrap-404 header,.factory-bootstrap-404 hgroup,.factory-bootstrap-404 main,.factory-bootstrap-404 nav,.factory-bootstrap-404 section,.factory-bootstrap-404 summary{display:block}.factory-bootstrap-404 audio,.factory-bootstrap-404 canvas,.factory-bootstrap-404 video{display:inline-block}.factory-bootstrap-404 audio:not([controls]){display:none;height:0}.factory-bootstrap-404 [hidden],.factory-bootstrap-404 template{display:none}.factory-bootstrap-404 body{margin:0}.factory-bootstrap-404 a{background:0 0}.factory-bootstrap-404 a:focus{outline:thin dotted}.factory-bootstrap-404 a:active,.factory-bootstrap-404 a:hover{outline:0}.factory-bootstrap-404 h1{margin:.67em 0}.factory-bootstrap-404 b,.factory-bootstrap-404 strong{font-weight:700}.factory-bootstrap-404 dfn{font-style:italic}.factory-bootstrap-404 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-404 mark{color:#000;background:#ff0}.factory-bootstrap-404 code,.factory-bootstrap-404 kbd,.factory-bootstrap-404 pre,.factory-bootstrap-404 samp{font-size:1em}.factory-bootstrap-404 pre{white-space:pre-wrap}.factory-bootstrap-404 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-404 sub,.factory-bootstrap-404 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-404 sup{top:-.5em}.factory-bootstrap-404 sub{bottom:-.25em}.factory-bootstrap-404 img{border:0}.factory-bootstrap-404 svg:not(:root){overflow:hidden}.factory-bootstrap-404 figure{margin:0}.factory-bootstrap-404 button,.factory-bootstrap-404 input,.factory-bootstrap-404 select,.factory-bootstrap-404 textarea{margin:0}.factory-bootstrap-404 button,.factory-bootstrap-404 select{text-transform:none}.factory-bootstrap-404 select{padding-right:4px!important}.factory-bootstrap-404 button,.factory-bootstrap-404 input[type=reset],.factory-bootstrap-404 input[type=submit],html .factory-bootstrap-404 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-404 button[disabled],html .factory-bootstrap-404 input[disabled]{cursor:default}.factory-bootstrap-404 input[type=checkbox],.factory-bootstrap-404 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-404 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-404 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-404 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-404 button::-moz-focus-inner,.factory-bootstrap-404 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-404 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-404 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-404 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-404 a,.factory-bootstrap-404 a:visited{text-decoration:underline}.factory-bootstrap-404 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-404 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-404 a[href^="javascript:"]:after,.factory-bootstrap-404 a[href^="#"]:after{content:""}.factory-bootstrap-404 blockquote,.factory-bootstrap-404 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-404 thead{display:table-header-group}.factory-bootstrap-404 img,.factory-bootstrap-404 tr{page-break-inside:avoid}.factory-bootstrap-404 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-404 h2,.factory-bootstrap-404 h3,.factory-bootstrap-404 p{orphans:3;widows:3}.factory-bootstrap-404 h2,.factory-bootstrap-404 h3{page-break-after:avoid}.factory-bootstrap-404 select{background:#fff!important}.factory-bootstrap-404 .navbar{display:none}.factory-bootstrap-404 .table td,.factory-bootstrap-404 .table th{background-color:#fff!important}.factory-bootstrap-404 .btn>.caret,.factory-bootstrap-404 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-404 .label{border:1px solid #000}.factory-bootstrap-404 .table{border-collapse:collapse!important}.factory-bootstrap-404 .table-bordered td,.factory-bootstrap-404 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-404 *,.factory-bootstrap-404 :after,.factory-bootstrap-404 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-404{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-404 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-404 button,.factory-bootstrap-404 input,.factory-bootstrap-404 select,.factory-bootstrap-404 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-404 img{vertical-align:middle}.factory-bootstrap-404 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-404 .img-rounded{border-radius:6px}.factory-bootstrap-404 .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-404 .img-circle{border-radius:50%}.factory-bootstrap-404 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-404 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-404 .h1,.factory-bootstrap-404 .h2,.factory-bootstrap-404 .h3,.factory-bootstrap-404 .h4,.factory-bootstrap-404 .h5,.factory-bootstrap-404 .h6,.factory-bootstrap-404 h1,.factory-bootstrap-404 h2,.factory-bootstrap-404 h3,.factory-bootstrap-404 h4,.factory-bootstrap-404 h5,.factory-bootstrap-404 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-404 .h1 .small,.factory-bootstrap-404 .h1 small,.factory-bootstrap-404 .h2 .small,.factory-bootstrap-404 .h2 small,.factory-bootstrap-404 .h3 .small,.factory-bootstrap-404 .h3 small,.factory-bootstrap-404 .h4 .small,.factory-bootstrap-404 .h4 small,.factory-bootstrap-404 .h5 .small,.factory-bootstrap-404 .h5 small,.factory-bootstrap-404 .h6 .small,.factory-bootstrap-404 .h6 small,.factory-bootstrap-404 h1 .small,.factory-bootstrap-404 h1 small,.factory-bootstrap-404 h2 .small,.factory-bootstrap-404 h2 small,.factory-bootstrap-404 h3 .small,.factory-bootstrap-404 h3 small,.factory-bootstrap-404 h4 .small,.factory-bootstrap-404 h4 small,.factory-bootstrap-404 h5 .small,.factory-bootstrap-404 h5 small,.factory-bootstrap-404 h6 .small,.factory-bootstrap-404 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-404 h1,.factory-bootstrap-404 h2,.factory-bootstrap-404 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-404 h1 .small,.factory-bootstrap-404 h1 small,.factory-bootstrap-404 h2 .small,.factory-bootstrap-404 h2 small,.factory-bootstrap-404 h3 .small,.factory-bootstrap-404 h3 small{font-size:65%}.factory-bootstrap-404 h4,.factory-bootstrap-404 h5,.factory-bootstrap-404 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-404 h4 .small,.factory-bootstrap-404 h4 small,.factory-bootstrap-404 h5 .small,.factory-bootstrap-404 h5 small,.factory-bootstrap-404 h6 .small,.factory-bootstrap-404 h6 small{font-size:75%}.factory-bootstrap-404 .h1,.factory-bootstrap-404 h1{font-size:36px}.factory-bootstrap-404 .h2,.factory-bootstrap-404 h2{font-size:30px}.factory-bootstrap-404 .h3,.factory-bootstrap-404 h3{font-size:24px}.factory-bootstrap-404 .h4,.factory-bootstrap-404 h4{font-size:18px}.factory-bootstrap-404 .h5,.factory-bootstrap-404 h5{font-size:14px}.factory-bootstrap-404 .h6,.factory-bootstrap-404 h6{font-size:12px}.factory-bootstrap-404 p{margin:0 0 10px}.factory-bootstrap-404 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-404 .small,.factory-bootstrap-404 small{font-size:85%}.factory-bootstrap-404 cite{font-style:normal}.factory-bootstrap-404 .text-muted{color:#999}.factory-bootstrap-404 .text-primary{color:#428bca}.factory-bootstrap-404 .text-primary:hover{color:#3071a9}.factory-bootstrap-404 .text-warning{color:#8a6d3b}.factory-bootstrap-404 .text-warning:hover{color:#66512c}.factory-bootstrap-404 .text-danger{color:#a94442}.factory-bootstrap-404 .text-danger:hover{color:#843534}.factory-bootstrap-404 .text-success{color:#3c763d}.factory-bootstrap-404 .text-success:hover{color:#2b542c}.factory-bootstrap-404 .text-info{color:#31708f}.factory-bootstrap-404 .text-info:hover{color:#245269}.factory-bootstrap-404 .text-left{text-align:left}.factory-bootstrap-404 .text-right{text-align:right}.factory-bootstrap-404 .text-center{text-align:center}.factory-bootstrap-404 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-404 ol,.factory-bootstrap-404 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-404 ol ol,.factory-bootstrap-404 ol ul,.factory-bootstrap-404 ul ol,.factory-bootstrap-404 ul ul{margin-bottom:0}.factory-bootstrap-404 .list-inline,.factory-bootstrap-404 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-404 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-404 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-404 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-404 dd,.factory-bootstrap-404 dt{line-height:1.428571429}.factory-bootstrap-404 dt{font-weight:700}.factory-bootstrap-404 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-404 abbr[data-original-title],.factory-bootstrap-404 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-404 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-404 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-404 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-404 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-404 blockquote .small,.factory-bootstrap-404 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-404 blockquote .small:before,.factory-bootstrap-404 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-404 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-404 blockquote.pull-right .small,.factory-bootstrap-404 blockquote.pull-right p,.factory-bootstrap-404 blockquote.pull-right small{text-align:right}.factory-bootstrap-404 blockquote.pull-right .small:before,.factory-bootstrap-404 blockquote.pull-right small:before{content:''}.factory-bootstrap-404 blockquote.pull-right .small:after,.factory-bootstrap-404 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-404 blockquote:after,.factory-bootstrap-404 blockquote:before{content:""}.factory-bootstrap-404 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-404 code,.factory-bootstrap-404 kbd,.factory-bootstrap-404 pre,.factory-bootstrap-404 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-404 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-404 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-404 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-404 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-404 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-404 .container:after,.factory-bootstrap-404 .container:before{display:table;content:" "}.factory-bootstrap-404 .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-404 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-404 .row:after,.factory-bootstrap-404 .row:before{display:table;content:" "}.factory-bootstrap-404 .row:after{clear:both}.factory-bootstrap-404 .col-lg-1,.factory-bootstrap-404 .col-lg-10,.factory-bootstrap-404 .col-lg-11,.factory-bootstrap-404 .col-lg-12,.factory-bootstrap-404 .col-lg-2,.factory-bootstrap-404 .col-lg-3,.factory-bootstrap-404 .col-lg-4,.factory-bootstrap-404 .col-lg-5,.factory-bootstrap-404 .col-lg-6,.factory-bootstrap-404 .col-lg-7,.factory-bootstrap-404 .col-lg-8,.factory-bootstrap-404 .col-lg-9,.factory-bootstrap-404 .col-md-1,.factory-bootstrap-404 .col-md-10,.factory-bootstrap-404 .col-md-11,.factory-bootstrap-404 .col-md-12,.factory-bootstrap-404 .col-md-2,.factory-bootstrap-404 .col-md-3,.factory-bootstrap-404 .col-md-4,.factory-bootstrap-404 .col-md-5,.factory-bootstrap-404 .col-md-6,.factory-bootstrap-404 .col-md-7,.factory-bootstrap-404 .col-md-8,.factory-bootstrap-404 .col-md-9,.factory-bootstrap-404 .col-sm-1,.factory-bootstrap-404 .col-sm-10,.factory-bootstrap-404 .col-sm-11,.factory-bootstrap-404 .col-sm-12,.factory-bootstrap-404 .col-sm-2,.factory-bootstrap-404 .col-sm-3,.factory-bootstrap-404 .col-sm-4,.factory-bootstrap-404 .col-sm-5,.factory-bootstrap-404 .col-sm-6,.factory-bootstrap-404 .col-sm-7,.factory-bootstrap-404 .col-sm-8,.factory-bootstrap-404 .col-sm-9,.factory-bootstrap-404 .col-xs-1,.factory-bootstrap-404 .col-xs-10,.factory-bootstrap-404 .col-xs-11,.factory-bootstrap-404 .col-xs-12,.factory-bootstrap-404 .col-xs-2,.factory-bootstrap-404 .col-xs-3,.factory-bootstrap-404 .col-xs-4,.factory-bootstrap-404 .col-xs-5,.factory-bootstrap-404 .col-xs-6,.factory-bootstrap-404 .col-xs-7,.factory-bootstrap-404 .col-xs-8,.factory-bootstrap-404 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-404 .col-xs-1,.factory-bootstrap-404 .col-xs-10,.factory-bootstrap-404 .col-xs-11,.factory-bootstrap-404 .col-xs-12,.factory-bootstrap-404 .col-xs-2,.factory-bootstrap-404 .col-xs-3,.factory-bootstrap-404 .col-xs-4,.factory-bootstrap-404 .col-xs-5,.factory-bootstrap-404 .col-xs-6,.factory-bootstrap-404 .col-xs-7,.factory-bootstrap-404 .col-xs-8,.factory-bootstrap-404 .col-xs-9{float:left}.factory-bootstrap-404 .col-xs-12{width:100%}.factory-bootstrap-404 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-404 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-404 .col-xs-9{width:75%}.factory-bootstrap-404 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-404 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-404 .col-xs-6{width:50%}.factory-bootstrap-404 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-404 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-404 .col-xs-3{width:25%}.factory-bootstrap-404 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-404 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-404 .col-xs-pull-12{right:100%}.factory-bootstrap-404 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-404 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-404 .col-xs-pull-9{right:75%}.factory-bootstrap-404 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-404 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-404 .col-xs-pull-6{right:50%}.factory-bootstrap-404 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-404 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-404 .col-xs-pull-3{right:25%}.factory-bootstrap-404 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-404 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-404 .col-xs-pull-0{right:0}.factory-bootstrap-404 .col-xs-push-12{left:100%}.factory-bootstrap-404 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-404 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-404 .col-xs-push-9{left:75%}.factory-bootstrap-404 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-404 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-404 .col-xs-push-6{left:50%}.factory-bootstrap-404 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-404 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-404 .col-xs-push-3{left:25%}.factory-bootstrap-404 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-404 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-404 .col-xs-push-0{left:0}.factory-bootstrap-404 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-404 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-404 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-404 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-404 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-404 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-404 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-404 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-404 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-404 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-404 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-404 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-404 .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-404 table{max-width:100%;background-color:transparent}.factory-bootstrap-404 th{text-align:left}.factory-bootstrap-404 .table{width:100%;margin-bottom:20px}.factory-bootstrap-404 .table>tbody>tr>td,.factory-bootstrap-404 .table>tbody>tr>th,.factory-bootstrap-404 .table>tfoot>tr>td,.factory-bootstrap-404 .table>tfoot>tr>th,.factory-bootstrap-404 .table>thead>tr>td,.factory-bootstrap-404 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-404 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-404 .table>caption+thead>tr:first-child>td,.factory-bootstrap-404 .table>caption+thead>tr:first-child>th,.factory-bootstrap-404 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-404 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-404 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-404 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-404 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-404 .table .table{background-color:#fff}.factory-bootstrap-404 .table-condensed>tbody>tr>td,.factory-bootstrap-404 .table-condensed>tbody>tr>th,.factory-bootstrap-404 .table-condensed>tfoot>tr>td,.factory-bootstrap-404 .table-condensed>tfoot>tr>th,.factory-bootstrap-404 .table-condensed>thead>tr>td,.factory-bootstrap-404 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-404 .table-bordered,.factory-bootstrap-404 .table-bordered>tbody>tr>td,.factory-bootstrap-404 .table-bordered>tbody>tr>th,.factory-bootstrap-404 .table-bordered>tfoot>tr>td,.factory-bootstrap-404 .table-bordered>tfoot>tr>th,.factory-bootstrap-404 .table-bordered>thead>tr>td,.factory-bootstrap-404 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-404 .table-bordered>thead>tr>td,.factory-bootstrap-404 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-404 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-404 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-404 .table-hover>tbody>tr:hover>td,.factory-bootstrap-404 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-404 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-404 table td[class*=col-],.factory-bootstrap-404 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-404 .table>tbody>.active>td,.factory-bootstrap-404 .table>tbody>.active>th,.factory-bootstrap-404 .table>tbody>tr>.active,.factory-bootstrap-404 .table>tfoot>.active>td,.factory-bootstrap-404 .table>tfoot>.active>th,.factory-bootstrap-404 .table>tfoot>tr>.active,.factory-bootstrap-404 .table>thead>.active>td,.factory-bootstrap-404 .table>thead>.active>th,.factory-bootstrap-404 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-404 .table-hover>tbody>.active:hover>td,.factory-bootstrap-404 .table-hover>tbody>.active:hover>th,.factory-bootstrap-404 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-404 .table>tbody>.success>td,.factory-bootstrap-404 .table>tbody>.success>th,.factory-bootstrap-404 .table>tbody>tr>.success,.factory-bootstrap-404 .table>tfoot>.success>td,.factory-bootstrap-404 .table>tfoot>.success>th,.factory-bootstrap-404 .table>tfoot>tr>.success,.factory-bootstrap-404 .table>thead>.success>td,.factory-bootstrap-404 .table>thead>.success>th,.factory-bootstrap-404 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-404 .table-hover>tbody>.success:hover>td,.factory-bootstrap-404 .table-hover>tbody>.success:hover>th,.factory-bootstrap-404 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-404 .table>tbody>.danger>td,.factory-bootstrap-404 .table>tbody>.danger>th,.factory-bootstrap-404 .table>tbody>tr>.danger,.factory-bootstrap-404 .table>tfoot>.danger>td,.factory-bootstrap-404 .table>tfoot>.danger>th,.factory-bootstrap-404 .table>tfoot>tr>.danger,.factory-bootstrap-404 .table>thead>.danger>td,.factory-bootstrap-404 .table>thead>.danger>th,.factory-bootstrap-404 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-404 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-404 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-404 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-404 .table>tbody>.warning>td,.factory-bootstrap-404 .table>tbody>.warning>th,.factory-bootstrap-404 .table>tbody>tr>.warning,.factory-bootstrap-404 .table>tfoot>.warning>td,.factory-bootstrap-404 .table>tfoot>.warning>th,.factory-bootstrap-404 .table>tfoot>tr>.warning,.factory-bootstrap-404 .table>thead>.warning>td,.factory-bootstrap-404 .table>thead>.warning>th,.factory-bootstrap-404 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-404 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-404 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-404 .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-404 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-404 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-404 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-404 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-404 input[type=checkbox],.factory-bootstrap-404 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-404 input[type=file]{display:block}.factory-bootstrap-404 select[multiple],.factory-bootstrap-404 select[size]{height:auto}.factory-bootstrap-404 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-404 input[type=checkbox]:focus,.factory-bootstrap-404 input[type=file]:focus,.factory-bootstrap-404 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-404 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-404 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-404 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-404 .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-404 .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-404 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-404 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-404 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-404 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-404 .form-control[disabled],.factory-bootstrap-404 .form-control[readonly],.factory-bootstrap-404 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-404 textarea.form-control{height:auto}.factory-bootstrap-404 .form-group{margin-bottom:15px}.factory-bootstrap-404 .checkbox,.factory-bootstrap-404 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-404 .checkbox label,.factory-bootstrap-404 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-404 .checkbox input[type=checkbox],.factory-bootstrap-404 .checkbox-inline input[type=checkbox],.factory-bootstrap-404 .radio input[type=radio],.factory-bootstrap-404 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-404 .checkbox+.checkbox,.factory-bootstrap-404 .radio+.radio{margin-top:-5px}.factory-bootstrap-404 .checkbox-inline,.factory-bootstrap-404 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-404 .checkbox-inline+.checkbox-inline,.factory-bootstrap-404 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-404 .checkbox-inline[disabled],.factory-bootstrap-404 .checkbox[disabled],.factory-bootstrap-404 .radio-inline[disabled],.factory-bootstrap-404 .radio[disabled],.factory-bootstrap-404 fieldset[disabled] .checkbox,.factory-bootstrap-404 fieldset[disabled] .checkbox-inline,.factory-bootstrap-404 fieldset[disabled] .radio,.factory-bootstrap-404 fieldset[disabled] .radio-inline,.factory-bootstrap-404 fieldset[disabled] input[type=checkbox],.factory-bootstrap-404 fieldset[disabled] input[type=radio],.factory-bootstrap-404 input[type=checkbox][disabled],.factory-bootstrap-404 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-404 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-404 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-404 textarea.input-sm{height:auto}.factory-bootstrap-404 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-404 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-404 textarea.input-lg{height:auto}.factory-bootstrap-404 .has-warning .checkbox,.factory-bootstrap-404 .has-warning .checkbox-inline,.factory-bootstrap-404 .has-warning .control-label,.factory-bootstrap-404 .has-warning .help-block,.factory-bootstrap-404 .has-warning .radio,.factory-bootstrap-404 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-404 .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-404 .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-404 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-404 .has-error .checkbox,.factory-bootstrap-404 .has-error .checkbox-inline,.factory-bootstrap-404 .has-error .control-label,.factory-bootstrap-404 .has-error .help-block,.factory-bootstrap-404 .has-error .radio,.factory-bootstrap-404 .has-error .radio-inline{color:#a94442}.factory-bootstrap-404 .controls{display:block}.factory-bootstrap-404 .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-404 .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-404 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-404 .has-success .checkbox,.factory-bootstrap-404 .has-success .checkbox-inline,.factory-bootstrap-404 .has-success .control-label,.factory-bootstrap-404 .has-success .help-block,.factory-bootstrap-404 .has-success .radio,.factory-bootstrap-404 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-404 .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-404 .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-404 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-404 .form-control-static{margin-bottom:0}.factory-bootstrap-404 .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-404 .form-horizontal .checkbox,.factory-bootstrap-404 .form-horizontal .checkbox-inline,.factory-bootstrap-404 .form-horizontal .control-label,.factory-bootstrap-404 .form-horizontal .radio,.factory-bootstrap-404 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-404 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-404 .form-horizontal .checkbox,.factory-bootstrap-404 .form-horizontal .radio{min-height:27px}.factory-bootstrap-404 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-404 .form-horizontal .form-group:after,.factory-bootstrap-404 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-404 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-404 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-404 .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-404 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-404 .btn{text-decoration:none}.factory-bootstrap-404 .btn:focus,.factory-bootstrap-404 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-404 .btn.disabled,.factory-bootstrap-404 .btn[disabled],.factory-bootstrap-404 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-404 .btn-default.active,.factory-bootstrap-404 .btn-default:active,.factory-bootstrap-404 .btn-default:focus,.factory-bootstrap-404 .btn-default:hover,.factory-bootstrap-404 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-404 .btn-default.active,.factory-bootstrap-404 .btn-default:active,.factory-bootstrap-404 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-404 .btn-default.disabled,.factory-bootstrap-404 .btn-default.disabled.active,.factory-bootstrap-404 .btn-default.disabled:active,.factory-bootstrap-404 .btn-default.disabled:focus,.factory-bootstrap-404 .btn-default.disabled:hover,.factory-bootstrap-404 .btn-default[disabled],.factory-bootstrap-404 .btn-default[disabled].active,.factory-bootstrap-404 .btn-default[disabled]:active,.factory-bootstrap-404 .btn-default[disabled]:focus,.factory-bootstrap-404 .btn-default[disabled]:hover,.factory-bootstrap-404 fieldset[disabled] .btn-default,.factory-bootstrap-404 fieldset[disabled] .btn-default.active,.factory-bootstrap-404 fieldset[disabled] .btn-default:active,.factory-bootstrap-404 fieldset[disabled] .btn-default:focus,.factory-bootstrap-404 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-404 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-404 .btn-primary.active,.factory-bootstrap-404 .btn-primary:active,.factory-bootstrap-404 .btn-primary:focus,.factory-bootstrap-404 .btn-primary:hover,.factory-bootstrap-404 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-404 .btn-primary.active,.factory-bootstrap-404 .btn-primary:active,.factory-bootstrap-404 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-404 .btn-primary.disabled,.factory-bootstrap-404 .btn-primary.disabled.active,.factory-bootstrap-404 .btn-primary.disabled:active,.factory-bootstrap-404 .btn-primary.disabled:focus,.factory-bootstrap-404 .btn-primary.disabled:hover,.factory-bootstrap-404 .btn-primary[disabled],.factory-bootstrap-404 .btn-primary[disabled].active,.factory-bootstrap-404 .btn-primary[disabled]:active,.factory-bootstrap-404 .btn-primary[disabled]:focus,.factory-bootstrap-404 .btn-primary[disabled]:hover,.factory-bootstrap-404 fieldset[disabled] .btn-primary,.factory-bootstrap-404 fieldset[disabled] .btn-primary.active,.factory-bootstrap-404 fieldset[disabled] .btn-primary:active,.factory-bootstrap-404 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-404 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-404 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-404 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-404 .btn-warning.active,.factory-bootstrap-404 .btn-warning:active,.factory-bootstrap-404 .btn-warning:focus,.factory-bootstrap-404 .btn-warning:hover,.factory-bootstrap-404 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-404 .btn-warning.active,.factory-bootstrap-404 .btn-warning:active,.factory-bootstrap-404 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-404 .btn-warning.disabled,.factory-bootstrap-404 .btn-warning.disabled.active,.factory-bootstrap-404 .btn-warning.disabled:active,.factory-bootstrap-404 .btn-warning.disabled:focus,.factory-bootstrap-404 .btn-warning.disabled:hover,.factory-bootstrap-404 .btn-warning[disabled],.factory-bootstrap-404 .btn-warning[disabled].active,.factory-bootstrap-404 .btn-warning[disabled]:active,.factory-bootstrap-404 .btn-warning[disabled]:focus,.factory-bootstrap-404 .btn-warning[disabled]:hover,.factory-bootstrap-404 fieldset[disabled] .btn-warning,.factory-bootstrap-404 fieldset[disabled] .btn-warning.active,.factory-bootstrap-404 fieldset[disabled] .btn-warning:active,.factory-bootstrap-404 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-404 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-404 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-404 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-404 .btn-success.active,.factory-bootstrap-404 .btn-success:active,.factory-bootstrap-404 .btn-success:focus,.factory-bootstrap-404 .btn-success:hover,.factory-bootstrap-404 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-404 .btn-success.active,.factory-bootstrap-404 .btn-success:active,.factory-bootstrap-404 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-404 .btn-success.disabled,.factory-bootstrap-404 .btn-success.disabled.active,.factory-bootstrap-404 .btn-success.disabled:active,.factory-bootstrap-404 .btn-success.disabled:focus,.factory-bootstrap-404 .btn-success.disabled:hover,.factory-bootstrap-404 .btn-success[disabled],.factory-bootstrap-404 .btn-success[disabled].active,.factory-bootstrap-404 .btn-success[disabled]:active,.factory-bootstrap-404 .btn-success[disabled]:focus,.factory-bootstrap-404 .btn-success[disabled]:hover,.factory-bootstrap-404 fieldset[disabled] .btn-success,.factory-bootstrap-404 fieldset[disabled] .btn-success.active,.factory-bootstrap-404 fieldset[disabled] .btn-success:active,.factory-bootstrap-404 fieldset[disabled] .btn-success:focus,.factory-bootstrap-404 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-404 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-404 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-404 .btn-info.active,.factory-bootstrap-404 .btn-info:active,.factory-bootstrap-404 .btn-info:focus,.factory-bootstrap-404 .btn-info:hover,.factory-bootstrap-404 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-404 .btn-info.active,.factory-bootstrap-404 .btn-info:active,.factory-bootstrap-404 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-404 .btn-info.disabled,.factory-bootstrap-404 .btn-info.disabled.active,.factory-bootstrap-404 .btn-info.disabled:active,.factory-bootstrap-404 .btn-info.disabled:focus,.factory-bootstrap-404 .btn-info.disabled:hover,.factory-bootstrap-404 .btn-info[disabled],.factory-bootstrap-404 .btn-info[disabled].active,.factory-bootstrap-404 .btn-info[disabled]:active,.factory-bootstrap-404 .btn-info[disabled]:focus,.factory-bootstrap-404 .btn-info[disabled]:hover,.factory-bootstrap-404 fieldset[disabled] .btn-info,.factory-bootstrap-404 fieldset[disabled] .btn-info.active,.factory-bootstrap-404 fieldset[disabled] .btn-info:active,.factory-bootstrap-404 fieldset[disabled] .btn-info:focus,.factory-bootstrap-404 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-404 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-404 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-404 .btn-link,.factory-bootstrap-404 .btn-link:active,.factory-bootstrap-404 .btn-link[disabled],.factory-bootstrap-404 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-404 .btn-link,.factory-bootstrap-404 .btn-link:active,.factory-bootstrap-404 .btn-link:focus,.factory-bootstrap-404 .btn-link:hover{border-color:transparent}.factory-bootstrap-404 .btn-link:focus,.factory-bootstrap-404 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-404 .btn-link[disabled]:focus,.factory-bootstrap-404 .btn-link[disabled]:hover,.factory-bootstrap-404 fieldset[disabled] .btn-link:focus,.factory-bootstrap-404 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-404 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-404 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-404 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-404 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-404 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-404 input[type=button].btn-block,.factory-bootstrap-404 input[type=reset].btn-block,.factory-bootstrap-404 input[type=submit].btn-block{width:100%}.factory-bootstrap-404 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-404 .fade.in{opacity:1}.factory-bootstrap-404 .collapse{display:none}.factory-bootstrap-404 .collapse.in{display:block}.factory-bootstrap-404 .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-404 .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-404 .glyphicon:empty{width:1em}.factory-bootstrap-404 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-404 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-404 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-404 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-404 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-404 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-404 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-404 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-404 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-404 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-404 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-404 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-404 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-404 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-404 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-404 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-404 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-404 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-404 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-404 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-404 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-404 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-404 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-404 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-404 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-404 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-404 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-404 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-404 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-404 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-404 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-404 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-404 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-404 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-404 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-404 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-404 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-404 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-404 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-404 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-404 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-404 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-404 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-404 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-404 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-404 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-404 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-404 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-404 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-404 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-404 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-404 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-404 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-404 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-404 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-404 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-404 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-404 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-404 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-404 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-404 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-404 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-404 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-404 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-404 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-404 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-404 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-404 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-404 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-404 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-404 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-404 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-404 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-404 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-404 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-404 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-404 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-404 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-404 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-404 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-404 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-404 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-404 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-404 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-404 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-404 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-404 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-404 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-404 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-404 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-404 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-404 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-404 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-404 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-404 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-404 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-404 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-404 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-404 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-404 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-404 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-404 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-404 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-404 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-404 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-404 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-404 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-404 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-404 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-404 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-404 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-404 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-404 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-404 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-404 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-404 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-404 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-404 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-404 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-404 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-404 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-404 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-404 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-404 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-404 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-404 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-404 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-404 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-404 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-404 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-404 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-404 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-404 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-404 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-404 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-404 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-404 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-404 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-404 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-404 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-404 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-404 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-404 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-404 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-404 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-404 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-404 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-404 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-404 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-404 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-404 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-404 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-404 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-404 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-404 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-404 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-404 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-404 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-404 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-404 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-404 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-404 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-404 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-404 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-404 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-404 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-404 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-404 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-404 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-404 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-404 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-404 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-404 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-404 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-404 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-404 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-404 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-404 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-404 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-404 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-404 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-404 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-404 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-404 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-404 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-404 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-404 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-404 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-404 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-404 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-404 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-404 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-404 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-404 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-404 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-404 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-404 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-404 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-404 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-404 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-404 .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-404 .dropdown{position:relative}.factory-bootstrap-404 .dropdown-toggle:focus{outline:0}.factory-bootstrap-404 .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-404 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-404 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-404 .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-404 .dropdown-menu>li>a:focus,.factory-bootstrap-404 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-404 .dropdown-menu>.active>a,.factory-bootstrap-404 .dropdown-menu>.active>a:focus,.factory-bootstrap-404 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-404 .dropdown-menu>.disabled>a,.factory-bootstrap-404 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-404 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-404 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-404 .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-404 .open>.dropdown-menu{display:block}.factory-bootstrap-404 .open>a{outline:0}.factory-bootstrap-404 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-404 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-404 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-404 .dropup .caret,.factory-bootstrap-404 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-404 .dropup .dropdown-menu,.factory-bootstrap-404 .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-404 .btn-group,.factory-bootstrap-404 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-404 .btn-group-vertical>.btn,.factory-bootstrap-404 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-404 .btn-group-vertical>.btn.active,.factory-bootstrap-404 .btn-group-vertical>.btn:active,.factory-bootstrap-404 .btn-group-vertical>.btn:focus,.factory-bootstrap-404 .btn-group-vertical>.btn:hover,.factory-bootstrap-404 .btn-group>.btn.active,.factory-bootstrap-404 .btn-group>.btn:active,.factory-bootstrap-404 .btn-group>.btn:focus,.factory-bootstrap-404 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-404 .btn-group-vertical>.btn:focus,.factory-bootstrap-404 .btn-group>.btn:focus{outline:0}.factory-bootstrap-404 .btn-group .btn+.btn,.factory-bootstrap-404 .btn-group .btn+.btn-group,.factory-bootstrap-404 .btn-group .btn-group+.btn,.factory-bootstrap-404 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-404 .btn-toolbar:after,.factory-bootstrap-404 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-404 .btn-toolbar:after{clear:both}.factory-bootstrap-404 .btn-toolbar .btn-group{float:left}.factory-bootstrap-404 .btn-toolbar>.btn+.btn,.factory-bootstrap-404 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-404 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-404 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-404 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-404 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-404 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-404 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-404 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-404 .btn-group>.btn-group{float:left}.factory-bootstrap-404 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-404 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-404 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-404 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-404 .btn-group .dropdown-toggle:active,.factory-bootstrap-404 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-404 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-404 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-404 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-404 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-404 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-404 .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-404 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-404 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-404 .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-404 .btn .caret{margin-left:0}.factory-bootstrap-404 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-404 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-404 .btn-group-vertical>.btn,.factory-bootstrap-404 .btn-group-vertical>.btn-group,.factory-bootstrap-404 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-404 .btn-group-vertical>.btn-group:after,.factory-bootstrap-404 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-404 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-404 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-404 .btn-group-vertical>.btn+.btn,.factory-bootstrap-404 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-404 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-404 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-404 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-404 .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-404 .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-404 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-404 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-404 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-404 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-404 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-404 .btn-group-justified>.btn,.factory-bootstrap-404 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-404 .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-404 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-404 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-404 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-404 .input-group-lg>.form-control,.factory-bootstrap-404 .input-group-lg>.input-group-addon,.factory-bootstrap-404 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-404 select.input-group-lg>.form-control,.factory-bootstrap-404 select.input-group-lg>.input-group-addon,.factory-bootstrap-404 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-404 textarea.input-group-lg>.form-control,.factory-bootstrap-404 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-404 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-404 .input-group-sm>.form-control,.factory-bootstrap-404 .input-group-sm>.input-group-addon,.factory-bootstrap-404 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-404 select.input-group-sm>.form-control,.factory-bootstrap-404 select.input-group-sm>.input-group-addon,.factory-bootstrap-404 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-404 textarea.input-group-sm>.form-control,.factory-bootstrap-404 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-404 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-404 .input-group .form-control,.factory-bootstrap-404 .input-group-addon,.factory-bootstrap-404 .input-group-btn{display:table-cell}.factory-bootstrap-404 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-404 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-404 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-404 .input-group-addon,.factory-bootstrap-404 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-404 .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-404 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-404 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-404 .input-group-addon input[type=checkbox],.factory-bootstrap-404 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-404 .input-group .form-control:first-child,.factory-bootstrap-404 .input-group-addon:first-child,.factory-bootstrap-404 .input-group-btn:first-child>.btn,.factory-bootstrap-404 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-404 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-404 .input-group-addon:first-child{border-right:0}.factory-bootstrap-404 .input-group .form-control:last-child,.factory-bootstrap-404 .input-group-addon:last-child,.factory-bootstrap-404 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-404 .input-group-btn:last-child>.btn,.factory-bootstrap-404 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-404 .input-group-addon:last-child{border-left:0}.factory-bootstrap-404 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-404 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-404 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-404 .input-group-btn>.btn{position:relative}.factory-bootstrap-404 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-404 .input-group-btn>.btn:active,.factory-bootstrap-404 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-404 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-404 .nav:after,.factory-bootstrap-404 .nav:before{display:table;content:" "}.factory-bootstrap-404 .nav:after{clear:both}.factory-bootstrap-404 .nav>li{position:relative;display:block}.factory-bootstrap-404 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-404 .nav>li>a:focus,.factory-bootstrap-404 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-404 .nav>li.disabled>a{color:#999}.factory-bootstrap-404 .nav>li.disabled>a:focus,.factory-bootstrap-404 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-404 .nav .open>a,.factory-bootstrap-404 .nav .open>a:focus,.factory-bootstrap-404 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-404 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-404 .nav>li>a>img{max-width:none}.factory-bootstrap-404 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-404 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-404 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-404 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-404 .nav-tabs>li.active>a,.factory-bootstrap-404 .nav-tabs>li.active>a:focus,.factory-bootstrap-404 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-404 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-404 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-404 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-404 .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-404 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-404 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-404 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-404 .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-404 .nav-pills>li{float:left}.factory-bootstrap-404 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-404 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-404 .nav-pills>li.active>a,.factory-bootstrap-404 .nav-pills>li.active>a:focus,.factory-bootstrap-404 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-404 .nav-stacked>li{float:none}.factory-bootstrap-404 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-404 .nav-justified{width:100%}.factory-bootstrap-404 .nav-justified>li{float:none}.factory-bootstrap-404 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-404 .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-404 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-404 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-404 .nav-tabs-justified>.active>a,.factory-bootstrap-404 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-404 .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-404 .tab-content>.tab-pane{display:none}.factory-bootstrap-404 .tab-content>.active{display:block}.factory-bootstrap-404 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-404 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-404 .navbar:after,.factory-bootstrap-404 .navbar:before{display:table;content:" "}.factory-bootstrap-404 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-404 .navbar-header:after,.factory-bootstrap-404 .navbar-header:before{display:table;content:" "}.factory-bootstrap-404 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-404 .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-404 .navbar-collapse:after,.factory-bootstrap-404 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-404 .navbar-collapse:after{clear:both}.factory-bootstrap-404 .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-404 .container>.navbar-collapse,.factory-bootstrap-404 .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-404 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-404 .navbar-fixed-bottom,.factory-bootstrap-404 .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-404 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-404 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-404 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-404 .navbar-brand:focus,.factory-bootstrap-404 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-404 .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-404 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-404 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-404 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-404 .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-404 .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-404 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-404 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-404 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-404 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-404 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-404 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-404 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-404 .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-404 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-404 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-404 .navbar-default .navbar-brand:focus,.factory-bootstrap-404 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-404 .navbar-default .navbar-nav>li>a,.factory-bootstrap-404 .navbar-default .navbar-text{color:#777}.factory-bootstrap-404 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-404 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-404 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-404 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-404 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-404 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-404 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-404 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-404 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-404 .navbar-default .navbar-toggle:focus,.factory-bootstrap-404 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-404 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-404 .navbar-default .navbar-collapse,.factory-bootstrap-404 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-404 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-404 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-404 .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-404 .navbar-default .navbar-link{color:#777}.factory-bootstrap-404 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-404 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-404 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-404 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-404 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-404 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-404 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-404 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-404 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-404 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-404 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-404 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-404 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-404 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-404 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-404 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-404 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-404 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-404 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-404 .navbar-inverse .navbar-collapse,.factory-bootstrap-404 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-404 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-404 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-404 .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-404 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-404 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-404 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-404 .breadcrumb>li{display:inline-block}.factory-bootstrap-404 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-404 .breadcrumb>.active{color:#999}.factory-bootstrap-404 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-404 .pagination>li{display:inline}.factory-bootstrap-404 .pagination>li>a,.factory-bootstrap-404 .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-404 .pagination>li:first-child>a,.factory-bootstrap-404 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-404 .pagination>li:last-child>a,.factory-bootstrap-404 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-404 .pagination>li>a:focus,.factory-bootstrap-404 .pagination>li>a:hover,.factory-bootstrap-404 .pagination>li>span:focus,.factory-bootstrap-404 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-404 .pagination>.active>a,.factory-bootstrap-404 .pagination>.active>a:focus,.factory-bootstrap-404 .pagination>.active>a:hover,.factory-bootstrap-404 .pagination>.active>span,.factory-bootstrap-404 .pagination>.active>span:focus,.factory-bootstrap-404 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-404 .pagination>.disabled>a,.factory-bootstrap-404 .pagination>.disabled>a:focus,.factory-bootstrap-404 .pagination>.disabled>a:hover,.factory-bootstrap-404 .pagination>.disabled>span,.factory-bootstrap-404 .pagination>.disabled>span:focus,.factory-bootstrap-404 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-404 .pagination-lg>li>a,.factory-bootstrap-404 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-404 .pagination-lg>li:first-child>a,.factory-bootstrap-404 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-404 .pagination-lg>li:last-child>a,.factory-bootstrap-404 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-404 .pagination-sm>li>a,.factory-bootstrap-404 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-404 .pagination-sm>li:first-child>a,.factory-bootstrap-404 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-404 .pagination-sm>li:last-child>a,.factory-bootstrap-404 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-404 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-404 .pager:after,.factory-bootstrap-404 .pager:before{display:table;content:" "}.factory-bootstrap-404 .pager:after{clear:both}.factory-bootstrap-404 .pager li{display:inline}.factory-bootstrap-404 .pager li>a,.factory-bootstrap-404 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-404 .pager li>a:focus,.factory-bootstrap-404 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-404 .pager .next>a,.factory-bootstrap-404 .pager .next>span{float:right}.factory-bootstrap-404 .pager .previous>a,.factory-bootstrap-404 .pager .previous>span{float:left}.factory-bootstrap-404 .pager .disabled>a,.factory-bootstrap-404 .pager .disabled>a:focus,.factory-bootstrap-404 .pager .disabled>a:hover,.factory-bootstrap-404 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-404 .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-404 .label[href]:focus,.factory-bootstrap-404 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-404 .label:empty{display:none}.factory-bootstrap-404 .btn .label{position:relative;top:-1px}.factory-bootstrap-404 .label-default{background-color:#999}.factory-bootstrap-404 .label-default[href]:focus,.factory-bootstrap-404 .label-default[href]:hover{background-color:gray}.factory-bootstrap-404 .label-primary{background-color:#428bca}.factory-bootstrap-404 .label-primary[href]:focus,.factory-bootstrap-404 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-404 .label-success{background-color:#5cb85c}.factory-bootstrap-404 .label-success[href]:focus,.factory-bootstrap-404 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-404 .label-info{background-color:#5bc0de}.factory-bootstrap-404 .label-info[href]:focus,.factory-bootstrap-404 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-404 .label-warning{background-color:#f0ad4e}.factory-bootstrap-404 .label-warning[href]:focus,.factory-bootstrap-404 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-404 .label-danger{background-color:#d9534f}.factory-bootstrap-404 .label-danger[href]:focus,.factory-bootstrap-404 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-404 .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-404 .badge:empty{display:none}.factory-bootstrap-404 .btn .badge{position:relative;top:-1px}.factory-bootstrap-404 a.badge:focus,.factory-bootstrap-404 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-404 .nav-pills>.active>a>.badge,.factory-bootstrap-404 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-404 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-404 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-404 .jumbotron .h1,.factory-bootstrap-404 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-404 .jumbotron p{line-height:1.4}.factory-bootstrap-404 .container .jumbotron{border-radius:6px}.factory-bootstrap-404 .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-404 .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-404 .thumbnail a>img,.factory-bootstrap-404 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-404 a.thumbnail.active,.factory-bootstrap-404 a.thumbnail:focus,.factory-bootstrap-404 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-404 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-404 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-404 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-404 .alert .alert-link{font-weight:700}.factory-bootstrap-404 .alert>p,.factory-bootstrap-404 .alert>ul{margin-bottom:0}.factory-bootstrap-404 .alert>p+p{margin-top:5px}.factory-bootstrap-404 .alert-dismissable{padding-right:35px}.factory-bootstrap-404 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-404 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-404 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-404 .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-404 .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-404 .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-404 .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-404 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-404 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-404 .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-404 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-404 .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-404 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-404 .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-404 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-404 .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-404 .media,.factory-bootstrap-404 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-404 .media,.factory-bootstrap-404 .media .media{margin-top:15px}.factory-bootstrap-404 .media:first-child{margin-top:0}.factory-bootstrap-404 .media-object{display:block}.factory-bootstrap-404 .media-heading{margin:0 0 5px}.factory-bootstrap-404 .media>.pull-left{margin-right:10px}.factory-bootstrap-404 .media>.pull-right{margin-left:10px}.factory-bootstrap-404 .media-list{padding-left:0;list-style:none}.factory-bootstrap-404 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-404 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-404 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-404 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-404 .list-group-item>.badge{float:right}.factory-bootstrap-404 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-404 a.list-group-item{color:#555}.factory-bootstrap-404 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-404 a.list-group-item:focus,.factory-bootstrap-404 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-404 a.list-group-item.active,.factory-bootstrap-404 a.list-group-item.active:focus,.factory-bootstrap-404 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-404 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-404 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-404 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-404 a.list-group-item.active .list-group-item-text,.factory-bootstrap-404 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-404 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-404 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-404 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-404 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-404 .panel-body{padding:15px}.factory-bootstrap-404 .panel-body:after,.factory-bootstrap-404 .panel-body:before{display:table;content:" "}.factory-bootstrap-404 .panel-body:after{clear:both}.factory-bootstrap-404 .panel>.list-group{margin-bottom:0}.factory-bootstrap-404 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-404 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-404 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-404 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-404 .panel>.table,.factory-bootstrap-404 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-404 .panel>.panel-body+.table,.factory-bootstrap-404 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-404 .panel>.table>tbody:first-child td,.factory-bootstrap-404 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-404 .panel>.table-bordered,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-404 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-404 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-404 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-404 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-404 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-404 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-404 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-404 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-404 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-404 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-404 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-404 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-404 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-404 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-404 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-404 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-404 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-404 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-404 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-404 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-404 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-404 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-404 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-404 .panel-title>a{color:inherit}.factory-bootstrap-404 .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-404 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-404 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-404 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-404 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-404 .panel-group .panel-footer{border-top:0}.factory-bootstrap-404 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-404 .panel-default{border-color:#ddd}.factory-bootstrap-404 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-404 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-404 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-404 .panel-primary{border-color:#428bca}.factory-bootstrap-404 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-404 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-404 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-404 .panel-success{border-color:#d6e9c6}.factory-bootstrap-404 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-404 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-404 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-404 .panel-warning{border-color:#faebcc}.factory-bootstrap-404 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-404 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-404 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-404 .panel-danger{border-color:#ebccd1}.factory-bootstrap-404 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-404 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-404 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-404 .panel-info{border-color:#bce8f1}.factory-bootstrap-404 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-404 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-404 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-404 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-404 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-404 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-404 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-404 .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-404 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-404 .close:focus,.factory-bootstrap-404 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-404 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-404 .modal-open{overflow:hidden}.factory-bootstrap-404 .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-404 .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-404 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-404 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-404 .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-404 .modal-backdrop,.factory-bootstrap-404-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-404 .modal-backdrop.fade,.factory-bootstrap-404-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-404 .modal-backdrop.in,.factory-bootstrap-404-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-404 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-404 .modal-header .close{margin-top:-2px}.factory-bootstrap-404 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-404 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-404 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-404 .modal-footer:after,.factory-bootstrap-404 .modal-footer:before{display:table;content:" "}.factory-bootstrap-404 .modal-footer:after{clear:both}.factory-bootstrap-404 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-404 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-404 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-404 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-404 .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-404 .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-404 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-404 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-404 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-404 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-404 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-404 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-404 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-404 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-404 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-404 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-404 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-404 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-404 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-404 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-404 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-404 .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-404 .popover.top{margin-top:-10px}.factory-bootstrap-404 .popover.right{margin-left:10px}.factory-bootstrap-404 .popover.bottom{margin-top:10px}.factory-bootstrap-404 .popover.left{margin-left:-10px}.factory-bootstrap-404 .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-404 .popover-content{padding:9px 14px}.factory-bootstrap-404 .popover .arrow,.factory-bootstrap-404 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-404 .popover .arrow{border-width:11px}.factory-bootstrap-404 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-404 .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-404 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-404 .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-404 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-404 .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-404 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-404 .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-404 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-404 .carousel{position:relative}.factory-bootstrap-404 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-404 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-404 .carousel-inner>.item>a>img,.factory-bootstrap-404 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-404 .carousel-inner>.active,.factory-bootstrap-404 .carousel-inner>.next,.factory-bootstrap-404 .carousel-inner>.prev{display:block}.factory-bootstrap-404 .carousel-inner>.active{left:0}.factory-bootstrap-404 .carousel-inner>.next,.factory-bootstrap-404 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-404 .carousel-inner>.next{left:100%}.factory-bootstrap-404 .carousel-inner>.prev{left:-100%}.factory-bootstrap-404 .carousel-inner>.next.left,.factory-bootstrap-404 .carousel-inner>.prev.right{left:0}.factory-bootstrap-404 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-404 .carousel-inner>.active.right{left:100%}.factory-bootstrap-404 .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-404 .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-404 .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-404 .carousel-control:focus,.factory-bootstrap-404 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-404 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-404 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-404 .carousel-control .icon-next,.factory-bootstrap-404 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-404 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-404 .carousel-control .icon-prev{left:50%}.factory-bootstrap-404 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-404 .carousel-control .icon-next{right:50%}.factory-bootstrap-404 .carousel-control .icon-next,.factory-bootstrap-404 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-404 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-404 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-404 .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-404 .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-404 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-404 .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-404 .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-404 .clearfix:after,.factory-bootstrap-404 .clearfix:before{display:table;content:" "}.factory-bootstrap-404 .clearfix:after{clear:both}.factory-bootstrap-404 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-404 .pull-right{float:right!important}.factory-bootstrap-404 .pull-left{float:left!important}.factory-bootstrap-404 .hide{display:none!important}.factory-bootstrap-404 .show{display:block!important}.factory-bootstrap-404 .invisible{visibility:hidden}.factory-bootstrap-404 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-404 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-404 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-404 .visible-lg,.factory-bootstrap-404 .visible-md,.factory-bootstrap-404 .visible-sm,.factory-bootstrap-404 .visible-xs,.factory-bootstrap-404 td.visible-lg,.factory-bootstrap-404 td.visible-md,.factory-bootstrap-404 td.visible-sm,.factory-bootstrap-404 td.visible-xs,.factory-bootstrap-404 th.visible-lg,.factory-bootstrap-404 th.visible-md,.factory-bootstrap-404 th.visible-sm,.factory-bootstrap-404 th.visible-xs,.factory-bootstrap-404 tr.visible-lg,.factory-bootstrap-404 tr.visible-md,.factory-bootstrap-404 tr.visible-sm,.factory-bootstrap-404 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-404 .hidden-xs{display:block!important}.factory-bootstrap-404 table.hidden-xs{display:table}.factory-bootstrap-404 tr.hidden-xs{display:table-row!important}.factory-bootstrap-404 td.hidden-xs,.factory-bootstrap-404 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-404 .hidden-sm{display:block!important}.factory-bootstrap-404 table.hidden-sm{display:table}.factory-bootstrap-404 tr.hidden-sm{display:table-row!important}.factory-bootstrap-404 td.hidden-sm,.factory-bootstrap-404 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-404 .hidden-md{display:block!important}.factory-bootstrap-404 table.hidden-md{display:table}.factory-bootstrap-404 tr.hidden-md{display:table-row!important}.factory-bootstrap-404 td.hidden-md,.factory-bootstrap-404 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-404 .hidden-lg{display:block!important}.factory-bootstrap-404 table.hidden-lg{display:table}.factory-bootstrap-404 tr.hidden-lg{display:table-row!important}.factory-bootstrap-404 td.hidden-lg,.factory-bootstrap-404 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-404 .hidden-lg.hidden-xs,.factory-bootstrap-404 td.hidden-lg.hidden-xs,.factory-bootstrap-404 th.hidden-lg.hidden-xs,.factory-bootstrap-404 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-404 .hidden-lg.hidden-sm,.factory-bootstrap-404 td.hidden-lg.hidden-sm,.factory-bootstrap-404 th.hidden-lg.hidden-sm,.factory-bootstrap-404 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-404 .hidden-lg.hidden-md,.factory-bootstrap-404 td.hidden-lg.hidden-md,.factory-bootstrap-404 th.hidden-lg.hidden-md,.factory-bootstrap-404 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-404 .hidden-lg,.factory-bootstrap-404 td.hidden-lg,.factory-bootstrap-404 th.hidden-lg,.factory-bootstrap-404 tr.hidden-lg{display:none!important}}.factory-bootstrap-404 .visible-print,.factory-bootstrap-404 td.visible-print,.factory-bootstrap-404 th.visible-print,.factory-bootstrap-404 tr.visible-print{display:none!important}@media print{.factory-bootstrap-404 .visible-print{display:block!important}.factory-bootstrap-404 table.visible-print{display:table}.factory-bootstrap-404 tr.visible-print{display:table-row!important}.factory-bootstrap-404 td.visible-print,.factory-bootstrap-404 th.visible-print{display:table-cell!important}.factory-bootstrap-404 .hidden-print,.factory-bootstrap-404 td.hidden-print,.factory-bootstrap-404 th.hidden-print,.factory-bootstrap-404 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-404 .btn-danger,.factory-bootstrap-404 .btn-default,.factory-bootstrap-404 .btn-info,.factory-bootstrap-404 .btn-primary,.factory-bootstrap-404 .btn-success,.factory-bootstrap-404 .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-404 .btn-danger.active,.factory-bootstrap-404 .btn-danger:active,.factory-bootstrap-404 .btn-default.active,.factory-bootstrap-404 .btn-default:active,.factory-bootstrap-404 .btn-info.active,.factory-bootstrap-404 .btn-info:active,.factory-bootstrap-404 .btn-primary.active,.factory-bootstrap-404 .btn-primary:active,.factory-bootstrap-404 .btn-success.active,.factory-bootstrap-404 .btn-success:active,.factory-bootstrap-404 .btn-warning.active,.factory-bootstrap-404 .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-404 .btn.active,.factory-bootstrap-404 .btn:active{background-image:none}.factory-bootstrap-404 .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-404 .btn-default.active,.factory-bootstrap-404 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-404 .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-404 .btn-gold:focus,.factory-bootstrap-404 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-404 .btn-gold.active,.factory-bootstrap-404 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-404 .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-404 .btn-primary:focus,.factory-bootstrap-404 .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-404 .btn-primary.active,.factory-bootstrap-404 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-404 .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-404 .btn-success:focus,.factory-bootstrap-404 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-404 .btn-success.active,.factory-bootstrap-404 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-404 .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-404 .btn-warning:focus,.factory-bootstrap-404 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-404 .btn-warning.active,.factory-bootstrap-404 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-404 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-404 .btn-danger.active,.factory-bootstrap-404 .btn-danger:active,.factory-bootstrap-404 .btn-danger:focus,.factory-bootstrap-404 .btn-danger:hover,.factory-bootstrap-404 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-404 .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-404 .btn-info:focus,.factory-bootstrap-404 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-404 .btn-info.active,.factory-bootstrap-404 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-404 .img-thumbnail,.factory-bootstrap-404 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-404 .dropdown-menu>li>a:focus,.factory-bootstrap-404 .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-404 .dropdown-menu>.active>a,.factory-bootstrap-404 .dropdown-menu>.active>a:focus,.factory-bootstrap-404 .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-404 .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-404 .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-404 .navbar-brand,.factory-bootstrap-404 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-404 .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-404 .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-404 .navbar-inverse .navbar-brand,.factory-bootstrap-404 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-404 .navbar-fixed-bottom,.factory-bootstrap-404 .navbar-fixed-top,.factory-bootstrap-404 .navbar-static-top{border-radius:0}.factory-bootstrap-404 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-404 .alert .actions{padding-top:10px}.factory-bootstrap-404 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-404 .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-404 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-404 .alert-normal,.factory-bootstrap-404 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-404 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-404 .alert-danger a:not(.btn),.factory-bootstrap-404 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-404 .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-404 .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-404 .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-404 .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-404 .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-404 .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-404 .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-404 .list-group-item.active,.factory-bootstrap-404 .list-group-item.active:focus,.factory-bootstrap-404 .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-404 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-404 .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-404 .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-404 .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-404 .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-404 .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-404 .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-404 .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-404 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-404 .factory-hidden{display:none}.factory-bootstrap-404 .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.datetimepicker.min.css
CHANGED
@@ -12,4 +12,4 @@
|
|
12 |
* Datetimepicker for Bootstrap 3
|
13 |
* version : 4.17.47
|
14 |
* https://github.com/Eonasdan/bootstrap-datetimepicker/
|
15 |
-
*/.factory-bootstrap-
|
12 |
* Datetimepicker for Bootstrap 3
|
13 |
* version : 4.17.47
|
14 |
* https://github.com/Eonasdan/bootstrap-datetimepicker/
|
15 |
+
*/.factory-bootstrap-404 .bootstrap-datetimepicker-widget{list-style:none}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:19em}@media (min-width:768px){.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:1200px){.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu:after,.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu:before{content:'';display:inline-block;position:absolute}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);top:-7px;left:7px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;top:-6px;left:8px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);bottom:-7px;left:6px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;bottom:-6px;left:7px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .list-unstyled{margin:0}.factory-bootstrap-404 .bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.factory-bootstrap-404 .bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .timepicker-hour,.factory-bootstrap-404 .bootstrap-datetimepicker-widget .timepicker-minute,.factory-bootstrap-404 .bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.factory-bootstrap-404 .bootstrap-datetimepicker-widget button[data-action]{padding:6px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=incrementHours]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Increment Hours"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Increment Minutes"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=decrementHours]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Decrement Hours"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Decrement Minutes"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=showHours]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Show Hours"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=showMinutes]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Show Minutes"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Toggle AM/PM"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=clear]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Clear the picker"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .btn[data-action=today]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Set the date to today"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .picker-switch{text-align:center}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .picker-switch::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Toggle Date and Time Screens"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table{width:100%;margin:0}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table th{text-align:center;border-radius:4px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table th.disabled,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table th.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table th.prev::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Previous Month"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table th.next::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Next Month"}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eee}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#777}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.day:hover,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.hour:hover,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.minute:hover,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.second:hover{background:#eee;cursor:pointer}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.new,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.old{color:#777}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.today{position:relative}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.today:before{content:'';display:inline-block;border:solid transparent;border-width:0 0 7px 7px;border-bottom-color:#337ab7;border-top-color:rgba(0,0,0,.2);position:absolute;bottom:4px;right:4px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.active,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.active:hover{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.disabled,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:4px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td span:hover{background:#eee}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td span.active{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td span.old{color:#777}.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td span.disabled,.factory-bootstrap-404 .bootstrap-datetimepicker-widget table td span.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.factory-bootstrap-404 .bootstrap-datetimepicker-widget.wider{width:21em}.factory-bootstrap-404 .bootstrap-datetimepicker-widget .datepicker-decades .decade{line-height:1.8em!important}.factory-bootstrap-404 .input-group.date .input-group-addon{cursor:pointer}.factory-bootstrap-404 .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}
|
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-404 .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-404 .btn-primary:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:disabled,.factory-bootstrap-404 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-404 .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-404 .pagination>.active>a,.factory-bootstrap-404 .pagination>.active>a:focus,.factory-bootstrap-404 .pagination>.active>a:hover,.factory-bootstrap-404 .pagination>.active>span,.factory-bootstrap-404 .pagination>.active>span:focus,.factory-bootstrap-404 .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-404 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-404 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-404 .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-404 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-404 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-404 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-404 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-404 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-404 .factory-form-group legend+.control-group{margin-top:0}
|
libs/factory/bootstrap/assets/css-min/bootstrap.form-metabox.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-form-metabox{padding:15px 10px 10px}.factory-form-metabox .control-group:last-child{margin-bottom:0}#side-sortables .factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-form-metabox{padding:15px 10px 10px}.factory-form-metabox .control-group:last-child{margin-bottom:0}#side-sortables .factory-bootstrap-404 .control-label{float:left;width:100%;text-align:left;position:relative;top:1px}#side-sortables .factory-bootstrap-404 .control-icon{float:left;margin:0 6px 0 0}#side-sortables .factory-bootstrap-404 input{float:right;position:relative;top:-25px}#side-sortables .factory-bootstrap-404 .col-sm-10{margin:0;width:100%}#side-sortables .factory-bootstrap-404 .form-group{float:none;width:auto;overflow:auto;margin-bottom:0;border-top:1px solid #f7f7f7;padding-top:15px;margin-top:15px}#side-sortables .factory-bootstrap-404 .form-group:first-child{border-top:0;padding-top:0;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-404 .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-404 .btn-primary:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:disabled,.factory-bootstrap-404 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-404 .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-404 .pagination>.active>a,.factory-bootstrap-404 .pagination>.active>a:focus,.factory-bootstrap-404 .pagination>.active>a:hover,.factory-bootstrap-404 .pagination>.active>span,.factory-bootstrap-404 .pagination>.active>span:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:disabled,.factory-bootstrap-404 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-404 .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-404 .pagination>.active>a,.factory-bootstrap-404 .pagination>.active>a:focus,.factory-bootstrap-404 .pagination>.active>a:hover,.factory-bootstrap-404 .pagination>.active>span,.factory-bootstrap-404 .pagination>.active>span:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:disabled,.factory-bootstrap-404 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-404 .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-404 .pagination>.active>a,.factory-bootstrap-404 .pagination>.active>a:focus,.factory-bootstrap-404 .pagination>.active>a:hover,.factory-bootstrap-404 .pagination>.active>span,.factory-bootstrap-404 .pagination>.active>span:focus,.factory-bootstrap-404 .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-404 .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-404 .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-404 .btn-primary:focus,.factory-bootstrap-404 .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-404 .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-404 .btn-primary:disabled,.factory-bootstrap-404 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-404 .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-404 .pagination>.active>a,.factory-bootstrap-404 .pagination>.active>a:focus,.factory-bootstrap-404 .pagination>.active>a:hover,.factory-bootstrap-404 .pagination>.active>span,.factory-bootstrap-404 .pagination>.active>span:focus,.factory-bootstrap-404 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
|
libs/factory/bootstrap/assets/css-min/bootstrap.tab.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-tab{overflow:hidden;margin-bottom:25px}.factory-bootstrap-404 .factory-tab .form-group{overflow:hidden}.factory-bootstrap-404 .factory-tab+.form-group{margin-top:30px}.factory-bootstrap-404 .nav-tabs a{text-decoration:none}.factory-bootstrap-404 .factory-align-horizontal .nav-tabs{border-bottom:0}.factory-bootstrap-404 .factory-align-vertical .factory-headers{float:left;width:150px}.factory-bootstrap-404 .factory-align-vertical .factory-headers .nav-tabs{border-bottom:0;display:block;margin:0;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.factory-bootstrap-404 .factory-tab .factory-bodies{background-color:#fff;-webkit-border-radius:0 3px 3px;-moz-border-radius:0 3px 3px;border-radius:0 3px 3px;border:1px solid #DDD;padding:30px 15px 25px 10px}.factory-bootstrap-404 .factory-align-vertical .factory-bodies{min-height:250px;margin-left:150px}.factory-bootstrap-404 .factory-align-vertical .factory-bodies .actory-tab-item{clear:both}.factory-bootstrap-404 .form-horizontal .factory-align-vertical .form-group{margin-left:-5px}.factory-bootstrap-404 .factory-align-vertical .nav-tabs li{float:none}.factory-bootstrap-404 .factory-align-vertical .nav-tabs li a{margin-right:-1px;margin-bottom:0;position:relative;z-index:10;padding:10px 0 9px 15px;-webkit-border-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0;-moz-border-radius:3px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;border-radius:3px;border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-404 .factory-align-vertical .nav-tabs>.active>a{border:1px solid #DDD!important;border-right:1px solid #fff!important}.factory-bootstrap-404 .factory-align-vertical .nav-tabs>li a:hover{color:#21759B;z-index:5;border-color:transparent}.factory-bootstrap-404 .factory-align-vertical .control-label{width:20%;max-width:140px}.factory-bootstrap-404 .factory-align-vertical .control-group{width:80%}.factory-bootstrap-404 .factory-align-vertical .control-group input[type=text],.factory-bootstrap-404 .factory-align-vertical .control-group textarea{width:90%}
|
libs/factory/bootstrap/assets/css-min/bootstrap.wp-editor.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .wp-editor-wrap *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-404 .wp-editor-wrap .button,.factory-bootstrap-404 .wp-editor-wrap input,.factory-bootstrap-404 .wp-editor-wrap textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-404 .switch-html,.factory-bootstrap-404 .switch-tmce{color:#777}.factory-bootstrap-404 .html-active .switch-html,.factory-bootstrap-404 .tmce-active .switch-tmce{color:#555}.factory-bootstrap-404 .switch-html:hover,.factory-bootstrap-404 .switch-tmce:hover{color:#777}
|
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-404 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-404 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-404 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-404 .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-404 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-404 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-404 .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-404 .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-404 .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-404 .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-404 .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-404 .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-404 .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.color-and-opacity.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-control-row{padding-left:105px;position:relative}.factory-bootstrap-404 .factory-control-row .factory-color-wrap{position:absolute;left:0;top:0}.factory-bootstrap-404 .factory-control-row .factory-opacity-wrap{width:100%}.factory-bootstrap-404 .iris-picker{margin-top:10px}
|
libs/factory/bootstrap/assets/css-min/control.color.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-color{position:relative}.factory-bootstrap-404 .factory-color .factory-color-hex{display:inline-block;width:65px;text-align:left;vertical-align:top;border-top-right-radius:3px;border-bottom-right-radius:3px;border-radius:3px;z-index:1;position:relative;margin-left:26px;border-top-left-radius:0;border-bottom-left-radius:0}.factory-bootstrap-404 .factory-color .factory-background,.factory-bootstrap-404 .factory-color .factory-pattern{cursor:pointer;height:26px;width:26px;position:absolute;border-radius:5px;background:transparent url(../../images/color_picker_pattern.jpg) center center repeat;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid rgba(0,0,0,.34);z-index:1;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.factory-bootstrap-404 .factory-color .factory-background{z-index:2;border-radius:3px}
|
libs/factory/bootstrap/assets/css-min/control.dropdown-and-colors.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-dropdown-and-colors .factory-colors-wrap,.factory-bootstrap-404 .factory-dropdown-and-colors .factory-dropdown-wrap{display:inline-block}.factory-bootstrap-404 .factory-dropdown-and-colors .factory-dropdown-wrap{min-width:200px;max-width:300px}
|
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-404 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-404 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-404 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-404 .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-404 .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-404 .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-404 .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-404 .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-404 .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-404 .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-404 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-404 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-404 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-404 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
|
libs/factory/bootstrap/assets/css-min/control.fonts.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-font .factory-control-row{padding:0;vertical-align:top}.factory-bootstrap-404 .factory-font .factory-color-wrap{position:static;display:inline-block;vertical-align:top}.factory-bootstrap-404 .factory-font .factory-size-wrap{display:inline-block;width:70px;vertical-align:top}.factory-bootstrap-404 .iris-picker{margin-top:10px}.factory-bootstrap-404 .factory-font .factory-family-wrap{padding-bottom:10px}.factory-bootstrap-404 .factory-font .chosen-results{max-height:150px}
|
libs/factory/bootstrap/assets/css-min/control.list.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-list li input{margin:0 5px 0 0;position:relative;top:1px;outline:0!important}.factory-bootstrap-404 .factory-list li span{vertical-align:bottom;line-height:100%}.factory-bootstrap-404 .factory-list .factory-error{position:relative;display:inline-block}.factory-bootstrap-404 .factory-list .factory-error i{color:#f47665;margin:0 7px 0 1px;cursor:help}.factory-bootstrap-404 .factory-list .factory-error-text{display:none;position:absolute;width:300px}.factory-bootstrap-404 .factory-list .factory-error-text,.factory-bootstrap-404 .factory-list-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;padding:10px 12px 12px;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:2px}.factory-bootstrap-404 .factory-list-error{padding:5px 10px;max-width:500px;display:inline-block}.factory-bootstrap-404 .factory-list-error i{margin:0 7px 0 1px}.factory-bootstrap-404 .factory-list .factory-error-text a{color:#fff;font-weight:700}.factory-bootstrap-404 .factory-list .factory-has-error:hover .factory-error-text{display:block}.factory-bootstrap-404 .factory-list .factory-has-error{cursor:default}.opanda-connect-buttons .opanda-has-error .opanda-error{display:inline-block}.factory-bootstrap-404 .factory-checklist-way.factory-empty{font-style:italic;margin-top:7px}
|
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-404 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-404 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-404 .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-404 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-404 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-404 .factory-mtextbox-add-item{display:block;margin-top:10px}
|
libs/factory/bootstrap/assets/css-min/control.pattern.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-pattern .factory-pattern-controls{vertical-align:middle}.factory-bootstrap-404 .factory-pattern .factory-preview-wrap{display:inline-block;vertical-align:middle}.factory-bootstrap-404 .factory-pattern .factory-preview{width:100px;height:26px;background:transparent url(../assets/images/color_picker_pattern.jpg) repeat;border:0;border-radius:3px;cursor:pointer;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid rgba(0,0,0,.34)!important;position:relative}.factory-bootstrap-404 .factory-pattern .factory-preview.factory-empty{background:transparent url(../assets/images/color_picker_pattern.jpg) repeat!important}.factory-bootstrap-404 .factory-pattern .factory-preview span{position:absolute;top:0;left:76px;background:#111;width:26px;height:26px;border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;z-index:99;border-bottom:2px solid #000}.factory-bootstrap-404 .factory-pattern .factory-preview span:hover{background:#161616}.factory-bootstrap-404 .factory-pattern .factory-preview span:after{content:'';width:0;height:0;border:transparent solid 5px;border-top-color:#96a6a6;position:absolute;top:10px;right:7px;z-index:1}.factory-bootstrap-404 .factory-pattern.factory-patterns-panel-active .factory-preview span:after{border-top-color:transparent;border-bottom-color:#96a6a6;top:4px}.factory-bootstrap-404 .factory-pattern .factory-color-panel{padding:10px;margin-top:10px;background:rgba(255,255,255,.04);border-radius:3px;display:none}.factory-bootstrap-404 .factory-pattern.factory-color-panel-active .factory-color-panel{display:block}.factory-bootstrap-404 .factory-pattern .factory-color-label{margin-right:5px}.factory-bootstrap-404 .factory-pattern .factory-color,.factory-bootstrap-404 .factory-pattern .factory-color-label{display:inline-block;vertical-align:middle}.factory-bootstrap-404 .factory-pattern .factory-color-panel .factory-hint{margin-top:7px}.factory-bootstrap-404 .factory-pattern .factory-patterns-panel{display:none;margin-top:10px;padding:2px 0 0;border-top:1px solid #272727;overflow:visible}.factory-bootstrap-404 .factory-pattern .factory-patterns-group{clear:both;padding:2px 0 0;border-bottom:1px solid #272727;padding-bottom:10px}.factory-bootstrap-404 .factory-pattern .factory-patterns-group-title{margin-top:10px}.factory-bootstrap-404 .factory-pattern .factory-patterns-row{padding-top:10px}.factory-bootstrap-404 .factory-pattern.factory-patterns-panel-active .factory-patterns-panel{display:block}.factory-bootstrap-404 .factory-pattern .factory-patterns-item,.factory-bootstrap-404 .factory-pattern .factory-patterns-item div{width:46px;height:46px}.factory-bootstrap-404 .factory-pattern .factory-patterns-item{display:inline-block;cursor:pointer;position:relative;vertical-align:top}.factory-bootstrap-404 .factory-pattern .factory-patterns-item+.factory-patterns-item{margin-left:10px}.factory-bootstrap-404 .factory-pattern .factory-patterns-item div{position:absolute;border-radius:100%;border:4px solid #333}.factory-bootstrap-404 .factory-pattern .factory-patterns-item:hover .factory-pattern-holder{width:64px;height:64px;top:-10px;left:-10px;border:1px solid #333;z-index:10}.factory-bootstrap-404 .factory-pattern .factory-no-preview{background:#2f2f2f;line-height:46px;border-radius:100%;text-align:center;font-size:20px}.factory-bootstrap-404 .factory-pattern .factory-no-preview:hover{background:#333}.factory-bootstrap-404 .factory-pattern .factory-button .fa{font-size:14px;margin-right:1px}.factory-bootstrap-404 .factory-pattern .factory-button span{position:relative;top:-1px}.factory-bootstrap-404 .factory-pattern .factory-button+.factory-button{margin-left:3px}.factory-bootstrap-404 .factory-pattern .factory-change-color-btn{margin-left:5px}
|
libs/factory/bootstrap/assets/css-min/control.radio-colors.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-from-radio-label,.factory-bootstrap-404 .factory-from-radio-label>span{-webkit-transition:all .3s;-moz-transition:all .3s;-o-transition:all .3s;transition:all .3s}.factory-bootstrap-404 .factory-from-radio-label{position:relative;width:30px;height:30px;border-radius:3px;background-color:#fff;border:1px solid rgba(0,0,0,.1)}.factory-bootstrap-404 .factory-from-radio-label:hover{background-color:#f5f2f2;border:1px solid rgba(0,0,0,.2)}.factory-bootstrap-404 .factory-from-radio-label>span{display:block;position:absolute;top:2px;left:2px;right:2px;bottom:2px;text-indent:-9999px;background-color:#fff}.factory-bootstrap-404 .factory-from-radio-label .factory-radio-color:checked+span{border:5px solid #fff}.factory-bootstrap-404 .factory-radio-color{opacity:0}
|
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-404 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-404 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-404 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-404 .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-404 .factory-tab .factory-more-link-hide:hover{color:#999}
|
libs/factory/bootstrap/assets/css-min/plugin.gradient-picker.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-gradient-picker-wrap{margin-bottom:20px}.factory-bootstrap-404 .gradientPicker-preview{width:100%;height:30px;border-radius:3px;background:transparent url(../../images/color_picker_pattern.jpg) repeat}.factory-bootstrap-404 .factory-color-picker-container{display:none;padding-top:15px}.factory-bootstrap-404 .factory-point,.factory-bootstrap-404 .factory-point-color{position:absolute;width:10px;height:10px;border:0;font-size:0;border-radius:50% 50% 100% 100%;-moz-border-radius:50% 50% 100% 100%;-webkit-border-radius:50% 50% 100% 100%;cursor:pointer;overflow:hidden}.factory-bootstrap-404 .factory-point-color{border-radius:0}.factory-bootstrap-404 .factory-point{background:transparent url(../../images/color_picker_pattern.jpg) repeat}.factory-bootstrap-404 .factory-current-point{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.factory-bootstrap-404 .factory-points{position:relative;height:10px;width:100%;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ1JREFUeNq8VAEKwCAITOn%2FX3ZzTBCxUicTBsvsOO9EIKJhAwCe5H0H4xBvLQgOegV8yZ8AZwJHc8zKI4c53bk6IGNqMH3GCJuMlkeG4p4G1e5Lq1KXatmCM7AdrbLLq7FC0agycx7oXOmk8%2FY%2FPNjRR7s6ZFHFqY5AcasLFDPtpAC7WH7aNkxgO9gdLNv3oWdKiKXX7r8bu6rlJcAA9ZRfMt5oHoIAAAAASUVORK5CYII%3D) 5 0,pointer}.factory-bootstrap-404 .gradientPicker-iris-wrap{display:none;position:absolute;left:0;top:78px;width:212px;height:212px;background:#111;border:1px solid #222;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;z-index:9999}.factory-bootstrap-404 .gradientPicker-iris-wrap .iris-border,.factory-bootstrap-404 .gradientPicker-iris-wrap .iris-picker{border:0;background:#111}.factory-bootstrap-404 .gradientPicker-pallets{padding:8px 0 3px;margin-bottom:10px;border-bottom:1px solid #323232;border-top:1px solid #323232;font-size:0;line-height:0;text-align:center}.factory-bootstrap-404 .factory-preset-gradient,.factory-bootstrap-404 .factory-secondary-color{width:22px;height:22px;border-radius:100%}.factory-bootstrap-404 .factory-preset-gradient{display:inline-block;cursor:pointer;margin-bottom:3px;position:relative}.factory-bootstrap-404 .factory-preset-gradient:hover{opacity:.9}.factory-bootstrap-404 .factory-preset-gradient+.factory-preset-gradient{margin-left:5px}.factory-bootstrap-404 .factory-secondary-color-wrap{width:11px;height:22px;position:absolute;overflow:hidden;right:0}.factory-bootstrap-404 .factory-secondary-color{position:absolute;left:-11px;background-color:red}.factory-bootstrap-404 .gradientPicker-filldirection{width:200px;margin-top:5px}.factory-bootstrap-404 .gradientPicker-ptConfig .color-chooser{float:left}.factory-bootstrap-404 .factory-color-picker-container .factory-slider{padding-left:75px;padding-right:60px;position:relative}.factory-bootstrap-404 .factory-color-picker-container .factory-color-hex{top:0;left:0;position:absolute;width:65px}
|
libs/factory/bootstrap/assets/css-min/plugin.paddings-editor.min.css
CHANGED
@@ -8,4 +8,4 @@
|
|
8 |
*/
|
9 |
|
10 |
|
11 |
-
.factory-bootstrap-
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-404 .factory-paddings-editor{padding-left:135px;height:90px;position:relative}.factory-bootstrap-404 .factory-paddings-editor .factory-rectangle{width:120px;height:90px;border-radius:10px;background-color:#a6b6b6;overflow:hidden;cursor:pointer;-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:0;left:0}.factory-bootstrap-404 .factory-paddings-editor .factory-side{width:100%;height:100%;position:absolute}.factory-bootstrap-404 .factory-paddings-editor .factory-side-center{width:30px;height:30px;border-radius:100%;background-color:#bac9c9;position:absolute;top:30px;left:45px;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-404 .factory-paddings-editor .factory-side-center:hover{background-color:#c0cece}.factory-bootstrap-404 .factory-paddings-editor .factory-side-center.factory-active{background-color:#829595}.factory-bootstrap-404 .factory-paddings-editor .factory-side-top{height:30px;top:0;left:0}.factory-bootstrap-404 .factory-paddings-editor .factory-side-right{width:45px;top:0;right:0}.factory-bootstrap-404 .factory-paddings-editor .factory-side-bottom{height:30px;bottom:0;left:0}.factory-bootstrap-404 .factory-paddings-editor .factory-side-left{width:45px;top:0;left:0}.factory-bootstrap-404 .factory-paddings-editor .factory-rectangle .factory-visible-value{color:#1b1f1f;background-color:rgba(255,255,255,.3);border-radius:3px;padding:2px;line-height:13px;display:inline-block}.factory-bootstrap-404 .factory-paddings-editor .factory-rectangle .factory-side.factory-active .factory-visible-value{background-color:rgba(255,255,255,.3);border-radius:3px;padding:2px;line-height:13px;display:inline-block}.factory-bootstrap-404 .factory-paddings-editor .factory-visible-value em{font-style:normal}.factory-bootstrap-404 .factory-paddings-editor .factory-side-bottom,.factory-bootstrap-404 .factory-paddings-editor .factory-side-top{text-align:center;line-height:30px}.factory-bootstrap-404 .factory-paddings-editor .factory-side-left,.factory-bootstrap-404 .factory-paddings-editor .factory-side-right{line-height:90px;text-align:center}.factory-bootstrap-404 .factory-paddings-editor .factory-slider-container{font-style:italic}.factory-bootstrap-404 .factory-paddings-editor .factory-slider{padding-right:0;margin-top:7px}
|
libs/factory/bootstrap/assets/js-min/bootstrap.accordion.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a,b,c,d){"use strict";a.fn.
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a,b,c,d){"use strict";a.fn.factoryBootstrap404_accordion=function(){return this.each(function(){var b=a(this),c=!1;a("."+b.attr("class")+" > div:first").show(),a("."+b.attr("class")+" > div:first").add("."+b.attr("class")+" > h3:first").addClass("active"),a("."+b.attr("class")+" > h3").on("click",function(){var d=a(this),e=d.next();return d.hasClass("active")||c||(c=!0,d.parent().children("div").slideUp(500),a("."+b.attr("class")+" > h3").removeClass("active"),d.addClass("active"),e.addClass("active").slideDown({duration:500,complete:function(){c=!1,b.trigger("shown.bs.accordion",[d])},progress:function(){b.trigger("progress.bs.accordion",[d])}})),!1})})},a(function(){a(".factory-bootstrap-404 .factory-accordion").factoryBootstrap404_accordion()})}(jQuery,window,document);
|
libs/factory/bootstrap/assets/js-min/bootstrap.collapse.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},a.fn.
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},a.fn.factoryBootstrap404_collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.factoryBootstrap404_collapse.Constructor=b,a(document).on("click.bs.collapse.data-api","[data-toggle=factory-collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=factory-collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/bootstrap.datetimepicker.min.js
CHANGED
@@ -15,4 +15,4 @@
|
|
15 |
=========================================================
|
16 |
*/
|
17 |
!function(a){"use strict";if("function"==typeof define&&define.amd)define(["jquery","moment"],a);else if("object"==typeof exports)module.exports=a(require("jquery"),require("moment"));else{if("undefined"==typeof jQuery)throw"bootstrap-datetimepicker requires jQuery to be loaded first";if("undefined"==typeof moment)throw"bootstrap-datetimepicker requires Moment.js to be loaded first";a(jQuery,moment)}}(function(a,b){"use strict";if(!b)throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first");var c=function(c,d){var e,f,g,h,i,j,k,l={},m=!0,n=!1,o=!1,p=0,q=[{clsName:"days",navFnc:"M",navStep:1},{clsName:"months",navFnc:"y",navStep:1},{clsName:"years",navFnc:"y",navStep:10},{clsName:"decades",navFnc:"y",navStep:100}],r=["days","months","years","decades"],s=["top","bottom","auto"],t=["left","right","auto"],u=["default","top","bottom"],v={up:38,38:"up",down:40,40:"down",left:37,37:"left",right:39,39:"right",tab:9,9:"tab",escape:27,27:"escape",enter:13,13:"enter",pageUp:33,33:"pageUp",pageDown:34,34:"pageDown",shift:16,16:"shift",control:17,17:"control",space:32,32:"space",t:84,84:"t","delete":46,46:"delete"},w={},x=function(){return void 0!==b.tz&&void 0!==d.timeZone&&null!==d.timeZone&&""!==d.timeZone},y=function(a){var c;return c=void 0===a||null===a?b():b.isDate(a)||b.isMoment(a)?b(a):x()?b.tz(a,j,d.useStrict,d.timeZone):b(a,j,d.useStrict),x()&&c.tz(d.timeZone),c},z=function(a){if("string"!=typeof a||a.length>1)throw new TypeError("isEnabled expects a single character string parameter");switch(a){case"y":return-1!==i.indexOf("Y");case"M":return-1!==i.indexOf("M");case"d":return-1!==i.toLowerCase().indexOf("d");case"h":case"H":return-1!==i.toLowerCase().indexOf("h");case"m":return-1!==i.indexOf("m");case"s":return-1!==i.indexOf("s");default:return!1}},A=function(){return z("h")||z("m")||z("s")},B=function(){return z("y")||z("M")||z("d")},C=function(){var b=a("<thead>").append(a("<tr>").append(a("<th>").addClass("prev").attr("data-action","previous").append(a("<span>").addClass(d.icons.previous))).append(a("<th>").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",d.calendarWeeks?"6":"5")).append(a("<th>").addClass("next").attr("data-action","next").append(a("<span>").addClass(d.icons.next)))),c=a("<tbody>").append(a("<tr>").append(a("<td>").attr("colspan",d.calendarWeeks?"8":"7")));return[a("<div>").addClass("datepicker-days").append(a("<table>").addClass("table-condensed").append(b).append(a("<tbody>"))),a("<div>").addClass("datepicker-months").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-years").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-decades").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone()))]},D=function(){var b=a("<tr>"),c=a("<tr>"),e=a("<tr>");return z("h")&&(b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementHour}).addClass("btn").attr("data-action","incrementHours").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-hour").attr({"data-time-component":"hours",title:d.tooltips.pickHour}).attr("data-action","showHours"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementHour}).addClass("btn").attr("data-action","decrementHours").append(a("<span>").addClass(d.icons.down))))),z("m")&&(z("h")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementMinute}).addClass("btn").attr("data-action","incrementMinutes").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-minute").attr({"data-time-component":"minutes",title:d.tooltips.pickMinute}).attr("data-action","showMinutes"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementMinute}).addClass("btn").attr("data-action","decrementMinutes").append(a("<span>").addClass(d.icons.down))))),z("s")&&(z("m")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementSecond}).addClass("btn").attr("data-action","incrementSeconds").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-second").attr({"data-time-component":"seconds",title:d.tooltips.pickSecond}).attr("data-action","showSeconds"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementSecond}).addClass("btn").attr("data-action","decrementSeconds").append(a("<span>").addClass(d.icons.down))))),h||(b.append(a("<td>").addClass("separator")),c.append(a("<td>").append(a("<button>").addClass("btn btn-primary").attr({"data-action":"togglePeriod",tabindex:"-1",title:d.tooltips.togglePeriod}))),e.append(a("<td>").addClass("separator"))),a("<div>").addClass("timepicker-picker").append(a("<table>").addClass("table-condensed").append([b,c,e]))},E=function(){var b=a("<div>").addClass("timepicker-hours").append(a("<table>").addClass("table-condensed")),c=a("<div>").addClass("timepicker-minutes").append(a("<table>").addClass("table-condensed")),d=a("<div>").addClass("timepicker-seconds").append(a("<table>").addClass("table-condensed")),e=[D()];return z("h")&&e.push(b),z("m")&&e.push(c),z("s")&&e.push(d),e},F=function(){var b=[];return d.showTodayButton&&b.push(a("<td>").append(a("<a>").attr({"data-action":"today",title:d.tooltips.today}).append(a("<span>").addClass(d.icons.today)))),!d.sideBySide&&B()&&A()&&b.push(a("<td>").append(a("<a>").attr({"data-action":"togglePicker",title:d.tooltips.selectTime}).append(a("<span>").addClass(d.icons.time)))),d.showClear&&b.push(a("<td>").append(a("<a>").attr({"data-action":"clear",title:d.tooltips.clear}).append(a("<span>").addClass(d.icons.clear)))),d.showClose&&b.push(a("<td>").append(a("<a>").attr({"data-action":"close",title:d.tooltips.close}).append(a("<span>").addClass(d.icons.close)))),a("<table>").addClass("table-condensed").append(a("<tbody>").append(a("<tr>").append(b)))},G=function(){var b=a("<div>").addClass("bootstrap-datetimepicker-widget dropdown-menu"),c=a("<div>").addClass("datepicker").append(C()),e=a("<div>").addClass("timepicker").append(E()),f=a("<ul>").addClass("list-unstyled"),g=a("<li>").addClass("picker-switch"+(d.collapse?" accordion-toggle":"")).append(F());return d.inline&&b.removeClass("dropdown-menu"),h&&b.addClass("usetwentyfour"),z("s")&&!h&&b.addClass("wider"),d.sideBySide&&B()&&A()?(b.addClass("timepicker-sbs"),"top"===d.toolbarPlacement&&b.append(g),b.append(a("<div>").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))),"bottom"===d.toolbarPlacement&&b.append(g),b):("top"===d.toolbarPlacement&&f.append(g),B()&&f.append(a("<li>").addClass(d.collapse&&A()?"collapse in":"").append(c)),"default"===d.toolbarPlacement&&f.append(g),A()&&f.append(a("<li>").addClass(d.collapse&&B()?"collapse":"").append(e)),"bottom"===d.toolbarPlacement&&f.append(g),b.append(f))},H=function(){var b,e={};return b=c.is("input")||d.inline?c.data():c.find("input").data(),b.dateOptions&&b.dateOptions instanceof Object&&(e=a.extend(!0,e,b.dateOptions)),a.each(d,function(a){var c="date"+a.charAt(0).toUpperCase()+a.slice(1);void 0!==b[c]&&(e[a]=b[c])}),e},I=function(){var b,e=(n||c).position(),f=(n||c).offset(),g=d.widgetPositioning.vertical,h=d.widgetPositioning.horizontal;if(d.widgetParent)b=d.widgetParent.append(o);else if(c.is("input"))b=c.after(o).parent();else{if(d.inline)return void(b=c.append(o));b=c,c.children().first().after(o)}if("auto"===g&&(g=f.top+1.5*o.height()>=a(window).height()+a(window).scrollTop()&&o.height()+c.outerHeight()<f.top?"top":"bottom"),"auto"===h&&(h=b.width()<f.left+o.outerWidth()/2&&f.left+o.outerWidth()>a(window).width()?"right":"left"),"top"===g?o.addClass("top").removeClass("bottom"):o.addClass("bottom").removeClass("top"),"right"===h?o.addClass("pull-right"):o.removeClass("pull-right"),"static"===b.css("position")&&(b=b.parents().filter(function(){return"static"!==a(this).css("position")}).first()),0===b.length)throw new Error("datetimepicker component should be placed within a non-static positioned container");o.css({top:"top"===g?"auto":e.top+c.outerHeight(),bottom:"top"===g?b.outerHeight()-(b===c?0:e.top):"auto",left:"left"===h?b===c?0:e.left:"auto",right:"left"===h?"auto":b.outerWidth()-c.outerWidth()-(b===c?0:e.left)})},J=function(a){"dp.change"===a.type&&(a.date&&a.date.isSame(a.oldDate)||!a.date&&!a.oldDate)||c.trigger(a)},K=function(a){"y"===a&&(a="YYYY"),J({type:"dp.update",change:a,viewDate:f.clone()})},L=function(a){o&&(a&&(k=Math.max(p,Math.min(3,k+a))),o.find(".datepicker > div").hide().filter(".datepicker-"+q[k].clsName).show())},M=function(){var b=a("<tr>"),c=f.clone().startOf("w").startOf("d");for(d.calendarWeeks===!0&&b.append(a("<th>").addClass("cw").text("#"));c.isBefore(f.clone().endOf("w"));)b.append(a("<th>").addClass("dow").text(c.format("dd"))),c.add(1,"d");o.find(".datepicker-days thead").append(b)},N=function(a){return d.disabledDates[a.format("YYYY-MM-DD")]===!0},O=function(a){return d.enabledDates[a.format("YYYY-MM-DD")]===!0},P=function(a){return d.disabledHours[a.format("H")]===!0},Q=function(a){return d.enabledHours[a.format("H")]===!0},R=function(b,c){if(!b.isValid())return!1;if(d.disabledDates&&"d"===c&&N(b))return!1;if(d.enabledDates&&"d"===c&&!O(b))return!1;if(d.minDate&&b.isBefore(d.minDate,c))return!1;if(d.maxDate&&b.isAfter(d.maxDate,c))return!1;if(d.daysOfWeekDisabled&&"d"===c&&-1!==d.daysOfWeekDisabled.indexOf(b.day()))return!1;if(d.disabledHours&&("h"===c||"m"===c||"s"===c)&&P(b))return!1;if(d.enabledHours&&("h"===c||"m"===c||"s"===c)&&!Q(b))return!1;if(d.disabledTimeIntervals&&("h"===c||"m"===c||"s"===c)){var e=!1;if(a.each(d.disabledTimeIntervals,function(){return b.isBetween(this[0],this[1])?(e=!0,!1):void 0}),e)return!1}return!0},S=function(){for(var b=[],c=f.clone().startOf("y").startOf("d");c.isSame(f,"y");)b.push(a("<span>").attr("data-action","selectMonth").addClass("month").text(c.format("MMM"))),c.add(1,"M");o.find(".datepicker-months td").empty().append(b)},T=function(){var b=o.find(".datepicker-months"),c=b.find("th"),g=b.find("tbody").find("span");c.eq(0).find("span").attr("title",d.tooltips.prevYear),c.eq(1).attr("title",d.tooltips.selectYear),c.eq(2).find("span").attr("title",d.tooltips.nextYear),b.find(".disabled").removeClass("disabled"),R(f.clone().subtract(1,"y"),"y")||c.eq(0).addClass("disabled"),c.eq(1).text(f.year()),R(f.clone().add(1,"y"),"y")||c.eq(2).addClass("disabled"),g.removeClass("active"),e.isSame(f,"y")&&!m&&g.eq(e.month()).addClass("active"),g.each(function(b){R(f.clone().month(b),"M")||a(this).addClass("disabled")})},U=function(){var a=o.find(".datepicker-years"),b=a.find("th"),c=f.clone().subtract(5,"y"),g=f.clone().add(6,"y"),h="";for(b.eq(0).find("span").attr("title",d.tooltips.prevDecade),b.eq(1).attr("title",d.tooltips.selectDecade),b.eq(2).find("span").attr("title",d.tooltips.nextDecade),a.find(".disabled").removeClass("disabled"),d.minDate&&d.minDate.isAfter(c,"y")&&b.eq(0).addClass("disabled"),b.eq(1).text(c.year()+"-"+g.year()),d.maxDate&&d.maxDate.isBefore(g,"y")&&b.eq(2).addClass("disabled");!c.isAfter(g,"y");)h+='<span data-action="selectYear" class="year'+(c.isSame(e,"y")&&!m?" active":"")+(R(c,"y")?"":" disabled")+'">'+c.year()+"</span>",c.add(1,"y");a.find("td").html(h)},V=function(){var a,c=o.find(".datepicker-decades"),g=c.find("th"),h=b({y:f.year()-f.year()%100-1}),i=h.clone().add(100,"y"),j=h.clone(),k=!1,l=!1,m="";for(g.eq(0).find("span").attr("title",d.tooltips.prevCentury),g.eq(2).find("span").attr("title",d.tooltips.nextCentury),c.find(".disabled").removeClass("disabled"),(h.isSame(b({y:1900}))||d.minDate&&d.minDate.isAfter(h,"y"))&&g.eq(0).addClass("disabled"),g.eq(1).text(h.year()+"-"+i.year()),(h.isSame(b({y:2e3}))||d.maxDate&&d.maxDate.isBefore(i,"y"))&&g.eq(2).addClass("disabled");!h.isAfter(i,"y");)a=h.year()+12,k=d.minDate&&d.minDate.isAfter(h,"y")&&d.minDate.year()<=a,l=d.maxDate&&d.maxDate.isAfter(h,"y")&&d.maxDate.year()<=a,m+='<span data-action="selectDecade" class="decade'+(e.isAfter(h)&&e.year()<=a?" active":"")+(R(h,"y")||k||l?"":" disabled")+'" data-selection="'+(h.year()+6)+'">'+(h.year()+1)+" - "+(h.year()+12)+"</span>",h.add(12,"y");m+="<span></span><span></span><span></span>",c.find("td").html(m),g.eq(1).text(j.year()+1+"-"+h.year())},W=function(){var b,c,g,h=o.find(".datepicker-days"),i=h.find("th"),j=[],k=[];if(B()){for(i.eq(0).find("span").attr("title",d.tooltips.prevMonth),i.eq(1).attr("title",d.tooltips.selectMonth),i.eq(2).find("span").attr("title",d.tooltips.nextMonth),h.find(".disabled").removeClass("disabled"),i.eq(1).text(f.format(d.dayViewHeaderFormat)),R(f.clone().subtract(1,"M"),"M")||i.eq(0).addClass("disabled"),R(f.clone().add(1,"M"),"M")||i.eq(2).addClass("disabled"),b=f.clone().startOf("M").startOf("w").startOf("d"),g=0;42>g;g++)0===b.weekday()&&(c=a("<tr>"),d.calendarWeeks&&c.append('<td class="cw">'+b.week()+"</td>"),j.push(c)),k=["day"],b.isBefore(f,"M")&&k.push("old"),b.isAfter(f,"M")&&k.push("new"),b.isSame(e,"d")&&!m&&k.push("active"),R(b,"d")||k.push("disabled"),b.isSame(y(),"d")&&k.push("today"),(0===b.day()||6===b.day())&&k.push("weekend"),J({type:"dp.classify",date:b,classNames:k}),c.append('<td data-action="selectDay" data-day="'+b.format("L")+'" class="'+k.join(" ")+'">'+b.date()+"</td>"),b.add(1,"d");h.find("tbody").empty().append(j),T(),U(),V()}},X=function(){var b=o.find(".timepicker-hours table"),c=f.clone().startOf("d"),d=[],e=a("<tr>");for(f.hour()>11&&!h&&c.hour(12);c.isSame(f,"d")&&(h||f.hour()<12&&c.hour()<12||f.hour()>11);)c.hour()%4===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectHour" class="hour'+(R(c,"h")?"":" disabled")+'">'+c.format(h?"HH":"hh")+"</td>"),c.add(1,"h");b.empty().append(d)},Y=function(){for(var b=o.find(".timepicker-minutes table"),c=f.clone().startOf("h"),e=[],g=a("<tr>"),h=1===d.stepping?5:d.stepping;f.isSame(c,"h");)c.minute()%(4*h)===0&&(g=a("<tr>"),e.push(g)),g.append('<td data-action="selectMinute" class="minute'+(R(c,"m")?"":" disabled")+'">'+c.format("mm")+"</td>"),c.add(h,"m");b.empty().append(e)},Z=function(){for(var b=o.find(".timepicker-seconds table"),c=f.clone().startOf("m"),d=[],e=a("<tr>");f.isSame(c,"m");)c.second()%20===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectSecond" class="second'+(R(c,"s")?"":" disabled")+'">'+c.format("ss")+"</td>"),c.add(5,"s");b.empty().append(d)},$=function(){var a,b,c=o.find(".timepicker span[data-time-component]");h||(a=o.find(".timepicker [data-action=togglePeriod]"),b=e.clone().add(e.hours()>=12?-12:12,"h"),a.text(e.format("A")),R(b,"h")?a.removeClass("disabled"):a.addClass("disabled")),c.filter("[data-time-component=hours]").text(e.format(h?"HH":"hh")),c.filter("[data-time-component=minutes]").text(e.format("mm")),c.filter("[data-time-component=seconds]").text(e.format("ss")),X(),Y(),Z()},_=function(){o&&(W(),$())},aa=function(a){var b=m?null:e;if(!a)return m=!0,g.val(""),c.data("date",""),J({type:"dp.change",date:!1,oldDate:b}),void _();if(a=a.clone().locale(d.locale),x()&&a.tz(d.timeZone),1!==d.stepping)for(a.minutes(Math.round(a.minutes()/d.stepping)*d.stepping).seconds(0);d.minDate&&a.isBefore(d.minDate);)a.add(d.stepping,"minutes");R(a)?(e=a,f=e.clone(),g.val(e.format(i)),c.data("date",e.format(i)),m=!1,_(),J({type:"dp.change",date:e.clone(),oldDate:b})):(d.keepInvalid?J({type:"dp.change",date:a,oldDate:b}):g.val(m?"":e.format(i)),J({type:"dp.error",date:a,oldDate:b}))},ba=function(){var b=!1;return o?(o.find(".collapse").each(function(){var c=a(this).data("collapse");return c&&c.transitioning?(b=!0,!1):!0}),b?l:(n&&n.hasClass("btn")&&n.toggleClass("active"),o.hide(),a(window).off("resize",I),o.off("click","[data-action]"),o.off("mousedown",!1),o.remove(),o=!1,J({type:"dp.hide",date:e.clone()}),g.blur(),f=e.clone(),l)):l},ca=function(){aa(null)},da=function(a){return void 0===d.parseInputDate?(!b.isMoment(a)||a instanceof Date)&&(a=y(a)):a=d.parseInputDate(a),a},ea={next:function(){var a=q[k].navFnc;f.add(q[k].navStep,a),W(),K(a)},previous:function(){var a=q[k].navFnc;f.subtract(q[k].navStep,a),W(),K(a)},pickerSwitch:function(){L(1)},selectMonth:function(b){var c=a(b.target).closest("tbody").find("span").index(a(b.target));f.month(c),k===p?(aa(e.clone().year(f.year()).month(f.month())),d.inline||ba()):(L(-1),W()),K("M")},selectYear:function(b){var c=parseInt(a(b.target).text(),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDecade:function(b){var c=parseInt(a(b.target).data("selection"),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDay:function(b){var c=f.clone();a(b.target).is(".old")&&c.subtract(1,"M"),a(b.target).is(".new")&&c.add(1,"M"),aa(c.date(parseInt(a(b.target).text(),10))),A()||d.keepOpen||d.inline||ba()},incrementHours:function(){var a=e.clone().add(1,"h");R(a,"h")&&aa(a)},incrementMinutes:function(){var a=e.clone().add(d.stepping,"m");R(a,"m")&&aa(a)},incrementSeconds:function(){var a=e.clone().add(1,"s");R(a,"s")&&aa(a)},decrementHours:function(){var a=e.clone().subtract(1,"h");R(a,"h")&&aa(a)},decrementMinutes:function(){var a=e.clone().subtract(d.stepping,"m");R(a,"m")&&aa(a)},decrementSeconds:function(){var a=e.clone().subtract(1,"s");R(a,"s")&&aa(a)},togglePeriod:function(){aa(e.clone().add(e.hours()>=12?-12:12,"h"))},togglePicker:function(b){var c,e=a(b.target),f=e.closest("ul"),g=f.find(".in"),h=f.find(".collapse:not(.in)");if(g&&g.length){if(c=g.data("collapse"),c&&c.transitioning)return;g.collapse?(g.collapse("hide"),h.collapse("show")):(g.removeClass("in"),h.addClass("in")),e.is("span")?e.toggleClass(d.icons.time+" "+d.icons.date):e.find("span").toggleClass(d.icons.time+" "+d.icons.date)}},showPicker:function(){o.find(".timepicker > div:not(.timepicker-picker)").hide(),o.find(".timepicker .timepicker-picker").show()},showHours:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-hours").show()},showMinutes:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-seconds").show()},selectHour:function(b){var c=parseInt(a(b.target).text(),10);h||(e.hours()>=12?12!==c&&(c+=12):12===c&&(c=0)),aa(e.clone().hours(c)),ea.showPicker.call(l)},selectMinute:function(b){aa(e.clone().minutes(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},selectSecond:function(b){aa(e.clone().seconds(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},clear:ca,today:function(){var a=y();R(a,"d")&&aa(a)},close:ba},fa=function(b){return a(b.currentTarget).is(".disabled")?!1:(ea[a(b.currentTarget).data("action")].apply(l,arguments),!1)},ga=function(){var b,c={year:function(a){return a.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(a){return a.date(1).hours(0).seconds(0).minutes(0)},day:function(a){return a.hours(0).seconds(0).minutes(0)},hour:function(a){return a.seconds(0).minutes(0)},minute:function(a){return a.seconds(0)}};return g.prop("disabled")||!d.ignoreReadonly&&g.prop("readonly")||o?l:(void 0!==g.val()&&0!==g.val().trim().length?aa(da(g.val().trim())):m&&d.useCurrent&&(d.inline||g.is("input")&&0===g.val().trim().length)&&(b=y(),"string"==typeof d.useCurrent&&(b=c[d.useCurrent](b)),aa(b)),o=G(),M(),S(),o.find(".timepicker-hours").hide(),o.find(".timepicker-minutes").hide(),o.find(".timepicker-seconds").hide(),_(),L(),a(window).on("resize",I),o.on("click","[data-action]",fa),o.on("mousedown",!1),n&&n.hasClass("btn")&&n.toggleClass("active"),I(),o.show(),d.focusOnShow&&!g.is(":focus")&&g.focus(),J({type:"dp.show"}),l)},ha=function(){return o?ba():ga()},ia=function(a){var b,c,e,f,g=null,h=[],i={},j=a.which,k="p";w[j]=k;for(b in w)w.hasOwnProperty(b)&&w[b]===k&&(h.push(b),parseInt(b,10)!==j&&(i[b]=!0));for(b in d.keyBinds)if(d.keyBinds.hasOwnProperty(b)&&"function"==typeof d.keyBinds[b]&&(e=b.split(" "),e.length===h.length&&v[j]===e[e.length-1])){for(f=!0,c=e.length-2;c>=0;c--)if(!(v[e[c]]in i)){f=!1;break}if(f){g=d.keyBinds[b];break}}g&&(g.call(l,o),a.stopPropagation(),a.preventDefault())},ja=function(a){w[a.which]="r",a.stopPropagation(),a.preventDefault()},ka=function(b){var c=a(b.target).val().trim(),d=c?da(c):null;return aa(d),b.stopImmediatePropagation(),!1},la=function(){g.on({change:ka,blur:d.debug?"":ba,keydown:ia,keyup:ja,focus:d.allowInputToggle?ga:""}),c.is("input")?g.on({focus:ga}):n&&(n.on("click",ha),n.on("mousedown",!1))},ma=function(){g.off({change:ka,blur:blur,keydown:ia,keyup:ja,focus:d.allowInputToggle?ba:""}),c.is("input")?g.off({focus:ga}):n&&(n.off("click",ha),n.off("mousedown",!1))},na=function(b){var c={};return a.each(b,function(){var a=da(this);a.isValid()&&(c[a.format("YYYY-MM-DD")]=!0)}),Object.keys(c).length?c:!1},oa=function(b){var c={};return a.each(b,function(){c[this]=!0}),Object.keys(c).length?c:!1},pa=function(){var a=d.format||"L LT";i=a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){var b=e.localeData().longDateFormat(a)||a;return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){return e.localeData().longDateFormat(a)||a})}),j=d.extraFormats?d.extraFormats.slice():[],j.indexOf(a)<0&&j.indexOf(i)<0&&j.push(i),h=i.toLowerCase().indexOf("a")<1&&i.replace(/\[.*?\]/g,"").indexOf("h")<1,z("y")&&(p=2),z("M")&&(p=1),z("d")&&(p=0),k=Math.max(p,k),m||aa(e)};if(l.destroy=function(){ba(),ma(),c.removeData("DateTimePicker"),c.removeData("date")},l.toggle=ha,l.show=ga,l.hide=ba,l.disable=function(){return ba(),n&&n.hasClass("btn")&&n.addClass("disabled"),g.prop("disabled",!0),l},l.enable=function(){return n&&n.hasClass("btn")&&n.removeClass("disabled"),g.prop("disabled",!1),l},l.ignoreReadonly=function(a){if(0===arguments.length)return d.ignoreReadonly;if("boolean"!=typeof a)throw new TypeError("ignoreReadonly () expects a boolean parameter");return d.ignoreReadonly=a,l},l.options=function(b){if(0===arguments.length)return a.extend(!0,{},d);if(!(b instanceof Object))throw new TypeError("options() options parameter should be an object");return a.extend(!0,d,b),a.each(d,function(a,b){if(void 0===l[a])throw new TypeError("option "+a+" is not recognized!");l[a](b)}),l},l.date=function(a){if(0===arguments.length)return m?null:e.clone();if(!(null===a||"string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("date() parameter must be one of [null, string, moment or Date]");return aa(null===a?null:da(a)),l},l.format=function(a){if(0===arguments.length)return d.format;if("string"!=typeof a&&("boolean"!=typeof a||a!==!1))throw new TypeError("format() expects a string or boolean:false parameter "+a);return d.format=a,i&&pa(),l},l.timeZone=function(a){if(0===arguments.length)return d.timeZone;if("string"!=typeof a)throw new TypeError("newZone() expects a string parameter");return d.timeZone=a,l},l.dayViewHeaderFormat=function(a){if(0===arguments.length)return d.dayViewHeaderFormat;if("string"!=typeof a)throw new TypeError("dayViewHeaderFormat() expects a string parameter");return d.dayViewHeaderFormat=a,l},l.extraFormats=function(a){if(0===arguments.length)return d.extraFormats;if(a!==!1&&!(a instanceof Array))throw new TypeError("extraFormats() expects an array or false parameter");return d.extraFormats=a,j&&pa(),l},l.disabledDates=function(b){if(0===arguments.length)return d.disabledDates?a.extend({},d.disabledDates):d.disabledDates;if(!b)return d.disabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledDates() expects an array parameter");return d.disabledDates=na(b),d.enabledDates=!1,_(),l},l.enabledDates=function(b){if(0===arguments.length)return d.enabledDates?a.extend({},d.enabledDates):d.enabledDates;if(!b)return d.enabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledDates() expects an array parameter");return d.enabledDates=na(b),d.disabledDates=!1,_(),l},l.daysOfWeekDisabled=function(a){if(0===arguments.length)return d.daysOfWeekDisabled.splice(0);if("boolean"==typeof a&&!a)return d.daysOfWeekDisabled=!1,_(),l;if(!(a instanceof Array))throw new TypeError("daysOfWeekDisabled() expects an array parameter");if(d.daysOfWeekDisabled=a.reduce(function(a,b){return b=parseInt(b,10),b>6||0>b||isNaN(b)?a:(-1===a.indexOf(b)&&a.push(b),a)},[]).sort(),d.useCurrent&&!d.keepInvalid){for(var b=0;!R(e,"d");){if(e.add(1,"d"),31===b)throw"Tried 31 times to find a valid date";b++}aa(e)}return _(),l},l.maxDate=function(a){if(0===arguments.length)return d.maxDate?d.maxDate.clone():d.maxDate;if("boolean"==typeof a&&a===!1)return d.maxDate=!1,_(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=y());var b=da(a);if(!b.isValid())throw new TypeError("maxDate() Could not parse date parameter: "+a);if(d.minDate&&b.isBefore(d.minDate))throw new TypeError("maxDate() date parameter is before options.minDate: "+b.format(i));return d.maxDate=b,d.useCurrent&&!d.keepInvalid&&e.isAfter(a)&&aa(d.maxDate),f.isAfter(b)&&(f=b.clone().subtract(d.stepping,"m")),_(),l},l.minDate=function(a){if(0===arguments.length)return d.minDate?d.minDate.clone():d.minDate;if("boolean"==typeof a&&a===!1)return d.minDate=!1,_(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=y());var b=da(a);if(!b.isValid())throw new TypeError("minDate() Could not parse date parameter: "+a);if(d.maxDate&&b.isAfter(d.maxDate))throw new TypeError("minDate() date parameter is after options.maxDate: "+b.format(i));return d.minDate=b,d.useCurrent&&!d.keepInvalid&&e.isBefore(a)&&aa(d.minDate),f.isBefore(b)&&(f=b.clone().add(d.stepping,"m")),_(),l},l.defaultDate=function(a){if(0===arguments.length)return d.defaultDate?d.defaultDate.clone():d.defaultDate;if(!a)return d.defaultDate=!1,l;"string"==typeof a&&(a="now"===a||"moment"===a?y():y(a));var b=da(a);if(!b.isValid())throw new TypeError("defaultDate() Could not parse date parameter: "+a);if(!R(b))throw new TypeError("defaultDate() date passed is invalid according to component setup validations");return d.defaultDate=b,(d.defaultDate&&d.inline||""===g.val().trim())&&aa(d.defaultDate),l},l.locale=function(a){if(0===arguments.length)return d.locale;if(!b.localeData(a))throw new TypeError("locale() locale "+a+" is not loaded from moment locales!");return d.locale=a,e.locale(d.locale),f.locale(d.locale),i&&pa(),o&&(ba(),ga()),l},l.stepping=function(a){return 0===arguments.length?d.stepping:(a=parseInt(a,10),(isNaN(a)||1>a)&&(a=1),d.stepping=a,l)},l.useCurrent=function(a){var b=["year","month","day","hour","minute"];if(0===arguments.length)return d.useCurrent;if("boolean"!=typeof a&&"string"!=typeof a)throw new TypeError("useCurrent() expects a boolean or string parameter");if("string"==typeof a&&-1===b.indexOf(a.toLowerCase()))throw new TypeError("useCurrent() expects a string parameter of "+b.join(", "));return d.useCurrent=a,l},l.collapse=function(a){if(0===arguments.length)return d.collapse;if("boolean"!=typeof a)throw new TypeError("collapse() expects a boolean parameter");return d.collapse===a?l:(d.collapse=a,o&&(ba(),ga()),l)},l.icons=function(b){if(0===arguments.length)return a.extend({},d.icons);if(!(b instanceof Object))throw new TypeError("icons() expects parameter to be an Object");return a.extend(d.icons,b),o&&(ba(),ga()),l},l.tooltips=function(b){if(0===arguments.length)return a.extend({},d.tooltips);if(!(b instanceof Object))throw new TypeError("tooltips() expects parameter to be an Object");return a.extend(d.tooltips,b),o&&(ba(),ga()),l},l.useStrict=function(a){if(0===arguments.length)return d.useStrict;if("boolean"!=typeof a)throw new TypeError("useStrict() expects a boolean parameter");return d.useStrict=a,l},l.sideBySide=function(a){if(0===arguments.length)return d.sideBySide;if("boolean"!=typeof a)throw new TypeError("sideBySide() expects a boolean parameter");return d.sideBySide=a,o&&(ba(),ga()),l},l.viewMode=function(a){if(0===arguments.length)return d.viewMode;if("string"!=typeof a)throw new TypeError("viewMode() expects a string parameter");if(-1===r.indexOf(a))throw new TypeError("viewMode() parameter must be one of ("+r.join(", ")+") value");return d.viewMode=a,k=Math.max(r.indexOf(a),p),L(),l},l.toolbarPlacement=function(a){if(0===arguments.length)return d.toolbarPlacement;if("string"!=typeof a)throw new TypeError("toolbarPlacement() expects a string parameter");if(-1===u.indexOf(a))throw new TypeError("toolbarPlacement() parameter must be one of ("+u.join(", ")+") value");return d.toolbarPlacement=a,o&&(ba(),ga()),l},l.widgetPositioning=function(b){if(0===arguments.length)return a.extend({},d.widgetPositioning);if("[object Object]"!=={}.toString.call(b))throw new TypeError("widgetPositioning() expects an object variable");if(b.horizontal){if("string"!=typeof b.horizontal)throw new TypeError("widgetPositioning() horizontal variable must be a string");if(b.horizontal=b.horizontal.toLowerCase(),-1===t.indexOf(b.horizontal))throw new TypeError("widgetPositioning() expects horizontal parameter to be one of ("+t.join(", ")+")");d.widgetPositioning.horizontal=b.horizontal}if(b.vertical){if("string"!=typeof b.vertical)throw new TypeError("widgetPositioning() vertical variable must be a string");if(b.vertical=b.vertical.toLowerCase(),-1===s.indexOf(b.vertical))throw new TypeError("widgetPositioning() expects vertical parameter to be one of ("+s.join(", ")+")");d.widgetPositioning.vertical=b.vertical}return _(),l},l.calendarWeeks=function(a){if(0===arguments.length)return d.calendarWeeks;if("boolean"!=typeof a)throw new TypeError("calendarWeeks() expects parameter to be a boolean value");return d.calendarWeeks=a,_(),l},l.showTodayButton=function(a){if(0===arguments.length)return d.showTodayButton;if("boolean"!=typeof a)throw new TypeError("showTodayButton() expects a boolean parameter");return d.showTodayButton=a,o&&(ba(),ga()),l},l.showClear=function(a){if(0===arguments.length)return d.showClear;if("boolean"!=typeof a)throw new TypeError("showClear() expects a boolean parameter");return d.showClear=a,o&&(ba(),ga()),l},l.widgetParent=function(b){if(0===arguments.length)return d.widgetParent;if("string"==typeof b&&(b=a(b)),null!==b&&"string"!=typeof b&&!(b instanceof a))throw new TypeError("widgetParent() expects a string or a jQuery object parameter");return d.widgetParent=b,o&&(ba(),ga()),l},l.keepOpen=function(a){if(0===arguments.length)return d.keepOpen;if("boolean"!=typeof a)throw new TypeError("keepOpen() expects a boolean parameter");return d.keepOpen=a,l},l.focusOnShow=function(a){if(0===arguments.length)return d.focusOnShow;if("boolean"!=typeof a)throw new TypeError("focusOnShow() expects a boolean parameter");return d.focusOnShow=a,l},l.inline=function(a){if(0===arguments.length)return d.inline;if("boolean"!=typeof a)throw new TypeError("inline() expects a boolean parameter");return d.inline=a,l},l.clear=function(){return ca(),l},l.keyBinds=function(a){return 0===arguments.length?d.keyBinds:(d.keyBinds=a,l)},l.getMoment=function(a){return y(a)},l.debug=function(a){if("boolean"!=typeof a)throw new TypeError("debug() expects a boolean parameter");return d.debug=a,l},l.allowInputToggle=function(a){if(0===arguments.length)return d.allowInputToggle;if("boolean"!=typeof a)throw new TypeError("allowInputToggle() expects a boolean parameter");return d.allowInputToggle=a,l},l.showClose=function(a){if(0===arguments.length)return d.showClose;if("boolean"!=typeof a)throw new TypeError("showClose() expects a boolean parameter");return d.showClose=a,l},l.keepInvalid=function(a){if(0===arguments.length)return d.keepInvalid;if("boolean"!=typeof a)throw new TypeError("keepInvalid() expects a boolean parameter");
|
18 |
-
return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)return d.datepickerInput;if("string"!=typeof a)throw new TypeError("datepickerInput() expects a string parameter");return d.datepickerInput=a,l},l.parseInputDate=function(a){if(0===arguments.length)return d.parseInputDate;if("function"!=typeof a)throw new TypeError("parseInputDate() sholud be as function");return d.parseInputDate=a,l},l.disabledTimeIntervals=function(b){if(0===arguments.length)return d.disabledTimeIntervals?a.extend({},d.disabledTimeIntervals):d.disabledTimeIntervals;if(!b)return d.disabledTimeIntervals=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledTimeIntervals() expects an array parameter");return d.disabledTimeIntervals=b,_(),l},l.disabledHours=function(b){if(0===arguments.length)return d.disabledHours?a.extend({},d.disabledHours):d.disabledHours;if(!b)return d.disabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledHours() expects an array parameter");if(d.disabledHours=oa(b),d.enabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.enabledHours=function(b){if(0===arguments.length)return d.enabledHours?a.extend({},d.enabledHours):d.enabledHours;if(!b)return d.enabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledHours() expects an array parameter");if(d.enabledHours=oa(b),d.disabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.viewDate=function(a){if(0===arguments.length)return f.clone();if(!a)return f=e.clone(),l;if(!("string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");return f=da(a),K(),l},c.is("input"))g=c;else if(g=c.find(d.datepickerInput),0===g.length)g=c.find("input");else if(!g.is("input"))throw new Error('CSS class "'+d.datepickerInput+'" cannot be applied to non input element');if(c.hasClass("input-group")&&(n=0===c.find(".datepickerbutton").length?c.find(".input-group-addon"):c.find(".datepickerbutton")),!d.inline&&!g.is("input"))throw new Error("Could not initialize DateTimePicker without an input element");return e=y(),f=e.clone(),a.extend(!0,d,H()),l.options(d),pa(),la(),g.prop("disabled")&&l.disable(),g.is("input")&&0!==g.val().trim().length?aa(da(g.val().trim())):d.defaultDate&&void 0===g.attr("placeholder")&&aa(d.defaultDate),d.inline&&ga(),l};return a.fn.
|
15 |
=========================================================
|
16 |
*/
|
17 |
!function(a){"use strict";if("function"==typeof define&&define.amd)define(["jquery","moment"],a);else if("object"==typeof exports)module.exports=a(require("jquery"),require("moment"));else{if("undefined"==typeof jQuery)throw"bootstrap-datetimepicker requires jQuery to be loaded first";if("undefined"==typeof moment)throw"bootstrap-datetimepicker requires Moment.js to be loaded first";a(jQuery,moment)}}(function(a,b){"use strict";if(!b)throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first");var c=function(c,d){var e,f,g,h,i,j,k,l={},m=!0,n=!1,o=!1,p=0,q=[{clsName:"days",navFnc:"M",navStep:1},{clsName:"months",navFnc:"y",navStep:1},{clsName:"years",navFnc:"y",navStep:10},{clsName:"decades",navFnc:"y",navStep:100}],r=["days","months","years","decades"],s=["top","bottom","auto"],t=["left","right","auto"],u=["default","top","bottom"],v={up:38,38:"up",down:40,40:"down",left:37,37:"left",right:39,39:"right",tab:9,9:"tab",escape:27,27:"escape",enter:13,13:"enter",pageUp:33,33:"pageUp",pageDown:34,34:"pageDown",shift:16,16:"shift",control:17,17:"control",space:32,32:"space",t:84,84:"t","delete":46,46:"delete"},w={},x=function(){return void 0!==b.tz&&void 0!==d.timeZone&&null!==d.timeZone&&""!==d.timeZone},y=function(a){var c;return c=void 0===a||null===a?b():b.isDate(a)||b.isMoment(a)?b(a):x()?b.tz(a,j,d.useStrict,d.timeZone):b(a,j,d.useStrict),x()&&c.tz(d.timeZone),c},z=function(a){if("string"!=typeof a||a.length>1)throw new TypeError("isEnabled expects a single character string parameter");switch(a){case"y":return-1!==i.indexOf("Y");case"M":return-1!==i.indexOf("M");case"d":return-1!==i.toLowerCase().indexOf("d");case"h":case"H":return-1!==i.toLowerCase().indexOf("h");case"m":return-1!==i.indexOf("m");case"s":return-1!==i.indexOf("s");default:return!1}},A=function(){return z("h")||z("m")||z("s")},B=function(){return z("y")||z("M")||z("d")},C=function(){var b=a("<thead>").append(a("<tr>").append(a("<th>").addClass("prev").attr("data-action","previous").append(a("<span>").addClass(d.icons.previous))).append(a("<th>").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",d.calendarWeeks?"6":"5")).append(a("<th>").addClass("next").attr("data-action","next").append(a("<span>").addClass(d.icons.next)))),c=a("<tbody>").append(a("<tr>").append(a("<td>").attr("colspan",d.calendarWeeks?"8":"7")));return[a("<div>").addClass("datepicker-days").append(a("<table>").addClass("table-condensed").append(b).append(a("<tbody>"))),a("<div>").addClass("datepicker-months").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-years").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-decades").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone()))]},D=function(){var b=a("<tr>"),c=a("<tr>"),e=a("<tr>");return z("h")&&(b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementHour}).addClass("btn").attr("data-action","incrementHours").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-hour").attr({"data-time-component":"hours",title:d.tooltips.pickHour}).attr("data-action","showHours"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementHour}).addClass("btn").attr("data-action","decrementHours").append(a("<span>").addClass(d.icons.down))))),z("m")&&(z("h")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementMinute}).addClass("btn").attr("data-action","incrementMinutes").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-minute").attr({"data-time-component":"minutes",title:d.tooltips.pickMinute}).attr("data-action","showMinutes"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementMinute}).addClass("btn").attr("data-action","decrementMinutes").append(a("<span>").addClass(d.icons.down))))),z("s")&&(z("m")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementSecond}).addClass("btn").attr("data-action","incrementSeconds").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-second").attr({"data-time-component":"seconds",title:d.tooltips.pickSecond}).attr("data-action","showSeconds"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementSecond}).addClass("btn").attr("data-action","decrementSeconds").append(a("<span>").addClass(d.icons.down))))),h||(b.append(a("<td>").addClass("separator")),c.append(a("<td>").append(a("<button>").addClass("btn btn-primary").attr({"data-action":"togglePeriod",tabindex:"-1",title:d.tooltips.togglePeriod}))),e.append(a("<td>").addClass("separator"))),a("<div>").addClass("timepicker-picker").append(a("<table>").addClass("table-condensed").append([b,c,e]))},E=function(){var b=a("<div>").addClass("timepicker-hours").append(a("<table>").addClass("table-condensed")),c=a("<div>").addClass("timepicker-minutes").append(a("<table>").addClass("table-condensed")),d=a("<div>").addClass("timepicker-seconds").append(a("<table>").addClass("table-condensed")),e=[D()];return z("h")&&e.push(b),z("m")&&e.push(c),z("s")&&e.push(d),e},F=function(){var b=[];return d.showTodayButton&&b.push(a("<td>").append(a("<a>").attr({"data-action":"today",title:d.tooltips.today}).append(a("<span>").addClass(d.icons.today)))),!d.sideBySide&&B()&&A()&&b.push(a("<td>").append(a("<a>").attr({"data-action":"togglePicker",title:d.tooltips.selectTime}).append(a("<span>").addClass(d.icons.time)))),d.showClear&&b.push(a("<td>").append(a("<a>").attr({"data-action":"clear",title:d.tooltips.clear}).append(a("<span>").addClass(d.icons.clear)))),d.showClose&&b.push(a("<td>").append(a("<a>").attr({"data-action":"close",title:d.tooltips.close}).append(a("<span>").addClass(d.icons.close)))),a("<table>").addClass("table-condensed").append(a("<tbody>").append(a("<tr>").append(b)))},G=function(){var b=a("<div>").addClass("bootstrap-datetimepicker-widget dropdown-menu"),c=a("<div>").addClass("datepicker").append(C()),e=a("<div>").addClass("timepicker").append(E()),f=a("<ul>").addClass("list-unstyled"),g=a("<li>").addClass("picker-switch"+(d.collapse?" accordion-toggle":"")).append(F());return d.inline&&b.removeClass("dropdown-menu"),h&&b.addClass("usetwentyfour"),z("s")&&!h&&b.addClass("wider"),d.sideBySide&&B()&&A()?(b.addClass("timepicker-sbs"),"top"===d.toolbarPlacement&&b.append(g),b.append(a("<div>").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))),"bottom"===d.toolbarPlacement&&b.append(g),b):("top"===d.toolbarPlacement&&f.append(g),B()&&f.append(a("<li>").addClass(d.collapse&&A()?"collapse in":"").append(c)),"default"===d.toolbarPlacement&&f.append(g),A()&&f.append(a("<li>").addClass(d.collapse&&B()?"collapse":"").append(e)),"bottom"===d.toolbarPlacement&&f.append(g),b.append(f))},H=function(){var b,e={};return b=c.is("input")||d.inline?c.data():c.find("input").data(),b.dateOptions&&b.dateOptions instanceof Object&&(e=a.extend(!0,e,b.dateOptions)),a.each(d,function(a){var c="date"+a.charAt(0).toUpperCase()+a.slice(1);void 0!==b[c]&&(e[a]=b[c])}),e},I=function(){var b,e=(n||c).position(),f=(n||c).offset(),g=d.widgetPositioning.vertical,h=d.widgetPositioning.horizontal;if(d.widgetParent)b=d.widgetParent.append(o);else if(c.is("input"))b=c.after(o).parent();else{if(d.inline)return void(b=c.append(o));b=c,c.children().first().after(o)}if("auto"===g&&(g=f.top+1.5*o.height()>=a(window).height()+a(window).scrollTop()&&o.height()+c.outerHeight()<f.top?"top":"bottom"),"auto"===h&&(h=b.width()<f.left+o.outerWidth()/2&&f.left+o.outerWidth()>a(window).width()?"right":"left"),"top"===g?o.addClass("top").removeClass("bottom"):o.addClass("bottom").removeClass("top"),"right"===h?o.addClass("pull-right"):o.removeClass("pull-right"),"static"===b.css("position")&&(b=b.parents().filter(function(){return"static"!==a(this).css("position")}).first()),0===b.length)throw new Error("datetimepicker component should be placed within a non-static positioned container");o.css({top:"top"===g?"auto":e.top+c.outerHeight(),bottom:"top"===g?b.outerHeight()-(b===c?0:e.top):"auto",left:"left"===h?b===c?0:e.left:"auto",right:"left"===h?"auto":b.outerWidth()-c.outerWidth()-(b===c?0:e.left)})},J=function(a){"dp.change"===a.type&&(a.date&&a.date.isSame(a.oldDate)||!a.date&&!a.oldDate)||c.trigger(a)},K=function(a){"y"===a&&(a="YYYY"),J({type:"dp.update",change:a,viewDate:f.clone()})},L=function(a){o&&(a&&(k=Math.max(p,Math.min(3,k+a))),o.find(".datepicker > div").hide().filter(".datepicker-"+q[k].clsName).show())},M=function(){var b=a("<tr>"),c=f.clone().startOf("w").startOf("d");for(d.calendarWeeks===!0&&b.append(a("<th>").addClass("cw").text("#"));c.isBefore(f.clone().endOf("w"));)b.append(a("<th>").addClass("dow").text(c.format("dd"))),c.add(1,"d");o.find(".datepicker-days thead").append(b)},N=function(a){return d.disabledDates[a.format("YYYY-MM-DD")]===!0},O=function(a){return d.enabledDates[a.format("YYYY-MM-DD")]===!0},P=function(a){return d.disabledHours[a.format("H")]===!0},Q=function(a){return d.enabledHours[a.format("H")]===!0},R=function(b,c){if(!b.isValid())return!1;if(d.disabledDates&&"d"===c&&N(b))return!1;if(d.enabledDates&&"d"===c&&!O(b))return!1;if(d.minDate&&b.isBefore(d.minDate,c))return!1;if(d.maxDate&&b.isAfter(d.maxDate,c))return!1;if(d.daysOfWeekDisabled&&"d"===c&&-1!==d.daysOfWeekDisabled.indexOf(b.day()))return!1;if(d.disabledHours&&("h"===c||"m"===c||"s"===c)&&P(b))return!1;if(d.enabledHours&&("h"===c||"m"===c||"s"===c)&&!Q(b))return!1;if(d.disabledTimeIntervals&&("h"===c||"m"===c||"s"===c)){var e=!1;if(a.each(d.disabledTimeIntervals,function(){return b.isBetween(this[0],this[1])?(e=!0,!1):void 0}),e)return!1}return!0},S=function(){for(var b=[],c=f.clone().startOf("y").startOf("d");c.isSame(f,"y");)b.push(a("<span>").attr("data-action","selectMonth").addClass("month").text(c.format("MMM"))),c.add(1,"M");o.find(".datepicker-months td").empty().append(b)},T=function(){var b=o.find(".datepicker-months"),c=b.find("th"),g=b.find("tbody").find("span");c.eq(0).find("span").attr("title",d.tooltips.prevYear),c.eq(1).attr("title",d.tooltips.selectYear),c.eq(2).find("span").attr("title",d.tooltips.nextYear),b.find(".disabled").removeClass("disabled"),R(f.clone().subtract(1,"y"),"y")||c.eq(0).addClass("disabled"),c.eq(1).text(f.year()),R(f.clone().add(1,"y"),"y")||c.eq(2).addClass("disabled"),g.removeClass("active"),e.isSame(f,"y")&&!m&&g.eq(e.month()).addClass("active"),g.each(function(b){R(f.clone().month(b),"M")||a(this).addClass("disabled")})},U=function(){var a=o.find(".datepicker-years"),b=a.find("th"),c=f.clone().subtract(5,"y"),g=f.clone().add(6,"y"),h="";for(b.eq(0).find("span").attr("title",d.tooltips.prevDecade),b.eq(1).attr("title",d.tooltips.selectDecade),b.eq(2).find("span").attr("title",d.tooltips.nextDecade),a.find(".disabled").removeClass("disabled"),d.minDate&&d.minDate.isAfter(c,"y")&&b.eq(0).addClass("disabled"),b.eq(1).text(c.year()+"-"+g.year()),d.maxDate&&d.maxDate.isBefore(g,"y")&&b.eq(2).addClass("disabled");!c.isAfter(g,"y");)h+='<span data-action="selectYear" class="year'+(c.isSame(e,"y")&&!m?" active":"")+(R(c,"y")?"":" disabled")+'">'+c.year()+"</span>",c.add(1,"y");a.find("td").html(h)},V=function(){var a,c=o.find(".datepicker-decades"),g=c.find("th"),h=b({y:f.year()-f.year()%100-1}),i=h.clone().add(100,"y"),j=h.clone(),k=!1,l=!1,m="";for(g.eq(0).find("span").attr("title",d.tooltips.prevCentury),g.eq(2).find("span").attr("title",d.tooltips.nextCentury),c.find(".disabled").removeClass("disabled"),(h.isSame(b({y:1900}))||d.minDate&&d.minDate.isAfter(h,"y"))&&g.eq(0).addClass("disabled"),g.eq(1).text(h.year()+"-"+i.year()),(h.isSame(b({y:2e3}))||d.maxDate&&d.maxDate.isBefore(i,"y"))&&g.eq(2).addClass("disabled");!h.isAfter(i,"y");)a=h.year()+12,k=d.minDate&&d.minDate.isAfter(h,"y")&&d.minDate.year()<=a,l=d.maxDate&&d.maxDate.isAfter(h,"y")&&d.maxDate.year()<=a,m+='<span data-action="selectDecade" class="decade'+(e.isAfter(h)&&e.year()<=a?" active":"")+(R(h,"y")||k||l?"":" disabled")+'" data-selection="'+(h.year()+6)+'">'+(h.year()+1)+" - "+(h.year()+12)+"</span>",h.add(12,"y");m+="<span></span><span></span><span></span>",c.find("td").html(m),g.eq(1).text(j.year()+1+"-"+h.year())},W=function(){var b,c,g,h=o.find(".datepicker-days"),i=h.find("th"),j=[],k=[];if(B()){for(i.eq(0).find("span").attr("title",d.tooltips.prevMonth),i.eq(1).attr("title",d.tooltips.selectMonth),i.eq(2).find("span").attr("title",d.tooltips.nextMonth),h.find(".disabled").removeClass("disabled"),i.eq(1).text(f.format(d.dayViewHeaderFormat)),R(f.clone().subtract(1,"M"),"M")||i.eq(0).addClass("disabled"),R(f.clone().add(1,"M"),"M")||i.eq(2).addClass("disabled"),b=f.clone().startOf("M").startOf("w").startOf("d"),g=0;42>g;g++)0===b.weekday()&&(c=a("<tr>"),d.calendarWeeks&&c.append('<td class="cw">'+b.week()+"</td>"),j.push(c)),k=["day"],b.isBefore(f,"M")&&k.push("old"),b.isAfter(f,"M")&&k.push("new"),b.isSame(e,"d")&&!m&&k.push("active"),R(b,"d")||k.push("disabled"),b.isSame(y(),"d")&&k.push("today"),(0===b.day()||6===b.day())&&k.push("weekend"),J({type:"dp.classify",date:b,classNames:k}),c.append('<td data-action="selectDay" data-day="'+b.format("L")+'" class="'+k.join(" ")+'">'+b.date()+"</td>"),b.add(1,"d");h.find("tbody").empty().append(j),T(),U(),V()}},X=function(){var b=o.find(".timepicker-hours table"),c=f.clone().startOf("d"),d=[],e=a("<tr>");for(f.hour()>11&&!h&&c.hour(12);c.isSame(f,"d")&&(h||f.hour()<12&&c.hour()<12||f.hour()>11);)c.hour()%4===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectHour" class="hour'+(R(c,"h")?"":" disabled")+'">'+c.format(h?"HH":"hh")+"</td>"),c.add(1,"h");b.empty().append(d)},Y=function(){for(var b=o.find(".timepicker-minutes table"),c=f.clone().startOf("h"),e=[],g=a("<tr>"),h=1===d.stepping?5:d.stepping;f.isSame(c,"h");)c.minute()%(4*h)===0&&(g=a("<tr>"),e.push(g)),g.append('<td data-action="selectMinute" class="minute'+(R(c,"m")?"":" disabled")+'">'+c.format("mm")+"</td>"),c.add(h,"m");b.empty().append(e)},Z=function(){for(var b=o.find(".timepicker-seconds table"),c=f.clone().startOf("m"),d=[],e=a("<tr>");f.isSame(c,"m");)c.second()%20===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectSecond" class="second'+(R(c,"s")?"":" disabled")+'">'+c.format("ss")+"</td>"),c.add(5,"s");b.empty().append(d)},$=function(){var a,b,c=o.find(".timepicker span[data-time-component]");h||(a=o.find(".timepicker [data-action=togglePeriod]"),b=e.clone().add(e.hours()>=12?-12:12,"h"),a.text(e.format("A")),R(b,"h")?a.removeClass("disabled"):a.addClass("disabled")),c.filter("[data-time-component=hours]").text(e.format(h?"HH":"hh")),c.filter("[data-time-component=minutes]").text(e.format("mm")),c.filter("[data-time-component=seconds]").text(e.format("ss")),X(),Y(),Z()},_=function(){o&&(W(),$())},aa=function(a){var b=m?null:e;if(!a)return m=!0,g.val(""),c.data("date",""),J({type:"dp.change",date:!1,oldDate:b}),void _();if(a=a.clone().locale(d.locale),x()&&a.tz(d.timeZone),1!==d.stepping)for(a.minutes(Math.round(a.minutes()/d.stepping)*d.stepping).seconds(0);d.minDate&&a.isBefore(d.minDate);)a.add(d.stepping,"minutes");R(a)?(e=a,f=e.clone(),g.val(e.format(i)),c.data("date",e.format(i)),m=!1,_(),J({type:"dp.change",date:e.clone(),oldDate:b})):(d.keepInvalid?J({type:"dp.change",date:a,oldDate:b}):g.val(m?"":e.format(i)),J({type:"dp.error",date:a,oldDate:b}))},ba=function(){var b=!1;return o?(o.find(".collapse").each(function(){var c=a(this).data("collapse");return c&&c.transitioning?(b=!0,!1):!0}),b?l:(n&&n.hasClass("btn")&&n.toggleClass("active"),o.hide(),a(window).off("resize",I),o.off("click","[data-action]"),o.off("mousedown",!1),o.remove(),o=!1,J({type:"dp.hide",date:e.clone()}),g.blur(),f=e.clone(),l)):l},ca=function(){aa(null)},da=function(a){return void 0===d.parseInputDate?(!b.isMoment(a)||a instanceof Date)&&(a=y(a)):a=d.parseInputDate(a),a},ea={next:function(){var a=q[k].navFnc;f.add(q[k].navStep,a),W(),K(a)},previous:function(){var a=q[k].navFnc;f.subtract(q[k].navStep,a),W(),K(a)},pickerSwitch:function(){L(1)},selectMonth:function(b){var c=a(b.target).closest("tbody").find("span").index(a(b.target));f.month(c),k===p?(aa(e.clone().year(f.year()).month(f.month())),d.inline||ba()):(L(-1),W()),K("M")},selectYear:function(b){var c=parseInt(a(b.target).text(),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDecade:function(b){var c=parseInt(a(b.target).data("selection"),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDay:function(b){var c=f.clone();a(b.target).is(".old")&&c.subtract(1,"M"),a(b.target).is(".new")&&c.add(1,"M"),aa(c.date(parseInt(a(b.target).text(),10))),A()||d.keepOpen||d.inline||ba()},incrementHours:function(){var a=e.clone().add(1,"h");R(a,"h")&&aa(a)},incrementMinutes:function(){var a=e.clone().add(d.stepping,"m");R(a,"m")&&aa(a)},incrementSeconds:function(){var a=e.clone().add(1,"s");R(a,"s")&&aa(a)},decrementHours:function(){var a=e.clone().subtract(1,"h");R(a,"h")&&aa(a)},decrementMinutes:function(){var a=e.clone().subtract(d.stepping,"m");R(a,"m")&&aa(a)},decrementSeconds:function(){var a=e.clone().subtract(1,"s");R(a,"s")&&aa(a)},togglePeriod:function(){aa(e.clone().add(e.hours()>=12?-12:12,"h"))},togglePicker:function(b){var c,e=a(b.target),f=e.closest("ul"),g=f.find(".in"),h=f.find(".collapse:not(.in)");if(g&&g.length){if(c=g.data("collapse"),c&&c.transitioning)return;g.collapse?(g.collapse("hide"),h.collapse("show")):(g.removeClass("in"),h.addClass("in")),e.is("span")?e.toggleClass(d.icons.time+" "+d.icons.date):e.find("span").toggleClass(d.icons.time+" "+d.icons.date)}},showPicker:function(){o.find(".timepicker > div:not(.timepicker-picker)").hide(),o.find(".timepicker .timepicker-picker").show()},showHours:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-hours").show()},showMinutes:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-seconds").show()},selectHour:function(b){var c=parseInt(a(b.target).text(),10);h||(e.hours()>=12?12!==c&&(c+=12):12===c&&(c=0)),aa(e.clone().hours(c)),ea.showPicker.call(l)},selectMinute:function(b){aa(e.clone().minutes(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},selectSecond:function(b){aa(e.clone().seconds(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},clear:ca,today:function(){var a=y();R(a,"d")&&aa(a)},close:ba},fa=function(b){return a(b.currentTarget).is(".disabled")?!1:(ea[a(b.currentTarget).data("action")].apply(l,arguments),!1)},ga=function(){var b,c={year:function(a){return a.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(a){return a.date(1).hours(0).seconds(0).minutes(0)},day:function(a){return a.hours(0).seconds(0).minutes(0)},hour:function(a){return a.seconds(0).minutes(0)},minute:function(a){return a.seconds(0)}};return g.prop("disabled")||!d.ignoreReadonly&&g.prop("readonly")||o?l:(void 0!==g.val()&&0!==g.val().trim().length?aa(da(g.val().trim())):m&&d.useCurrent&&(d.inline||g.is("input")&&0===g.val().trim().length)&&(b=y(),"string"==typeof d.useCurrent&&(b=c[d.useCurrent](b)),aa(b)),o=G(),M(),S(),o.find(".timepicker-hours").hide(),o.find(".timepicker-minutes").hide(),o.find(".timepicker-seconds").hide(),_(),L(),a(window).on("resize",I),o.on("click","[data-action]",fa),o.on("mousedown",!1),n&&n.hasClass("btn")&&n.toggleClass("active"),I(),o.show(),d.focusOnShow&&!g.is(":focus")&&g.focus(),J({type:"dp.show"}),l)},ha=function(){return o?ba():ga()},ia=function(a){var b,c,e,f,g=null,h=[],i={},j=a.which,k="p";w[j]=k;for(b in w)w.hasOwnProperty(b)&&w[b]===k&&(h.push(b),parseInt(b,10)!==j&&(i[b]=!0));for(b in d.keyBinds)if(d.keyBinds.hasOwnProperty(b)&&"function"==typeof d.keyBinds[b]&&(e=b.split(" "),e.length===h.length&&v[j]===e[e.length-1])){for(f=!0,c=e.length-2;c>=0;c--)if(!(v[e[c]]in i)){f=!1;break}if(f){g=d.keyBinds[b];break}}g&&(g.call(l,o),a.stopPropagation(),a.preventDefault())},ja=function(a){w[a.which]="r",a.stopPropagation(),a.preventDefault()},ka=function(b){var c=a(b.target).val().trim(),d=c?da(c):null;return aa(d),b.stopImmediatePropagation(),!1},la=function(){g.on({change:ka,blur:d.debug?"":ba,keydown:ia,keyup:ja,focus:d.allowInputToggle?ga:""}),c.is("input")?g.on({focus:ga}):n&&(n.on("click",ha),n.on("mousedown",!1))},ma=function(){g.off({change:ka,blur:blur,keydown:ia,keyup:ja,focus:d.allowInputToggle?ba:""}),c.is("input")?g.off({focus:ga}):n&&(n.off("click",ha),n.off("mousedown",!1))},na=function(b){var c={};return a.each(b,function(){var a=da(this);a.isValid()&&(c[a.format("YYYY-MM-DD")]=!0)}),Object.keys(c).length?c:!1},oa=function(b){var c={};return a.each(b,function(){c[this]=!0}),Object.keys(c).length?c:!1},pa=function(){var a=d.format||"L LT";i=a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){var b=e.localeData().longDateFormat(a)||a;return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){return e.localeData().longDateFormat(a)||a})}),j=d.extraFormats?d.extraFormats.slice():[],j.indexOf(a)<0&&j.indexOf(i)<0&&j.push(i),h=i.toLowerCase().indexOf("a")<1&&i.replace(/\[.*?\]/g,"").indexOf("h")<1,z("y")&&(p=2),z("M")&&(p=1),z("d")&&(p=0),k=Math.max(p,k),m||aa(e)};if(l.destroy=function(){ba(),ma(),c.removeData("DateTimePicker"),c.removeData("date")},l.toggle=ha,l.show=ga,l.hide=ba,l.disable=function(){return ba(),n&&n.hasClass("btn")&&n.addClass("disabled"),g.prop("disabled",!0),l},l.enable=function(){return n&&n.hasClass("btn")&&n.removeClass("disabled"),g.prop("disabled",!1),l},l.ignoreReadonly=function(a){if(0===arguments.length)return d.ignoreReadonly;if("boolean"!=typeof a)throw new TypeError("ignoreReadonly () expects a boolean parameter");return d.ignoreReadonly=a,l},l.options=function(b){if(0===arguments.length)return a.extend(!0,{},d);if(!(b instanceof Object))throw new TypeError("options() options parameter should be an object");return a.extend(!0,d,b),a.each(d,function(a,b){if(void 0===l[a])throw new TypeError("option "+a+" is not recognized!");l[a](b)}),l},l.date=function(a){if(0===arguments.length)return m?null:e.clone();if(!(null===a||"string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("date() parameter must be one of [null, string, moment or Date]");return aa(null===a?null:da(a)),l},l.format=function(a){if(0===arguments.length)return d.format;if("string"!=typeof a&&("boolean"!=typeof a||a!==!1))throw new TypeError("format() expects a string or boolean:false parameter "+a);return d.format=a,i&&pa(),l},l.timeZone=function(a){if(0===arguments.length)return d.timeZone;if("string"!=typeof a)throw new TypeError("newZone() expects a string parameter");return d.timeZone=a,l},l.dayViewHeaderFormat=function(a){if(0===arguments.length)return d.dayViewHeaderFormat;if("string"!=typeof a)throw new TypeError("dayViewHeaderFormat() expects a string parameter");return d.dayViewHeaderFormat=a,l},l.extraFormats=function(a){if(0===arguments.length)return d.extraFormats;if(a!==!1&&!(a instanceof Array))throw new TypeError("extraFormats() expects an array or false parameter");return d.extraFormats=a,j&&pa(),l},l.disabledDates=function(b){if(0===arguments.length)return d.disabledDates?a.extend({},d.disabledDates):d.disabledDates;if(!b)return d.disabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledDates() expects an array parameter");return d.disabledDates=na(b),d.enabledDates=!1,_(),l},l.enabledDates=function(b){if(0===arguments.length)return d.enabledDates?a.extend({},d.enabledDates):d.enabledDates;if(!b)return d.enabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledDates() expects an array parameter");return d.enabledDates=na(b),d.disabledDates=!1,_(),l},l.daysOfWeekDisabled=function(a){if(0===arguments.length)return d.daysOfWeekDisabled.splice(0);if("boolean"==typeof a&&!a)return d.daysOfWeekDisabled=!1,_(),l;if(!(a instanceof Array))throw new TypeError("daysOfWeekDisabled() expects an array parameter");if(d.daysOfWeekDisabled=a.reduce(function(a,b){return b=parseInt(b,10),b>6||0>b||isNaN(b)?a:(-1===a.indexOf(b)&&a.push(b),a)},[]).sort(),d.useCurrent&&!d.keepInvalid){for(var b=0;!R(e,"d");){if(e.add(1,"d"),31===b)throw"Tried 31 times to find a valid date";b++}aa(e)}return _(),l},l.maxDate=function(a){if(0===arguments.length)return d.maxDate?d.maxDate.clone():d.maxDate;if("boolean"==typeof a&&a===!1)return d.maxDate=!1,_(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=y());var b=da(a);if(!b.isValid())throw new TypeError("maxDate() Could not parse date parameter: "+a);if(d.minDate&&b.isBefore(d.minDate))throw new TypeError("maxDate() date parameter is before options.minDate: "+b.format(i));return d.maxDate=b,d.useCurrent&&!d.keepInvalid&&e.isAfter(a)&&aa(d.maxDate),f.isAfter(b)&&(f=b.clone().subtract(d.stepping,"m")),_(),l},l.minDate=function(a){if(0===arguments.length)return d.minDate?d.minDate.clone():d.minDate;if("boolean"==typeof a&&a===!1)return d.minDate=!1,_(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=y());var b=da(a);if(!b.isValid())throw new TypeError("minDate() Could not parse date parameter: "+a);if(d.maxDate&&b.isAfter(d.maxDate))throw new TypeError("minDate() date parameter is after options.maxDate: "+b.format(i));return d.minDate=b,d.useCurrent&&!d.keepInvalid&&e.isBefore(a)&&aa(d.minDate),f.isBefore(b)&&(f=b.clone().add(d.stepping,"m")),_(),l},l.defaultDate=function(a){if(0===arguments.length)return d.defaultDate?d.defaultDate.clone():d.defaultDate;if(!a)return d.defaultDate=!1,l;"string"==typeof a&&(a="now"===a||"moment"===a?y():y(a));var b=da(a);if(!b.isValid())throw new TypeError("defaultDate() Could not parse date parameter: "+a);if(!R(b))throw new TypeError("defaultDate() date passed is invalid according to component setup validations");return d.defaultDate=b,(d.defaultDate&&d.inline||""===g.val().trim())&&aa(d.defaultDate),l},l.locale=function(a){if(0===arguments.length)return d.locale;if(!b.localeData(a))throw new TypeError("locale() locale "+a+" is not loaded from moment locales!");return d.locale=a,e.locale(d.locale),f.locale(d.locale),i&&pa(),o&&(ba(),ga()),l},l.stepping=function(a){return 0===arguments.length?d.stepping:(a=parseInt(a,10),(isNaN(a)||1>a)&&(a=1),d.stepping=a,l)},l.useCurrent=function(a){var b=["year","month","day","hour","minute"];if(0===arguments.length)return d.useCurrent;if("boolean"!=typeof a&&"string"!=typeof a)throw new TypeError("useCurrent() expects a boolean or string parameter");if("string"==typeof a&&-1===b.indexOf(a.toLowerCase()))throw new TypeError("useCurrent() expects a string parameter of "+b.join(", "));return d.useCurrent=a,l},l.collapse=function(a){if(0===arguments.length)return d.collapse;if("boolean"!=typeof a)throw new TypeError("collapse() expects a boolean parameter");return d.collapse===a?l:(d.collapse=a,o&&(ba(),ga()),l)},l.icons=function(b){if(0===arguments.length)return a.extend({},d.icons);if(!(b instanceof Object))throw new TypeError("icons() expects parameter to be an Object");return a.extend(d.icons,b),o&&(ba(),ga()),l},l.tooltips=function(b){if(0===arguments.length)return a.extend({},d.tooltips);if(!(b instanceof Object))throw new TypeError("tooltips() expects parameter to be an Object");return a.extend(d.tooltips,b),o&&(ba(),ga()),l},l.useStrict=function(a){if(0===arguments.length)return d.useStrict;if("boolean"!=typeof a)throw new TypeError("useStrict() expects a boolean parameter");return d.useStrict=a,l},l.sideBySide=function(a){if(0===arguments.length)return d.sideBySide;if("boolean"!=typeof a)throw new TypeError("sideBySide() expects a boolean parameter");return d.sideBySide=a,o&&(ba(),ga()),l},l.viewMode=function(a){if(0===arguments.length)return d.viewMode;if("string"!=typeof a)throw new TypeError("viewMode() expects a string parameter");if(-1===r.indexOf(a))throw new TypeError("viewMode() parameter must be one of ("+r.join(", ")+") value");return d.viewMode=a,k=Math.max(r.indexOf(a),p),L(),l},l.toolbarPlacement=function(a){if(0===arguments.length)return d.toolbarPlacement;if("string"!=typeof a)throw new TypeError("toolbarPlacement() expects a string parameter");if(-1===u.indexOf(a))throw new TypeError("toolbarPlacement() parameter must be one of ("+u.join(", ")+") value");return d.toolbarPlacement=a,o&&(ba(),ga()),l},l.widgetPositioning=function(b){if(0===arguments.length)return a.extend({},d.widgetPositioning);if("[object Object]"!=={}.toString.call(b))throw new TypeError("widgetPositioning() expects an object variable");if(b.horizontal){if("string"!=typeof b.horizontal)throw new TypeError("widgetPositioning() horizontal variable must be a string");if(b.horizontal=b.horizontal.toLowerCase(),-1===t.indexOf(b.horizontal))throw new TypeError("widgetPositioning() expects horizontal parameter to be one of ("+t.join(", ")+")");d.widgetPositioning.horizontal=b.horizontal}if(b.vertical){if("string"!=typeof b.vertical)throw new TypeError("widgetPositioning() vertical variable must be a string");if(b.vertical=b.vertical.toLowerCase(),-1===s.indexOf(b.vertical))throw new TypeError("widgetPositioning() expects vertical parameter to be one of ("+s.join(", ")+")");d.widgetPositioning.vertical=b.vertical}return _(),l},l.calendarWeeks=function(a){if(0===arguments.length)return d.calendarWeeks;if("boolean"!=typeof a)throw new TypeError("calendarWeeks() expects parameter to be a boolean value");return d.calendarWeeks=a,_(),l},l.showTodayButton=function(a){if(0===arguments.length)return d.showTodayButton;if("boolean"!=typeof a)throw new TypeError("showTodayButton() expects a boolean parameter");return d.showTodayButton=a,o&&(ba(),ga()),l},l.showClear=function(a){if(0===arguments.length)return d.showClear;if("boolean"!=typeof a)throw new TypeError("showClear() expects a boolean parameter");return d.showClear=a,o&&(ba(),ga()),l},l.widgetParent=function(b){if(0===arguments.length)return d.widgetParent;if("string"==typeof b&&(b=a(b)),null!==b&&"string"!=typeof b&&!(b instanceof a))throw new TypeError("widgetParent() expects a string or a jQuery object parameter");return d.widgetParent=b,o&&(ba(),ga()),l},l.keepOpen=function(a){if(0===arguments.length)return d.keepOpen;if("boolean"!=typeof a)throw new TypeError("keepOpen() expects a boolean parameter");return d.keepOpen=a,l},l.focusOnShow=function(a){if(0===arguments.length)return d.focusOnShow;if("boolean"!=typeof a)throw new TypeError("focusOnShow() expects a boolean parameter");return d.focusOnShow=a,l},l.inline=function(a){if(0===arguments.length)return d.inline;if("boolean"!=typeof a)throw new TypeError("inline() expects a boolean parameter");return d.inline=a,l},l.clear=function(){return ca(),l},l.keyBinds=function(a){return 0===arguments.length?d.keyBinds:(d.keyBinds=a,l)},l.getMoment=function(a){return y(a)},l.debug=function(a){if("boolean"!=typeof a)throw new TypeError("debug() expects a boolean parameter");return d.debug=a,l},l.allowInputToggle=function(a){if(0===arguments.length)return d.allowInputToggle;if("boolean"!=typeof a)throw new TypeError("allowInputToggle() expects a boolean parameter");return d.allowInputToggle=a,l},l.showClose=function(a){if(0===arguments.length)return d.showClose;if("boolean"!=typeof a)throw new TypeError("showClose() expects a boolean parameter");return d.showClose=a,l},l.keepInvalid=function(a){if(0===arguments.length)return d.keepInvalid;if("boolean"!=typeof a)throw new TypeError("keepInvalid() expects a boolean parameter");
|
18 |
+
return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)return d.datepickerInput;if("string"!=typeof a)throw new TypeError("datepickerInput() expects a string parameter");return d.datepickerInput=a,l},l.parseInputDate=function(a){if(0===arguments.length)return d.parseInputDate;if("function"!=typeof a)throw new TypeError("parseInputDate() sholud be as function");return d.parseInputDate=a,l},l.disabledTimeIntervals=function(b){if(0===arguments.length)return d.disabledTimeIntervals?a.extend({},d.disabledTimeIntervals):d.disabledTimeIntervals;if(!b)return d.disabledTimeIntervals=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledTimeIntervals() expects an array parameter");return d.disabledTimeIntervals=b,_(),l},l.disabledHours=function(b){if(0===arguments.length)return d.disabledHours?a.extend({},d.disabledHours):d.disabledHours;if(!b)return d.disabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledHours() expects an array parameter");if(d.disabledHours=oa(b),d.enabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.enabledHours=function(b){if(0===arguments.length)return d.enabledHours?a.extend({},d.enabledHours):d.enabledHours;if(!b)return d.enabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledHours() expects an array parameter");if(d.enabledHours=oa(b),d.disabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.viewDate=function(a){if(0===arguments.length)return f.clone();if(!a)return f=e.clone(),l;if(!("string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");return f=da(a),K(),l},c.is("input"))g=c;else if(g=c.find(d.datepickerInput),0===g.length)g=c.find("input");else if(!g.is("input"))throw new Error('CSS class "'+d.datepickerInput+'" cannot be applied to non input element');if(c.hasClass("input-group")&&(n=0===c.find(".datepickerbutton").length?c.find(".input-group-addon"):c.find(".datepickerbutton")),!d.inline&&!g.is("input"))throw new Error("Could not initialize DateTimePicker without an input element");return e=y(),f=e.clone(),a.extend(!0,d,H()),l.options(d),pa(),la(),g.prop("disabled")&&l.disable(),g.is("input")&&0!==g.val().trim().length?aa(da(g.val().trim())):d.defaultDate&&void 0===g.attr("placeholder")&&aa(d.defaultDate),d.inline&&ga(),l};return a.fn.factoryBootstrap404_DatetimePickerControl=function(b){b=b||{};var d,e=Array.prototype.slice.call(arguments,1),f=!0,g=["destroy","hide","show","toggle"];if("object"==typeof b)return this.each(function(){var d,e=a(this);e.data("DateTimePicker")||(d=a.extend(!0,{},a.fn.factoryBootstrap404_DatetimePickerControl.defaults,b),e.data("DateTimePicker",c(e,d)))});if("string"==typeof b)return this.each(function(){var c=a(this),g=c.data("DateTimePicker");if(!g)throw new Error('bootstrap-datetimepicker("'+b+'") method was called on an element that is not using DateTimePicker');d=g[b].apply(g,e),f=d===g}),f||a.inArray(b,g)>-1?this:d;throw new TypeError("Invalid arguments for DateTimePicker: "+b)},a.fn.factoryBootstrap404_DatetimePickerControl.defaults={timeZone:"",format:!1,dayViewHeaderFormat:"MMMM YYYY",extraFormats:!1,stepping:1,minDate:!1,maxDate:!1,useCurrent:!0,collapse:!0,locale:b.locale(),defaultDate:!1,disabledDates:!1,enabledDates:!1,icons:{time:"fa fa-clock-o",date:"fa fa-calendar",up:"fa fa-arrow-up",down:"fa fa-arrow-down",previous:"fa fa-arrow-left",next:"fa fa-arrow-right",today:"fa fa-thumb-tack",clear:"fa fa-trash",close:"fa fa-times"},tooltips:{today:"Go to today",clear:"Clear selection",close:"Close the picker",selectMonth:"Select Month",prevMonth:"Previous Month",nextMonth:"Next Month",selectYear:"Select Year",prevYear:"Previous Year",nextYear:"Next Year",selectDecade:"Select Decade",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevCentury:"Previous Century",nextCentury:"Next Century",pickHour:"Pick Hour",incrementHour:"Increment Hour",decrementHour:"Decrement Hour",pickMinute:"Pick Minute",incrementMinute:"Increment Minute",decrementMinute:"Decrement Minute",pickSecond:"Pick Second",incrementSecond:"Increment Second",decrementSecond:"Decrement Second",togglePeriod:"Toggle Period",selectTime:"Select Time"},useStrict:!1,sideBySide:!1,daysOfWeekDisabled:!1,calendarWeeks:!1,viewMode:"days",toolbarPlacement:"default",showTodayButton:!1,showClear:!1,showClose:!1,widgetPositioning:{horizontal:"auto",vertical:"auto"},widgetParent:null,ignoreReadonly:!1,keepOpen:!1,focusOnShow:!0,inline:!1,keepInvalid:!1,datepickerInput:".datepickerinput",keyBinds:{up:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(7,"d")):this.date(b.clone().add(this.stepping(),"m"))}},down:function(a){if(!a)return void this.show();var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(7,"d")):this.date(b.clone().subtract(this.stepping(),"m"))},"control up":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(1,"y")):this.date(b.clone().add(1,"h"))}},"control down":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(1,"y")):this.date(b.clone().subtract(1,"h"))}},left:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"d"))}},right:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"d"))}},pageUp:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"M"))}},pageDown:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"M"))}},enter:function(){this.hide()},escape:function(){this.hide()},"control space":function(a){a&&a.find(".timepicker").is(":visible")&&a.find('.btn[data-action="togglePeriod"]').click()},t:function(){this.date(this.getMoment())},"delete":function(){this.clear()}},debug:!1,allowInputToggle:!1,disabledTimeIntervals:!1,disabledHours:!1,enabledHours:!1,viewDate:!1},a.fn.factoryBootstrap404_DatetimePickerControl}),function(a){a(function(){a(".factory-bootstrap-404 .factory-datetimepicker").factoryBootstrap404_DatetimePickerControl(),a(".factory-bootstrap-404 .factory-datetimepicker-range-0").factoryBootstrap404_DatetimePickerControl(),a(".factory-bootstrap-404 .factory-datetimepicker-range-1").factoryBootstrap404_DatetimePickerControl({useCurrent:!1}),a(".factory-bootstrap-404 .factory-datetimepicker-range-0").on("dp.change",function(b){a(".factory-bootstrap-404 .factory-datetimepicker-range-1").data("DateTimePicker").minDate(b.date)}),a(".factory-bootstrap-404 .factory-datetimepicker-range-1").on("dp.change",function(b){a(".factory-bootstrap-404 .factory-datetimepicker-range-0").data("DateTimePicker").maxDate(b.date)})})}(jQuery);
|
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.factoryBootstrap404_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.factoryBootstrap404_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
|
libs/factory/bootstrap/assets/js-min/bootstrap.modal.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,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="factory-bootstrap-
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="factory-bootstrap-404-modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.factoryBootstrap404_modal;a.fn.factoryBootstrap404_modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.factoryBootstrap404_modal.Constructor=b,a.fn.factoryBootstrap404_modal.noConflict=function(){return a.fn.factoryBootstrap404_modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="factory-modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("factory-modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.factoryBootstrap404_modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(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.factoryBootstrap404_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.factoryBootstrap404_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-404 .factory-checkbox.factory-buttons-way").factoryBootstrap404_checkboxControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.color-and-opacity.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a,b){a(function(){a(function(){a(".factory-bootstrap-
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a,b){a(function(){a(function(){a(".factory-bootstrap-404 .factory-color-and-opacity").each(function(){var b=a(this),c=b.find(".factory-color"),d=b.find(".factory-integer");d.change(function(){var a=d.find(".factory-result").val()/100;c.find(".factory-background").css("opacity",a)}),d.change(),d.on("click.color.factory",function(a){a.stopPropagation()})})})})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.color.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){a.widget("
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){a.widget("factoryBootstrap404.colorControl",{_create:function(){this.$element=this.element,this.$picker=this.$element.find(".factory-color-hex"),this.$preview=this.$element.find(".factory-preview"),this.$background=this.$element.find(".factory-background"),this._init()},_init:function(b){var c=this,d={width:216,palettes:["#16a086","#27ae61","#2a80b9","#8f44ad","#2d3e50","#f49c14","#c1392b","#bec3c7"],hide:!0,change:function(a,b){c.$background.css({background:b.color.toString()}),c.$element.trigger("change.color.factory",[b.color.toString()]),c.$element.trigger("updated.color.factory",[b.color.toString()])}},e=this.$element.data("picker-target");e&&(d.target=a(e)),this.$picker.factoryBootstrap404_iris(d),this.$picker.off("focus"),a(document).on("click.color.factory",function(){c.$picker.factoryBootstrap404_iris("hide")}),this.$picker.add(this.$background).on("click.color.factory",function(a){a.stopPropagation(),c.$picker.factoryBootstrap404_iris("show")})},togglePicker:function(){this.$element.hasClass("factory-picker-active")?this.hidePicker():this.showPicker()},hidePicker:function(){this.$element.removeClass("factory-picker-active"),this.$picker.factoryBootstrap404_iris("hide")},showPicker:function(){this.$element.addClass("factory-picker-active"),this.$picker.factoryBootstrap404_iris("show")},getValue:function(){return this.$picker.val()},setValue:function(a,b){this.$picker.val(a),b&&self.$picker.trigger("change")}}),a(function(){a.widget.bridge("factoryBootstrap404_colorControl",a.factoryBootstrap404.colorControl),a(".factory-bootstrap-404 .factory-color").factoryBootstrap404_colorControl({})})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.dropdown-and-colors.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=a(b),d=c.find(".factory-colors-inner-wrap");c.find("select").change(function(){var b=c.find("select option:selected"),e=b.data("colors"),f=d.data("radio-name");if(f&&e){d.html("");for(var g=0;g<e.length;g++){var h=e[g],i=a('<span class="factory-form-radio-item"><label class="factory-from-radio-label"><input type="radio" name="'+f+'" class="factory-radio-color" value="'+h[0]+'" checked="checked"><span style="background-color:'+h[1]+'"></span></label></span>');d.append(i)}}})};a.fn.
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){var b=function(b){var c=a(b),d=c.find(".factory-colors-inner-wrap");c.find("select").change(function(){var b=c.find("select option:selected"),e=b.data("colors"),f=d.data("radio-name");if(f&&e){d.html("");for(var g=0;g<e.length;g++){var h=e[g],i=a('<span class="factory-form-radio-item"><label class="factory-from-radio-label"><input type="radio" name="'+f+'" class="factory-radio-color" value="'+h[0]+'" checked="checked"><span style="background-color:'+h[1]+'"></span></label></span>');d.append(i)}}})};a.fn.factoryBootstrap404_dropdownAndColors=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdownAndColors.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdownAndColors.control");d||c.data("factory.dropdownAndColors.control",d=new b(this))})},a.fn.factoryBootstrap404_dropdownAndColors.Constructor=b,a(function(){a(".factory-bootstrap-404 .factory-dropdown-and-colors").factoryBootstrap404_dropdownAndColors()})}(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.factoryBootstrap404_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.factoryBootstrap404_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-404 .factory-dropdown").factoryBootstrap404_dropdownControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.fonts.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){a.widget("
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){a.widget("factoryBootstrap404.fontControl",{_create:function(){this.$element=this.element,this.$family=this.$element.find(".factory-family-wrap select"),this.$googleFontData=this.$element.find(".factory-google-font-data"),this.fontSelectorName=this.$family.attr("name"),this.googleFontsOptions={frameName:this.element.data("google-fonts-frame-name")},this.googleFontsOptions.frameName||(this.googleFontsOptions.frameName="preview"),this._initUI(),this._bindEvents()},_initUI:function(){this.$family.chosen()},_bindEvents:function(){var a=this;this.$family.change(function(b){var c=a._getCurrentOption(),d=c.data("google-font");if(d){var e=c.data("family"),f=c.data("variants").split(","),g=c.data("subsets").split(",");a._loadGoogleFont(e,f,g)}else a.$googleFontData.val("")})},_getCurrentOption:function(){var a=this.$family.val();return this._getOptionByValue(a)},_getOptionByValue:function(a){var b=this.$family.find("option[value='"+a+"']");return b},_loadGoogleFont:function(b,c,d){var c=this._filterGoogleFontVariantsBeforeLoading(b,c,d),d=this._filterGoogleFontSubsetsBeforeLoading(b,c,d);this.$googleFontData.val(this._encode64(JSON.stringify({name:b,styles:c,subsets:d})));var e=this._getTargetToLoadGoogleFont(),f=this.fontSelectorName+"-font-loader",g=e.find("#"+f);e.find("#"+f).length>0&&g.remove();var h="http://fonts.googleapis.com/css";c&&c.length&&(b=b+":"+c.join(",")),h=h+"?family="+b,d&&d.length&&(h=h+"&subset="+d.join(",")),a('<link id="'+f+'" rel="stylesheet" type="text/css" href="'+h+'" >').appendTo(e)},_filterGoogleFontVariantsBeforeLoading:function(b,c,d){var e=this;return a(document).trigger("factory-filter-google-font-variants",[c,e.$element,b,d]),c},_filterGoogleFontSubsetsBeforeLoading:function(b,c,d){var e=this;return a(document).trigger("factory-filter-google-font-subsets",[d,e.$element,c,d]),d},_getTargetToLoadGoogleFont:function(){var b=this.googleFontsOptions.frameName,c=a("head");if(b){var d=a('iframe[name="'+b+'"]');if(0===d.length)return console.error("The preview container not found.");c=d.contents().find("head")}return c},_base64KeyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_encode64:function(a){a=escape(a);var b,c,d,e,f,g="",h="",i="",j=0;do b=a.charCodeAt(j++),c=a.charCodeAt(j++),h=a.charCodeAt(j++),d=b>>2,e=(3&b)<<4|c>>4,f=(15&c)<<2|h>>6,i=63&h,isNaN(c)?f=i=64:isNaN(h)&&(i=64),g=g+this._base64KeyStr.charAt(d)+this._base64KeyStr.charAt(e)+this._base64KeyStr.charAt(f)+this._base64KeyStr.charAt(i),b=c=h="",d=e=f=i="";while(j<a.length);return g}}),a(function(){a.widget.bridge("factoryBootstrap404_fontControl",a.factoryBootstrap404.fontControl),a(".factory-bootstrap-404 .factory-font").factoryBootstrap404_fontControl({})})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.gradient.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){var b=function(b){this.$element=a(b),this.$picker=this.$element.find(".factory-gradient-picker"),this.$result=this.$element.find(".factory-result"),this.init()};b.prototype.init=function(){var a=this,b=this.$element.data("directions"),c=this.$element.data("points"),d=c?c.split(","):[];this.$picker.gradientPicker({change:function(b,c){a.$result.val(c).trigger("keyup")},fillDirection:b,controlPoints:d})},a.fn.
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){var b=function(b){this.$element=a(b),this.$picker=this.$element.find(".factory-gradient-picker"),this.$result=this.$element.find(".factory-result"),this.init()};b.prototype.init=function(){var a=this,b=this.$element.data("directions"),c=this.$element.data("points"),d=c?c.split(","):[];this.$picker.gradientPicker({change:function(b,c){a.$result.val(c).trigger("keyup")},fillDirection:b,controlPoints:d})},a.fn.factoryBootstrap404_gradientControl=function(c){return this.each(function(){var d=a(this),e=d.data("factory.gradient-control");e||d.data("factory.gradient-control",e=new b(this)),"string"==typeof c&&e[c].call(e)})},a.fn.factoryBootstrap404_gradientControl.Constructor=b,a(function(){a(".factory-bootstrap-404 .factory-gradient").factoryBootstrap404_gradientControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.integer.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){var b=function(b){this.$element=a(b),this.$element.hasClass("factory-has-slider")&&this.createSlider()};b.prototype.createSlider=function(){var a=this,b=this.$element.find(".factory-slider-container");this.$bar=b.find(".factory-bar"),this.$result=b.find(".factory-result"),this.$visibleValue=b.find(".factory-visible-value"),this.units=b.data("units"),this.rangeStart=b.data("range-start"),this.rangeEnd=b.data("range-end"),this.step=b.data("step"),this.step||(this.step=1);var c=this.$result.val();this.$bar.noUiSlider({start:parseInt(c),range:{min:a.rangeStart,max:a.rangeEnd},connect:"lower",step:a.step}),this.$bar.on("slide set",function(){a.setValue(parseInt(a.$bar.val()))})},b.prototype.setValue=function(a,b){this.$result.val(a),this.$visibleValue.length>0&&(this.units?this.$visibleValue.text(a+this.units):this.$visibleValue.text(a)),b&&this.$bar.noUiSlider({start:a},!0),this.$result.trigger("keyup"),this.$element.trigger("change")},b.prototype.getValue=function(){return this.$result.val()},b.prototype.api=function(){return this},a.fn.
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){var b=function(b){this.$element=a(b),this.$element.hasClass("factory-has-slider")&&this.createSlider()};b.prototype.createSlider=function(){var a=this,b=this.$element.find(".factory-slider-container");this.$bar=b.find(".factory-bar"),this.$result=b.find(".factory-result"),this.$visibleValue=b.find(".factory-visible-value"),this.units=b.data("units"),this.rangeStart=b.data("range-start"),this.rangeEnd=b.data("range-end"),this.step=b.data("step"),this.step||(this.step=1);var c=this.$result.val();this.$bar.noUiSlider({start:parseInt(c),range:{min:a.rangeStart,max:a.rangeEnd},connect:"lower",step:a.step}),this.$bar.on("slide set",function(){a.setValue(parseInt(a.$bar.val()))})},b.prototype.setValue=function(a,b){this.$result.val(a),this.$visibleValue.length>0&&(this.units?this.$visibleValue.text(a+this.units):this.$visibleValue.text(a)),b&&this.$bar.noUiSlider({start:a},!0),this.$result.trigger("keyup"),this.$element.trigger("change")},b.prototype.getValue=function(){return this.$result.val()},b.prototype.api=function(){return this},a.fn.factoryBootstrap404_integerControl=function(c){if("string"==typeof c){var d=a(this).data("factory.integer-control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.integer-control");d||c.data("factory.integer-control",d=new b(this))})},a.fn.factoryBootstrap404_integerControl.Constructor=b,a(function(){a(".factory-bootstrap-404 .factory-integer").factoryBootstrap404_integerControl()})}(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.factoryBootstrap404_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.factoryBootstrap404_listControl.Constructor=b,a(function(){a(".factory-bootstrap-404 .factory-list").factoryBootstrap404_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.factoryBootstrap404_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-404 .factory-multiple-textbox-group").factoryBootstrap404_MultipleTextboxControl()})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/control.pattern.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){a.widget("
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){a.widget("factoryBootstrap404.patternControl",{_create:function(){this.$element=this.element,this.$preview=this.$element.find(".factory-preview"),this.$patternResult=this.$element.find(".factory-pattern-result"),this.$colorResult=this.$element.find(".factory-color-result"),this.$patterns=this.$element.find(".factory-patterns-panel"),this.$patternItems=this.$element.find(".factory-patterns-item"),this.$btnUpload=this.$element.find(".factory-upload-btn"),this.$btnChangeColor=this.$element.find(".factory-change-color-btn"),this.$colorPanel=this.$element.find(".factory-color-panel"),this.$colorContol=this.$element.find(".factory-color"),this._initMainPanel(),this._initColorPickerPanel(),this._initPatternsPanel()},_initMainPanel:function(){var a=this;this.$preview.on("click",function(){return a.togglePatternsPanel(),!1}),this.$btnChangeColor.on("click",function(){return a.toggleColorPanel(),!1})},togglePatternsPanel:function(){this.$element.hasClass("factory-patterns-panel-active")?this.hidePatternsPanel():this.showPatternsPanel()},hidePatternsPanel:function(){this.$element.removeClass("factory-patterns-panel-active")},showPatternsPanel:function(){this.$element.addClass("factory-patterns-panel-active")},hasColor:function(){return this.$element.hasClass("factory-color-panel-active")},toggleColorPanel:function(){this.hasColor()?this.hideColorPanel():this.showColorPanel()},hideColorPanel:function(){this.$element.removeClass("factory-color-panel-active"),this.$btnChangeColor.removeClass("button-active"),this.$colorResult.val(""),this.$colorResult.trigger("change"),this.$element.trigger("change")},showColorPanel:function(){this.$element.addClass("factory-color-panel-active"),this.$btnChangeColor.addClass("button-active"),this.$colorResult.val(this.$colorContol.factoryBootstrap404_colorControl("getValue")),this.$colorResult.trigger("change"),this.$element.trigger("change")},_initColorPickerPanel:function(){var a=this;this.$colorContol.bind("updated.color.factory",function(b,c){return a.$colorResult.val(c),!1})},_initPatternsPanel:function(){var b=this,c=!0,d=wp.media.editor.send.attachment;this.$btnUpload.on("click",function(){return c=!0,wp.media.editor.send.attachment=function(a,e){return c?(b.$preview.css({background:"url("+e.url+") repeat",border:"0",fontSize:"0"}),void b.$patternResult.attr("value",e.url).trigger("change")):d.apply(this,[a,e])},wp.media.editor.open(b.$btnUpload),a(".add_media").on("click",function(){c=!1}),!1}),this.$patternItems.on("click",function(){if(a(this).data("pattern")){var c=a(this).data("pattern");b.$preview.removeClass("factory-empty"),b.$preview.css({background:"url("+c+") repeat"}),b.$patternResult.attr("value",c).trigger("change")}})}}),a(function(){a.widget.bridge("factoryBootstrap404_patternControl",a.factoryBootstrap404.patternControl),a(".factory-bootstrap-404 .factory-pattern").factoryBootstrap404_patternControl({})})}(jQuery);
|
libs/factory/bootstrap/assets/js-min/holder.more-link.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a,b,c,d){"use strict";var e="
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a,b,c,d){"use strict";var e="factoryBootstrap404_moreLink";a.fn[e]=function(b,c){return this.each(function(){var b=a(this);b.find(".factory-more-link-show").click(function(){return a(a(this).attr("href")).fadeIn(),a(this).hide(),!1}),b.find(".factory-more-link-hide").click(function(){var b=a(a(this).attr("href"));return b.fadeOut(300,function(){b.parents(".factory-more-link").find(".factory-more-link-show").show()}),!1})})},a(function(){a(".factory-bootstrap-404 .factory-more-link").factoryBootstrap404_moreLink()})}(jQuery,window,document);
|
libs/factory/bootstrap/assets/js-min/plugin.gradient-picker.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function($){function ctrlPtComparator(a,b){return a.position-b.position}function bind(a,b){return"function"==typeof a.bind?a.bind(b):function(){a.apply(b,arguments)}}function GradientSelection(a,b){var c=this;this.$el=a,this.$presets=this.$el.find(".gradientPicker-pallets"),this.$presetsItems=this.$presets.find(".factory-preset-gradient"),this.$preview=this.$el.find(".gradientPicker-preview"),this.$pointsContainer=this.$el.find(".factory-points"),this.$colorPickerContainer=this.$el.find(".factory-color-picker-container"),this.$colorPicker=this.$el.find(".factory-color-picker"),this.$colorHex=this.$el.find(".factory-color-hex"),this.$opacitySliderContainer=this.$el.find(".factory-slider-container"),this.$opacitySlider=this.$el.find(".factory-bar"),this.$el.css("position","relative"),this.opts=b,this._createPresetGradients(),this._createPreview(),this._createColorPicker(),this._createDirectionDropdown(),this.controlPoints=[],b.controlPoints=b.controlPoints||[];for(var d=0;d<b.controlPoints.length;++d){var e=this.createCtrlPt(b.controlPoints[d]);this.controlPoints.push(e)}0===this.controlPoints.length&&(this.controlPoints.push(this.createCtrlPt(this.$presetsItems.data("primary")+" 0% 1")),this.controlPoints.push(this.createCtrlPt(this.$presetsItems.data("secondary")+" 100% 1"))),$(document).on("click.gp.factory",function(){c.hideColorPicker()}),this.$colorPickerContainer.on("click.gp.factory",function(a){a.stopPropagation()}),this.$pointsContainer.on("click.gp.factory",function(a){a.stopPropagation(),c.placePoint(a)}),this.updatePreview()}function ControlPoint(a,b,c){var d=this;if(this.parent=a,this.$container=a.$pointsContainer,this.$el=$('<span class="factory-point"></span>'),this.$pointColor=$('<span class="factory-point-color"></span>').appendTo(this.$el),this.$container.append(this.$el),"string"==typeof b?(b=b.split(" "),this.position=parseFloat(b[1])/100,this.color=b[0],this.opacity=b[2]):(this.position=b.position,this.color=b.color,this.opacity=b.opacity),this.outerWidth=this.$el.outerWidth(),this.$pointColor.css({"background-color":d.color,opacity:d.opacity}),"horizontal"===c){var e=(d.$container.width()-this.$el.outerWidth())*this.position;this.$el.css("left",e)}else{var f=(d.$container.height()-this.$el.outerHeight())*this.position;this.$el.css("top",f)}this.drag=bind(this.drag,this),this.stop=bind(this.stop,this),this.$el.disableSelection().css("webkit-user-select","none").draggable({axis:"horizontal"===c?"x":"y",drag:this.drag,stop:this.stop,containment:d.$container,cancel:null}),this.$el.on("click.gp.factory",function(a){d.parent.currentPoint===d?d.parent.hideColorPicker(d):d.parent.showColorPicker(d),a.stopPropagation()})}$.event.special.destroyed||($.event.special.destroyed={remove:function(a){a.handler&&a.handler()}});var agent=window.navigator.userAgent,browserPrefix=["-webkit-","-moz-","-ms-"],x,y=0;GradientSelection.prototype={_createPresetGradients:function(){var a=this;this.$presetsItems.each(function(){var a=$(this),b=$('<span class="factory-secondary-color-wrap"></span>').appendTo(a),c=$('<span class="factory-secondary-color"></span>').appendTo(b);a.css("background",a.data("primary")),c.css("background",a.data("secondary"))}),this.$presetsItems.click(function(){var b=$(this).data("primary"),c=$(this).data("secondary");a.setGradient([b+" 0% 1",c+" 100% 1"])})},_createPreview:function(){var a=this.$preview[0];a.width=0===a.clientWidth?210:a.clientWidth,a.height=0===a.clientHeight?30:a.clientHeight,this.g2d=a.getContext("2d")},_createColorPicker:function(){var a=this;this.$colorPicker.
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function($){function ctrlPtComparator(a,b){return a.position-b.position}function bind(a,b){return"function"==typeof a.bind?a.bind(b):function(){a.apply(b,arguments)}}function GradientSelection(a,b){var c=this;this.$el=a,this.$presets=this.$el.find(".gradientPicker-pallets"),this.$presetsItems=this.$presets.find(".factory-preset-gradient"),this.$preview=this.$el.find(".gradientPicker-preview"),this.$pointsContainer=this.$el.find(".factory-points"),this.$colorPickerContainer=this.$el.find(".factory-color-picker-container"),this.$colorPicker=this.$el.find(".factory-color-picker"),this.$colorHex=this.$el.find(".factory-color-hex"),this.$opacitySliderContainer=this.$el.find(".factory-slider-container"),this.$opacitySlider=this.$el.find(".factory-bar"),this.$el.css("position","relative"),this.opts=b,this._createPresetGradients(),this._createPreview(),this._createColorPicker(),this._createDirectionDropdown(),this.controlPoints=[],b.controlPoints=b.controlPoints||[];for(var d=0;d<b.controlPoints.length;++d){var e=this.createCtrlPt(b.controlPoints[d]);this.controlPoints.push(e)}0===this.controlPoints.length&&(this.controlPoints.push(this.createCtrlPt(this.$presetsItems.data("primary")+" 0% 1")),this.controlPoints.push(this.createCtrlPt(this.$presetsItems.data("secondary")+" 100% 1"))),$(document).on("click.gp.factory",function(){c.hideColorPicker()}),this.$colorPickerContainer.on("click.gp.factory",function(a){a.stopPropagation()}),this.$pointsContainer.on("click.gp.factory",function(a){a.stopPropagation(),c.placePoint(a)}),this.updatePreview()}function ControlPoint(a,b,c){var d=this;if(this.parent=a,this.$container=a.$pointsContainer,this.$el=$('<span class="factory-point"></span>'),this.$pointColor=$('<span class="factory-point-color"></span>').appendTo(this.$el),this.$container.append(this.$el),"string"==typeof b?(b=b.split(" "),this.position=parseFloat(b[1])/100,this.color=b[0],this.opacity=b[2]):(this.position=b.position,this.color=b.color,this.opacity=b.opacity),this.outerWidth=this.$el.outerWidth(),this.$pointColor.css({"background-color":d.color,opacity:d.opacity}),"horizontal"===c){var e=(d.$container.width()-this.$el.outerWidth())*this.position;this.$el.css("left",e)}else{var f=(d.$container.height()-this.$el.outerHeight())*this.position;this.$el.css("top",f)}this.drag=bind(this.drag,this),this.stop=bind(this.stop,this),this.$el.disableSelection().css("webkit-user-select","none").draggable({axis:"horizontal"===c?"x":"y",drag:this.drag,stop:this.stop,containment:d.$container,cancel:null}),this.$el.on("click.gp.factory",function(a){d.parent.currentPoint===d?d.parent.hideColorPicker(d):d.parent.showColorPicker(d),a.stopPropagation()})}$.event.special.destroyed||($.event.special.destroyed={remove:function(a){a.handler&&a.handler()}});var agent=window.navigator.userAgent,browserPrefix=["-webkit-","-moz-","-ms-"],x,y=0;GradientSelection.prototype={_createPresetGradients:function(){var a=this;this.$presetsItems.each(function(){var a=$(this),b=$('<span class="factory-secondary-color-wrap"></span>').appendTo(a),c=$('<span class="factory-secondary-color"></span>').appendTo(b);a.css("background",a.data("primary")),c.css("background",a.data("secondary"))}),this.$presetsItems.click(function(){var b=$(this).data("primary"),c=$(this).data("secondary");a.setGradient([b+" 0% 1",c+" 100% 1"])})},_createPreview:function(){var a=this.$preview[0];a.width=0===a.clientWidth?210:a.clientWidth,a.height=0===a.clientHeight?30:a.clientHeight,this.g2d=a.getContext("2d")},_createColorPicker:function(){var a=this;this.$colorPicker.factoryBootstrap404_iris({width:217,palettes:["#16a086","#27ae61","#2a80b9","#8f44ad","#2d3e50","#f49c14","#c1392b","#bec3c7"],hide:!0,change:function(b,c){a.currentPoint.updateColor(c.color.toString()),a._colorLock||a.$colorHex.val(c.color.toString())}}),a.$colorHex.on("change paste keyup",function(){a._colorLock=!0,a.$colorPicker.factoryBootstrap404_iris("color",a.$colorHex.val()),a._cancelColorLock()}),this.$opacitySlider.noUiSlider({start:100,range:{min:0,max:100},step:1}),this.$opacitySlider.on("slide",function(){var b=parseInt(a.$opacitySlider.val()),c=b+"%";a.$opacitySliderContainer.find(".factory-visible-value").text(c),a.currentPoint.updateOpacity(b/100)}),this.$opacitySlider.on("set",function(){a.$result.val(a.getValue()),a.$result.trigger("change")})},_repeatColorLock:!1,_colorLock:!1,_colorLockTimer:!1,_cancelColorLock:function(a){var b=this;return b._colorLockTimer&&!a?(this._repeatColorLock=!0,!1):void(this._colorLockTimer=setTimeout(function(){return b._repeatColorLock?(b._repeatColorLock=!1,b._cancelColorLock(!0),!1):(b._colorLock=!1,b._colorLockTimer=!1,void(b._repeatColorLock=!1))},500))},_createDirectionDropdown:function(){var a=this,b=factory&&factory.res&&factory.res.resVertical||"vertical",c=factory&&factory.res&&factory.res.resHorizontal||"horizontal";this.$directionDropdown=$('<select class="gradientPicker-filldirection"><option value="vertical"'+("top"===a.opts.fillDirection?" selected":"")+">"+b+'</option><option value="horizontal"'+("left"===a.opts.fillDirection?" selected":"")+">"+c+"</option></select>"),this.$el.append(this.$directionDropdown),this.$directionDropdown.chosen(),this.$directionDropdown.change(function(){a.setGradientDirection($(this).val())})},showColorPicker:function(a){this.currentPoint=a,$(".factory-current-point").removeClass("factory-current-point"),a.$el.addClass("factory-current-point"),this.$colorPickerContainer.show(),this.$colorPicker.factoryBootstrap404_iris("show"),this.$colorPicker.factoryBootstrap404_iris("option","color",a.color),this.$opacitySlider.val(100*a.opacity),this.$opacitySlider.trigger("slide")},hideColorPicker:function(){$(".factory-current-point").removeClass("factory-current-point"),this.currentPoint=!1,this.$colorPickerContainer.hide()},isColorPickerShown:function(){return this.currentPoint},docClicked:function(){$(".gradientPicker-iris-wrap").hide(),$(".gradientPicker-ctrlPt").removeClass("open")},createCtrlPt:function(a){return new ControlPoint(this,a,this.opts.orientation)},updateOptions:function(a,b){if($.extend(this.opts,a),b){this.controlPoints=[],this.$pointsContainer.html("");for(var c=0;c<this.opts.controlPoints.length;++c){var d=this.createCtrlPt(this.opts.controlPoints[c]);this.controlPoints.push(d)}}switch(this.updatePreview(),this.opts.fillDirection){case"top":fillDirectCheck="horizontal";break;case"left":fillDirectCheck="vertical";break;default:fillDirectCheck=!1}fillDirectCheck&&$(".gradientPicker-filldirection",this.$el).find('option[value="'+fillDirectCheck+'"]').prop("selected",!0)},updatePreview:function(){var a=[];if(this.controlPoints.sort(ctrlPtComparator),this.g2d.clearRect(0,0,this.g2d.canvas.width,this.g2d.canvas.height),"horizontal"===this.opts.orientation)for(var b=this.g2d.createLinearGradient(0,0,this.g2d.canvas.width,0),c=0;c<this.controlPoints.length;++c){var d=this.controlPoints[c];b.addColorStop(d.position,"rgba("+hexToRgb(d.color).r+","+hexToRgb(d.color).g+","+hexToRgb(d.color).b+", "+d.opacity+")"),a.push({position:d.position,color:d.color,opacity:d.opacity})}if(this.g2d.fillStyle=b,this.g2d.fillRect(0,0,this.g2d.canvas.width,this.g2d.canvas.height),this.opts.generateStyles)var e=this._generatePreviewStyles();this.opts.change(a,e)},removeControlPoint:function(a){var b=this.controlPoints.indexOf(a);-1!=b&&(this.controlPoints.splice(b,1),a.$el.remove())},placePoint:function(a){a.stopPropagation();var b=$(a.target).offset(),c=a.pageX-b.left,d=a.pageY-b.top,e=this.g2d.getImageData(c,d,1,1),f="rgb("+e.data[0]+","+e.data[1]+","+e.data[2]+")",g=1/255*e.data[3],h=this.createCtrlPt({position:c/this.g2d.canvas.width,color:rgb2hex(f),opacity:g});this.controlPoints.push(h),this.controlPoints.sort(ctrlPtComparator),this.showColorPicker(h)},setGradient:function(a){this.updateOptions({controlPoints:a},!0),this.updatePreview()},setGradientDirection:function(a){switch(a){case"horizontal":this.updateOptions({type:"linear",fillDirection:"top"},!1);break;case"vertical":this.updateOptions({type:"linear",fillDirection:"left"},!1)}},_generatePreviewStyles:function(){var a={};a.filldirection=this.opts.fillDirection,a.color_points=[];for(var b=0;b<this.controlPoints.length;++b){var c=this.controlPoints[b];a.color_points.push(c.color+" "+(100*c.position|0)+"% "+c.opacity)}return JSON.stringify(a)},_genPalletsBackground:function(a,b){return cssRules="linear-gradient(90deg, "+a+" 0%, "+b+" 100%)",agent.indexOf("WebKit")>=0?crossBrowserRule=browserPrefix[0]+cssRules:agent.indexOf("Mozilla")>=0?crossBrowserRule=browserPrefix[1]+cssRules:agent.indexOf("Microsoft")>=0?crossBrowserRule=browserPrefix[2]+cssRules:crossBrowserRule=cssRules,crossBrowserRule}},ControlPoint.prototype={updateColor:function(a){this.color=a,this.$pointColor.css("background-color",a),this.parent.updatePreview()},updateOpacity:function(a){this.opacity=a,this.$pointColor.css("opacity",a),this.parent.updatePreview()},drag:function(e,ui){var stopPointPosition=eval(this.$el.parent().offset().top+this.$el.parent().height()+20);e.pageY>stopPointPosition&&this.remove();var left=ui.position.left;this.position=left/(this.$container.width()-this.outerWidth),this.parent.updatePreview()},stop:function(){this.parent.updatePreview()},remove:function(){this.parent.removeControlPoint(this),this.parent.hideColorPicker(),this.parent.updatePreview()}};var methods={init:function(a){a=$.extend({controlPoints:["#FFF 0% 1","#000 100% 1"],orientation:"horizontal",type:"linear",fillDirection:"left",generateStyles:!0,change:function(){}},a),this.each(function(){var b=$(this),c=new GradientSelection(b,a);b.data("gradientPicker-sel",c)})},update:function(a){this.each(function(){var b=$(this),c=b.data("gradientPicker-sel");null!=c&&c.updateOptions(a,!0)})}};$.fn.gradientPicker=function(a,b){"string"==typeof a&&"init"!==a?methods[a].call(this,b):(b=a,methods.init.call(this,b))}}(jQuery);
|
libs/factory/bootstrap/assets/js-min/plugin.iris.min.js
CHANGED
@@ -10,4 +10,4 @@
|
|
10 |
/*! Iris Color Picker - v1.0.4 - 2013-11-18
|
11 |
* https://github.com/Automattic/Iris
|
12 |
* Copyright (c) 2013 Matt Wiebe; Licensed GPLv2 */
|
13 |
-
!function(a,b){function c(){var b,c;j?k="filter":(b=a('<div id="iris-gradtest" />'),c="linear-gradient(top,#fff,#000)",a.each(l,function(a,d){return b.css("backgroundImage",d+c),b.css("backgroundImage").match("gradient")?(k=a,!1):void 0}),k===!1&&(b.css("background","-webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#000))"),b.css("backgroundImage").match("gradient")&&(k="webkit")),b.remove())}function d(b,c){return b="top"===b?"top":"left",c=a.isArray(c)?c:Array.prototype.slice.call(arguments,1),"webkit"===k?f(b,c):l[k]+"linear-gradient("+b+", "+c.join(", ")+")"}function e(b,c){var d,e,f,h,i,j,k,l,m;b="top"===b?"top":"left",c=a.isArray(c)?c:Array.prototype.slice.call(arguments,1),d="top"===b?0:1,e=a(this),f=c.length-1,h="filter",i=1===d?"left":"top",j=1===d?"right":"bottom",k=1===d?"height":"width",l='<div class="iris-ie-gradient-shim" style="position:absolute;'+k+":100%;"+i+":%start%;"+j+":%end%;"+h+':%filter%;" data-color:"%color%"></div>',m="","static"===e.css("position")&&e.css({position:"relative"}),c=g(c),a.each(c,function(a,b){var e,g,h;return a===f?!1:(e=c[a+1],void(b.stop!==e.stop&&(g=100-parseFloat(e.stop)+"%",b.octoHex=new Color(b.color).toIEOctoHex(),e.octoHex=new Color(e.color).toIEOctoHex(),h="progid:DXImageTransform.Microsoft.Gradient(GradientType="+d+", StartColorStr='"+b.octoHex+"', EndColorStr='"+e.octoHex+"')",m+=l.replace("%start%",b.stop).replace("%end%",g).replace("%filter%",h))))}),e.find(".iris-ie-gradient-shim").remove(),a(m).prependTo(e)}function f(b,c){var d=[];return b="top"===b?"0% 0%,0% 100%,":"0% 100%,100% 100%,",c=g(c),a.each(c,function(a,b){d.push("color-stop("+parseFloat(b.stop)/100+", "+b.color+")")}),"-webkit-gradient(linear,"+b+d.join(",")+")"}function g(b){var c=[],d=[],e=[],f=b.length-1;return a.each(b,function(a,b){var e=b,f=!1,g=b.match(/1?[0-9]{1,2}%$/);g&&(e=b.replace(/\s?1?[0-9]{1,2}%$/,""),f=g.shift()),c.push(e),d.push(f)}),d[0]===!1&&(d[0]="0%"),d[f]===!1&&(d[f]="100%"),d=h(d),a.each(d,function(a){e[a]={color:c[a],stop:d[a]}}),e}function h(b){var c,d,e,f,g=0,i=b.length-1,j=0,k=!1;if(b.length<=2||a.inArray(!1,b)<0)return b;for(;j<b.length-1;)k||b[j]!==!1?k&&b[j]!==!1&&(i=j,j=b.length):(g=j-1,k=!0),j++;for(d=i-g,f=parseInt(b[g].replace("%"),10),c=(parseFloat(b[i].replace("%"))-f)/d,j=g+1,e=1;i>j;)b[j]=f+e*c+"%",e++,j++;return h(b)}var i,j,k,l,m,n,o,p,q;return i='<div class="iris-picker"><div class="iris-picker-inner"><div class="iris-square"><a class="iris-square-value" href="#"><span class="iris-square-handle ui-slider-handle"></span></a><div class="iris-square-inner iris-square-horiz"></div><div class="iris-square-inner iris-square-vert"></div></div><div class="iris-slider iris-strip"><div class="iris-slider-offset"></div></div></div></div>',o=navigator.userAgent.toLowerCase(),p="Microsoft Internet Explorer"===navigator.appName,q=p?parseFloat(o.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0,j=p&&10>q,k=!1,l=["-moz-","-webkit-","-o-","-ms-"],m='.iris-picker{display:block;position:relative}.iris-picker,.iris-picker *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input+.iris-picker{margin-top:4px}.iris-error{background-color:#ffafaf}.iris-border{border-radius:3px;border:1px solid #aaa;width:200px;background-color:#fff}.iris-picker-inner{position:absolute;top:0;right:0;left:0;bottom:0}.iris-border .iris-picker-inner{top:10px;right:10px;left:10px;bottom:10px}.iris-picker .iris-square-inner{position:absolute;left:0;right:0;top:0;bottom:0}.iris-picker .iris-square,.iris-picker .iris-slider,.iris-picker .iris-square-inner,.iris-picker .iris-palette{border-radius:3px;box-shadow:inset 0 0 5px rgba(0,0,0,.4);height:100%;width:12.5%;float:left;margin-right:5%}.iris-picker .iris-square{width:76%;margin-right:10%;position:relative}.iris-picker .iris-square-inner{width:auto;margin:0}.iris-ie-9 .iris-square,.iris-ie-9 .iris-slider,.iris-ie-9 .iris-square-inner,.iris-ie-9 .iris-palette{box-shadow:none;border-radius:0}.iris-ie-9 .iris-square,.iris-ie-9 .iris-slider,.iris-ie-9 .iris-palette{outline:1px solid rgba(0,0,0,.1)}.iris-ie-lt9 .iris-square,.iris-ie-lt9 .iris-slider,.iris-ie-lt9 .iris-square-inner,.iris-ie-lt9 .iris-palette{outline:1px solid #aaa}.iris-ie-lt9 .iris-square .ui-slider-handle{outline:1px solid #aaa;background-color:#fff;-ms-filter:"alpha(Opacity=30)"}.iris-ie-lt9 .iris-square .iris-square-handle{background:0;border:3px solid #fff;-ms-filter:"alpha(Opacity=50)"}.iris-picker .iris-strip{margin-right:0;position:relative}.iris-picker .iris-strip .ui-slider-handle{position:absolute;background:0;margin:0;right:-3px;left:-3px;border:4px solid #aaa;border-width:4px 3px;width:auto;height:6px;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);opacity:.9;z-index:5;cursor:ns-resize}.iris-strip .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;border-radius:3px}.iris-picker .iris-slider-offset{position:absolute;top:11px;left:0;right:0;bottom:-3px;width:auto;height:auto;background:transparent;border:0;top:none;border-radius:0}.iris-picker .iris-square-handle{background:transparent;border:5px solid #aaa;border-radius:50%;border-color:rgba(128,128,128,.5);box-shadow:none;width:12px;height:12px;position:absolute;left:-10px;top:-10px;cursor:move;opacity:1;z-index:10}.iris-picker .ui-state-focus .iris-square-handle{opacity:.8}.iris-picker .iris-square-handle:hover{border-color:#999}.iris-picker .iris-square-value:focus .iris-square-handle{box-shadow:0 0 2px rgba(0,0,0,.75);opacity:.8}.iris-picker .iris-square-handle:hover::after{border-color:#fff}.iris-picker .iris-square-handle::after{position:absolute;bottom:-4px;right:-4px;left:-4px;top:-4px;border:3px solid #f9f9f9;border-color:rgba(255,255,255,.8);border-radius:50%;content:" "}.iris-picker .iris-square-value{width:8px;height:8px;position:absolute}.iris-ie-lt9 .iris-square-value,.iris-mozilla .iris-square-value{width:1px;height:1px}.iris-palette-container{position:absolute;bottom:0;left:0;margin:0;padding:0}.iris-border .iris-palette-container{left:10px;bottom:10px}.iris-picker .iris-palette{margin:0;cursor:pointer}',j&&7>=q?(a.fn.iris=a.noop,void(a.support.iris=!1)):(a.support.factoryBootstrap401_iris=!0,a.fn.factoryBootstrap401_gradient=function(){var b=arguments;return this.each(function(){j?e.apply(this,b):a(this).css("backgroundImage",d.apply(this,b))})},a.fn.factoryBootstrap401_raninbowGradient=function(b,c){var d,e,f,g;for(b=b||"top",d=a.extend({},{s:100,l:50},c),e="hsl(%h%,"+d.s+"%,"+d.l+"%)",f=0,g=[];360>=f;)g.push(e.replace("%h%",f)),f+=30;return this.each(function(){a(this).factoryBootstrap401_gradient(b,g)})},n={options:{color:!1,mode:"hsl",controls:{horiz:"s",vert:"l",strip:"h"},hide:!0,border:!0,target:!1,width:200,palettes:!1},_color:"",_palettes:["#000","#fff","#d33","#d93","#ee2","#81d742","#1e73be","#8224e3"],_inited:!1,_defaultHSLControls:{horiz:"s",vert:"l",strip:"h"},_defaultHSVControls:{horiz:"h",vert:"v",strip:"s"},_scale:{h:360,s:100,l:100,v:100},_create:function(){var b=this,d=b.element,e=b.options.color||d.val();k===!1&&c(),d.is("input")?(b.options.target?b.picker=a(i).appendTo(b.options.target):b.picker=a(i).insertAfter(d),b._addInputListeners(d)):(d.append(i),b.picker=d.find(".iris-picker")),p?9===q?b.picker.addClass("iris-ie-9"):8>=q&&b.picker.addClass("iris-ie-lt9"):o.indexOf("compatible")<0&&o.indexOf("khtml")<0&&o.match(/mozilla/)&&b.picker.addClass("iris-mozilla"),b.options.palettes&&b._addPalettes(),b._color=new Color(e).setHSpace(b.options.mode),b.options.color=b._color.toString(),b.controls={square:b.picker.find(".iris-square"),squareDrag:b.picker.find(".iris-square-value"),horiz:b.picker.find(".iris-square-horiz"),vert:b.picker.find(".iris-square-vert"),strip:b.picker.find(".iris-strip"),stripSlider:b.picker.find(".iris-strip .iris-slider-offset")},"hsv"===b.options.mode&&b._has("l",b.options.controls)?b.options.controls=b._defaultHSVControls:"hsl"===b.options.mode&&b._has("v",b.options.controls)&&(b.options.controls=b._defaultHSLControls),b.hue=b._color.h(),b.options.hide&&b.picker.hide(),b.options.border&&b.picker.addClass("iris-border"),b._initControls(),b.active="external",b._dimensions(),b._change()},_has:function(b,c){var d=!1;return a.each(c,function(a,c){return b===c?(d=!0,!1):void 0}),d},_addPalettes:function(){var b=a('<div class="iris-palette-container" />'),c=a('<a class="iris-palette" tabindex="0" />'),d=a.isArray(this.options.palettes)?this.options.palettes:this._palettes;this.picker.find(".iris-palette-container").length&&(b=this.picker.find(".iris-palette-container").detach().html("")),a.each(d,function(a,d){c.clone().data("color",d).css("backgroundColor",d).appendTo(b).height(10).width(10)}),this.picker.append(b)},_paint:function(){var a=this;a._paintDimension("top","strip"),a._paintDimension("top","vert"),a._paintDimension("left","horiz")},_paintDimension:function(a,b){var c,d=this,e=d._color,f=d.options.mode,g=d._getHSpaceColor(),h=d.controls[b],i=d.options.controls;if(b!==d.active&&("square"!==d.active||"strip"===b))switch(i[b]){case"h":if("hsv"===f){switch(g=e.clone(),b){case"horiz":g[i.vert](100);break;case"vert":g[i.horiz](100);break;case"strip":g.setHSpace("hsl")}c=g.toHsl()}else c="strip"===b?{s:g.s,l:g.l}:{s:100,l:g.l};h.factoryBootstrap401_raninbowGradient(a,c);break;case"s":"hsv"===f?"vert"===b?c=[e.clone().a(0).s(0).toCSS("rgba"),e.clone().a(1).s(0).toCSS("rgba")]:"strip"===b?c=[e.clone().s(100).toCSS("hsl"),e.clone().s(0).toCSS("hsl")]:"horiz"===b&&(c=["#fff","hsl("+g.h+",100%,50%)"]):c="vert"===b&&"h"===d.options.controls.horiz?["hsla(0, 0%, "+g.l+"%, 0)","hsla(0, 0%, "+g.l+"%, 1)"]:["hsl("+g.h+",0%,50%)","hsl("+g.h+",100%,50%)"],h.factoryBootstrap401_gradient(a,c);break;case"l":c="strip"===b?["hsl("+g.h+",100%,100%)","hsl("+g.h+", "+g.s+"%,50%)","hsl("+g.h+",100%,0%)"]:["#fff","rgba(255,255,255,0) 50%","rgba(0,0,0,0) 50%","rgba(0,0,0,1)"],h.factoryBootstrap401_gradient(a,c);break;case"v":c="strip"===b?[e.clone().v(100).toCSS(),e.clone().v(0).toCSS()]:["rgba(0,0,0,0)","#000"],h.factoryBootstrap401_gradient(a,c)}},_getHSpaceColor:function(){return"hsv"===this.options.mode?this._color.toHsv():this._color.toHsl()},_dimensions:function(b){var c,d,e,f,g=this,h=g.options,i=g.controls,j=i.square,k=g.picker.find(".iris-strip"),l="77.5%",m="12%",n=20,o=h.border?h.width-n:h.width,p=a.isArray(h.palettes)?h.palettes.length:g._palettes.length;return b&&(j.css("width",""),k.css("width",""),g.picker.css({width:"",height:""})),l=o*(parseFloat(l)/100),m=o*(parseFloat(m)/100),c=h.border?l+n:l,j.width(l).height(l),k.height(l).width(m),g.picker.css({width:h.width,height:c}),h.palettes?(d=2*l/100,f=l-(p-1)*d,e=f/p,g.picker.find(".iris-palette").each(function(b){var c=0===b?0:d;a(this).css({width:e,height:e,marginLeft:c})}),g.picker.css("paddingBottom",e+d),void k.height(e+d+l)):g.picker.css("paddingBottom","")},_addInputListeners:function(a){var b=this,c=100,d=function(c){var d=new Color(a.val()),e=a.val().replace(/^#/,"");a.removeClass("iris-error"),d.error?""!==e&&a.addClass("iris-error"):d.toString()!==b._color.toString()&&("keyup"===c.type&&e.match(/^[0-9a-fA-F]{3}$/)||b._setOption("color",d.toString()))};a.on("change",d).on("keyup",b._debounce(d,c)),b.options.hide&&a.one("focus",function(){b.show()})},_initControls:function(){var b=this,c=b.controls,d=c.square,e=b.options.controls,f=b._scale[e.strip];c.stripSlider.slider({orientation:"vertical",max:f,slide:function(a,c){b.active="strip","h"===e.strip&&(c.value=f-c.value),b._color[e.strip](c.value),b._change.apply(b,arguments)}}),c.squareDrag.draggable({containment:"parent",zIndex:1e3,cursor:"move",drag:function(a,c){b._squareDrag(a,c)},start:function(){d.addClass("iris-dragging"),a(this).addClass("ui-state-focus")},stop:function(){d.removeClass("iris-dragging"),a(this).removeClass("ui-state-focus")}}).on("mousedown mouseup",function(c){var d="ui-state-focus";c.preventDefault(),"mousedown"===c.type?(b.picker.find("."+d).removeClass(d).blur(),a(this).addClass(d).focus()):a(this).removeClass(d)}).on("keydown",function(a){var d=c.square,e=c.squareDrag,f=e.position(),g=b.options.width/100;switch(a.altKey&&(g*=10),a.keyCode){case 37:f.left-=g;break;case 38:f.top-=g;break;case 39:f.left+=g;break;case 40:f.top+=g;break;default:return!0}f.left=Math.max(0,Math.min(f.left,d.width())),f.top=Math.max(0,Math.min(f.top,d.height())),e.css(f),b._squareDrag(a,{position:f}),a.preventDefault()}),d.mousedown(function(c){var d,e;1===c.which&&a(c.target).is("div")&&(d=b.controls.square.offset(),e={top:c.pageY-d.top,left:c.pageX-d.left},c.preventDefault(),b._squareDrag(c,{position:e}),c.target=b.controls.squareDrag.get(0),b.controls.squareDrag.css(e).trigger(c))}),b.options.palettes&&b._paletteListeners()},_paletteListeners:function(){var b=this;b.picker.find(".iris-palette-container").on("click.palette",".iris-palette",function(){b._color.fromCSS(a(this).data("color")),b.active="external",b._change()}).on("keydown.palette",".iris-palette",function(b){return 13!==b.keyCode&&32!==b.keyCode?!0:(b.stopPropagation(),void a(this).click())})},_squareDrag:function(a,b){var c=this,d=c.options.controls,e=c._squareDimensions(),f=Math.round((e.h-b.position.top)/e.h*c._scale[d.vert]),g=c._scale[d.horiz]-Math.round((e.w-b.position.left)/e.w*c._scale[d.horiz]);c._color[d.horiz](g)[d.vert](f),c.active="square",c._change.apply(c,arguments)},_setOption:function(b,c){var d,e,f,g=this,h=g.options[b],i=!1;switch(g.options[b]=c,b){case"color":c=""+c,d=c.replace(/^#/,""),e=new Color(c).setHSpace(g.options.mode),e.error?g.options[b]=h:(g._color=e,g.options.color=g.options[b]=g._color.toString(),g.active="external",g._change());break;case"palettes":i=!0,c?g._addPalettes():g.picker.find(".iris-palette-container").remove(),h||g._paletteListeners();break;case"width":i=!0;break;case"border":i=!0,f=c?"addClass":"removeClass",g.picker[f]("iris-border");break;case"mode":case"controls":if(h===c)return;return f=g.element,h=g.options,h.hide=!g.picker.is(":visible"),g.destroy(),g.picker.remove(),a(g.element).iris(h)}i&&g._dimensions(!0)},_squareDimensions:function(a){var c,d,e=this.controls.square;return a!==b&&e.data("dimensions")?e.data("dimensions"):(d=this.controls.squareDrag,c={w:e.width(),h:e.height()},e.data("dimensions",c),c)},_isNonHueControl:function(a,b){return"square"===a&&"h"===this.options.controls.strip?!0:"external"===b||"h"===b&&"strip"===a?!1:!0},_change:function(){var b=this,c=b.controls,d=b._getHSpaceColor(),e=["square","strip"],f=b.options.controls,g=f[b.active]||"external",h=b.hue;"strip"===b.active?e=[]:"external"!==b.active&&e.pop(),a.each(e,function(a,e){var g,h,i;if(e!==b.active)switch(e){case"strip":g="h"===f.strip?b._scale[f.strip]-d[f.strip]:d[f.strip],c.stripSlider.slider("value",g);break;case"square":h=b._squareDimensions(),i={left:d[f.horiz]/b._scale[f.horiz]*h.w,top:h.h-d[f.vert]/b._scale[f.vert]*h.h},b.controls.squareDrag.css(i)}}),d.h!==h&&b._isNonHueControl(b.active,g)&&b._color.h(h),b.hue=b._color.h(),b.options.color=b._color.toString(),b._inited&&b._trigger("change",{type:b.active},{color:b._color}),b.element.is(":input")&&!b._color.error&&(b.element.removeClass("iris-error"),b.element.val()!==b._color.toString()&&b.element.val(b._color.toString())),b._paint(),b._inited=!0,b.active=!1},_debounce:function(a,b,c){var d,e;return function(){var f,g,h=this,i=arguments;return f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},show:function(){this.picker.show()},hide:function(){this.picker.hide()},toggle:function(){this.picker.toggle()},color:function(a){return a===!0?this._color.clone():a===b?this._color.toString():void this.option("color",a)}},a.widget("a8c.factoryBootstrap401_iris",n),void a('<style id="iris-css">'+m+"</style>").appendTo("head"))}(jQuery);
|
10 |
/*! Iris Color Picker - v1.0.4 - 2013-11-18
|
11 |
* https://github.com/Automattic/Iris
|
12 |
* Copyright (c) 2013 Matt Wiebe; Licensed GPLv2 */
|
13 |
+
!function(a,b){function c(){var b,c;j?k="filter":(b=a('<div id="iris-gradtest" />'),c="linear-gradient(top,#fff,#000)",a.each(l,function(a,d){return b.css("backgroundImage",d+c),b.css("backgroundImage").match("gradient")?(k=a,!1):void 0}),k===!1&&(b.css("background","-webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#000))"),b.css("backgroundImage").match("gradient")&&(k="webkit")),b.remove())}function d(b,c){return b="top"===b?"top":"left",c=a.isArray(c)?c:Array.prototype.slice.call(arguments,1),"webkit"===k?f(b,c):l[k]+"linear-gradient("+b+", "+c.join(", ")+")"}function e(b,c){var d,e,f,h,i,j,k,l,m;b="top"===b?"top":"left",c=a.isArray(c)?c:Array.prototype.slice.call(arguments,1),d="top"===b?0:1,e=a(this),f=c.length-1,h="filter",i=1===d?"left":"top",j=1===d?"right":"bottom",k=1===d?"height":"width",l='<div class="iris-ie-gradient-shim" style="position:absolute;'+k+":100%;"+i+":%start%;"+j+":%end%;"+h+':%filter%;" data-color:"%color%"></div>',m="","static"===e.css("position")&&e.css({position:"relative"}),c=g(c),a.each(c,function(a,b){var e,g,h;return a===f?!1:(e=c[a+1],void(b.stop!==e.stop&&(g=100-parseFloat(e.stop)+"%",b.octoHex=new Color(b.color).toIEOctoHex(),e.octoHex=new Color(e.color).toIEOctoHex(),h="progid:DXImageTransform.Microsoft.Gradient(GradientType="+d+", StartColorStr='"+b.octoHex+"', EndColorStr='"+e.octoHex+"')",m+=l.replace("%start%",b.stop).replace("%end%",g).replace("%filter%",h))))}),e.find(".iris-ie-gradient-shim").remove(),a(m).prependTo(e)}function f(b,c){var d=[];return b="top"===b?"0% 0%,0% 100%,":"0% 100%,100% 100%,",c=g(c),a.each(c,function(a,b){d.push("color-stop("+parseFloat(b.stop)/100+", "+b.color+")")}),"-webkit-gradient(linear,"+b+d.join(",")+")"}function g(b){var c=[],d=[],e=[],f=b.length-1;return a.each(b,function(a,b){var e=b,f=!1,g=b.match(/1?[0-9]{1,2}%$/);g&&(e=b.replace(/\s?1?[0-9]{1,2}%$/,""),f=g.shift()),c.push(e),d.push(f)}),d[0]===!1&&(d[0]="0%"),d[f]===!1&&(d[f]="100%"),d=h(d),a.each(d,function(a){e[a]={color:c[a],stop:d[a]}}),e}function h(b){var c,d,e,f,g=0,i=b.length-1,j=0,k=!1;if(b.length<=2||a.inArray(!1,b)<0)return b;for(;j<b.length-1;)k||b[j]!==!1?k&&b[j]!==!1&&(i=j,j=b.length):(g=j-1,k=!0),j++;for(d=i-g,f=parseInt(b[g].replace("%"),10),c=(parseFloat(b[i].replace("%"))-f)/d,j=g+1,e=1;i>j;)b[j]=f+e*c+"%",e++,j++;return h(b)}var i,j,k,l,m,n,o,p,q;return i='<div class="iris-picker"><div class="iris-picker-inner"><div class="iris-square"><a class="iris-square-value" href="#"><span class="iris-square-handle ui-slider-handle"></span></a><div class="iris-square-inner iris-square-horiz"></div><div class="iris-square-inner iris-square-vert"></div></div><div class="iris-slider iris-strip"><div class="iris-slider-offset"></div></div></div></div>',o=navigator.userAgent.toLowerCase(),p="Microsoft Internet Explorer"===navigator.appName,q=p?parseFloat(o.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0,j=p&&10>q,k=!1,l=["-moz-","-webkit-","-o-","-ms-"],m='.iris-picker{display:block;position:relative}.iris-picker,.iris-picker *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input+.iris-picker{margin-top:4px}.iris-error{background-color:#ffafaf}.iris-border{border-radius:3px;border:1px solid #aaa;width:200px;background-color:#fff}.iris-picker-inner{position:absolute;top:0;right:0;left:0;bottom:0}.iris-border .iris-picker-inner{top:10px;right:10px;left:10px;bottom:10px}.iris-picker .iris-square-inner{position:absolute;left:0;right:0;top:0;bottom:0}.iris-picker .iris-square,.iris-picker .iris-slider,.iris-picker .iris-square-inner,.iris-picker .iris-palette{border-radius:3px;box-shadow:inset 0 0 5px rgba(0,0,0,.4);height:100%;width:12.5%;float:left;margin-right:5%}.iris-picker .iris-square{width:76%;margin-right:10%;position:relative}.iris-picker .iris-square-inner{width:auto;margin:0}.iris-ie-9 .iris-square,.iris-ie-9 .iris-slider,.iris-ie-9 .iris-square-inner,.iris-ie-9 .iris-palette{box-shadow:none;border-radius:0}.iris-ie-9 .iris-square,.iris-ie-9 .iris-slider,.iris-ie-9 .iris-palette{outline:1px solid rgba(0,0,0,.1)}.iris-ie-lt9 .iris-square,.iris-ie-lt9 .iris-slider,.iris-ie-lt9 .iris-square-inner,.iris-ie-lt9 .iris-palette{outline:1px solid #aaa}.iris-ie-lt9 .iris-square .ui-slider-handle{outline:1px solid #aaa;background-color:#fff;-ms-filter:"alpha(Opacity=30)"}.iris-ie-lt9 .iris-square .iris-square-handle{background:0;border:3px solid #fff;-ms-filter:"alpha(Opacity=50)"}.iris-picker .iris-strip{margin-right:0;position:relative}.iris-picker .iris-strip .ui-slider-handle{position:absolute;background:0;margin:0;right:-3px;left:-3px;border:4px solid #aaa;border-width:4px 3px;width:auto;height:6px;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);opacity:.9;z-index:5;cursor:ns-resize}.iris-strip .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;border-radius:3px}.iris-picker .iris-slider-offset{position:absolute;top:11px;left:0;right:0;bottom:-3px;width:auto;height:auto;background:transparent;border:0;top:none;border-radius:0}.iris-picker .iris-square-handle{background:transparent;border:5px solid #aaa;border-radius:50%;border-color:rgba(128,128,128,.5);box-shadow:none;width:12px;height:12px;position:absolute;left:-10px;top:-10px;cursor:move;opacity:1;z-index:10}.iris-picker .ui-state-focus .iris-square-handle{opacity:.8}.iris-picker .iris-square-handle:hover{border-color:#999}.iris-picker .iris-square-value:focus .iris-square-handle{box-shadow:0 0 2px rgba(0,0,0,.75);opacity:.8}.iris-picker .iris-square-handle:hover::after{border-color:#fff}.iris-picker .iris-square-handle::after{position:absolute;bottom:-4px;right:-4px;left:-4px;top:-4px;border:3px solid #f9f9f9;border-color:rgba(255,255,255,.8);border-radius:50%;content:" "}.iris-picker .iris-square-value{width:8px;height:8px;position:absolute}.iris-ie-lt9 .iris-square-value,.iris-mozilla .iris-square-value{width:1px;height:1px}.iris-palette-container{position:absolute;bottom:0;left:0;margin:0;padding:0}.iris-border .iris-palette-container{left:10px;bottom:10px}.iris-picker .iris-palette{margin:0;cursor:pointer}',j&&7>=q?(a.fn.iris=a.noop,void(a.support.iris=!1)):(a.support.factoryBootstrap404_iris=!0,a.fn.factoryBootstrap404_gradient=function(){var b=arguments;return this.each(function(){j?e.apply(this,b):a(this).css("backgroundImage",d.apply(this,b))})},a.fn.factoryBootstrap404_raninbowGradient=function(b,c){var d,e,f,g;for(b=b||"top",d=a.extend({},{s:100,l:50},c),e="hsl(%h%,"+d.s+"%,"+d.l+"%)",f=0,g=[];360>=f;)g.push(e.replace("%h%",f)),f+=30;return this.each(function(){a(this).factoryBootstrap404_gradient(b,g)})},n={options:{color:!1,mode:"hsl",controls:{horiz:"s",vert:"l",strip:"h"},hide:!0,border:!0,target:!1,width:200,palettes:!1},_color:"",_palettes:["#000","#fff","#d33","#d93","#ee2","#81d742","#1e73be","#8224e3"],_inited:!1,_defaultHSLControls:{horiz:"s",vert:"l",strip:"h"},_defaultHSVControls:{horiz:"h",vert:"v",strip:"s"},_scale:{h:360,s:100,l:100,v:100},_create:function(){var b=this,d=b.element,e=b.options.color||d.val();k===!1&&c(),d.is("input")?(b.options.target?b.picker=a(i).appendTo(b.options.target):b.picker=a(i).insertAfter(d),b._addInputListeners(d)):(d.append(i),b.picker=d.find(".iris-picker")),p?9===q?b.picker.addClass("iris-ie-9"):8>=q&&b.picker.addClass("iris-ie-lt9"):o.indexOf("compatible")<0&&o.indexOf("khtml")<0&&o.match(/mozilla/)&&b.picker.addClass("iris-mozilla"),b.options.palettes&&b._addPalettes(),b._color=new Color(e).setHSpace(b.options.mode),b.options.color=b._color.toString(),b.controls={square:b.picker.find(".iris-square"),squareDrag:b.picker.find(".iris-square-value"),horiz:b.picker.find(".iris-square-horiz"),vert:b.picker.find(".iris-square-vert"),strip:b.picker.find(".iris-strip"),stripSlider:b.picker.find(".iris-strip .iris-slider-offset")},"hsv"===b.options.mode&&b._has("l",b.options.controls)?b.options.controls=b._defaultHSVControls:"hsl"===b.options.mode&&b._has("v",b.options.controls)&&(b.options.controls=b._defaultHSLControls),b.hue=b._color.h(),b.options.hide&&b.picker.hide(),b.options.border&&b.picker.addClass("iris-border"),b._initControls(),b.active="external",b._dimensions(),b._change()},_has:function(b,c){var d=!1;return a.each(c,function(a,c){return b===c?(d=!0,!1):void 0}),d},_addPalettes:function(){var b=a('<div class="iris-palette-container" />'),c=a('<a class="iris-palette" tabindex="0" />'),d=a.isArray(this.options.palettes)?this.options.palettes:this._palettes;this.picker.find(".iris-palette-container").length&&(b=this.picker.find(".iris-palette-container").detach().html("")),a.each(d,function(a,d){c.clone().data("color",d).css("backgroundColor",d).appendTo(b).height(10).width(10)}),this.picker.append(b)},_paint:function(){var a=this;a._paintDimension("top","strip"),a._paintDimension("top","vert"),a._paintDimension("left","horiz")},_paintDimension:function(a,b){var c,d=this,e=d._color,f=d.options.mode,g=d._getHSpaceColor(),h=d.controls[b],i=d.options.controls;if(b!==d.active&&("square"!==d.active||"strip"===b))switch(i[b]){case"h":if("hsv"===f){switch(g=e.clone(),b){case"horiz":g[i.vert](100);break;case"vert":g[i.horiz](100);break;case"strip":g.setHSpace("hsl")}c=g.toHsl()}else c="strip"===b?{s:g.s,l:g.l}:{s:100,l:g.l};h.factoryBootstrap404_raninbowGradient(a,c);break;case"s":"hsv"===f?"vert"===b?c=[e.clone().a(0).s(0).toCSS("rgba"),e.clone().a(1).s(0).toCSS("rgba")]:"strip"===b?c=[e.clone().s(100).toCSS("hsl"),e.clone().s(0).toCSS("hsl")]:"horiz"===b&&(c=["#fff","hsl("+g.h+",100%,50%)"]):c="vert"===b&&"h"===d.options.controls.horiz?["hsla(0, 0%, "+g.l+"%, 0)","hsla(0, 0%, "+g.l+"%, 1)"]:["hsl("+g.h+",0%,50%)","hsl("+g.h+",100%,50%)"],h.factoryBootstrap404_gradient(a,c);break;case"l":c="strip"===b?["hsl("+g.h+",100%,100%)","hsl("+g.h+", "+g.s+"%,50%)","hsl("+g.h+",100%,0%)"]:["#fff","rgba(255,255,255,0) 50%","rgba(0,0,0,0) 50%","rgba(0,0,0,1)"],h.factoryBootstrap404_gradient(a,c);break;case"v":c="strip"===b?[e.clone().v(100).toCSS(),e.clone().v(0).toCSS()]:["rgba(0,0,0,0)","#000"],h.factoryBootstrap404_gradient(a,c)}},_getHSpaceColor:function(){return"hsv"===this.options.mode?this._color.toHsv():this._color.toHsl()},_dimensions:function(b){var c,d,e,f,g=this,h=g.options,i=g.controls,j=i.square,k=g.picker.find(".iris-strip"),l="77.5%",m="12%",n=20,o=h.border?h.width-n:h.width,p=a.isArray(h.palettes)?h.palettes.length:g._palettes.length;return b&&(j.css("width",""),k.css("width",""),g.picker.css({width:"",height:""})),l=o*(parseFloat(l)/100),m=o*(parseFloat(m)/100),c=h.border?l+n:l,j.width(l).height(l),k.height(l).width(m),g.picker.css({width:h.width,height:c}),h.palettes?(d=2*l/100,f=l-(p-1)*d,e=f/p,g.picker.find(".iris-palette").each(function(b){var c=0===b?0:d;a(this).css({width:e,height:e,marginLeft:c})}),g.picker.css("paddingBottom",e+d),void k.height(e+d+l)):g.picker.css("paddingBottom","")},_addInputListeners:function(a){var b=this,c=100,d=function(c){var d=new Color(a.val()),e=a.val().replace(/^#/,"");a.removeClass("iris-error"),d.error?""!==e&&a.addClass("iris-error"):d.toString()!==b._color.toString()&&("keyup"===c.type&&e.match(/^[0-9a-fA-F]{3}$/)||b._setOption("color",d.toString()))};a.on("change",d).on("keyup",b._debounce(d,c)),b.options.hide&&a.one("focus",function(){b.show()})},_initControls:function(){var b=this,c=b.controls,d=c.square,e=b.options.controls,f=b._scale[e.strip];c.stripSlider.slider({orientation:"vertical",max:f,slide:function(a,c){b.active="strip","h"===e.strip&&(c.value=f-c.value),b._color[e.strip](c.value),b._change.apply(b,arguments)}}),c.squareDrag.draggable({containment:"parent",zIndex:1e3,cursor:"move",drag:function(a,c){b._squareDrag(a,c)},start:function(){d.addClass("iris-dragging"),a(this).addClass("ui-state-focus")},stop:function(){d.removeClass("iris-dragging"),a(this).removeClass("ui-state-focus")}}).on("mousedown mouseup",function(c){var d="ui-state-focus";c.preventDefault(),"mousedown"===c.type?(b.picker.find("."+d).removeClass(d).blur(),a(this).addClass(d).focus()):a(this).removeClass(d)}).on("keydown",function(a){var d=c.square,e=c.squareDrag,f=e.position(),g=b.options.width/100;switch(a.altKey&&(g*=10),a.keyCode){case 37:f.left-=g;break;case 38:f.top-=g;break;case 39:f.left+=g;break;case 40:f.top+=g;break;default:return!0}f.left=Math.max(0,Math.min(f.left,d.width())),f.top=Math.max(0,Math.min(f.top,d.height())),e.css(f),b._squareDrag(a,{position:f}),a.preventDefault()}),d.mousedown(function(c){var d,e;1===c.which&&a(c.target).is("div")&&(d=b.controls.square.offset(),e={top:c.pageY-d.top,left:c.pageX-d.left},c.preventDefault(),b._squareDrag(c,{position:e}),c.target=b.controls.squareDrag.get(0),b.controls.squareDrag.css(e).trigger(c))}),b.options.palettes&&b._paletteListeners()},_paletteListeners:function(){var b=this;b.picker.find(".iris-palette-container").on("click.palette",".iris-palette",function(){b._color.fromCSS(a(this).data("color")),b.active="external",b._change()}).on("keydown.palette",".iris-palette",function(b){return 13!==b.keyCode&&32!==b.keyCode?!0:(b.stopPropagation(),void a(this).click())})},_squareDrag:function(a,b){var c=this,d=c.options.controls,e=c._squareDimensions(),f=Math.round((e.h-b.position.top)/e.h*c._scale[d.vert]),g=c._scale[d.horiz]-Math.round((e.w-b.position.left)/e.w*c._scale[d.horiz]);c._color[d.horiz](g)[d.vert](f),c.active="square",c._change.apply(c,arguments)},_setOption:function(b,c){var d,e,f,g=this,h=g.options[b],i=!1;switch(g.options[b]=c,b){case"color":c=""+c,d=c.replace(/^#/,""),e=new Color(c).setHSpace(g.options.mode),e.error?g.options[b]=h:(g._color=e,g.options.color=g.options[b]=g._color.toString(),g.active="external",g._change());break;case"palettes":i=!0,c?g._addPalettes():g.picker.find(".iris-palette-container").remove(),h||g._paletteListeners();break;case"width":i=!0;break;case"border":i=!0,f=c?"addClass":"removeClass",g.picker[f]("iris-border");break;case"mode":case"controls":if(h===c)return;return f=g.element,h=g.options,h.hide=!g.picker.is(":visible"),g.destroy(),g.picker.remove(),a(g.element).iris(h)}i&&g._dimensions(!0)},_squareDimensions:function(a){var c,d,e=this.controls.square;return a!==b&&e.data("dimensions")?e.data("dimensions"):(d=this.controls.squareDrag,c={w:e.width(),h:e.height()},e.data("dimensions",c),c)},_isNonHueControl:function(a,b){return"square"===a&&"h"===this.options.controls.strip?!0:"external"===b||"h"===b&&"strip"===a?!1:!0},_change:function(){var b=this,c=b.controls,d=b._getHSpaceColor(),e=["square","strip"],f=b.options.controls,g=f[b.active]||"external",h=b.hue;"strip"===b.active?e=[]:"external"!==b.active&&e.pop(),a.each(e,function(a,e){var g,h,i;if(e!==b.active)switch(e){case"strip":g="h"===f.strip?b._scale[f.strip]-d[f.strip]:d[f.strip],c.stripSlider.slider("value",g);break;case"square":h=b._squareDimensions(),i={left:d[f.horiz]/b._scale[f.horiz]*h.w,top:h.h-d[f.vert]/b._scale[f.vert]*h.h},b.controls.squareDrag.css(i)}}),d.h!==h&&b._isNonHueControl(b.active,g)&&b._color.h(h),b.hue=b._color.h(),b.options.color=b._color.toString(),b._inited&&b._trigger("change",{type:b.active},{color:b._color}),b.element.is(":input")&&!b._color.error&&(b.element.removeClass("iris-error"),b.element.val()!==b._color.toString()&&b.element.val(b._color.toString())),b._paint(),b._inited=!0,b.active=!1},_debounce:function(a,b,c){var d,e;return function(){var f,g,h=this,i=arguments;return f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},show:function(){this.picker.show()},hide:function(){this.picker.hide()},toggle:function(){this.picker.toggle()},color:function(a){return a===!0?this._color.clone():a===b?this._color.toString():void this.option("color",a)}},a.widget("a8c.factoryBootstrap404_iris",n),void a('<style id="iris-css">'+m+"</style>").appendTo("head"))}(jQuery);
|
libs/factory/bootstrap/assets/js-min/plugin.paddings-editor.min.js
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
-
!function(a){var b=function(b){this.$element=a(b),this.$rectangle=this.$element.find(".factory-rectangle"),this.$center=this.$element.find(".factory-side-center"),this.$bar=this.$element.find(".factory-bar"),this.$sides=this.$element.find(".factory-side"),this.$result=this.$element.find(".factory-result"),this.units=this.$element.data("units"),this.rangeStart=this.$element.data("range-start"),this.rangeEnd=this.$element.data("range-end"),this.step=this.$element.data("step"),this._createCanvas(),this._createSlider(),this._initMouse(),this.selectSide("center")};b.prototype._createCanvas=function(){var b=this;this._recalculateSizes(),this.$canvas=a("<canvas width='"+b.elementWidth+"' height='"+b.elementHeight+"'>").appendTo(this.$rectangle),this.canvasContext=this.$canvas.get(0).getContext("2d"),this._redraw()},b.prototype._createSlider=function(){var a=this;this.$bar.noUiSlider({start:parseInt(a.$center.data("value")),range:{min:a.rangeStart,max:a.rangeEnd},step:a.step}),this.$bar.on("slide",function(){var b=parseInt(a.$bar.val()),c=b+a.units;"center"===a.activeSide?(a.$sides.data("value",b),a.$sides.find(".factory-visible-value").text(c)):(a.$activeSide.data("value",b),a.$activeSide.find(".factory-visible-value").text(c))}),this.$bar.on("set",function(){a.$result.val(a.getValue()),a.$result.trigger("change")})},b.prototype.getValue=function(){var a=this.$element.find(".factory-side-top").data("value"),b=this.$element.find(".factory-side-right").data("value"),c=this.$element.find(".factory-side-bottom").data("value"),d=this.$element.find(".factory-side-left").data("value");return a+this.units+" "+b+this.units+" "+c+this.units+" "+d+this.units},b.prototype.selectSide=function(a){this.activeSide!==a&&(this.activeSide=a,this.$activeSide=this.$element.find(".factory-side-"+this.activeSide),this.$element.find(".factory-side.factory-active").removeClass("factory-active"),this.$activeSide.addClass("factory-active"),this._redraw(),this.$bar.val(this.$activeSide.data("value")))},b.prototype._initMouse=function(){var a=this;this._recalculateSizes(),this.$rectangle.on("mousemove.paddings-editor",function(b){a.hoveredSide=a._getCurrentSide(b.pageX,b.pageY),a.hoveredSide!==a.lastHoveredSide&&(a.lastHoveredSide=a.hoveredSide,a._redraw())}),this.$rectangle.on("mouseleave.paddings-editor",function(b){a.hoveredSide=a.lastHoveredSide=null,a._redraw()}),this.$rectangle.on("click.paddings-editor",function(b){var c=a._getCurrentSide(b.pageX,b.pageY);a.selectSide(c)})},b.prototype._getCurrentSide=function(a,b){var c=this.$element.offset(),d=a-c.left,e=b-c.top,f=d-this.centerX,g=e-this.centerY,h=Math.sqrt(Math.pow(f,2)+Math.pow(g,2));if(h<=this.centerR)return"center";var i=this.elementHeight,j=this.elementWidth,k=-this.elementWidth*this.elementHeight,l=-(k+i*d)/j,m=-this.elementHeight,n=this.elementWidth,o=0,p=-(o+m*d)/n;return e>l&&p>e?"right":l>e&&e>p?"left":l>e&&p>e?"top":e>l&&e>p?"bottom":null},b.prototype._redraw=function(){this.canvasContext.clearRect(0,0,this.elementWidth,this.elementHeight),this._highlightSide("top","#a6b6b6"),this._highlightSide("bottom","#a6b6b6"),this._highlightSide("left","#aec0c0"),this._highlightSide("right","#aec0c0"),this._highlightSide(this.hoveredSide,"#c0cece"),this.activeSide&&this._highlightSide(this.activeSide,"#829595")},b.prototype._highlightSide=function(a,b){a&&"center"!==a&&(this.canvasContext.fillStyle=b,this.canvasContext.beginPath(),"top"===a?(this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,0)):"bottom"===a?(this.canvasContext.moveTo(0,this.elementHeight),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,this.elementHeight)):"left"===a?(this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(0,this.elementHeight)):"right"===a&&(this.canvasContext.moveTo(this.elementWidth,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,this.elementHeight)),this.canvasContext.closePath(),this.canvasContext.fill())},b.prototype._recalculateSizes=function(){this.elementOffset=this.$element.offset(),this.elementWidth=this.$rectangle.innerWidth(),this.elementHeight=this.$rectangle.innerHeight(),this.centerSize=this.$center.innerWidth(),this.centerR=this.centerSize/2,this.centerX=this.elementWidth/2,this.centerY=this.elementHeight/2},a.fn.
|
7 |
* Support: http://webcraftic.com/contact-us/
|
8 |
*/
|
9 |
|
10 |
+
!function(a){var b=function(b){this.$element=a(b),this.$rectangle=this.$element.find(".factory-rectangle"),this.$center=this.$element.find(".factory-side-center"),this.$bar=this.$element.find(".factory-bar"),this.$sides=this.$element.find(".factory-side"),this.$result=this.$element.find(".factory-result"),this.units=this.$element.data("units"),this.rangeStart=this.$element.data("range-start"),this.rangeEnd=this.$element.data("range-end"),this.step=this.$element.data("step"),this._createCanvas(),this._createSlider(),this._initMouse(),this.selectSide("center")};b.prototype._createCanvas=function(){var b=this;this._recalculateSizes(),this.$canvas=a("<canvas width='"+b.elementWidth+"' height='"+b.elementHeight+"'>").appendTo(this.$rectangle),this.canvasContext=this.$canvas.get(0).getContext("2d"),this._redraw()},b.prototype._createSlider=function(){var a=this;this.$bar.noUiSlider({start:parseInt(a.$center.data("value")),range:{min:a.rangeStart,max:a.rangeEnd},step:a.step}),this.$bar.on("slide",function(){var b=parseInt(a.$bar.val()),c=b+a.units;"center"===a.activeSide?(a.$sides.data("value",b),a.$sides.find(".factory-visible-value").text(c)):(a.$activeSide.data("value",b),a.$activeSide.find(".factory-visible-value").text(c))}),this.$bar.on("set",function(){a.$result.val(a.getValue()),a.$result.trigger("change")})},b.prototype.getValue=function(){var a=this.$element.find(".factory-side-top").data("value"),b=this.$element.find(".factory-side-right").data("value"),c=this.$element.find(".factory-side-bottom").data("value"),d=this.$element.find(".factory-side-left").data("value");return a+this.units+" "+b+this.units+" "+c+this.units+" "+d+this.units},b.prototype.selectSide=function(a){this.activeSide!==a&&(this.activeSide=a,this.$activeSide=this.$element.find(".factory-side-"+this.activeSide),this.$element.find(".factory-side.factory-active").removeClass("factory-active"),this.$activeSide.addClass("factory-active"),this._redraw(),this.$bar.val(this.$activeSide.data("value")))},b.prototype._initMouse=function(){var a=this;this._recalculateSizes(),this.$rectangle.on("mousemove.paddings-editor",function(b){a.hoveredSide=a._getCurrentSide(b.pageX,b.pageY),a.hoveredSide!==a.lastHoveredSide&&(a.lastHoveredSide=a.hoveredSide,a._redraw())}),this.$rectangle.on("mouseleave.paddings-editor",function(b){a.hoveredSide=a.lastHoveredSide=null,a._redraw()}),this.$rectangle.on("click.paddings-editor",function(b){var c=a._getCurrentSide(b.pageX,b.pageY);a.selectSide(c)})},b.prototype._getCurrentSide=function(a,b){var c=this.$element.offset(),d=a-c.left,e=b-c.top,f=d-this.centerX,g=e-this.centerY,h=Math.sqrt(Math.pow(f,2)+Math.pow(g,2));if(h<=this.centerR)return"center";var i=this.elementHeight,j=this.elementWidth,k=-this.elementWidth*this.elementHeight,l=-(k+i*d)/j,m=-this.elementHeight,n=this.elementWidth,o=0,p=-(o+m*d)/n;return e>l&&p>e?"right":l>e&&e>p?"left":l>e&&p>e?"top":e>l&&e>p?"bottom":null},b.prototype._redraw=function(){this.canvasContext.clearRect(0,0,this.elementWidth,this.elementHeight),this._highlightSide("top","#a6b6b6"),this._highlightSide("bottom","#a6b6b6"),this._highlightSide("left","#aec0c0"),this._highlightSide("right","#aec0c0"),this._highlightSide(this.hoveredSide,"#c0cece"),this.activeSide&&this._highlightSide(this.activeSide,"#829595")},b.prototype._highlightSide=function(a,b){a&&"center"!==a&&(this.canvasContext.fillStyle=b,this.canvasContext.beginPath(),"top"===a?(this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,0)):"bottom"===a?(this.canvasContext.moveTo(0,this.elementHeight),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,this.elementHeight)):"left"===a?(this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(0,this.elementHeight)):"right"===a&&(this.canvasContext.moveTo(this.elementWidth,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,this.elementHeight)),this.canvasContext.closePath(),this.canvasContext.fill())},b.prototype._recalculateSizes=function(){this.elementOffset=this.$element.offset(),this.elementWidth=this.$rectangle.innerWidth(),this.elementHeight=this.$rectangle.innerHeight(),this.centerSize=this.$center.innerWidth(),this.centerR=this.centerSize/2,this.centerX=this.elementWidth/2,this.centerY=this.elementHeight/2},a.fn.factoryBootstrap404_paddingsEditor=function(c){if("string"==typeof c){var d=a(this).data("factory.paddings-editor");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.paddings-editor");d||c.data("factory.paddings-editor",d=new b(this))})},a.fn.factoryBootstrap404_paddingsEditor.Constructor=b,a(function(){a(".factory-bootstrap-404 .factory-paddings-editor").factoryBootstrap404_paddingsEditor()})}(jQuery);
|
libs/factory/bootstrap/boot.php
CHANGED
@@ -19,19 +19,19 @@
|
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
-
if( defined('
|
23 |
return;
|
24 |
}
|
25 |
-
define('
|
26 |
|
27 |
-
define('
|
28 |
-
define('
|
29 |
|
30 |
// sets version of admin interface
|
31 |
-
define('
|
32 |
|
33 |
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
34 |
define('FACTORY_FLAT_ADMIN', true);
|
35 |
}
|
36 |
|
37 |
-
include_once(
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
+
if( defined('FACTORY_BOOTSTRAP_404_LOADED') ) {
|
23 |
return;
|
24 |
}
|
25 |
+
define('FACTORY_BOOTSTRAP_404_LOADED', true);
|
26 |
|
27 |
+
define('FACTORY_BOOTSTRAP_404_DIR', dirname(__FILE__));
|
28 |
+
define('FACTORY_BOOTSTRAP_404_URL', plugins_url(null, __FILE__));
|
29 |
|
30 |
// sets version of admin interface
|
31 |
+
define('FACTORY_BOOTSTRAP_404_VERSION', 'FACTORY_BOOTSTRAP_404');
|
32 |
|
33 |
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
34 |
define('FACTORY_FLAT_ADMIN', true);
|
35 |
}
|
36 |
|
37 |
+
include_once(FACTORY_BOOTSTRAP_404_DIR . '/includes/functions.php');
|
libs/factory/bootstrap/includes/functions.php
CHANGED
@@ -10,31 +10,31 @@
|
|
10 |
* @since 1.0.0
|
11 |
*/
|
12 |
|
13 |
-
add_action('
|
14 |
|
15 |
/**
|
16 |
-
* @param
|
17 |
*/
|
18 |
-
function
|
19 |
{
|
20 |
-
$manager = new
|
21 |
$plugin->setBootstap($manager);
|
22 |
}
|
23 |
|
24 |
-
if( !class_exists('
|
25 |
|
26 |
/**
|
27 |
* The Bootstrap Manager class.
|
28 |
*
|
29 |
* @since 3.2.0
|
30 |
*/
|
31 |
-
class
|
32 |
|
33 |
/**
|
34 |
* A plugin for which the manager was created.
|
35 |
*
|
36 |
* @since 3.2.0
|
37 |
-
* @var
|
38 |
*/
|
39 |
public $plugin;
|
40 |
|
@@ -59,7 +59,7 @@
|
|
59 |
*
|
60 |
* @since 1.0.0
|
61 |
*/
|
62 |
-
public function __construct(
|
63 |
{
|
64 |
$this->plugin = $plugin;
|
65 |
|
@@ -120,8 +120,8 @@
|
|
120 |
public function loadAssets($hook)
|
121 |
{
|
122 |
|
123 |
-
do_action('
|
124 |
-
do_action('
|
125 |
|
126 |
$dependencies = array();
|
127 |
if( !empty($this->scripts) ) {
|
@@ -151,8 +151,8 @@
|
|
151 |
$color_name = get_user_meta($user_id, 'admin_color', true);
|
152 |
|
153 |
if( $color_name !== 'fresh' ) {
|
154 |
-
if( file_exists(
|
155 |
-
wp_enqueue_style('wbcr-factory-bootstrap-
|
156 |
}
|
157 |
}
|
158 |
|
@@ -188,10 +188,10 @@
|
|
188 |
if( !window.factory ) {
|
189 |
window.factory = {};
|
190 |
}
|
191 |
-
if( !window.factory.
|
192 |
-
window.factory.
|
193 |
}
|
194 |
-
window.factory.
|
195 |
primaryDark: '<?php echo $primary_dark ?>',
|
196 |
primaryLight: '<?php echo $primary_light ?>'
|
197 |
};
|
@@ -209,8 +209,8 @@
|
|
209 |
|
210 |
$is_first = true;
|
211 |
$cache_id = md5(implode(',', $this->scripts) . $type . $this->plugin->getPluginVersion());
|
212 |
-
$cache_dir_path =
|
213 |
-
$cache_dir_url =
|
214 |
|
215 |
$cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
|
216 |
$cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
|
@@ -237,7 +237,7 @@
|
|
237 |
foreach($sripts as $script_to_load) {
|
238 |
$script_to_load = sanitize_text_field($script_to_load);
|
239 |
if( $cache_dir_exists ) {
|
240 |
-
$fname =
|
241 |
if( file_exists($fname) ) {
|
242 |
$f = @fopen($fname, 'r');
|
243 |
$concat_files[] = @fread($f, filesize($fname));
|
@@ -245,11 +245,11 @@
|
|
245 |
}
|
246 |
} else {
|
247 |
if( $type == 'js' ) {
|
248 |
-
wp_enqueue_script(md5($script_to_load),
|
249 |
? $dependencies
|
250 |
: false, $this->plugin->getPluginVersion());
|
251 |
} else {
|
252 |
-
wp_enqueue_style(md5($script_to_load),
|
253 |
}
|
254 |
$is_first = false;
|
255 |
}
|
10 |
* @since 1.0.0
|
11 |
*/
|
12 |
|
13 |
+
add_action('wbcr_factory_bootstrap_404_plugin_created', 'wbcr_factory_bootstrap_404_plugin_created');
|
14 |
|
15 |
/**
|
16 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
17 |
*/
|
18 |
+
function wbcr_factory_bootstrap_404_plugin_created($plugin)
|
19 |
{
|
20 |
+
$manager = new Wbcr_FactoryBootstrap404_Manager($plugin);
|
21 |
$plugin->setBootstap($manager);
|
22 |
}
|
23 |
|
24 |
+
if( !class_exists('Wbcr_FactoryBootstrap404_Manager') ) {
|
25 |
|
26 |
/**
|
27 |
* The Bootstrap Manager class.
|
28 |
*
|
29 |
* @since 3.2.0
|
30 |
*/
|
31 |
+
class Wbcr_FactoryBootstrap404_Manager {
|
32 |
|
33 |
/**
|
34 |
* A plugin for which the manager was created.
|
35 |
*
|
36 |
* @since 3.2.0
|
37 |
+
* @var Wbcr_Factory404_Plugin
|
38 |
*/
|
39 |
public $plugin;
|
40 |
|
59 |
*
|
60 |
* @since 1.0.0
|
61 |
*/
|
62 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
63 |
{
|
64 |
$this->plugin = $plugin;
|
65 |
|
120 |
public function loadAssets($hook)
|
121 |
{
|
122 |
|
123 |
+
do_action('wbcr_factory_404_bootstrap_enqueue_scripts', $hook);
|
124 |
+
do_action('wbcr_factory_404_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook);
|
125 |
|
126 |
$dependencies = array();
|
127 |
if( !empty($this->scripts) ) {
|
151 |
$color_name = get_user_meta($user_id, 'admin_color', true);
|
152 |
|
153 |
if( $color_name !== 'fresh' ) {
|
154 |
+
if( file_exists(FACTORY_BOOTSTRAP_404_DIR . '/assets/flat/css/bootstrap.' . $color_name . '.css') ) {
|
155 |
+
wp_enqueue_style('wbcr-factory-bootstrap-404-colors', FACTORY_BOOTSTRAP_404_URL . '/assets/flat/css/bootstrap.' . $color_name . '.css');
|
156 |
}
|
157 |
}
|
158 |
|
188 |
if( !window.factory ) {
|
189 |
window.factory = {};
|
190 |
}
|
191 |
+
if( !window.factory.factoryBootstrap404 ) {
|
192 |
+
window.factory.factoryBootstrap404 = {};
|
193 |
}
|
194 |
+
window.factory.factoryBootstrap404.colors = {
|
195 |
primaryDark: '<?php echo $primary_dark ?>',
|
196 |
primaryLight: '<?php echo $primary_light ?>'
|
197 |
};
|
209 |
|
210 |
$is_first = true;
|
211 |
$cache_id = md5(implode(',', $this->scripts) . $type . $this->plugin->getPluginVersion());
|
212 |
+
$cache_dir_path = FACTORY_BOOTSTRAP_404_DIR . '/assets/cache/';
|
213 |
+
$cache_dir_url = FACTORY_BOOTSTRAP_404_URL . '/assets/cache/';
|
214 |
|
215 |
$cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
|
216 |
$cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
|
237 |
foreach($sripts as $script_to_load) {
|
238 |
$script_to_load = sanitize_text_field($script_to_load);
|
239 |
if( $cache_dir_exists ) {
|
240 |
+
$fname = FACTORY_BOOTSTRAP_404_DIR . "/assets/$type-min/$script_to_load.min." . $type;
|
241 |
if( file_exists($fname) ) {
|
242 |
$f = @fopen($fname, 'r');
|
243 |
$concat_files[] = @fread($f, filesize($fname));
|
245 |
}
|
246 |
} else {
|
247 |
if( $type == 'js' ) {
|
248 |
+
wp_enqueue_script(md5($script_to_load), FACTORY_BOOTSTRAP_404_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first
|
249 |
? $dependencies
|
250 |
: false, $this->plugin->getPluginVersion());
|
251 |
} else {
|
252 |
+
wp_enqueue_style(md5($script_to_load), FACTORY_BOOTSTRAP_404_URL . "/assets/$type-min/$script_to_load.min." . $type, array(), $this->plugin->getPluginVersion());
|
253 |
}
|
254 |
$is_first = false;
|
255 |
}
|
libs/factory/core/boot.php
CHANGED
@@ -14,27 +14,27 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( defined('
|
18 |
return;
|
19 |
}
|
20 |
-
define('
|
21 |
|
22 |
-
define('
|
23 |
|
24 |
-
define('
|
25 |
-
define('
|
26 |
|
27 |
#comp merge
|
28 |
-
require_once(
|
29 |
-
require_once(
|
30 |
-
require_once(
|
31 |
|
32 |
-
require_once(
|
33 |
-
require_once(
|
34 |
-
require_once(
|
35 |
|
36 |
-
require_once(
|
37 |
|
38 |
-
require_once(
|
39 |
-
require_once(
|
40 |
#endcomp
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( defined('FACTORY_404_LOADED') ) {
|
18 |
return;
|
19 |
}
|
20 |
+
define('FACTORY_404_LOADED', true);
|
21 |
|
22 |
+
define('FACTORY_404_VERSION', '000');
|
23 |
|
24 |
+
define('FACTORY_404_DIR', dirname(__FILE__));
|
25 |
+
define('FACTORY_404_URL', plugins_url(null, __FILE__));
|
26 |
|
27 |
#comp merge
|
28 |
+
require_once(FACTORY_404_DIR . '/includes/functions.php');
|
29 |
+
require_once(FACTORY_404_DIR . '/includes/request.class.php');
|
30 |
+
require_once(FACTORY_404_DIR . '/includes/base.class.php');
|
31 |
|
32 |
+
require_once(FACTORY_404_DIR . '/includes/assets-managment/assets-list.class.php');
|
33 |
+
require_once(FACTORY_404_DIR . '/includes/assets-managment/script-list.class.php');
|
34 |
+
require_once(FACTORY_404_DIR . '/includes/assets-managment/style-list.class.php');
|
35 |
|
36 |
+
require_once(FACTORY_404_DIR . '/includes/plugin.class.php');
|
37 |
|
38 |
+
require_once(FACTORY_404_DIR . '/includes/activation/activator.class.php');
|
39 |
+
require_once(FACTORY_404_DIR . '/includes/activation/update.class.php');
|
40 |
#endcomp
|
libs/factory/core/includes/activation/activator.class.php
CHANGED
@@ -13,21 +13,21 @@
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
if( !class_exists('
|
17 |
/**
|
18 |
* Plugin Activator
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
-
abstract class
|
23 |
|
24 |
/**
|
25 |
* Curent plugin.
|
26 |
-
* @var
|
27 |
*/
|
28 |
public $plugin;
|
29 |
|
30 |
-
public function __construct(
|
31 |
{
|
32 |
$this->plugin = $plugin;
|
33 |
}
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
if( !class_exists('Wbcr_Factory404_Activator') ) {
|
17 |
/**
|
18 |
* Plugin Activator
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
abstract class Wbcr_Factory404_Activator {
|
23 |
|
24 |
/**
|
25 |
* Curent plugin.
|
26 |
+
* @var Wbcr_Factory404_Plugin
|
27 |
*/
|
28 |
public $plugin;
|
29 |
|
30 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
31 |
{
|
32 |
$this->plugin = $plugin;
|
33 |
}
|
libs/factory/core/includes/activation/update.class.php
CHANGED
@@ -14,21 +14,21 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* Plugin Activator
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
abstract class
|
24 |
|
25 |
/**
|
26 |
* Current plugin
|
27 |
-
* @var
|
28 |
*/
|
29 |
var $plugin;
|
30 |
|
31 |
-
public function __construct(
|
32 |
{
|
33 |
$this->plugin = $plugin;
|
34 |
}
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_Factory404_Update') ) {
|
18 |
/**
|
19 |
* Plugin Activator
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
abstract class Wbcr_Factory404_Update {
|
24 |
|
25 |
/**
|
26 |
* Current plugin
|
27 |
+
* @var Factory404_Plugin
|
28 |
*/
|
29 |
var $plugin;
|
30 |
|
31 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
32 |
{
|
33 |
$this->plugin = $plugin;
|
34 |
}
|
libs/factory/core/includes/assets-managment/assets-list.class.php
CHANGED
@@ -13,13 +13,13 @@
|
|
13 |
if( !defined('ABSPATH') ) {
|
14 |
exit;
|
15 |
}
|
16 |
-
if( !class_exists('
|
17 |
/**
|
18 |
* Assets List
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
-
class
|
23 |
|
24 |
protected $all = array();
|
25 |
public $header_place = array();
|
@@ -29,15 +29,15 @@
|
|
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 |
{
|
42 |
$this->plugin = $plugin;
|
43 |
|
13 |
if( !defined('ABSPATH') ) {
|
14 |
exit;
|
15 |
}
|
16 |
+
if( !class_exists('Wbcr_Factory404_AssetsList') ) {
|
17 |
/**
|
18 |
* Assets List
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
class Wbcr_Factory404_AssetsList {
|
23 |
|
24 |
protected $all = array();
|
25 |
public $header_place = array();
|
29 |
protected $default_place;
|
30 |
|
31 |
/**
|
32 |
+
* @var Wbcr_Factory404_Plugin
|
33 |
*/
|
34 |
protected $plugin;
|
35 |
|
36 |
/**
|
37 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
38 |
* @param bool $defaultIsFooter
|
39 |
*/
|
40 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin, $defaultIsFooter = true)
|
41 |
{
|
42 |
$this->plugin = $plugin;
|
43 |
|
libs/factory/core/includes/assets-managment/script-list.class.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* Script List
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
class
|
25 |
|
26 |
public $localize_data = array();
|
27 |
public $use_ajax = false;
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_Factory404_ScriptList') ) {
|
18 |
|
19 |
/**
|
20 |
* Script List
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_Factory404_ScriptList extends Wbcr_Factory404_AssetsList {
|
25 |
|
26 |
public $localize_data = array();
|
27 |
public $use_ajax = false;
|
libs/factory/core/includes/assets-managment/style-list.class.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* Style List
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
class
|
25 |
|
26 |
public function connect($source = 'wordpress')
|
27 |
{
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_Factory404_StyleList') ) {
|
18 |
|
19 |
/**
|
20 |
* Style List
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_Factory404_StyleList extends Wbcr_Factory404_AssetsList {
|
25 |
|
26 |
public function connect($source = 'wordpress')
|
27 |
{
|
libs/factory/core/includes/base.class.php
CHANGED
@@ -4,8 +4,8 @@
|
|
4 |
exit;
|
5 |
}
|
6 |
|
7 |
-
if( !class_exists('
|
8 |
-
class
|
9 |
|
10 |
/**
|
11 |
* Буферизуем опции плагинов в этот атрибут, для быстрого доступа
|
@@ -22,9 +22,9 @@
|
|
22 |
protected $prefix;
|
23 |
|
24 |
/**
|
25 |
-
* Экзамеляр класса
|
26 |
*
|
27 |
-
* @var
|
28 |
*/
|
29 |
public $request;
|
30 |
|
@@ -38,7 +38,7 @@
|
|
38 |
throw new Exception('Не передан один из обязательных атрибутов (prefix) или атрибует не соотвествует типу данных string.');
|
39 |
}
|
40 |
|
41 |
-
$this->request = new
|
42 |
|
43 |
if( !isset(self::$_opt_buffer[$this->prefix]) ) {
|
44 |
$cache_options = get_option($this->prefix . 'cache_options', array());
|
4 |
exit;
|
5 |
}
|
6 |
|
7 |
+
if( !class_exists('Wbcr_Factory404_Base') ) {
|
8 |
+
class Wbcr_Factory404_Base {
|
9 |
|
10 |
/**
|
11 |
* Буферизуем опции плагинов в этот атрибут, для быстрого доступа
|
22 |
protected $prefix;
|
23 |
|
24 |
/**
|
25 |
+
* Экзамеляр класса Wbcr_Factory404_Request, необходим управляет http запросами
|
26 |
*
|
27 |
+
* @var Wbcr_Factory404_Request
|
28 |
*/
|
29 |
public $request;
|
30 |
|
38 |
throw new Exception('Не передан один из обязательных атрибутов (prefix) или атрибует не соотвествует типу данных string.');
|
39 |
}
|
40 |
|
41 |
+
$this->request = new Wbcr_Factory404_Request();
|
42 |
|
43 |
if( !isset(self::$_opt_buffer[$this->prefix]) ) {
|
44 |
$cache_options = get_option($this->prefix . 'cache_options', array());
|
libs/factory/core/includes/functions.php
CHANGED
@@ -14,33 +14,33 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( function_exists('
|
18 |
/**
|
19 |
* Sets a lazy redirect.
|
20 |
*
|
21 |
* @since 3.0.6
|
22 |
* @return void
|
23 |
*/
|
24 |
-
function
|
25 |
{
|
26 |
-
update_option('
|
27 |
}
|
28 |
}
|
29 |
|
30 |
-
if( function_exists('
|
31 |
-
function
|
32 |
{
|
33 |
-
$url = get_option('
|
34 |
|
35 |
if( empty($url) ) {
|
36 |
return;
|
37 |
}
|
38 |
|
39 |
-
delete_option('
|
40 |
wp_redirect($url);
|
41 |
}
|
42 |
|
43 |
-
add_action('admin_init', '
|
44 |
}
|
45 |
|
46 |
/**
|
@@ -54,7 +54,7 @@
|
|
54 |
*
|
55 |
* @since 1.0.0
|
56 |
*
|
57 |
-
* @see
|
58 |
*
|
59 |
* @param string $tag The name of the filter hook.
|
60 |
* @param array $args Array of additional function arguments to be passed to apply_filters().
|
@@ -64,7 +64,7 @@
|
|
64 |
*
|
65 |
* @return mixed
|
66 |
*/
|
67 |
-
function
|
68 |
{
|
69 |
if( function_exists('apply_filters_deprecated') ) {
|
70 |
return apply_filters_deprecated($tag, $args, $version, $replacement, $message);
|
@@ -72,7 +72,7 @@
|
|
72 |
if( !has_filter($tag) ) {
|
73 |
return $args[0];
|
74 |
}
|
75 |
-
|
76 |
|
77 |
return apply_filters_ref_array($tag, $args);
|
78 |
}
|
@@ -98,7 +98,7 @@
|
|
98 |
*
|
99 |
* @return void
|
100 |
*/
|
101 |
-
function
|
102 |
{
|
103 |
if( function_exists('do_action_deprecated') ) {
|
104 |
do_action_deprecated($tag, $args, $version, $replacement, $message);
|
@@ -108,14 +108,14 @@
|
|
108 |
if( !has_action($tag) ) {
|
109 |
return;
|
110 |
}
|
111 |
-
|
112 |
do_action_ref_array($tag, $args);
|
113 |
}
|
114 |
|
115 |
/**
|
116 |
* Marks a deprecated action or filter hook as deprecated and throws a notice.
|
117 |
*
|
118 |
-
* Use the '
|
119 |
* deprecated hook was called.
|
120 |
*
|
121 |
* Default behavior is to trigger a user error if WP_DEBUG is true.
|
@@ -133,7 +133,7 @@
|
|
133 |
* @param string $replacement Optional. The hook that should have been used.
|
134 |
* @param string $message Optional. A message regarding the change.
|
135 |
*/
|
136 |
-
function
|
137 |
{
|
138 |
/**
|
139 |
* Fires when a deprecated hook is called.
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( function_exists('wbcr_factory_404_set_lazy_redirect') ) {
|
18 |
/**
|
19 |
* Sets a lazy redirect.
|
20 |
*
|
21 |
* @since 3.0.6
|
22 |
* @return void
|
23 |
*/
|
24 |
+
function wbcr_factory_404_set_lazy_redirect($url)
|
25 |
{
|
26 |
+
update_option('wbcr_factory_404_lazy_redirect', $url);
|
27 |
}
|
28 |
}
|
29 |
|
30 |
+
if( function_exists('wbcr_factory_404_do_lazy_redirect') ) {
|
31 |
+
function wbcr_factory_404_do_lazy_redirect()
|
32 |
{
|
33 |
+
$url = get_option('wbcr_factory_404_lazy_redirect', null);
|
34 |
|
35 |
if( empty($url) ) {
|
36 |
return;
|
37 |
}
|
38 |
|
39 |
+
delete_option('wbcr_factory_404_lazy_redirect');
|
40 |
wp_redirect($url);
|
41 |
}
|
42 |
|
43 |
+
add_action('admin_init', 'wbcr_factory_404_do_lazy_redirect');
|
44 |
}
|
45 |
|
46 |
/**
|
54 |
*
|
55 |
* @since 1.0.0
|
56 |
*
|
57 |
+
* @see wbcr_factory_404_deprecated_hook()
|
58 |
*
|
59 |
* @param string $tag The name of the filter hook.
|
60 |
* @param array $args Array of additional function arguments to be passed to apply_filters().
|
64 |
*
|
65 |
* @return mixed
|
66 |
*/
|
67 |
+
function wbcr_factory_404_apply_filters_deprecated($tag, $args, $version, $replacement = false, $message = null)
|
68 |
{
|
69 |
if( function_exists('apply_filters_deprecated') ) {
|
70 |
return apply_filters_deprecated($tag, $args, $version, $replacement, $message);
|
72 |
if( !has_filter($tag) ) {
|
73 |
return $args[0];
|
74 |
}
|
75 |
+
wbcr_factory_404_deprecated_hook($tag, $version, $replacement, $message);
|
76 |
|
77 |
return apply_filters_ref_array($tag, $args);
|
78 |
}
|
98 |
*
|
99 |
* @return void
|
100 |
*/
|
101 |
+
function wbcr_factory_404_do_action_deprecated($tag, $args, $version, $replacement = false, $message = null)
|
102 |
{
|
103 |
if( function_exists('do_action_deprecated') ) {
|
104 |
do_action_deprecated($tag, $args, $version, $replacement, $message);
|
108 |
if( !has_action($tag) ) {
|
109 |
return;
|
110 |
}
|
111 |
+
wbcr_factory_404_deprecated_hook($tag, $version, $replacement, $message);
|
112 |
do_action_ref_array($tag, $args);
|
113 |
}
|
114 |
|
115 |
/**
|
116 |
* Marks a deprecated action or filter hook as deprecated and throws a notice.
|
117 |
*
|
118 |
+
* Use the 'wbcr_factory_404_deprecated_hook_run' action to get the backtrace describing where the
|
119 |
* deprecated hook was called.
|
120 |
*
|
121 |
* Default behavior is to trigger a user error if WP_DEBUG is true.
|
133 |
* @param string $replacement Optional. The hook that should have been used.
|
134 |
* @param string $message Optional. A message regarding the change.
|
135 |
*/
|
136 |
+
function wbcr_factory_404_deprecated_hook($hook, $version, $replacement = null, $message = null)
|
137 |
{
|
138 |
/**
|
139 |
* Fires when a deprecated hook is called.
|
libs/factory/core/includes/plugin.class.php
CHANGED
@@ -14,9 +14,9 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
-
abstract class
|
20 |
|
21 |
/**
|
22 |
* Is a current page one of the admin pages?
|
@@ -29,14 +29,14 @@
|
|
29 |
/**
|
30 |
* The Bootstrap Manager class.n.
|
31 |
*
|
32 |
-
* @var
|
33 |
*/
|
34 |
public $bootstrap;
|
35 |
|
36 |
/**
|
37 |
* The Bootstrap Manager class.n.
|
38 |
*
|
39 |
-
* @var
|
40 |
*/
|
41 |
public $forms;
|
42 |
|
@@ -98,7 +98,7 @@
|
|
98 |
protected $updates;
|
99 |
|
100 |
/**
|
101 |
-
* @var array[]
|
102 |
*/
|
103 |
private $plugin_addons;
|
104 |
|
@@ -219,17 +219,17 @@
|
|
219 |
}
|
220 |
|
221 |
/**
|
222 |
-
* @param
|
223 |
*/
|
224 |
-
public function setBootstap(
|
225 |
{
|
226 |
$this->bootstrap = $bootstrap;
|
227 |
}
|
228 |
|
229 |
/**
|
230 |
-
* @param
|
231 |
*/
|
232 |
-
public function setForms(
|
233 |
{
|
234 |
$this->forms = $forms;
|
235 |
}
|
@@ -251,11 +251,11 @@
|
|
251 |
throw new Exception('A class with this name {' . $class_name . '} does not exist.');
|
252 |
}
|
253 |
|
254 |
-
if( !class_exists('
|
255 |
-
throw new Exception('The
|
256 |
}
|
257 |
|
258 |
-
|
259 |
}
|
260 |
|
261 |
/**
|
@@ -275,11 +275,11 @@
|
|
275 |
throw new Exception('A class with this name {' . $class_name . '} does not exist.');
|
276 |
}
|
277 |
|
278 |
-
if( !class_exists('
|
279 |
-
throw new Exception('The
|
280 |
}
|
281 |
|
282 |
-
|
283 |
}
|
284 |
|
285 |
/**
|
@@ -295,7 +295,7 @@
|
|
295 |
$this->loadModule($module);
|
296 |
}
|
297 |
|
298 |
-
do_action('
|
299 |
}
|
300 |
|
301 |
/**
|
@@ -348,7 +348,7 @@
|
|
348 |
*
|
349 |
* @since 3.2.0
|
350 |
* @param array $module - массив с информацией о загружаемом модуле,
|
351 |
-
* пример array('libs/factory/bootstrap', '
|
352 |
* $module[0] - относительный путь к директории модуля
|
353 |
* $module[1] - идентификатор модуля с префиксом 000
|
354 |
* $module[2] - область применения,
|
@@ -397,7 +397,7 @@
|
|
397 |
|
398 |
if( $this->is_admin ) {
|
399 |
add_action('admin_init', array($this, 'customizePluginRow'), 20);
|
400 |
-
/*add_action('
|
401 |
$this,
|
402 |
'modulesLoaded'
|
403 |
));*/
|
@@ -501,7 +501,7 @@
|
|
501 |
{
|
502 |
|
503 |
$db_version = $this->getPluginVersionFromDatabase();
|
504 |
-
do_action('
|
505 |
|
506 |
// there are not any previous version of the plugin in the past
|
507 |
if( !$db_version ) {
|
@@ -550,7 +550,7 @@
|
|
550 |
*/
|
551 |
public function activationHook()
|
552 |
{
|
553 |
-
$cancelled = apply_filters('
|
554 |
|
555 |
if( $cancelled ) {
|
556 |
return;
|
@@ -563,14 +563,14 @@
|
|
563 |
}
|
564 |
}
|
565 |
|
566 |
-
do_action('
|
567 |
-
do_action('
|
568 |
|
569 |
// just time to know when the plugin was activated the first time
|
570 |
-
$activated = $this->getOption('
|
571 |
|
572 |
if( !$activated ) {
|
573 |
-
$this->updateOption('
|
574 |
}
|
575 |
}
|
576 |
|
@@ -582,14 +582,14 @@
|
|
582 |
*/
|
583 |
public function deactivationHook()
|
584 |
{
|
585 |
-
$cancelled = apply_filters('
|
586 |
|
587 |
if( $cancelled ) {
|
588 |
return;
|
589 |
}
|
590 |
|
591 |
-
do_action('
|
592 |
-
do_action('
|
593 |
|
594 |
if( !empty($this->activator_class) ) {
|
595 |
foreach((array)$this->activator_class as $activator_class) {
|
@@ -669,10 +669,10 @@
|
|
669 |
}
|
670 |
|
671 |
// just time to know when the plugin was activated the first time
|
672 |
-
$activated = $this->getOption('
|
673 |
|
674 |
if( !$activated ) {
|
675 |
-
$this->updateOption('
|
676 |
}
|
677 |
}
|
678 |
|
@@ -725,7 +725,7 @@
|
|
725 |
return;
|
726 |
}
|
727 |
|
728 |
-
$messages = apply_filters('
|
729 |
|
730 |
// if nothign to show then, use default handle
|
731 |
/*if( count($messages) == 0 ) {
|
@@ -855,12 +855,12 @@
|
|
855 |
|
856 |
public function newScriptList()
|
857 |
{
|
858 |
-
return new
|
859 |
}
|
860 |
|
861 |
public function newStyleList()
|
862 |
{
|
863 |
-
return new
|
864 |
}
|
865 |
}
|
866 |
}
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_Factory404_Plugin') ) {
|
18 |
|
19 |
+
abstract class Wbcr_Factory404_Plugin extends Wbcr_Factory404_Base {
|
20 |
|
21 |
/**
|
22 |
* Is a current page one of the admin pages?
|
29 |
/**
|
30 |
* The Bootstrap Manager class.n.
|
31 |
*
|
32 |
+
* @var Wbcr_FactoryBootstrap404_Manager
|
33 |
*/
|
34 |
public $bootstrap;
|
35 |
|
36 |
/**
|
37 |
* The Bootstrap Manager class.n.
|
38 |
*
|
39 |
+
* @var Wbcr_FactoryForms405_Manager
|
40 |
*/
|
41 |
public $forms;
|
42 |
|
98 |
protected $updates;
|
99 |
|
100 |
/**
|
101 |
+
* @var array[] Wbcr_Factory404_Plugin
|
102 |
*/
|
103 |
private $plugin_addons;
|
104 |
|
219 |
}
|
220 |
|
221 |
/**
|
222 |
+
* @param Wbcr_FactoryBootstrap404_Manager $bootstrap
|
223 |
*/
|
224 |
+
public function setBootstap(Wbcr_FactoryBootstrap404_Manager $bootstrap)
|
225 |
{
|
226 |
$this->bootstrap = $bootstrap;
|
227 |
}
|
228 |
|
229 |
/**
|
230 |
+
* @param Wbcr_FactoryForms405_Manager $forms
|
231 |
*/
|
232 |
+
public function setForms(Wbcr_FactoryForms405_Manager $forms)
|
233 |
{
|
234 |
$this->forms = $forms;
|
235 |
}
|
251 |
throw new Exception('A class with this name {' . $class_name . '} does not exist.');
|
252 |
}
|
253 |
|
254 |
+
if( !class_exists('Wbcr_FactoryPages405') ) {
|
255 |
+
throw new Exception('The factory_pages_405 module is not included.');
|
256 |
}
|
257 |
|
258 |
+
Wbcr_FactoryPages405::register($this, $class_name);
|
259 |
}
|
260 |
|
261 |
/**
|
275 |
throw new Exception('A class with this name {' . $class_name . '} does not exist.');
|
276 |
}
|
277 |
|
278 |
+
if( !class_exists('Wbcr_FactoryTypes404') ) {
|
279 |
+
throw new Exception('The factory_types_404 module is not included.');
|
280 |
}
|
281 |
|
282 |
+
Wbcr_FactoryTypes404::register($class_name, $this);
|
283 |
}
|
284 |
|
285 |
/**
|
295 |
$this->loadModule($module);
|
296 |
}
|
297 |
|
298 |
+
do_action('wbcr_factory_404_core_modules_loaded-' . $this->plugin_name);
|
299 |
}
|
300 |
|
301 |
/**
|
348 |
*
|
349 |
* @since 3.2.0
|
350 |
* @param array $module - массив с информацией о загружаемом модуле,
|
351 |
+
* пример array('libs/factory/bootstrap', 'factory_bootstrap_404', 'admin'),
|
352 |
* $module[0] - относительный путь к директории модуля
|
353 |
* $module[1] - идентификатор модуля с префиксом 000
|
354 |
* $module[2] - область применения,
|
397 |
|
398 |
if( $this->is_admin ) {
|
399 |
add_action('admin_init', array($this, 'customizePluginRow'), 20);
|
400 |
+
/*add_action('wbcr_factory_404_core_modules_loaded-' . $this->plugin_name, array(
|
401 |
$this,
|
402 |
'modulesLoaded'
|
403 |
));*/
|
501 |
{
|
502 |
|
503 |
$db_version = $this->getPluginVersionFromDatabase();
|
504 |
+
do_action('wbcr_factory_404_plugin_activation_or_update_' . $this->plugin_name, $force_activation, $db_version, $this);
|
505 |
|
506 |
// there are not any previous version of the plugin in the past
|
507 |
if( !$db_version ) {
|
550 |
*/
|
551 |
public function activationHook()
|
552 |
{
|
553 |
+
$cancelled = apply_filters('wbcr_factory_404_cancel_plugin_activation_' . $this->plugin_name, false);
|
554 |
|
555 |
if( $cancelled ) {
|
556 |
return;
|
563 |
}
|
564 |
}
|
565 |
|
566 |
+
do_action('wbcr_factory_404_plugin_activation', $this);
|
567 |
+
do_action('wbcr_factory_404_plugin_activation_' . $this->plugin_name, $this);
|
568 |
|
569 |
// just time to know when the plugin was activated the first time
|
570 |
+
$activated = $this->getOption('factory_404_plugin_activated_' . $this->plugin_name, 0);
|
571 |
|
572 |
if( !$activated ) {
|
573 |
+
$this->updateOption('factory_404_plugin_activated_' . $this->plugin_name, time());
|
574 |
}
|
575 |
}
|
576 |
|
582 |
*/
|
583 |
public function deactivationHook()
|
584 |
{
|
585 |
+
$cancelled = apply_filters('wbcr_factory_404_cancel_plugin_deactivation_' . $this->plugin_name, false);
|
586 |
|
587 |
if( $cancelled ) {
|
588 |
return;
|
589 |
}
|
590 |
|
591 |
+
do_action('wbcr_factory_404_plugin_deactivation', $this);
|
592 |
+
do_action('wbcr_factory_404_plugin_deactivation_' . $this->plugin_name, $this);
|
593 |
|
594 |
if( !empty($this->activator_class) ) {
|
595 |
foreach((array)$this->activator_class as $activator_class) {
|
669 |
}
|
670 |
|
671 |
// just time to know when the plugin was activated the first time
|
672 |
+
$activated = $this->getOption('factory_404_plugin_activated_' . $this->plugin_name, 0);
|
673 |
|
674 |
if( !$activated ) {
|
675 |
+
$this->updateOption('factory_404_plugin_activated_' . $this->plugin_name, time());
|
676 |
}
|
677 |
}
|
678 |
|
725 |
return;
|
726 |
}
|
727 |
|
728 |
+
$messages = apply_filters('wbcr_factory_404_plugin_row_' . $this->plugin_name, array(), $file, $plugin_data);
|
729 |
|
730 |
// if nothign to show then, use default handle
|
731 |
/*if( count($messages) == 0 ) {
|
855 |
|
856 |
public function newScriptList()
|
857 |
{
|
858 |
+
return new Wbcr_Factory404_ScriptList($this);
|
859 |
}
|
860 |
|
861 |
public function newStyleList()
|
862 |
{
|
863 |
+
return new Wbcr_Factory404_StyleList($this);
|
864 |
}
|
865 |
}
|
866 |
}
|
libs/factory/core/includes/request.class.php
CHANGED
@@ -4,8 +4,8 @@
|
|
4 |
exit;
|
5 |
}
|
6 |
|
7 |
-
if( !class_exists('
|
8 |
-
class
|
9 |
|
10 |
/**
|
11 |
* @param null $param
|
4 |
exit;
|
5 |
}
|
6 |
|
7 |
+
if( !class_exists('Wbcr_Factory404_Request') ) {
|
8 |
+
class Wbcr_Factory404_Request {
|
9 |
|
10 |
/**
|
11 |
* @param null $param
|
libs/factory/forms/boot.php
CHANGED
@@ -22,172 +22,172 @@
|
|
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 |
// absolute path and URL to the files and resources of the module.
|
32 |
-
define('
|
33 |
-
define('
|
34 |
|
35 |
#comp merge
|
36 |
-
require_once(
|
37 |
-
require_once(
|
38 |
-
require_once(
|
39 |
|
40 |
-
require_once(
|
41 |
#endcomp
|
42 |
|
43 |
-
load_plugin_textdomain('
|
44 |
|
45 |
/**
|
46 |
* We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
|
47 |
* we load the form controls only on pages where the forms are created.
|
48 |
*
|
49 |
-
* @see the '
|
50 |
*
|
51 |
* @since 3.0.7
|
52 |
*/
|
53 |
-
if( !function_exists('
|
54 |
|
55 |
/**
|
56 |
-
* @param
|
57 |
* @throws Exception
|
58 |
*/
|
59 |
-
function
|
60 |
{
|
61 |
|
62 |
if( $plugin && !isset($plugin->forms) ) {
|
63 |
throw new Exception("The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'.");
|
64 |
}
|
65 |
|
66 |
-
require_once(
|
67 |
-
require_once(
|
68 |
-
require_once(
|
69 |
-
require_once(
|
70 |
-
require_once(
|
71 |
-
require_once(
|
72 |
-
require_once(
|
73 |
-
require_once(
|
74 |
|
75 |
// registration of controls
|
76 |
$plugin->forms->registerControls(array(
|
77 |
array(
|
78 |
'type' => 'checkbox',
|
79 |
-
'class' => '
|
80 |
-
'include' =>
|
81 |
),
|
82 |
array(
|
83 |
'type' => 'list',
|
84 |
-
'class' => '
|
85 |
-
'include' =>
|
86 |
),
|
87 |
array(
|
88 |
'type' => 'dropdown',
|
89 |
-
'class' => '
|
90 |
-
'include' =>
|
91 |
),
|
92 |
array(
|
93 |
'type' => 'dropdown-and-colors',
|
94 |
-
'class' => '
|
95 |
-
'include' =>
|
96 |
),
|
97 |
array(
|
98 |
'type' => 'hidden',
|
99 |
-
'class' => '
|
100 |
-
'include' =>
|
101 |
),
|
102 |
array(
|
103 |
'type' => 'hidden',
|
104 |
-
'class' => '
|
105 |
-
'include' =>
|
106 |
),
|
107 |
array(
|
108 |
'type' => 'radio',
|
109 |
-
'class' => '
|
110 |
-
'include' =>
|
111 |
),
|
112 |
array(
|
113 |
'type' => 'radio-colors',
|
114 |
-
'class' => '
|
115 |
-
'include' =>
|
116 |
),
|
117 |
array(
|
118 |
'type' => 'textarea',
|
119 |
-
'class' => '
|
120 |
-
'include' =>
|
121 |
),
|
122 |
array(
|
123 |
'type' => 'textbox',
|
124 |
-
'class' => '
|
125 |
-
'include' =>
|
126 |
),
|
127 |
array(
|
128 |
'type' => 'multiple-textbox',
|
129 |
-
'class' => '
|
130 |
-
'include' =>
|
131 |
),
|
132 |
array(
|
133 |
'type' => 'datetimepicker-range',
|
134 |
-
'class' => '
|
135 |
-
'include' =>
|
136 |
),
|
137 |
array(
|
138 |
'type' => 'url',
|
139 |
-
'class' => '
|
140 |
-
'include' =>
|
141 |
),
|
142 |
array(
|
143 |
'type' => 'wp-editor',
|
144 |
-
'class' => '
|
145 |
-
'include' =>
|
146 |
),
|
147 |
array(
|
148 |
'type' => 'color',
|
149 |
-
'class' => '
|
150 |
-
'include' =>
|
151 |
),
|
152 |
array(
|
153 |
'type' => 'color-and-opacity',
|
154 |
-
'class' => '
|
155 |
-
'include' =>
|
156 |
),
|
157 |
array(
|
158 |
'type' => 'gradient',
|
159 |
-
'class' => '
|
160 |
-
'include' =>
|
161 |
),
|
162 |
array(
|
163 |
'type' => 'font',
|
164 |
-
'class' => '
|
165 |
-
'include' =>
|
166 |
),
|
167 |
array(
|
168 |
'type' => 'google-font',
|
169 |
-
'class' => '
|
170 |
-
'include' =>
|
171 |
),
|
172 |
array(
|
173 |
'type' => 'pattern',
|
174 |
-
'class' => '
|
175 |
-
'include' =>
|
176 |
),
|
177 |
array(
|
178 |
'type' => 'integer',
|
179 |
-
'class' => '
|
180 |
-
'include' =>
|
181 |
),
|
182 |
array(
|
183 |
'type' => 'control-group',
|
184 |
-
'class' => '
|
185 |
-
'include' =>
|
186 |
),
|
187 |
array(
|
188 |
'type' => 'paddings-editor',
|
189 |
-
'class' => '
|
190 |
-
'include' =>
|
191 |
),
|
192 |
));
|
193 |
|
@@ -195,53 +195,53 @@
|
|
195 |
$plugin->forms->registerHolders(array(
|
196 |
array(
|
197 |
'type' => 'tab',
|
198 |
-
'class' => '
|
199 |
-
'include' =>
|
200 |
),
|
201 |
array(
|
202 |
'type' => 'tab-item',
|
203 |
-
'class' => '
|
204 |
-
'include' =>
|
205 |
),
|
206 |
array(
|
207 |
'type' => 'accordion',
|
208 |
-
'class' => '
|
209 |
-
'include' =>
|
210 |
),
|
211 |
array(
|
212 |
'type' => 'accordion-item',
|
213 |
-
'class' => '
|
214 |
-
'include' =>
|
215 |
),
|
216 |
array(
|
217 |
'type' => 'control-group',
|
218 |
-
'class' => '
|
219 |
-
'include' =>
|
220 |
),
|
221 |
array(
|
222 |
'type' => 'control-group-item',
|
223 |
-
'class' => '
|
224 |
-
'include' =>
|
225 |
),
|
226 |
array(
|
227 |
'type' => 'form-group',
|
228 |
-
'class' => '
|
229 |
-
'include' =>
|
230 |
),
|
231 |
array(
|
232 |
'type' => 'more-link',
|
233 |
-
'class' => '
|
234 |
-
'include' =>
|
235 |
),
|
236 |
array(
|
237 |
'type' => 'div',
|
238 |
-
'class' => '
|
239 |
-
'include' =>
|
240 |
),
|
241 |
array(
|
242 |
'type' => 'columns',
|
243 |
-
'class' => '
|
244 |
-
'include' =>
|
245 |
)
|
246 |
));
|
247 |
|
@@ -249,23 +249,23 @@
|
|
249 |
$plugin->forms->registerCustomElements(array(
|
250 |
array(
|
251 |
'type' => 'html',
|
252 |
-
'class' => '
|
253 |
-
'include' =>
|
254 |
),
|
255 |
array(
|
256 |
'type' => 'separator',
|
257 |
-
'class' => '
|
258 |
-
'include' =>
|
259 |
),
|
260 |
));
|
261 |
|
262 |
// registration of form layouts
|
263 |
$plugin->forms->registerFormLayout(array(
|
264 |
'name' => 'bootstrap-3',
|
265 |
-
'class' => '
|
266 |
-
'include' =>
|
267 |
));
|
268 |
}
|
269 |
|
270 |
-
add_action('
|
271 |
}
|
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_405_LOADED') ) {
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
+
define('FACTORY_FORMS_405_LOADED', true);
|
30 |
|
31 |
// absolute path and URL to the files and resources of the module.
|
32 |
+
define('FACTORY_FORMS_405_DIR', dirname(__FILE__));
|
33 |
+
define('FACTORY_FORMS_405_URL', plugins_url(null, __FILE__));
|
34 |
|
35 |
#comp merge
|
36 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/providers/value-provider.interface.php');
|
37 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/providers/meta-value-provider.class.php');
|
38 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/providers/options-value-provider.class.php');
|
39 |
|
40 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/form.class.php');
|
41 |
#endcomp
|
42 |
|
43 |
+
load_plugin_textdomain('wbcr_factory_forms_405', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
44 |
|
45 |
/**
|
46 |
* We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
|
47 |
* we load the form controls only on pages where the forms are created.
|
48 |
*
|
49 |
+
* @see the 'wbcr_factory_forms_405_register_controls' hook
|
50 |
*
|
51 |
* @since 3.0.7
|
52 |
*/
|
53 |
+
if( !function_exists('wbcr_factory_forms_405_register_default_controls') ) {
|
54 |
|
55 |
/**
|
56 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
57 |
* @throws Exception
|
58 |
*/
|
59 |
+
function wbcr_factory_forms_405_register_default_controls(Wbcr_Factory404_Plugin $plugin)
|
60 |
{
|
61 |
|
62 |
if( $plugin && !isset($plugin->forms) ) {
|
63 |
throw new Exception("The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'.");
|
64 |
}
|
65 |
|
66 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/html-builder.class.php');
|
67 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/form-element.class.php');
|
68 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/control.class.php');
|
69 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/complex-control.class.php');
|
70 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/holder.class.php');
|
71 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/control-holder.class.php');
|
72 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/custom-element.class.php');
|
73 |
+
require_once(FACTORY_FORMS_405_DIR . '/includes/form-layout.class.php');
|
74 |
|
75 |
// registration of controls
|
76 |
$plugin->forms->registerControls(array(
|
77 |
array(
|
78 |
'type' => 'checkbox',
|
79 |
+
'class' => 'Wbcr_FactoryForms405_CheckboxControl',
|
80 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/checkbox.php'
|
81 |
),
|
82 |
array(
|
83 |
'type' => 'list',
|
84 |
+
'class' => 'Wbcr_FactoryForms405_ListControl',
|
85 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/list.php'
|
86 |
),
|
87 |
array(
|
88 |
'type' => 'dropdown',
|
89 |
+
'class' => 'Wbcr_FactoryForms405_DropdownControl',
|
90 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/dropdown.php'
|
91 |
),
|
92 |
array(
|
93 |
'type' => 'dropdown-and-colors',
|
94 |
+
'class' => 'Wbcr_FactoryForms405_DropdownAndColorsControl',
|
95 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/dropdown-and-colors.php'
|
96 |
),
|
97 |
array(
|
98 |
'type' => 'hidden',
|
99 |
+
'class' => 'Wbcr_FactoryForms405_HiddenControl',
|
100 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/hidden.php'
|
101 |
),
|
102 |
array(
|
103 |
'type' => 'hidden',
|
104 |
+
'class' => 'Wbcr_FactoryForms405_HiddenControl',
|
105 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/hidden.php'
|
106 |
),
|
107 |
array(
|
108 |
'type' => 'radio',
|
109 |
+
'class' => 'Wbcr_FactoryForms405_RadioControl',
|
110 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/radio.php'
|
111 |
),
|
112 |
array(
|
113 |
'type' => 'radio-colors',
|
114 |
+
'class' => 'Wbcr_FactoryForms405_RadioColorsControl',
|
115 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/radio-colors.php'
|
116 |
),
|
117 |
array(
|
118 |
'type' => 'textarea',
|
119 |
+
'class' => 'Wbcr_FactoryForms405_TextareaControl',
|
120 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/textarea.php'
|
121 |
),
|
122 |
array(
|
123 |
'type' => 'textbox',
|
124 |
+
'class' => 'Wbcr_FactoryForms405_TextboxControl',
|
125 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/textbox.php'
|
126 |
),
|
127 |
array(
|
128 |
'type' => 'multiple-textbox',
|
129 |
+
'class' => 'Wbcr_FactoryForms405_MultipleTextboxControl',
|
130 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/multiple-textbox.php'
|
131 |
),
|
132 |
array(
|
133 |
'type' => 'datetimepicker-range',
|
134 |
+
'class' => 'Wbcr_FactoryForms405_DatepickerRangeControl',
|
135 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/datepicker-range.php'
|
136 |
),
|
137 |
array(
|
138 |
'type' => 'url',
|
139 |
+
'class' => 'Wbcr_FactoryForms405_UrlControl',
|
140 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/url.php'
|
141 |
),
|
142 |
array(
|
143 |
'type' => 'wp-editor',
|
144 |
+
'class' => 'Wbcr_FactoryForms405_WpEditorControl',
|
145 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/wp-editor.php'
|
146 |
),
|
147 |
array(
|
148 |
'type' => 'color',
|
149 |
+
'class' => 'Wbcr_FactoryForms405_ColorControl',
|
150 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/color.php'
|
151 |
),
|
152 |
array(
|
153 |
'type' => 'color-and-opacity',
|
154 |
+
'class' => 'Wbcr_FactoryForms405_ColorAndOpacityControl',
|
155 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/color-and-opacity.php'
|
156 |
),
|
157 |
array(
|
158 |
'type' => 'gradient',
|
159 |
+
'class' => 'Wbcr_FactoryForms405_GradientControl',
|
160 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/gradient.php'
|
161 |
),
|
162 |
array(
|
163 |
'type' => 'font',
|
164 |
+
'class' => 'Wbcr_FactoryForms405_FontControl',
|
165 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/font.php'
|
166 |
),
|
167 |
array(
|
168 |
'type' => 'google-font',
|
169 |
+
'class' => 'Wbcr_FactoryForms405_GoogleFontControl',
|
170 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/google-font.php'
|
171 |
),
|
172 |
array(
|
173 |
'type' => 'pattern',
|
174 |
+
'class' => 'Wbcr_FactoryForms405_PatternControl',
|
175 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/pattern.php'
|
176 |
),
|
177 |
array(
|
178 |
'type' => 'integer',
|
179 |
+
'class' => 'Wbcr_FactoryForms405_IntegerControl',
|
180 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/integer.php'
|
181 |
),
|
182 |
array(
|
183 |
'type' => 'control-group',
|
184 |
+
'class' => 'Wbcr_FactoryForms405_ControlGroupHolder',
|
185 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/control-group.php'
|
186 |
),
|
187 |
array(
|
188 |
'type' => 'paddings-editor',
|
189 |
+
'class' => 'Wbcr_FactoryForms405_PaddingsEditorControl',
|
190 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/paddings-editor.php'
|
191 |
),
|
192 |
));
|
193 |
|
195 |
$plugin->forms->registerHolders(array(
|
196 |
array(
|
197 |
'type' => 'tab',
|
198 |
+
'class' => 'Wbcr_FactoryForms405_TabHolder',
|
199 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/tab.php'
|
200 |
),
|
201 |
array(
|
202 |
'type' => 'tab-item',
|
203 |
+
'class' => 'Wbcr_FactoryForms405_TabItemHolder',
|
204 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/tab-item.php'
|
205 |
),
|
206 |
array(
|
207 |
'type' => 'accordion',
|
208 |
+
'class' => 'Wbcr_FactoryForms405_AccordionHolder',
|
209 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/accordion.php'
|
210 |
),
|
211 |
array(
|
212 |
'type' => 'accordion-item',
|
213 |
+
'class' => 'Wbcr_FactoryForms405_AccordionItemHolder',
|
214 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/accordion-item.php'
|
215 |
),
|
216 |
array(
|
217 |
'type' => 'control-group',
|
218 |
+
'class' => 'Wbcr_FactoryForms405_ControlGroupHolder',
|
219 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/control-group.php'
|
220 |
),
|
221 |
array(
|
222 |
'type' => 'control-group-item',
|
223 |
+
'class' => 'Wbcr_FactoryForms405_ControlGroupItem',
|
224 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/control-group-item.php'
|
225 |
),
|
226 |
array(
|
227 |
'type' => 'form-group',
|
228 |
+
'class' => 'Wbcr_FactoryForms405_FormGroupHolder',
|
229 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/form-group.php'
|
230 |
),
|
231 |
array(
|
232 |
'type' => 'more-link',
|
233 |
+
'class' => 'Wbcr_FactoryForms405_MoreLinkHolder',
|
234 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/more-link.php'
|
235 |
),
|
236 |
array(
|
237 |
'type' => 'div',
|
238 |
+
'class' => 'Wbcr_FactoryForms405_DivHolder',
|
239 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/div.php'
|
240 |
),
|
241 |
array(
|
242 |
'type' => 'columns',
|
243 |
+
'class' => 'Wbcr_FactoryForms405_ColumnsHolder',
|
244 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/holders/columns.php'
|
245 |
)
|
246 |
));
|
247 |
|
249 |
$plugin->forms->registerCustomElements(array(
|
250 |
array(
|
251 |
'type' => 'html',
|
252 |
+
'class' => 'Wbcr_FactoryForms405_Html',
|
253 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/customs/html.php',
|
254 |
),
|
255 |
array(
|
256 |
'type' => 'separator',
|
257 |
+
'class' => 'Wbcr_FactoryForms405_Separator',
|
258 |
+
'include' => FACTORY_FORMS_405_DIR . '/controls/customs/separator.php',
|
259 |
),
|
260 |
));
|
261 |
|
262 |
// registration of form layouts
|
263 |
$plugin->forms->registerFormLayout(array(
|
264 |
'name' => 'bootstrap-3',
|
265 |
+
'class' => 'Wbcr_FactoryForms405_Bootstrap3FormLayout',
|
266 |
+
'include' => FACTORY_FORMS_405_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
|
267 |
));
|
268 |
}
|
269 |
|
270 |
+
add_action('wbcr_factory_forms_405_register_controls', 'wbcr_factory_forms_405_register_default_controls');
|
271 |
}
|
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_FactoryForms405_CheckboxControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms405_CheckboxControl extends Wbcr_FactoryForms405_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_405') ?></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_405') ?></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_FactoryForms405_ColorAndOpacityControl') ) {
|
24 |
}
|
25 |
|
26 |
+
class Wbcr_FactoryForms405_ColorAndOpacityControl extends Wbcr_FactoryForms405_ComplexControl {
|
27 |
|
28 |
public $type = 'color-and-opacity';
|
29 |
|
57 |
'way' => 'slider'
|
58 |
));
|
59 |
|
60 |
+
$this->color = new Wbcr_FactoryForms405_ColorControl($options['color'], $form, $provider);
|
61 |
+
$this->opacity = new Wbcr_FactoryForms405_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_FactoryForms405_ColorControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms405_ColorControl extends Wbcr_FactoryForms405_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_FactoryForms405_Html') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryForms405_Html extends Wbcr_FactoryForms405_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_FactoryForms405_Separator') ) {
|
18 |
+
class Wbcr_FactoryForms405_Separator extends Wbcr_FactoryForms405_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_FactoryForms405_DatepickerRangeControl') ) {
|
33 |
|
34 |
+
class Wbcr_FactoryForms405_DatepickerRangeControl extends Wbcr_FactoryForms405_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_FactoryForms405_TextboxControl($options['range_1'], $form, $provider);
|
69 |
+
$this->range_2 = new Wbcr_FactoryForms405_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 FactoryForms405_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 FactoryForms405_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_FactoryForms405_DropdownAndColorsControl') ) {
|
41 |
|
42 |
+
class Wbcr_FactoryForms405_DropdownAndColorsControl extends Wbcr_FactoryForms405_ComplexControl {
|
43 |
|
44 |
public $type = 'dropdown-and-colors';
|
45 |
|
69 |
'name' => $this->options['name'] . '__colors',
|
70 |
));
|
71 |
|
72 |
+
$this->dropdown = new Wbcr_FactoryForms405_DropdownControl($options['dropdown'], $form, $provider);
|
73 |
+
$this->colors = new Wbcr_FactoryForms405_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 |
|
@@ -127,7 +127,7 @@
|
|
127 |
'url': '<?php echo $data['url'] ?>',
|
128 |
'data': <?php echo json_encode( $data['data'] ) ?>,
|
129 |
'selected': '<?php echo $value ?>',
|
130 |
-
'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', '
|
131 |
};
|
132 |
</script>
|
133 |
<?php
|
@@ -259,7 +259,7 @@
|
|
259 |
}
|
260 |
|
261 |
$isEmpty = $this->isAjax() || empty($items);
|
262 |
-
$emptyList = $this->getOption('empty', __('- empty -', '
|
263 |
|
264 |
?>
|
265 |
|
@@ -334,7 +334,7 @@
|
|
334 |
: '';
|
335 |
$title = isset($item['title'])
|
336 |
? $item['title']
|
337 |
-
: __('- empty -', '
|
338 |
|
339 |
$data = isset($item['data'])
|
340 |
? $item['data']
|
21 |
exit;
|
22 |
}
|
23 |
|
24 |
+
if( !class_exists('Wbcr_FactoryForms405_DropdownControl') ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms405_DropdownControl extends Wbcr_FactoryForms405_Control {
|
27 |
|
28 |
public $type = 'dropdown';
|
29 |
|
127 |
'url': '<?php echo $data['url'] ?>',
|
128 |
'data': <?php echo json_encode( $data['data'] ) ?>,
|
129 |
'selected': '<?php echo $value ?>',
|
130 |
+
'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_405') ) ?>'
|
131 |
};
|
132 |
</script>
|
133 |
<?php
|
259 |
}
|
260 |
|
261 |
$isEmpty = $this->isAjax() || empty($items);
|
262 |
+
$emptyList = $this->getOption('empty', __('- empty -', 'wbcr_factory_forms_405'));
|
263 |
|
264 |
?>
|
265 |
|
334 |
: '';
|
335 |
$title = isset($item['title'])
|
336 |
? $item['title']
|
337 |
+
: __('- empty -', 'wbcr_factory_forms_405');
|
338 |
|
339 |
$data = isset($item['data'])
|
340 |
? $item['data']
|
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_FactoryForms405_FontControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms405_FontControl extends Wbcr_FactoryForms405_ComplexControl {
|
26 |
|
27 |
public $type = 'font';
|
28 |
|
54 |
'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
|
55 |
);
|
56 |
|
57 |
+
$this->size = new Wbcr_FactoryForms405_IntegerControl($option_font_size, $form, $provider);
|
58 |
+
$this->family = new Wbcr_FactoryForms405_DropdownControl($option_font_family, $form, $provider);
|
59 |
+
$this->color = new Wbcr_FactoryForms405_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_405_fonts', $fonts);
|
70 |
+
$fonts = apply_filters('wbcr_factory_forms_405_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_405')),
|
81 |
array(
|
82 |
'group',
|
83 |
+
__('Sans Serif:', 'wbcr_factory_forms_405'),
|
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_405'),
|
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_405'),
|
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_FactoryForms405_GoogleFontControl extends Wbcr_FactoryForms405_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_FactoryForms405_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_405'))
|
53 |
);
|
54 |
|
55 |
$fontsCommon = array(
|
56 |
'group',
|
57 |
+
__('Standard:', 'wbcr_factory_forms_405'),
|
58 |
array(
|
59 |
|
60 |
array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
|
65 |
)
|
66 |
);
|
67 |
|
68 |
+
$fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_405'), 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_405');
|
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_405');
|
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_405');
|
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_FactoryForms405_GradientControl') ) {
|
29 |
+
class Wbcr_FactoryForms405_GradientControl extends Wbcr_FactoryForms405_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_405' ) ?>';
|
70 |
+
factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_405' ) ?>';
|
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_FactoryForms405_HiddenControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms405_HiddenControl extends Wbcr_FactoryForms405_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_FactoryForms405_AccordionItemHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms405_AccordionItemHolder extends Wbcr_FactoryForms405_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_FactoryForms405_AccordionHolder') ) {
|
17 |
/**
|
18 |
* Tab Control Holder
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
class Wbcr_FactoryForms405_AccordionHolder extends Wbcr_FactoryForms405_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_FactoryForms405_ColumnsHolder') ) {
|
18 |
/**
|
19 |
* Columns Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms405_ColumnsHolder extends Wbcr_FactoryForms405_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_FactoryForms405_ControlGroupItem') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms405_ControlGroupItem extends Wbcr_FactoryForms405_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_FactoryForms405_ControlGroupHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms405_ControlGroupHolder extends Wbcr_FactoryForms405_ControlHolder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
61 |
continue;
|
62 |
}
|
63 |
|
64 |
+
$builder = new Wbcr_FactoryForms405_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_FactoryForms405_DivHolder') ) {
|
18 |
/**
|
19 |
* Div Control Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms405_DivHolder extends Wbcr_FactoryForms405_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_FactoryForms405_FormGroupHolder') ) {
|
18 |
/**
|
19 |
* Group Holder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms405_FormGroupHolder extends Wbcr_FactoryForms405_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_FactoryForms405_MoreLinkHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Collapsed Group Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms405_MoreLinkHolder extends Wbcr_FactoryForms405_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_FactoryForms405_TabItemHolder') ) {
|
17 |
/**
|
18 |
* Tab Item Control Holder
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
class Wbcr_FactoryForms405_TabItemHolder extends Wbcr_FactoryForms405_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_FactoryForms405_TabHolder') ) {
|
18 |
|
19 |
/**
|
20 |
* Tab Control Holder
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
class Wbcr_FactoryForms405_TabHolder extends Wbcr_FactoryForms405_Holder {
|
25 |
|
26 |
/**
|
27 |
* A holder type.
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @param mixed[] $options A holder options.
|
47 |
+
* @param FactoryForms405_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_FactoryForms405_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_FactoryForms405_IntegerControl') ) {
|
36 |
|
37 |
+
class Wbcr_FactoryForms405_IntegerControl extends Wbcr_FactoryForms405_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_FactoryForms405_ListControl') ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms405_ListControl extends Wbcr_FactoryForms405_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_405') ) ?>'
|
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_405'));
|
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_FactoryForms405_MultipleTextboxControl') ) {
|
19 |
|
20 |
+
class Wbcr_FactoryForms405_MultipleTextboxControl extends Wbcr_FactoryForms405_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_405') ?>
|
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_FactoryForms405_PaddingsEditorControl') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryForms405_PaddingsEditorControl extends Wbcr_FactoryForms405_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_405') ?>
|
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_FactoryForms405_PatternControl') ) {
|
19 |
|
20 |
+
class Wbcr_FactoryForms405_PatternControl extends Wbcr_FactoryForms405_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_405_patterns', array());
|
56 |
+
$this->patterns = apply_filters('wbcr_factory_forms_405_patterns-' . $name, $this->patterns);
|
57 |
|
58 |
$this->custom_patterns = $this->getOption('patterns', array());
|
59 |
|
60 |
+
$this->color = new Wbcr_FactoryForms405_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_405') ?>">
|
106 |
<i class="fa fa-flask"></i>
|
107 |
+
<span><?php _e('re-color', 'wbcr_factory_forms_405') ?></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_405') ?></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_405') ?></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_FactoryForms405_RadioColorsControl') ) {
|
31 |
|
32 |
+
class Wbcr_FactoryForms405_RadioColorsControl extends Wbcr_FactoryForms405_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_FactoryForms405_RadioControl') ) {
|
25 |
|
26 |
+
class Wbcr_FactoryForms405_RadioControl extends Wbcr_FactoryForms405_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_FactoryForms405_TextareaControl') ) {
|
24 |
|
25 |
+
class Wbcr_FactoryForms405_TextareaControl extends Wbcr_FactoryForms405_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 |
|
@@ -79,14 +79,5 @@
|
|
79 |
<?php if( $units ) { ?></div><?php } ?>
|
80 |
<?php
|
81 |
}
|
82 |
-
|
83 |
-
public function getSubmitValue($name, $subName)
|
84 |
-
{
|
85 |
-
$name_on_form = $this->getNameOnForm($name);
|
86 |
-
|
87 |
-
return isset($_POST[$name_on_form])
|
88 |
-
? sanitize_text_field($_POST[$name_on_form])
|
89 |
-
: '';
|
90 |
-
}
|
91 |
}
|
92 |
}
|
29 |
exit;
|
30 |
}
|
31 |
|
32 |
+
if( !class_exists('Wbcr_FactoryForms405_TextboxControl') ) {
|
33 |
|
34 |
+
class Wbcr_FactoryForms405_TextboxControl extends Wbcr_FactoryForms405_Control {
|
35 |
|
36 |
public $type = 'textbox';
|
37 |
|
79 |
<?php if( $units ) { ?></div><?php } ?>
|
80 |
<?php
|
81 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
}
|
83 |
}
|
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 FactoryForms405_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_FactoryForms405_UrlControl') ) {
|
22 |
|
23 |
+
class Wbcr_FactoryForms405_UrlControl extends Wbcr_FactoryForms405_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_FactoryForms405_WpEditorControl') ) {
|
26 |
|
27 |
+
class Wbcr_FactoryForms405_WpEditorControl extends Wbcr_FactoryForms405_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_405_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_FactoryForms405_ComplexControl') ) {
|
17 |
/**
|
18 |
* The base class for all controls.
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
abstract class Wbcr_FactoryForms405_ComplexControl extends Wbcr_FactoryForms405_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_FactoryForms405_Control[]
|
37 |
*/
|
38 |
public $inner_controls = array();
|
39 |
|
41 |
* Sets a provider for the control.
|
42 |
*
|
43 |
* @since 1.0.0
|
44 |
+
* @param Wbcr_IFactoryForms405_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_FactoryForms405_ControlHolder') ) {
|
18 |
/**
|
19 |
* The base class for control holders.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
abstract class Wbcr_FactoryForms405_ControlHolder extends Wbcr_FactoryForms405_Control {
|
24 |
|
25 |
/**
|
26 |
* Holder Elements.
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
+
* @var Wbcr_FactoryForms405_Control[]
|
30 |
*/
|
31 |
protected $elements = array();
|
32 |
|
43 |
*
|
44 |
* @since 1.0.0
|
45 |
* @param mixed[] $options A holder options.
|
46 |
+
* @param Wbcr_FactoryForms405_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_FactoryForms405_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)
|
@@ -198,7 +198,7 @@
|
|
198 |
$value = $raw_value;
|
199 |
|
200 |
if( is_array($value) ) {
|
201 |
-
$value = array_map('
|
202 |
$value = implode(',', $value);
|
203 |
} else {
|
204 |
$value = sanitize_text_field($value);
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryForms405_Control') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all controls.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryForms405_Control extends Wbcr_FactoryForms405_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_IFactoryForms405_ValueProvider
|
47 |
*/
|
48 |
protected $provider = null;
|
49 |
|
51 |
* Create a new instance of the control.
|
52 |
*
|
53 |
* @param mixed[] $options
|
54 |
+
* @param FactoryForms405_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 IFactoryForms405_ValueProvider $provider
|
70 |
* @return void
|
71 |
*/
|
72 |
public function setProvider($provider)
|
198 |
$value = $raw_value;
|
199 |
|
200 |
if( is_array($value) ) {
|
201 |
+
$value = array_map('sanitize_text_field', $value);
|
202 |
$value = implode(',', $value);
|
203 |
} else {
|
204 |
$value = sanitize_text_field($value);
|
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_FactoryForms405_CustomElement') ) {
|
18 |
/**
|
19 |
* The base class for all controls.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
abstract class Wbcr_FactoryForms405_CustomElement extends Wbcr_FactoryForms405_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_FactoryForms405_FormElement') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all form element (controls, holders).
|
23 |
*
|
24 |
* @since 1.0.0
|
25 |
*/
|
26 |
+
abstract class Wbcr_FactoryForms405_FormElement {
|
27 |
|
28 |
/**
|
29 |
* A type of an elemnt.
|
37 |
* An html attribute builder.
|
38 |
*
|
39 |
* @since 1.0.0
|
40 |
+
* @var Wbcr_FactoryForms405_HtmlAttributeBuilder
|
41 |
*/
|
42 |
private $html_builder;
|
43 |
|
53 |
* A parent form.
|
54 |
*
|
55 |
* @since 1.0.0
|
56 |
+
* @var Wbcr_FactoryForms405_Form
|
57 |
*/
|
58 |
protected $form;
|
59 |
|
61 |
* A form layout.
|
62 |
*
|
63 |
* @since 1.0.0
|
64 |
+
* @var Wbcr_FactoryForms405_FormLayout
|
65 |
*/
|
66 |
protected $layout;
|
67 |
|
94 |
*
|
95 |
* @since 1.0.0
|
96 |
* @param mixed[] $options A holder options.
|
97 |
+
* @param Wbcr_FactoryForms405_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_FactoryForms405_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_FactoryForms405_FormLayout') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all form layouts.
|
21 |
*/
|
22 |
+
abstract class Wbcr_FactoryForms405_FormLayout extends Wbcr_FactoryForms405_Holder {
|
23 |
|
24 |
/**
|
25 |
* A form layout name.
|
42 |
*
|
43 |
* @since 1.0.0
|
44 |
* @param mixed[] $options A holder options.
|
45 |
+
* @param Wbcr_FactoryForms405_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-405-' . $this->type);
|
56 |
+
$this->addCssClass('factory-forms-405-' . $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 |
|
@@ -262,20 +262,20 @@
|
|
262 |
*
|
263 |
* @since 1.0.0
|
264 |
* @param array $options
|
265 |
-
* @param
|
266 |
*/
|
267 |
-
public function __construct(array $options = array(),
|
268 |
{
|
269 |
// register controls once, when the first form is created
|
270 |
-
if( !
|
271 |
|
272 |
-
do_action('
|
273 |
|
274 |
//if( !empty($plugin) ) {
|
275 |
-
do_action('
|
276 |
//}
|
277 |
|
278 |
-
|
279 |
}
|
280 |
|
281 |
$this->scope = isset($options['scope'])
|
@@ -291,14 +291,14 @@
|
|
291 |
$this->form_layout = 'bootstrap-3';
|
292 |
}
|
293 |
|
294 |
-
|
295 |
}
|
296 |
|
297 |
/**
|
298 |
* Sets a provider for the control.
|
299 |
*
|
300 |
* @since 1.0.0
|
301 |
-
* @param
|
302 |
* @return void
|
303 |
*/
|
304 |
public function setProvider($provider)
|
@@ -334,14 +334,14 @@
|
|
334 |
*/
|
335 |
public function getItems()
|
336 |
{
|
337 |
-
return apply_filters('
|
338 |
}
|
339 |
|
340 |
/**
|
341 |
* Returns form controls (control objects).
|
342 |
*
|
343 |
* @since 1.0.0
|
344 |
-
* @return
|
345 |
*/
|
346 |
public function getControls()
|
347 |
{
|
@@ -357,7 +357,7 @@
|
|
357 |
* Builds a form items to the control objects ready to use.
|
358 |
*
|
359 |
* @param null $holder
|
360 |
-
* @return
|
361 |
*/
|
362 |
|
363 |
public function createControls($holder = null)
|
@@ -399,7 +399,7 @@
|
|
399 |
*
|
400 |
* @since 1.0.0
|
401 |
* @param array $item Item data.
|
402 |
-
* @return
|
403 |
*/
|
404 |
public function createElement($item)
|
405 |
{
|
@@ -421,7 +421,7 @@
|
|
421 |
*
|
422 |
* @since 1.0.0
|
423 |
* @param mixed[] $item Data of items.
|
424 |
-
* @return
|
425 |
*/
|
426 |
public function createElements($items = array())
|
427 |
{
|
@@ -437,7 +437,7 @@
|
|
437 |
*
|
438 |
* @since 1.0.0
|
439 |
* @param array $item Item data.
|
440 |
-
* @return
|
441 |
*/
|
442 |
public function createControl($item)
|
443 |
{
|
@@ -445,7 +445,7 @@
|
|
445 |
|
446 |
if( is_array($item) ) {
|
447 |
|
448 |
-
$control_data =
|
449 |
|
450 |
require_once($control_data['include']);
|
451 |
|
@@ -469,7 +469,7 @@
|
|
469 |
*
|
470 |
* @since 1.0.0
|
471 |
* @param array $item Item data.
|
472 |
-
* @return
|
473 |
*/
|
474 |
public function createHolder($item)
|
475 |
{
|
@@ -477,7 +477,7 @@
|
|
477 |
|
478 |
if( is_array($item) ) {
|
479 |
|
480 |
-
$holderData =
|
481 |
require_once($holderData['include']);
|
482 |
|
483 |
$object = new $holderData['class']($item, $this);
|
@@ -495,7 +495,7 @@
|
|
495 |
*
|
496 |
* @since 1.0.0
|
497 |
* @param mixed $item Item data.
|
498 |
-
* @return
|
499 |
*/
|
500 |
public function createCustomElement($item)
|
501 |
{
|
@@ -503,7 +503,7 @@
|
|
503 |
|
504 |
if( is_array($item) ) {
|
505 |
|
506 |
-
$data =
|
507 |
require_once($data['include']);
|
508 |
|
509 |
$options = $item;
|
@@ -527,12 +527,12 @@
|
|
527 |
public function html($options = array())
|
528 |
{
|
529 |
|
530 |
-
if( !isset(
|
531 |
die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
|
532 |
}
|
533 |
|
534 |
// include a render code
|
535 |
-
$layout_data =
|
536 |
require_once($layout_data['include']);
|
537 |
|
538 |
$this->connectAssets();
|
@@ -556,7 +556,7 @@
|
|
556 |
{
|
557 |
|
558 |
$this->connectAssetsForItems();
|
559 |
-
$layout_data =
|
560 |
|
561 |
if( $layout_data['name'] == 'default' ) {
|
562 |
if( isset($layout_data['style']) ) {
|
@@ -606,9 +606,9 @@
|
|
606 |
|
607 |
$haystack = array();
|
608 |
if( self::isControl($type) ) {
|
609 |
-
$haystack =
|
610 |
} elseif( self::isControlHolder($type) ) {
|
611 |
-
$haystack =
|
612 |
}
|
613 |
|
614 |
if( isset($haystack[$type]) ) {
|
@@ -664,7 +664,7 @@
|
|
664 |
*/
|
665 |
public static function isControl($item)
|
666 |
{
|
667 |
-
return isset(
|
668 |
}
|
669 |
|
670 |
/**
|
@@ -676,7 +676,7 @@
|
|
676 |
*/
|
677 |
public static function isControlHolder($item)
|
678 |
{
|
679 |
-
return isset(
|
680 |
}
|
681 |
|
682 |
/**
|
@@ -688,7 +688,7 @@
|
|
688 |
*/
|
689 |
public static function isCustomElement($item)
|
690 |
{
|
691 |
-
return isset(
|
692 |
}
|
693 |
}
|
694 |
}
|
15 |
}
|
16 |
|
17 |
// creating a license manager for each plugin created via the factory
|
18 |
+
add_action('wbcr_factory_forms_405_plugin_created', 'wbcr_factory_forms_405_plugin_created');
|
19 |
|
20 |
+
function wbcr_factory_forms_405_plugin_created($plugin)
|
21 |
{
|
22 |
+
$plugin->forms = new Wbcr_FactoryForms405_Manager($plugin);
|
23 |
}
|
24 |
|
25 |
+
if( !class_exists('Wbcr_FactoryForms405_Manager') ) {
|
26 |
|
27 |
+
class Wbcr_FactoryForms405_Manager {
|
28 |
|
29 |
// ----------------------------------------------------
|
30 |
// Static fields and methods
|
57 |
/**
|
58 |
* Registers a set of new controls.
|
59 |
*
|
60 |
+
* @see FactoryForms405_Form::registerControl()
|
61 |
*
|
62 |
* @since 1.0.0
|
63 |
* @return void
|
95 |
/**
|
96 |
* Registers a set of new holder controls.
|
97 |
*
|
98 |
+
* @see FactoryForms405_Form::registerHolder()
|
99 |
*
|
100 |
* @since 1.0.0
|
101 |
* @return void
|
129 |
/**
|
130 |
* Registers a set of new custom form elements.
|
131 |
*
|
132 |
+
* @see FactoryForms405_Form::registerCustomElement()
|
133 |
*
|
134 |
* @since 1.0.0
|
135 |
* @return void
|
180 |
public static $controls_registered = false;
|
181 |
}
|
182 |
}
|
183 |
+
if( !class_exists('Wbcr_FactoryForms405_Form') ) {
|
184 |
/**
|
185 |
* An abstraction for forms.
|
186 |
*/
|
187 |
+
class Wbcr_FactoryForms405_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_IFactoryForms405_ValueProvider
|
198 |
*/
|
199 |
private $provider;
|
200 |
|
245 |
* A current form layout used to render a form.
|
246 |
*
|
247 |
* @since 1.0.0
|
248 |
+
* @var FactoryForms405_FormLayout
|
249 |
*/
|
250 |
public $layout;
|
251 |
|
262 |
*
|
263 |
* @since 1.0.0
|
264 |
* @param array $options
|
265 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
266 |
*/
|
267 |
+
public function __construct(array $options = array(), Wbcr_Factory404_Plugin $plugin)
|
268 |
{
|
269 |
// register controls once, when the first form is created
|
270 |
+
if( !Wbcr_FactoryForms405_Manager::$controls_registered ) {
|
271 |
|
272 |
+
do_action('wbcr_factory_forms_405_register_controls', $plugin);
|
273 |
|
274 |
//if( !empty($plugin) ) {
|
275 |
+
do_action('wbcr_factory_forms_405_register_controls_' . $plugin->getPluginName(), $plugin);
|
276 |
//}
|
277 |
|
278 |
+
Wbcr_FactoryForms405_Manager::$controls_registered = true;
|
279 |
}
|
280 |
|
281 |
$this->scope = isset($options['scope'])
|
291 |
$this->form_layout = 'bootstrap-3';
|
292 |
}
|
293 |
|
294 |
+
Wbcr_FactoryForms405_Manager::$temper = 'flat';
|
295 |
}
|
296 |
|
297 |
/**
|
298 |
* Sets a provider for the control.
|
299 |
*
|
300 |
* @since 1.0.0
|
301 |
+
* @param Wbcr_IFactoryForms405_ValueProvider $provider
|
302 |
* @return void
|
303 |
*/
|
304 |
public function setProvider($provider)
|
334 |
*/
|
335 |
public function getItems()
|
336 |
{
|
337 |
+
return apply_filters('wbcr_factory_404_form_items', $this->items, $this->name);
|
338 |
}
|
339 |
|
340 |
/**
|
341 |
* Returns form controls (control objects).
|
342 |
*
|
343 |
* @since 1.0.0
|
344 |
+
* @return Wbcr_FactoryForms405_Control[]
|
345 |
*/
|
346 |
public function getControls()
|
347 |
{
|
357 |
* Builds a form items to the control objects ready to use.
|
358 |
*
|
359 |
* @param null $holder
|
360 |
+
* @return Wbcr_FactoryForms405_Control[]
|
361 |
*/
|
362 |
|
363 |
public function createControls($holder = null)
|
399 |
*
|
400 |
* @since 1.0.0
|
401 |
* @param array $item Item data.
|
402 |
+
* @return Wbcr_FactoryForms405_FormElement|null A form element.
|
403 |
*/
|
404 |
public function createElement($item)
|
405 |
{
|
421 |
*
|
422 |
* @since 1.0.0
|
423 |
* @param mixed[] $item Data of items.
|
424 |
+
* @return Wbcr_FactoryForms405_FormElement[] Created elements.
|
425 |
*/
|
426 |
public function createElements($items = array())
|
427 |
{
|
437 |
*
|
438 |
* @since 1.0.0
|
439 |
* @param array $item Item data.
|
440 |
+
* @return Wbcr_FactoryForms405_Control A control object.
|
441 |
*/
|
442 |
public function createControl($item)
|
443 |
{
|
445 |
|
446 |
if( is_array($item) ) {
|
447 |
|
448 |
+
$control_data = Wbcr_FactoryForms405_Manager::$registered_controls[$item['type']];
|
449 |
|
450 |
require_once($control_data['include']);
|
451 |
|
469 |
*
|
470 |
* @since 1.0.0
|
471 |
* @param array $item Item data.
|
472 |
+
* @return Wbcr_FactoryForms405_Holder A control holder object.
|
473 |
*/
|
474 |
public function createHolder($item)
|
475 |
{
|
477 |
|
478 |
if( is_array($item) ) {
|
479 |
|
480 |
+
$holderData = Wbcr_FactoryForms405_Manager::$registered_holders[$item['type']];
|
481 |
require_once($holderData['include']);
|
482 |
|
483 |
$object = new $holderData['class']($item, $this);
|
495 |
*
|
496 |
* @since 1.0.0
|
497 |
* @param mixed $item Item data.
|
498 |
+
* @return FactoryForms405_FormElement A custom form element object.
|
499 |
*/
|
500 |
public function createCustomElement($item)
|
501 |
{
|
503 |
|
504 |
if( is_array($item) ) {
|
505 |
|
506 |
+
$data = Wbcr_FactoryForms405_Manager::$registered_custom_elements[$item['type']];
|
507 |
require_once($data['include']);
|
508 |
|
509 |
$options = $item;
|
527 |
public function html($options = array())
|
528 |
{
|
529 |
|
530 |
+
if( !isset(Wbcr_FactoryForms405_Manager::$form_layouts[$this->form_layout]) ) {
|
531 |
die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
|
532 |
}
|
533 |
|
534 |
// include a render code
|
535 |
+
$layout_data = Wbcr_FactoryForms405_Manager::$form_layouts[$this->form_layout];
|
536 |
require_once($layout_data['include']);
|
537 |
|
538 |
$this->connectAssets();
|
556 |
{
|
557 |
|
558 |
$this->connectAssetsForItems();
|
559 |
+
$layout_data = Wbcr_FactoryForms405_Manager::$form_layouts[$this->form_layout];
|
560 |
|
561 |
if( $layout_data['name'] == 'default' ) {
|
562 |
if( isset($layout_data['style']) ) {
|
606 |
|
607 |
$haystack = array();
|
608 |
if( self::isControl($type) ) {
|
609 |
+
$haystack = Wbcr_FactoryForms405_Manager::$registered_controls;
|
610 |
} elseif( self::isControlHolder($type) ) {
|
611 |
+
$haystack = Wbcr_FactoryForms405_Manager::$registered_holders;
|
612 |
}
|
613 |
|
614 |
if( isset($haystack[$type]) ) {
|
664 |
*/
|
665 |
public static function isControl($item)
|
666 |
{
|
667 |
+
return isset(Wbcr_FactoryForms405_Manager::$registered_controls[$item['type']]);
|
668 |
}
|
669 |
|
670 |
/**
|
676 |
*/
|
677 |
public static function isControlHolder($item)
|
678 |
{
|
679 |
+
return isset(Wbcr_FactoryForms405_Manager::$registered_holders[$item['type']]);
|
680 |
}
|
681 |
|
682 |
/**
|
688 |
*/
|
689 |
public static function isCustomElement($item)
|
690 |
{
|
691 |
+
return isset(Wbcr_FactoryForms405_Manager::$registered_custom_elements[$item['type']]);
|
692 |
}
|
693 |
}
|
694 |
}
|
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_FactoryForms405_Holder') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for control holders.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryForms405_Holder extends Wbcr_FactoryForms405_FormElement {
|
25 |
|
26 |
/**
|
27 |
* Holder Elements.
|
28 |
*
|
29 |
* @since 1.0.0
|
30 |
+
* @var Wbcr_FactoryForms405_Control[]
|
31 |
*/
|
32 |
protected $elements = array();
|
33 |
|
44 |
*
|
45 |
* @since 1.0.0
|
46 |
* @param mixed[] $options A holder options.
|
47 |
+
* @param Wbcr_FactoryForms405_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_FactoryForms405_Control[].
|
60 |
*/
|
61 |
public function getElements()
|
62 |
{
|
84 |
$is_first_item = false;
|
85 |
}
|
86 |
|
87 |
+
do_action('wbcr_factory_404_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_FactoryForms405_HtmlAttributeBuilder') ) {
|
18 |
/**
|
19 |
* Html Attribute Builder
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryForms405_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_FactoryForms405_OptionsValueProvider') ) {
|
18 |
|
19 |
/**
|
20 |
* Factory Meta Value Provider
|
24 |
*
|
25 |
* @since 1.0.0
|
26 |
*/
|
27 |
+
class Wbcr_FactoryForms405_MetaValueProvider implements Wbcr_IFactoryForms405_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 |
* Values to save $optionName => $optionValue
|
@@ -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_FactoryForms405_OptionsValueProvider') ) {
|
17 |
|
18 |
/**
|
19 |
* Factory Options Value Provider
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
+
class Wbcr_FactoryForms405_OptionsValueProvider implements Wbcr_IFactoryForms405_ValueProvider {
|
26 |
|
27 |
/**
|
28 |
* Values to save $optionName => $optionValue
|
43 |
/**
|
44 |
* Creates a new instance of an options value provider.
|
45 |
*/
|
46 |
+
public function __construct(Wbcr_Factory404_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_IFactoryForms405_ValueProvider') ) {
|
18 |
/**
|
19 |
* The interface for all value provides.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
interface Wbcr_IFactoryForms405_ValueProvider {
|
24 |
|
25 |
/**
|
26 |
* Inits a form a provider to get data from a storage.
|
libs/factory/forms/langs/{wbcr_factory_forms_402-fr-FR.mo → wbcr_factory_forms_405-fr-FR.mo}
RENAMED
File without changes
|
libs/factory/forms/langs/{wbcr_factory_forms_402-fr-FR.po → wbcr_factory_forms_405-fr-FR.po}
RENAMED
File without changes
|
libs/factory/forms/langs/{wbcr_factory_forms_402-ru_RU.mo → wbcr_factory_forms_405-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/forms/langs/{wbcr_factory_forms_402-ru_RU.po → wbcr_factory_forms_405-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_FactoryForms405_Bootstrap3FormLayout') ) {
|
18 |
/**
|
19 |
* A form layout based on Twitter Bootstrap 3
|
20 |
*/
|
21 |
+
class Wbcr_FactoryForms405_Bootstrap3FormLayout extends Wbcr_FactoryForms405_FormLayout {
|
22 |
|
23 |
public $name = 'default';
|
24 |
|
27 |
*
|
28 |
* @since 1.0.0
|
29 |
* @param array $options A holder options.
|
30 |
+
* @param Wbcr_FactoryForms405_Form $form A parent form.
|
31 |
*/
|
32 |
public function __construct($options, $form)
|
33 |
{
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* @param Wbcr_FactoryForms405_Control $control
|
72 |
*/
|
73 |
public function beforeControl($control)
|
74 |
{
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
+
* @param Wbcr_FactoryForms405_Control $control
|
120 |
*/
|
121 |
public function afterControl($control)
|
122 |
{
|
168 |
}
|
169 |
|
170 |
/**
|
171 |
+
* @param Wbcr_FactoryForms405_Control $control
|
172 |
* @param int $index
|
173 |
* @param int $total
|
174 |
*/
|
193 |
}
|
194 |
|
195 |
/**
|
196 |
+
* @param Wbcr_FactoryForms405_Control $control
|
197 |
* @param int $index
|
198 |
* @param int $total
|
199 |
*/
|
libs/factory/metaboxes/boot.php
CHANGED
@@ -19,17 +19,17 @@
|
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
-
if( defined('
|
23 |
return;
|
24 |
}
|
25 |
-
define('
|
26 |
|
27 |
-
define('
|
28 |
-
define('
|
29 |
|
30 |
#comp merge
|
31 |
-
require(
|
32 |
-
require(
|
33 |
-
require(
|
34 |
-
require(
|
35 |
#endcomp
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
+
if( defined('FACTORY_METABOXES_403_LOADED') ) {
|
23 |
return;
|
24 |
}
|
25 |
+
define('FACTORY_METABOXES_403_LOADED', true);
|
26 |
|
27 |
+
define('FACTORY_METABOXES_403_DIR', dirname(__FILE__));
|
28 |
+
define('FACTORY_METABOXES_403_URL', plugins_url(null, __FILE__));
|
29 |
|
30 |
#comp merge
|
31 |
+
require(FACTORY_METABOXES_403_DIR . '/metaboxes.php');
|
32 |
+
require(FACTORY_METABOXES_403_DIR . '/metabox.class.php');
|
33 |
+
require(FACTORY_METABOXES_403_DIR . '/includes/form-metabox.class.php');
|
34 |
+
require(FACTORY_METABOXES_403_DIR . '/includes/publish-metabox.class.php');
|
35 |
#endcomp
|
libs/factory/metaboxes/includes/form-metabox.class.php
CHANGED
@@ -14,15 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* A class extending FactoryMetaboxes_Metabox and adding ability to create and save forms.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
abstract class
|
25 |
-
|
26 |
|
27 |
/**
|
28 |
* CSS class that addes to the form.
|
@@ -33,7 +32,7 @@
|
|
33 |
public $css_class;
|
34 |
|
35 |
/**
|
36 |
-
* @var
|
37 |
*/
|
38 |
protected $provider;
|
39 |
|
@@ -43,9 +42,9 @@
|
|
43 |
private $scope;
|
44 |
|
45 |
/**
|
46 |
-
* @param
|
47 |
*/
|
48 |
-
public function __construct(
|
49 |
{
|
50 |
parent::__construct($plugin);
|
51 |
|
@@ -54,19 +53,19 @@
|
|
54 |
|
55 |
/**
|
56 |
* @param null $post_id
|
57 |
-
* @return
|
58 |
*/
|
59 |
private function getForm($post_id = null)
|
60 |
{
|
61 |
// creating a value provider
|
62 |
-
$this->provider = new
|
63 |
'scope' => $this->scope
|
64 |
));
|
65 |
|
66 |
$this->provider->init($post_id);
|
67 |
|
68 |
// creating a form
|
69 |
-
$form = new
|
70 |
'scope' => $this->scope,
|
71 |
'name' => $this->id
|
72 |
), $this->plugin);
|
@@ -86,7 +85,7 @@
|
|
86 |
|
87 |
$form = $this->getForm();
|
88 |
|
89 |
-
echo '<div class="factory-form-metabox factory-bootstrap-
|
90 |
$this->beforeForm($form);
|
91 |
$form->html(array(
|
92 |
'css_class' => $this->css_class
|
@@ -98,9 +97,12 @@
|
|
98 |
public function save($post_id)
|
99 |
{
|
100 |
$form = $this->getForm($post_id);
|
|
|
101 |
$this->onSavingForm($post_id);
|
102 |
|
103 |
$form->save();
|
|
|
|
|
104 |
}
|
105 |
|
106 |
/**
|
@@ -111,6 +113,14 @@
|
|
111 |
return;
|
112 |
}
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
/**
|
115 |
* Form method that must be overridden in the derived classes.
|
116 |
*/
|
@@ -119,7 +129,7 @@
|
|
119 |
/**
|
120 |
* Method executed before rendering the form.
|
121 |
*/
|
122 |
-
public function beforeForm(
|
123 |
{
|
124 |
return;
|
125 |
}
|
@@ -127,7 +137,7 @@
|
|
127 |
/**
|
128 |
* Method executed after rendering the form.
|
129 |
*/
|
130 |
-
public function afterForm(
|
131 |
{
|
132 |
return;
|
133 |
}
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryMetaboxes403_FormMetabox') ) {
|
18 |
|
19 |
/**
|
20 |
* A class extending FactoryMetaboxes_Metabox and adding ability to create and save forms.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryMetaboxes403_FormMetabox extends Wbcr_FactoryMetaboxes403_Metabox {
|
|
|
25 |
|
26 |
/**
|
27 |
* CSS class that addes to the form.
|
32 |
public $css_class;
|
33 |
|
34 |
/**
|
35 |
+
* @var Wbcr_FactoryForms405_MetaValueProvider
|
36 |
*/
|
37 |
protected $provider;
|
38 |
|
42 |
private $scope;
|
43 |
|
44 |
/**
|
45 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
46 |
*/
|
47 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
48 |
{
|
49 |
parent::__construct($plugin);
|
50 |
|
53 |
|
54 |
/**
|
55 |
* @param null $post_id
|
56 |
+
* @return Wbcr_FactoryForms405_Form
|
57 |
*/
|
58 |
private function getForm($post_id = null)
|
59 |
{
|
60 |
// creating a value provider
|
61 |
+
$this->provider = new Wbcr_FactoryForms405_MetaValueProvider(array(
|
62 |
'scope' => $this->scope
|
63 |
));
|
64 |
|
65 |
$this->provider->init($post_id);
|
66 |
|
67 |
// creating a form
|
68 |
+
$form = new Wbcr_FactoryForms405_Form(array(
|
69 |
'scope' => $this->scope,
|
70 |
'name' => $this->id
|
71 |
), $this->plugin);
|
85 |
|
86 |
$form = $this->getForm();
|
87 |
|
88 |
+
echo '<div class="factory-form-metabox factory-bootstrap-404">';
|
89 |
$this->beforeForm($form);
|
90 |
$form->html(array(
|
91 |
'css_class' => $this->css_class
|
97 |
public function save($post_id)
|
98 |
{
|
99 |
$form = $this->getForm($post_id);
|
100 |
+
|
101 |
$this->onSavingForm($post_id);
|
102 |
|
103 |
$form->save();
|
104 |
+
|
105 |
+
$this->afterSavingForm($post_id);
|
106 |
}
|
107 |
|
108 |
/**
|
113 |
return;
|
114 |
}
|
115 |
|
116 |
+
/**
|
117 |
+
* Extra custom actions after the form is saved.
|
118 |
+
*/
|
119 |
+
public function afterSavingForm($post_id)
|
120 |
+
{
|
121 |
+
return;
|
122 |
+
}
|
123 |
+
|
124 |
/**
|
125 |
* Form method that must be overridden in the derived classes.
|
126 |
*/
|
129 |
/**
|
130 |
* Method executed before rendering the form.
|
131 |
*/
|
132 |
+
public function beforeForm(Wbcr_FactoryForms405_Form $form)
|
133 |
{
|
134 |
return;
|
135 |
}
|
137 |
/**
|
138 |
* Method executed after rendering the form.
|
139 |
*/
|
140 |
+
public function afterForm(Wbcr_FactoryForms405_Form $form)
|
141 |
{
|
142 |
return;
|
143 |
}
|
libs/factory/metaboxes/includes/publish-metabox.class.php
CHANGED
@@ -14,18 +14,18 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* A metabox containing the standart Publish/Update button.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
-
class
|
24 |
|
25 |
/**
|
26 |
-
* @param
|
27 |
*/
|
28 |
-
public function __construct(
|
29 |
{
|
30 |
$this->title = __('Control');
|
31 |
$this->context = 'side';
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryMetaboxes403_PublishMetabox') ) {
|
18 |
/**
|
19 |
* A metabox containing the standart Publish/Update button.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
*/
|
23 |
+
class Wbcr_FactoryMetaboxes403_PublishMetabox extends Wbcr_FactoryMetaboxes403_Metabox {
|
24 |
|
25 |
/**
|
26 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
27 |
*/
|
28 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin = null)
|
29 |
{
|
30 |
$this->title = __('Control');
|
31 |
$this->context = 'side';
|
libs/factory/metaboxes/metabox.class.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* The base class for all metaboxes.
|
@@ -22,7 +22,7 @@
|
|
22 |
* @link http://codex.wordpress.org/Function_Reference/add_meta_box
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
-
abstract class
|
26 |
|
27 |
/**
|
28 |
* Id of the metabox.
|
@@ -71,7 +71,7 @@
|
|
71 |
* Scripts that should be include on the page where the metabox will be shown.
|
72 |
*
|
73 |
* @since 1.0.0
|
74 |
-
* @var
|
75 |
*/
|
76 |
public $scripts;
|
77 |
|
@@ -79,7 +79,7 @@
|
|
79 |
* Styles that should be include on the page where the metabox will be shown.
|
80 |
*
|
81 |
* @since 1.0.0
|
82 |
-
* @var
|
83 |
*/
|
84 |
public $styles;
|
85 |
|
@@ -93,9 +93,9 @@
|
|
93 |
|
94 |
/**
|
95 |
* Creates a new instance of a metabox.
|
96 |
-
* @param
|
97 |
*/
|
98 |
-
public function __construct(
|
99 |
{
|
100 |
$this->plugin = $plugin;
|
101 |
$this->id = empty($this->id)
|
@@ -120,8 +120,8 @@
|
|
120 |
* Configures a metabox.
|
121 |
*
|
122 |
* @since 1.0.0
|
123 |
-
* @param
|
124 |
-
* @param
|
125 |
* @return void
|
126 |
*/
|
127 |
public function configure($scripts, $styles)
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryMetaboxes403_Metabox') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all metaboxes.
|
22 |
* @link http://codex.wordpress.org/Function_Reference/add_meta_box
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
+
abstract class Wbcr_FactoryMetaboxes403_Metabox {
|
26 |
|
27 |
/**
|
28 |
* Id of the metabox.
|
71 |
* Scripts that should be include on the page where the metabox will be shown.
|
72 |
*
|
73 |
* @since 1.0.0
|
74 |
+
* @var Wbcr_Factory404_ScriptList
|
75 |
*/
|
76 |
public $scripts;
|
77 |
|
79 |
* Styles that should be include on the page where the metabox will be shown.
|
80 |
*
|
81 |
* @since 1.0.0
|
82 |
+
* @var Wbcr_Factory404_StyleList
|
83 |
*/
|
84 |
public $styles;
|
85 |
|
93 |
|
94 |
/**
|
95 |
* Creates a new instance of a metabox.
|
96 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
97 |
*/
|
98 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
99 |
{
|
100 |
$this->plugin = $plugin;
|
101 |
$this->id = empty($this->id)
|
120 |
* Configures a metabox.
|
121 |
*
|
122 |
* @since 1.0.0
|
123 |
+
* @param Factory404_ScriptList $scripts A set of scripts to include.
|
124 |
+
* @param Factory404_StyleList $styles A set of style to include.
|
125 |
* @return void
|
126 |
*/
|
127 |
public function configure($scripts, $styles)
|
libs/factory/metaboxes/metaboxes.php
CHANGED
@@ -15,11 +15,11 @@
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
if( !class_exists('
|
19 |
|
20 |
-
add_action('add_meta_boxes', '
|
21 |
-
add_action('admin_enqueue_scripts', '
|
22 |
-
add_action('save_post', '
|
23 |
|
24 |
/**
|
25 |
* A base class to manage metaboxes.
|
@@ -30,13 +30,13 @@
|
|
30 |
*
|
31 |
* @since 1.0.0
|
32 |
*/
|
33 |
-
class
|
34 |
|
35 |
/**
|
36 |
* A variable to store metaboxes per type they defined for.
|
37 |
*
|
38 |
* @since 1.0.0
|
39 |
-
* @var
|
40 |
*/
|
41 |
public static $metaboxes = array();
|
42 |
|
@@ -58,10 +58,10 @@
|
|
58 |
*
|
59 |
* @since 1.0.0
|
60 |
* @param string|object $class_name_or_object
|
61 |
-
* @param
|
62 |
-
* @return
|
63 |
*/
|
64 |
-
public static function register($class_name_or_object,
|
65 |
{
|
66 |
|
67 |
if( is_string($class_name_or_object) ) {
|
@@ -97,7 +97,7 @@
|
|
97 |
* @since 1.0.0
|
98 |
* @param type $class_name_or_object A metabox class name.
|
99 |
* @param string $post_type A post type for which a given metabox should be registered.
|
100 |
-
* @return
|
101 |
*/
|
102 |
public static function registerFor($class_name_or_object, $post_type, $plugin)
|
103 |
{
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
+
if( !class_exists('Wbcr_FactoryMetaboxes403') ) {
|
19 |
|
20 |
+
add_action('add_meta_boxes', 'Wbcr_FactoryMetaboxes403::actionAddMetaboxes');
|
21 |
+
add_action('admin_enqueue_scripts', 'Wbcr_FactoryMetaboxes403::actionAdminEnqueueScripts');
|
22 |
+
add_action('save_post', 'Wbcr_FactoryMetaboxes403::actionSavePost');
|
23 |
|
24 |
/**
|
25 |
* A base class to manage metaboxes.
|
30 |
*
|
31 |
* @since 1.0.0
|
32 |
*/
|
33 |
+
class Wbcr_FactoryMetaboxes403 {
|
34 |
|
35 |
/**
|
36 |
* A variable to store metaboxes per type they defined for.
|
37 |
*
|
38 |
* @since 1.0.0
|
39 |
+
* @var Wbcr_FactoryMetaboxes403_Metabox[]
|
40 |
*/
|
41 |
public static $metaboxes = array();
|
42 |
|
58 |
*
|
59 |
* @since 1.0.0
|
60 |
* @param string|object $class_name_or_object
|
61 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
62 |
+
* @return Wbcr_FactoryMetaboxes403_Metabox
|
63 |
*/
|
64 |
+
public static function register($class_name_or_object, Wbcr_Factory404_Plugin $plugin)
|
65 |
{
|
66 |
|
67 |
if( is_string($class_name_or_object) ) {
|
97 |
* @since 1.0.0
|
98 |
* @param type $class_name_or_object A metabox class name.
|
99 |
* @param string $post_type A post type for which a given metabox should be registered.
|
100 |
+
* @return Wbcr_FactoryMetaboxes403_Metabox
|
101 |
*/
|
102 |
public static function registerFor($class_name_or_object, $post_type, $plugin)
|
103 |
{
|
libs/factory/notices/boot.php
CHANGED
@@ -19,14 +19,14 @@
|
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
-
if( defined('
|
23 |
return;
|
24 |
}
|
25 |
-
define('
|
26 |
|
27 |
-
define('
|
28 |
-
define('
|
29 |
|
30 |
#comp merge
|
31 |
-
require_once(
|
32 |
#endcomp
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
+
if( defined('FACTORY_NOTICES_403_LOADED') ) {
|
23 |
return;
|
24 |
}
|
25 |
+
define('FACTORY_NOTICES_403_LOADED', true);
|
26 |
|
27 |
+
define('FACTORY_NOTICES_403_DIR', dirname(__FILE__));
|
28 |
+
define('FACTORY_NOTICES_403_URL', plugins_url(null, __FILE__));
|
29 |
|
30 |
#comp merge
|
31 |
+
require_once(FACTORY_NOTICES_403_DIR . '/notices.php');
|
32 |
#endcomp
|
libs/factory/notices/notices.php
CHANGED
@@ -19,12 +19,12 @@
|
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
-
if( !class_exists('
|
23 |
|
24 |
-
class
|
25 |
|
26 |
/**
|
27 |
-
* @var
|
28 |
*/
|
29 |
protected $plugin;
|
30 |
/**
|
@@ -47,13 +47,13 @@
|
|
47 |
*/
|
48 |
public function __construct()
|
49 |
{
|
50 |
-
add_action('
|
51 |
}
|
52 |
|
53 |
/**
|
54 |
-
* @param
|
55 |
*/
|
56 |
-
public function init(
|
57 |
{
|
58 |
//default notices
|
59 |
//---
|
@@ -287,5 +287,5 @@
|
|
287 |
}
|
288 |
}
|
289 |
|
290 |
-
new
|
291 |
}
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
+
if( !class_exists('Wbcr_FactoryNotices403') ) {
|
23 |
|
24 |
+
class Wbcr_FactoryNotices403 {
|
25 |
|
26 |
/**
|
27 |
+
* @var Wbcr_Factory404_Plugin
|
28 |
*/
|
29 |
protected $plugin;
|
30 |
/**
|
47 |
*/
|
48 |
public function __construct()
|
49 |
{
|
50 |
+
add_action('wbcr_factory_notices_403_plugin_created', array($this, 'init'));
|
51 |
}
|
52 |
|
53 |
/**
|
54 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
55 |
*/
|
56 |
+
public function init(Wbcr_Factory404_Plugin $plugin)
|
57 |
{
|
58 |
//default notices
|
59 |
//---
|
287 |
}
|
288 |
}
|
289 |
|
290 |
+
new Wbcr_FactoryNotices403();
|
291 |
}
|
libs/factory/pages/boot.php
CHANGED
@@ -19,22 +19,22 @@
|
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
-
if( defined('
|
23 |
return;
|
24 |
}
|
25 |
-
define('
|
26 |
|
27 |
-
define('
|
28 |
-
define('
|
29 |
|
30 |
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
31 |
define('FACTORY_FLAT_ADMIN', true);
|
32 |
}
|
33 |
|
34 |
-
load_plugin_textdomain('
|
35 |
|
36 |
-
require(
|
37 |
-
require(
|
38 |
-
require(
|
39 |
-
require(
|
40 |
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
+
if( defined('FACTORY_PAGES_405_LOADED') ) {
|
23 |
return;
|
24 |
}
|
25 |
+
define('FACTORY_PAGES_405_LOADED', true);
|
26 |
|
27 |
+
define('FACTORY_PAGES_405_DIR', dirname(__FILE__));
|
28 |
+
define('FACTORY_PAGES_405_URL', plugins_url(null, __FILE__));
|
29 |
|
30 |
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
31 |
define('FACTORY_FLAT_ADMIN', true);
|
32 |
}
|
33 |
|
34 |
+
load_plugin_textdomain('wbcr_factory_pages_405', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
35 |
|
36 |
+
require(FACTORY_PAGES_405_DIR . '/pages.php');
|
37 |
+
require(FACTORY_PAGES_405_DIR . '/includes/page.class.php');
|
38 |
+
require(FACTORY_PAGES_405_DIR . '/includes/admin-page.class.php');
|
39 |
+
require(FACTORY_PAGES_405_DIR . '/templates/impressive-page.class.php');
|
40 |
|
libs/factory/pages/includes/admin-page.class.php
CHANGED
@@ -14,9 +14,9 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
-
class
|
20 |
|
21 |
/**
|
22 |
* Visible page title.
|
@@ -109,7 +109,7 @@
|
|
109 |
*/
|
110 |
public $add_link_to_plugin_actions = false;
|
111 |
|
112 |
-
public function __construct(
|
113 |
{
|
114 |
parent::__construct($plugin);
|
115 |
$this->configure();
|
@@ -183,13 +183,13 @@
|
|
183 |
{
|
184 |
$result_id = $this->getResultId();
|
185 |
|
186 |
-
$this->hidden = apply_filters('
|
187 |
|
188 |
if( $this->hidden ) {
|
189 |
return;
|
190 |
}
|
191 |
|
192 |
-
$this->internal = apply_filters('
|
193 |
|
194 |
if( $this->internal ) {
|
195 |
$this->menu_target = null;
|
@@ -228,7 +228,7 @@
|
|
228 |
$this->assets($this->scripts, $this->styles);
|
229 |
|
230 |
if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
|
231 |
-
add_action('
|
232 |
$this,
|
233 |
'actionAdminBootstrapScripts'
|
234 |
));
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryPages405_AdminPage') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryPages405_AdminPage extends Wbcr_FactoryPages405_Page {
|
20 |
|
21 |
/**
|
22 |
* Visible page title.
|
109 |
*/
|
110 |
public $add_link_to_plugin_actions = false;
|
111 |
|
112 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
113 |
{
|
114 |
parent::__construct($plugin);
|
115 |
$this->configure();
|
183 |
{
|
184 |
$result_id = $this->getResultId();
|
185 |
|
186 |
+
$this->hidden = apply_filters('wbcr_factory_404_page_is_hidden_' . $result_id, $this->hidden);
|
187 |
|
188 |
if( $this->hidden ) {
|
189 |
return;
|
190 |
}
|
191 |
|
192 |
+
$this->internal = apply_filters('wbcr_factory_404_page_is_internal_' . $result_id, $this->internal);
|
193 |
|
194 |
if( $this->internal ) {
|
195 |
$this->menu_target = null;
|
228 |
$this->assets($this->scripts, $this->styles);
|
229 |
|
230 |
if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
|
231 |
+
add_action('wbcr_factory_404_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), array(
|
232 |
$this,
|
233 |
'actionAdminBootstrapScripts'
|
234 |
));
|
libs/factory/pages/includes/page.class.php
CHANGED
@@ -14,9 +14,9 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
-
class
|
20 |
|
21 |
/**
|
22 |
* Page id used to call.
|
@@ -26,7 +26,7 @@
|
|
26 |
|
27 |
/**
|
28 |
* Current Factory Plugin.
|
29 |
-
* @var
|
30 |
*/
|
31 |
public $plugin;
|
32 |
|
@@ -37,10 +37,10 @@
|
|
37 |
|
38 |
|
39 |
/**
|
40 |
-
* @param
|
41 |
* @throws Exception
|
42 |
*/
|
43 |
-
public function __construct(
|
44 |
{
|
45 |
$this->plugin = $plugin;
|
46 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryPages405_Page') ) {
|
18 |
|
19 |
+
class Wbcr_FactoryPages405_Page {
|
20 |
|
21 |
/**
|
22 |
* Page id used to call.
|
26 |
|
27 |
/**
|
28 |
* Current Factory Plugin.
|
29 |
+
* @var Wbcr_Factory404_Plugin
|
30 |
*/
|
31 |
public $plugin;
|
32 |
|
37 |
|
38 |
|
39 |
/**
|
40 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
41 |
* @throws Exception
|
42 |
*/
|
43 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
44 |
{
|
45 |
$this->plugin = $plugin;
|
46 |
|
libs/factory/pages/langs/{wbcr_factory_pages_402-fr_FR.mo → wbcr_factory_pages_405-fr_FR.mo}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_402-fr_FR.po → wbcr_factory_pages_405-fr_FR.po}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_402-ru_RU.mo → wbcr_factory_pages_405-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/pages/langs/{wbcr_factory_pages_402-ru_RU.po → wbcr_factory_pages_405-ru_RU.po}
RENAMED
File without changes
|
libs/factory/pages/pages.php
CHANGED
@@ -14,23 +14,23 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
add_action('admin_menu', '
|
18 |
|
19 |
-
if( !class_exists('
|
20 |
/**
|
21 |
* A base class to manage pages.
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
-
class
|
26 |
|
27 |
/**
|
28 |
-
* @var
|
29 |
*/
|
30 |
private static $pages = array();
|
31 |
|
32 |
/**
|
33 |
-
* @param
|
34 |
* @param $class_name
|
35 |
*/
|
36 |
public static function register($plugin, $class_name)
|
@@ -55,7 +55,7 @@
|
|
55 |
}
|
56 |
|
57 |
/**
|
58 |
-
* @param
|
59 |
* @return array
|
60 |
*/
|
61 |
public static function getIds($plugin)
|
@@ -73,14 +73,14 @@
|
|
73 |
}
|
74 |
}
|
75 |
|
76 |
-
if( !function_exists('
|
77 |
/**
|
78 |
*
|
79 |
-
* @param
|
80 |
* @param string $page_id
|
81 |
* @return string
|
82 |
*/
|
83 |
-
function
|
84 |
{
|
85 |
return $page_id . '-' . $plugin->getPluginName();
|
86 |
}
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
add_action('admin_menu', 'Wbcr_FactoryPages405::actionAdminMenu');
|
18 |
|
19 |
+
if( !class_exists('Wbcr_FactoryPages405') ) {
|
20 |
/**
|
21 |
* A base class to manage pages.
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
+
class Wbcr_FactoryPages405 {
|
26 |
|
27 |
/**
|
28 |
+
* @var Wbcr_FactoryPages405_Page[]
|
29 |
*/
|
30 |
private static $pages = array();
|
31 |
|
32 |
/**
|
33 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
34 |
* @param $class_name
|
35 |
*/
|
36 |
public static function register($plugin, $class_name)
|
55 |
}
|
56 |
|
57 |
/**
|
58 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
59 |
* @return array
|
60 |
*/
|
61 |
public static function getIds($plugin)
|
73 |
}
|
74 |
}
|
75 |
|
76 |
+
if( !function_exists('wbcr_factory_pages_405_get_page_id') ) {
|
77 |
/**
|
78 |
*
|
79 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
80 |
* @param string $page_id
|
81 |
* @return string
|
82 |
*/
|
83 |
+
function wbcr_factory_pages_405_get_page_id($plugin, $page_id)
|
84 |
{
|
85 |
return $page_id . '-' . $plugin->getPluginName();
|
86 |
}
|
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,124 +17,124 @@
|
|
17 |
Widget in the sidebar of the plugin
|
18 |
*/
|
19 |
}
|
20 |
-
#WBCR .wbcr-factory-pages-
|
21 |
padding: 0 20px;
|
22 |
}
|
23 |
-
#WBCR .wbcr-factory-pages-
|
24 |
font-weight: normal;
|
25 |
}
|
26 |
-
#WBCR .wbcr-factory-pages-
|
27 |
max-width: 300px;
|
28 |
}
|
29 |
-
#WBCR .wbcr-factory-pages-
|
30 |
text-align: right;
|
31 |
padding-right: 20px;
|
32 |
}
|
33 |
-
#WBCR .wbcr-factory-pages-
|
34 |
display: inline-block;
|
35 |
vertical-align: bottom;
|
36 |
}
|
37 |
-
#WBCR .wbcr-factory-pages-
|
38 |
-
#WBCR .wbcr-factory-pages-
|
39 |
outline: none;
|
40 |
}
|
41 |
-
#WBCR .wbcr-factory-pages-
|
42 |
font-weight: bold;
|
43 |
margin: 0 !important;
|
44 |
border: 0;
|
45 |
border-radius: 0;
|
46 |
padding: 15px;
|
47 |
}
|
48 |
-
#WBCR .wbcr-factory-pages-
|
49 |
margin-top: 0 !important;
|
50 |
}
|
51 |
-
#WBCR .wbcr-factory-pages-
|
52 |
background: #fff3d0;
|
53 |
}
|
54 |
-
#WBCR .wbcr-factory-pages-
|
55 |
background: #fffde9;
|
56 |
}
|
57 |
-
#WBCR .wbcr-factory-pages-
|
58 |
background: #de716d;
|
59 |
}
|
60 |
-
#WBCR .wbcr-factory-pages-
|
61 |
background: #ec8c89;
|
62 |
}
|
63 |
-
#WBCR .wbcr-factory-pages-
|
64 |
background: #d0ecc4;
|
65 |
}
|
66 |
-
#WBCR .wbcr-factory-pages-
|
67 |
background: #e0eadb;
|
68 |
}
|
69 |
-
#WBCR .wbcr-factory-pages-
|
70 |
color: #ffeb3b;
|
71 |
}
|
72 |
-
#WBCR .wbcr-factory-pages-
|
73 |
color: #ffc107;
|
74 |
}
|
75 |
-
#WBCR .wbcr-factory-pages-
|
76 |
padding: 20px 20px 40px;
|
77 |
}
|
78 |
-
#WBCR .wbcr-factory-pages-
|
79 |
display: block;
|
80 |
font-size: 11px;
|
81 |
font-weight: lighter;
|
82 |
color: #179347;
|
83 |
}
|
84 |
-
#WBCR .wbcr-factory-pages-
|
85 |
-
#WBCR .wbcr-factory-pages-
|
86 |
position: relative;
|
87 |
background: #e6e6e6;
|
88 |
overflow: hidden;
|
89 |
}
|
90 |
-
#WBCR .wbcr-factory-pages-
|
91 |
-
#WBCR .wbcr-factory-pages-
|
92 |
display: block;
|
93 |
content: '';
|
94 |
clear: both;
|
95 |
}
|
96 |
-
#WBCR .wbcr-factory-pages-
|
97 |
background: #efefef;
|
98 |
padding: 20px 0 10px 20px;
|
99 |
margin: 30px 0;
|
100 |
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
101 |
}
|
102 |
-
#WBCR .wbcr-factory-pages-
|
103 |
margin-top: 0;
|
104 |
}
|
105 |
-
#WBCR .wbcr-factory-pages-
|
106 |
font-size: 15px;
|
107 |
}
|
108 |
-
#WBCR .wbcr-factory-pages-
|
109 |
color: #8c8888;
|
110 |
font-size: 12px;
|
111 |
}
|
112 |
-
#WBCR .wbcr-factory-pages-
|
113 |
margin-left: 230px;
|
114 |
padding: 80px 0 0 0;
|
115 |
vertical-align: top;
|
116 |
background: #fff;
|
117 |
}
|
118 |
-
#WBCR .wbcr-factory-pages-
|
119 |
-
#WBCR .wbcr-factory-pages-
|
120 |
-
#WBCR .wbcr-factory-pages-
|
121 |
border: 0;
|
122 |
}
|
123 |
-
#WBCR .wbcr-factory-pages-
|
124 |
background: #efefef;
|
125 |
}
|
126 |
-
#WBCR .wbcr-factory-pages-
|
127 |
margin-left: 80px !important;
|
128 |
}
|
129 |
-
#WBCR .wbcr-factory-pages-
|
130 |
background: #f7f7f7;
|
131 |
}
|
132 |
-
#WBCR .wbcr-factory-pages-
|
133 |
-
#WBCR .wbcr-factory-pages-
|
134 |
box-shadow: none;
|
135 |
outline: none;
|
136 |
}
|
137 |
-
#WBCR .wbcr-factory-pages-
|
138 |
position: absolute;
|
139 |
z-index: 13;
|
140 |
top: 0;
|
@@ -145,7 +145,7 @@
|
|
145 |
color: #fff;
|
146 |
border-radius: 5px 5px 0 0;
|
147 |
}
|
148 |
-
#WBCR .wbcr-factory-pages-
|
149 |
float: left;
|
150 |
padding: 25px 0;
|
151 |
font-size: 20px;
|
@@ -158,11 +158,11 @@
|
|
158 |
margin-right: 10px;
|
159 |
background: none;
|
160 |
}
|
161 |
-
#WBCR .wbcr-factory-pages-
|
162 |
display: inline-block;
|
163 |
vertical-align: middle;
|
164 |
}
|
165 |
-
#WBCR .wbcr-factory-pages-
|
166 |
font-size: 18px;
|
167 |
line-height: 30px;
|
168 |
font-weight: 300;
|
@@ -173,12 +173,12 @@
|
|
173 |
text-overflow: ellipsis;
|
174 |
color: #fff;
|
175 |
}
|
176 |
-
#WBCR .wbcr-factory-pages-
|
177 |
position: relative;
|
178 |
float: right;
|
179 |
margin: 12px;
|
180 |
}
|
181 |
-
#WBCR .wbcr-factory-pages-
|
182 |
display: inline-block;
|
183 |
vertical-align: top;
|
184 |
font-size: 13px;
|
@@ -200,36 +200,36 @@
|
|
200 |
outline: none;
|
201 |
z-index: 3;
|
202 |
}
|
203 |
-
#WBCR .wbcr-factory-pages-
|
204 |
box-shadow: none;
|
205 |
min-width: 200px;
|
206 |
background-color: #8bc34a;
|
207 |
color: #fff;
|
208 |
}
|
209 |
-
#WBCR .wbcr-factory-pages-
|
210 |
background: #9dbb7b;
|
211 |
color: #fff;
|
212 |
}
|
213 |
-
#WBCR .wbcr-factory-pages-
|
214 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
215 |
}
|
216 |
-
#WBCR .wbcr-factory-pages-
|
217 |
float: left;
|
218 |
vertical-align: top;
|
219 |
width: 230px;
|
220 |
background: #e6e6e6;
|
221 |
}
|
222 |
-
#WBCR .wbcr-factory-pages-
|
223 |
padding: 0;
|
224 |
margin-bottom: 0;
|
225 |
margin-top: 80px;
|
226 |
}
|
227 |
-
#WBCR .wbcr-factory-pages-
|
228 |
display: block;
|
229 |
background: #efefef;
|
230 |
margin: 1px 0;
|
231 |
}
|
232 |
-
#WBCR .wbcr-factory-pages-
|
233 |
display: block;
|
234 |
width: 100%;
|
235 |
padding: 20px 20px;
|
@@ -238,57 +238,57 @@
|
|
238 |
text-decoration: none;
|
239 |
text-transform: uppercase;
|
240 |
}
|
241 |
-
#WBCR .wbcr-factory-pages-
|
242 |
background: #f7f6f6;
|
243 |
}
|
244 |
-
#WBCR .wbcr-factory-pages-
|
245 |
-
#WBCR .wbcr-factory-pages-
|
246 |
-
#WBCR .wbcr-factory-pages-
|
247 |
-
#WBCR .wbcr-factory-pages-
|
248 |
-
#WBCR .wbcr-factory-pages-
|
249 |
outline: 0 !important;
|
250 |
box-shadow: none !important;
|
251 |
}
|
252 |
-
#WBCR .wbcr-factory-pages-
|
253 |
background: #fff;
|
254 |
}
|
255 |
-
#WBCR .wbcr-factory-pages-
|
256 |
color: #222;
|
257 |
}
|
258 |
-
#WBCR .wbcr-factory-pages-
|
259 |
-
#WBCR .wbcr-factory-pages-
|
260 |
display: inline-block;
|
261 |
vertical-align: top;
|
262 |
}
|
263 |
-
#WBCR .wbcr-factory-pages-
|
264 |
width: 59%;
|
265 |
}
|
266 |
-
#WBCR .wbcr-factory-pages-
|
267 |
width: 100%;
|
268 |
}
|
269 |
-
#WBCR .wbcr-factory-pages-
|
270 |
margin-top: 15px;
|
271 |
}
|
272 |
-
#WBCR .wbcr-factory-pages-
|
273 |
background: #f7f7f7;
|
274 |
padding: 0 0 20px 0;
|
275 |
border: 1px solid #dad8d8;
|
276 |
box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
|
277 |
}
|
278 |
-
#WBCR .wbcr-factory-pages-
|
279 |
padding-top: 0 !important;
|
280 |
}
|
281 |
-
#WBCR .wbcr-factory-pages-
|
282 |
width: 40%;
|
283 |
padding: 20px;
|
284 |
margin: -40px 0 -20px;
|
285 |
background-color: #f9f9f9;
|
286 |
box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
|
287 |
}
|
288 |
-
#WBCR .wbcr-factory-pages-
|
289 |
margin: 0 0 20px;
|
290 |
}
|
291 |
-
#WBCR .wbcr-factory-pages-
|
292 |
display: inline-block;
|
293 |
min-height: 230px;
|
294 |
width: 100%;
|
@@ -297,19 +297,19 @@
|
|
297 |
padding: 20px 15px;
|
298 |
vertical-align: top;
|
299 |
}
|
300 |
-
#WBCR .wbcr-factory-pages-
|
301 |
display: none;
|
302 |
}
|
303 |
-
#WBCR .wbcr-factory-pages-
|
304 |
background: #fff4d0;
|
305 |
}
|
306 |
-
#WBCR .wbcr-factory-pages-
|
307 |
background: #e2ffc0;
|
308 |
}
|
309 |
-
#WBCR .wbcr-factory-pages-
|
310 |
background: #ffebe9;
|
311 |
}
|
312 |
-
#WBCR .wbcr-factory-pages-
|
313 |
display: inline-block;
|
314 |
width: 16px;
|
315 |
height: 16px;
|
@@ -321,16 +321,16 @@
|
|
321 |
background: #E91E63;
|
322 |
border-radius: 3px;
|
323 |
}
|
324 |
-
#WBCR .wbcr-factory-pages-
|
325 |
background: #E91E63;
|
326 |
}
|
327 |
-
#WBCR .wbcr-factory-pages-
|
328 |
background: #9e9e9e;
|
329 |
}
|
330 |
-
#WBCR .wbcr-factory-pages-
|
331 |
background: #8bc34a;
|
332 |
}
|
333 |
-
#WBCR .wbcr-factory-pages-
|
334 |
display: block;
|
335 |
width: 80px;
|
336 |
height: 17px;
|
@@ -338,23 +338,23 @@
|
|
338 |
vertical-align: middle;
|
339 |
margin-bottom: 5px;
|
340 |
}
|
341 |
-
#WBCR .wbcr-factory-pages-
|
342 |
display: block;
|
343 |
margin: 30px auto 0;
|
344 |
outline: none;
|
345 |
}
|
346 |
-
#WBCR .wbcr-factory-pages-
|
347 |
-
#WBCR .wbcr-factory-pages-
|
348 |
box-shadow: none;
|
349 |
}
|
350 |
-
#WBCR .wbcr-factory-pages-
|
351 |
font-size: 50px;
|
352 |
margin-top: 30px;
|
353 |
text-align: center;
|
354 |
font-weight: 600;
|
355 |
color: #8BC34A;
|
356 |
}
|
357 |
-
#WBCR .wbcr-factory-pages-
|
358 |
min-height: 240px;
|
359 |
margin-bottom: 20px;
|
360 |
text-align: center;
|
@@ -362,24 +362,24 @@
|
|
362 |
padding: 30px;
|
363 |
border: 1px solid #f3f1e7;
|
364 |
}
|
365 |
-
#WBCR .wbcr-factory-pages-
|
366 |
width: 50px;
|
367 |
height: 50px;
|
368 |
font-size: 50px;
|
369 |
color: #FFC107;
|
370 |
line-height: normal;
|
371 |
}
|
372 |
-
#WBCR .wbcr-factory-pages-
|
373 |
color: #7b6111;
|
374 |
}
|
375 |
-
#WBCR .wbcr-factory-pages-
|
376 |
color: #9e9e9e;
|
377 |
}
|
378 |
-
#WBCR .wbcr-factory-pages-
|
379 |
margin-top: 20px;
|
380 |
text-align: center;
|
381 |
}
|
382 |
-
#WBCR .wbcr-factory-pages-
|
383 |
display: inline-block;
|
384 |
padding: 20px 60px;
|
385 |
background-color: #FFC107;
|
@@ -389,39 +389,39 @@
|
|
389 |
font-weight: bold;
|
390 |
transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
|
391 |
}
|
392 |
-
#WBCR .wbcr-factory-pages-
|
393 |
background-color: #ffce3a;
|
394 |
}
|
395 |
-
#WBCR .wbcr-factory-pages-
|
396 |
padding: 20px;
|
397 |
background: #ffffff;
|
398 |
}
|
399 |
-
#WBCR .wbcr-factory-pages-
|
400 |
-
#WBCR .wbcr-factory-pages-
|
401 |
display: none;
|
402 |
}
|
403 |
-
#WBCR .wbcr-factory-pages-
|
404 |
font-size: 18px;
|
405 |
margin-top: 10px;
|
406 |
}
|
407 |
-
#WBCR .wbcr-factory-pages-
|
408 |
padding: 10px;
|
409 |
background: #ffedeb;
|
410 |
border: 1px solid #ffdfdc;
|
411 |
margin: 15px 0;
|
412 |
}
|
413 |
-
#WBCR .wbcr-factory-pages-
|
414 |
margin-bottom: 15px;
|
415 |
color: #7b7b7b;
|
416 |
}
|
417 |
@media screen and (max-width: 950px) {
|
418 |
-
#WBCR .wbcr-factory-pages-
|
419 |
width: 70px;
|
420 |
}
|
421 |
-
#WBCR .wbcr-factory-pages-
|
422 |
font-size: 0;
|
423 |
}
|
424 |
-
#WBCR .wbcr-factory-pages-
|
425 |
margin-left: 70px;
|
426 |
}
|
427 |
}
|
8 |
#WBCR .error {
|
9 |
display: none !important;
|
10 |
}
|
11 |
+
#WBCR .wbcr-factory-pages-405-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-405-impressive-page-template .form-group {
|
21 |
padding: 0 20px;
|
22 |
}
|
23 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .form-group label {
|
24 |
font-weight: normal;
|
25 |
}
|
26 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .form-horizontal .control-label {
|
27 |
max-width: 300px;
|
28 |
}
|
29 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .factory-control-buttons {
|
30 |
text-align: right;
|
31 |
padding-right: 20px;
|
32 |
}
|
33 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .factory-from-control-list label span {
|
34 |
display: inline-block;
|
35 |
vertical-align: bottom;
|
36 |
}
|
37 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
|
38 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
|
39 |
outline: none;
|
40 |
}
|
41 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .alert {
|
42 |
font-weight: bold;
|
43 |
margin: 0 !important;
|
44 |
border: 0;
|
45 |
border-radius: 0;
|
46 |
padding: 15px;
|
47 |
}
|
48 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .alert + .wbcr-factory-page-group-header {
|
49 |
margin-top: 0 !important;
|
50 |
}
|
51 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .alert.alert-warning {
|
52 |
background: #fff3d0;
|
53 |
}
|
54 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
|
55 |
background: #fffde9;
|
56 |
}
|
57 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .alert.alert-danger {
|
58 |
background: #de716d;
|
59 |
}
|
60 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
|
61 |
background: #ec8c89;
|
62 |
}
|
63 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .alert.alert-success {
|
64 |
background: #d0ecc4;
|
65 |
}
|
66 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .alert.alert-success:nth-child(2n+1) {
|
67 |
background: #e0eadb;
|
68 |
}
|
69 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .hint-warnign-color {
|
70 |
color: #ffeb3b;
|
71 |
}
|
72 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-premium-color {
|
73 |
color: #ffc107;
|
74 |
}
|
75 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-header {
|
76 |
padding: 20px 20px 40px;
|
77 |
}
|
78 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-recomended-text {
|
79 |
display: block;
|
80 |
font-size: 11px;
|
81 |
font-weight: lighter;
|
82 |
color: #179347;
|
83 |
}
|
84 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-options,
|
85 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page {
|
86 |
position: relative;
|
87 |
background: #e6e6e6;
|
88 |
overflow: hidden;
|
89 |
}
|
90 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-options:after,
|
91 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page:after {
|
92 |
display: block;
|
93 |
content: '';
|
94 |
clear: both;
|
95 |
}
|
96 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-group-header {
|
97 |
background: #efefef;
|
98 |
padding: 20px 0 10px 20px;
|
99 |
margin: 30px 0;
|
100 |
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
|
101 |
}
|
102 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-group-header:first-child {
|
103 |
margin-top: 0;
|
104 |
}
|
105 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-group-header strong {
|
106 |
font-size: 15px;
|
107 |
}
|
108 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-group-header p {
|
109 |
color: #8c8888;
|
110 |
font-size: 12px;
|
111 |
}
|
112 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap {
|
113 |
margin-left: 230px;
|
114 |
padding: 80px 0 0 0;
|
115 |
vertical-align: top;
|
116 |
background: #fff;
|
117 |
}
|
118 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
|
119 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
|
120 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
|
121 |
border: 0;
|
122 |
}
|
123 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
|
124 |
background: #efefef;
|
125 |
}
|
126 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
|
127 |
margin-left: 80px !important;
|
128 |
}
|
129 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
|
130 |
background: #f7f7f7;
|
131 |
}
|
132 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
|
133 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
|
134 |
box-shadow: none;
|
135 |
outline: none;
|
136 |
}
|
137 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header {
|
138 |
position: absolute;
|
139 |
z-index: 13;
|
140 |
top: 0;
|
145 |
color: #fff;
|
146 |
border-radius: 5px 5px 0 0;
|
147 |
}
|
148 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
|
149 |
float: left;
|
150 |
padding: 25px 0;
|
151 |
font-size: 20px;
|
158 |
margin-right: 10px;
|
159 |
background: none;
|
160 |
}
|
161 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
|
162 |
display: inline-block;
|
163 |
vertical-align: middle;
|
164 |
}
|
165 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
|
166 |
font-size: 18px;
|
167 |
line-height: 30px;
|
168 |
font-weight: 300;
|
173 |
text-overflow: ellipsis;
|
174 |
color: #fff;
|
175 |
}
|
176 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
|
177 |
position: relative;
|
178 |
float: right;
|
179 |
margin: 12px;
|
180 |
}
|
181 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control input[type="submit"] {
|
182 |
display: inline-block;
|
183 |
vertical-align: top;
|
184 |
font-size: 13px;
|
200 |
outline: none;
|
201 |
z-index: 3;
|
202 |
}
|
203 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control input[type="submit"].wbcr-factory-type-save {
|
204 |
box-shadow: none;
|
205 |
min-width: 200px;
|
206 |
background-color: #8bc34a;
|
207 |
color: #fff;
|
208 |
}
|
209 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control input[type="submit"].wbcr-factory-type-save:hover {
|
210 |
background: #9dbb7b;
|
211 |
color: #fff;
|
212 |
}
|
213 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control input[type="submit"].wbcr-factory-type-save:active {
|
214 |
box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
|
215 |
}
|
216 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar {
|
217 |
float: left;
|
218 |
vertical-align: top;
|
219 |
width: 230px;
|
220 |
background: #e6e6e6;
|
221 |
}
|
222 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul {
|
223 |
padding: 0;
|
224 |
margin-bottom: 0;
|
225 |
margin-top: 80px;
|
226 |
}
|
227 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
|
228 |
display: block;
|
229 |
background: #efefef;
|
230 |
margin: 1px 0;
|
231 |
}
|
232 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
|
233 |
display: block;
|
234 |
width: 100%;
|
235 |
padding: 20px 20px;
|
238 |
text-decoration: none;
|
239 |
text-transform: uppercase;
|
240 |
}
|
241 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:hover {
|
242 |
background: #f7f6f6;
|
243 |
}
|
244 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a,
|
245 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:active,
|
246 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:hover,
|
247 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:active,
|
248 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:focus {
|
249 |
outline: 0 !important;
|
250 |
box-shadow: none !important;
|
251 |
}
|
252 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
|
253 |
background: #fff;
|
254 |
}
|
255 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
|
256 |
color: #222;
|
257 |
}
|
258 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-content-section,
|
259 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-right-sidebar-section {
|
260 |
display: inline-block;
|
261 |
vertical-align: top;
|
262 |
}
|
263 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-content-section {
|
264 |
width: 59%;
|
265 |
}
|
266 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
|
267 |
width: 100%;
|
268 |
}
|
269 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
|
270 |
margin-top: 15px;
|
271 |
}
|
272 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
|
273 |
background: #f7f7f7;
|
274 |
padding: 0 0 20px 0;
|
275 |
border: 1px solid #dad8d8;
|
276 |
box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
|
277 |
}
|
278 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
|
279 |
padding-top: 0 !important;
|
280 |
}
|
281 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-right-sidebar-section {
|
282 |
width: 40%;
|
283 |
padding: 20px;
|
284 |
margin: -40px 0 -20px;
|
285 |
background-color: #f9f9f9;
|
286 |
box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
|
287 |
}
|
288 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
|
289 |
margin: 0 0 20px;
|
290 |
}
|
291 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget {
|
292 |
display: inline-block;
|
293 |
min-height: 230px;
|
294 |
width: 100%;
|
297 |
padding: 20px 15px;
|
298 |
vertical-align: top;
|
299 |
}
|
300 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
|
301 |
display: none;
|
302 |
}
|
303 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
|
304 |
background: #fff4d0;
|
305 |
}
|
306 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
|
307 |
background: #e2ffc0;
|
308 |
}
|
309 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
|
310 |
background: #ffebe9;
|
311 |
}
|
312 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
|
313 |
display: inline-block;
|
314 |
width: 16px;
|
315 |
height: 16px;
|
321 |
background: #E91E63;
|
322 |
border-radius: 3px;
|
323 |
}
|
324 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
|
325 |
background: #E91E63;
|
326 |
}
|
327 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
|
328 |
background: #9e9e9e;
|
329 |
}
|
330 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
|
331 |
background: #8bc34a;
|
332 |
}
|
333 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
|
334 |
display: block;
|
335 |
width: 80px;
|
336 |
height: 17px;
|
338 |
vertical-align: middle;
|
339 |
margin-bottom: 5px;
|
340 |
}
|
341 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
|
342 |
display: block;
|
343 |
margin: 30px auto 0;
|
344 |
outline: none;
|
345 |
}
|
346 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
|
347 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
|
348 |
box-shadow: none;
|
349 |
}
|
350 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
|
351 |
font-size: 50px;
|
352 |
margin-top: 30px;
|
353 |
text-align: center;
|
354 |
font-weight: 600;
|
355 |
color: #8BC34A;
|
356 |
}
|
357 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
|
358 |
min-height: 240px;
|
359 |
margin-bottom: 20px;
|
360 |
text-align: center;
|
362 |
padding: 30px;
|
363 |
border: 1px solid #f3f1e7;
|
364 |
}
|
365 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
|
366 |
width: 50px;
|
367 |
height: 50px;
|
368 |
font-size: 50px;
|
369 |
color: #FFC107;
|
370 |
line-height: normal;
|
371 |
}
|
372 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
|
373 |
color: #7b6111;
|
374 |
}
|
375 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
|
376 |
color: #9e9e9e;
|
377 |
}
|
378 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
|
379 |
margin-top: 20px;
|
380 |
text-align: center;
|
381 |
}
|
382 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
|
383 |
display: inline-block;
|
384 |
padding: 20px 60px;
|
385 |
background-color: #FFC107;
|
389 |
font-weight: bold;
|
390 |
transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
|
391 |
}
|
392 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
|
393 |
background-color: #ffce3a;
|
394 |
}
|
395 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template #wbcr-factory-confirm-dialog {
|
396 |
padding: 20px;
|
397 |
background: #ffffff;
|
398 |
}
|
399 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template #wbcr-factory-confirm-dialog .updated,
|
400 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template #wbcr-factory-confirm-dialog .alert {
|
401 |
display: none;
|
402 |
}
|
403 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template #wbcr-factory-confirm-dialog h2 {
|
404 |
font-size: 18px;
|
405 |
margin-top: 10px;
|
406 |
}
|
407 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
|
408 |
padding: 10px;
|
409 |
background: #ffedeb;
|
410 |
border: 1px solid #ffdfdc;
|
411 |
margin: 15px 0;
|
412 |
}
|
413 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
|
414 |
margin-bottom: 15px;
|
415 |
color: #7b7b7b;
|
416 |
}
|
417 |
@media screen and (max-width: 950px) {
|
418 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar {
|
419 |
width: 70px;
|
420 |
}
|
421 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
|
422 |
font-size: 0;
|
423 |
}
|
424 |
+
#WBCR .wbcr-factory-pages-405-impressive-page-template .wbcr-factory-page-inner-wrap {
|
425 |
margin-left: 70px;
|
426 |
}
|
427 |
}
|
libs/factory/pages/templates/impressive-page.class.php
CHANGED
@@ -14,15 +14,15 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
-
* Class
|
20 |
*
|
21 |
* @method string getInfoWidget() - get widget content information
|
22 |
* @method string getRatingWidget(array $args = array()) - get widget content rating
|
23 |
* @method string getDonateWidget() - get widget content donate
|
24 |
*/
|
25 |
-
abstract class
|
26 |
|
27 |
//public $menu_target = 'options-general.php';
|
28 |
|
@@ -67,12 +67,13 @@
|
|
67 |
public $show_bottom_sidebar = true;
|
68 |
|
69 |
/**
|
70 |
-
* @param
|
71 |
*/
|
72 |
-
public function __construct(
|
73 |
{
|
74 |
-
$this->menuIcon =
|
75 |
-
|
|
|
76 |
parent::__construct($plugin);
|
77 |
|
78 |
global $factory_impressive_page_menu;
|
@@ -81,20 +82,21 @@
|
|
81 |
? ' ' . $this->page_menu_dashicon
|
82 |
: '';
|
83 |
|
84 |
-
$this->title_plugin_action_link = __('Settings', '
|
85 |
|
86 |
//if( $this->type == 'options' ) {
|
87 |
//$this->show_right_sidebar_in_options = true;
|
88 |
//$this->show_bottom_sidebar = false;
|
89 |
//}
|
90 |
|
91 |
-
$factory_impressive_page_menu[$
|
92 |
'type' => $this->type, // page, options
|
93 |
'url' => $this->getBaseUrl(),
|
94 |
'title' => '<span class="dashicons' . $dashicon . '"></span> ' . $this->getMenuTitle(),
|
95 |
'position' => $this->page_menu_position,
|
96 |
'parent' => $this->page_parent_page
|
97 |
);
|
|
|
98 |
}
|
99 |
|
100 |
public function __call($name, $arguments)
|
@@ -118,7 +120,7 @@
|
|
118 |
/**
|
119 |
* Requests assets (js and css) for the page.
|
120 |
*
|
121 |
-
* @see
|
122 |
*
|
123 |
* @since 1.0.0
|
124 |
* @return void
|
@@ -142,9 +144,16 @@
|
|
142 |
'control.checkbox'
|
143 |
), 'bootstrap');
|
144 |
|
145 |
-
$this->styles->add(
|
146 |
//$this->styles->add('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
|
147 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
/**
|
150 |
* @return string
|
@@ -241,19 +250,19 @@
|
|
241 |
$GLOBALS['wp_fastest_cache']->deleteCache();
|
242 |
}
|
243 |
|
244 |
-
|
245 |
$this->plugin->getPluginName(),
|
246 |
$this->getResultId()
|
247 |
-
), '4.0.1', '
|
248 |
|
249 |
/**
|
250 |
* @since 4.0.1
|
251 |
*/
|
252 |
-
do_action('
|
253 |
|
254 |
$this->afterFormSave();
|
255 |
|
256 |
-
$this->redirectToAction('index', apply_filters('
|
257 |
$this->plugin->getPluginName() . '_saved' => 1
|
258 |
)));
|
259 |
}
|
@@ -265,7 +274,7 @@
|
|
265 |
protected function warningNotice()
|
266 |
{
|
267 |
/*if( WP_CACHE ) {
|
268 |
-
$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.", '
|
269 |
}*/
|
270 |
// Метод предназначен для вызова в дочернем классе
|
271 |
}
|
@@ -339,7 +348,7 @@
|
|
339 |
/**
|
340 |
* @since 4.0.1
|
341 |
*/
|
342 |
-
do_action('
|
343 |
}
|
344 |
|
345 |
private function showActionsNotice()
|
@@ -350,13 +359,13 @@
|
|
350 |
$this->plugin->getPluginName() . '_saved' => '1'
|
351 |
),
|
352 |
'type' => 'success',
|
353 |
-
'message' => __('The settings have been updated successfully!', '
|
354 |
-
? '<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.", '
|
355 |
: '')
|
356 |
)
|
357 |
);
|
358 |
|
359 |
-
$notices = apply_filters('
|
360 |
$notices = $this->getActionNotices($notices);
|
361 |
|
362 |
foreach($notices as $key => $notice) {
|
@@ -519,7 +528,7 @@
|
|
519 |
<?php endif; ?>
|
520 |
<?php if( $this->type == 'options' ): ?>
|
521 |
<div class="wbcr-factory-control">
|
522 |
-
<input name="<?= $this->plugin->getPluginName() ?>_save_action" class="wbcr-factory-type-save" type="submit" value="<?php _e('Save settings', '
|
523 |
<?php wp_nonce_field('wbcr_factory_' . $this->getResultId() . '_save_action'); ?>
|
524 |
</div><?php endif; ?>
|
525 |
</div>
|
@@ -560,25 +569,25 @@
|
|
560 |
|
561 |
protected function getPageWidgets($position = 'bottom')
|
562 |
{
|
563 |
-
|
564 |
array(
|
565 |
'info_widget' => $this->getInfoWidget(),
|
566 |
'rating_widget' => $this->getRatingWidget(),
|
567 |
'donate_widget' => $this->getDonateWidget()
|
568 |
),
|
569 |
$this->getResultId()
|
570 |
-
), '4.0.1', '
|
571 |
|
572 |
-
|
573 |
array(
|
574 |
'info_widget' => $this->getInfoWidget(),
|
575 |
'rating_widget' => $this->getRatingWidget(),
|
576 |
'donate_widget' => $this->getDonateWidget()
|
577 |
),
|
578 |
$this->getResultId()
|
579 |
-
), '4.0.1', '
|
580 |
|
581 |
-
return apply_filters('
|
582 |
'info_widget' => $this->getInfoWidget(),
|
583 |
'rating_widget' => $this->getRatingWidget(),
|
584 |
'donate_widget' => $this->getDonateWidget()
|
@@ -593,12 +602,12 @@
|
|
593 |
|
594 |
global $factory_impressive_page_menu;
|
595 |
|
596 |
-
$form = new
|
597 |
'scope' => rtrim($this->plugin->getPrefix(), '_'),
|
598 |
'name' => $this->getResultId() . "-options"
|
599 |
), $this->plugin);
|
600 |
|
601 |
-
$form->setProvider(new
|
602 |
|
603 |
$options = $this->getOptions();
|
604 |
|
@@ -643,27 +652,27 @@
|
|
643 |
check_admin_referer('wbcr_factory_' . $this->getResultId() . '_save_action');
|
644 |
|
645 |
if( !current_user_can('administrator') && !current_user_can($this->capabilitiy) ) {
|
646 |
-
wp_die(__('You do not have permission to edit page.', '
|
647 |
exit;
|
648 |
}
|
649 |
|
650 |
-
|
651 |
$form,
|
652 |
$this->plugin->getPluginName()
|
653 |
-
), '4.0.1', '
|
654 |
|
655 |
-
do_action('
|
656 |
|
657 |
$this->beforeFormSave();
|
658 |
|
659 |
$form->save();
|
660 |
|
661 |
-
|
662 |
$form,
|
663 |
$this->plugin->getPluginName()
|
664 |
-
), '4.0.1', '
|
665 |
|
666 |
-
do_action('
|
667 |
|
668 |
$this->formSaved();
|
669 |
|
@@ -674,7 +683,7 @@
|
|
674 |
|
675 |
?>
|
676 |
<div id="WBCR" class="wrap">
|
677 |
-
<div class="wbcr-factory-pages-
|
678 |
<div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr($this->id) ?>">
|
679 |
<div class="wbcr-factory-left-navigation-bar">
|
680 |
<?php $this->showPageMenu() ?>
|
@@ -724,7 +733,7 @@
|
|
724 |
global $factory_impressive_page_menu;
|
725 |
?>
|
726 |
<div id="WBCR" class="wrap">
|
727 |
-
<div class="wbcr-factory-pages-
|
728 |
<div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
|
729 |
<?php $this->showHeader(); ?>
|
730 |
|
@@ -774,24 +783,24 @@
|
|
774 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-red">
|
775 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
776 |
</span>
|
777 |
-
- <?php _e('A neutral setting that can not harm your site, but you must be sure that you need to use it.', '
|
778 |
</li>
|
779 |
<li>
|
780 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
|
781 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
782 |
</span>
|
783 |
-
- <?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.', '
|
784 |
</li>
|
785 |
<li>
|
786 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
|
787 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
788 |
</span>
|
789 |
-
- <?php _e('Absolutely safe setting, We recommend to use.', '
|
790 |
</li>
|
791 |
</ul>
|
792 |
----------<br>
|
793 |
|
794 |
-
<p><?php _e('Hover to the icon to get help for the feature you selected.', '
|
795 |
</div>
|
796 |
<?php
|
797 |
}
|
@@ -804,22 +813,22 @@
|
|
804 |
$page_url = $args[0];
|
805 |
}
|
806 |
|
807 |
-
$page_url = apply_filters('
|
808 |
|
809 |
?>
|
810 |
<div class="wbcr-factory-sidebar-widget">
|
811 |
<p>
|
812 |
-
<strong><?php _e('Do you want the plugin to improved and update?', '
|
813 |
</p>
|
814 |
|
815 |
-
<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.', '
|
816 |
|
817 |
-
<p><?php _e('And also write your ideas on how to extend or improve the plugin.', '
|
818 |
|
819 |
<p>
|
820 |
<i class="wbcr-factory-icon-5stars"></i>
|
821 |
<a href="<?= $page_url ?>" title="Go rate us" target="_blank">
|
822 |
-
<strong><?php _e('Go rate us and push ideas', '
|
823 |
</a>
|
824 |
</p>
|
825 |
</div>
|
@@ -831,7 +840,7 @@
|
|
831 |
?>
|
832 |
<div class="wbcr-factory-sidebar-widget">
|
833 |
<p>
|
834 |
-
<strong><?php _e('Donation for plugin development', '
|
835 |
</p>
|
836 |
|
837 |
<?php if( get_locale() !== 'ru_RU' ): ?>
|
@@ -840,7 +849,7 @@
|
|
840 |
<input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
|
841 |
|
842 |
<div class="wbcr-factory-donation-price">5$</div>
|
843 |
-
<input type="image" src="<?=
|
844 |
</form>
|
845 |
<?php else: ?>
|
846 |
<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>
|
@@ -859,7 +868,7 @@
|
|
859 |
{
|
860 |
?>
|
861 |
<div id="WBCR" class="wrap">
|
862 |
-
<div class="wbcr-factory-pages-
|
863 |
<div id="wbcr-factory-confirm-dialog">
|
864 |
<h2><?php echo $data['title'] ?></h2>
|
865 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryPages405_ImpressiveThemplate') ) {
|
18 |
/**
|
19 |
+
* Class Wbcr_FactoryPages405_ImpressiveThemplate
|
20 |
*
|
21 |
* @method string getInfoWidget() - get widget content information
|
22 |
* @method string getRatingWidget(array $args = array()) - get widget content rating
|
23 |
* @method string getDonateWidget() - get widget content donate
|
24 |
*/
|
25 |
+
abstract class Wbcr_FactoryPages405_ImpressiveThemplate extends Wbcr_FactoryPages405_AdminPage {
|
26 |
|
27 |
//public $menu_target = 'options-general.php';
|
28 |
|
67 |
public $show_bottom_sidebar = true;
|
68 |
|
69 |
/**
|
70 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
71 |
*/
|
72 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
73 |
{
|
74 |
+
$this->menuIcon = FACTORY_PAGES_405_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
|
75 |
+
$this->plugin = $plugin;
|
76 |
+
|
77 |
parent::__construct($plugin);
|
78 |
|
79 |
global $factory_impressive_page_menu;
|
82 |
? ' ' . $this->page_menu_dashicon
|
83 |
: '';
|
84 |
|
85 |
+
$this->title_plugin_action_link = __('Settings', 'wbcr_factory_pages_405');
|
86 |
|
87 |
//if( $this->type == 'options' ) {
|
88 |
//$this->show_right_sidebar_in_options = true;
|
89 |
//$this->show_bottom_sidebar = false;
|
90 |
//}
|
91 |
|
92 |
+
$factory_impressive_page_menu[$this->getMenuScope()][$this->getResultId()] = array(
|
93 |
'type' => $this->type, // page, options
|
94 |
'url' => $this->getBaseUrl(),
|
95 |
'title' => '<span class="dashicons' . $dashicon . '"></span> ' . $this->getMenuTitle(),
|
96 |
'position' => $this->page_menu_position,
|
97 |
'parent' => $this->page_parent_page
|
98 |
);
|
99 |
+
|
100 |
}
|
101 |
|
102 |
public function __call($name, $arguments)
|
120 |
/**
|
121 |
* Requests assets (js and css) for the page.
|
122 |
*
|
123 |
+
* @see FactoryPages405_AdminPage
|
124 |
*
|
125 |
* @since 1.0.0
|
126 |
* @return void
|
144 |
'control.checkbox'
|
145 |
), 'bootstrap');
|
146 |
|
147 |
+
$this->styles->add(FACTORY_PAGES_405_URL . '/templates/assets/css/impressive.page.template.css');
|
148 |
//$this->styles->add('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
|
149 |
}
|
150 |
+
|
151 |
+
/**
|
152 |
+
* @return string
|
153 |
+
*/
|
154 |
+
public function getMenuScope() {
|
155 |
+
return $this->plugin->getPluginName();
|
156 |
+
}
|
157 |
|
158 |
/**
|
159 |
* @return string
|
250 |
$GLOBALS['wp_fastest_cache']->deleteCache();
|
251 |
}
|
252 |
|
253 |
+
wbcr_factory_404_do_action_deprecated('wbcr_factory_404_imppage_flush_cache', array(
|
254 |
$this->plugin->getPluginName(),
|
255 |
$this->getResultId()
|
256 |
+
), '4.0.1', 'wbcr_factory_404_imppage_after_form_save');
|
257 |
|
258 |
/**
|
259 |
* @since 4.0.1
|
260 |
*/
|
261 |
+
do_action('wbcr_factory_404_imppage_after_form_save', $this->plugin, $this);
|
262 |
|
263 |
$this->afterFormSave();
|
264 |
|
265 |
+
$this->redirectToAction('index', apply_filters('wbcr_factory_404_imppage_after_form_save_redirect_args', array(
|
266 |
$this->plugin->getPluginName() . '_saved' => 1
|
267 |
)));
|
268 |
}
|
274 |
protected function warningNotice()
|
275 |
{
|
276 |
/*if( WP_CACHE ) {
|
277 |
+
$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_405'));
|
278 |
}*/
|
279 |
// Метод предназначен для вызова в дочернем классе
|
280 |
}
|
348 |
/**
|
349 |
* @since 4.0.1
|
350 |
*/
|
351 |
+
do_action('wbcr_factory_pages_405_imppage_print_all_notices', $this->plugin, $this);
|
352 |
}
|
353 |
|
354 |
private function showActionsNotice()
|
359 |
$this->plugin->getPluginName() . '_saved' => '1'
|
360 |
),
|
361 |
'type' => 'success',
|
362 |
+
'message' => __('The settings have been updated successfully!', 'wbcr_factory_pages_405') . (WP_CACHE
|
363 |
+
? '<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_405')
|
364 |
: '')
|
365 |
)
|
366 |
);
|
367 |
|
368 |
+
$notices = apply_filters('wbcr_factory_pages_405_imppage_actions_notice', $notices, $this->plugin, $this->id);
|
369 |
$notices = $this->getActionNotices($notices);
|
370 |
|
371 |
foreach($notices as $key => $notice) {
|
528 |
<?php endif; ?>
|
529 |
<?php if( $this->type == 'options' ): ?>
|
530 |
<div class="wbcr-factory-control">
|
531 |
+
<input name="<?= $this->plugin->getPluginName() ?>_save_action" class="wbcr-factory-type-save" type="submit" value="<?php _e('Save settings', 'wbcr_factory_pages_405'); ?>">
|
532 |
<?php wp_nonce_field('wbcr_factory_' . $this->getResultId() . '_save_action'); ?>
|
533 |
</div><?php endif; ?>
|
534 |
</div>
|
569 |
|
570 |
protected function getPageWidgets($position = 'bottom')
|
571 |
{
|
572 |
+
wbcr_factory_404_apply_filters_deprecated('wbcr_factory_pages_405_imppage_right_sidebar_widgets', array(
|
573 |
array(
|
574 |
'info_widget' => $this->getInfoWidget(),
|
575 |
'rating_widget' => $this->getRatingWidget(),
|
576 |
'donate_widget' => $this->getDonateWidget()
|
577 |
),
|
578 |
$this->getResultId()
|
579 |
+
), '4.0.1', 'wbcr_factory_pages_405_imppage_get_widgets');
|
580 |
|
581 |
+
wbcr_factory_404_apply_filters_deprecated('wbcr_factory_pages_405_imppage_bottom_sidebar_widgets', array(
|
582 |
array(
|
583 |
'info_widget' => $this->getInfoWidget(),
|
584 |
'rating_widget' => $this->getRatingWidget(),
|
585 |
'donate_widget' => $this->getDonateWidget()
|
586 |
),
|
587 |
$this->getResultId()
|
588 |
+
), '4.0.1', 'wbcr_factory_pages_405_imppage_get_widgets');
|
589 |
|
590 |
+
return apply_filters('wbcr_factory_pages_405_imppage_get_widgets', array(
|
591 |
'info_widget' => $this->getInfoWidget(),
|
592 |
'rating_widget' => $this->getRatingWidget(),
|
593 |
'donate_widget' => $this->getDonateWidget()
|
602 |
|
603 |
global $factory_impressive_page_menu;
|
604 |
|
605 |
+
$form = new Wbcr_FactoryForms405_Form(array(
|
606 |
'scope' => rtrim($this->plugin->getPrefix(), '_'),
|
607 |
'name' => $this->getResultId() . "-options"
|
608 |
), $this->plugin);
|
609 |
|
610 |
+
$form->setProvider(new Wbcr_FactoryForms405_OptionsValueProvider($this->plugin));
|
611 |
|
612 |
$options = $this->getOptions();
|
613 |
|
652 |
check_admin_referer('wbcr_factory_' . $this->getResultId() . '_save_action');
|
653 |
|
654 |
if( !current_user_can('administrator') && !current_user_can($this->capabilitiy) ) {
|
655 |
+
wp_die(__('You do not have permission to edit page.', 'wbcr_factory_pages_405'));
|
656 |
exit;
|
657 |
}
|
658 |
|
659 |
+
wbcr_factory_404_do_action_deprecated('wbcr_factory_404_imppage_before_save', array(
|
660 |
$form,
|
661 |
$this->plugin->getPluginName()
|
662 |
+
), '4.0.1', 'wbcr_factory_404_imppage_before_form_save');
|
663 |
|
664 |
+
do_action('wbcr_factory_404_imppage_before_form_save', $form, $this->plugin, $this);
|
665 |
|
666 |
$this->beforeFormSave();
|
667 |
|
668 |
$form->save();
|
669 |
|
670 |
+
wbcr_factory_404_do_action_deprecated('wbcr_factory_404_imppage_saved', array(
|
671 |
$form,
|
672 |
$this->plugin->getPluginName()
|
673 |
+
), '4.0.1', 'wbcr_factory_404_imppage_form_saved');
|
674 |
|
675 |
+
do_action('wbcr_factory_404_imppage_form_saved', $form, $this->plugin, $this);
|
676 |
|
677 |
$this->formSaved();
|
678 |
|
683 |
|
684 |
?>
|
685 |
<div id="WBCR" class="wrap">
|
686 |
+
<div class="wbcr-factory-pages-405-impressive-page-template factory-bootstrap-404 factory-fontawesome-000">
|
687 |
<div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr($this->id) ?>">
|
688 |
<div class="wbcr-factory-left-navigation-bar">
|
689 |
<?php $this->showPageMenu() ?>
|
733 |
global $factory_impressive_page_menu;
|
734 |
?>
|
735 |
<div id="WBCR" class="wrap">
|
736 |
+
<div class="wbcr-factory-pages-405-impressive-page-template factory-bootstrap-404 factory-fontawesome-000">
|
737 |
<div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
|
738 |
<?php $this->showHeader(); ?>
|
739 |
|
783 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-red">
|
784 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
785 |
</span>
|
786 |
+
- <?php _e('A neutral setting that can not harm your site, but you must be sure that you need to use it.', 'wbcr_factory_pages_405'); ?>
|
787 |
</li>
|
788 |
<li>
|
789 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
|
790 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
791 |
</span>
|
792 |
+
- <?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_pages_405'); ?>
|
793 |
</li>
|
794 |
<li>
|
795 |
<span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
|
796 |
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
|
797 |
</span>
|
798 |
+
- <?php _e('Absolutely safe setting, We recommend to use.', 'wbcr_factory_pages_405'); ?>
|
799 |
</li>
|
800 |
</ul>
|
801 |
----------<br>
|
802 |
|
803 |
+
<p><?php _e('Hover to the icon to get help for the feature you selected.', 'wbcr_factory_pages_405'); ?></p>
|
804 |
</div>
|
805 |
<?php
|
806 |
}
|
813 |
$page_url = $args[0];
|
814 |
}
|
815 |
|
816 |
+
$page_url = apply_filters('wbcr_factory_pages_405_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId());
|
817 |
|
818 |
?>
|
819 |
<div class="wbcr-factory-sidebar-widget">
|
820 |
<p>
|
821 |
+
<strong><?php _e('Do you want the plugin to improved and update?', 'wbcr_factory_pages_405'); ?></strong>
|
822 |
</p>
|
823 |
|
824 |
+
<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_pages_405'); ?></p>
|
825 |
|
826 |
+
<p><?php _e('And also write your ideas on how to extend or improve the plugin.', 'wbcr_factory_pages_405'); ?></p>
|
827 |
|
828 |
<p>
|
829 |
<i class="wbcr-factory-icon-5stars"></i>
|
830 |
<a href="<?= $page_url ?>" title="Go rate us" target="_blank">
|
831 |
+
<strong><?php _e('Go rate us and push ideas', 'wbcr_factory_pages_405'); ?></strong>
|
832 |
</a>
|
833 |
</p>
|
834 |
</div>
|
840 |
?>
|
841 |
<div class="wbcr-factory-sidebar-widget">
|
842 |
<p>
|
843 |
+
<strong><?php _e('Donation for plugin development', 'wbcr_factory_pages_405'); ?></strong>
|
844 |
</p>
|
845 |
|
846 |
<?php if( get_locale() !== 'ru_RU' ): ?>
|
849 |
<input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
|
850 |
|
851 |
<div class="wbcr-factory-donation-price">5$</div>
|
852 |
+
<input type="image" src="<?= FACTORY_PAGES_405_URL ?>/templates/assets/img/paypal-donate.png" border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
|
853 |
</form>
|
854 |
<?php else: ?>
|
855 |
<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>
|
868 |
{
|
869 |
?>
|
870 |
<div id="WBCR" class="wrap">
|
871 |
+
<div class="wbcr-factory-pages-405-impressive-page-template factory-bootstrap-404 factory-fontawesome-000">
|
872 |
<div id="wbcr-factory-confirm-dialog">
|
873 |
<h2><?php echo $data['title'] ?></h2>
|
874 |
|
libs/factory/shortcodes/boot.php
CHANGED
@@ -9,14 +9,14 @@
|
|
9 |
* @since 1.0.0
|
10 |
*/
|
11 |
|
12 |
-
if( defined('
|
13 |
return;
|
14 |
}
|
15 |
-
define('
|
16 |
|
17 |
-
define('
|
18 |
|
19 |
#comp merge
|
20 |
-
require(
|
21 |
-
require(
|
22 |
#endcomp
|
9 |
* @since 1.0.0
|
10 |
*/
|
11 |
|
12 |
+
if( defined('FACTORY_SHORTCODES_324_LOADED') ) {
|
13 |
return;
|
14 |
}
|
15 |
+
define('FACTORY_SHORTCODES_324_LOADED', true);
|
16 |
|
17 |
+
define('FACTORY_SHORTCODES_324_DIR', dirname(__FILE__));
|
18 |
|
19 |
#comp merge
|
20 |
+
require(FACTORY_SHORTCODES_324_DIR . '/shortcodes.php');
|
21 |
+
require(FACTORY_SHORTCODES_324_DIR . '/shortcode.class.php');
|
22 |
#endcomp
|
libs/factory/shortcodes/shortcode.class.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* The base class for all shortcodes.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
abstract class
|
25 |
|
26 |
private static $meta_key_shorcode_assets_for_posts = 'factory_shortcodes_assets';
|
27 |
|
@@ -44,7 +44,7 @@
|
|
44 |
/**
|
45 |
* A manager that created and track this shortcode.
|
46 |
* @since 1.0.0
|
47 |
-
* @var
|
48 |
*/
|
49 |
private $manager;
|
50 |
|
@@ -52,7 +52,7 @@
|
|
52 |
* Scripts to include on the same page.
|
53 |
*
|
54 |
* @since 1.0.0
|
55 |
-
* @var
|
56 |
*/
|
57 |
public $scripts;
|
58 |
|
@@ -60,7 +60,7 @@
|
|
60 |
* Styles to include on the same page.
|
61 |
*
|
62 |
* @since 1.0.0
|
63 |
-
* @var
|
64 |
*/
|
65 |
public $styles;
|
66 |
|
@@ -87,7 +87,7 @@
|
|
87 |
* Creates a new instance of a shortcode objects.
|
88 |
*
|
89 |
* @since 1.0.0
|
90 |
-
* @param
|
91 |
*/
|
92 |
public function __construct($plugin)
|
93 |
{
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryShortcodes324_Shortcode') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class for all shortcodes.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryShortcodes324_Shortcode {
|
25 |
|
26 |
private static $meta_key_shorcode_assets_for_posts = 'factory_shortcodes_assets';
|
27 |
|
44 |
/**
|
45 |
* A manager that created and track this shortcode.
|
46 |
* @since 1.0.0
|
47 |
+
* @var Wbcr_FactoryShortcodes324_ShortcodeManager
|
48 |
*/
|
49 |
private $manager;
|
50 |
|
52 |
* Scripts to include on the same page.
|
53 |
*
|
54 |
* @since 1.0.0
|
55 |
+
* @var Wbcr_Factory404_ScriptList
|
56 |
*/
|
57 |
public $scripts;
|
58 |
|
60 |
* Styles to include on the same page.
|
61 |
*
|
62 |
* @since 1.0.0
|
63 |
+
* @var Wbcr_Factory404_StyleList
|
64 |
*/
|
65 |
public $styles;
|
66 |
|
87 |
* Creates a new instance of a shortcode objects.
|
88 |
*
|
89 |
* @since 1.0.0
|
90 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
91 |
*/
|
92 |
public function __construct($plugin)
|
93 |
{
|
libs/factory/shortcodes/shortcodes.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
/**
|
19 |
* A helper class to register new shortcodes.
|
20 |
*
|
@@ -22,7 +22,7 @@
|
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
-
class
|
26 |
|
27 |
private static $manager = false;
|
28 |
|
@@ -35,14 +35,14 @@
|
|
35 |
public static function register($class_name, $plugin)
|
36 |
{
|
37 |
if( !self::$manager ) {
|
38 |
-
self::$manager = new
|
39 |
}
|
40 |
self::$manager->register($class_name, $plugin);
|
41 |
}
|
42 |
}
|
43 |
}
|
44 |
|
45 |
-
if( !class_exists('
|
46 |
/**
|
47 |
* Factory Shortcode Manager
|
48 |
*
|
@@ -50,13 +50,13 @@
|
|
50 |
* - creating aninstance of Factory Shortcode per every call of the shortcode.
|
51 |
* - tracking shortcodes in post content.
|
52 |
*/
|
53 |
-
class
|
54 |
|
55 |
/**
|
56 |
* A set of registered shortcodes.
|
57 |
*
|
58 |
* @since 1.0.0
|
59 |
-
* @var
|
60 |
*/
|
61 |
private $shortcodes = array();
|
62 |
|
@@ -64,7 +64,7 @@
|
|
64 |
* Keeps links between "class name" => "plugin"
|
65 |
*
|
66 |
* @since 3.2.0
|
67 |
-
* @var
|
68 |
*/
|
69 |
private $class_to_plugin = array();
|
70 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryShortcodes324') ) {
|
18 |
/**
|
19 |
* A helper class to register new shortcodes.
|
20 |
*
|
22 |
*
|
23 |
* @since 1.0.0
|
24 |
*/
|
25 |
+
class Wbcr_FactoryShortcodes324 {
|
26 |
|
27 |
private static $manager = false;
|
28 |
|
35 |
public static function register($class_name, $plugin)
|
36 |
{
|
37 |
if( !self::$manager ) {
|
38 |
+
self::$manager = new Wbcr_FactoryShortcodes324_ShortcodeManager();
|
39 |
}
|
40 |
self::$manager->register($class_name, $plugin);
|
41 |
}
|
42 |
}
|
43 |
}
|
44 |
|
45 |
+
if( !class_exists('Wbcr_FactoryShortcodes324_ShortcodeManager') ) {
|
46 |
/**
|
47 |
* Factory Shortcode Manager
|
48 |
*
|
50 |
* - creating aninstance of Factory Shortcode per every call of the shortcode.
|
51 |
* - tracking shortcodes in post content.
|
52 |
*/
|
53 |
+
class Wbcr_FactoryShortcodes324_ShortcodeManager {
|
54 |
|
55 |
/**
|
56 |
* A set of registered shortcodes.
|
57 |
*
|
58 |
* @since 1.0.0
|
59 |
+
* @var FactoryShortcodes324_Shortcode[]
|
60 |
*/
|
61 |
private $shortcodes = array();
|
62 |
|
64 |
* Keeps links between "class name" => "plugin"
|
65 |
*
|
66 |
* @since 3.2.0
|
67 |
+
* @var Wbcr_FactoryShortcodes324_Shortcode[]
|
68 |
*/
|
69 |
private $class_to_plugin = array();
|
70 |
|
libs/factory/taxonomies/boot.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Factory Taxonomies
|
4 |
+
*
|
5 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
6 |
+
* @copyright (c) 2018, Webcraftic Ltd
|
7 |
+
*
|
8 |
+
* @package core
|
9 |
+
* @since 1.0.0
|
10 |
+
*/
|
11 |
+
|
12 |
+
// Exit if accessed directly
|
13 |
+
if( !defined('ABSPATH') ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
if( defined('FACTORY_T_000_LOADED') ) {
|
18 |
+
return;
|
19 |
+
}
|
20 |
+
define('FACTORY_TAXONOMIES_324_LOADED', true);
|
21 |
+
|
22 |
+
define('FACTORY_TAXONOMIES_324_DIR', dirname(__FILE__));
|
23 |
+
define('FACTORY_TAXONOMIES_324_URL', plugins_url(null, __FILE__));
|
24 |
+
|
25 |
+
load_plugin_textdomain('factory_taxonomies_324', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
26 |
+
|
27 |
+
// sets version of admin interface
|
28 |
+
if( is_admin() ) {
|
29 |
+
if( !defined('FACTORY_FLAT_ADMIN') ) {
|
30 |
+
define('FACTORY_FLAT_ADMIN', true);
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
+
#comp merge
|
35 |
+
require(FACTORY_TAXONOMIES_324_DIR . '/taxonomy.class.php');
|
36 |
+
require(FACTORY_TAXONOMIES_324_DIR . '/taxonomy.php');
|
37 |
+
#endcomp
|
libs/factory/{types/langs/wbcr_factory_types_401-ru_RU.mo → taxonomies/langs/factory_taxonomies_324-ru_RU.mo}
RENAMED
File without changes
|
libs/factory/{types/langs/wbcr_factory_types_401-ru_RU.po → taxonomies/langs/factory_taxonomies_324-ru_RU.po}
RENAMED
File without changes
|
libs/factory/taxonomies/taxonomy.class.php
ADDED
@@ -0,0 +1,390 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The file contains a base class for all types.
|
4 |
+
*
|
5 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
6 |
+
* @copyright (c) 2017, Webcraftic Ltd
|
7 |
+
*
|
8 |
+
* @package core
|
9 |
+
* @since 1.0.0
|
10 |
+
*/
|
11 |
+
|
12 |
+
// Exit if accessed directly
|
13 |
+
if( !defined('ABSPATH') ) {
|
14 |
+
exit;
|
15 |
+
}
|
16 |
+
|
17 |
+
if( !class_exists('Wbcr_FactoryTaxonomies324_Taxonomy') ) {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* The base class that provides abstraction for custom post type.
|
21 |
+
*
|
22 |
+
* @since 1.0.0
|
23 |
+
*/
|
24 |
+
abstract class Wbcr_FactoryTaxonomies324_Taxonomy {
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Internal taxonomy name.
|
28 |
+
*
|
29 |
+
* @since 1.0.0
|
30 |
+
* @var string
|
31 |
+
*/
|
32 |
+
public $name;
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Internal type name.
|
36 |
+
*
|
37 |
+
* @since 1.0.0
|
38 |
+
* @var string/array
|
39 |
+
*/
|
40 |
+
public $post_types;
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Plural visible title.
|
44 |
+
*
|
45 |
+
* @since 1.0.0
|
46 |
+
* @var string
|
47 |
+
*/
|
48 |
+
public $plural_title;
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Singular visible title.
|
52 |
+
*
|
53 |
+
* @since 1.0.0
|
54 |
+
* @var string
|
55 |
+
*/
|
56 |
+
public $singular_title;
|
57 |
+
|
58 |
+
/**
|
59 |
+
* One of pre defined templates for options.
|
60 |
+
* Allowed values: public, private, internal.
|
61 |
+
*
|
62 |
+
* @since 1.0.0
|
63 |
+
* @var string
|
64 |
+
*/
|
65 |
+
public $template = 'public';
|
66 |
+
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Capabilities for roles that have access to manage the type.
|
70 |
+
*
|
71 |
+
* @link http://codex.wordpress.org/Roles_and_Capabilities
|
72 |
+
*
|
73 |
+
* @since 1.0.0
|
74 |
+
* @var string[]
|
75 |
+
*/
|
76 |
+
public $capabilities = array('administrator', 'editor');
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Scripts that must be included on edit page.
|
80 |
+
*
|
81 |
+
* @since 1.0.0
|
82 |
+
* @var Wbcr_Factory404_ScriptList[]
|
83 |
+
*/
|
84 |
+
public $scripts;
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Styles that must be included on edit page.
|
88 |
+
*
|
89 |
+
* @since 1.0.0
|
90 |
+
* @var Wbcr_Factory404_StyleList[]
|
91 |
+
*/
|
92 |
+
public $styles;
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Options for a custom type.
|
96 |
+
*
|
97 |
+
* @link http://codex.wordpress.org/Function_Reference/register_post_type
|
98 |
+
* @since 1.0.0
|
99 |
+
*/
|
100 |
+
public $options = array(
|
101 |
+
'hierarchical' => true,
|
102 |
+
'labels' => null,
|
103 |
+
'description' => null,
|
104 |
+
'public' => null,
|
105 |
+
'publicly_queryable' => null,
|
106 |
+
'exclude_from_search' => null,
|
107 |
+
'show_ui' => null,
|
108 |
+
'rest_base' => null,
|
109 |
+
'rest_controller_class' => null,
|
110 |
+
'show_tagcloud' => null,
|
111 |
+
'show_in_quick_edit' => null,
|
112 |
+
'capabilities' => array(),
|
113 |
+
'show_in_nav_menus' => null,
|
114 |
+
'show_in_rest' => null,
|
115 |
+
'show_admin_column' => null,
|
116 |
+
'update_count_callback' => null,
|
117 |
+
'query_var' => null,
|
118 |
+
'rewrite' => null,
|
119 |
+
'meta_box_cb' => null,
|
120 |
+
'sort' => null
|
121 |
+
);
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Messages for a custom post type.
|
125 |
+
*
|
126 |
+
* @link http://codex.wordpress.org/Function_Reference/register_post_type
|
127 |
+
* @since 1.0.0
|
128 |
+
*/
|
129 |
+
public $messages = array();
|
130 |
+
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Creates a new instance of a type.
|
134 |
+
*
|
135 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
136 |
+
*/
|
137 |
+
public function __construct($plugin)
|
138 |
+
{
|
139 |
+
$this->plugin = $plugin;
|
140 |
+
|
141 |
+
$this->metaboxes = array();
|
142 |
+
|
143 |
+
$this->scripts = $this->plugin->newScriptList();
|
144 |
+
$this->styles = $this->plugin->newStyleList();
|
145 |
+
|
146 |
+
add_action('init', array($this, 'register'));
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Registers a custom post type.
|
151 |
+
*
|
152 |
+
* @since 1.0.0
|
153 |
+
* @return void
|
154 |
+
*/
|
155 |
+
public function register()
|
156 |
+
{
|
157 |
+
// type's titles
|
158 |
+
$singular_name = $this->plural_title
|
159 |
+
? $this->plural_title
|
160 |
+
: $this->name;
|
161 |
+
$plural_name = $this->singular_title
|
162 |
+
? $this->singular_title
|
163 |
+
: $this->name;
|
164 |
+
|
165 |
+
$this->options['labels'] = array(
|
166 |
+
'name' => $singular_name,
|
167 |
+
'singular_name' => $plural_name,
|
168 |
+
);
|
169 |
+
|
170 |
+
if( $this->template ) {
|
171 |
+
$this->applyTypeTemplate($this->template);
|
172 |
+
}
|
173 |
+
|
174 |
+
if( is_admin() ) {
|
175 |
+
$this->registerForAdmin();
|
176 |
+
} else $this->registerForPublic();
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Registers the custom taxonomy for the public area.
|
181 |
+
*
|
182 |
+
* @since 1.0.0
|
183 |
+
* @return void
|
184 |
+
*/
|
185 |
+
public function registerForPublic()
|
186 |
+
{
|
187 |
+
register_taxonomy($this->name, $this->post_types, $this->options);
|
188 |
+
}
|
189 |
+
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Registers the custom post type for the admin area.
|
193 |
+
*
|
194 |
+
* @since 1.0.0
|
195 |
+
* @return void
|
196 |
+
*/
|
197 |
+
public function registerForAdmin()
|
198 |
+
{
|
199 |
+
|
200 |
+
$this->buildLables();
|
201 |
+
$this->configure();
|
202 |
+
|
203 |
+
if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
|
204 |
+
add_action('wbcr_factory_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), array(
|
205 |
+
$this,
|
206 |
+
'actionAdminBootstrapScripts'
|
207 |
+
));
|
208 |
+
}
|
209 |
+
|
210 |
+
// includes styles and scripts
|
211 |
+
if( !$this->scripts->isEmpty() || !$this->styles->isEmpty() ) {
|
212 |
+
add_action('admin_enqueue_scripts', array($this, 'actionAdminScripts'));
|
213 |
+
}
|
214 |
+
|
215 |
+
// Add the fields to the taxonomy, using our callback function
|
216 |
+
add_action($this->name . '_edit_form_fields', array($this, 'addCustomFields'), 10);
|
217 |
+
add_action($this->name . '_add_form_fields', array($this, 'addCustomFields'), 10);
|
218 |
+
|
219 |
+
// Save the changes made on the taxonomy, using our callback function
|
220 |
+
add_action('edited_' . $this->name, array($this, 'saveCustomFields'), 10);
|
221 |
+
add_action('created_' . $this->name, array($this, 'saveCustomFields'), 10);
|
222 |
+
|
223 |
+
/*add_action("{$this->name}_pre_edit_form", function () {
|
224 |
+
echo '<div class="factory-bootstrap-404 factory-fontawesome-000">';
|
225 |
+
});
|
226 |
+
add_action("{$this->name}_edit_form", function () {
|
227 |
+
echo '</div>';
|
228 |
+
});*/
|
229 |
+
|
230 |
+
/*if( !empty($this->capabilities) ) {
|
231 |
+
|
232 |
+
$this->options['capability_type'] = $this->name;
|
233 |
+
$this->options['capabilities'] = array(
|
234 |
+
'edit_post' => 'edit_' . $this->name,
|
235 |
+
'read_post' => 'read_' . $this->name,
|
236 |
+
'delete_post' => 'delete_' . $this->name,
|
237 |
+
'delete_posts' => 'delete_' . $this->name . 's',
|
238 |
+
'edit_posts' => 'edit_' . $this->name . 's',
|
239 |
+
'edit_others_posts' => 'edit_others_' . $this->name . 's',
|
240 |
+
'publish_posts' => 'publish_' . $this->name . 's',
|
241 |
+
'read_private_posts' => 'read_private_' . $this->name . 's',
|
242 |
+
'create_posts' => 'edit_' . $this->name . 's'
|
243 |
+
);
|
244 |
+
} elseif( $this->options['capability_type'] == null ) {
|
245 |
+
$this->options['capability_type'] = 'post';
|
246 |
+
}*/
|
247 |
+
|
248 |
+
// register view table
|
249 |
+
/*if( !empty($this->viewTable) && class_exists($this->viewTable) ) {
|
250 |
+
$this->viewTable = new $this->viewTable($this->plugin);
|
251 |
+
$this->viewTable->connect($this);
|
252 |
+
}*/
|
253 |
+
|
254 |
+
register_taxonomy($this->name, $this->post_types, $this->options);
|
255 |
+
}
|
256 |
+
|
257 |
+
public function addCustomFields($tag)
|
258 |
+
{
|
259 |
+
}
|
260 |
+
|
261 |
+
public function saveCustomFields($term_id)
|
262 |
+
{
|
263 |
+
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* Actions that includes registered fot this type scritps and styles.
|
267 |
+
* @global object $post
|
268 |
+
* @param string $hook
|
269 |
+
*/
|
270 |
+
public function actionAdminBootstrapScripts($hook)
|
271 |
+
{
|
272 |
+
global $tax;
|
273 |
+
|
274 |
+
if( !in_array($hook, array('edit-tags.php', 'term.php')) ) {
|
275 |
+
return;
|
276 |
+
}
|
277 |
+
if( $tax->name != $this->name ) {
|
278 |
+
return;
|
279 |
+
}
|
280 |
+
if( $this->scripts->isEmpty('bootstrap') && $this->styles->isEmpty('bootstrap') ) {
|
281 |
+
return;
|
282 |
+
}
|
283 |
+
|
284 |
+
$this->scripts->connect('bootstrap');
|
285 |
+
$this->styles->connect('bootstrap');
|
286 |
+
}
|
287 |
+
|
288 |
+
/**
|
289 |
+
* Actions that includes registered fot this type scritps and styles.
|
290 |
+
* @global object $post
|
291 |
+
* @param string $hook
|
292 |
+
*/
|
293 |
+
public function actionAdminScripts($hook)
|
294 |
+
{
|
295 |
+
global $tax;
|
296 |
+
|
297 |
+
if( !in_array($hook, array('edit-tags.php', 'term.php')) ) {
|
298 |
+
return;
|
299 |
+
}
|
300 |
+
if( $tax->name != $this->name ) {
|
301 |
+
return;
|
302 |
+
}
|
303 |
+
if( $this->scripts->isEmpty() && $this->styles->isEmpty() ) {
|
304 |
+
return;
|
305 |
+
}
|
306 |
+
|
307 |
+
$this->scripts->connect();
|
308 |
+
$this->styles->connect();
|
309 |
+
}
|
310 |
+
|
311 |
+
/**
|
312 |
+
* Applies a given template to the type options.
|
313 |
+
* @param string $templateName allowed values: 'public', 'private', 'internal'
|
314 |
+
* @throws Exception Invalide template name for the type "%s"
|
315 |
+
*/
|
316 |
+
private function applyTypeTemplate($templateName)
|
317 |
+
{
|
318 |
+
|
319 |
+
if( !in_array($templateName, array('public', 'private', 'internal')) ) {
|
320 |
+
throw new Exception(sprintf('Invalide template name for the type "%s"', $this->name));
|
321 |
+
}
|
322 |
+
|
323 |
+
switch( $templateName ) {
|
324 |
+
case 'public':
|
325 |
+
|
326 |
+
$this->options['public'] = true;
|
327 |
+
|
328 |
+
break;
|
329 |
+
case 'private':
|
330 |
+
|
331 |
+
$this->options['public'] = false;
|
332 |
+
|
333 |
+
$this->options['show_in_menu'] = true;
|
334 |
+
$this->options['show_ui'] = true;
|
335 |
+
$this->options['publicly_queryable'] = false;
|
336 |
+
$this->options['exclude_from_search'] = true;
|
337 |
+
|
338 |
+
break;
|
339 |
+
case 'internal':
|
340 |
+
|
341 |
+
$this->options['public'] = false;
|
342 |
+
break;
|
343 |
+
}
|
344 |
+
}
|
345 |
+
|
346 |
+
/**
|
347 |
+
* Builds labels for the post type.
|
348 |
+
*/
|
349 |
+
private function buildLables()
|
350 |
+
{
|
351 |
+
|
352 |
+
// type's titles
|
353 |
+
$singular_name = $this->options['labels']['singular_name'];
|
354 |
+
$plural_name = $this->options['labels']['name'];
|
355 |
+
|
356 |
+
$labels = array(
|
357 |
+
'name' => $plural_name,
|
358 |
+
'singular_name' => $singular_name,
|
359 |
+
'search_items' => sprintf(__('Search %1$s', 'factory_types_404'), $plural_name),
|
360 |
+
'popular_items' => sprintf(__('Popular %1$s', 'factory_types_404'), $plural_name),
|
361 |
+
'all_items' => sprintf(__('All %1$s', 'factory_types_404'), $plural_name),
|
362 |
+
'parent_item' => sprintf(__('Parent %1$s', 'factory_types_404'), $singular_name),
|
363 |
+
'parent_item_colon' => sprintf(__('Parent %1$s:', 'factory_types_404'), $singular_name),
|
364 |
+
'edit_item' => sprintf(__('Edit %1$s', 'factory_types_404'), $singular_name),
|
365 |
+
'update_item' => sprintf(__('Update %1$s', 'factory_types_404'), $singular_name),
|
366 |
+
'add_new_item' => sprintf(__('Add New %1$s', 'factory_types_404'), $singular_name),
|
367 |
+
'new_item_name' => sprintf(__('New %1$s Name', 'factory_types_404'), $singular_name),
|
368 |
+
'separate_items_with_commas' => sprintf(__('Separate %1$s with commas', 'factory_types_404'), $plural_name),
|
369 |
+
'add_or_remove_items' => sprintf(__('Add or remove %1$s', 'factory_types_404'), $plural_name),
|
370 |
+
'choose_from_most_used' => sprintf(__('Choose from the most used %1$s', 'factory_types_404'), $plural_name),
|
371 |
+
'not_found' => sprintf(__('No %1$s found.', 'factory_types_404'), $plural_name),
|
372 |
+
'menu_name' => sprintf(__('%1$s', 'factory_types_404'), $plural_name),
|
373 |
+
);
|
374 |
+
|
375 |
+
$this->options['labels'] = $labels;
|
376 |
+
}
|
377 |
+
|
378 |
+
public function actionAddMetaboxs()
|
379 |
+
{
|
380 |
+
//remove_meta_box('submitdiv', $this->name, 'side');
|
381 |
+
}
|
382 |
+
|
383 |
+
public abstract function configure();
|
384 |
+
|
385 |
+
public function useit()
|
386 |
+
{
|
387 |
+
return true;
|
388 |
+
}
|
389 |
+
}
|
390 |
+
}
|
libs/factory/taxonomies/taxonomy.php
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* A group of classes and methods to create and manage custom types.
|
4 |
+
*
|
5 |
+
* @author Alex Kovalev <alex.kovalevv@gmail.com>
|
6 |
+
* @copyright (c) 2018, Webcraftic Ltd
|
7 |
+
*
|
8 |
+
* @package core
|
9 |
+
* @since 1.0.0
|
10 |
+
*/
|
11 |
+
|
12 |
+
//add_action('factory_404_plugin_activation', 'FactoryTaxonomy000::activationHook');
|
13 |
+
//add_action('factory_404_plugin_deactivation', 'FactoryTaxonomy000::deactivationHook');
|
14 |
+
|
15 |
+
// Exit if accessed directly
|
16 |
+
if( !defined('ABSPATH') ) {
|
17 |
+
exit;
|
18 |
+
}
|
19 |
+
|
20 |
+
if( !class_exists('Wbcr_FactoryTaxonomies324') ) {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* A base class to manage types.
|
24 |
+
*
|
25 |
+
* @since 1.0.0
|
26 |
+
*/
|
27 |
+
class Wbcr_FactoryTaxonomies324 {
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Registered custom types.
|
31 |
+
*
|
32 |
+
* @since 1.0.0
|
33 |
+
* @var Wbcr_FactoryTaxonomies324_Taxonomy[]
|
34 |
+
*/
|
35 |
+
private static $terms = array();
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Registers a new custom type.
|
39 |
+
*
|
40 |
+
* If the second argument is given, capabilities for this type
|
41 |
+
* will be setup on the plugin configuration.
|
42 |
+
*
|
43 |
+
* @param string $class_name
|
44 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
45 |
+
*/
|
46 |
+
public static function register($className, $plugin = null)
|
47 |
+
{
|
48 |
+
$type = new $className($plugin);
|
49 |
+
|
50 |
+
$pluginName = !empty($plugin)
|
51 |
+
? $plugin->getPluginName()
|
52 |
+
: '-';
|
53 |
+
if( !isset(self::$terms[$pluginName]) ) {
|
54 |
+
self::$terms[$pluginName] = array();
|
55 |
+
}
|
56 |
+
|
57 |
+
self::$terms[$pluginName][] = $type;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* A plugin activation hook.
|
62 |
+
*
|
63 |
+
* @since 1.0.0
|
64 |
+
* @param Factory404_Plugin
|
65 |
+
* @return void
|
66 |
+
*/
|
67 |
+
/*public static function activationHook($plugin)
|
68 |
+
{
|
69 |
+
$pluginName = $plugin->pluginName;
|
70 |
+
|
71 |
+
// Sets capabilities for terms.
|
72 |
+
if( isset(self::$terms[$pluginName]) ) {
|
73 |
+
foreach(self::$terms[$pluginName] as $type) {
|
74 |
+
if( empty($type->capabilities) )
|
75 |
+
continue;
|
76 |
+
foreach($type->capabilities as $roleName) {
|
77 |
+
$role = get_role($roleName);
|
78 |
+
if( !$role )
|
79 |
+
continue;
|
80 |
+
|
81 |
+
$role->add_cap('edit_' . $type->name);
|
82 |
+
$role->add_cap('read_' . $type->name);
|
83 |
+
$role->add_cap('delete_' . $type->name);
|
84 |
+
$role->add_cap('edit_' . $type->name . 's');
|
85 |
+
$role->add_cap('edit_others_' . $type->name . 's');
|
86 |
+
$role->add_cap('publish_' . $type->name . 's');
|
87 |
+
$role->add_cap('read_private_' . $type->name . 's');
|
88 |
+
}
|
89 |
+
}
|
90 |
+
}
|
91 |
+
}*/
|
92 |
+
|
93 |
+
/**
|
94 |
+
* A plugin deactivation hook.
|
95 |
+
*
|
96 |
+
* @since 1.0.0
|
97 |
+
* @param Factory404_Plugin
|
98 |
+
* @return void
|
99 |
+
*/
|
100 |
+
/*public static function deactivationHook($plugin)
|
101 |
+
{
|
102 |
+
|
103 |
+
$pluginName = $plugin->pluginName;
|
104 |
+
global $wp_roles;
|
105 |
+
$all_roles = $wp_roles->roles;
|
106 |
+
|
107 |
+
// Sets capabilities for terms.
|
108 |
+
if( isset(self::$terms[$pluginName]) ) {
|
109 |
+
foreach(self::$terms[$pluginName] as $type) {
|
110 |
+
if( empty($type->capabilities) )
|
111 |
+
continue;
|
112 |
+
|
113 |
+
foreach($all_roles as $roleName => $roleInfo) {
|
114 |
+
|
115 |
+
$role = get_role($roleName);
|
116 |
+
if( !$role )
|
117 |
+
continue;
|
118 |
+
|
119 |
+
$role->remove_cap('edit_' . $type->name);
|
120 |
+
$role->remove_cap('read_' . $type->name);
|
121 |
+
$role->remove_cap('delete_' . $type->name);
|
122 |
+
$role->remove_cap('edit_' . $type->name . 's');
|
123 |
+
$role->remove_cap('edit_others_' . $type->name . 's');
|
124 |
+
$role->remove_cap('publish_' . $type->name . 's');
|
125 |
+
$role->remove_cap('read_private_' . $type->name . 's');
|
126 |
+
}
|
127 |
+
}
|
128 |
+
}
|
129 |
+
}*/
|
130 |
+
}
|
131 |
+
}
|
libs/factory/types/boot.php
CHANGED
@@ -14,16 +14,16 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( defined('
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
define('
|
22 |
|
23 |
-
define('
|
24 |
-
define('
|
25 |
|
26 |
-
load_plugin_textdomain('
|
27 |
|
28 |
// sets version of admin interface
|
29 |
if( is_admin() ) {
|
@@ -33,7 +33,7 @@
|
|
33 |
}
|
34 |
|
35 |
#comp merge
|
36 |
-
require(
|
37 |
-
require(
|
38 |
-
require(
|
39 |
#endcomp
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( defined('FACTORY_TYPES_404_LOADED') ) {
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
define('FACTORY_TYPES_404_LOADED', true);
|
22 |
|
23 |
+
define('FACTORY_TYPES_404_DIR', dirname(__FILE__));
|
24 |
+
define('FACTORY_TYPES_404_URL', plugins_url(null, __FILE__));
|
25 |
|
26 |
+
load_plugin_textdomain('wbcr_factory_types_404', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
27 |
|
28 |
// sets version of admin interface
|
29 |
if( is_admin() ) {
|
33 |
}
|
34 |
|
35 |
#comp merge
|
36 |
+
require(FACTORY_TYPES_404_DIR . '/types.php');
|
37 |
+
require(FACTORY_TYPES_404_DIR . '/type.class.php');
|
38 |
+
require(FACTORY_TYPES_404_DIR . '/includes/type-menu.class.php');
|
39 |
#endcomp
|
libs/factory/types/includes/type-menu.class.php
CHANGED
@@ -4,21 +4,21 @@
|
|
4 |
if( !defined('ABSPATH') ) {
|
5 |
exit;
|
6 |
}
|
7 |
-
if( !class_exists('
|
8 |
-
class
|
9 |
|
10 |
public $icon;
|
11 |
|
12 |
/**
|
13 |
* A custom post type that is configurated by this instance.
|
14 |
-
* @var
|
15 |
*/
|
16 |
public $type = null;
|
17 |
|
18 |
/**
|
19 |
-
* @param
|
20 |
*/
|
21 |
-
public function __construct(
|
22 |
{
|
23 |
$this->type = $type;
|
24 |
}
|
4 |
if( !defined('ABSPATH') ) {
|
5 |
exit;
|
6 |
}
|
7 |
+
if( !class_exists('Wbcr_FactoryTypes404_Menu') ) {
|
8 |
+
class Wbcr_FactoryTypes404_Menu {
|
9 |
|
10 |
public $icon;
|
11 |
|
12 |
/**
|
13 |
* A custom post type that is configurated by this instance.
|
14 |
+
* @var Wbcr_FactoryTypes404_Type
|
15 |
*/
|
16 |
public $type = null;
|
17 |
|
18 |
/**
|
19 |
+
* @param Wbcr_FactoryTypes404_Type $type
|
20 |
*/
|
21 |
+
public function __construct(Wbcr_FactoryTypes404_Type $type)
|
22 |
{
|
23 |
$this->type = $type;
|
24 |
}
|
libs/factory/types/langs/wbcr_factory_types_404-ru_RU.mo
ADDED
Binary file
|
libs/factory/types/langs/wbcr_factory_types_404-ru_RU.po
ADDED
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: factory_forms\n"
|
4 |
+
"POT-Creation-Date: 2014-05-11 00:17+0400\n"
|
5 |
+
"PO-Revision-Date: 2014-05-11 00:18+0400\n"
|
6 |
+
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 1.6.5\n"
|
13 |
+
"X-Poedit-Basepath: E:\\cloud\\Dropbox\\OnePress\\Products\\Topic\\Plugin - "
|
14 |
+
"Social Locker for Wordpress\\wp-content\\plugins\\sociallocker-next\\libs"
|
15 |
+
"\\factory\\types\n"
|
16 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
17 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
18 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
19 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
20 |
+
"X-Poedit-SearchPath-0: E:\\cloud\\Dropbox\\OnePress\\Products\\Topic\\Plugin "
|
21 |
+
"- Social Locker for Wordpress\\wp-content\\plugins\\sociallocker-next\\libs"
|
22 |
+
"\\factory\\types\n"
|
23 |
+
|
24 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
25 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:329
|
26 |
+
#, php-format
|
27 |
+
msgid "All %1$s"
|
28 |
+
msgstr "Все %1$s"
|
29 |
+
|
30 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
31 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:330
|
32 |
+
#, php-format
|
33 |
+
msgid "Add %1$s"
|
34 |
+
msgstr "Создать %1$s"
|
35 |
+
|
36 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
37 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:331
|
38 |
+
msgid "Add new"
|
39 |
+
msgstr "Создать новый"
|
40 |
+
|
41 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
42 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:332
|
43 |
+
msgid "Edit"
|
44 |
+
msgstr "Редактировать"
|
45 |
+
|
46 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
47 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:333
|
48 |
+
#, php-format
|
49 |
+
msgid "Edit %1$s"
|
50 |
+
msgstr "Редактировать %1$s"
|
51 |
+
|
52 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
53 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:334
|
54 |
+
#, php-format
|
55 |
+
msgid "New %1$s"
|
56 |
+
msgstr "Новый %1$s"
|
57 |
+
|
58 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
59 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:335
|
60 |
+
msgid "View"
|
61 |
+
msgstr "Просмотреть"
|
62 |
+
|
63 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
64 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:336
|
65 |
+
#, php-format
|
66 |
+
msgid "View %1$s"
|
67 |
+
msgstr "Просмотреть %1$s"
|
68 |
+
|
69 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
70 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:337
|
71 |
+
#, php-format
|
72 |
+
msgid "Search %1$s"
|
73 |
+
msgstr "Поиск %1$s"
|
74 |
+
|
75 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
76 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:338
|
77 |
+
#, php-format
|
78 |
+
msgid "No %1$s found"
|
79 |
+
msgstr "%1$s не найден"
|
80 |
+
|
81 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
82 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:339
|
83 |
+
#, php-format
|
84 |
+
msgid "No %1$s found in trash"
|
85 |
+
msgstr "В корзине %1$s не найден"
|
86 |
+
|
87 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
88 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:340
|
89 |
+
#, php-format
|
90 |
+
msgid "Parent %1$s"
|
91 |
+
msgstr "Родитель %1$s"
|
92 |
+
|
93 |
+
#: E:\cloud\Dropbox\OnePress\Products\Topic\Plugin - Social Locker for
|
94 |
+
#: Wordpress\wp-content\plugins\sociallocker-next\libs\factory\types/type.class.php:390
|
95 |
+
msgid "M j, Y @ G:i"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#~ msgid "Add"
|
99 |
+
#~ msgstr "Добавить"
|
libs/factory/types/type.class.php
CHANGED
@@ -14,14 +14,14 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
/**
|
20 |
* The base class that provides abstraction for custom post type.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
-
abstract class
|
25 |
|
26 |
/**
|
27 |
* Internal type name.
|
@@ -69,7 +69,7 @@
|
|
69 |
* A view table is used to show type records in the admin area.
|
70 |
*
|
71 |
* @since 1.0.0
|
72 |
-
* @var
|
73 |
*/
|
74 |
public $view_table;
|
75 |
|
@@ -87,7 +87,7 @@
|
|
87 |
* Scripts that must be included on edit page.
|
88 |
*
|
89 |
* @since 1.0.0
|
90 |
-
* @var
|
91 |
*/
|
92 |
public $scripts;
|
93 |
|
@@ -95,14 +95,14 @@
|
|
95 |
* Styles that must be included on edit page.
|
96 |
*
|
97 |
* @since 1.0.0
|
98 |
-
* @var
|
99 |
*/
|
100 |
public $styles;
|
101 |
|
102 |
/**
|
103 |
* A menu configurator for a type.
|
104 |
*
|
105 |
-
* @var
|
106 |
*/
|
107 |
public $menu;
|
108 |
|
@@ -151,13 +151,13 @@
|
|
151 |
/**
|
152 |
* Creates a new instance of a type.
|
153 |
*
|
154 |
-
* @param
|
155 |
*/
|
156 |
-
public function __construct(
|
157 |
{
|
158 |
$this->plugin = $plugin;
|
159 |
|
160 |
-
$this->menu = new
|
161 |
$this->metaboxes = array();
|
162 |
|
163 |
$this->scripts = $this->plugin->newScriptList();
|
@@ -224,11 +224,11 @@
|
|
224 |
|
225 |
// adds metaboxes that needed to load
|
226 |
foreach($this->metaboxes as $metabox) {
|
227 |
-
|
228 |
}
|
229 |
|
230 |
if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
|
231 |
-
add_action('
|
232 |
$this,
|
233 |
'actionAdminBootstrapScripts'
|
234 |
));
|
@@ -244,7 +244,7 @@
|
|
244 |
|
245 |
// redefines the Publish metabox for non-public types
|
246 |
if( $this->template !== 'public' ) {
|
247 |
-
//
|
248 |
add_action('add_meta_boxes', array($this, 'actionAddMetaboxs'));
|
249 |
}
|
250 |
|
@@ -379,18 +379,18 @@
|
|
379 |
$labels = array(
|
380 |
'singular_name' => $singular_name,
|
381 |
'name' => $plural_name,
|
382 |
-
'all_items' => sprintf(__('All %1$s', '
|
383 |
-
'add_new' => sprintf(__('Add %1$s', '
|
384 |
-
'add_new_item' => sprintf(__('Add new', '
|
385 |
-
'edit' => sprintf(__('Edit', '
|
386 |
-
'edit_item' => sprintf(__('Edit %1$s', '
|
387 |
-
'new_item' => sprintf(__('New %1$s', '
|
388 |
-
'view' => sprintf(__('View', '
|
389 |
-
'view_item' => sprintf(__('View %1$s', '
|
390 |
-
'search_items' => sprintf(__('Search %1$s', '
|
391 |
-
'not_found' => sprintf(__('No %1$s found', '
|
392 |
-
'not_found_in_trash' => sprintf(__('No %1$s found in trash', '
|
393 |
-
'parent' => sprintf(__('Parent %1$s', '
|
394 |
);
|
395 |
|
396 |
$this->options['labels'] = $labels;
|
@@ -448,7 +448,7 @@
|
|
448 |
),
|
449 |
array(
|
450 |
'{scheduled}',
|
451 |
-
date_i18n(__('M j, Y @ G:i', '
|
452 |
)
|
453 |
);
|
454 |
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryTypes404_Type') ) {
|
18 |
|
19 |
/**
|
20 |
* The base class that provides abstraction for custom post type.
|
21 |
*
|
22 |
* @since 1.0.0
|
23 |
*/
|
24 |
+
abstract class Wbcr_FactoryTypes404_Type {
|
25 |
|
26 |
/**
|
27 |
* Internal type name.
|
69 |
* A view table is used to show type records in the admin area.
|
70 |
*
|
71 |
* @since 1.0.0
|
72 |
+
* @var FactoryViewtables403_Viewtable
|
73 |
*/
|
74 |
public $view_table;
|
75 |
|
87 |
* Scripts that must be included on edit page.
|
88 |
*
|
89 |
* @since 1.0.0
|
90 |
+
* @var Wbcr_Factory404_ScriptList
|
91 |
*/
|
92 |
public $scripts;
|
93 |
|
95 |
* Styles that must be included on edit page.
|
96 |
*
|
97 |
* @since 1.0.0
|
98 |
+
* @var Wbcr_Factory404_StyleList
|
99 |
*/
|
100 |
public $styles;
|
101 |
|
102 |
/**
|
103 |
* A menu configurator for a type.
|
104 |
*
|
105 |
+
* @var Wbcr_FactoryTypes404_Menu
|
106 |
*/
|
107 |
public $menu;
|
108 |
|
151 |
/**
|
152 |
* Creates a new instance of a type.
|
153 |
*
|
154 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
155 |
*/
|
156 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
157 |
{
|
158 |
$this->plugin = $plugin;
|
159 |
|
160 |
+
$this->menu = new Wbcr_FactoryTypes404_Menu($this);
|
161 |
$this->metaboxes = array();
|
162 |
|
163 |
$this->scripts = $this->plugin->newScriptList();
|
224 |
|
225 |
// adds metaboxes that needed to load
|
226 |
foreach($this->metaboxes as $metabox) {
|
227 |
+
Wbcr_FactoryMetaboxes403::registerFor($metabox, $this->name, $this->plugin);
|
228 |
}
|
229 |
|
230 |
if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
|
231 |
+
add_action('wbcr_factory_404_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), array(
|
232 |
$this,
|
233 |
'actionAdminBootstrapScripts'
|
234 |
));
|
244 |
|
245 |
// redefines the Publish metabox for non-public types
|
246 |
if( $this->template !== 'public' ) {
|
247 |
+
//Wbcr_FactoryMetaboxes403::registerFor('Wbcr_FactoryMetaboxes403_PublishMetabox', $this->name);
|
248 |
add_action('add_meta_boxes', array($this, 'actionAddMetaboxs'));
|
249 |
}
|
250 |
|
379 |
$labels = array(
|
380 |
'singular_name' => $singular_name,
|
381 |
'name' => $plural_name,
|
382 |
+
'all_items' => sprintf(__('All %1$s', 'wbcr_factory_types_404'), $plural_name),
|
383 |
+
'add_new' => sprintf(__('Add %1$s', 'wbcr_factory_types_404'), $singular_name),
|
384 |
+
'add_new_item' => sprintf(__('Add new', 'wbcr_factory_types_404'), $singular_name),
|
385 |
+
'edit' => sprintf(__('Edit', 'wbcr_factory_types_404')),
|
386 |
+
'edit_item' => sprintf(__('Edit %1$s', 'wbcr_factory_types_404'), $singular_name),
|
387 |
+
'new_item' => sprintf(__('New %1$s', 'wbcr_factory_types_404'), $singular_name),
|
388 |
+
'view' => sprintf(__('View', 'wbcr_factory_types_404')),
|
389 |
+
'view_item' => sprintf(__('View %1$s', 'wbcr_factory_types_404'), $singular_name),
|
390 |
+
'search_items' => sprintf(__('Search %1$s', 'wbcr_factory_types_404'), $plural_name),
|
391 |
+
'not_found' => sprintf(__('No %1$s found', 'wbcr_factory_types_404'), $plural_name),
|
392 |
+
'not_found_in_trash' => sprintf(__('No %1$s found in trash', 'wbcr_factory_types_404'), $plural_name),
|
393 |
+
'parent' => sprintf(__('Parent %1$s', 'wbcr_factory_types_404'), $plural_name)
|
394 |
);
|
395 |
|
396 |
$this->options['labels'] = $labels;
|
448 |
),
|
449 |
array(
|
450 |
'{scheduled}',
|
451 |
+
date_i18n(__('M j, Y @ G:i', 'wbcr_factory_types_404'), strtotime($post->post_date))
|
452 |
)
|
453 |
);
|
454 |
|
libs/factory/types/types.php
CHANGED
@@ -14,23 +14,23 @@
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
if( !class_exists('
|
18 |
|
19 |
-
add_action('
|
20 |
-
add_action('
|
21 |
|
22 |
/**
|
23 |
* A base class to manage types.
|
24 |
*
|
25 |
* @since 1.0.0
|
26 |
*/
|
27 |
-
class
|
28 |
|
29 |
/**
|
30 |
* Registered custom types.
|
31 |
*
|
32 |
* @since 1.0.0
|
33 |
-
* @var
|
34 |
*/
|
35 |
private static $types = array();
|
36 |
|
@@ -41,9 +41,9 @@
|
|
41 |
* will be setup on the plugin configuration.
|
42 |
*
|
43 |
* @param string $class_name
|
44 |
-
* @param
|
45 |
*/
|
46 |
-
public static function register($class_name,
|
47 |
{
|
48 |
$type = new $class_name($plugin);
|
49 |
|
@@ -61,10 +61,10 @@
|
|
61 |
* A plugin activation hook.
|
62 |
*
|
63 |
* @since 1.0.0
|
64 |
-
* @param
|
65 |
* @return void
|
66 |
*/
|
67 |
-
public static function activationHook(
|
68 |
{
|
69 |
$plugin_name = $plugin->getPluginName();
|
70 |
|
@@ -96,10 +96,10 @@
|
|
96 |
* A plugin deactivation hook.
|
97 |
*
|
98 |
* @since 1.0.0
|
99 |
-
* @param
|
100 |
* @return void
|
101 |
*/
|
102 |
-
public static function deactivationHook(
|
103 |
{
|
104 |
|
105 |
$plugin_name = $plugin->getPluginName();
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
if( !class_exists('Wbcr_FactoryTypes404') ) {
|
18 |
|
19 |
+
add_action('wbcr_factory_404_plugin_activation', 'Wbcr_FactoryTypes404::activationHook');
|
20 |
+
add_action('wbcr_factory_404_plugin_deactivation', 'Wbcr_FactoryTypes404::deactivationHook');
|
21 |
|
22 |
/**
|
23 |
* A base class to manage types.
|
24 |
*
|
25 |
* @since 1.0.0
|
26 |
*/
|
27 |
+
class Wbcr_FactoryTypes404 {
|
28 |
|
29 |
/**
|
30 |
* Registered custom types.
|
31 |
*
|
32 |
* @since 1.0.0
|
33 |
+
* @var Wbcr_FactoryTypes404_Type[]
|
34 |
*/
|
35 |
private static $types = array();
|
36 |
|
41 |
* will be setup on the plugin configuration.
|
42 |
*
|
43 |
* @param string $class_name
|
44 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
45 |
*/
|
46 |
+
public static function register($class_name, Wbcr_Factory404_Plugin $plugin = null)
|
47 |
{
|
48 |
$type = new $class_name($plugin);
|
49 |
|
61 |
* A plugin activation hook.
|
62 |
*
|
63 |
* @since 1.0.0
|
64 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
65 |
* @return void
|
66 |
*/
|
67 |
+
public static function activationHook(Wbcr_Factory404_Plugin $plugin)
|
68 |
{
|
69 |
$plugin_name = $plugin->getPluginName();
|
70 |
|
96 |
* A plugin deactivation hook.
|
97 |
*
|
98 |
* @since 1.0.0
|
99 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
100 |
* @return void
|
101 |
*/
|
102 |
+
public static function deactivationHook(Wbcr_Factory404_Plugin $plugin)
|
103 |
{
|
104 |
|
105 |
$plugin_name = $plugin->getPluginName();
|
libs/factory/viewtables/boot.php
CHANGED
@@ -19,15 +19,15 @@
|
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
-
if( defined('
|
23 |
return;
|
24 |
}
|
25 |
-
define('
|
26 |
|
27 |
-
define('
|
28 |
-
define('
|
29 |
|
30 |
#comp merge
|
31 |
-
require(
|
32 |
-
require(
|
33 |
#endcomp
|
19 |
return;
|
20 |
}
|
21 |
|
22 |
+
if( defined('FACTORY_VIEWTABLES_403_LOADED') ) {
|
23 |
return;
|
24 |
}
|
25 |
+
define('FACTORY_VIEWTABLES_403_LOADED', true);
|
26 |
|
27 |
+
define('FACTORY_VIEWTABLES_403_DIR', dirname(__FILE__));
|
28 |
+
define('FACTORY_VIEWTABLES_403_URL', plugins_url(null, __FILE__));
|
29 |
|
30 |
#comp merge
|
31 |
+
require(FACTORY_VIEWTABLES_403_DIR . '/viewtable.class.php');
|
32 |
+
require(FACTORY_VIEWTABLES_403_DIR . '/includes/viewtable-columns.class.php');
|
33 |
#endcomp
|
libs/factory/viewtables/includes/viewtable-columns.class.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class
|
4 |
|
5 |
public $isClearn = false;
|
6 |
public $columns;
|
1 |
<?php
|
2 |
|
3 |
+
class FactoryViewtables403_Columns {
|
4 |
|
5 |
public $isClearn = false;
|
6 |
public $columns;
|
libs/factory/viewtables/viewtable.class.php
CHANGED
@@ -15,31 +15,31 @@
|
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
-
if( !class_exists('
|
19 |
|
20 |
-
abstract class
|
21 |
|
22 |
/**
|
23 |
* A type used to display the table.
|
24 |
-
* @var
|
25 |
*/
|
26 |
public $type;
|
27 |
|
28 |
/**
|
29 |
* Table's columns
|
30 |
-
* @var
|
31 |
*/
|
32 |
public $columns;
|
33 |
|
34 |
/**
|
35 |
* Scripts that must be included on edit page.
|
36 |
-
* @var
|
37 |
*/
|
38 |
public $scripts;
|
39 |
|
40 |
/**
|
41 |
* Styles that must be included on edit page.
|
42 |
-
* @var
|
43 |
*/
|
44 |
public $styles;
|
45 |
|
@@ -47,9 +47,9 @@
|
|
47 |
* Creates a new instance of a viewtabl.
|
48 |
*
|
49 |
* @since 1.0.0
|
50 |
-
* @param
|
51 |
*/
|
52 |
-
public function __construct(
|
53 |
{
|
54 |
$this->plugin = $plugin;
|
55 |
}
|
@@ -58,7 +58,7 @@
|
|
58 |
{
|
59 |
|
60 |
$this->type = $type;
|
61 |
-
$this->columns = new
|
62 |
|
63 |
$this->scripts = $this->plugin->newScriptList();
|
64 |
$this->styles = $this->plugin->newStyleList();
|
15 |
exit;
|
16 |
}
|
17 |
|
18 |
+
if( !class_exists('Wbcr_FactoryViewtables403_Viewtable') ) {
|
19 |
|
20 |
+
abstract class Wbcr_FactoryViewtables403_Viewtable {
|
21 |
|
22 |
/**
|
23 |
* A type used to display the table.
|
24 |
+
* @var Wbcr_FactoryTypes404_Type
|
25 |
*/
|
26 |
public $type;
|
27 |
|
28 |
/**
|
29 |
* Table's columns
|
30 |
+
* @var FactoryViewtables403_Columns
|
31 |
*/
|
32 |
public $columns;
|
33 |
|
34 |
/**
|
35 |
* Scripts that must be included on edit page.
|
36 |
+
* @var Wbcr_Factory404_ScriptList
|
37 |
*/
|
38 |
public $scripts;
|
39 |
|
40 |
/**
|
41 |
* Styles that must be included on edit page.
|
42 |
+
* @var Wbcr_Factory404_StyleList
|
43 |
*/
|
44 |
public $styles;
|
45 |
|
47 |
* Creates a new instance of a viewtabl.
|
48 |
*
|
49 |
* @since 1.0.0
|
50 |
+
* @param Wbcr_Factory404_Plugin $plugin
|
51 |
*/
|
52 |
+
public function __construct(Wbcr_Factory404_Plugin $plugin)
|
53 |
{
|
54 |
$this->plugin = $plugin;
|
55 |
}
|
58 |
{
|
59 |
|
60 |
$this->type = $type;
|
61 |
+
$this->columns = new FactoryViewtables403_Columns();
|
62 |
|
63 |
$this->scripts = $this->plugin->newScriptList();
|
64 |
$this->styles = $this->plugin->newStyleList();
|
readme.txt
CHANGED
@@ -159,6 +159,14 @@ When the error is located, correct it and try again.
|
|
159 |
5. Old way to use the plugin
|
160 |
|
161 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
= 2.0.4 =
|
163 |
* Fixed critical bug with $wp_query. It was a conflict with some plugins that overwritten the global variable $wp_query.
|
164 |
* All created and updated snippets by default, are now active.
|
159 |
5. Old way to use the plugin
|
160 |
|
161 |
== Changelog ==
|
162 |
+
|
163 |
+
= 2.0.6 =
|
164 |
+
* Changed the way to safely save snippets. Now in case of an error, you will not lose the snippet changes. And also now there is no verification for snippets created for shortcodes, because of what many users had a problem with saving their old code.
|
165 |
+
* You can get the values of the variables from the shortcode attributes. For example, if you set the my_type attribute for the shortcode [wbcr_php_snippet id="2864" my_type="button"], you can get the value of the my_type attribute in the snippet by calling $my_type var.
|
166 |
+
* Added feature to set tags for snippets
|
167 |
+
* Added an instruction on how to export and import your own snippets
|
168 |
+
* Some bugs fixed.
|
169 |
+
|
170 |
= 2.0.4 =
|
171 |
* Fixed critical bug with $wp_query. It was a conflict with some plugins that overwritten the global variable $wp_query.
|
172 |
* All created and updated snippets by default, are now active.
|
uninstall.php
CHANGED
@@ -5,11 +5,11 @@
|
|
5 |
die;
|
6 |
}
|
7 |
|
8 |
-
// remove plugin options
|
9 |
global $wpdb;
|
10 |
|
11 |
$snippets = get_posts(array(
|
12 |
'post_type' => 'wbcr-snippets',
|
|
|
13 |
'numberposts' => -1
|
14 |
));
|
15 |
|
@@ -19,4 +19,18 @@
|
|
19 |
}
|
20 |
}
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_inp_%';");
|
5 |
die;
|
6 |
}
|
7 |
|
|
|
8 |
global $wpdb;
|
9 |
|
10 |
$snippets = get_posts(array(
|
11 |
'post_type' => 'wbcr-snippets',
|
12 |
+
'post_status' => 'any',
|
13 |
'numberposts' => -1
|
14 |
));
|
15 |
|
19 |
}
|
20 |
}
|
21 |
|
22 |
+
$taxonomy = 'wbcr-snippet-tags';
|
23 |
+
$query = 'SELECT t.name, t.term_id
|
24 |
+
FROM ' . $wpdb->terms . ' AS t
|
25 |
+
INNER JOIN ' . $wpdb->term_taxonomy . ' AS tt
|
26 |
+
ON t.term_id = tt.term_id
|
27 |
+
WHERE tt.taxonomy = "' . $taxonomy . '"';
|
28 |
+
|
29 |
+
$terms = $wpdb->get_results($query);
|
30 |
+
|
31 |
+
foreach($terms as $term) {
|
32 |
+
wp_delete_term($term->term_id, $taxonomy);
|
33 |
+
}
|
34 |
+
|
35 |
+
// remove plugin options
|
36 |
$wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE 'wbcr_inp_%';");
|