Version Description
- Fixed: Unable to save widget settings
Download this release
Release Info
Developer | webtemyk |
Plugin | Instagram Slider Widget |
Version | 1.7.13 |
Comparing to | |
See all releases |
Code changes from version 1.6.3 to 1.7.13
- admin/ajax/check-license.php +70 -67
- admin/assets/css/component.css +249 -0
- admin/assets/css/jr-insta-admin.css +535 -67
- admin/assets/css/license-manager.css +530 -427
- admin/assets/img/bg2.png +0 -0
- admin/assets/img/bg22.png +0 -0
- admin/assets/img/demo/1.png +0 -0
- admin/assets/img/demo/1.svg +25 -0
- admin/assets/img/demo/2.png +0 -0
- admin/assets/img/demo/2.svg +41 -0
- admin/assets/img/demo/3.png +0 -0
- admin/assets/img/demo/3.svg +29 -0
- admin/assets/img/demo/4.png +0 -0
- admin/assets/img/demo/4.svg +61 -0
- admin/assets/img/demo/5.png +0 -0
- admin/assets/img/demo/5.svg +41 -0
- admin/assets/img/demo/6.png +0 -0
- admin/assets/img/demo/6.svg +45 -0
- admin/assets/img/fb-icon-button.png +0 -0
- admin/assets/img/fb-icon.png +0 -0
- admin/assets/img/insta-icon.png +0 -0
- admin/assets/img/spinner.svg +26 -0
- admin/assets/img/youtube-icon.png +0 -0
- admin/assets/js/cbpFWTabs.js +72 -0
- admin/assets/js/jr-insta-admin.js +517 -189
- admin/assets/js/tinymce_button.js +40 -40
- admin/class-wis-activation.php +2 -2
- admin/class-wis-page.php +11 -6
- admin/pages/Licenses.php +86 -0
- admin/pages/about.php +4 -4
- admin/pages/components.php +99 -0
- admin/pages/license.php +20 -15
- admin/pages/settings.php +72 -29
- admin/pages/widgets.php +127 -8
- admin/views/facebook.php +94 -0
- admin/views/instagram.php +193 -0
- admin/views/tab-about.php +105 -36
- admin/views/tab-addon_licenses.php +69 -0
- admin/views/tab-components.php +68 -0
- admin/views/tab-license.php +85 -85
- admin/views/tab-licenses.php +45 -0
- admin/views/tab-settings.php +44 -97
- admin/views/tab-showcase-license.php +147 -0
- admin/views/tab-widgets.php +77 -34
- admin/views/youtube.php +1 -0
- assets/css/instag-slider.css +566 -147
- assets/css/jr-insta.css +154 -0
- assets/css/wis-header.css +48 -38
- assets/image.png +0 -0
- assets/img/icon.png +0 -0
- assets/img/spinner.svg +26 -0
- assets/js/jr-insta.js +7 -0
- html_templates/facebook_slider_template.php +15 -0
- html_templates/feed_header_template.php +6 -6
- includes/class-wis-plugin.php +110 -40
- includes/class-wis_facebook_slider.php +488 -0
- includes/class-wis_instagram_slider.php +1579 -706
- includes/class.wis_social.php +75 -0
- includes/demo_widgets.php +391 -0
- includes/socials/class.wis_facebook.php +280 -0
- includes/socials/class.wis_youtube.php +0 -0
- instaram_slider.php +83 -38
- languages/instagram-slider-widget-en_US.po +628 -628
- languages/instagram-slider-widget-ru_RU.po +644 -644
- languages/instagram-slider-widget.pot +629 -629
- {vendor → libs/factory/adverts/assets}/index.php +0 -0
- libs/factory/adverts/assets/js/index.php +2 -0
- libs/factory/adverts/assets/js/script.js +13 -0
- libs/factory/adverts/boot.php +14 -14
- libs/factory/adverts/includes/class-adverts-base.php +261 -0
- libs/factory/adverts/includes/class-adverts-dashboard-widget.php +107 -0
- libs/factory/adverts/includes/class-adverts-rest-request.php +180 -0
- libs/factory/adverts/includes/class-base.php +6 -6
- libs/factory/adverts/includes/class-dashboard-widget.php +4 -4
- libs/factory/adverts/includes/class-rest-request.php +65 -45
- libs/factory/adverts/langs/wbcr_factory_adverts_102-ru_RU.mo +0 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_102-ru_RU.po +83 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_105-ru_RU.mo +0 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_105-ru_RU.po +83 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_107-ru_RU.mo +0 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_107-ru_RU.po +83 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_108-ru_RU.mo +0 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_108-ru_RU.po +83 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.mo +0 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.po +83 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_114-ru_RU.mo +0 -0
- libs/factory/adverts/langs/wbcr_factory_adverts_114-ru_RU.po +83 -0
- libs/factory/adverts/readme.txt +98 -0
- libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +1 -1
- libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +2 -2
- libs/factory/bootstrap/assets/css-min/bootstrap.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
admin/ajax/check-license.php
CHANGED
@@ -1,87 +1,90 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
check_admin_referer('license');
|
22 |
-
|
23 |
-
$action = WIS_Plugin::app()->request->post('license_action', false, true);
|
24 |
-
$license_key = WIS_Plugin::app()->request->post('licensekey', null);
|
25 |
-
|
26 |
-
if( empty($action) || !in_array($action, array('activate', 'deactivate', 'sync', 'unsubscribe')) ) {
|
27 |
-
wp_send_json_error(array('error_message' => __('Licensing action not passed or this action is prohibited!', 'instagram-slider-widget')));
|
28 |
-
die();
|
29 |
-
}
|
30 |
|
31 |
-
|
|
|
32 |
|
33 |
-
|
34 |
-
|
|
|
|
|
35 |
|
36 |
-
|
37 |
-
case 'activate':
|
38 |
-
if( empty($license_key) || strlen($license_key) > 32 ) {
|
39 |
-
wp_send_json_error(array('error_message' => __('License key is empty or license key too long (license key is 32 characters long)', 'instagram-slider-widget')));
|
40 |
-
} else {
|
41 |
-
$result = $licensing->activate($license_key);
|
42 |
-
$success_message = __('Your license has been successfully activated', 'instagram-slider-widget');
|
43 |
-
}
|
44 |
-
break;
|
45 |
-
case 'deactivate':
|
46 |
-
$result = $licensing->deactivate();
|
47 |
-
$success_message = __('The license is deactivated', 'instagram-slider-widget');
|
48 |
-
break;
|
49 |
-
case 'sync':
|
50 |
-
$result = $licensing->sync();
|
51 |
-
$success_message = __('The license has been updated', 'instagram-slider-widget');
|
52 |
-
break;
|
53 |
-
case 'unsubscribe':
|
54 |
-
$result = $licensing->cancel_paid_subscription();
|
55 |
-
$success_message = __('Subscription success cancelled', 'instagram-slider-widget');
|
56 |
-
break;
|
57 |
-
}
|
58 |
|
59 |
-
|
|
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
|
69 |
-
|
70 |
-
die();
|
71 |
-
}
|
72 |
|
73 |
/**
|
74 |
-
* Экшен выполняет, когда проверка лицензии
|
|
|
75 |
* @param string $action
|
76 |
* @param string $license_key
|
|
|
77 |
* @since 1.4.0
|
78 |
*/
|
79 |
-
add_action('wbcr/isw/
|
80 |
-
|
81 |
-
wp_send_json_success(array('message' => $success_message));
|
82 |
|
|
|
83 |
die();
|
84 |
}
|
85 |
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Ajax plugin check licensing
|
4 |
+
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
5 |
+
* @copyright (c) 2017 Webraftic Ltd
|
6 |
+
* @version 1.0
|
7 |
+
*/
|
8 |
|
9 |
+
// Exit if accessed directly
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
|
14 |
+
/**
|
15 |
+
* Обработчик ajax запросов для проверки, активации, деактивации лицензионного ключа
|
16 |
+
*
|
17 |
+
* @since 1.4.0
|
18 |
+
*/
|
19 |
+
function wis_check_license() {
|
20 |
+
check_admin_referer( 'license' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
+
$action = WIS_Plugin::app()->request->post( 'license_action', false, true );
|
23 |
+
$license_key = WIS_Plugin::app()->request->post( 'licensekey', null );
|
24 |
|
25 |
+
if ( empty( $action ) || ! in_array( $action, array( 'activate', 'deactivate', 'sync', 'unsubscribe' ) ) ) {
|
26 |
+
wp_send_json_error( array( 'error_message' => __( 'Licensing action not passed or this action is prohibited!', 'instagram-slider-widget' ) ) );
|
27 |
+
die();
|
28 |
+
}
|
29 |
|
30 |
+
$licensing = WIS_Plugin::app()->premium;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
+
$result = null;
|
33 |
+
$success_message = '';
|
34 |
|
35 |
+
switch ( $action ) {
|
36 |
+
case 'activate':
|
37 |
+
if ( empty( $license_key ) || strlen( $license_key ) > 32 ) {
|
38 |
+
wp_send_json_error( array( 'error_message' => __( 'License key is empty or license key too long (license key is 32 characters long)', 'instagram-slider-widget' ) ) );
|
39 |
+
} else {
|
40 |
+
$result = $licensing->activate( $license_key );
|
41 |
+
$success_message = __( 'Your license has been successfully activated', 'instagram-slider-widget' );
|
42 |
+
}
|
43 |
+
break;
|
44 |
+
case 'deactivate':
|
45 |
+
$result = $licensing->deactivate();
|
46 |
+
$success_message = __( 'The license is deactivated', 'instagram-slider-widget' );
|
47 |
+
break;
|
48 |
+
case 'sync':
|
49 |
+
$result = $licensing->sync();
|
50 |
+
$success_message = __( 'The license has been updated', 'instagram-slider-widget' );
|
51 |
+
break;
|
52 |
+
case 'unsubscribe':
|
53 |
+
$result = $licensing->cancel_paid_subscription();
|
54 |
+
$success_message = __( 'Subscription success cancelled', 'instagram-slider-widget' );
|
55 |
+
break;
|
56 |
+
}
|
57 |
|
58 |
+
if ( is_wp_error( $result ) ) {
|
|
|
|
|
59 |
|
60 |
/**
|
61 |
+
* Экшен выполняет, когда проверка лицензии вернула ошибку
|
62 |
+
*
|
63 |
* @param string $action
|
64 |
* @param string $license_key
|
65 |
+
*
|
66 |
* @since 1.4.0
|
67 |
*/
|
68 |
+
add_action( 'wbcr/isw/check_license_error', $action, $license_key );
|
|
|
|
|
69 |
|
70 |
+
wp_send_json_error( array( 'error_message' => $result->get_error_message() ) );
|
71 |
die();
|
72 |
}
|
73 |
|
74 |
+
/**
|
75 |
+
* Экшен выполняет, когда проверка лицензии успешно завершена
|
76 |
+
*
|
77 |
+
* @param string $action
|
78 |
+
* @param string $license_key
|
79 |
+
*
|
80 |
+
* @since 1.4.0
|
81 |
+
*/
|
82 |
+
add_action( 'wbcr/isw/check_license_success', $action, $license_key );
|
83 |
+
|
84 |
+
wp_send_json_success( array( 'message' => $success_message ) );
|
85 |
+
|
86 |
+
die();
|
87 |
+
}
|
88 |
+
|
89 |
+
add_action( 'wp_ajax_wis_check_license', 'wis_check_license' );
|
90 |
|
admin/assets/css/component.css
ADDED
@@ -0,0 +1,249 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#wpcontent
|
2 |
+
{
|
3 |
+
padding-left: 0 !important;
|
4 |
+
background-color: white !important;
|
5 |
+
}
|
6 |
+
|
7 |
+
#wpbody-content
|
8 |
+
{
|
9 |
+
/*height: 100vh;*/
|
10 |
+
}
|
11 |
+
|
12 |
+
a:active, a:focus
|
13 |
+
{
|
14 |
+
outline: none !important;
|
15 |
+
box-shadow: none !important;
|
16 |
+
}
|
17 |
+
|
18 |
+
.wis-container
|
19 |
+
{
|
20 |
+
/*padding: 0px 30px 0px 10px;*/
|
21 |
+
padding: 1px 0 0 0;
|
22 |
+
background-color: #ffffff;
|
23 |
+
}
|
24 |
+
|
25 |
+
.tabs
|
26 |
+
{
|
27 |
+
position: relative;
|
28 |
+
width: 100%;
|
29 |
+
overflow: hidden;
|
30 |
+
margin: 1em 0 2em;
|
31 |
+
font-weight: 400;
|
32 |
+
}
|
33 |
+
|
34 |
+
/* Nav */
|
35 |
+
.tabs nav
|
36 |
+
{
|
37 |
+
text-align: left;
|
38 |
+
margin-bottom: -4px;
|
39 |
+
}
|
40 |
+
|
41 |
+
.tabs nav ul
|
42 |
+
{
|
43 |
+
padding: 0;
|
44 |
+
margin: 0;
|
45 |
+
list-style: none;
|
46 |
+
display: inline-block;
|
47 |
+
margin-left: 25px;
|
48 |
+
}
|
49 |
+
|
50 |
+
.tabs nav ul li
|
51 |
+
{
|
52 |
+
border: 1px solid #becbd2;
|
53 |
+
border-bottom: none;
|
54 |
+
border-top-left-radius: 10px;
|
55 |
+
border-top-right-radius: 10px;
|
56 |
+
border-bottom-right-radius: 0px;
|
57 |
+
border-bottom-left-radius: 0px;
|
58 |
+
margin: 0 0.25em;
|
59 |
+
display: block;
|
60 |
+
float: left;
|
61 |
+
position: relative;
|
62 |
+
width: 20em;
|
63 |
+
background-color: #f1f1f1;
|
64 |
+
}
|
65 |
+
|
66 |
+
.tabs nav ul li:hover
|
67 |
+
{
|
68 |
+
background-color: white;
|
69 |
+
}
|
70 |
+
|
71 |
+
.tabs nav li.tab-current
|
72 |
+
{
|
73 |
+
border: 1px solid #47a3da;
|
74 |
+
box-shadow: inset 0px 5px 4px -3px #ff7600;
|
75 |
+
border-top-left-radius: 10px;
|
76 |
+
border-top-right-radius: 10px;
|
77 |
+
border-bottom-right-radius: 0px;
|
78 |
+
border-bottom-left-radius: 0px;
|
79 |
+
border-bottom: none;
|
80 |
+
z-index: 100;
|
81 |
+
background-color: white;
|
82 |
+
}
|
83 |
+
|
84 |
+
.tabs nav li.tab-current:before,
|
85 |
+
.tabs nav li.tab-current:after
|
86 |
+
{
|
87 |
+
content: '';
|
88 |
+
position: absolute;
|
89 |
+
height: 1px;
|
90 |
+
right: 100%;
|
91 |
+
bottom: 0;
|
92 |
+
width: 1000px;
|
93 |
+
background: #47a3da;
|
94 |
+
}
|
95 |
+
|
96 |
+
.tabs nav li.tab-current:after
|
97 |
+
{
|
98 |
+
right: auto;
|
99 |
+
left: 100%;
|
100 |
+
width: 4000px;
|
101 |
+
}
|
102 |
+
|
103 |
+
.tabs nav a
|
104 |
+
{
|
105 |
+
color: #becbd2;
|
106 |
+
display: block;
|
107 |
+
font-size: 1.45em;
|
108 |
+
line-height: 2.5;
|
109 |
+
padding: 0 1.25em;
|
110 |
+
white-space: nowrap;
|
111 |
+
}
|
112 |
+
|
113 |
+
.tabs nav a:hover
|
114 |
+
{
|
115 |
+
color: #768e9d;
|
116 |
+
}
|
117 |
+
|
118 |
+
.tabs nav li.tab-current a
|
119 |
+
{
|
120 |
+
color: #47a3da;
|
121 |
+
font-weight: bold;
|
122 |
+
outline: none !important;
|
123 |
+
}
|
124 |
+
|
125 |
+
/* Icons */
|
126 |
+
.tabs nav a:before
|
127 |
+
{
|
128 |
+
display: inline-block;
|
129 |
+
vertical-align: middle;
|
130 |
+
text-transform: none;
|
131 |
+
font-weight: normal;
|
132 |
+
font-variant: normal;
|
133 |
+
line-height: 1;
|
134 |
+
speak: none;
|
135 |
+
-webkit-font-smoothing: antialiased;
|
136 |
+
margin: -0.25em 0.4em 0 0;
|
137 |
+
}
|
138 |
+
|
139 |
+
.icon-instagram:before
|
140 |
+
{
|
141 |
+
content: url(../img/insta-icon.png);
|
142 |
+
}
|
143 |
+
|
144 |
+
.icon-facebook:before
|
145 |
+
{
|
146 |
+
content: url(../img/fb-icon.png);
|
147 |
+
}
|
148 |
+
|
149 |
+
.icon-youtube:before
|
150 |
+
{
|
151 |
+
content: url(../img/youtube-icon.png);
|
152 |
+
}
|
153 |
+
|
154 |
+
|
155 |
+
/* Content */
|
156 |
+
.content
|
157 |
+
{
|
158 |
+
border-bottom: 1px solid #47a3da;
|
159 |
+
border-top: 0;
|
160 |
+
background-color: white;
|
161 |
+
padding: 30px;
|
162 |
+
height: 100vh;
|
163 |
+
}
|
164 |
+
|
165 |
+
.content section
|
166 |
+
{
|
167 |
+
|
168 |
+
margin: 0 auto;
|
169 |
+
}
|
170 |
+
|
171 |
+
.content section:before,
|
172 |
+
.content section:after
|
173 |
+
{
|
174 |
+
content: '';
|
175 |
+
display: table;
|
176 |
+
}
|
177 |
+
|
178 |
+
.content section:after
|
179 |
+
{
|
180 |
+
clear: both;
|
181 |
+
}
|
182 |
+
|
183 |
+
/* Fallback example */
|
184 |
+
.no-js .content section
|
185 |
+
{
|
186 |
+
display: block;
|
187 |
+
padding-bottom: 2em;
|
188 |
+
border-bottom: 1px solid #47a3da;
|
189 |
+
}
|
190 |
+
|
191 |
+
.content section.content-current
|
192 |
+
{
|
193 |
+
display: block;
|
194 |
+
}
|
195 |
+
|
196 |
+
/* Example media queries */
|
197 |
+
|
198 |
+
@media screen and (max-width: 52.375em)
|
199 |
+
{
|
200 |
+
.tabs nav a span
|
201 |
+
{
|
202 |
+
display: none;
|
203 |
+
}
|
204 |
+
|
205 |
+
.tabs nav a:before
|
206 |
+
{
|
207 |
+
margin-right: 0;
|
208 |
+
}
|
209 |
+
}
|
210 |
+
|
211 |
+
@media screen and (max-width: 32em)
|
212 |
+
{
|
213 |
+
.tabs nav ul,
|
214 |
+
.tabs nav ul li a
|
215 |
+
{
|
216 |
+
width: 100%;
|
217 |
+
padding: 0;
|
218 |
+
}
|
219 |
+
|
220 |
+
.tabs nav ul li
|
221 |
+
{
|
222 |
+
width: 20%;
|
223 |
+
width: calc(20% + 1px);
|
224 |
+
margin: 0 0 0 -1px;
|
225 |
+
}
|
226 |
+
|
227 |
+
.tabs nav ul li:last-child
|
228 |
+
{
|
229 |
+
border-right: none;
|
230 |
+
}
|
231 |
+
}
|
232 |
+
|
233 |
+
.tabs nav li a
|
234 |
+
{
|
235 |
+
color: #0073aa;
|
236 |
+
text-decoration: none;
|
237 |
+
outline: none !important;
|
238 |
+
}
|
239 |
+
|
240 |
+
.tabs nav li a:hover
|
241 |
+
{
|
242 |
+
font-weight: bold;
|
243 |
+
}
|
244 |
+
|
245 |
+
p.info
|
246 |
+
{
|
247 |
+
text-align: center;
|
248 |
+
padding: 20px;
|
249 |
+
}
|
admin/assets/css/jr-insta-admin.css
CHANGED
@@ -1,100 +1,568 @@
|
|
1 |
-
.jr-container .donate
|
2 |
-
|
3 |
-
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
.jr-container .pressthis a:active, .jr-container .pressthis-bookmarklet a:active,
|
6 |
.jr-container .pressthis a:focus, .jr-container .pressthis-bookmarklet a:focus,
|
7 |
-
.jr-container .pressthis a:hover, .jr-container .pressthis-bookmarklet a:hover
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
.jr-container .
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
.jr-container
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
.jr-container .
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
.btn-instagram-account-disabled
|
49 |
{
|
50 |
-
|
51 |
}
|
52 |
|
53 |
.instagram-account-pro
|
54 |
{
|
55 |
-
|
56 |
}
|
57 |
|
58 |
.wis-spinner
|
59 |
{
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
}
|
|
|
72 |
.wis-table > tbody > tr > td
|
73 |
{
|
74 |
-
|
75 |
}
|
|
|
76 |
.wis-table > thead > tr > th
|
77 |
{
|
78 |
-
|
79 |
-
|
80 |
}
|
|
|
81 |
.wis-text-token
|
82 |
{
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
}
|
|
|
87 |
.wis-help-text
|
88 |
{
|
89 |
-
|
90 |
-
|
91 |
}
|
|
|
92 |
.wis-help-text p
|
93 |
{
|
94 |
-
|
95 |
}
|
96 |
|
97 |
i.wis-shortcode-icon
|
98 |
{
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
}
|
1 |
+
.jr-container .donate
|
2 |
+
{
|
3 |
+
padding: 5px 15px 10px;
|
4 |
+
display: inline-block;
|
5 |
+
position: relative;
|
6 |
+
color: #000;
|
7 |
+
background: #ffd751;
|
8 |
+
-webkit-border-radius: 5px;
|
9 |
+
border-radius: 5px;
|
10 |
+
border: 1px solid #b4b4b4;
|
11 |
+
font-weight: bold;
|
12 |
+
font-size: 14px;
|
13 |
+
text-decoration: none;
|
14 |
+
}
|
15 |
+
|
16 |
+
.jr-container .donate a
|
17 |
+
{
|
18 |
+
outline: 0;
|
19 |
+
cursor: pointer
|
20 |
+
}
|
21 |
+
|
22 |
+
.jr-container .donate span:before
|
23 |
+
{
|
24 |
+
color: #ce1f00;
|
25 |
+
font: 400 20px/1 dashicons;
|
26 |
+
font-family: dashicons;
|
27 |
+
font-size: 24px;
|
28 |
+
font-style: normal;
|
29 |
+
font-variant: normal;
|
30 |
+
font-weight: 400;
|
31 |
+
font-stretch: normal;
|
32 |
+
line-height: 1;
|
33 |
+
content: '\f487';
|
34 |
+
position: relative;
|
35 |
+
display: inline-block;
|
36 |
+
top: 4px;
|
37 |
+
margin-right: 4px;
|
38 |
+
}
|
39 |
+
|
40 |
+
.jr-container .pressthis a, .jr-container .pressthis-bookmarklet a,
|
41 |
.jr-container .pressthis a:active, .jr-container .pressthis-bookmarklet a:active,
|
42 |
.jr-container .pressthis a:focus, .jr-container .pressthis-bookmarklet a:focus,
|
43 |
+
.jr-container .pressthis a:hover, .jr-container .pressthis-bookmarklet a:hover
|
44 |
+
{
|
45 |
+
cursor: pointer;
|
46 |
+
background: #53b5d9;
|
47 |
+
border: 1px solid #0074a2;
|
48 |
+
color: #ffffff;
|
49 |
+
font-weight: bold
|
50 |
+
}
|
51 |
+
|
52 |
+
.jr-container .jr_insta_error
|
53 |
+
{
|
54 |
+
border-left: 4px solid #dd3d36;
|
55 |
+
-moz-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
56 |
+
-webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
57 |
+
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
|
58 |
+
padding: 5px 12px;
|
59 |
+
}
|
60 |
+
|
61 |
+
.jr-container .jr-radio
|
62 |
+
{
|
63 |
+
margin-right: 20px
|
64 |
+
}
|
65 |
+
|
66 |
+
.jr-container .jr-search-for-container
|
67 |
+
{
|
68 |
+
display: block;
|
69 |
+
margin-bottom: 7px;
|
70 |
+
}
|
71 |
+
|
72 |
+
.jr-container .jr-seach-for
|
73 |
+
{
|
74 |
+
width: 90px;
|
75 |
+
display: inline-block;
|
76 |
+
vertical-align: middle
|
77 |
+
}
|
78 |
+
|
79 |
+
.jr-container .jr-advanced
|
80 |
+
{
|
81 |
+
text-decoration: none;
|
82 |
+
border: none
|
83 |
+
}
|
84 |
+
|
85 |
+
.jr-container .jr-advanced:focus
|
86 |
+
{
|
87 |
+
outline: 0;
|
88 |
+
border: none;
|
89 |
+
box-shadow: none
|
90 |
+
}
|
91 |
+
|
92 |
+
.jr-container .jr-advanced-input div
|
93 |
+
{
|
94 |
+
border: 1px solid #cfcfcf;
|
95 |
+
padding: 10px;
|
96 |
+
margin: 25px 0 0;
|
97 |
+
}
|
98 |
+
|
99 |
+
.jr-container .jr-advanced-input .jr-advanced-title
|
100 |
+
{
|
101 |
+
margin: -22px 0 0 0;
|
102 |
+
background-color: white;
|
103 |
+
width: 160px;
|
104 |
+
padding: 3px 10px;
|
105 |
+
border: 1px solid #cfcfcf;
|
106 |
+
}
|
107 |
+
|
108 |
+
.jr-container .jr-description
|
109 |
+
{
|
110 |
+
color: #777;
|
111 |
+
font-size: smaller;
|
112 |
+
clear: both;
|
113 |
+
display: block;
|
114 |
+
margin-top: 5px;
|
115 |
+
}
|
116 |
+
|
117 |
+
.jr-container .jr-description.hide-media-library, .jr-container .jr-description.hide-instagram
|
118 |
+
{
|
119 |
+
display: none
|
120 |
+
}
|
121 |
+
|
122 |
+
.jr-container .switch
|
123 |
+
{
|
124 |
+
position: relative;
|
125 |
+
display: inline-block;
|
126 |
+
margin-left: 5px;
|
127 |
+
width: 45px;
|
128 |
+
height: 24px;
|
129 |
+
}
|
130 |
+
|
131 |
+
.jr-container .switch input
|
132 |
+
{
|
133 |
+
display: none;
|
134 |
}
|
135 |
+
|
136 |
+
.jr-container .slider
|
137 |
+
{
|
138 |
+
position: absolute;
|
139 |
+
cursor: pointer;
|
140 |
+
top: 0;
|
141 |
+
left: 0;
|
142 |
+
right: 0;
|
143 |
+
bottom: 0;
|
144 |
+
background-color: #ccc;
|
145 |
+
-webkit-transition: .4s;
|
146 |
+
transition: .4s;
|
147 |
+
}
|
148 |
+
|
149 |
+
.jr-container .slider:before
|
150 |
+
{
|
151 |
+
position: absolute;
|
152 |
+
content: "";
|
153 |
+
height: 22px;
|
154 |
+
width: 22px;
|
155 |
+
left: 0px;
|
156 |
+
bottom: 0px;
|
157 |
+
border: 1px solid #e5e5e5;
|
158 |
+
background-color: white;
|
159 |
+
-webkit-transition: .4s;
|
160 |
+
transition: .4s;
|
161 |
+
}
|
162 |
+
|
163 |
+
.jr-container input:checked + .slider
|
164 |
+
{
|
165 |
+
background-color: #0085ba;
|
166 |
+
}
|
167 |
+
|
168 |
+
.jr-container input:focus + .slider
|
169 |
+
{
|
170 |
+
box-shadow: 0 0 1px #0085ba;
|
171 |
+
}
|
172 |
+
|
173 |
+
.jr-container input:checked + .slider:before
|
174 |
+
{
|
175 |
+
-webkit-transform: translateX(22px);
|
176 |
+
-ms-transform: translateX(22px);
|
177 |
+
transform: translateX(22px);
|
178 |
+
}
|
179 |
+
|
180 |
+
.jr-container .slider.round
|
181 |
+
{
|
182 |
+
border-radius: 34px;
|
183 |
+
}
|
184 |
+
|
185 |
+
.jr-container .slider.round:before
|
186 |
+
{
|
187 |
+
border-radius: 50%;
|
188 |
+
}
|
189 |
+
|
190 |
+
.jr-container .donate-buttons
|
191 |
+
{
|
192 |
+
text-align: center
|
193 |
+
}
|
194 |
+
|
195 |
+
.jr-container .donate-button-link
|
196 |
+
{
|
197 |
+
cursor: pointer
|
198 |
+
}
|
199 |
+
|
200 |
+
.wis-btn-instagram-account, .wis-btn-instagram-account-disabled
|
201 |
+
{
|
202 |
+
padding: 0 24px 0 120px;
|
203 |
+
height: 44px;
|
204 |
+
line-height: 44px;
|
205 |
+
text-transform: uppercase;
|
206 |
+
color: rgba(255, 255, 255, 0.8) !important;
|
207 |
+
text-decoration: none;
|
208 |
+
border-radius: 5px;
|
209 |
+
transition: all .5s ease-in-out;
|
210 |
+
font-weight: 600;
|
211 |
+
display: inline-block;
|
212 |
+
background: #4267B2 url(../img/instagram_bg.png) no-repeat 16px 13.5px !important;
|
213 |
+
background-size: auto 20px !important;
|
214 |
+
}
|
215 |
+
|
216 |
+
.wis-btn-facebook-account
|
217 |
+
{
|
218 |
+
padding: 0 30px 0 60px;
|
219 |
+
height: 44px;
|
220 |
+
line-height: 44px;
|
221 |
+
text-transform: uppercase;
|
222 |
+
color: rgba(255, 255, 255, 0.8) !important;
|
223 |
+
text-decoration: none;
|
224 |
+
border-radius: 5px;
|
225 |
+
transition: all .5s ease-in-out;
|
226 |
+
font-weight: 600;
|
227 |
+
display: inline-block;
|
228 |
+
background: #1879f2 url(../img/fb-icon-button.png) no-repeat 15px center !important;
|
229 |
+
background-size: auto 25px !important;
|
230 |
+
/*background: #1879f2 url(../img/fb-icon-button.png) no-repeat 15px 10px !important;*/
|
231 |
+
/*background-size: auto 25px !important;*/
|
232 |
+
}
|
233 |
+
|
234 |
+
.wis-not-working
|
235 |
+
{
|
236 |
+
padding-left: 10px;
|
237 |
+
font-size: 16px;
|
238 |
+
}
|
239 |
+
|
240 |
+
#wis-add-token
|
241 |
+
{
|
242 |
+
margin-top: 10px;
|
243 |
+
background-color: white;
|
244 |
+
padding: 20px;
|
245 |
+
border: 1px solid #ccd0d4;
|
246 |
+
border-radius: 5px;
|
247 |
+
}
|
248 |
+
|
249 |
+
#wis-add-token p
|
250 |
+
{
|
251 |
+
padding-top: 5px;
|
252 |
+
}
|
253 |
+
|
254 |
.btn-instagram-account-disabled
|
255 |
{
|
256 |
+
opacity: 0.5;
|
257 |
}
|
258 |
|
259 |
.instagram-account-pro
|
260 |
{
|
261 |
+
padding: 5px;
|
262 |
}
|
263 |
|
264 |
.wis-spinner
|
265 |
{
|
266 |
+
background: url(../img/spinner.gif) no-repeat;
|
267 |
+
background-size: 20px 20px;
|
268 |
+
display: inline-block;
|
269 |
+
visibility: hidden;
|
270 |
+
float: right;
|
271 |
+
vertical-align: middle;
|
272 |
+
opacity: 0.7;
|
273 |
+
filter: alpha(opacity=70);
|
274 |
+
width: 20px;
|
275 |
+
height: 20px;
|
276 |
+
margin: 4px 10px 0;
|
277 |
}
|
278 |
+
|
279 |
.wis-table > tbody > tr > td
|
280 |
{
|
281 |
+
background-color: white;
|
282 |
}
|
283 |
+
|
284 |
.wis-table > thead > tr > th
|
285 |
{
|
286 |
+
font-weight: bold;
|
287 |
+
background-color: #e8e8e8;
|
288 |
}
|
289 |
+
|
290 |
.wis-text-token
|
291 |
{
|
292 |
+
background: transparent !important;
|
293 |
+
border: 0 !important;
|
294 |
+
box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.00) !important;
|
295 |
}
|
296 |
+
|
297 |
.wis-help-text
|
298 |
{
|
299 |
+
font-size: 16px;
|
300 |
+
margin: 10px 0px 0px 10px;
|
301 |
}
|
302 |
+
|
303 |
.wis-help-text p
|
304 |
{
|
305 |
+
font-size: 16px;
|
306 |
}
|
307 |
|
308 |
i.wis-shortcode-icon
|
309 |
{
|
310 |
+
background: url(../img/wis_icon.png) center no-repeat;
|
311 |
+
}
|
312 |
+
|
313 |
+
/* MODAL popup*/
|
314 |
+
.wis_accounts_modal
|
315 |
+
{
|
316 |
+
position: fixed;
|
317 |
+
top: 50%;
|
318 |
+
left: 50%;
|
319 |
+
transform: translate(-50%, -50%);
|
320 |
+
width: 400px;
|
321 |
+
max-width: 100%;
|
322 |
+
height: 400px;
|
323 |
+
max-height: 100%;
|
324 |
+
z-index: 1010;
|
325 |
+
display: block;
|
326 |
+
overflow-y: auto;
|
327 |
+
overflow-x: hidden;
|
328 |
+
background-color: white;
|
329 |
+
border: 1px solid #32323280;
|
330 |
+
border-radius: 10px;
|
331 |
+
-webkit-box-shadow: 1px 1px 3px 0px rgba(50, 50, 50, 0.5);
|
332 |
+
-moz-box-shadow: 1px 1px 3px 0px rgba(50, 50, 50, 0.5);
|
333 |
+
box-shadow: 1px 1px 3px 0px rgba(50, 50, 50, 0.5);
|
334 |
+
}
|
335 |
+
|
336 |
+
#wis_add_account_modal
|
337 |
+
{
|
338 |
+
height: 230px !important;
|
339 |
+
}
|
340 |
+
|
341 |
+
.wis_closed
|
342 |
+
{
|
343 |
+
display: none !important;
|
344 |
+
}
|
345 |
+
|
346 |
+
.wis_modal_content
|
347 |
+
{
|
348 |
+
position: initial;
|
349 |
+
top: 0;
|
350 |
+
left: 0;
|
351 |
+
width: auto;
|
352 |
+
height: auto;
|
353 |
+
padding: 15px 20px 15px 20px;
|
354 |
+
overflow-y: auto;
|
355 |
+
overflow-x: hidden;
|
356 |
+
text-align: center;
|
357 |
+
}
|
358 |
+
|
359 |
+
.wis_modal_header
|
360 |
+
{
|
361 |
+
position: initial;
|
362 |
+
top: 0;
|
363 |
+
left: 0;
|
364 |
+
width: auto;
|
365 |
+
height: 20px;
|
366 |
+
padding: 15px 20px 25px 20px;
|
367 |
+
overflow: hidden;
|
368 |
+
text-align: left;
|
369 |
+
font-weight: bold;
|
370 |
+
font-size: 14px;
|
371 |
+
|
372 |
+
}
|
373 |
+
|
374 |
+
.wis_modal_overlay
|
375 |
+
{
|
376 |
+
z-index: 1000;
|
377 |
+
position: fixed;
|
378 |
+
top: 0;
|
379 |
+
left: 0;
|
380 |
+
width: 100%;
|
381 |
+
height: 100%;
|
382 |
+
background-color: rgba(0, 0, 0, 0.5);
|
383 |
+
}
|
384 |
+
|
385 |
+
.wis-overlay-spinner
|
386 |
+
{
|
387 |
+
background: url(../img/spinner.svg) no-repeat;
|
388 |
+
background-size: 100px 100px;
|
389 |
+
vertical-align: middle;
|
390 |
+
transform: translate(-50%, -50%);
|
391 |
+
left: 50%;
|
392 |
+
top: 50%;
|
393 |
+
width: 100px;
|
394 |
+
height: 100px;
|
395 |
+
position: fixed;
|
396 |
+
visibility: hidden;
|
397 |
+
z-index: 1001;
|
398 |
+
}
|
399 |
+
|
400 |
+
.is-active
|
401 |
+
{
|
402 |
+
visibility: visible !important;
|
403 |
+
}
|
404 |
+
|
405 |
+
.wis-row
|
406 |
+
{
|
407 |
+
width: 95%;
|
408 |
+
min-width: 1120px;
|
409 |
+
display: flex;
|
410 |
+
}
|
411 |
+
|
412 |
+
.wis-col-1
|
413 |
+
{
|
414 |
+
float: left;
|
415 |
+
width: 20%;
|
416 |
+
}
|
417 |
+
|
418 |
+
.wis-col-2
|
419 |
+
{
|
420 |
+
float: left;
|
421 |
+
width: 80%;
|
422 |
+
}
|
423 |
+
|
424 |
+
.wis-col-full
|
425 |
+
{
|
426 |
+
float: left;
|
427 |
+
width: 100%;
|
428 |
+
}
|
429 |
+
|
430 |
+
.wis-row-style
|
431 |
+
{
|
432 |
+
padding: 10px;
|
433 |
+
cursor: pointer;
|
434 |
+
text-align: center;
|
435 |
+
}
|
436 |
+
|
437 |
+
.wis-col1-style
|
438 |
+
{
|
439 |
+
text-align: center;
|
440 |
+
vertical-align: middle;
|
441 |
+
}
|
442 |
+
|
443 |
+
.wis-col-full-style
|
444 |
+
{
|
445 |
+
height: 50px;
|
446 |
+
font-weight: bold;
|
447 |
+
font-size: 14px;
|
448 |
+
padding-left: 5px;
|
449 |
+
text-align: center;
|
450 |
+
vertical-align: middle;
|
451 |
+
}
|
452 |
+
|
453 |
+
.wis-col1-style img
|
454 |
+
{
|
455 |
+
border: 1px solid #dadada;
|
456 |
+
border-radius: 10px;
|
457 |
+
vertical-align: middle;
|
458 |
+
}
|
459 |
+
|
460 |
+
.wis-col2-style
|
461 |
+
{
|
462 |
+
font-weight: bold;
|
463 |
+
font-size: 14px;
|
464 |
+
padding-left: 5px;
|
465 |
+
}
|
466 |
+
|
467 |
+
.wis-col2-style p
|
468 |
+
{
|
469 |
+
vertical-align: middle;
|
470 |
+
}
|
471 |
+
|
472 |
+
.wis-page-title
|
473 |
+
{
|
474 |
+
text-align: center;
|
475 |
+
padding: 10px 0;
|
476 |
+
}
|
477 |
+
|
478 |
+
.wis-page-title h1
|
479 |
+
{
|
480 |
+
vertical-align: middle;
|
481 |
+
color: #000000;
|
482 |
+
text-shadow: 1px 1px 1px #ccc;
|
483 |
+
}
|
484 |
+
|
485 |
+
.wis-div-added
|
486 |
+
{
|
487 |
+
display: inline-block;
|
488 |
+
background-color: #d3dec1;
|
489 |
+
border: 1px solid green;
|
490 |
+
border-radius: 5px;
|
491 |
+
text-align: center;
|
492 |
+
word-break: break-word;
|
493 |
+
width: 100px;
|
494 |
+
float: right;
|
495 |
+
font-size: 12px;
|
496 |
+
line-height: 1.1;
|
497 |
+
padding: 5px 0px;
|
498 |
+
}
|
499 |
+
|
500 |
+
.wis-widgets-container
|
501 |
+
{
|
502 |
+
padding: 20px 0 0 0;
|
503 |
+
/*margin-right: 20px;*/
|
504 |
+
}
|
505 |
+
|
506 |
+
.wis-col-16
|
507 |
+
{
|
508 |
+
float: left;
|
509 |
+
width: 16.66666666%;
|
510 |
+
}
|
511 |
+
|
512 |
+
.wis-demo-widgets
|
513 |
+
{
|
514 |
+
width: auto;
|
515 |
+
padding: 15px;
|
516 |
+
margin: 0 20px 20px 0;
|
517 |
+
background: #fafafa;
|
518 |
+
color: #23282d;
|
519 |
+
border: 1px solid #ccd0d4;
|
520 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
|
521 |
+
}
|
522 |
+
|
523 |
+
.wis-demo-widgets .wis-demo-widefat
|
524 |
+
{
|
525 |
+
color: black;
|
526 |
+
font-family: monospace;
|
527 |
+
text-align: center;
|
528 |
+
}
|
529 |
+
|
530 |
+
.wis-demo-shortcode
|
531 |
+
{
|
532 |
+
margin: 10px 0 10px 0;
|
533 |
+
text-align: center;
|
534 |
+
}
|
535 |
+
|
536 |
+
.wis-demo-shortcode p
|
537 |
+
{
|
538 |
+
margin: 0 !important;
|
539 |
+
padding: 0 10px 10px 10px !important;
|
540 |
+
}
|
541 |
+
|
542 |
+
.wis-demo-shortcode input
|
543 |
+
{
|
544 |
+
padding: 0 !important;
|
545 |
+
width: 95%;
|
546 |
+
font-size: 12px;
|
547 |
+
}
|
548 |
+
|
549 |
+
.wis-demo-shortcode span.wis_demo_pro:after
|
550 |
+
{
|
551 |
+
display: inline-block;
|
552 |
+
position: relative;
|
553 |
+
content: 'PRO';
|
554 |
+
background: #ff5722;
|
555 |
+
border-radius: 4px;
|
556 |
+
color: #fff;
|
557 |
+
font-size: 10px;
|
558 |
+
line-height: 1;
|
559 |
+
font-style: normal;
|
560 |
+
padding: 4px 6px;
|
561 |
+
margin-left: 4px;
|
562 |
+
vertical-align: top;
|
563 |
+
top: 0;
|
564 |
+
left: 0;
|
565 |
+
right: auto;
|
566 |
+
z-index: 11;
|
567 |
+
cursor: pointer;
|
568 |
}
|
admin/assets/css/license-manager.css
CHANGED
@@ -1,659 +1,762 @@
|
|
1 |
|
2 |
-
.not-visible-in-manager
|
3 |
-
|
|
|
4 |
}
|
5 |
|
6 |
/**
|
7 |
* Global License Message
|
8 |
*/
|
9 |
-
.global-license-message
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
|
|
15 |
}
|
16 |
|
17 |
-
.global-license-message h2, .global-license-message h3
|
18 |
-
|
19 |
-
|
|
|
20 |
}
|
21 |
|
22 |
-
.onp-page-wrap
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
|
|
28 |
}
|
29 |
|
30 |
-
.onp-container
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
38 |
}
|
39 |
|
40 |
-
#license-manager .onp-container
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
48 |
}
|
49 |
|
50 |
-
.onp-container h2
|
51 |
-
|
52 |
-
|
|
|
53 |
}
|
54 |
|
55 |
-
.onp-container p
|
56 |
-
|
57 |
-
|
58 |
-
|
|
|
59 |
}
|
60 |
|
61 |
-
.btn-uppercase
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
66 |
}
|
67 |
|
68 |
-
.btn-uppercase *[class^=icon]
|
69 |
-
|
70 |
-
|
71 |
-
|
|
|
72 |
}
|
73 |
|
74 |
-
.onp-page-wrap .license-message
|
75 |
-
|
76 |
-
|
|
|
77 |
}
|
78 |
|
79 |
-
.onp-page-wrap .license-message .alert
|
80 |
-
|
|
|
81 |
}
|
82 |
|
83 |
-
.onp-page-wrap .license-message strong
|
84 |
-
|
85 |
-
|
|
|
86 |
}
|
87 |
|
88 |
-
.onp-page-wrap .license-message p
|
89 |
-
|
90 |
-
|
|
|
91 |
}
|
92 |
|
93 |
-
.onp-page-wrap .license-message a
|
94 |
-
|
|
|
95 |
}
|
96 |
|
97 |
-
.license-message .alert-warning-icon
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
102 |
}
|
103 |
|
104 |
-
#onp-hide-license-manager
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
|
|
111 |
}
|
112 |
|
113 |
-
#onp-hide-license-manager:hover
|
114 |
-
|
|
|
115 |
}
|
116 |
|
117 |
#onp-hide-license-manager,
|
118 |
#onp-hide-license-manager:focus,
|
119 |
-
#onp-hide-license-manager:hover
|
120 |
-
|
121 |
-
|
122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
}
|
124 |
|
125 |
-
#
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
127 |
}
|
128 |
|
129 |
-
#license-manager .
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* W3C */
|
141 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6', GradientType=0); /* IE6-9 */
|
142 |
-
|
143 |
-
box-shadow: 0px 2px 1px #c9c9c9;
|
144 |
-
}
|
145 |
-
|
146 |
-
#license-manager .activate-trial-hint {
|
147 |
-
background-color: #f8f8f8;
|
148 |
-
padding: 10px 20px;
|
149 |
-
position: relative;
|
150 |
-
-moz-box-sizing: content-box;
|
151 |
-
box-sizing: content-box;
|
152 |
-
}
|
153 |
-
|
154 |
-
#license-manager .activate-error-hint {
|
155 |
-
background-color: #fb7976;
|
156 |
-
color: #f5f5f5;
|
157 |
-
text-shadow: none;
|
158 |
-
padding: 2px 9px;
|
159 |
-
width: 100%;
|
160 |
-
position: relative;
|
161 |
-
margin-left: -9px;
|
162 |
-
-moz-box-sizing: content-box;
|
163 |
-
box-sizing: content-box;
|
164 |
}
|
165 |
|
166 |
-
#license-manager .license-details
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
|
|
175 |
|
176 |
-
|
177 |
-
|
178 |
}
|
179 |
|
180 |
-
#license-manager .license-key-identity
|
181 |
-
|
182 |
-
|
183 |
-
|
|
|
184 |
}
|
185 |
|
186 |
-
#license-manager .license-key-identity code
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
190 |
}
|
191 |
|
192 |
-
#license-manager .license-key-description
|
193 |
-
|
|
|
194 |
}
|
195 |
|
196 |
-
#license-manager .license-delete-button
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
|
|
202 |
}
|
203 |
|
204 |
-
#license-manager .license-synchronization-button
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
|
|
210 |
}
|
211 |
|
212 |
-
#license-manager .license-details-block
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
|
|
218 |
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
|
224 |
-
|
225 |
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
}
|
230 |
|
231 |
-
#license-manager .license-details-block p + p
|
232 |
-
|
|
|
233 |
}
|
234 |
|
235 |
-
#license-manager .license-details-block a
|
236 |
-
|
|
|
237 |
}
|
238 |
|
239 |
-
#license-manager .license-details-block.trial-details-block
|
240 |
-
|
|
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
}
|
247 |
|
248 |
-
#license-manager .license-details-block.trial-details-block a
|
249 |
-
|
|
|
250 |
}
|
251 |
|
252 |
-
#license-manager .license-details-block.paid-details-block
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
|
|
257 |
}
|
258 |
|
259 |
-
#license-manager .license-details-block.paid-details-block a
|
260 |
-
|
|
|
261 |
}
|
262 |
|
263 |
-
#license-manager .license-details-block.gift-details-block
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
|
|
268 |
}
|
269 |
|
270 |
-
#license-manager .license-details-block.gift-details-block a
|
271 |
-
|
|
|
272 |
}
|
273 |
|
274 |
-
#license-manager .license-params
|
275 |
-
|
276 |
-
|
277 |
-
|
|
|
278 |
}
|
279 |
|
280 |
-
#license-manager .license-value
|
281 |
-
|
282 |
-
|
283 |
-
|
|
|
284 |
}
|
285 |
|
286 |
-
#license-manager .license-value small
|
287 |
-
|
|
|
288 |
}
|
289 |
|
290 |
-
#license-manager .license-value-name
|
291 |
-
|
292 |
-
|
|
|
293 |
}
|
294 |
|
295 |
-
#license-manager .license-param
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
|
|
300 |
}
|
301 |
|
302 |
-
#license-manager .license-param-domain
|
303 |
-
|
304 |
-
|
|
|
305 |
}
|
306 |
|
307 |
-
#license-manager .trial-details-block .license-param-domain
|
308 |
-
|
|
|
309 |
}
|
310 |
|
311 |
-
#license-manager .paid-details-block .license-param-domain
|
312 |
-
|
|
|
313 |
}
|
314 |
|
315 |
-
#license-manager .license-details-block h3
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
|
|
321 |
}
|
322 |
|
323 |
-
#license-manager .license-details-block a
|
324 |
-
|
|
|
325 |
}
|
326 |
|
327 |
-
#license-manager .license-input
|
|
|
328 |
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
}
|
337 |
|
338 |
-
#license-manager .license-input .btn
|
339 |
-
|
|
|
340 |
}
|
341 |
|
342 |
-
#license-manager .license-key-wrap
|
343 |
-
|
|
|
344 |
}
|
345 |
|
346 |
-
#license-key
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
|
|
354 |
}
|
355 |
|
356 |
-
#license-submit
|
357 |
-
|
358 |
-
|
|
|
359 |
}
|
360 |
|
361 |
-
#plugin-update-block
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
|
|
367 |
}
|
368 |
|
369 |
-
#plugin-update-block a
|
370 |
-
|
|
|
371 |
}
|
372 |
|
373 |
-
.purchase-premium
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
|
|
386 |
}
|
387 |
|
388 |
-
.purchase-premium .fa
|
389 |
-
|
390 |
-
|
391 |
-
|
|
|
392 |
}
|
393 |
|
394 |
/*
|
395 |
* Manual Trial Activation
|
396 |
*/
|
397 |
-
#trial-manual .onp-container
|
398 |
-
|
399 |
-
|
|
|
400 |
}
|
401 |
|
402 |
-
#trial-manual ul
|
403 |
-
|
404 |
-
|
405 |
-
|
|
|
406 |
}
|
407 |
|
408 |
-
#trial-manual ul li
|
409 |
-
|
|
|
410 |
}
|
411 |
|
412 |
-
#trial-manual .license-reponse-code
|
413 |
-
|
414 |
-
|
415 |
-
|
|
|
416 |
}
|
417 |
|
418 |
/*
|
419 |
* Manual Key Activation
|
420 |
*/
|
421 |
-
#activate-key-manual .onp-container
|
422 |
-
|
423 |
-
|
|
|
424 |
}
|
425 |
|
426 |
-
#activate-key-manual ul
|
427 |
-
|
428 |
-
|
429 |
-
|
|
|
430 |
}
|
431 |
|
432 |
-
#activate-key-manual ul li
|
433 |
-
|
|
|
434 |
}
|
435 |
|
436 |
-
#activate-key-manual .license-reponse-code
|
437 |
-
|
438 |
-
|
439 |
-
|
|
|
440 |
}
|
441 |
|
442 |
/**
|
443 |
* FAQ
|
444 |
*/
|
445 |
|
446 |
-
#faq-block
|
447 |
-
|
|
|
448 |
|
449 |
-
|
450 |
-
|
451 |
|
452 |
-
|
453 |
-
|
454 |
}
|
455 |
|
456 |
-
#faq-block .faq-header
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
|
|
464 |
}
|
465 |
|
466 |
-
#faq-block .faq-header:hover
|
467 |
-
|
|
|
468 |
}
|
469 |
|
470 |
-
#faq-block .faq-header:focus, #faq-block .faq-header:active
|
471 |
-
|
|
|
472 |
}
|
473 |
|
474 |
-
#faq-block li > div
|
475 |
-
|
|
|
476 |
}
|
477 |
|
478 |
-
#faq-block p
|
479 |
-
|
480 |
-
|
481 |
-
|
|
|
482 |
}
|
483 |
|
484 |
-
#open-faq
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
|
|
489 |
}
|
490 |
|
491 |
-
#open-faq:hover
|
492 |
-
|
|
|
493 |
}
|
494 |
|
495 |
-
.gray-link, .gray-link a
|
496 |
-
|
|
|
497 |
}
|
498 |
|
499 |
/**
|
500 |
* A form to create a customer account
|
501 |
*/
|
502 |
|
503 |
-
.onp-single-block .onp-header
|
504 |
-
|
505 |
-
|
|
|
506 |
}
|
507 |
|
508 |
-
.onp-single-block .onp-header h4
|
509 |
-
|
510 |
-
|
|
|
511 |
}
|
512 |
|
513 |
-
.onp-single-block .onp-container
|
514 |
-
|
515 |
-
|
516 |
-
|
|
|
517 |
}
|
518 |
|
519 |
-
.onp-single-block .onp-container .onp-container-header
|
520 |
-
|
|
|
521 |
}
|
522 |
|
523 |
-
.onp-single-block .onp-container .onp-container-header h4
|
524 |
-
|
525 |
-
|
526 |
-
|
|
|
527 |
}
|
528 |
|
529 |
-
.onp-single-block .onp-container .onp-container-header .onp-key-info
|
530 |
-
|
|
|
531 |
}
|
532 |
|
533 |
-
.onp-single-block .onp-container .onp-container-header .onp-key-info .fa
|
534 |
-
|
|
|
535 |
}
|
536 |
|
537 |
-
.onp-single-block .onp-container .onp-container-header .onp-icon
|
538 |
-
|
539 |
-
|
540 |
-
|
|
|
541 |
}
|
542 |
|
543 |
.onp-single-block .onp-container p,
|
544 |
-
.onp-single-block .onp-container li
|
545 |
-
|
546 |
-
|
|
|
547 |
}
|
548 |
|
549 |
-
.onp-single-block .onp-container p + p
|
550 |
-
|
|
|
551 |
}
|
552 |
|
553 |
-
.onp-single-block .onp-container .onp-form
|
554 |
-
|
555 |
-
|
|
|
556 |
}
|
557 |
|
558 |
-
.onp-single-block #email
|
559 |
-
|
560 |
-
|
561 |
-
|
|
|
562 |
}
|
563 |
|
564 |
-
.onp-single-block .checkbox
|
565 |
-
|
566 |
-
|
567 |
-
|
|
|
568 |
}
|
569 |
|
570 |
-
.onp-single-block .checkbox input
|
571 |
-
|
|
|
572 |
}
|
573 |
|
574 |
-
.onp-single-block .onp-actions
|
575 |
-
|
|
|
576 |
}
|
577 |
|
578 |
-
.onp-single-block .onp-actions .btn-primary
|
579 |
-
|
|
|
580 |
}
|
581 |
|
582 |
-
.onp-single-block .onp-actions a.onp-cancel
|
583 |
-
|
584 |
-
|
|
|
585 |
}
|
586 |
|
587 |
-
.onp-single-block .onp-actions a.onp-cancel:hover
|
588 |
-
|
589 |
-
|
590 |
-
|
|
|
591 |
}
|
592 |
|
593 |
-
.onp-single-block .onp-benefits
|
594 |
-
|
595 |
-
|
596 |
-
|
|
|
597 |
}
|
598 |
|
599 |
-
.onp-single-block .onp-login-details
|
|
|
600 |
|
601 |
}
|
602 |
|
603 |
-
.onp-single-block .onp-text-seporator
|
604 |
-
|
605 |
-
|
|
|
606 |
}
|
607 |
|
608 |
-
#create-account .onp-container
|
609 |
-
|
|
|
610 |
}
|
611 |
|
612 |
-
#account-created .onp-step
|
613 |
-
|
|
|
614 |
}
|
615 |
|
616 |
-
#account-created .onp-steps
|
617 |
-
|
|
|
618 |
}
|
619 |
|
620 |
-
#account-created .onp-step + .onp-step
|
621 |
-
|
|
|
622 |
}
|
623 |
|
624 |
-
#account-created .onp-step .onp-num
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
|
|
639 |
}
|
640 |
|
641 |
-
#account-created .onp-step .onp-desc
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
|
|
646 |
}
|
647 |
|
648 |
-
#finish .onp-container
|
649 |
-
|
650 |
-
|
651 |
-
|
|
|
652 |
|
653 |
-
|
654 |
}
|
655 |
|
656 |
-
.wis-loader
|
657 |
-
|
658 |
-
|
|
|
659 |
}
|
1 |
|
2 |
+
.not-visible-in-manager
|
3 |
+
{
|
4 |
+
display: none;
|
5 |
}
|
6 |
|
7 |
/**
|
8 |
* Global License Message
|
9 |
*/
|
10 |
+
.global-license-message
|
11 |
+
{
|
12 |
+
width: 600px;
|
13 |
+
margin: auto;
|
14 |
+
/*margin-top: 100px;*/
|
15 |
+
font-size: 14px;
|
16 |
+
line-height: 170%;
|
17 |
}
|
18 |
|
19 |
+
.global-license-message h2, .global-license-message h3
|
20 |
+
{
|
21 |
+
padding: 0px;
|
22 |
+
margin: 5px 0;
|
23 |
}
|
24 |
|
25 |
+
.onp-page-wrap
|
26 |
+
{
|
27 |
+
max-width: 70%;
|
28 |
+
margin: auto;
|
29 |
+
margin-top: 40px;
|
30 |
+
font-size: 14px;
|
31 |
+
line-height: 170%;
|
32 |
}
|
33 |
|
34 |
+
.onp-container
|
35 |
+
{
|
36 |
+
border: 0px;
|
37 |
+
padding: 0px;
|
38 |
+
border-radius: 5px;
|
39 |
+
background: rgb(255, 255, 255) !important;
|
40 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
|
41 |
+
-moz-box-sizing: border-box;
|
42 |
+
box-sizing: border-box;
|
43 |
}
|
44 |
|
45 |
+
#license-manager .onp-container
|
46 |
+
{
|
47 |
+
background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* FF3.6+ */
|
48 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(63%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(246, 246, 246, 1))); /* Chrome,Safari4+ */
|
49 |
+
background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* Chrome10+,Safari5.1+ */
|
50 |
+
background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* Opera 11.10+ */
|
51 |
+
background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* IE10+ */
|
52 |
+
background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* W3C */
|
53 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6', GradientType=0); /* IE6-9 */
|
54 |
}
|
55 |
|
56 |
+
.onp-container h2
|
57 |
+
{
|
58 |
+
margin: 0px;
|
59 |
+
padding: 0px;
|
60 |
}
|
61 |
|
62 |
+
.onp-container p
|
63 |
+
{
|
64 |
+
margin: 0 0 2px 0;
|
65 |
+
padding: 0px;
|
66 |
+
line-height: 170%;
|
67 |
}
|
68 |
|
69 |
+
.btn-uppercase
|
70 |
+
{
|
71 |
+
font-size: 12px;
|
72 |
+
letter-spacing: 1px;
|
73 |
+
text-transform: uppercase;
|
74 |
+
text-decoration: none;
|
75 |
}
|
76 |
|
77 |
+
.btn-uppercase *[class^=icon]
|
78 |
+
{
|
79 |
+
position: relative;
|
80 |
+
top: -1px;
|
81 |
+
left: -1px;
|
82 |
}
|
83 |
|
84 |
+
.onp-page-wrap .license-message
|
85 |
+
{
|
86 |
+
margin-bottom: 20px;
|
87 |
+
overflow: hidden;
|
88 |
}
|
89 |
|
90 |
+
.onp-page-wrap .license-message .alert
|
91 |
+
{
|
92 |
+
margin: 0px;
|
93 |
}
|
94 |
|
95 |
+
.onp-page-wrap .license-message strong
|
96 |
+
{
|
97 |
+
display: block;
|
98 |
+
margin-bottom: 0px;
|
99 |
}
|
100 |
|
101 |
+
.onp-page-wrap .license-message p
|
102 |
+
{
|
103 |
+
margin: 1px 0 1px 0;
|
104 |
+
padding: 0px;
|
105 |
}
|
106 |
|
107 |
+
.onp-page-wrap .license-message a
|
108 |
+
{
|
109 |
+
font-weight: bold;
|
110 |
}
|
111 |
|
112 |
+
.license-message .alert-warning-icon
|
113 |
+
{
|
114 |
+
padding-left: 60px;
|
115 |
+
background-image: url("../img/warning.png");
|
116 |
+
background-position: 15px 11px;
|
117 |
+
background-repeat: no-repeat;
|
118 |
}
|
119 |
|
120 |
+
#onp-hide-license-manager
|
121 |
+
{
|
122 |
+
position: absolute;
|
123 |
+
top: 2px;
|
124 |
+
right: 15px;
|
125 |
+
font-size: 12px;
|
126 |
+
color: #777;
|
127 |
+
font-weight: bold;
|
128 |
}
|
129 |
|
130 |
+
#onp-hide-license-manager:hover
|
131 |
+
{
|
132 |
+
text-decoration: none;
|
133 |
}
|
134 |
|
135 |
#onp-hide-license-manager,
|
136 |
#onp-hide-license-manager:focus,
|
137 |
+
#onp-hide-license-manager:hover
|
138 |
+
{
|
139 |
+
outline: none;
|
140 |
+
border: 0px;
|
141 |
+
box-shadow: none;
|
142 |
+
}
|
143 |
+
|
144 |
+
#onp-hide-license-manager .fa
|
145 |
+
{
|
146 |
+
margin-right: 5px;
|
147 |
+
}
|
148 |
+
|
149 |
+
#license-manager .license-details-wrap
|
150 |
+
{
|
151 |
+
border: 1px solid #e9e9e9;
|
152 |
+
padding: 0px;
|
153 |
+
border-radius: 5px;
|
154 |
+
|
155 |
+
background: rgb(255, 255, 255); /* Old browsers */
|
156 |
+
background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* FF3.6+ */
|
157 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(63%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(246, 246, 246, 1))); /* Chrome,Safari4+ */
|
158 |
+
background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* Chrome10+,Safari5.1+ */
|
159 |
+
background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* Opera 11.10+ */
|
160 |
+
background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* IE10+ */
|
161 |
+
background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* W3C */
|
162 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6', GradientType=0); /* IE6-9 */
|
163 |
+
|
164 |
+
box-shadow: 0px 2px 1px #c9c9c9;
|
165 |
}
|
166 |
|
167 |
+
#license-manager .activate-trial-hint
|
168 |
+
{
|
169 |
+
background-color: #f8f8f8;
|
170 |
+
padding: 10px 20px;
|
171 |
+
position: relative;
|
172 |
+
-moz-box-sizing: content-box;
|
173 |
+
box-sizing: content-box;
|
174 |
}
|
175 |
|
176 |
+
#license-manager .activate-error-hint
|
177 |
+
{
|
178 |
+
background-color: #fb7976;
|
179 |
+
color: #f5f5f5;
|
180 |
+
text-shadow: none;
|
181 |
+
padding: 2px 9px;
|
182 |
+
width: 100%;
|
183 |
+
position: relative;
|
184 |
+
margin-left: -9px;
|
185 |
+
-moz-box-sizing: content-box;
|
186 |
+
box-sizing: content-box;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
}
|
188 |
|
189 |
+
#license-manager .license-details
|
190 |
+
{
|
191 |
+
padding: 20px;
|
192 |
+
padding-bottom: 0px;
|
193 |
+
-webkit-border-top-left-radius: 5px;
|
194 |
+
-webkit-border-top-right-radius: 5px;
|
195 |
+
-moz-border-radius-topleft: 5px;
|
196 |
+
-moz-border-radius-topright: 5px;
|
197 |
+
border-top-left-radius: 5px;
|
198 |
+
border-top-right-radius: 5px;
|
199 |
|
200 |
+
position: relative;
|
201 |
+
z-index: 10;
|
202 |
}
|
203 |
|
204 |
+
#license-manager .license-key-identity
|
205 |
+
{
|
206 |
+
font-style: italic;
|
207 |
+
position: relative;
|
208 |
+
top: -6px;
|
209 |
}
|
210 |
|
211 |
+
#license-manager .license-key-identity code
|
212 |
+
{
|
213 |
+
display: inline-block;
|
214 |
+
padding: 2px 5px;
|
215 |
+
font-size: 16px;
|
216 |
}
|
217 |
|
218 |
+
#license-manager .license-key-description
|
219 |
+
{
|
220 |
+
font-size: 12px;
|
221 |
}
|
222 |
|
223 |
+
#license-manager .license-delete-button
|
224 |
+
{
|
225 |
+
float: right;
|
226 |
+
text-decoration: none;
|
227 |
+
position: relative;
|
228 |
+
top: -7px;
|
229 |
+
left: 10px;
|
230 |
}
|
231 |
|
232 |
+
#license-manager .license-synchronization-button
|
233 |
+
{
|
234 |
+
float: right;
|
235 |
+
text-decoration: none;
|
236 |
+
position: relative;
|
237 |
+
top: -7px;
|
238 |
+
left: 4px;
|
239 |
}
|
240 |
|
241 |
+
#license-manager .license-details-block
|
242 |
+
{
|
243 |
+
padding: 28px 35px 15px 35px;
|
244 |
+
margin-left: -35px;
|
245 |
+
width: 100%;
|
246 |
+
position: relative;
|
247 |
+
margin-top: 20px;
|
248 |
|
249 |
+
background: #fff;
|
250 |
+
border: 0px;
|
251 |
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
252 |
+
color: #333;
|
253 |
|
254 |
+
border-radius: 5px;
|
255 |
|
256 |
+
-webkit-box-sizing: content-box;
|
257 |
+
-moz-box-sizing: content-box;
|
258 |
+
box-sizing: content-box;
|
259 |
}
|
260 |
|
261 |
+
#license-manager .license-details-block p + p
|
262 |
+
{
|
263 |
+
margin-top: 10px;
|
264 |
}
|
265 |
|
266 |
+
#license-manager .license-details-block a
|
267 |
+
{
|
268 |
+
font-weight: bold;
|
269 |
}
|
270 |
|
271 |
+
#license-manager .license-details-block.trial-details-block
|
272 |
+
{
|
273 |
+
background: #ffdede;
|
274 |
|
275 |
+
border: 0;
|
276 |
+
box-shadow: 0 0 7px #cf4944;
|
277 |
+
color: #a04342;
|
278 |
+
text-shadow: 1px 1px 2px #fff2f2;
|
279 |
}
|
280 |
|
281 |
+
#license-manager .license-details-block.trial-details-block a
|
282 |
+
{
|
283 |
+
color: #a04342;
|
284 |
}
|
285 |
|
286 |
+
#license-manager .license-details-block.paid-details-block
|
287 |
+
{
|
288 |
+
border: 0;
|
289 |
+
box-shadow: 0 0 7px #b8823b;
|
290 |
+
color: #8a6d3b;
|
291 |
+
background: #fcf8e3;
|
292 |
}
|
293 |
|
294 |
+
#license-manager .license-details-block.paid-details-block a
|
295 |
+
{
|
296 |
+
color: #7a4c00;
|
297 |
}
|
298 |
|
299 |
+
#license-manager .license-details-block.gift-details-block
|
300 |
+
{
|
301 |
+
background: #DFF0D8;
|
302 |
+
border: 1px solid #D6E9C6;
|
303 |
+
box-shadow: 0px 0px 5px #D6E9C6;
|
304 |
+
color: #468847;
|
305 |
}
|
306 |
|
307 |
+
#license-manager .license-details-block.gift-details-block a
|
308 |
+
{
|
309 |
+
color: #468847;
|
310 |
}
|
311 |
|
312 |
+
#license-manager .license-params
|
313 |
+
{
|
314 |
+
margin-top: 15px;
|
315 |
+
position: relative;
|
316 |
+
left: -2px;
|
317 |
}
|
318 |
|
319 |
+
#license-manager .license-value
|
320 |
+
{
|
321 |
+
display: block;
|
322 |
+
font-size: 16px;
|
323 |
+
font-weight: bold;
|
324 |
}
|
325 |
|
326 |
+
#license-manager .license-value small
|
327 |
+
{
|
328 |
+
font-weight: normal;
|
329 |
}
|
330 |
|
331 |
+
#license-manager .license-value-name
|
332 |
+
{
|
333 |
+
display: block;
|
334 |
+
font-size: 12px;
|
335 |
}
|
336 |
|
337 |
+
#license-manager .license-param
|
338 |
+
{
|
339 |
+
white-space: nowrap;
|
340 |
+
line-height: 130%;
|
341 |
+
padding: 10px 0 10px 35px;
|
342 |
+
vertical-align: top;
|
343 |
}
|
344 |
|
345 |
+
#license-manager .license-param-domain
|
346 |
+
{
|
347 |
+
padding-left: 65px;
|
348 |
+
background: url('../img/free-license-chip.png') -3px 0px no-repeat;
|
349 |
}
|
350 |
|
351 |
+
#license-manager .trial-details-block .license-param-domain
|
352 |
+
{
|
353 |
+
background: url('../img/trial-license-chip.png') -3px 0px no-repeat;
|
354 |
}
|
355 |
|
356 |
+
#license-manager .paid-details-block .license-param-domain
|
357 |
+
{
|
358 |
+
background: url('../img/paid-license-chip.png') -3px 0px no-repeat;
|
359 |
}
|
360 |
|
361 |
+
#license-manager .license-details-block h3
|
362 |
+
{
|
363 |
+
padding: 0;
|
364 |
+
font-size: 22px;
|
365 |
+
margin: 0 0 16px 0;
|
366 |
+
color: #8a6d3b;
|
367 |
+
font-weight: 500;
|
368 |
}
|
369 |
|
370 |
+
#license-manager .license-details-block a
|
371 |
+
{
|
372 |
+
color: #a04342;
|
373 |
}
|
374 |
|
375 |
+
#license-manager .license-input
|
376 |
+
{
|
377 |
|
378 |
+
padding: 20px;
|
379 |
+
-webkit-border-bottom-right-radius: 5px;
|
380 |
+
-webkit-border-bottom-left-radius: 5px;
|
381 |
+
-moz-border-radius-bottomright: 5px;
|
382 |
+
-moz-border-radius-bottomleft: 5px;
|
383 |
+
border-bottom-right-radius: 5px;
|
384 |
+
border-bottom-left-radius: 5px;
|
385 |
}
|
386 |
|
387 |
+
#license-manager .license-input .btn
|
388 |
+
{
|
389 |
+
text-decoration: none;
|
390 |
}
|
391 |
|
392 |
+
#license-manager .license-key-wrap
|
393 |
+
{
|
394 |
+
padding-right: 110px;
|
395 |
}
|
396 |
|
397 |
+
#license-key
|
398 |
+
{
|
399 |
+
width: 100%;
|
400 |
+
position: relative;
|
401 |
+
font-size: 18px;
|
402 |
+
line-height: 20px;
|
403 |
+
top: -1px;
|
404 |
+
height: 36px;
|
405 |
+
color: #000;
|
406 |
}
|
407 |
|
408 |
+
#license-submit
|
409 |
+
{
|
410 |
+
float: right;
|
411 |
+
padding: 7px 14px 6px 14px;
|
412 |
}
|
413 |
|
414 |
+
#plugin-update-block
|
415 |
+
{
|
416 |
+
padding-top: 10px;
|
417 |
+
font-size: 10px;
|
418 |
+
color: #666;
|
419 |
+
max-width: 700px;
|
420 |
+
margin: auto;
|
421 |
}
|
422 |
|
423 |
+
#plugin-update-block a
|
424 |
+
{
|
425 |
+
color: #000;
|
426 |
}
|
427 |
|
428 |
+
.purchase-premium
|
429 |
+
{
|
430 |
+
float: right;
|
431 |
+
position: relative;
|
432 |
+
top: -11px;
|
433 |
+
left: 8px;
|
434 |
+
text-decoration: none;
|
435 |
+
font-weight: bold;
|
436 |
+
background: #fffaea;
|
437 |
+
padding: 0px;
|
438 |
+
border-radius: 4px;
|
439 |
+
outline: none;
|
440 |
+
margin-top: 4px;
|
441 |
+
box-shadow: 0 0 8px #fddf67;
|
442 |
}
|
443 |
|
444 |
+
.purchase-premium .fa
|
445 |
+
{
|
446 |
+
position: relative;
|
447 |
+
margin-right: 3px;
|
448 |
+
margin-left: 3px;
|
449 |
}
|
450 |
|
451 |
/*
|
452 |
* Manual Trial Activation
|
453 |
*/
|
454 |
+
#trial-manual .onp-container
|
455 |
+
{
|
456 |
+
padding: 20px;
|
457 |
+
overflow: hidden;
|
458 |
}
|
459 |
|
460 |
+
#trial-manual ul
|
461 |
+
{
|
462 |
+
margin: 0px;
|
463 |
+
padding: 0px;
|
464 |
+
margin-top: 10px;
|
465 |
}
|
466 |
|
467 |
+
#trial-manual ul li
|
468 |
+
{
|
469 |
+
margin-bottom: 10px;
|
470 |
}
|
471 |
|
472 |
+
#trial-manual .license-reponse-code
|
473 |
+
{
|
474 |
+
width: 100%;
|
475 |
+
height: 150px;
|
476 |
+
margin-top: 5px;
|
477 |
}
|
478 |
|
479 |
/*
|
480 |
* Manual Key Activation
|
481 |
*/
|
482 |
+
#activate-key-manual .onp-container
|
483 |
+
{
|
484 |
+
padding: 20px;
|
485 |
+
overflow: hidden;
|
486 |
}
|
487 |
|
488 |
+
#activate-key-manual ul
|
489 |
+
{
|
490 |
+
margin: 0px;
|
491 |
+
padding: 0px;
|
492 |
+
margin-top: 10px;
|
493 |
}
|
494 |
|
495 |
+
#activate-key-manual ul li
|
496 |
+
{
|
497 |
+
margin-bottom: 10px;
|
498 |
}
|
499 |
|
500 |
+
#activate-key-manual .license-reponse-code
|
501 |
+
{
|
502 |
+
width: 100%;
|
503 |
+
height: 150px;
|
504 |
+
margin-top: 5px;
|
505 |
}
|
506 |
|
507 |
/**
|
508 |
* FAQ
|
509 |
*/
|
510 |
|
511 |
+
#faq-block
|
512 |
+
{
|
513 |
+
border-top: 1px solid #d7d7d7;
|
514 |
|
515 |
+
margin-top: 20px;
|
516 |
+
width: 100%;
|
517 |
|
518 |
+
padding: 10px 20px;
|
519 |
+
position: relative;
|
520 |
}
|
521 |
|
522 |
+
#faq-block .faq-header
|
523 |
+
{
|
524 |
+
border-bottom: 1px dotted #333;
|
525 |
+
display: inline-block;
|
526 |
+
cursor: pointer;
|
527 |
+
font-weight: bold;
|
528 |
+
line-height: 16px;
|
529 |
+
font-size: 13px;
|
530 |
+
color: #333;
|
531 |
}
|
532 |
|
533 |
+
#faq-block .faq-header:hover
|
534 |
+
{
|
535 |
+
border-bottom: 0px;
|
536 |
}
|
537 |
|
538 |
+
#faq-block .faq-header:focus, #faq-block .faq-header:active
|
539 |
+
{
|
540 |
+
outline: 0;
|
541 |
}
|
542 |
|
543 |
+
#faq-block li > div
|
544 |
+
{
|
545 |
+
display: none;
|
546 |
}
|
547 |
|
548 |
+
#faq-block p
|
549 |
+
{
|
550 |
+
margin: 6px 0 10px 0;
|
551 |
+
font-size: 13px;
|
552 |
+
line-height: 170%;
|
553 |
}
|
554 |
|
555 |
+
#open-faq
|
556 |
+
{
|
557 |
+
color: #000 !important;
|
558 |
+
text-decoration: none;
|
559 |
+
border-bottom: 1px dotted #000;
|
560 |
+
margin-left: 4px;
|
561 |
}
|
562 |
|
563 |
+
#open-faq:hover
|
564 |
+
{
|
565 |
+
border-bottom: 0px;
|
566 |
}
|
567 |
|
568 |
+
.gray-link, .gray-link a
|
569 |
+
{
|
570 |
+
color: #666666 !important;
|
571 |
}
|
572 |
|
573 |
/**
|
574 |
* A form to create a customer account
|
575 |
*/
|
576 |
|
577 |
+
.onp-single-block .onp-header
|
578 |
+
{
|
579 |
+
text-align: center;
|
580 |
+
padding: 10px;
|
581 |
}
|
582 |
|
583 |
+
.onp-single-block .onp-header h4
|
584 |
+
{
|
585 |
+
font-size: 26px;
|
586 |
+
line-height: 130%;
|
587 |
}
|
588 |
|
589 |
+
.onp-single-block .onp-container
|
590 |
+
{
|
591 |
+
padding: 50px 60px;
|
592 |
+
border: 1px solid #bbb;
|
593 |
+
position: relative;
|
594 |
}
|
595 |
|
596 |
+
.onp-single-block .onp-container .onp-container-header
|
597 |
+
{
|
598 |
+
margin-bottom: 20px;
|
599 |
}
|
600 |
|
601 |
+
.onp-single-block .onp-container .onp-container-header h4
|
602 |
+
{
|
603 |
+
color: #000;
|
604 |
+
margin: 0px;
|
605 |
+
font-size: 20px;
|
606 |
}
|
607 |
|
608 |
+
.onp-single-block .onp-container .onp-container-header .onp-key-info
|
609 |
+
{
|
610 |
+
color: #666;
|
611 |
}
|
612 |
|
613 |
+
.onp-single-block .onp-container .onp-container-header .onp-key-info .fa
|
614 |
+
{
|
615 |
+
color: #777;
|
616 |
}
|
617 |
|
618 |
+
.onp-single-block .onp-container .onp-container-header .onp-icon
|
619 |
+
{
|
620 |
+
position: absolute;
|
621 |
+
top: 30px;
|
622 |
+
right: 30px;
|
623 |
}
|
624 |
|
625 |
.onp-single-block .onp-container p,
|
626 |
+
.onp-single-block .onp-container li
|
627 |
+
{
|
628 |
+
color: #333;
|
629 |
+
font-size: 14px;
|
630 |
}
|
631 |
|
632 |
+
.onp-single-block .onp-container p + p
|
633 |
+
{
|
634 |
+
margin-top: 15px;
|
635 |
}
|
636 |
|
637 |
+
.onp-single-block .onp-container .onp-form
|
638 |
+
{
|
639 |
+
text-align: left;
|
640 |
+
padding: 10px 0 0 0;
|
641 |
}
|
642 |
|
643 |
+
.onp-single-block #email
|
644 |
+
{
|
645 |
+
font-size: 26px;
|
646 |
+
line-height: 26px;
|
647 |
+
height: 50px;
|
648 |
}
|
649 |
|
650 |
+
.onp-single-block .checkbox
|
651 |
+
{
|
652 |
+
padding-left: 25px;
|
653 |
+
color: #999;
|
654 |
+
font-style: italic;
|
655 |
}
|
656 |
|
657 |
+
.onp-single-block .checkbox input
|
658 |
+
{
|
659 |
+
margin-left: -25px;
|
660 |
}
|
661 |
|
662 |
+
.onp-single-block .onp-actions
|
663 |
+
{
|
664 |
+
padding-top: 20px;
|
665 |
}
|
666 |
|
667 |
+
.onp-single-block .onp-actions .btn-primary
|
668 |
+
{
|
669 |
+
margin-right: 15px;
|
670 |
}
|
671 |
|
672 |
+
.onp-single-block .onp-actions a.onp-cancel
|
673 |
+
{
|
674 |
+
text-decoration: none;
|
675 |
+
color: #111;
|
676 |
}
|
677 |
|
678 |
+
.onp-single-block .onp-actions a.onp-cancel:hover
|
679 |
+
{
|
680 |
+
text-decoration: none;
|
681 |
+
border-bottom: 1px solid #111;
|
682 |
+
background-color: #f9f9f9;
|
683 |
}
|
684 |
|
685 |
+
.onp-single-block .onp-benefits
|
686 |
+
{
|
687 |
+
padding-left: 25px;
|
688 |
+
margin-top: 15px;
|
689 |
+
list-style: initial;
|
690 |
}
|
691 |
|
692 |
+
.onp-single-block .onp-login-details
|
693 |
+
{
|
694 |
|
695 |
}
|
696 |
|
697 |
+
.onp-single-block .onp-text-seporator
|
698 |
+
{
|
699 |
+
border-top: 1px solid #eee;
|
700 |
+
margin: 30px 0;
|
701 |
}
|
702 |
|
703 |
+
#create-account .onp-container
|
704 |
+
{
|
705 |
+
background: #fff url("../img/create-account-bg.png") no-repeat 370px 230px !important;
|
706 |
}
|
707 |
|
708 |
+
#account-created .onp-step
|
709 |
+
{
|
710 |
+
overflow: hidden;
|
711 |
}
|
712 |
|
713 |
+
#account-created .onp-steps
|
714 |
+
{
|
715 |
+
padding: 25px 0 20px 10px;
|
716 |
}
|
717 |
|
718 |
+
#account-created .onp-step + .onp-step
|
719 |
+
{
|
720 |
+
margin-top: 20px;
|
721 |
}
|
722 |
|
723 |
+
#account-created .onp-step .onp-num
|
724 |
+
{
|
725 |
+
font-size: 25px;
|
726 |
+
line-height: 40px;
|
727 |
+
background-color: #f5f5f5;
|
728 |
+
width: 40px;
|
729 |
+
height: 40px;
|
730 |
+
display: inline-block;
|
731 |
+
border-radius: 7px;
|
732 |
+
text-align: center;
|
733 |
+
-moz-box-sizing: border-box;
|
734 |
+
box-sizing: border-box;
|
735 |
+
margin-right: 10px;
|
736 |
+
vertical-align: middle;
|
737 |
+
font-weight: bolder;
|
738 |
+
font-family: Arial, sans-serif;
|
739 |
}
|
740 |
|
741 |
+
#account-created .onp-step .onp-desc
|
742 |
+
{
|
743 |
+
width: 490px;
|
744 |
+
display: inline-block;
|
745 |
+
vertical-align: middle;
|
746 |
+
line-height: 150%;
|
747 |
}
|
748 |
|
749 |
+
#finish .onp-container
|
750 |
+
{
|
751 |
+
background: #fff url("../img/finish.png") no-repeat 0 -90px !important;
|
752 |
+
padding-left: 260px;
|
753 |
+
min-height: 250px;
|
754 |
|
755 |
+
border-bottom: 3px solid #ccc;
|
756 |
}
|
757 |
|
758 |
+
.wis-loader
|
759 |
+
{
|
760 |
+
float: right;
|
761 |
+
width: 32px;
|
762 |
}
|
admin/assets/img/bg2.png
ADDED
Binary file
|
admin/assets/img/bg22.png
ADDED
Binary file
|
admin/assets/img/demo/1.png
ADDED
Binary file
|
admin/assets/img/demo/1.svg
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
+
width="155.000000pt" height="250.000000pt" viewBox="0 0 1500.000000 2235.000000"
|
6 |
+
preserveAspectRatio="xMidYMid meet">
|
7 |
+
|
8 |
+
<g transform="translate(0.000000,2235.000000) scale(0.100000,-0.100000)"
|
9 |
+
fill="#6927bf" stroke="none">
|
10 |
+
<path d="M2625 21085 c-322 -59 -563 -315 -606 -644 -44 -331 162 -665 481
|
11 |
+
-782 449 -163 924 127 991 606 15 109 1 231 -40 345 -123 336 -477 540 -826
|
12 |
+
475z"/>
|
13 |
+
<path d="M4040 20695 l0 -225 1630 0 1630 0 0 225 0 225 -1630 0 -1630 0 0
|
14 |
+
-225z"/>
|
15 |
+
<path d="M4040 20125 l0 -225 915 0 915 0 0 225 0 225 -915 0 -915 0 0 -225z"/>
|
16 |
+
<path d="M1970 13730 l0 -5450 5465 0 5465 0 0 5450 0 5450 -5465 0 -5465 0 0
|
17 |
+
-5450z"/>
|
18 |
+
<path d="M1950 7835 l0 -205 905 0 905 0 0 205 0 205 -905 0 -905 0 0 -205z"/>
|
19 |
+
<path d="M11100 7835 l0 -205 910 0 910 0 0 205 0 205 -910 0 -910 0 0 -205z"/>
|
20 |
+
<path d="M1950 6995 l0 -205 5475 0 5475 0 0 205 0 205 -5475 0 -5475 0 0
|
21 |
+
-205z"/>
|
22 |
+
<path d="M1950 6255 l0 -205 2860 0 2860 0 0 205 0 205 -2860 0 -2860 0 0
|
23 |
+
-205z"/>
|
24 |
+
</g>
|
25 |
+
</svg>
|
admin/assets/img/demo/2.png
ADDED
Binary file
|
admin/assets/img/demo/2.svg
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
+
width="155.000000pt" height="250.000000pt" viewBox="0 0 1500.000000 2235.000000"
|
6 |
+
preserveAspectRatio="xMidYMid meet">
|
7 |
+
|
8 |
+
<g transform="translate(0.000000,2235.000000) scale(0.100000,-0.100000)"
|
9 |
+
fill="#6927bf" stroke="none">
|
10 |
+
<path d="M2625 21085 c-322 -59 -563 -315 -606 -644 -44 -331 162 -665 481
|
11 |
+
-782 449 -163 924 127 991 606 15 109 1 231 -40 345 -123 336 -477 540 -826
|
12 |
+
475z"/>
|
13 |
+
<path d="M4040 20695 l0 -225 1630 0 1630 0 0 225 0 225 -1630 0 -1630 0 0
|
14 |
+
-225z"/>
|
15 |
+
<path d="M4040 20125 l0 -225 915 0 915 0 0 225 0 225 -915 0 -915 0 0 -225z"/>
|
16 |
+
<path d="M2000 16465 l0 -2695 2690 0 2690 0 0 2695 0 2695 -2690 0 -2690 0 0
|
17 |
+
-2695z"/>
|
18 |
+
<path d="M7590 17815 l0 -1345 1260 0 1260 0 0 1345 0 1345 -1260 0 -1260 0 0
|
19 |
+
-1345z"/>
|
20 |
+
<path d="M10290 17815 l0 -1345 1350 0 1350 0 0 1345 0 1345 -1350 0 -1350 0
|
21 |
+
0 -1345z"/>
|
22 |
+
<path d="M7590 13665 l0 -2655 2700 0 2700 0 0 2655 0 2655 -2700 0 -2700 0 0
|
23 |
+
-2655z"/>
|
24 |
+
<path d="M2000 12300 l0 -1290 1340 0 1340 0 0 1290 0 1290 -1340 0 -1340 0 0
|
25 |
+
-1290z"/>
|
26 |
+
<path d="M4860 12300 l0 -1290 1260 0 1260 0 0 1290 0 1290 -1260 0 -1260 0 0
|
27 |
+
-1290z"/>
|
28 |
+
<path d="M2000 8235 l0 -2595 2690 0 2690 0 0 2595 0 2595 -2690 0 -2690 0 0
|
29 |
+
-2595z"/>
|
30 |
+
<path d="M7590 9585 l0 -1245 1260 0 1260 0 0 1245 0 1245 -1260 0 -1260 0 0
|
31 |
+
-1245z"/>
|
32 |
+
<path d="M10290 9585 l0 -1245 1350 0 1350 0 0 1245 0 1245 -1350 0 -1350 0 0
|
33 |
+
-1245z"/>
|
34 |
+
<path d="M7590 5475 l0 -2655 2700 0 2700 0 0 2655 0 2655 -2700 0 -2700 0 0
|
35 |
+
-2655z"/>
|
36 |
+
<path d="M2000 4170 l0 -1350 1325 0 1325 0 0 1350 0 1350 -1325 0 -1325 0 0
|
37 |
+
-1350z"/>
|
38 |
+
<path d="M4830 4170 l0 -1350 1275 0 1275 0 0 1350 0 1350 -1275 0 -1275 0 0
|
39 |
+
-1350z"/>
|
40 |
+
</g>
|
41 |
+
</svg>
|
admin/assets/img/demo/3.png
ADDED
Binary file
|
admin/assets/img/demo/3.svg
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
+
width="155.000000pt" height="250.000000pt" viewBox="0 0 1500.000000 2235.000000"
|
6 |
+
preserveAspectRatio="xMidYMid meet">
|
7 |
+
|
8 |
+
<g transform="translate(0.000000,2235.000000) scale(0.100000,-0.100000)"
|
9 |
+
fill="#6927bf" stroke="none">
|
10 |
+
<path d="M2725 21165 c-322 -59 -563 -315 -606 -644 -44 -331 162 -665 481
|
11 |
+
-782 449 -163 924 127 991 606 15 109 1 231 -40 345 -123 336 -477 540 -826
|
12 |
+
475z"/>
|
13 |
+
<path d="M4140 20775 l0 -225 1630 0 1630 0 0 225 0 225 -1630 0 -1630 0 0
|
14 |
+
-225z"/>
|
15 |
+
<path d="M4140 20205 l0 -225 915 0 915 0 0 225 0 225 -915 0 -915 0 0 -225z"/>
|
16 |
+
<path d="M2110 16465 l0 -2695 2695 0 2695 0 0 2695 0 2695 -2695 0 -2695 0 0
|
17 |
+
-2695z"/>
|
18 |
+
<path d="M7920 16465 l0 -2695 2655 0 2655 0 0 2695 0 2695 -2655 0 -2655 0 0
|
19 |
+
-2695z"/>
|
20 |
+
<path d="M2110 10705 l0 -2625 2695 0 2695 0 0 2625 0 2625 -2695 0 -2695 0 0
|
21 |
+
-2625z"/>
|
22 |
+
<path d="M7920 10705 l0 -2625 2655 0 2655 0 0 2625 0 2625 -2655 0 -2655 0 0
|
23 |
+
-2625z"/>
|
24 |
+
<path d="M2110 4975 l0 -2695 2695 0 2695 0 0 2695 0 2695 -2695 0 -2695 0 0
|
25 |
+
-2695z"/>
|
26 |
+
<path d="M7920 4975 l0 -2695 2655 0 2655 0 0 2695 0 2695 -2655 0 -2655 0 0
|
27 |
+
-2695z"/>
|
28 |
+
</g>
|
29 |
+
</svg>
|
admin/assets/img/demo/4.png
ADDED
Binary file
|
admin/assets/img/demo/4.svg
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
+
width="155.000000pt" height="250.000000pt" viewBox="0 0 1500.000000 2235.000000"
|
6 |
+
preserveAspectRatio="xMidYMid meet">
|
7 |
+
|
8 |
+
<g transform="translate(0.000000,2235.000000) scale(0.100000,-0.100000)"
|
9 |
+
fill="#6927bf" stroke="none">
|
10 |
+
<path d="M2485 21165 c-322 -59 -563 -315 -606 -644 -44 -331 162 -665 481
|
11 |
+
-782 449 -163 924 127 991 606 15 109 1 231 -40 345 -123 336 -477 540 -826
|
12 |
+
475z"/>
|
13 |
+
<path d="M3900 20775 l0 -225 1630 0 1630 0 0 225 0 225 -1630 0 -1630 0 0
|
14 |
+
-225z"/>
|
15 |
+
<path d="M3900 20205 l0 -225 915 0 915 0 0 225 0 225 -915 0 -915 0 0 -225z"/>
|
16 |
+
<path d="M1920 17260 l0 -1900 1860 0 1860 0 0 1900 0 1900 -1860 0 -1860 0 0
|
17 |
+
-1900z"/>
|
18 |
+
<path d="M5880 17260 l0 -1900 1830 0 1830 0 0 1900 0 1900 -1830 0 -1830 0 0
|
19 |
+
-1900z"/>
|
20 |
+
<path d="M9750 17260 l0 -1900 1875 0 1875 0 0 1900 0 1900 -1875 0 -1875 0 0
|
21 |
+
-1900z"/>
|
22 |
+
<path d="M2010 15125 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
23 |
+
<path d="M5940 15125 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
24 |
+
<path d="M9880 15085 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
25 |
+
<path d="M2010 14905 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
26 |
+
<path d="M5940 14905 l0 -45 1000 0 1000 0 0 45 0 45 -1000 0 -1000 0 0 -45z"/>
|
27 |
+
<path d="M9880 14865 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
28 |
+
<path d="M2010 14685 l0 -45 1000 0 1000 0 0 45 0 45 -1000 0 -1000 0 0 -45z"/>
|
29 |
+
<path d="M9880 14645 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
30 |
+
<path d="M5880 12810 l0 -1860 1830 0 1830 0 0 1860 0 1860 -1830 0 -1830 0 0
|
31 |
+
-1860z"/>
|
32 |
+
<path d="M9880 14425 l0 -45 1000 0 1000 0 0 45 0 45 -1000 0 -1000 0 0 -45z"/>
|
33 |
+
<path d="M1920 12585 l0 -1875 1860 0 1860 0 0 1875 0 1875 -1860 0 -1860 0 0
|
34 |
+
-1875z"/>
|
35 |
+
<path d="M9750 12180 l0 -1890 1875 0 1875 0 0 1890 0 1890 -1875 0 -1875 0 0
|
36 |
+
-1890z"/>
|
37 |
+
<path d="M5920 10725 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
38 |
+
<path d="M5920 10505 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
39 |
+
<path d="M5920 10285 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
40 |
+
<path d="M5920 10065 l0 -45 1000 0 1000 0 0 45 0 45 -1000 0 -1000 0 0 -45z"/>
|
41 |
+
<path d="M9860 10055 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
42 |
+
<path d="M9860 9835 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
43 |
+
<path d="M1920 7935 l0 -1875 1860 0 1860 0 0 1875 0 1875 -1860 0 -1860 0 0
|
44 |
+
-1875z"/>
|
45 |
+
<path d="M9860 9615 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
46 |
+
<path d="M9860 9395 l0 -45 1000 0 1000 0 0 45 0 45 -1000 0 -1000 0 0 -45z"/>
|
47 |
+
<path d="M5880 7560 l0 -1860 1830 0 1830 0 0 1860 0 1860 -1830 0 -1830 0 0
|
48 |
+
-1860z"/>
|
49 |
+
<path d="M9750 7050 l0 -1860 1875 0 1875 0 0 1860 0 1860 -1875 0 -1875 0 0
|
50 |
+
-1860z"/>
|
51 |
+
<path d="M2000 5795 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
52 |
+
<path d="M2000 5575 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
53 |
+
<path d="M5940 5375 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
54 |
+
<path d="M2000 5355 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
55 |
+
<path d="M5940 5155 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
56 |
+
<path d="M2000 5135 l0 -45 1000 0 1000 0 0 45 0 45 -1000 0 -1000 0 0 -45z"/>
|
57 |
+
<path d="M5940 4935 l0 -45 1000 0 1000 0 0 45 0 45 -1000 0 -1000 0 0 -45z"/>
|
58 |
+
<path d="M9860 4885 l0 -45 1780 0 1780 0 0 45 0 45 -1780 0 -1780 0 0 -45z"/>
|
59 |
+
<path d="M9860 4665 l0 -45 1000 0 1000 0 0 45 0 45 -1000 0 -1000 0 0 -45z"/>
|
60 |
+
</g>
|
61 |
+
</svg>
|
admin/assets/img/demo/5.png
ADDED
Binary file
|
admin/assets/img/demo/5.svg
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
+
width="155.000000pt" height="250.000000pt" viewBox="0 0 1500.000000 2235.000000"
|
6 |
+
preserveAspectRatio="xMidYMid meet">
|
7 |
+
|
8 |
+
<g transform="translate(0.000000,2235.000000) scale(0.100000,-0.100000)"
|
9 |
+
fill="#6927bf" stroke="none">
|
10 |
+
<path d="M1885 21165 c-322 -59 -563 -315 -606 -644 -44 -331 162 -665 481
|
11 |
+
-782 449 -163 924 127 991 606 15 109 1 231 -40 345 -123 336 -477 540 -826
|
12 |
+
475z"/>
|
13 |
+
<path d="M3300 20775 l0 -225 1630 0 1630 0 0 225 0 225 -1630 0 -1630 0 0
|
14 |
+
-225z"/>
|
15 |
+
<path d="M3300 20205 l0 -225 915 0 915 0 0 225 0 225 -915 0 -915 0 0 -225z"/>
|
16 |
+
<path d="M1270 17610 l0 -1550 1545 0 1545 0 0 1550 0 1550 -1545 0 -1545 0 0
|
17 |
+
-1550z"/>
|
18 |
+
<path d="M4420 17610 l0 -1550 1570 0 1570 0 0 1550 0 1550 -1570 0 -1570 0 0
|
19 |
+
-1550z"/>
|
20 |
+
<path d="M7620 17610 l0 -1550 1560 0 1560 0 0 1550 0 1550 -1560 0 -1560 0 0
|
21 |
+
-1550z"/>
|
22 |
+
<path d="M10800 17610 l0 -1550 1545 0 1545 0 0 1550 0 1550 -1545 0 -1545 0
|
23 |
+
0 -1550z"/>
|
24 |
+
<path d="M1270 14425 l0 -1585 1545 0 1545 0 0 1585 0 1585 -1545 0 -1545 0 0
|
25 |
+
-1585z"/>
|
26 |
+
<path d="M4420 14425 l0 -1585 1570 0 1570 0 0 1585 0 1585 -1570 0 -1570 0 0
|
27 |
+
-1585z"/>
|
28 |
+
<path d="M7620 14425 l0 -1585 1560 0 1560 0 0 1585 0 1585 -1560 0 -1560 0 0
|
29 |
+
-1585z"/>
|
30 |
+
<path d="M10800 14425 l0 -1585 1545 0 1545 0 0 1585 0 1585 -1545 0 -1545 0
|
31 |
+
0 -1585z"/>
|
32 |
+
<path d="M1270 11225 l0 -1565 1545 0 1545 0 0 1565 0 1565 -1545 0 -1545 0 0
|
33 |
+
-1565z"/>
|
34 |
+
<path d="M4420 11225 l0 -1565 1570 0 1570 0 0 1565 0 1565 -1570 0 -1570 0 0
|
35 |
+
-1565z"/>
|
36 |
+
<path d="M7620 11225 l0 -1565 1560 0 1560 0 0 1565 0 1565 -1560 0 -1560 0 0
|
37 |
+
-1565z"/>
|
38 |
+
<path d="M10800 11225 l0 -1565 1545 0 1545 0 0 1565 0 1565 -1545 0 -1545 0
|
39 |
+
0 -1565z"/>
|
40 |
+
</g>
|
41 |
+
</svg>
|
admin/assets/img/demo/6.png
ADDED
Binary file
|
admin/assets/img/demo/6.svg
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
+
width="155.000000pt" height="250.000000pt" viewBox="0 0 1500.000000 2235.000000"
|
6 |
+
preserveAspectRatio="xMidYMid meet">
|
7 |
+
|
8 |
+
<g transform="translate(0.000000,2235.000000) scale(0.100000,-0.100000)"
|
9 |
+
fill="#6927bf" stroke="none">
|
10 |
+
<path d="M2445 21085 c-322 -59 -563 -315 -606 -644 -44 -331 162 -665 481
|
11 |
+
-782 449 -163 924 127 991 606 15 109 1 231 -40 345 -123 336 -477 540 -826
|
12 |
+
475z"/>
|
13 |
+
<path d="M3860 20695 l0 -225 1630 0 1630 0 0 225 0 225 -1630 0 -1630 0 0
|
14 |
+
-225z"/>
|
15 |
+
<path d="M3860 20125 l0 -225 915 0 915 0 0 225 0 225 -915 0 -915 0 0 -225z"/>
|
16 |
+
<path d="M1830 17755 l0 -1405 1425 0 1425 0 0 1405 0 1405 -1425 0 -1425 0 0
|
17 |
+
-1405z"/>
|
18 |
+
<path d="M4830 17755 l0 -1405 1375 0 1375 0 0 1405 0 1405 -1375 0 -1375 0 0
|
19 |
+
-1405z"/>
|
20 |
+
<path d="M7720 16315 l0 -2845 2885 0 2885 0 0 2845 0 2845 -2885 0 -2885 0 0
|
21 |
+
-2845z"/>
|
22 |
+
<path d="M1830 14820 l0 -1350 1425 0 1425 0 0 1350 0 1350 -1425 0 -1425 0 0
|
23 |
+
-1350z"/>
|
24 |
+
<path d="M4830 14820 l0 -1350 1375 0 1375 0 0 1350 0 1350 -1375 0 -1375 0 0
|
25 |
+
-1350z"/>
|
26 |
+
<path d="M1830 11925 l0 -1395 1425 0 1425 0 0 1395 0 1395 -1425 0 -1425 0 0
|
27 |
+
-1395z"/>
|
28 |
+
<path d="M4830 11925 l0 -1395 1375 0 1375 0 0 1395 0 1395 -1375 0 -1375 0 0
|
29 |
+
-1395z"/>
|
30 |
+
<path d="M7720 11925 l0 -1395 1375 0 1375 0 0 1395 0 1395 -1375 0 -1375 0 0
|
31 |
+
-1395z"/>
|
32 |
+
<path d="M10620 11925 l0 -1395 1435 0 1435 0 0 1395 0 1395 -1435 0 -1435 0
|
33 |
+
0 -1395z"/>
|
34 |
+
<path d="M1830 7540 l0 -2840 2875 0 2875 0 0 2840 0 2840 -2875 0 -2875 0 0
|
35 |
+
-2840z"/>
|
36 |
+
<path d="M7720 9015 l0 -1365 1375 0 1375 0 0 1365 0 1365 -1375 0 -1375 0 0
|
37 |
+
-1365z"/>
|
38 |
+
<path d="M10620 9015 l0 -1365 1435 0 1435 0 0 1365 0 1365 -1435 0 -1435 0 0
|
39 |
+
-1365z"/>
|
40 |
+
<path d="M7720 6085 l0 -1385 1375 0 1375 0 0 1385 0 1385 -1375 0 -1375 0 0
|
41 |
+
-1385z"/>
|
42 |
+
<path d="M10620 6085 l0 -1385 1435 0 1435 0 0 1385 0 1385 -1435 0 -1435 0 0
|
43 |
+
-1385z"/>
|
44 |
+
</g>
|
45 |
+
</svg>
|
admin/assets/img/fb-icon-button.png
ADDED
Binary file
|
admin/assets/img/fb-icon.png
ADDED
Binary file
|
admin/assets/img/insta-icon.png
ADDED
Binary file
|
admin/assets/img/spinner.svg
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
|
3 |
+
xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="128px" height="128px" viewBox="0 0 128 128"
|
4 |
+
xml:space="preserve"><g><circle cx="16" cy="64" r="16" fill="#000000" fill-opacity="1"/><circle cx="16" cy="64"
|
5 |
+
r="16"
|
6 |
+
fill="#555555"
|
7 |
+
fill-opacity="0.67"
|
8 |
+
transform="rotate(45,64,64)"/><circle
|
9 |
+
cx="16" cy="64" r="16" fill="#949494" fill-opacity="0.42" transform="rotate(90,64,64)"/><circle cx="16" cy="64"
|
10 |
+
r="16"
|
11 |
+
fill="#cccccc"
|
12 |
+
fill-opacity="0.2"
|
13 |
+
transform="rotate(135,64,64)"/><circle
|
14 |
+
cx="16" cy="64" r="16" fill="#e1e1e1" fill-opacity="0.12" transform="rotate(180,64,64)"/><circle cx="16" cy="64"
|
15 |
+
r="16"
|
16 |
+
fill="#e1e1e1"
|
17 |
+
fill-opacity="0.12"
|
18 |
+
transform="rotate(225,64,64)"/><circle
|
19 |
+
cx="16" cy="64" r="16" fill="#e1e1e1" fill-opacity="0.12" transform="rotate(270,64,64)"/><circle cx="16" cy="64"
|
20 |
+
r="16"
|
21 |
+
fill="#e1e1e1"
|
22 |
+
fill-opacity="0.12"
|
23 |
+
transform="rotate(315,64,64)"/><animateTransform
|
24 |
+
attributeName="transform" type="rotate"
|
25 |
+
values="0 64 64;315 64 64;270 64 64;225 64 64;180 64 64;135 64 64;90 64 64;45 64 64" calcMode="discrete"
|
26 |
+
dur="720ms" repeatCount="indefinite"></animateTransform></g></svg>
|
admin/assets/img/youtube-icon.png
ADDED
Binary file
|
admin/assets/js/cbpFWTabs.js
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* cbpFWTabs.js v1.0.0
|
3 |
+
* http://www.codrops.com
|
4 |
+
*
|
5 |
+
* Licensed under the MIT license.
|
6 |
+
* http://www.opensource.org/licenses/mit-license.php
|
7 |
+
*
|
8 |
+
* Copyright 2014, Codrops
|
9 |
+
* http://www.codrops.com
|
10 |
+
*/
|
11 |
+
;(function (window) {
|
12 |
+
|
13 |
+
'use strict';
|
14 |
+
|
15 |
+
function extend(a, b) {
|
16 |
+
for (var key in b) {
|
17 |
+
if (b.hasOwnProperty(key)) {
|
18 |
+
a[key] = b[key];
|
19 |
+
}
|
20 |
+
}
|
21 |
+
return a;
|
22 |
+
}
|
23 |
+
|
24 |
+
function CBPFWTabs(el, options) {
|
25 |
+
this.el = el;
|
26 |
+
this.options = extend({}, this.options);
|
27 |
+
extend(this.options, options);
|
28 |
+
this._init();
|
29 |
+
}
|
30 |
+
|
31 |
+
CBPFWTabs.prototype.options = {
|
32 |
+
start: 0
|
33 |
+
};
|
34 |
+
|
35 |
+
CBPFWTabs.prototype._init = function () {
|
36 |
+
// tabs elemes
|
37 |
+
this.tabs = [].slice.call(this.el.querySelectorAll('nav > ul > li'));
|
38 |
+
// content items
|
39 |
+
this.items = [].slice.call(this.el.querySelectorAll('.content > section'));
|
40 |
+
// current index
|
41 |
+
this.current = -1;
|
42 |
+
// show current content item
|
43 |
+
this._show();
|
44 |
+
// init events
|
45 |
+
this._initEvents();
|
46 |
+
};
|
47 |
+
|
48 |
+
CBPFWTabs.prototype._initEvents = function () {
|
49 |
+
var self = this;
|
50 |
+
this.tabs.forEach(function (tab, idx) {
|
51 |
+
tab.addEventListener('click', function (ev) {
|
52 |
+
ev.preventDefault();
|
53 |
+
self._show(idx);
|
54 |
+
});
|
55 |
+
});
|
56 |
+
};
|
57 |
+
|
58 |
+
CBPFWTabs.prototype._show = function (idx) {
|
59 |
+
if (this.current >= 0) {
|
60 |
+
this.tabs[this.current].className = '';
|
61 |
+
this.items[this.current].className = '';
|
62 |
+
}
|
63 |
+
// change current
|
64 |
+
this.current = idx != undefined ? idx : this.options.start >= 0 && this.options.start < this.items.length ? this.options.start : 0;
|
65 |
+
this.tabs[this.current].className = 'tab-current';
|
66 |
+
this.items[this.current].className = 'content-current';
|
67 |
+
};
|
68 |
+
|
69 |
+
// add to global namespace
|
70 |
+
window.CBPFWTabs = CBPFWTabs;
|
71 |
+
|
72 |
+
})(window);
|
admin/assets/js/jr-insta-admin.js
CHANGED
@@ -1,191 +1,519 @@
|
|
1 |
-
(function($) {
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
})(jQuery);
|
1 |
+
(function ($) {
|
2 |
+
|
3 |
+
$(document).ready(function ($) {
|
4 |
+
|
5 |
+
var template = $('.jr-container select[id$="template"]')
|
6 |
+
if (template.val() == 'thumbs' || template.val() == 'thumbs-no-border' || template.val() == 'slider' || template.val() == 'slider-overlay') {
|
7 |
+
template.closest('.jr-container').find('select[id$="images_link"] option[value="popup"]').animate({
|
8 |
+
opacity: 'hide',
|
9 |
+
height: 'hide'
|
10 |
+
}, 200);
|
11 |
+
|
12 |
+
//window.image_link_val = template.closest('.jr-container').find('select[id$="images_link"]').val();
|
13 |
+
//template.closest('.jr-container').find('select[id$="images_link"]').val("image_link");
|
14 |
+
} else {
|
15 |
+
template.closest('.jr-container').find('select[id$="images_link"] option[value="popup"]').animate({
|
16 |
+
opacity: 'show',
|
17 |
+
height: 'show'
|
18 |
+
}, 200);
|
19 |
+
//template.closest('.jr-container').find('select[id$="images_link"]').val(window.image_link_val);
|
20 |
+
}
|
21 |
+
|
22 |
+
// Hide Custom Url if image link is not set to custom url
|
23 |
+
$('body').on('change', '.jr-container select[id$="images_link"]', function (e) {
|
24 |
+
var images_link = $(this);
|
25 |
+
if (images_link.val() != 'custom_url') {
|
26 |
+
images_link.closest('.jr-container').find('input[id$="custom_url"]').val('').parent().animate({
|
27 |
+
opacity: 'hide',
|
28 |
+
height: 'hide'
|
29 |
+
}, 200);
|
30 |
+
} else {
|
31 |
+
images_link.closest('.jr-container').find('input[id$="custom_url"]').parent().animate({
|
32 |
+
opacity: 'show',
|
33 |
+
height: 'show'
|
34 |
+
}, 200);
|
35 |
+
}
|
36 |
+
});
|
37 |
+
|
38 |
+
$('body').on('change', '.jr-container input[id$="keep_ratio"]', function (e) {
|
39 |
+
var keep_ratio = $(this);
|
40 |
+
if (keep_ratio.is(":checked")){
|
41 |
+
keep_ratio.closest('.jr-container').find('.slick_img_size').animate({
|
42 |
+
opacity: 'show',
|
43 |
+
height: 'show'
|
44 |
+
}, 200);
|
45 |
+
} else {
|
46 |
+
keep_ratio.closest('.jr-container').find('.slick_img_size').animate({
|
47 |
+
opacity: 'hide',
|
48 |
+
height: 'hide'
|
49 |
+
}, 200);
|
50 |
+
}
|
51 |
+
});
|
52 |
+
|
53 |
+
// Modify options based on template selections
|
54 |
+
$('body').on('change', '.jr-container select[id$="template"]', function (e) {
|
55 |
+
var template = $(this);
|
56 |
+
if (template.val() == 'thumbs' || template.val() == 'thumbs-no-border') {
|
57 |
+
template.closest('.jr-container').find('.jr-slider-options').animate({
|
58 |
+
opacity: 'hide',
|
59 |
+
height: 'hide'
|
60 |
+
}, 200);
|
61 |
+
template.closest('.jr-container').find('input[id$="columns"]').closest('p').animate({
|
62 |
+
opacity: 'show',
|
63 |
+
height: 'show'
|
64 |
+
}, 200);
|
65 |
+
} else {
|
66 |
+
template.closest('.jr-container').find('.jr-slider-options').animate({
|
67 |
+
opacity: 'show',
|
68 |
+
height: 'show'
|
69 |
+
}, 200);
|
70 |
+
template.closest('.jr-container').find('input[id$="columns"]').closest('p').animate({
|
71 |
+
opacity: 'hide',
|
72 |
+
height: 'hide'
|
73 |
+
}, 200);
|
74 |
+
}
|
75 |
+
if (template.val() != 'masonry') {
|
76 |
+
template.closest('.jr-container').find('.masonry_settings').animate({
|
77 |
+
opacity: 'hide',
|
78 |
+
height: 'hide'
|
79 |
+
}, 200);
|
80 |
+
template.closest('.jr-container').find('.masonry_notice').animate({
|
81 |
+
opacity: 'hide',
|
82 |
+
height: 'hide'
|
83 |
+
}, 200);
|
84 |
+
} else {
|
85 |
+
template.closest('.jr-container').find('.masonry_settings').animate({
|
86 |
+
opacity: 'show',
|
87 |
+
height: 'show'
|
88 |
+
}, 200);
|
89 |
+
template.closest('.jr-container').find('.masonry_notice').animate({
|
90 |
+
opacity: 'show',
|
91 |
+
height: 'show'
|
92 |
+
}, 200);
|
93 |
+
}
|
94 |
+
if (template.val() != 'slick_slider') {
|
95 |
+
template.closest('.jr-container').find('.slick_settings').animate({
|
96 |
+
opacity: 'hide',
|
97 |
+
height: 'hide'
|
98 |
+
}, 200);
|
99 |
+
} else {
|
100 |
+
template.closest('.jr-container').find('.slick_settings').animate({
|
101 |
+
opacity: 'show',
|
102 |
+
height: 'show'
|
103 |
+
}, 200);
|
104 |
+
}
|
105 |
+
if (template.val() != 'highlight') {
|
106 |
+
template.closest('.jr-container').find('.highlight_settings').animate({
|
107 |
+
opacity: 'hide',
|
108 |
+
height: 'hide'
|
109 |
+
}, 200);
|
110 |
+
} else {
|
111 |
+
template.closest('.jr-container').find('.highlight_settings').animate({
|
112 |
+
opacity: 'show',
|
113 |
+
height: 'show'
|
114 |
+
}, 200);
|
115 |
+
}
|
116 |
+
|
117 |
+
if (template.val() != 'showcase'){
|
118 |
+
template.closest('.jr-container').find('.shopifeed_settings').animate({
|
119 |
+
opacity: 'hide',
|
120 |
+
height: 'hide'
|
121 |
+
}, 200);
|
122 |
+
$('.isw-linkto').animate({
|
123 |
+
opacity: 'show',
|
124 |
+
height: 'show'
|
125 |
+
}, 200);
|
126 |
+
} else {
|
127 |
+
template.closest('.jr-container').find('.shopifeed_settings').animate({
|
128 |
+
opacity: 'show',
|
129 |
+
height: 'show'
|
130 |
+
}, 200);
|
131 |
+
$('.isw-linkto').animate({
|
132 |
+
opacity: 'hide',
|
133 |
+
height: 'hide'
|
134 |
+
}, 200);
|
135 |
+
}
|
136 |
+
|
137 |
+
if (template.val() != 'slider' && template.val() != 'slider-overlay') {
|
138 |
+
template.closest('.jr-container').find('.slider_normal_settings').animate({
|
139 |
+
opacity: 'hide',
|
140 |
+
height: 'hide'
|
141 |
+
}, 200);
|
142 |
+
} else {
|
143 |
+
template.closest('.jr-container').find('.slider_normal_settings').animate({
|
144 |
+
opacity: 'show',
|
145 |
+
height: 'show'
|
146 |
+
}, 200);
|
147 |
+
}
|
148 |
+
if (template.val() == 'highlight' || template.val() == 'slick_slider' || template.val() == 'thumbs' || template.val() == 'thumbs-no-border') {
|
149 |
+
template.closest('.jr-container').find('.words_in_caption').animate({
|
150 |
+
opacity: 'hide',
|
151 |
+
height: 'hide'
|
152 |
+
}, 200);
|
153 |
+
} else {
|
154 |
+
template.closest('.jr-container').find('.words_in_caption').animate({
|
155 |
+
opacity: 'show',
|
156 |
+
height: 'show'
|
157 |
+
}, 200);
|
158 |
+
}
|
159 |
+
|
160 |
+
if (template.val() == 'thumbs' || template.val() == 'thumbs-no-border' || template.val() == 'slider' || template.val() == 'slider-overlay') {
|
161 |
+
template.closest('.jr-container').find('select[id$="images_link"] option[value="popup"]').animate({
|
162 |
+
opacity: 'hide',
|
163 |
+
height: 'hide'
|
164 |
+
}, 200);
|
165 |
+
|
166 |
+
window.image_link_val = template.closest('.jr-container').find('select[id$="images_link"]').val();
|
167 |
+
//template.closest('.jr-container').find('select[id$="images_link"]').val("image_link");
|
168 |
+
} else {
|
169 |
+
template.closest('.jr-container').find('select[id$="images_link"] option[value="popup"]').animate({
|
170 |
+
opacity: 'show',
|
171 |
+
height: 'show'
|
172 |
+
}, 200);
|
173 |
+
//template.closest('.jr-container').find('select[id$="images_link"]').val(window.image_link_val);
|
174 |
+
}
|
175 |
+
});
|
176 |
+
|
177 |
+
// Modfiy options when search for is changed
|
178 |
+
$('body').on('change', '.jr-container input:radio[id$="search_for"]', function (e) {
|
179 |
+
var search_for = $(this);
|
180 |
+
if (search_for.val() === 'hashtag') {
|
181 |
+
search_for.closest('.jr-container').find('[id$="attachment"]:checkbox').closest('p').animate({
|
182 |
+
opacity: 'hide',
|
183 |
+
height: 'hide'
|
184 |
+
}, 200);
|
185 |
+
search_for.closest('.jr-container').find('select[id$="images_link"] option[value="user_url"]').animate({
|
186 |
+
opacity: 'hide',
|
187 |
+
height: 'hide'
|
188 |
+
}, 200);
|
189 |
+
search_for.closest('.jr-container').find('select[id$="images_link"] option[value="attachment"]').animate({
|
190 |
+
opacity: 'hide',
|
191 |
+
height: 'hide'
|
192 |
+
}, 200);
|
193 |
+
//search_for.closest('.jr-container').find('select[id$="images_link"]').val('image_link');
|
194 |
+
search_for.closest('.jr-container').find('select[id$="description"] option[value="username"]').animate({
|
195 |
+
opacity: 'hide',
|
196 |
+
height: 'hide'
|
197 |
+
}, 200);
|
198 |
+
search_for.closest('.jr-container').find('input[id$="blocked_users"]').closest('p').animate({
|
199 |
+
opacity: 'show',
|
200 |
+
height: 'show'
|
201 |
+
}, 200);
|
202 |
+
search_for.closest('.jr-container').find('input[id$="blocked_words"]').closest('p').animate({
|
203 |
+
opacity: 'hide',
|
204 |
+
height: 'hide'
|
205 |
+
}, 200);
|
206 |
+
search_for.closest('.jr-container').find('input[id$="show_feed_header"]').closest('p').animate({
|
207 |
+
opacity: 'hide',
|
208 |
+
height: 'hide'
|
209 |
+
}, 200);
|
210 |
+
$('#img_to_show').animate({opacity: 'hide', height: 'hide'}, 200);
|
211 |
+
|
212 |
+
|
213 |
+
} else if (search_for.val() === 'username') {
|
214 |
+
search_for.closest('.jr-container').find('[id$="attachment"]:checkbox').closest('p').animate({
|
215 |
+
opacity: 'show',
|
216 |
+
height: 'show'
|
217 |
+
}, 200);
|
218 |
+
search_for.closest('.jr-container').find('select[id$="images_link"] option[value="user_url"]').animate({
|
219 |
+
opacity: 'show',
|
220 |
+
height: 'show'
|
221 |
+
}, 200);
|
222 |
+
search_for.closest('.jr-container').find('select[id$="images_link"] option[value="attachment"]').animate({
|
223 |
+
opacity: 'show',
|
224 |
+
height: 'show'
|
225 |
+
}, 200);
|
226 |
+
//search_for.closest('.jr-container').find('select[id$="images_link"]').val('image_link');
|
227 |
+
search_for.closest('.jr-container').find('select[id$="description"] option[value="username"]').animate({
|
228 |
+
opacity: 'show',
|
229 |
+
height: 'show'
|
230 |
+
}, 200);
|
231 |
+
search_for.closest('.jr-container').find('input[id$="blocked_users"]').closest('p').animate({
|
232 |
+
opacity: 'hide',
|
233 |
+
height: 'hide'
|
234 |
+
}, 200);
|
235 |
+
search_for.closest('.jr-container').find('input[id$="blocked_words"]').closest('p').animate({
|
236 |
+
opacity: 'show',
|
237 |
+
height: 'show'
|
238 |
+
}, 200);
|
239 |
+
search_for.closest('.jr-container').find('input[id$="show_feed_header"]').closest('p').animate({
|
240 |
+
opacity: 'show',
|
241 |
+
height: 'show'
|
242 |
+
}, 200);
|
243 |
+
$('#img_to_show').animate({opacity: 'hide', height: 'hide'}, 200);
|
244 |
+
|
245 |
+
} else if (search_for.val() === 'account') {
|
246 |
+
search_for.closest('.jr-container').find('[id$="attachment"]:checkbox').closest('p').animate({
|
247 |
+
opacity: 'hide',
|
248 |
+
height: 'hide'
|
249 |
+
}, 200);
|
250 |
+
search_for.closest('.jr-container').find('select[id$="images_link"] option[value="user_url"]').animate({
|
251 |
+
opacity: 'hide',
|
252 |
+
height: 'hide'
|
253 |
+
}, 200);
|
254 |
+
search_for.closest('.jr-container').find('select[id$="images_link"] option[value="attachment"]').animate({
|
255 |
+
opacity: 'hide',
|
256 |
+
height: 'hide'
|
257 |
+
}, 200);
|
258 |
+
//search_for.closest('.jr-container').find('select[id$="images_link"]').val('image_link');
|
259 |
+
search_for.closest('.jr-container').find('select[id$="description"] option[value="username"]').animate({
|
260 |
+
opacity: 'hide',
|
261 |
+
height: 'hide'
|
262 |
+
}, 200);
|
263 |
+
search_for.closest('.jr-container').find('input[id$="blocked_users"]').closest('p').animate({
|
264 |
+
opacity: 'hide',
|
265 |
+
height: 'hide'
|
266 |
+
}, 200);
|
267 |
+
search_for.closest('.jr-container').find('input[id$="blocked_words"]').closest('p').animate({
|
268 |
+
opacity: 'show',
|
269 |
+
height: 'show'
|
270 |
+
}, 200);
|
271 |
+
search_for.closest('.jr-container').find('input[id$="show_feed_header"]').closest('p').animate({
|
272 |
+
opacity: 'hide',
|
273 |
+
height: 'hide'
|
274 |
+
}, 200);
|
275 |
+
search_for.closest('.jr-container').find('select[id$="orderby"] option[value="popular-ASC"]').animate({
|
276 |
+
opacity: 'hide',
|
277 |
+
height: 'hide'
|
278 |
+
}, 200);
|
279 |
+
search_for.closest('.jr-container').find('select[id$="orderby"] option[value="popular-DESC"]').animate({
|
280 |
+
opacity: 'hide',
|
281 |
+
height: 'hide'
|
282 |
+
}, 200);
|
283 |
+
$('#img_to_show').animate({opacity: 'show', height: 'show'}, 200);
|
284 |
+
|
285 |
+
} else if (search_for.val() === 'account_business') {
|
286 |
+
search_for.closest('.jr-container').find('[id$="attachment"]:checkbox').closest('p').animate({
|
287 |
+
opacity: 'hide',
|
288 |
+
height: 'hide'
|
289 |
+
}, 200);
|
290 |
+
search_for.closest('.jr-container').find('select[id$="images_link"] option[value="user_url"]').animate({
|
291 |
+
opacity: 'hide',
|
292 |
+
height: 'hide'
|
293 |
+
}, 200);
|
294 |
+
search_for.closest('.jr-container').find('select[id$="images_link"] option[value="attachment"]').animate({
|
295 |
+
opacity: 'hide',
|
296 |
+
height: 'hide'
|
297 |
+
}, 200);
|
298 |
+
//search_for.closest('.jr-container').find('select[id$="images_link"]').val('image_link');
|
299 |
+
search_for.closest('.jr-container').find('select[id$="description"] option[value="username"]').animate({
|
300 |
+
opacity: 'hide',
|
301 |
+
height: 'hide'
|
302 |
+
}, 200);
|
303 |
+
search_for.closest('.jr-container').find('input[id$="blocked_users"]').closest('p').animate({
|
304 |
+
opacity: 'hide',
|
305 |
+
height: 'hide'
|
306 |
+
}, 200);
|
307 |
+
search_for.closest('.jr-container').find('input[id$="blocked_words"]').closest('p').animate({
|
308 |
+
opacity: 'show',
|
309 |
+
height: 'show'
|
310 |
+
}, 200);
|
311 |
+
search_for.closest('.jr-container').find('input[id$="show_feed_header"]').closest('p').animate({
|
312 |
+
opacity: 'show',
|
313 |
+
height: 'show'
|
314 |
+
}, 200);
|
315 |
+
search_for.closest('.jr-container').find('select[id$="orderby"] option[value="popular-ASC"]').animate({
|
316 |
+
opacity: 'show',
|
317 |
+
height: 'show'
|
318 |
+
}, 200);
|
319 |
+
search_for.closest('.jr-container').find('select[id$="orderby"] option[value="popular-DESC"]').animate({
|
320 |
+
opacity: 'show',
|
321 |
+
height: 'show'
|
322 |
+
}, 200);
|
323 |
+
$('#img_to_show').animate({opacity: 'show', height: 'show'}, 200);
|
324 |
+
|
325 |
+
}
|
326 |
+
});
|
327 |
+
|
328 |
+
// Hide blocked images if not checked attachments
|
329 |
+
$('body').on('change', '.jr-container [id$="attachment"]:checkbox', function (e) {
|
330 |
+
var attachment = $(this);
|
331 |
+
if (this.checked) {
|
332 |
+
attachment.closest('.jr-container').find('select[id$="images_link"] option[value="attachment"]').animate({
|
333 |
+
opacity: 'show',
|
334 |
+
height: 'show'
|
335 |
+
}, 200);
|
336 |
+
//attachment.closest('.jr-container').find('select[id$="images_link"]').val('image_link');
|
337 |
+
} else {
|
338 |
+
attachment.closest('.jr-container').find('select[id$="images_link"] option[value="attachment"]').animate({
|
339 |
+
opacity: 'hide',
|
340 |
+
height: 'hide'
|
341 |
+
}, 200);
|
342 |
+
//attachment.closest('.jr-container').find('select[id$="images_link"]').val('image_link');
|
343 |
+
}
|
344 |
+
});
|
345 |
+
|
346 |
+
// Toggle advanced options
|
347 |
+
$('body').on('click', '.jr-advanced', function (e) {
|
348 |
+
e.preventDefault();
|
349 |
+
var advanced_container = $(this).parent().next();
|
350 |
+
|
351 |
+
if (advanced_container.is(':hidden')) {
|
352 |
+
$(this).html('[ - Close ]');
|
353 |
+
} else {
|
354 |
+
$(this).html('[ + Open ]');
|
355 |
+
}
|
356 |
+
advanced_container.toggle();
|
357 |
+
});
|
358 |
+
|
359 |
+
// Remove blocked images with ajax
|
360 |
+
$('body').on('click', '.jr-container .jr-delete-instagram-dupes', function (e) {
|
361 |
+
e.preventDefault();
|
362 |
+
var $this = $(this),
|
363 |
+
username = $(this).data("username"),
|
364 |
+
ajaxNonce = $(this).closest('.jr-container').find('input[name=delete_insta_dupes_nonce]').val();
|
365 |
+
|
366 |
+
$.ajax({
|
367 |
+
type: 'POST',
|
368 |
+
url: ajaxurl,
|
369 |
+
data: {
|
370 |
+
action: 'jr_delete_insta_dupes',
|
371 |
+
username: username,
|
372 |
+
_ajax_nonce: ajaxNonce
|
373 |
+
},
|
374 |
+
beforeSend: function () {
|
375 |
+
$this.prop('disabled', true);
|
376 |
+
$this.closest('.jr-container').find('.jr-spinner').addClass('spinner').css({
|
377 |
+
'visibility': 'visible',
|
378 |
+
'float': 'none'
|
379 |
+
});
|
380 |
+
},
|
381 |
+
success: function (data, textStatus, XMLHttpRequest) {
|
382 |
+
$this.closest('.jr-container').find('.deleted-dupes-info').text('Removed Duplicates: ' + data.deleted);
|
383 |
+
},
|
384 |
+
complete: function () {
|
385 |
+
$this.prop('disabled', false);
|
386 |
+
$this.closest('.jr-container').find('.jr-spinner').addClass('spinner').css({
|
387 |
+
'visibility': 'hidden',
|
388 |
+
'float': 'none'
|
389 |
+
});
|
390 |
+
},
|
391 |
+
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
392 |
+
//console.log(XMLHttpRequest.responseText);
|
393 |
+
}
|
394 |
+
});
|
395 |
+
});
|
396 |
+
// Delete account with ajax
|
397 |
+
$('.wis-delete-account').on('click', function (e) {
|
398 |
+
e.preventDefault();
|
399 |
+
|
400 |
+
var c = confirm(wis.remove_account);
|
401 |
+
|
402 |
+
if (!c) {
|
403 |
+
return false;
|
404 |
+
}
|
405 |
+
|
406 |
+
var $item = $(this),
|
407 |
+
$tr = $item.closest('tr'),
|
408 |
+
$spinner = $('#wis-delete-spinner-' + $item.data('item_id'));
|
409 |
+
|
410 |
+
$.ajax({
|
411 |
+
url: ajaxurl,
|
412 |
+
type: 'post',
|
413 |
+
data: {
|
414 |
+
action: 'wis_delete_account',
|
415 |
+
item_id: $item.data('item_id'),
|
416 |
+
is_business: $item.data('is_business'),
|
417 |
+
_ajax_nonce: wis.nonce
|
418 |
+
},
|
419 |
+
beforeSend: function () {
|
420 |
+
$spinner.addClass('is-active');
|
421 |
+
},
|
422 |
+
success: function (response) {
|
423 |
+
if (response.success) {
|
424 |
+
$tr.fadeOut();
|
425 |
+
//window.location.reload();
|
426 |
+
} else {
|
427 |
+
alert(response.data);
|
428 |
+
}
|
429 |
+
},
|
430 |
+
complete: function () {
|
431 |
+
$spinner.removeClass('is-active');
|
432 |
+
},
|
433 |
+
error: function (jqXHR, textStatus) {
|
434 |
+
console.log(textStatus);
|
435 |
+
}
|
436 |
+
});
|
437 |
+
});
|
438 |
+
|
439 |
+
$('.wis-not-working').on('click', function (e) {
|
440 |
+
e.preventDefault();
|
441 |
+
$('#wis-add-token').animate({opacity: 'show', height: 'show'}, 200)
|
442 |
+
});
|
443 |
+
|
444 |
+
/*
|
445 |
+
* FACEBOOK API modal
|
446 |
+
*/
|
447 |
+
|
448 |
+
var modal = jQuery('#wis_accounts_modal');
|
449 |
+
var modalOverlay = jQuery('#wis_modal_overlay');
|
450 |
+
var spinOverlay = jQuery('.wis-overlay-spinner');
|
451 |
+
|
452 |
+
modalOverlay.on("click", function () {
|
453 |
+
var conf = confirm("You haven't finished adding an account. Are you sure you want to close the window?");
|
454 |
+
if (conf) {
|
455 |
+
modal.toggleClass("wis_closed");
|
456 |
+
modalOverlay.toggleClass("wis_closed");
|
457 |
+
spinOverlay.toggleClass("is-active");
|
458 |
+
}
|
459 |
+
});
|
460 |
+
|
461 |
+
//BUSINESS INSTAGRAM
|
462 |
+
jQuery('.wis_modal_content #wis-instagram-row').on('click', function (e) {
|
463 |
+
modal.toggleClass("wis_closed");
|
464 |
+
spinOverlay.addClass('is-active');
|
465 |
+
//modalOverlay.toggleClass("wis_closed");
|
466 |
+
wis_account = $(this).attr('data-account');
|
467 |
+
jQuery.post(ajaxurl, {
|
468 |
+
action: 'wis_add_account_by_token',
|
469 |
+
account: wis_account,
|
470 |
+
_ajax_nonce: add_account_nonce.nonce
|
471 |
+
}).done(function (html) {
|
472 |
+
console.log(html);
|
473 |
+
window.location.reload();
|
474 |
+
});
|
475 |
+
});
|
476 |
+
|
477 |
+
//FACEBOOK
|
478 |
+
jQuery('.wis_modal_content #wis-facebook-row').on('click', function (e) {
|
479 |
+
modal.toggleClass("wis_closed");
|
480 |
+
spinOverlay.addClass('is-active');
|
481 |
+
//modalOverlay.toggleClass("wis_closed");
|
482 |
+
wis_account = $(this).attr('data-account');
|
483 |
+
jQuery.post(ajaxurl, {
|
484 |
+
action: 'wis_add_facebook_page_by_token',
|
485 |
+
account: wis_account,
|
486 |
+
_ajax_nonce: add_account_nonce.nonce
|
487 |
+
}).done(function (html) {
|
488 |
+
window.location.reload();
|
489 |
+
});
|
490 |
+
});
|
491 |
+
|
492 |
+
/*
|
493 |
+
* Chose API to add account
|
494 |
+
* */
|
495 |
+
var modal2 = jQuery('#wis_add_account_modal');
|
496 |
+
var modal2Overlay = jQuery('#wis_add_account_modal_overlay');
|
497 |
+
|
498 |
+
modal2Overlay.on("click", function () {
|
499 |
+
var conf = confirm("You haven't finished adding an account. Are you sure you want to close the window?");
|
500 |
+
if (conf) {
|
501 |
+
modal2.toggleClass("wis_closed");
|
502 |
+
modal2Overlay.toggleClass("wis_closed");
|
503 |
+
}
|
504 |
+
});
|
505 |
+
|
506 |
+
jQuery('#wis-add-account-button .wis-btn-instagram-account').on('click', function (e) {
|
507 |
+
e.preventDefault();
|
508 |
+
modal2.removeClass('wis_closed');
|
509 |
+
modal2Overlay.removeClass('wis_closed');
|
510 |
+
});
|
511 |
+
|
512 |
+
jQuery('span.wis_demo_pro').on('click', function (e) {
|
513 |
+
e.preventDefault();
|
514 |
+
window.open('https://cm-wp.com/instagram-slider-widget/pricing/', '_blank');
|
515 |
+
});
|
516 |
+
|
517 |
+
}); // Document Ready
|
518 |
|
519 |
})(jQuery);
|
admin/assets/js/tinymce_button.js
CHANGED
@@ -1,41 +1,41 @@
|
|
1 |
-
(function($) {
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
})(jQuery);
|
1 |
+
(function ($) {
|
2 |
+
$(document).on('tinymce-editor-setup', function (event, editor) {
|
3 |
+
|
4 |
+
if (void 0 === wis_shortcodes) {
|
5 |
+
console.log('Unknown error (wis).');
|
6 |
+
return;
|
7 |
+
}
|
8 |
+
|
9 |
+
if ($.isEmptyObject(wis_shortcodes)) {
|
10 |
+
return;
|
11 |
+
}
|
12 |
+
|
13 |
+
editor.settings.toolbar1 += ',wis_insert_button';
|
14 |
+
|
15 |
+
var menu = [];
|
16 |
+
|
17 |
+
$.each(wis_shortcodes, function (index, item) {
|
18 |
+
menu.push({
|
19 |
+
text: item.title,
|
20 |
+
value: item.id,
|
21 |
+
onclick: function () {
|
22 |
+
var selected_content = editor.selection.getContent();
|
23 |
+
|
24 |
+
if ('' === selected_content) {
|
25 |
+
editor.selection.setContent('[jr_instagram id="' + item.id + '"]');
|
26 |
+
} else {
|
27 |
+
editor.selection.setContent('[jr_instagram id="' + item.id + '"]');
|
28 |
+
}
|
29 |
+
}
|
30 |
+
});
|
31 |
+
});
|
32 |
+
|
33 |
+
editor.addButton('wis_insert_button', {
|
34 |
+
title: 'WIS',
|
35 |
+
type: 'menubutton',
|
36 |
+
icon: 'icon wis-shortcode-icon',
|
37 |
+
menu: menu
|
38 |
+
});
|
39 |
+
|
40 |
+
});
|
41 |
})(jQuery);
|
admin/class-wis-activation.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 02.12.2018, Webcraftic
|
7 |
-
* @see
|
8 |
*
|
9 |
* @version 1.0.1
|
10 |
*/
|
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
class WIS_Activation extends
|
18 |
|
19 |
/**
|
20 |
* Method is executed during the activation of the plugin.
|
4 |
*
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 02.12.2018, Webcraftic
|
7 |
+
* @see Wbcr_Factory436_Activator
|
8 |
*
|
9 |
* @version 1.0.1
|
10 |
*/
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
class WIS_Activation extends Wbcr_Factory436_Activator {
|
18 |
|
19 |
/**
|
20 |
* Method is executed during the activation of the plugin.
|
admin/class-wis-page.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 02.12.2018, Webcraftic
|
7 |
-
* @see
|
8 |
*
|
9 |
* @version 1.0.0
|
10 |
*/
|
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
-
class WIS_Page extends
|
18 |
|
19 |
/**
|
20 |
* Name of the template to get content of. It will be based on plugins /admin/views/ dir.
|
@@ -28,10 +28,15 @@ class WIS_Page extends Wbcr_FactoryPages422_AdminPage {
|
|
28 |
* Render and return content of the template.
|
29 |
* /admin/views/tab-{$template_name}.php
|
30 |
*
|
|
|
|
|
|
|
31 |
* @return mixed Content of the page
|
32 |
*/
|
33 |
-
public function render
|
34 |
-
if($name == '')
|
|
|
|
|
35 |
ob_start();
|
36 |
if ( is_callable( $name ) ) {
|
37 |
echo call_user_func( $name );
|
@@ -47,6 +52,7 @@ class WIS_Page extends Wbcr_FactoryPages422_AdminPage {
|
|
47 |
if ( ! is_file( $path ) ) {
|
48 |
return '';
|
49 |
}
|
|
|
50 |
include $path;
|
51 |
$content = ob_get_contents();
|
52 |
ob_end_clean();
|
@@ -57,8 +63,7 @@ class WIS_Page extends Wbcr_FactoryPages422_AdminPage {
|
|
57 |
/**
|
58 |
* Show rendered template - $template_name
|
59 |
*/
|
60 |
-
public function indexAction()
|
61 |
-
{
|
62 |
echo $this->render();
|
63 |
}
|
64 |
|
4 |
*
|
5 |
* @author Webcraftic <wordpress.webraftic@gmail.com>
|
6 |
* @copyright (c) 02.12.2018, Webcraftic
|
7 |
+
* @see Wbcr_FactoryPages435_AdminPage
|
8 |
*
|
9 |
* @version 1.0.0
|
10 |
*/
|
14 |
exit;
|
15 |
}
|
16 |
|
17 |
+
class WIS_Page extends Wbcr_FactoryPages435_AdminPage {
|
18 |
|
19 |
/**
|
20 |
* Name of the template to get content of. It will be based on plugins /admin/views/ dir.
|
28 |
* Render and return content of the template.
|
29 |
* /admin/views/tab-{$template_name}.php
|
30 |
*
|
31 |
+
* @param string $name
|
32 |
+
* @param array $args
|
33 |
+
*
|
34 |
* @return mixed Content of the page
|
35 |
*/
|
36 |
+
public function render( $name = '', $args = [] ) {
|
37 |
+
if ( $name == '' ) {
|
38 |
+
$name = $this->template_name;
|
39 |
+
}
|
40 |
ob_start();
|
41 |
if ( is_callable( $name ) ) {
|
42 |
echo call_user_func( $name );
|
52 |
if ( ! is_file( $path ) ) {
|
53 |
return '';
|
54 |
}
|
55 |
+
extract( $args );
|
56 |
include $path;
|
57 |
$content = ob_get_contents();
|
58 |
ob_end_clean();
|
63 |
/**
|
64 |
* Show rendered template - $template_name
|
65 |
*/
|
66 |
+
public function indexAction() {
|
|
|
67 |
echo $this->render();
|
68 |
}
|
69 |
|
admin/pages/Licenses.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Licenses
|
5 |
+
*
|
6 |
+
* Отображает страницу, где расположена плитка с лицензиями как плагина, так и его компонентов
|
7 |
+
*/
|
8 |
+
class Licenses extends WIS_Page
|
9 |
+
{
|
10 |
+
|
11 |
+
/**
|
12 |
+
* {@inheritdoc}
|
13 |
+
*/
|
14 |
+
public $type = "page";
|
15 |
+
|
16 |
+
/**
|
17 |
+
* {@inheritdoc}
|
18 |
+
*/
|
19 |
+
public $page_menu_dashicon = 'dashicons-admin-network';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* {@inheritdoc}
|
23 |
+
*/
|
24 |
+
public $show_right_sidebar_in_options = false;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* {@inheritdoc}
|
28 |
+
*/
|
29 |
+
public $page_menu_position = 0;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* {@inheritdoc}
|
33 |
+
*/
|
34 |
+
public $available_for_multisite = true;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @var string Name of the paid plan.
|
38 |
+
*/
|
39 |
+
public $plan_name;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* {@inheritdoc}
|
43 |
+
* @param WIS_Plugin $plugin
|
44 |
+
*/
|
45 |
+
public function __construct( $plugin ) {
|
46 |
+
$this->plugin = $plugin;
|
47 |
+
|
48 |
+
parent::__construct( $plugin );
|
49 |
+
|
50 |
+
$this->id = 'licenses';
|
51 |
+
$this->menu_title = '<span style="color:#f18500">' . __( 'Licenses', 'instagram-slider-widget' ) . '</span>';
|
52 |
+
$this->page_title = __( 'Licenses', 'instagram-slider-widget' );
|
53 |
+
$this->template_name = "licenses";
|
54 |
+
$this->menu_target = "widgets-" . $plugin->getPluginName();
|
55 |
+
$this->capabilitiy = "manage_options";
|
56 |
+
}
|
57 |
+
|
58 |
+
public function indexAction()
|
59 |
+
{
|
60 |
+
|
61 |
+
$licenses = [
|
62 |
+
[
|
63 |
+
'name' => 'instagram_slider_widget',
|
64 |
+
'title' => __('Social Slider Widget', 'instagram-slider-widget'),
|
65 |
+
'license_url' => 'license-wisw',
|
66 |
+
'icon' => 'https://ps.w.org/instagram-slider-widget/assets/icon-256x256.png',
|
67 |
+
'description' => __('DISPLAY INSTAGRAM FEEDS IN WIDGETS, POSTS, PAGES, OR ANYWHERE ELSE USING SHORTCODES.', 'instagram-slider-widget'),
|
68 |
+
],
|
69 |
+
];
|
70 |
+
|
71 |
+
if(defined('SPFD_PLUGIN_DIR')){
|
72 |
+
array_push($licenses, [
|
73 |
+
'name' => 'shopifeed',
|
74 |
+
'title' => __('Shopifeed', 'instagram-slider-widget'),
|
75 |
+
'license_url' => 'shopifeed-license-isws',
|
76 |
+
'icon' => WIS_PLUGIN_URL . '/assets/img/icon.png',
|
77 |
+
'description' => __('CREATE YOUR ONLINE STORE FROM INSTAGRAM', 'instagram-slider-widget'),
|
78 |
+
]);
|
79 |
+
}
|
80 |
+
|
81 |
+
|
82 |
+
|
83 |
+
echo $this->render('licenses', ['licenses' => $licenses]);
|
84 |
+
}
|
85 |
+
|
86 |
+
}
|
admin/pages/about.php
CHANGED
@@ -38,10 +38,10 @@ class WIS_AboutPage extends WIS_Page {
|
|
38 |
* @param WIS_Plugin $plugin
|
39 |
*/
|
40 |
public function __construct( $plugin ) {
|
41 |
-
$this->id
|
42 |
-
$this->menu_target= "widgets-"
|
43 |
-
$this->page_title
|
44 |
-
$this->menu_title
|
45 |
$this->template_name = "about";
|
46 |
|
47 |
parent::__construct( $plugin );
|
38 |
* @param WIS_Plugin $plugin
|
39 |
*/
|
40 |
public function __construct( $plugin ) {
|
41 |
+
$this->id = "about";
|
42 |
+
$this->menu_target = "widgets-" . $plugin->getPluginName();
|
43 |
+
$this->page_title = __( 'About Social Slider Widget', 'instagram-slider-widget' );
|
44 |
+
$this->menu_title = __( 'About', 'instagram-slider-widget' );
|
45 |
$this->template_name = "about";
|
46 |
|
47 |
parent::__construct( $plugin );
|
admin/pages/components.php
ADDED
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Exit if accessed directly
|
4 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Class WAPT_License_Page is used as template to display form to active premium functionality.
|
10 |
+
*
|
11 |
+
* @since 2.0.7
|
12 |
+
*/
|
13 |
+
class WIS_ComponentsPage extends WIS_Page {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* {@inheritdoc}
|
17 |
+
*/
|
18 |
+
public $type = "page";
|
19 |
+
|
20 |
+
/**
|
21 |
+
* {@inheritdoc}
|
22 |
+
*/
|
23 |
+
public $page_menu_dashicon = 'dashicons-admin-network';
|
24 |
+
|
25 |
+
/**
|
26 |
+
* {@inheritdoc}
|
27 |
+
*/
|
28 |
+
public $show_right_sidebar_in_options = false;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* {@inheritdoc}
|
32 |
+
*/
|
33 |
+
public $page_menu_position = 0;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* {@inheritdoc}
|
37 |
+
*/
|
38 |
+
public $available_for_multisite = true;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @var string Name of the paid plan.
|
42 |
+
*/
|
43 |
+
public $plan_name;
|
44 |
+
|
45 |
+
|
46 |
+
/**
|
47 |
+
* {@inheritdoc}
|
48 |
+
* @param WIS_Plugin $plugin
|
49 |
+
*/
|
50 |
+
public function __construct( $plugin ) {
|
51 |
+
$this->plugin = $plugin;
|
52 |
+
|
53 |
+
parent::__construct( $plugin );
|
54 |
+
|
55 |
+
$this->id = 'components';
|
56 |
+
$this->menu_title = '<span style="color:#f18500">' . __( 'Components', 'instagram-slider-widget' ) . '</span>';
|
57 |
+
$this->page_title = __( 'Components', 'instagram-slider-widget' );
|
58 |
+
$this->template_name = "components";
|
59 |
+
$this->menu_target = "widgets-" . $plugin->getPluginName();
|
60 |
+
$this->capabilitiy = "manage_options";
|
61 |
+
}
|
62 |
+
|
63 |
+
public function indexAction()
|
64 |
+
{
|
65 |
+
|
66 |
+
$components = [
|
67 |
+
[
|
68 |
+
'name' => 'tiktok_feed',
|
69 |
+
'title' => __('TikTok Feed', 'instagram-slider-widget'),
|
70 |
+
'url' => 'https://wordpress.org/plugins/cm-tiktok-feed/',
|
71 |
+
'type' => 'internal',
|
72 |
+
'build' => 'free',
|
73 |
+
'component_const' => 'WTIK_PLUGIN_ACTIVE',
|
74 |
+
'base_path' => 'tiktok-feed/tiktok-feed.php',
|
75 |
+
'slug' => 'cm-tiktok-feed/cm-tiktok-feed.php',
|
76 |
+
'icon' => 'https://ps.w.org/cm-tiktok-feed/assets/icon-256x256.png',
|
77 |
+
'description' => __('DISPLAY TIKTOK IN WIDGETS, POSTS, PAGES, OR ANYWHERE ELSE USING SHORTCODES.', 'instagram-slider-widget'),
|
78 |
+
'settings_url' => admin_url('admin.php?page=widgets-wtiktok')
|
79 |
+
],
|
80 |
+
[
|
81 |
+
'name' => 'shopifeed',
|
82 |
+
'title' => __('Shopifeed', 'instagram-slider-widget'),
|
83 |
+
'url' => 'https://cm-wp.com/instagram-slider-widget/shopifeed',
|
84 |
+
'type' => 'internal',
|
85 |
+
'build' => 'premium',
|
86 |
+
'component_const' => 'SPFD_PLUGIN_ACTIVE',
|
87 |
+
'base_path' => 'shopifeed/shopifeed.php',
|
88 |
+
'slug' => '',
|
89 |
+
'icon' => WIS_PLUGIN_URL . '/assets/img/icon.png',
|
90 |
+
'description' => __('CREATE YOUR ONLINE STORE FROM INSTAGRAM', 'instagram-slider-widget'),
|
91 |
+
'settings_url' => admin_url('admin.php?page=widgets-wisw')
|
92 |
+
]
|
93 |
+
|
94 |
+
];
|
95 |
+
|
96 |
+
echo $this->render('components', ['components' => $components]);
|
97 |
+
}
|
98 |
+
|
99 |
+
}
|
admin/pages/license.php
CHANGED
@@ -17,6 +17,11 @@ class WIS_LicensePage extends WIS_Page {
|
|
17 |
*/
|
18 |
public $type = "page";
|
19 |
|
|
|
|
|
|
|
|
|
|
|
20 |
/**
|
21 |
* {@inheritdoc}
|
22 |
*/
|
@@ -52,7 +57,7 @@ class WIS_LicensePage extends WIS_Page {
|
|
52 |
|
53 |
/**
|
54 |
* @since 2.0.7
|
55 |
-
* @var \WBCR\
|
56 |
*/
|
57 |
protected $premium;
|
58 |
|
@@ -70,7 +75,7 @@ class WIS_LicensePage extends WIS_Page {
|
|
70 |
|
71 |
/**
|
72 |
* @since 2.0.7
|
73 |
-
* @var \WBCR\
|
74 |
*/
|
75 |
protected $premium_license;
|
76 |
|
@@ -81,17 +86,17 @@ class WIS_LicensePage extends WIS_Page {
|
|
81 |
* {@inheritdoc}
|
82 |
* @param WIS_Plugin $plugin
|
83 |
*/
|
84 |
-
public function __construct
|
85 |
$this->plugin = $plugin;
|
86 |
|
87 |
parent::__construct( $plugin );
|
88 |
|
89 |
-
$this->id
|
90 |
-
$this->menu_title
|
91 |
-
$this->page_title
|
92 |
$this->template_name = "license";
|
93 |
-
$this->menu_target= "widgets-"
|
94 |
-
$this->capabilitiy
|
95 |
|
96 |
$this->premium = WIS_Plugin::app()->premium;
|
97 |
$this->is_premium = $this->premium->is_activate();
|
@@ -103,7 +108,7 @@ class WIS_LicensePage extends WIS_Page {
|
|
103 |
/**
|
104 |
* [MAGIC] Magic method that configures assets for a page.
|
105 |
*/
|
106 |
-
public function assets
|
107 |
parent::assets( $scripts, $styles );
|
108 |
|
109 |
$this->styles->add( WIS_PLUGIN_URL . '/admin/assets/css/license-manager.css' );
|
@@ -122,14 +127,14 @@ class WIS_LicensePage extends WIS_Page {
|
|
122 |
*
|
123 |
* @return string Before content.
|
124 |
*/
|
125 |
-
protected function get_plan_description
|
126 |
return '';
|
127 |
}
|
128 |
|
129 |
/**
|
130 |
* @return string
|
131 |
*/
|
132 |
-
protected function get_hidden_license_key
|
133 |
if ( ! $this->is_premium ) {
|
134 |
return '';
|
135 |
}
|
@@ -140,7 +145,7 @@ class WIS_LicensePage extends WIS_Page {
|
|
140 |
/**
|
141 |
* @return string
|
142 |
*/
|
143 |
-
protected function get_plan
|
144 |
if ( ! $this->is_premium ) {
|
145 |
return 'free';
|
146 |
}
|
@@ -151,14 +156,14 @@ class WIS_LicensePage extends WIS_Page {
|
|
151 |
/**
|
152 |
* @return mixed
|
153 |
*/
|
154 |
-
protected function get_expiration_days
|
155 |
return $this->premium_license->get_expiration_time( 'days' );
|
156 |
}
|
157 |
|
158 |
/**
|
159 |
* @return string
|
160 |
*/
|
161 |
-
protected function get_billing_cycle_readable
|
162 |
if ( ! $this->is_premium ) {
|
163 |
return '';
|
164 |
}
|
@@ -184,7 +189,7 @@ class WIS_LicensePage extends WIS_Page {
|
|
184 |
*
|
185 |
* @return string
|
186 |
*/
|
187 |
-
protected function get_license_type
|
188 |
if ( ! $this->is_premium ) {
|
189 |
return 'free';
|
190 |
}
|
17 |
*/
|
18 |
public $type = "page";
|
19 |
|
20 |
+
/**
|
21 |
+
* @var bool
|
22 |
+
*/
|
23 |
+
public $internal = true;
|
24 |
+
|
25 |
/**
|
26 |
* {@inheritdoc}
|
27 |
*/
|
57 |
|
58 |
/**
|
59 |
* @since 2.0.7
|
60 |
+
* @var \WBCR\Factory_436\Premium\Provider
|
61 |
*/
|
62 |
protected $premium;
|
63 |
|
75 |
|
76 |
/**
|
77 |
* @since 2.0.7
|
78 |
+
* @var \WBCR\Factory_436\Premium\Interfaces\License
|
79 |
*/
|
80 |
protected $premium_license;
|
81 |
|
86 |
* {@inheritdoc}
|
87 |
* @param WIS_Plugin $plugin
|
88 |
*/
|
89 |
+
public function __construct( $plugin ) {
|
90 |
$this->plugin = $plugin;
|
91 |
|
92 |
parent::__construct( $plugin );
|
93 |
|
94 |
+
$this->id = 'license';
|
95 |
+
$this->menu_title = '<span style="color:#f18500">' . __( 'License', 'instagram-slider-widget' ) . '</span>';
|
96 |
+
$this->page_title = __( 'License of Social Slider Widget', 'instagram-slider-widget' );
|
97 |
$this->template_name = "license";
|
98 |
+
$this->menu_target = "widgets-" . $plugin->getPluginName();
|
99 |
+
$this->capabilitiy = "manage_options";
|
100 |
|
101 |
$this->premium = WIS_Plugin::app()->premium;
|
102 |
$this->is_premium = $this->premium->is_activate();
|
108 |
/**
|
109 |
* [MAGIC] Magic method that configures assets for a page.
|
110 |
*/
|
111 |
+
public function assets( $scripts, $styles ) {
|
112 |
parent::assets( $scripts, $styles );
|
113 |
|
114 |
$this->styles->add( WIS_PLUGIN_URL . '/admin/assets/css/license-manager.css' );
|
127 |
*
|
128 |
* @return string Before content.
|
129 |
*/
|
130 |
+
protected function get_plan_description() {
|
131 |
return '';
|
132 |
}
|
133 |
|
134 |
/**
|
135 |
* @return string
|
136 |
*/
|
137 |
+
protected function get_hidden_license_key() {
|
138 |
if ( ! $this->is_premium ) {
|
139 |
return '';
|
140 |
}
|
145 |
/**
|
146 |
* @return string
|
147 |
*/
|
148 |
+
protected function get_plan() {
|
149 |
if ( ! $this->is_premium ) {
|
150 |
return 'free';
|
151 |
}
|
156 |
/**
|
157 |
* @return mixed
|
158 |
*/
|
159 |
+
protected function get_expiration_days() {
|
160 |
return $this->premium_license->get_expiration_time( 'days' );
|
161 |
}
|
162 |
|
163 |
/**
|
164 |
* @return string
|
165 |
*/
|
166 |
+
protected function get_billing_cycle_readable() {
|
167 |
if ( ! $this->is_premium ) {
|
168 |
return '';
|
169 |
}
|
189 |
*
|
190 |
* @return string
|
191 |
*/
|
192 |
+
protected function get_license_type() {
|
193 |
if ( ! $this->is_premium ) {
|
194 |
return 'free';
|
195 |
}
|
admin/pages/settings.php
CHANGED
@@ -27,7 +27,7 @@ class WIS_SettingsPage extends WIS_Page {
|
|
27 |
* Mainly used to navigate between pages.
|
28 |
*
|
29 |
* @since 1.0.0
|
30 |
-
* @see
|
31 |
*
|
32 |
* @var string
|
33 |
*/
|
@@ -103,12 +103,12 @@ class WIS_SettingsPage extends WIS_Page {
|
|
103 |
* @param WIS_Plugin $plugin
|
104 |
*/
|
105 |
public function __construct( $plugin ) {
|
106 |
-
$this->id
|
107 |
-
$this->page_title
|
108 |
-
$this->menu_title
|
109 |
-
$this->menu_target= "widgets-"
|
110 |
-
$this->menu_icon
|
111 |
-
$this->capabilitiy
|
112 |
$this->template_name = "settings";
|
113 |
|
114 |
parent::__construct( $plugin );
|
@@ -134,29 +134,72 @@ class WIS_SettingsPage extends WIS_Page {
|
|
134 |
}
|
135 |
|
136 |
public function indexAction() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
|
138 |
-
?>
|
139 |
-
<script>
|
140 |
-
var hash = document.location.hash;
|
141 |
-
var token = hash.split('=')[1];
|
142 |
-
if("string" == typeof token)
|
143 |
-
{
|
144 |
-
jQuery('#wis-spinner').addClass('is-active');
|
145 |
-
jQuery('#wis-spinner').css('visibility','visible');
|
146 |
-
|
147 |
-
jQuery.post ( ajaxurl, {
|
148 |
-
action: 'add_account_by_token',
|
149 |
-
token: token,
|
150 |
-
_ajax_nonce: '<?php echo wp_create_nonce("addAccountByToken"); ?>',
|
151 |
-
}).done( function( html ) {
|
152 |
-
document.location.hash = "";
|
153 |
-
window.location.reload();
|
154 |
-
});
|
155 |
-
// $(document).ready(function(){
|
156 |
-
// });
|
157 |
-
}
|
158 |
-
</script>
|
159 |
-
<?php
|
160 |
parent::indexAction();
|
161 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
}
|
27 |
* Mainly used to navigate between pages.
|
28 |
*
|
29 |
* @since 1.0.0
|
30 |
+
* @see FactoryPages435_AdminPage
|
31 |
*
|
32 |
* @var string
|
33 |
*/
|
103 |
* @param WIS_Plugin $plugin
|
104 |
*/
|
105 |
public function __construct( $plugin ) {
|
106 |
+
$this->id = "settings";
|
107 |
+
$this->page_title = __( 'Settings of Social Slider Widget', 'instagram-slider-widget' );
|
108 |
+
$this->menu_title = __( 'Settings', 'instagram-slider-widget' );
|
109 |
+
$this->menu_target = "widgets-" . $plugin->getPluginName();
|
110 |
+
$this->menu_icon = '~/admin/assets/img/wis.png';
|
111 |
+
$this->capabilitiy = "manage_options";
|
112 |
$this->template_name = "settings";
|
113 |
|
114 |
parent::__construct( $plugin );
|
134 |
}
|
135 |
|
136 |
public function indexAction() {
|
137 |
+
wp_enqueue_style( 'wis-tabs-style', WIS_PLUGIN_URL . '/admin/assets/css/component.css', array(), WIS_PLUGIN_VERSION );
|
138 |
+
if ( isset( $_GET['tab'] ) && ! empty( $_GET['tab'] ) ) {
|
139 |
+
switch ( $_GET['tab'] ) {
|
140 |
+
case "instagram":
|
141 |
+
$this->instagram();
|
142 |
+
break;
|
143 |
+
case "facebook":
|
144 |
+
WIS_FacebookSlider::app()->FACEBOOK->tabAction();
|
145 |
+
break;
|
146 |
+
case "youtube":
|
147 |
+
$this->youtube();
|
148 |
+
break;
|
149 |
+
}
|
150 |
+
} else {
|
151 |
+
$this->instagram();
|
152 |
+
}
|
153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
parent::indexAction();
|
155 |
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* Логика на вкладке Инстаграма
|
159 |
+
*/
|
160 |
+
public function instagram() {
|
161 |
+
if ( isset( $_GET['type'] ) && $_GET['type'] == 'business' ) {
|
162 |
+
if ( isset( $_GET['token_error'] ) ) {
|
163 |
+
echo '<div class="notice notice-error"><p>' . $_GET['token_error'] . '</p></div>';
|
164 |
+
$_SERVER['REQUEST_URI'] = str_replace( '#_', '', remove_query_arg( 'token_error' ) );
|
165 |
+
} else {
|
166 |
+
if ( isset( $_GET['access_token'] ) ) {
|
167 |
+
$token = $_GET['access_token'];
|
168 |
+
$result = WIS_InstagramSlider::app()->update_account_profiles( $token, true );
|
169 |
+
$_SERVER['REQUEST_URI'] = remove_query_arg( 'access_token' );
|
170 |
+
?>
|
171 |
+
<div id="wis_accounts_modal" class="wis_accounts_modal">
|
172 |
+
<div class="wis_modal_header">
|
173 |
+
Choose Account:
|
174 |
+
</div>
|
175 |
+
<div class="wis_modal_content">
|
176 |
+
<?php echo $result[0]; ?>
|
177 |
+
</div>
|
178 |
+
</div>
|
179 |
+
<div id="wis_modal_overlay" class="wis_modal_overlay"></div>
|
180 |
+
<span class="wis-overlay-spinner is-active"> </span>
|
181 |
+
<?php
|
182 |
+
}
|
183 |
+
}
|
184 |
+
} else {
|
185 |
+
if ( isset( $_GET['token_error'] ) ) {
|
186 |
+
echo '<div class="notice notice-error"><p>' . $_GET['token_error'] . '</p></div>';
|
187 |
+
$_SERVER['REQUEST_URI'] = str_replace( '#_', '', remove_query_arg( 'token_error' ) );
|
188 |
+
} else {
|
189 |
+
if ( isset( $_GET['access_token'] ) ) {
|
190 |
+
$token = $_GET['access_token'];
|
191 |
+
$result = WIS_InstagramSlider::app()->update_account_profiles( $token );
|
192 |
+
$_SERVER['REQUEST_URI'] = str_replace( '#_', '', remove_query_arg( 'access_token' ) );
|
193 |
+
}
|
194 |
+
}
|
195 |
+
}
|
196 |
+
}
|
197 |
+
|
198 |
+
/**
|
199 |
+
* Логика на вкладке Ютуба
|
200 |
+
*/
|
201 |
+
public function youtube() {
|
202 |
+
//require_once WIS_PLUGIN_DIR . '/includes/socials/class.wis_youtube.php';
|
203 |
+
}
|
204 |
+
|
205 |
}
|
admin/pages/widgets.php
CHANGED
@@ -27,7 +27,7 @@ class WIS_WidgetsPage extends WIS_Page {
|
|
27 |
* Mainly used to navigate between pages.
|
28 |
*
|
29 |
* @since 1.0.0
|
30 |
-
* @see
|
31 |
*
|
32 |
* @var string
|
33 |
*/
|
@@ -103,16 +103,17 @@ class WIS_WidgetsPage extends WIS_Page {
|
|
103 |
* @param WIS_Plugin $plugin
|
104 |
*/
|
105 |
public function __construct( $plugin ) {
|
106 |
-
$this->id
|
107 |
-
$this->page_title
|
108 |
-
$this->menu_title
|
109 |
-
$this->menu_sub_title = __( 'Widgets', 'instagram-slider-widget' )
|
110 |
-
$this->menu_icon
|
111 |
-
$this->capabilitiy
|
112 |
-
$this->template_name
|
113 |
|
114 |
parent::__construct( $plugin );
|
115 |
|
|
|
116 |
$this->plugin = $plugin;
|
117 |
}
|
118 |
|
@@ -125,4 +126,122 @@ class WIS_WidgetsPage extends WIS_Page {
|
|
125 |
}
|
126 |
|
127 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
27 |
* Mainly used to navigate between pages.
|
28 |
*
|
29 |
* @since 1.0.0
|
30 |
+
* @see FactoryPages435_AdminPage
|
31 |
*
|
32 |
* @var string
|
33 |
*/
|
103 |
* @param WIS_Plugin $plugin
|
104 |
*/
|
105 |
public function __construct( $plugin ) {
|
106 |
+
$this->id = "widgets";
|
107 |
+
$this->page_title = __( 'Social Slider Widgets', 'instagram-slider-widget' );
|
108 |
+
$this->menu_title = __( 'Social Slider Widgets', 'instagram-slider-widget' );
|
109 |
+
$this->menu_sub_title = __( 'Widgets', 'instagram-slider-widget' );
|
110 |
+
$this->menu_icon = '~/admin/assets/img/wis.png';
|
111 |
+
$this->capabilitiy = "manage_options";
|
112 |
+
$this->template_name = "widgets";
|
113 |
|
114 |
parent::__construct( $plugin );
|
115 |
|
116 |
+
add_filter( 'dynamic_sidebar_params', [ $this, 'pro_stick_on_premium_widgets' ] );
|
117 |
$this->plugin = $plugin;
|
118 |
}
|
119 |
|
126 |
}
|
127 |
|
128 |
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* @param $params
|
132 |
+
*/
|
133 |
+
public function pro_stick_on_premium_widgets( $params ) {
|
134 |
+
return $params;
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* @inheritDoc
|
139 |
+
*/
|
140 |
+
public function indexAction() {
|
141 |
+
$sidebars_widgets = get_option( 'sidebars_widgets', [] );
|
142 |
+
$insta_widgets = get_option( 'widget_jr_insta_slider', [] );
|
143 |
+
$demo_widgets = include( WIS_PLUGIN_DIR . "/includes/demo_widgets.php" );
|
144 |
+
$account = $this->get_current_account();
|
145 |
+
|
146 |
+
if ( isset( $_GET['do'] ) && $_GET['do'] == 'add_demo' ) {
|
147 |
+
if ( isset( $sidebars_widgets['jr-insta-shortcodes'] ) && ! empty( $account ) ) {
|
148 |
+
$next_id = $this->get_next_widget_id( $insta_widgets );
|
149 |
+
|
150 |
+
foreach ( $demo_widgets as $demo_widget ) {
|
151 |
+
$insta_widgets[ $next_id ] = $demo_widget;
|
152 |
+
$insta_widgets[ $next_id ]['search_for'] = $account['type'];
|
153 |
+
$insta_widgets[ $next_id ][ $account['type'] ] = $account['username'];
|
154 |
+
$sidebars_widgets['jr-insta-shortcodes'][] = "jr_insta_slider-{$next_id}";
|
155 |
+
$next_id ++;
|
156 |
+
}
|
157 |
+
update_option( 'sidebars_widgets', $sidebars_widgets );
|
158 |
+
update_option( 'widget_jr_insta_slider', $insta_widgets );
|
159 |
+
}
|
160 |
+
|
161 |
+
$_SERVER['REQUEST_URI'] = remove_query_arg( 'do' );
|
162 |
+
wp_redirect( $_SERVER['REQUEST_URI'] );
|
163 |
+
}
|
164 |
+
|
165 |
+
/*************************/
|
166 |
+
ob_start();
|
167 |
+
require_once ABSPATH . "wp-admin/includes/widgets.php";
|
168 |
+
$sidebars_widgets = wp_get_sidebars_widgets();
|
169 |
+
global $wp_registered_widgets, $wp_registered_sidebars;
|
170 |
+
$isset_widgets = false;
|
171 |
+
wp_nonce_field( 'save-sidebar-widgets', '_wpnonce_widgets' );
|
172 |
+
if ( ! empty( $sidebars_widgets ) ) {
|
173 |
+
foreach ( $sidebars_widgets as $key => $sidebar ) {
|
174 |
+
foreach ( $sidebar as $widget ) {
|
175 |
+
if ( strstr( $widget, 'jr_insta_slider' ) ) {
|
176 |
+
wp_list_widget_controls( $key, $wp_registered_sidebars[ $key ]['name'] );
|
177 |
+
$isset_widgets = true;
|
178 |
+
break;
|
179 |
+
}
|
180 |
+
}
|
181 |
+
}
|
182 |
+
}
|
183 |
+
if ( ! $isset_widgets ) {
|
184 |
+
echo "<h2>" . sprintf( __( "You don't have any Social Slider widgets. Go to the Wordpress <a href='%1s'>Widgets</a> page and add it.", 'instagram-slider-widget' ), admin_url( 'widgets.php' ) ) . "</h2>";
|
185 |
+
}
|
186 |
+
$widgets = ob_get_contents();
|
187 |
+
ob_end_clean();
|
188 |
+
|
189 |
+
$data = [
|
190 |
+
'content' => $widgets,
|
191 |
+
'insta_widgets' => $insta_widgets,
|
192 |
+
'demo_widgets' => $demo_widgets,
|
193 |
+
];
|
194 |
+
echo $this->render( '', $data );
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* @param $widgets
|
199 |
+
*
|
200 |
+
* @return int
|
201 |
+
*/
|
202 |
+
public function get_next_widget_id( $widgets ) {
|
203 |
+
$i = 0;
|
204 |
+
foreach ( $widgets as $key => $widget ) {
|
205 |
+
if ( $key !== '_multiwidget' ) {
|
206 |
+
$i = $key;
|
207 |
+
}
|
208 |
+
}
|
209 |
+
|
210 |
+
return ++ $i;
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
*
|
215 |
+
* @return array
|
216 |
+
*/
|
217 |
+
public function get_current_account() {
|
218 |
+
$accounts = WIS_Plugin::app()->getOption( 'account_profiles' );
|
219 |
+
$accounts_new = WIS_Plugin::app()->getOption( 'account_profiles_new' );
|
220 |
+
$result = array();
|
221 |
+
|
222 |
+
if ( is_array( $accounts_new ) && ! empty( $accounts_new ) ) {
|
223 |
+
$key = $this->wis_array_key_first( $accounts_new );
|
224 |
+
$result['type'] = 'account_business';
|
225 |
+
$result['username'] = $accounts_new[ $key ]['username'];
|
226 |
+
|
227 |
+
} else if ( is_array( $accounts ) && ! empty( $accounts ) ) {
|
228 |
+
$key = $this->wis_array_key_first( $accounts );
|
229 |
+
$result['type'] = 'account';
|
230 |
+
$result['username'] = $accounts[ $key ]['username'];
|
231 |
+
}
|
232 |
+
|
233 |
+
return $result;
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
*
|
238 |
+
* @return string|int
|
239 |
+
*/
|
240 |
+
public function wis_array_key_first( $array ) {
|
241 |
+
foreach ( $array as $key => $item ) {
|
242 |
+
return $key;
|
243 |
+
}
|
244 |
+
|
245 |
+
return '';
|
246 |
+
}
|
247 |
}
|
admin/views/facebook.php
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$args = array(
|
3 |
+
"app_id" => WIS_FACEBOOK_CLIENT_ID,
|
4 |
+
"state" => $current_url
|
5 |
+
);
|
6 |
+
$autorize_url = "https://instagram.cm-wp.com/facebook/?" . http_build_query( $args );
|
7 |
+
$accounts = WIS_Plugin::app()->getPopulateOption( WIS_FACEBOOK_ACCOUNT_PROFILES_OPTION_NAME, array() );
|
8 |
+
?>
|
9 |
+
<div class="factory-bootstrap-436 factory-fontawesome-000">
|
10 |
+
<div class="row">
|
11 |
+
<div class="col-md-9">
|
12 |
+
<div class="row">
|
13 |
+
<div class="col-md-12">
|
14 |
+
<div id="wis-add-account-button" class="">
|
15 |
+
<?php
|
16 |
+
if ( count( $accounts ) && ! WIS_Plugin::app()->is_premium() ) : ?>
|
17 |
+
<span class="wis-btn-facebook-account btn-instagram-account-disabled">
|
18 |
+
<?php _e( 'Add Account', 'instagram-slider-widget' ) ?></span>
|
19 |
+
<span class="instagram-account-pro"><?php echo sprintf( __( "More accounts in <a href='%s'>PRO version</a>", 'instagram-slider-widget' ), WIS_Plugin::app()->get_support()->get_pricing_url( true, "wis_settings" ) ); ?></span>
|
20 |
+
<?php else: ?>
|
21 |
+
<a class="wis-btn-facebook-account" target="_self" href="<?php echo $autorize_url; ?>"
|
22 |
+
title="Add Account">
|
23 |
+
<?php _e( 'Add Account', 'instagram-slider-widget' ) ?>
|
24 |
+
</a>
|
25 |
+
<span style="float: none; margin-top: 0;" class="spinner" id="wis-spinner"> </span>
|
26 |
+
<?php endif; ?>
|
27 |
+
</div>
|
28 |
+
<div class="wis-help-text"><?php echo sprintf( __( "After adding an account, go to the <a href='%s'>widget settings</a> and change the \"Search Facebook for\" setting to Account", 'instagram-slider-widget' ), admin_url( 'widgets.php' ) ) ?></div>
|
29 |
+
<?php
|
30 |
+
if ( count( $accounts ) ) :
|
31 |
+
?>
|
32 |
+
<br>
|
33 |
+
<table class="widefat wis-table">
|
34 |
+
<thead>
|
35 |
+
<tr>
|
36 |
+
<th><?php echo __( 'Image', 'instagram-slider-widget' ); ?></th>
|
37 |
+
<th><?php echo __( 'ID', 'instagram-slider-widget' ); ?></th>
|
38 |
+
<th><?php echo __( 'Name', 'instagram-slider-widget' ); ?></th>
|
39 |
+
<th><?php echo __( 'Token', 'instagram-slider-widget' ); ?></th>
|
40 |
+
<th><?php echo __( 'Action', 'instagram-slider-widget' ); ?></th>
|
41 |
+
</tr>
|
42 |
+
</thead>
|
43 |
+
<tbody>
|
44 |
+
<?php
|
45 |
+
foreach ( $accounts as $profile_info ) {
|
46 |
+
$image = $profile_info['picture']['data']['url'];
|
47 |
+
$fullname = $profile_info['name'];
|
48 |
+
?>
|
49 |
+
<tr>
|
50 |
+
<td class="profile-picture">
|
51 |
+
<img src="<?php echo esc_url( $image ); ?>"
|
52 |
+
width="30"/>
|
53 |
+
</td>
|
54 |
+
<td><?php echo esc_attr( $profile_info['id'] ); ?></td>
|
55 |
+
<td>
|
56 |
+
<a href="https://www.facebook.com/<?php echo esc_html( $profile_info['username'] ); ?>"><?php echo esc_html( $profile_info['name'] ); ?></a>
|
57 |
+
</td>
|
58 |
+
<td>
|
59 |
+
<input id="<?php echo esc_attr( $profile_info['id'] ); ?>-access-token"
|
60 |
+
type="text"
|
61 |
+
value="<?php echo esc_attr( $profile_info['token'] ); ?>"
|
62 |
+
class="wis-text-token" readonly/>
|
63 |
+
</td>
|
64 |
+
<td>
|
65 |
+
<a href="#"
|
66 |
+
data-item_id="<?php echo esc_attr( $profile_info['id'] ); ?>"
|
67 |
+
class="btn btn-danger wis-delete-account">
|
68 |
+
<span class="dashicons dashicons-trash"></span><?php echo __( 'Delete', 'instagram-slider-widget' ); ?>
|
69 |
+
</a>
|
70 |
+
<span class="spinner"
|
71 |
+
id="wis-delete-spinner-<?php echo esc_attr( $profile_info['id'] ); ?>"></span>
|
72 |
+
</td>
|
73 |
+
</tr>
|
74 |
+
<?php
|
75 |
+
}
|
76 |
+
?>
|
77 |
+
</tbody>
|
78 |
+
</table>
|
79 |
+
<?php wp_nonce_field( $this->plugin->getPrefix() . 'settings_form', $this->plugin->getPrefix() . 'nonce' ); ?>
|
80 |
+
<?php endif; ?>
|
81 |
+
</div>
|
82 |
+
</div>
|
83 |
+
</div>
|
84 |
+
<div class="col-md-3">
|
85 |
+
<div id="wis-dashboard-widget" class="wis-right-widget">
|
86 |
+
<?php
|
87 |
+
if ( ! WIS_Plugin::app()->is_premium() ) {
|
88 |
+
WIS_Plugin::app()->get_adverts_manager()->render_placement( 'right_sidebar' );
|
89 |
+
}
|
90 |
+
?>
|
91 |
+
</div>
|
92 |
+
</div>
|
93 |
+
</div>
|
94 |
+
</div>
|
admin/views/instagram.php
ADDED
@@ -0,0 +1,193 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$args = array(
|
3 |
+
"client_id" => WIS_INSTAGRAM_CLIENT_ID,
|
4 |
+
"redirect_uri" => "https://instagram.cm-wp.com/basic-api",
|
5 |
+
"scope" => "user_profile,user_media",
|
6 |
+
"response_type" => "code",
|
7 |
+
"state" => $current_url,
|
8 |
+
);
|
9 |
+
$autorize_url_instagram = "https://api.instagram.com/oauth/authorize?" . http_build_query( $args );
|
10 |
+
|
11 |
+
$args = array(
|
12 |
+
"app_id" => WIS_FACEBOOK_CLIENT_ID,
|
13 |
+
"state" => $current_url . '&type=business'
|
14 |
+
);
|
15 |
+
$autorize_url_business = "https://instagram.cm-wp.com/api/?" . http_build_query( $args );
|
16 |
+
|
17 |
+
|
18 |
+
$accounts = WIS_Plugin::app()->getPopulateOption( 'account_profiles', array() );
|
19 |
+
$accounts_business = WIS_Plugin::app()->getPopulateOption( 'account_profiles_new', array() );
|
20 |
+
$count_accounts = count( $accounts ) + count( $accounts_business );
|
21 |
+
?>
|
22 |
+
<div class="factory-bootstrap-436 factory-fontawesome-000">
|
23 |
+
<div class="row">
|
24 |
+
<div class="col-md-9">
|
25 |
+
<div class="row">
|
26 |
+
<div class="col-md-12">
|
27 |
+
<div id="wis-add-account-button" class="">
|
28 |
+
<?php
|
29 |
+
if ( $count_accounts >= 1 && ! WIS_Plugin::app()->is_premium() ) : ?>
|
30 |
+
<span class="wis-btn-instagram-account-disabled btn-instagram-account-disabled">
|
31 |
+
<?php _e( 'Add Account', 'instagram-slider-widget' ) ?></span>
|
32 |
+
<span class="instagram-account-pro"><?php echo sprintf( __( "More accounts in <a href='%s'>PRO version</a>", 'instagram-slider-widget' ), WIS_Plugin::app()->get_support()->get_pricing_url( true, "wis_settings" ) ); ?></span>
|
33 |
+
<?php else: ?>
|
34 |
+
<a class="wis-btn-instagram-account" target="_self" href="#" title="Add Account">
|
35 |
+
<?php _e( 'Add Account', 'instagram-slider-widget' ) ?>
|
36 |
+
</a>
|
37 |
+
<span style="float: none; margin-top: 0;" class="spinner" id="wis-spinner"> </span>
|
38 |
+
<?php endif; ?>
|
39 |
+
<!--<a class="wis-not-working" target="_blank" href="#">Button not working?</a>-->
|
40 |
+
</div>
|
41 |
+
<div id="wis-add-token" style="display: none;">
|
42 |
+
<form action="<?php echo admin_url( 'admin.php' ); ?>" method="GET">
|
43 |
+
<input type="hidden" id="page" name="page" value="settings-wisw">
|
44 |
+
Access token <input type="text" id="wis-manual-token" name="access_token" size="60">
|
45 |
+
<input type="submit" class="button button-primary button-large" value="Add account">
|
46 |
+
<a class="" target="_blank" href="https://instagram.cm-wp.com/get-token/">Get access
|
47 |
+
token</a>
|
48 |
+
<span class="spinner" id="wis-add-token-spinner"></span>
|
49 |
+
</form>
|
50 |
+
</div>
|
51 |
+
<div class="wis-help-text"><?php echo sprintf( __( "After adding an account, go to the <a href='%s'>widget settings</a> and change the \"Search Instagram for\" setting to Account or Business Account", 'instagram-slider-widget' ), admin_url( 'widgets.php' ) ) ?></div>
|
52 |
+
<!-- Personal accounts -->
|
53 |
+
<?php
|
54 |
+
if ( count( $accounts ) ) :
|
55 |
+
?>
|
56 |
+
<h3>Personal Accounts</h3>
|
57 |
+
<table class="widefat wis-table wis-personal-status">
|
58 |
+
<thead>
|
59 |
+
<tr>
|
60 |
+
<th><?php echo __( 'ID', 'instagram-slider-widget' ); ?></th>
|
61 |
+
<th><?php echo __( 'User', 'instagram-slider-widget' ); ?></th>
|
62 |
+
<th><?php echo __( 'Token', 'instagram-slider-widget' ); ?></th>
|
63 |
+
<th style="width: 256px"><?php echo __( 'Action', 'instagram-slider-widget' ); ?></th>
|
64 |
+
</tr>
|
65 |
+
</thead>
|
66 |
+
<tbody>
|
67 |
+
<?php
|
68 |
+
foreach ( $accounts as $profile_info ) {
|
69 |
+
?>
|
70 |
+
<tr>
|
71 |
+
<td><?php echo esc_attr( $profile_info['id'] ); ?></td>
|
72 |
+
<td>
|
73 |
+
<a href="https://www.instagram.com/<?php echo esc_html( $profile_info['username'] ); ?>">@<?php echo esc_html( $profile_info['username'] ); ?></a>
|
74 |
+
</td>
|
75 |
+
<td>
|
76 |
+
<input id="<?php echo esc_attr( $profile_info['id'] ); ?>-access-token"
|
77 |
+
type="text"
|
78 |
+
value="<?php echo esc_attr( $profile_info['token'] ); ?>"
|
79 |
+
class="wis-text-token" readonly/>
|
80 |
+
</td>
|
81 |
+
<td>
|
82 |
+
<a href="#"
|
83 |
+
data-item_id="<?php echo ! empty( $profile_info['id'] ) ? $profile_info['id'] : 0; ?>"
|
84 |
+
data-is_business="0"
|
85 |
+
class="btn btn-danger wis-delete-account">
|
86 |
+
<span class="dashicons dashicons-trash"></span><?php echo __( 'Delete', 'instagram-slider-widget' ); ?>
|
87 |
+
</a>
|
88 |
+
<span class="spinner"
|
89 |
+
id="wis-delete-spinner-<?php echo ! empty( $profile_info['id'] ) ? $profile_info['id'] : 0; ?>"></span>
|
90 |
+
<?php
|
91 |
+
if ( isset( $_GET['access_token'] ) && $_GET['access_token'] === $profile_info['token'] ) {
|
92 |
+
?><span class="wis-div-added">Successfully connected</span><?php
|
93 |
+
}
|
94 |
+
?>
|
95 |
+
</td>
|
96 |
+
</tr>
|
97 |
+
<?php
|
98 |
+
}
|
99 |
+
?>
|
100 |
+
</tbody>
|
101 |
+
</table>
|
102 |
+
<?php wp_nonce_field( $this->plugin->getPrefix() . 'settings_form', $this->plugin->getPrefix() . 'nonce' ); ?>
|
103 |
+
<?php endif; ?>
|
104 |
+
<!-- Business accounts -->
|
105 |
+
<?php
|
106 |
+
if ( count( $accounts_business ) ) :
|
107 |
+
?>
|
108 |
+
<h3>Business Accounts</h3>
|
109 |
+
<table class="widefat wis-table wis-business-status">
|
110 |
+
<thead>
|
111 |
+
<tr>
|
112 |
+
<th><?php echo __( 'Image', 'instagram-slider-widget' ); ?></th>
|
113 |
+
<th><?php echo __( 'ID', 'instagram-slider-widget' ); ?></th>
|
114 |
+
<th><?php echo __( 'User', 'instagram-slider-widget' ); ?></th>
|
115 |
+
<th><?php echo __( 'Name', 'instagram-slider-widget' ); ?></th>
|
116 |
+
<th><?php echo __( 'Token', 'instagram-slider-widget' ); ?></th>
|
117 |
+
<th><?php echo __( 'Action', 'instagram-slider-widget' ); ?></th>
|
118 |
+
</tr>
|
119 |
+
</thead>
|
120 |
+
<tbody>
|
121 |
+
<?php
|
122 |
+
foreach ( $accounts_business as $profile_info ) {
|
123 |
+
$image = $profile_info['profile_picture_url'];
|
124 |
+
$fullname = $profile_info['name'];
|
125 |
+
?>
|
126 |
+
<tr>
|
127 |
+
<td class="profile-picture">
|
128 |
+
<img src="<?php echo esc_url( $image ); ?>"
|
129 |
+
width="30"/>
|
130 |
+
</td>
|
131 |
+
<td><?php echo esc_attr( $profile_info['id'] ); ?></td>
|
132 |
+
<td>
|
133 |
+
<a href="https://www.instagram.com/<?php echo esc_html( $profile_info['username'] ); ?>">@<?php echo esc_html( $profile_info['username'] ); ?></a>
|
134 |
+
</td>
|
135 |
+
<td><?php echo esc_html( $fullname ); ?></td>
|
136 |
+
<td>
|
137 |
+
<input id="<?php echo esc_attr( $profile_info['id'] ); ?>-access-token"
|
138 |
+
type="text"
|
139 |
+
value="<?php echo esc_attr( $profile_info['token'] ); ?>"
|
140 |
+
class="wis-text-token" readonly/>
|
141 |
+
</td>
|
142 |
+
<td>
|
143 |
+
<a href="#"
|
144 |
+
data-item_id="<?php echo ! empty( $profile_info['id'] ) ? $profile_info['id'] : 0; ?>"
|
145 |
+
data-is_business="1"
|
146 |
+
class="btn btn-danger wis-delete-account">
|
147 |
+
<span class="dashicons dashicons-trash"></span><?php echo __( 'Delete', 'instagram-slider-widget' ); ?>
|
148 |
+
</a>
|
149 |
+
<span class="spinner"
|
150 |
+
id="wis-delete-spinner-<?php echo esc_attr( $profile_info['id'] ); ?>"></span>
|
151 |
+
<span class="wis-div-added" style="display: none;">Successfully connected</span>
|
152 |
+
</td>
|
153 |
+
</tr>
|
154 |
+
<?php
|
155 |
+
}
|
156 |
+
?>
|
157 |
+
</tbody>
|
158 |
+
</table>
|
159 |
+
<?php wp_nonce_field( $this->plugin->getPrefix() . 'settings_form', $this->plugin->getPrefix() . 'nonce' ); ?>
|
160 |
+
<?php endif; ?>
|
161 |
+
</div>
|
162 |
+
</div>
|
163 |
+
</div>
|
164 |
+
<div class="col-md-3">
|
165 |
+
<div id="wis-dashboard-widget" class="wis-right-widget">
|
166 |
+
<?php
|
167 |
+
if ( ! WIS_Plugin::app()->is_premium() ) {
|
168 |
+
WIS_Plugin::app()->get_adverts_manager()->render_placement( 'right_sidebar' );
|
169 |
+
}
|
170 |
+
?>
|
171 |
+
</div>
|
172 |
+
</div>
|
173 |
+
|
174 |
+
<div id="wis_add_account_modal" class="wis_accounts_modal wis_closed">
|
175 |
+
<div class="wis_modal_header">
|
176 |
+
Select type of account
|
177 |
+
</div>
|
178 |
+
<div class="wis_modal_content">
|
179 |
+
|
180 |
+
<div class='wis-row-style'>
|
181 |
+
<a href="<?php echo $autorize_url_instagram; ?>" class='wis-btn-instagram-account'>Personal
|
182 |
+
account</a>
|
183 |
+
</div>
|
184 |
+
<div class='wis-row-style'>
|
185 |
+
<a href="<?php echo $autorize_url_business; ?>" class='wis-btn-facebook-account'>Business
|
186 |
+
account</a>
|
187 |
+
</div>
|
188 |
+
</div>
|
189 |
+
</div>
|
190 |
+
<div id="wis_add_account_modal_overlay" class="wis_modal_overlay wis_closed"></div>
|
191 |
+
|
192 |
+
</div>
|
193 |
+
</div>
|
admin/views/tab-about.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<style>
|
2 |
-
.wis-section-wrapper
|
|
|
3 |
width: auto;
|
4 |
margin-top: 10px;
|
5 |
margin-right: 15px;
|
6 |
}
|
7 |
|
8 |
-
.wis-section
|
|
|
9 |
padding: 20px 29px 0px 29px;
|
10 |
}
|
11 |
|
@@ -13,19 +15,23 @@
|
|
13 |
{
|
14 |
width: 100%;
|
15 |
}
|
|
|
16 |
.wis-section-thin
|
17 |
{
|
18 |
padding: 5px 0px 5px 0px;
|
19 |
}
|
|
|
20 |
.wis-section-thin .subheader
|
21 |
{
|
22 |
font-style: italic;
|
23 |
}
|
|
|
24 |
.wis-section-wrapper h1
|
25 |
{
|
26 |
text-transform: uppercase;
|
27 |
color: whitesmoke;
|
28 |
}
|
|
|
29 |
.wis-section-wrapper h2
|
30 |
{
|
31 |
text-transform: uppercase;
|
@@ -37,6 +43,7 @@
|
|
37 |
border-radius: 10px;
|
38 |
margin: 10px 0px 0px 10px;
|
39 |
}
|
|
|
40 |
.wis-section-img
|
41 |
{
|
42 |
text-align: center;
|
@@ -44,11 +51,12 @@
|
|
44 |
|
45 |
.black-background
|
46 |
{
|
47 |
-
background-color: rgba(0,0,0,0.8);
|
48 |
color: whitesmoke;
|
49 |
}
|
50 |
|
51 |
-
.wis-section
|
|
|
52 |
display: -webkit-box;
|
53 |
display: -webkit-flex;
|
54 |
display: -ms-flexbox;
|
@@ -64,7 +72,8 @@
|
|
64 |
align-items: center;
|
65 |
}
|
66 |
|
67 |
-
.wis-section-intro
|
|
|
68 |
background-image: url('<?php echo WIS_PLUGIN_URL;?>/admin/assets/img/fon.jpg');
|
69 |
background-position: bottom center;
|
70 |
background-size: cover;
|
@@ -73,7 +82,8 @@
|
|
73 |
text-align: center;
|
74 |
}
|
75 |
|
76 |
-
.wis-section-intro .container h2
|
|
|
77 |
font-size: 61px;
|
78 |
font-weight: 500;
|
79 |
text-transform: uppercase;
|
@@ -82,7 +92,8 @@
|
|
82 |
text-align: center;
|
83 |
}
|
84 |
|
85 |
-
.wis-section-intro .container p
|
|
|
86 |
margin-bottom: 1.6em;
|
87 |
color: #fffcfc;
|
88 |
font-family: "Arial", Sans-serif;
|
@@ -91,24 +102,29 @@
|
|
91 |
letter-spacing: 1.1px;
|
92 |
}
|
93 |
|
94 |
-
.wis-section-changelog h4
|
|
|
95 |
font-size: 1.3333333333333rem;
|
96 |
}
|
97 |
|
98 |
.wis-section-changelog p,
|
99 |
-
.wis-section-changelog ul > li
|
|
|
100 |
font-size: 15px;
|
101 |
}
|
102 |
|
103 |
-
.wis-section-changelog ul
|
|
|
104 |
list-style: inherit;
|
105 |
margin-left: 40px;
|
106 |
width: 100%;
|
107 |
}
|
108 |
|
109 |
-
#wpfooter
|
|
|
110 |
position: relative !important;
|
111 |
}
|
|
|
112 |
.center-section
|
113 |
{
|
114 |
text-align: center;
|
@@ -127,12 +143,22 @@
|
|
127 |
<div>
|
128 |
<h2><?php echo __( 'FEATURES', 'instagram-slider-widget' ); ?></h2>
|
129 |
<ul>
|
130 |
-
<li>Super easy to set up. Just create a widget with the necessary settings and add it anywhere on
|
131 |
-
|
132 |
-
|
133 |
-
<li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
<li>Fully responsive for mobile devices. Great view on any screen size and width.</li>
|
135 |
-
<li>Flexible layout settings. Customize the size, the number of images and columns, image spacing
|
|
|
|
|
136 |
<li>Show thumbnails, medium or full-size images from your Instagram feed</li>
|
137 |
<li>Customize the display order by date, popularity or random.</li>
|
138 |
<li>Show or hide the account title.</li>
|
@@ -141,7 +167,9 @@
|
|
141 |
</div>
|
142 |
</section>
|
143 |
<section class="wis-section-thin center-section">
|
144 |
-
<iframe width="720" height="405" src="https://www.youtube.com/embed/7EQirSL0xm4" frameborder="0"
|
|
|
|
|
145 |
</section>
|
146 |
<section class="wis-section wis-section-changelog">
|
147 |
<div class="container">
|
@@ -149,10 +177,19 @@
|
|
149 |
<h2><?php echo __( 'BENEFITS', 'instagram-slider-widget' ); ?></h2>
|
150 |
<ul>
|
151 |
<li>Increase your visitors’ engagement. Get more followers on your Instagram account.</li>
|
152 |
-
<li>Time-saving. You no longer need to post fresh images and entries on the website. Just upload
|
153 |
-
|
154 |
-
|
155 |
-
<li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
</ul>
|
157 |
</div>
|
158 |
</div>
|
@@ -161,36 +198,57 @@
|
|
161 |
<div class="container">
|
162 |
<div>
|
163 |
<h2><?php echo __( 'PRO VERSION', 'instagram-slider-widget' ); ?></h2>
|
164 |
-
<p>To maintain the free version and provide prompt, effective & free support, we offer the Pro
|
|
|
165 |
<p>In the <a href="https://cm-wp.com/instagram-slider-widget/">Pro version</a>, you can:</p>
|
166 |
<ul>
|
167 |
<li>
|
168 |
-
Authorize several accounts and display multiple feeds simultaneously (fully compatible with
|
|
|
169 |
<br>
|
170 |
-
<div class="wis-section-img"><img width="672" height="226"
|
|
|
|
|
171 |
</li>
|
172 |
<li>
|
173 |
Display how many likes and comments each post has
|
174 |
<br>
|
175 |
-
<div class="wis-section-img"><img width="660" height="234"
|
|
|
|
|
176 |
</li>
|
177 |
<li>
|
178 |
Create carousels of posts
|
179 |
</li>
|
180 |
<li>
|
181 |
-
Use <a href="https://cm-wp.com/instagram-slider-widget/masonry/">Masonry</a> or <a
|
|
|
182 |
<br>
|
183 |
-
<div class="wis-section-img"><img width="450" height="389"
|
184 |
-
|
|
|
|
|
|
|
185 |
</div>
|
186 |
</li>
|
187 |
<li>
|
188 |
Display captions for images and videos.
|
189 |
<br>
|
190 |
-
<div class="wis-section-img"><img width="490" height="622"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
</li>
|
192 |
</ul>
|
193 |
-
<p>Learn more about the <a href="https://cm-wp.com/instagram-slider-widget/">Pro version</a> or watch
|
|
|
194 |
</div>
|
195 |
</div>
|
196 |
</section>
|
@@ -198,8 +256,10 @@
|
|
198 |
<div class="container">
|
199 |
<div>
|
200 |
<h2><?php echo __( 'FEEDBACK AND SUPPORT', 'instagram-slider-widget' ); ?></h2>
|
201 |
-
<p>Our goal is to create a simple yet powerful plugin – customized and multifunctional, with prompt and
|
202 |
-
|
|
|
|
|
203 |
</div>
|
204 |
</div>
|
205 |
</section>
|
@@ -209,10 +269,19 @@
|
|
209 |
<h2><?php echo __( 'WHY DO YOU NEED IT?', 'instagram-slider-widget' ); ?></h2>
|
210 |
<ul>
|
211 |
<li>Increase your visitors’ engagement. Get more followers on your Instagram account.</li>
|
212 |
-
<li>Time-saving. You no longer need to post fresh images and entries on the website. Just upload
|
213 |
-
|
214 |
-
|
215 |
-
<li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
<li>Great user support.</li>
|
217 |
</ul>
|
218 |
</div>
|
1 |
<style>
|
2 |
+
.wis-section-wrapper
|
3 |
+
{
|
4 |
width: auto;
|
5 |
margin-top: 10px;
|
6 |
margin-right: 15px;
|
7 |
}
|
8 |
|
9 |
+
.wis-section
|
10 |
+
{
|
11 |
padding: 20px 29px 0px 29px;
|
12 |
}
|
13 |
|
15 |
{
|
16 |
width: 100%;
|
17 |
}
|
18 |
+
|
19 |
.wis-section-thin
|
20 |
{
|
21 |
padding: 5px 0px 5px 0px;
|
22 |
}
|
23 |
+
|
24 |
.wis-section-thin .subheader
|
25 |
{
|
26 |
font-style: italic;
|
27 |
}
|
28 |
+
|
29 |
.wis-section-wrapper h1
|
30 |
{
|
31 |
text-transform: uppercase;
|
32 |
color: whitesmoke;
|
33 |
}
|
34 |
+
|
35 |
.wis-section-wrapper h2
|
36 |
{
|
37 |
text-transform: uppercase;
|
43 |
border-radius: 10px;
|
44 |
margin: 10px 0px 0px 10px;
|
45 |
}
|
46 |
+
|
47 |
.wis-section-img
|
48 |
{
|
49 |
text-align: center;
|
51 |
|
52 |
.black-background
|
53 |
{
|
54 |
+
background-color: rgba(0, 0, 0, 0.8);
|
55 |
color: whitesmoke;
|
56 |
}
|
57 |
|
58 |
+
.wis-section
|
59 |
+
{
|
60 |
display: -webkit-box;
|
61 |
display: -webkit-flex;
|
62 |
display: -ms-flexbox;
|
72 |
align-items: center;
|
73 |
}
|
74 |
|
75 |
+
.wis-section-intro
|
76 |
+
{
|
77 |
background-image: url('<?php echo WIS_PLUGIN_URL;?>/admin/assets/img/fon.jpg');
|
78 |
background-position: bottom center;
|
79 |
background-size: cover;
|
82 |
text-align: center;
|
83 |
}
|
84 |
|
85 |
+
.wis-section-intro .container h2
|
86 |
+
{
|
87 |
font-size: 61px;
|
88 |
font-weight: 500;
|
89 |
text-transform: uppercase;
|
92 |
text-align: center;
|
93 |
}
|
94 |
|
95 |
+
.wis-section-intro .container p
|
96 |
+
{
|
97 |
margin-bottom: 1.6em;
|
98 |
color: #fffcfc;
|
99 |
font-family: "Arial", Sans-serif;
|
102 |
letter-spacing: 1.1px;
|
103 |
}
|
104 |
|
105 |
+
.wis-section-changelog h4
|
106 |
+
{
|
107 |
font-size: 1.3333333333333rem;
|
108 |
}
|
109 |
|
110 |
.wis-section-changelog p,
|
111 |
+
.wis-section-changelog ul > li
|
112 |
+
{
|
113 |
font-size: 15px;
|
114 |
}
|
115 |
|
116 |
+
.wis-section-changelog ul
|
117 |
+
{
|
118 |
list-style: inherit;
|
119 |
margin-left: 40px;
|
120 |
width: 100%;
|
121 |
}
|
122 |
|
123 |
+
#wpfooter
|
124 |
+
{
|
125 |
position: relative !important;
|
126 |
}
|
127 |
+
|
128 |
.center-section
|
129 |
{
|
130 |
text-align: center;
|
143 |
<div>
|
144 |
<h2><?php echo __( 'FEATURES', 'instagram-slider-widget' ); ?></h2>
|
145 |
<ul>
|
146 |
+
<li>Super easy to set up. Just create a widget with the necessary settings and add it anywhere on
|
147 |
+
your website using shortcodes.
|
148 |
+
</li>
|
149 |
+
<li>Show Instagram feeds on your website without authorization. Just enter a username and see the
|
150 |
+
result (make sure to check the Instagram limitations on showing feeds without authorization).
|
151 |
+
</li>
|
152 |
+
<li>Show Instagram feeds on your website without authorization using hashtags (make sure to check
|
153 |
+
the Instagram limitations on showing feeds without authorization).
|
154 |
+
</li>
|
155 |
+
<li>Authorize several Instagram accounts and show multiple feeds simultaneously with no
|
156 |
+
limitations.
|
157 |
+
</li>
|
158 |
<li>Fully responsive for mobile devices. Great view on any screen size and width.</li>
|
159 |
+
<li>Flexible layout settings. Customize the size, the number of images and columns, image spacing
|
160 |
+
and much more!
|
161 |
+
</li>
|
162 |
<li>Show thumbnails, medium or full-size images from your Instagram feed</li>
|
163 |
<li>Customize the display order by date, popularity or random.</li>
|
164 |
<li>Show or hide the account title.</li>
|
167 |
</div>
|
168 |
</section>
|
169 |
<section class="wis-section-thin center-section">
|
170 |
+
<iframe width="720" height="405" src="https://www.youtube.com/embed/7EQirSL0xm4" frameborder="0"
|
171 |
+
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
|
172 |
+
allowfullscreen></iframe>
|
173 |
</section>
|
174 |
<section class="wis-section wis-section-changelog">
|
175 |
<div class="container">
|
177 |
<h2><?php echo __( 'BENEFITS', 'instagram-slider-widget' ); ?></h2>
|
178 |
<ul>
|
179 |
<li>Increase your visitors’ engagement. Get more followers on your Instagram account.</li>
|
180 |
+
<li>Time-saving. You no longer need to post fresh images and entries on the website. Just upload
|
181 |
+
them on Instagram, and your website visitors will know about it instantly.
|
182 |
+
</li>
|
183 |
+
<li>A new way of posting news. Flexible settings for widget display templates give your content a
|
184 |
+
seamless and attractive view on any website design.
|
185 |
+
</li>
|
186 |
+
<li>Keep up your website. Post news on Instagram more often, and Social Slider Widget will take care
|
187 |
+
of the rest.
|
188 |
+
</li>
|
189 |
+
<li>Intuitive settings. It will only take 10 seconds to configure the widget and get the content on
|
190 |
+
your website; no need to authorize on Instagram or handle tokens. And you can authorize your
|
191 |
+
account in one click!
|
192 |
+
</li>
|
193 |
</ul>
|
194 |
</div>
|
195 |
</div>
|
198 |
<div class="container">
|
199 |
<div>
|
200 |
<h2><?php echo __( 'PRO VERSION', 'instagram-slider-widget' ); ?></h2>
|
201 |
+
<p>To maintain the free version and provide prompt, effective & free support, we offer the Pro
|
202 |
+
version.</p>
|
203 |
<p>In the <a href="https://cm-wp.com/instagram-slider-widget/">Pro version</a>, you can:</p>
|
204 |
<ul>
|
205 |
<li>
|
206 |
+
Authorize several accounts and display multiple feeds simultaneously (fully compatible with
|
207 |
+
Instagram December 11, 2018, API changes)
|
208 |
<br>
|
209 |
+
<div class="wis-section-img"><img width="672" height="226"
|
210 |
+
src="https://cm-wp.com/wp-content/uploads/2019/11/pic1.jpg"
|
211 |
+
alt=""></div>
|
212 |
</li>
|
213 |
<li>
|
214 |
Display how many likes and comments each post has
|
215 |
<br>
|
216 |
+
<div class="wis-section-img"><img width="660" height="234"
|
217 |
+
src="https://cm-wp.com/wp-content/uploads/2019/11/pic2.jpg"
|
218 |
+
alt=""></div>
|
219 |
</li>
|
220 |
<li>
|
221 |
Create carousels of posts
|
222 |
</li>
|
223 |
<li>
|
224 |
+
Use <a href="https://cm-wp.com/instagram-slider-widget/masonry/">Masonry</a> or <a
|
225 |
+
href="https://cm-wp.com/instagram-slider-widget/highlight/">Highlight</a> for feeds
|
226 |
<br>
|
227 |
+
<div class="wis-section-img"><img width="450" height="389"
|
228 |
+
src="https://cm-wp.com/wp-content/uploads/2019/11/slider5.jpg"
|
229 |
+
alt="">
|
230 |
+
<img width="450" height="389" src="https://cm-wp.com/wp-content/uploads/2019/11/slider6.jpg"
|
231 |
+
alt="">
|
232 |
</div>
|
233 |
</li>
|
234 |
<li>
|
235 |
Display captions for images and videos.
|
236 |
<br>
|
237 |
+
<div class="wis-section-img"><img width="490" height="622"
|
238 |
+
src="https://cm-wp.com/wp-content/uploads/2019/11/2019-11-01_11-03-07.png"
|
239 |
+
alt=""></div>
|
240 |
+
</li>
|
241 |
+
<li>
|
242 |
+
View the photos and videos from your feed in a beautiful pop-up lightbox which allows users to
|
243 |
+
experience your content without leaving your site.
|
244 |
+
<br>
|
245 |
+
<div class="wis-section-img"><img width="660" height="454"
|
246 |
+
src="https://cm-wp.com/wp-content/uploads/2019/12/2019-12-09_12-34-33.png"
|
247 |
+
alt=""></div>
|
248 |
</li>
|
249 |
</ul>
|
250 |
+
<p>Learn more about the <a href="https://cm-wp.com/instagram-slider-widget/">Pro version</a> or watch
|
251 |
+
the <a href="https://cm-wp.com/instagram-slider-widget/#demos">demo</a>.</p>
|
252 |
</div>
|
253 |
</div>
|
254 |
</section>
|
256 |
<div class="container">
|
257 |
<div>
|
258 |
<h2><?php echo __( 'FEEDBACK AND SUPPORT', 'instagram-slider-widget' ); ?></h2>
|
259 |
+
<p>Our goal is to create a simple yet powerful plugin – customized and multifunctional, with prompt and
|
260 |
+
helpful support.
|
261 |
+
For any difficulties or questions about the setup, open a ticket on the <a
|
262 |
+
href="https://cm-wp.com/support/">support</a> and get support in no time.</p>
|
263 |
</div>
|
264 |
</div>
|
265 |
</section>
|
269 |
<h2><?php echo __( 'WHY DO YOU NEED IT?', 'instagram-slider-widget' ); ?></h2>
|
270 |
<ul>
|
271 |
<li>Increase your visitors’ engagement. Get more followers on your Instagram account.</li>
|
272 |
+
<li>Time-saving. You no longer need to post fresh images and entries on the website. Just upload
|
273 |
+
them on Instagram, and your website visitors will know about it instantly.
|
274 |
+
</li>
|
275 |
+
<li>A new way of posting news. Flexible settings for widget display templates give your content a
|
276 |
+
seamless and attractive view on any website design.
|
277 |
+
</li>
|
278 |
+
<li>Keep up your website. Post news on Instagram more often, and Social Slider Widget will take care
|
279 |
+
of the rest.
|
280 |
+
</li>
|
281 |
+
<li>Intuitive settings. It will only take 10 seconds to configure the widget and get the content on
|
282 |
+
your website; no need to authorize on Instagram or handle tokens. And you can authorize your
|
283 |
+
account in one click!
|
284 |
+
</li>
|
285 |
<li>Great user support.</li>
|
286 |
</ul>
|
287 |
</div>
|
admin/views/tab-addon_licenses.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*use WBCR\Titan\Plugin;*/
|
4 |
+
|
5 |
+
if( is_array($data) ) {
|
6 |
+
extract($data);
|
7 |
+
}
|
8 |
+
/**
|
9 |
+
* @var array $components
|
10 |
+
*/
|
11 |
+
?>
|
12 |
+
<div class="wbcr-factory-page-group-header"><?php
|
13 |
+
|
14 |
+
_e('<strong>Plugin Components</strong>.', 'titan-security') ?>
|
15 |
+
<p>
|
16 |
+
<?php _e('These are components of the plugin bundle. When you activate the plugin, all the components turned on by default. If you don’t need some function, you can easily turn it off on this page.', 'titan-security') ?>
|
17 |
+
</p>
|
18 |
+
</div>
|
19 |
+
<div class="wbcr-clearfy-components">
|
20 |
+
<?php foreach((array)$components as $component): ?>
|
21 |
+
<?php
|
22 |
+
|
23 |
+
$component_const = $component['component_const'];
|
24 |
+
|
25 |
+
$is_active_component = defined($component_const);
|
26 |
+
|
27 |
+
$slug = $component['name'];
|
28 |
+
|
29 |
+
if( $component['type'] == 'wordpress' ) {
|
30 |
+
$slug = $component['base_path'];
|
31 |
+
}
|
32 |
+
|
33 |
+
?>
|
34 |
+
|
35 |
+
<div class="plugin-card">
|
36 |
+
<div class="plugin-card-top">
|
37 |
+
<div class="name column-name">
|
38 |
+
<h3>
|
39 |
+
<a href="<?php echo esc_url($component['url']) ?>" class="open-plugin-details-modal">
|
40 |
+
<?php echo esc_html($component['title']) ?>
|
41 |
+
<img src="<?php echo esc_attr($component['icon']) ?>" class="plugin-icon"
|
42 |
+
alt="<?php echo esc_attr($component['title']) ?>">
|
43 |
+
</a>
|
44 |
+
</h3>
|
45 |
+
</div>
|
46 |
+
<div class="desc column-description">
|
47 |
+
<p><?php echo esc_html($component['description']); ?></p>
|
48 |
+
</div>
|
49 |
+
</div>
|
50 |
+
<div class="plugin-card-bottom">
|
51 |
+
<?php if($is_active_component) : ?>
|
52 |
+
<a href="<?php echo esc_url($component['settings_url']) ?>"
|
53 |
+
class="button button-primary settings-button"><?php _e('Settings', 'instagram-slider-widget'); ?></a>
|
54 |
+
<?php else: ?>
|
55 |
+
<?php if( 'premium' === $component['build'] && !(WIS_Plugin::app()->premium->is_activate() && WIS_Plugin::app()->premium->is_install_package()) ): ?>
|
56 |
+
<a target="_blank" href="<?php echo esc_url($component['url']) ?>"
|
57 |
+
class="button button-default read-more"><?php _e('Read more', 'instagram-slider-widget'); ?></a>
|
58 |
+
<?php else: ?>
|
59 |
+
<a target="_blank" href="<?php echo esc_url($component['url']) ?>"
|
60 |
+
class="button button-default install-now"><?php _e('Install', 'instagram-slider-widget'); ?></a>
|
61 |
+
<?php endif; ?>
|
62 |
+
<?php endif; ?>
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
<?php endforeach; ?>
|
66 |
+
<div class="clearfix"></div>
|
67 |
+
</div>
|
68 |
+
|
69 |
+
|
admin/views/tab-components.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*use WBCR\Titan\Plugin;*/
|
4 |
+
|
5 |
+
if( is_array($data) ) {
|
6 |
+
extract($data);
|
7 |
+
}
|
8 |
+
/**
|
9 |
+
* @var array $components
|
10 |
+
*/
|
11 |
+
?>
|
12 |
+
<div class="wbcr-factory-page-group-header"><?php
|
13 |
+
|
14 |
+
_e('<strong>Plugin Components</strong>.', 'titan-security') ?>
|
15 |
+
<p>
|
16 |
+
<?php _e('These are components of the plugin bundle. When you activate the plugin, all the components turned on by default. If you don’t need some function, you can easily turn it off on this page.', 'titan-security') ?>
|
17 |
+
</p>
|
18 |
+
</div>
|
19 |
+
<div class="wbcr-clearfy-components">
|
20 |
+
<?php foreach((array)$components as $component): ?>
|
21 |
+
<?php
|
22 |
+
|
23 |
+
$component_const = $component['component_const'];
|
24 |
+
|
25 |
+
$is_active_component = defined($component_const);
|
26 |
+
|
27 |
+
$slug = $component['name'];
|
28 |
+
|
29 |
+
if( $component['type'] == 'wordpress' ) {
|
30 |
+
$slug = $component['base_path'];
|
31 |
+
}
|
32 |
+
|
33 |
+
?>
|
34 |
+
|
35 |
+
<div class="plugin-card">
|
36 |
+
<div class="plugin-card-top">
|
37 |
+
<div class="name column-name">
|
38 |
+
<h3>
|
39 |
+
<a href="<?php echo esc_url($component['url']) ?>" class="open-plugin-details-modal">
|
40 |
+
<?php echo esc_html($component['title']) ?>
|
41 |
+
<img src="<?php echo esc_attr($component['icon']) ?>" class="plugin-icon"
|
42 |
+
alt="<?php echo esc_attr($component['title']) ?>">
|
43 |
+
</a>
|
44 |
+
</h3>
|
45 |
+
</div>
|
46 |
+
<div class="desc column-description">
|
47 |
+
<p><?php echo esc_html($component['description']); ?></p>
|
48 |
+
</div>
|
49 |
+
</div>
|
50 |
+
<div class="plugin-card-bottom">
|
51 |
+
<?php if($is_active_component) : ?>
|
52 |
+
<a href="<?php echo esc_url($component['settings_url']) ?>"
|
53 |
+
class="button button-primary settings-button"><?php _e('Settings', 'instagram-slider-widget'); ?></a>
|
54 |
+
<?php else: ?>
|
55 |
+
<?php if( 'premium' === $component['build'] && !(WIS_Plugin::app()->premium->is_activate() && WIS_Plugin::app()->premium->is_install_package()) ): ?>
|
56 |
+
<a target="_blank" href="<?php echo esc_url($component['url']) ?>"
|
57 |
+
class="button button-default read-more"><?php _e('Read more', 'instagram-slider-widget'); ?></a>
|
58 |
+
<?php else: ?>
|
59 |
+
<?php WIS_Plugin::app()->get_install_component_button('wordpress', $component['slug'])->render_button(); ?>
|
60 |
+
<?php endif; ?>
|
61 |
+
<?php endif; ?>
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
<?php endforeach; ?>
|
65 |
+
<div class="clearfix"></div>
|
66 |
+
</div>
|
67 |
+
|
68 |
+
|
admin/views/tab-license.php
CHANGED
@@ -1,100 +1,100 @@
|
|
1 |
<div class="wrap">
|
2 |
-
|
3 |
<?php wp_nonce_field( 'license' ); ?>
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
<?php echo $this->get_plan_description() ?>
|
13 |
-
|
14 |
-
|
15 |
|
16 |
-
|
17 |
-
|
18 |
<?php if ( $this->get_license_type() == 'free' ): ?>
|
19 |
-
|
20 |
-
|
21 |
<span class="btn btn-gold btn-inner-wrap">
|
22 |
<?php printf( __( 'Upgrade to Premium', 'instagram-slider-widget' ), $this->premium->get_price() ) ?>
|
23 |
</span>
|
24 |
-
|
25 |
-
|
26 |
<?php endif; ?>
|
27 |
-
|
28 |
<?php if ( $this->is_premium ): ?>
|
29 |
-
|
30 |
-
|
31 |
<?php _e( 'Delete Key', 'instagram-slider-widget' ) ?>
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
<?php _e( 'Synchronization', 'instagram-slider-widget' ) ?>
|
36 |
-
|
37 |
<?php endif; ?>
|
38 |
-
|
39 |
<?php echo ucfirst( $this->get_plan() ); ?>
|
40 |
|
41 |
<?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
|
42 |
-
|
43 |
(<?php printf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ); ?>
|
44 |
)
|
45 |
</span>
|
46 |
<?php endif; ?>
|
47 |
-
|
48 |
<?php if ( $this->is_premium ): ?>
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
<?php endif; ?>
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
<?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
|
57 |
-
|
58 |
<?php _e( 'You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wis-control-btn" href="#">cancel subscription</a>', 'instagram-slider-widget' ) ?>
|
59 |
-
|
60 |
<?php endif; ?>
|
61 |
|
62 |
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
63 |
-
|
64 |
<?php printf( __( 'Your license has expired, please extend the license to get updates and support.', 'instagram-slider-widget' ), '' ) ?>
|
65 |
-
|
66 |
<?php endif; ?>
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
<span class="license-value"><?php echo esc_attr( $_SERVER['SERVER_NAME'] ); ?></span>
|
72 |
<span class="license-value-name"><?php _e( 'domain', 'instagram-slider-widget' ) ?></span>
|
73 |
</td>-->
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
<?php if ( $this->is_premium ) : ?>
|
79 |
-
|
80 |
<span class="license-value">
|
81 |
<?php echo esc_attr( $this->premium_license->get_count_active_sites() ); ?>
|
82 |
<?php _e( 'of', 'instagram-slider-widget' ) ?>
|
83 |
<?php echo esc_attr( $this->premium_license->get_sites_quota() ); ?></span>
|
84 |
-
|
85 |
-
|
86 |
<?php endif; ?>
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
<?php if ( $this->is_premium ): ?>
|
92 |
-
|
93 |
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
94 |
-
|
95 |
-
|
96 |
<?php else: ?>
|
97 |
-
|
98 |
<?php
|
99 |
if ( $this->premium_license->is_lifetime() ) {
|
100 |
echo 'infiniate';
|
@@ -104,44 +104,44 @@
|
|
104 |
?>
|
105 |
<small> <?php _e( 'day(s)', 'instagram-slider-widget' ) ?></small>
|
106 |
</span>
|
107 |
-
|
108 |
<?php endif; ?>
|
109 |
-
|
110 |
<?php endif; ?>
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
<?php if ( $this->is_premium ): ?>
|
118 |
-
|
119 |
<?php else: ?>
|
120 |
-
|
121 |
-
|
122 |
<?php endif; ?>
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
<?php _e( 'Submit Key', 'instagram-slider-widget' ) ?>
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
<?php if ( $this->is_premium ): ?>
|
133 |
-
|
134 |
<?php printf( __( '<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'instagram-slider-widget' ), $this->plugin->get_support()->get_pricing_url( true, 'license_page' ) ); ?>
|
135 |
-
|
136 |
<?php else: ?>
|
137 |
-
|
138 |
-
<?php printf( __( 'Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'instagram-slider-widget' ),
|
139 |
-
|
140 |
<?php endif; ?>
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
</div>
|
1 |
<div class="wrap">
|
2 |
+
<div class="factory-bootstrap-436 factory-fontawesome-000">
|
3 |
<?php wp_nonce_field( 'license' ); ?>
|
4 |
+
<div id="wis-license-wrapper"
|
5 |
+
data-loader="<?php echo WIS_PLUGIN_URL . '/admin/assets/img/loader.gif'; ?>"
|
6 |
+
data-plugin="<?php echo get_class( $this->plugin ) ?>">
|
7 |
|
8 |
+
<div class="factory-bootstrap-436 onp-page-wrap <?php echo $this->get_license_type() ?>-license-manager-content"
|
9 |
+
id="license-manager">
|
10 |
+
<div>
|
11 |
+
<h3><?php printf( __( 'Activate %s', 'instagram-slider-widget' ), $this->plan_name ) ?></h3>
|
12 |
<?php echo $this->get_plan_description() ?>
|
13 |
+
</div>
|
14 |
+
<br>
|
15 |
|
16 |
+
<div class="onp-container">
|
17 |
+
<div class="license-details">
|
18 |
<?php if ( $this->get_license_type() == 'free' ): ?>
|
19 |
+
<a href="<?php echo $this->plugin->get_support()->get_pricing_url( true, 'license_page' ); ?>"
|
20 |
+
class="purchase-premium" target="_blank" rel="noopener">
|
21 |
<span class="btn btn-gold btn-inner-wrap">
|
22 |
<?php printf( __( 'Upgrade to Premium', 'instagram-slider-widget' ), $this->premium->get_price() ) ?>
|
23 |
</span>
|
24 |
+
</a>
|
25 |
+
<p><?php printf( __( 'Your current license for %1$s:', 'instagram-slider-widget' ), $this->plugin->getPluginTitle() ) ?></p>
|
26 |
<?php endif; ?>
|
27 |
+
<div class="license-details-block <?php echo $this->get_license_type() ?>-details-block">
|
28 |
<?php if ( $this->is_premium ): ?>
|
29 |
+
<a data-action="deactivate" href="#"
|
30 |
+
class="btn btn-default btn-small license-delete-button wis-control-btn">
|
31 |
<?php _e( 'Delete Key', 'instagram-slider-widget' ) ?>
|
32 |
+
</a>
|
33 |
+
<a data-action="sync" href="#"
|
34 |
+
class="btn btn-default btn-small license-synchronization-button wis-control-btn">
|
35 |
<?php _e( 'Synchronization', 'instagram-slider-widget' ) ?>
|
36 |
+
</a>
|
37 |
<?php endif; ?>
|
38 |
+
<h3>
|
39 |
<?php echo ucfirst( $this->get_plan() ); ?>
|
40 |
|
41 |
<?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
|
42 |
+
<span style="font-size: 15px;">
|
43 |
(<?php printf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ); ?>
|
44 |
)
|
45 |
</span>
|
46 |
<?php endif; ?>
|
47 |
+
</h3>
|
48 |
<?php if ( $this->is_premium ): ?>
|
49 |
+
<div class="license-key-identity">
|
50 |
+
<code><?php echo esc_attr( $this->get_hidden_license_key() ) ?></code>
|
51 |
+
</div>
|
52 |
<?php endif; ?>
|
53 |
+
<div class="license-key-description">
|
54 |
+
<p><?php _e( 'Public License is a GPLv2 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'instagram-slider-widget' ) ?>
|
55 |
+
</p>
|
56 |
<?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
|
57 |
+
<p class="activate-trial-hint">
|
58 |
<?php _e( 'You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wis-control-btn" href="#">cancel subscription</a>', 'instagram-slider-widget' ) ?>
|
59 |
+
</p>
|
60 |
<?php endif; ?>
|
61 |
|
62 |
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
63 |
+
<p class="activate-error-hint">
|
64 |
<?php printf( __( 'Your license has expired, please extend the license to get updates and support.', 'instagram-slider-widget' ), '' ) ?>
|
65 |
+
</p>
|
66 |
<?php endif; ?>
|
67 |
+
</div>
|
68 |
+
<table class="license-params" colspacing="0" colpadding="0">
|
69 |
+
<tr>
|
70 |
+
<!--<td class="license-param license-param-domain">
|
71 |
<span class="license-value"><?php echo esc_attr( $_SERVER['SERVER_NAME'] ); ?></span>
|
72 |
<span class="license-value-name"><?php _e( 'domain', 'instagram-slider-widget' ) ?></span>
|
73 |
</td>-->
|
74 |
+
<td class="license-param license-param-days">
|
75 |
+
<span class="license-value"><?php echo $this->get_plan() ?></span>
|
76 |
+
<span class="license-value-name"><?php _e( 'plan', 'instagram-slider-widget' ) ?></span>
|
77 |
+
</td>
|
78 |
<?php if ( $this->is_premium ) : ?>
|
79 |
+
<td class="license-param license-param-sites">
|
80 |
<span class="license-value">
|
81 |
<?php echo esc_attr( $this->premium_license->get_count_active_sites() ); ?>
|
82 |
<?php _e( 'of', 'instagram-slider-widget' ) ?>
|
83 |
<?php echo esc_attr( $this->premium_license->get_sites_quota() ); ?></span>
|
84 |
+
<span class="license-value-name"><?php _e( 'active sites', 'instagram-slider-widget' ) ?></span>
|
85 |
+
</td>
|
86 |
<?php endif; ?>
|
87 |
+
<td class="license-param license-param-version">
|
88 |
+
<span class="license-value"><?php echo $this->plugin->getPluginVersion() ?></span>
|
89 |
+
<span class="license-value-name"><span><?php _e( 'version', 'instagram-slider-widget' ) ?></span></span>
|
90 |
+
</td>
|
91 |
<?php if ( $this->is_premium ): ?>
|
92 |
+
<td class="license-param license-param-days">
|
93 |
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
94 |
+
<span class="license-value"><?php _e( 'EXPIRED!', 'instagram-slider-widget' ) ?></span>
|
95 |
+
<span class="license-value-name"><?php _e( 'please update the key', 'instagram-slider-widget' ) ?></span>
|
96 |
<?php else: ?>
|
97 |
+
<span class="license-value">
|
98 |
<?php
|
99 |
if ( $this->premium_license->is_lifetime() ) {
|
100 |
echo 'infiniate';
|
104 |
?>
|
105 |
<small> <?php _e( 'day(s)', 'instagram-slider-widget' ) ?></small>
|
106 |
</span>
|
107 |
+
<span class="license-value-name"><?php _e( 'remained', 'instagram-slider-widget' ) ?></span>
|
108 |
<?php endif; ?>
|
109 |
+
</td>
|
110 |
<?php endif; ?>
|
111 |
+
</tr>
|
112 |
+
</table>
|
113 |
+
</div>
|
114 |
+
</div>
|
115 |
+
<div class="license-input">
|
116 |
+
<form action="" method="post">
|
117 |
<?php if ( $this->is_premium ): ?>
|
118 |
+
<p><?php _e( 'Have a key to activate the premium version? Paste it here:', 'instagram-slider-widget' ) ?><p>
|
119 |
<?php else: ?>
|
120 |
+
<p><?php _e( 'Have a key to activate the plugin? Paste it here:', 'instagram-slider-widget' ) ?>
|
121 |
+
<p>
|
122 |
<?php endif; ?>
|
123 |
+
<button data-action="activate" class="btn btn-default wis-control-btn"
|
124 |
+
type="button"
|
125 |
+
id="license-submit">
|
126 |
<?php _e( 'Submit Key', 'instagram-slider-widget' ) ?>
|
127 |
+
</button>
|
128 |
+
<div class="license-key-wrap">
|
129 |
+
<input type="text" id="license-key" name="licensekey" value=""
|
130 |
+
class="form-control"/>
|
131 |
+
</div>
|
132 |
<?php if ( $this->is_premium ): ?>
|
133 |
+
<p style="margin-top: 10px;">
|
134 |
<?php printf( __( '<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'instagram-slider-widget' ), $this->plugin->get_support()->get_pricing_url( true, 'license_page' ) ); ?>
|
135 |
+
</p>
|
136 |
<?php else: ?>
|
137 |
+
<p style="margin-top: 10px;">
|
138 |
+
<?php printf( __( 'Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'instagram-slider-widget' ), "https://users.freemius.com/" ) ?>
|
139 |
+
</p>
|
140 |
<?php endif; ?>
|
141 |
+
</form>
|
142 |
+
</div>
|
143 |
+
</div>
|
144 |
+
</div>
|
145 |
+
</div>
|
146 |
+
</div>
|
147 |
</div>
|
admin/views/tab-licenses.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*use WBCR\Titan\Plugin;*/
|
4 |
+
|
5 |
+
if( is_array($data) ) {
|
6 |
+
extract($data);
|
7 |
+
}
|
8 |
+
/**
|
9 |
+
* @var array $licenses
|
10 |
+
*/
|
11 |
+
|
12 |
+
|
13 |
+
?>
|
14 |
+
<div class="wbcr-factory-page-group-header"><?php
|
15 |
+
|
16 |
+
_e('<strong>Licenses</strong>.', 'titan-security') ?>
|
17 |
+
<p>
|
18 |
+
<?php _e('These are licenses for a plugin and components page.', 'titan-security') ?>
|
19 |
+
</p>
|
20 |
+
</div>
|
21 |
+
<div class="wbcr-clearfy-components">
|
22 |
+
<?php foreach((array)$licenses as $license): ?>
|
23 |
+
<div class="plugin-card">
|
24 |
+
<div class="plugin-card-top">
|
25 |
+
<div class="name column-name">
|
26 |
+
<h3>
|
27 |
+
<?= $license['title'] ?>
|
28 |
+
<img src="<?php echo esc_attr($license['icon']) ?>" class="plugin-icon"
|
29 |
+
alt="<?php echo esc_attr($license['title']) ?>">
|
30 |
+
</h3>
|
31 |
+
</div>
|
32 |
+
<div class="desc column-description">
|
33 |
+
<p><?php echo esc_html($license['description']); ?></p>
|
34 |
+
</div>
|
35 |
+
</div>
|
36 |
+
<div class="plugin-card-bottom">
|
37 |
+
<a href="<?php echo admin_url('admin.php?page=' . $license['license_url']) ?>"
|
38 |
+
class="button button-primary settings-button"><?php _e('License', 'instagram-slider-widget'); ?></a>
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
<?php endforeach; ?>
|
42 |
+
<div class="clearfix"></div>
|
43 |
+
</div>
|
44 |
+
|
45 |
+
|
admin/views/tab-settings.php
CHANGED
@@ -1,101 +1,48 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
$
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
?>
|
14 |
-
<div class="
|
15 |
-
<div class="
|
16 |
-
<
|
17 |
-
<div class="row">
|
18 |
-
<div class="col-md-9">
|
19 |
-
<div class="row">
|
20 |
-
<div class="col-md-12 wis-help-text">
|
21 |
-
<p><?php
|
22 |
-
echo __( 'Without authorization Instagram limits the number of requests, and after exceeding the limit asks to log in, so an error is displayed that no images were found.', 'instagram-slider-widget' ); ?>
|
23 |
-
</p>
|
24 |
-
</div>
|
25 |
-
</div>
|
26 |
-
<?php $accounts = WIS_Plugin::app()->getPopulateOption( 'account_profiles', array() ); ?>
|
27 |
-
<div class="row">
|
28 |
-
<div class="col-md-12">
|
29 |
-
<div id="wis-add-account-button" class="">
|
30 |
-
<?php
|
31 |
-
if ( count( $accounts ) && !WIS_Plugin::app()->is_premium()) : ?>
|
32 |
-
<span class="wis-btn-instagram-account btn-instagram-account-disabled">
|
33 |
-
<?php _e('Add Account','instagram-slider-widget')?></span>
|
34 |
-
<span class="instagram-account-pro"><?php echo sprintf( __( "More accounts in <a href='%s'>PRO version</a>", 'instagram-slider-widget' ), WIS_Plugin::app()->get_support()->get_pricing_url(true, "wis_settings") );?></span>
|
35 |
-
<?php else: ?>
|
36 |
-
<a class="wis-btn-instagram-account" target="_self" href="<?php echo $autorize_url; ?>" title="Add Account">
|
37 |
-
<?php _e('Add Account','instagram-slider-widget')?></a>
|
38 |
-
<?php endif; ?>
|
39 |
-
<span style="float: none; margin-top: 0;" class="spinner" id="wis-spinner"> </span>
|
40 |
-
</div>
|
41 |
-
<div class="wis-help-text"><?php echo sprintf( __( "After adding an account, go to the <a href='%s'>widget settings</a> and change the \"Search Instagram for\" setting to Account", 'instagram-slider-widget' ), admin_url('widgets.php')) ?></div>
|
42 |
-
<?php
|
43 |
-
if ( count( $accounts ) ) : ?>
|
44 |
-
<br>
|
45 |
-
<table class="widefat wis-table">
|
46 |
-
<thead>
|
47 |
-
<tr>
|
48 |
-
<th><?php echo __( 'Image', 'instagram-slider-widget' ); ?></th>
|
49 |
-
<th><?php echo __( 'ID', 'instagram-slider-widget' ); ?></th>
|
50 |
-
<th><?php echo __( 'User', 'instagram-slider-widget' ); ?></th>
|
51 |
-
<th><?php echo __( 'Name', 'instagram-slider-widget' ); ?></th>
|
52 |
-
<th><?php echo __( 'Token', 'instagram-slider-widget' ); ?></th>
|
53 |
-
<th><?php echo __( 'Action', 'instagram-slider-widget' ); ?></th>
|
54 |
-
</tr>
|
55 |
-
</thead>
|
56 |
-
<tbody>
|
57 |
-
<?php
|
58 |
-
foreach ( $accounts as $profile_info ) {
|
59 |
-
?>
|
60 |
-
<tr>
|
61 |
-
<td class="profile-picture">
|
62 |
-
<img src="<?php echo esc_url( $profile_info['profile_picture'] ); ?>" width="30"/>
|
63 |
-
</td>
|
64 |
-
<td><?php echo esc_attr( $profile_info['id'] ); ?></td>
|
65 |
-
<td>
|
66 |
-
<a href="https://www.instagram.com/<?php echo esc_html( $profile_info['username'] ); ?>">@<?php echo esc_html( $profile_info['username'] ); ?></a>
|
67 |
-
</td>
|
68 |
-
<td><?php echo esc_html( $profile_info['full_name'] ); ?></td>
|
69 |
-
<td>
|
70 |
-
<input id="<?php echo esc_attr( $profile_info['id'] ); ?>-access-token" type="text" value="<?php echo esc_attr( $profile_info['token'] ); ?>" class="wis-text-token" readonly/>
|
71 |
-
</td>
|
72 |
-
<td>
|
73 |
-
<a href="#" data-item_id="<?php echo esc_attr( $profile_info['id'] ); ?>" class="btn btn-danger wis-delete-account">
|
74 |
-
<span class="dashicons dashicons-trash"></span><?php echo __( 'Delete', 'instagram-slider-widget' ); ?>
|
75 |
-
</a>
|
76 |
-
<span class="spinner" id="wis-delete-spinner"></span>
|
77 |
-
</td>
|
78 |
-
</tr>
|
79 |
-
<?php
|
80 |
-
}
|
81 |
-
?>
|
82 |
-
</tbody>
|
83 |
-
</table>
|
84 |
-
<?php wp_nonce_field( $this->plugin->getPrefix() . 'settings_form', $this->plugin->getPrefix() . 'nonce' ); ?>
|
85 |
-
<?php endif; ?>
|
86 |
-
</div>
|
87 |
-
</div>
|
88 |
-
</div>
|
89 |
-
<div class="col-md-3">
|
90 |
-
<div id="wis-dashboard-widget" class="wis-right-widget">
|
91 |
-
<?php
|
92 |
-
if(!WIS_Plugin::app()->is_premium())
|
93 |
-
{
|
94 |
-
WIS_Plugin::app()->get_adverts_manager()->render_placement( 'right_sidebar');
|
95 |
-
}
|
96 |
-
?>
|
97 |
-
</div>
|
98 |
-
</div>
|
99 |
-
</div>
|
100 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
</div>
|
1 |
<?php
|
2 |
+
$current_url = admin_url( 'admin.php?page=settings-' . WIS_Plugin::app()->getPluginName() );
|
3 |
+
$current_tab = 'instagram';
|
4 |
+
$TABS = array(
|
5 |
+
'instagram' => array(
|
6 |
+
'current' => false,
|
7 |
+
'caption' => 'Instagram',
|
8 |
+
'icon' => 'instagram',
|
9 |
+
'url' => $current_url . "&tab=instagram",
|
10 |
+
),
|
11 |
+
);
|
12 |
+
if ( isset( $_GET['tab'] ) && ! empty( $_GET['tab'] ) ) {
|
13 |
+
$current_tab = htmlspecialchars( $_GET['tab'] );
|
14 |
+
$current_url .= "&tab={$current_tab}";
|
15 |
+
$TABS[ $current_tab ]['current'] = true;
|
16 |
+
} else {
|
17 |
+
$current_tab = 'instagram';
|
18 |
+
$current_url .= "&tab={$current_tab}";
|
19 |
+
$TABS[ $current_tab ]['current'] = true;
|
20 |
+
}
|
21 |
?>
|
22 |
+
<div class="wis-container">
|
23 |
+
<div class="wis-page-title">
|
24 |
+
<h1><?php _e( 'Settings', 'insert-php' ) ?><?php echo WIS_Plugin::app()->getPluginTitle() . " " . WIS_Plugin::app()->getPluginVersion(); ?></h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
</div>
|
26 |
+
<div id="tabs" class="tabs">
|
27 |
+
<nav>
|
28 |
+
<ul>
|
29 |
+
<?php
|
30 |
+
foreach ( $TABS as $key => $tab ) {
|
31 |
+
if ( $tab['current'] ) {
|
32 |
+
echo "<li class='tab-current'>";
|
33 |
+
} else {
|
34 |
+
echo "<li>";
|
35 |
+
}
|
36 |
+
echo "<a href='{$tab['url']}' class='icon-{$tab['icon']}'><span>{$tab['caption']}</span></a>";
|
37 |
+
echo "</li>";
|
38 |
+
}
|
39 |
+
?>
|
40 |
+
</ul>
|
41 |
+
</nav>
|
42 |
+
<div class="content">
|
43 |
+
<section id="<?php echo $current_tab; ?>">
|
44 |
+
<?php include_once WIS_PLUGIN_DIR . "/admin/views/{$current_tab}.php"; ?>
|
45 |
+
</section>
|
46 |
+
</div><!-- /content -->
|
47 |
+
</div><!-- /tabs -->
|
48 |
</div>
|
admin/views/tab-showcase-license.php
ADDED
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="wrap">
|
2 |
+
<div class="factory-bootstrap-436 factory-fontawesome-000">
|
3 |
+
<?php wp_nonce_field( 'shopifeed_check_license' ); ?>
|
4 |
+
<div id="wis-license-wrapper"
|
5 |
+
data-loader="<?php echo WIS_PLUGIN_URL . '/admin/assets/img/loader.gif'; ?>"
|
6 |
+
data-plugin="<?php echo get_class( $this->plugin ) ?>">
|
7 |
+
|
8 |
+
<div class="factory-bootstrap-436 onp-page-wrap <?php echo $this->get_license_type() ?>-license-manager-content"
|
9 |
+
id="license-manager">
|
10 |
+
<div>
|
11 |
+
<h3><?php printf( __( 'Activate %s', 'instagram-slider-widget' ), $this->plan_name ) ?></h3>
|
12 |
+
<?php echo $this->get_plan_description() ?>
|
13 |
+
</div>
|
14 |
+
<br>
|
15 |
+
|
16 |
+
<div class="onp-container">
|
17 |
+
<div class="license-details">
|
18 |
+
<?php if ( $this->get_license_type() == 'free' ): ?>
|
19 |
+
<a href="<?php echo $this->plugin->get_support()->get_pricing_url( true, 'license_page' ); ?>"
|
20 |
+
class="purchase-premium" target="_blank" rel="noopener">
|
21 |
+
<span class="btn btn-gold btn-inner-wrap">
|
22 |
+
<?php printf( __( 'Upgrade to Premium', 'instagram-slider-widget' ), $this->premium->get_price() ) ?>
|
23 |
+
</span>
|
24 |
+
</a>
|
25 |
+
<p><?php printf( __( 'Your current license for %1$s:', 'instagram-slider-widget' ), $this->plugin->getPluginTitle() ) ?></p>
|
26 |
+
<?php endif; ?>
|
27 |
+
<div class="license-details-block <?php echo $this->get_license_type() ?>-details-block">
|
28 |
+
<?php if ( $this->is_premium ): ?>
|
29 |
+
<a data-action="deactivate" href="#"
|
30 |
+
class="btn btn-default btn-small license-delete-button wis-control-btn shopifeed-control-btn">
|
31 |
+
<?php _e( 'Delete Key', 'instagram-slider-widget' ) ?>
|
32 |
+
</a>
|
33 |
+
<a data-action="sync" href="#"
|
34 |
+
class="btn btn-default btn-small license-synchronization-button wis-control-btn shopifeed-control-btn">
|
35 |
+
<?php _e( 'Synchronization', 'instagram-slider-widget' ) ?>
|
36 |
+
</a>
|
37 |
+
<?php endif; ?>
|
38 |
+
<h3>
|
39 |
+
<?php echo ucfirst( $this->get_plan() ); ?>
|
40 |
+
|
41 |
+
<?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
|
42 |
+
<span style="font-size: 15px;">
|
43 |
+
(<?php printf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ); ?>
|
44 |
+
)
|
45 |
+
</span>
|
46 |
+
<?php endif; ?>
|
47 |
+
</h3>
|
48 |
+
<?php if ( $this->is_premium ): ?>
|
49 |
+
<div class="license-key-identity">
|
50 |
+
<code><?php echo esc_attr( $this->get_hidden_license_key() ) ?></code>
|
51 |
+
</div>
|
52 |
+
<?php endif; ?>
|
53 |
+
<div class="license-key-description">
|
54 |
+
<p><?php _e( 'Public License is a GPLv2 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'instagram-slider-widget' ) ?>
|
55 |
+
</p>
|
56 |
+
<?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
|
57 |
+
<p class="activate-trial-hint">
|
58 |
+
<?php _e( 'You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wis-control-btn" href="#">cancel subscription</a>', 'instagram-slider-widget' ) ?>
|
59 |
+
</p>
|
60 |
+
<?php endif; ?>
|
61 |
+
|
62 |
+
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
63 |
+
<p class="activate-error-hint">
|
64 |
+
<?php printf( __( 'Your license has expired, please extend the license to get updates and support.', 'instagram-slider-widget' ), '' ) ?>
|
65 |
+
</p>
|
66 |
+
<?php endif; ?>
|
67 |
+
</div>
|
68 |
+
<table class="license-params" colspacing="0" colpadding="0">
|
69 |
+
<tr>
|
70 |
+
<!--<td class="license-param license-param-domain">
|
71 |
+
<span class="license-value"><?php echo esc_attr( $_SERVER['SERVER_NAME'] ); ?></span>
|
72 |
+
<span class="license-value-name"><?php _e( 'domain', 'instagram-slider-widget' ) ?></span>
|
73 |
+
</td>-->
|
74 |
+
<td class="license-param license-param-days">
|
75 |
+
<span class="license-value"><?php echo $this->get_plan() ?></span>
|
76 |
+
<span class="license-value-name"><?php _e( 'plan', 'instagram-slider-widget' ) ?></span>
|
77 |
+
</td>
|
78 |
+
<?php if ( $this->is_premium ) : ?>
|
79 |
+
<td class="license-param license-param-sites">
|
80 |
+
<span class="license-value">
|
81 |
+
<?php echo esc_attr( $this->premium_license->get_count_active_sites() ); ?>
|
82 |
+
<?php _e( 'of', 'instagram-slider-widget' ) ?>
|
83 |
+
<?php echo esc_attr( $this->premium_license->get_sites_quota() ); ?></span>
|
84 |
+
<span class="license-value-name"><?php _e( 'active sites', 'instagram-slider-widget' ) ?></span>
|
85 |
+
</td>
|
86 |
+
<?php endif; ?>
|
87 |
+
<td class="license-param license-param-version">
|
88 |
+
<span class="license-value"><?php echo $this->plugin->getPluginVersion() ?></span>
|
89 |
+
<span class="license-value-name"><span><?php _e( 'version', 'instagram-slider-widget' ) ?></span></span>
|
90 |
+
</td>
|
91 |
+
<?php if ( $this->is_premium ): ?>
|
92 |
+
<td class="license-param license-param-days">
|
93 |
+
<?php if ( $this->get_license_type() == 'trial' ): ?>
|
94 |
+
<span class="license-value"><?php _e( 'EXPIRED!', 'instagram-slider-widget' ) ?></span>
|
95 |
+
<span class="license-value-name"><?php _e( 'please update the key', 'instagram-slider-widget' ) ?></span>
|
96 |
+
<?php else: ?>
|
97 |
+
<span class="license-value">
|
98 |
+
<?php
|
99 |
+
if ( $this->premium_license->is_lifetime() ) {
|
100 |
+
echo 'infiniate';
|
101 |
+
} else {
|
102 |
+
echo $this->get_expiration_days();
|
103 |
+
}
|
104 |
+
?>
|
105 |
+
<small> <?php _e( 'day(s)', 'instagram-slider-widget' ) ?></small>
|
106 |
+
</span>
|
107 |
+
<span class="license-value-name"><?php _e( 'remained', 'instagram-slider-widget' ) ?></span>
|
108 |
+
<?php endif; ?>
|
109 |
+
</td>
|
110 |
+
<?php endif; ?>
|
111 |
+
</tr>
|
112 |
+
</table>
|
113 |
+
</div>
|
114 |
+
</div>
|
115 |
+
<div class="license-input">
|
116 |
+
<form action="" method="post">
|
117 |
+
<?php if ( $this->is_premium ): ?>
|
118 |
+
<p><?php _e( 'Have a key to activate the premium version? Paste it here:', 'instagram-slider-widget' ) ?><p>
|
119 |
+
<?php else: ?>
|
120 |
+
<p><?php _e( 'Have a key to activate the plugin? Paste it here:', 'instagram-slider-widget' ) ?>
|
121 |
+
<p>
|
122 |
+
<?php endif; ?>
|
123 |
+
<button data-action="activate" class="btn btn-default wis-control-btn shopifeed-control-btn"
|
124 |
+
type="button"
|
125 |
+
id="license-submit">
|
126 |
+
<?php _e( 'Submit Key', 'instagram-slider-widget' ) ?>
|
127 |
+
</button>
|
128 |
+
<div class="license-key-wrap">
|
129 |
+
<input type="text" id="license-key" name="licensekey" value=""
|
130 |
+
class="form-control"/>
|
131 |
+
</div>
|
132 |
+
<?php if ( $this->is_premium ): ?>
|
133 |
+
<p style="margin-top: 10px;">
|
134 |
+
<?php printf( __( '<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'instagram-slider-widget' ), $this->plugin->get_support()->get_pricing_url( true, 'license_page' ) ); ?>
|
135 |
+
</p>
|
136 |
+
<?php else: ?>
|
137 |
+
<p style="margin-top: 10px;">
|
138 |
+
<?php printf( __( 'Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'instagram-slider-widget' ), "https://users.freemius.com/" ) ?>
|
139 |
+
</p>
|
140 |
+
<?php endif; ?>
|
141 |
+
</form>
|
142 |
+
</div>
|
143 |
+
</div>
|
144 |
+
</div>
|
145 |
+
</div>
|
146 |
+
</div>
|
147 |
+
</div>
|
admin/views/tab-widgets.php
CHANGED
@@ -1,36 +1,79 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
if ( !empty( $sidebars_widgets ) )
|
8 |
-
{
|
9 |
-
foreach ($sidebars_widgets as $key => $sidebar)
|
10 |
-
{
|
11 |
-
foreach ($sidebar as $widget)
|
12 |
-
{
|
13 |
-
if(strstr($widget, 'jr_insta_slider'))
|
14 |
-
{
|
15 |
-
wp_list_widget_controls($key, $wp_registered_sidebars[$key]['name']);
|
16 |
-
break;
|
17 |
-
}
|
18 |
-
}
|
19 |
-
}
|
20 |
-
}
|
21 |
?>
|
22 |
-
<
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
}
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* @var string $content
|
4 |
+
* @var array $insta_widgets
|
5 |
+
* @var array $demo_widgets
|
6 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
?>
|
8 |
+
<div class="wis-widgets-container">
|
9 |
+
<h2><?= __( 'Recommended widget templates', 'instagram-slider-widget' ); ?></h2>
|
10 |
+
<div class="wis-demo-widgets">
|
11 |
+
<?php if ( is_array( $insta_widgets ) && ! empty( $insta_widgets ) ): ?>
|
12 |
+
<div class="wis-row">
|
13 |
+
<?php foreach ( $insta_widgets as $key => $insta_widget ) {
|
14 |
+
$shortcode = "[jr_instagram id='{$key}']";
|
15 |
+
$wis_demo_pro = "";
|
16 |
+
if ( ! WIS_Plugin::app()->is_premium() && isset( $insta_widget['premium'] ) && $insta_widget['premium'] ) {
|
17 |
+
$shortcode = '';
|
18 |
+
$wis_demo_pro = "wis_demo_pro";
|
19 |
+
}
|
20 |
+
if ( isset( $insta_widget['demo'] ) && ! empty( $insta_widget['demo'] ) ) {
|
21 |
+
$demo_id = $insta_widget['demo'];
|
22 |
+
?>
|
23 |
+
<div class="wis-col-16">
|
24 |
+
<div><p style="text-align: center;"><img
|
25 |
+
src="<?php echo WIS_PLUGIN_URL . "/admin/assets/img/demo/{$demo_id}.svg"; ?>"
|
26 |
+
alt=""></p>
|
27 |
+
</div>
|
28 |
+
<div class="wis-demo-shortcode">
|
29 |
+
<p><?= __( 'Shortcode for this widget', 'instagram-slider-widget' ); ?><span
|
30 |
+
class="<?= $wis_demo_pro; ?>"></span></p>
|
31 |
+
<input id="wis_insta_shortcode" onclick="this.setSelectionRange(0, this.value.length)"
|
32 |
+
type="text" class="wis-demo-widefat" value="<?= $shortcode; ?>"
|
33 |
+
readonly="readonly">
|
34 |
+
<p><?= $insta_widget['title']; ?></p>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
<?php
|
38 |
+
}
|
39 |
+
} ?>
|
40 |
+
</div>
|
41 |
+
<?php endif; ?>
|
42 |
+
<?php
|
43 |
+
$account = $this->get_current_account();
|
44 |
+
if ( ! isset( $demo_id ) && ! empty( $account ) ) { ?>
|
45 |
+
<a class="button button-primary" href="<?php echo add_query_arg( [ 'do' => 'add_demo' ] ); ?>">Add demo
|
46 |
+
widgets</a>
|
47 |
+
<?php } else if ( ! isset( $demo_id ) && empty( $account ) ) { ?>
|
48 |
+
<a class="button button-primary" disabled="disabled" href="#">Add demo
|
49 |
+
widgets</a> <div style="display: inline-block; line-height: 30px;"><?=__( 'Add instagram account in plugin settings', 'instagram-slider-widget' );?></div>
|
50 |
+
<?php } ?>
|
51 |
+
</div>
|
52 |
+
|
53 |
+
<div class="wis-demo-widgets">
|
54 |
+
<?php echo $content; ?>
|
55 |
+
</div>
|
56 |
+
|
57 |
+
<style>
|
58 |
+
.widget-inside
|
59 |
+
{
|
60 |
+
border-top: none;
|
61 |
+
padding: 1px 15px 15px 15px;
|
62 |
+
line-height: 1.2;
|
63 |
+
}
|
64 |
+
</style>
|
65 |
+
<script>
|
66 |
+
jQuery(document).ready(function ($) {
|
67 |
+
$('.widget:not([id*="jr_insta_slider"])').remove();
|
68 |
+
//$('[id*="jr_insta_slider"]').before($('#jr_insta_shortcode').val())
|
69 |
+
$('.sidebar-name').find('button.handlediv').remove();
|
70 |
+
});
|
71 |
+
</script>
|
72 |
+
|
73 |
+
<?php
|
74 |
+
echo "<pre>";
|
75 |
+
//print_r( $demo );
|
76 |
+
//print_r( $insta_widgets );
|
77 |
+
echo "</pre>";
|
78 |
+
?>
|
79 |
+
</div>
|
admin/views/youtube.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
youtube
|
assets/css/instag-slider.css
CHANGED
@@ -1,178 +1,597 @@
|
|
1 |
/* Flexislider Default Settings */
|
2 |
-
.pllexislider
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
.pllexislider
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/* no list style */
|
11 |
-
.jr-insta-thumb .no-bullet, .pllexislider .no-bullet
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
/* Flexi Slider Template */
|
14 |
-
.pllexislider
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
/* Control Nav */
|
20 |
-
.pllexislider .pllex-control-nav
|
21 |
-
|
22 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
.pllexislider .pllex-control-paging li a:hover,
|
25 |
-
.pllexislider .pllex-control-paging li a.pllex-active
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
/* Direction Nav */
|
29 |
-
.pllexislider .pllex-direction-nav
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
40 |
/* Slider Normal */
|
41 |
-
.pllexislider-normal ul li .jr-insta-datacontainer
|
42 |
-
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
/* Slider Overlay */
|
47 |
-
.pllexislider-overlay a
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
/* Thumbnails Template */
|
55 |
-
.jr-insta-thumb ul.thumbnails
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
.jr-insta-thumb ul.thumbnails.
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
.jr-insta-thumb ul.thumbnails
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
.jr-insta-thumb ul.thumbnails.no-border
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
width: 100% !important; /* over-ride all li styles */
|
119 |
-
|
120 |
}
|
|
|
121 |
.graphdiv
|
122 |
{
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
}
|
135 |
|
136 |
-
.GraphImage
|
137 |
-
|
138 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
|
140 |
.GraphImage:before
|
141 |
{
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
|
|
|
|
152 |
}
|
|
|
153 |
.GraphSidecar:before
|
154 |
{
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
|
|
165 |
}
|
|
|
166 |
.GraphVideo:before
|
167 |
{
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
}
|
1 |
/* Flexislider Default Settings */
|
2 |
+
.pllexislider
|
3 |
+
{
|
4 |
+
margin: 0;
|
5 |
+
padding: 0;
|
6 |
+
}
|
7 |
+
|
8 |
+
.pllexislider .slides > li
|
9 |
+
{
|
10 |
+
display: none;
|
11 |
+
-webkit-backface-visibility: hidden;
|
12 |
+
}
|
13 |
+
|
14 |
+
/* Hide the slides before the JS is loaded. Avoids image jumping */
|
15 |
+
.pllexislider .slides img
|
16 |
+
{
|
17 |
+
width: 100%;
|
18 |
+
display: block;
|
19 |
+
}
|
20 |
+
|
21 |
+
.pllexislider .slides:after
|
22 |
+
{
|
23 |
+
display: block;
|
24 |
+
clear: both;
|
25 |
+
visibility: hidden;
|
26 |
+
line-height: 0;
|
27 |
+
height: 0;
|
28 |
+
}
|
29 |
+
|
30 |
+
.pllex-pauseplay span
|
31 |
+
{
|
32 |
+
text-transform: capitalize;
|
33 |
+
}
|
34 |
+
|
35 |
+
.pllexislider, .pllexislider .slides li, .pllexislider .slides > li > a
|
36 |
+
{
|
37 |
+
height: 100%;
|
38 |
+
padding: 0 !important;
|
39 |
+
background: none;
|
40 |
+
margin: 0;
|
41 |
+
border: none;
|
42 |
+
}
|
43 |
+
|
44 |
+
.pllexislider, .pllexislider .slides li:hover, .pllexislider .slides > li:hover > a
|
45 |
+
{
|
46 |
+
border: none;
|
47 |
+
}
|
48 |
|
49 |
/* no list style */
|
50 |
+
.jr-insta-thumb .no-bullet, .pllexislider .no-bullet
|
51 |
+
{
|
52 |
+
list-style: none;
|
53 |
+
margin: 0 0 0 0;
|
54 |
+
padding: 0 0 0 0;
|
55 |
+
clear: both;
|
56 |
+
}
|
57 |
|
58 |
/* Flexi Slider Template */
|
59 |
+
.pllexislider
|
60 |
+
{
|
61 |
+
margin: 0;
|
62 |
+
position: relative;
|
63 |
+
}
|
64 |
+
|
65 |
+
.pllex-viewport
|
66 |
+
{
|
67 |
+
max-height: 2000px;
|
68 |
+
-webkit-transition: all 1s ease;
|
69 |
+
-moz-transition: all 1s ease;
|
70 |
+
-o-transition: all 1s ease;
|
71 |
+
transition: all 1s ease;
|
72 |
+
}
|
73 |
+
|
74 |
+
.loading .pllex-viewport
|
75 |
+
{
|
76 |
+
max-height: 300px;
|
77 |
+
}
|
78 |
+
|
79 |
+
.pllexislider .slides
|
80 |
+
{
|
81 |
+
zoom: 1;
|
82 |
+
overflow: hidden;
|
83 |
+
}
|
84 |
|
85 |
/* Control Nav */
|
86 |
+
.pllexislider .pllex-control-nav
|
87 |
+
{
|
88 |
+
z-index: 2;
|
89 |
+
position: absolute;
|
90 |
+
top: 10px;
|
91 |
+
right: 0;
|
92 |
+
padding: 0 15px;
|
93 |
+
margin-right: auto;
|
94 |
+
margin-left: auto
|
95 |
+
}
|
96 |
+
|
97 |
+
.pllexislider-overlay .pllex-control-nav
|
98 |
+
{
|
99 |
+
display: none;
|
100 |
+
}
|
101 |
+
|
102 |
+
.pllexislider .pllex-control-nav li
|
103 |
+
{
|
104 |
+
margin: 0 3px;
|
105 |
+
display: inline-block;
|
106 |
+
zoom: 1;
|
107 |
+
*display: inline;
|
108 |
+
}
|
109 |
+
|
110 |
+
.pllexislider .pllex-control-paging li a
|
111 |
+
{
|
112 |
+
width: 11px;
|
113 |
+
border: none;
|
114 |
+
height: 11px;
|
115 |
+
display: block;
|
116 |
+
background: #fff;
|
117 |
+
background: rgba(255, 255, 255, 255, 0.5);
|
118 |
+
cursor: pointer;
|
119 |
+
text-indent: -9999px;
|
120 |
+
-webkit-border-radius: 20px;
|
121 |
+
-moz-border-radius: 20px;
|
122 |
+
-o-border-radius: 20px;
|
123 |
+
border-radius: 20px;
|
124 |
+
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
|
125 |
+
-moz-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
|
126 |
+
-o-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
|
127 |
+
box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
|
128 |
+
}
|
129 |
+
|
130 |
.pllexislider .pllex-control-paging li a:hover,
|
131 |
+
.pllexislider .pllex-control-paging li a.pllex-active
|
132 |
+
{
|
133 |
+
background: rgba(0, 0, 0, 0.6);
|
134 |
+
-webkit-box-shadow: 0px 0px 1px 2px rgba(255, 255, 255, 1);
|
135 |
+
-moz-box-shadow: 0px 0px 1px 2px rgba(255, 255, 255, 0.7);
|
136 |
+
box-shadow: 0px 0px 1px 2px rgba(255, 255, 255, 1);
|
137 |
+
}
|
138 |
+
|
139 |
+
.pllexislider .pllex-control-paging li a.pllex-active
|
140 |
+
{
|
141 |
+
cursor: default;
|
142 |
+
}
|
143 |
+
|
144 |
+
.pllexislider .pllex-control-paging
|
145 |
+
{
|
146 |
+
width: 100%;
|
147 |
+
text-align: center
|
148 |
+
}
|
149 |
+
|
150 |
/* Direction Nav */
|
151 |
+
.pllexislider .pllex-direction-nav
|
152 |
+
{
|
153 |
+
z-index: 2;
|
154 |
+
position: absolute;
|
155 |
+
list-style: none;
|
156 |
+
padding: 0;
|
157 |
+
top: 7px;
|
158 |
+
right: 2%;
|
159 |
+
margin: 0;
|
160 |
+
background-color: rgba(0, 0, 0, 0.6);
|
161 |
+
-webkit-border-radius: 15%;
|
162 |
+
-moz-border-radius: 15%;
|
163 |
+
-o-border-radius: 15%;
|
164 |
+
border-radius: 15%;
|
165 |
+
}
|
166 |
+
|
167 |
+
.pllexislider-overlay .pllex-direction-nav
|
168 |
+
{
|
169 |
+
display: none;
|
170 |
+
}
|
171 |
+
|
172 |
+
.pllexislider .pllex-direction-nav li a
|
173 |
+
{
|
174 |
+
line-height: normal;
|
175 |
+
overflow: hidden;
|
176 |
+
display: block;
|
177 |
+
border: 0
|
178 |
+
}
|
179 |
+
|
180 |
+
.pllexislider .pllex-direction-nav li a:focus
|
181 |
+
{
|
182 |
+
outline: 0
|
183 |
+
}
|
184 |
+
|
185 |
+
.pllexislider .pllex-direction-nav li:first-child
|
186 |
+
{
|
187 |
+
float: left;
|
188 |
+
margin-right: 0;
|
189 |
+
border-left: 0;
|
190 |
+
border-right: 1px solid gray;
|
191 |
+
}
|
192 |
+
|
193 |
+
.pllexislider .pllex-direction-nav li
|
194 |
+
{
|
195 |
+
list-style: none;
|
196 |
+
float: right;
|
197 |
+
margin: 0;
|
198 |
+
border-right: 0;
|
199 |
+
border-left: 1px solid #1e1e1e;
|
200 |
+
padding: 0;
|
201 |
+
border-top: 0;
|
202 |
+
border-bottom: 0;
|
203 |
+
}
|
204 |
+
|
205 |
+
.pllexislider .pllex-direction-nav .pllex-next:before,
|
206 |
+
.pllexislider .pllex-direction-nav .pllex-prev:before
|
207 |
+
{
|
208 |
+
font-family: Arial, Helvetica, sans-serif;
|
209 |
+
display: inline-block;
|
210 |
+
padding: 0 4px 1px;
|
211 |
+
speak: none;
|
212 |
+
color: #fff;
|
213 |
+
font-size: 18px;
|
214 |
+
text-shadow: 0 2px 0 rgba(0, 0, 0, 1);
|
215 |
+
}
|
216 |
+
|
217 |
+
.pllexislider .pllex-direction-nav .pllex-next:before
|
218 |
+
{
|
219 |
+
content: '\25BA';
|
220 |
+
}
|
221 |
+
|
222 |
+
.pllexislider .pllex-direction-nav .pllex-prev:before
|
223 |
+
{
|
224 |
+
content: '\25C4';
|
225 |
+
}
|
226 |
|
227 |
/* Slider Normal */
|
228 |
+
.pllexislider-normal ul li .jr-insta-datacontainer
|
229 |
+
{
|
230 |
+
margin-top: 5px;
|
231 |
+
margin-bottom: 5px;
|
232 |
+
display: block;
|
233 |
+
}
|
234 |
+
|
235 |
+
.pllexislider-normal ul li .jr-insta-datacontainer .jr-insta-username
|
236 |
+
{
|
237 |
+
text-decoration: none;
|
238 |
+
display: inline-block;
|
239 |
+
}
|
240 |
+
|
241 |
+
.pllexislider-normal ul li .jr-insta-datacontainer .jr-insta-time
|
242 |
+
{
|
243 |
+
float: right;
|
244 |
+
display: inline-block;
|
245 |
+
text-align: right;
|
246 |
+
}
|
247 |
+
|
248 |
+
.pllexislider-normal ul li .jr-insta-datacontainer .jr-insta-caption
|
249 |
+
{
|
250 |
+
line-height: normal;
|
251 |
+
margin-top: 5px;
|
252 |
+
margin-bottom: 5px;
|
253 |
+
display: block;
|
254 |
+
clear: both
|
255 |
+
}
|
256 |
|
257 |
/* Slider Overlay */
|
258 |
+
.pllexislider-overlay a
|
259 |
+
{
|
260 |
+
color: #ffffff;
|
261 |
+
text-decoration: none;
|
262 |
+
}
|
263 |
+
|
264 |
+
.pllexislider-overlay ul li .jr-insta-wrap
|
265 |
+
{
|
266 |
+
position: relative;
|
267 |
+
color: #FFF;
|
268 |
+
line-height: normal;
|
269 |
+
}
|
270 |
+
|
271 |
+
.pllexislider-overlay ul li .jr-insta-wrap .jr-insta-datacontainer
|
272 |
+
{
|
273 |
+
position: absolute;
|
274 |
+
display: none;
|
275 |
+
left: 0;
|
276 |
+
bottom: 0;
|
277 |
+
width: 100%;
|
278 |
+
text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
|
279 |
+
background: rgba(0, 0, 0, 0.4);
|
280 |
+
padding: 5px 15px;
|
281 |
+
-moz-box-sizing: border-box;
|
282 |
+
-webkit-box-sizing: border-box;
|
283 |
+
box-sizing: border-box;
|
284 |
+
}
|
285 |
+
|
286 |
+
.pllexislider-overlay ul li .jr-insta-wrap .jr-insta-datacontainer .jr-insta-username a
|
287 |
+
{
|
288 |
+
color: #FFF !important;
|
289 |
+
text-decoration: none;
|
290 |
+
font-weight: bold;
|
291 |
+
}
|
292 |
+
|
293 |
+
.pllexislider-overlay ul li .jr-insta-wrap .jr-insta-datacontainer .jr-insta-time
|
294 |
+
{
|
295 |
+
float: right;
|
296 |
+
text-align: right;
|
297 |
+
}
|
298 |
+
|
299 |
+
.pllexislider-overlay ul li .jr-insta-wrap .jr-insta-datacontainer .jr-insta-caption
|
300 |
+
{
|
301 |
+
line-height: normal;
|
302 |
+
color: #FFF;
|
303 |
+
margin-top: 5px;
|
304 |
+
margin-bottom: 5px;
|
305 |
+
display: block;
|
306 |
+
}
|
307 |
|
308 |
/* Thumbnails Template */
|
309 |
+
.jr-insta-thumb ul.thumbnails
|
310 |
+
{
|
311 |
+
list-style: none;
|
312 |
+
font-size: 0;
|
313 |
+
margin-left: -2.5%;
|
314 |
+
}
|
315 |
+
|
316 |
+
.jr-insta-thumb ul.thumbnails.no-border
|
317 |
+
{
|
318 |
+
margin-left: 0;
|
319 |
+
}
|
320 |
+
|
321 |
+
.jr-insta-thumb ul.thumbnails li
|
322 |
+
{
|
323 |
+
display: inline-block;
|
324 |
+
padding: 0;
|
325 |
+
margin: 0 0 2.5% 2.5%;
|
326 |
+
background: none;
|
327 |
+
border: 0;
|
328 |
+
vertical-align: top;
|
329 |
+
box-shadow: none;
|
330 |
+
box-sizing: border-box;
|
331 |
+
-moz-box-sizing: border-box;
|
332 |
+
-webkit-box-sizing: border-box;
|
333 |
+
}
|
334 |
+
|
335 |
+
.jr-insta-thumb ul.thumbnails.no-border li
|
336 |
+
{
|
337 |
+
margin: 0;
|
338 |
+
}
|
339 |
+
|
340 |
+
.jr-insta-thumb ul.thumbnails li img
|
341 |
+
{
|
342 |
+
max-width: 100% !important;
|
343 |
+
height: auto !important;
|
344 |
+
margin: 0 !important;
|
345 |
+
border: 0 !important;
|
346 |
+
vertical-align: top;
|
347 |
+
}
|
348 |
+
|
349 |
+
.jr-insta-thumb ul.thumbnails li a
|
350 |
+
{
|
351 |
+
margin: 0;
|
352 |
+
padding: 0;
|
353 |
+
border: 0;
|
354 |
+
font-size: 100%;
|
355 |
+
font: inherit;
|
356 |
+
vertical-align: baseline;
|
357 |
+
}
|
358 |
+
|
359 |
+
.jr-insta-thumb ul.thumbnails.jr_col_1 li
|
360 |
+
{
|
361 |
+
width: 97.5% !important;
|
362 |
+
}
|
363 |
+
|
364 |
+
/* this value + 2.5 should = 100% */
|
365 |
+
.jr-insta-thumb ul.thumbnails.jr_col_2 li
|
366 |
+
{
|
367 |
+
width: 47.5% !important;
|
368 |
+
}
|
369 |
+
|
370 |
+
/* this value + 2.5 should = 50% */
|
371 |
+
.jr-insta-thumb ul.thumbnails.jr_col_3 li
|
372 |
+
{
|
373 |
+
width: 30.83% !important;
|
374 |
+
}
|
375 |
+
|
376 |
+
/* this value + 2.5 should = 33% */
|
377 |
+
.jr-insta-thumb ul.thumbnails.jr_col_4 li
|
378 |
+
{
|
379 |
+
width: 22.5% !important;
|
380 |
+
}
|
381 |
+
|
382 |
+
/* this value + 2.5 should = 25% */
|
383 |
+
.jr-insta-thumb ul.thumbnails.jr_col_5 li
|
384 |
+
{
|
385 |
+
width: 17.5% !important;
|
386 |
+
}
|
387 |
+
|
388 |
+
/* this value + 2.5 should = 20% */
|
389 |
+
.jr-insta-thumb ul.thumbnails.jr_col_6 li
|
390 |
+
{
|
391 |
+
width: 14.17% !important;
|
392 |
+
}
|
393 |
+
|
394 |
+
/* this value + 2.5 should = 16.66% */
|
395 |
+
.jr-insta-thumb ul.thumbnails.jr_col_7 li
|
396 |
+
{
|
397 |
+
width: 11.78% !important;
|
398 |
+
}
|
399 |
+
|
400 |
+
/* this value + 2.5 should = 14.28% */
|
401 |
+
.jr-insta-thumb ul.thumbnails.jr_col_8 li
|
402 |
+
{
|
403 |
+
width: 10% !important;
|
404 |
+
}
|
405 |
+
|
406 |
+
/* this value + 2.5 should = 12.5% */
|
407 |
+
.jr-insta-thumb ul.thumbnails.jr_col_9 li
|
408 |
+
{
|
409 |
+
width: 8.61% !important;
|
410 |
+
}
|
411 |
+
|
412 |
+
/* this value + 2.5 should = 11.11% */
|
413 |
+
.jr-insta-thumb ul.thumbnails.jr_col_10 li
|
414 |
+
{
|
415 |
+
width: 7.5% !important;
|
416 |
+
}
|
417 |
+
|
418 |
+
/* this value + 2.5 should = 10% */
|
419 |
+
|
420 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_1 li
|
421 |
+
{
|
422 |
+
width: 100% !important;
|
423 |
+
}
|
424 |
+
|
425 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_2 li
|
426 |
+
{
|
427 |
+
width: 50% !important;
|
428 |
+
}
|
429 |
+
|
430 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_3 li
|
431 |
+
{
|
432 |
+
width: 33.33% !important;
|
433 |
+
}
|
434 |
+
|
435 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_4 li
|
436 |
+
{
|
437 |
+
width: 25% !important;
|
438 |
+
}
|
439 |
+
|
440 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_5 li
|
441 |
+
{
|
442 |
+
width: 20% !important;
|
443 |
+
}
|
444 |
+
|
445 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_6 li
|
446 |
+
{
|
447 |
+
width: 16.66% !important;
|
448 |
+
}
|
449 |
+
|
450 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_7 li
|
451 |
+
{
|
452 |
+
width: 14.28% !important;
|
453 |
+
}
|
454 |
+
|
455 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_8 li
|
456 |
+
{
|
457 |
+
width: 12.5% !important;
|
458 |
+
}
|
459 |
+
|
460 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_9 li
|
461 |
+
{
|
462 |
+
width: 11.11% !important;
|
463 |
+
}
|
464 |
+
|
465 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_10 li
|
466 |
+
{
|
467 |
+
width: 10% !important;
|
468 |
+
}
|
469 |
+
|
470 |
+
@media all and (max-width: 640px)
|
471 |
+
{
|
472 |
+
/* Make 3-6 cols into 2 col */
|
473 |
+
.jr-insta-thumb ul.thumbnails.jr_col_3 li,
|
474 |
+
.jr-insta-thumb ul.thumbnails.jr_col_4 li,
|
475 |
+
.jr-insta-thumb ul.thumbnails.jr_col_5 li,
|
476 |
+
.jr-insta-thumb ul.thumbnails.jr_col_6 li
|
477 |
+
{
|
478 |
+
width: 47.5% !important;;
|
479 |
+
}
|
480 |
+
|
481 |
+
/* Make 7-10 cols into 4 col */
|
482 |
+
.jr-insta-thumb ul.thumbnails.jr_col_7 li,
|
483 |
+
.jr-insta-thumb ul.thumbnails.jr_col_8 li,
|
484 |
+
.jr-insta-thumb ul.thumbnails.jr_col_9 li,
|
485 |
+
.jr-insta-thumb ul.thumbnails.jr_col_10 li
|
486 |
+
{
|
487 |
+
width: 22.5% !important;;
|
488 |
+
}
|
489 |
+
|
490 |
+
/* Make 3-6 cols into 2 col */
|
491 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_3 li,
|
492 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_4 li,
|
493 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_5 li,
|
494 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_6 li
|
495 |
+
{
|
496 |
+
width: 50% !important;;
|
497 |
+
}
|
498 |
+
|
499 |
+
/* Make 7-10 cols into 4 col */
|
500 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_7 li,
|
501 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_8 li,
|
502 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_9 li,
|
503 |
+
.jr-insta-thumb ul.thumbnails.no-border.jr_col_10 li
|
504 |
+
{
|
505 |
+
width: 25% !important;;
|
506 |
+
}
|
507 |
+
|
508 |
+
}
|
509 |
+
|
510 |
+
@media all and (max-width: 480px)
|
511 |
+
{
|
512 |
+
.jr-insta-thumb ul.thumbnails li
|
513 |
+
{
|
514 |
width: 100% !important; /* over-ride all li styles */
|
515 |
+
}
|
516 |
}
|
517 |
+
|
518 |
.graphdiv
|
519 |
{
|
520 |
+
-webkit-box-align: end;
|
521 |
+
align-items: flex-end;
|
522 |
+
bottom: 0;
|
523 |
+
display: flex;
|
524 |
+
-webkit-box-pack: start;
|
525 |
+
justify-content: flex-start;
|
526 |
+
left: 0;
|
527 |
+
pointer-events: none;
|
528 |
+
position: absolute;
|
529 |
+
right: 0;
|
530 |
+
top: 0;
|
531 |
}
|
532 |
|
533 |
+
.GraphImage
|
534 |
+
{
|
535 |
+
position: relative;
|
536 |
+
}
|
537 |
+
|
538 |
+
.GraphSidecar
|
539 |
+
{
|
540 |
+
position: relative;
|
541 |
+
}
|
542 |
+
|
543 |
+
.GraphVideo
|
544 |
+
{
|
545 |
+
position: relative;
|
546 |
+
}
|
547 |
|
548 |
.GraphImage:before
|
549 |
{
|
550 |
+
position: absolute;
|
551 |
+
content: '';
|
552 |
+
background-image: url('../in.png');
|
553 |
+
background-repeat: no-repeat;
|
554 |
+
background-position: -32px -32px;
|
555 |
+
background-color: transparent !important;
|
556 |
+
height: 32px;
|
557 |
+
width: 32px;
|
558 |
+
top: 5px;
|
559 |
+
right: 0;
|
560 |
+
z-index: 1;
|
561 |
+
opacity: 0.7;
|
562 |
}
|
563 |
+
|
564 |
.GraphSidecar:before
|
565 |
{
|
566 |
+
position: absolute;
|
567 |
+
content: '';
|
568 |
+
background-image: url('../in.png');
|
569 |
+
background-repeat: no-repeat;
|
570 |
+
background-position: 4px -4px;
|
571 |
+
height: 32px;
|
572 |
+
width: 32px;
|
573 |
+
top: 0px;
|
574 |
+
right: 0;
|
575 |
+
z-index: 1;
|
576 |
+
opacity: 0.7;
|
577 |
}
|
578 |
+
|
579 |
.GraphVideo:before
|
580 |
{
|
581 |
+
position: absolute;
|
582 |
+
content: '';
|
583 |
+
background-image: url('../in.png');
|
584 |
+
background-repeat: no-repeat;
|
585 |
+
background-position: 3px -42px;
|
586 |
+
height: 32px;
|
587 |
+
width: 32px;
|
588 |
+
top: 3px;
|
589 |
+
right: 0;
|
590 |
+
z-index: 1;
|
591 |
+
opacity: 0.7;
|
592 |
+
}
|
593 |
+
|
594 |
+
.jr-insta-thumb
|
595 |
+
{
|
596 |
+
padding: 0 !important;
|
597 |
}
|
assets/css/jr-insta.css
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* MODAL popup*/
|
2 |
+
.wis_accounts_modal
|
3 |
+
{
|
4 |
+
position: fixed;
|
5 |
+
top: 50%;
|
6 |
+
left: 50%;
|
7 |
+
transform: translate(-50%, -50%);
|
8 |
+
width: 400px;
|
9 |
+
max-width: 100%;
|
10 |
+
height: 400px;
|
11 |
+
max-height: 100%;
|
12 |
+
z-index: 1010;
|
13 |
+
display: block;
|
14 |
+
overflow-y: auto;
|
15 |
+
overflow-x: hidden;
|
16 |
+
background-color: white;
|
17 |
+
border: 1px solid #32323280;
|
18 |
+
border-radius: 10px;
|
19 |
+
-webkit-box-shadow: 1px 1px 3px 0px rgba(50, 50, 50, 0.5);
|
20 |
+
-moz-box-shadow: 1px 1px 3px 0px rgba(50, 50, 50, 0.5);
|
21 |
+
box-shadow: 1px 1px 3px 0px rgba(50, 50, 50, 0.5);
|
22 |
+
}
|
23 |
+
|
24 |
+
.wis_closed
|
25 |
+
{
|
26 |
+
display: none !important;
|
27 |
+
}
|
28 |
+
|
29 |
+
.wis_modal_content
|
30 |
+
{
|
31 |
+
position: initial;
|
32 |
+
top: 0;
|
33 |
+
left: 0;
|
34 |
+
width: auto;
|
35 |
+
height: auto;
|
36 |
+
padding: 15px 20px 15px 20px;
|
37 |
+
overflow-y: auto;
|
38 |
+
overflow-x: hidden;
|
39 |
+
}
|
40 |
+
|
41 |
+
.wis_modal_header
|
42 |
+
{
|
43 |
+
position: initial;
|
44 |
+
top: 0;
|
45 |
+
left: 0;
|
46 |
+
width: auto;
|
47 |
+
height: 20px;
|
48 |
+
padding: 15px 20px 15px 20px;
|
49 |
+
overflow: hidden;
|
50 |
+
text-align: left;
|
51 |
+
font-weight: bold;
|
52 |
+
font-size: 14px;
|
53 |
+
|
54 |
+
}
|
55 |
+
|
56 |
+
.wis_modal_overlay
|
57 |
+
{
|
58 |
+
z-index: 1000;
|
59 |
+
position: fixed;
|
60 |
+
top: 0;
|
61 |
+
left: 0;
|
62 |
+
width: 100%;
|
63 |
+
height: 100%;
|
64 |
+
background-color: rgba(0, 0, 0, 0.5);
|
65 |
+
}
|
66 |
+
|
67 |
+
.wis-overlay-spinner
|
68 |
+
{
|
69 |
+
background: url(../img/spinner.svg) no-repeat;
|
70 |
+
background-size: 100px 100px;
|
71 |
+
vertical-align: middle;
|
72 |
+
transform: translate(-50%, -50%);
|
73 |
+
left: 50%;
|
74 |
+
top: 50%;
|
75 |
+
width: 100px;
|
76 |
+
height: 100px;
|
77 |
+
position: fixed;
|
78 |
+
visibility: hidden;
|
79 |
+
z-index: 1001;
|
80 |
+
}
|
81 |
+
|
82 |
+
.is-active
|
83 |
+
{
|
84 |
+
visibility: visible !important;
|
85 |
+
}
|
86 |
+
|
87 |
+
.wis-row
|
88 |
+
{
|
89 |
+
width: 95%;
|
90 |
+
display: flex;
|
91 |
+
}
|
92 |
+
|
93 |
+
.wis-col-1
|
94 |
+
{
|
95 |
+
float: left;
|
96 |
+
width: 20%;
|
97 |
+
}
|
98 |
+
|
99 |
+
.wis-col-2
|
100 |
+
{
|
101 |
+
float: left;
|
102 |
+
width: 80%;
|
103 |
+
}
|
104 |
+
|
105 |
+
.wis-row-style
|
106 |
+
{
|
107 |
+
padding: 10px;
|
108 |
+
cursor: pointer;
|
109 |
+
}
|
110 |
+
|
111 |
+
.wis-row-style:hover
|
112 |
+
{
|
113 |
+
background-color: #dadada;
|
114 |
+
}
|
115 |
+
|
116 |
+
.wis-col1-style
|
117 |
+
{
|
118 |
+
text-align: center;
|
119 |
+
vertical-align: middle;
|
120 |
+
}
|
121 |
+
|
122 |
+
.wis-col1-style img
|
123 |
+
{
|
124 |
+
border: 1px solid #dadada;
|
125 |
+
border-radius: 10px;
|
126 |
+
vertical-align: middle;
|
127 |
+
}
|
128 |
+
|
129 |
+
.wis-col2-style
|
130 |
+
{
|
131 |
+
font-weight: bold;
|
132 |
+
font-size: 14px;
|
133 |
+
padding-left: 5px;
|
134 |
+
}
|
135 |
+
|
136 |
+
.wis-col2-style p
|
137 |
+
{
|
138 |
+
vertical-align: middle;
|
139 |
+
}
|
140 |
+
|
141 |
+
.wis-page-title
|
142 |
+
{
|
143 |
+
text-align: center;
|
144 |
+
margin: 20px 0;
|
145 |
+
height: 100px;
|
146 |
+
transform: translateY(35%);
|
147 |
+
}
|
148 |
+
|
149 |
+
.wis-page-title h1
|
150 |
+
{
|
151 |
+
vertical-align: middle;
|
152 |
+
color: white;
|
153 |
+
text-shadow: 1px 1px 1px #004769;
|
154 |
+
}
|
assets/css/wis-header.css
CHANGED
@@ -1,57 +1,67 @@
|
|
1 |
-
.wis-feed-header
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
|
|
6 |
}
|
7 |
|
8 |
-
.wis-header-info-username
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
12 |
}
|
13 |
|
14 |
-
.wis-header-info
|
15 |
-
|
16 |
-
|
|
|
17 |
}
|
18 |
|
19 |
-
.wis-header-neg
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
26 |
}
|
27 |
|
28 |
-
.wis-header-neg-icon
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
33 |
}
|
34 |
|
35 |
-
.wis-box
|
36 |
-
|
|
|
37 |
}
|
38 |
|
39 |
-
.wis-box div
|
40 |
-
|
41 |
-
|
42 |
-
|
|
|
43 |
}
|
44 |
|
45 |
-
.wis-round
|
46 |
-
|
|
|
47 |
}
|
48 |
|
49 |
-
.wis-feed-header:hover, .wis-feed-header:hover p
|
50 |
-
|
51 |
-
|
52 |
-
|
|
|
53 |
}
|
54 |
|
55 |
-
.wis-feed-header:hover .wis-header-neg
|
56 |
-
|
|
|
57 |
}
|
1 |
+
.wis-feed-header
|
2 |
+
{
|
3 |
+
height: 60px;
|
4 |
+
overflow: hidden;
|
5 |
+
display: inline-flex;
|
6 |
+
margin: 0px 0px !important;
|
7 |
}
|
8 |
|
9 |
+
.wis-header-info-username
|
10 |
+
{
|
11 |
+
margin-bottom: -4px !important;
|
12 |
+
margin-top: -4px !important;
|
13 |
+
vertical-align: middle;
|
14 |
}
|
15 |
|
16 |
+
.wis-header-info
|
17 |
+
{
|
18 |
+
margin-left: 10px;
|
19 |
+
font-size: 17px;
|
20 |
}
|
21 |
|
22 |
+
.wis-header-neg
|
23 |
+
{
|
24 |
+
opacity: 0;
|
25 |
+
position: absolute;
|
26 |
+
height: 50px;
|
27 |
+
width: 50px;
|
28 |
+
z-index: 999;
|
29 |
+
background-color: black
|
30 |
}
|
31 |
|
32 |
+
.wis-header-neg-icon
|
33 |
+
{
|
34 |
+
color: white;
|
35 |
+
margin-left: 12px;
|
36 |
+
margin-top: 11px;
|
37 |
+
font-size: 29px;
|
38 |
}
|
39 |
|
40 |
+
.wis-box
|
41 |
+
{
|
42 |
+
height: 50px;
|
43 |
}
|
44 |
|
45 |
+
.wis-box div
|
46 |
+
{
|
47 |
+
vertical-align: top;
|
48 |
+
margin-top: 0;
|
49 |
+
display: inline-block;
|
50 |
}
|
51 |
|
52 |
+
.wis-round
|
53 |
+
{
|
54 |
+
border-radius: 50px !important;
|
55 |
}
|
56 |
|
57 |
+
.wis-feed-header:hover, .wis-feed-header:hover p
|
58 |
+
{
|
59 |
+
cursor: pointer;
|
60 |
+
text-decoration: none;
|
61 |
+
color: #ed1e24;
|
62 |
}
|
63 |
|
64 |
+
.wis-feed-header:hover .wis-header-neg
|
65 |
+
{
|
66 |
+
opacity: 0.5;
|
67 |
}
|
assets/image.png
ADDED
Binary file
|
assets/img/icon.png
ADDED
Binary file
|
assets/img/spinner.svg
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
|
3 |
+
xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="128px" height="128px" viewBox="0 0 128 128"
|
4 |
+
xml:space="preserve"><g><circle cx="16" cy="64" r="16" fill="#000000" fill-opacity="1"/><circle cx="16" cy="64"
|
5 |
+
r="16"
|
6 |
+
fill="#555555"
|
7 |
+
fill-opacity="0.67"
|
8 |
+
transform="rotate(45,64,64)"/><circle
|
9 |
+
cx="16" cy="64" r="16" fill="#949494" fill-opacity="0.42" transform="rotate(90,64,64)"/><circle cx="16" cy="64"
|
10 |
+
r="16"
|
11 |
+
fill="#cccccc"
|
12 |
+
fill-opacity="0.2"
|
13 |
+
transform="rotate(135,64,64)"/><circle
|
14 |
+
cx="16" cy="64" r="16" fill="#e1e1e1" fill-opacity="0.12" transform="rotate(180,64,64)"/><circle cx="16" cy="64"
|
15 |
+
r="16"
|
16 |
+
fill="#e1e1e1"
|
17 |
+
fill-opacity="0.12"
|
18 |
+
transform="rotate(225,64,64)"/><circle
|
19 |
+
cx="16" cy="64" r="16" fill="#e1e1e1" fill-opacity="0.12" transform="rotate(270,64,64)"/><circle cx="16" cy="64"
|
20 |
+
r="16"
|
21 |
+
fill="#e1e1e1"
|
22 |
+
fill-opacity="0.12"
|
23 |
+
transform="rotate(315,64,64)"/><animateTransform
|
24 |
+
attributeName="transform" type="rotate"
|
25 |
+
values="0 64 64;315 64 64;270 64 64;225 64 64;180 64 64;135 64 64;90 64 64;45 64 64" calcMode="discrete"
|
26 |
+
dur="720ms" repeatCount="indefinite"></animateTransform></g></svg>
|
assets/js/jr-insta.js
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function ($) {
|
2 |
+
|
3 |
+
$(document).ready(function ($) {
|
4 |
+
|
5 |
+
}); // Document Ready
|
6 |
+
|
7 |
+
})(jQuery);
|
html_templates/facebook_slider_template.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/** @var array $posts data */
|
3 |
+
/** @var array $template template */
|
4 |
+
/** @var string $images_link link */
|
5 |
+
/** @var string $account account */
|
6 |
+
/** @var string $orderby order */
|
7 |
+
|
8 |
+
$account = isset( $args['account'] ) ? $args['account'] : array();
|
9 |
+
$template = isset( $args['template'] ) ? $args['template'] : '';
|
10 |
+
$images_link = isset( $args['images_link'] ) ? $args['images_link'] : '';
|
11 |
+
$posts = isset( $args['posts'] ) ? $args['posts'] : array();
|
12 |
+
|
13 |
+
foreach ( $posts as $post ) {
|
14 |
+
echo "<img src='{$post['full_picture']}' alt=''><br>";
|
15 |
+
}
|
html_templates/feed_header_template.php
CHANGED
@@ -6,15 +6,15 @@
|
|
6 |
/** @var int $followers count of account followers */
|
7 |
/** @var string $profile_url ULR of account */
|
8 |
|
9 |
-
$username = isset($args['username']) ?
|
10 |
-
$profile_pic_url =
|
11 |
-
$posts_count =
|
12 |
-
$followers =
|
13 |
$profile_url = "https://www.instagram.com/$username/";
|
14 |
?>
|
15 |
|
16 |
<div class="wis-feed-header">
|
17 |
-
<a href="<?php echo esc_url($profile_url)?>" target="_blank" style="text-decoration: none;border: 0 !important;">
|
18 |
<div class="wis-box">
|
19 |
<div class="wis-header-img">
|
20 |
<div class="wis-round wis-header-neg">
|
@@ -24,7 +24,7 @@ $profile_url = "https://www.instagram.com/$username/";
|
|
24 |
width="50" height="50">
|
25 |
</div>
|
26 |
<div class="wis-header-info">
|
27 |
-
<p class="wis-header-info-username"><?php echo esc_html( $username )?></p>
|
28 |
<p style="margin-top: 0; font-size: 11px">
|
29 |
<span class="fa fa-image"> <?php echo esc_html( $posts_count ) ?></span>
|
30 |
<span class="fa fa-user"> <?php echo esc_html( $followers ) ?></span>
|
6 |
/** @var int $followers count of account followers */
|
7 |
/** @var string $profile_url ULR of account */
|
8 |
|
9 |
+
$username = isset( $args['username'] ) ? $args['username'] : '';
|
10 |
+
$profile_pic_url = $args['profile_picture_url'];
|
11 |
+
$posts_count = $args['media_count'];
|
12 |
+
$followers = $args['followers_count'];
|
13 |
$profile_url = "https://www.instagram.com/$username/";
|
14 |
?>
|
15 |
|
16 |
<div class="wis-feed-header">
|
17 |
+
<a href="<?php echo esc_url( $profile_url ) ?>" target="_blank" style="text-decoration: none;border: 0 !important;">
|
18 |
<div class="wis-box">
|
19 |
<div class="wis-header-img">
|
20 |
<div class="wis-round wis-header-neg">
|
24 |
width="50" height="50">
|
25 |
</div>
|
26 |
<div class="wis-header-info">
|
27 |
+
<p class="wis-header-info-username"><?php echo esc_html( $username ) ?></p>
|
28 |
<p style="margin-top: 0; font-size: 11px">
|
29 |
<span class="fa fa-image"> <?php echo esc_html( $posts_count ) ?></span>
|
30 |
<span class="fa fa-user"> <?php echo esc_html( $followers ) ?></span>
|
includes/class-wis-plugin.php
CHANGED
@@ -12,12 +12,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
* @copyright (c) 2019 Webraftic Ltd
|
13 |
* @version 1.0
|
14 |
*/
|
15 |
-
|
16 |
-
class WIS_Plugin extends Wbcr_Factory422_Plugin {
|
17 |
|
18 |
/**
|
19 |
* @see self::app()
|
20 |
-
* @var
|
21 |
*/
|
22 |
private static $app;
|
23 |
|
@@ -35,12 +34,23 @@ class WIS_Plugin extends Wbcr_Factory422_Plugin {
|
|
35 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
36 |
* классам.
|
37 |
*
|
38 |
-
* @return
|
39 |
*/
|
40 |
public static function app() {
|
41 |
return self::$app;
|
42 |
}
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
/**
|
45 |
* Конструктор
|
46 |
*
|
@@ -48,7 +58,7 @@ class WIS_Plugin extends Wbcr_Factory422_Plugin {
|
|
48 |
* Подробнее о свойстве $app см. self::app()
|
49 |
*
|
50 |
* @param string $plugin_path
|
51 |
-
* @param array
|
52 |
*
|
53 |
* @throws Exception
|
54 |
*/
|
@@ -66,9 +76,7 @@ class WIS_Plugin extends Wbcr_Factory422_Plugin {
|
|
66 |
|
67 |
//Подключение файла проверки лицензии
|
68 |
require( WIS_PLUGIN_DIR . '/admin/ajax/check-license.php' );
|
69 |
-
}
|
70 |
-
else
|
71 |
-
{
|
72 |
$this->front_scripts();
|
73 |
}
|
74 |
|
@@ -87,21 +95,34 @@ class WIS_Plugin extends Wbcr_Factory422_Plugin {
|
|
87 |
*/
|
88 |
private function register_pages() {
|
89 |
require_once WIS_PLUGIN_DIR . '/admin/class-wis-page.php';
|
|
|
|
|
|
|
90 |
self::app()->registerPage( 'WIS_WidgetsPage', WIS_PLUGIN_DIR . '/admin/pages/widgets.php' );
|
91 |
self::app()->registerPage( 'WIS_SettingsPage', WIS_PLUGIN_DIR . '/admin/pages/settings.php' );
|
92 |
-
self::app()->registerPage( 'WIS_LicensePage', WIS_PLUGIN_DIR . '/admin/pages/license.php' );
|
93 |
self::app()->registerPage( 'WIS_AboutPage', WIS_PLUGIN_DIR . '/admin/pages/about.php' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
}
|
95 |
|
96 |
/**
|
97 |
* Код для админки
|
98 |
*/
|
99 |
-
private function admin_scripts()
|
100 |
-
{
|
101 |
// Регистрация страниц
|
102 |
$this->register_pages();
|
103 |
|
104 |
-
add_action( 'admin_enqueue_scripts', [$this, 'admin_enqueue_assets'] );
|
|
|
|
|
105 |
}
|
106 |
|
107 |
/**
|
@@ -115,24 +136,27 @@ class WIS_Plugin extends Wbcr_Factory422_Plugin {
|
|
115 |
* Код для фронтенда
|
116 |
*/
|
117 |
private function front_scripts() {
|
118 |
-
add_action( 'wp_enqueue_scripts', [$this, 'enqueue_assets'] );
|
119 |
}
|
120 |
|
121 |
-
public function admin_enqueue_assets()
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
'
|
127 |
-
|
128 |
-
));
|
129 |
-
wp_enqueue_script( 'jr-tinymce-button', WIS_PLUGIN_URL.'/admin/assets/js/tinymce_button.js', array( 'jquery' ), WIS_PLUGIN_VERSION, false );
|
130 |
$wis_shortcodes = $this->get_isw_widgets();
|
131 |
-
wp_localize_script('jr-
|
|
|
|
|
|
|
|
|
132 |
}
|
133 |
|
134 |
-
public function enqueue_assets()
|
135 |
-
|
136 |
}
|
137 |
|
138 |
/**
|
@@ -140,16 +164,13 @@ class WIS_Plugin extends Wbcr_Factory422_Plugin {
|
|
140 |
*
|
141 |
* @return bool
|
142 |
*/
|
143 |
-
public function is_premium()
|
144 |
-
|
145 |
-
|
146 |
-
$this->premium->is_active() &&
|
147 |
-
$this->premium->is_activate()
|
148 |
-
//&& is_plugin_active( "{$this->premium->get_setting('slug')}/{$this->premium->get_setting('slug')}.php" )
|
149 |
-
)
|
150 |
return true;
|
151 |
-
else
|
152 |
return false;
|
|
|
153 |
}
|
154 |
|
155 |
/**
|
@@ -157,18 +178,67 @@ class WIS_Plugin extends Wbcr_Factory422_Plugin {
|
|
157 |
*
|
158 |
* @return array
|
159 |
*/
|
160 |
-
public function get_isw_widgets()
|
161 |
-
{
|
162 |
$settings = WIS_InstagramSlider::app()->get_settings();
|
163 |
-
$result
|
164 |
-
foreach ($settings as $key => $widget)
|
165 |
-
{
|
166 |
$result[] = array(
|
167 |
'title' => $widget['title'],
|
168 |
-
'id'
|
169 |
);
|
170 |
}
|
|
|
171 |
return $result;
|
172 |
}
|
173 |
|
174 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
* @copyright (c) 2019 Webraftic Ltd
|
13 |
* @version 1.0
|
14 |
*/
|
15 |
+
class WIS_Plugin extends Wbcr_Factory436_Plugin {
|
|
|
16 |
|
17 |
/**
|
18 |
* @see self::app()
|
19 |
+
* @var Wbcr_Factory436_Plugin
|
20 |
*/
|
21 |
private static $app;
|
22 |
|
34 |
* Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
|
35 |
* классам.
|
36 |
*
|
37 |
+
* @return Wbcr_Factory436_Plugin
|
38 |
*/
|
39 |
public static function app() {
|
40 |
return self::$app;
|
41 |
}
|
42 |
|
43 |
+
/**
|
44 |
+
* Статический метод для быстрого доступа к классу соцсети.
|
45 |
+
*
|
46 |
+
* @param string $class
|
47 |
+
*
|
48 |
+
* @return $class
|
49 |
+
*/
|
50 |
+
public static function social( $class ) {
|
51 |
+
return new $class;
|
52 |
+
}
|
53 |
+
|
54 |
/**
|
55 |
* Конструктор
|
56 |
*
|
58 |
* Подробнее о свойстве $app см. self::app()
|
59 |
*
|
60 |
* @param string $plugin_path
|
61 |
+
* @param array $data
|
62 |
*
|
63 |
* @throws Exception
|
64 |
*/
|
76 |
|
77 |
//Подключение файла проверки лицензии
|
78 |
require( WIS_PLUGIN_DIR . '/admin/ajax/check-license.php' );
|
79 |
+
} else {
|
|
|
|
|
80 |
$this->front_scripts();
|
81 |
}
|
82 |
|
95 |
*/
|
96 |
private function register_pages() {
|
97 |
require_once WIS_PLUGIN_DIR . '/admin/class-wis-page.php';
|
98 |
+
|
99 |
+
//$fb = new WIS_Facebook();
|
100 |
+
|
101 |
self::app()->registerPage( 'WIS_WidgetsPage', WIS_PLUGIN_DIR . '/admin/pages/widgets.php' );
|
102 |
self::app()->registerPage( 'WIS_SettingsPage', WIS_PLUGIN_DIR . '/admin/pages/settings.php' );
|
|
|
103 |
self::app()->registerPage( 'WIS_AboutPage', WIS_PLUGIN_DIR . '/admin/pages/about.php' );
|
104 |
+
self::app()->registerPage( 'WIS_LicensePage', WIS_PLUGIN_DIR . '/admin/pages/license.php' );
|
105 |
+
self::app()->registerPage( 'WIS_ComponentsPage', WIS_PLUGIN_DIR . '/admin/pages/components.php' );
|
106 |
+
|
107 |
+
add_action('plugins_loaded', function (){
|
108 |
+
if( defined('SPFD_PLUGIN_DIR')){
|
109 |
+
self::app()->registerPage( 'WBCR\Shopifeed\Page\ShopifeedLicensePage', SPFD_PLUGIN_DIR . '/admin/pages/LicensePage.php' );
|
110 |
+
}
|
111 |
+
self::app()->registerPage( 'Licenses', WIS_PLUGIN_DIR . '/admin/pages/Licenses.php' );
|
112 |
+
|
113 |
+
}, 2);
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
* Код для админки
|
118 |
*/
|
119 |
+
private function admin_scripts() {
|
|
|
120 |
// Регистрация страниц
|
121 |
$this->register_pages();
|
122 |
|
123 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'admin_enqueue_assets' ] );
|
124 |
+
add_action( 'admin_notices', [ $this, 'new_api_admin_notice' ] );
|
125 |
+
add_action( 'admin_notices', [ $this, 'check_token_admin_notice' ] );
|
126 |
}
|
127 |
|
128 |
/**
|
136 |
* Код для фронтенда
|
137 |
*/
|
138 |
private function front_scripts() {
|
139 |
+
add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_assets' ] );
|
140 |
}
|
141 |
|
142 |
+
public function admin_enqueue_assets( $hook_suffix ) {
|
143 |
+
wp_enqueue_style( 'jr-insta-admin-styles', WIS_PLUGIN_URL . '/admin/assets/css/jr-insta-admin.css', array(), WIS_PLUGIN_VERSION );
|
144 |
+
wp_enqueue_script( 'jr-insta-admin-script', WIS_PLUGIN_URL . '/admin/assets/js/jr-insta-admin.js', array( 'jquery' ), WIS_PLUGIN_VERSION, true );
|
145 |
+
wp_localize_script( 'jr-insta-admin-script', 'wis', array(
|
146 |
+
'nonce' => wp_create_nonce( 'wis_nonce' ),
|
147 |
+
'remove_account' => __( 'Are you sure want to delete this account?', 'instagram-slider-widget' ),
|
148 |
+
) );
|
149 |
+
wp_enqueue_script( 'jr-tinymce-button', WIS_PLUGIN_URL . '/admin/assets/js/tinymce_button.js', array( 'jquery' ), WIS_PLUGIN_VERSION, false );
|
|
|
150 |
$wis_shortcodes = $this->get_isw_widgets();
|
151 |
+
wp_localize_script( 'jr-tinymce-button', 'wis_shortcodes', $wis_shortcodes );
|
152 |
+
wp_localize_script( 'jr-insta-admin-script', 'add_account_nonce', array(
|
153 |
+
'nonce' => wp_create_nonce( "addAccountByToken" ),
|
154 |
+
) );
|
155 |
+
|
156 |
}
|
157 |
|
158 |
+
public function enqueue_assets() {
|
159 |
+
wp_enqueue_style( 'jr-insta-styles', WIS_PLUGIN_URL . '/assets/css/jr-insta.css', array(), WIS_PLUGIN_VERSION );
|
160 |
}
|
161 |
|
162 |
/**
|
164 |
*
|
165 |
* @return bool
|
166 |
*/
|
167 |
+
public function is_premium() {
|
168 |
+
if ( $this->premium->is_active() && $this->premium->is_activate() //&& is_plugin_active( "{$this->premium->get_setting('slug')}/{$this->premium->get_setting('slug')}.php" )
|
169 |
+
) {
|
|
|
|
|
|
|
|
|
170 |
return true;
|
171 |
+
} else {
|
172 |
return false;
|
173 |
+
}
|
174 |
}
|
175 |
|
176 |
/**
|
178 |
*
|
179 |
* @return array
|
180 |
*/
|
181 |
+
public function get_isw_widgets() {
|
|
|
182 |
$settings = WIS_InstagramSlider::app()->get_settings();
|
183 |
+
$result = array();
|
184 |
+
foreach ( $settings as $key => $widget ) {
|
|
|
185 |
$result[] = array(
|
186 |
'title' => $widget['title'],
|
187 |
+
'id' => $key,
|
188 |
);
|
189 |
}
|
190 |
+
|
191 |
return $result;
|
192 |
}
|
193 |
|
194 |
+
/**
|
195 |
+
* Выводит нотис о том, что изменилось в новой версии
|
196 |
+
*
|
197 |
+
*/
|
198 |
+
public function new_api_admin_notice() {
|
199 |
+
$text = "";
|
200 |
+
$accounts = $this->getOption( 'account_profiles', array() );
|
201 |
+
if ( count( $accounts ) ) {
|
202 |
+
foreach ( $accounts as $account ) {
|
203 |
+
if ( strlen( $account['token'] ) < 55 ) {
|
204 |
+
$text .= "<p><b>@" . $account['username'] . "</b></p>";
|
205 |
+
}
|
206 |
+
}
|
207 |
+
}
|
208 |
+
if ( ! empty( $text ) ) {
|
209 |
+
?>
|
210 |
+
<div class="notice notice-info is-dismissible">
|
211 |
+
<p>
|
212 |
+
<b>Social Slider Widget:</b><br>
|
213 |
+
The plugin has moved to the new Instagram Basic Display API.<br>
|
214 |
+
To make your widgets work again, reconnect your instagram accounts in the plugin settings.
|
215 |
+
<a href="https://cm-wp.com/important-update-social-slider-widget/" class="">Read more about the
|
216 |
+
changes</a>
|
217 |
+
</p>
|
218 |
+
</div>
|
219 |
+
<?php
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Выводит нотис о том, что нужно обновить токены
|
225 |
+
*
|
226 |
+
*/
|
227 |
+
public function check_token_admin_notice() {
|
228 |
+
$text = "";
|
229 |
+
$accounts = $this->getOption( 'account_profiles', array() );
|
230 |
+
if ( count( $accounts ) ) {
|
231 |
+
foreach ( $accounts as $account ) {
|
232 |
+
if ( strlen( $account['token'] ) < 55 ) {
|
233 |
+
$text .= "<p><b>@" . $account['username'] . "</b></p>";
|
234 |
+
}
|
235 |
+
}
|
236 |
+
}
|
237 |
+
if ( ! empty( $text ) ) {
|
238 |
+
echo '<div class="notice notice-warning">
|
239 |
+
<p><b>Social Slider Widget:</b><br>You need to reconnect this accounts in the <a href="' . admin_url( "admin.php?page=settings-wisw&tab=instagram" ) . '">plugin settings</a>' . $text . '</p>
|
240 |
+
</div>';
|
241 |
+
}
|
242 |
+
}
|
243 |
+
|
244 |
+
}
|
includes/class-wis_facebook_slider.php
ADDED
@@ -0,0 +1,488 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once WIS_PLUGIN_DIR . '/includes/socials/class.wis_facebook.php';
|
4 |
+
|
5 |
+
/**
|
6 |
+
* WIS_FacebookSlider Class
|
7 |
+
*/
|
8 |
+
class WIS_FacebookSlider extends WP_Widget {
|
9 |
+
|
10 |
+
private static $app;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* @var WIS_Plugin
|
14 |
+
*/
|
15 |
+
public $WIS;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @var WIS_Facebook
|
19 |
+
*/
|
20 |
+
public $FACEBOOK;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @var array
|
24 |
+
*/
|
25 |
+
public $sliders;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @var array
|
29 |
+
*/
|
30 |
+
public $options_linkto;
|
31 |
+
|
32 |
+
public static function app() {
|
33 |
+
return self::$app;
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Initialize the plugin by registering widget and loading public scripts
|
38 |
+
*
|
39 |
+
*/
|
40 |
+
public function __construct() {
|
41 |
+
self::$app = $this;
|
42 |
+
|
43 |
+
// Widget ID and Class Setup
|
44 |
+
parent::__construct( 'wis_facebook_slider', __( 'Social Slider - Facebook', 'instagram-slider-widget' ), array(
|
45 |
+
'classname' => 'jr-insta-slider',
|
46 |
+
'description' => __( 'A widget that displays a slider with Facebook posts ', 'instagram-slider-widget' )
|
47 |
+
) );
|
48 |
+
|
49 |
+
$this->WIS = WIS_Plugin::app();
|
50 |
+
$this->FACEBOOK = WIS_Plugin::social( 'WIS_Facebook' );
|
51 |
+
|
52 |
+
$this->sliders = array(
|
53 |
+
"slider" => 'Slider - Normal',
|
54 |
+
);
|
55 |
+
$this->options_linkto = array(
|
56 |
+
"image_link" => 'Facebook post',
|
57 |
+
"image_url" => 'Facebook page',
|
58 |
+
"none" => 'None'
|
59 |
+
);
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Фильтр для добавления слайдеров
|
63 |
+
*/
|
64 |
+
$this->sliders = apply_filters( 'wis/facebook/sliders', $this->sliders );
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Фильтр для добавления popup
|
68 |
+
*/
|
69 |
+
$this->options_linkto = apply_filters( 'wis/options/link_to', $this->options_linkto );
|
70 |
+
|
71 |
+
// Shortcode
|
72 |
+
add_shortcode( 'jr_facebook', array( $this, 'shortcode' ) );
|
73 |
+
|
74 |
+
// Instgram Action to display images
|
75 |
+
add_action( 'jr_facebook', array( $this, 'facebook_images' ) );
|
76 |
+
|
77 |
+
// Enqueue Plugin Styles and scripts
|
78 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'public_enqueue' ) );
|
79 |
+
|
80 |
+
// Enqueue Plugin Styles and scripts for admin pages
|
81 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue' ) );
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Register widget on widgets init
|
86 |
+
*/
|
87 |
+
public static function register_widget() {
|
88 |
+
register_widget( __CLASS__ );
|
89 |
+
register_sidebar( array(
|
90 |
+
'name' => __( 'Social Slider - Shortcode Generator', 'instagram-slider-widget' ),
|
91 |
+
'id' => 'jr-insta-shortcodes',
|
92 |
+
'description' => __( "1. Drag Social Slider Widget here. 2. Fill in the fields and hit save. 3. Copy the shortocde generated at the bottom of the widget form and use it on posts or pages.", 'instagram-slider-widget' )
|
93 |
+
) );
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Enqueue public-facing Scripts and style sheet.
|
98 |
+
*/
|
99 |
+
public function public_enqueue() {
|
100 |
+
|
101 |
+
wp_enqueue_style( WIS_Plugin::app()->getPrefix() . 'font-awesome', 'https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' );
|
102 |
+
|
103 |
+
wp_enqueue_style( WIS_Plugin::app()->getPrefix() . 'fb-slider', WIS_PLUGIN_URL . '/assets/css/instag-slider.css', array(), WIS_Plugin::app()->getPluginVersion() );
|
104 |
+
wp_enqueue_style( WIS_Plugin::app()->getPrefix() . 'fb-header', WIS_PLUGIN_URL . '/assets/css/wis-header.css', array(), WIS_Plugin::app()->getPluginVersion() );
|
105 |
+
|
106 |
+
wp_enqueue_script( WIS_Plugin::app()->getPrefix() . 'jquery-pllexi-slider', WIS_PLUGIN_URL . '/assets/js/jquery.flexslider-min.js', array( 'jquery' ), WIS_Plugin::app()->getPluginVersion(), false );
|
107 |
+
//wp_enqueue_script( WIS_Plugin::app()->getPrefix() . 'jr-fb', WIS_PLUGIN_URL.'/assets/js/jr-insta.js', array( ), WIS_Plugin::app()->getPluginVersion(), false );
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Enqueue admin side scripts and styles
|
112 |
+
*
|
113 |
+
* @param string $hook
|
114 |
+
*/
|
115 |
+
public function admin_enqueue( $hook ) {
|
116 |
+
|
117 |
+
if ( 'widgets.php' != $hook ) {
|
118 |
+
return;
|
119 |
+
}
|
120 |
+
wp_enqueue_style( WIS_Plugin::app()->getPrefix() . 'fb-admin-styles', WIS_PLUGIN_DIR . '/admin/assets/css/jr-insta-admin.css', array(), WIS_Plugin::app()->getPluginVersion() );
|
121 |
+
wp_enqueue_script( WIS_Plugin::app()->getPrefix() . 'fb-admin-script', WIS_PLUGIN_DIR . '/admin/assets/js/jr-insta-admin.js', array( 'jquery' ), WIS_Plugin::app()->getPluginVersion(), true );
|
122 |
+
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* The Public view of the Widget
|
127 |
+
*
|
128 |
+
*/
|
129 |
+
public function widget( $args, $instance ) {
|
130 |
+
|
131 |
+
//Our variables from the widget settings.
|
132 |
+
$title = apply_filters( 'widget_title', $instance['title'] );
|
133 |
+
|
134 |
+
echo $args['before_widget'];
|
135 |
+
|
136 |
+
// Display the widget title
|
137 |
+
if ( $title ) {
|
138 |
+
echo $args['before_title'] . $title . $args['after_title'];
|
139 |
+
}
|
140 |
+
|
141 |
+
do_action( 'jr_instagram', $instance );
|
142 |
+
|
143 |
+
echo $args['after_widget'];
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Update the widget settings
|
148 |
+
*
|
149 |
+
* @param array $new_instance New instance values
|
150 |
+
* @param array $instance Old instance values
|
151 |
+
*
|
152 |
+
* @return array
|
153 |
+
*/
|
154 |
+
public function update( $new_instance, $instance ) {
|
155 |
+
|
156 |
+
$instance['title'] = strip_tags( isset( $new_instance['title'] ) ? $new_instance['title'] : null );
|
157 |
+
$instance['account'] = isset( $new_instance['account'] ) ? $new_instance['account'] : null;
|
158 |
+
$instance['images_number'] = isset( $new_instance['images_number'] ) ? $new_instance['images_number'] : 20;
|
159 |
+
$instance['refresh_hour'] = isset( $new_instance['refresh_hour'] ) ? $new_instance['refresh_hour'] : 5;
|
160 |
+
$instance['template'] = isset( $new_instance['template'] ) ? $new_instance['template'] : 'slider';
|
161 |
+
$instance['images_link'] = isset( $new_instance['images_link'] ) ? $new_instance['images_link'] : 'image_link';
|
162 |
+
$instance['orderby'] = isset( $new_instance['orderby'] ) ? $new_instance['orderby'] : 'rand';
|
163 |
+
|
164 |
+
return $instance;
|
165 |
+
}
|
166 |
+
|
167 |
+
|
168 |
+
/**
|
169 |
+
* Widget Settings Form
|
170 |
+
*
|
171 |
+
*/
|
172 |
+
public function form( $instance ) {
|
173 |
+
|
174 |
+
$accounts = WIS_Plugin::app()->getOption( WIS_FACEBOOK_ACCOUNT_PROFILES_OPTION_NAME, array() );
|
175 |
+
$sliders = $this->sliders;
|
176 |
+
$options_linkto = $this->options_linkto;
|
177 |
+
|
178 |
+
$defaults = array(
|
179 |
+
'title' => __( 'Facebook feed', 'instagram-slider-widget' ),
|
180 |
+
'account' => '',
|
181 |
+
'images_number' => 20,
|
182 |
+
'refresh_hour' => 5,
|
183 |
+
'template' => 'slider',
|
184 |
+
'images_link' => 'image_link',
|
185 |
+
'orderby' => 'date-DESC',
|
186 |
+
);
|
187 |
+
|
188 |
+
$instance = wp_parse_args( (array) $instance, $defaults );
|
189 |
+
|
190 |
+
?>
|
191 |
+
<div class="jr-container">
|
192 |
+
<p>
|
193 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><strong><?php _e( 'Title:', 'instagram-slider-widget' ); ?></strong></label>
|
194 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
195 |
+
name="<?php echo $this->get_field_name( 'title' ); ?>"
|
196 |
+
value="<?php echo $instance['title']; ?>"/>
|
197 |
+
</p>
|
198 |
+
<p>
|
199 |
+
<label for="<?php echo $this->get_field_id( 'account' ); ?>"><strong><?php _e( 'Search Facebook for:', 'instagram-slider-widget' ); ?></strong></label>
|
200 |
+
<span class="jr-search-for-container">
|
201 |
+
<?php
|
202 |
+
if ( count( $accounts ) ) {
|
203 |
+
?>
|
204 |
+
|
205 |
+
<select id="<?php echo $this->get_field_id( 'account' ); ?>" class="widefat"
|
206 |
+
name="<?php echo $this->get_field_name( 'account' ); ?>"><?php
|
207 |
+
foreach ( $accounts as $acc ) {
|
208 |
+
$selected = $instance['account'] == $acc['username'] ? "selected='selected'" : "";
|
209 |
+
echo "<option value='{$acc['username']}' {$selected}>{$acc['username']}</option>";
|
210 |
+
}
|
211 |
+
?>
|
212 |
+
</select><?php
|
213 |
+
} else {
|
214 |
+
echo "<a href='" . admin_url( 'admin.php?page=settings-wisw&tab=facebook' ) . "'>" . __( 'Add account in settings', 'instagram-slider-widget' ) . "</a>";
|
215 |
+
}
|
216 |
+
?>
|
217 |
+
</span>
|
218 |
+
</p>
|
219 |
+
<p id="img_to_show">
|
220 |
+
<label for="<?php echo $this->get_field_id( 'images_number' ); ?>"><strong><?php _e( 'Count of images to show:', 'instagram-slider-widget' ); ?></strong>
|
221 |
+
<input class="small-text" type="number" min="1" max=""
|
222 |
+
id="<?php echo $this->get_field_id( 'images_number' ); ?>"
|
223 |
+
name="<?php echo $this->get_field_name( 'images_number' ); ?>"
|
224 |
+
value="<?php echo $instance['images_number']; ?>"/>
|
225 |
+
<span class="jr-description">
|
226 |
+
<?php if ( ! $this->WIS->is_premium() ) {
|
227 |
+
_e( 'Maximum 20 images in free version.', 'instagram-slider-widget' );
|
228 |
+
echo " " . sprintf( __( "More in <a href='%s'>PRO version</a>", 'instagram-slider-widget' ), $this->WIS->get_support()->get_pricing_url( true, "wis_widget_settings" ) );
|
229 |
+
}
|
230 |
+
?>
|
231 |
+
</span>
|
232 |
+
</label>
|
233 |
+
</p>
|
234 |
+
<p>
|
235 |
+
<label for="<?php echo $this->get_field_id( 'refresh_hour' ); ?>"><strong><?php _e( 'Check for new images every:', 'instagram-slider-widget' ); ?></strong>
|
236 |
+
<input class="small-text" type="number" min="1" max="200"
|
237 |
+
id="<?php echo $this->get_field_id( 'refresh_hour' ); ?>"
|
238 |
+
name="<?php echo $this->get_field_name( 'refresh_hour' ); ?>"
|
239 |
+
value="<?php echo $instance['refresh_hour']; ?>"/>
|
240 |
+
<span><?php _e( 'hours', 'instagram-slider-widget' ); ?></span>
|
241 |
+
</label>
|
242 |
+
</p>
|
243 |
+
<p>
|
244 |
+
<label for="<?php echo $this->get_field_id( 'template' ); ?>"><strong><?php _e( 'Template', 'instagram-slider-widget' ); ?></strong>
|
245 |
+
<select class="widefat" name="<?php echo $this->get_field_name( 'template' ); ?>"
|
246 |
+
id="<?php echo $this->get_field_id( 'template' ); ?>">
|
247 |
+
<?php
|
248 |
+
if ( count( $sliders ) ) {
|
249 |
+
foreach ( $sliders as $key => $slider ) {
|
250 |
+
$selected = ( $instance['template'] == $key ) ? "selected='selected'" : '';
|
251 |
+
echo "<option value='{$key}' {$selected}>{$slider}</option>\n";
|
252 |
+
}
|
253 |
+
}
|
254 |
+
/*if(!$this->WIS->is_premium())
|
255 |
+
{
|
256 |
+
?>
|
257 |
+
<optgroup label="Available in PRO">
|
258 |
+
<option value='1' disabled="disabled">Slick</option>
|
259 |
+
<option value='2' disabled="disabled">Masonry</option>
|
260 |
+
<option value='3' disabled="disabled">Highlight</option>
|
261 |
+
</optgroup>
|
262 |
+
<?php
|
263 |
+
}*/ ?>
|
264 |
+
</select>
|
265 |
+
</label>
|
266 |
+
</p>
|
267 |
+
<p>
|
268 |
+
<label for="<?php echo $this->get_field_id( 'orderby' ); ?>"><strong><?php _e( 'Order by', 'instagram-slider-widget' ); ?></strong>
|
269 |
+
<select class="widefat" name="<?php echo $this->get_field_name( 'orderby' ); ?>"
|
270 |
+
id="<?php echo $this->get_field_id( 'orderby' ); ?>">
|
271 |
+
<option value="date-ASC" <?php selected( $instance['orderby'], 'date-ASC', true ); ?>><?php _e( 'Date - Ascending', 'instagram-slider-widget' ); ?></option>
|
272 |
+
<option value="date-DESC" <?php selected( $instance['orderby'], 'date-DESC', true ); ?>><?php _e( 'Date - Descending', 'instagram-slider-widget' ); ?></option>
|
273 |
+
<option value="popular-ASC" <?php selected( $instance['orderby'], 'popular-ASC', true ); ?>><?php _e( 'Popularity - Ascending', 'instagram-slider-widget' ); ?></option>
|
274 |
+
<option value="popular-DESC" <?php selected( $instance['orderby'], 'popular-DESC', true ); ?>><?php _e( 'Popularity - Descending', 'instagram-slider-widget' ); ?></option>
|
275 |
+
<option value="rand" <?php selected( $instance['orderby'], 'rand', true ); ?>><?php _e( 'Random', 'instagram-slider-widget' ); ?></option>
|
276 |
+
</select>
|
277 |
+
</label>
|
278 |
+
</p>
|
279 |
+
<p>
|
280 |
+
<label for="<?php echo $this->get_field_id( 'images_link' ); ?>"><strong><?php _e( 'Link to', 'instagram-slider-widget' ); ?></strong>
|
281 |
+
<select class="widefat" name="<?php echo $this->get_field_name( 'images_link' ); ?>"
|
282 |
+
id="<?php echo $this->get_field_id( 'images_link' ); ?>">
|
283 |
+
<?php
|
284 |
+
if ( count( $options_linkto ) ) {
|
285 |
+
foreach ( $options_linkto as $key => $option ) {
|
286 |
+
$selected = selected( $instance['images_link'], $key, false );
|
287 |
+
echo "<option value='{$key}' {$selected}>{$option}</option>\n";
|
288 |
+
}
|
289 |
+
}
|
290 |
+
if ( ! $this->WIS->is_premium() ) {
|
291 |
+
?>
|
292 |
+
<optgroup label="Available in PRO">
|
293 |
+
<option value='1' disabled="disabled">Pop Up</option>
|
294 |
+
</optgroup>
|
295 |
+
<?php
|
296 |
+
}
|
297 |
+
?>
|
298 |
+
</select>
|
299 |
+
</label>
|
300 |
+
</p>
|
301 |
+
<p>
|
302 |
+
<label for="jr_insta_shortcode"><?php _e( 'Shortcode of this Widget:', 'instagram-slider-widget' ); ?></label>
|
303 |
+
<?php
|
304 |
+
$widget_id = preg_replace( '/[^0-9]/', '', $this->id );
|
305 |
+
if ( $widget_id != '' ) {
|
306 |
+
?>
|
307 |
+
<input id="jr_insta_shortcode" onclick="this.setSelectionRange(0, this.value.length)" type="text"
|
308 |
+
class="widefat" value="[jr_facebook id="<?php echo $widget_id ?>"]"
|
309 |
+
readonly="readonly" style="border:none; color:black; font-family:monospace;">
|
310 |
+
<?php
|
311 |
+
} else {
|
312 |
+
?>
|
313 |
+
<input id="jr_insta_shortcode" type="text" class="widefat"
|
314 |
+
value="<?php echo __( 'Click Save and refresh page', 'instagram-slider-widget' ); ?>"
|
315 |
+
readonly="readonly" style="border:none; color:black; font-family:monospace;">
|
316 |
+
<?php
|
317 |
+
}
|
318 |
+
?>
|
319 |
+
<span class="jr-description"><?php _e( 'Use this shortcode in any page or post to display images with this widget configuration!', 'instagram-slider-widget' ) ?></span>
|
320 |
+
</p>
|
321 |
+
</div>
|
322 |
+
<?php
|
323 |
+
}
|
324 |
+
|
325 |
+
/**
|
326 |
+
* Selected array function echoes selected if in array
|
327 |
+
*
|
328 |
+
* @param array $haystack The array to search in
|
329 |
+
* @param string $current The string value to search in array;
|
330 |
+
*
|
331 |
+
*/
|
332 |
+
public function selected( $haystack, $current ) {
|
333 |
+
|
334 |
+
if ( is_array( $haystack ) && in_array( $current, $haystack ) ) {
|
335 |
+
selected( 1, 1, true );
|
336 |
+
}
|
337 |
+
}
|
338 |
+
|
339 |
+
|
340 |
+
/**
|
341 |
+
* Add shorcode function
|
342 |
+
*
|
343 |
+
* @param array $atts shortcode attributes
|
344 |
+
*
|
345 |
+
* @return mixed
|
346 |
+
*/
|
347 |
+
public function shortcode( $atts ) {
|
348 |
+
|
349 |
+
$atts = shortcode_atts( array( 'id' => '' ), $atts, 'jr_facebook' );
|
350 |
+
$args = get_option( 'widget_wis_facebook_slider' );
|
351 |
+
if ( isset( $args[ $atts['id'] ] ) ) {
|
352 |
+
$args[ $atts['id'] ]['widget_id'] = $atts['id'];
|
353 |
+
|
354 |
+
return $this->display_images( $args[ $atts['id'] ] );
|
355 |
+
}
|
356 |
+
|
357 |
+
return "";
|
358 |
+
}
|
359 |
+
|
360 |
+
/**
|
361 |
+
* Echoes the Display Instagram Images method
|
362 |
+
*
|
363 |
+
* @param array $args
|
364 |
+
*
|
365 |
+
* @return void
|
366 |
+
*/
|
367 |
+
public function facebook_images( $args ) {
|
368 |
+
echo $this->display_images( $args );
|
369 |
+
}
|
370 |
+
|
371 |
+
/**
|
372 |
+
* Cron Trigger Function
|
373 |
+
*
|
374 |
+
* @param [type] $username [description]
|
375 |
+
* @param [type] $refresh_hour [description]
|
376 |
+
* @param [type] $images [description]
|
377 |
+
*/
|
378 |
+
public function jr_cron_trigger( $username, $refresh_hour, $images ) {
|
379 |
+
$search_for = array();
|
380 |
+
$search_for['username'] = $username;
|
381 |
+
$this->instagram_data( $search_for, $refresh_hour, $images, true );
|
382 |
+
}
|
383 |
+
|
384 |
+
/**
|
385 |
+
* Runs the query for images and returns the html
|
386 |
+
*
|
387 |
+
* @param array $args
|
388 |
+
*
|
389 |
+
* @return string
|
390 |
+
*/
|
391 |
+
private function display_images( $args ) {
|
392 |
+
$account = isset( $args['account'] ) && ! empty( $args['account'] ) ? $args['account'] : false;
|
393 |
+
$images_number = isset( $args['images_number'] ) ? absint( $args['images_number'] ) : 20;
|
394 |
+
$refresh_hour = isset( $args['refresh_hour'] ) ? absint( $args['refresh_hour'] ) : 5;
|
395 |
+
$template = isset( $args['template'] ) ? $args['template'] : 'slider';
|
396 |
+
$orderby = isset( $args['orderby'] ) ? $args['orderby'] : 'rand';
|
397 |
+
$images_link = isset( $args['images_link'] ) ? $args['images_link'] : 'image_url';
|
398 |
+
$widget_id = isset( $args['widget_id'] ) ? $args['widget_id'] : preg_replace( '/[^0-9]/', '', $this->id );
|
399 |
+
|
400 |
+
$images_data = $this->FACEBOOK->get_data( $account, $refresh_hour, $images_number );
|
401 |
+
$account_data = $this->FACEBOOK->getAccountByName( $account );
|
402 |
+
|
403 |
+
if ( is_array( $images_data ) && ! empty( $images_data ) ) {
|
404 |
+
if ( isset( $images_data['error'] ) ) {
|
405 |
+
return $images_data['error'];
|
406 |
+
}
|
407 |
+
|
408 |
+
if ( $orderby == 'rand' ) {
|
409 |
+
shuffle( $images_data );
|
410 |
+
} else {
|
411 |
+
$orderby = explode( '-', $orderby );
|
412 |
+
$func = $orderby[0] == 'date' ? 'sort_timestamp_' . $orderby[1] : 'sort_popularity_' . $orderby[1];
|
413 |
+
usort( $images_data, array( $this, $func ) );
|
414 |
+
}
|
415 |
+
|
416 |
+
$template_args = array(
|
417 |
+
'account' => $account_data,
|
418 |
+
'template' => $template,
|
419 |
+
'images_link' => $images_link,
|
420 |
+
'posts' => $images_data,
|
421 |
+
);
|
422 |
+
|
423 |
+
$output = "";
|
424 |
+
switch ( $template ) {
|
425 |
+
case 'slider':
|
426 |
+
$output = $this->render_layout_template( 'facebook_slider_template', $template_args );
|
427 |
+
break;
|
428 |
+
}
|
429 |
+
} else {
|
430 |
+
$output = __( 'No images found!', 'instagram-slider-widget' );
|
431 |
+
}
|
432 |
+
|
433 |
+
return $output;
|
434 |
+
|
435 |
+
}
|
436 |
+
|
437 |
+
/**
|
438 |
+
* Method renders layout template
|
439 |
+
*
|
440 |
+
* @param string $template_name Template name without ".php"
|
441 |
+
*
|
442 |
+
* @param array $args Template arguments
|
443 |
+
*
|
444 |
+
* @return false|string
|
445 |
+
*/
|
446 |
+
private function render_layout_template( $template_name, $args ) {
|
447 |
+
$path = WIS_PLUGIN_DIR . "/html_templates/$template_name.php";
|
448 |
+
if ( file_exists( $path ) ) {
|
449 |
+
ob_start();
|
450 |
+
include $path;
|
451 |
+
|
452 |
+
return ob_get_clean();
|
453 |
+
} else {
|
454 |
+
return 'This template does not exist!';
|
455 |
+
}
|
456 |
+
}
|
457 |
+
|
458 |
+
/**
|
459 |
+
* Sort Function for timestamp Ascending
|
460 |
+
*/
|
461 |
+
public function sort_timestamp_ASC( $a, $b ) {
|
462 |
+
return $a['timestamp'] > $b['timestamp'];
|
463 |
+
}
|
464 |
+
|
465 |
+
/**
|
466 |
+
* Sort Function for timestamp Descending
|
467 |
+
*/
|
468 |
+
public function sort_timestamp_DESC( $a, $b ) {
|
469 |
+
return $a['timestamp'] < $b['timestamp'];
|
470 |
+
}
|
471 |
+
|
472 |
+
/**
|
473 |
+
* Sort Function for popularity Ascending
|
474 |
+
*/
|
475 |
+
public function sort_popularity_ASC( $a, $b ) {
|
476 |
+
return $a['popularity'] > $b['popularity'];
|
477 |
+
}
|
478 |
+
|
479 |
+
/**
|
480 |
+
* Sort Function for popularity Descending
|
481 |
+
*/
|
482 |
+
public function sort_popularity_DESC( $a, $b ) {
|
483 |
+
return $a['popularity'] < $b['popularity'];
|
484 |
+
}
|
485 |
+
|
486 |
+
}
|
487 |
+
|
488 |
+
?>
|
includes/class-wis_instagram_slider.php
CHANGED
@@ -1,20 +1,20 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* WIS_InstagramSlider Class
|
4 |
*/
|
5 |
class WIS_InstagramSlider extends WP_Widget {
|
6 |
|
7 |
-
|
8 |
-
|
9 |
-
* Plugin version, used for cache-busting of style and script file references.
|
10 |
-
*
|
11 |
-
* @var string
|
12 |
-
*/
|
13 |
-
// Потому что, разработчики будут забывать обновлять версию в этом месте.
|
14 |
const USERNAME_URL = 'https://www.instagram.com/{username}/';
|
15 |
const TAG_URL = 'https://www.instagram.com/explore/tags/{tag}/?__a=1';
|
16 |
-
const USERS_SELF_URL = 'https://api.instagram.com/v1/users/self/';
|
17 |
-
const USERS_SELF_MEDIA_URL = 'https://api.instagram.com/v1/users/self/media/recent/';
|
|
|
|
|
|
|
|
|
18 |
|
19 |
/**
|
20 |
* @var WIS_Plugin
|
@@ -26,9 +26,15 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
26 |
*/
|
27 |
public $sliders;
|
28 |
|
|
|
|
|
|
|
|
|
|
|
29 |
public static function app() {
|
30 |
return self::$app;
|
31 |
}
|
|
|
32 |
/**
|
33 |
* Initialize the plugin by registering widget and loading public scripts
|
34 |
*
|
@@ -37,23 +43,34 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
37 |
self::$app = $this;
|
38 |
|
39 |
// Widget ID and Class Setup
|
40 |
-
parent::__construct( 'jr_insta_slider', __( 'Social Slider', 'instagram-slider-widget' ), array(
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
);
|
45 |
|
46 |
-
$this->WIS
|
47 |
-
$this->sliders
|
48 |
"slider" => 'Slider - Normal',
|
49 |
"slider-overlay" => 'Slider - Overlay Text',
|
50 |
"thumbs" => 'Thumbnails',
|
51 |
"thumbs-no-border" => 'Thumbnails - Without Border',
|
52 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
/**
|
54 |
* Фильтр для добавления слайдеров
|
55 |
*/
|
56 |
-
$this->sliders = apply_filters('wis/sliders', $this->sliders);
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
|
59 |
// Shortcode
|
@@ -63,7 +80,7 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
63 |
add_action( 'jr_instagram', array( $this, 'instagram_images' ) );
|
64 |
|
65 |
// Enqueue Plugin Styles and scripts
|
66 |
-
add_action( 'wp_enqueue_scripts', array( $this,
|
67 |
|
68 |
// Enqueue Plugin Styles and scripts for admin pages
|
69 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue' ) );
|
@@ -72,12 +89,12 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
72 |
add_action( 'wp_ajax_jr_delete_insta_dupes', array( $this, 'delete_dupes' ) );
|
73 |
|
74 |
// Add new attachment field desctiptions
|
75 |
-
add_filter( 'attachment_fields_to_edit', array( $this, 'insta_attachment_fields' )
|
76 |
|
77 |
// Add action for single cron events
|
78 |
-
add_action( 'jr_insta_cron', array( $this, 'jr_cron_trigger' ), 10
|
79 |
|
80 |
-
add_action( '
|
81 |
|
82 |
add_action( 'wp_ajax_wis_delete_account', array( $this, 'delete_account' ) );
|
83 |
|
@@ -89,11 +106,10 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
89 |
public static function register_widget() {
|
90 |
register_widget( __CLASS__ );
|
91 |
register_sidebar( array(
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
);
|
97 |
}
|
98 |
|
99 |
/**
|
@@ -101,27 +117,30 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
101 |
*/
|
102 |
public function public_enqueue() {
|
103 |
|
104 |
-
wp_enqueue_style( WIS_Plugin::app()->getPrefix() . 'font-awesome',
|
105 |
-
'https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css'
|
106 |
-
);
|
107 |
|
108 |
-
wp_enqueue_style(
|
109 |
-
wp_enqueue_script( WIS_Plugin::app()->getPrefix() . 'jquery-pllexi-slider', WIS_PLUGIN_URL.'/assets/js/jquery.flexslider-min.js', array( 'jquery' ), WIS_Plugin::app()->getPluginVersion(), false );
|
110 |
-
|
|
|
|
|
|
|
|
|
|
|
111 |
}
|
112 |
|
113 |
/**
|
114 |
* Enqueue admin side scripts and styles
|
115 |
*
|
116 |
-
* @param
|
117 |
*/
|
118 |
public function admin_enqueue( $hook ) {
|
119 |
|
120 |
if ( 'widgets.php' != $hook ) {
|
121 |
return;
|
122 |
}
|
123 |
-
wp_enqueue_style( 'jr-insta-admin-styles', WIS_PLUGIN_DIR.'/admin/assets/css/jr-insta-admin.css', array(), WIS_Plugin::app()->getPluginVersion() );
|
124 |
-
wp_enqueue_script( 'jr-insta-admin-script', WIS_PLUGIN_DIR.'/admin/assets/js/jr-insta-admin.js',
|
125 |
|
126 |
}
|
127 |
|
@@ -149,44 +168,59 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
149 |
/**
|
150 |
* Update the widget settings
|
151 |
*
|
152 |
-
* @param
|
153 |
-
* @param
|
154 |
*
|
155 |
* @return array
|
156 |
*/
|
157 |
public function update( $new_instance, $instance ) {
|
158 |
|
159 |
-
$instance['title']
|
160 |
-
$instance['search_for']
|
161 |
-
$instance['username']
|
162 |
-
$instance['account']
|
163 |
-
$instance['
|
164 |
-
$instance['
|
165 |
-
$instance['
|
166 |
-
$instance['
|
167 |
-
$instance['
|
168 |
-
$instance['
|
169 |
-
$instance['
|
170 |
-
$instance['
|
171 |
-
$instance['
|
172 |
-
$instance['
|
173 |
-
$instance['
|
174 |
-
$instance['
|
175 |
-
$instance['
|
176 |
-
$instance['
|
177 |
-
$instance['
|
178 |
-
$instance['
|
179 |
-
$instance['
|
180 |
-
$instance['
|
181 |
-
$instance['
|
182 |
-
$instance['
|
183 |
-
$instance['
|
184 |
-
$instance['
|
185 |
-
$instance['
|
186 |
-
$instance['
|
187 |
-
$instance['
|
188 |
-
$instance['
|
189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
return $instance;
|
192 |
}
|
@@ -198,42 +232,66 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
198 |
*/
|
199 |
public function form( $instance ) {
|
200 |
|
201 |
-
$accounts
|
202 |
-
|
203 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
$defaults = array(
|
206 |
-
'title'
|
207 |
-
'search_for'
|
208 |
-
'account'
|
209 |
-
'
|
210 |
-
'
|
211 |
-
'
|
212 |
-
'
|
213 |
-
'
|
214 |
-
'
|
215 |
-
'
|
216 |
-
'
|
217 |
-
'
|
218 |
-
'
|
219 |
-
'
|
220 |
-
'
|
221 |
-
'
|
222 |
-
'
|
223 |
-
'
|
224 |
-
'
|
225 |
-
'
|
226 |
-
'
|
227 |
-
'
|
228 |
-
'
|
229 |
-
'
|
230 |
-
|
231 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
'slick_slides_to_show' => 3,
|
233 |
-
'
|
234 |
-
'
|
235 |
-
'
|
236 |
-
|
|
|
|
|
|
|
237 |
);
|
238 |
|
239 |
$instance = wp_parse_args( (array) $instance, $defaults );
|
@@ -241,252 +299,466 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
241 |
?>
|
242 |
<div class="jr-container">
|
243 |
<p>
|
244 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><strong><?php _e('Title:', 'instagram-slider-widget'); ?></strong></label>
|
245 |
-
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
|
|
|
|
246 |
</p>
|
247 |
<p>
|
248 |
<strong><?php _e( 'Search Instagram for:', 'instagram-slider-widget' ); ?></strong>
|
249 |
<span class="jr-search-for-container">
|
250 |
<label class="jr-seach-for">
|
251 |
-
<input type="radio" id="<?php echo $this->get_field_id( 'search_for' ); ?>"
|
|
|
|
|
252 |
<?php _e( 'Account:', 'instagram-slider-widget' ); ?>
|
253 |
</label>
|
254 |
-
<?php
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
?>
|
266 |
</select><?php
|
|
|
|
|
267 |
}
|
268 |
-
|
269 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
}
|
271 |
?>
|
272 |
</span>
|
273 |
-
<span class="jr-search-for-container"><label class="jr-seach-for"><input type="radio"
|
274 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
</p>
|
276 |
-
<p class="<?php if ( 'hashtag'
|
277 |
-
|
278 |
-
|
279 |
-
<
|
|
|
|
|
|
|
|
|
|
|
280 |
</p>
|
281 |
-
<p class="<?php if ( 'username' != $instance['search_for'] )
|
|
|
|
|
282 |
|
283 |
<label class="switch" for="<?php echo $this->get_field_id( 'attachment' ); ?>">
|
284 |
-
<input class="widefat" id="<?php echo $this->get_field_id( 'attachment' ); ?>"
|
285 |
-
|
|
|
|
|
|
|
|
|
286 |
<?php
|
287 |
-
if ( isset ( $instance['username'] ) && !empty($instance['username'] ) ) {
|
288 |
-
echo '<br><button class="button action jr-delete-instagram-dupes" type="button" data-username="'
|
289 |
echo '<br><br><strong><span class="deleted-dupes-info"></span></strong>';
|
290 |
wp_nonce_field( 'jr_delete_instagram_dupes', 'delete_insta_dupes_nonce' );
|
291 |
}
|
292 |
?>
|
293 |
</p>
|
294 |
<p id="img_to_show">
|
295 |
-
<label
|
296 |
-
<input
|
|
|
|
|
|
|
297 |
<span class="jr-description">
|
298 |
-
<?php if(
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
</span>
|
304 |
</label>
|
305 |
</p>
|
306 |
<p>
|
307 |
<label for="<?php echo $this->get_field_id( 'refresh_hour' ); ?>"><strong><?php _e( 'Check for new images every:', 'instagram-slider-widget' ); ?></strong>
|
308 |
-
<input
|
309 |
-
|
|
|
|
|
|
|
310 |
</label>
|
311 |
</p>
|
312 |
-
<p
|
|
|
|
|
313 |
<strong><?php _e( 'Show feed header:', 'instagram-slider-widget' ); ?></strong>
|
314 |
<label class="switch" for="<?php echo $this->get_field_id( 'show_feed_header' ); ?>">
|
315 |
-
<input class="widefat" id="<?php echo $this->get_field_id( 'show_feed_header' ); ?>"
|
|
|
|
|
316 |
<span class="slider round"></span>
|
317 |
</label>
|
318 |
</p>
|
319 |
<p>
|
320 |
<label for="<?php echo $this->get_field_id( 'template' ); ?>"><strong><?php _e( 'Template', 'instagram-slider-widget' ); ?></strong>
|
321 |
-
<select class="widefat" name="<?php echo $this->get_field_name( 'template' ); ?>"
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
<optgroup label="Available in PRO">
|
333 |
-
<option value='
|
334 |
-
<option value='
|
335 |
-
<option value='
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
336 |
</optgroup>
|
337 |
-
|
338 |
}
|
339 |
-
|
340 |
</select>
|
341 |
</label>
|
342 |
</p>
|
343 |
-
<span id="masonry_notice"
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
</label>
|
349 |
</p>
|
350 |
-
<p class="masonry_settings <?php if ( 'masonry' != $instance['template'])
|
351 |
-
|
352 |
-
|
353 |
-
|
|
|
|
|
|
|
|
|
354 |
</label>
|
355 |
<br>
|
356 |
-
<label
|
357 |
-
<input class="small-text" id="<?php echo $this->get_field_id( 'masonry_image_width' ); ?>"
|
358 |
-
|
|
|
|
|
359 |
</label>
|
360 |
</p>
|
361 |
-
<p class="slick_settings <?php if ( 'slick_slider' != $instance['template'])
|
362 |
-
|
363 |
-
|
364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
365 |
</label>
|
366 |
<br>
|
367 |
<strong><?php _e( 'Space between pictures:', 'instagram-slider-widget' ); ?></strong>
|
368 |
<label class="switch" for="<?php echo $this->get_field_id( 'slick_slides_padding' ); ?>">
|
369 |
-
<input class="widefat" id="<?php echo $this->get_field_id( 'slick_slides_padding' ); ?>"
|
|
|
|
|
370 |
<span class="slider round"></span>
|
371 |
</label>
|
|
|
372 |
</p>
|
373 |
-
<p class="highlight_settings <?php if ( 'highlight' != $instance['template'])
|
374 |
-
|
375 |
-
|
|
|
|
|
|
|
|
|
|
|
376 |
</label>
|
377 |
<br>
|
378 |
-
<label
|
379 |
-
<input type="number" min="0" class="small-text"
|
|
|
|
|
|
|
380 |
</label>
|
381 |
</p>
|
382 |
-
<p class="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
|
384 |
-
<?php _e( 'Slider Navigation Controls:', 'instagram-slider-widget' ); ?><br>
|
385 |
-
<label class="jr-radio"><input type="radio" id="<?php echo $this->get_field_id( 'controls' ); ?>" name="<?php echo $this->get_field_name( 'controls' ); ?>" value="prev_next" <?php checked( 'prev_next', $instance['controls'] ); ?> /> <?php _e( 'Prev & Next', 'instagram-slider-widget' ); ?></label>
|
386 |
-
<label class="jr-radio"><input type="radio" id="<?php echo $this->get_field_id( 'controls' ); ?>" name="<?php echo $this->get_field_name( 'controls' ); ?>" value="numberless" <?php checked( 'numberless', $instance['controls'] ); ?> /> <?php _e( 'Dotted', 'instagram-slider-widget' ); ?></label>
|
387 |
-
<label class="jr-radio"><input type="radio" id="<?php echo $this->get_field_id( 'controls' ); ?>" name="<?php echo $this->get_field_name( 'controls' ); ?>" value="none" <?php checked( 'none', $instance['controls'] ); ?> /> <?php _e( 'No Navigation', 'instagram-slider-widget' ); ?></label>
|
388 |
<br>
|
389 |
-
|
390 |
-
<
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
<input type="number" min="1000" max="10000" step="100" class="small-text" id="<?php echo $this->get_field_id( 'slidespeed' ); ?>" name="<?php echo $this->get_field_name( 'slidespeed' ); ?>" value="<?php echo $instance['slidespeed']; ?>" />
|
395 |
-
<span><?php _e('milliseconds', 'instagram-slider-widget'); ?></span>
|
396 |
-
<span class='jr-description'><?php _e('1000 milliseconds = 1 second', 'instagram-slider-widget'); ?></span>
|
397 |
-
</label>
|
398 |
-
<label for="<?php echo $this->get_field_id('description'); ?>"><?php _e( 'Slider Text Description:', 'instagram-slider-widget' ); ?></label>
|
399 |
-
<select size=3 class='widefat' id="<?php echo $this->get_field_id('description'); ?>" name="<?php echo $this->get_field_name('description'); ?>[]" multiple="multiple">
|
400 |
-
<option class="<?php if ( 'hashtag' == $instance['search_for'] ) echo 'hidden'; ?>" value='username' <?php $this->selected( $instance['description'], 'username' ); ?>><?php _e( 'Username', 'instagram-slider-widget'); ?></option>
|
401 |
-
<option value='time'<?php $this->selected( $instance['description'], 'time' ); ?>><?php _e( 'Time', 'instagram-slider-widget'); ?></option>
|
402 |
-
<option value='caption'<?php $this->selected( $instance['description'], 'caption' ); ?>><?php _e( 'Caption', 'instagram-slider-widget'); ?></option>
|
403 |
-
</select>
|
404 |
-
<span class="jr-description"><?php _e( 'Hold ctrl and click the fields you want to show/hide on your slider. Leave all unselected to hide them all. Default all selected.', 'instagram-slider-widget') ?></span>
|
405 |
-
</p>
|
406 |
-
<p class="words_in_caption <?php if (
|
407 |
-
'thumbs' == $instance['template'] ||
|
408 |
-
'thumbs-no-border' == $instance['template'] ||
|
409 |
-
'highlight' == $instance['template'] ||
|
410 |
-
'slick_slider' == $instance['template']
|
411 |
-
) echo 'hidden';?>">
|
412 |
-
<label for="<?php echo $this->get_field_id( 'caption_words' ); ?>"><strong><?php _e( 'Number of words in caption:', 'instagram-slider-widget' ); ?></strong>
|
413 |
-
<input class="small-text" type="number" min="0" max="200" id="<?php echo $this->get_field_id( 'caption_words' ); ?>" name="<?php echo $this->get_field_name( 'caption_words' ); ?>" value="<?php echo $instance['caption_words']; ?>" />
|
414 |
</label>
|
415 |
</p>
|
416 |
-
<p
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
424 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
<p>
|
426 |
<label for="<?php echo $this->get_field_id( 'orderby' ); ?>"><strong><?php _e( 'Order by', 'instagram-slider-widget' ); ?></strong>
|
427 |
-
<select class="widefat" name="<?php echo $this->get_field_name( 'orderby' ); ?>"
|
428 |
-
|
429 |
-
<option value="date-
|
430 |
-
<option value="
|
431 |
-
<option value="popular-
|
432 |
-
<option value="
|
|
|
433 |
</select>
|
434 |
</label>
|
435 |
</p>
|
436 |
-
<p
|
|
|
|
|
437 |
<label for="<?php echo $this->get_field_id( 'images_link' ); ?>"><strong><?php _e( 'Link to', 'instagram-slider-widget' ); ?></strong>
|
438 |
-
<select class="widefat" name="<?php echo $this->get_field_name( 'images_link' ); ?>"
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
445 |
</select>
|
446 |
</label>
|
447 |
</p>
|
448 |
-
<p class="<?php if ( 'custom_url' != $instance['images_link'] )
|
449 |
-
|
450 |
-
|
451 |
-
<
|
|
|
|
|
|
|
|
|
452 |
</p>
|
453 |
<!--<p>
|
454 |
<strong>Advanced Options</strong>
|
455 |
<?php
|
456 |
-
/* $advanced_class = '';
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
<a href="#" class="jr-advanced"><?php /*echo $advanced_text;
|
464 |
</p>-->
|
465 |
<!-- <div class="jr-advanced-input <?php /*echo $advanced_class;*/ ?>">
|
466 |
<div class="jr-image-options">
|
467 |
-
<h4 class="jr-advanced-title"><?php /*_e( 'Advanced Image Options', 'instagram-slider-widget');
|
468 |
<p>
|
469 |
-
<label for="<?php /*echo $this->get_field_id( 'image_link_rel' );
|
470 |
-
<input class="widefat" id="<?php /*echo $this->get_field_id( 'image_link_rel' );
|
471 |
-
<span class="jr-description"><?php /*_e( 'Specifies the relationship between the current page and the linked website', 'instagram-slider-widget' );
|
472 |
</p>
|
473 |
<p>
|
474 |
-
<label for="<?php /*echo $this->get_field_id( 'image_link_class' );
|
475 |
-
<input class="widefat" id="<?php /*echo $this->get_field_id( 'image_link_class' );
|
476 |
-
<span class="jr-description"><?php /*_e( 'Usefull if you are using jQuery lightbox plugins to open links', 'instagram-slider-widget' );
|
477 |
</p>
|
478 |
-
<p><strong><?php /*_e( 'Disable Pinning:', 'instagram-slider-widget' );
|
479 |
-
<label class="switch" for="<?php /*echo $this->get_field_id( 'no_pin' );
|
480 |
-
<input class="widefat" id="<?php /*echo $this->get_field_id( 'no_pin' );
|
481 |
-
<br><span class="jr-description"><?php /*_e( 'Disable pinning for Pinterest on all images from this widget!', 'instagram-slider-widget')
|
482 |
</p>
|
483 |
</div>
|
484 |
</div>-->
|
485 |
-
<?php $widget_id = preg_replace( '/[^0-9]/', '', $this->id );
|
|
|
486 |
<p>
|
487 |
-
<label for="jr_insta_shortcode"><?php _e('Shortcode of this Widget:', 'instagram-slider-widget'); ?></label>
|
488 |
-
<input id="jr_insta_shortcode" onclick="this.setSelectionRange(0, this.value.length)" type="text"
|
489 |
-
|
|
|
|
|
490 |
</p>
|
491 |
<?php endif; ?>
|
492 |
</div>
|
@@ -496,13 +768,13 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
496 |
/**
|
497 |
* Selected array function echoes selected if in array
|
498 |
*
|
499 |
-
* @param
|
500 |
-
* @param
|
501 |
*
|
502 |
*/
|
503 |
public function selected( $haystack, $current ) {
|
504 |
|
505 |
-
if( is_array( $haystack ) && in_array( $current, $haystack ) ) {
|
506 |
selected( 1, 1, true );
|
507 |
}
|
508 |
}
|
@@ -510,96 +782,121 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
510 |
|
511 |
/**
|
512 |
* Add shorcode function
|
513 |
-
*
|
|
|
|
|
514 |
* @return mixed
|
515 |
*/
|
516 |
public function shortcode( $atts ) {
|
517 |
|
518 |
$atts = shortcode_atts( array( 'id' => '' ), $atts, 'jr_instagram' );
|
519 |
$args = get_option( 'widget_jr_insta_slider' );
|
520 |
-
if ( isset($args[$atts['id']] ) ) {
|
521 |
-
$args[$atts['id']]['widget_id'] = $atts['id'];
|
522 |
-
|
|
|
523 |
}
|
524 |
}
|
525 |
|
526 |
/**
|
527 |
* Echoes the Display Instagram Images method
|
528 |
*
|
529 |
-
* @param
|
530 |
*
|
531 |
* @return void
|
532 |
*/
|
533 |
public function instagram_images( $args ) {
|
534 |
-
|
535 |
}
|
536 |
|
537 |
/**
|
538 |
* Cron Trigger Function
|
539 |
-
*
|
540 |
-
* @param
|
541 |
-
* @param
|
|
|
|
|
542 |
*/
|
543 |
public function jr_cron_trigger( $username, $refresh_hour, $images ) {
|
544 |
-
$search_for
|
545 |
-
$search_for['username'] =
|
546 |
$this->instagram_data( $search_for, $refresh_hour, $images, true );
|
547 |
}
|
548 |
|
549 |
/**
|
550 |
* Runs the query for images and returns the html
|
551 |
*
|
552 |
-
* @param
|
553 |
*
|
554 |
* @return string
|
555 |
*/
|
556 |
private function display_images( $args ) {
|
557 |
-
$account
|
558 |
-
$
|
559 |
-
$
|
560 |
-
$
|
561 |
-
$
|
562 |
-
$
|
563 |
-
$
|
564 |
-
$
|
565 |
-
$
|
566 |
-
$
|
567 |
-
$
|
568 |
-
$
|
569 |
-
$
|
570 |
-
$
|
571 |
-
$
|
572 |
-
$
|
573 |
-
$
|
574 |
-
$
|
575 |
-
$
|
576 |
-
$
|
577 |
-
$
|
578 |
-
$
|
579 |
-
$
|
580 |
-
$
|
581 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
582 |
$slick_slides_to_show = isset( $args['slick_slides_to_show'] ) ? $args['slick_slides_to_show'] : 3;
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
|
|
|
|
|
|
589 |
$description = explode( ',', $description );
|
590 |
}
|
591 |
|
592 |
if ( isset ( $args['search_for'] ) && $args['search_for'] == 'hashtag' ) {
|
593 |
-
$search
|
594 |
-
$search_for['hashtag']
|
595 |
$search_for['blocked_users'] = $blocked_users;
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
600 |
} else {
|
601 |
-
$search
|
602 |
-
$search_for['username']
|
|
|
|
|
603 |
}
|
604 |
|
605 |
if ( $refresh_hour == 0 ) {
|
@@ -608,18 +905,21 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
608 |
|
609 |
|
610 |
$template_args = array(
|
611 |
-
'search_for'
|
612 |
-
'attachment'
|
613 |
-
'image_size'
|
614 |
-
'link_rel'
|
615 |
-
'link_class'
|
616 |
-
'no_pin'
|
617 |
-
'caption_words'
|
618 |
-
|
619 |
-
'
|
620 |
-
|
621 |
-
'
|
622 |
-
'
|
|
|
|
|
|
|
623 |
|
624 |
);
|
625 |
|
@@ -627,74 +927,64 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
627 |
$ul_class = ( $template == 'thumbs-no-border' ) ? 'thumbnails no-border jr_col_' . $columns : 'thumbnails jr_col_' . $columns;
|
628 |
$slider_script = '';
|
629 |
|
630 |
-
if ( $template != 'thumbs' &&
|
631 |
|
632 |
$template_args['description'] = $description;
|
633 |
-
$direction_nav
|
634 |
-
$control_nav
|
635 |
-
$ul_class
|
636 |
-
|
637 |
-
if( $template == 'slider' ) {
|
638 |
-
$images_div_class = 'pllexislider pllexislider-normal instaslider-nr-'. $widget_id;
|
639 |
-
$slider_script =
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
|
|
|
|
|
|
|
|
656 |
} else {
|
657 |
-
$images_div_class = 'pllexislider pllexislider-overlay instaslider-nr-'. $widget_id;
|
658 |
-
$slider_script =
|
659 |
-
"<script type='text/javascript'>" . "\n" .
|
660 |
-
" jQuery(document).ready(function($) {" . "\n" .
|
661 |
-
" $('.instaslider-nr-{$widget_id}').pllexislider({" . "\n" .
|
662 |
-
" animation: '{$animation}'," . "\n" .
|
663 |
-
" slideshowSpeed: {$slidespeed}," . "\n" .
|
664 |
-
" directionNav: {$direction_nav}," . "\n" .
|
665 |
-
" controlNav: {$control_nav}," . "\n" .
|
666 |
-
" prevText: ''," . "\n" .
|
667 |
-
" nextText: ''," . "\n" .
|
668 |
-
" start: function(slider){" . "\n" .
|
669 |
-
" slider.hover(" . "\n" .
|
670 |
-
" function () {" . "\n" .
|
671 |
-
" slider.find('.pllex-control-nav, .pllex-direction-nav').stop(true,true).fadeIn();" . "\n" .
|
672 |
-
" }," . "\n" .
|
673 |
-
" function () {" . "\n" .
|
674 |
-
" slider.find('.pllex-control-nav, .pllex-direction-nav').stop(true,true).fadeOut();" . "\n" .
|
675 |
-
" }" . "\n" .
|
676 |
-
" );" . "\n" .
|
677 |
-
" }" . "\n" .
|
678 |
-
" });" . "\n" .
|
679 |
-
" });" . "\n" .
|
680 |
-
"</script>" . "\n";
|
681 |
}
|
682 |
}
|
683 |
|
684 |
-
|
685 |
-
|
686 |
-
$images_ul = "<ul class='no-bullet {$ul_class}' id='slides'>\n";
|
687 |
|
688 |
$output = '';
|
689 |
$output .= __( 'No images found! <br> Try some other hashtag or username', 'instagram-slider-widget' );
|
690 |
|
691 |
-
if ( ( $search == 'user' && $attachment
|
692 |
-
|
693 |
-
if ( !wp_next_scheduled( 'jr_insta_cron', array(
|
694 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
695 |
}
|
696 |
|
697 |
-
$opt_name
|
698 |
$attachment_ids = (array) get_option( $opt_name );
|
699 |
|
700 |
$query_args = array(
|
@@ -706,8 +996,7 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
706 |
);
|
707 |
|
708 |
if ( $orderby != 'rand' ) {
|
709 |
-
|
710 |
-
$orderby = explode( '-', $orderby );
|
711 |
$meta_key = $orderby[0] == 'date' ? 'jr_insta_timestamp' : 'jr_insta_popularity';
|
712 |
|
713 |
$query_args['meta_key'] = $meta_key;
|
@@ -715,9 +1004,9 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
715 |
$query_args['order'] = $orderby[1];
|
716 |
}
|
717 |
|
718 |
-
if ( isset( $attachment_ids['saved_images'] ) && !empty( $attachment_ids['saved_images'] ) ) {
|
719 |
|
720 |
-
$query_args['post__in']
|
721 |
|
722 |
} else {
|
723 |
|
@@ -753,8 +1042,8 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
753 |
$template_args['link_to'] = $custom_url;
|
754 |
}
|
755 |
|
756 |
-
$image_thumb_url
|
757 |
-
$template_args['image']
|
758 |
|
759 |
$output .= $this->get_template( $template, $template_args );
|
760 |
|
@@ -766,9 +1055,8 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
766 |
|
767 |
$images_data = $this->instagram_data( $search_for, $refresh_hour, $images_number, false );
|
768 |
|
769 |
-
if ( is_array( $images_data ) && !empty( $images_data ) ) {
|
770 |
-
if(isset($images_data['error']))
|
771 |
-
{
|
772 |
return $images_data['error'];
|
773 |
}
|
774 |
|
@@ -798,7 +1086,7 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
798 |
}
|
799 |
|
800 |
$template_args['type'] = $image_data['type'];
|
801 |
-
$template_args['image'] = $image_data['
|
802 |
$template_args['caption'] = $image_data['caption'];
|
803 |
$template_args['timestamp'] = $image_data['timestamp'];
|
804 |
$template_args['username'] = isset( $image_data['username'] ) ? $image_data['username'] : '';
|
@@ -815,39 +1103,77 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
815 |
wp_reset_postdata();
|
816 |
|
817 |
} else {
|
818 |
-
|
|
|
|
|
|
|
|
|
|
|
819 |
$images_data = $this->instagram_data( $search_for, $refresh_hour, $images_number, false );
|
820 |
-
$accounts = WIS_Plugin::app()->getOption( 'account_profiles');
|
821 |
-
$account = $accounts[$images_data[0]['username']];
|
822 |
-
$images_div = '';
|
823 |
-
if($account){
|
824 |
-
$account_data = $account;
|
825 |
-
} else {
|
826 |
-
$data = WIS_Plugin::app()->getOption('profiles_data_by_username');
|
827 |
-
$data = $data['entry_data']['ProfilePage']['0']['graphql']['user'];
|
828 |
-
$account_data = array(
|
829 |
-
'username' => $data['username'],
|
830 |
-
'profile_picture' => $data['profile_pic_url'],
|
831 |
-
'counts' => array(
|
832 |
-
'media' => $data['edge_owner_to_timeline_media']['count'],
|
833 |
-
'followed_by' => $data['edge_followed_by']['count']
|
834 |
-
),
|
835 |
-
);
|
836 |
-
}
|
837 |
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
844 |
return $images_data['error'];
|
845 |
}
|
846 |
|
847 |
if ( $orderby != 'rand' ) {
|
848 |
|
849 |
$orderby = explode( '-', $orderby );
|
850 |
-
|
|
|
|
|
|
|
|
|
851 |
|
852 |
usort( $images_data, array( $this, $func ) );
|
853 |
|
@@ -871,7 +1197,7 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
871 |
}
|
872 |
|
873 |
$template_args['type'] = $image_data['type'];
|
874 |
-
$template_args['image'] = $image_data['
|
875 |
$template_args['caption'] = $image_data['caption'];
|
876 |
$template_args['timestamp'] = $image_data['timestamp'];
|
877 |
$template_args['username'] = isset( $image_data['username'] ) ? $image_data['username'] : '';
|
@@ -879,10 +1205,18 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
879 |
$output .= $this->get_template( $template, $template_args );
|
880 |
}
|
881 |
|
882 |
-
$output .= "</ul
|
883 |
}
|
884 |
}
|
885 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
886 |
return $output;
|
887 |
|
888 |
}
|
@@ -897,21 +1231,22 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
897 |
* @return false|string
|
898 |
*/
|
899 |
private function render_layout_template( $template_name, $args ) {
|
900 |
-
|
901 |
-
if(file_exists($path)){
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
|
|
909 |
|
910 |
/**
|
911 |
* Function to display Templates styles
|
912 |
*
|
913 |
-
* @param
|
914 |
-
* @param
|
915 |
*
|
916 |
* return mixed
|
917 |
*/
|
@@ -919,12 +1254,12 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
919 |
|
920 |
$link_to = isset( $args['link_to'] ) ? $args['link_to'] : false;
|
921 |
$image_url = isset( $args['image'] ) ? $args['image'] : false;
|
922 |
-
$type
|
923 |
|
924 |
-
if ( ( $args['search_for'] == 'user' && $args['attachment'] !== true ) || ( $args['search_for'] == 'account' && $args['attachment'] !== true ) || $args['search_for'] == 'hashtag' ) {
|
925 |
-
$caption
|
926 |
-
$time
|
927 |
-
$username
|
928 |
} else {
|
929 |
$attach_id = get_the_id();
|
930 |
$caption = get_the_excerpt();
|
@@ -932,17 +1267,22 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
932 |
$username = get_post_meta( $attach_id, 'jr_insta_username', true );
|
933 |
}
|
934 |
|
|
|
|
|
|
|
|
|
935 |
$short_caption = wp_trim_words( $caption, 10, '' );
|
936 |
-
$short_caption = strip_tags($short_caption);
|
937 |
|
938 |
-
$caption
|
939 |
-
$nopin
|
940 |
|
941 |
-
$
|
942 |
-
|
|
|
943 |
|
944 |
if ( $link_to ) {
|
945 |
-
$image_output
|
946 |
|
947 |
if ( ! empty( $args['link_rel'] ) ) {
|
948 |
$image_output .= " rel={$args['link_rel']}";
|
@@ -956,30 +1296,31 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
956 |
|
957 |
$output = '';
|
958 |
|
959 |
-
if( $template == 'slider' ) {
|
960 |
$output .= "<li style='border:0;' >";
|
961 |
|
962 |
-
|
|
|
963 |
|
964 |
if ( is_array( $args['description'] ) && count( $args['description'] ) >= 1 ) {
|
965 |
|
966 |
$output .= "<div class='jr-insta-datacontainer' style=''>\n";
|
967 |
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
if ( $time && in_array( 'time', $args['description'] ) ) {
|
973 |
-
$time
|
974 |
$output .= "<strong><span class='jr-insta-time pull-right' style='font-size: 0.9em'>{$time} ago</span></strong>\n";
|
975 |
$output .= "<br>";
|
976 |
}
|
977 |
|
978 |
|
979 |
if ( $caption != '' && in_array( 'caption', $args['description'] ) ) {
|
980 |
-
$caption
|
981 |
-
$caption = preg_replace( '/\#([a-zA-Z0-9А-Яа-я_-]+)/u', ' <a href="https://www.instagram.com/explore/tags/$1/" style="color:black; font-weight: 600" rel="nofollow" target="_blank">$0</a> ', $caption);
|
982 |
-
$output
|
983 |
}
|
984 |
|
985 |
$output .= "</div>\n";
|
@@ -988,9 +1329,10 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
988 |
$output .= "</li>";
|
989 |
// Template : Slider with text Overlay on mouse over
|
990 |
} elseif ( $template == 'slider-overlay' ) {
|
991 |
-
$output .= "<li class='"
|
992 |
|
993 |
-
|
|
|
994 |
|
995 |
if ( is_array( $args['description'] ) && count( $args['description'] ) >= 1 ) {
|
996 |
|
@@ -999,7 +1341,7 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
999 |
$output .= "<div class='jr-insta-datacontainer'>\n";
|
1000 |
|
1001 |
if ( $time && in_array( 'time', $args['description'] ) ) {
|
1002 |
-
$time
|
1003 |
$output .= "<span class='jr-insta-time'>{$time} ago</span>\n";
|
1004 |
}
|
1005 |
|
@@ -1009,8 +1351,8 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1009 |
|
1010 |
if ( $caption != '' && in_array( 'caption', $args['description'] ) ) {
|
1011 |
$caption = preg_replace( '/@([a-z0-9_]+)/i', ' <a href="https://www.instagram.com/$1/" rel="nofollow" target="_blank">@$1</a> ', $caption );
|
1012 |
-
$caption = preg_replace( '/\#([a-zA-Z0-9_-]+)/i', ' <a href="https://www.instagram.com/explore/tags/$1/" rel="nofollow" target="_blank">$0</a> ', $caption);
|
1013 |
-
$output
|
1014 |
}
|
1015 |
|
1016 |
$output .= "</div>\n";
|
@@ -1022,8 +1364,9 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1022 |
|
1023 |
// Template : Thumbnails no text
|
1024 |
} elseif ( $template == 'thumbs' || $template == 'thumbs-no-border' ) {
|
1025 |
-
$output .= "<li class='
|
1026 |
-
$output .= $image_output;
|
|
|
1027 |
$output .= "</li>";
|
1028 |
|
1029 |
} else {
|
@@ -1037,9 +1380,11 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1037 |
|
1038 |
/**
|
1039 |
* Trigger refresh for new data
|
1040 |
-
*
|
1041 |
-
* @param
|
1042 |
-
* @param
|
|
|
|
|
1043 |
* @return bool
|
1044 |
*/
|
1045 |
private function trigger_refresh_data( $instaData, $old_args, $new_args ) {
|
@@ -1056,11 +1401,11 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1056 |
|
1057 |
|
1058 |
if ( isset( $old_args['saved_images'] ) ) {
|
1059 |
-
unset($old_args['saved_images']);
|
1060 |
}
|
1061 |
|
1062 |
if ( isset( $old_args['deleted_images'] ) ) {
|
1063 |
-
unset($old_args['deleted_images']);
|
1064 |
}
|
1065 |
|
1066 |
if ( is_array( $old_args ) && is_array( $new_args ) && array_diff( $old_args, $new_args ) !== array_diff( $new_args, $old_args ) ) {
|
@@ -1076,16 +1421,18 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1076 |
|
1077 |
/**
|
1078 |
* Get data from instagram by username
|
1079 |
-
*
|
|
|
|
|
1080 |
* @return array
|
1081 |
*/
|
1082 |
private function get_data_by_username( $username ) {
|
1083 |
|
1084 |
-
$url
|
1085 |
$response = wp_remote_get( $url, array( 'sslverify' => false, 'timeout' => 60 ) );
|
1086 |
|
1087 |
-
if(strstr( $response['body'], '-cx-PRIVATE-Page__main' )) {
|
1088 |
-
return ['error' => __( 'Account not found or for this account there are restrictions on Instagram by age', 'instagram-slider-widget' )];
|
1089 |
}
|
1090 |
|
1091 |
$json = str_replace( 'window._sharedData = ', '', strstr( $response['body'], 'window._sharedData = ' ) );
|
@@ -1110,34 +1457,48 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1110 |
return $results;
|
1111 |
}
|
1112 |
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
|
|
1123 |
public function instagram_data( $search_for, $cache_hours, $nr_images, $attachment ) {
|
1124 |
-
|
1125 |
//$nr_images = $nr_images <= 12 ? $nr_images : 12;
|
1126 |
-
|
1127 |
-
|
1128 |
-
$search = 'account';
|
1129 |
$search_string = $search_for['account'];
|
1130 |
-
} elseif ( isset( $search_for['
|
1131 |
-
$search
|
|
|
|
|
|
|
1132 |
$search_string = $search_for['username'];
|
1133 |
-
} elseif ( isset( $search_for['hashtag'] ) && !empty( $search_for['hashtag'] ) ) {
|
1134 |
-
$search
|
1135 |
$search_string = $search_for['hashtag'];
|
|
|
1136 |
$blocked_users_array = $blocked_users ? $this->get_ids_from_usernames( $blocked_users ) : array();
|
1137 |
} else {
|
1138 |
-
return __( 'Nothing to search for', 'instagram-slider-widget');
|
1139 |
}
|
1140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1141 |
$opt_name = 'jr_insta_' . md5( $search . '_' . $search_string );
|
1142 |
$instaData = get_transient( $opt_name );
|
1143 |
$old_opts = (array) get_option( $opt_name );
|
@@ -1151,8 +1512,9 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1151 |
);
|
1152 |
|
1153 |
if ( true === $this->trigger_refresh_data( $instaData, $old_opts, $new_opts ) ) {
|
|
|
1154 |
|
1155 |
-
$instaData
|
1156 |
$old_opts['search'] = $search;
|
1157 |
$old_opts['search_string'] = $search_string;
|
1158 |
$old_opts['blocked_users'] = $blocked_users;
|
@@ -1162,120 +1524,220 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1162 |
|
1163 |
if ( 'user' == $search ) {
|
1164 |
|
1165 |
-
$results = $this->get_data_by_username($search_string);
|
1166 |
-
if(isset($results['error']))
|
|
|
|
|
1167 |
|
1168 |
-
|
1169 |
// ************************************
|
1170 |
// if instagram not return list of posts
|
1171 |
// ************************************
|
1172 |
-
$is_instaLoginPage = !isset($results['entry_data']['ProfilePage']);
|
1173 |
-
if($is_instaLoginPage)
|
1174 |
-
|
1175 |
-
return ['error' => __( 'Instagram requires authorization to view a user profile. Use autorized account in widget settings', 'instagram-slider-widget' )];
|
1176 |
}
|
1177 |
// ************************************
|
1178 |
-
}
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
if(!count($results))
|
1196 |
-
return ['error' => __( 'There are no publications in this account yet', 'instagram-slider-widget' )];
|
1197 |
-
}
|
1198 |
-
|
1199 |
-
//Обновляем данные профиля: подписчики, количество постов
|
1200 |
-
$this->update_account_profiles( $account['token']);
|
1201 |
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
|
1208 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1209 |
|
1210 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1211 |
|
1212 |
-
return $response->get_error_message();
|
1213 |
}
|
1214 |
|
1215 |
-
if (
|
1216 |
|
1217 |
if ( $results && is_array( $results ) ) {
|
1218 |
|
1219 |
if ( 'user' == $search ) {
|
1220 |
-
$entry_data =
|
1221 |
-
} elseif( 'account' == $search ) {
|
1222 |
-
|
1223 |
-
}
|
1224 |
-
|
|
|
|
|
|
|
|
|
1225 |
}
|
1226 |
|
1227 |
if ( empty( $entry_data ) ) {
|
1228 |
-
return ['error' => __( 'No images found', 'instagram-slider-widget' )];
|
1229 |
}
|
|
|
|
|
|
|
|
|
|
|
1230 |
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
|
|
|
|
1234 |
|
1235 |
if ( 'hashtag' == $search ) {
|
1236 |
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1240 |
}
|
1241 |
}
|
1242 |
-
/*
|
1243 |
-
if ( $result['is_video'] == true ) {
|
1244 |
-
$nr_images++;
|
1245 |
-
continue;
|
1246 |
-
}
|
1247 |
-
*/
|
1248 |
-
|
1249 |
-
if ( $current >= $nr_images ) {
|
1250 |
-
break;
|
1251 |
-
}
|
1252 |
|
1253 |
if ( 'account' == $search ) {
|
1254 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1255 |
}
|
1256 |
-
else
|
1257 |
-
$image_data = $this->media_model( $result );
|
1258 |
|
1259 |
-
|
1260 |
-
|
|
|
|
|
1261 |
}
|
1262 |
|
1263 |
-
if
|
|
|
|
|
|
|
|
|
|
|
1264 |
|
1265 |
$instaData[] = $image_data;
|
1266 |
|
1267 |
} else {
|
1268 |
|
1269 |
-
if ( isset( $old_opts['saved_images'][$image_data['id']] ) ) {
|
1270 |
|
1271 |
-
if ( is_string( get_post_status( $old_opts['saved_images'][$image_data['id']] ) ) ) {
|
1272 |
|
1273 |
-
$this->update_wp_attachment( $old_opts['saved_images'][$image_data['id']], $image_data );
|
1274 |
|
1275 |
-
$instaData[$image_data['id']] = $old_opts['saved_images'][$image_data['id']];
|
1276 |
|
1277 |
} else {
|
1278 |
-
unset( $old_opts['saved_images'][$image_data['id']] );
|
1279 |
}
|
1280 |
|
1281 |
} else {
|
@@ -1284,9 +1746,9 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1284 |
|
1285 |
if ( $id && is_numeric( $id ) ) {
|
1286 |
|
1287 |
-
$old_opts['saved_images'][$image_data['id']] = $id;
|
1288 |
|
1289 |
-
$instaData[$image_data['id']] = $id;
|
1290 |
|
1291 |
} else {
|
1292 |
|
@@ -1309,13 +1771,15 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1309 |
|
1310 |
update_option( $opt_name, $old_opts );
|
1311 |
|
1312 |
-
if ( is_array( $instaData ) && !empty( $instaData )
|
1313 |
|
1314 |
set_transient( $opt_name, $instaData, $cache_hours * 60 * 60 );
|
1315 |
}
|
1316 |
|
1317 |
} // end -> false === $instaData
|
1318 |
|
|
|
|
|
1319 |
return $instaData;
|
1320 |
}
|
1321 |
|
@@ -1349,119 +1813,294 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1349 |
|
1350 |
/**
|
1351 |
* Media Model
|
|
|
1352 |
* @param [type] $medias_array [description]
|
|
|
1353 |
* @return [type] [description]
|
1354 |
*/
|
1355 |
private function media_model( $medias_array ) {
|
1356 |
|
1357 |
-
$
|
1358 |
|
1359 |
foreach ( $medias_array as $prop => $value ) {
|
1360 |
|
1361 |
switch ( $prop ) {
|
1362 |
case 'id':
|
1363 |
-
$
|
1364 |
break;
|
1365 |
case 'code':
|
1366 |
case '__typename':
|
1367 |
-
|
1368 |
-
|
1369 |
case 'shortcode':
|
1370 |
-
$
|
1371 |
-
$
|
1372 |
break;
|
1373 |
case 'owner':
|
1374 |
-
$
|
1375 |
break;
|
1376 |
case 'caption':
|
1377 |
-
$
|
1378 |
break;
|
1379 |
case 'edge_media_to_caption':
|
1380 |
-
if ( !empty( $value['edges'] ) ) {
|
1381 |
$first_caption = $value['edges'][0];
|
1382 |
if ( isset( $first_caption['node']['text'] ) ) {
|
1383 |
-
$
|
1384 |
}
|
1385 |
}
|
1386 |
break;
|
1387 |
case 'date':
|
1388 |
case 'taken_at_timestamp':
|
1389 |
-
$
|
1390 |
break;
|
1391 |
case 'dimensions':
|
1392 |
-
$
|
1393 |
-
$
|
1394 |
break;
|
1395 |
case 'display_url':
|
1396 |
case 'display_src':
|
1397 |
-
$
|
1398 |
-
|
1399 |
-
|
|
|
1400 |
}
|
1401 |
break;
|
1402 |
case 'edge_liked_by':
|
1403 |
case 'likes':
|
1404 |
-
$
|
1405 |
break;
|
1406 |
case 'edge_media_to_comment':
|
1407 |
case 'comments':
|
1408 |
-
$
|
1409 |
break;
|
1410 |
case 'thumbnail_resources':
|
1411 |
-
$
|
1412 |
-
if ( isset( $
|
1413 |
-
$
|
1414 |
}
|
1415 |
break;
|
1416 |
}
|
1417 |
|
1418 |
-
if ( isset( $
|
1419 |
-
$
|
1420 |
}
|
1421 |
}
|
1422 |
|
1423 |
-
return $
|
1424 |
}
|
1425 |
|
1426 |
/**
|
1427 |
* Media Model from account
|
1428 |
-
*
|
|
|
|
|
1429 |
* @return array To plugin format
|
1430 |
*/
|
1431 |
-
|
1432 |
|
1433 |
$m = array();
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1447 |
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1465 |
|
1466 |
return $m;
|
1467 |
}
|
@@ -1476,8 +2115,8 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1476 |
'post_type' => 'attachment',
|
1477 |
'post_status' => 'inherit',
|
1478 |
'post_mime_type' => 'image',
|
1479 |
-
'orderby'
|
1480 |
-
'posts_per_page' => -1,
|
1481 |
'meta_query' => array(
|
1482 |
array(
|
1483 |
'key' => 'jr_insta_username',
|
@@ -1487,9 +2126,9 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1487 |
),
|
1488 |
);
|
1489 |
|
1490 |
-
$savedinsta
|
1491 |
|
1492 |
-
$opt_name
|
1493 |
|
1494 |
$attachment_ids = (array) get_option( $opt_name );
|
1495 |
|
@@ -1497,10 +2136,10 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1497 |
|
1498 |
foreach ( $savedinsta->posts as $post ) {
|
1499 |
|
1500 |
-
if ( !in_array( $post->ID, $attachment_ids['saved_images'] ) ) {
|
1501 |
|
1502 |
if ( false !== wp_delete_attachment( $post->ID, true ) ) {
|
1503 |
-
$deleted_count++;
|
1504 |
}
|
1505 |
}
|
1506 |
}
|
@@ -1516,11 +2155,11 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1516 |
*/
|
1517 |
public function delete_dupes() {
|
1518 |
|
1519 |
-
if (function_exists('check_ajax_referer')) {
|
1520 |
check_ajax_referer( 'jr_delete_instagram_dupes' );
|
1521 |
}
|
1522 |
|
1523 |
-
$post
|
1524 |
$return = array(
|
1525 |
'deleted' => $this->clean_duplicates( $post['username'] )
|
1526 |
);
|
@@ -1528,21 +2167,42 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1528 |
wp_send_json( $return );
|
1529 |
}
|
1530 |
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
public function add_account_by_token() {
|
1538 |
-
if ( isset( $_POST['
|
1539 |
if ( ! current_user_can( 'manage_options' ) ) {
|
1540 |
-
wp_die( -
|
1541 |
} else {
|
1542 |
-
|
1543 |
|
1544 |
-
$
|
1545 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1546 |
}
|
1547 |
}
|
1548 |
}
|
@@ -1552,73 +2212,104 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1552 |
* @return void
|
1553 |
*/
|
1554 |
public function delete_account() {
|
1555 |
-
if ( isset( $_POST['item_id'] ) &&
|
1556 |
if ( ! current_user_can( 'manage_options' ) ) {
|
1557 |
wp_die( - 1 );
|
1558 |
} else {
|
1559 |
check_ajax_referer( 'wis_nonce' );
|
1560 |
|
1561 |
-
|
|
|
|
|
|
|
|
|
|
|
1562 |
$accounts_new = array();
|
1563 |
-
foreach($accounts as $name => $acc) {
|
1564 |
-
|
|
|
|
|
|
|
|
|
|
|
1565 |
|
1566 |
-
wp_send_json_success(__('Account deleted successfully', 'instagram-slider-widget'));
|
1567 |
}
|
1568 |
}
|
1569 |
}
|
1570 |
|
1571 |
/**
|
1572 |
* Get Account data by USERNAME from option in wp_options
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
|
|
1577 |
*/
|
1578 |
-
public function getAccountById($name)
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1583 |
|
1584 |
/**
|
1585 |
* Get Instagram Ids from Usernames into array
|
1586 |
-
*
|
|
|
|
|
1587 |
* @return array An array with instagram ids
|
1588 |
*/
|
1589 |
private function get_ids_from_usernames( $usernames ) {
|
1590 |
|
1591 |
-
$users
|
1592 |
-
$user_ids
|
1593 |
$return_ids = array();
|
1594 |
|
1595 |
-
if ( is_array( $users ) && !empty( $users ) ) {
|
1596 |
|
1597 |
foreach ( $users as $user ) {
|
1598 |
|
1599 |
-
if ( isset( $user_ids[$user] ) ) {
|
1600 |
continue;
|
1601 |
}
|
1602 |
|
1603 |
-
$results = $this->get_data_by_username($user);
|
1604 |
-
|
1605 |
|
1606 |
-
|
1607 |
-
|
1608 |
|
1609 |
-
|
1610 |
|
1611 |
-
|
1612 |
|
1613 |
-
|
1614 |
-
|
1615 |
-
|
1616 |
}
|
1617 |
}
|
1618 |
|
1619 |
foreach ( $users as $user ) {
|
1620 |
-
if ( isset( $user_ids[$user] ) ) {
|
1621 |
-
$return_ids[] = $user_ids[$user];
|
1622 |
}
|
1623 |
}
|
1624 |
|
@@ -1628,8 +2319,10 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1628 |
|
1629 |
/**
|
1630 |
* Updates attachment using the id
|
1631 |
-
*
|
1632 |
-
* @param
|
|
|
|
|
1633 |
* @return void
|
1634 |
*/
|
1635 |
private function update_wp_attachment( $attachment_ID, $image_data ) {
|
@@ -1642,16 +2335,16 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1642 |
* Save Instagram images to upload folder and ads to media.
|
1643 |
* If the upload fails it returns the remote image url.
|
1644 |
*
|
1645 |
-
* @param
|
1646 |
-
* @param
|
1647 |
*
|
1648 |
-
* @return string $url
|
1649 |
*/
|
1650 |
private function save_wp_attachment( $image_data ) {
|
1651 |
|
1652 |
$image_info = pathinfo( $image_data['url'] );
|
1653 |
|
1654 |
-
if ( !in_array( $image_info['extension'], array( 'jpg', 'jpe', 'jpeg' ) ) ) {
|
1655 |
return false;
|
1656 |
}
|
1657 |
|
@@ -1662,9 +2355,13 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1662 |
'post_excerpt' => $image_data['caption']
|
1663 |
);
|
1664 |
|
1665 |
-
$attachment_metadata
|
|
|
|
|
|
|
|
|
1666 |
$attachment_metadata['sizes'] = array( 'full' => $attachment_metadata );
|
1667 |
-
$id
|
1668 |
wp_update_attachment_metadata( $id, $attachment_metadata );
|
1669 |
|
1670 |
|
@@ -1680,8 +2377,8 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1680 |
/**
|
1681 |
* Add new attachment Description only for instgram images
|
1682 |
*
|
1683 |
-
* @param
|
1684 |
-
* @param
|
1685 |
*
|
1686 |
* @return array
|
1687 |
*/
|
@@ -1689,7 +2386,7 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1689 |
|
1690 |
$instagram_username = get_post_meta( $post->ID, 'jr_insta_username', true );
|
1691 |
|
1692 |
-
if ( !empty( $instagram_username ) ) {
|
1693 |
|
1694 |
$form_fields["jr_insta_username"] = array(
|
1695 |
"label" => __( "Instagram Username" ),
|
@@ -1698,7 +2395,7 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1698 |
);
|
1699 |
|
1700 |
$instagram_link = get_post_meta( $post->ID, 'jr_insta_link', true );
|
1701 |
-
if ( !empty( $instagram_link ) ) {
|
1702 |
$form_fields["jr_insta_link"] = array(
|
1703 |
"label" => __( "Instagram Image" ),
|
1704 |
"input" => "html",
|
@@ -1707,8 +2404,8 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1707 |
}
|
1708 |
|
1709 |
$instagram_date = get_post_meta( $post->ID, 'jr_insta_timestamp', true );
|
1710 |
-
if ( !empty( $instagram_date ) ) {
|
1711 |
-
$instagram_date
|
1712 |
$form_fields["jr_insta_time"] = array(
|
1713 |
"label" => __( "Posted on Instagram" ),
|
1714 |
"input" => "html",
|
@@ -1753,36 +2450,42 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1753 |
* This solution runs in O(n) time BUT assumes that all incoming input is
|
1754 |
* strictly UTF8.
|
1755 |
*
|
1756 |
-
* @param
|
1757 |
*
|
1758 |
-
* @return
|
1759 |
*/
|
1760 |
private function sanitize( $input ) {
|
1761 |
|
1762 |
-
if ( !empty( $input ) ) {
|
1763 |
-
$utf8_2byte = 0xC0 /*1100 0000*/
|
1764 |
-
|
1765 |
-
$
|
1766 |
-
|
1767 |
-
$
|
1768 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1769 |
|
1770 |
$sanitized = "";
|
1771 |
$len = strlen( $input );
|
1772 |
-
for ( $i = 0; $i < $len;
|
1773 |
|
1774 |
-
$mb_char = $input[$i]; // Potentially a multibyte sequence
|
1775 |
$byte = ord( $mb_char );
|
1776 |
|
1777 |
if ( ( $byte & $utf8_2byte_bmask ) == $utf8_2byte ) {
|
1778 |
-
$mb_char .= $input[
|
1779 |
} else if ( ( $byte & $utf8_3byte_bmask ) == $utf8_3byte ) {
|
1780 |
-
$mb_char .= $input[
|
1781 |
-
$mb_char .= $input[
|
1782 |
} else if ( ( $byte & $utf8_4byte_bmask ) == $utf8_4byte ) {
|
1783 |
// Replace with ? to avoid MySQL exception
|
1784 |
$mb_char = '';
|
1785 |
-
$i
|
1786 |
}
|
1787 |
|
1788 |
$sanitized .= $mb_char;
|
@@ -1795,29 +2498,199 @@ class WIS_InstagramSlider extends WP_Widget {
|
|
1795 |
}
|
1796 |
|
1797 |
/**
|
1798 |
-
* @param $token
|
|
|
|
|
1799 |
*
|
1800 |
-
|
1801 |
*/
|
1802 |
-
|
1803 |
-
$
|
1804 |
-
|
|
|
1805 |
'access_token' => $token,
|
1806 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1807 |
);
|
1808 |
-
|
|
|
|
|
|
|
1809 |
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
1810 |
-
$
|
1811 |
-
|
|
|
|
|
|
|
1812 |
|
1813 |
-
|
1814 |
-
|
1815 |
-
|
1816 |
-
|
1817 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1818 |
}
|
|
|
1819 |
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1820 |
}
|
1821 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1822 |
} // end of class WIS_InstagramSlider
|
1823 |
?>
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
* WIS_InstagramSlider Class
|
5 |
*/
|
6 |
class WIS_InstagramSlider extends WP_Widget {
|
7 |
|
8 |
+
private static $app;
|
9 |
+
|
|
|
|
|
|
|
|
|
|
|
10 |
const USERNAME_URL = 'https://www.instagram.com/{username}/';
|
11 |
const TAG_URL = 'https://www.instagram.com/explore/tags/{tag}/?__a=1';
|
12 |
+
//const USERS_SELF_URL = 'https://api.instagram.com/v1/users/self/';
|
13 |
+
//const USERS_SELF_MEDIA_URL = 'https://api.instagram.com/v1/users/self/media/recent/';
|
14 |
+
const USERS_SELF_URL = 'https://graph.instagram.com/me';
|
15 |
+
const USERS_SELF_MEDIA_URL = 'https://graph.instagram.com/';
|
16 |
+
|
17 |
+
const USERS_SELF_URL_NEW = 'https://graph.facebook.com/';
|
18 |
|
19 |
/**
|
20 |
* @var WIS_Plugin
|
26 |
*/
|
27 |
public $sliders;
|
28 |
|
29 |
+
/**
|
30 |
+
* @var array
|
31 |
+
*/
|
32 |
+
public $options_linkto;
|
33 |
+
|
34 |
public static function app() {
|
35 |
return self::$app;
|
36 |
}
|
37 |
+
|
38 |
/**
|
39 |
* Initialize the plugin by registering widget and loading public scripts
|
40 |
*
|
43 |
self::$app = $this;
|
44 |
|
45 |
// Widget ID and Class Setup
|
46 |
+
parent::__construct( 'jr_insta_slider', __( 'Social Slider - Instagram', 'instagram-slider-widget' ), array(
|
47 |
+
'classname' => 'jr-insta-slider',
|
48 |
+
'description' => __( 'A widget that displays a slider with instagram images ', 'instagram-slider-widget' )
|
49 |
+
) );
|
|
|
50 |
|
51 |
+
$this->WIS = WIS_Plugin::app();
|
52 |
+
$this->sliders = array(
|
53 |
"slider" => 'Slider - Normal',
|
54 |
"slider-overlay" => 'Slider - Overlay Text',
|
55 |
"thumbs" => 'Thumbnails',
|
56 |
"thumbs-no-border" => 'Thumbnails - Without Border',
|
57 |
);
|
58 |
+
$this->options_linkto = array(
|
59 |
+
"image_link" => 'Instagram Image',
|
60 |
+
"image_url" => 'Image URL',
|
61 |
+
"custom_url" => 'Custom Link',
|
62 |
+
"none" => 'None'
|
63 |
+
);
|
64 |
+
|
65 |
/**
|
66 |
* Фильтр для добавления слайдеров
|
67 |
*/
|
68 |
+
$this->sliders = apply_filters( 'wis/sliders', $this->sliders );
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Фильтр для добавления popup
|
72 |
+
*/
|
73 |
+
$this->options_linkto = apply_filters( 'wis/options/link_to', $this->options_linkto );
|
74 |
|
75 |
|
76 |
// Shortcode
|
80 |
add_action( 'jr_instagram', array( $this, 'instagram_images' ) );
|
81 |
|
82 |
// Enqueue Plugin Styles and scripts
|
83 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'public_enqueue' ) );
|
84 |
|
85 |
// Enqueue Plugin Styles and scripts for admin pages
|
86 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue' ) );
|
89 |
add_action( 'wp_ajax_jr_delete_insta_dupes', array( $this, 'delete_dupes' ) );
|
90 |
|
91 |
// Add new attachment field desctiptions
|
92 |
+
add_filter( 'attachment_fields_to_edit', array( $this, 'insta_attachment_fields' ), 10, 2 );
|
93 |
|
94 |
// Add action for single cron events
|
95 |
+
add_action( 'jr_insta_cron', array( $this, 'jr_cron_trigger' ), 10, 3 );
|
96 |
|
97 |
+
add_action( 'wp_ajax_wis_add_account_by_token', array( $this, 'add_account_by_token' ) );
|
98 |
|
99 |
add_action( 'wp_ajax_wis_delete_account', array( $this, 'delete_account' ) );
|
100 |
|
106 |
public static function register_widget() {
|
107 |
register_widget( __CLASS__ );
|
108 |
register_sidebar( array(
|
109 |
+
'name' => __( 'Social Slider - Shortcode Generator', 'instagram-slider-widget' ),
|
110 |
+
'id' => 'jr-insta-shortcodes',
|
111 |
+
'description' => __( "1. Drag Social Slider Widget here. 2. Fill in the fields and hit save. 3. Copy the shortocde generated at the bottom of the widget form and use it on posts or pages.", 'instagram-slider-widget' )
|
112 |
+
) );
|
|
|
113 |
}
|
114 |
|
115 |
/**
|
117 |
*/
|
118 |
public function public_enqueue() {
|
119 |
|
120 |
+
wp_enqueue_style( WIS_Plugin::app()->getPrefix() . 'font-awesome', 'https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' );
|
|
|
|
|
121 |
|
122 |
+
wp_enqueue_style( WIS_Plugin::app()->getPrefix() . 'instag-slider', WIS_PLUGIN_URL . '/assets/css/instag-slider.css', array(), WIS_Plugin::app()->getPluginVersion() );
|
123 |
+
wp_enqueue_script( WIS_Plugin::app()->getPrefix() . 'jquery-pllexi-slider', WIS_PLUGIN_URL . '/assets/js/jquery.flexslider-min.js', array( 'jquery' ), WIS_Plugin::app()->getPluginVersion(), false );
|
124 |
+
//wp_enqueue_script( WIS_Plugin::app()->getPrefix() . 'jr-insta', WIS_PLUGIN_URL.'/assets/js/jr-insta.js', array( ), WIS_Plugin::app()->getPluginVersion(), false );
|
125 |
+
wp_enqueue_style( WIS_Plugin::app()->getPrefix() . 'wis-header', WIS_PLUGIN_URL . '/assets/css/wis-header.css', array(), WIS_Plugin::app()->getPluginVersion() );
|
126 |
+
wp_localize_script( WIS_Plugin::app()->getPrefix() . 'jr-insta', 'ajax', array(
|
127 |
+
'url' => admin_url( 'admin-ajax.php' ),
|
128 |
+
'nonce' => wp_create_nonce( "addAccountByToken" ),
|
129 |
+
) );
|
130 |
}
|
131 |
|
132 |
/**
|
133 |
* Enqueue admin side scripts and styles
|
134 |
*
|
135 |
+
* @param string $hook
|
136 |
*/
|
137 |
public function admin_enqueue( $hook ) {
|
138 |
|
139 |
if ( 'widgets.php' != $hook ) {
|
140 |
return;
|
141 |
}
|
142 |
+
wp_enqueue_style( 'jr-insta-admin-styles', WIS_PLUGIN_DIR . '/admin/assets/css/jr-insta-admin.css', array(), WIS_Plugin::app()->getPluginVersion() );
|
143 |
+
wp_enqueue_script( 'jr-insta-admin-script', WIS_PLUGIN_DIR . '/admin/assets/js/jr-insta-admin.js', array( 'jquery' ), WIS_Plugin::app()->getPluginVersion(), true );
|
144 |
|
145 |
}
|
146 |
|
168 |
/**
|
169 |
* Update the widget settings
|
170 |
*
|
171 |
+
* @param array $new_instance New instance values
|
172 |
+
* @param array $instance Old instance values
|
173 |
*
|
174 |
* @return array
|
175 |
*/
|
176 |
public function update( $new_instance, $instance ) {
|
177 |
|
178 |
+
$instance['title'] = strip_tags( isset( $new_instance['title'] ) ? $new_instance['title'] : null );
|
179 |
+
$instance['search_for'] = isset( $new_instance['search_for'] ) ? $new_instance['search_for'] : null;
|
180 |
+
$instance['username'] = isset( $new_instance['username'] ) ? $new_instance['username'] : null;
|
181 |
+
$instance['account'] = isset( $new_instance['account'] ) ? $new_instance['account'] : null;
|
182 |
+
$instance['account_business'] = isset( $new_instance['account_business'] ) ? $new_instance['account_business'] : null;
|
183 |
+
$instance['hashtag'] = isset( $new_instance['hashtag'] ) ? $new_instance['hashtag'] : null;
|
184 |
+
$instance['blocked_users'] = isset( $new_instance['blocked_users'] ) ? $new_instance['blocked_users'] : null;
|
185 |
+
$instance['blocked_words'] = isset( $new_instance['blocked_words'] ) ? $new_instance['blocked_words'] : null;
|
186 |
+
$instance['allowed_words'] = isset( $new_instance['allowed_words'] ) ? $new_instance['allowed_words'] : null;
|
187 |
+
$instance['attachment'] = isset( $new_instance['attachment'] ) ? $new_instance['attachment'] : null;
|
188 |
+
$instance['template'] = isset( $new_instance['template'] ) ? $new_instance['template'] : 'slider';
|
189 |
+
$instance['images_link'] = isset( $new_instance['images_link'] ) ? $new_instance['images_link'] : 'image_link';
|
190 |
+
$instance['custom_url'] = isset( $new_instance['custom_url'] ) ? $new_instance['custom_url'] : null;
|
191 |
+
$instance['orderby'] = isset( $new_instance['orderby'] ) ? $new_instance['orderby'] : 'rand';
|
192 |
+
$instance['images_number'] = isset( $new_instance['images_number'] ) ? $new_instance['images_number'] : 20;
|
193 |
+
$instance['columns'] = isset( $new_instance['columns'] ) ? $new_instance['columns'] : 4;
|
194 |
+
$instance['refresh_hour'] = isset( $new_instance['refresh_hour'] ) ? $new_instance['refresh_hour'] : 5;
|
195 |
+
$instance['slick_img_size'] = isset( $new_instance['slick_img_size'] ) ? $new_instance['slick_img_size'] : 300;
|
196 |
+
$instance['image_size'] = isset( $new_instance['image_size'] ) ? $new_instance['image_size'] : 'standard';
|
197 |
+
$instance['image_link_rel'] = isset( $new_instance['image_link_rel'] ) ? $new_instance['image_link_rel'] : null;
|
198 |
+
$instance['image_link_class'] = isset( $new_instance['image_link_class'] ) ? $new_instance['image_link_class'] : null;
|
199 |
+
$instance['no_pin'] = isset( $new_instance['no_pin'] ) ? $new_instance['no_pin'] : null;
|
200 |
+
$instance['shopifeed_phone'] = isset( $new_instance['shopifeed_phone'] ) ? $new_instance['shopifeed_phone'] : '';
|
201 |
+
$instance['shopifeed_color'] = isset( $new_instance['shopifeed_color'] ) ? $new_instance['shopifeed_color'] : "#DA004A";
|
202 |
+
$instance['shopifeed_columns'] = isset( $new_instance['shopifeed_columns'] ) ? $new_instance['shopifeed_columns'] : 3;
|
203 |
+
$instance['controls'] = isset( $new_instance['controls'] ) ? $new_instance['controls'] : 'prev_next';
|
204 |
+
$instance['animation'] = isset( $new_instance['animation'] ) ? $new_instance['animation'] : 'slide';
|
205 |
+
$instance['caption_words'] = isset( $new_instance['caption_words'] ) ? $new_instance['caption_words'] : 20;
|
206 |
+
$instance['slidespeed'] = isset( $new_instance['slidespeed'] ) ? $new_instance['slidespeed'] : 7000;
|
207 |
+
$instance['description'] = isset( $new_instance['description'] ) ? $new_instance['description'] : array(
|
208 |
+
'username',
|
209 |
+
'time',
|
210 |
+
'caption'
|
211 |
+
);
|
212 |
+
$instance['support_author'] = isset( $new_instance['support_author'] ) ? $new_instance['support_author'] : null;
|
213 |
+
$instance['gutter'] = isset( $new_instance['gutter'] ) ? $new_instance['gutter'] : null;
|
214 |
+
$instance['masonry_image_width'] = isset( $new_instance['masonry_image_width'] ) ? $new_instance['masonry_image_width'] : 200;
|
215 |
+
$instance['slick_slides_to_show'] = isset( $new_instance['slick_slides_to_show'] ) ? $new_instance['slick_slides_to_show'] : 3;
|
216 |
+
$instance['enable_control_buttons'] = isset( $new_instance['enable_control_buttons'] ) ? $new_instance['enable_control_buttons'] : 0;
|
217 |
+
$instance['keep_ratio'] = isset( $new_instance['keep_ratio'] ) ? $new_instance['keep_ratio'] : 0;
|
218 |
+
$instance['keep_ratio'] = isset( $new_instance['keep_ratio'] ) ? $new_instance['keep_ratio'] : 0;
|
219 |
+
$instance['enable_ad'] = isset( $new_instance['enable_ad'] ) ? $new_instance['enable_ad'] : 0;
|
220 |
+
$instance['slick_slides_padding'] = isset( $new_instance['slick_slides_padding'] ) ? $new_instance['slick_slides_padding'] : 0;
|
221 |
+
$instance['show_feed_header'] = isset( $new_instance['show_feed_header'] ) ? $new_instance['show_feed_header'] : 0;
|
222 |
+
$instance['highlight_offset'] = isset( $new_instance['highlight_offset'] ) ? $new_instance['highlight_offset'] : 1;
|
223 |
+
$instance['highlight_pattern'] = isset( $new_instance['highlight_pattern'] ) ? $new_instance['highlight_pattern'] : 6;
|
224 |
|
225 |
return $instance;
|
226 |
}
|
232 |
*/
|
233 |
public function form( $instance ) {
|
234 |
|
235 |
+
$accounts = WIS_Plugin::app()->getPopulateOption( 'account_profiles', array() );
|
236 |
+
$accounts_business = WIS_Plugin::app()->getPopulateOption( 'account_profiles_new', array() );
|
237 |
+
if ( ! is_array( $accounts ) ) {
|
238 |
+
$accounts = array();
|
239 |
+
}
|
240 |
+
if ( ! is_array( $accounts_business ) ) {
|
241 |
+
$accounts_business = array();
|
242 |
+
}
|
243 |
+
$sliders = $this->sliders;
|
244 |
+
$options_linkto = $this->options_linkto;
|
245 |
|
246 |
+
if ( count( $accounts ) ) {
|
247 |
+
$s_for = 'account';
|
248 |
+
} else if ( count( $accounts_business ) ) {
|
249 |
+
$s_for = 'account_business';
|
250 |
+
} else {
|
251 |
+
$s_for = 'username';
|
252 |
+
}
|
253 |
$defaults = array(
|
254 |
+
'title' => __( 'Social Slider', 'instagram-slider-widget' ),
|
255 |
+
'search_for' => $s_for,
|
256 |
+
'account' => '',
|
257 |
+
'account_business' => '',
|
258 |
+
'username' => '',
|
259 |
+
'hashtag' => '',
|
260 |
+
'blocked_users' => '',
|
261 |
+
'blocked_words' => '',
|
262 |
+
'allowed_words' => '',
|
263 |
+
'attachment' => 0,
|
264 |
+
'template' => 'slider',
|
265 |
+
'images_link' => 'image_link',
|
266 |
+
'custom_url' => '',
|
267 |
+
'orderby' => 'rand',
|
268 |
+
'images_number' => 20,
|
269 |
+
'columns' => 4,
|
270 |
+
'refresh_hour' => 5,
|
271 |
+
'slick_img_size' => 300,
|
272 |
+
'image_size' => 'standard',
|
273 |
+
'image_link_rel' => '',
|
274 |
+
'image_link_class' => '',
|
275 |
+
'no_pin' => 0,
|
276 |
+
'controls' => 'prev_next',
|
277 |
+
'animation' => 'slide',
|
278 |
+
'caption_words' => 20,
|
279 |
+
'shopifeed_phone' => '',
|
280 |
+
'shopifeed_color' => "#DA004A",
|
281 |
+
'shopifeed_columns' => 3,
|
282 |
+
'slidespeed' => 7000,
|
283 |
+
'description' => array( 'username', 'time', 'caption' ),
|
284 |
+
'support_author' => 0,
|
285 |
+
'gutter' => 0,
|
286 |
+
'masonry_image_width' => 200,
|
287 |
'slick_slides_to_show' => 3,
|
288 |
+
'enable_control_buttons' => 0,
|
289 |
+
'keep_ratio' => 0,
|
290 |
+
'enable_ad' => 0,
|
291 |
+
'slick_slides_padding' => 0,
|
292 |
+
'show_feed_header' => 1,
|
293 |
+
'highlight_offset' => 1,
|
294 |
+
'highlight_pattern' => 6,
|
295 |
);
|
296 |
|
297 |
$instance = wp_parse_args( (array) $instance, $defaults );
|
299 |
?>
|
300 |
<div class="jr-container">
|
301 |
<p>
|
302 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><strong><?php _e( 'Title:', 'instagram-slider-widget' ); ?></strong></label>
|
303 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
|
304 |
+
name="<?php echo $this->get_field_name( 'title' ); ?>"
|
305 |
+
value="<?php echo $instance['title']; ?>"/>
|
306 |
</p>
|
307 |
<p>
|
308 |
<strong><?php _e( 'Search Instagram for:', 'instagram-slider-widget' ); ?></strong>
|
309 |
<span class="jr-search-for-container">
|
310 |
<label class="jr-seach-for">
|
311 |
+
<input type="radio" id="<?php echo $this->get_field_id( 'search_for' ); ?>"
|
312 |
+
name="<?php echo $this->get_field_name( 'search_for' ); ?>"
|
313 |
+
value="account" <?php checked( 'account', $instance['search_for'] ); ?> />
|
314 |
<?php _e( 'Account:', 'instagram-slider-widget' ); ?>
|
315 |
</label>
|
316 |
+
<?php
|
317 |
+
if ( count( $accounts ) ) {
|
318 |
+
?>
|
319 |
+
|
320 |
+
<select id="<?php echo $this->get_field_id( 'account' ); ?>" class=""
|
321 |
+
name="<?php echo $this->get_field_name( 'account' ); ?>"><?php
|
322 |
+
foreach ( $accounts as $acc ) {
|
323 |
+
$selected = $instance['account'] == $acc['username'] ? "selected='selected'" : "";
|
324 |
+
echo "<option value='{$acc['username']}' {$selected}>{$acc['username']}</option>";
|
325 |
+
}
|
326 |
+
?>
|
|
|
327 |
</select><?php
|
328 |
+
} else {
|
329 |
+
echo "<a href='" . admin_url( 'admin.php?page=settings-wisw' ) . "'>" . __( 'Add account in settings', 'instagram-slider-widget' ) . "</a>";
|
330 |
}
|
331 |
+
?>
|
332 |
+
</span>
|
333 |
+
<span class="jr-search-for-container">
|
334 |
+
<label class="jr-seach-for">
|
335 |
+
<input type="radio" id="<?php echo $this->get_field_id( 'search_for' ); ?>"
|
336 |
+
name="<?php echo $this->get_field_name( 'search_for' ); ?>"
|
337 |
+
value="account_business" <?php checked( 'account_business', $instance['search_for'] ); ?> />
|
338 |
+
<?php _e( 'Business account:', 'instagram-slider-widget' ); ?>
|
339 |
+
</label>
|
340 |
+
<?php
|
341 |
+
if ( count( $accounts_business ) ) {
|
342 |
+
?>
|
343 |
+
|
344 |
+
<select id="<?php echo $this->get_field_id( 'account_business' ); ?>" class=""
|
345 |
+
name="<?php echo $this->get_field_name( 'account_business' ); ?>"><?php
|
346 |
+
foreach ( $accounts_business as $acc ) {
|
347 |
+
$selected = $instance['account_business'] == $acc['username'] ? "selected='selected'" : "";
|
348 |
+
echo "<option value='{$acc['username']}' {$selected}>{$acc['username']}</option>";
|
349 |
+
}
|
350 |
+
?>
|
351 |
+
</select><?php
|
352 |
+
} else {
|
353 |
+
echo "<a href='" . admin_url( 'admin.php?page=settings-wisw' ) . "'>" . __( 'Add account in settings', 'instagram-slider-widget' ) . "</a>";
|
354 |
}
|
355 |
?>
|
356 |
</span>
|
357 |
+
<span class="jr-search-for-container"><label class="jr-seach-for"><input type="radio"
|
358 |
+
id="<?php echo $this->get_field_id( 'search_for' ); ?>"
|
359 |
+
name="<?php echo $this->get_field_name( 'search_for' ); ?>"
|
360 |
+
value="username" <?php checked( 'username', $instance['search_for'] ); ?> /> <?php _e( 'Username:', 'instagram-slider-widget' ); ?></label> <input
|
361 |
+
id="<?php echo $this->get_field_id( 'username' ); ?>" class="inline-field-text"
|
362 |
+
name="<?php echo $this->get_field_name( 'username' ); ?>"
|
363 |
+
value="<?php echo $instance['username']; ?>"/></span>
|
364 |
+
<span class="jr-search-for-container"><label class="jr-seach-for"><input type="radio"
|
365 |
+
id="<?php echo $this->get_field_id( 'search_for' ); ?>"
|
366 |
+
name="<?php echo $this->get_field_name( 'search_for' ); ?>"
|
367 |
+
value="hashtag" <?php checked( 'hashtag', $instance['search_for'] ); ?> /> <?php _e( 'Hashtag:', 'instagram-slider-widget' ); ?></label> <input
|
368 |
+
id="<?php echo $this->get_field_id( 'hashtag' ); ?>" class="inline-field-text"
|
369 |
+
name="<?php echo $this->get_field_name( 'hashtag' ); ?>"
|
370 |
+
value="<?php echo $instance['hashtag']; ?>"
|
371 |
+
placeholder="<?php _e( 'without # sign', 'instagram-slider-widget' ) ?>"/></span>
|
372 |
+
</p>
|
373 |
+
<p class="<?php if ( 'hashtag' != $instance['search_for'] ) {
|
374 |
+
echo 'hidden';
|
375 |
+
} ?>">
|
376 |
+
<label for="<?php echo $this->get_field_id( 'blocked_users' ); ?>"><?php _e( 'Block Users', 'instagram-slider-widget' ); ?>
|
377 |
+
:</label>
|
378 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'blocked_users' ); ?>"
|
379 |
+
name="<?php echo $this->get_field_name( 'blocked_users' ); ?>"
|
380 |
+
value="<?php echo $instance['blocked_users']; ?>"/>
|
381 |
+
<span class="jr-description"><?php _e( 'Enter words separated by commas whose images you don\'t want to show', 'instagram-slider-widget' ); ?></span>
|
382 |
+
</p>
|
383 |
+
<p class="<?php if ( 'hashtag' == $instance['search_for'] ) {
|
384 |
+
echo 'hidden';
|
385 |
+
} ?>">
|
386 |
+
<label for="<?php echo $this->get_field_id( 'blocked_words' ); ?>"><?php _e( 'Block words', 'instagram-slider-widget' ); ?>
|
387 |
+
:</label>
|
388 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'blocked_words' ); ?>"
|
389 |
+
name="<?php echo $this->get_field_name( 'blocked_words' ); ?>"
|
390 |
+
value="<?php echo $instance['blocked_words']; ?>"/>
|
391 |
+
<span class="jr-description"><?php _e( 'Enter comma-separated words. If one of them occurs in the image description, the image will not be displayed', 'instagram-slider-widget' ); ?></span>
|
392 |
</p>
|
393 |
+
<p class="<?php if ( 'hashtag' == $instance['search_for'] ) {
|
394 |
+
echo 'hidden';
|
395 |
+
} ?>">
|
396 |
+
<label for="<?php echo $this->get_field_id( 'allowed_words' ); ?>"><?php _e( 'Allow words', 'instagram-slider-widget' ); ?>
|
397 |
+
:</label>
|
398 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'allowed_words' ); ?>"
|
399 |
+
name="<?php echo $this->get_field_name( 'allowed_words' ); ?>"
|
400 |
+
value="<?php echo $instance['allowed_words']; ?>"/>
|
401 |
+
<span class="jr-description"><?php _e( 'Enter comma-separated words. If one of them occurs in the image description, the image will be displayed', 'instagram-slider-widget' ); ?></span>
|
402 |
</p>
|
403 |
+
<p class="<?php if ( 'username' != $instance['search_for'] ) {
|
404 |
+
echo 'hidden';
|
405 |
+
} ?>"><strong><?php _e( 'Save in Media Library: ', 'instagram-slider-widget' ); ?></strong>
|
406 |
|
407 |
<label class="switch" for="<?php echo $this->get_field_id( 'attachment' ); ?>">
|
408 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'attachment' ); ?>"
|
409 |
+
name="<?php echo $this->get_field_name( 'attachment' ); ?>" type="checkbox"
|
410 |
+
value="1" <?php checked( '1', $instance['attachment'] ); ?> /><span
|
411 |
+
class="slider round"></span></label>
|
412 |
+
<br><span
|
413 |
+
class="jr-description"><?php _e( ' Turn on to save Instagram Images into WordPress media library.', 'instagram-slider-widget' ) ?></span>
|
414 |
<?php
|
415 |
+
if ( isset ( $instance['username'] ) && ! empty( $instance['username'] ) ) {
|
416 |
+
echo '<br><button class="button action jr-delete-instagram-dupes" type="button" data-username="' . $instance['username'] . '"><strong>Remove</strong> duplicate images for <strong>' . $instance['username'] . '</strong></button><span class="jr-spinner"></span>';
|
417 |
echo '<br><br><strong><span class="deleted-dupes-info"></span></strong>';
|
418 |
wp_nonce_field( 'jr_delete_instagram_dupes', 'delete_insta_dupes_nonce' );
|
419 |
}
|
420 |
?>
|
421 |
</p>
|
422 |
<p id="img_to_show">
|
423 |
+
<label for="<?php echo $this->get_field_id( 'images_number' ); ?>"><strong><?php _e( 'Count of images to show:', 'instagram-slider-widget' ); ?></strong>
|
424 |
+
<input class="small-text" type="number" min="1" max=""
|
425 |
+
id="<?php echo $this->get_field_id( 'images_number' ); ?>"
|
426 |
+
name="<?php echo $this->get_field_name( 'images_number' ); ?>"
|
427 |
+
value="<?php echo $instance['images_number']; ?>"/>
|
428 |
<span class="jr-description">
|
429 |
+
<?php if ( ! $this->WIS->is_premium() ) {
|
430 |
+
_e( 'Maximum 20 images in free version.', 'instagram-slider-widget' );
|
431 |
+
echo " " . sprintf( __( "More in <a href='%s'>PRO version</a>", 'instagram-slider-widget' ), $this->WIS->get_support()->get_pricing_url( true, "wis_widget_settings" ) );
|
432 |
+
}
|
433 |
+
?>
|
434 |
</span>
|
435 |
</label>
|
436 |
</p>
|
437 |
<p>
|
438 |
<label for="<?php echo $this->get_field_id( 'refresh_hour' ); ?>"><strong><?php _e( 'Check for new images every:', 'instagram-slider-widget' ); ?></strong>
|
439 |
+
<input class="small-text" type="number" min="1" max="200"
|
440 |
+
id="<?php echo $this->get_field_id( 'refresh_hour' ); ?>"
|
441 |
+
name="<?php echo $this->get_field_name( 'refresh_hour' ); ?>"
|
442 |
+
value="<?php echo $instance['refresh_hour']; ?>"/>
|
443 |
+
<span><?php _e( 'hours', 'instagram-slider-widget' ); ?></span>
|
444 |
</label>
|
445 |
</p>
|
446 |
+
<p class="show_feed_header <?php if ( 'account_business' != $instance['search_for'] ) {
|
447 |
+
echo 'hidden';
|
448 |
+
} ?>">
|
449 |
<strong><?php _e( 'Show feed header:', 'instagram-slider-widget' ); ?></strong>
|
450 |
<label class="switch" for="<?php echo $this->get_field_id( 'show_feed_header' ); ?>">
|
451 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'show_feed_header' ); ?>"
|
452 |
+
name="<?php echo $this->get_field_name( 'show_feed_header' ); ?>" type="checkbox"
|
453 |
+
value="1" <?php checked( '1', $instance['show_feed_header'] ); ?> />
|
454 |
<span class="slider round"></span>
|
455 |
</label>
|
456 |
</p>
|
457 |
<p>
|
458 |
<label for="<?php echo $this->get_field_id( 'template' ); ?>"><strong><?php _e( 'Template', 'instagram-slider-widget' ); ?></strong>
|
459 |
+
<select class="widefat" name="<?php echo $this->get_field_name( 'template' ); ?>"
|
460 |
+
id="<?php echo $this->get_field_id( 'template' ); ?>">
|
461 |
+
<?php
|
462 |
+
if ( count( $sliders ) ) {
|
463 |
+
foreach ( $sliders as $key => $slider ) {
|
464 |
+
$selected = ( $instance['template'] == $key ) ? "selected='selected'" : '';
|
465 |
+
echo "<option value='{$key}' {$selected}>{$slider}</option>\n";
|
466 |
+
}
|
467 |
+
}
|
468 |
+
if ( ! $this->WIS->is_premium() ) {
|
469 |
+
?>
|
470 |
<optgroup label="Available in PRO">
|
471 |
+
<option value='slick_slider' disabled="disabled">Slick</option>
|
472 |
+
<option value='masonry' disabled="disabled">Masonry</option>
|
473 |
+
<option value='highlight' disabled="disabled">Highlight</option>
|
474 |
+
</optgroup>
|
475 |
+
<?php
|
476 |
+
}
|
477 |
+
if( !defined('SPFD_PLUGIN_ACTIVE') ){
|
478 |
+
?>
|
479 |
+
<optgroup label="Available in Shopifeed Addon">
|
480 |
+
<option value='showcase' disabled="disabled">Shopifeed - Thumbnails</option>
|
481 |
+
</optgroup>
|
482 |
+
<?php
|
483 |
+
} elseif (!Shopifeed::app()->is_premium()){
|
484 |
+
?>
|
485 |
+
<optgroup label="Available in Shopifeed Addon">
|
486 |
+
<option value='showcase' disabled="disabled">Shopifeed - Thumbnails</option>
|
487 |
</optgroup>
|
488 |
+
<?php
|
489 |
}
|
490 |
+
?>
|
491 |
</select>
|
492 |
</label>
|
493 |
</p>
|
494 |
+
<span id="masonry_notice"
|
495 |
+
class="masonry_notice jr-description <?php if ( 'masonry' != $instance['template'] ) {
|
496 |
+
echo 'hidden';
|
497 |
+
} ?>"><?php _e( "Not recommended for <strong>sidebar</strong>" ) ?></span>
|
498 |
+
<p class="<?php if ( 'thumbs' != $instance['template'] && 'thumbs-no-border' != $instance['template'] ) {
|
499 |
+
echo 'hidden';
|
500 |
+
} ?>">
|
501 |
+
<label for="<?php echo $this->get_field_id( 'columns' ); ?>"><strong><?php _e( 'Number of Columns:', 'instagram-slider-widget' ); ?></strong>
|
502 |
+
<input class="small-text" id="<?php echo $this->get_field_id( 'columns' ); ?>"
|
503 |
+
name="<?php echo $this->get_field_name( 'columns' ); ?>"
|
504 |
+
value="<?php echo $instance['columns']; ?>"/>
|
505 |
+
<span class='jr-description'><?php _e( 'max is 10 ( only for thumbnails template )', 'instagram-slider-widget' ); ?></span>
|
506 |
</label>
|
507 |
</p>
|
508 |
+
<p class="masonry_settings <?php if ( 'masonry' != $instance['template'] ) {
|
509 |
+
echo 'hidden';
|
510 |
+
} ?>">
|
511 |
+
<label for="<?php echo $this->get_field_id( 'gutter' ); ?>"><strong><?php _e( 'Vertical space between item elements:', 'instagram-slider-widget' ); ?></strong>
|
512 |
+
<input class="small-text" id="<?php echo $this->get_field_id( 'gutter' ); ?>"
|
513 |
+
name="<?php echo $this->get_field_name( 'gutter' ); ?>"
|
514 |
+
value="<?php echo $instance['gutter']; ?>"/>
|
515 |
+
<span><?php _e( 'px', 'instagram-slider-widget' ); ?></span>
|
516 |
</label>
|
517 |
<br>
|
518 |
+
<label for="<?php echo $this->get_field_id( 'masonry_image_width' ); ?>"><strong><?php _e( 'Image width:', 'instagram-slider-widget' ); ?></strong>
|
519 |
+
<input class="small-text" id="<?php echo $this->get_field_id( 'masonry_image_width' ); ?>"
|
520 |
+
name="<?php echo $this->get_field_name( 'masonry_image_width' ); ?>"
|
521 |
+
value="<?php echo $instance['masonry_image_width']; ?>"/>
|
522 |
+
<span><?php _e( 'px', 'instagram-slider-widget' ); ?></span>
|
523 |
</label>
|
524 |
</p>
|
525 |
+
<p class="slick_settings <?php if ( 'slick_slider' != $instance['template'] ) {
|
526 |
+
echo 'hidden';
|
527 |
+
} ?>">
|
528 |
+
<strong><?php _e( 'Enable control buttons:', 'instagram-slider-widget' ); ?></strong>
|
529 |
+
<label class="switch" for="<?php echo $this->get_field_id( 'enable_control_buttons' ); ?>">
|
530 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'enable_control_buttons' ); ?>"
|
531 |
+
name="<?php echo $this->get_field_name( 'enable_control_buttons' ); ?>" type="checkbox"
|
532 |
+
value="1" <?php checked( '1', $instance['enable_control_buttons'] ); ?> />
|
533 |
+
<span class="slider round"></span>
|
534 |
+
</label>
|
535 |
+
<br>
|
536 |
+
<strong><?php _e( 'Keep 1x1 Instagram ratio:', 'instagram-slider-widget' ); ?></strong>
|
537 |
+
<label class="switch" for="<?php echo $this->get_field_id( 'keep_ratio' ); ?>">
|
538 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'keep_ratio' ); ?>"
|
539 |
+
name="<?php echo $this->get_field_name( 'keep_ratio' ); ?>" type="checkbox"
|
540 |
+
value="1" <?php checked( '1', $instance['keep_ratio'] ); ?> />
|
541 |
+
<span class="slider round"></span>
|
542 |
+
</label>
|
543 |
+
<br>
|
544 |
+
<label class="slick_img_size" for="<?php echo $this->get_field_id( 'slick_img_size' ); ?>"><strong><?php _e( 'Images size: ', 'instagram-slider-widget' ); ?></strong>
|
545 |
+
<input class="small-text" type="number" min="1" max="500" step="1"
|
546 |
+
id="<?php echo $this->get_field_id( 'slick_img_size' ); ?>"
|
547 |
+
name="<?php echo $this->get_field_name( 'slick_img_size' ); ?>"
|
548 |
+
value="<?php echo $instance['slick_img_size']; ?>"/>
|
549 |
+
<span><?php _e( 'px', 'instagram-slider-widget' ); ?></span>
|
550 |
+
</label>
|
551 |
+
<br>
|
552 |
+
<label for="<?php echo $this->get_field_id( 'slick_slides_to_show' ); ?>"><strong><?php _e( 'Pictures per slide:', 'instagram-slider-widget' ); ?></strong>
|
553 |
+
<input class="small-text" id="<?php echo $this->get_field_id( 'slick_slides_to_show' ); ?>"
|
554 |
+
name="<?php echo $this->get_field_name( 'slick_slides_to_show' ); ?>"
|
555 |
+
value="<?php echo $instance['slick_slides_to_show']; ?>"/>
|
556 |
+
<span><?php _e( 'pictures', 'instagram-slider-widget' ); ?></span>
|
557 |
</label>
|
558 |
<br>
|
559 |
<strong><?php _e( 'Space between pictures:', 'instagram-slider-widget' ); ?></strong>
|
560 |
<label class="switch" for="<?php echo $this->get_field_id( 'slick_slides_padding' ); ?>">
|
561 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'slick_slides_padding' ); ?>"
|
562 |
+
name="<?php echo $this->get_field_name( 'slick_slides_padding' ); ?>" type="checkbox"
|
563 |
+
value="1" <?php checked( '1', $instance['slick_slides_padding'] ); ?> />
|
564 |
<span class="slider round"></span>
|
565 |
</label>
|
566 |
+
<br>
|
567 |
</p>
|
568 |
+
<p class="highlight_settings <?php if ( 'highlight' != $instance['template'] ) {
|
569 |
+
echo 'hidden';
|
570 |
+
} ?>">
|
571 |
+
<label for="<?php echo $this->get_field_id( 'highlight_offset' ); ?>"><strong><?php _e( 'Offset', 'instagram-slider-widget' ); ?></strong>
|
572 |
+
<input type="number" min="1" class="small-text"
|
573 |
+
id="<?php echo $this->get_field_id( 'highlight_offset' ); ?>"
|
574 |
+
name="<?php echo $this->get_field_name( 'highlight_offset' ); ?>"
|
575 |
+
value="<?php echo $instance['highlight_offset']; ?>"/>
|
576 |
</label>
|
577 |
<br>
|
578 |
+
<label for="<?php echo $this->get_field_id( 'highlight_pattern' ); ?>"><strong><?php _e( 'Pattern', 'instagram-slider-widget' ); ?></strong>
|
579 |
+
<input type="number" min="0" class="small-text"
|
580 |
+
id="<?php echo $this->get_field_id( 'highlight_pattern' ); ?>"
|
581 |
+
name="<?php echo $this->get_field_name( 'highlight_pattern' ); ?>"
|
582 |
+
value="<?php echo $instance['highlight_pattern']; ?>"/>
|
583 |
</label>
|
584 |
</p>
|
585 |
+
<p class="shopifeed_settings <?php if ( 'showcase' != $instance['template'] ) {
|
586 |
+
echo 'hidden';
|
587 |
+
} ?>">
|
588 |
+
<label for="<?php echo $this->get_field_id( 'shopifeed_phone' ); ?>"><strong><?php _e( 'Phone', 'instagram-slider-widget' ); ?></strong>
|
589 |
+
<input type="text" class="shopifeed_phone"
|
590 |
+
id="<?php echo $this->get_field_id( 'shopifeed_phone' ); ?>"
|
591 |
+
name="<?php echo $this->get_field_name( 'shopifeed_phone' ); ?>"
|
592 |
+
value="<?php echo $instance['shopifeed_phone']; ?>"/>
|
593 |
+
<span id="" class="jr-description"><?php _e( "Use for whatsapp messages" ) ?></span>
|
594 |
+
</label>
|
595 |
+
<label for="<?php echo $this->get_field_id( 'shopifeed_color' ); ?>"><strong><?php _e( 'Buttons Color', 'instagram-slider-widget' ); ?></strong>
|
596 |
+
<input type="color" class="shopifeed_color"
|
597 |
+
id="<?php echo $this->get_field_id( 'shopifeed_color' ); ?>"
|
598 |
+
name="<?php echo $this->get_field_name( 'shopifeed_color' ); ?>"
|
599 |
+
value="<?php echo $instance['shopifeed_color']; ?>"
|
600 |
+
style="border: none !important;"/>
|
601 |
+
</label>
|
602 |
|
|
|
|
|
|
|
|
|
603 |
<br>
|
604 |
+
<label for="<?php echo $this->get_field_id( 'shopifeed_columns' ); ?>"><strong><?php _e( 'Columns count', 'instagram-slider-widget' ); ?></strong>
|
605 |
+
<input type="number" class="shopifeed_columns" min="1" max="6" step="1"
|
606 |
+
id="<?php echo $this->get_field_id( 'shopifeed_columns' ); ?>"
|
607 |
+
name="<?php echo $this->get_field_name( 'shopifeed_columns' ); ?>"
|
608 |
+
value="<?php echo $instance['shopifeed_columns']; ?>"/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
609 |
</label>
|
610 |
</p>
|
611 |
+
<p class="slider_normal_settings jr-slider-options <?php if ( 'slider' != $instance['template'] || 'slider-overlay' != $instance['template'] ) {
|
612 |
+
echo 'hidden';
|
613 |
+
} ?>">
|
614 |
+
|
615 |
+
<?php _e( 'Slider Navigation Controls:', 'instagram-slider-widget' ); ?><br>
|
616 |
+
<label class="jr-radio"><input type="radio" id="<?php echo $this->get_field_id( 'controls' ); ?>"
|
617 |
+
name="<?php echo $this->get_field_name( 'controls' ); ?>"
|
618 |
+
value="prev_next" <?php checked( 'prev_next', $instance['controls'] ); ?> /> <?php _e( 'Prev & Next', 'instagram-slider-widget' ); ?>
|
619 |
+
</label>
|
620 |
+
<label class="jr-radio"><input type="radio" id="<?php echo $this->get_field_id( 'controls' ); ?>"
|
621 |
+
name="<?php echo $this->get_field_name( 'controls' ); ?>"
|
622 |
+
value="numberless" <?php checked( 'numberless', $instance['controls'] ); ?> /> <?php _e( 'Dotted', 'instagram-slider-widget' ); ?>
|
623 |
+
</label>
|
624 |
+
<label class="jr-radio"><input type="radio" id="<?php echo $this->get_field_id( 'controls' ); ?>"
|
625 |
+
name="<?php echo $this->get_field_name( 'controls' ); ?>"
|
626 |
+
value="none" <?php checked( 'none', $instance['controls'] ); ?> /> <?php _e( 'No Navigation', 'instagram-slider-widget' ); ?>
|
627 |
+
</label>
|
628 |
+
<br>
|
629 |
+
<?php _e( 'Slider Animation:', 'instagram-slider-widget' ); ?><br>
|
630 |
+
<label class="jr-radio"><input type="radio" id="<?php echo $this->get_field_id( 'animation' ); ?>"
|
631 |
+
name="<?php echo $this->get_field_name( 'animation' ); ?>"
|
632 |
+
value="slide" <?php checked( 'slide', $instance['animation'] ); ?> /> <?php _e( 'Slide', 'instagram-slider-widget' ); ?>
|
633 |
+
</label>
|
634 |
+
<label class="jr-radio"><input type="radio" id="<?php echo $this->get_field_id( 'animation' ); ?>"
|
635 |
+
name="<?php echo $this->get_field_name( 'animation' ); ?>"
|
636 |
+
value="fade" <?php checked( 'fade', $instance['animation'] ); ?> /> <?php _e( 'Fade', 'instagram-slider-widget' ); ?>
|
637 |
+
</label>
|
638 |
+
<br>
|
639 |
+
<label for="<?php echo $this->get_field_id( 'slidespeed' ); ?>"><?php _e( 'Slide Speed:', 'instagram-slider-widget' ); ?>
|
640 |
+
<input type="number" min="1000" max="10000" step="100" class="small-text"
|
641 |
+
id="<?php echo $this->get_field_id( 'slidespeed' ); ?>"
|
642 |
+
name="<?php echo $this->get_field_name( 'slidespeed' ); ?>"
|
643 |
+
value="<?php echo $instance['slidespeed']; ?>"/>
|
644 |
+
<span><?php _e( 'milliseconds', 'instagram-slider-widget' ); ?></span>
|
645 |
+
<span class='jr-description'><?php _e( '1000 milliseconds = 1 second', 'instagram-slider-widget' ); ?></span>
|
646 |
+
</label>
|
647 |
+
<label for="<?php echo $this->get_field_id( 'description' ); ?>"><?php _e( 'Slider Text Description:', 'instagram-slider-widget' ); ?></label>
|
648 |
+
<select size=3 class='widefat' id="<?php echo $this->get_field_id( 'description' ); ?>"
|
649 |
+
name="<?php echo $this->get_field_name( 'description' ); ?>[]" multiple="multiple">
|
650 |
+
<option class="<?php if ( 'hashtag' == $instance['search_for'] ) {
|
651 |
+
echo 'hidden';
|
652 |
+
} ?>"
|
653 |
+
value='username' <?php $this->selected( $instance['description'], 'username' ); ?>><?php _e( 'Username', 'instagram-slider-widget' ); ?></option>
|
654 |
+
<option value='time'<?php $this->selected( $instance['description'], 'time' ); ?>><?php _e( 'Time', 'instagram-slider-widget' ); ?></option>
|
655 |
+
<option value='caption'<?php $this->selected( $instance['description'], 'caption' ); ?>><?php _e( 'Caption', 'instagram-slider-widget' ); ?></option>
|
656 |
</select>
|
657 |
+
<span class="jr-description"><?php _e( 'Hold ctrl and click the fields you want to show/hide on your slider. Leave all unselected to hide them all. Default all selected.', 'instagram-slider-widget' ) ?></span>
|
658 |
+
</p>
|
659 |
+
<p class="words_in_caption <?php if ( 'thumbs' == $instance['template'] || 'thumbs-no-border' == $instance['template'] || 'highlight' == $instance['template'] || 'slick_slider' == $instance['template'] ) {
|
660 |
+
echo 'hidden';
|
661 |
+
} ?>">
|
662 |
+
<label for="<?php echo $this->get_field_id( 'caption_words' ); ?>"><strong><?php _e( 'Number of words in caption:', 'instagram-slider-widget' ); ?></strong>
|
663 |
+
<input class="small-text" type="number" min="0" max="200"
|
664 |
+
id="<?php echo $this->get_field_id( 'caption_words' ); ?>"
|
665 |
+
name="<?php echo $this->get_field_name( 'caption_words' ); ?>"
|
666 |
+
value="<?php echo $instance['caption_words']; ?>"/>
|
667 |
+
</label>
|
668 |
</p>
|
669 |
+
<br>
|
670 |
+
<strong><?php _e( 'Enable author\'s ad:', 'instagram-slider-widget' ); ?></strong>
|
671 |
+
<label class="switch" for="<?php echo $this->get_field_id( 'enable_ad' ); ?>">
|
672 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'enable_ad' ); ?>"
|
673 |
+
name="<?php echo $this->get_field_name( 'enable_ad' ); ?>" type="checkbox"
|
674 |
+
value="1" <?php checked( '1', $instance['enable_ad'] ); ?> />
|
675 |
+
<span class="slider round"></span>
|
676 |
+
</label>
|
677 |
<p>
|
678 |
<label for="<?php echo $this->get_field_id( 'orderby' ); ?>"><strong><?php _e( 'Order by', 'instagram-slider-widget' ); ?></strong>
|
679 |
+
<select class="widefat" name="<?php echo $this->get_field_name( 'orderby' ); ?>"
|
680 |
+
id="<?php echo $this->get_field_id( 'orderby' ); ?>">
|
681 |
+
<option value="date-ASC" <?php selected( $instance['orderby'], 'date-ASC', true ); ?>><?php _e( 'Date - Ascending', 'instagram-slider-widget' ); ?></option>
|
682 |
+
<option value="date-DESC" <?php selected( $instance['orderby'], 'date-DESC', true ); ?>><?php _e( 'Date - Descending', 'instagram-slider-widget' ); ?></option>
|
683 |
+
<option value="popular-ASC" <?php selected( $instance['orderby'], 'popular-ASC', true ); ?>><?php _e( 'Popularity - Ascending', 'instagram-slider-widget' ); ?></option>
|
684 |
+
<option value="popular-DESC" <?php selected( $instance['orderby'], 'popular-DESC', true ); ?>><?php _e( 'Popularity - Descending', 'instagram-slider-widget' ); ?></option>
|
685 |
+
<option value="rand" <?php selected( $instance['orderby'], 'rand', true ); ?>><?php _e( 'Random', 'instagram-slider-widget' ); ?></option>
|
686 |
</select>
|
687 |
</label>
|
688 |
</p>
|
689 |
+
<p class="isw-linkto <?php if ( 'showcase' == $instance['template'] ) {
|
690 |
+
echo 'hidden';
|
691 |
+
} ?>">
|
692 |
<label for="<?php echo $this->get_field_id( 'images_link' ); ?>"><strong><?php _e( 'Link to', 'instagram-slider-widget' ); ?></strong>
|
693 |
+
<select class="widefat" name="<?php echo $this->get_field_name( 'images_link' ); ?>"
|
694 |
+
id="<?php echo $this->get_field_id( 'images_link' ); ?>">
|
695 |
+
<?php
|
696 |
+
if ( count( $options_linkto ) ) {
|
697 |
+
foreach ( $options_linkto as $key => $option ) {
|
698 |
+
$selected = selected( $instance['images_link'], $key, false );
|
699 |
+
echo "<option value='{$key}' {$selected}>{$option}</option>\n";
|
700 |
+
}
|
701 |
+
}
|
702 |
+
if ( ! $this->WIS->is_premium() ) {
|
703 |
+
?>
|
704 |
+
<optgroup label="Available in PRO">
|
705 |
+
<option value='1' disabled="disabled">Pop Up</option>
|
706 |
+
</optgroup>
|
707 |
+
<?php
|
708 |
+
}
|
709 |
+
?>
|
710 |
</select>
|
711 |
</label>
|
712 |
</p>
|
713 |
+
<p class="<?php if ( 'custom_url' != $instance['images_link'] ) {
|
714 |
+
echo 'hidden';
|
715 |
+
} ?>">
|
716 |
+
<label for="<?php echo $this->get_field_id( 'custom_url' ); ?>"><?php _e( 'Custom link:', 'instagram-slider-widget' ); ?></label>
|
717 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'custom_url' ); ?>"
|
718 |
+
name="<?php echo $this->get_field_name( 'custom_url' ); ?>"
|
719 |
+
value="<?php echo $instance['custom_url']; ?>"/>
|
720 |
+
<span><?php _e( '* use this field only if the above option is set to <strong>Custom Link</strong>', 'instagram-slider-widget' ); ?></span>
|
721 |
</p>
|
722 |
<!--<p>
|
723 |
<strong>Advanced Options</strong>
|
724 |
<?php
|
725 |
+
/* $advanced_class = '';
|
726 |
+
$advanced_text = '[ - Close ]';
|
727 |
+
if ( '' == trim( $instance['image_link_rel'] ) && '' == trim( $instance['image_link_class'] ) && '' == trim( $instance['image_size'] ) ) {
|
728 |
+
$advanced_class = 'hidden';
|
729 |
+
$advanced_text = '[ + Open ]';
|
730 |
+
}
|
731 |
+
*/ ?>
|
732 |
+
<a href="#" class="jr-advanced"><?php /*echo $advanced_text; */ ?></a>
|
733 |
</p>-->
|
734 |
<!-- <div class="jr-advanced-input <?php /*echo $advanced_class;*/ ?>">
|
735 |
<div class="jr-image-options">
|
736 |
+
<h4 class="jr-advanced-title"><?php /*_e( 'Advanced Image Options', 'instagram-slider-widget'); */ ?></h4>
|
737 |
<p>
|
738 |
+
<label for="<?php /*echo $this->get_field_id( 'image_link_rel' ); */ ?>"><?php /*_e( 'Image Link rel attribute', 'instagram-slider-widget' ); */ ?>:</label>
|
739 |
+
<input class="widefat" id="<?php /*echo $this->get_field_id( 'image_link_rel' ); */ ?>" name="<?php /*echo $this->get_field_name( 'image_link_rel' ); */ ?>" value="<?php /*echo $instance['image_link_rel']; */ ?>" />
|
740 |
+
<span class="jr-description"><?php /*_e( 'Specifies the relationship between the current page and the linked website', 'instagram-slider-widget' ); */ ?></span>
|
741 |
</p>
|
742 |
<p>
|
743 |
+
<label for="<?php /*echo $this->get_field_id( 'image_link_class' ); */ ?>"><?php /*_e( 'Image Link class', 'instagram-slider-widget' ); */ ?>:</label>
|
744 |
+
<input class="widefat" id="<?php /*echo $this->get_field_id( 'image_link_class' ); */ ?>" name="<?php /*echo $this->get_field_name( 'image_link_class' ); */ ?>" value="<?php /*echo $instance['image_link_class']; */ ?>" />
|
745 |
+
<span class="jr-description"><?php /*_e( 'Usefull if you are using jQuery lightbox plugins to open links', 'instagram-slider-widget' ); */ ?></span>
|
746 |
</p>
|
747 |
+
<p><strong><?php /*_e( 'Disable Pinning:', 'instagram-slider-widget' ); */ ?></strong>
|
748 |
+
<label class="switch" for="<?php /*echo $this->get_field_id( 'no_pin' ); */ ?>">
|
749 |
+
<input class="widefat" id="<?php /*echo $this->get_field_id( 'no_pin' ); */ ?>" name="<?php /*echo $this->get_field_name( 'no_pin' ); */ ?>" type="checkbox" value="1" <?php /*checked( '1', $instance['no_pin'] ); */ ?> /><span class="slider round"></span></label>
|
750 |
+
<br><span class="jr-description"><?php /*_e( 'Disable pinning for Pinterest on all images from this widget!', 'instagram-slider-widget') */ ?></span>
|
751 |
</p>
|
752 |
</div>
|
753 |
</div>-->
|
754 |
+
<?php $widget_id = preg_replace( '/[^0-9]/', '', $this->id );
|
755 |
+
if ( $widget_id != '' ) : ?>
|
756 |
<p>
|
757 |
+
<label for="jr_insta_shortcode"><?php _e( 'Shortcode of this Widget:', 'instagram-slider-widget' ); ?></label>
|
758 |
+
<input id="jr_insta_shortcode" onclick="this.setSelectionRange(0, this.value.length)" type="text"
|
759 |
+
class="widefat" value="[jr_instagram id="<?php echo $widget_id ?>"]"
|
760 |
+
readonly="readonly" style="border:none; color:black; font-family:monospace;">
|
761 |
+
<span class="jr-description"><?php _e( 'Use this shortcode in any page or post to display images with this widget configuration!', 'instagram-slider-widget' ) ?></span>
|
762 |
</p>
|
763 |
<?php endif; ?>
|
764 |
</div>
|
768 |
/**
|
769 |
* Selected array function echoes selected if in array
|
770 |
*
|
771 |
+
* @param array $haystack The array to search in
|
772 |
+
* @param string $current The string value to search in array;
|
773 |
*
|
774 |
*/
|
775 |
public function selected( $haystack, $current ) {
|
776 |
|
777 |
+
if ( is_array( $haystack ) && in_array( $current, $haystack ) ) {
|
778 |
selected( 1, 1, true );
|
779 |
}
|
780 |
}
|
782 |
|
783 |
/**
|
784 |
* Add shorcode function
|
785 |
+
*
|
786 |
+
* @param array $atts shortcode attributes
|
787 |
+
*
|
788 |
* @return mixed
|
789 |
*/
|
790 |
public function shortcode( $atts ) {
|
791 |
|
792 |
$atts = shortcode_atts( array( 'id' => '' ), $atts, 'jr_instagram' );
|
793 |
$args = get_option( 'widget_jr_insta_slider' );
|
794 |
+
if ( isset( $args[ $atts['id'] ] ) ) {
|
795 |
+
$args[ $atts['id'] ]['widget_id'] = $atts['id'];
|
796 |
+
|
797 |
+
return $this->display_images( $args[ $atts['id'] ] );
|
798 |
}
|
799 |
}
|
800 |
|
801 |
/**
|
802 |
* Echoes the Display Instagram Images method
|
803 |
*
|
804 |
+
* @param array $args
|
805 |
*
|
806 |
* @return void
|
807 |
*/
|
808 |
public function instagram_images( $args ) {
|
809 |
+
echo $this->display_images( $args );
|
810 |
}
|
811 |
|
812 |
/**
|
813 |
* Cron Trigger Function
|
814 |
+
*
|
815 |
+
* @param string $search_for
|
816 |
+
* @param int $cache_hours
|
817 |
+
* @param int $nr_images
|
818 |
+
* @param bool $attachment
|
819 |
*/
|
820 |
public function jr_cron_trigger( $username, $refresh_hour, $images ) {
|
821 |
+
$search_for = array();
|
822 |
+
$search_for['username'] = $username;
|
823 |
$this->instagram_data( $search_for, $refresh_hour, $images, true );
|
824 |
}
|
825 |
|
826 |
/**
|
827 |
* Runs the query for images and returns the html
|
828 |
*
|
829 |
+
* @param array $args
|
830 |
*
|
831 |
* @return string
|
832 |
*/
|
833 |
private function display_images( $args ) {
|
834 |
+
$account = isset( $args['account'] ) && ! empty( $args['account'] ) ? $args['account'] : false;
|
835 |
+
$account_business = isset( $args['account_business'] ) && ! empty( $args['account_business'] ) ? $args['account_business'] : false;
|
836 |
+
$username = isset( $args['username'] ) && ! empty( $args['username'] ) ? str_replace( '@', '', $args['username'] ) : false;
|
837 |
+
$hashtag = isset( $args['hashtag'] ) && ! empty( $args['hashtag'] ) ? str_replace( '#', '', $args['hashtag'] ) : false;
|
838 |
+
$blocked_users = isset( $args['blocked_users'] ) && ! empty( $args['blocked_users'] ) ? $args['blocked_users'] : false;
|
839 |
+
$blocked_words = isset( $args['blocked_words'] ) && ! empty( $args['blocked_words'] ) ? $args['blocked_words'] : false;
|
840 |
+
$allowed_words = isset( $args['allowed_words'] ) && ! empty( $args['allowed_words'] ) ? $args['allowed_words'] : false;
|
841 |
+
$attachment = isset( $args['attachment'] ) ? true : false;
|
842 |
+
$template = isset( $args['template'] ) ? $args['template'] : 'slider';
|
843 |
+
$orderby = isset( $args['orderby'] ) ? $args['orderby'] : 'rand';
|
844 |
+
$images_link = isset( $args['images_link'] ) ? $args['images_link'] : 'image_url';
|
845 |
+
$custom_url = isset( $args['custom_url'] ) ? $args['custom_url'] : '';
|
846 |
+
$images_number = isset( $args['images_number'] ) ? absint( $args['images_number'] ) : 20;
|
847 |
+
$columns = isset( $args['columns'] ) ? absint( $args['columns'] ) : 4;
|
848 |
+
$refresh_hour = isset( $args['refresh_hour'] ) ? absint( $args['refresh_hour'] ) : 5;
|
849 |
+
$slick_img_size = isset( $args['slick_img_size'] ) ? absint( $args['slick_img_size'] ) : 300;
|
850 |
+
$image_size = isset( $args['image_size'] ) ? $args['image_size'] : 'standard';
|
851 |
+
$image_link_rel = isset( $args['image_link_rel'] ) ? $args['image_link_rel'] : '';
|
852 |
+
$no_pin = isset( $args['no_pin'] ) ? $args['no_pin'] : 0;
|
853 |
+
$shopifeed_phone = isset( $args['shopifeed_phone'] ) ? $args['shopifeed_phone'] : '';
|
854 |
+
$shopifeed_color = isset( $args['shopifeed_color'] ) ? $args['shopifeed_color'] : "#DA004A";
|
855 |
+
$shopifeed_columns = isset( $args['shopifeed_columns'] ) ? $args['shopifeed_columns'] : 3;
|
856 |
+
$image_link_class = isset( $args['image_link_class'] ) ? $args['image_link_class'] : '';
|
857 |
+
$controls = isset( $args['controls'] ) ? $args['controls'] : 'prev_next';
|
858 |
+
$animation = isset( $args['animation'] ) ? $args['animation'] : 'slide';
|
859 |
+
$caption_words = isset( $args['caption_words'] ) ? $args['caption_words'] : 20;
|
860 |
+
$slidespeed = isset( $args['slidespeed'] ) ? $args['slidespeed'] : 7000;
|
861 |
+
$description = isset( $args['description'] ) ? $args['description'] : array();
|
862 |
+
$widget_id = isset( $args['widget_id'] ) ? $args['widget_id'] : preg_replace( '/[^0-9]/', '', $this->id );
|
863 |
+
$powered_by_link = isset( $args['support_author'] ) ? true : false;
|
864 |
+
$gutter = isset( $args['gutter'] ) ? $args['gutter'] : 0;
|
865 |
+
$masonry_image_width = isset( $args['masonry_image_width'] ) ? $args['masonry_image_width'] : 200;
|
866 |
$slick_slides_to_show = isset( $args['slick_slides_to_show'] ) ? $args['slick_slides_to_show'] : 3;
|
867 |
+
$enable_control_buttons = isset( $args['enable_control_buttons'] ) ? $args['enable_control_buttons'] : 0;
|
868 |
+
$keep_ratio = isset( $args['keep_ratio'] ) ? $args['keep_ratio'] : 0;
|
869 |
+
$enable_ad = isset( $args['enable_ad'] ) ? $args['enable_ad'] : 0;
|
870 |
+
$slick_slides_padding = isset( $args['slick_slides_padding'] ) ? $args['slick_slides_padding'] : 0;
|
871 |
+
$show_feed_header = isset( $args['show_feed_header'] ) ? $args['show_feed_header'] : 0;
|
872 |
+
$highlight_offset = isset( $args['highlight_offset'] ) ? $args['highlight_offset'] : 1;
|
873 |
+
$highlight_pattern = isset( $args['highlight_pattern'] ) ? $args['highlight_pattern'] : 6;
|
874 |
+
|
875 |
+
if ( ! empty( $description ) && ! is_array( $description ) ) {
|
876 |
$description = explode( ',', $description );
|
877 |
}
|
878 |
|
879 |
if ( isset ( $args['search_for'] ) && $args['search_for'] == 'hashtag' ) {
|
880 |
+
$search = 'hashtag';
|
881 |
+
$search_for['hashtag'] = $hashtag;
|
882 |
$search_for['blocked_users'] = $blocked_users;
|
883 |
+
$search_for['blocked_words'] = $blocked_words;
|
884 |
+
$search_for['allowed_words'] = $allowed_words;
|
885 |
+
} elseif ( isset ( $args['search_for'] ) && $args['search_for'] == 'account' ) {
|
886 |
+
$search = 'account';
|
887 |
+
$search_for['account'] = $account;
|
888 |
+
$search_for['blocked_words'] = $blocked_words;
|
889 |
+
$search_for['allowed_words'] = $allowed_words;
|
890 |
+
} elseif ( isset ( $args['search_for'] ) && $args['search_for'] == 'account_business' ) {
|
891 |
+
$search = 'account_business';
|
892 |
+
$search_for['account_business'] = $account_business;
|
893 |
+
$search_for['blocked_words'] = $blocked_words;
|
894 |
+
$search_for['allowed_words'] = $allowed_words;
|
895 |
} else {
|
896 |
+
$search = 'user';
|
897 |
+
$search_for['username'] = $username;
|
898 |
+
$search_for['allowed_words'] = $allowed_words;
|
899 |
+
$search_for['blocked_words'] = $blocked_words;
|
900 |
}
|
901 |
|
902 |
if ( $refresh_hour == 0 ) {
|
905 |
|
906 |
|
907 |
$template_args = array(
|
908 |
+
'search_for' => $search,
|
909 |
+
'attachment' => $attachment,
|
910 |
+
'image_size' => $image_size,
|
911 |
+
'link_rel' => $image_link_rel,
|
912 |
+
'link_class' => $image_link_class,
|
913 |
+
'no_pin' => $no_pin,
|
914 |
+
'caption_words' => $caption_words,
|
915 |
+
'masonry_image_width' => $masonry_image_width,
|
916 |
+
'enable_control_buttons' => $enable_control_buttons,
|
917 |
+
'keep_ratio' => $keep_ratio,
|
918 |
+
'enable_ad' => $enable_ad,
|
919 |
+
'slick_slides_padding' => $slick_slides_padding,
|
920 |
+
'slick_slides_to_show' => $slick_slides_to_show,
|
921 |
+
'highlight_offset' => $highlight_offset,
|
922 |
+
'highlight_pattern' => $highlight_pattern,
|
923 |
|
924 |
);
|
925 |
|
927 |
$ul_class = ( $template == 'thumbs-no-border' ) ? 'thumbnails no-border jr_col_' . $columns : 'thumbnails jr_col_' . $columns;
|
928 |
$slider_script = '';
|
929 |
|
930 |
+
if ( $template != 'thumbs' && $template != 'thumbs-no-border' ) {
|
931 |
|
932 |
$template_args['description'] = $description;
|
933 |
+
$direction_nav = ( $controls == 'prev_next' ) ? 'true' : 'false';
|
934 |
+
$control_nav = ( $controls == 'numberless' ) ? 'true' : 'false';
|
935 |
+
$ul_class = 'slides';
|
936 |
+
|
937 |
+
if ( $template == 'slider' ) {
|
938 |
+
$images_div_class = 'pllexislider pllexislider-normal instaslider-nr-' . $widget_id;
|
939 |
+
$slider_script = "<script type='text/javascript'>" . "\n" . " jQuery(document).ready(function($) {" . "\n" . " $('.instaslider-nr-{$widget_id}').pllexislider({" . "\n" . " animation: '{$animation}'," . "\n" . " slideshowSpeed: {$slidespeed}," . "\n" . " directionNav: {$direction_nav}," . "\n" . " controlNav: {$control_nav}," . "\n" . " prevText: ''," . "\n" . " nextText: ''," . "\n" . " });" . "\n" . " });" . "\n" . "</script>" . "\n";
|
940 |
+
}
|
941 |
+
if ( $template == 'slick_slider' || $template == 'masonry' || $template == 'highlight' ) {
|
942 |
+
//return $this->pro_display_images($args);
|
943 |
+
if(defined('WISP_PLUGIN_ACTIVE') && WISP_PLUGIN_ACTIVE == true){
|
944 |
+
return apply_filters( 'wis/pro/display_images', "", $args, $this );
|
945 |
+
} else {
|
946 |
+
$images_div_class = 'pllexislider pllexislider-normal instaslider-nr-' . $widget_id;
|
947 |
+
$slider_script = "<script type='text/javascript'>" . "\n" . " jQuery(document).ready(function($) {" . "\n" . " $('.instaslider-nr-{$widget_id}').pllexislider({" . "\n" . " animation: '{$animation}'," . "\n" . " slideshowSpeed: {$slidespeed}," . "\n" . " directionNav: {$direction_nav}," . "\n" . " controlNav: {$control_nav}," . "\n" . " prevText: ''," . "\n" . " nextText: ''," . "\n" . " });" . "\n" . " });" . "\n" . "</script>" . "\n";
|
948 |
+
$template = 'slider';
|
949 |
+
}
|
950 |
+
}
|
951 |
+
if( $template == 'showcase' ) {
|
952 |
+
|
953 |
+
if(defined('SPFD_PLUGIN_ACTIVE') && SPFD_PLUGIN_ACTIVE == true){
|
954 |
+
return apply_filters( 'wis/shopifeed/display_images', "", $args, $this );
|
955 |
+
} else {
|
956 |
+
$images_div_class = 'pllexislider pllexislider-normal instaslider-nr-' . $widget_id;
|
957 |
+
$slider_script = "<script type='text/javascript'>" . "\n" . " jQuery(document).ready(function($) {" . "\n" . " $('.instaslider-nr-{$widget_id}').pllexislider({" . "\n" . " animation: '{$animation}'," . "\n" . " slideshowSpeed: {$slidespeed}," . "\n" . " directionNav: {$direction_nav}," . "\n" . " controlNav: {$control_nav}," . "\n" . " prevText: ''," . "\n" . " nextText: ''," . "\n" . " });" . "\n" . " });" . "\n" . "</script>" . "\n";
|
958 |
+
$template = 'slider';
|
959 |
+
}
|
960 |
} else {
|
961 |
+
$images_div_class = 'pllexislider pllexislider-overlay instaslider-nr-' . $widget_id;
|
962 |
+
$slider_script = "<script type='text/javascript'>" . "\n" . " jQuery(document).ready(function($) {" . "\n" . " $('.instaslider-nr-{$widget_id}').pllexislider({" . "\n" . " animation: '{$animation}'," . "\n" . " slideshowSpeed: {$slidespeed}," . "\n" . " directionNav: {$direction_nav}," . "\n" . " controlNav: {$control_nav}," . "\n" . " prevText: ''," . "\n" . " nextText: ''," . "\n" . " start: function(slider){" . "\n" . " slider.hover(" . "\n" . " function () {" . "\n" . " slider.find('.pllex-control-nav, .pllex-direction-nav').stop(true,true).fadeIn();" . "\n" . " slider.find('.jr-insta-datacontainer').fadeIn();" . "\n" . " }," . "\n" . " function () {" . "\n" . " slider.find('.pllex-control-nav, .pllex-direction-nav').stop(true,true).fadeOut();" . "\n" . " slider.find('.jr-insta-datacontainer').fadeOut();" . "\n" . " }" . "\n" . " );" . "\n" . " }" . "\n" . " });" . "\n" . " });" . "\n" . "</script>" . "\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
963 |
}
|
964 |
}
|
965 |
|
966 |
+
//$account = $accounts[$images_data[0]['username']];
|
967 |
+
$images_div = '';
|
968 |
+
$images_ul = "<ul class='no-bullet {$ul_class}' id='wis-slides'>\n";
|
969 |
|
970 |
$output = '';
|
971 |
$output .= __( 'No images found! <br> Try some other hashtag or username', 'instagram-slider-widget' );
|
972 |
|
973 |
+
if ( ( $search == 'user' && $attachment && false ) ) {
|
974 |
+
|
975 |
+
if ( ! wp_next_scheduled( 'jr_insta_cron', array(
|
976 |
+
$search_for['username'],
|
977 |
+
$refresh_hour,
|
978 |
+
$images_number
|
979 |
+
) ) ) {
|
980 |
+
wp_schedule_single_event( time(), 'jr_insta_cron', array(
|
981 |
+
$search_for['username'],
|
982 |
+
$refresh_hour,
|
983 |
+
$images_number
|
984 |
+
) );
|
985 |
}
|
986 |
|
987 |
+
$opt_name = 'jr_insta_' . md5( $search . '_' . $search_for['username'] );
|
988 |
$attachment_ids = (array) get_option( $opt_name );
|
989 |
|
990 |
$query_args = array(
|
996 |
);
|
997 |
|
998 |
if ( $orderby != 'rand' ) {
|
999 |
+
$orderby = explode( '-', $orderby );
|
|
|
1000 |
$meta_key = $orderby[0] == 'date' ? 'jr_insta_timestamp' : 'jr_insta_popularity';
|
1001 |
|
1002 |
$query_args['meta_key'] = $meta_key;
|
1004 |
$query_args['order'] = $orderby[1];
|
1005 |
}
|
1006 |
|
1007 |
+
if ( isset( $attachment_ids['saved_images'] ) && ! empty( $attachment_ids['saved_images'] ) ) {
|
1008 |
|
1009 |
+
$query_args['post__in'] = $attachment_ids['saved_images'];
|
1010 |
|
1011 |
} else {
|
1012 |
|
1042 |
$template_args['link_to'] = $custom_url;
|
1043 |
}
|
1044 |
|
1045 |
+
$image_thumb_url = get_post_meta( $id, 'jr_insta_sizes', true );
|
1046 |
+
$template_args['image'] = $image_thumb_url[ $image_size ];
|
1047 |
|
1048 |
$output .= $this->get_template( $template, $template_args );
|
1049 |
|
1055 |
|
1056 |
$images_data = $this->instagram_data( $search_for, $refresh_hour, $images_number, false );
|
1057 |
|
1058 |
+
if ( is_array( $images_data ) && ! empty( $images_data ) ) {
|
1059 |
+
if ( isset( $images_data['error'] ) ) {
|
|
|
1060 |
return $images_data['error'];
|
1061 |
}
|
1062 |
|
1086 |
}
|
1087 |
|
1088 |
$template_args['type'] = $image_data['type'];
|
1089 |
+
$template_args['image'] = $image_data['image'];
|
1090 |
$template_args['caption'] = $image_data['caption'];
|
1091 |
$template_args['timestamp'] = $image_data['timestamp'];
|
1092 |
$template_args['username'] = isset( $image_data['username'] ) ? $image_data['username'] : '';
|
1103 |
wp_reset_postdata();
|
1104 |
|
1105 |
} else {
|
1106 |
+
$is_business = ( $search == 'account_business' );
|
1107 |
+
if ( $is_business ) {
|
1108 |
+
$accounts = WIS_Plugin::app()->getOption( 'account_profiles_new' );
|
1109 |
+
} else {
|
1110 |
+
$accounts = WIS_Plugin::app()->getOption( 'account_profiles' );
|
1111 |
+
}
|
1112 |
$images_data = $this->instagram_data( $search_for, $refresh_hour, $images_number, false );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1113 |
|
1114 |
+
/*
|
1115 |
+
* Песочница
|
1116 |
+
*/
|
1117 |
+
if ( isset( $_GET['access_token'] ) && isset( $_GET['id'] ) ) {
|
1118 |
+
if ( $is_business ) {
|
1119 |
+
if ( isset( $_COOKIE['wis-demo-account-data'] ) ) {
|
1120 |
+
$account = json_decode( stripslashes( $_COOKIE['wis-demo-account-data'] ), true );
|
1121 |
+
}
|
1122 |
+
} else {
|
1123 |
+
$args = array(
|
1124 |
+
'fields' => 'id,media_count,username',
|
1125 |
+
'access_token' => $_GET['access_token'],
|
1126 |
+
);
|
1127 |
+
|
1128 |
+
$url = self::USERS_SELF_URL;
|
1129 |
+
$url = add_query_arg( $args, $url );
|
1130 |
+
$response = wp_remote_get( $url );
|
1131 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
1132 |
+
$user = json_decode( wp_remote_retrieve_body( $response ), true );
|
1133 |
+
$user['token'] = $_GET['access_token'];
|
1134 |
+
$account = $user;
|
1135 |
+
}
|
1136 |
+
}
|
1137 |
+
} // конец песочницы
|
1138 |
+
else {
|
1139 |
+
if ( $search !== 'hashtag' && $search !== 'user' ) {
|
1140 |
+
$account = $accounts[ $images_data[0]['username'] ];
|
1141 |
+
}
|
1142 |
+
}
|
1143 |
+
|
1144 |
+
$images_div = '';
|
1145 |
+
if ( $account ) {
|
1146 |
+
$account_data = $account;
|
1147 |
+
} else {
|
1148 |
+
$data = WIS_Plugin::app()->getOption( 'profiles_data_by_username' );
|
1149 |
+
$data = $data['entry_data']['ProfilePage']['0']['graphql']['user'];
|
1150 |
+
$account_data = array(
|
1151 |
+
'username' => $data['username'],
|
1152 |
+
'profile_picture' => $data['profile_pic_url'],
|
1153 |
+
'counts' => array(
|
1154 |
+
'media' => $data['edge_owner_to_timeline_media']['count'],
|
1155 |
+
'followed_by' => $data['edge_followed_by']['count']
|
1156 |
+
),
|
1157 |
+
);
|
1158 |
+
}
|
1159 |
+
|
1160 |
+
if ( $show_feed_header && $search == 'account_business' ) {
|
1161 |
+
$images_div .= $this->render_layout_template( 'feed_header_template', $account_data );
|
1162 |
+
}
|
1163 |
+
$images_div .= "<div class='{$images_div_class}'>\n";
|
1164 |
+
if ( is_array( $images_data ) && ! empty( $images_data ) ) {
|
1165 |
+
if ( isset( $images_data['error'] ) ) {
|
1166 |
return $images_data['error'];
|
1167 |
}
|
1168 |
|
1169 |
if ( $orderby != 'rand' ) {
|
1170 |
|
1171 |
$orderby = explode( '-', $orderby );
|
1172 |
+
if ( $orderby[0] == 'date' ) {
|
1173 |
+
$func = 'sort_timestamp_' . $orderby[1];
|
1174 |
+
} else {
|
1175 |
+
$func = $is_business ? 'sort_popularity_' . $orderby[1] : 'sort_timestamp_' . $orderby[1];
|
1176 |
+
}
|
1177 |
|
1178 |
usort( $images_data, array( $this, $func ) );
|
1179 |
|
1197 |
}
|
1198 |
|
1199 |
$template_args['type'] = $image_data['type'];
|
1200 |
+
$template_args['image'] = $image_data['image'];
|
1201 |
$template_args['caption'] = $image_data['caption'];
|
1202 |
$template_args['timestamp'] = $image_data['timestamp'];
|
1203 |
$template_args['username'] = isset( $image_data['username'] ) ? $image_data['username'] : '';
|
1205 |
$output .= $this->get_template( $template, $template_args );
|
1206 |
}
|
1207 |
|
1208 |
+
$output .= "</ul>";
|
1209 |
}
|
1210 |
}
|
1211 |
|
1212 |
+
$output .= "</div>";
|
1213 |
+
if ($enable_ad && !defined("WISP_PLUGIN_ACTIVE")) {
|
1214 |
+
$output .= '
|
1215 |
+
<div class="wis-template-ad" style="font-size: 1.3rem !important; margin-top: 2%; text-align: center; color: rgba(22,22,22,0.72) !important;" >
|
1216 |
+
<a target="_blank" style="color: rgba(22,22,22,0.72) !important; text-decoration: none" href="https://cm-wp.com/instagram-slider-widget/" ><h3 style="font-size: 1.15rem !important;"> Powered by Social Slider Widget </h3 ></a >
|
1217 |
+
</div >
|
1218 |
+
';
|
1219 |
+
}
|
1220 |
return $output;
|
1221 |
|
1222 |
}
|
1231 |
* @return false|string
|
1232 |
*/
|
1233 |
private function render_layout_template( $template_name, $args ) {
|
1234 |
+
$path = WIS_PLUGIN_DIR . "/html_templates/$template_name.php";
|
1235 |
+
if ( file_exists( $path ) ) {
|
1236 |
+
ob_start();
|
1237 |
+
include $path;
|
1238 |
+
|
1239 |
+
return ob_get_clean();
|
1240 |
+
} else {
|
1241 |
+
return 'This template does not exist!';
|
1242 |
+
}
|
1243 |
+
}
|
1244 |
|
1245 |
/**
|
1246 |
* Function to display Templates styles
|
1247 |
*
|
1248 |
+
* @param string $template
|
1249 |
+
* @param array $args
|
1250 |
*
|
1251 |
* return mixed
|
1252 |
*/
|
1254 |
|
1255 |
$link_to = isset( $args['link_to'] ) ? $args['link_to'] : false;
|
1256 |
$image_url = isset( $args['image'] ) ? $args['image'] : false;
|
1257 |
+
$type = isset( $args['type'] ) ? $args['type'] : '';
|
1258 |
|
1259 |
+
if ( ( $args['search_for'] == 'user' && $args['attachment'] !== true ) || ( $args['search_for'] == 'account' && $args['attachment'] !== true ) || ( $args['search_for'] == 'account_business' && $args['attachment'] !== true ) || $args['search_for'] == 'hashtag' ) {
|
1260 |
+
$caption = $args['caption'];
|
1261 |
+
$time = $args['timestamp'];
|
1262 |
+
$username = $args['username'];
|
1263 |
} else {
|
1264 |
$attach_id = get_the_id();
|
1265 |
$caption = get_the_excerpt();
|
1267 |
$username = get_post_meta( $attach_id, 'jr_insta_username', true );
|
1268 |
}
|
1269 |
|
1270 |
+
$caption = $args['caption'];
|
1271 |
+
$time = $args['timestamp'];
|
1272 |
+
$username = $args['username'];
|
1273 |
+
|
1274 |
$short_caption = wp_trim_words( $caption, 10, '' );
|
1275 |
+
$short_caption = strip_tags( $short_caption );
|
1276 |
|
1277 |
+
$caption = wp_trim_words( $caption, $args['caption_words'], '' );
|
1278 |
+
$nopin = ( 1 == $args['no_pin'] ) ? 'nopin="nopin"' : '';
|
1279 |
|
1280 |
+
$clean_image_url = WIS_PLUGIN_URL . "/assets/image.png";
|
1281 |
+
$image_src = "<img alt='" . $caption . "' src='{$clean_image_url}' $nopin class='{$type}' style='opacity: 0;'>";
|
1282 |
+
$image_output = $image_src;
|
1283 |
|
1284 |
if ( $link_to ) {
|
1285 |
+
$image_output = "<a href='$link_to' target='_blank' rel='nofollow'";
|
1286 |
|
1287 |
if ( ! empty( $args['link_rel'] ) ) {
|
1288 |
$image_output .= " rel={$args['link_rel']}";
|
1296 |
|
1297 |
$output = '';
|
1298 |
|
1299 |
+
if ( $template == 'slider' ) {
|
1300 |
$output .= "<li style='border:0;' >";
|
1301 |
|
1302 |
+
//$output .= $image_output;
|
1303 |
+
$output .= "<div style='background: url({$image_url}) no-repeat center center; background-size: cover;'>{$image_output}</div>";
|
1304 |
|
1305 |
if ( is_array( $args['description'] ) && count( $args['description'] ) >= 1 ) {
|
1306 |
|
1307 |
$output .= "<div class='jr-insta-datacontainer' style=''>\n";
|
1308 |
|
1309 |
+
if ( in_array( 'username', $args['description'] ) && $username ) {
|
1310 |
+
|
1311 |
+
$output .= "<span class='jr-insta-username'>by <a rel='nofollow' href='https://www.instagram.com/{$username}/' style='color:black; font-weight: 600' target='_blank'>{$username}</a></span>\n";
|
1312 |
+
}
|
1313 |
if ( $time && in_array( 'time', $args['description'] ) ) {
|
1314 |
+
$time = human_time_diff( $time );
|
1315 |
$output .= "<strong><span class='jr-insta-time pull-right' style='font-size: 0.9em'>{$time} ago</span></strong>\n";
|
1316 |
$output .= "<br>";
|
1317 |
}
|
1318 |
|
1319 |
|
1320 |
if ( $caption != '' && in_array( 'caption', $args['description'] ) ) {
|
1321 |
+
$caption = preg_replace( '/\@([a-z0-9А-Яа-я_-]+)/u', ' <a href="https://www.instagram.com/$1/" rel="nofollow" style="color:black; font-weight: 600" target="_blank">@$1</a> ', $caption );
|
1322 |
+
$caption = preg_replace( '/\#([a-zA-Z0-9А-Яа-я_-]+)/u', ' <a href="https://www.instagram.com/explore/tags/$1/" style="color:black; font-weight: 600" rel="nofollow" target="_blank">$0</a> ', $caption );
|
1323 |
+
$output .= "<span class='jr-insta-caption' style='text-align: left !important;'>{$caption}</span>\n";
|
1324 |
}
|
1325 |
|
1326 |
$output .= "</div>\n";
|
1329 |
$output .= "</li>";
|
1330 |
// Template : Slider with text Overlay on mouse over
|
1331 |
} elseif ( $template == 'slider-overlay' ) {
|
1332 |
+
$output .= "<li class='" . $type . "'>";
|
1333 |
|
1334 |
+
//$output .= $image_output;
|
1335 |
+
$output .= "<div id='jr-image-overlay' style='background: url({$image_url}) no-repeat center center; background-size: cover;'>{$image_output}</div>";
|
1336 |
|
1337 |
if ( is_array( $args['description'] ) && count( $args['description'] ) >= 1 ) {
|
1338 |
|
1341 |
$output .= "<div class='jr-insta-datacontainer'>\n";
|
1342 |
|
1343 |
if ( $time && in_array( 'time', $args['description'] ) ) {
|
1344 |
+
$time = human_time_diff( $time );
|
1345 |
$output .= "<span class='jr-insta-time'>{$time} ago</span>\n";
|
1346 |
}
|
1347 |
|
1351 |
|
1352 |
if ( $caption != '' && in_array( 'caption', $args['description'] ) ) {
|
1353 |
$caption = preg_replace( '/@([a-z0-9_]+)/i', ' <a href="https://www.instagram.com/$1/" rel="nofollow" target="_blank">@$1</a> ', $caption );
|
1354 |
+
$caption = preg_replace( '/\#([a-zA-Z0-9_-]+)/i', ' <a href="https://www.instagram.com/explore/tags/$1/" rel="nofollow" target="_blank">$0</a> ', $caption );
|
1355 |
+
$output .= "<span class='jr-insta-caption' style='text-align: left !important;'>{$caption}</span>\n";
|
1356 |
}
|
1357 |
|
1358 |
$output .= "</div>\n";
|
1364 |
|
1365 |
// Template : Thumbnails no text
|
1366 |
} elseif ( $template == 'thumbs' || $template == 'thumbs-no-border' ) {
|
1367 |
+
$output .= "<li class='{$type}'>";
|
1368 |
+
$output .= "<div style='background: url({$image_url}) no-repeat center center; background-size: cover;'>{$image_output}</div>";
|
1369 |
+
//$output .= "<div></div>";
|
1370 |
$output .= "</li>";
|
1371 |
|
1372 |
} else {
|
1380 |
|
1381 |
/**
|
1382 |
* Trigger refresh for new data
|
1383 |
+
*
|
1384 |
+
* @param bool $instaData
|
1385 |
+
* @param array $old_args
|
1386 |
+
* @param array $new_args
|
1387 |
+
*
|
1388 |
* @return bool
|
1389 |
*/
|
1390 |
private function trigger_refresh_data( $instaData, $old_args, $new_args ) {
|
1401 |
|
1402 |
|
1403 |
if ( isset( $old_args['saved_images'] ) ) {
|
1404 |
+
unset( $old_args['saved_images'] );
|
1405 |
}
|
1406 |
|
1407 |
if ( isset( $old_args['deleted_images'] ) ) {
|
1408 |
+
unset( $old_args['deleted_images'] );
|
1409 |
}
|
1410 |
|
1411 |
if ( is_array( $old_args ) && is_array( $new_args ) && array_diff( $old_args, $new_args ) !== array_diff( $new_args, $old_args ) ) {
|
1421 |
|
1422 |
/**
|
1423 |
* Get data from instagram by username
|
1424 |
+
*
|
1425 |
+
* @param string $username
|
1426 |
+
*
|
1427 |
* @return array
|
1428 |
*/
|
1429 |
private function get_data_by_username( $username ) {
|
1430 |
|
1431 |
+
$url = str_replace( '{username}', urlencode( trim( $username ) ), self::USERNAME_URL );
|
1432 |
$response = wp_remote_get( $url, array( 'sslverify' => false, 'timeout' => 60 ) );
|
1433 |
|
1434 |
+
if ( strstr( $response['body'], '-cx-PRIVATE-Page__main' ) ) {
|
1435 |
+
return [ 'error' => __( 'Account not found or for this account there are restrictions on Instagram by age', 'instagram-slider-widget' ) ];
|
1436 |
}
|
1437 |
|
1438 |
$json = str_replace( 'window._sharedData = ', '', strstr( $response['body'], 'window._sharedData = ' ) );
|
1457 |
return $results;
|
1458 |
}
|
1459 |
|
1460 |
+
/**
|
1461 |
+
* Stores the fetched data from instagram in WordPress DB using transients
|
1462 |
+
*
|
1463 |
+
* @param array $search_for Array of widget settings
|
1464 |
+
* @param string $cache_hours Cache hours for transient
|
1465 |
+
* @param string $nr_images Nr of images to fetch from instagram
|
1466 |
+
* @param bool $attachment Is attachment
|
1467 |
+
*
|
1468 |
+
* @return array of localy saved instagram data
|
1469 |
+
* @throws \Exception
|
1470 |
+
*/
|
1471 |
public function instagram_data( $search_for, $cache_hours, $nr_images, $attachment ) {
|
|
|
1472 |
//$nr_images = $nr_images <= 12 ? $nr_images : 12;
|
1473 |
+
if ( isset( $search_for['account'] ) && ! empty( $search_for['account'] ) ) {
|
1474 |
+
$search = 'account';
|
|
|
1475 |
$search_string = $search_for['account'];
|
1476 |
+
} elseif ( isset( $search_for['account_business'] ) && ! empty( $search_for['account_business'] ) ) {
|
1477 |
+
$search = 'account_business';
|
1478 |
+
$search_string = $search_for['account_business'];
|
1479 |
+
} elseif ( isset( $search_for['username'] ) && ! empty( $search_for['username'] ) ) {
|
1480 |
+
$search = 'user';
|
1481 |
$search_string = $search_for['username'];
|
1482 |
+
} elseif ( isset( $search_for['hashtag'] ) && ! empty( $search_for['hashtag'] ) ) {
|
1483 |
+
$search = 'hashtag';
|
1484 |
$search_string = $search_for['hashtag'];
|
1485 |
+
$blocked_users = isset( $search_for['blocked_users'] ) && ! empty( $search_for['blocked_users'] ) ? str_replace( '@', '', $search_for['blocked_users'] ) : false;
|
1486 |
$blocked_users_array = $blocked_users ? $this->get_ids_from_usernames( $blocked_users ) : array();
|
1487 |
} else {
|
1488 |
+
return __( 'Nothing to search for', 'instagram-slider-widget' );
|
1489 |
}
|
1490 |
|
1491 |
+
$blocked_users = isset( $blocked_users ) ? $blocked_users : '';
|
1492 |
+
$blocked_words = isset( $search_for['blocked_words'] ) && ! empty( $search_for['blocked_words'] ) ? $search_for['blocked_words'] : '';
|
1493 |
+
$allowed_words = isset( $search_for['allowed_words'] ) && ! empty( $search_for['allowed_words'] ) ? $search_for['allowed_words'] : '';
|
1494 |
+
|
1495 |
+
//песочница
|
1496 |
+
if ( isset( $_GET['access_token'] ) && isset( $_GET['id'] ) ) {
|
1497 |
+
$search = 'account';
|
1498 |
+
$search_string = htmlspecialchars( $_GET['access_token'] );
|
1499 |
+
}
|
1500 |
+
|
1501 |
+
|
1502 |
$opt_name = 'jr_insta_' . md5( $search . '_' . $search_string );
|
1503 |
$instaData = get_transient( $opt_name );
|
1504 |
$old_opts = (array) get_option( $opt_name );
|
1512 |
);
|
1513 |
|
1514 |
if ( true === $this->trigger_refresh_data( $instaData, $old_opts, $new_opts ) ) {
|
1515 |
+
// if ( true ) {
|
1516 |
|
1517 |
+
$instaData = array();
|
1518 |
$old_opts['search'] = $search;
|
1519 |
$old_opts['search_string'] = $search_string;
|
1520 |
$old_opts['blocked_users'] = $blocked_users;
|
1524 |
|
1525 |
if ( 'user' == $search ) {
|
1526 |
|
1527 |
+
$results = $this->get_data_by_username( $search_string );
|
1528 |
+
if ( isset( $results['error'] ) ) {
|
1529 |
+
return $results['error'];
|
1530 |
+
}
|
1531 |
|
1532 |
+
WIS_Plugin::app()->updateOption( 'profiles_data_by_username', $results );
|
1533 |
// ************************************
|
1534 |
// if instagram not return list of posts
|
1535 |
// ************************************
|
1536 |
+
$is_instaLoginPage = ! isset( $results['entry_data']['ProfilePage'] );
|
1537 |
+
if ( $is_instaLoginPage ) {
|
1538 |
+
return [ 'error' => __( 'Instagram requires authorization to view a user profile. Use autorized account in widget settings', 'instagram-slider-widget' ) ];
|
|
|
1539 |
}
|
1540 |
// ************************************
|
1541 |
+
} elseif ( 'account' == $search || 'account_business' == $search ) {
|
1542 |
+
$is_business_api = 'account_business' == $search ? true : false;
|
1543 |
+
$nr_images = ! $this->WIS->is_premium() && $nr_images > 20 ? 20 : $nr_images;
|
1544 |
+
//песочница
|
1545 |
+
if ( isset( $_GET['access_token'] ) && isset( $_GET['id'] ) ) {
|
1546 |
+
if ( isset( $_COOKIE['wis-demo-account-data'] ) ) {
|
1547 |
+
$account = json_decode( stripslashes( $_COOKIE['wis-demo-account-data'] ), true );
|
1548 |
+
} else {
|
1549 |
+
$account = $this->get_user_by_token( $_GET['access_token'] );
|
1550 |
+
}
|
1551 |
+
// $account = array(
|
1552 |
+
// 'token' => $_GET['access_token'],
|
1553 |
+
// 'id' => $_GET['id'],
|
1554 |
+
// );
|
1555 |
+
} else {
|
1556 |
+
$account = $this->getAccountById( $search_string, $is_business_api );
|
1557 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
1558 |
|
1559 |
+
if ( $is_business_api ) {
|
1560 |
+
if ( ! isset( $_GET['access_token'] ) && ! isset( $_GET['id'] ) ) {
|
1561 |
+
//Обновляем данные профиля: подписчики, количество постов
|
1562 |
+
$this->update_account_profiles( $account['token'], true, $account['username'] );
|
1563 |
+
}
|
1564 |
|
1565 |
+
$args = array(
|
1566 |
+
'access_token' => $account['token'],
|
1567 |
+
'fields' => "id,username,caption,comments_count,like_count,media_type,media_url,permalink,timestamp,children{media_url,media_type},owner,thumbnail_url",
|
1568 |
+
'limit' => 50,
|
1569 |
+
);
|
1570 |
+
|
1571 |
+
$url = self::USERS_SELF_URL_NEW . $account['id'] . "/media";
|
1572 |
+
$response = wp_remote_get( add_query_arg( $args, $url ) );
|
1573 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
1574 |
+
$media = json_decode( wp_remote_retrieve_body( $response ), true );
|
1575 |
+
$results = $media['data'];
|
1576 |
+
$results = apply_filters('wis/images/count', $results, $media, $nr_images, true);
|
1577 |
+
$next_max_id = null;
|
1578 |
+
if ( ! empty( $media['pagination'] ) ) {
|
1579 |
+
$next_max_id = $media['pagination']['next_max_id'];
|
1580 |
+
}
|
1581 |
+
if ( ! count( $results ) ) {
|
1582 |
+
return [ 'error' => __( 'There are no publications in this account yet', 'instagram-slider-widget' ) ];
|
1583 |
+
}
|
1584 |
+
} else {
|
1585 |
+
if ( $instaData ) {
|
1586 |
+
$results = $instaData;
|
1587 |
+
}
|
1588 |
+
}
|
1589 |
+
|
1590 |
+
} else {
|
1591 |
+
if ( ! isset( $_GET['access_token'] ) ) {
|
1592 |
+
//Обновляем данные профиля: подписчики, количество постов
|
1593 |
+
$this->update_account_profiles( $account['token'] );
|
1594 |
+
}
|
1595 |
+
|
1596 |
+
$args = array(
|
1597 |
+
'fields' => 'id,username,media{id,username,caption,media_type,media_url,permalink,thumbnail_url,timestamp,children{id,media_type,media_url,thumbnail_url}}',
|
1598 |
+
'limit' => 50,
|
1599 |
+
'access_token' => $account['token'],
|
1600 |
+
);
|
1601 |
+
$url = self::USERS_SELF_MEDIA_URL . $account['id'];
|
1602 |
+
$response = wp_remote_get( add_query_arg( $args, $url ) );
|
1603 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
1604 |
+
$media = json_decode( wp_remote_retrieve_body( $response ), true );
|
1605 |
+
$results = $media['media']['data'];
|
1606 |
+
$results = apply_filters('wis/images/count', $results, $media, $nr_images, false);
|
1607 |
+
if ( ! is_array( $results ) || ! count( $results ) ) {
|
1608 |
+
return [ 'error' => __( 'There are no publications in this account yet', 'instagram-slider-widget' ) ];
|
1609 |
+
}
|
1610 |
+
} else {
|
1611 |
+
if ( $instaData ) {
|
1612 |
+
$results = $instaData;
|
1613 |
+
}
|
1614 |
+
}
|
1615 |
+
}
|
1616 |
|
1617 |
+
} else { //hashtag
|
1618 |
+
//$account = $this->getAccountForHashtag();
|
1619 |
+
$account = false;
|
1620 |
+
if ( $account ) {
|
1621 |
+
$args = array(
|
1622 |
+
'access_token' => $account['token'],
|
1623 |
+
'user_id' => $account['id'],
|
1624 |
+
'q' => $search_string,
|
1625 |
+
);
|
1626 |
+
$url = self::USERS_SELF_URL_NEW . "ig_hashtag_search";
|
1627 |
+
$response = wp_remote_get( add_query_arg( $args, $url ) );
|
1628 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
1629 |
+
$media = json_decode( wp_remote_retrieve_body( $response ), true );
|
1630 |
+
$args = array(
|
1631 |
+
'access_token' => $account['token'],
|
1632 |
+
'user_id' => $account['id'],
|
1633 |
+
'fields' => "id,caption,media_type,media_url,comments_count,like_count,permalink,children{media_type,media_url}",
|
1634 |
+
'limit' => 50,
|
1635 |
+
);
|
1636 |
+
$url = self::USERS_SELF_URL_NEW . $media['data'][0]['id'] . "/recent_media";
|
1637 |
+
$response = wp_remote_get( add_query_arg( $args, $url ) );
|
1638 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
1639 |
+
$media = json_decode( wp_remote_retrieve_body( $response ), true );
|
1640 |
+
$media['hashtag'] = true;
|
1641 |
+
$results = $media;
|
1642 |
+
|
1643 |
+
}
|
1644 |
+
}
|
1645 |
+
} else {
|
1646 |
+
$url = str_replace( '{tag}', urlencode( trim( $search_string ) ), self::TAG_URL );
|
1647 |
+
$response = wp_remote_get( $url, array( 'sslverify' => false, 'timeout' => 60 ) );
|
1648 |
+
$results = json_decode( $response['body'], true );
|
1649 |
+
}
|
1650 |
|
|
|
1651 |
}
|
1652 |
|
1653 |
+
if ( true ) {
|
1654 |
|
1655 |
if ( $results && is_array( $results ) ) {
|
1656 |
|
1657 |
if ( 'user' == $search ) {
|
1658 |
+
$entry_data = isset( $results['entry_data']['ProfilePage'][0]['graphql']['user']['edge_owner_to_timeline_media']['edges'] ) ? $results['entry_data']['ProfilePage'][0]['graphql']['user']['edge_owner_to_timeline_media']['edges'] : array();
|
1659 |
+
} elseif ( 'account' == $search || 'account_business' == $search ) {
|
1660 |
+
$entry_data = $results;
|
1661 |
+
} elseif ( 'hashtag' == $search ) {
|
1662 |
+
if ( isset( $results['hashtag'] ) ) {
|
1663 |
+
$entry_data = $results['data'];
|
1664 |
+
} else {
|
1665 |
+
$entry_data = isset( $results['graphql']['hashtag']['edge_hashtag_to_media']['edges'] ) ? $results['graphql']['hashtag']['edge_hashtag_to_media']['edges'] : array();
|
1666 |
+
}
|
1667 |
}
|
1668 |
|
1669 |
if ( empty( $entry_data ) ) {
|
1670 |
+
return [ 'error' => __( 'No images found', 'instagram-slider-widget' ) ];
|
1671 |
}
|
1672 |
+
$i = 0;
|
1673 |
+
foreach ( $entry_data as $current => $result ) {
|
1674 |
+
if ( ! isset( $result['caption'] ) ) {
|
1675 |
+
$result['caption'] = "";
|
1676 |
+
}
|
1677 |
|
1678 |
+
if ( $i >= $nr_images ) {
|
1679 |
+
break;
|
1680 |
+
} else {
|
1681 |
+
$i ++;
|
1682 |
+
}
|
1683 |
|
1684 |
if ( 'hashtag' == $search ) {
|
1685 |
|
1686 |
+
//TODO: Доделать черный список с новым API
|
1687 |
+
//Чёрный список не работает, так как API не отдает имя пользователя, который создал пост
|
1688 |
+
if ( isset( $results['hashtag'] ) ) {
|
1689 |
+
$result['fbapi'] = true;
|
1690 |
+
if ( isset( $result['media_type'] ) && $result['media_type'] == 'VIDEO' ) {
|
1691 |
+
//$nr_images++;
|
1692 |
+
continue;
|
1693 |
+
}
|
1694 |
+
} else {
|
1695 |
+
$result = $result['node'];
|
1696 |
+
if ( in_array( $result['owner']['id'], $blocked_users_array ) ) {
|
1697 |
+
$nr_images ++;
|
1698 |
+
continue;
|
1699 |
+
}
|
1700 |
}
|
1701 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1702 |
|
1703 |
if ( 'account' == $search ) {
|
1704 |
+
$image_data = $this->to_media_model_from_account( $result );
|
1705 |
+
} elseif ( 'account_business' == $search ) {
|
1706 |
+
$image_data = $this->to_media_model_from_account_business( $result );
|
1707 |
+
} elseif ( 'hashtag' == $search && $results['graphql']['hashtag'] ) {
|
1708 |
+
$image_data = $this->to_media_model_from_hashtag( $result );
|
1709 |
+
} elseif ( 'user' == $search ) {
|
1710 |
+
$image_data = $this->media_model( $result['node'] );
|
1711 |
+
$image_data['username'] = $search_string;
|
1712 |
}
|
|
|
|
|
1713 |
|
1714 |
+
|
1715 |
+
if ( $this->is_blocked_by_word( $blocked_words, $image_data['caption'] ) ) {
|
1716 |
+
$nr_images ++;
|
1717 |
+
continue;
|
1718 |
}
|
1719 |
|
1720 |
+
if( !$this->is_allowed_by_word($allowed_words, $image_data['caption']) ){
|
1721 |
+
$nr_images ++;
|
1722 |
+
continue;
|
1723 |
+
}
|
1724 |
+
|
1725 |
+
if ( ! $attachment ) {
|
1726 |
|
1727 |
$instaData[] = $image_data;
|
1728 |
|
1729 |
} else {
|
1730 |
|
1731 |
+
if ( isset( $old_opts['saved_images'][ $image_data['id'] ] ) ) {
|
1732 |
|
1733 |
+
if ( is_string( get_post_status( $old_opts['saved_images'][ $image_data['id'] ] ) ) ) {
|
1734 |
|
1735 |
+
$this->update_wp_attachment( $old_opts['saved_images'][ $image_data['id'] ], $image_data );
|
1736 |
|
1737 |
+
$instaData[ $image_data['id'] ] = $old_opts['saved_images'][ $image_data['id'] ];
|
1738 |
|
1739 |
} else {
|
1740 |
+
unset( $old_opts['saved_images'][ $image_data['id'] ] );
|
1741 |
}
|
1742 |
|
1743 |
} else {
|
1746 |
|
1747 |
if ( $id && is_numeric( $id ) ) {
|
1748 |
|
1749 |
+
$old_opts['saved_images'][ $image_data['id'] ] = $id;
|
1750 |
|
1751 |
+
$instaData[ $image_data['id'] ] = $id;
|
1752 |
|
1753 |
} else {
|
1754 |
|
1771 |
|
1772 |
update_option( $opt_name, $old_opts );
|
1773 |
|
1774 |
+
if ( is_array( $instaData ) && ! empty( $instaData ) ) {
|
1775 |
|
1776 |
set_transient( $opt_name, $instaData, $cache_hours * 60 * 60 );
|
1777 |
}
|
1778 |
|
1779 |
} // end -> false === $instaData
|
1780 |
|
1781 |
+
//if('account' == $search)
|
1782 |
+
//$instaData = array_merge($instaData, ['next_max_id' => $next_max_id]);
|
1783 |
return $instaData;
|
1784 |
}
|
1785 |
|
1813 |
|
1814 |
/**
|
1815 |
* Media Model
|
1816 |
+
*
|
1817 |
* @param [type] $medias_array [description]
|
1818 |
+
*
|
1819 |
* @return [type] [description]
|
1820 |
*/
|
1821 |
private function media_model( $medias_array ) {
|
1822 |
|
1823 |
+
$m = array();
|
1824 |
|
1825 |
foreach ( $medias_array as $prop => $value ) {
|
1826 |
|
1827 |
switch ( $prop ) {
|
1828 |
case 'id':
|
1829 |
+
$m['id'] = $value;
|
1830 |
break;
|
1831 |
case 'code':
|
1832 |
case '__typename':
|
1833 |
+
$m['type'] = $value;
|
1834 |
+
break;
|
1835 |
case 'shortcode':
|
1836 |
+
$m['code'] = $value;
|
1837 |
+
$m['link'] = 'https://www.instagram.com/p/' . $value . '/';
|
1838 |
break;
|
1839 |
case 'owner':
|
1840 |
+
$m['user_id'] = $value['id'];
|
1841 |
break;
|
1842 |
case 'caption':
|
1843 |
+
$m['caption'] = $this->sanitize( $value );
|
1844 |
break;
|
1845 |
case 'edge_media_to_caption':
|
1846 |
+
if ( ! empty( $value['edges'] ) ) {
|
1847 |
$first_caption = $value['edges'][0];
|
1848 |
if ( isset( $first_caption['node']['text'] ) ) {
|
1849 |
+
$m['caption'] = $this->sanitize( $value['edges'][0]['node']['text'] );
|
1850 |
}
|
1851 |
}
|
1852 |
break;
|
1853 |
case 'date':
|
1854 |
case 'taken_at_timestamp':
|
1855 |
+
$m['timestamp'] = (float) $value;
|
1856 |
break;
|
1857 |
case 'dimensions':
|
1858 |
+
$m['height'] = $value['height'];
|
1859 |
+
$m['width'] = $value['width'];
|
1860 |
break;
|
1861 |
case 'display_url':
|
1862 |
case 'display_src':
|
1863 |
+
$m['url'] = $value;
|
1864 |
+
$m['image'] = $value;
|
1865 |
+
if ( isset( $m['sizes'] ) ) {
|
1866 |
+
$m['sizes']['full'] = $value;
|
1867 |
}
|
1868 |
break;
|
1869 |
case 'edge_liked_by':
|
1870 |
case 'likes':
|
1871 |
+
$m['likes_count'] = $value['count'];
|
1872 |
break;
|
1873 |
case 'edge_media_to_comment':
|
1874 |
case 'comments':
|
1875 |
+
$m['comment_count'] = $value['count'];
|
1876 |
break;
|
1877 |
case 'thumbnail_resources':
|
1878 |
+
$m['sizes'] = $this->get_thumbnail_urls( $value );
|
1879 |
+
if ( isset( $m['url'] ) ) {
|
1880 |
+
$m['sizes']['full'] = $m['url'];
|
1881 |
}
|
1882 |
break;
|
1883 |
}
|
1884 |
|
1885 |
+
if ( isset( $m['comment_count'] ) && isset( $m['likes_count'] ) ) {
|
1886 |
+
$m['popularity'] = (int) ( $m['comment_count'] ) + ( $m['likes_count'] );
|
1887 |
}
|
1888 |
}
|
1889 |
|
1890 |
+
return $m;
|
1891 |
}
|
1892 |
|
1893 |
/**
|
1894 |
* Media Model from account
|
1895 |
+
*
|
1896 |
+
* @param array $media From API
|
1897 |
+
*
|
1898 |
* @return array To plugin format
|
1899 |
*/
|
1900 |
+
public function to_media_model_from_account( $media ) {
|
1901 |
|
1902 |
$m = array();
|
1903 |
+
switch ( $media['media_type'] ) {
|
1904 |
+
case 'IMAGE':
|
1905 |
+
$m['type'] = 'GraphImage';
|
1906 |
+
$m['image'] = $media['media_url'];
|
1907 |
+
break;
|
1908 |
+
case 'VIDEO':
|
1909 |
+
$m['type'] = 'GraphVideo';
|
1910 |
+
$m['video'] = $media['media_url'];
|
1911 |
+
$m['thumbnail'] = $media['thumbnail_url'];
|
1912 |
+
$m['image'] = $media['thumbnail_url'];
|
1913 |
+
break;
|
1914 |
+
case 'CAROUSEL_ALBUM':
|
1915 |
+
$m['type'] = 'GraphSidecar';
|
1916 |
+
$res = array();
|
1917 |
+
foreach ( $media['children']['data'] as $v ) {
|
1918 |
+
$type = 'images';
|
1919 |
+
$t['standard_resolution']['url'] = $v['media_url'];
|
1920 |
+
$size = getimagesize( $v['media_url'] );
|
1921 |
+
if ( is_array( $size ) ) {
|
1922 |
+
$t['standard_resolution']['height'] = $size[1];
|
1923 |
+
$t['standard_resolution']['width'] = $size[0];
|
1924 |
+
} else {
|
1925 |
+
$type = 'videos';
|
1926 |
+
}
|
1927 |
+
$res[][ $type ] = $t;
|
1928 |
+
|
1929 |
+
}
|
1930 |
+
$m['sidecar_media'] = $res;
|
1931 |
+
$m['image'] = $media['media_url'];
|
1932 |
+
break;
|
1933 |
+
}
|
1934 |
+
|
1935 |
+
$m['id'] = $media['id'];
|
1936 |
+
$m['username'] = $media['username'];
|
1937 |
+
$m['caption'] = $this->sanitize( $media['caption'] );
|
1938 |
+
$m['link'] = $media['permalink'];
|
1939 |
+
$m['timestamp'] = strtotime( $media['timestamp'] );
|
1940 |
+
$m['url'] = $media['media_url'];
|
1941 |
+
|
1942 |
+
if ( $media['media_type'] == 'VIDEO' ) {
|
1943 |
+
$size = getimagesize( $media['thumbnail_url'] );
|
1944 |
+
} else {
|
1945 |
+
$size = getimagesize( $media['media_url'] );
|
1946 |
+
}
|
1947 |
+
if ( is_array( $size ) ) {
|
1948 |
+
$m['height'] = $size[1];
|
1949 |
+
$m['width'] = $size[0];
|
1950 |
+
}
|
1951 |
+
|
1952 |
+
$m['popularity'] = 0;
|
1953 |
+
|
1954 |
+
return $m;
|
1955 |
+
}
|
1956 |
+
|
1957 |
+
/**
|
1958 |
+
* Media Model from account
|
1959 |
+
*
|
1960 |
+
* @param array $media From API
|
1961 |
+
*
|
1962 |
+
* @return array To plugin format
|
1963 |
+
*/
|
1964 |
+
public function to_media_model_from_account_business( $media ) {
|
1965 |
+
|
1966 |
+
$m = array();
|
1967 |
+
switch ( $media['media_type'] ) {
|
1968 |
+
case 'IMAGE':
|
1969 |
+
$m['type'] = 'GraphImage';
|
1970 |
+
$m['image'] = $media['media_url'];
|
1971 |
+
break;
|
1972 |
+
case 'VIDEO':
|
1973 |
+
$m['type'] = 'GraphVideo';
|
1974 |
+
$m['video'] = $media['media_url'];
|
1975 |
+
$m['thumbnail'] = $media['thumbnail_url'];
|
1976 |
+
$m['image'] = $media['thumbnail_url'];
|
1977 |
+
break;
|
1978 |
+
case 'CAROUSEL_ALBUM':
|
1979 |
+
$m['type'] = 'GraphSidecar';
|
1980 |
+
$res = array();
|
1981 |
+
foreach ( $media['children']['data'] as $v ) {
|
1982 |
+
$type = 'images';
|
1983 |
+
$t['standard_resolution']['url'] = $v['media_url'];
|
1984 |
+
$size = getimagesize( $v['media_url'] );
|
1985 |
+
if ( is_array( $size ) ) {
|
1986 |
+
$t['standard_resolution']['height'] = $size[1];
|
1987 |
+
$t['standard_resolution']['width'] = $size[0];
|
1988 |
+
} else {
|
1989 |
+
$type = 'videos';
|
1990 |
+
}
|
1991 |
+
$res[][ $type ] = $t;
|
1992 |
+
}
|
1993 |
+
$m['sidecar_media'] = $res;
|
1994 |
+
$m['image'] = $media['media_url'];
|
1995 |
+
break;
|
1996 |
+
}
|
1997 |
+
|
1998 |
+
$m['id'] = $media['id'];
|
1999 |
+
$m['username'] = $media['username'];
|
2000 |
+
$m['caption'] = $this->sanitize( $media['caption'] );
|
2001 |
+
$m['link'] = $media['permalink'];
|
2002 |
+
$m['user_id'] = $media['owner']['id'];
|
2003 |
+
$m['timestamp'] = strtotime( $media['timestamp'] );
|
2004 |
+
$m['url'] = $media['media_url'];
|
2005 |
+
$m['comments'] = $media['comments_count'];
|
2006 |
+
$m['likes'] = $media['like_count'];
|
2007 |
+
|
2008 |
+
if ( $media['media_type'] == 'VIDEO' ) {
|
2009 |
+
$size = getimagesize( $media['thumbnail_url'] );
|
2010 |
+
} else {
|
2011 |
+
$size = getimagesize( $media['media_url'] );
|
2012 |
+
}
|
2013 |
+
if ( is_array( $size ) ) {
|
2014 |
+
$m['height'] = $size[1];
|
2015 |
+
$m['width'] = $size[0];
|
2016 |
+
}
|
2017 |
+
|
2018 |
+
if ( isset( $m['comments'] ) && isset( $m['likes'] ) ) {
|
2019 |
+
$m['popularity'] = (int) ( $m['comments'] ) + ( $m['likes'] );
|
2020 |
+
}
|
2021 |
|
2022 |
+
return $m;
|
2023 |
+
}
|
2024 |
+
|
2025 |
+
/**
|
2026 |
+
* Media Model from hashtag
|
2027 |
+
*
|
2028 |
+
* @param array $media From API
|
2029 |
+
*
|
2030 |
+
* @return array To plugin format
|
2031 |
+
*/
|
2032 |
+
public function to_media_model_from_hashtag( $media ) {
|
2033 |
+
|
2034 |
+
$m = array();
|
2035 |
+
if ( isset( $media['fbapi'] ) ) {
|
2036 |
+
$value = $media;
|
2037 |
+
switch ( $value['media_type'] ) {
|
2038 |
+
case 'IMAGE':
|
2039 |
+
$m['type'] = 'GraphImage';
|
2040 |
+
$m['image'] = $value['media_url'];
|
2041 |
+
break;
|
2042 |
+
case 'VIDEO':
|
2043 |
+
$m['type'] = 'GraphVideo';
|
2044 |
+
$m['video'] = $value['media_url'];
|
2045 |
+
$m['thumbnail'] = $value['thumbnail_url'];
|
2046 |
+
$m['image'] = $value['thumbnail_url'];
|
2047 |
+
break;
|
2048 |
+
case 'CAROUSEL_ALBUM':
|
2049 |
+
$m['type'] = 'GraphSidecar';
|
2050 |
+
$res = array();
|
2051 |
+
foreach ( $value['children']['data'] as $v ) {
|
2052 |
+
$t['standard_resolution']['url'] = $v['media_url'];
|
2053 |
+
$res[]['images'] = $t;
|
2054 |
+
}
|
2055 |
+
$m['sidecar_media'] = $res;
|
2056 |
+
$m['image'] = $value['children']['data'][0]['media_url'];
|
2057 |
+
break;
|
2058 |
+
}
|
2059 |
+
|
2060 |
+
$m['id'] = $value['id'];
|
2061 |
+
$m['caption'] = $this->sanitize( $value['caption'] );
|
2062 |
+
$m['link'] = $value['permalink'];
|
2063 |
+
$m['comment_count'] = $value['comments_count'];
|
2064 |
+
$m['url'] = $value['media_url'];
|
2065 |
+
$m['likes_count'] = $value['like_count'];
|
2066 |
+
|
2067 |
+
$m['sizes']['thumbnail'] = $value['media_url'];
|
2068 |
+
$m['sizes']['low'] = $value['media_url'];
|
2069 |
+
$m['sizes']['standard'] = $value['media_url'];
|
2070 |
+
$m['sizes']['full'] = $value['media_url'];
|
2071 |
+
|
2072 |
+
if ( $media['media_type'] == 'VIDEO' ) {
|
2073 |
+
$size = getimagesize( $value['thumbnail_url'] );
|
2074 |
+
} else {
|
2075 |
+
$size = getimagesize( $value['media_url'] );
|
2076 |
+
}
|
2077 |
+
if ( is_array( $size ) ) {
|
2078 |
+
$m['height'] = $size[1];
|
2079 |
+
$m['width'] = $size[0];
|
2080 |
+
}
|
2081 |
+
|
2082 |
+
$m['popularity'] = (int) ( $m['comment_count'] ) + ( $m['likes_count'] );
|
2083 |
+
} else {
|
2084 |
+
$value = $media;
|
2085 |
+
$m['type'] = $value['__typename'];
|
2086 |
+
$m['id'] = $value['id'];
|
2087 |
+
$m['code'] = $value['shortcode'];
|
2088 |
+
$m['link'] = 'https://www.instagram.com/p/' . $value['shortcode'] . '/';
|
2089 |
+
$m['user_id'] = $value['owner']['id'];
|
2090 |
+
|
2091 |
+
$m['caption'] = isset( $value['edge_media_to_caption']['edges'][0]['node']['text'] ) ? $value['edge_media_to_caption']['edges'][0]['node']['text'] : "";
|
2092 |
+
|
2093 |
+
$m['timestamp'] = $value['taken_at_timestamp'];
|
2094 |
+
$m['url'] = $value['display_url'];
|
2095 |
+
$m['likes_count'] = $value['edge_liked_by']['count'];
|
2096 |
+
$m['comment_count'] = $value['edge_media_to_comment']['count'];
|
2097 |
+
$m['sizes'] = $this->get_thumbnail_urls( $value['thumbnail_resources'] );
|
2098 |
+
$m['image'] = $value['thumbnail_src'];
|
2099 |
+
|
2100 |
+
if ( isset( $m['comment_count'] ) && isset( $m['likes_count'] ) ) {
|
2101 |
+
$m['popularity'] = (int) ( $m['comment_count'] ) + ( $m['likes_count'] );
|
2102 |
+
}
|
2103 |
+
}
|
2104 |
|
2105 |
return $m;
|
2106 |
}
|
2115 |
'post_type' => 'attachment',
|
2116 |
'post_status' => 'inherit',
|
2117 |
'post_mime_type' => 'image',
|
2118 |
+
'orderby' => 'rand',
|
2119 |
+
'posts_per_page' => - 1,
|
2120 |
'meta_query' => array(
|
2121 |
array(
|
2122 |
'key' => 'jr_insta_username',
|
2126 |
),
|
2127 |
);
|
2128 |
|
2129 |
+
$savedinsta = new WP_Query( $savedinsta_args );
|
2130 |
|
2131 |
+
$opt_name = 'jr_insta_' . md5( 'user' . '_' . $username );
|
2132 |
|
2133 |
$attachment_ids = (array) get_option( $opt_name );
|
2134 |
|
2136 |
|
2137 |
foreach ( $savedinsta->posts as $post ) {
|
2138 |
|
2139 |
+
if ( ! in_array( $post->ID, $attachment_ids['saved_images'] ) ) {
|
2140 |
|
2141 |
if ( false !== wp_delete_attachment( $post->ID, true ) ) {
|
2142 |
+
$deleted_count ++;
|
2143 |
}
|
2144 |
}
|
2145 |
}
|
2155 |
*/
|
2156 |
public function delete_dupes() {
|
2157 |
|
2158 |
+
if ( function_exists( 'check_ajax_referer' ) ) {
|
2159 |
check_ajax_referer( 'jr_delete_instagram_dupes' );
|
2160 |
}
|
2161 |
|
2162 |
+
$post = $_POST;
|
2163 |
$return = array(
|
2164 |
'deleted' => $this->clean_duplicates( $post['username'] )
|
2165 |
);
|
2167 |
wp_send_json( $return );
|
2168 |
}
|
2169 |
|
2170 |
+
/**
|
2171 |
+
* Ajax Call to add BUSINESS account by token
|
2172 |
+
*
|
2173 |
+
* @return void
|
2174 |
+
* @throws \Exception
|
2175 |
+
*/
|
2176 |
public function add_account_by_token() {
|
2177 |
+
if ( isset( $_POST['account'] ) && ! empty( $_POST['account'] ) && isset( $_POST['_ajax_nonce'] ) ) {
|
2178 |
if ( ! current_user_can( 'manage_options' ) ) {
|
2179 |
+
wp_die( - 2 );
|
2180 |
} else {
|
2181 |
+
wp_verify_nonce( $_POST['_ajax_nonce'], 'addAccountByToken' );
|
2182 |
|
2183 |
+
$account = json_decode( stripslashes( $_POST['account'] ), true );
|
2184 |
+
$user_profile = array();
|
2185 |
+
$user_profile = apply_filters( 'wis/account/profiles', $user_profile, true );
|
2186 |
+
|
2187 |
+
if ( ! WIS_Plugin::app()->is_premium() && $this->count_accounts() >= 1 ) {
|
2188 |
+
wp_die( 'No premium' );
|
2189 |
+
}
|
2190 |
+
|
2191 |
+
$user_profile[ $account['username'] ] = $account;
|
2192 |
+
WIS_Plugin::app()->updateOption( 'account_profiles_new', $user_profile );
|
2193 |
+
|
2194 |
+
wp_die( 'Ok' );
|
2195 |
+
}
|
2196 |
+
} elseif ( isset( $_POST['token'] ) && ! empty( $_POST['token'] ) && isset( $_POST['_ajax_nonce'] ) ) {
|
2197 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
2198 |
+
wp_die( - 2 );
|
2199 |
+
} else {
|
2200 |
+
wp_verify_nonce( $_POST['_ajax_nonce'], 'addAccountByToken' );
|
2201 |
+
|
2202 |
+
$token = $_POST['token'];
|
2203 |
+
$this->update_account_profiles( $token );
|
2204 |
+
|
2205 |
+
wp_die( '1' );
|
2206 |
}
|
2207 |
}
|
2208 |
}
|
2212 |
* @return void
|
2213 |
*/
|
2214 |
public function delete_account() {
|
2215 |
+
if ( isset( $_POST['item_id'] ) && isset( $_POST['is_business'] ) ) {
|
2216 |
if ( ! current_user_can( 'manage_options' ) ) {
|
2217 |
wp_die( - 1 );
|
2218 |
} else {
|
2219 |
check_ajax_referer( 'wis_nonce' );
|
2220 |
|
2221 |
+
if ( (bool) $_POST['is_business'] ) {
|
2222 |
+
$option_name = 'account_profiles_new';
|
2223 |
+
} else {
|
2224 |
+
$option_name = 'account_profiles';
|
2225 |
+
}
|
2226 |
+
$accounts = WIS_Plugin::app()->getPopulateOption( $option_name );
|
2227 |
$accounts_new = array();
|
2228 |
+
foreach ( $accounts as $name => $acc ) {
|
2229 |
+
$id = isset( $acc['id'] ) ? $acc['id'] : 0;
|
2230 |
+
if ( (int) $id != (int) $_POST['item_id'] && ! empty( $name ) ) {
|
2231 |
+
$accounts_new[ $name ] = $acc;
|
2232 |
+
}
|
2233 |
+
}
|
2234 |
+
WIS_Plugin::app()->updatePopulateOption( $option_name, $accounts_new );
|
2235 |
|
2236 |
+
wp_send_json_success( __( 'Account deleted successfully', 'instagram-slider-widget' ) );
|
2237 |
}
|
2238 |
}
|
2239 |
}
|
2240 |
|
2241 |
/**
|
2242 |
* Get Account data by USERNAME from option in wp_options
|
2243 |
+
*
|
2244 |
+
* @param string $name
|
2245 |
+
* @param bool $is_business
|
2246 |
+
*
|
2247 |
+
* @return array
|
2248 |
*/
|
2249 |
+
public function getAccountById( $name, $is_business = false ) {
|
2250 |
+
if ( $is_business ) {
|
2251 |
+
$token = WIS_Plugin::app()->getOption( 'account_profiles_new' );
|
2252 |
+
} else {
|
2253 |
+
$token = WIS_Plugin::app()->getOption( 'account_profiles' );
|
2254 |
+
}
|
2255 |
+
|
2256 |
+
return $token[ $name ];
|
2257 |
+
}
|
2258 |
+
|
2259 |
+
/**
|
2260 |
+
* Get first Account data from option in wp_options
|
2261 |
+
*
|
2262 |
+
* @return bool|array
|
2263 |
+
*/
|
2264 |
+
public function getAccountForHashtag() {
|
2265 |
+
$token = WIS_Plugin::app()->getOption( 'account_profiles_new', false );
|
2266 |
+
if ( $token && is_array( $token ) && ! empty( $token ) ) {
|
2267 |
+
return $token[ array_key_first( $token ) ];
|
2268 |
+
} else {
|
2269 |
+
return false;
|
2270 |
+
}
|
2271 |
+
}
|
2272 |
|
2273 |
/**
|
2274 |
* Get Instagram Ids from Usernames into array
|
2275 |
+
*
|
2276 |
+
* @param string $usernames Comma separated string with instagram users
|
2277 |
+
*
|
2278 |
* @return array An array with instagram ids
|
2279 |
*/
|
2280 |
private function get_ids_from_usernames( $usernames ) {
|
2281 |
|
2282 |
+
$users = explode( ',', trim( $usernames ) );
|
2283 |
+
$user_ids = (array) get_transient( 'jr_insta_user_ids' );
|
2284 |
$return_ids = array();
|
2285 |
|
2286 |
+
if ( is_array( $users ) && ! empty( $users ) ) {
|
2287 |
|
2288 |
foreach ( $users as $user ) {
|
2289 |
|
2290 |
+
if ( isset( $user_ids[ $user ] ) ) {
|
2291 |
continue;
|
2292 |
}
|
2293 |
|
2294 |
+
$results = $this->get_data_by_username( $user );
|
2295 |
+
if ( $results && is_array( $results ) ) {
|
2296 |
|
2297 |
+
$results = $results['entry_data']['ProfilePage']['0']['graphql']['user'];
|
2298 |
+
$user_id = isset( $results['id'] ) ? $results['id'] : false;
|
2299 |
|
2300 |
+
if ( $user_id ) {
|
2301 |
|
2302 |
+
$user_ids[ $user ] = $user_id;
|
2303 |
|
2304 |
+
set_transient( 'jr_insta_user_ids', $user_ids );
|
2305 |
+
}
|
2306 |
+
}
|
2307 |
}
|
2308 |
}
|
2309 |
|
2310 |
foreach ( $users as $user ) {
|
2311 |
+
if ( isset( $user_ids[ $user ] ) ) {
|
2312 |
+
$return_ids[] = $user_ids[ $user ];
|
2313 |
}
|
2314 |
}
|
2315 |
|
2319 |
|
2320 |
/**
|
2321 |
* Updates attachment using the id
|
2322 |
+
*
|
2323 |
+
* @param int $attachment_ID
|
2324 |
+
* @param array image_data
|
2325 |
+
*
|
2326 |
* @return void
|
2327 |
*/
|
2328 |
private function update_wp_attachment( $attachment_ID, $image_data ) {
|
2335 |
* Save Instagram images to upload folder and ads to media.
|
2336 |
* If the upload fails it returns the remote image url.
|
2337 |
*
|
2338 |
+
* @param string $url Url of image to download
|
2339 |
+
* @param string $file File path for image
|
2340 |
*
|
2341 |
+
* @return string $url Url to image
|
2342 |
*/
|
2343 |
private function save_wp_attachment( $image_data ) {
|
2344 |
|
2345 |
$image_info = pathinfo( $image_data['url'] );
|
2346 |
|
2347 |
+
if ( ! in_array( $image_info['extension'], array( 'jpg', 'jpe', 'jpeg' ) ) ) {
|
2348 |
return false;
|
2349 |
}
|
2350 |
|
2355 |
'post_excerpt' => $image_data['caption']
|
2356 |
);
|
2357 |
|
2358 |
+
$attachment_metadata = array(
|
2359 |
+
'width' => $image_data['width'],
|
2360 |
+
'height' => $image_data['height'],
|
2361 |
+
'file' => $image_info['basename']
|
2362 |
+
);
|
2363 |
$attachment_metadata['sizes'] = array( 'full' => $attachment_metadata );
|
2364 |
+
$id = wp_insert_attachment( $attachment );
|
2365 |
wp_update_attachment_metadata( $id, $attachment_metadata );
|
2366 |
|
2367 |
|
2377 |
/**
|
2378 |
* Add new attachment Description only for instgram images
|
2379 |
*
|
2380 |
+
* @param array $form_fields
|
2381 |
+
* @param object $post
|
2382 |
*
|
2383 |
* @return array
|
2384 |
*/
|
2386 |
|
2387 |
$instagram_username = get_post_meta( $post->ID, 'jr_insta_username', true );
|
2388 |
|
2389 |
+
if ( ! empty( $instagram_username ) ) {
|
2390 |
|
2391 |
$form_fields["jr_insta_username"] = array(
|
2392 |
"label" => __( "Instagram Username" ),
|
2395 |
);
|
2396 |
|
2397 |
$instagram_link = get_post_meta( $post->ID, 'jr_insta_link', true );
|
2398 |
+
if ( ! empty( $instagram_link ) ) {
|
2399 |
$form_fields["jr_insta_link"] = array(
|
2400 |
"label" => __( "Instagram Image" ),
|
2401 |
"input" => "html",
|
2404 |
}
|
2405 |
|
2406 |
$instagram_date = get_post_meta( $post->ID, 'jr_insta_timestamp', true );
|
2407 |
+
if ( ! empty( $instagram_date ) ) {
|
2408 |
+
$instagram_date = date( "F j, Y, g:i a", $instagram_date );
|
2409 |
$form_fields["jr_insta_time"] = array(
|
2410 |
"label" => __( "Posted on Instagram" ),
|
2411 |
"input" => "html",
|
2450 |
* This solution runs in O(n) time BUT assumes that all incoming input is
|
2451 |
* strictly UTF8.
|
2452 |
*
|
2453 |
+
* @param string $input The input to be sanitised
|
2454 |
*
|
2455 |
+
* @return string sanitized input
|
2456 |
*/
|
2457 |
private function sanitize( $input ) {
|
2458 |
|
2459 |
+
if ( ! empty( $input ) ) {
|
2460 |
+
$utf8_2byte = 0xC0 /*1100 0000*/
|
2461 |
+
;
|
2462 |
+
$utf8_2byte_bmask = 0xE0 /*1110 0000*/
|
2463 |
+
;
|
2464 |
+
$utf8_3byte = 0xE0 /*1110 0000*/
|
2465 |
+
;
|
2466 |
+
$utf8_3byte_bmask = 0XF0 /*1111 0000*/
|
2467 |
+
;
|
2468 |
+
$utf8_4byte = 0xF0 /*1111 0000*/
|
2469 |
+
;
|
2470 |
+
$utf8_4byte_bmask = 0xF8 /*1111 1000*/
|
2471 |
+
;
|
2472 |
|
2473 |
$sanitized = "";
|
2474 |
$len = strlen( $input );
|
2475 |
+
for ( $i = 0; $i < $len; ++ $i ) {
|
2476 |
|
2477 |
+
$mb_char = $input[ $i ]; // Potentially a multibyte sequence
|
2478 |
$byte = ord( $mb_char );
|
2479 |
|
2480 |
if ( ( $byte & $utf8_2byte_bmask ) == $utf8_2byte ) {
|
2481 |
+
$mb_char .= $input[ ++ $i ];
|
2482 |
} else if ( ( $byte & $utf8_3byte_bmask ) == $utf8_3byte ) {
|
2483 |
+
$mb_char .= $input[ ++ $i ];
|
2484 |
+
$mb_char .= $input[ ++ $i ];
|
2485 |
} else if ( ( $byte & $utf8_4byte_bmask ) == $utf8_4byte ) {
|
2486 |
// Replace with ? to avoid MySQL exception
|
2487 |
$mb_char = '';
|
2488 |
+
$i += 3;
|
2489 |
}
|
2490 |
|
2491 |
$sanitized .= $mb_char;
|
2498 |
}
|
2499 |
|
2500 |
/**
|
2501 |
+
* @param string $token
|
2502 |
+
* @param string $is_business
|
2503 |
+
* @param string $username
|
2504 |
*
|
2505 |
+
* @return bool|array
|
2506 |
*/
|
2507 |
+
public function update_account_profiles( $token, $is_business = false, $username = "" ) {
|
2508 |
+
if ( $is_business ) {
|
2509 |
+
//Получаем аккаунты привязанные к фейсбуку
|
2510 |
+
$args = array(
|
2511 |
'access_token' => $token,
|
2512 |
+
'fields' => 'instagram_business_account',
|
2513 |
+
'limit' => 200,
|
2514 |
+
);
|
2515 |
+
$url = self::USERS_SELF_URL_NEW . "me/accounts";
|
2516 |
+
$response = wp_remote_get( add_query_arg( $args, $url ) );
|
2517 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
2518 |
+
$pages = json_decode( wp_remote_retrieve_body( $response ), true );
|
2519 |
+
//$username = $result['data'][0]['name'];
|
2520 |
+
$html = "";
|
2521 |
+
$users = array();
|
2522 |
+
foreach ( $pages['data'] as $key => $r ) {
|
2523 |
+
if ( isset( $r['instagram_business_account'] ) && isset( $r['instagram_business_account']['id'] ) ) {
|
2524 |
+
$args = array(
|
2525 |
+
'fields' => 'username,id,followers_count,follows_count,media_count,name,profile_picture_url',
|
2526 |
+
'access_token' => $token
|
2527 |
+
);
|
2528 |
+
$url = self::USERS_SELF_URL_NEW . $r['instagram_business_account']['id'];
|
2529 |
+
$response = wp_remote_get( add_query_arg( $args, $url ) );
|
2530 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
2531 |
+
$result = json_decode( wp_remote_retrieve_body( $response ), true );
|
2532 |
+
$result['token'] = $token;
|
2533 |
+
$users[] = $result;
|
2534 |
+
$html .= "<div class='wis-row wis-row-style' id='wis-instagram-row' data-account='" . json_encode( $result ) . "'>";
|
2535 |
+
$html .= "<div class='wis-col-1 wis-col1-style'><img src='{$result['profile_picture_url']}' width='50' alt='{$result['username']}'></div>";
|
2536 |
+
$html .= "<div class='wis-col-2 wis-col2-style'>{$result['name']}<br>@{$result['username']}</div>";
|
2537 |
+
$html .= "</div>";
|
2538 |
+
}
|
2539 |
+
if ( "" !== $username && $username == $result['username'] ) {
|
2540 |
+
$user_profile = array();
|
2541 |
+
$user_profile = apply_filters( 'wis/account/profiles', $user_profile, true );
|
2542 |
+
|
2543 |
+
$user_profile[ $result['username'] ] = $result;
|
2544 |
+
WIS_Plugin::app()->updateOption( 'account_profiles_new', $user_profile );
|
2545 |
+
}
|
2546 |
+
}
|
2547 |
+
}
|
2548 |
+
|
2549 |
+
return array( $html, $users );
|
2550 |
+
}
|
2551 |
+
} else {
|
2552 |
+
$expires = 0;
|
2553 |
+
$profiles = WIS_Plugin::app()->getOption( 'account_profiles', array() );
|
2554 |
+
foreach ( $profiles as $profile ) {
|
2555 |
+
if ( $profile['token'] == $token ) {
|
2556 |
+
if ( $profile['expires'] <= time() ) {
|
2557 |
+
$new = $this->refresh_token( $token );
|
2558 |
+
$token = $new['access_token'];
|
2559 |
+
$expires = $new['expires_in']; //5183944 sec
|
2560 |
+
}
|
2561 |
+
break;
|
2562 |
+
}
|
2563 |
+
}
|
2564 |
+
|
2565 |
+
$args = array(
|
2566 |
+
'fields' => 'id,media_count,username',
|
2567 |
+
'access_token' => $token,
|
2568 |
+
);
|
2569 |
+
|
2570 |
+
$url = self::USERS_SELF_URL;
|
2571 |
+
$url = add_query_arg( $args, $url );
|
2572 |
+
$response = wp_remote_get( $url );
|
2573 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
2574 |
+
$user = json_decode( wp_remote_retrieve_body( $response ), true );
|
2575 |
+
if ( ! isset( $user['id'] ) || empty( $user['id'] ) ) {
|
2576 |
+
return false;
|
2577 |
+
}
|
2578 |
+
|
2579 |
+
$user['token'] = $token;
|
2580 |
+
if ( $expires > 0 ) {
|
2581 |
+
$user['expires'] = time() + ( $expires - 86344 );
|
2582 |
+
} //= 5097600 sec = 59 days
|
2583 |
+
else {
|
2584 |
+
$user['expires'] = isset( $profiles[ $user['username'] ]['expires'] ) ? $profiles[ $user['username'] ]['expires'] : time() + 5097600;
|
2585 |
+
}
|
2586 |
+
$user_profile = array();
|
2587 |
+
$user_profile = apply_filters( 'wis/account/profiles', $user_profile );
|
2588 |
+
|
2589 |
+
if ( ! WIS_Plugin::app()->is_premium() && $this->count_accounts() >= 1 ) {
|
2590 |
+
return array();
|
2591 |
+
}
|
2592 |
+
|
2593 |
+
$user_profile[ $user['username'] ] = $user;
|
2594 |
+
WIS_Plugin::app()->updateOption( 'account_profiles', $user_profile );
|
2595 |
+
|
2596 |
+
return $user;
|
2597 |
+
}
|
2598 |
+
}
|
2599 |
+
|
2600 |
+
return false;
|
2601 |
+
}
|
2602 |
+
|
2603 |
+
/**
|
2604 |
+
* @param string $token
|
2605 |
+
*
|
2606 |
+
* @return array
|
2607 |
+
*/
|
2608 |
+
public function refresh_token( $token ) {
|
2609 |
+
$args = array(
|
2610 |
+
'grant_type' => 'ig_refresh_token',
|
2611 |
+
'access_token' => $token,
|
2612 |
);
|
2613 |
+
|
2614 |
+
$url = self::USERS_SELF_MEDIA_URL . 'refresh_access_token';
|
2615 |
+
$url = add_query_arg( $args, $url );
|
2616 |
+
$response = wp_remote_get( $url );
|
2617 |
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
2618 |
+
$new = json_decode( wp_remote_retrieve_body( $response ), true );
|
2619 |
+
if ( is_array( $new ) ) {
|
2620 |
+
return $new;
|
2621 |
+
}
|
2622 |
+
}
|
2623 |
|
2624 |
+
return array();
|
2625 |
+
}
|
2626 |
+
|
2627 |
+
/**
|
2628 |
+
* This post is blocked by words?
|
2629 |
+
*
|
2630 |
+
* @param string $words
|
2631 |
+
* @param string $text
|
2632 |
+
*
|
2633 |
+
* @return bool
|
2634 |
+
*/
|
2635 |
+
public function is_blocked_by_word( $words, $text ) {
|
2636 |
+
if ( empty( $words ) || empty( $text ) ) {
|
2637 |
+
return false;
|
2638 |
+
}
|
2639 |
+
$words_array = explode( ',', $words );
|
2640 |
+
foreach ( $words_array as $word ) {
|
2641 |
+
$pos = stripos( $text, trim( $word ) );
|
2642 |
+
if ( $pos !== false ) {
|
2643 |
+
return true;
|
2644 |
+
}
|
2645 |
}
|
2646 |
+
|
2647 |
return false;
|
2648 |
+
}
|
2649 |
+
|
2650 |
+
public function is_allowed_by_word($words, $text)
|
2651 |
+
{
|
2652 |
+
if(empty($words)) return true;
|
2653 |
+
if(empty($text)) return false;
|
2654 |
+
|
2655 |
+
$words_array = explode( ',', $words );
|
2656 |
+
foreach ($words_array as $word) {
|
2657 |
+
if(strripos($text, $word) !== false){
|
2658 |
+
return true;
|
2659 |
+
}
|
2660 |
+
}
|
2661 |
+
return false;
|
2662 |
}
|
2663 |
|
2664 |
+
public function get_user_by_token( $token ) {
|
2665 |
+
$args = array(
|
2666 |
+
'fields' => 'id,media_count,username',
|
2667 |
+
'access_token' => $token,
|
2668 |
+
);
|
2669 |
+
|
2670 |
+
$url = self::USERS_SELF_URL;
|
2671 |
+
$url = add_query_arg( $args, $url );
|
2672 |
+
$response = wp_remote_get( $url );
|
2673 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
2674 |
+
$user = json_decode( wp_remote_retrieve_body( $response ), true );
|
2675 |
+
$user['token'] = $token;
|
2676 |
+
|
2677 |
+
return $user;
|
2678 |
+
}
|
2679 |
+
|
2680 |
+
return false;
|
2681 |
+
}
|
2682 |
+
|
2683 |
+
/**
|
2684 |
+
* Get count of accounts
|
2685 |
+
*
|
2686 |
+
* @return int
|
2687 |
+
*/
|
2688 |
+
public function count_accounts() {
|
2689 |
+
$account = WIS_Plugin::app()->getOption( 'account_profiles', array() );
|
2690 |
+
$accont_b = WIS_Plugin::app()->getOption( 'account_profiles_new', array() );
|
2691 |
+
|
2692 |
+
return count( $account ) + count( $accont_b );
|
2693 |
+
}
|
2694 |
+
|
2695 |
} // end of class WIS_InstagramSlider
|
2696 |
?>
|
includes/class.wis_social.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class of Social feed
|
4 |
+
*
|
5 |
+
* @author Artem Prihodko <webtemyk@yandex.ru>, Github: https://github.com/temyk
|
6 |
+
* @copyright (c) 28.12.2019, Webcraftic
|
7 |
+
*
|
8 |
+
* @version 1.0.0
|
9 |
+
*/
|
10 |
+
|
11 |
+
// Exit if accessed directly
|
12 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
class WIS_Social {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @see self::app()
|
20 |
+
* @var WIS_Social
|
21 |
+
*/
|
22 |
+
private static $app;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @var WIS_Plugin
|
26 |
+
*/
|
27 |
+
public $WIS;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Name of the Social
|
31 |
+
*
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
public $social_name = "";
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Статический метод для быстрого доступа к интерфейсу плагина.
|
38 |
+
*
|
39 |
+
* @return WIS_Social
|
40 |
+
*/
|
41 |
+
public static function app() {
|
42 |
+
return self::$app;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* WIS_Social constructor.
|
47 |
+
*/
|
48 |
+
public function __construct() {
|
49 |
+
self::$app = $this;
|
50 |
+
$this->WIS = WIS_Plugin::app();
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @return string
|
55 |
+
*/
|
56 |
+
public function getSocialName() {
|
57 |
+
return $this->social_name;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Обработка данных на вкладке соцсети
|
62 |
+
*/
|
63 |
+
public function tabAction() {
|
64 |
+
echo $this->social_name;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Add account
|
69 |
+
*
|
70 |
+
*/
|
71 |
+
public function addAccount() {
|
72 |
+
|
73 |
+
}
|
74 |
+
|
75 |
+
}
|
includes/demo_widgets.php
ADDED
@@ -0,0 +1,391 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$premium = "";
|
3 |
+
if ( ! WIS_Plugin::app()->is_premium() ) {
|
4 |
+
$premium = " PREMIUM";
|
5 |
+
}
|
6 |
+
$demo_widgets[] = [
|
7 |
+
'title' => 'Slider normal (for a sidebar)',
|
8 |
+
'search_for' => '',
|
9 |
+
'username' => '',
|
10 |
+
'account' => '',
|
11 |
+
'account_business' => '',
|
12 |
+
'hashtag' => '',
|
13 |
+
'blocked_users' => '',
|
14 |
+
'blocked_words' => '',
|
15 |
+
'attachment' => '',
|
16 |
+
'template' => 'slider',
|
17 |
+
'images_link' => 'image_link',
|
18 |
+
'custom_url' => '',
|
19 |
+
'orderby' => 'rand',
|
20 |
+
'images_number' => '5',
|
21 |
+
'columns' => '4',
|
22 |
+
'refresh_hour' => '5',
|
23 |
+
'image_size' => 'standard',
|
24 |
+
'image_link_rel' => 'standard',
|
25 |
+
'image_link_class' => 'standard',
|
26 |
+
'no_pin' => 'standard',
|
27 |
+
'controls' => 'prev_next',
|
28 |
+
'animation' => 'slide',
|
29 |
+
'caption_words' => '20',
|
30 |
+
'slidespeed' => '7000',
|
31 |
+
'description' => [
|
32 |
+
'0' => 'username',
|
33 |
+
'1' => 'time',
|
34 |
+
'2' => 'caption',
|
35 |
+
],
|
36 |
+
'support_author' => '',
|
37 |
+
'gutter' => '0',
|
38 |
+
'masonry_image_width' => '200',
|
39 |
+
'slick_slides_to_show' => '3',
|
40 |
+
'enable_control_buttons' => '0',
|
41 |
+
'slick_slides_padding' => '3',
|
42 |
+
'show_feed_header' => '1',
|
43 |
+
'highlight_offset' => '1',
|
44 |
+
'highlight_pattern' => '6',
|
45 |
+
'demo' => 1,
|
46 |
+
];
|
47 |
+
|
48 |
+
$demo_widgets[] = [
|
49 |
+
'title' => 'Thumbmails (for a sidebar)',
|
50 |
+
'search_for' => '',
|
51 |
+
'username' => '',
|
52 |
+
'account' => '',
|
53 |
+
'account_business' => '',
|
54 |
+
'hashtag' => '',
|
55 |
+
'blocked_users' => '',
|
56 |
+
'blocked_words' => '',
|
57 |
+
'attachment' => '',
|
58 |
+
'template' => 'thumbs',
|
59 |
+
'images_link' => 'image_link',
|
60 |
+
'custom_url' => '',
|
61 |
+
'orderby' => 'date-ASC',
|
62 |
+
'images_number' => '6',
|
63 |
+
'columns' => '2',
|
64 |
+
'refresh_hour' => '5',
|
65 |
+
'image_size' => 'standard',
|
66 |
+
'image_link_rel' => 'standard',
|
67 |
+
'image_link_class' => 'standard',
|
68 |
+
'no_pin' => 'standard',
|
69 |
+
'controls' => 'prev_next',
|
70 |
+
'animation' => 'slide',
|
71 |
+
'caption_words' => '20',
|
72 |
+
'slidespeed' => '7000',
|
73 |
+
'description' => [
|
74 |
+
'0' => 'username',
|
75 |
+
'1' => 'time',
|
76 |
+
'2' => 'caption',
|
77 |
+
],
|
78 |
+
'support_author' => '',
|
79 |
+
'gutter' => '0',
|
80 |
+
'masonry_image_width' => '200',
|
81 |
+
'slick_slides_to_show' => '3',
|
82 |
+
'enable_control_buttons' => '0',
|
83 |
+
'slick_slides_padding' => '3',
|
84 |
+
'show_feed_header' => '1',
|
85 |
+
'highlight_offset' => '1',
|
86 |
+
'highlight_pattern' => '6',
|
87 |
+
'demo' => 3,
|
88 |
+
];
|
89 |
+
|
90 |
+
$demo_widgets[] = [
|
91 |
+
'title' => 'Thumbnails without border (for articles and pages without sidebar)',
|
92 |
+
'search_for' => '',
|
93 |
+
'username' => '',
|
94 |
+
'account' => '',
|
95 |
+
'account_business' => '',
|
96 |
+
'hashtag' => '',
|
97 |
+
'blocked_users' => '',
|
98 |
+
'blocked_words' => '',
|
99 |
+
'attachment' => '',
|
100 |
+
'template' => 'thumbs-no-border',
|
101 |
+
'images_link' => 'image_link',
|
102 |
+
'custom_url' => '',
|
103 |
+
'orderby' => 'date-ASC',
|
104 |
+
'images_number' => '12',
|
105 |
+
'columns' => '4',
|
106 |
+
'refresh_hour' => '5',
|
107 |
+
'image_size' => 'standard',
|
108 |
+
'image_link_rel' => 'standard',
|
109 |
+
'image_link_class' => 'standard',
|
110 |
+
'no_pin' => 'standard',
|
111 |
+
'controls' => 'prev_next',
|
112 |
+
'animation' => 'slide',
|
113 |
+
'caption_words' => '20',
|
114 |
+
'slidespeed' => '7000',
|
115 |
+
'description' => [
|
116 |
+
'0' => 'username',
|
117 |
+
'1' => 'time',
|
118 |
+
'2' => 'caption',
|
119 |
+
],
|
120 |
+
'support_author' => '',
|
121 |
+
'gutter' => '0',
|
122 |
+
'masonry_image_width' => '200',
|
123 |
+
'slick_slides_to_show' => '3',
|
124 |
+
'enable_control_buttons' => '0',
|
125 |
+
'slick_slides_padding' => '3',
|
126 |
+
'show_feed_header' => '1',
|
127 |
+
'highlight_offset' => '1',
|
128 |
+
'highlight_pattern' => '6',
|
129 |
+
'demo' => 5,
|
130 |
+
];
|
131 |
+
|
132 |
+
$demo_widgets[] = [
|
133 |
+
'title' => "Masonry (for articles and pages with sidebar){$premium}",
|
134 |
+
'search_for' => '',
|
135 |
+
'username' => '',
|
136 |
+
'account' => '',
|
137 |
+
'account_business' => '',
|
138 |
+
'hashtag' => '',
|
139 |
+
'blocked_users' => '',
|
140 |
+
'blocked_words' => '',
|
141 |
+
'attachment' => '',
|
142 |
+
'template' => 'masonry',
|
143 |
+
'images_link' => 'popup',
|
144 |
+
'custom_url' => '',
|
145 |
+
'orderby' => 'rand',
|
146 |
+
'images_number' => '20',
|
147 |
+
'columns' => '4',
|
148 |
+
'refresh_hour' => '5',
|
149 |
+
'image_size' => 'standard',
|
150 |
+
'image_link_rel' => 'standard',
|
151 |
+
'image_link_class' => 'standard',
|
152 |
+
'no_pin' => 'standard',
|
153 |
+
'controls' => 'prev_next',
|
154 |
+
'animation' => 'slide',
|
155 |
+
'caption_words' => '25',
|
156 |
+
'slidespeed' => '7000',
|
157 |
+
'description' => [
|
158 |
+
'0' => 'username',
|
159 |
+
'1' => 'time',
|
160 |
+
'2' => 'caption',
|
161 |
+
],
|
162 |
+
'support_author' => '',
|
163 |
+
'gutter' => '0',
|
164 |
+
'masonry_image_width' => '205',
|
165 |
+
'slick_slides_to_show' => '3',
|
166 |
+
'enable_control_buttons' => '0',
|
167 |
+
'slick_slides_padding' => '3',
|
168 |
+
'show_feed_header' => '1',
|
169 |
+
'highlight_offset' => '1',
|
170 |
+
'highlight_pattern' => '6',
|
171 |
+
'demo' => 4,
|
172 |
+
'premium' => true,
|
173 |
+
];
|
174 |
+
|
175 |
+
$demo_widgets[] = [
|
176 |
+
'title' => "Masonry (for articles and pages without sidebar){$premium}",
|
177 |
+
'search_for' => '',
|
178 |
+
'username' => '',
|
179 |
+
'account' => '',
|
180 |
+
'account_business' => '',
|
181 |
+
'hashtag' => '',
|
182 |
+
'blocked_users' => '',
|
183 |
+
'blocked_words' => '',
|
184 |
+
'attachment' => '',
|
185 |
+
'template' => 'masonry',
|
186 |
+
'images_link' => 'popup',
|
187 |
+
'custom_url' => '',
|
188 |
+
'orderby' => 'rand',
|
189 |
+
'images_number' => '20',
|
190 |
+
'columns' => '4',
|
191 |
+
'refresh_hour' => '5',
|
192 |
+
'image_size' => 'standard',
|
193 |
+
'image_link_rel' => 'standard',
|
194 |
+
'image_link_class' => 'standard',
|
195 |
+
'no_pin' => 'standard',
|
196 |
+
'controls' => 'prev_next',
|
197 |
+
'animation' => 'slide',
|
198 |
+
'caption_words' => '20',
|
199 |
+
'slidespeed' => '7000',
|
200 |
+
'description' => [
|
201 |
+
'0' => 'username',
|
202 |
+
'1' => 'time',
|
203 |
+
'2' => 'caption',
|
204 |
+
|
205 |
+
],
|
206 |
+
'support_author' => '',
|
207 |
+
'gutter' => '0',
|
208 |
+
'masonry_image_width' => '220',
|
209 |
+
'slick_slides_to_show' => '3',
|
210 |
+
'enable_control_buttons' => '0',
|
211 |
+
'slick_slides_padding' => '3',
|
212 |
+
'show_feed_header' => '1',
|
213 |
+
'highlight_offset' => '1',
|
214 |
+
'highlight_pattern' => '6',
|
215 |
+
'demo' => '',
|
216 |
+
'premium' => true,
|
217 |
+
];
|
218 |
+
|
219 |
+
$demo_widgets[] = [
|
220 |
+
'title' => "Highlight (for a sidebar){$premium}",
|
221 |
+
'search_for' => '',
|
222 |
+
'username' => '',
|
223 |
+
'account' => '',
|
224 |
+
'account_business' => '',
|
225 |
+
'hashtag' => '',
|
226 |
+
'blocked_users' => '',
|
227 |
+
'blocked_words' => '',
|
228 |
+
'attachment' => '',
|
229 |
+
'template' => 'highlight',
|
230 |
+
'images_link' => 'popup',
|
231 |
+
'custom_url' => '',
|
232 |
+
'orderby' => 'rand',
|
233 |
+
'images_number' => '12',
|
234 |
+
'columns' => '4',
|
235 |
+
'refresh_hour' => '5',
|
236 |
+
'image_size' => 'standard',
|
237 |
+
'image_link_rel' => 'standard',
|
238 |
+
'image_link_class' => 'standard',
|
239 |
+
'no_pin' => 'standard',
|
240 |
+
'controls' => 'prev_next',
|
241 |
+
'animation' => 'slide',
|
242 |
+
'caption_words' => '20',
|
243 |
+
'slidespeed' => '7000',
|
244 |
+
'description' => [
|
245 |
+
'0' => 'username',
|
246 |
+
'1' => 'time',
|
247 |
+
'2' => 'caption',
|
248 |
+
],
|
249 |
+
'support_author' => '',
|
250 |
+
'gutter' => '0',
|
251 |
+
'masonry_image_width' => '200',
|
252 |
+
'slick_slides_to_show' => '3',
|
253 |
+
'enable_control_buttons' => '0',
|
254 |
+
'slick_slides_padding' => '3',
|
255 |
+
'show_feed_header' => '1',
|
256 |
+
'highlight_offset' => '1',
|
257 |
+
'highlight_pattern' => '4',
|
258 |
+
'demo' => 2,
|
259 |
+
'premium' => true,
|
260 |
+
];
|
261 |
+
|
262 |
+
$demo_widgets[] = [
|
263 |
+
'title' => "Highlight (for articles and pages without sidebar){$premium}",
|
264 |
+
'search_for' => '',
|
265 |
+
'username' => '',
|
266 |
+
'account' => '',
|
267 |
+
'account_business' => '',
|
268 |
+
'hashtag' => '',
|
269 |
+
'blocked_users' => '',
|
270 |
+
'blocked_words' => '',
|
271 |
+
'attachment' => '',
|
272 |
+
'template' => 'highlight',
|
273 |
+
'images_link' => 'popup',
|
274 |
+
'custom_url' => '',
|
275 |
+
'orderby' => 'date-ASC',
|
276 |
+
'images_number' => '14',
|
277 |
+
'columns' => '4',
|
278 |
+
'refresh_hour' => '5',
|
279 |
+
'image_size' => 'standard',
|
280 |
+
'image_link_rel' => 'standard',
|
281 |
+
'image_link_class' => 'standard',
|
282 |
+
'no_pin' => 'standard',
|
283 |
+
'controls' => 'prev_next',
|
284 |
+
'animation' => 'slide',
|
285 |
+
'caption_words' => '20',
|
286 |
+
'slidespeed' => '7000',
|
287 |
+
'description' => [
|
288 |
+
'0' => 'username',
|
289 |
+
'1' => 'time',
|
290 |
+
'2' => 'caption',
|
291 |
+
],
|
292 |
+
'support_author' => '',
|
293 |
+
'gutter' => '0',
|
294 |
+
'masonry_image_width' => '200',
|
295 |
+
'slick_slides_to_show' => '3',
|
296 |
+
'enable_control_buttons' => '0',
|
297 |
+
'slick_slides_padding' => '3',
|
298 |
+
'show_feed_header' => '1',
|
299 |
+
'highlight_offset' => '3',
|
300 |
+
'highlight_pattern' => '8',
|
301 |
+
'demo' => 6,
|
302 |
+
'premium' => true,
|
303 |
+
];
|
304 |
+
|
305 |
+
$demo_widgets[] = [
|
306 |
+
'title' => "Slick Slider (for articles and pages with sidebar){$premium}",
|
307 |
+
'search_for' => '',
|
308 |
+
'username' => '',
|
309 |
+
'account' => '',
|
310 |
+
'account_business' => '',
|
311 |
+
'hashtag' => '',
|
312 |
+
'blocked_users' => '',
|
313 |
+
'blocked_words' => '',
|
314 |
+
'attachment' => '',
|
315 |
+
'template' => 'slick_slider',
|
316 |
+
'images_link' => 'popup',
|
317 |
+
'custom_url' => '',
|
318 |
+
'orderby' => 'rand',
|
319 |
+
'images_number' => '20',
|
320 |
+
'columns' => '4',
|
321 |
+
'refresh_hour' => '5',
|
322 |
+
'image_size' => 'standard',
|
323 |
+
'image_link_rel' => 'standard',
|
324 |
+
'image_link_class' => 'standard',
|
325 |
+
'no_pin' => 'standard',
|
326 |
+
'controls' => 'prev_next',
|
327 |
+
'animation' => 'slide',
|
328 |
+
'caption_words' => '20',
|
329 |
+
'slidespeed' => '7000',
|
330 |
+
'description' => [
|
331 |
+
'0' => 'username',
|
332 |
+
'1' => 'time',
|
333 |
+
'2' => 'caption',
|
334 |
+
],
|
335 |
+
'support_author' => '',
|
336 |
+
'gutter' => '0',
|
337 |
+
'masonry_image_width' => '200',
|
338 |
+
'slick_slides_to_show' => '3',
|
339 |
+
'enable_control_buttons' => '0',
|
340 |
+
'slick_slides_padding' => '1',
|
341 |
+
'show_feed_header' => '1',
|
342 |
+
'highlight_offset' => '1',
|
343 |
+
'highlight_pattern' => '6',
|
344 |
+
'demo' => '',
|
345 |
+
'premium' => true,
|
346 |
+
];
|
347 |
+
|
348 |
+
$demo_widgets[] = [
|
349 |
+
'title' => "Slick Slider (for articles and pages without sidebar){$premium}",
|
350 |
+
'search_for' => '',
|
351 |
+
'username' => '',
|
352 |
+
'account' => '',
|
353 |
+
'account_business' => '',
|
354 |
+
'hashtag' => '',
|
355 |
+
'blocked_users' => '',
|
356 |
+
'blocked_words' => '',
|
357 |
+
'attachment' => '',
|
358 |
+
'template' => 'slick_slider',
|
359 |
+
'images_link' => 'popup',
|
360 |
+
'custom_url' => '',
|
361 |
+
'orderby' => 'rand',
|
362 |
+
'images_number' => '20',
|
363 |
+
'columns' => '4',
|
364 |
+
'refresh_hour' => '5',
|
365 |
+
'image_size' => 'standard',
|
366 |
+
'image_link_rel' => 'standard',
|
367 |
+
'image_link_class' => 'standard',
|
368 |
+
'no_pin' => 'standard',
|
369 |
+
'controls' => 'prev_next',
|
370 |
+
'animation' => 'slide',
|
371 |
+
'caption_words' => '20',
|
372 |
+
'slidespeed' => '7000',
|
373 |
+
'description' => [
|
374 |
+
'0' => 'username',
|
375 |
+
'1' => 'time',
|
376 |
+
'2' => 'caption',
|
377 |
+
],
|
378 |
+
'support_author' => '',
|
379 |
+
'gutter' => '0',
|
380 |
+
'masonry_image_width' => '200',
|
381 |
+
'slick_slides_to_show' => '4',
|
382 |
+
'enable_control_buttons' => '0',
|
383 |
+
'slick_slides_padding' => '1',
|
384 |
+
'show_feed_header' => '1',
|
385 |
+
'highlight_offset' => '1',
|
386 |
+
'highlight_pattern' => '6',
|
387 |
+
'demo' => '',
|
388 |
+
'premium' => true,
|
389 |
+
];
|
390 |
+
|
391 |
+
return $demo_widgets;
|
includes/socials/class.wis_facebook.php
ADDED
@@ -0,0 +1,280 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class of Facebook feed
|
4 |
+
*
|
5 |
+
* @author Artem Prihodko <webtemyk@yandex.ru>, Github: https://github.com/temyk
|
6 |
+
* @copyright (c) 28.12.2019, Webcraftic
|
7 |
+
*
|
8 |
+
* @version 1.0.0
|
9 |
+
*/
|
10 |
+
|
11 |
+
// Exit if accessed directly
|
12 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
|
16 |
+
class WIS_Facebook extends WIS_Social {
|
17 |
+
|
18 |
+
const FACEBOOK_SELF_URL = 'https://graph.facebook.com/';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Name of the Social
|
22 |
+
*
|
23 |
+
* @var string
|
24 |
+
*/
|
25 |
+
public $social_name = "facebook";
|
26 |
+
|
27 |
+
/**
|
28 |
+
* WIS_Facebook constructor.
|
29 |
+
*/
|
30 |
+
public function __construct() {
|
31 |
+
parent::__construct();
|
32 |
+
|
33 |
+
add_action( 'wp_ajax_wis_add_facebook_page_by_token', array( $this, 'add_account' ) );
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @return string
|
38 |
+
*/
|
39 |
+
public function getSocialName() {
|
40 |
+
return $this->social_name;
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Обработка данных на вкладке соцсети
|
45 |
+
*/
|
46 |
+
public function tabAction() {
|
47 |
+
if ( isset( $_GET['token_error'] ) ) {
|
48 |
+
//TODO: Обрабатывать ошибки, возможно логировать
|
49 |
+
$_SERVER['REQUEST_URI'] = str_replace( '#_', '', remove_query_arg( 'token_error' ) );
|
50 |
+
} else {
|
51 |
+
if ( isset( $_GET['access_token'] ) ) {
|
52 |
+
$token = $_GET['access_token'];
|
53 |
+
$result = $this->update_account_profiles( $token );
|
54 |
+
$_SERVER['REQUEST_URI'] = remove_query_arg( 'access_token' );
|
55 |
+
?>
|
56 |
+
<div id="wis_accounts_modal" class="wis_accounts_modal">
|
57 |
+
<div class="wis_modal_header">
|
58 |
+
Choose Account:
|
59 |
+
</div>
|
60 |
+
<div class="wis_modal_content">
|
61 |
+
<?php echo $result[0]; ?>
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
<div id="wis_modal_overlay" class="wis_modal_overlay"></div>
|
65 |
+
<span class="wis-overlay-spinner is-active"> </span>
|
66 |
+
<?php
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Stores the fetched data from Facebook in WordPress DB using transients
|
73 |
+
*
|
74 |
+
* @param string $search_for Facebook page name to fetch
|
75 |
+
* @param string $cache_hours Cache hours for transient
|
76 |
+
* @param string $nr_images Nr of images to fetch
|
77 |
+
*
|
78 |
+
* @return string|array of localy saved facebook data
|
79 |
+
*/
|
80 |
+
public function get_data( $search_for, $cache_hours, $nr_images ) {
|
81 |
+
|
82 |
+
if ( ! isset( $search_for ) || empty( $search_for ) ) {
|
83 |
+
return __( 'Nothing to search', 'instagram-slider-widget' );
|
84 |
+
}
|
85 |
+
|
86 |
+
$opt_name = 'jr_facebook_' . md5( $search_for );
|
87 |
+
$fbData = get_transient( $opt_name );
|
88 |
+
$old_opts = (array) get_option( $opt_name );
|
89 |
+
$new_opts = array(
|
90 |
+
'search_string' => $search_for,
|
91 |
+
'cache_hours' => $cache_hours,
|
92 |
+
'nr_images' => $nr_images,
|
93 |
+
);
|
94 |
+
|
95 |
+
if ( true === $this->trigger_refresh_data( $fbData, $old_opts, $new_opts ) ) {
|
96 |
+
|
97 |
+
$entry_data = array();
|
98 |
+
$old_opts['search_string'] = $search_for;
|
99 |
+
$old_opts['cache_hours'] = $cache_hours;
|
100 |
+
$old_opts['nr_images'] = $nr_images;
|
101 |
+
|
102 |
+
$nr_images = ! $this->WIS->is_premium() && $nr_images > 20 ? 20 : $nr_images;
|
103 |
+
$account = $this->getAccountByName( $search_for );
|
104 |
+
|
105 |
+
$args = array(
|
106 |
+
'access_token' => $account['token'],
|
107 |
+
'fields' => "id,created_time,message,full_picture,picture,attachments{media_type,media,title,type,url},comments{comment_count,id},likes{id}",
|
108 |
+
'limit' => $nr_images,
|
109 |
+
);
|
110 |
+
|
111 |
+
$url = self::FACEBOOK_SELF_URL . $account['id'] . "/feed";
|
112 |
+
$response = wp_remote_get( add_query_arg( $args, $url ) );
|
113 |
+
if ( is_wp_error( $response ) ) {
|
114 |
+
return [ 'error' => __( 'Something went wrong', 'instagram-slider-widget' ) ];
|
115 |
+
}
|
116 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
117 |
+
$media = json_decode( wp_remote_retrieve_body( $response ), true );
|
118 |
+
if ( $media ) {
|
119 |
+
if ( isset( $media['data'] ) && is_array( $media['data'] ) ) {
|
120 |
+
$entry_data = $media['data'];
|
121 |
+
|
122 |
+
if ( ! count( $entry_data ) ) {
|
123 |
+
return [ 'error' => __( 'There are no publications in this account yet', 'instagram-slider-widget' ) ];
|
124 |
+
}
|
125 |
+
|
126 |
+
update_option( $opt_name, $old_opts );
|
127 |
+
set_transient( $opt_name, $entry_data, $cache_hours * 60 * 60 );
|
128 |
+
} else {
|
129 |
+
return [ 'error' => __( 'No images found', 'instagram-slider-widget' ) ];
|
130 |
+
}
|
131 |
+
} else {
|
132 |
+
return [ 'error' => __( 'Something went wrong (json)', 'instagram-slider-widget' ) ];
|
133 |
+
}
|
134 |
+
} else {
|
135 |
+
return [ 'error' => __( 'Something went wrong. API error', 'instagram-slider-widget' ) ];
|
136 |
+
}
|
137 |
+
|
138 |
+
//Обновляем данные профиля: подписчики, количество постов
|
139 |
+
//$this->update_account_profiles( $account['token'], $account['username'] );
|
140 |
+
}
|
141 |
+
|
142 |
+
return $entry_data;
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Get Account data by NAME from option in wp_options
|
147 |
+
*
|
148 |
+
* @param string $name
|
149 |
+
*
|
150 |
+
* @return array
|
151 |
+
*/
|
152 |
+
public function getAccountByName( $name ) {
|
153 |
+
$token = WIS_Plugin::app()->getOption( WIS_FACEBOOK_ACCOUNT_PROFILES_OPTION_NAME );
|
154 |
+
|
155 |
+
return $token[ $name ];
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Trigger refresh for new data
|
160 |
+
*
|
161 |
+
* @param array $fbData
|
162 |
+
* @param array $old_args
|
163 |
+
* @param array $new_args
|
164 |
+
*
|
165 |
+
* @return bool
|
166 |
+
*/
|
167 |
+
private function trigger_refresh_data( $fbData, $old_args, $new_args ) {
|
168 |
+
|
169 |
+
$trigger = 0;
|
170 |
+
|
171 |
+
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
|
172 |
+
return false;
|
173 |
+
}
|
174 |
+
|
175 |
+
if ( false === $fbData ) {
|
176 |
+
$trigger = 1;
|
177 |
+
}
|
178 |
+
|
179 |
+
|
180 |
+
if ( isset( $old_args['saved_images'] ) ) {
|
181 |
+
unset( $old_args['saved_images'] );
|
182 |
+
}
|
183 |
+
|
184 |
+
if ( isset( $old_args['deleted_images'] ) ) {
|
185 |
+
unset( $old_args['deleted_images'] );
|
186 |
+
}
|
187 |
+
|
188 |
+
if ( is_array( $old_args ) && is_array( $new_args ) && array_diff( $old_args, $new_args ) !== array_diff( $new_args, $old_args ) ) {
|
189 |
+
$trigger = 1;
|
190 |
+
}
|
191 |
+
|
192 |
+
if ( $trigger == 1 ) {
|
193 |
+
return true;
|
194 |
+
}
|
195 |
+
|
196 |
+
return false;
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* @param $token
|
201 |
+
* @param $username
|
202 |
+
*
|
203 |
+
* @return bool|array
|
204 |
+
*/
|
205 |
+
public function update_account_profiles( $token, $username = "" ) {
|
206 |
+
//Получаем аккаунты привязанные к фейсбуку
|
207 |
+
$args = array(
|
208 |
+
'access_token' => $token,
|
209 |
+
'fields' => 'id,name,username,picture,photos',
|
210 |
+
'limit' => 200,
|
211 |
+
);
|
212 |
+
$url = self::FACEBOOK_SELF_URL . "me/accounts";
|
213 |
+
$response = wp_remote_get( add_query_arg( $args, $url ) );
|
214 |
+
if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
|
215 |
+
$pages = json_decode( wp_remote_retrieve_body( $response ), true );
|
216 |
+
$html = "";
|
217 |
+
foreach ( $pages['data'] as $key => $result ) {
|
218 |
+
$result['token'] = $token;
|
219 |
+
$users[] = $result;
|
220 |
+
$picture = isset( $result['picture']['data']['url'] ) ? $result['picture']['data']['url'] : "";
|
221 |
+
$html .= "<div class='wis-row wis-row-style' id='wis-facebook-row' data-account='" . json_encode( $result ) . "'>";
|
222 |
+
$html .= "<div class='wis-col-1 wis-col1-style'><img src='{$picture}' width='50' alt='{$result['name']}'></div>";
|
223 |
+
$html .= "<div class='wis-col-2 wis-col2-style'><a href='https://www.facebook.com/{$result['username']}'>{$result['name']}</a></div>";
|
224 |
+
$html .= "</div>";
|
225 |
+
}
|
226 |
+
}
|
227 |
+
|
228 |
+
return array( $html, $users );
|
229 |
+
}
|
230 |
+
|
231 |
+
/**
|
232 |
+
* Ajax Call to Add account
|
233 |
+
*
|
234 |
+
* @return void
|
235 |
+
*/
|
236 |
+
public function add_account() {
|
237 |
+
if ( isset( $_POST['account'] ) && ! empty( $_POST['account'] ) && isset( $_POST['_ajax_nonce'] ) ) {
|
238 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
239 |
+
wp_die( - 2 );
|
240 |
+
} else {
|
241 |
+
wp_verify_nonce( $_POST['_ajax_nonce'], 'addAccountByToken' );
|
242 |
+
|
243 |
+
$account = json_decode( stripslashes( $_POST['account'] ), true );
|
244 |
+
$user_profile = array();
|
245 |
+
//$user_profile = apply_filters( 'wis/account/profiles', $user_profile );
|
246 |
+
|
247 |
+
$user_profile[ $account['username'] ] = $account;
|
248 |
+
WIS_Plugin::app()->updateOption( WIS_FACEBOOK_ACCOUNT_PROFILES_OPTION_NAME, $user_profile );
|
249 |
+
wp_die( '' );
|
250 |
+
}
|
251 |
+
}
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* Ajax Call to delete account
|
256 |
+
* @return void
|
257 |
+
*/
|
258 |
+
public function delete_account() {
|
259 |
+
if ( isset( $_POST['item_id'] ) && ! empty( $_POST['item_id'] ) ) {
|
260 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
261 |
+
wp_die( - 1 );
|
262 |
+
} else {
|
263 |
+
check_ajax_referer( 'wis_nonce' );
|
264 |
+
|
265 |
+
$accounts = WIS_Plugin::app()->getPopulateOption( WIS_FACEBOOK_ACCOUNT_PROFILES_OPTION_NAME );
|
266 |
+
$accounts_new = array();
|
267 |
+
foreach ( $accounts as $name => $acc ) {
|
268 |
+
if ( $acc['id'] !== $_POST['item_id'] ) {
|
269 |
+
$accounts_new[ $name ] = $acc;
|
270 |
+
}
|
271 |
+
}
|
272 |
+
WIS_Plugin::app()->updatePopulateOption( WIS_FACEBOOK_ACCOUNT_PROFILES_OPTION_NAME, $accounts_new );
|
273 |
+
|
274 |
+
wp_send_json_success( __( 'Account deleted successfully', 'instagram-slider-widget' ) );
|
275 |
+
}
|
276 |
+
}
|
277 |
+
}
|
278 |
+
|
279 |
+
|
280 |
+
}
|
includes/socials/class.wis_youtube.php
ADDED
File without changes
|
instaram_slider.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Social Slider Widget
|
4 |
Plugin URI: https://cm-wp.com/instagram-slider-widget
|
5 |
-
Version: 1.
|
6 |
Description: Social Slider Widget is a responsive slider widget that shows 12 latest images from a public Instagram user and up to 18 images from a hashtag.
|
7 |
Author: creativemotion
|
8 |
Author URI: https://cm-wp.com/
|
@@ -21,10 +21,14 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
21 |
require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-requirements.php' );
|
22 |
|
23 |
$plugin_info = array(
|
24 |
-
'prefix' => 'wis_',
|
25 |
-
|
26 |
-
'
|
27 |
-
|
|
|
|
|
|
|
|
|
28 |
|
29 |
// Служба поддержки
|
30 |
// Указываем ссылки и имена страниц сайта плагина, чтобы иметь к ним доступ внутри плагина.
|
@@ -40,58 +44,80 @@ $plugin_info = array(
|
|
40 |
|
41 |
// Настройка обновлений плагина
|
42 |
// Имеется ввиду настройка обновлений из удаленного репозитория. Это может быть wordpress.org, freemius.com, codecanyon.com
|
43 |
-
'has_updates' => true,
|
|
|
44 |
'updates_settings' => array(
|
45 |
-
'repository' => 'wordpress',
|
46 |
-
|
47 |
-
'
|
|
|
|
|
|
|
48 |
'rollback_settings' => array(
|
49 |
-
'prev_stable_version' => '0.0.0'
|
|
|
50 |
)
|
51 |
),
|
52 |
|
53 |
// Настройка премиум плагина
|
54 |
// Сюда входят настройки лицензирования и премиум обновлений плагина и его надстройки
|
55 |
-
'has_premium' => true,
|
|
|
56 |
'license_settings' => array(
|
57 |
'has_updates' => true,
|
58 |
-
'provider' => 'freemius',
|
59 |
-
|
60 |
-
'
|
61 |
-
|
62 |
-
'
|
|
|
|
|
|
|
|
|
|
|
63 |
// Настройка обновлений премиум плагина
|
64 |
'updates_settings' => array(
|
65 |
'maybe_rollback' => true, // Можно ли делать откат к предыдущей версии плагина?
|
66 |
'rollback_settings' => array(
|
67 |
-
'prev_stable_version' => '0.0.0'
|
|
|
68 |
)
|
69 |
)
|
70 |
),
|
71 |
|
72 |
// Настройки рекламы от CreativeMotion
|
73 |
-
'render_adverts'
|
74 |
-
|
75 |
-
|
76 |
-
'
|
77 |
-
|
|
|
|
|
|
|
|
|
78 |
),
|
79 |
|
80 |
// Подключаемые модуль фреймворка
|
81 |
// Необходимые для ускоренной разработки продуктов Webcrfatic
|
82 |
'load_factory_modules' => array(
|
83 |
-
array( 'libs/factory/bootstrap', '
|
84 |
-
|
85 |
-
array( 'libs/factory/
|
86 |
-
|
87 |
-
array( 'libs/factory/
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
)
|
89 |
);
|
90 |
|
91 |
-
$wis_compatibility = new
|
92 |
-
'plugin_already_activate'
|
93 |
-
'required_php_version'
|
94 |
-
'required_wp_version'
|
95 |
'required_clearfy_check_component' => false
|
96 |
) ) );
|
97 |
|
@@ -109,8 +135,8 @@ define( 'WIS_PLUGIN_ACTIVE', true );
|
|
109 |
define( 'WIS_PLUGIN_VERSION', $wis_compatibility->get_plugin_version() );
|
110 |
define( 'WIS_PLUGIN_FILE', __FILE__ );
|
111 |
define( 'WIS_ABSPATH', dirname( __FILE__ ) );
|
112 |
-
define( 'WIS_PLUGIN_BASENAME', plugin_basename( __FILE__ ));
|
113 |
-
define( 'WIS_PLUGIN_SLUG', dirname(plugin_basename( __FILE__ )));
|
114 |
// Ссылка к директории плагина
|
115 |
define( 'WIS_PLUGIN_URL', plugins_url( null, __FILE__ ) );
|
116 |
// Директория плагина
|
@@ -132,11 +158,12 @@ try {
|
|
132 |
new WIS_Plugin( __FILE__, array_merge( $plugin_info, array(
|
133 |
'plugin_version' => WIS_PLUGIN_VERSION
|
134 |
) ) );
|
135 |
-
} catch( Exception $e ) {
|
136 |
// Plugin wasn't initialized due to an error
|
137 |
define( 'WIS_PLUGIN_THROW_ERROR', true );
|
138 |
|
139 |
-
$wis_plugin_error_func = function () use ( $e )
|
|
|
140 |
$error = sprintf( "The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Social Slider Widget', $e->getMessage(), $e->getCode() );
|
141 |
echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
|
142 |
};
|
@@ -145,11 +172,29 @@ try {
|
|
145 |
add_action( 'network_admin_notices', $wis_plugin_error_func );
|
146 |
}
|
147 |
|
148 |
-
define('WIS_INSTAGRAM_CLIENT_ID', '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
/*******************************************************************************/
|
150 |
/**
|
151 |
* On widgets Init register Widget
|
152 |
*/
|
153 |
-
require_once WIS_PLUGIN_DIR.
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
?>
|
2 |
/*
|
3 |
Plugin Name: Social Slider Widget
|
4 |
Plugin URI: https://cm-wp.com/instagram-slider-widget
|
5 |
+
Version: 1.7.13
|
6 |
Description: Social Slider Widget is a responsive slider widget that shows 12 latest images from a public Instagram user and up to 18 images from a hashtag.
|
7 |
Author: creativemotion
|
8 |
Author URI: https://cm-wp.com/
|
21 |
require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-requirements.php' );
|
22 |
|
23 |
$plugin_info = array(
|
24 |
+
'prefix' => 'wis_',
|
25 |
+
// Префикс для базы данных и полей формы. Строка должна соответствовать условию [A-z0-9_].
|
26 |
+
'plugin_name' => 'wisw',
|
27 |
+
// Кодовое название плагина, используется как уникальный идентификатор. Строка должна соответствовать условию [A-z0-9_].
|
28 |
+
'plugin_title' => __( 'Social Slider Widget', 'instagram-slider-widget' ),
|
29 |
+
// Название плагина. То же что и Plugin Name. Используется в интерфейсе и сообщениях.
|
30 |
+
'plugin_text_domain' => 'instagram-slider-widget',
|
31 |
+
// Идентификатор перевода, указывается в load_plugin_textdomain()
|
32 |
|
33 |
// Служба поддержки
|
34 |
// Указываем ссылки и имена страниц сайта плагина, чтобы иметь к ним доступ внутри плагина.
|
44 |
|
45 |
// Настройка обновлений плагина
|
46 |
// Имеется ввиду настройка обновлений из удаленного репозитория. Это может быть wordpress.org, freemius.com, codecanyon.com
|
47 |
+
'has_updates' => true,
|
48 |
+
// Нужно ли проверять обновления для этого плагина
|
49 |
'updates_settings' => array(
|
50 |
+
'repository' => 'wordpress',
|
51 |
+
// Тип репозитория из которого получаем обновления. Может быть wordpress, freemius
|
52 |
+
'slug' => 'instagram-slider-widget',
|
53 |
+
// Слаг плагина в удаленном репозитории
|
54 |
+
'maybe_rollback' => true,
|
55 |
+
// Можно ли делать откат к предыдущей версии плагина?
|
56 |
'rollback_settings' => array(
|
57 |
+
'prev_stable_version' => '0.0.0'
|
58 |
+
// Нужно указать предыдущую стабильную версию, к которой нужно сделать откат.
|
59 |
)
|
60 |
),
|
61 |
|
62 |
// Настройка премиум плагина
|
63 |
// Сюда входят настройки лицензирования и премиум обновлений плагина и его надстройки
|
64 |
+
'has_premium' => true,
|
65 |
+
// Есть ли у текущего плагина премиум? Если false, премиум модуль загружен не будет
|
66 |
'license_settings' => array(
|
67 |
'has_updates' => true,
|
68 |
+
'provider' => 'freemius',
|
69 |
+
// Тип лицензионного поставщика, может быть freemius, codecanyon, templatemonster
|
70 |
+
'slug' => 'instagram-slider-widget-premium',
|
71 |
+
// Слаг плагина в выбранном поставщике лицензий и обновлений
|
72 |
+
'plugin_id' => '4272',
|
73 |
+
// ID плагина в freemius.com
|
74 |
+
'public_key' => 'pk_5152229a4aba03187267a8bc88874',
|
75 |
+
// Публичный ключ плагина в freemius.com
|
76 |
+
'price' => 39,
|
77 |
+
// Минимальная цена плагина, выводится в рекламных блоках
|
78 |
// Настройка обновлений премиум плагина
|
79 |
'updates_settings' => array(
|
80 |
'maybe_rollback' => true, // Можно ли делать откат к предыдущей версии плагина?
|
81 |
'rollback_settings' => array(
|
82 |
+
'prev_stable_version' => '0.0.0'
|
83 |
+
// Нужно указать предыдущую стабильную версию, к которой нужно сделать откат.
|
84 |
)
|
85 |
)
|
86 |
),
|
87 |
|
88 |
// Настройки рекламы от CreativeMotion
|
89 |
+
'render_adverts' => true,
|
90 |
+
// Показывать рекламу CreativeMotion в админке Wordpress?
|
91 |
+
'adverts_settings' => array(
|
92 |
+
'dashboard_widget' => true,
|
93 |
+
// если true, показывать виджет новостей на страницу Dashboard
|
94 |
+
'right_sidebar' => true,
|
95 |
+
// если true, показывать виджет в правом сайбаре интерфейса плагина
|
96 |
+
'notice' => true,
|
97 |
+
// если true, показывать сквозное уведомление на всех страницах админ панели Wordpress
|
98 |
),
|
99 |
|
100 |
// Подключаемые модуль фреймворка
|
101 |
// Необходимые для ускоренной разработки продуктов Webcrfatic
|
102 |
'load_factory_modules' => array(
|
103 |
+
array( 'libs/factory/bootstrap', 'factory_bootstrap_436', 'admin' ),
|
104 |
+
// Модуль позволяет использовать различные js виджеты и стили оформление форм.
|
105 |
+
array( 'libs/factory/forms', 'factory_forms_433', 'admin' ),
|
106 |
+
// Модуль позволяет быстро создавать формы и готовые поля настроек
|
107 |
+
array( 'libs/factory/pages', 'factory_pages_435', 'admin' ),
|
108 |
+
// Модуль позволяет создавать страницы плагина, в том числе шаблонизированные страницы
|
109 |
+
array( 'libs/factory/freemius', 'factory_freemius_123', 'all' ),
|
110 |
+
// Модуль для работы с freemius.com, содержит api библиотеку и провайдеры для премиум менеджера
|
111 |
+
array( 'libs/factory/adverts', 'factory_adverts_114', 'admin' ),
|
112 |
+
// Модуль clearfy для страницы компонентов
|
113 |
+
array( 'libs/factory/clearfy', 'factory_clearfy_227', 'admin' )
|
114 |
)
|
115 |
);
|
116 |
|
117 |
+
$wis_compatibility = new Wbcr_Factory436_Requirements( __FILE__, array_merge( $plugin_info, array(
|
118 |
+
'plugin_already_activate' => defined( 'WIS_PLUGIN_ACTIVE' ),
|
119 |
+
'required_php_version' => '5.6',
|
120 |
+
'required_wp_version' => '4.8.0',
|
121 |
'required_clearfy_check_component' => false
|
122 |
) ) );
|
123 |
|
135 |
define( 'WIS_PLUGIN_VERSION', $wis_compatibility->get_plugin_version() );
|
136 |
define( 'WIS_PLUGIN_FILE', __FILE__ );
|
137 |
define( 'WIS_ABSPATH', dirname( __FILE__ ) );
|
138 |
+
define( 'WIS_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
139 |
+
define( 'WIS_PLUGIN_SLUG', dirname( plugin_basename( __FILE__ ) ) );
|
140 |
// Ссылка к директории плагина
|
141 |
define( 'WIS_PLUGIN_URL', plugins_url( null, __FILE__ ) );
|
142 |
// Директория плагина
|
158 |
new WIS_Plugin( __FILE__, array_merge( $plugin_info, array(
|
159 |
'plugin_version' => WIS_PLUGIN_VERSION
|
160 |
) ) );
|
161 |
+
} catch ( Exception $e ) {
|
162 |
// Plugin wasn't initialized due to an error
|
163 |
define( 'WIS_PLUGIN_THROW_ERROR', true );
|
164 |
|
165 |
+
$wis_plugin_error_func = function () use ( $e )
|
166 |
+
{
|
167 |
$error = sprintf( "The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Social Slider Widget', $e->getMessage(), $e->getCode() );
|
168 |
echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
|
169 |
};
|
172 |
add_action( 'network_admin_notices', $wis_plugin_error_func );
|
173 |
}
|
174 |
|
175 |
+
define( 'WIS_INSTAGRAM_CLIENT_ID', '2555361627845349' );
|
176 |
+
define( 'WIS_FACEBOOK_CLIENT_ID', '776212986124330' );
|
177 |
+
|
178 |
+
/*
|
179 |
+
* Константа определяет какое имя опции для хранения данных.
|
180 |
+
* Нужно для отладки и последующего бесшовного перехода
|
181 |
+
*/
|
182 |
+
define( 'WIS_ACCOUNT_PROFILES_OPTION_NAME', 'account_profiles' );
|
183 |
+
define( 'WIS_ACCOUNT_PROFILES_NEW_OPTION_NAME', 'account_profiles_new' );
|
184 |
+
|
185 |
+
define( 'WIS_FACEBOOK_ACCOUNT_PROFILES_OPTION_NAME', 'facebook_account_profiles' );
|
186 |
+
|
187 |
/*******************************************************************************/
|
188 |
/**
|
189 |
* On widgets Init register Widget
|
190 |
*/
|
191 |
+
require_once WIS_PLUGIN_DIR . '/includes/class.wis_social.php';
|
192 |
+
|
193 |
+
require_once WIS_PLUGIN_DIR . "/includes/class-wis_instagram_slider.php";
|
194 |
+
add_action('plugins_loaded', function (){
|
195 |
+
add_action( 'widgets_init', array( 'WIS_InstagramSlider', 'register_widget' ) );
|
196 |
+
});
|
197 |
+
|
198 |
+
//require_once WIS_PLUGIN_DIR."/includes/class-wis_facebook_slider.php";
|
199 |
+
//add_action( 'widgets_init', array( 'WIS_FacebookSlider', 'register_widget' ) );
|
200 |
?>
|
languages/instagram-slider-widget-en_US.po
CHANGED
@@ -1,628 +1,628 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Social Slider Widget\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2019-11-08 05:43+0000\n"
|
6 |
-
"PO-Revision-Date: 2019-11-08 05:46+0000\n"
|
7 |
-
"Last-Translator: admin <webtemyk@yandex.ru>\n"
|
8 |
-
"Language-Team: \n"
|
9 |
-
"Language: en_US\n"
|
10 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
11 |
-
"MIME-Version: 1.0\n"
|
12 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
-
"Content-Transfer-Encoding: 8bit\n"
|
14 |
-
"X-Generator: Loco https://localise.biz/\n"
|
15 |
-
"X-Loco-Version: 2.3.1; wp-5.2.4"
|
16 |
-
|
17 |
-
#: includes/class-wis_instagram_slider.php:283
|
18 |
-
msgid " Turn on to save Instagram Images into WordPress media library."
|
19 |
-
msgstr ""
|
20 |
-
|
21 |
-
#: includes/class-wis_instagram_slider.php:450
|
22 |
-
msgid ""
|
23 |
-
"* use this field only if the above option is set to <strong>Custom "
|
24 |
-
"Link</strong>"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
-
#: includes/class-wis_instagram_slider.php:94
|
28 |
-
msgid ""
|
29 |
-
"1. Drag Social Slider Widget here. 2. Fill in the fields and hit save. 3. "
|
30 |
-
"Copy the shortocde generated at the bottom of the widget form and use it on "
|
31 |
-
"posts or pages."
|
32 |
-
msgstr ""
|
33 |
-
|
34 |
-
#: includes/class-wis_instagram_slider.php:394
|
35 |
-
msgid "1000 milliseconds = 1 second"
|
36 |
-
msgstr ""
|
37 |
-
|
38 |
-
#: admin/views/tab-license.php:134
|
39 |
-
#, php-format
|
40 |
-
msgid ""
|
41 |
-
"<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
|
42 |
-
"premium version and get the license key to activate it now!"
|
43 |
-
msgstr ""
|
44 |
-
|
45 |
-
#: includes/class-wis_instagram_slider.php:422
|
46 |
-
msgid ""
|
47 |
-
"<strong>Square - Cropped</strong> - option will show square cropped images "
|
48 |
-
"in 640x640 pixels. <br/><strong>Original - No Crop</strong> - will display "
|
49 |
-
"the original user uploaded image size."
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: includes/class-wis_instagram_slider.php:42
|
53 |
-
msgid "A widget that displays a slider with instagram images "
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: admin/pages/about.php:44
|
57 |
-
msgid "About"
|
58 |
-
msgstr ""
|
59 |
-
|
60 |
-
#: admin/pages/about.php:43
|
61 |
-
msgid "About Social Slider Widget"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#: includes/class-wis_instagram_slider.php:1552
|
65 |
-
msgid "Account deleted successfully"
|
66 |
-
msgstr ""
|
67 |
-
|
68 |
-
#: includes/class-wis_instagram_slider.php:1131
|
69 |
-
msgid ""
|
70 |
-
"Account not found or for this account there are restrictions on Instagram by "
|
71 |
-
"age"
|
72 |
-
msgstr ""
|
73 |
-
|
74 |
-
#: includes/class-wis_instagram_slider.php:250
|
75 |
-
msgid "Account:"
|
76 |
-
msgstr ""
|
77 |
-
|
78 |
-
#: admin/views/tab-settings.php:51
|
79 |
-
msgid "Action"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: admin/views/tab-license.php:11
|
83 |
-
#, php-format
|
84 |
-
msgid "Activate %s"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: admin/views/tab-license.php:84
|
88 |
-
msgid "active sites"
|
89 |
-
msgstr ""
|
90 |
-
|
91 |
-
#: admin/views/tab-settings.php:32 admin/views/tab-settings.php:36
|
92 |
-
msgid "Add Account"
|
93 |
-
msgstr ""
|
94 |
-
|
95 |
-
#: includes/class-wis_instagram_slider.php:267
|
96 |
-
msgid "Add account in settings"
|
97 |
-
msgstr ""
|
98 |
-
|
99 |
-
#: includes/class-wis-plugin.php:127
|
100 |
-
msgid "Are you sure want to delete this account?"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: includes/class-wis_instagram_slider.php:441
|
104 |
-
msgid "Attachment Page"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: admin/views/tab-about.php:149
|
108 |
-
msgid "BENEFITS"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: includes/class-wis_instagram_slider.php:275
|
112 |
-
msgid "Block Users"
|
113 |
-
msgstr ""
|
114 |
-
|
115 |
-
#: admin/views/tab-license.php:138
|
116 |
-
#, php-format
|
117 |
-
msgid ""
|
118 |
-
"Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
|
119 |
-
"this page</a> and login using the e-mail address associated with your "
|
120 |
-
"purchase."
|
121 |
-
msgstr ""
|
122 |
-
|
123 |
-
#: includes/class-wis_instagram_slider.php:400
|
124 |
-
msgid "Caption"
|
125 |
-
msgstr ""
|
126 |
-
|
127 |
-
#: includes/class-wis_instagram_slider.php:305
|
128 |
-
msgid "Check for new images every:"
|
129 |
-
msgstr ""
|
130 |
-
|
131 |
-
#: includes/class-wis_instagram_slider.php:293
|
132 |
-
msgid "Count of images to show:"
|
133 |
-
msgstr ""
|
134 |
-
|
135 |
-
#. Author of the plugin
|
136 |
-
msgid "creativemotion"
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
#: includes/class-wis_instagram_slider.php:442
|
140 |
-
msgid "Custom Link"
|
141 |
-
msgstr ""
|
142 |
-
|
143 |
-
#: includes/class-wis_instagram_slider.php:448
|
144 |
-
msgid "Custom link:"
|
145 |
-
msgstr ""
|
146 |
-
|
147 |
-
#: includes/class-wis_instagram_slider.php:427
|
148 |
-
msgid "Date - Ascending"
|
149 |
-
msgstr ""
|
150 |
-
|
151 |
-
#: includes/class-wis_instagram_slider.php:428
|
152 |
-
msgid "Date - Descending"
|
153 |
-
msgstr ""
|
154 |
-
|
155 |
-
#: admin/views/tab-license.php:105
|
156 |
-
msgid "day(s)"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: admin/views/tab-settings.php:72
|
160 |
-
msgid "Delete"
|
161 |
-
msgstr ""
|
162 |
-
|
163 |
-
#: admin/views/tab-license.php:31
|
164 |
-
msgid "Delete Key"
|
165 |
-
msgstr ""
|
166 |
-
|
167 |
-
#: admin/views/tab-about.php:123
|
168 |
-
msgid ""
|
169 |
-
"Display Instagram feeds in widgets, posts, pages, or anywhere else using "
|
170 |
-
"shortcodes."
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: admin/views/tab-license.php:72
|
174 |
-
msgid "domain"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: includes/class-wis_instagram_slider.php:384
|
178 |
-
msgid "Dotted"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: includes/class-wis_instagram_slider.php:277
|
182 |
-
msgid "Enter usernames separated by commas whose images you don't want to show"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: admin/views/tab-license.php:94
|
186 |
-
msgid "EXPIRED!"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: includes/class-wis_instagram_slider.php:389
|
190 |
-
msgid "Fade"
|
191 |
-
msgstr ""
|
192 |
-
|
193 |
-
#: admin/views/tab-about.php:128
|
194 |
-
msgid "FEATURES"
|
195 |
-
msgstr ""
|
196 |
-
|
197 |
-
#: admin/views/tab-about.php:200
|
198 |
-
msgid "FEEDBACK AND SUPPORT"
|
199 |
-
msgstr ""
|
200 |
-
|
201 |
-
#: includes/class-wis_instagram_slider.php:420
|
202 |
-
msgid "Full Size"
|
203 |
-
msgstr ""
|
204 |
-
|
205 |
-
#: admin/pages/settings.php:148
|
206 |
-
msgid "General"
|
207 |
-
msgstr ""
|
208 |
-
|
209 |
-
#: includes/class-wis_instagram_slider.php:272
|
210 |
-
msgid "Hashtag:"
|
211 |
-
msgstr ""
|
212 |
-
|
213 |
-
#: admin/views/tab-license.php:120
|
214 |
-
msgid "Have a key to activate the plugin? Paste it here:"
|
215 |
-
msgstr ""
|
216 |
-
|
217 |
-
#: admin/views/tab-license.php:118
|
218 |
-
msgid "Have a key to activate the premium version? Paste it here:"
|
219 |
-
msgstr ""
|
220 |
-
|
221 |
-
#: includes/class-wis_instagram_slider.php:402
|
222 |
-
msgid ""
|
223 |
-
"Hold ctrl and click the fields you want to show/hide on your slider. Leave "
|
224 |
-
"all unselected to hide them all. Default all selected."
|
225 |
-
msgstr ""
|
226 |
-
|
227 |
-
#: includes/class-wis_instagram_slider.php:307
|
228 |
-
msgid "hours"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#. Author URI of the plugin
|
232 |
-
msgid "https://cm-wp.com/"
|
233 |
-
msgstr ""
|
234 |
-
|
235 |
-
#. URI of the plugin
|
236 |
-
msgid "https://cm-wp.com/instagram-slider-widget"
|
237 |
-
msgstr ""
|
238 |
-
|
239 |
-
#: admin/views/tab-settings.php:47
|
240 |
-
msgid "ID"
|
241 |
-
msgstr ""
|
242 |
-
|
243 |
-
#: admin/views/tab-settings.php:46
|
244 |
-
msgid "Image"
|
245 |
-
msgstr ""
|
246 |
-
|
247 |
-
#: includes/class-wis_instagram_slider.php:415
|
248 |
-
msgid "Image format"
|
249 |
-
msgstr ""
|
250 |
-
|
251 |
-
#: includes/class-wis_instagram_slider.php:440
|
252 |
-
msgid "Image URL"
|
253 |
-
msgstr ""
|
254 |
-
|
255 |
-
#: includes/class-wis_instagram_slider.php:354
|
256 |
-
msgid "Image width:"
|
257 |
-
msgstr ""
|
258 |
-
|
259 |
-
#: admin/pages/settings.php:158
|
260 |
-
msgid "Instagram account"
|
261 |
-
msgstr ""
|
262 |
-
|
263 |
-
#: includes/class-wis_instagram_slider.php:438
|
264 |
-
msgid "Instagram Image"
|
265 |
-
msgstr ""
|
266 |
-
|
267 |
-
#: admin/pages/settings.php:166
|
268 |
-
msgid "Instagram password"
|
269 |
-
msgstr ""
|
270 |
-
|
271 |
-
#: includes/class-wis_instagram_slider.php:439
|
272 |
-
msgid "Instagram Profile"
|
273 |
-
msgstr ""
|
274 |
-
|
275 |
-
#: includes/class-wis_instagram_slider.php:1161
|
276 |
-
msgid ""
|
277 |
-
"Instagram requires authorization to view a user profile. Use autorized "
|
278 |
-
"account in widget settings"
|
279 |
-
msgstr ""
|
280 |
-
|
281 |
-
#: admin/pages/license.php:90
|
282 |
-
msgid "License"
|
283 |
-
msgstr ""
|
284 |
-
|
285 |
-
#: admin/ajax/check-license.php:39
|
286 |
-
msgid ""
|
287 |
-
"License key is empty or license key too long (license key is 32 characters "
|
288 |
-
"long)"
|
289 |
-
msgstr ""
|
290 |
-
|
291 |
-
#: admin/pages/license.php:91
|
292 |
-
msgid "License of Social Slider Widget"
|
293 |
-
msgstr ""
|
294 |
-
|
295 |
-
#: admin/ajax/check-license.php:27
|
296 |
-
msgid "Licensing action not passed or this action is prohibited!"
|
297 |
-
msgstr ""
|
298 |
-
|
299 |
-
#: includes/class-wis_instagram_slider.php:436
|
300 |
-
msgid "Link to"
|
301 |
-
msgstr ""
|
302 |
-
|
303 |
-
#: includes/class-wis_instagram_slider.php:418
|
304 |
-
msgid "Low - 320x320"
|
305 |
-
msgstr ""
|
306 |
-
|
307 |
-
#: includes/class-wis_instagram_slider.php:345
|
308 |
-
msgid "max is 10 ( only for thumbnails template )"
|
309 |
-
msgstr ""
|
310 |
-
|
311 |
-
#: includes/class-wis_instagram_slider.php:297
|
312 |
-
msgid "Maximum 20 images in free version."
|
313 |
-
msgstr ""
|
314 |
-
|
315 |
-
#: includes/class-wis_instagram_slider.php:393
|
316 |
-
msgid "milliseconds"
|
317 |
-
msgstr ""
|
318 |
-
|
319 |
-
#: admin/views/tab-settings.php:33
|
320 |
-
#, php-format
|
321 |
-
msgid "More accounts in <a href='%s'>PRO version</a>"
|
322 |
-
msgstr ""
|
323 |
-
|
324 |
-
#: includes/class-wis_instagram_slider.php:298
|
325 |
-
#, php-format
|
326 |
-
msgid "More in <a href='%s'>PRO version</a>"
|
327 |
-
msgstr ""
|
328 |
-
|
329 |
-
#: admin/views/tab-settings.php:49
|
330 |
-
msgid "Name"
|
331 |
-
msgstr ""
|
332 |
-
|
333 |
-
#: includes/class-wis_instagram_slider.php:1214
|
334 |
-
msgid "No images found"
|
335 |
-
msgstr ""
|
336 |
-
|
337 |
-
#: includes/class-wis_instagram_slider.php:688
|
338 |
-
msgid "No images found! <br> Try some other hashtag or username"
|
339 |
-
msgstr ""
|
340 |
-
|
341 |
-
#: includes/class-wis_instagram_slider.php:385
|
342 |
-
msgid "No Navigation"
|
343 |
-
msgstr ""
|
344 |
-
|
345 |
-
#: includes/class-wis_instagram_slider.php:443
|
346 |
-
msgid "None"
|
347 |
-
msgstr ""
|
348 |
-
|
349 |
-
#: includes/class-wis_instagram_slider.php:1100
|
350 |
-
msgid "Nothing to search for"
|
351 |
-
msgstr ""
|
352 |
-
|
353 |
-
#: includes/class-wis_instagram_slider.php:343
|
354 |
-
msgid "Number of Columns:"
|
355 |
-
msgstr ""
|
356 |
-
|
357 |
-
#: includes/class-wis_instagram_slider.php:410
|
358 |
-
msgid "Number of words in caption:"
|
359 |
-
msgstr ""
|
360 |
-
|
361 |
-
#: admin/views/tab-license.php:82
|
362 |
-
msgid "of"
|
363 |
-
msgstr ""
|
364 |
-
|
365 |
-
#: includes/class-wis_instagram_slider.php:372
|
366 |
-
msgid "Offset"
|
367 |
-
msgstr ""
|
368 |
-
|
369 |
-
#: includes/class-wis_instagram_slider.php:425
|
370 |
-
msgid "Order by"
|
371 |
-
msgstr ""
|
372 |
-
|
373 |
-
#: admin/pages/settings.php:168
|
374 |
-
msgid "Password of your Instagram account"
|
375 |
-
msgstr ""
|
376 |
-
|
377 |
-
#: includes/class-wis_instagram_slider.php:376
|
378 |
-
msgid "Pattern"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: includes/class-wis_instagram_slider.php:362
|
382 |
-
msgid "pictures"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: includes/class-wis_instagram_slider.php:360
|
386 |
-
msgid "Pictures per slide:"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: admin/views/tab-license.php:76
|
390 |
-
msgid "plan"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: admin/views/tab-license.php:95
|
394 |
-
msgid "please update the key"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: includes/class-wis_instagram_slider.php:429
|
398 |
-
msgid "Popularity - Ascending"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: includes/class-wis_instagram_slider.php:430
|
402 |
-
msgid "Popularity - Descending"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: includes/class-wis_instagram_slider.php:383
|
406 |
-
msgid "Prev & Next"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: admin/views/tab-about.php:163
|
410 |
-
msgid "PRO VERSION"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: admin/views/tab-license.php:54
|
414 |
-
msgid ""
|
415 |
-
"Public License is a GPLv2 compatible license allowing you to change and use "
|
416 |
-
"this version of the plugin for free. Please keep in mind this license covers "
|
417 |
-
"only free edition of the plugin. Premium versions are distributed with other "
|
418 |
-
"type of a license."
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: includes/class-wis_instagram_slider.php:351
|
422 |
-
#: includes/class-wis_instagram_slider.php:356
|
423 |
-
msgid "px"
|
424 |
-
msgstr ""
|
425 |
-
|
426 |
-
#: includes/class-wis_instagram_slider.php:431
|
427 |
-
msgid "Random"
|
428 |
-
msgstr ""
|
429 |
-
|
430 |
-
#: admin/views/tab-license.php:107
|
431 |
-
msgid "remained"
|
432 |
-
msgstr ""
|
433 |
-
|
434 |
-
#: includes/class-wis_instagram_slider.php:279
|
435 |
-
msgid "Save in Media Library: "
|
436 |
-
msgstr ""
|
437 |
-
|
438 |
-
#: includes/class-wis_instagram_slider.php:246
|
439 |
-
msgid "Search Instagram for:"
|
440 |
-
msgstr ""
|
441 |
-
|
442 |
-
#: admin/pages/settings.php:108
|
443 |
-
msgid "Settings"
|
444 |
-
msgstr ""
|
445 |
-
|
446 |
-
#: admin/pages/settings.php:107
|
447 |
-
msgid "Settings of Social Slider Widget"
|
448 |
-
msgstr ""
|
449 |
-
|
450 |
-
#: includes/class-wis_instagram_slider.php:486
|
451 |
-
msgid "Shortcode of this Widget:"
|
452 |
-
msgstr ""
|
453 |
-
|
454 |
-
#: includes/class-wis_instagram_slider.php:311
|
455 |
-
msgid "Show feed header:"
|
456 |
-
msgstr ""
|
457 |
-
|
458 |
-
#: includes/class-wis_instagram_slider.php:388
|
459 |
-
msgid "Slide"
|
460 |
-
msgstr ""
|
461 |
-
|
462 |
-
#: includes/class-wis_instagram_slider.php:391
|
463 |
-
msgid "Slide Speed:"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: includes/class-wis_instagram_slider.php:387
|
467 |
-
msgid "Slider Animation:"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: includes/class-wis_instagram_slider.php:382
|
471 |
-
msgid "Slider Navigation Controls:"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: includes/class-wis_instagram_slider.php:396
|
475 |
-
msgid "Slider Text Description:"
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: includes/class-wis_instagram_slider.php:40
|
479 |
-
#: includes/class-wis_instagram_slider.php:204
|
480 |
-
msgid "Social Slider"
|
481 |
-
msgstr ""
|
482 |
-
|
483 |
-
#: includes/class-wis_instagram_slider.php:92
|
484 |
-
msgid "Social Slider - Shortcode Generator"
|
485 |
-
msgstr ""
|
486 |
-
|
487 |
-
#. Name of the plugin
|
488 |
-
#: instaram_slider.php:26 admin/views/tab-about.php:122
|
489 |
-
msgid "Social Slider Widget"
|
490 |
-
msgstr ""
|
491 |
-
|
492 |
-
#. Description of the plugin
|
493 |
-
msgid ""
|
494 |
-
"Social Slider Widget is a responsive slider widget that shows 12 latest "
|
495 |
-
"images from a public Instagram user and up to 18 images from a hashtag."
|
496 |
-
msgstr ""
|
497 |
-
|
498 |
-
#: admin/pages/widgets.php:107 admin/pages/widgets.php:108
|
499 |
-
msgid "Social Slider Widgets"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: includes/class-wis_instagram_slider.php:365
|
503 |
-
msgid "Space between pictures:"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: includes/class-wis_instagram_slider.php:419
|
507 |
-
msgid "Standard - 640x640"
|
508 |
-
msgstr ""
|
509 |
-
|
510 |
-
#: admin/views/tab-license.php:126
|
511 |
-
msgid "Submit Key"
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: admin/ajax/check-license.php:55
|
515 |
-
msgid "Subscription success cancelled"
|
516 |
-
msgstr ""
|
517 |
-
|
518 |
-
#: admin/views/tab-license.php:35
|
519 |
-
msgid "Synchronization"
|
520 |
-
msgstr ""
|
521 |
-
|
522 |
-
#: includes/class-wis_instagram_slider.php:318
|
523 |
-
msgid "Template"
|
524 |
-
msgstr ""
|
525 |
-
|
526 |
-
#: admin/ajax/check-license.php:51
|
527 |
-
msgid "The license has been updated"
|
528 |
-
msgstr ""
|
529 |
-
|
530 |
-
#: admin/ajax/check-license.php:47
|
531 |
-
msgid "The license is deactivated"
|
532 |
-
msgstr ""
|
533 |
-
|
534 |
-
#: includes/class-wis_instagram_slider.php:1182
|
535 |
-
msgid "There are no publications in this account yet"
|
536 |
-
msgstr ""
|
537 |
-
|
538 |
-
#: includes/class-wis_instagram_slider.php:417
|
539 |
-
msgid "Thumbnail - 150x150"
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: includes/class-wis_instagram_slider.php:399
|
543 |
-
msgid "Time"
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: includes/class-wis_instagram_slider.php:242
|
547 |
-
msgid "Title:"
|
548 |
-
msgstr ""
|
549 |
-
|
550 |
-
#: admin/views/tab-settings.php:50
|
551 |
-
msgid "Token"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: admin/views/tab-license.php:22
|
555 |
-
#, php-format
|
556 |
-
msgid "Upgrade to Premium for $%s"
|
557 |
-
msgstr ""
|
558 |
-
|
559 |
-
#: includes/class-wis_instagram_slider.php:488
|
560 |
-
msgid ""
|
561 |
-
"Use this shortcode in any page or post to display images with this widget "
|
562 |
-
"configuration!"
|
563 |
-
msgstr ""
|
564 |
-
|
565 |
-
#: admin/views/tab-settings.php:48
|
566 |
-
msgid "User"
|
567 |
-
msgstr ""
|
568 |
-
|
569 |
-
#: includes/class-wis_instagram_slider.php:398
|
570 |
-
msgid "Username"
|
571 |
-
msgstr ""
|
572 |
-
|
573 |
-
#: admin/pages/settings.php:160
|
574 |
-
msgid "Username of your Instagram account"
|
575 |
-
msgstr ""
|
576 |
-
|
577 |
-
#: includes/class-wis_instagram_slider.php:271
|
578 |
-
msgid "Username:"
|
579 |
-
msgstr ""
|
580 |
-
|
581 |
-
#: admin/views/tab-license.php:89
|
582 |
-
msgid "version"
|
583 |
-
msgstr ""
|
584 |
-
|
585 |
-
#: includes/class-wis_instagram_slider.php:349
|
586 |
-
msgid "Vertical space between item elements:"
|
587 |
-
msgstr ""
|
588 |
-
|
589 |
-
#: admin/views/tab-about.php:209
|
590 |
-
msgid "WHY DO YOU NEED IT?"
|
591 |
-
msgstr ""
|
592 |
-
|
593 |
-
#: admin/pages/widgets.php:109
|
594 |
-
msgid "Widgets"
|
595 |
-
msgstr ""
|
596 |
-
|
597 |
-
#: includes/class-wis_instagram_slider.php:272
|
598 |
-
msgid "without # sign"
|
599 |
-
msgstr ""
|
600 |
-
|
601 |
-
#: admin/views/tab-settings.php:21
|
602 |
-
msgid ""
|
603 |
-
"Without authorization Instagram limits the number of requests, and after "
|
604 |
-
"exceeding the limit asks to log in, so an error is displayed that no images "
|
605 |
-
"were found."
|
606 |
-
msgstr ""
|
607 |
-
|
608 |
-
#: admin/views/tab-license.php:58
|
609 |
-
msgid ""
|
610 |
-
"You use a paid subscription for the plugin updates. In case you don’t want "
|
611 |
-
"to receive paid updates, please, click <a data-action=\"unsubscribe\" "
|
612 |
-
"class=\"wis-control-btn\" href=\"#\">cancel subscription</a>"
|
613 |
-
msgstr ""
|
614 |
-
|
615 |
-
#: admin/views/tab-license.php:25
|
616 |
-
#, php-format
|
617 |
-
msgid "Your current license for %1$s:"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: admin/ajax/check-license.php:42
|
621 |
-
msgid "Your license has been successfully activated"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: admin/views/tab-license.php:64
|
625 |
-
msgid ""
|
626 |
-
"Your license has expired, please extend the license to get updates and "
|
627 |
-
"support."
|
628 |
-
msgstr ""
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Social Slider Widget\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2019-11-08 05:43+0000\n"
|
6 |
+
"PO-Revision-Date: 2019-11-08 05:46+0000\n"
|
7 |
+
"Last-Translator: admin <webtemyk@yandex.ru>\n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"Language: en_US\n"
|
10 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
11 |
+
"MIME-Version: 1.0\n"
|
12 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
+
"Content-Transfer-Encoding: 8bit\n"
|
14 |
+
"X-Generator: Loco https://localise.biz/\n"
|
15 |
+
"X-Loco-Version: 2.3.1; wp-5.2.4"
|
16 |
+
|
17 |
+
#: includes/class-wis_instagram_slider.php:283
|
18 |
+
msgid " Turn on to save Instagram Images into WordPress media library."
|
19 |
+
msgstr ""
|
20 |
+
|
21 |
+
#: includes/class-wis_instagram_slider.php:450
|
22 |
+
msgid ""
|
23 |
+
"* use this field only if the above option is set to <strong>Custom "
|
24 |
+
"Link</strong>"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: includes/class-wis_instagram_slider.php:94
|
28 |
+
msgid ""
|
29 |
+
"1. Drag Social Slider Widget here. 2. Fill in the fields and hit save. 3. "
|
30 |
+
"Copy the shortocde generated at the bottom of the widget form and use it on "
|
31 |
+
"posts or pages."
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: includes/class-wis_instagram_slider.php:394
|
35 |
+
msgid "1000 milliseconds = 1 second"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#: admin/views/tab-license.php:134
|
39 |
+
#, php-format
|
40 |
+
msgid ""
|
41 |
+
"<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
|
42 |
+
"premium version and get the license key to activate it now!"
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
#: includes/class-wis_instagram_slider.php:422
|
46 |
+
msgid ""
|
47 |
+
"<strong>Square - Cropped</strong> - option will show square cropped images "
|
48 |
+
"in 640x640 pixels. <br/><strong>Original - No Crop</strong> - will display "
|
49 |
+
"the original user uploaded image size."
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: includes/class-wis_instagram_slider.php:42
|
53 |
+
msgid "A widget that displays a slider with instagram images "
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: admin/pages/about.php:44
|
57 |
+
msgid "About"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: admin/pages/about.php:43
|
61 |
+
msgid "About Social Slider Widget"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: includes/class-wis_instagram_slider.php:1552
|
65 |
+
msgid "Account deleted successfully"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: includes/class-wis_instagram_slider.php:1131
|
69 |
+
msgid ""
|
70 |
+
"Account not found or for this account there are restrictions on Instagram by "
|
71 |
+
"age"
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
#: includes/class-wis_instagram_slider.php:250
|
75 |
+
msgid "Account:"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: admin/views/tab-settings.php:51
|
79 |
+
msgid "Action"
|
80 |
+
msgstr ""
|
81 |
+
|
82 |
+
#: admin/views/tab-license.php:11
|
83 |
+
#, php-format
|
84 |
+
msgid "Activate %s"
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
#: admin/views/tab-license.php:84
|
88 |
+
msgid "active sites"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
#: admin/views/tab-settings.php:32 admin/views/tab-settings.php:36
|
92 |
+
msgid "Add Account"
|
93 |
+
msgstr ""
|
94 |
+
|
95 |
+
#: includes/class-wis_instagram_slider.php:267
|
96 |
+
msgid "Add account in settings"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: includes/class-wis-plugin.php:127
|
100 |
+
msgid "Are you sure want to delete this account?"
|
101 |
+
msgstr ""
|
102 |
+
|
103 |
+
#: includes/class-wis_instagram_slider.php:441
|
104 |
+
msgid "Attachment Page"
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: admin/views/tab-about.php:149
|
108 |
+
msgid "BENEFITS"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: includes/class-wis_instagram_slider.php:275
|
112 |
+
msgid "Block Users"
|
113 |
+
msgstr ""
|
114 |
+
|
115 |
+
#: admin/views/tab-license.php:138
|
116 |
+
#, php-format
|
117 |
+
msgid ""
|
118 |
+
"Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
|
119 |
+
"this page</a> and login using the e-mail address associated with your "
|
120 |
+
"purchase."
|
121 |
+
msgstr ""
|
122 |
+
|
123 |
+
#: includes/class-wis_instagram_slider.php:400
|
124 |
+
msgid "Caption"
|
125 |
+
msgstr ""
|
126 |
+
|
127 |
+
#: includes/class-wis_instagram_slider.php:305
|
128 |
+
msgid "Check for new images every:"
|
129 |
+
msgstr ""
|
130 |
+
|
131 |
+
#: includes/class-wis_instagram_slider.php:293
|
132 |
+
msgid "Count of images to show:"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#. Author of the plugin
|
136 |
+
msgid "creativemotion"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: includes/class-wis_instagram_slider.php:442
|
140 |
+
msgid "Custom Link"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: includes/class-wis_instagram_slider.php:448
|
144 |
+
msgid "Custom link:"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
#: includes/class-wis_instagram_slider.php:427
|
148 |
+
msgid "Date - Ascending"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: includes/class-wis_instagram_slider.php:428
|
152 |
+
msgid "Date - Descending"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: admin/views/tab-license.php:105
|
156 |
+
msgid "day(s)"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: admin/views/tab-settings.php:72
|
160 |
+
msgid "Delete"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: admin/views/tab-license.php:31
|
164 |
+
msgid "Delete Key"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: admin/views/tab-about.php:123
|
168 |
+
msgid ""
|
169 |
+
"Display Instagram feeds in widgets, posts, pages, or anywhere else using "
|
170 |
+
"shortcodes."
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#: admin/views/tab-license.php:72
|
174 |
+
msgid "domain"
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
#: includes/class-wis_instagram_slider.php:384
|
178 |
+
msgid "Dotted"
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: includes/class-wis_instagram_slider.php:277
|
182 |
+
msgid "Enter usernames separated by commas whose images you don't want to show"
|
183 |
+
msgstr ""
|
184 |
+
|
185 |
+
#: admin/views/tab-license.php:94
|
186 |
+
msgid "EXPIRED!"
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
#: includes/class-wis_instagram_slider.php:389
|
190 |
+
msgid "Fade"
|
191 |
+
msgstr ""
|
192 |
+
|
193 |
+
#: admin/views/tab-about.php:128
|
194 |
+
msgid "FEATURES"
|
195 |
+
msgstr ""
|
196 |
+
|
197 |
+
#: admin/views/tab-about.php:200
|
198 |
+
msgid "FEEDBACK AND SUPPORT"
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
#: includes/class-wis_instagram_slider.php:420
|
202 |
+
msgid "Full Size"
|
203 |
+
msgstr ""
|
204 |
+
|
205 |
+
#: admin/pages/settings.php:148
|
206 |
+
msgid "General"
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
+
#: includes/class-wis_instagram_slider.php:272
|
210 |
+
msgid "Hashtag:"
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: admin/views/tab-license.php:120
|
214 |
+
msgid "Have a key to activate the plugin? Paste it here:"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: admin/views/tab-license.php:118
|
218 |
+
msgid "Have a key to activate the premium version? Paste it here:"
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#: includes/class-wis_instagram_slider.php:402
|
222 |
+
msgid ""
|
223 |
+
"Hold ctrl and click the fields you want to show/hide on your slider. Leave "
|
224 |
+
"all unselected to hide them all. Default all selected."
|
225 |
+
msgstr ""
|
226 |
+
|
227 |
+
#: includes/class-wis_instagram_slider.php:307
|
228 |
+
msgid "hours"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#. Author URI of the plugin
|
232 |
+
msgid "https://cm-wp.com/"
|
233 |
+
msgstr ""
|
234 |
+
|
235 |
+
#. URI of the plugin
|
236 |
+
msgid "https://cm-wp.com/instagram-slider-widget"
|
237 |
+
msgstr ""
|
238 |
+
|
239 |
+
#: admin/views/tab-settings.php:47
|
240 |
+
msgid "ID"
|
241 |
+
msgstr ""
|
242 |
+
|
243 |
+
#: admin/views/tab-settings.php:46
|
244 |
+
msgid "Image"
|
245 |
+
msgstr ""
|
246 |
+
|
247 |
+
#: includes/class-wis_instagram_slider.php:415
|
248 |
+
msgid "Image format"
|
249 |
+
msgstr ""
|
250 |
+
|
251 |
+
#: includes/class-wis_instagram_slider.php:440
|
252 |
+
msgid "Image URL"
|
253 |
+
msgstr ""
|
254 |
+
|
255 |
+
#: includes/class-wis_instagram_slider.php:354
|
256 |
+
msgid "Image width:"
|
257 |
+
msgstr ""
|
258 |
+
|
259 |
+
#: admin/pages/settings.php:158
|
260 |
+
msgid "Instagram account"
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
+
#: includes/class-wis_instagram_slider.php:438
|
264 |
+
msgid "Instagram Image"
|
265 |
+
msgstr ""
|
266 |
+
|
267 |
+
#: admin/pages/settings.php:166
|
268 |
+
msgid "Instagram password"
|
269 |
+
msgstr ""
|
270 |
+
|
271 |
+
#: includes/class-wis_instagram_slider.php:439
|
272 |
+
msgid "Instagram Profile"
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#: includes/class-wis_instagram_slider.php:1161
|
276 |
+
msgid ""
|
277 |
+
"Instagram requires authorization to view a user profile. Use autorized "
|
278 |
+
"account in widget settings"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: admin/pages/license.php:90
|
282 |
+
msgid "License"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: admin/ajax/check-license.php:39
|
286 |
+
msgid ""
|
287 |
+
"License key is empty or license key too long (license key is 32 characters "
|
288 |
+
"long)"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: admin/pages/license.php:91
|
292 |
+
msgid "License of Social Slider Widget"
|
293 |
+
msgstr ""
|
294 |
+
|
295 |
+
#: admin/ajax/check-license.php:27
|
296 |
+
msgid "Licensing action not passed or this action is prohibited!"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: includes/class-wis_instagram_slider.php:436
|
300 |
+
msgid "Link to"
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
+
#: includes/class-wis_instagram_slider.php:418
|
304 |
+
msgid "Low - 320x320"
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
#: includes/class-wis_instagram_slider.php:345
|
308 |
+
msgid "max is 10 ( only for thumbnails template )"
|
309 |
+
msgstr ""
|
310 |
+
|
311 |
+
#: includes/class-wis_instagram_slider.php:297
|
312 |
+
msgid "Maximum 20 images in free version."
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: includes/class-wis_instagram_slider.php:393
|
316 |
+
msgid "milliseconds"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: admin/views/tab-settings.php:33
|
320 |
+
#, php-format
|
321 |
+
msgid "More accounts in <a href='%s'>PRO version</a>"
|
322 |
+
msgstr ""
|
323 |
+
|
324 |
+
#: includes/class-wis_instagram_slider.php:298
|
325 |
+
#, php-format
|
326 |
+
msgid "More in <a href='%s'>PRO version</a>"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: admin/views/tab-settings.php:49
|
330 |
+
msgid "Name"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
#: includes/class-wis_instagram_slider.php:1214
|
334 |
+
msgid "No images found"
|
335 |
+
msgstr ""
|
336 |
+
|
337 |
+
#: includes/class-wis_instagram_slider.php:688
|
338 |
+
msgid "No images found! <br> Try some other hashtag or username"
|
339 |
+
msgstr ""
|
340 |
+
|
341 |
+
#: includes/class-wis_instagram_slider.php:385
|
342 |
+
msgid "No Navigation"
|
343 |
+
msgstr ""
|
344 |
+
|
345 |
+
#: includes/class-wis_instagram_slider.php:443
|
346 |
+
msgid "None"
|
347 |
+
msgstr ""
|
348 |
+
|
349 |
+
#: includes/class-wis_instagram_slider.php:1100
|
350 |
+
msgid "Nothing to search for"
|
351 |
+
msgstr ""
|
352 |
+
|
353 |
+
#: includes/class-wis_instagram_slider.php:343
|
354 |
+
msgid "Number of Columns:"
|
355 |
+
msgstr ""
|
356 |
+
|
357 |
+
#: includes/class-wis_instagram_slider.php:410
|
358 |
+
msgid "Number of words in caption:"
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
#: admin/views/tab-license.php:82
|
362 |
+
msgid "of"
|
363 |
+
msgstr ""
|
364 |
+
|
365 |
+
#: includes/class-wis_instagram_slider.php:372
|
366 |
+
msgid "Offset"
|
367 |
+
msgstr ""
|
368 |
+
|
369 |
+
#: includes/class-wis_instagram_slider.php:425
|
370 |
+
msgid "Order by"
|
371 |
+
msgstr ""
|
372 |
+
|
373 |
+
#: admin/pages/settings.php:168
|
374 |
+
msgid "Password of your Instagram account"
|
375 |
+
msgstr ""
|
376 |
+
|
377 |
+
#: includes/class-wis_instagram_slider.php:376
|
378 |
+
msgid "Pattern"
|
379 |
+
msgstr ""
|
380 |
+
|
381 |
+
#: includes/class-wis_instagram_slider.php:362
|
382 |
+
msgid "pictures"
|
383 |
+
msgstr ""
|
384 |
+
|
385 |
+
#: includes/class-wis_instagram_slider.php:360
|
386 |
+
msgid "Pictures per slide:"
|
387 |
+
msgstr ""
|
388 |
+
|
389 |
+
#: admin/views/tab-license.php:76
|
390 |
+
msgid "plan"
|
391 |
+
msgstr ""
|
392 |
+
|
393 |
+
#: admin/views/tab-license.php:95
|
394 |
+
msgid "please update the key"
|
395 |
+
msgstr ""
|
396 |
+
|
397 |
+
#: includes/class-wis_instagram_slider.php:429
|
398 |
+
msgid "Popularity - Ascending"
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: includes/class-wis_instagram_slider.php:430
|
402 |
+
msgid "Popularity - Descending"
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: includes/class-wis_instagram_slider.php:383
|
406 |
+
msgid "Prev & Next"
|
407 |
+
msgstr ""
|
408 |
+
|
409 |
+
#: admin/views/tab-about.php:163
|
410 |
+
msgid "PRO VERSION"
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: admin/views/tab-license.php:54
|
414 |
+
msgid ""
|
415 |
+
"Public License is a GPLv2 compatible license allowing you to change and use "
|
416 |
+
"this version of the plugin for free. Please keep in mind this license covers "
|
417 |
+
"only free edition of the plugin. Premium versions are distributed with other "
|
418 |
+
"type of a license."
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
+
#: includes/class-wis_instagram_slider.php:351
|
422 |
+
#: includes/class-wis_instagram_slider.php:356
|
423 |
+
msgid "px"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: includes/class-wis_instagram_slider.php:431
|
427 |
+
msgid "Random"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: admin/views/tab-license.php:107
|
431 |
+
msgid "remained"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: includes/class-wis_instagram_slider.php:279
|
435 |
+
msgid "Save in Media Library: "
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: includes/class-wis_instagram_slider.php:246
|
439 |
+
msgid "Search Instagram for:"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: admin/pages/settings.php:108
|
443 |
+
msgid "Settings"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: admin/pages/settings.php:107
|
447 |
+
msgid "Settings of Social Slider Widget"
|
448 |
+
msgstr ""
|
449 |
+
|
450 |
+
#: includes/class-wis_instagram_slider.php:486
|
451 |
+
msgid "Shortcode of this Widget:"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: includes/class-wis_instagram_slider.php:311
|
455 |
+
msgid "Show feed header:"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: includes/class-wis_instagram_slider.php:388
|
459 |
+
msgid "Slide"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: includes/class-wis_instagram_slider.php:391
|
463 |
+
msgid "Slide Speed:"
|
464 |
+
msgstr ""
|
465 |
+
|
466 |
+
#: includes/class-wis_instagram_slider.php:387
|
467 |
+
msgid "Slider Animation:"
|
468 |
+
msgstr ""
|
469 |
+
|
470 |
+
#: includes/class-wis_instagram_slider.php:382
|
471 |
+
msgid "Slider Navigation Controls:"
|
472 |
+
msgstr ""
|
473 |
+
|
474 |
+
#: includes/class-wis_instagram_slider.php:396
|
475 |
+
msgid "Slider Text Description:"
|
476 |
+
msgstr ""
|
477 |
+
|
478 |
+
#: includes/class-wis_instagram_slider.php:40
|
479 |
+
#: includes/class-wis_instagram_slider.php:204
|
480 |
+
msgid "Social Slider"
|
481 |
+
msgstr ""
|
482 |
+
|
483 |
+
#: includes/class-wis_instagram_slider.php:92
|
484 |
+
msgid "Social Slider - Shortcode Generator"
|
485 |
+
msgstr ""
|
486 |
+
|
487 |
+
#. Name of the plugin
|
488 |
+
#: instaram_slider.php:26 admin/views/tab-about.php:122
|
489 |
+
msgid "Social Slider Widget"
|
490 |
+
msgstr ""
|
491 |
+
|
492 |
+
#. Description of the plugin
|
493 |
+
msgid ""
|
494 |
+
"Social Slider Widget is a responsive slider widget that shows 12 latest "
|
495 |
+
"images from a public Instagram user and up to 18 images from a hashtag."
|
496 |
+
msgstr ""
|
497 |
+
|
498 |
+
#: admin/pages/widgets.php:107 admin/pages/widgets.php:108
|
499 |
+
msgid "Social Slider Widgets"
|
500 |
+
msgstr ""
|
501 |
+
|
502 |
+
#: includes/class-wis_instagram_slider.php:365
|
503 |
+
msgid "Space between pictures:"
|
504 |
+
msgstr ""
|
505 |
+
|
506 |
+
#: includes/class-wis_instagram_slider.php:419
|
507 |
+
msgid "Standard - 640x640"
|
508 |
+
msgstr ""
|
509 |
+
|
510 |
+
#: admin/views/tab-license.php:126
|
511 |
+
msgid "Submit Key"
|
512 |
+
msgstr ""
|
513 |
+
|
514 |
+
#: admin/ajax/check-license.php:55
|
515 |
+
msgid "Subscription success cancelled"
|
516 |
+
msgstr ""
|
517 |
+
|
518 |
+
#: admin/views/tab-license.php:35
|
519 |
+
msgid "Synchronization"
|
520 |
+
msgstr ""
|
521 |
+
|
522 |
+
#: includes/class-wis_instagram_slider.php:318
|
523 |
+
msgid "Template"
|
524 |
+
msgstr ""
|
525 |
+
|
526 |
+
#: admin/ajax/check-license.php:51
|
527 |
+
msgid "The license has been updated"
|
528 |
+
msgstr ""
|
529 |
+
|
530 |
+
#: admin/ajax/check-license.php:47
|
531 |
+
msgid "The license is deactivated"
|
532 |
+
msgstr ""
|
533 |
+
|
534 |
+
#: includes/class-wis_instagram_slider.php:1182
|
535 |
+
msgid "There are no publications in this account yet"
|
536 |
+
msgstr ""
|
537 |
+
|
538 |
+
#: includes/class-wis_instagram_slider.php:417
|
539 |
+
msgid "Thumbnail - 150x150"
|
540 |
+
msgstr ""
|
541 |
+
|
542 |
+
#: includes/class-wis_instagram_slider.php:399
|
543 |
+
msgid "Time"
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: includes/class-wis_instagram_slider.php:242
|
547 |
+
msgid "Title:"
|
548 |
+
msgstr ""
|
549 |
+
|
550 |
+
#: admin/views/tab-settings.php:50
|
551 |
+
msgid "Token"
|
552 |
+
msgstr ""
|
553 |
+
|
554 |
+
#: admin/views/tab-license.php:22
|
555 |
+
#, php-format
|
556 |
+
msgid "Upgrade to Premium for $%s"
|
557 |
+
msgstr ""
|
558 |
+
|
559 |
+
#: includes/class-wis_instagram_slider.php:488
|
560 |
+
msgid ""
|
561 |
+
"Use this shortcode in any page or post to display images with this widget "
|
562 |
+
"configuration!"
|
563 |
+
msgstr ""
|
564 |
+
|
565 |
+
#: admin/views/tab-settings.php:48
|
566 |
+
msgid "User"
|
567 |
+
msgstr ""
|
568 |
+
|
569 |
+
#: includes/class-wis_instagram_slider.php:398
|
570 |
+
msgid "Username"
|
571 |
+
msgstr ""
|
572 |
+
|
573 |
+
#: admin/pages/settings.php:160
|
574 |
+
msgid "Username of your Instagram account"
|
575 |
+
msgstr ""
|
576 |
+
|
577 |
+
#: includes/class-wis_instagram_slider.php:271
|
578 |
+
msgid "Username:"
|
579 |
+
msgstr ""
|
580 |
+
|
581 |
+
#: admin/views/tab-license.php:89
|
582 |
+
msgid "version"
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: includes/class-wis_instagram_slider.php:349
|
586 |
+
msgid "Vertical space between item elements:"
|
587 |
+
msgstr ""
|
588 |
+
|
589 |
+
#: admin/views/tab-about.php:209
|
590 |
+
msgid "WHY DO YOU NEED IT?"
|
591 |
+
msgstr ""
|
592 |
+
|
593 |
+
#: admin/pages/widgets.php:109
|
594 |
+
msgid "Widgets"
|
595 |
+
msgstr ""
|
596 |
+
|
597 |
+
#: includes/class-wis_instagram_slider.php:272
|
598 |
+
msgid "without # sign"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: admin/views/tab-settings.php:21
|
602 |
+
msgid ""
|
603 |
+
"Without authorization Instagram limits the number of requests, and after "
|
604 |
+
"exceeding the limit asks to log in, so an error is displayed that no images "
|
605 |
+
"were found."
|
606 |
+
msgstr ""
|
607 |
+
|
608 |
+
#: admin/views/tab-license.php:58
|
609 |
+
msgid ""
|
610 |
+
"You use a paid subscription for the plugin updates. In case you don’t want "
|
611 |
+
"to receive paid updates, please, click <a data-action=\"unsubscribe\" "
|
612 |
+
"class=\"wis-control-btn\" href=\"#\">cancel subscription</a>"
|
613 |
+
msgstr ""
|
614 |
+
|
615 |
+
#: admin/views/tab-license.php:25
|
616 |
+
#, php-format
|
617 |
+
msgid "Your current license for %1$s:"
|
618 |
+
msgstr ""
|
619 |
+
|
620 |
+
#: admin/ajax/check-license.php:42
|
621 |
+
msgid "Your license has been successfully activated"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#: admin/views/tab-license.php:64
|
625 |
+
msgid ""
|
626 |
+
"Your license has expired, please extend the license to get updates and "
|
627 |
+
"support."
|
628 |
+
msgstr ""
|
languages/instagram-slider-widget-ru_RU.po
CHANGED
@@ -1,644 +1,644 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Social Slider Widget\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2019-11-08 05:43+0000\n"
|
6 |
-
"PO-Revision-Date: 2019-11-08 07:03+0000\n"
|
7 |
-
"Last-Translator: admin <webtemyk@yandex.ru>\n"
|
8 |
-
"Language-Team: Русский\n"
|
9 |
-
"Language: ru_RU\n"
|
10 |
-
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && "
|
11 |
-
"n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
-
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Loco https://localise.biz/\n"
|
16 |
-
"X-Loco-Version: 2.3.1; wp-5.2.4"
|
17 |
-
|
18 |
-
#: includes/class-wis_instagram_slider.php:283
|
19 |
-
msgid " Turn on to save Instagram Images into WordPress media library."
|
20 |
-
msgstr "Сохранять изображения в медиабиблиотеке Wordpress"
|
21 |
-
|
22 |
-
#: includes/class-wis_instagram_slider.php:450
|
23 |
-
msgid ""
|
24 |
-
"* use this field only if the above option is set to <strong>Custom "
|
25 |
-
"Link</strong>"
|
26 |
-
msgstr ""
|
27 |
-
"* используйте это поле только в том случае, если для параметра выше задано "
|
28 |
-
"значение <strong>Произвольная ссылка</strong>"
|
29 |
-
|
30 |
-
#: includes/class-wis_instagram_slider.php:94
|
31 |
-
msgid ""
|
32 |
-
"1. Drag Social Slider Widget here. 2. Fill in the fields and hit save. 3. "
|
33 |
-
"Copy the shortocde generated at the bottom of the widget form and use it on "
|
34 |
-
"posts or pages."
|
35 |
-
msgstr ""
|
36 |
-
"1. Перетащите Social Slider Widget сюда. 2. Заполните поля и нажмите "
|
37 |
-
"Сохранить. 3. Скопируйте шорткод, созданный в нижней части формы виджета, и "
|
38 |
-
"используйте его в постах или страницах."
|
39 |
-
|
40 |
-
#: includes/class-wis_instagram_slider.php:394
|
41 |
-
msgid "1000 milliseconds = 1 second"
|
42 |
-
msgstr "1000 миллисекунд = 1 секунда"
|
43 |
-
|
44 |
-
#: admin/views/tab-license.php:134
|
45 |
-
#, php-format
|
46 |
-
msgid ""
|
47 |
-
"<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
|
48 |
-
"premium version and get the license key to activate it now!"
|
49 |
-
msgstr ""
|
50 |
-
"<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Узнайте больше</a> о "
|
51 |
-
"премиум версии и получите лицензионный ключ, чтобы активировать его сейчас!"
|
52 |
-
|
53 |
-
#: includes/class-wis_instagram_slider.php:422
|
54 |
-
msgid ""
|
55 |
-
"<strong>Square - Cropped</strong> - option will show square cropped images "
|
56 |
-
"in 640x640 pixels. <br/><strong>Original - No Crop</strong> - will display "
|
57 |
-
"the original user uploaded image size."
|
58 |
-
msgstr ""
|
59 |
-
|
60 |
-
#: includes/class-wis_instagram_slider.php:42
|
61 |
-
msgid "A widget that displays a slider with instagram images "
|
62 |
-
msgstr "Виджет, который отображает слайдер с изображениями instagram"
|
63 |
-
|
64 |
-
#: admin/pages/about.php:44
|
65 |
-
msgid "About"
|
66 |
-
msgstr "О плагине"
|
67 |
-
|
68 |
-
#: admin/pages/about.php:43
|
69 |
-
msgid "About Social Slider Widget"
|
70 |
-
msgstr "Описание Social Slider Widget"
|
71 |
-
|
72 |
-
#: includes/class-wis_instagram_slider.php:1552
|
73 |
-
msgid "Account deleted successfully"
|
74 |
-
msgstr ""
|
75 |
-
|
76 |
-
#: includes/class-wis_instagram_slider.php:1131
|
77 |
-
msgid ""
|
78 |
-
"Account not found or for this account there are restrictions on Instagram by "
|
79 |
-
"age"
|
80 |
-
msgstr ""
|
81 |
-
"Аккаунт не найден или для этого аккаунта действуют возрастные ограничения"
|
82 |
-
|
83 |
-
#: includes/class-wis_instagram_slider.php:250
|
84 |
-
msgid "Account:"
|
85 |
-
msgstr "Аккаунт:"
|
86 |
-
|
87 |
-
#: admin/views/tab-settings.php:51
|
88 |
-
msgid "Action"
|
89 |
-
msgstr "Действия"
|
90 |
-
|
91 |
-
#: admin/views/tab-license.php:11
|
92 |
-
#, php-format
|
93 |
-
msgid "Activate %s"
|
94 |
-
msgstr ""
|
95 |
-
|
96 |
-
#: admin/views/tab-license.php:84
|
97 |
-
msgid "active sites"
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
-
#: admin/views/tab-settings.php:32 admin/views/tab-settings.php:36
|
101 |
-
msgid "Add Account"
|
102 |
-
msgstr "Добавить аккаунт"
|
103 |
-
|
104 |
-
#: includes/class-wis_instagram_slider.php:267
|
105 |
-
msgid "Add account in settings"
|
106 |
-
msgstr "Добавить аккаунт в настройках"
|
107 |
-
|
108 |
-
#: includes/class-wis-plugin.php:127
|
109 |
-
msgid "Are you sure want to delete this account?"
|
110 |
-
msgstr "Вы уверена, что хотите удалить этот аккаунт?"
|
111 |
-
|
112 |
-
#: includes/class-wis_instagram_slider.php:441
|
113 |
-
msgid "Attachment Page"
|
114 |
-
msgstr ""
|
115 |
-
|
116 |
-
#: admin/views/tab-about.php:149
|
117 |
-
msgid "BENEFITS"
|
118 |
-
msgstr ""
|
119 |
-
|
120 |
-
#: includes/class-wis_instagram_slider.php:275
|
121 |
-
msgid "Block Users"
|
122 |
-
msgstr "Заблокированные пользователи"
|
123 |
-
|
124 |
-
#: admin/views/tab-license.php:138
|
125 |
-
#, php-format
|
126 |
-
msgid ""
|
127 |
-
"Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
|
128 |
-
"this page</a> and login using the e-mail address associated with your "
|
129 |
-
"purchase."
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/class-wis_instagram_slider.php:400
|
133 |
-
msgid "Caption"
|
134 |
-
msgstr "Заголовок"
|
135 |
-
|
136 |
-
#: includes/class-wis_instagram_slider.php:305
|
137 |
-
msgid "Check for new images every:"
|
138 |
-
msgstr "Проверять новые изображения каждые:"
|
139 |
-
|
140 |
-
#: includes/class-wis_instagram_slider.php:293
|
141 |
-
msgid "Count of images to show:"
|
142 |
-
msgstr "Кол-во изображений для показа:"
|
143 |
-
|
144 |
-
#. Author of the plugin
|
145 |
-
msgid "creativemotion"
|
146 |
-
msgstr "creativemotion"
|
147 |
-
|
148 |
-
#: includes/class-wis_instagram_slider.php:442
|
149 |
-
msgid "Custom Link"
|
150 |
-
msgstr "Произвольная ссылка"
|
151 |
-
|
152 |
-
#: includes/class-wis_instagram_slider.php:448
|
153 |
-
msgid "Custom link:"
|
154 |
-
msgstr "Произвольная ссылка:"
|
155 |
-
|
156 |
-
#: includes/class-wis_instagram_slider.php:427
|
157 |
-
msgid "Date - Ascending"
|
158 |
-
msgstr "Дата - по возрастанию"
|
159 |
-
|
160 |
-
#: includes/class-wis_instagram_slider.php:428
|
161 |
-
msgid "Date - Descending"
|
162 |
-
msgstr "Дата - по убыванию"
|
163 |
-
|
164 |
-
#: admin/views/tab-license.php:105
|
165 |
-
msgid "day(s)"
|
166 |
-
msgstr ""
|
167 |
-
|
168 |
-
#: admin/views/tab-settings.php:72
|
169 |
-
msgid "Delete"
|
170 |
-
msgstr ""
|
171 |
-
|
172 |
-
#: admin/views/tab-license.php:31
|
173 |
-
msgid "Delete Key"
|
174 |
-
msgstr ""
|
175 |
-
|
176 |
-
#: admin/views/tab-about.php:123
|
177 |
-
msgid ""
|
178 |
-
"Display Instagram feeds in widgets, posts, pages, or anywhere else using "
|
179 |
-
"shortcodes."
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#: admin/views/tab-license.php:72
|
183 |
-
msgid "domain"
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: includes/class-wis_instagram_slider.php:384
|
187 |
-
msgid "Dotted"
|
188 |
-
msgstr ""
|
189 |
-
|
190 |
-
#: includes/class-wis_instagram_slider.php:277
|
191 |
-
msgid "Enter usernames separated by commas whose images you don't want to show"
|
192 |
-
msgstr ""
|
193 |
-
"Введите имена пользователей, разделенные запятыми, изображения которых вы не "
|
194 |
-
"хотите показывать"
|
195 |
-
|
196 |
-
#: admin/views/tab-license.php:94
|
197 |
-
msgid "EXPIRED!"
|
198 |
-
msgstr ""
|
199 |
-
|
200 |
-
#: includes/class-wis_instagram_slider.php:389
|
201 |
-
msgid "Fade"
|
202 |
-
msgstr ""
|
203 |
-
|
204 |
-
#: admin/views/tab-about.php:128
|
205 |
-
msgid "FEATURES"
|
206 |
-
msgstr ""
|
207 |
-
|
208 |
-
#: admin/views/tab-about.php:200
|
209 |
-
msgid "FEEDBACK AND SUPPORT"
|
210 |
-
msgstr ""
|
211 |
-
|
212 |
-
#: includes/class-wis_instagram_slider.php:420
|
213 |
-
msgid "Full Size"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: admin/pages/settings.php:148
|
217 |
-
msgid "General"
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: includes/class-wis_instagram_slider.php:272
|
221 |
-
msgid "Hashtag:"
|
222 |
-
msgstr "Хэштэг:"
|
223 |
-
|
224 |
-
#: admin/views/tab-license.php:120
|
225 |
-
msgid "Have a key to activate the plugin? Paste it here:"
|
226 |
-
msgstr ""
|
227 |
-
|
228 |
-
#: admin/views/tab-license.php:118
|
229 |
-
msgid "Have a key to activate the premium version? Paste it here:"
|
230 |
-
msgstr ""
|
231 |
-
|
232 |
-
#: includes/class-wis_instagram_slider.php:402
|
233 |
-
msgid ""
|
234 |
-
"Hold ctrl and click the fields you want to show/hide on your slider. Leave "
|
235 |
-
"all unselected to hide them all. Default all selected."
|
236 |
-
msgstr ""
|
237 |
-
|
238 |
-
#: includes/class-wis_instagram_slider.php:307
|
239 |
-
msgid "hours"
|
240 |
-
msgstr "часов"
|
241 |
-
|
242 |
-
#. Author URI of the plugin
|
243 |
-
msgid "https://cm-wp.com/"
|
244 |
-
msgstr ""
|
245 |
-
|
246 |
-
#. URI of the plugin
|
247 |
-
msgid "https://cm-wp.com/instagram-slider-widget"
|
248 |
-
msgstr ""
|
249 |
-
|
250 |
-
#: admin/views/tab-settings.php:47
|
251 |
-
msgid "ID"
|
252 |
-
msgstr ""
|
253 |
-
|
254 |
-
#: admin/views/tab-settings.php:46
|
255 |
-
msgid "Image"
|
256 |
-
msgstr "Аватар"
|
257 |
-
|
258 |
-
#: includes/class-wis_instagram_slider.php:415
|
259 |
-
msgid "Image format"
|
260 |
-
msgstr "Формат изображения"
|
261 |
-
|
262 |
-
#: includes/class-wis_instagram_slider.php:440
|
263 |
-
msgid "Image URL"
|
264 |
-
msgstr "Ссылка на изображение"
|
265 |
-
|
266 |
-
#: includes/class-wis_instagram_slider.php:354
|
267 |
-
msgid "Image width:"
|
268 |
-
msgstr "Ширина изображения:"
|
269 |
-
|
270 |
-
#: admin/pages/settings.php:158
|
271 |
-
msgid "Instagram account"
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: includes/class-wis_instagram_slider.php:438
|
275 |
-
msgid "Instagram Image"
|
276 |
-
msgstr "Страница поста"
|
277 |
-
|
278 |
-
#: admin/pages/settings.php:166
|
279 |
-
msgid "Instagram password"
|
280 |
-
msgstr ""
|
281 |
-
|
282 |
-
#: includes/class-wis_instagram_slider.php:439
|
283 |
-
msgid "Instagram Profile"
|
284 |
-
msgstr "Страница Инстаграм"
|
285 |
-
|
286 |
-
#: includes/class-wis_instagram_slider.php:1161
|
287 |
-
msgid ""
|
288 |
-
"Instagram requires authorization to view a user profile. Use autorized "
|
289 |
-
"account in widget settings"
|
290 |
-
msgstr ""
|
291 |
-
|
292 |
-
#: admin/pages/license.php:90
|
293 |
-
msgid "License"
|
294 |
-
msgstr ""
|
295 |
-
|
296 |
-
#: admin/ajax/check-license.php:39
|
297 |
-
msgid ""
|
298 |
-
"License key is empty or license key too long (license key is 32 characters "
|
299 |
-
"long)"
|
300 |
-
msgstr ""
|
301 |
-
|
302 |
-
#: admin/pages/license.php:91
|
303 |
-
msgid "License of Social Slider Widget"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: admin/ajax/check-license.php:27
|
307 |
-
msgid "Licensing action not passed or this action is prohibited!"
|
308 |
-
msgstr ""
|
309 |
-
|
310 |
-
#: includes/class-wis_instagram_slider.php:436
|
311 |
-
msgid "Link to"
|
312 |
-
msgstr "Ссылка на:"
|
313 |
-
|
314 |
-
#: includes/class-wis_instagram_slider.php:418
|
315 |
-
msgid "Low - 320x320"
|
316 |
-
msgstr ""
|
317 |
-
|
318 |
-
#: includes/class-wis_instagram_slider.php:345
|
319 |
-
msgid "max is 10 ( only for thumbnails template )"
|
320 |
-
msgstr "максимум 10 (только для шаблона thumbnails)"
|
321 |
-
|
322 |
-
#: includes/class-wis_instagram_slider.php:297
|
323 |
-
msgid "Maximum 20 images in free version."
|
324 |
-
msgstr "Максимум 20 изображений в бесплатной версии"
|
325 |
-
|
326 |
-
#: includes/class-wis_instagram_slider.php:393
|
327 |
-
msgid "milliseconds"
|
328 |
-
msgstr "миллисекунд"
|
329 |
-
|
330 |
-
#: admin/views/tab-settings.php:33
|
331 |
-
#, php-format
|
332 |
-
msgid "More accounts in <a href='%s'>PRO version</a>"
|
333 |
-
msgstr "Больше аккаунтов в <a href='%s'>PRO версии</a>"
|
334 |
-
|
335 |
-
#: includes/class-wis_instagram_slider.php:298
|
336 |
-
#, php-format
|
337 |
-
msgid "More in <a href='%s'>PRO version</a>"
|
338 |
-
msgstr "Больше в <a href='%s'>PRO версии</a>"
|
339 |
-
|
340 |
-
#: admin/views/tab-settings.php:49
|
341 |
-
msgid "Name"
|
342 |
-
msgstr "Имя"
|
343 |
-
|
344 |
-
#: includes/class-wis_instagram_slider.php:1214
|
345 |
-
msgid "No images found"
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: includes/class-wis_instagram_slider.php:688
|
349 |
-
msgid "No images found! <br> Try some other hashtag or username"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: includes/class-wis_instagram_slider.php:385
|
353 |
-
msgid "No Navigation"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: includes/class-wis_instagram_slider.php:443
|
357 |
-
msgid "None"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: includes/class-wis_instagram_slider.php:1100
|
361 |
-
msgid "Nothing to search for"
|
362 |
-
msgstr ""
|
363 |
-
|
364 |
-
#: includes/class-wis_instagram_slider.php:343
|
365 |
-
msgid "Number of Columns:"
|
366 |
-
msgstr "Кол-во колонок:"
|
367 |
-
|
368 |
-
#: includes/class-wis_instagram_slider.php:410
|
369 |
-
msgid "Number of words in caption:"
|
370 |
-
msgstr "Кол-во слов в тексте:"
|
371 |
-
|
372 |
-
#: admin/views/tab-license.php:82
|
373 |
-
msgid "of"
|
374 |
-
msgstr ""
|
375 |
-
|
376 |
-
#: includes/class-wis_instagram_slider.php:372
|
377 |
-
msgid "Offset"
|
378 |
-
msgstr ""
|
379 |
-
|
380 |
-
#: includes/class-wis_instagram_slider.php:425
|
381 |
-
msgid "Order by"
|
382 |
-
msgstr "Сортировка"
|
383 |
-
|
384 |
-
#: admin/pages/settings.php:168
|
385 |
-
msgid "Password of your Instagram account"
|
386 |
-
msgstr ""
|
387 |
-
|
388 |
-
#: includes/class-wis_instagram_slider.php:376
|
389 |
-
msgid "Pattern"
|
390 |
-
msgstr ""
|
391 |
-
|
392 |
-
#: includes/class-wis_instagram_slider.php:362
|
393 |
-
msgid "pictures"
|
394 |
-
msgstr "изображений"
|
395 |
-
|
396 |
-
#: includes/class-wis_instagram_slider.php:360
|
397 |
-
msgid "Pictures per slide:"
|
398 |
-
msgstr "Изображений на слайд:"
|
399 |
-
|
400 |
-
#: admin/views/tab-license.php:76
|
401 |
-
msgid "plan"
|
402 |
-
msgstr ""
|
403 |
-
|
404 |
-
#: admin/views/tab-license.php:95
|
405 |
-
msgid "please update the key"
|
406 |
-
msgstr ""
|
407 |
-
|
408 |
-
#: includes/class-wis_instagram_slider.php:429
|
409 |
-
msgid "Popularity - Ascending"
|
410 |
-
msgstr "Популярность - по возрастанию"
|
411 |
-
|
412 |
-
#: includes/class-wis_instagram_slider.php:430
|
413 |
-
msgid "Popularity - Descending"
|
414 |
-
msgstr "Популярность - по убыванию"
|
415 |
-
|
416 |
-
#: includes/class-wis_instagram_slider.php:383
|
417 |
-
msgid "Prev & Next"
|
418 |
-
msgstr ""
|
419 |
-
|
420 |
-
#: admin/views/tab-about.php:163
|
421 |
-
msgid "PRO VERSION"
|
422 |
-
msgstr ""
|
423 |
-
|
424 |
-
#: admin/views/tab-license.php:54
|
425 |
-
msgid ""
|
426 |
-
"Public License is a GPLv2 compatible license allowing you to change and use "
|
427 |
-
"this version of the plugin for free. Please keep in mind this license covers "
|
428 |
-
"only free edition of the plugin. Premium versions are distributed with other "
|
429 |
-
"type of a license."
|
430 |
-
msgstr ""
|
431 |
-
|
432 |
-
#: includes/class-wis_instagram_slider.php:351
|
433 |
-
#: includes/class-wis_instagram_slider.php:356
|
434 |
-
msgid "px"
|
435 |
-
msgstr ""
|
436 |
-
|
437 |
-
#: includes/class-wis_instagram_slider.php:431
|
438 |
-
msgid "Random"
|
439 |
-
msgstr "Рандом"
|
440 |
-
|
441 |
-
#: admin/views/tab-license.php:107
|
442 |
-
msgid "remained"
|
443 |
-
msgstr ""
|
444 |
-
|
445 |
-
#: includes/class-wis_instagram_slider.php:279
|
446 |
-
msgid "Save in Media Library: "
|
447 |
-
msgstr "Сохранять в медиабиблиотеке:"
|
448 |
-
|
449 |
-
#: includes/class-wis_instagram_slider.php:246
|
450 |
-
msgid "Search Instagram for:"
|
451 |
-
msgstr "Искать в Instagram по:"
|
452 |
-
|
453 |
-
#: admin/pages/settings.php:108
|
454 |
-
msgid "Settings"
|
455 |
-
msgstr "Настройки"
|
456 |
-
|
457 |
-
#: admin/pages/settings.php:107
|
458 |
-
msgid "Settings of Social Slider Widget"
|
459 |
-
msgstr "Настройки Social Slider Widget"
|
460 |
-
|
461 |
-
#: includes/class-wis_instagram_slider.php:486
|
462 |
-
msgid "Shortcode of this Widget:"
|
463 |
-
msgstr "Шорткод виджета:"
|
464 |
-
|
465 |
-
#: includes/class-wis_instagram_slider.php:311
|
466 |
-
msgid "Show feed header:"
|
467 |
-
msgstr "Отображать шапку:"
|
468 |
-
|
469 |
-
#: includes/class-wis_instagram_slider.php:388
|
470 |
-
msgid "Slide"
|
471 |
-
msgstr ""
|
472 |
-
|
473 |
-
#: includes/class-wis_instagram_slider.php:391
|
474 |
-
msgid "Slide Speed:"
|
475 |
-
msgstr ""
|
476 |
-
|
477 |
-
#: includes/class-wis_instagram_slider.php:387
|
478 |
-
msgid "Slider Animation:"
|
479 |
-
msgstr ""
|
480 |
-
|
481 |
-
#: includes/class-wis_instagram_slider.php:382
|
482 |
-
msgid "Slider Navigation Controls:"
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: includes/class-wis_instagram_slider.php:396
|
486 |
-
msgid "Slider Text Description:"
|
487 |
-
msgstr ""
|
488 |
-
|
489 |
-
#: includes/class-wis_instagram_slider.php:40
|
490 |
-
#: includes/class-wis_instagram_slider.php:204
|
491 |
-
msgid "Social Slider"
|
492 |
-
msgstr ""
|
493 |
-
|
494 |
-
#: includes/class-wis_instagram_slider.php:92
|
495 |
-
msgid "Social Slider - Shortcode Generator"
|
496 |
-
msgstr ""
|
497 |
-
|
498 |
-
#. Name of the plugin
|
499 |
-
#: instaram_slider.php:26 admin/views/tab-about.php:122
|
500 |
-
msgid "Social Slider Widget"
|
501 |
-
msgstr ""
|
502 |
-
|
503 |
-
#. Description of the plugin
|
504 |
-
msgid ""
|
505 |
-
"Social Slider Widget is a responsive slider widget that shows 12 latest "
|
506 |
-
"images from a public Instagram user and up to 18 images from a hashtag."
|
507 |
-
msgstr ""
|
508 |
-
|
509 |
-
#: admin/pages/widgets.php:107 admin/pages/widgets.php:108
|
510 |
-
msgid "Social Slider Widgets"
|
511 |
-
msgstr ""
|
512 |
-
|
513 |
-
#: includes/class-wis_instagram_slider.php:365
|
514 |
-
msgid "Space between pictures:"
|
515 |
-
msgstr "Расстояние между изображениями:"
|
516 |
-
|
517 |
-
#: includes/class-wis_instagram_slider.php:419
|
518 |
-
msgid "Standard - 640x640"
|
519 |
-
msgstr ""
|
520 |
-
|
521 |
-
#: admin/views/tab-license.php:126
|
522 |
-
msgid "Submit Key"
|
523 |
-
msgstr ""
|
524 |
-
|
525 |
-
#: admin/ajax/check-license.php:55
|
526 |
-
msgid "Subscription success cancelled"
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: admin/views/tab-license.php:35
|
530 |
-
msgid "Synchronization"
|
531 |
-
msgstr ""
|
532 |
-
|
533 |
-
#: includes/class-wis_instagram_slider.php:318
|
534 |
-
msgid "Template"
|
535 |
-
msgstr "Шаблон"
|
536 |
-
|
537 |
-
#: admin/ajax/check-license.php:51
|
538 |
-
msgid "The license has been updated"
|
539 |
-
msgstr ""
|
540 |
-
|
541 |
-
#: admin/ajax/check-license.php:47
|
542 |
-
msgid "The license is deactivated"
|
543 |
-
msgstr ""
|
544 |
-
|
545 |
-
#: includes/class-wis_instagram_slider.php:1182
|
546 |
-
msgid "There are no publications in this account yet"
|
547 |
-
msgstr ""
|
548 |
-
|
549 |
-
#: includes/class-wis_instagram_slider.php:417
|
550 |
-
msgid "Thumbnail - 150x150"
|
551 |
-
msgstr ""
|
552 |
-
|
553 |
-
#: includes/class-wis_instagram_slider.php:399
|
554 |
-
msgid "Time"
|
555 |
-
msgstr ""
|
556 |
-
|
557 |
-
#: includes/class-wis_instagram_slider.php:242
|
558 |
-
msgid "Title:"
|
559 |
-
msgstr "Заголовок:"
|
560 |
-
|
561 |
-
#: admin/views/tab-settings.php:50
|
562 |
-
msgid "Token"
|
563 |
-
msgstr "Токен"
|
564 |
-
|
565 |
-
#: admin/views/tab-license.php:22
|
566 |
-
#, php-format
|
567 |
-
msgid "Upgrade to Premium for $%s"
|
568 |
-
msgstr ""
|
569 |
-
|
570 |
-
#: includes/class-wis_instagram_slider.php:488
|
571 |
-
msgid ""
|
572 |
-
"Use this shortcode in any page or post to display images with this widget "
|
573 |
-
"configuration!"
|
574 |
-
msgstr ""
|
575 |
-
"Используйте этот шорткод на любой странице или посте для отображения "
|
576 |
-
"изображений с этой конфигурацией виджета."
|
577 |
-
|
578 |
-
#: admin/views/tab-settings.php:48
|
579 |
-
msgid "User"
|
580 |
-
msgstr "Аккаунт"
|
581 |
-
|
582 |
-
#: includes/class-wis_instagram_slider.php:398
|
583 |
-
msgid "Username"
|
584 |
-
msgstr ""
|
585 |
-
|
586 |
-
#: admin/pages/settings.php:160
|
587 |
-
msgid "Username of your Instagram account"
|
588 |
-
msgstr ""
|
589 |
-
|
590 |
-
#: includes/class-wis_instagram_slider.php:271
|
591 |
-
msgid "Username:"
|
592 |
-
msgstr "Имя аккаунта:"
|
593 |
-
|
594 |
-
#: admin/views/tab-license.php:89
|
595 |
-
msgid "version"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/class-wis_instagram_slider.php:349
|
599 |
-
msgid "Vertical space between item elements:"
|
600 |
-
msgstr "Вертикальное расстояние между элементами:"
|
601 |
-
|
602 |
-
#: admin/views/tab-about.php:209
|
603 |
-
msgid "WHY DO YOU NEED IT?"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: admin/pages/widgets.php:109
|
607 |
-
msgid "Widgets"
|
608 |
-
msgstr "Виджеты"
|
609 |
-
|
610 |
-
#: includes/class-wis_instagram_slider.php:272
|
611 |
-
msgid "without # sign"
|
612 |
-
msgstr "без #"
|
613 |
-
|
614 |
-
#: admin/views/tab-settings.php:21
|
615 |
-
msgid ""
|
616 |
-
"Without authorization Instagram limits the number of requests, and after "
|
617 |
-
"exceeding the limit asks to log in, so an error is displayed that no images "
|
618 |
-
"were found."
|
619 |
-
msgstr ""
|
620 |
-
"Без авторизации Instagram ограничивает количество запросов, а после "
|
621 |
-
"превышения лимита просит войти в систему, поэтому выводится сообщение, что "
|
622 |
-
"изображения не найдены."
|
623 |
-
|
624 |
-
#: admin/views/tab-license.php:58
|
625 |
-
msgid ""
|
626 |
-
"You use a paid subscription for the plugin updates. In case you don’t want "
|
627 |
-
"to receive paid updates, please, click <a data-action=\"unsubscribe\" "
|
628 |
-
"class=\"wis-control-btn\" href=\"#\">cancel subscription</a>"
|
629 |
-
msgstr ""
|
630 |
-
|
631 |
-
#: admin/views/tab-license.php:25
|
632 |
-
#, php-format
|
633 |
-
msgid "Your current license for %1$s:"
|
634 |
-
msgstr ""
|
635 |
-
|
636 |
-
#: admin/ajax/check-license.php:42
|
637 |
-
msgid "Your license has been successfully activated"
|
638 |
-
msgstr ""
|
639 |
-
|
640 |
-
#: admin/views/tab-license.php:64
|
641 |
-
msgid ""
|
642 |
-
"Your license has expired, please extend the license to get updates and "
|
643 |
-
"support."
|
644 |
-
msgstr ""
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Social Slider Widget\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2019-11-08 05:43+0000\n"
|
6 |
+
"PO-Revision-Date: 2019-11-08 07:03+0000\n"
|
7 |
+
"Last-Translator: admin <webtemyk@yandex.ru>\n"
|
8 |
+
"Language-Team: Русский\n"
|
9 |
+
"Language: ru_RU\n"
|
10 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10 >= 2 && "
|
11 |
+
"n%10<=4 &&(n%100<10||n%100 >= 20)? 1 : 2);\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Loco https://localise.biz/\n"
|
16 |
+
"X-Loco-Version: 2.3.1; wp-5.2.4"
|
17 |
+
|
18 |
+
#: includes/class-wis_instagram_slider.php:283
|
19 |
+
msgid " Turn on to save Instagram Images into WordPress media library."
|
20 |
+
msgstr "Сохранять изображения в медиабиблиотеке Wordpress"
|
21 |
+
|
22 |
+
#: includes/class-wis_instagram_slider.php:450
|
23 |
+
msgid ""
|
24 |
+
"* use this field only if the above option is set to <strong>Custom "
|
25 |
+
"Link</strong>"
|
26 |
+
msgstr ""
|
27 |
+
"* используйте это поле только в том случае, если для параметра выше задано "
|
28 |
+
"значение <strong>Произвольная ссылка</strong>"
|
29 |
+
|
30 |
+
#: includes/class-wis_instagram_slider.php:94
|
31 |
+
msgid ""
|
32 |
+
"1. Drag Social Slider Widget here. 2. Fill in the fields and hit save. 3. "
|
33 |
+
"Copy the shortocde generated at the bottom of the widget form and use it on "
|
34 |
+
"posts or pages."
|
35 |
+
msgstr ""
|
36 |
+
"1. Перетащите Social Slider Widget сюда. 2. Заполните поля и нажмите "
|
37 |
+
"Сохранить. 3. Скопируйте шорткод, созданный в нижней части формы виджета, и "
|
38 |
+
"используйте его в постах или страницах."
|
39 |
+
|
40 |
+
#: includes/class-wis_instagram_slider.php:394
|
41 |
+
msgid "1000 milliseconds = 1 second"
|
42 |
+
msgstr "1000 миллисекунд = 1 секунда"
|
43 |
+
|
44 |
+
#: admin/views/tab-license.php:134
|
45 |
+
#, php-format
|
46 |
+
msgid ""
|
47 |
+
"<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
|
48 |
+
"premium version and get the license key to activate it now!"
|
49 |
+
msgstr ""
|
50 |
+
"<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Узнайте больше</a> о "
|
51 |
+
"премиум версии и получите лицензионный ключ, чтобы активировать его сейчас!"
|
52 |
+
|
53 |
+
#: includes/class-wis_instagram_slider.php:422
|
54 |
+
msgid ""
|
55 |
+
"<strong>Square - Cropped</strong> - option will show square cropped images "
|
56 |
+
"in 640x640 pixels. <br/><strong>Original - No Crop</strong> - will display "
|
57 |
+
"the original user uploaded image size."
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: includes/class-wis_instagram_slider.php:42
|
61 |
+
msgid "A widget that displays a slider with instagram images "
|
62 |
+
msgstr "Виджет, который отображает слайдер с изображениями instagram"
|
63 |
+
|
64 |
+
#: admin/pages/about.php:44
|
65 |
+
msgid "About"
|
66 |
+
msgstr "О плагине"
|
67 |
+
|
68 |
+
#: admin/pages/about.php:43
|
69 |
+
msgid "About Social Slider Widget"
|
70 |
+
msgstr "Описание Social Slider Widget"
|
71 |
+
|
72 |
+
#: includes/class-wis_instagram_slider.php:1552
|
73 |
+
msgid "Account deleted successfully"
|
74 |
+
msgstr ""
|
75 |
+
|
76 |
+
#: includes/class-wis_instagram_slider.php:1131
|
77 |
+
msgid ""
|
78 |
+
"Account not found or for this account there are restrictions on Instagram by "
|
79 |
+
"age"
|
80 |
+
msgstr ""
|
81 |
+
"Аккаунт не найден или для этого аккаунта действуют возрастные ограничения"
|
82 |
+
|
83 |
+
#: includes/class-wis_instagram_slider.php:250
|
84 |
+
msgid "Account:"
|
85 |
+
msgstr "Аккаунт:"
|
86 |
+
|
87 |
+
#: admin/views/tab-settings.php:51
|
88 |
+
msgid "Action"
|
89 |
+
msgstr "Действия"
|
90 |
+
|
91 |
+
#: admin/views/tab-license.php:11
|
92 |
+
#, php-format
|
93 |
+
msgid "Activate %s"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: admin/views/tab-license.php:84
|
97 |
+
msgid "active sites"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: admin/views/tab-settings.php:32 admin/views/tab-settings.php:36
|
101 |
+
msgid "Add Account"
|
102 |
+
msgstr "Добавить аккаунт"
|
103 |
+
|
104 |
+
#: includes/class-wis_instagram_slider.php:267
|
105 |
+
msgid "Add account in settings"
|
106 |
+
msgstr "Добавить аккаунт в настройках"
|
107 |
+
|
108 |
+
#: includes/class-wis-plugin.php:127
|
109 |
+
msgid "Are you sure want to delete this account?"
|
110 |
+
msgstr "Вы уверена, что хотите удалить этот аккаунт?"
|
111 |
+
|
112 |
+
#: includes/class-wis_instagram_slider.php:441
|
113 |
+
msgid "Attachment Page"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: admin/views/tab-about.php:149
|
117 |
+
msgid "BENEFITS"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: includes/class-wis_instagram_slider.php:275
|
121 |
+
msgid "Block Users"
|
122 |
+
msgstr "Заблокированные пользователи"
|
123 |
+
|
124 |
+
#: admin/views/tab-license.php:138
|
125 |
+
#, php-format
|
126 |
+
msgid ""
|
127 |
+
"Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
|
128 |
+
"this page</a> and login using the e-mail address associated with your "
|
129 |
+
"purchase."
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: includes/class-wis_instagram_slider.php:400
|
133 |
+
msgid "Caption"
|
134 |
+
msgstr "Заголовок"
|
135 |
+
|
136 |
+
#: includes/class-wis_instagram_slider.php:305
|
137 |
+
msgid "Check for new images every:"
|
138 |
+
msgstr "Проверять новые изображения каждые:"
|
139 |
+
|
140 |
+
#: includes/class-wis_instagram_slider.php:293
|
141 |
+
msgid "Count of images to show:"
|
142 |
+
msgstr "Кол-во изображений для показа:"
|
143 |
+
|
144 |
+
#. Author of the plugin
|
145 |
+
msgid "creativemotion"
|
146 |
+
msgstr "creativemotion"
|
147 |
+
|
148 |
+
#: includes/class-wis_instagram_slider.php:442
|
149 |
+
msgid "Custom Link"
|
150 |
+
msgstr "Произвольная ссылка"
|
151 |
+
|
152 |
+
#: includes/class-wis_instagram_slider.php:448
|
153 |
+
msgid "Custom link:"
|
154 |
+
msgstr "Произвольная ссылка:"
|
155 |
+
|
156 |
+
#: includes/class-wis_instagram_slider.php:427
|
157 |
+
msgid "Date - Ascending"
|
158 |
+
msgstr "Дата - по возрастанию"
|
159 |
+
|
160 |
+
#: includes/class-wis_instagram_slider.php:428
|
161 |
+
msgid "Date - Descending"
|
162 |
+
msgstr "Дата - по убыванию"
|
163 |
+
|
164 |
+
#: admin/views/tab-license.php:105
|
165 |
+
msgid "day(s)"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#: admin/views/tab-settings.php:72
|
169 |
+
msgid "Delete"
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: admin/views/tab-license.php:31
|
173 |
+
msgid "Delete Key"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: admin/views/tab-about.php:123
|
177 |
+
msgid ""
|
178 |
+
"Display Instagram feeds in widgets, posts, pages, or anywhere else using "
|
179 |
+
"shortcodes."
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: admin/views/tab-license.php:72
|
183 |
+
msgid "domain"
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
#: includes/class-wis_instagram_slider.php:384
|
187 |
+
msgid "Dotted"
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: includes/class-wis_instagram_slider.php:277
|
191 |
+
msgid "Enter usernames separated by commas whose images you don't want to show"
|
192 |
+
msgstr ""
|
193 |
+
"Введите имена пользователей, разделенные запятыми, изображения которых вы не "
|
194 |
+
"хотите показывать"
|
195 |
+
|
196 |
+
#: admin/views/tab-license.php:94
|
197 |
+
msgid "EXPIRED!"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
#: includes/class-wis_instagram_slider.php:389
|
201 |
+
msgid "Fade"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
#: admin/views/tab-about.php:128
|
205 |
+
msgid "FEATURES"
|
206 |
+
msgstr ""
|
207 |
+
|
208 |
+
#: admin/views/tab-about.php:200
|
209 |
+
msgid "FEEDBACK AND SUPPORT"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: includes/class-wis_instagram_slider.php:420
|
213 |
+
msgid "Full Size"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: admin/pages/settings.php:148
|
217 |
+
msgid "General"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: includes/class-wis_instagram_slider.php:272
|
221 |
+
msgid "Hashtag:"
|
222 |
+
msgstr "Хэштэг:"
|
223 |
+
|
224 |
+
#: admin/views/tab-license.php:120
|
225 |
+
msgid "Have a key to activate the plugin? Paste it here:"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: admin/views/tab-license.php:118
|
229 |
+
msgid "Have a key to activate the premium version? Paste it here:"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
#: includes/class-wis_instagram_slider.php:402
|
233 |
+
msgid ""
|
234 |
+
"Hold ctrl and click the fields you want to show/hide on your slider. Leave "
|
235 |
+
"all unselected to hide them all. Default all selected."
|
236 |
+
msgstr ""
|
237 |
+
|
238 |
+
#: includes/class-wis_instagram_slider.php:307
|
239 |
+
msgid "hours"
|
240 |
+
msgstr "часов"
|
241 |
+
|
242 |
+
#. Author URI of the plugin
|
243 |
+
msgid "https://cm-wp.com/"
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#. URI of the plugin
|
247 |
+
msgid "https://cm-wp.com/instagram-slider-widget"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: admin/views/tab-settings.php:47
|
251 |
+
msgid "ID"
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: admin/views/tab-settings.php:46
|
255 |
+
msgid "Image"
|
256 |
+
msgstr "Аватар"
|
257 |
+
|
258 |
+
#: includes/class-wis_instagram_slider.php:415
|
259 |
+
msgid "Image format"
|
260 |
+
msgstr "Формат изображения"
|
261 |
+
|
262 |
+
#: includes/class-wis_instagram_slider.php:440
|
263 |
+
msgid "Image URL"
|
264 |
+
msgstr "Ссылка на изображение"
|
265 |
+
|
266 |
+
#: includes/class-wis_instagram_slider.php:354
|
267 |
+
msgid "Image width:"
|
268 |
+
msgstr "Ширина изображения:"
|
269 |
+
|
270 |
+
#: admin/pages/settings.php:158
|
271 |
+
msgid "Instagram account"
|
272 |
+
msgstr ""
|
273 |
+
|
274 |
+
#: includes/class-wis_instagram_slider.php:438
|
275 |
+
msgid "Instagram Image"
|
276 |
+
msgstr "Страница поста"
|
277 |
+
|
278 |
+
#: admin/pages/settings.php:166
|
279 |
+
msgid "Instagram password"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: includes/class-wis_instagram_slider.php:439
|
283 |
+
msgid "Instagram Profile"
|
284 |
+
msgstr "Страница Инстаграм"
|
285 |
+
|
286 |
+
#: includes/class-wis_instagram_slider.php:1161
|
287 |
+
msgid ""
|
288 |
+
"Instagram requires authorization to view a user profile. Use autorized "
|
289 |
+
"account in widget settings"
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: admin/pages/license.php:90
|
293 |
+
msgid "License"
|
294 |
+
msgstr ""
|
295 |
+
|
296 |
+
#: admin/ajax/check-license.php:39
|
297 |
+
msgid ""
|
298 |
+
"License key is empty or license key too long (license key is 32 characters "
|
299 |
+
"long)"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: admin/pages/license.php:91
|
303 |
+
msgid "License of Social Slider Widget"
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
#: admin/ajax/check-license.php:27
|
307 |
+
msgid "Licensing action not passed or this action is prohibited!"
|
308 |
+
msgstr ""
|
309 |
+
|
310 |
+
#: includes/class-wis_instagram_slider.php:436
|
311 |
+
msgid "Link to"
|
312 |
+
msgstr "Ссылка на:"
|
313 |
+
|
314 |
+
#: includes/class-wis_instagram_slider.php:418
|
315 |
+
msgid "Low - 320x320"
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
#: includes/class-wis_instagram_slider.php:345
|
319 |
+
msgid "max is 10 ( only for thumbnails template )"
|
320 |
+
msgstr "максимум 10 (только для шаблона thumbnails)"
|
321 |
+
|
322 |
+
#: includes/class-wis_instagram_slider.php:297
|
323 |
+
msgid "Maximum 20 images in free version."
|
324 |
+
msgstr "Максимум 20 изображений в бесплатной версии"
|
325 |
+
|
326 |
+
#: includes/class-wis_instagram_slider.php:393
|
327 |
+
msgid "milliseconds"
|
328 |
+
msgstr "миллисекунд"
|
329 |
+
|
330 |
+
#: admin/views/tab-settings.php:33
|
331 |
+
#, php-format
|
332 |
+
msgid "More accounts in <a href='%s'>PRO version</a>"
|
333 |
+
msgstr "Больше аккаунтов в <a href='%s'>PRO версии</a>"
|
334 |
+
|
335 |
+
#: includes/class-wis_instagram_slider.php:298
|
336 |
+
#, php-format
|
337 |
+
msgid "More in <a href='%s'>PRO version</a>"
|
338 |
+
msgstr "Больше в <a href='%s'>PRO версии</a>"
|
339 |
+
|
340 |
+
#: admin/views/tab-settings.php:49
|
341 |
+
msgid "Name"
|
342 |
+
msgstr "Имя"
|
343 |
+
|
344 |
+
#: includes/class-wis_instagram_slider.php:1214
|
345 |
+
msgid "No images found"
|
346 |
+
msgstr ""
|
347 |
+
|
348 |
+
#: includes/class-wis_instagram_slider.php:688
|
349 |
+
msgid "No images found! <br> Try some other hashtag or username"
|
350 |
+
msgstr ""
|
351 |
+
|
352 |
+
#: includes/class-wis_instagram_slider.php:385
|
353 |
+
msgid "No Navigation"
|
354 |
+
msgstr ""
|
355 |
+
|
356 |
+
#: includes/class-wis_instagram_slider.php:443
|
357 |
+
msgid "None"
|
358 |
+
msgstr ""
|
359 |
+
|
360 |
+
#: includes/class-wis_instagram_slider.php:1100
|
361 |
+
msgid "Nothing to search for"
|
362 |
+
msgstr ""
|
363 |
+
|
364 |
+
#: includes/class-wis_instagram_slider.php:343
|
365 |
+
msgid "Number of Columns:"
|
366 |
+
msgstr "Кол-во колонок:"
|
367 |
+
|
368 |
+
#: includes/class-wis_instagram_slider.php:410
|
369 |
+
msgid "Number of words in caption:"
|
370 |
+
msgstr "Кол-во слов в тексте:"
|
371 |
+
|
372 |
+
#: admin/views/tab-license.php:82
|
373 |
+
msgid "of"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: includes/class-wis_instagram_slider.php:372
|
377 |
+
msgid "Offset"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: includes/class-wis_instagram_slider.php:425
|
381 |
+
msgid "Order by"
|
382 |
+
msgstr "Сортировка"
|
383 |
+
|
384 |
+
#: admin/pages/settings.php:168
|
385 |
+
msgid "Password of your Instagram account"
|
386 |
+
msgstr ""
|
387 |
+
|
388 |
+
#: includes/class-wis_instagram_slider.php:376
|
389 |
+
msgid "Pattern"
|
390 |
+
msgstr ""
|
391 |
+
|
392 |
+
#: includes/class-wis_instagram_slider.php:362
|
393 |
+
msgid "pictures"
|
394 |
+
msgstr "изображений"
|
395 |
+
|
396 |
+
#: includes/class-wis_instagram_slider.php:360
|
397 |
+
msgid "Pictures per slide:"
|
398 |
+
msgstr "Изображений на слайд:"
|
399 |
+
|
400 |
+
#: admin/views/tab-license.php:76
|
401 |
+
msgid "plan"
|
402 |
+
msgstr ""
|
403 |
+
|
404 |
+
#: admin/views/tab-license.php:95
|
405 |
+
msgid "please update the key"
|
406 |
+
msgstr ""
|
407 |
+
|
408 |
+
#: includes/class-wis_instagram_slider.php:429
|
409 |
+
msgid "Popularity - Ascending"
|
410 |
+
msgstr "Популярность - по возрастанию"
|
411 |
+
|
412 |
+
#: includes/class-wis_instagram_slider.php:430
|
413 |
+
msgid "Popularity - Descending"
|
414 |
+
msgstr "Популярность - по убыванию"
|
415 |
+
|
416 |
+
#: includes/class-wis_instagram_slider.php:383
|
417 |
+
msgid "Prev & Next"
|
418 |
+
msgstr ""
|
419 |
+
|
420 |
+
#: admin/views/tab-about.php:163
|
421 |
+
msgid "PRO VERSION"
|
422 |
+
msgstr ""
|
423 |
+
|
424 |
+
#: admin/views/tab-license.php:54
|
425 |
+
msgid ""
|
426 |
+
"Public License is a GPLv2 compatible license allowing you to change and use "
|
427 |
+
"this version of the plugin for free. Please keep in mind this license covers "
|
428 |
+
"only free edition of the plugin. Premium versions are distributed with other "
|
429 |
+
"type of a license."
|
430 |
+
msgstr ""
|
431 |
+
|
432 |
+
#: includes/class-wis_instagram_slider.php:351
|
433 |
+
#: includes/class-wis_instagram_slider.php:356
|
434 |
+
msgid "px"
|
435 |
+
msgstr ""
|
436 |
+
|
437 |
+
#: includes/class-wis_instagram_slider.php:431
|
438 |
+
msgid "Random"
|
439 |
+
msgstr "Рандом"
|
440 |
+
|
441 |
+
#: admin/views/tab-license.php:107
|
442 |
+
msgid "remained"
|
443 |
+
msgstr ""
|
444 |
+
|
445 |
+
#: includes/class-wis_instagram_slider.php:279
|
446 |
+
msgid "Save in Media Library: "
|
447 |
+
msgstr "Сохранять в медиабиблиотеке:"
|
448 |
+
|
449 |
+
#: includes/class-wis_instagram_slider.php:246
|
450 |
+
msgid "Search Instagram for:"
|
451 |
+
msgstr "Искать в Instagram по:"
|
452 |
+
|
453 |
+
#: admin/pages/settings.php:108
|
454 |
+
msgid "Settings"
|
455 |
+
msgstr "Настройки"
|
456 |
+
|
457 |
+
#: admin/pages/settings.php:107
|
458 |
+
msgid "Settings of Social Slider Widget"
|
459 |
+
msgstr "Настройки Social Slider Widget"
|
460 |
+
|
461 |
+
#: includes/class-wis_instagram_slider.php:486
|
462 |
+
msgid "Shortcode of this Widget:"
|
463 |
+
msgstr "Шорткод виджета:"
|
464 |
+
|
465 |
+
#: includes/class-wis_instagram_slider.php:311
|
466 |
+
msgid "Show feed header:"
|
467 |
+
msgstr "Отображать шапку:"
|
468 |
+
|
469 |
+
#: includes/class-wis_instagram_slider.php:388
|
470 |
+
msgid "Slide"
|
471 |
+
msgstr ""
|
472 |
+
|
473 |
+
#: includes/class-wis_instagram_slider.php:391
|
474 |
+
msgid "Slide Speed:"
|
475 |
+
msgstr ""
|
476 |
+
|
477 |
+
#: includes/class-wis_instagram_slider.php:387
|
478 |
+
msgid "Slider Animation:"
|
479 |
+
msgstr ""
|
480 |
+
|
481 |
+
#: includes/class-wis_instagram_slider.php:382
|
482 |
+
msgid "Slider Navigation Controls:"
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: includes/class-wis_instagram_slider.php:396
|
486 |
+
msgid "Slider Text Description:"
|
487 |
+
msgstr ""
|
488 |
+
|
489 |
+
#: includes/class-wis_instagram_slider.php:40
|
490 |
+
#: includes/class-wis_instagram_slider.php:204
|
491 |
+
msgid "Social Slider"
|
492 |
+
msgstr ""
|
493 |
+
|
494 |
+
#: includes/class-wis_instagram_slider.php:92
|
495 |
+
msgid "Social Slider - Shortcode Generator"
|
496 |
+
msgstr ""
|
497 |
+
|
498 |
+
#. Name of the plugin
|
499 |
+
#: instaram_slider.php:26 admin/views/tab-about.php:122
|
500 |
+
msgid "Social Slider Widget"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#. Description of the plugin
|
504 |
+
msgid ""
|
505 |
+
"Social Slider Widget is a responsive slider widget that shows 12 latest "
|
506 |
+
"images from a public Instagram user and up to 18 images from a hashtag."
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#: admin/pages/widgets.php:107 admin/pages/widgets.php:108
|
510 |
+
msgid "Social Slider Widgets"
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#: includes/class-wis_instagram_slider.php:365
|
514 |
+
msgid "Space between pictures:"
|
515 |
+
msgstr "Расстояние между изображениями:"
|
516 |
+
|
517 |
+
#: includes/class-wis_instagram_slider.php:419
|
518 |
+
msgid "Standard - 640x640"
|
519 |
+
msgstr ""
|
520 |
+
|
521 |
+
#: admin/views/tab-license.php:126
|
522 |
+
msgid "Submit Key"
|
523 |
+
msgstr ""
|
524 |
+
|
525 |
+
#: admin/ajax/check-license.php:55
|
526 |
+
msgid "Subscription success cancelled"
|
527 |
+
msgstr ""
|
528 |
+
|
529 |
+
#: admin/views/tab-license.php:35
|
530 |
+
msgid "Synchronization"
|
531 |
+
msgstr ""
|
532 |
+
|
533 |
+
#: includes/class-wis_instagram_slider.php:318
|
534 |
+
msgid "Template"
|
535 |
+
msgstr "Шаблон"
|
536 |
+
|
537 |
+
#: admin/ajax/check-license.php:51
|
538 |
+
msgid "The license has been updated"
|
539 |
+
msgstr ""
|
540 |
+
|
541 |
+
#: admin/ajax/check-license.php:47
|
542 |
+
msgid "The license is deactivated"
|
543 |
+
msgstr ""
|
544 |
+
|
545 |
+
#: includes/class-wis_instagram_slider.php:1182
|
546 |
+
msgid "There are no publications in this account yet"
|
547 |
+
msgstr ""
|
548 |
+
|
549 |
+
#: includes/class-wis_instagram_slider.php:417
|
550 |
+
msgid "Thumbnail - 150x150"
|
551 |
+
msgstr ""
|
552 |
+
|
553 |
+
#: includes/class-wis_instagram_slider.php:399
|
554 |
+
msgid "Time"
|
555 |
+
msgstr ""
|
556 |
+
|
557 |
+
#: includes/class-wis_instagram_slider.php:242
|
558 |
+
msgid "Title:"
|
559 |
+
msgstr "Заголовок:"
|
560 |
+
|
561 |
+
#: admin/views/tab-settings.php:50
|
562 |
+
msgid "Token"
|
563 |
+
msgstr "Токен"
|
564 |
+
|
565 |
+
#: admin/views/tab-license.php:22
|
566 |
+
#, php-format
|
567 |
+
msgid "Upgrade to Premium for $%s"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: includes/class-wis_instagram_slider.php:488
|
571 |
+
msgid ""
|
572 |
+
"Use this shortcode in any page or post to display images with this widget "
|
573 |
+
"configuration!"
|
574 |
+
msgstr ""
|
575 |
+
"Используйте этот шорткод на любой странице или посте для отображения "
|
576 |
+
"изображений с этой конфигурацией виджета."
|
577 |
+
|
578 |
+
#: admin/views/tab-settings.php:48
|
579 |
+
msgid "User"
|
580 |
+
msgstr "Аккаунт"
|
581 |
+
|
582 |
+
#: includes/class-wis_instagram_slider.php:398
|
583 |
+
msgid "Username"
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: admin/pages/settings.php:160
|
587 |
+
msgid "Username of your Instagram account"
|
588 |
+
msgstr ""
|
589 |
+
|
590 |
+
#: includes/class-wis_instagram_slider.php:271
|
591 |
+
msgid "Username:"
|
592 |
+
msgstr "Имя аккаунта:"
|
593 |
+
|
594 |
+
#: admin/views/tab-license.php:89
|
595 |
+
msgid "version"
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
+
#: includes/class-wis_instagram_slider.php:349
|
599 |
+
msgid "Vertical space between item elements:"
|
600 |
+
msgstr "Вертикальное расстояние между элементами:"
|
601 |
+
|
602 |
+
#: admin/views/tab-about.php:209
|
603 |
+
msgid "WHY DO YOU NEED IT?"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: admin/pages/widgets.php:109
|
607 |
+
msgid "Widgets"
|
608 |
+
msgstr "Виджеты"
|
609 |
+
|
610 |
+
#: includes/class-wis_instagram_slider.php:272
|
611 |
+
msgid "without # sign"
|
612 |
+
msgstr "без #"
|
613 |
+
|
614 |
+
#: admin/views/tab-settings.php:21
|
615 |
+
msgid ""
|
616 |
+
"Without authorization Instagram limits the number of requests, and after "
|
617 |
+
"exceeding the limit asks to log in, so an error is displayed that no images "
|
618 |
+
"were found."
|
619 |
+
msgstr ""
|
620 |
+
"Без авторизации Instagram ограничивает количество запросов, а после "
|
621 |
+
"превышения лимита просит войти в систему, поэтому выводится сообщение, что "
|
622 |
+
"изображения не найдены."
|
623 |
+
|
624 |
+
#: admin/views/tab-license.php:58
|
625 |
+
msgid ""
|
626 |
+
"You use a paid subscription for the plugin updates. In case you don’t want "
|
627 |
+
"to receive paid updates, please, click <a data-action=\"unsubscribe\" "
|
628 |
+
"class=\"wis-control-btn\" href=\"#\">cancel subscription</a>"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: admin/views/tab-license.php:25
|
632 |
+
#, php-format
|
633 |
+
msgid "Your current license for %1$s:"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: admin/ajax/check-license.php:42
|
637 |
+
msgid "Your license has been successfully activated"
|
638 |
+
msgstr ""
|
639 |
+
|
640 |
+
#: admin/views/tab-license.php:64
|
641 |
+
msgid ""
|
642 |
+
"Your license has expired, please extend the license to get updates and "
|
643 |
+
"support."
|
644 |
+
msgstr ""
|
languages/instagram-slider-widget.pot
CHANGED
@@ -1,629 +1,629 @@
|
|
1 |
-
#, fuzzy
|
2 |
-
msgid ""
|
3 |
-
msgstr ""
|
4 |
-
"Project-Id-Version: Social Slider Widget\n"
|
5 |
-
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2019-11-08 05:43+0000\n"
|
7 |
-
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
-
"Language-Team: \n"
|
10 |
-
"Language: \n"
|
11 |
-
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
-
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Loco https://localise.biz/\n"
|
16 |
-
"X-Loco-Version: 2.3.1; wp-5.2.4"
|
17 |
-
|
18 |
-
#: includes/class-wis_instagram_slider.php:283
|
19 |
-
msgid " Turn on to save Instagram Images into WordPress media library."
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: includes/class-wis_instagram_slider.php:450
|
23 |
-
msgid ""
|
24 |
-
"* use this field only if the above option is set to <strong>Custom "
|
25 |
-
"Link</strong>"
|
26 |
-
msgstr ""
|
27 |
-
|
28 |
-
#: includes/class-wis_instagram_slider.php:94
|
29 |
-
msgid ""
|
30 |
-
"1. Drag Social Slider Widget here. 2. Fill in the fields and hit save. 3. "
|
31 |
-
"Copy the shortocde generated at the bottom of the widget form and use it on "
|
32 |
-
"posts or pages."
|
33 |
-
msgstr ""
|
34 |
-
|
35 |
-
#: includes/class-wis_instagram_slider.php:394
|
36 |
-
msgid "1000 milliseconds = 1 second"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: admin/views/tab-license.php:134
|
40 |
-
#, php-format
|
41 |
-
msgid ""
|
42 |
-
"<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
|
43 |
-
"premium version and get the license key to activate it now!"
|
44 |
-
msgstr ""
|
45 |
-
|
46 |
-
#: includes/class-wis_instagram_slider.php:422
|
47 |
-
msgid ""
|
48 |
-
"<strong>Square - Cropped</strong> - option will show square cropped images "
|
49 |
-
"in 640x640 pixels. <br/><strong>Original - No Crop</strong> - will display "
|
50 |
-
"the original user uploaded image size."
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: includes/class-wis_instagram_slider.php:42
|
54 |
-
msgid "A widget that displays a slider with instagram images "
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: admin/pages/about.php:44
|
58 |
-
msgid "About"
|
59 |
-
msgstr ""
|
60 |
-
|
61 |
-
#: admin/pages/about.php:43
|
62 |
-
msgid "About Social Slider Widget"
|
63 |
-
msgstr ""
|
64 |
-
|
65 |
-
#: includes/class-wis_instagram_slider.php:1552
|
66 |
-
msgid "Account deleted successfully"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: includes/class-wis_instagram_slider.php:1131
|
70 |
-
msgid ""
|
71 |
-
"Account not found or for this account there are restrictions on Instagram by "
|
72 |
-
"age"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: includes/class-wis_instagram_slider.php:250
|
76 |
-
msgid "Account:"
|
77 |
-
msgstr ""
|
78 |
-
|
79 |
-
#: admin/views/tab-settings.php:51
|
80 |
-
msgid "Action"
|
81 |
-
msgstr ""
|
82 |
-
|
83 |
-
#: admin/views/tab-license.php:11
|
84 |
-
#, php-format
|
85 |
-
msgid "Activate %s"
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: admin/views/tab-license.php:84
|
89 |
-
msgid "active sites"
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: admin/views/tab-settings.php:32 admin/views/tab-settings.php:36
|
93 |
-
msgid "Add Account"
|
94 |
-
msgstr ""
|
95 |
-
|
96 |
-
#: includes/class-wis_instagram_slider.php:267
|
97 |
-
msgid "Add account in settings"
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
-
#: includes/class-wis-plugin.php:127
|
101 |
-
msgid "Are you sure want to delete this account?"
|
102 |
-
msgstr ""
|
103 |
-
|
104 |
-
#: includes/class-wis_instagram_slider.php:441
|
105 |
-
msgid "Attachment Page"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: admin/views/tab-about.php:149
|
109 |
-
msgid "BENEFITS"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: includes/class-wis_instagram_slider.php:275
|
113 |
-
msgid "Block Users"
|
114 |
-
msgstr ""
|
115 |
-
|
116 |
-
#: admin/views/tab-license.php:138
|
117 |
-
#, php-format
|
118 |
-
msgid ""
|
119 |
-
"Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
|
120 |
-
"this page</a> and login using the e-mail address associated with your "
|
121 |
-
"purchase."
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: includes/class-wis_instagram_slider.php:400
|
125 |
-
msgid "Caption"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: includes/class-wis_instagram_slider.php:305
|
129 |
-
msgid "Check for new images every:"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: includes/class-wis_instagram_slider.php:293
|
133 |
-
msgid "Count of images to show:"
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#. Author of the plugin
|
137 |
-
msgid "creativemotion"
|
138 |
-
msgstr ""
|
139 |
-
|
140 |
-
#: includes/class-wis_instagram_slider.php:442
|
141 |
-
msgid "Custom Link"
|
142 |
-
msgstr ""
|
143 |
-
|
144 |
-
#: includes/class-wis_instagram_slider.php:448
|
145 |
-
msgid "Custom link:"
|
146 |
-
msgstr ""
|
147 |
-
|
148 |
-
#: includes/class-wis_instagram_slider.php:427
|
149 |
-
msgid "Date - Ascending"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: includes/class-wis_instagram_slider.php:428
|
153 |
-
msgid "Date - Descending"
|
154 |
-
msgstr ""
|
155 |
-
|
156 |
-
#: admin/views/tab-license.php:105
|
157 |
-
msgid "day(s)"
|
158 |
-
msgstr ""
|
159 |
-
|
160 |
-
#: admin/views/tab-settings.php:72
|
161 |
-
msgid "Delete"
|
162 |
-
msgstr ""
|
163 |
-
|
164 |
-
#: admin/views/tab-license.php:31
|
165 |
-
msgid "Delete Key"
|
166 |
-
msgstr ""
|
167 |
-
|
168 |
-
#: admin/views/tab-about.php:123
|
169 |
-
msgid ""
|
170 |
-
"Display Instagram feeds in widgets, posts, pages, or anywhere else using "
|
171 |
-
"shortcodes."
|
172 |
-
msgstr ""
|
173 |
-
|
174 |
-
#: admin/views/tab-license.php:72
|
175 |
-
msgid "domain"
|
176 |
-
msgstr ""
|
177 |
-
|
178 |
-
#: includes/class-wis_instagram_slider.php:384
|
179 |
-
msgid "Dotted"
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#: includes/class-wis_instagram_slider.php:277
|
183 |
-
msgid "Enter usernames separated by commas whose images you don't want to show"
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: admin/views/tab-license.php:94
|
187 |
-
msgid "EXPIRED!"
|
188 |
-
msgstr ""
|
189 |
-
|
190 |
-
#: includes/class-wis_instagram_slider.php:389
|
191 |
-
msgid "Fade"
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: admin/views/tab-about.php:128
|
195 |
-
msgid "FEATURES"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: admin/views/tab-about.php:200
|
199 |
-
msgid "FEEDBACK AND SUPPORT"
|
200 |
-
msgstr ""
|
201 |
-
|
202 |
-
#: includes/class-wis_instagram_slider.php:420
|
203 |
-
msgid "Full Size"
|
204 |
-
msgstr ""
|
205 |
-
|
206 |
-
#: admin/pages/settings.php:148
|
207 |
-
msgid "General"
|
208 |
-
msgstr ""
|
209 |
-
|
210 |
-
#: includes/class-wis_instagram_slider.php:272
|
211 |
-
msgid "Hashtag:"
|
212 |
-
msgstr ""
|
213 |
-
|
214 |
-
#: admin/views/tab-license.php:120
|
215 |
-
msgid "Have a key to activate the plugin? Paste it here:"
|
216 |
-
msgstr ""
|
217 |
-
|
218 |
-
#: admin/views/tab-license.php:118
|
219 |
-
msgid "Have a key to activate the premium version? Paste it here:"
|
220 |
-
msgstr ""
|
221 |
-
|
222 |
-
#: includes/class-wis_instagram_slider.php:402
|
223 |
-
msgid ""
|
224 |
-
"Hold ctrl and click the fields you want to show/hide on your slider. Leave "
|
225 |
-
"all unselected to hide them all. Default all selected."
|
226 |
-
msgstr ""
|
227 |
-
|
228 |
-
#: includes/class-wis_instagram_slider.php:307
|
229 |
-
msgid "hours"
|
230 |
-
msgstr ""
|
231 |
-
|
232 |
-
#. Author URI of the plugin
|
233 |
-
msgid "https://cm-wp.com/"
|
234 |
-
msgstr ""
|
235 |
-
|
236 |
-
#. URI of the plugin
|
237 |
-
msgid "https://cm-wp.com/instagram-slider-widget"
|
238 |
-
msgstr ""
|
239 |
-
|
240 |
-
#: admin/views/tab-settings.php:47
|
241 |
-
msgid "ID"
|
242 |
-
msgstr ""
|
243 |
-
|
244 |
-
#: admin/views/tab-settings.php:46
|
245 |
-
msgid "Image"
|
246 |
-
msgstr ""
|
247 |
-
|
248 |
-
#: includes/class-wis_instagram_slider.php:415
|
249 |
-
msgid "Image format"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: includes/class-wis_instagram_slider.php:440
|
253 |
-
msgid "Image URL"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: includes/class-wis_instagram_slider.php:354
|
257 |
-
msgid "Image width:"
|
258 |
-
msgstr ""
|
259 |
-
|
260 |
-
#: admin/pages/settings.php:158
|
261 |
-
msgid "Instagram account"
|
262 |
-
msgstr ""
|
263 |
-
|
264 |
-
#: includes/class-wis_instagram_slider.php:438
|
265 |
-
msgid "Instagram Image"
|
266 |
-
msgstr ""
|
267 |
-
|
268 |
-
#: admin/pages/settings.php:166
|
269 |
-
msgid "Instagram password"
|
270 |
-
msgstr ""
|
271 |
-
|
272 |
-
#: includes/class-wis_instagram_slider.php:439
|
273 |
-
msgid "Instagram Profile"
|
274 |
-
msgstr ""
|
275 |
-
|
276 |
-
#: includes/class-wis_instagram_slider.php:1161
|
277 |
-
msgid ""
|
278 |
-
"Instagram requires authorization to view a user profile. Use autorized "
|
279 |
-
"account in widget settings"
|
280 |
-
msgstr ""
|
281 |
-
|
282 |
-
#: admin/pages/license.php:90
|
283 |
-
msgid "License"
|
284 |
-
msgstr ""
|
285 |
-
|
286 |
-
#: admin/ajax/check-license.php:39
|
287 |
-
msgid ""
|
288 |
-
"License key is empty or license key too long (license key is 32 characters "
|
289 |
-
"long)"
|
290 |
-
msgstr ""
|
291 |
-
|
292 |
-
#: admin/pages/license.php:91
|
293 |
-
msgid "License of Social Slider Widget"
|
294 |
-
msgstr ""
|
295 |
-
|
296 |
-
#: admin/ajax/check-license.php:27
|
297 |
-
msgid "Licensing action not passed or this action is prohibited!"
|
298 |
-
msgstr ""
|
299 |
-
|
300 |
-
#: includes/class-wis_instagram_slider.php:436
|
301 |
-
msgid "Link to"
|
302 |
-
msgstr ""
|
303 |
-
|
304 |
-
#: includes/class-wis_instagram_slider.php:418
|
305 |
-
msgid "Low - 320x320"
|
306 |
-
msgstr ""
|
307 |
-
|
308 |
-
#: includes/class-wis_instagram_slider.php:345
|
309 |
-
msgid "max is 10 ( only for thumbnails template )"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: includes/class-wis_instagram_slider.php:297
|
313 |
-
msgid "Maximum 20 images in free version."
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: includes/class-wis_instagram_slider.php:393
|
317 |
-
msgid "milliseconds"
|
318 |
-
msgstr ""
|
319 |
-
|
320 |
-
#: admin/views/tab-settings.php:33
|
321 |
-
#, php-format
|
322 |
-
msgid "More accounts in <a href='%s'>PRO version</a>"
|
323 |
-
msgstr ""
|
324 |
-
|
325 |
-
#: includes/class-wis_instagram_slider.php:298
|
326 |
-
#, php-format
|
327 |
-
msgid "More in <a href='%s'>PRO version</a>"
|
328 |
-
msgstr ""
|
329 |
-
|
330 |
-
#: admin/views/tab-settings.php:49
|
331 |
-
msgid "Name"
|
332 |
-
msgstr ""
|
333 |
-
|
334 |
-
#: includes/class-wis_instagram_slider.php:1214
|
335 |
-
msgid "No images found"
|
336 |
-
msgstr ""
|
337 |
-
|
338 |
-
#: includes/class-wis_instagram_slider.php:688
|
339 |
-
msgid "No images found! <br> Try some other hashtag or username"
|
340 |
-
msgstr ""
|
341 |
-
|
342 |
-
#: includes/class-wis_instagram_slider.php:385
|
343 |
-
msgid "No Navigation"
|
344 |
-
msgstr ""
|
345 |
-
|
346 |
-
#: includes/class-wis_instagram_slider.php:443
|
347 |
-
msgid "None"
|
348 |
-
msgstr ""
|
349 |
-
|
350 |
-
#: includes/class-wis_instagram_slider.php:1100
|
351 |
-
msgid "Nothing to search for"
|
352 |
-
msgstr ""
|
353 |
-
|
354 |
-
#: includes/class-wis_instagram_slider.php:343
|
355 |
-
msgid "Number of Columns:"
|
356 |
-
msgstr ""
|
357 |
-
|
358 |
-
#: includes/class-wis_instagram_slider.php:410
|
359 |
-
msgid "Number of words in caption:"
|
360 |
-
msgstr ""
|
361 |
-
|
362 |
-
#: admin/views/tab-license.php:82
|
363 |
-
msgid "of"
|
364 |
-
msgstr ""
|
365 |
-
|
366 |
-
#: includes/class-wis_instagram_slider.php:372
|
367 |
-
msgid "Offset"
|
368 |
-
msgstr ""
|
369 |
-
|
370 |
-
#: includes/class-wis_instagram_slider.php:425
|
371 |
-
msgid "Order by"
|
372 |
-
msgstr ""
|
373 |
-
|
374 |
-
#: admin/pages/settings.php:168
|
375 |
-
msgid "Password of your Instagram account"
|
376 |
-
msgstr ""
|
377 |
-
|
378 |
-
#: includes/class-wis_instagram_slider.php:376
|
379 |
-
msgid "Pattern"
|
380 |
-
msgstr ""
|
381 |
-
|
382 |
-
#: includes/class-wis_instagram_slider.php:362
|
383 |
-
msgid "pictures"
|
384 |
-
msgstr ""
|
385 |
-
|
386 |
-
#: includes/class-wis_instagram_slider.php:360
|
387 |
-
msgid "Pictures per slide:"
|
388 |
-
msgstr ""
|
389 |
-
|
390 |
-
#: admin/views/tab-license.php:76
|
391 |
-
msgid "plan"
|
392 |
-
msgstr ""
|
393 |
-
|
394 |
-
#: admin/views/tab-license.php:95
|
395 |
-
msgid "please update the key"
|
396 |
-
msgstr ""
|
397 |
-
|
398 |
-
#: includes/class-wis_instagram_slider.php:429
|
399 |
-
msgid "Popularity - Ascending"
|
400 |
-
msgstr ""
|
401 |
-
|
402 |
-
#: includes/class-wis_instagram_slider.php:430
|
403 |
-
msgid "Popularity - Descending"
|
404 |
-
msgstr ""
|
405 |
-
|
406 |
-
#: includes/class-wis_instagram_slider.php:383
|
407 |
-
msgid "Prev & Next"
|
408 |
-
msgstr ""
|
409 |
-
|
410 |
-
#: admin/views/tab-about.php:163
|
411 |
-
msgid "PRO VERSION"
|
412 |
-
msgstr ""
|
413 |
-
|
414 |
-
#: admin/views/tab-license.php:54
|
415 |
-
msgid ""
|
416 |
-
"Public License is a GPLv2 compatible license allowing you to change and use "
|
417 |
-
"this version of the plugin for free. Please keep in mind this license covers "
|
418 |
-
"only free edition of the plugin. Premium versions are distributed with other "
|
419 |
-
"type of a license."
|
420 |
-
msgstr ""
|
421 |
-
|
422 |
-
#: includes/class-wis_instagram_slider.php:351
|
423 |
-
#: includes/class-wis_instagram_slider.php:356
|
424 |
-
msgid "px"
|
425 |
-
msgstr ""
|
426 |
-
|
427 |
-
#: includes/class-wis_instagram_slider.php:431
|
428 |
-
msgid "Random"
|
429 |
-
msgstr ""
|
430 |
-
|
431 |
-
#: admin/views/tab-license.php:107
|
432 |
-
msgid "remained"
|
433 |
-
msgstr ""
|
434 |
-
|
435 |
-
#: includes/class-wis_instagram_slider.php:279
|
436 |
-
msgid "Save in Media Library: "
|
437 |
-
msgstr ""
|
438 |
-
|
439 |
-
#: includes/class-wis_instagram_slider.php:246
|
440 |
-
msgid "Search Instagram for:"
|
441 |
-
msgstr ""
|
442 |
-
|
443 |
-
#: admin/pages/settings.php:108
|
444 |
-
msgid "Settings"
|
445 |
-
msgstr ""
|
446 |
-
|
447 |
-
#: admin/pages/settings.php:107
|
448 |
-
msgid "Settings of Social Slider Widget"
|
449 |
-
msgstr ""
|
450 |
-
|
451 |
-
#: includes/class-wis_instagram_slider.php:486
|
452 |
-
msgid "Shortcode of this Widget:"
|
453 |
-
msgstr ""
|
454 |
-
|
455 |
-
#: includes/class-wis_instagram_slider.php:311
|
456 |
-
msgid "Show feed header:"
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: includes/class-wis_instagram_slider.php:388
|
460 |
-
msgid "Slide"
|
461 |
-
msgstr ""
|
462 |
-
|
463 |
-
#: includes/class-wis_instagram_slider.php:391
|
464 |
-
msgid "Slide Speed:"
|
465 |
-
msgstr ""
|
466 |
-
|
467 |
-
#: includes/class-wis_instagram_slider.php:387
|
468 |
-
msgid "Slider Animation:"
|
469 |
-
msgstr ""
|
470 |
-
|
471 |
-
#: includes/class-wis_instagram_slider.php:382
|
472 |
-
msgid "Slider Navigation Controls:"
|
473 |
-
msgstr ""
|
474 |
-
|
475 |
-
#: includes/class-wis_instagram_slider.php:396
|
476 |
-
msgid "Slider Text Description:"
|
477 |
-
msgstr ""
|
478 |
-
|
479 |
-
#: includes/class-wis_instagram_slider.php:40
|
480 |
-
#: includes/class-wis_instagram_slider.php:204
|
481 |
-
msgid "Social Slider"
|
482 |
-
msgstr ""
|
483 |
-
|
484 |
-
#: includes/class-wis_instagram_slider.php:92
|
485 |
-
msgid "Social Slider - Shortcode Generator"
|
486 |
-
msgstr ""
|
487 |
-
|
488 |
-
#. Name of the plugin
|
489 |
-
#: instaram_slider.php:26 admin/views/tab-about.php:122
|
490 |
-
msgid "Social Slider Widget"
|
491 |
-
msgstr ""
|
492 |
-
|
493 |
-
#. Description of the plugin
|
494 |
-
msgid ""
|
495 |
-
"Social Slider Widget is a responsive slider widget that shows 12 latest "
|
496 |
-
"images from a public Instagram user and up to 18 images from a hashtag."
|
497 |
-
msgstr ""
|
498 |
-
|
499 |
-
#: admin/pages/widgets.php:107 admin/pages/widgets.php:108
|
500 |
-
msgid "Social Slider Widgets"
|
501 |
-
msgstr ""
|
502 |
-
|
503 |
-
#: includes/class-wis_instagram_slider.php:365
|
504 |
-
msgid "Space between pictures:"
|
505 |
-
msgstr ""
|
506 |
-
|
507 |
-
#: includes/class-wis_instagram_slider.php:419
|
508 |
-
msgid "Standard - 640x640"
|
509 |
-
msgstr ""
|
510 |
-
|
511 |
-
#: admin/views/tab-license.php:126
|
512 |
-
msgid "Submit Key"
|
513 |
-
msgstr ""
|
514 |
-
|
515 |
-
#: admin/ajax/check-license.php:55
|
516 |
-
msgid "Subscription success cancelled"
|
517 |
-
msgstr ""
|
518 |
-
|
519 |
-
#: admin/views/tab-license.php:35
|
520 |
-
msgid "Synchronization"
|
521 |
-
msgstr ""
|
522 |
-
|
523 |
-
#: includes/class-wis_instagram_slider.php:318
|
524 |
-
msgid "Template"
|
525 |
-
msgstr ""
|
526 |
-
|
527 |
-
#: admin/ajax/check-license.php:51
|
528 |
-
msgid "The license has been updated"
|
529 |
-
msgstr ""
|
530 |
-
|
531 |
-
#: admin/ajax/check-license.php:47
|
532 |
-
msgid "The license is deactivated"
|
533 |
-
msgstr ""
|
534 |
-
|
535 |
-
#: includes/class-wis_instagram_slider.php:1182
|
536 |
-
msgid "There are no publications in this account yet"
|
537 |
-
msgstr ""
|
538 |
-
|
539 |
-
#: includes/class-wis_instagram_slider.php:417
|
540 |
-
msgid "Thumbnail - 150x150"
|
541 |
-
msgstr ""
|
542 |
-
|
543 |
-
#: includes/class-wis_instagram_slider.php:399
|
544 |
-
msgid "Time"
|
545 |
-
msgstr ""
|
546 |
-
|
547 |
-
#: includes/class-wis_instagram_slider.php:242
|
548 |
-
msgid "Title:"
|
549 |
-
msgstr ""
|
550 |
-
|
551 |
-
#: admin/views/tab-settings.php:50
|
552 |
-
msgid "Token"
|
553 |
-
msgstr ""
|
554 |
-
|
555 |
-
#: admin/views/tab-license.php:22
|
556 |
-
#, php-format
|
557 |
-
msgid "Upgrade to Premium for $%s"
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: includes/class-wis_instagram_slider.php:488
|
561 |
-
msgid ""
|
562 |
-
"Use this shortcode in any page or post to display images with this widget "
|
563 |
-
"configuration!"
|
564 |
-
msgstr ""
|
565 |
-
|
566 |
-
#: admin/views/tab-settings.php:48
|
567 |
-
msgid "User"
|
568 |
-
msgstr ""
|
569 |
-
|
570 |
-
#: includes/class-wis_instagram_slider.php:398
|
571 |
-
msgid "Username"
|
572 |
-
msgstr ""
|
573 |
-
|
574 |
-
#: admin/pages/settings.php:160
|
575 |
-
msgid "Username of your Instagram account"
|
576 |
-
msgstr ""
|
577 |
-
|
578 |
-
#: includes/class-wis_instagram_slider.php:271
|
579 |
-
msgid "Username:"
|
580 |
-
msgstr ""
|
581 |
-
|
582 |
-
#: admin/views/tab-license.php:89
|
583 |
-
msgid "version"
|
584 |
-
msgstr ""
|
585 |
-
|
586 |
-
#: includes/class-wis_instagram_slider.php:349
|
587 |
-
msgid "Vertical space between item elements:"
|
588 |
-
msgstr ""
|
589 |
-
|
590 |
-
#: admin/views/tab-about.php:209
|
591 |
-
msgid "WHY DO YOU NEED IT?"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: admin/pages/widgets.php:109
|
595 |
-
msgid "Widgets"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: includes/class-wis_instagram_slider.php:272
|
599 |
-
msgid "without # sign"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: admin/views/tab-settings.php:21
|
603 |
-
msgid ""
|
604 |
-
"Without authorization Instagram limits the number of requests, and after "
|
605 |
-
"exceeding the limit asks to log in, so an error is displayed that no images "
|
606 |
-
"were found."
|
607 |
-
msgstr ""
|
608 |
-
|
609 |
-
#: admin/views/tab-license.php:58
|
610 |
-
msgid ""
|
611 |
-
"You use a paid subscription for the plugin updates. In case you don’t want "
|
612 |
-
"to receive paid updates, please, click <a data-action=\"unsubscribe\" "
|
613 |
-
"class=\"wis-control-btn\" href=\"#\">cancel subscription</a>"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: admin/views/tab-license.php:25
|
617 |
-
#, php-format
|
618 |
-
msgid "Your current license for %1$s:"
|
619 |
-
msgstr ""
|
620 |
-
|
621 |
-
#: admin/ajax/check-license.php:42
|
622 |
-
msgid "Your license has been successfully activated"
|
623 |
-
msgstr ""
|
624 |
-
|
625 |
-
#: admin/views/tab-license.php:64
|
626 |
-
msgid ""
|
627 |
-
"Your license has expired, please extend the license to get updates and "
|
628 |
-
"support."
|
629 |
-
msgstr ""
|
1 |
+
#, fuzzy
|
2 |
+
msgid ""
|
3 |
+
msgstr ""
|
4 |
+
"Project-Id-Version: Social Slider Widget\n"
|
5 |
+
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2019-11-08 05:43+0000\n"
|
7 |
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
+
"Language-Team: \n"
|
10 |
+
"Language: \n"
|
11 |
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Loco https://localise.biz/\n"
|
16 |
+
"X-Loco-Version: 2.3.1; wp-5.2.4"
|
17 |
+
|
18 |
+
#: includes/class-wis_instagram_slider.php:283
|
19 |
+
msgid " Turn on to save Instagram Images into WordPress media library."
|
20 |
+
msgstr ""
|
21 |
+
|
22 |
+
#: includes/class-wis_instagram_slider.php:450
|
23 |
+
msgid ""
|
24 |
+
"* use this field only if the above option is set to <strong>Custom "
|
25 |
+
"Link</strong>"
|
26 |
+
msgstr ""
|
27 |
+
|
28 |
+
#: includes/class-wis_instagram_slider.php:94
|
29 |
+
msgid ""
|
30 |
+
"1. Drag Social Slider Widget here. 2. Fill in the fields and hit save. 3. "
|
31 |
+
"Copy the shortocde generated at the bottom of the widget form and use it on "
|
32 |
+
"posts or pages."
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: includes/class-wis_instagram_slider.php:394
|
36 |
+
msgid "1000 milliseconds = 1 second"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: admin/views/tab-license.php:134
|
40 |
+
#, php-format
|
41 |
+
msgid ""
|
42 |
+
"<a href=\"%s\" target=\"_blank\" rel=\"noopener\">Lean more</a> about the "
|
43 |
+
"premium version and get the license key to activate it now!"
|
44 |
+
msgstr ""
|
45 |
+
|
46 |
+
#: includes/class-wis_instagram_slider.php:422
|
47 |
+
msgid ""
|
48 |
+
"<strong>Square - Cropped</strong> - option will show square cropped images "
|
49 |
+
"in 640x640 pixels. <br/><strong>Original - No Crop</strong> - will display "
|
50 |
+
"the original user uploaded image size."
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#: includes/class-wis_instagram_slider.php:42
|
54 |
+
msgid "A widget that displays a slider with instagram images "
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: admin/pages/about.php:44
|
58 |
+
msgid "About"
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: admin/pages/about.php:43
|
62 |
+
msgid "About Social Slider Widget"
|
63 |
+
msgstr ""
|
64 |
+
|
65 |
+
#: includes/class-wis_instagram_slider.php:1552
|
66 |
+
msgid "Account deleted successfully"
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
#: includes/class-wis_instagram_slider.php:1131
|
70 |
+
msgid ""
|
71 |
+
"Account not found or for this account there are restrictions on Instagram by "
|
72 |
+
"age"
|
73 |
+
msgstr ""
|
74 |
+
|
75 |
+
#: includes/class-wis_instagram_slider.php:250
|
76 |
+
msgid "Account:"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: admin/views/tab-settings.php:51
|
80 |
+
msgid "Action"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#: admin/views/tab-license.php:11
|
84 |
+
#, php-format
|
85 |
+
msgid "Activate %s"
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: admin/views/tab-license.php:84
|
89 |
+
msgid "active sites"
|
90 |
+
msgstr ""
|
91 |
+
|
92 |
+
#: admin/views/tab-settings.php:32 admin/views/tab-settings.php:36
|
93 |
+
msgid "Add Account"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: includes/class-wis_instagram_slider.php:267
|
97 |
+
msgid "Add account in settings"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: includes/class-wis-plugin.php:127
|
101 |
+
msgid "Are you sure want to delete this account?"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: includes/class-wis_instagram_slider.php:441
|
105 |
+
msgid "Attachment Page"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: admin/views/tab-about.php:149
|
109 |
+
msgid "BENEFITS"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: includes/class-wis_instagram_slider.php:275
|
113 |
+
msgid "Block Users"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: admin/views/tab-license.php:138
|
117 |
+
#, php-format
|
118 |
+
msgid ""
|
119 |
+
"Can’t find your key? Go to <a href=\"%s\" target=\"_blank\" rel=\"noopener\">"
|
120 |
+
"this page</a> and login using the e-mail address associated with your "
|
121 |
+
"purchase."
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: includes/class-wis_instagram_slider.php:400
|
125 |
+
msgid "Caption"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: includes/class-wis_instagram_slider.php:305
|
129 |
+
msgid "Check for new images every:"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: includes/class-wis_instagram_slider.php:293
|
133 |
+
msgid "Count of images to show:"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#. Author of the plugin
|
137 |
+
msgid "creativemotion"
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: includes/class-wis_instagram_slider.php:442
|
141 |
+
msgid "Custom Link"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
#: includes/class-wis_instagram_slider.php:448
|
145 |
+
msgid "Custom link:"
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#: includes/class-wis_instagram_slider.php:427
|
149 |
+
msgid "Date - Ascending"
|
150 |
+
msgstr ""
|
151 |
+
|
152 |
+
#: includes/class-wis_instagram_slider.php:428
|
153 |
+
msgid "Date - Descending"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
#: admin/views/tab-license.php:105
|
157 |
+
msgid "day(s)"
|
158 |
+
msgstr ""
|
159 |
+
|
160 |
+
#: admin/views/tab-settings.php:72
|
161 |
+
msgid "Delete"
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: admin/views/tab-license.php:31
|
165 |
+
msgid "Delete Key"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#: admin/views/tab-about.php:123
|
169 |
+
msgid ""
|
170 |
+
"Display Instagram feeds in widgets, posts, pages, or anywhere else using "
|
171 |
+
"shortcodes."
|
172 |
+
msgstr ""
|
173 |
+
|
174 |
+
#: admin/views/tab-license.php:72
|
175 |
+
msgid "domain"
|
176 |
+
msgstr ""
|
177 |
+
|
178 |
+
#: includes/class-wis_instagram_slider.php:384
|
179 |
+
msgid "Dotted"
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: includes/class-wis_instagram_slider.php:277
|
183 |
+
msgid "Enter usernames separated by commas whose images you don't want to show"
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
#: admin/views/tab-license.php:94
|
187 |
+
msgid "EXPIRED!"
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: includes/class-wis_instagram_slider.php:389
|
191 |
+
msgid "Fade"
|
192 |
+
msgstr ""
|
193 |
+
|
194 |
+
#: admin/views/tab-about.php:128
|
195 |
+
msgid "FEATURES"
|
196 |
+
msgstr ""
|
197 |
+
|
198 |
+
#: admin/views/tab-about.php:200
|
199 |
+
msgid "FEEDBACK AND SUPPORT"
|
200 |
+
msgstr ""
|
201 |
+
|
202 |
+
#: includes/class-wis_instagram_slider.php:420
|
203 |
+
msgid "Full Size"
|
204 |
+
msgstr ""
|
205 |
+
|
206 |
+
#: admin/pages/settings.php:148
|
207 |
+
msgid "General"
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
#: includes/class-wis_instagram_slider.php:272
|
211 |
+
msgid "Hashtag:"
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: admin/views/tab-license.php:120
|
215 |
+
msgid "Have a key to activate the plugin? Paste it here:"
|
216 |
+
msgstr ""
|
217 |
+
|
218 |
+
#: admin/views/tab-license.php:118
|
219 |
+
msgid "Have a key to activate the premium version? Paste it here:"
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
#: includes/class-wis_instagram_slider.php:402
|
223 |
+
msgid ""
|
224 |
+
"Hold ctrl and click the fields you want to show/hide on your slider. Leave "
|
225 |
+
"all unselected to hide them all. Default all selected."
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: includes/class-wis_instagram_slider.php:307
|
229 |
+
msgid "hours"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
#. Author URI of the plugin
|
233 |
+
msgid "https://cm-wp.com/"
|
234 |
+
msgstr ""
|
235 |
+
|
236 |
+
#. URI of the plugin
|
237 |
+
msgid "https://cm-wp.com/instagram-slider-widget"
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
#: admin/views/tab-settings.php:47
|
241 |
+
msgid "ID"
|
242 |
+
msgstr ""
|
243 |
+
|
244 |
+
#: admin/views/tab-settings.php:46
|
245 |
+
msgid "Image"
|
246 |
+
msgstr ""
|
247 |
+
|
248 |
+
#: includes/class-wis_instagram_slider.php:415
|
249 |
+
msgid "Image format"
|
250 |
+
msgstr ""
|
251 |
+
|
252 |
+
#: includes/class-wis_instagram_slider.php:440
|
253 |
+
msgid "Image URL"
|
254 |
+
msgstr ""
|
255 |
+
|
256 |
+
#: includes/class-wis_instagram_slider.php:354
|
257 |
+
msgid "Image width:"
|
258 |
+
msgstr ""
|
259 |
+
|
260 |
+
#: admin/pages/settings.php:158
|
261 |
+
msgid "Instagram account"
|
262 |
+
msgstr ""
|
263 |
+
|
264 |
+
#: includes/class-wis_instagram_slider.php:438
|
265 |
+
msgid "Instagram Image"
|
266 |
+
msgstr ""
|
267 |
+
|
268 |
+
#: admin/pages/settings.php:166
|
269 |
+
msgid "Instagram password"
|
270 |
+
msgstr ""
|
271 |
+
|
272 |
+
#: includes/class-wis_instagram_slider.php:439
|
273 |
+
msgid "Instagram Profile"
|
274 |
+
msgstr ""
|
275 |
+
|
276 |
+
#: includes/class-wis_instagram_slider.php:1161
|
277 |
+
msgid ""
|
278 |
+
"Instagram requires authorization to view a user profile. Use autorized "
|
279 |
+
"account in widget settings"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: admin/pages/license.php:90
|
283 |
+
msgid "License"
|
284 |
+
msgstr ""
|
285 |
+
|
286 |
+
#: admin/ajax/check-license.php:39
|
287 |
+
msgid ""
|
288 |
+
"License key is empty or license key too long (license key is 32 characters "
|
289 |
+
"long)"
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: admin/pages/license.php:91
|
293 |
+
msgid "License of Social Slider Widget"
|
294 |
+
msgstr ""
|
295 |
+
|
296 |
+
#: admin/ajax/check-license.php:27
|
297 |
+
msgid "Licensing action not passed or this action is prohibited!"
|
298 |
+
msgstr ""
|
299 |
+
|
300 |
+
#: includes/class-wis_instagram_slider.php:436
|
301 |
+
msgid "Link to"
|
302 |
+
msgstr ""
|
303 |
+
|
304 |
+
#: includes/class-wis_instagram_slider.php:418
|
305 |
+
msgid "Low - 320x320"
|
306 |
+
msgstr ""
|
307 |
+
|
308 |
+
#: includes/class-wis_instagram_slider.php:345
|
309 |
+
msgid "max is 10 ( only for thumbnails template )"
|
310 |
+
msgstr ""
|
311 |
+
|
312 |
+
#: includes/class-wis_instagram_slider.php:297
|
313 |
+
msgid "Maximum 20 images in free version."
|
314 |
+
msgstr ""
|
315 |
+
|
316 |
+
#: includes/class-wis_instagram_slider.php:393
|
317 |
+
msgid "milliseconds"
|
318 |
+
msgstr ""
|
319 |
+
|
320 |
+
#: admin/views/tab-settings.php:33
|
321 |
+
#, php-format
|
322 |
+
msgid "More accounts in <a href='%s'>PRO version</a>"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: includes/class-wis_instagram_slider.php:298
|
326 |
+
#, php-format
|
327 |
+
msgid "More in <a href='%s'>PRO version</a>"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: admin/views/tab-settings.php:49
|
331 |
+
msgid "Name"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: includes/class-wis_instagram_slider.php:1214
|
335 |
+
msgid "No images found"
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: includes/class-wis_instagram_slider.php:688
|
339 |
+
msgid "No images found! <br> Try some other hashtag or username"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: includes/class-wis_instagram_slider.php:385
|
343 |
+
msgid "No Navigation"
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: includes/class-wis_instagram_slider.php:443
|
347 |
+
msgid "None"
|
348 |
+
msgstr ""
|
349 |
+
|
350 |
+
#: includes/class-wis_instagram_slider.php:1100
|
351 |
+
msgid "Nothing to search for"
|
352 |
+
msgstr ""
|
353 |
+
|
354 |
+
#: includes/class-wis_instagram_slider.php:343
|
355 |
+
msgid "Number of Columns:"
|
356 |
+
msgstr ""
|
357 |
+
|
358 |
+
#: includes/class-wis_instagram_slider.php:410
|
359 |
+
msgid "Number of words in caption:"
|
360 |
+
msgstr ""
|
361 |
+
|
362 |
+
#: admin/views/tab-license.php:82
|
363 |
+
msgid "of"
|
364 |
+
msgstr ""
|
365 |
+
|
366 |
+
#: includes/class-wis_instagram_slider.php:372
|
367 |
+
msgid "Offset"
|
368 |
+
msgstr ""
|
369 |
+
|
370 |
+
#: includes/class-wis_instagram_slider.php:425
|
371 |
+
msgid "Order by"
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: admin/pages/settings.php:168
|
375 |
+
msgid "Password of your Instagram account"
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: includes/class-wis_instagram_slider.php:376
|
379 |
+
msgid "Pattern"
|
380 |
+
msgstr ""
|
381 |
+
|
382 |
+
#: includes/class-wis_instagram_slider.php:362
|
383 |
+
msgid "pictures"
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: includes/class-wis_instagram_slider.php:360
|
387 |
+
msgid "Pictures per slide:"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: admin/views/tab-license.php:76
|
391 |
+
msgid "plan"
|
392 |
+
msgstr ""
|
393 |
+
|
394 |
+
#: admin/views/tab-license.php:95
|
395 |
+
msgid "please update the key"
|
396 |
+
msgstr ""
|
397 |
+
|
398 |
+
#: includes/class-wis_instagram_slider.php:429
|
399 |
+
msgid "Popularity - Ascending"
|
400 |
+
msgstr ""
|
401 |
+
|
402 |
+
#: includes/class-wis_instagram_slider.php:430
|
403 |
+
msgid "Popularity - Descending"
|
404 |
+
msgstr ""
|
405 |
+
|
406 |
+
#: includes/class-wis_instagram_slider.php:383
|
407 |
+
msgid "Prev & Next"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: admin/views/tab-about.php:163
|
411 |
+
msgid "PRO VERSION"
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: admin/views/tab-license.php:54
|
415 |
+
msgid ""
|
416 |
+
"Public License is a GPLv2 compatible license allowing you to change and use "
|
417 |
+
"this version of the plugin for free. Please keep in mind this license covers "
|
418 |
+
"only free edition of the plugin. Premium versions are distributed with other "
|
419 |
+
"type of a license."
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: includes/class-wis_instagram_slider.php:351
|
423 |
+
#: includes/class-wis_instagram_slider.php:356
|
424 |
+
msgid "px"
|
425 |
+
msgstr ""
|
426 |
+
|
427 |
+
#: includes/class-wis_instagram_slider.php:431
|
428 |
+
msgid "Random"
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: admin/views/tab-license.php:107
|
432 |
+
msgid "remained"
|
433 |
+
msgstr ""
|
434 |
+
|
435 |
+
#: includes/class-wis_instagram_slider.php:279
|
436 |
+
msgid "Save in Media Library: "
|
437 |
+
msgstr ""
|
438 |
+
|
439 |
+
#: includes/class-wis_instagram_slider.php:246
|
440 |
+
msgid "Search Instagram for:"
|
441 |
+
msgstr ""
|
442 |
+
|
443 |
+
#: admin/pages/settings.php:108
|
444 |
+
msgid "Settings"
|
445 |
+
msgstr ""
|
446 |
+
|
447 |
+
#: admin/pages/settings.php:107
|
448 |
+
msgid "Settings of Social Slider Widget"
|
449 |
+
msgstr ""
|
450 |
+
|
451 |
+
#: includes/class-wis_instagram_slider.php:486
|
452 |
+
msgid "Shortcode of this Widget:"
|
453 |
+
msgstr ""
|
454 |
+
|
455 |
+
#: includes/class-wis_instagram_slider.php:311
|
456 |
+
msgid "Show feed header:"
|
457 |
+
msgstr ""
|
458 |
+
|
459 |
+
#: includes/class-wis_instagram_slider.php:388
|
460 |
+
msgid "Slide"
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
#: includes/class-wis_instagram_slider.php:391
|
464 |
+
msgid "Slide Speed:"
|
465 |
+
msgstr ""
|
466 |
+
|
467 |
+
#: includes/class-wis_instagram_slider.php:387
|
468 |
+
msgid "Slider Animation:"
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: includes/class-wis_instagram_slider.php:382
|
472 |
+
msgid "Slider Navigation Controls:"
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: includes/class-wis_instagram_slider.php:396
|
476 |
+
msgid "Slider Text Description:"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: includes/class-wis_instagram_slider.php:40
|
480 |
+
#: includes/class-wis_instagram_slider.php:204
|
481 |
+
msgid "Social Slider"
|
482 |
+
msgstr ""
|
483 |
+
|
484 |
+
#: includes/class-wis_instagram_slider.php:92
|
485 |
+
msgid "Social Slider - Shortcode Generator"
|
486 |
+
msgstr ""
|
487 |
+
|
488 |
+
#. Name of the plugin
|
489 |
+
#: instaram_slider.php:26 admin/views/tab-about.php:122
|
490 |
+
msgid "Social Slider Widget"
|
491 |
+
msgstr ""
|
492 |
+
|
493 |
+
#. Description of the plugin
|
494 |
+
msgid ""
|
495 |
+
"Social Slider Widget is a responsive slider widget that shows 12 latest "
|
496 |
+
"images from a public Instagram user and up to 18 images from a hashtag."
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#: admin/pages/widgets.php:107 admin/pages/widgets.php:108
|
500 |
+
msgid "Social Slider Widgets"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#: includes/class-wis_instagram_slider.php:365
|
504 |
+
msgid "Space between pictures:"
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
#: includes/class-wis_instagram_slider.php:419
|
508 |
+
msgid "Standard - 640x640"
|
509 |
+
msgstr ""
|
510 |
+
|
511 |
+
#: admin/views/tab-license.php:126
|
512 |
+
msgid "Submit Key"
|
513 |
+
msgstr ""
|
514 |
+
|
515 |
+
#: admin/ajax/check-license.php:55
|
516 |
+
msgid "Subscription success cancelled"
|
517 |
+
msgstr ""
|
518 |
+
|
519 |
+
#: admin/views/tab-license.php:35
|
520 |
+
msgid "Synchronization"
|
521 |
+
msgstr ""
|
522 |
+
|
523 |
+
#: includes/class-wis_instagram_slider.php:318
|
524 |
+
msgid "Template"
|
525 |
+
msgstr ""
|
526 |
+
|
527 |
+
#: admin/ajax/check-license.php:51
|
528 |
+
msgid "The license has been updated"
|
529 |
+
msgstr ""
|
530 |
+
|
531 |
+
#: admin/ajax/check-license.php:47
|
532 |
+
msgid "The license is deactivated"
|
533 |
+
msgstr ""
|
534 |
+
|
535 |
+
#: includes/class-wis_instagram_slider.php:1182
|
536 |
+
msgid "There are no publications in this account yet"
|
537 |
+
msgstr ""
|
538 |
+
|
539 |
+
#: includes/class-wis_instagram_slider.php:417
|
540 |
+
msgid "Thumbnail - 150x150"
|
541 |
+
msgstr ""
|
542 |
+
|
543 |
+
#: includes/class-wis_instagram_slider.php:399
|
544 |
+
msgid "Time"
|
545 |
+
msgstr ""
|
546 |
+
|
547 |
+
#: includes/class-wis_instagram_slider.php:242
|
548 |
+
msgid "Title:"
|
549 |
+
msgstr ""
|
550 |
+
|
551 |
+
#: admin/views/tab-settings.php:50
|
552 |
+
msgid "Token"
|
553 |
+
msgstr ""
|
554 |
+
|
555 |
+
#: admin/views/tab-license.php:22
|
556 |
+
#, php-format
|
557 |
+
msgid "Upgrade to Premium for $%s"
|
558 |
+
msgstr ""
|
559 |
+
|
560 |
+
#: includes/class-wis_instagram_slider.php:488
|
561 |
+
msgid ""
|
562 |
+
"Use this shortcode in any page or post to display images with this widget "
|
563 |
+
"configuration!"
|
564 |
+
msgstr ""
|
565 |
+
|
566 |
+
#: admin/views/tab-settings.php:48
|
567 |
+
msgid "User"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: includes/class-wis_instagram_slider.php:398
|
571 |
+
msgid "Username"
|
572 |
+
msgstr ""
|
573 |
+
|
574 |
+
#: admin/pages/settings.php:160
|
575 |
+
msgid "Username of your Instagram account"
|
576 |
+
msgstr ""
|
577 |
+
|
578 |
+
#: includes/class-wis_instagram_slider.php:271
|
579 |
+
msgid "Username:"
|
580 |
+
msgstr ""
|
581 |
+
|
582 |
+
#: admin/views/tab-license.php:89
|
583 |
+
msgid "version"
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: includes/class-wis_instagram_slider.php:349
|
587 |
+
msgid "Vertical space between item elements:"
|
588 |
+
msgstr ""
|
589 |
+
|
590 |
+
#: admin/views/tab-about.php:209
|
591 |
+
msgid "WHY DO YOU NEED IT?"
|
592 |
+
msgstr ""
|
593 |
+
|
594 |
+
#: admin/pages/widgets.php:109
|
595 |
+
msgid "Widgets"
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
+
#: includes/class-wis_instagram_slider.php:272
|
599 |
+
msgid "without # sign"
|
600 |
+
msgstr ""
|
601 |
+
|
602 |
+
#: admin/views/tab-settings.php:21
|
603 |
+
msgid ""
|
604 |
+
"Without authorization Instagram limits the number of requests, and after "
|
605 |
+
"exceeding the limit asks to log in, so an error is displayed that no images "
|
606 |
+
"were found."
|
607 |
+
msgstr ""
|
608 |
+
|
609 |
+
#: admin/views/tab-license.php:58
|
610 |
+
msgid ""
|
611 |
+
"You use a paid subscription for the plugin updates. In case you don’t want "
|
612 |
+
"to receive paid updates, please, click <a data-action=\"unsubscribe\" "
|
613 |
+
"class=\"wis-control-btn\" href=\"#\">cancel subscription</a>"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: admin/views/tab-license.php:25
|
617 |
+
#, php-format
|
618 |
+
msgid "Your current license for %1$s:"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: admin/ajax/check-license.php:42
|
622 |
+
msgid "Your license has been successfully activated"
|
623 |
+
msgstr ""
|
624 |
+
|
625 |
+
#: admin/views/tab-license.php:64
|
626 |
+
msgid ""
|
627 |
+
"Your license has expired, please extend the license to get updates and "
|
628 |
+
"support."
|
629 |
+
msgstr ""
|
{vendor → libs/factory/adverts/assets}/index.php
RENAMED
File without changes
|
libs/factory/adverts/assets/js/index.php
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// Silence is golden.
|
libs/factory/adverts/assets/js/script.js
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready( function($) {
|
2 |
+
// Отправдяем запрос на маркировку нотиса, если пользователь его закрыл
|
3 |
+
$( '.wbcr-advt-notice' ).click( function() {
|
4 |
+
$.post(
|
5 |
+
ajaxurl,
|
6 |
+
{
|
7 |
+
action: 'wbcr_advt_mark_notice'
|
8 |
+
},
|
9 |
+
function(data) {
|
10 |
+
}
|
11 |
+
);
|
12 |
+
});
|
13 |
+
});
|
libs/factory/adverts/boot.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
use WBCR\
|
4 |
|
5 |
/**
|
6 |
* Factory Adverts
|
@@ -16,35 +16,35 @@ use WBCR\Factory_Adverts_104\Base;
|
|
16 |
*/
|
17 |
|
18 |
// Exit if accessed directly
|
19 |
-
if
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
-
if
|
24 |
return;
|
25 |
}
|
26 |
|
27 |
# Устанавливаем константу, что модуль уже загружен
|
28 |
-
define(
|
29 |
|
30 |
# Устанавливаем версию модуля
|
31 |
-
define(
|
32 |
|
33 |
# Регистрируем тектовый домен, для интернализации интерфейса модуля
|
34 |
-
load_plugin_textdomain(
|
35 |
|
36 |
# Устанавливаем директорию модуля
|
37 |
-
define(
|
38 |
|
39 |
# Устанавливаем url модуля
|
40 |
-
define(
|
41 |
|
42 |
-
require_once(
|
43 |
-
require_once(
|
44 |
|
45 |
/**
|
46 |
-
* @param
|
47 |
*/
|
48 |
-
add_action(
|
49 |
-
$plugin->set_adverts_manager(
|
50 |
-
}
|
1 |
<?php
|
2 |
|
3 |
+
use WBCR\Factory_Adverts_114\Base;
|
4 |
|
5 |
/**
|
6 |
* Factory Adverts
|
16 |
*/
|
17 |
|
18 |
// Exit if accessed directly
|
19 |
+
if( !defined('ABSPATH') ) {
|
20 |
exit;
|
21 |
}
|
22 |
|
23 |
+
if( defined('FACTORY_ADVERTS_114_LOADED') || (defined('FACTORY_ADVERTS_BLOCK') && FACTORY_ADVERTS_BLOCK) ) {
|
24 |
return;
|
25 |
}
|
26 |
|
27 |
# Устанавливаем константу, что модуль уже загружен
|
28 |
+
define('FACTORY_ADVERTS_114_LOADED', true);
|
29 |
|
30 |
# Устанавливаем версию модуля
|
31 |
+
define('FACTORY_ADVERTS_114_VERSION', '1.1.4');
|
32 |
|
33 |
# Регистрируем тектовый домен, для интернализации интерфейса модуля
|
34 |
+
load_plugin_textdomain('wbcr_factory_adverts_114', false, dirname(plugin_basename(__FILE__)) . '/langs');
|
35 |
|
36 |
# Устанавливаем директорию модуля
|
37 |
+
define('FACTORY_ADVERTS_114_DIR', dirname(__FILE__));
|
38 |
|
39 |
# Устанавливаем url модуля
|
40 |
+
define('FACTORY_ADVERTS_114_URL', plugins_url(null, __FILE__));
|
41 |
|
42 |
+
require_once(FACTORY_ADVERTS_114_DIR . '/includes/class-rest-request.php');
|
43 |
+
require_once(FACTORY_ADVERTS_114_DIR . '/includes/class-base.php');
|
44 |
|
45 |
/**
|
46 |
+
* @param Wbcr_Factory436_Plugin $plugin
|
47 |
*/
|
48 |
+
add_action('wbcr_factory_adverts_114_plugin_created', function ($plugin) {
|
49 |
+
$plugin->set_adverts_manager("WBCR\Factory_Adverts_114\Base");
|
50 |
+
});
|
libs/factory/adverts/includes/class-adverts-base.php
ADDED
@@ -0,0 +1,261 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\Factory_Adverts_102;
|
4 |
+
|
5 |
+
// Exit if accessed directly
|
6 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
7 |
+
exit;
|
8 |
+
}
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Base class for adverts module.
|
12 |
+
*
|
13 |
+
* Contains methods for retrieving banner data for a specific position.
|
14 |
+
* With this class user cat get advert content for a specific position.
|
15 |
+
* This class use functional design pattern.
|
16 |
+
* It used in the main plugin file. Also some methods may used in any place of plugin.
|
17 |
+
*
|
18 |
+
* Example (main plugin file):
|
19 |
+
* // FRAMEWORK MODULES
|
20 |
+
* 'load_factory_modules' => array(
|
21 |
+
* ...
|
22 |
+
* array( 'libs/factory/adverts', 'factory_adverts_102', 'admin' ),
|
23 |
+
* ),
|
24 |
+
*
|
25 |
+
* if ( is_admin() ) {
|
26 |
+
* global $wbcr_PLUGIN_NAME_adinserter;
|
27 |
+
*
|
28 |
+
* $wbcr_PLUGIN_NAME_adinserter = new WBCR\Factory_Adverts_102\Base(
|
29 |
+
* __FILE__,
|
30 |
+
* array_merge(
|
31 |
+
* $plugin_info,
|
32 |
+
* array(
|
33 |
+
* 'dashboard_widget' => true, // show dashboard widget (default: false)
|
34 |
+
* 'right_sidebar' => true, // show adverts sidebar (default: false)
|
35 |
+
* 'notice' => true, // show notice message (default: false)
|
36 |
+
* )
|
37 |
+
* )
|
38 |
+
* );
|
39 |
+
* }
|
40 |
+
*
|
41 |
+
* Example (in any place):
|
42 |
+
* <?php
|
43 |
+
* global $wbcr_PLUGIN_NAME_adinserter;
|
44 |
+
* echo $wbcr_PLUGIN_NAME_adinserter->get_adverts( 'right_sidebar' );
|
45 |
+
* ?>
|
46 |
+
*
|
47 |
+
* Replace in the variable the phrase PLUGIN_NAME with the current plugin name!
|
48 |
+
*
|
49 |
+
* @author Alexander Vitkalov <nechin.va@gmail.com>
|
50 |
+
* @since 1.0.0 Added
|
51 |
+
* @package factory-adverts
|
52 |
+
* @copyright (c) 2019 Webcraftic Ltd
|
53 |
+
*/
|
54 |
+
class Base {
|
55 |
+
|
56 |
+
/*
|
57 |
+
* Contain array data with the plugin information and the module settings.
|
58 |
+
* Mainly used to get the name of the plugin and how to get the adverts blocks.
|
59 |
+
*
|
60 |
+
* @since 1.0.0 Added
|
61 |
+
*
|
62 |
+
* @var array Example: array(
|
63 |
+
* 'prefix' => 'wbcr_inp_',
|
64 |
+
* 'plugin_name' => 'wbcr_insert_php',
|
65 |
+
* 'plugin_title' => 'Woody ad snippets',
|
66 |
+
* 'plugin_text_domain' => 'insert-php',
|
67 |
+
* 'dashboard_widget' => true,
|
68 |
+
* 'right_sidebar' => true,
|
69 |
+
* 'notice' => true,
|
70 |
+
* ...
|
71 |
+
* )
|
72 |
+
*
|
73 |
+
*/
|
74 |
+
private $data = [];
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Wbcr_Factory_Adinserter constructor.
|
78 |
+
*
|
79 |
+
* - Store plugin information and settings.
|
80 |
+
* - Add filter and actions.
|
81 |
+
* - Include dashboard widget.
|
82 |
+
*
|
83 |
+
* @since 1.0.0 Added
|
84 |
+
*
|
85 |
+
* @param string $plugin_path Path to plugin base file
|
86 |
+
* @param array $data Array data with plugin information and settings (@see $data property example)
|
87 |
+
*/
|
88 |
+
public function __construct( $plugin_path, $data ) {
|
89 |
+
$this->data = $data;
|
90 |
+
|
91 |
+
add_filter( 'wbcr/factory/pages/impressive/widgets', [ $this, 'register_widgets' ], 10, 3 );
|
92 |
+
|
93 |
+
add_action( 'init', [ $this, 'add_notices' ] );
|
94 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
|
95 |
+
add_action( 'wp_ajax_wbcr_advt_mark_notice', [ $this, 'mark_notice' ] );
|
96 |
+
|
97 |
+
$this->include_dashboard();
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Include dashboard widget
|
102 |
+
*
|
103 |
+
* Include functionality the output of the widget on the dashboard.
|
104 |
+
* Only one dashboard widget must be shown for some plugins with this setting (dashboard_widget).
|
105 |
+
*
|
106 |
+
* @since 1.0.0 Added
|
107 |
+
*/
|
108 |
+
private function include_dashboard() {
|
109 |
+
if ( isset( $this->data['dashboard_widget'] ) && $this->data['dashboard_widget'] && ! defined( 'FACTORY_ADVERTS_DASHBOARD_WIDGET' ) ) {
|
110 |
+
/**
|
111 |
+
* Dashboard widget is displays.
|
112 |
+
*
|
113 |
+
* Used only in this function.
|
114 |
+
*
|
115 |
+
* @since 1.0.0
|
116 |
+
* @var boolean Notes that the dashboard widget already displays.
|
117 |
+
*/
|
118 |
+
define( 'FACTORY_ADVERTS_DASHBOARD_WIDGET', true );
|
119 |
+
require_once FACTORY_ADVERTS_102_DIR . '/includes/class-adverts-dashboard-widget.php';
|
120 |
+
|
121 |
+
new Dashboard_Widget( $this->data['plugin_name'] );
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Get advert content for selected position.
|
127 |
+
*
|
128 |
+
* @since 1.0.0 Added
|
129 |
+
*
|
130 |
+
* @param string $position The position for advert
|
131 |
+
*
|
132 |
+
* @return string
|
133 |
+
*/
|
134 |
+
private function get_content( $position ) {
|
135 |
+
$request = new Rest_Request( $this->data['plugin_name'], $position );
|
136 |
+
|
137 |
+
return $request->get_content();
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Register widgets.
|
142 |
+
*
|
143 |
+
* Depending on the settings, register new widgets.
|
144 |
+
*
|
145 |
+
* @since 1.0.0 Added
|
146 |
+
*
|
147 |
+
* @param array $widgets Already existing registered widgets
|
148 |
+
* @param string $position Position for the widget
|
149 |
+
* @param string $plugin Plugin object for which the hook is run
|
150 |
+
*
|
151 |
+
* @return array array(
|
152 |
+
* 'adverts_widget' => '<p></p>',
|
153 |
+
* 'businnes_suggetion' => '<p></p>',
|
154 |
+
* 'support' => '<p></p>',
|
155 |
+
* ...
|
156 |
+
* )
|
157 |
+
*/
|
158 |
+
public function register_widgets( $widgets, $position, $plugin ) {
|
159 |
+
if ( $plugin->getPluginName() == $this->data['plugin_name'] && ! empty( $this->data ) && 'right' == $position ) {
|
160 |
+
if ( isset( $this->data['right_sidebar'] ) && $this->data['right_sidebar'] ) {
|
161 |
+
$content = $this->get_content( 'right_sidebar' );
|
162 |
+
|
163 |
+
$widgets['adverts_widget'] = $content;
|
164 |
+
}
|
165 |
+
|
166 |
+
if ( isset( $this->data['businnes_suggetion'] ) && $this->data['businnes_suggetion'] ) {
|
167 |
+
$content = $this->get_content( 'businnes_suggetion' );
|
168 |
+
|
169 |
+
$widgets['businnes_suggetion'] = $content;
|
170 |
+
}
|
171 |
+
|
172 |
+
if ( isset( $this->data['support'] ) && $this->data['support'] ) {
|
173 |
+
$content = $this->get_content( 'support' );
|
174 |
+
|
175 |
+
$widgets['support'] = $content;
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
return $widgets;
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Add notice message.
|
184 |
+
*
|
185 |
+
* Only one notice must be shown for some plugins with this setting (notice).
|
186 |
+
*
|
187 |
+
* @since 1.0.0 Added
|
188 |
+
*/
|
189 |
+
public function add_notices() {
|
190 |
+
if ( isset( $this->data['notice'] ) && $this->data['notice'] && ! defined( 'FACTORY_ADINSERTER_NOTICE' ) ) {
|
191 |
+
/**
|
192 |
+
* Notice is displays.
|
193 |
+
*
|
194 |
+
* Used only in this function.
|
195 |
+
*
|
196 |
+
* @since 1.0.0
|
197 |
+
* @var boolean Notes that the notice already displays.
|
198 |
+
*/
|
199 |
+
define( 'FACTORY_ADINSERTER_NOTICE', true );
|
200 |
+
|
201 |
+
$content = $this->get_content( 'notice' );
|
202 |
+
$hash = md5( $content );
|
203 |
+
|
204 |
+
/* If the notice has not been closed by the user or the content of the notice has changed,
|
205 |
+
then we show the notice. */
|
206 |
+
if ( ! get_option( 'wbcr-advt-notice-' . $this->data['plugin_name'] ) || get_option( 'wbcr-advt-notice-hash-' . $this->data['plugin_name'] ) != $hash ) {
|
207 |
+
update_option( 'wbcr-advt-notice-' . $this->data['plugin_name'], false );
|
208 |
+
update_option( 'wbcr-advt-notice-hash-' . $this->data['plugin_name'], $hash );
|
209 |
+
add_action( 'admin_notices', function () {
|
210 |
+
echo $this->get_content( 'notice' );
|
211 |
+
} );
|
212 |
+
}
|
213 |
+
}
|
214 |
+
}
|
215 |
+
|
216 |
+
/**
|
217 |
+
* Add javascript file.
|
218 |
+
*
|
219 |
+
* File contains code for intercept the click event and post ajax request.
|
220 |
+
*
|
221 |
+
* @since 1.0.0 Added
|
222 |
+
*/
|
223 |
+
public function enqueue_scripts() {
|
224 |
+
if ( isset( $this->data['notice'] ) && $this->data['notice'] && ! get_option( 'wbcr-advt-notice-' . $this->data['plugin_name'] ) ) {
|
225 |
+
wp_enqueue_script( 'factory-adverts-notice', FACTORY_ADVERTS_102_URL . '/assets/js/script.js' );
|
226 |
+
}
|
227 |
+
}
|
228 |
+
|
229 |
+
/**
|
230 |
+
* Mark notice closed for this plugin.
|
231 |
+
*
|
232 |
+
* Callback for ajax action. Execute when user close the notice.
|
233 |
+
*
|
234 |
+
* @since 1.0.0 Added
|
235 |
+
* @see enqueue_scripts()
|
236 |
+
*/
|
237 |
+
public function mark_notice() {
|
238 |
+
update_option( 'wbcr-advt-notice-' . $this->data['plugin_name'], true );
|
239 |
+
exit();
|
240 |
+
}
|
241 |
+
|
242 |
+
/**
|
243 |
+
* Directly get advert content for selected position.
|
244 |
+
*
|
245 |
+
* @since 1.0.0 Added
|
246 |
+
*
|
247 |
+
* @param string $position Custom position name
|
248 |
+
*
|
249 |
+
* @return string
|
250 |
+
*/
|
251 |
+
public function get_adverts( $position ) {
|
252 |
+
$content = '';
|
253 |
+
|
254 |
+
if ( $position ) {
|
255 |
+
$content = $this->get_content( $position );
|
256 |
+
}
|
257 |
+
|
258 |
+
return $content;
|
259 |
+
}
|
260 |
+
|
261 |
+
}
|
libs/factory/adverts/includes/class-adverts-dashboard-widget.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\Factory_Adverts_102;
|
4 |
+
|
5 |
+
// Exit if accessed directly
|
6 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
7 |
+
exit;
|
8 |
+
}
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Adverts Dashboard Widget.
|
12 |
+
*
|
13 |
+
* Adds a widget with a banner or a list of news.
|
14 |
+
*
|
15 |
+
* @author Alexander Vitkalov <nechin.va@gmail.com>
|
16 |
+
* @since 1.0.0 Added
|
17 |
+
* @package factory-adverts
|
18 |
+
* @copyright (c) 2019 Webcraftic Ltd
|
19 |
+
*/
|
20 |
+
class Dashboard_Widget extends Rest_Request {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Dashboard_Widget constructor.
|
24 |
+
*
|
25 |
+
* Call parent constructor. Registration hooks.
|
26 |
+
*
|
27 |
+
* @since 1.0.0 Added
|
28 |
+
*
|
29 |
+
* @param string $plugin_name Plugin name from parameter plugin_name
|
30 |
+
*/
|
31 |
+
public function __construct( $plugin_name ) {
|
32 |
+
parent::__construct( $plugin_name, 'dashboard' );
|
33 |
+
|
34 |
+
$this->register_hooks();
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Registration hooks.
|
39 |
+
*
|
40 |
+
* @since 1.0.0 Added
|
41 |
+
*/
|
42 |
+
public function register_hooks() {
|
43 |
+
add_action( 'wp_dashboard_setup', array( $this, 'add_dashboard_widgets' ) );
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Add the News widget to the dashboard.
|
48 |
+
*
|
49 |
+
* @since 1.0.0 Added
|
50 |
+
*/
|
51 |
+
public function add_dashboard_widgets() {
|
52 |
+
$widget_id = 'wbcr-adinserter-dashboard-widget';
|
53 |
+
wp_add_dashboard_widget(
|
54 |
+
$widget_id,
|
55 |
+
__( 'News', '' ),
|
56 |
+
array( $this, 'dashboard_widget_adverts' )
|
57 |
+
);
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Set dashboard widget first in order
|
61 |
+
*
|
62 |
+
* @since 1.2.3 Added
|
63 |
+
*/
|
64 |
+
global $wp_meta_boxes;
|
65 |
+
|
66 |
+
$normal_core = $wp_meta_boxes['dashboard']['normal']['core'];
|
67 |
+
$widget_backup = array( $widget_id => $normal_core[ $widget_id ] );
|
68 |
+
unset( $normal_core[ $widget_id ] );
|
69 |
+
$sorted_core = array_merge( $widget_backup, $normal_core );
|
70 |
+
|
71 |
+
$wp_meta_boxes['dashboard']['normal']['core'] = $sorted_core;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Create the function to output the contents of the Dashboard Widget.
|
76 |
+
*
|
77 |
+
* @since 1.0.0 Added
|
78 |
+
*/
|
79 |
+
public function dashboard_widget_adverts() {
|
80 |
+
$content = $this->get_content();
|
81 |
+
if ( ! empty( $content ) ) {
|
82 |
+
?>
|
83 |
+
<div class="wordpress-news hide-if-no-js">
|
84 |
+
<?php $this->show_adverts( $content ); ?>
|
85 |
+
</div>
|
86 |
+
<?php
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Output advert content.
|
92 |
+
*
|
93 |
+
* @since 1.0.0 Added
|
94 |
+
*
|
95 |
+
* @param $content string
|
96 |
+
*/
|
97 |
+
public function show_adverts( $content ) {
|
98 |
+
if ( ! empty( $content ) ) :
|
99 |
+
?>
|
100 |
+
<div class="rss-widget">
|
101 |
+
<?php echo $content; ?>
|
102 |
+
</div>
|
103 |
+
<?php
|
104 |
+
endif;
|
105 |
+
}
|
106 |
+
|
107 |
+
}
|
libs/factory/adverts/includes/class-adverts-rest-request.php
ADDED
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WBCR\Factory_Adverts_102;
|
4 |
+
|
5 |
+
// Exit if accessed directly
|
6 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
7 |
+
exit;
|
8 |
+
}
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Factory request class.
|
12 |
+
*
|
13 |
+
* Performs a server request, retrieves banner data and stores it in the cache.
|
14 |
+
*
|
15 |
+
* @author Alexander Vitkalov <nechin.va@gmail.com>
|
16 |
+
* @since 1.0.0 Added
|
17 |
+
* @package factory-adverts
|
18 |
+
* @copyright (c) 2019 Webcraftic Ltd
|
19 |
+
*/
|
20 |
+
class Rest_Request {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Rest route path.
|
24 |
+
*
|
25 |
+
* Define rest route path for rest request.
|
26 |
+
*
|
27 |
+
* @since 1.0.0
|
28 |
+
* @var string
|
29 |
+
* @uses do_rest_request()
|
30 |
+
*/
|
31 |
+
const FACTORY_ADVERTS_REST_ROUTE = '/adverds/v1/advt';
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Plugin name.
|
35 |
+
*
|
36 |
+
* Set on class initialization from parameter plugin_name.
|
37 |
+
* Used as query parameter in rest request.
|
38 |
+
*
|
39 |
+
* @since 1.0.0 Added
|
40 |
+
*
|
41 |
+
* @var string
|
42 |
+
*/
|
43 |
+
private $plugin_name = '';
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Adverts position.
|
47 |
+
*
|
48 |
+
* Position for advert (dashboard_widget, right_sidebar, notice, businnes_suggetion, support)
|
49 |
+
*
|
50 |
+
* Set on class initialization.
|
51 |
+
* Used as query parameter in rest request.
|
52 |
+
*
|
53 |
+
* @since 1.0.0 Added
|
54 |
+
*
|
55 |
+
* @var string
|
56 |
+
*/
|
57 |
+
private $ad_position = '';
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Request constructor.
|
61 |
+
*
|
62 |
+
* Variable initialization.
|
63 |
+
*
|
64 |
+
* @since 1.0.0 Added
|
65 |
+
*
|
66 |
+
* @param string $plugin_name Plugin name from parameter plugin_name
|
67 |
+
* @param string $position Position for advert
|
68 |
+
*/
|
69 |
+
public function __construct( $plugin_name, $position ) {
|
70 |
+
$this->plugin_name = $plugin_name;
|
71 |
+
$this->ad_position = $position;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Get key for cached data.
|
76 |
+
*
|
77 |
+
* Used for store and get cached data for current plugin and position.
|
78 |
+
*
|
79 |
+
* @since 1.0.0 Added
|
80 |
+
*
|
81 |
+
* @return string
|
82 |
+
*/
|
83 |
+
private function get_key() {
|
84 |
+
return md5( self::FACTORY_ADVERTS_REST_ROUTE . $this->plugin_name . $this->ad_position );
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Get data from cache.
|
89 |
+
*
|
90 |
+
* If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
|
91 |
+
*
|
92 |
+
* @since 1.0.0 Added
|
93 |
+
*
|
94 |
+
* @return mixed array(
|
95 |
+
* 'plugin' => 'wbcr_insert_php',
|
96 |
+
* 'content' => '<p></p>',
|
97 |
+
* 'expires' => 1563542199,
|
98 |
+
* );
|
99 |
+
*/
|
100 |
+
private function get_cache() {
|
101 |
+
|
102 |
+
$cached_data = defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ? false : get_option( $this->get_key() );
|
103 |
+
|
104 |
+
if ( empty( $cached_data ) || ! isset( $cached_data['expires'] ) || ! isset( $cached_data['content'] ) || empty( $cached_data['expires'] ) || $cached_data['expires'] <= current_time( 'timestamp' ) ) {
|
105 |
+
$data = $this->do_rest_request();
|
106 |
+
|
107 |
+
if ( ! empty( $data ) && isset( $data['content'] ) && isset( $data['expires'] ) ) {
|
108 |
+
update_option( $this->get_key(), $data );
|
109 |
+
}
|
110 |
+
} else {
|
111 |
+
$data = $cached_data;
|
112 |
+
}
|
113 |
+
|
114 |
+
return $data;
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Get adverts content.
|
119 |
+
*
|
120 |
+
* @since 1.0.0 Added
|
121 |
+
*
|
122 |
+
* @return string
|
123 |
+
*/
|
124 |
+
public function get_content() {
|
125 |
+
$content = '';
|
126 |
+
|
127 |
+
$data = $this->get_cache();
|
128 |
+
|
129 |
+
if ( $data && isset( $data['content'] ) ) {
|
130 |
+
$content = $data['content'];
|
131 |
+
}
|
132 |
+
|
133 |
+
return $content;
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Performs rest api request.
|
138 |
+
*
|
139 |
+
* If defined WBCR_ADINSERTER_REST_URL, then data requested from the remote server.
|
140 |
+
* Otherwise data will be requested from the same server.
|
141 |
+
* Defined in boot.php
|
142 |
+
*
|
143 |
+
* In some case on the server (Apache) in the .htaccess must be set
|
144 |
+
* RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
|
145 |
+
*
|
146 |
+
* @since 1.0.0 Added
|
147 |
+
*
|
148 |
+
* @return mixed array(
|
149 |
+
* 'plugin' => 'wbcr_insert_php',
|
150 |
+
* 'content' => '<p></p>',
|
151 |
+
* 'expires' => 1563542199,
|
152 |
+
* );
|
153 |
+
*/
|
154 |
+
private function do_rest_request() {
|
155 |
+
$empty_data = [
|
156 |
+
'plugin' => $this->plugin_name,
|
157 |
+
'content' => '',
|
158 |
+
'expires' => current_time( 'timestamp' ) + 60 * 60,
|
159 |
+
];
|
160 |
+
|
161 |
+
$url = site_url();
|
162 |
+
if ( defined( 'WBCR_ADINSERTER_REST_URL' ) && '' != WBCR_ADINSERTER_REST_URL ) {
|
163 |
+
$url = WBCR_ADINSERTER_REST_URL;
|
164 |
+
}
|
165 |
+
|
166 |
+
// Remote rest request
|
167 |
+
$url = rtrim( $url, '/' ) . '/wp-json' . self::FACTORY_ADVERTS_REST_ROUTE;
|
168 |
+
$url = add_query_arg( 'plugin', $this->plugin_name, $url );
|
169 |
+
$url = add_query_arg( 'position', $this->ad_position, $url );
|
170 |
+
|
171 |
+
$response = wp_remote_get( $url );
|
172 |
+
|
173 |
+
$code = wp_remote_retrieve_response_code( $response );
|
174 |
+
$body = wp_remote_retrieve_body( $response );
|
175 |
+
$data = (array) json_decode( $body );
|
176 |
+
|
177 |
+
return 200 == $code && $data && isset( $data['expires'] ) ? $data : $empty_data;
|
178 |
+
}
|
179 |
+
|
180 |
+
}
|
libs/factory/adverts/includes/class-base.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -28,7 +28,7 @@ class Base {
|
|
28 |
*
|
29 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
30 |
* @since 1.0.1
|
31 |
-
* @var \
|
32 |
*/
|
33 |
private $plugin;
|
34 |
|
@@ -53,7 +53,7 @@ class Base {
|
|
53 |
*
|
54 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
55 |
* @since 1.0.1
|
56 |
-
* @var \WBCR\
|
57 |
*/
|
58 |
private $api;
|
59 |
|
@@ -82,9 +82,9 @@ class Base {
|
|
82 |
*
|
83 |
* @since 1.0.0 Added
|
84 |
*
|
85 |
-
* @param \
|
86 |
*/
|
87 |
-
public function __construct( \
|
88 |
$this->plugin = $plugin;
|
89 |
|
90 |
$this->settings = wp_parse_args( $settings, [
|
@@ -257,7 +257,7 @@ class Base {
|
|
257 |
$content = $this->get_debug_message( 'dashboard_widget' );
|
258 |
}
|
259 |
|
260 |
-
require_once
|
261 |
new Dashboard_Widget( $this->plugin, $content );
|
262 |
}
|
263 |
}
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Adverts_114;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
28 |
*
|
29 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
30 |
* @since 1.0.1
|
31 |
+
* @var \Wbcr_Factory436_Plugin
|
32 |
*/
|
33 |
private $plugin;
|
34 |
|
53 |
*
|
54 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
55 |
* @since 1.0.1
|
56 |
+
* @var \WBCR\Factory_Adverts_114\Creative_Motion_API
|
57 |
*/
|
58 |
private $api;
|
59 |
|
82 |
*
|
83 |
* @since 1.0.0 Added
|
84 |
*
|
85 |
+
* @param \Wbcr_Factory436_Plugin $plugin
|
86 |
*/
|
87 |
+
public function __construct( \Wbcr_Factory436_Plugin $plugin, $settings ) {
|
88 |
$this->plugin = $plugin;
|
89 |
|
90 |
$this->settings = wp_parse_args( $settings, [
|
257 |
$content = $this->get_debug_message( 'dashboard_widget' );
|
258 |
}
|
259 |
|
260 |
+
require_once FACTORY_ADVERTS_114_DIR . '/includes/class-dashboard-widget.php';
|
261 |
new Dashboard_Widget( $this->plugin, $content );
|
262 |
}
|
263 |
}
|
libs/factory/adverts/includes/class-dashboard-widget.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -35,7 +35,7 @@ class Dashboard_Widget {
|
|
35 |
*
|
36 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
37 |
* @since 1.0.1
|
38 |
-
* @var \
|
39 |
*/
|
40 |
private $plugin;
|
41 |
|
@@ -46,10 +46,10 @@ class Dashboard_Widget {
|
|
46 |
*
|
47 |
* @since 1.0.0 Added
|
48 |
*
|
49 |
-
* @param \
|
50 |
* @param string $content
|
51 |
*/
|
52 |
-
public function __construct( \
|
53 |
|
54 |
$this->plugin = $plugin;
|
55 |
$this->content = $content;
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Adverts_114;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
if ( ! defined( 'ABSPATH' ) ) {
|
35 |
*
|
36 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
37 |
* @since 1.0.1
|
38 |
+
* @var \Wbcr_Factory436_Plugin
|
39 |
*/
|
40 |
private $plugin;
|
41 |
|
46 |
*
|
47 |
* @since 1.0.0 Added
|
48 |
*
|
49 |
+
* @param \Wbcr_Factory436_Plugin $plugin
|
50 |
* @param string $content
|
51 |
*/
|
52 |
+
public function __construct( \Wbcr_Factory436_Plugin $plugin, $content ) {
|
53 |
|
54 |
$this->plugin = $plugin;
|
55 |
$this->content = $content;
|
libs/factory/adverts/includes/class-rest-request.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace WBCR\
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
-
if
|
7 |
exit;
|
8 |
}
|
9 |
|
@@ -65,7 +65,7 @@ class Creative_Motion_API {
|
|
65 |
*
|
66 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
67 |
* @since 1.0.1
|
68 |
-
* @var \
|
69 |
*/
|
70 |
private $plugin;
|
71 |
|
@@ -75,32 +75,34 @@ class Creative_Motion_API {
|
|
75 |
*
|
76 |
* Variable initialization.
|
77 |
*
|
|
|
78 |
* @since 1.0.0 Added
|
79 |
*
|
80 |
-
* @param \Wbcr_Factory422_Plugin $plugin_name
|
81 |
*/
|
82 |
-
public function __construct(
|
|
|
83 |
$this->plugin = $plugin;
|
84 |
}
|
85 |
|
86 |
/**
|
87 |
* Get adverts content.
|
88 |
*
|
89 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
90 |
-
* @since 1.0.1
|
91 |
-
*
|
92 |
* @param $position
|
93 |
*
|
94 |
* @return string|\WP_Error
|
|
|
|
|
|
|
95 |
*/
|
96 |
-
public function get_content(
|
97 |
-
|
|
|
98 |
|
99 |
-
if
|
100 |
return $data;
|
101 |
}
|
102 |
|
103 |
-
return strip_tags(
|
104 |
}
|
105 |
|
106 |
/**
|
@@ -108,47 +110,52 @@ class Creative_Motion_API {
|
|
108 |
*
|
109 |
* If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
|
110 |
*
|
111 |
-
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
112 |
-
*
|
113 |
-
* @since 1.0.1 Полностью переписан, с перехватом api ошибок
|
114 |
-
* @since 1.0.0 Added
|
115 |
-
*
|
116 |
* @return mixed array(
|
117 |
* 'plugin' => 'wbcr_insert_php',
|
118 |
* 'content' => '<p></p>',
|
119 |
* 'expires' => 1563542199,
|
120 |
* );
|
|
|
|
|
|
|
|
|
|
|
121 |
*/
|
122 |
-
private function get_cache(
|
|
|
123 |
|
124 |
-
if
|
125 |
-
return $this->do_api_request(
|
126 |
}
|
127 |
|
128 |
-
$key = $this->plugin->getPrefix() . md5(
|
|
|
|
|
|
|
|
|
129 |
|
130 |
-
$cached = get_transient(
|
131 |
|
132 |
-
if
|
133 |
-
if
|
134 |
-
return new \WP_Error(
|
135 |
}
|
136 |
|
137 |
return $cached;
|
138 |
}
|
139 |
|
140 |
-
$data = $this->do_api_request(
|
141 |
|
142 |
-
if
|
143 |
-
set_transient(
|
144 |
-
'error'
|
145 |
'error_code' => $data->get_error_code()
|
146 |
-
], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS
|
147 |
|
148 |
return $data;
|
149 |
}
|
150 |
|
151 |
-
set_transient(
|
152 |
|
153 |
return $data;
|
154 |
}
|
@@ -159,39 +166,52 @@ class Creative_Motion_API {
|
|
159 |
* In some case on the server (Apache) in the .htaccess must be set
|
160 |
* RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
|
161 |
*
|
162 |
-
* @since 1.0.1 Добавлен перехват ошибок, рефакторинг кода.
|
163 |
-
* @since 1.0.0 Added
|
164 |
-
*
|
165 |
* @return mixed array(
|
166 |
* 'plugin' => 'wbcr_insert_php',
|
167 |
* 'content' => '<p></p>',
|
168 |
* 'expires' => 1563542199,
|
169 |
* );
|
|
|
|
|
|
|
170 |
*/
|
171 |
-
private function do_api_request(
|
|
|
172 |
$default_result = [
|
173 |
'content' => '',
|
174 |
'expires' => self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS,
|
175 |
];
|
176 |
|
177 |
-
$url = untrailingslashit(
|
178 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
|
180 |
-
$response = wp_remote_get(
|
181 |
|
182 |
-
$code = wp_remote_retrieve_response_code(
|
183 |
-
$body = wp_remote_retrieve_body(
|
184 |
|
185 |
-
$data = @json_decode(
|
186 |
|
187 |
-
if
|
188 |
return $response;
|
189 |
}
|
190 |
|
191 |
-
if
|
192 |
-
return new \WP_Error(
|
193 |
}
|
194 |
|
195 |
-
return wp_parse_args(
|
196 |
}
|
197 |
}
|
1 |
<?php
|
2 |
|
3 |
+
namespace WBCR\Factory_Adverts_114;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
+
if( !defined('ABSPATH') ) {
|
7 |
exit;
|
8 |
}
|
9 |
|
65 |
*
|
66 |
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
67 |
* @since 1.0.1
|
68 |
+
* @var \Wbcr_Factory436_Plugin
|
69 |
*/
|
70 |
private $plugin;
|
71 |
|
75 |
*
|
76 |
* Variable initialization.
|
77 |
*
|
78 |
+
* @param \Wbcr_Factory436_Plugin $plugin_name
|
79 |
* @since 1.0.0 Added
|
80 |
*
|
|
|
81 |
*/
|
82 |
+
public function __construct(\Wbcr_Factory436_Plugin $plugin)
|
83 |
+
{
|
84 |
$this->plugin = $plugin;
|
85 |
}
|
86 |
|
87 |
/**
|
88 |
* Get adverts content.
|
89 |
*
|
|
|
|
|
|
|
90 |
* @param $position
|
91 |
*
|
92 |
* @return string|\WP_Error
|
93 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
94 |
+
* @since 1.0.1
|
95 |
+
*
|
96 |
*/
|
97 |
+
public function get_content($position)
|
98 |
+
{
|
99 |
+
$data = $this->get_cache($position);
|
100 |
|
101 |
+
if( is_wp_error($data) ) {
|
102 |
return $data;
|
103 |
}
|
104 |
|
105 |
+
return strip_tags($data['content'], '<b>,<a>,<i>,<strong>,<img>,<ul>,<ol>,<li>');
|
106 |
}
|
107 |
|
108 |
/**
|
110 |
*
|
111 |
* If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
|
112 |
*
|
|
|
|
|
|
|
|
|
|
|
113 |
* @return mixed array(
|
114 |
* 'plugin' => 'wbcr_insert_php',
|
115 |
* 'content' => '<p></p>',
|
116 |
* 'expires' => 1563542199,
|
117 |
* );
|
118 |
+
* @since 1.0.1 Полностью переписан, с перехватом api ошибок
|
119 |
+
* @since 1.0.0 Added
|
120 |
+
*
|
121 |
+
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
|
122 |
+
*
|
123 |
*/
|
124 |
+
private function get_cache($position)
|
125 |
+
{
|
126 |
|
127 |
+
if( defined('FACTORY_ADVERTS_DEBUG') && FACTORY_ADVERTS_DEBUG ) {
|
128 |
+
return $this->do_api_request($position);
|
129 |
}
|
130 |
|
131 |
+
$key = $this->plugin->getPrefix() . md5($position . 'adverts_transient_');
|
132 |
+
|
133 |
+
if( 'ru_RU' === get_locale() ) {
|
134 |
+
$key .= 'ru_';
|
135 |
+
}
|
136 |
|
137 |
+
$cached = get_transient($key);
|
138 |
|
139 |
+
if( $cached !== false ) {
|
140 |
+
if( isset($cached['error_code']) && isset($cached['error']) ) {
|
141 |
+
return new \WP_Error($cached['error_code'], $cached['error']);
|
142 |
}
|
143 |
|
144 |
return $cached;
|
145 |
}
|
146 |
|
147 |
+
$data = $this->do_api_request($position);
|
148 |
|
149 |
+
if( is_wp_error($data) ) {
|
150 |
+
set_transient($key, [
|
151 |
+
'error' => $data->get_error_message(),
|
152 |
'error_code' => $data->get_error_code()
|
153 |
+
], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS);
|
154 |
|
155 |
return $data;
|
156 |
}
|
157 |
|
158 |
+
set_transient($key, $data, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS);
|
159 |
|
160 |
return $data;
|
161 |
}
|
166 |
* In some case on the server (Apache) in the .htaccess must be set
|
167 |
* RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
|
168 |
*
|
|
|
|
|
|
|
169 |
* @return mixed array(
|
170 |
* 'plugin' => 'wbcr_insert_php',
|
171 |
* 'content' => '<p></p>',
|
172 |
* 'expires' => 1563542199,
|
173 |
* );
|
174 |
+
* @since 1.0.0 Added
|
175 |
+
*
|
176 |
+
* @since 1.0.1 Добавлен перехват ошибок, рефакторинг кода.
|
177 |
*/
|
178 |
+
private function do_api_request($position)
|
179 |
+
{
|
180 |
$default_result = [
|
181 |
'content' => '',
|
182 |
'expires' => self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS,
|
183 |
];
|
184 |
|
185 |
+
$url = untrailingslashit(self::SERVER_URL) . '/wp-json' . self::REST_ROUTE;
|
186 |
+
|
187 |
+
$ads_ID = $this->plugin->getPluginName();
|
188 |
+
|
189 |
+
if( 'ru_RU' === get_locale() ) {
|
190 |
+
$ads_ID .= '-ru';
|
191 |
+
}
|
192 |
+
|
193 |
+
$url = add_query_arg([
|
194 |
+
'plugin' => $ads_ID,
|
195 |
+
'position' => $position,
|
196 |
+
'plugin_title' => $this->plugin->getPluginTitle(),
|
197 |
+
'lang' => get_locale()
|
198 |
+
], $url);
|
199 |
|
200 |
+
$response = wp_remote_get($url);
|
201 |
|
202 |
+
$code = wp_remote_retrieve_response_code($response);
|
203 |
+
$body = wp_remote_retrieve_body($response);
|
204 |
|
205 |
+
$data = @json_decode($body, true);
|
206 |
|
207 |
+
if( is_wp_error($response) ) {
|
208 |
return $response;
|
209 |
}
|
210 |
|
211 |
+
if( 200 !== $code ) {
|
212 |
+
return new \WP_Error('http_request_error', 'Failed request to the remote server. Code: ' . $code);
|
213 |
}
|
214 |
|
215 |
+
return wp_parse_args($data, $default_result);
|
216 |
}
|
217 |
}
|
libs/factory/adverts/langs/wbcr_factory_adverts_102-ru_RU.mo
ADDED
Binary file
|
libs/factory/adverts/langs/wbcr_factory_adverts_102-ru_RU.po
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: factory_forms\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
|
20 |
+
#: includes/check-compatibility.php:80
|
21 |
+
msgid "warning"
|
22 |
+
msgstr "предупреждение"
|
23 |
+
|
24 |
+
#: includes/check-compatibility.php:82
|
25 |
+
#, php-format
|
26 |
+
msgid "The %s plugin has stopped."
|
27 |
+
msgstr "Работа плагина %s была остановлена."
|
28 |
+
|
29 |
+
#: includes/check-compatibility.php:83
|
30 |
+
msgid "Possible reasons:"
|
31 |
+
msgstr "Возможные причины:"
|
32 |
+
|
33 |
+
#: includes/check-compatibility.php:89
|
34 |
+
#, php-format
|
35 |
+
msgid "You need to update the PHP version to %s or higher!"
|
36 |
+
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
+
|
38 |
+
#: includes/check-compatibility.php:94
|
39 |
+
#, php-format
|
40 |
+
msgid "You need to update WordPress to %s or higher!"
|
41 |
+
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
+
|
43 |
+
#: includes/functions.php:132
|
44 |
+
#, php-format
|
45 |
+
msgid ""
|
46 |
+
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
+
msgstr ""
|
48 |
+
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
+
"Wordpress! Используйте %3$s."
|
50 |
+
|
51 |
+
#: includes/functions.php:134
|
52 |
+
#, php-format
|
53 |
+
msgid ""
|
54 |
+
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
+
"available."
|
56 |
+
msgstr ""
|
57 |
+
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
+
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
+
|
60 |
+
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
+
msgid ""
|
62 |
+
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
+
msgstr ""
|
64 |
+
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
+
|
66 |
+
#: includes/plugin.class.php:220
|
67 |
+
msgid ""
|
68 |
+
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
+
"Clicking this link will lead the user to a non-existent page."
|
70 |
+
msgstr ""
|
71 |
+
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
+
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
+
"к несуществующей странице."
|
74 |
+
|
75 |
+
#: includes/plugin.class.php:222
|
76 |
+
msgid ""
|
77 |
+
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
+
"earlier than the plugin menu will be registered."
|
79 |
+
msgstr ""
|
80 |
+
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
+
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
+
|
83 |
+
|
libs/factory/adverts/langs/wbcr_factory_adverts_105-ru_RU.mo
ADDED
Binary file
|
libs/factory/adverts/langs/wbcr_factory_adverts_105-ru_RU.po
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: factory_forms\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
|
20 |
+
#: includes/check-compatibility.php:80
|
21 |
+
msgid "warning"
|
22 |
+
msgstr "предупреждение"
|
23 |
+
|
24 |
+
#: includes/check-compatibility.php:82
|
25 |
+
#, php-format
|
26 |
+
msgid "The %s plugin has stopped."
|
27 |
+
msgstr "Работа плагина %s была остановлена."
|
28 |
+
|
29 |
+
#: includes/check-compatibility.php:83
|
30 |
+
msgid "Possible reasons:"
|
31 |
+
msgstr "Возможные причины:"
|
32 |
+
|
33 |
+
#: includes/check-compatibility.php:89
|
34 |
+
#, php-format
|
35 |
+
msgid "You need to update the PHP version to %s or higher!"
|
36 |
+
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
+
|
38 |
+
#: includes/check-compatibility.php:94
|
39 |
+
#, php-format
|
40 |
+
msgid "You need to update WordPress to %s or higher!"
|
41 |
+
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
+
|
43 |
+
#: includes/functions.php:132
|
44 |
+
#, php-format
|
45 |
+
msgid ""
|
46 |
+
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
+
msgstr ""
|
48 |
+
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
+
"Wordpress! Используйте %3$s."
|
50 |
+
|
51 |
+
#: includes/functions.php:134
|
52 |
+
#, php-format
|
53 |
+
msgid ""
|
54 |
+
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
+
"available."
|
56 |
+
msgstr ""
|
57 |
+
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
+
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
+
|
60 |
+
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
+
msgid ""
|
62 |
+
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
+
msgstr ""
|
64 |
+
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
+
|
66 |
+
#: includes/plugin.class.php:220
|
67 |
+
msgid ""
|
68 |
+
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
+
"Clicking this link will lead the user to a non-existent page."
|
70 |
+
msgstr ""
|
71 |
+
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
+
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
+
"к несуществующей странице."
|
74 |
+
|
75 |
+
#: includes/plugin.class.php:222
|
76 |
+
msgid ""
|
77 |
+
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
+
"earlier than the plugin menu will be registered."
|
79 |
+
msgstr ""
|
80 |
+
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
+
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
+
|
83 |
+
|
libs/factory/adverts/langs/wbcr_factory_adverts_107-ru_RU.mo
ADDED
Binary file
|
libs/factory/adverts/langs/wbcr_factory_adverts_107-ru_RU.po
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: factory_forms\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
|
20 |
+
#: includes/check-compatibility.php:80
|
21 |
+
msgid "warning"
|
22 |
+
msgstr "предупреждение"
|
23 |
+
|
24 |
+
#: includes/check-compatibility.php:82
|
25 |
+
#, php-format
|
26 |
+
msgid "The %s plugin has stopped."
|
27 |
+
msgstr "Работа плагина %s была остановлена."
|
28 |
+
|
29 |
+
#: includes/check-compatibility.php:83
|
30 |
+
msgid "Possible reasons:"
|
31 |
+
msgstr "Возможные причины:"
|
32 |
+
|
33 |
+
#: includes/check-compatibility.php:89
|
34 |
+
#, php-format
|
35 |
+
msgid "You need to update the PHP version to %s or higher!"
|
36 |
+
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
+
|
38 |
+
#: includes/check-compatibility.php:94
|
39 |
+
#, php-format
|
40 |
+
msgid "You need to update WordPress to %s or higher!"
|
41 |
+
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
+
|
43 |
+
#: includes/functions.php:132
|
44 |
+
#, php-format
|
45 |
+
msgid ""
|
46 |
+
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
+
msgstr ""
|
48 |
+
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
+
"Wordpress! Используйте %3$s."
|
50 |
+
|
51 |
+
#: includes/functions.php:134
|
52 |
+
#, php-format
|
53 |
+
msgid ""
|
54 |
+
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
+
"available."
|
56 |
+
msgstr ""
|
57 |
+
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
+
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
+
|
60 |
+
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
+
msgid ""
|
62 |
+
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
+
msgstr ""
|
64 |
+
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
+
|
66 |
+
#: includes/plugin.class.php:220
|
67 |
+
msgid ""
|
68 |
+
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
+
"Clicking this link will lead the user to a non-existent page."
|
70 |
+
msgstr ""
|
71 |
+
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
+
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
+
"к несуществующей странице."
|
74 |
+
|
75 |
+
#: includes/plugin.class.php:222
|
76 |
+
msgid ""
|
77 |
+
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
+
"earlier than the plugin menu will be registered."
|
79 |
+
msgstr ""
|
80 |
+
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
+
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
+
|
83 |
+
|
libs/factory/adverts/langs/wbcr_factory_adverts_108-ru_RU.mo
ADDED
Binary file
|
libs/factory/adverts/langs/wbcr_factory_adverts_108-ru_RU.po
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: factory_forms\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
|
20 |
+
#: includes/check-compatibility.php:80
|
21 |
+
msgid "warning"
|
22 |
+
msgstr "предупреждение"
|
23 |
+
|
24 |
+
#: includes/check-compatibility.php:82
|
25 |
+
#, php-format
|
26 |
+
msgid "The %s plugin has stopped."
|
27 |
+
msgstr "Работа плагина %s была остановлена."
|
28 |
+
|
29 |
+
#: includes/check-compatibility.php:83
|
30 |
+
msgid "Possible reasons:"
|
31 |
+
msgstr "Возможные причины:"
|
32 |
+
|
33 |
+
#: includes/check-compatibility.php:89
|
34 |
+
#, php-format
|
35 |
+
msgid "You need to update the PHP version to %s or higher!"
|
36 |
+
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
+
|
38 |
+
#: includes/check-compatibility.php:94
|
39 |
+
#, php-format
|
40 |
+
msgid "You need to update WordPress to %s or higher!"
|
41 |
+
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
+
|
43 |
+
#: includes/functions.php:132
|
44 |
+
#, php-format
|
45 |
+
msgid ""
|
46 |
+
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
+
msgstr ""
|
48 |
+
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
+
"Wordpress! Используйте %3$s."
|
50 |
+
|
51 |
+
#: includes/functions.php:134
|
52 |
+
#, php-format
|
53 |
+
msgid ""
|
54 |
+
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
+
"available."
|
56 |
+
msgstr ""
|
57 |
+
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
+
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
+
|
60 |
+
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
+
msgid ""
|
62 |
+
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
+
msgstr ""
|
64 |
+
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
+
|
66 |
+
#: includes/plugin.class.php:220
|
67 |
+
msgid ""
|
68 |
+
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
+
"Clicking this link will lead the user to a non-existent page."
|
70 |
+
msgstr ""
|
71 |
+
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
+
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
+
"к несуществующей странице."
|
74 |
+
|
75 |
+
#: includes/plugin.class.php:222
|
76 |
+
msgid ""
|
77 |
+
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
+
"earlier than the plugin menu will be registered."
|
79 |
+
msgstr ""
|
80 |
+
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
+
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
+
|
83 |
+
|
libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.mo
ADDED
Binary file
|
libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.po
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: factory_forms\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
|
20 |
+
#: includes/check-compatibility.php:80
|
21 |
+
msgid "warning"
|
22 |
+
msgstr "предупреждение"
|
23 |
+
|
24 |
+
#: includes/check-compatibility.php:82
|
25 |
+
#, php-format
|
26 |
+
msgid "The %s plugin has stopped."
|
27 |
+
msgstr "Работа плагина %s была остановлена."
|
28 |
+
|
29 |
+
#: includes/check-compatibility.php:83
|
30 |
+
msgid "Possible reasons:"
|
31 |
+
msgstr "Возможные причины:"
|
32 |
+
|
33 |
+
#: includes/check-compatibility.php:89
|
34 |
+
#, php-format
|
35 |
+
msgid "You need to update the PHP version to %s or higher!"
|
36 |
+
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
+
|
38 |
+
#: includes/check-compatibility.php:94
|
39 |
+
#, php-format
|
40 |
+
msgid "You need to update WordPress to %s or higher!"
|
41 |
+
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
+
|
43 |
+
#: includes/functions.php:132
|
44 |
+
#, php-format
|
45 |
+
msgid ""
|
46 |
+
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
+
msgstr ""
|
48 |
+
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
+
"Wordpress! Используйте %3$s."
|
50 |
+
|
51 |
+
#: includes/functions.php:134
|
52 |
+
#, php-format
|
53 |
+
msgid ""
|
54 |
+
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
+
"available."
|
56 |
+
msgstr ""
|
57 |
+
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
+
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
+
|
60 |
+
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
+
msgid ""
|
62 |
+
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
+
msgstr ""
|
64 |
+
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
+
|
66 |
+
#: includes/plugin.class.php:220
|
67 |
+
msgid ""
|
68 |
+
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
+
"Clicking this link will lead the user to a non-existent page."
|
70 |
+
msgstr ""
|
71 |
+
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
+
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
+
"к несуществующей странице."
|
74 |
+
|
75 |
+
#: includes/plugin.class.php:222
|
76 |
+
msgid ""
|
77 |
+
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
+
"earlier than the plugin menu will be registered."
|
79 |
+
msgstr ""
|
80 |
+
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
+
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
+
|
83 |
+
|
libs/factory/adverts/langs/wbcr_factory_adverts_114-ru_RU.mo
ADDED
Binary file
|
libs/factory/adverts/langs/wbcr_factory_adverts_114-ru_RU.po
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: factory_forms\n"
|
4 |
+
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
|
5 |
+
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
|
8 |
+
"Language: ru_RU\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.1.1\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
15 |
+
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
|
18 |
+
"X-Poedit-SearchPath-0: .\n"
|
19 |
+
|
20 |
+
#: includes/check-compatibility.php:80
|
21 |
+
msgid "warning"
|
22 |
+
msgstr "предупреждение"
|
23 |
+
|
24 |
+
#: includes/check-compatibility.php:82
|
25 |
+
#, php-format
|
26 |
+
msgid "The %s plugin has stopped."
|
27 |
+
msgstr "Работа плагина %s была остановлена."
|
28 |
+
|
29 |
+
#: includes/check-compatibility.php:83
|
30 |
+
msgid "Possible reasons:"
|
31 |
+
msgstr "Возможные причины:"
|
32 |
+
|
33 |
+
#: includes/check-compatibility.php:89
|
34 |
+
#, php-format
|
35 |
+
msgid "You need to update the PHP version to %s or higher!"
|
36 |
+
msgstr "Вам нужно обновить версию PHP до %s или выше!"
|
37 |
+
|
38 |
+
#: includes/check-compatibility.php:94
|
39 |
+
#, php-format
|
40 |
+
msgid "You need to update WordPress to %s or higher!"
|
41 |
+
msgstr "Вам нужно обновить WordPress до %s или выше!"
|
42 |
+
|
43 |
+
#: includes/functions.php:132
|
44 |
+
#, php-format
|
45 |
+
msgid ""
|
46 |
+
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
|
47 |
+
msgstr ""
|
48 |
+
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
|
49 |
+
"Wordpress! Используйте %3$s."
|
50 |
+
|
51 |
+
#: includes/functions.php:134
|
52 |
+
#, php-format
|
53 |
+
msgid ""
|
54 |
+
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
|
55 |
+
"available."
|
56 |
+
msgstr ""
|
57 |
+
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
|
58 |
+
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
|
59 |
+
|
60 |
+
#: includes/plugin.class.php:202 includes/plugin.class.php:237
|
61 |
+
msgid ""
|
62 |
+
"You are trying to call this earlier than the plugin menu will be registered."
|
63 |
+
msgstr ""
|
64 |
+
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
|
65 |
+
|
66 |
+
#: includes/plugin.class.php:220
|
67 |
+
msgid ""
|
68 |
+
"You are trying to get a link to a page that does not have multisite mode. "
|
69 |
+
"Clicking this link will lead the user to a non-existent page."
|
70 |
+
msgstr ""
|
71 |
+
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
|
72 |
+
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
|
73 |
+
"к несуществующей странице."
|
74 |
+
|
75 |
+
#: includes/plugin.class.php:222
|
76 |
+
msgid ""
|
77 |
+
"Trying to get a link to an unregistered page. You are trying to call this "
|
78 |
+
"earlier than the plugin menu will be registered."
|
79 |
+
msgstr ""
|
80 |
+
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
|
81 |
+
"вызвать это раньше, чем будет зарегистрировано меню плагина."
|
82 |
+
|
83 |
+
|
libs/factory/adverts/readme.txt
ADDED
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Plugin Name ===
|
2 |
+
Contributors: nechii
|
3 |
+
Tags: ad, advertisment, module
|
4 |
+
Requires at least: 4.2
|
5 |
+
Tested up to: 5.2
|
6 |
+
Stable tag: 1.2.0
|
7 |
+
Requires PHP: 5.4
|
8 |
+
|
9 |
+
Module adds ad units to plugins.
|
10 |
+
|
11 |
+
== Description ==
|
12 |
+
|
13 |
+
The module allows you to add the specified ad blocks to the plugins.
|
14 |
+
|
15 |
+
Managing and storing the content of each block occurs in special side plugin.
|
16 |
+
|
17 |
+
To add the necessary blocks, you need to add the following code to the main plugin file:
|
18 |
+
if ( is_admin() ) {
|
19 |
+
global $wbcr_plugin_name_adinserter;
|
20 |
+
|
21 |
+
$wbcr_plugin_name_adinserter = new WBCR\Factory_Adverts_000\Base(
|
22 |
+
__FILE__,
|
23 |
+
array_merge(
|
24 |
+
$plugin_info,
|
25 |
+
array(
|
26 |
+
'dashboard_widget' => true, // show dashboard widget (default: false)
|
27 |
+
'right_sidebar' => true, // show adverts sidebar (default: false)
|
28 |
+
'notice' => true, // show notice message (default: false)
|
29 |
+
)
|
30 |
+
)
|
31 |
+
);
|
32 |
+
}
|
33 |
+
In this example, three ad blocks will be added: dashboard_widget, right_sidebar and notice.
|
34 |
+
|
35 |
+
It is possible to add an ad block manually. To do this, in the specific place of the code you need to insert the following code:
|
36 |
+
global $wbcr_plugin_name_adinserter;
|
37 |
+
echo $wbcr_plugin_name_adinserter->get_adverts( 'right_sidebar' );
|
38 |
+
In this example will be displayed content for ad block 'right_sidebar';
|
39 |
+
|
40 |
+
== Changelog ==
|
41 |
+
|
42 |
+
= 1.2.3 =
|
43 |
+
* Set dashboard widget first in order
|
44 |
+
|
45 |
+
= 1.2.2 =
|
46 |
+
* Changed the name of a global variable and its use rule
|
47 |
+
|
48 |
+
= 1.2.1 =
|
49 |
+
* Moved constant for rest request url from wp-config.php to boot.php
|
50 |
+
|
51 |
+
= 1.2.0 =
|
52 |
+
* Removed rest request. Only get request available.
|
53 |
+
* Cleaning and refactoring code.
|
54 |
+
|
55 |
+
= 1.1.0 =
|
56 |
+
* Add new notice functions.
|
57 |
+
* Cleaning and refactoring code.
|
58 |
+
|
59 |
+
= 1.0.0 =
|
60 |
+
* Cleaning and refactoring code.
|
61 |
+
* Add doc blocks.
|
62 |
+
* Some fixes and changes.
|
63 |
+
|
64 |
+
= 0.9.0 =
|
65 |
+
* Added new blocks.
|
66 |
+
* Fixed widget functions.
|
67 |
+
|
68 |
+
= 0.8.0 =
|
69 |
+
* Added notice block.
|
70 |
+
* Added constants for unique dashboard notice.
|
71 |
+
* Fixed widget functions.
|
72 |
+
|
73 |
+
= 0.7.0 =
|
74 |
+
* Added constants for unique dashboard widget.
|
75 |
+
* Fixed widget functions.
|
76 |
+
|
77 |
+
= 0.6.0 =
|
78 |
+
* Improve widget functions.
|
79 |
+
* Fixed cache functions.
|
80 |
+
|
81 |
+
= 0.5.0 =
|
82 |
+
* Added default rest response.
|
83 |
+
* Fixed rest request.
|
84 |
+
|
85 |
+
= 0.4.0 =
|
86 |
+
* Fixed rest request response.
|
87 |
+
* Fixed base functions.
|
88 |
+
|
89 |
+
= 0.3.0 =
|
90 |
+
* Improve rest request.
|
91 |
+
* Fixed requests functions.
|
92 |
+
|
93 |
+
= 0.2.0 =
|
94 |
+
* Added expiration time for cached data.
|
95 |
+
* Fixed cache functions.
|
96 |
+
|
97 |
+
= 0.1.0 =
|
98 |
+
* Version with base functions.
|
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-436 .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-436 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-436 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-436 .factory-accordion-item{display:none}.factory-bootstrap-436 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-436 .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-436 .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-436 .btn-primary:focus,.factory-bootstrap-436 .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-436 .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-436 .btn-primary:disabled,.factory-bootstrap-436 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-436 .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-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{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-436 .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-436 .btn-primary:focus,.factory-bootstrap-436 .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-436 .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-436 .btn-primary:disabled,.factory-bootstrap-436 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-436 .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-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{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-423 article,.factory-bootstrap-423 aside,.factory-bootstrap-423 details,.factory-bootstrap-423 figcaption,.factory-bootstrap-423 figure,.factory-bootstrap-423 footer,.factory-bootstrap-423 header,.factory-bootstrap-423 hgroup,.factory-bootstrap-423 main,.factory-bootstrap-423 nav,.factory-bootstrap-423 section,.factory-bootstrap-423 summary{display:block}.factory-bootstrap-423 audio,.factory-bootstrap-423 canvas,.factory-bootstrap-423 video{display:inline-block}.factory-bootstrap-423 audio:not([controls]){display:none;height:0}.factory-bootstrap-423 [hidden],.factory-bootstrap-423 template{display:none}.factory-bootstrap-423 body{margin:0}.factory-bootstrap-423 a{background:0 0}.factory-bootstrap-423 a:focus{outline:thin dotted}.factory-bootstrap-423 a:active,.factory-bootstrap-423 a:hover{outline:0}.factory-bootstrap-423 h1{margin:.67em 0}.factory-bootstrap-423 b,.factory-bootstrap-423 strong{font-weight:700}.factory-bootstrap-423 dfn{font-style:italic}.factory-bootstrap-423 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-423 mark{color:#000;background:#ff0}.factory-bootstrap-423 code,.factory-bootstrap-423 kbd,.factory-bootstrap-423 pre,.factory-bootstrap-423 samp{font-size:1em}.factory-bootstrap-423 pre{white-space:pre-wrap}.factory-bootstrap-423 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-423 sub,.factory-bootstrap-423 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-423 sup{top:-.5em}.factory-bootstrap-423 sub{bottom:-.25em}.factory-bootstrap-423 img{border:0}.factory-bootstrap-423 svg:not(:root){overflow:hidden}.factory-bootstrap-423 figure{margin:0}.factory-bootstrap-423 button,.factory-bootstrap-423 input,.factory-bootstrap-423 select,.factory-bootstrap-423 textarea{margin:0}.factory-bootstrap-423 button,.factory-bootstrap-423 select{text-transform:none}.factory-bootstrap-423 select{padding-right:4px!important}.factory-bootstrap-423 button,.factory-bootstrap-423 input[type=reset],.factory-bootstrap-423 input[type=submit],html .factory-bootstrap-423 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-423 button[disabled],html .factory-bootstrap-423 input[disabled]{cursor:default}.factory-bootstrap-423 input[type=checkbox],.factory-bootstrap-423 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-423 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-423 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-423 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-423 button::-moz-focus-inner,.factory-bootstrap-423 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-423 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-423 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-423 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-423 a,.factory-bootstrap-423 a:visited{text-decoration:underline}.factory-bootstrap-423 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-423 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-423 a[href^="javascript:"]:after,.factory-bootstrap-423 a[href^="#"]:after{content:""}.factory-bootstrap-423 blockquote,.factory-bootstrap-423 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-423 thead{display:table-header-group}.factory-bootstrap-423 img,.factory-bootstrap-423 tr{page-break-inside:avoid}.factory-bootstrap-423 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-423 h2,.factory-bootstrap-423 h3,.factory-bootstrap-423 p{orphans:3;widows:3}.factory-bootstrap-423 h2,.factory-bootstrap-423 h3{page-break-after:avoid}.factory-bootstrap-423 select{background:#fff!important}.factory-bootstrap-423 .navbar{display:none}.factory-bootstrap-423 .table td,.factory-bootstrap-423 .table th{background-color:#fff!important}.factory-bootstrap-423 .btn>.caret,.factory-bootstrap-423 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-423 .label{border:1px solid #000}.factory-bootstrap-423 .table{border-collapse:collapse!important}.factory-bootstrap-423 .table-bordered td,.factory-bootstrap-423 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-423 *,.factory-bootstrap-423 :after,.factory-bootstrap-423 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-423{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-423 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-423 button,.factory-bootstrap-423 input,.factory-bootstrap-423 select,.factory-bootstrap-423 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-423 img{vertical-align:middle}.factory-bootstrap-423 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-423 .img-rounded{border-radius:6px}.factory-bootstrap-423 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-423 .img-circle{border-radius:50%}.factory-bootstrap-423 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-423 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-423 .h1,.factory-bootstrap-423 .h2,.factory-bootstrap-423 .h3,.factory-bootstrap-423 .h4,.factory-bootstrap-423 .h5,.factory-bootstrap-423 .h6,.factory-bootstrap-423 h1,.factory-bootstrap-423 h2,.factory-bootstrap-423 h3,.factory-bootstrap-423 h4,.factory-bootstrap-423 h5,.factory-bootstrap-423 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-423 .h1 .small,.factory-bootstrap-423 .h1 small,.factory-bootstrap-423 .h2 .small,.factory-bootstrap-423 .h2 small,.factory-bootstrap-423 .h3 .small,.factory-bootstrap-423 .h3 small,.factory-bootstrap-423 .h4 .small,.factory-bootstrap-423 .h4 small,.factory-bootstrap-423 .h5 .small,.factory-bootstrap-423 .h5 small,.factory-bootstrap-423 .h6 .small,.factory-bootstrap-423 .h6 small,.factory-bootstrap-423 h1 .small,.factory-bootstrap-423 h1 small,.factory-bootstrap-423 h2 .small,.factory-bootstrap-423 h2 small,.factory-bootstrap-423 h3 .small,.factory-bootstrap-423 h3 small,.factory-bootstrap-423 h4 .small,.factory-bootstrap-423 h4 small,.factory-bootstrap-423 h5 .small,.factory-bootstrap-423 h5 small,.factory-bootstrap-423 h6 .small,.factory-bootstrap-423 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-423 h1,.factory-bootstrap-423 h2,.factory-bootstrap-423 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-423 h1 .small,.factory-bootstrap-423 h1 small,.factory-bootstrap-423 h2 .small,.factory-bootstrap-423 h2 small,.factory-bootstrap-423 h3 .small,.factory-bootstrap-423 h3 small{font-size:65%}.factory-bootstrap-423 h4,.factory-bootstrap-423 h5,.factory-bootstrap-423 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-423 h4 .small,.factory-bootstrap-423 h4 small,.factory-bootstrap-423 h5 .small,.factory-bootstrap-423 h5 small,.factory-bootstrap-423 h6 .small,.factory-bootstrap-423 h6 small{font-size:75%}.factory-bootstrap-423 .h1,.factory-bootstrap-423 h1{font-size:36px}.factory-bootstrap-423 .h2,.factory-bootstrap-423 h2{font-size:30px}.factory-bootstrap-423 .h3,.factory-bootstrap-423 h3{font-size:24px}.factory-bootstrap-423 .h4,.factory-bootstrap-423 h4{font-size:18px}.factory-bootstrap-423 .h5,.factory-bootstrap-423 h5{font-size:14px}.factory-bootstrap-423 .h6,.factory-bootstrap-423 h6{font-size:12px}.factory-bootstrap-423 p{margin:0 0 10px}.factory-bootstrap-423 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-423 .small,.factory-bootstrap-423 small{font-size:85%}.factory-bootstrap-423 cite{font-style:normal}.factory-bootstrap-423 .text-muted{color:#999}.factory-bootstrap-423 .text-primary{color:#428bca}.factory-bootstrap-423 .text-primary:hover{color:#3071a9}.factory-bootstrap-423 .text-warning{color:#8a6d3b}.factory-bootstrap-423 .text-warning:hover{color:#66512c}.factory-bootstrap-423 .text-danger{color:#a94442}.factory-bootstrap-423 .text-danger:hover{color:#843534}.factory-bootstrap-423 .text-success{color:#3c763d}.factory-bootstrap-423 .text-success:hover{color:#2b542c}.factory-bootstrap-423 .text-info{color:#31708f}.factory-bootstrap-423 .text-info:hover{color:#245269}.factory-bootstrap-423 .text-left{text-align:left}.factory-bootstrap-423 .text-right{text-align:right}.factory-bootstrap-423 .text-center{text-align:center}.factory-bootstrap-423 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-423 ol,.factory-bootstrap-423 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-423 ol ol,.factory-bootstrap-423 ol ul,.factory-bootstrap-423 ul ol,.factory-bootstrap-423 ul ul{margin-bottom:0}.factory-bootstrap-423 .list-inline,.factory-bootstrap-423 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-423 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-423 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-423 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-423 dd,.factory-bootstrap-423 dt{line-height:1.428571429}.factory-bootstrap-423 dt{font-weight:700}.factory-bootstrap-423 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-423 abbr[data-original-title],.factory-bootstrap-423 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-423 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-423 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-423 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-423 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-423 blockquote .small,.factory-bootstrap-423 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-423 blockquote .small:before,.factory-bootstrap-423 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-423 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-423 blockquote.pull-right .small,.factory-bootstrap-423 blockquote.pull-right p,.factory-bootstrap-423 blockquote.pull-right small{text-align:right}.factory-bootstrap-423 blockquote.pull-right .small:before,.factory-bootstrap-423 blockquote.pull-right small:before{content:''}.factory-bootstrap-423 blockquote.pull-right .small:after,.factory-bootstrap-423 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-423 blockquote:after,.factory-bootstrap-423 blockquote:before{content:""}.factory-bootstrap-423 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-423 code,.factory-bootstrap-423 kbd,.factory-bootstrap-423 pre,.factory-bootstrap-423 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-423 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-423 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-423 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-423 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-423 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-423 .container:after,.factory-bootstrap-423 .container:before{display:table;content:" "}.factory-bootstrap-423 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-423 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-423 .row:after,.factory-bootstrap-423 .row:before{display:table;content:" "}.factory-bootstrap-423 .row:after{clear:both}.factory-bootstrap-423 .col-lg-1,.factory-bootstrap-423 .col-lg-10,.factory-bootstrap-423 .col-lg-11,.factory-bootstrap-423 .col-lg-12,.factory-bootstrap-423 .col-lg-2,.factory-bootstrap-423 .col-lg-3,.factory-bootstrap-423 .col-lg-4,.factory-bootstrap-423 .col-lg-5,.factory-bootstrap-423 .col-lg-6,.factory-bootstrap-423 .col-lg-7,.factory-bootstrap-423 .col-lg-8,.factory-bootstrap-423 .col-lg-9,.factory-bootstrap-423 .col-md-1,.factory-bootstrap-423 .col-md-10,.factory-bootstrap-423 .col-md-11,.factory-bootstrap-423 .col-md-12,.factory-bootstrap-423 .col-md-2,.factory-bootstrap-423 .col-md-3,.factory-bootstrap-423 .col-md-4,.factory-bootstrap-423 .col-md-5,.factory-bootstrap-423 .col-md-6,.factory-bootstrap-423 .col-md-7,.factory-bootstrap-423 .col-md-8,.factory-bootstrap-423 .col-md-9,.factory-bootstrap-423 .col-sm-1,.factory-bootstrap-423 .col-sm-10,.factory-bootstrap-423 .col-sm-11,.factory-bootstrap-423 .col-sm-12,.factory-bootstrap-423 .col-sm-2,.factory-bootstrap-423 .col-sm-3,.factory-bootstrap-423 .col-sm-4,.factory-bootstrap-423 .col-sm-5,.factory-bootstrap-423 .col-sm-6,.factory-bootstrap-423 .col-sm-7,.factory-bootstrap-423 .col-sm-8,.factory-bootstrap-423 .col-sm-9,.factory-bootstrap-423 .col-xs-1,.factory-bootstrap-423 .col-xs-10,.factory-bootstrap-423 .col-xs-11,.factory-bootstrap-423 .col-xs-12,.factory-bootstrap-423 .col-xs-2,.factory-bootstrap-423 .col-xs-3,.factory-bootstrap-423 .col-xs-4,.factory-bootstrap-423 .col-xs-5,.factory-bootstrap-423 .col-xs-6,.factory-bootstrap-423 .col-xs-7,.factory-bootstrap-423 .col-xs-8,.factory-bootstrap-423 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-423 .col-xs-1,.factory-bootstrap-423 .col-xs-10,.factory-bootstrap-423 .col-xs-11,.factory-bootstrap-423 .col-xs-12,.factory-bootstrap-423 .col-xs-2,.factory-bootstrap-423 .col-xs-3,.factory-bootstrap-423 .col-xs-4,.factory-bootstrap-423 .col-xs-5,.factory-bootstrap-423 .col-xs-6,.factory-bootstrap-423 .col-xs-7,.factory-bootstrap-423 .col-xs-8,.factory-bootstrap-423 .col-xs-9{float:left}.factory-bootstrap-423 .col-xs-12{width:100%}.factory-bootstrap-423 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-423 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-423 .col-xs-9{width:75%}.factory-bootstrap-423 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-423 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-423 .col-xs-6{width:50%}.factory-bootstrap-423 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-423 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-423 .col-xs-3{width:25%}.factory-bootstrap-423 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-423 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-423 .col-xs-pull-12{right:100%}.factory-bootstrap-423 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-423 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-423 .col-xs-pull-9{right:75%}.factory-bootstrap-423 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-423 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-423 .col-xs-pull-6{right:50%}.factory-bootstrap-423 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-423 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-423 .col-xs-pull-3{right:25%}.factory-bootstrap-423 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-423 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-423 .col-xs-pull-0{right:0}.factory-bootstrap-423 .col-xs-push-12{left:100%}.factory-bootstrap-423 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-423 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-423 .col-xs-push-9{left:75%}.factory-bootstrap-423 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-423 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-423 .col-xs-push-6{left:50%}.factory-bootstrap-423 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-423 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-423 .col-xs-push-3{left:25%}.factory-bootstrap-423 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-423 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-423 .col-xs-push-0{left:0}.factory-bootstrap-423 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-423 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-423 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-423 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-423 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-423 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-423 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-423 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-423 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-423 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-423 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-423 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-423 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-423 table{max-width:100%;background-color:transparent}.factory-bootstrap-423 th{text-align:left}.factory-bootstrap-423 .table{width:100%;margin-bottom:20px}.factory-bootstrap-423 .table>tbody>tr>td,.factory-bootstrap-423 .table>tbody>tr>th,.factory-bootstrap-423 .table>tfoot>tr>td,.factory-bootstrap-423 .table>tfoot>tr>th,.factory-bootstrap-423 .table>thead>tr>td,.factory-bootstrap-423 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-423 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-423 .table>caption+thead>tr:first-child>td,.factory-bootstrap-423 .table>caption+thead>tr:first-child>th,.factory-bootstrap-423 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-423 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-423 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-423 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-423 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-423 .table .table{background-color:#fff}.factory-bootstrap-423 .table-condensed>tbody>tr>td,.factory-bootstrap-423 .table-condensed>tbody>tr>th,.factory-bootstrap-423 .table-condensed>tfoot>tr>td,.factory-bootstrap-423 .table-condensed>tfoot>tr>th,.factory-bootstrap-423 .table-condensed>thead>tr>td,.factory-bootstrap-423 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-423 .table-bordered,.factory-bootstrap-423 .table-bordered>tbody>tr>td,.factory-bootstrap-423 .table-bordered>tbody>tr>th,.factory-bootstrap-423 .table-bordered>tfoot>tr>td,.factory-bootstrap-423 .table-bordered>tfoot>tr>th,.factory-bootstrap-423 .table-bordered>thead>tr>td,.factory-bootstrap-423 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-423 .table-bordered>thead>tr>td,.factory-bootstrap-423 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-423 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-423 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-423 .table-hover>tbody>tr:hover>td,.factory-bootstrap-423 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-423 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-423 table td[class*=col-],.factory-bootstrap-423 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-423 .table>tbody>.active>td,.factory-bootstrap-423 .table>tbody>.active>th,.factory-bootstrap-423 .table>tbody>tr>.active,.factory-bootstrap-423 .table>tfoot>.active>td,.factory-bootstrap-423 .table>tfoot>.active>th,.factory-bootstrap-423 .table>tfoot>tr>.active,.factory-bootstrap-423 .table>thead>.active>td,.factory-bootstrap-423 .table>thead>.active>th,.factory-bootstrap-423 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-423 .table-hover>tbody>.active:hover>td,.factory-bootstrap-423 .table-hover>tbody>.active:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-423 .table>tbody>.success>td,.factory-bootstrap-423 .table>tbody>.success>th,.factory-bootstrap-423 .table>tbody>tr>.success,.factory-bootstrap-423 .table>tfoot>.success>td,.factory-bootstrap-423 .table>tfoot>.success>th,.factory-bootstrap-423 .table>tfoot>tr>.success,.factory-bootstrap-423 .table>thead>.success>td,.factory-bootstrap-423 .table>thead>.success>th,.factory-bootstrap-423 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-423 .table-hover>tbody>.success:hover>td,.factory-bootstrap-423 .table-hover>tbody>.success:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-423 .table>tbody>.danger>td,.factory-bootstrap-423 .table>tbody>.danger>th,.factory-bootstrap-423 .table>tbody>tr>.danger,.factory-bootstrap-423 .table>tfoot>.danger>td,.factory-bootstrap-423 .table>tfoot>.danger>th,.factory-bootstrap-423 .table>tfoot>tr>.danger,.factory-bootstrap-423 .table>thead>.danger>td,.factory-bootstrap-423 .table>thead>.danger>th,.factory-bootstrap-423 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-423 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-423 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-423 .table>tbody>.warning>td,.factory-bootstrap-423 .table>tbody>.warning>th,.factory-bootstrap-423 .table>tbody>tr>.warning,.factory-bootstrap-423 .table>tfoot>.warning>td,.factory-bootstrap-423 .table>tfoot>.warning>th,.factory-bootstrap-423 .table>tfoot>tr>.warning,.factory-bootstrap-423 .table>thead>.warning>td,.factory-bootstrap-423 .table>thead>.warning>th,.factory-bootstrap-423 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-423 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-423 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-423 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-423 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-423 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-423 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-423 input[type=checkbox],.factory-bootstrap-423 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-423 input[type=file]{display:block}.factory-bootstrap-423 select[multiple],.factory-bootstrap-423 select[size]{height:auto}.factory-bootstrap-423 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-423 input[type=checkbox]:focus,.factory-bootstrap-423 input[type=file]:focus,.factory-bootstrap-423 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-423 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-423 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-423 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-423 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-423 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-423 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-423 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-423 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-423 .form-control[disabled],.factory-bootstrap-423 .form-control[readonly],.factory-bootstrap-423 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-423 textarea.form-control{height:auto}.factory-bootstrap-423 .form-group{margin-bottom:15px}.factory-bootstrap-423 .checkbox,.factory-bootstrap-423 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-423 .checkbox label,.factory-bootstrap-423 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-423 .checkbox input[type=checkbox],.factory-bootstrap-423 .checkbox-inline input[type=checkbox],.factory-bootstrap-423 .radio input[type=radio],.factory-bootstrap-423 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-423 .checkbox+.checkbox,.factory-bootstrap-423 .radio+.radio{margin-top:-5px}.factory-bootstrap-423 .checkbox-inline,.factory-bootstrap-423 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-423 .checkbox-inline+.checkbox-inline,.factory-bootstrap-423 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-423 .checkbox-inline[disabled],.factory-bootstrap-423 .checkbox[disabled],.factory-bootstrap-423 .radio-inline[disabled],.factory-bootstrap-423 .radio[disabled],.factory-bootstrap-423 fieldset[disabled] .checkbox,.factory-bootstrap-423 fieldset[disabled] .checkbox-inline,.factory-bootstrap-423 fieldset[disabled] .radio,.factory-bootstrap-423 fieldset[disabled] .radio-inline,.factory-bootstrap-423 fieldset[disabled] input[type=checkbox],.factory-bootstrap-423 fieldset[disabled] input[type=radio],.factory-bootstrap-423 input[type=checkbox][disabled],.factory-bootstrap-423 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-423 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-423 textarea.input-sm{height:auto}.factory-bootstrap-423 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-423 textarea.input-lg{height:auto}.factory-bootstrap-423 .has-warning .checkbox,.factory-bootstrap-423 .has-warning .checkbox-inline,.factory-bootstrap-423 .has-warning .control-label,.factory-bootstrap-423 .has-warning .help-block,.factory-bootstrap-423 .has-warning .radio,.factory-bootstrap-423 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-423 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-423 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-423 .has-error .checkbox,.factory-bootstrap-423 .has-error .checkbox-inline,.factory-bootstrap-423 .has-error .control-label,.factory-bootstrap-423 .has-error .help-block,.factory-bootstrap-423 .has-error .radio,.factory-bootstrap-423 .has-error .radio-inline{color:#a94442}.factory-bootstrap-423 .controls{display:block}.factory-bootstrap-423 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-423 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-423 .has-success .checkbox,.factory-bootstrap-423 .has-success .checkbox-inline,.factory-bootstrap-423 .has-success .control-label,.factory-bootstrap-423 .has-success .help-block,.factory-bootstrap-423 .has-success .radio,.factory-bootstrap-423 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-423 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-423 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-423 .form-control-static{margin-bottom:0}.factory-bootstrap-423 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-423 .form-horizontal .checkbox,.factory-bootstrap-423 .form-horizontal .checkbox-inline,.factory-bootstrap-423 .form-horizontal .control-label,.factory-bootstrap-423 .form-horizontal .radio,.factory-bootstrap-423 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-423 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-423 .form-horizontal .checkbox,.factory-bootstrap-423 .form-horizontal .radio{min-height:27px}.factory-bootstrap-423 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-423 .form-horizontal .form-group:after,.factory-bootstrap-423 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-423 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-423 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-423 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-423 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-423 .btn{text-decoration:none}.factory-bootstrap-423 .btn:focus,.factory-bootstrap-423 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-423 .btn.disabled,.factory-bootstrap-423 .btn[disabled],.factory-bootstrap-423 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .btn-default:focus,.factory-bootstrap-423 .btn-default:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-423 .btn-default.disabled,.factory-bootstrap-423 .btn-default.disabled.active,.factory-bootstrap-423 .btn-default.disabled:active,.factory-bootstrap-423 .btn-default.disabled:focus,.factory-bootstrap-423 .btn-default.disabled:hover,.factory-bootstrap-423 .btn-default[disabled],.factory-bootstrap-423 .btn-default[disabled].active,.factory-bootstrap-423 .btn-default[disabled]:active,.factory-bootstrap-423 .btn-default[disabled]:focus,.factory-bootstrap-423 .btn-default[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-default,.factory-bootstrap-423 fieldset[disabled] .btn-default.active,.factory-bootstrap-423 fieldset[disabled] .btn-default:active,.factory-bootstrap-423 fieldset[disabled] .btn-default:focus,.factory-bootstrap-423 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-423 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-423 .btn-primary.disabled,.factory-bootstrap-423 .btn-primary.disabled.active,.factory-bootstrap-423 .btn-primary.disabled:active,.factory-bootstrap-423 .btn-primary.disabled:focus,.factory-bootstrap-423 .btn-primary.disabled:hover,.factory-bootstrap-423 .btn-primary[disabled],.factory-bootstrap-423 .btn-primary[disabled].active,.factory-bootstrap-423 .btn-primary[disabled]:active,.factory-bootstrap-423 .btn-primary[disabled]:focus,.factory-bootstrap-423 .btn-primary[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-primary,.factory-bootstrap-423 fieldset[disabled] .btn-primary.active,.factory-bootstrap-423 fieldset[disabled] .btn-primary:active,.factory-bootstrap-423 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-423 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-423 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-423 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active,.factory-bootstrap-423 .btn-warning:focus,.factory-bootstrap-423 .btn-warning:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-423 .btn-warning.disabled,.factory-bootstrap-423 .btn-warning.disabled.active,.factory-bootstrap-423 .btn-warning.disabled:active,.factory-bootstrap-423 .btn-warning.disabled:focus,.factory-bootstrap-423 .btn-warning.disabled:hover,.factory-bootstrap-423 .btn-warning[disabled],.factory-bootstrap-423 .btn-warning[disabled].active,.factory-bootstrap-423 .btn-warning[disabled]:active,.factory-bootstrap-423 .btn-warning[disabled]:focus,.factory-bootstrap-423 .btn-warning[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-warning,.factory-bootstrap-423 fieldset[disabled] .btn-warning.active,.factory-bootstrap-423 fieldset[disabled] .btn-warning:active,.factory-bootstrap-423 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-423 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-423 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-423 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .btn-success:focus,.factory-bootstrap-423 .btn-success:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-423 .btn-success.disabled,.factory-bootstrap-423 .btn-success.disabled.active,.factory-bootstrap-423 .btn-success.disabled:active,.factory-bootstrap-423 .btn-success.disabled:focus,.factory-bootstrap-423 .btn-success.disabled:hover,.factory-bootstrap-423 .btn-success[disabled],.factory-bootstrap-423 .btn-success[disabled].active,.factory-bootstrap-423 .btn-success[disabled]:active,.factory-bootstrap-423 .btn-success[disabled]:focus,.factory-bootstrap-423 .btn-success[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-success,.factory-bootstrap-423 fieldset[disabled] .btn-success.active,.factory-bootstrap-423 fieldset[disabled] .btn-success:active,.factory-bootstrap-423 fieldset[disabled] .btn-success:focus,.factory-bootstrap-423 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-423 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-423 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .btn-info:focus,.factory-bootstrap-423 .btn-info:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-423 .btn-info.disabled,.factory-bootstrap-423 .btn-info.disabled.active,.factory-bootstrap-423 .btn-info.disabled:active,.factory-bootstrap-423 .btn-info.disabled:focus,.factory-bootstrap-423 .btn-info.disabled:hover,.factory-bootstrap-423 .btn-info[disabled],.factory-bootstrap-423 .btn-info[disabled].active,.factory-bootstrap-423 .btn-info[disabled]:active,.factory-bootstrap-423 .btn-info[disabled]:focus,.factory-bootstrap-423 .btn-info[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-info,.factory-bootstrap-423 fieldset[disabled] .btn-info.active,.factory-bootstrap-423 fieldset[disabled] .btn-info:active,.factory-bootstrap-423 fieldset[disabled] .btn-info:focus,.factory-bootstrap-423 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-423 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-423 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-423 .btn-link,.factory-bootstrap-423 .btn-link:active,.factory-bootstrap-423 .btn-link[disabled],.factory-bootstrap-423 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-link,.factory-bootstrap-423 .btn-link:active,.factory-bootstrap-423 .btn-link:focus,.factory-bootstrap-423 .btn-link:hover{border-color:transparent}.factory-bootstrap-423 .btn-link:focus,.factory-bootstrap-423 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-423 .btn-link[disabled]:focus,.factory-bootstrap-423 .btn-link[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-link:focus,.factory-bootstrap-423 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-423 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-423 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-423 input[type=button].btn-block,.factory-bootstrap-423 input[type=reset].btn-block,.factory-bootstrap-423 input[type=submit].btn-block{width:100%}.factory-bootstrap-423 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-423 .fade.in{opacity:1}.factory-bootstrap-423 .collapse{display:none}.factory-bootstrap-423 .collapse.in{display:block}.factory-bootstrap-423 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-423 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-423 .glyphicon:empty{width:1em}.factory-bootstrap-423 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-423 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-423 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-423 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-423 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-423 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-423 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-423 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-423 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-423 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-423 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-423 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-423 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-423 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-423 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-423 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-423 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-423 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-423 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-423 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-423 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-423 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-423 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-423 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-423 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-423 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-423 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-423 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-423 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-423 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-423 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-423 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-423 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-423 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-423 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-423 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-423 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-423 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-423 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-423 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-423 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-423 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-423 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-423 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-423 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-423 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-423 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-423 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-423 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-423 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-423 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-423 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-423 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-423 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-423 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-423 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-423 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-423 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-423 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-423 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-423 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-423 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-423 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-423 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-423 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-423 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-423 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-423 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-423 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-423 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-423 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-423 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-423 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-423 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-423 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-423 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-423 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-423 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-423 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-423 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-423 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-423 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-423 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-423 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-423 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-423 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-423 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-423 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-423 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-423 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-423 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-423 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-423 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-423 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-423 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-423 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-423 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-423 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-423 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-423 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-423 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-423 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-423 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-423 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-423 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-423 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-423 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-423 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-423 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-423 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-423 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-423 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-423 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-423 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-423 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-423 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-423 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-423 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-423 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-423 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-423 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-423 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-423 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-423 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-423 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-423 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-423 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-423 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-423 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-423 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-423 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-423 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-423 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-423 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-423 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-423 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-423 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-423 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-423 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-423 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-423 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-423 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-423 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-423 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-423 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-423 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-423 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-423 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-423 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-423 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-423 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-423 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-423 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-423 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-423 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-423 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-423 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-423 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-423 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-423 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-423 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-423 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-423 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-423 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-423 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-423 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-423 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-423 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-423 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-423 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-423 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-423 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-423 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-423 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-423 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-423 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-423 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-423 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-423 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-423 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-423 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-423 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-423 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-423 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-423 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-423 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-423 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-423 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-423 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-423 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-423 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-423 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-423 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-423 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-423 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-423 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-423 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-423 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-423 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-423 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-423 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-423 .dropdown{position:relative}.factory-bootstrap-423 .dropdown-toggle:focus{outline:0}.factory-bootstrap-423 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-423 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-423 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-423 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-423 .dropdown-menu>li>a:focus,.factory-bootstrap-423 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-423 .dropdown-menu>.active>a,.factory-bootstrap-423 .dropdown-menu>.active>a:focus,.factory-bootstrap-423 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-423 .dropdown-menu>.disabled>a,.factory-bootstrap-423 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-423 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-423 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-423 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .open>.dropdown-menu{display:block}.factory-bootstrap-423 .open>a{outline:0}.factory-bootstrap-423 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-423 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-423 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-423 .dropup .caret,.factory-bootstrap-423 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-423 .dropup .dropdown-menu,.factory-bootstrap-423 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-423 .btn-group,.factory-bootstrap-423 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-423 .btn-group-vertical>.btn,.factory-bootstrap-423 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-423 .btn-group-vertical>.btn.active,.factory-bootstrap-423 .btn-group-vertical>.btn:active,.factory-bootstrap-423 .btn-group-vertical>.btn:focus,.factory-bootstrap-423 .btn-group-vertical>.btn:hover,.factory-bootstrap-423 .btn-group>.btn.active,.factory-bootstrap-423 .btn-group>.btn:active,.factory-bootstrap-423 .btn-group>.btn:focus,.factory-bootstrap-423 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-423 .btn-group-vertical>.btn:focus,.factory-bootstrap-423 .btn-group>.btn:focus{outline:0}.factory-bootstrap-423 .btn-group .btn+.btn,.factory-bootstrap-423 .btn-group .btn+.btn-group,.factory-bootstrap-423 .btn-group .btn-group+.btn,.factory-bootstrap-423 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-423 .btn-toolbar:after,.factory-bootstrap-423 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-423 .btn-toolbar:after{clear:both}.factory-bootstrap-423 .btn-toolbar .btn-group{float:left}.factory-bootstrap-423 .btn-toolbar>.btn+.btn,.factory-bootstrap-423 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-423 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-423 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-423 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-423 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-423 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-423 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group>.btn-group{float:left}.factory-bootstrap-423 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-423 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-423 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group .dropdown-toggle:active,.factory-bootstrap-423 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-423 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-423 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-423 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-423 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-423 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-423 .btn .caret{margin-left:0}.factory-bootstrap-423 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-423 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-423 .btn-group-vertical>.btn,.factory-bootstrap-423 .btn-group-vertical>.btn-group,.factory-bootstrap-423 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-423 .btn-group-vertical>.btn-group:after,.factory-bootstrap-423 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-423 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-423 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-423 .btn-group-vertical>.btn+.btn,.factory-bootstrap-423 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-423 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-423 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-423 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-423 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-423 .btn-group-justified>.btn,.factory-bootstrap-423 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-423 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-423 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-423 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-423 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-423 .input-group-lg>.form-control,.factory-bootstrap-423 .input-group-lg>.input-group-addon,.factory-bootstrap-423 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 select.input-group-lg>.form-control,.factory-bootstrap-423 select.input-group-lg>.input-group-addon,.factory-bootstrap-423 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-423 textarea.input-group-lg>.form-control,.factory-bootstrap-423 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-423 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-423 .input-group-sm>.form-control,.factory-bootstrap-423 .input-group-sm>.input-group-addon,.factory-bootstrap-423 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 select.input-group-sm>.form-control,.factory-bootstrap-423 select.input-group-sm>.input-group-addon,.factory-bootstrap-423 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-423 textarea.input-group-sm>.form-control,.factory-bootstrap-423 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-423 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-423 .input-group .form-control,.factory-bootstrap-423 .input-group-addon,.factory-bootstrap-423 .input-group-btn{display:table-cell}.factory-bootstrap-423 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-423 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-423 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-423 .input-group-addon,.factory-bootstrap-423 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-423 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-423 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-423 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-423 .input-group-addon input[type=checkbox],.factory-bootstrap-423 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-423 .input-group .form-control:first-child,.factory-bootstrap-423 .input-group-addon:first-child,.factory-bootstrap-423 .input-group-btn:first-child>.btn,.factory-bootstrap-423 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-423 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .input-group-addon:first-child{border-right:0}.factory-bootstrap-423 .input-group .form-control:last-child,.factory-bootstrap-423 .input-group-addon:last-child,.factory-bootstrap-423 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-423 .input-group-btn:last-child>.btn,.factory-bootstrap-423 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .input-group-addon:last-child{border-left:0}.factory-bootstrap-423 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-423 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-423 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-423 .input-group-btn>.btn{position:relative}.factory-bootstrap-423 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-423 .input-group-btn>.btn:active,.factory-bootstrap-423 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-423 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-423 .nav:after,.factory-bootstrap-423 .nav:before{display:table;content:" "}.factory-bootstrap-423 .nav:after{clear:both}.factory-bootstrap-423 .nav>li{position:relative;display:block}.factory-bootstrap-423 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-423 .nav>li>a:focus,.factory-bootstrap-423 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-423 .nav>li.disabled>a{color:#999}.factory-bootstrap-423 .nav>li.disabled>a:focus,.factory-bootstrap-423 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-423 .nav .open>a,.factory-bootstrap-423 .nav .open>a:focus,.factory-bootstrap-423 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-423 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-423 .nav>li>a>img{max-width:none}.factory-bootstrap-423 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-423 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-423 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-423 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-423 .nav-tabs>li.active>a,.factory-bootstrap-423 .nav-tabs>li.active>a:focus,.factory-bootstrap-423 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-423 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-423 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-423 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-423 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-423 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-423 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-423 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-423 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-423 .nav-pills>li{float:left}.factory-bootstrap-423 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-423 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-423 .nav-pills>li.active>a,.factory-bootstrap-423 .nav-pills>li.active>a:focus,.factory-bootstrap-423 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-423 .nav-stacked>li{float:none}.factory-bootstrap-423 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-423 .nav-justified{width:100%}.factory-bootstrap-423 .nav-justified>li{float:none}.factory-bootstrap-423 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-423 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-423 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-423 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-423 .nav-tabs-justified>.active>a,.factory-bootstrap-423 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-423 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-423 .tab-content>.tab-pane{display:none}.factory-bootstrap-423 .tab-content>.active{display:block}.factory-bootstrap-423 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-423 .navbar:after,.factory-bootstrap-423 .navbar:before{display:table;content:" "}.factory-bootstrap-423 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-423 .navbar-header:after,.factory-bootstrap-423 .navbar-header:before{display:table;content:" "}.factory-bootstrap-423 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-423 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-423 .navbar-collapse:after,.factory-bootstrap-423 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-423 .navbar-collapse:after{clear:both}.factory-bootstrap-423 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-423 .container>.navbar-collapse,.factory-bootstrap-423 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-423 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-423 .navbar-fixed-bottom,.factory-bootstrap-423 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-423 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-423 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-423 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-423 .navbar-brand:focus,.factory-bootstrap-423 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-423 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-423 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-423 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-423 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-423 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-423 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-423 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-423 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-423 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-423 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-423 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-423 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-423 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-423 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-423 .navbar-default .navbar-brand:focus,.factory-bootstrap-423 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-nav>li>a,.factory-bootstrap-423 .navbar-default .navbar-text{color:#777}.factory-bootstrap-423 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-423 .navbar-default .navbar-toggle:focus,.factory-bootstrap-423 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-423 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-423 .navbar-default .navbar-collapse,.factory-bootstrap-423 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-423 .navbar-default .navbar-link{color:#777}.factory-bootstrap-423 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-423 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-423 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-423 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-423 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-423 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-423 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-423 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-423 .navbar-inverse .navbar-collapse,.factory-bootstrap-423 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-423 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-423 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-423 .breadcrumb>li{display:inline-block}.factory-bootstrap-423 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-423 .breadcrumb>.active{color:#999}.factory-bootstrap-423 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-423 .pagination>li{display:inline}.factory-bootstrap-423 .pagination>li>a,.factory-bootstrap-423 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-423 .pagination>li:first-child>a,.factory-bootstrap-423 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-423 .pagination>li:last-child>a,.factory-bootstrap-423 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-423 .pagination>li>a:focus,.factory-bootstrap-423 .pagination>li>a:hover,.factory-bootstrap-423 .pagination>li>span:focus,.factory-bootstrap-423 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-423 .pagination>.disabled>a,.factory-bootstrap-423 .pagination>.disabled>a:focus,.factory-bootstrap-423 .pagination>.disabled>a:hover,.factory-bootstrap-423 .pagination>.disabled>span,.factory-bootstrap-423 .pagination>.disabled>span:focus,.factory-bootstrap-423 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-423 .pagination-lg>li>a,.factory-bootstrap-423 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-423 .pagination-lg>li:first-child>a,.factory-bootstrap-423 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-423 .pagination-lg>li:last-child>a,.factory-bootstrap-423 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-423 .pagination-sm>li>a,.factory-bootstrap-423 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-423 .pagination-sm>li:first-child>a,.factory-bootstrap-423 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-423 .pagination-sm>li:last-child>a,.factory-bootstrap-423 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-423 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-423 .pager:after,.factory-bootstrap-423 .pager:before{display:table;content:" "}.factory-bootstrap-423 .pager:after{clear:both}.factory-bootstrap-423 .pager li{display:inline}.factory-bootstrap-423 .pager li>a,.factory-bootstrap-423 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-423 .pager li>a:focus,.factory-bootstrap-423 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-423 .pager .next>a,.factory-bootstrap-423 .pager .next>span{float:right}.factory-bootstrap-423 .pager .previous>a,.factory-bootstrap-423 .pager .previous>span{float:left}.factory-bootstrap-423 .pager .disabled>a,.factory-bootstrap-423 .pager .disabled>a:focus,.factory-bootstrap-423 .pager .disabled>a:hover,.factory-bootstrap-423 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-423 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-423 .label[href]:focus,.factory-bootstrap-423 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-423 .label:empty{display:none}.factory-bootstrap-423 .btn .label{position:relative;top:-1px}.factory-bootstrap-423 .label-default{background-color:#999}.factory-bootstrap-423 .label-default[href]:focus,.factory-bootstrap-423 .label-default[href]:hover{background-color:gray}.factory-bootstrap-423 .label-primary{background-color:#428bca}.factory-bootstrap-423 .label-primary[href]:focus,.factory-bootstrap-423 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-423 .label-success{background-color:#5cb85c}.factory-bootstrap-423 .label-success[href]:focus,.factory-bootstrap-423 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-423 .label-info{background-color:#5bc0de}.factory-bootstrap-423 .label-info[href]:focus,.factory-bootstrap-423 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-423 .label-warning{background-color:#f0ad4e}.factory-bootstrap-423 .label-warning[href]:focus,.factory-bootstrap-423 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-423 .label-danger{background-color:#d9534f}.factory-bootstrap-423 .label-danger[href]:focus,.factory-bootstrap-423 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-423 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-423 .badge:empty{display:none}.factory-bootstrap-423 .btn .badge{position:relative;top:-1px}.factory-bootstrap-423 a.badge:focus,.factory-bootstrap-423 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-423 .nav-pills>.active>a>.badge,.factory-bootstrap-423 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-423 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-423 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-423 .jumbotron .h1,.factory-bootstrap-423 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-423 .jumbotron p{line-height:1.4}.factory-bootstrap-423 .container .jumbotron{border-radius:6px}.factory-bootstrap-423 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-423 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-423 .thumbnail a>img,.factory-bootstrap-423 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-423 a.thumbnail.active,.factory-bootstrap-423 a.thumbnail:focus,.factory-bootstrap-423 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-423 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-423 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-423 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-423 .alert .alert-link{font-weight:700}.factory-bootstrap-423 .alert>p,.factory-bootstrap-423 .alert>ul{margin-bottom:0}.factory-bootstrap-423 .alert>p+p{margin-top:5px}.factory-bootstrap-423 .alert-dismissable{padding-right:35px}.factory-bootstrap-423 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-423 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-423 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-423 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-423 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-423 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-423 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-423 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-423 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-423 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-423 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-423 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-423 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-423 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-423 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-423 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-423 .media,.factory-bootstrap-423 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-423 .media,.factory-bootstrap-423 .media .media{margin-top:15px}.factory-bootstrap-423 .media:first-child{margin-top:0}.factory-bootstrap-423 .media-object{display:block}.factory-bootstrap-423 .media-heading{margin:0 0 5px}.factory-bootstrap-423 .media>.pull-left{margin-right:10px}.factory-bootstrap-423 .media>.pull-right{margin-left:10px}.factory-bootstrap-423 .media-list{padding-left:0;list-style:none}.factory-bootstrap-423 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-423 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-423 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-423 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-423 .list-group-item>.badge{float:right}.factory-bootstrap-423 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-423 a.list-group-item{color:#555}.factory-bootstrap-423 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-423 a.list-group-item:focus,.factory-bootstrap-423 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-423 a.list-group-item.active,.factory-bootstrap-423 a.list-group-item.active:focus,.factory-bootstrap-423 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-423 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-423 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-423 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-423 a.list-group-item.active .list-group-item-text,.factory-bootstrap-423 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-423 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-423 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-423 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-423 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-423 .panel-body{padding:15px}.factory-bootstrap-423 .panel-body:after,.factory-bootstrap-423 .panel-body:before{display:table;content:" "}.factory-bootstrap-423 .panel-body:after{clear:both}.factory-bootstrap-423 .panel>.list-group{margin-bottom:0}.factory-bootstrap-423 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-423 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-423 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-423 .panel>.table,.factory-bootstrap-423 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-423 .panel>.panel-body+.table,.factory-bootstrap-423 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-423 .panel>.table>tbody:first-child td,.factory-bootstrap-423 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-423 .panel>.table-bordered,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-423 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-423 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-423 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-423 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-423 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-423 .panel-title>a{color:inherit}.factory-bootstrap-423 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-423 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-423 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-423 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-423 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-423 .panel-group .panel-footer{border-top:0}.factory-bootstrap-423 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-423 .panel-default{border-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-423 .panel-primary{border-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-423 .panel-success{border-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-423 .panel-warning{border-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-423 .panel-danger{border-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-423 .panel-info{border-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-423 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-423 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-423 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-423 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-423 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-423 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-423 .close:focus,.factory-bootstrap-423 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-423 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-423 .modal-open{overflow:hidden}.factory-bootstrap-423 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-423 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-423 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-423 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-423 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-423 .modal-backdrop,.factory-bootstrap-423-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-423 .modal-backdrop.fade,.factory-bootstrap-423-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-423 .modal-backdrop.in,.factory-bootstrap-423-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-423 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-423 .modal-header .close{margin-top:-2px}.factory-bootstrap-423 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-423 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-423 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-423 .modal-footer:after,.factory-bootstrap-423 .modal-footer:before{display:table;content:" "}.factory-bootstrap-423 .modal-footer:after{clear:both}.factory-bootstrap-423 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-423 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-423 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-423 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-423 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-423 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-423 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-423 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-423 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-423 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-423 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-423 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-423 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-423 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-423 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-423 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-423 .popover.top{margin-top:-10px}.factory-bootstrap-423 .popover.right{margin-left:10px}.factory-bootstrap-423 .popover.bottom{margin-top:10px}.factory-bootstrap-423 .popover.left{margin-left:-10px}.factory-bootstrap-423 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-423 .popover-content{padding:9px 14px}.factory-bootstrap-423 .popover .arrow,.factory-bootstrap-423 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-423 .popover .arrow{border-width:11px}.factory-bootstrap-423 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-423 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-423 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-423 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-423 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-423 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-423 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-423 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-423 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-423 .carousel{position:relative}.factory-bootstrap-423 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-423 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-423 .carousel-inner>.item>a>img,.factory-bootstrap-423 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-423 .carousel-inner>.active,.factory-bootstrap-423 .carousel-inner>.next,.factory-bootstrap-423 .carousel-inner>.prev{display:block}.factory-bootstrap-423 .carousel-inner>.active{left:0}.factory-bootstrap-423 .carousel-inner>.next,.factory-bootstrap-423 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-423 .carousel-inner>.next{left:100%}.factory-bootstrap-423 .carousel-inner>.prev{left:-100%}.factory-bootstrap-423 .carousel-inner>.next.left,.factory-bootstrap-423 .carousel-inner>.prev.right{left:0}.factory-bootstrap-423 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-423 .carousel-inner>.active.right{left:100%}.factory-bootstrap-423 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-423 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-423 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-423 .carousel-control:focus,.factory-bootstrap-423 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-423 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-423 .carousel-control .icon-next,.factory-bootstrap-423 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-423 .carousel-control .icon-prev{left:50%}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-423 .carousel-control .icon-next{right:50%}.factory-bootstrap-423 .carousel-control .icon-next,.factory-bootstrap-423 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-423 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-423 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-423 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-423 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-423 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-423 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-423 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-423 .clearfix:after,.factory-bootstrap-423 .clearfix:before{display:table;content:" "}.factory-bootstrap-423 .clearfix:after{clear:both}.factory-bootstrap-423 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-423 .pull-right{float:right!important}.factory-bootstrap-423 .pull-left{float:left!important}.factory-bootstrap-423 .hide{display:none!important}.factory-bootstrap-423 .show{display:block!important}.factory-bootstrap-423 .invisible{visibility:hidden}.factory-bootstrap-423 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-423 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-423 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-423 .visible-lg,.factory-bootstrap-423 .visible-md,.factory-bootstrap-423 .visible-sm,.factory-bootstrap-423 .visible-xs,.factory-bootstrap-423 td.visible-lg,.factory-bootstrap-423 td.visible-md,.factory-bootstrap-423 td.visible-sm,.factory-bootstrap-423 td.visible-xs,.factory-bootstrap-423 th.visible-lg,.factory-bootstrap-423 th.visible-md,.factory-bootstrap-423 th.visible-sm,.factory-bootstrap-423 th.visible-xs,.factory-bootstrap-423 tr.visible-lg,.factory-bootstrap-423 tr.visible-md,.factory-bootstrap-423 tr.visible-sm,.factory-bootstrap-423 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-423 .hidden-xs{display:block!important}.factory-bootstrap-423 table.hidden-xs{display:table}.factory-bootstrap-423 tr.hidden-xs{display:table-row!important}.factory-bootstrap-423 td.hidden-xs,.factory-bootstrap-423 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-423 .hidden-sm{display:block!important}.factory-bootstrap-423 table.hidden-sm{display:table}.factory-bootstrap-423 tr.hidden-sm{display:table-row!important}.factory-bootstrap-423 td.hidden-sm,.factory-bootstrap-423 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-423 .hidden-md{display:block!important}.factory-bootstrap-423 table.hidden-md{display:table}.factory-bootstrap-423 tr.hidden-md{display:table-row!important}.factory-bootstrap-423 td.hidden-md,.factory-bootstrap-423 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-423 .hidden-lg{display:block!important}.factory-bootstrap-423 table.hidden-lg{display:table}.factory-bootstrap-423 tr.hidden-lg{display:table-row!important}.factory-bootstrap-423 td.hidden-lg,.factory-bootstrap-423 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-423 .hidden-lg.hidden-xs,.factory-bootstrap-423 td.hidden-lg.hidden-xs,.factory-bootstrap-423 th.hidden-lg.hidden-xs,.factory-bootstrap-423 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-423 .hidden-lg.hidden-sm,.factory-bootstrap-423 td.hidden-lg.hidden-sm,.factory-bootstrap-423 th.hidden-lg.hidden-sm,.factory-bootstrap-423 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-423 .hidden-lg.hidden-md,.factory-bootstrap-423 td.hidden-lg.hidden-md,.factory-bootstrap-423 th.hidden-lg.hidden-md,.factory-bootstrap-423 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-423 .hidden-lg,.factory-bootstrap-423 td.hidden-lg,.factory-bootstrap-423 th.hidden-lg,.factory-bootstrap-423 tr.hidden-lg{display:none!important}}.factory-bootstrap-423 .visible-print,.factory-bootstrap-423 td.visible-print,.factory-bootstrap-423 th.visible-print,.factory-bootstrap-423 tr.visible-print{display:none!important}@media print{.factory-bootstrap-423 .visible-print{display:block!important}.factory-bootstrap-423 table.visible-print{display:table}.factory-bootstrap-423 tr.visible-print{display:table-row!important}.factory-bootstrap-423 td.visible-print,.factory-bootstrap-423 th.visible-print{display:table-cell!important}.factory-bootstrap-423 .hidden-print,.factory-bootstrap-423 td.hidden-print,.factory-bootstrap-423 th.hidden-print,.factory-bootstrap-423 tr.hidden-print{display:none!important}}/*!
|
12 |
* Factory Default Bootstrap Theme
|
13 |
*
|
14 |
* The code is based on Bootstrap v2.1.1
|
@@ -22,4 +22,4 @@
|
|
22 |
*
|
23 |
* @package factory-bootstrap
|
24 |
* @since 1.0.0
|
25 |
-
*/.factory-bootstrap-423 .btn-danger,.factory-bootstrap-423 .btn-default,.factory-bootstrap-423 .btn-info,.factory-bootstrap-423 .btn-primary,.factory-bootstrap-423 .btn-success,.factory-bootstrap-423 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .btn-danger.active,.factory-bootstrap-423 .btn-danger:active,.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-423 .btn.active,.factory-bootstrap-423 .btn:active{background-image:none}.factory-bootstrap-423 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-423 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-423 .btn-gold:focus,.factory-bootstrap-423 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-423 .btn-gold.active,.factory-bootstrap-423 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-423 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-423 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .btn-success:focus,.factory-bootstrap-423 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-423 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .btn-warning:focus,.factory-bootstrap-423 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-423 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-423 .btn-danger.active,.factory-bootstrap-423 .btn-danger:active,.factory-bootstrap-423 .btn-danger:focus,.factory-bootstrap-423 .btn-danger:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-423 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .btn-info:focus,.factory-bootstrap-423 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-423 .img-thumbnail,.factory-bootstrap-423 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-423 .dropdown-menu>li>a:focus,.factory-bootstrap-423 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-423 .dropdown-menu>.active>a,.factory-bootstrap-423 .dropdown-menu>.active>a:focus,.factory-bootstrap-423 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-423 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-423 .navbar-brand,.factory-bootstrap-423 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-423 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-423 .navbar-inverse .navbar-brand,.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-423 .navbar-fixed-bottom,.factory-bootstrap-423 .navbar-fixed-top,.factory-bootstrap-423 .navbar-static-top{border-radius:0}.factory-bootstrap-423 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-423 .alert .actions{padding-top:10px}.factory-bootstrap-423 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-423 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-423 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-423 .alert-normal,.factory-bootstrap-423 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-423 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-423 .alert-danger a:not(.btn),.factory-bootstrap-423 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-423 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-423 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-423 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-423 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-423 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-423 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-423 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-423 .list-group-item.active,.factory-bootstrap-423 .list-group-item.active:focus,.factory-bootstrap-423 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-423 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-423 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-423 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-423 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-423 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-423 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-423 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-423 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-423 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-423 .factory-hidden{display:none}.factory-bootstrap-423 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
|
8 |
*/
|
9 |
|
10 |
|
11 |
+
.factory-bootstrap-436 article,.factory-bootstrap-436 aside,.factory-bootstrap-436 details,.factory-bootstrap-436 figcaption,.factory-bootstrap-436 figure,.factory-bootstrap-436 footer,.factory-bootstrap-436 header,.factory-bootstrap-436 hgroup,.factory-bootstrap-436 main,.factory-bootstrap-436 nav,.factory-bootstrap-436 section,.factory-bootstrap-436 summary{display:block}.factory-bootstrap-436 audio,.factory-bootstrap-436 canvas,.factory-bootstrap-436 video{display:inline-block}.factory-bootstrap-436 audio:not([controls]){display:none;height:0}.factory-bootstrap-436 [hidden],.factory-bootstrap-436 template{display:none}.factory-bootstrap-436 body{margin:0}.factory-bootstrap-436 a{background:0 0}.factory-bootstrap-436 a:focus{outline:thin dotted}.factory-bootstrap-436 a:active,.factory-bootstrap-436 a:hover{outline:0}.factory-bootstrap-436 h1{margin:.67em 0}.factory-bootstrap-436 b,.factory-bootstrap-436 strong{font-weight:700}.factory-bootstrap-436 dfn{font-style:italic}.factory-bootstrap-436 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-436 mark{color:#000;background:#ff0}.factory-bootstrap-436 code,.factory-bootstrap-436 kbd,.factory-bootstrap-436 pre,.factory-bootstrap-436 samp{font-size:1em}.factory-bootstrap-436 pre{white-space:pre-wrap}.factory-bootstrap-436 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-436 sub,.factory-bootstrap-436 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-436 sup{top:-.5em}.factory-bootstrap-436 sub{bottom:-.25em}.factory-bootstrap-436 img{border:0}.factory-bootstrap-436 svg:not(:root){overflow:hidden}.factory-bootstrap-436 figure{margin:0}.factory-bootstrap-436 button,.factory-bootstrap-436 input,.factory-bootstrap-436 select,.factory-bootstrap-436 textarea{margin:0}.factory-bootstrap-436 button,.factory-bootstrap-436 select{text-transform:none}.factory-bootstrap-436 select{padding-right:4px!important}.factory-bootstrap-436 button,.factory-bootstrap-436 input[type=reset],.factory-bootstrap-436 input[type=submit],html .factory-bootstrap-436 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-436 button[disabled],html .factory-bootstrap-436 input[disabled]{cursor:default}.factory-bootstrap-436 input[type=checkbox],.factory-bootstrap-436 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-436 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-436 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-436 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-436 button::-moz-focus-inner,.factory-bootstrap-436 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-436 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-436 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-436 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-436 a,.factory-bootstrap-436 a:visited{text-decoration:underline}.factory-bootstrap-436 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-436 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-436 a[href^="javascript:"]:after,.factory-bootstrap-436 a[href^="#"]:after{content:""}.factory-bootstrap-436 blockquote,.factory-bootstrap-436 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-436 thead{display:table-header-group}.factory-bootstrap-436 img,.factory-bootstrap-436 tr{page-break-inside:avoid}.factory-bootstrap-436 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-436 h2,.factory-bootstrap-436 h3,.factory-bootstrap-436 p{orphans:3;widows:3}.factory-bootstrap-436 h2,.factory-bootstrap-436 h3{page-break-after:avoid}.factory-bootstrap-436 select{background:#fff!important}.factory-bootstrap-436 .navbar{display:none}.factory-bootstrap-436 .table td,.factory-bootstrap-436 .table th{background-color:#fff!important}.factory-bootstrap-436 .btn>.caret,.factory-bootstrap-436 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-436 .label{border:1px solid #000}.factory-bootstrap-436 .table{border-collapse:collapse!important}.factory-bootstrap-436 .table-bordered td,.factory-bootstrap-436 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-436 *,.factory-bootstrap-436 :after,.factory-bootstrap-436 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-436{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-436 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-436 button,.factory-bootstrap-436 input,.factory-bootstrap-436 select,.factory-bootstrap-436 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-436 img{vertical-align:middle}.factory-bootstrap-436 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-436 .img-rounded{border-radius:6px}.factory-bootstrap-436 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-436 .img-circle{border-radius:50%}.factory-bootstrap-436 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-436 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-436 .h1,.factory-bootstrap-436 .h2,.factory-bootstrap-436 .h3,.factory-bootstrap-436 .h4,.factory-bootstrap-436 .h5,.factory-bootstrap-436 .h6,.factory-bootstrap-436 h1,.factory-bootstrap-436 h2,.factory-bootstrap-436 h3,.factory-bootstrap-436 h4,.factory-bootstrap-436 h5,.factory-bootstrap-436 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-436 .h1 .small,.factory-bootstrap-436 .h1 small,.factory-bootstrap-436 .h2 .small,.factory-bootstrap-436 .h2 small,.factory-bootstrap-436 .h3 .small,.factory-bootstrap-436 .h3 small,.factory-bootstrap-436 .h4 .small,.factory-bootstrap-436 .h4 small,.factory-bootstrap-436 .h5 .small,.factory-bootstrap-436 .h5 small,.factory-bootstrap-436 .h6 .small,.factory-bootstrap-436 .h6 small,.factory-bootstrap-436 h1 .small,.factory-bootstrap-436 h1 small,.factory-bootstrap-436 h2 .small,.factory-bootstrap-436 h2 small,.factory-bootstrap-436 h3 .small,.factory-bootstrap-436 h3 small,.factory-bootstrap-436 h4 .small,.factory-bootstrap-436 h4 small,.factory-bootstrap-436 h5 .small,.factory-bootstrap-436 h5 small,.factory-bootstrap-436 h6 .small,.factory-bootstrap-436 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-436 h1,.factory-bootstrap-436 h2,.factory-bootstrap-436 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-436 h1 .small,.factory-bootstrap-436 h1 small,.factory-bootstrap-436 h2 .small,.factory-bootstrap-436 h2 small,.factory-bootstrap-436 h3 .small,.factory-bootstrap-436 h3 small{font-size:65%}.factory-bootstrap-436 h4,.factory-bootstrap-436 h5,.factory-bootstrap-436 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-436 h4 .small,.factory-bootstrap-436 h4 small,.factory-bootstrap-436 h5 .small,.factory-bootstrap-436 h5 small,.factory-bootstrap-436 h6 .small,.factory-bootstrap-436 h6 small{font-size:75%}.factory-bootstrap-436 .h1,.factory-bootstrap-436 h1{font-size:36px}.factory-bootstrap-436 .h2,.factory-bootstrap-436 h2{font-size:30px}.factory-bootstrap-436 .h3,.factory-bootstrap-436 h3{font-size:24px}.factory-bootstrap-436 .h4,.factory-bootstrap-436 h4{font-size:18px}.factory-bootstrap-436 .h5,.factory-bootstrap-436 h5{font-size:14px}.factory-bootstrap-436 .h6,.factory-bootstrap-436 h6{font-size:12px}.factory-bootstrap-436 p{margin:0 0 10px}.factory-bootstrap-436 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-436 .small,.factory-bootstrap-436 small{font-size:85%}.factory-bootstrap-436 cite{font-style:normal}.factory-bootstrap-436 .text-muted{color:#999}.factory-bootstrap-436 .text-primary{color:#428bca}.factory-bootstrap-436 .text-primary:hover{color:#3071a9}.factory-bootstrap-436 .text-warning{color:#8a6d3b}.factory-bootstrap-436 .text-warning:hover{color:#66512c}.factory-bootstrap-436 .text-danger{color:#a94442}.factory-bootstrap-436 .text-danger:hover{color:#843534}.factory-bootstrap-436 .text-success{color:#3c763d}.factory-bootstrap-436 .text-success:hover{color:#2b542c}.factory-bootstrap-436 .text-info{color:#31708f}.factory-bootstrap-436 .text-info:hover{color:#245269}.factory-bootstrap-436 .text-left{text-align:left}.factory-bootstrap-436 .text-right{text-align:right}.factory-bootstrap-436 .text-center{text-align:center}.factory-bootstrap-436 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-436 ol,.factory-bootstrap-436 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-436 ol ol,.factory-bootstrap-436 ol ul,.factory-bootstrap-436 ul ol,.factory-bootstrap-436 ul ul{margin-bottom:0}.factory-bootstrap-436 .list-inline,.factory-bootstrap-436 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-436 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-436 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-436 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-436 dd,.factory-bootstrap-436 dt{line-height:1.428571429}.factory-bootstrap-436 dt{font-weight:700}.factory-bootstrap-436 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-436 abbr[data-original-title],.factory-bootstrap-436 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-436 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-436 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-436 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-436 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-436 blockquote .small,.factory-bootstrap-436 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-436 blockquote .small:before,.factory-bootstrap-436 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-436 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-436 blockquote.pull-right .small,.factory-bootstrap-436 blockquote.pull-right p,.factory-bootstrap-436 blockquote.pull-right small{text-align:right}.factory-bootstrap-436 blockquote.pull-right .small:before,.factory-bootstrap-436 blockquote.pull-right small:before{content:''}.factory-bootstrap-436 blockquote.pull-right .small:after,.factory-bootstrap-436 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-436 blockquote:after,.factory-bootstrap-436 blockquote:before{content:""}.factory-bootstrap-436 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-436 code,.factory-bootstrap-436 kbd,.factory-bootstrap-436 pre,.factory-bootstrap-436 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-436 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-436 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-436 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-436 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-436 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-436 .container:after,.factory-bootstrap-436 .container:before{display:table;content:" "}.factory-bootstrap-436 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-436 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-436 .row:after,.factory-bootstrap-436 .row:before{display:table;content:" "}.factory-bootstrap-436 .row:after{clear:both}.factory-bootstrap-436 .col-lg-1,.factory-bootstrap-436 .col-lg-10,.factory-bootstrap-436 .col-lg-11,.factory-bootstrap-436 .col-lg-12,.factory-bootstrap-436 .col-lg-2,.factory-bootstrap-436 .col-lg-3,.factory-bootstrap-436 .col-lg-4,.factory-bootstrap-436 .col-lg-5,.factory-bootstrap-436 .col-lg-6,.factory-bootstrap-436 .col-lg-7,.factory-bootstrap-436 .col-lg-8,.factory-bootstrap-436 .col-lg-9,.factory-bootstrap-436 .col-md-1,.factory-bootstrap-436 .col-md-10,.factory-bootstrap-436 .col-md-11,.factory-bootstrap-436 .col-md-12,.factory-bootstrap-436 .col-md-2,.factory-bootstrap-436 .col-md-3,.factory-bootstrap-436 .col-md-4,.factory-bootstrap-436 .col-md-5,.factory-bootstrap-436 .col-md-6,.factory-bootstrap-436 .col-md-7,.factory-bootstrap-436 .col-md-8,.factory-bootstrap-436 .col-md-9,.factory-bootstrap-436 .col-sm-1,.factory-bootstrap-436 .col-sm-10,.factory-bootstrap-436 .col-sm-11,.factory-bootstrap-436 .col-sm-12,.factory-bootstrap-436 .col-sm-2,.factory-bootstrap-436 .col-sm-3,.factory-bootstrap-436 .col-sm-4,.factory-bootstrap-436 .col-sm-5,.factory-bootstrap-436 .col-sm-6,.factory-bootstrap-436 .col-sm-7,.factory-bootstrap-436 .col-sm-8,.factory-bootstrap-436 .col-sm-9,.factory-bootstrap-436 .col-xs-1,.factory-bootstrap-436 .col-xs-10,.factory-bootstrap-436 .col-xs-11,.factory-bootstrap-436 .col-xs-12,.factory-bootstrap-436 .col-xs-2,.factory-bootstrap-436 .col-xs-3,.factory-bootstrap-436 .col-xs-4,.factory-bootstrap-436 .col-xs-5,.factory-bootstrap-436 .col-xs-6,.factory-bootstrap-436 .col-xs-7,.factory-bootstrap-436 .col-xs-8,.factory-bootstrap-436 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-436 .col-xs-1,.factory-bootstrap-436 .col-xs-10,.factory-bootstrap-436 .col-xs-11,.factory-bootstrap-436 .col-xs-12,.factory-bootstrap-436 .col-xs-2,.factory-bootstrap-436 .col-xs-3,.factory-bootstrap-436 .col-xs-4,.factory-bootstrap-436 .col-xs-5,.factory-bootstrap-436 .col-xs-6,.factory-bootstrap-436 .col-xs-7,.factory-bootstrap-436 .col-xs-8,.factory-bootstrap-436 .col-xs-9{float:left}.factory-bootstrap-436 .col-xs-12{width:100%}.factory-bootstrap-436 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-436 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-436 .col-xs-9{width:75%}.factory-bootstrap-436 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-436 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-436 .col-xs-6{width:50%}.factory-bootstrap-436 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-436 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-436 .col-xs-3{width:25%}.factory-bootstrap-436 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-436 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-436 .col-xs-pull-12{right:100%}.factory-bootstrap-436 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-436 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-436 .col-xs-pull-9{right:75%}.factory-bootstrap-436 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-436 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-436 .col-xs-pull-6{right:50%}.factory-bootstrap-436 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-436 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-436 .col-xs-pull-3{right:25%}.factory-bootstrap-436 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-436 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-436 .col-xs-pull-0{right:0}.factory-bootstrap-436 .col-xs-push-12{left:100%}.factory-bootstrap-436 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-436 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-436 .col-xs-push-9{left:75%}.factory-bootstrap-436 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-436 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-436 .col-xs-push-6{left:50%}.factory-bootstrap-436 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-436 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-436 .col-xs-push-3{left:25%}.factory-bootstrap-436 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-436 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-436 .col-xs-push-0{left:0}.factory-bootstrap-436 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-436 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-436 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-436 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-436 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-436 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-436 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-436 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-436 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-436 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-436 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-436 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-436 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-436 table{max-width:100%;background-color:transparent}.factory-bootstrap-436 th{text-align:left}.factory-bootstrap-436 .table{width:100%;margin-bottom:20px}.factory-bootstrap-436 .table>tbody>tr>td,.factory-bootstrap-436 .table>tbody>tr>th,.factory-bootstrap-436 .table>tfoot>tr>td,.factory-bootstrap-436 .table>tfoot>tr>th,.factory-bootstrap-436 .table>thead>tr>td,.factory-bootstrap-436 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-436 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-436 .table>caption+thead>tr:first-child>td,.factory-bootstrap-436 .table>caption+thead>tr:first-child>th,.factory-bootstrap-436 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-436 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-436 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-436 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-436 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-436 .table .table{background-color:#fff}.factory-bootstrap-436 .table-condensed>tbody>tr>td,.factory-bootstrap-436 .table-condensed>tbody>tr>th,.factory-bootstrap-436 .table-condensed>tfoot>tr>td,.factory-bootstrap-436 .table-condensed>tfoot>tr>th,.factory-bootstrap-436 .table-condensed>thead>tr>td,.factory-bootstrap-436 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-436 .table-bordered,.factory-bootstrap-436 .table-bordered>tbody>tr>td,.factory-bootstrap-436 .table-bordered>tbody>tr>th,.factory-bootstrap-436 .table-bordered>tfoot>tr>td,.factory-bootstrap-436 .table-bordered>tfoot>tr>th,.factory-bootstrap-436 .table-bordered>thead>tr>td,.factory-bootstrap-436 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-436 .table-bordered>thead>tr>td,.factory-bootstrap-436 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-436 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-436 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-436 .table-hover>tbody>tr:hover>td,.factory-bootstrap-436 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-436 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-436 table td[class*=col-],.factory-bootstrap-436 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-436 .table>tbody>.active>td,.factory-bootstrap-436 .table>tbody>.active>th,.factory-bootstrap-436 .table>tbody>tr>.active,.factory-bootstrap-436 .table>tfoot>.active>td,.factory-bootstrap-436 .table>tfoot>.active>th,.factory-bootstrap-436 .table>tfoot>tr>.active,.factory-bootstrap-436 .table>thead>.active>td,.factory-bootstrap-436 .table>thead>.active>th,.factory-bootstrap-436 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-436 .table-hover>tbody>.active:hover>td,.factory-bootstrap-436 .table-hover>tbody>.active:hover>th,.factory-bootstrap-436 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-436 .table>tbody>.success>td,.factory-bootstrap-436 .table>tbody>.success>th,.factory-bootstrap-436 .table>tbody>tr>.success,.factory-bootstrap-436 .table>tfoot>.success>td,.factory-bootstrap-436 .table>tfoot>.success>th,.factory-bootstrap-436 .table>tfoot>tr>.success,.factory-bootstrap-436 .table>thead>.success>td,.factory-bootstrap-436 .table>thead>.success>th,.factory-bootstrap-436 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-436 .table-hover>tbody>.success:hover>td,.factory-bootstrap-436 .table-hover>tbody>.success:hover>th,.factory-bootstrap-436 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-436 .table>tbody>.danger>td,.factory-bootstrap-436 .table>tbody>.danger>th,.factory-bootstrap-436 .table>tbody>tr>.danger,.factory-bootstrap-436 .table>tfoot>.danger>td,.factory-bootstrap-436 .table>tfoot>.danger>th,.factory-bootstrap-436 .table>tfoot>tr>.danger,.factory-bootstrap-436 .table>thead>.danger>td,.factory-bootstrap-436 .table>thead>.danger>th,.factory-bootstrap-436 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-436 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-436 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-436 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-436 .table>tbody>.warning>td,.factory-bootstrap-436 .table>tbody>.warning>th,.factory-bootstrap-436 .table>tbody>tr>.warning,.factory-bootstrap-436 .table>tfoot>.warning>td,.factory-bootstrap-436 .table>tfoot>.warning>th,.factory-bootstrap-436 .table>tfoot>tr>.warning,.factory-bootstrap-436 .table>thead>.warning>td,.factory-bootstrap-436 .table>thead>.warning>th,.factory-bootstrap-436 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-436 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-436 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-436 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-436 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-436 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-436 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-436 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-436 input[type=checkbox],.factory-bootstrap-436 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-436 input[type=file]{display:block}.factory-bootstrap-436 select[multiple],.factory-bootstrap-436 select[size]{height:auto}.factory-bootstrap-436 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-436 input[type=checkbox]:focus,.factory-bootstrap-436 input[type=file]:focus,.factory-bootstrap-436 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-436 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-436 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-436 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-436 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-436 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-436 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-436 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-436 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-436 .form-control[disabled],.factory-bootstrap-436 .form-control[readonly],.factory-bootstrap-436 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-436 textarea.form-control{height:auto}.factory-bootstrap-436 .form-group{margin-bottom:15px}.factory-bootstrap-436 .checkbox,.factory-bootstrap-436 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-436 .checkbox label,.factory-bootstrap-436 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-436 .checkbox input[type=checkbox],.factory-bootstrap-436 .checkbox-inline input[type=checkbox],.factory-bootstrap-436 .radio input[type=radio],.factory-bootstrap-436 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-436 .checkbox+.checkbox,.factory-bootstrap-436 .radio+.radio{margin-top:-5px}.factory-bootstrap-436 .checkbox-inline,.factory-bootstrap-436 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-436 .checkbox-inline+.checkbox-inline,.factory-bootstrap-436 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-436 .checkbox-inline[disabled],.factory-bootstrap-436 .checkbox[disabled],.factory-bootstrap-436 .radio-inline[disabled],.factory-bootstrap-436 .radio[disabled],.factory-bootstrap-436 fieldset[disabled] .checkbox,.factory-bootstrap-436 fieldset[disabled] .checkbox-inline,.factory-bootstrap-436 fieldset[disabled] .radio,.factory-bootstrap-436 fieldset[disabled] .radio-inline,.factory-bootstrap-436 fieldset[disabled] input[type=checkbox],.factory-bootstrap-436 fieldset[disabled] input[type=radio],.factory-bootstrap-436 input[type=checkbox][disabled],.factory-bootstrap-436 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-436 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-436 textarea.input-sm{height:auto}.factory-bootstrap-436 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-436 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-436 textarea.input-lg{height:auto}.factory-bootstrap-436 .has-warning .checkbox,.factory-bootstrap-436 .has-warning .checkbox-inline,.factory-bootstrap-436 .has-warning .control-label,.factory-bootstrap-436 .has-warning .help-block,.factory-bootstrap-436 .has-warning .radio,.factory-bootstrap-436 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-436 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-436 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-436 .has-error .checkbox,.factory-bootstrap-436 .has-error .checkbox-inline,.factory-bootstrap-436 .has-error .control-label,.factory-bootstrap-436 .has-error .help-block,.factory-bootstrap-436 .has-error .radio,.factory-bootstrap-436 .has-error .radio-inline{color:#a94442}.factory-bootstrap-436 .controls{display:block}.factory-bootstrap-436 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-436 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-436 .has-success .checkbox,.factory-bootstrap-436 .has-success .checkbox-inline,.factory-bootstrap-436 .has-success .control-label,.factory-bootstrap-436 .has-success .help-block,.factory-bootstrap-436 .has-success .radio,.factory-bootstrap-436 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-436 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-436 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-436 .form-control-static{margin-bottom:0}.factory-bootstrap-436 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-436 .form-horizontal .checkbox,.factory-bootstrap-436 .form-horizontal .checkbox-inline,.factory-bootstrap-436 .form-horizontal .control-label,.factory-bootstrap-436 .form-horizontal .radio,.factory-bootstrap-436 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-436 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-436 .form-horizontal .checkbox,.factory-bootstrap-436 .form-horizontal .radio{min-height:27px}.factory-bootstrap-436 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-436 .form-horizontal .form-group:after,.factory-bootstrap-436 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-436 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-436 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-436 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-436 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-436 .btn{text-decoration:none}.factory-bootstrap-436 .btn:focus,.factory-bootstrap-436 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-436 .btn.disabled,.factory-bootstrap-436 .btn[disabled],.factory-bootstrap-436 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-436 .btn-default.active,.factory-bootstrap-436 .btn-default:active,.factory-bootstrap-436 .btn-default:focus,.factory-bootstrap-436 .btn-default:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-436 .btn-default.active,.factory-bootstrap-436 .btn-default:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-436 .btn-default.disabled,.factory-bootstrap-436 .btn-default.disabled.active,.factory-bootstrap-436 .btn-default.disabled:active,.factory-bootstrap-436 .btn-default.disabled:focus,.factory-bootstrap-436 .btn-default.disabled:hover,.factory-bootstrap-436 .btn-default[disabled],.factory-bootstrap-436 .btn-default[disabled].active,.factory-bootstrap-436 .btn-default[disabled]:active,.factory-bootstrap-436 .btn-default[disabled]:focus,.factory-bootstrap-436 .btn-default[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-default,.factory-bootstrap-436 fieldset[disabled] .btn-default.active,.factory-bootstrap-436 fieldset[disabled] .btn-default:active,.factory-bootstrap-436 fieldset[disabled] .btn-default:focus,.factory-bootstrap-436 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-436 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-436 .btn-primary.active,.factory-bootstrap-436 .btn-primary:active,.factory-bootstrap-436 .btn-primary:focus,.factory-bootstrap-436 .btn-primary:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-436 .btn-primary.active,.factory-bootstrap-436 .btn-primary:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-436 .btn-primary.disabled,.factory-bootstrap-436 .btn-primary.disabled.active,.factory-bootstrap-436 .btn-primary.disabled:active,.factory-bootstrap-436 .btn-primary.disabled:focus,.factory-bootstrap-436 .btn-primary.disabled:hover,.factory-bootstrap-436 .btn-primary[disabled],.factory-bootstrap-436 .btn-primary[disabled].active,.factory-bootstrap-436 .btn-primary[disabled]:active,.factory-bootstrap-436 .btn-primary[disabled]:focus,.factory-bootstrap-436 .btn-primary[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-primary,.factory-bootstrap-436 fieldset[disabled] .btn-primary.active,.factory-bootstrap-436 fieldset[disabled] .btn-primary:active,.factory-bootstrap-436 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-436 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-436 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-436 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-436 .btn-warning.active,.factory-bootstrap-436 .btn-warning:active,.factory-bootstrap-436 .btn-warning:focus,.factory-bootstrap-436 .btn-warning:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-436 .btn-warning.active,.factory-bootstrap-436 .btn-warning:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-436 .btn-warning.disabled,.factory-bootstrap-436 .btn-warning.disabled.active,.factory-bootstrap-436 .btn-warning.disabled:active,.factory-bootstrap-436 .btn-warning.disabled:focus,.factory-bootstrap-436 .btn-warning.disabled:hover,.factory-bootstrap-436 .btn-warning[disabled],.factory-bootstrap-436 .btn-warning[disabled].active,.factory-bootstrap-436 .btn-warning[disabled]:active,.factory-bootstrap-436 .btn-warning[disabled]:focus,.factory-bootstrap-436 .btn-warning[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-warning,.factory-bootstrap-436 fieldset[disabled] .btn-warning.active,.factory-bootstrap-436 fieldset[disabled] .btn-warning:active,.factory-bootstrap-436 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-436 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-436 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-436 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-436 .btn-success.active,.factory-bootstrap-436 .btn-success:active,.factory-bootstrap-436 .btn-success:focus,.factory-bootstrap-436 .btn-success:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-436 .btn-success.active,.factory-bootstrap-436 .btn-success:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-436 .btn-success.disabled,.factory-bootstrap-436 .btn-success.disabled.active,.factory-bootstrap-436 .btn-success.disabled:active,.factory-bootstrap-436 .btn-success.disabled:focus,.factory-bootstrap-436 .btn-success.disabled:hover,.factory-bootstrap-436 .btn-success[disabled],.factory-bootstrap-436 .btn-success[disabled].active,.factory-bootstrap-436 .btn-success[disabled]:active,.factory-bootstrap-436 .btn-success[disabled]:focus,.factory-bootstrap-436 .btn-success[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-success,.factory-bootstrap-436 fieldset[disabled] .btn-success.active,.factory-bootstrap-436 fieldset[disabled] .btn-success:active,.factory-bootstrap-436 fieldset[disabled] .btn-success:focus,.factory-bootstrap-436 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-436 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-436 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-436 .btn-info.active,.factory-bootstrap-436 .btn-info:active,.factory-bootstrap-436 .btn-info:focus,.factory-bootstrap-436 .btn-info:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-436 .btn-info.active,.factory-bootstrap-436 .btn-info:active,.factory-bootstrap-436 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-436 .btn-info.disabled,.factory-bootstrap-436 .btn-info.disabled.active,.factory-bootstrap-436 .btn-info.disabled:active,.factory-bootstrap-436 .btn-info.disabled:focus,.factory-bootstrap-436 .btn-info.disabled:hover,.factory-bootstrap-436 .btn-info[disabled],.factory-bootstrap-436 .btn-info[disabled].active,.factory-bootstrap-436 .btn-info[disabled]:active,.factory-bootstrap-436 .btn-info[disabled]:focus,.factory-bootstrap-436 .btn-info[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-info,.factory-bootstrap-436 fieldset[disabled] .btn-info.active,.factory-bootstrap-436 fieldset[disabled] .btn-info:active,.factory-bootstrap-436 fieldset[disabled] .btn-info:focus,.factory-bootstrap-436 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-436 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-436 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-436 .btn-link,.factory-bootstrap-436 .btn-link:active,.factory-bootstrap-436 .btn-link[disabled],.factory-bootstrap-436 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-436 .btn-link,.factory-bootstrap-436 .btn-link:active,.factory-bootstrap-436 .btn-link:focus,.factory-bootstrap-436 .btn-link:hover{border-color:transparent}.factory-bootstrap-436 .btn-link:focus,.factory-bootstrap-436 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-436 .btn-link[disabled]:focus,.factory-bootstrap-436 .btn-link[disabled]:hover,.factory-bootstrap-436 fieldset[disabled] .btn-link:focus,.factory-bootstrap-436 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-436 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-436 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-436 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-436 input[type=button].btn-block,.factory-bootstrap-436 input[type=reset].btn-block,.factory-bootstrap-436 input[type=submit].btn-block{width:100%}.factory-bootstrap-436 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-436 .fade.in{opacity:1}.factory-bootstrap-436 .collapse{display:none}.factory-bootstrap-436 .collapse.in{display:block}.factory-bootstrap-436 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-436 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-436 .glyphicon:empty{width:1em}.factory-bootstrap-436 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-436 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-436 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-436 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-436 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-436 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-436 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-436 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-436 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-436 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-436 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-436 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-436 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-436 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-436 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-436 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-436 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-436 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-436 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-436 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-436 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-436 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-436 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-436 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-436 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-436 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-436 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-436 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-436 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-436 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-436 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-436 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-436 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-436 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-436 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-436 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-436 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-436 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-436 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-436 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-436 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-436 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-436 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-436 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-436 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-436 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-436 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-436 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-436 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-436 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-436 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-436 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-436 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-436 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-436 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-436 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-436 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-436 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-436 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-436 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-436 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-436 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-436 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-436 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-436 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-436 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-436 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-436 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-436 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-436 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-436 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-436 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-436 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-436 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-436 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-436 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-436 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-436 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-436 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-436 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-436 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-436 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-436 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-436 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-436 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-436 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-436 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-436 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-436 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-436 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-436 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-436 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-436 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-436 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-436 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-436 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-436 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-436 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-436 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-436 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-436 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-436 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-436 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-436 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-436 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-436 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-436 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-436 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-436 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-436 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-436 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-436 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-436 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-436 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-436 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-436 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-436 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-436 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-436 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-436 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-436 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-436 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-436 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-436 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-436 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-436 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-436 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-436 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-436 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-436 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-436 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-436 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-436 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-436 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-436 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-436 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-436 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-436 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-436 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-436 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-436 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-436 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-436 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-436 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-436 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-436 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-436 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-436 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-436 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-436 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-436 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-436 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-436 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-436 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-436 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-436 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-436 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-436 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-436 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-436 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-436 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-436 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-436 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-436 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-436 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-436 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-436 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-436 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-436 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-436 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-436 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-436 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-436 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-436 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-436 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-436 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-436 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-436 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-436 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-436 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-436 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-436 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-436 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-436 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-436 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-436 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-436 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-436 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-436 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-436 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-436 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-436 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-436 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-436 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-436 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-436 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-436 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-436 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-436 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-436 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-436 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-436 .dropdown{position:relative}.factory-bootstrap-436 .dropdown-toggle:focus{outline:0}.factory-bootstrap-436 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-436 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-436 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-436 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-436 .dropdown-menu>li>a:focus,.factory-bootstrap-436 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-436 .dropdown-menu>.active>a,.factory-bootstrap-436 .dropdown-menu>.active>a:focus,.factory-bootstrap-436 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-436 .dropdown-menu>.disabled>a,.factory-bootstrap-436 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-436 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-436 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-436 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .open>.dropdown-menu{display:block}.factory-bootstrap-436 .open>a{outline:0}.factory-bootstrap-436 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-436 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-436 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-436 .dropup .caret,.factory-bootstrap-436 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-436 .dropup .dropdown-menu,.factory-bootstrap-436 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-436 .btn-group,.factory-bootstrap-436 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-436 .btn-group-vertical>.btn,.factory-bootstrap-436 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-436 .btn-group-vertical>.btn.active,.factory-bootstrap-436 .btn-group-vertical>.btn:active,.factory-bootstrap-436 .btn-group-vertical>.btn:focus,.factory-bootstrap-436 .btn-group-vertical>.btn:hover,.factory-bootstrap-436 .btn-group>.btn.active,.factory-bootstrap-436 .btn-group>.btn:active,.factory-bootstrap-436 .btn-group>.btn:focus,.factory-bootstrap-436 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-436 .btn-group-vertical>.btn:focus,.factory-bootstrap-436 .btn-group>.btn:focus{outline:0}.factory-bootstrap-436 .btn-group .btn+.btn,.factory-bootstrap-436 .btn-group .btn+.btn-group,.factory-bootstrap-436 .btn-group .btn-group+.btn,.factory-bootstrap-436 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-436 .btn-toolbar:after,.factory-bootstrap-436 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-436 .btn-toolbar:after{clear:both}.factory-bootstrap-436 .btn-toolbar .btn-group{float:left}.factory-bootstrap-436 .btn-toolbar>.btn+.btn,.factory-bootstrap-436 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-436 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-436 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-436 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-436 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-436 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-436 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-436 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .btn-group>.btn-group{float:left}.factory-bootstrap-436 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-436 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-436 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-436 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .btn-group .dropdown-toggle:active,.factory-bootstrap-436 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-436 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-436 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-436 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-436 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-436 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-436 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-436 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-436 .btn .caret{margin-left:0}.factory-bootstrap-436 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-436 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-436 .btn-group-vertical>.btn,.factory-bootstrap-436 .btn-group-vertical>.btn-group,.factory-bootstrap-436 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-436 .btn-group-vertical>.btn-group:after,.factory-bootstrap-436 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-436 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-436 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-436 .btn-group-vertical>.btn+.btn,.factory-bootstrap-436 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-436 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-436 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-436 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-436 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-436 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-436 .btn-group-justified>.btn,.factory-bootstrap-436 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-436 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-436 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-436 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-436 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-436 .input-group-lg>.form-control,.factory-bootstrap-436 .input-group-lg>.input-group-addon,.factory-bootstrap-436 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-436 select.input-group-lg>.form-control,.factory-bootstrap-436 select.input-group-lg>.input-group-addon,.factory-bootstrap-436 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-436 textarea.input-group-lg>.form-control,.factory-bootstrap-436 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-436 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-436 .input-group-sm>.form-control,.factory-bootstrap-436 .input-group-sm>.input-group-addon,.factory-bootstrap-436 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-436 select.input-group-sm>.form-control,.factory-bootstrap-436 select.input-group-sm>.input-group-addon,.factory-bootstrap-436 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-436 textarea.input-group-sm>.form-control,.factory-bootstrap-436 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-436 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-436 .input-group .form-control,.factory-bootstrap-436 .input-group-addon,.factory-bootstrap-436 .input-group-btn{display:table-cell}.factory-bootstrap-436 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-436 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-436 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-436 .input-group-addon,.factory-bootstrap-436 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-436 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-436 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-436 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-436 .input-group-addon input[type=checkbox],.factory-bootstrap-436 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-436 .input-group .form-control:first-child,.factory-bootstrap-436 .input-group-addon:first-child,.factory-bootstrap-436 .input-group-btn:first-child>.btn,.factory-bootstrap-436 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-436 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-436 .input-group-addon:first-child{border-right:0}.factory-bootstrap-436 .input-group .form-control:last-child,.factory-bootstrap-436 .input-group-addon:last-child,.factory-bootstrap-436 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-436 .input-group-btn:last-child>.btn,.factory-bootstrap-436 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .input-group-addon:last-child{border-left:0}.factory-bootstrap-436 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-436 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-436 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-436 .input-group-btn>.btn{position:relative}.factory-bootstrap-436 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-436 .input-group-btn>.btn:active,.factory-bootstrap-436 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-436 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-436 .nav:after,.factory-bootstrap-436 .nav:before{display:table;content:" "}.factory-bootstrap-436 .nav:after{clear:both}.factory-bootstrap-436 .nav>li{position:relative;display:block}.factory-bootstrap-436 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-436 .nav>li>a:focus,.factory-bootstrap-436 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-436 .nav>li.disabled>a{color:#999}.factory-bootstrap-436 .nav>li.disabled>a:focus,.factory-bootstrap-436 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-436 .nav .open>a,.factory-bootstrap-436 .nav .open>a:focus,.factory-bootstrap-436 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-436 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-436 .nav>li>a>img{max-width:none}.factory-bootstrap-436 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-436 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-436 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-436 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-436 .nav-tabs>li.active>a,.factory-bootstrap-436 .nav-tabs>li.active>a:focus,.factory-bootstrap-436 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-436 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-436 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-436 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-436 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-436 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-436 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-436 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-436 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-436 .nav-pills>li{float:left}.factory-bootstrap-436 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-436 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-436 .nav-pills>li.active>a,.factory-bootstrap-436 .nav-pills>li.active>a:focus,.factory-bootstrap-436 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-436 .nav-stacked>li{float:none}.factory-bootstrap-436 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-436 .nav-justified{width:100%}.factory-bootstrap-436 .nav-justified>li{float:none}.factory-bootstrap-436 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-436 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-436 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-436 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-436 .nav-tabs-justified>.active>a,.factory-bootstrap-436 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-436 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-436 .tab-content>.tab-pane{display:none}.factory-bootstrap-436 .tab-content>.active{display:block}.factory-bootstrap-436 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-436 .navbar:after,.factory-bootstrap-436 .navbar:before{display:table;content:" "}.factory-bootstrap-436 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-436 .navbar-header:after,.factory-bootstrap-436 .navbar-header:before{display:table;content:" "}.factory-bootstrap-436 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-436 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-436 .navbar-collapse:after,.factory-bootstrap-436 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-436 .navbar-collapse:after{clear:both}.factory-bootstrap-436 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-436 .container>.navbar-collapse,.factory-bootstrap-436 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-436 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-436 .navbar-fixed-bottom,.factory-bootstrap-436 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-436 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-436 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-436 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-436 .navbar-brand:focus,.factory-bootstrap-436 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-436 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-436 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-436 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-436 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-436 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-436 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-436 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-436 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-436 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-436 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-436 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-436 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-436 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-436 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-436 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-436 .navbar-default .navbar-brand:focus,.factory-bootstrap-436 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-436 .navbar-default .navbar-nav>li>a,.factory-bootstrap-436 .navbar-default .navbar-text{color:#777}.factory-bootstrap-436 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-436 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-436 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-436 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-436 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-436 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-436 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-436 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-436 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-436 .navbar-default .navbar-toggle:focus,.factory-bootstrap-436 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-436 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-436 .navbar-default .navbar-collapse,.factory-bootstrap-436 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-436 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-436 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-436 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-436 .navbar-default .navbar-link{color:#777}.factory-bootstrap-436 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-436 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-436 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-436 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-436 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-436 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-436 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-436 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-436 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-436 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-436 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-436 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-436 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-436 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-436 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-436 .navbar-inverse .navbar-collapse,.factory-bootstrap-436 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-436 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-436 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-436 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-436 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-436 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-436 .breadcrumb>li{display:inline-block}.factory-bootstrap-436 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-436 .breadcrumb>.active{color:#999}.factory-bootstrap-436 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-436 .pagination>li{display:inline}.factory-bootstrap-436 .pagination>li>a,.factory-bootstrap-436 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-436 .pagination>li:first-child>a,.factory-bootstrap-436 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-436 .pagination>li:last-child>a,.factory-bootstrap-436 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-436 .pagination>li>a:focus,.factory-bootstrap-436 .pagination>li>a:hover,.factory-bootstrap-436 .pagination>li>span:focus,.factory-bootstrap-436 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-436 .pagination>.disabled>a,.factory-bootstrap-436 .pagination>.disabled>a:focus,.factory-bootstrap-436 .pagination>.disabled>a:hover,.factory-bootstrap-436 .pagination>.disabled>span,.factory-bootstrap-436 .pagination>.disabled>span:focus,.factory-bootstrap-436 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-436 .pagination-lg>li>a,.factory-bootstrap-436 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-436 .pagination-lg>li:first-child>a,.factory-bootstrap-436 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-436 .pagination-lg>li:last-child>a,.factory-bootstrap-436 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-436 .pagination-sm>li>a,.factory-bootstrap-436 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-436 .pagination-sm>li:first-child>a,.factory-bootstrap-436 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-436 .pagination-sm>li:last-child>a,.factory-bootstrap-436 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-436 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-436 .pager:after,.factory-bootstrap-436 .pager:before{display:table;content:" "}.factory-bootstrap-436 .pager:after{clear:both}.factory-bootstrap-436 .pager li{display:inline}.factory-bootstrap-436 .pager li>a,.factory-bootstrap-436 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-436 .pager li>a:focus,.factory-bootstrap-436 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-436 .pager .next>a,.factory-bootstrap-436 .pager .next>span{float:right}.factory-bootstrap-436 .pager .previous>a,.factory-bootstrap-436 .pager .previous>span{float:left}.factory-bootstrap-436 .pager .disabled>a,.factory-bootstrap-436 .pager .disabled>a:focus,.factory-bootstrap-436 .pager .disabled>a:hover,.factory-bootstrap-436 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-436 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-436 .label[href]:focus,.factory-bootstrap-436 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-436 .label:empty{display:none}.factory-bootstrap-436 .btn .label{position:relative;top:-1px}.factory-bootstrap-436 .label-default{background-color:#999}.factory-bootstrap-436 .label-default[href]:focus,.factory-bootstrap-436 .label-default[href]:hover{background-color:gray}.factory-bootstrap-436 .label-primary{background-color:#428bca}.factory-bootstrap-436 .label-primary[href]:focus,.factory-bootstrap-436 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-436 .label-success{background-color:#5cb85c}.factory-bootstrap-436 .label-success[href]:focus,.factory-bootstrap-436 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-436 .label-info{background-color:#5bc0de}.factory-bootstrap-436 .label-info[href]:focus,.factory-bootstrap-436 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-436 .label-warning{background-color:#f0ad4e}.factory-bootstrap-436 .label-warning[href]:focus,.factory-bootstrap-436 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-436 .label-danger{background-color:#d9534f}.factory-bootstrap-436 .label-danger[href]:focus,.factory-bootstrap-436 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-436 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-436 .badge:empty{display:none}.factory-bootstrap-436 .btn .badge{position:relative;top:-1px}.factory-bootstrap-436 a.badge:focus,.factory-bootstrap-436 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-436 .nav-pills>.active>a>.badge,.factory-bootstrap-436 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-436 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-436 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-436 .jumbotron .h1,.factory-bootstrap-436 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-436 .jumbotron p{line-height:1.4}.factory-bootstrap-436 .container .jumbotron{border-radius:6px}.factory-bootstrap-436 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-436 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-436 .thumbnail a>img,.factory-bootstrap-436 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-436 a.thumbnail.active,.factory-bootstrap-436 a.thumbnail:focus,.factory-bootstrap-436 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-436 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-436 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-436 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-436 .alert .alert-link{font-weight:700}.factory-bootstrap-436 .alert>p,.factory-bootstrap-436 .alert>ul{margin-bottom:0}.factory-bootstrap-436 .alert>p+p{margin-top:5px}.factory-bootstrap-436 .alert-dismissable{padding-right:35px}.factory-bootstrap-436 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-436 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-436 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-436 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-436 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-436 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-436 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-436 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-436 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-436 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-436 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-436 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-436 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-436 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-436 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-436 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-436 .media,.factory-bootstrap-436 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-436 .media,.factory-bootstrap-436 .media .media{margin-top:15px}.factory-bootstrap-436 .media:first-child{margin-top:0}.factory-bootstrap-436 .media-object{display:block}.factory-bootstrap-436 .media-heading{margin:0 0 5px}.factory-bootstrap-436 .media>.pull-left{margin-right:10px}.factory-bootstrap-436 .media>.pull-right{margin-left:10px}.factory-bootstrap-436 .media-list{padding-left:0;list-style:none}.factory-bootstrap-436 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-436 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-436 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-436 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-436 .list-group-item>.badge{float:right}.factory-bootstrap-436 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-436 a.list-group-item{color:#555}.factory-bootstrap-436 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-436 a.list-group-item:focus,.factory-bootstrap-436 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-436 a.list-group-item.active,.factory-bootstrap-436 a.list-group-item.active:focus,.factory-bootstrap-436 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-436 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-436 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-436 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-436 a.list-group-item.active .list-group-item-text,.factory-bootstrap-436 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-436 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-436 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-436 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-436 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-436 .panel-body{padding:15px}.factory-bootstrap-436 .panel-body:after,.factory-bootstrap-436 .panel-body:before{display:table;content:" "}.factory-bootstrap-436 .panel-body:after{clear:both}.factory-bootstrap-436 .panel>.list-group{margin-bottom:0}.factory-bootstrap-436 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-436 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-436 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-436 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-436 .panel>.table,.factory-bootstrap-436 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-436 .panel>.panel-body+.table,.factory-bootstrap-436 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-436 .panel>.table>tbody:first-child td,.factory-bootstrap-436 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-436 .panel>.table-bordered,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-436 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-436 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-436 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-436 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-436 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-436 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-436 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-436 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-436 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-436 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-436 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-436 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-436 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-436 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-436 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-436 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-436 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-436 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-436 .panel-title>a{color:inherit}.factory-bootstrap-436 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-436 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-436 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-436 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-436 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-436 .panel-group .panel-footer{border-top:0}.factory-bootstrap-436 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-436 .panel-default{border-color:#ddd}.factory-bootstrap-436 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-436 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-436 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-436 .panel-primary{border-color:#428bca}.factory-bootstrap-436 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-436 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-436 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-436 .panel-success{border-color:#d6e9c6}.factory-bootstrap-436 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-436 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-436 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-436 .panel-warning{border-color:#faebcc}.factory-bootstrap-436 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-436 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-436 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-436 .panel-danger{border-color:#ebccd1}.factory-bootstrap-436 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-436 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-436 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-436 .panel-info{border-color:#bce8f1}.factory-bootstrap-436 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-436 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-436 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-436 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-436 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-436 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-436 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-436 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-436 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-436 .close:focus,.factory-bootstrap-436 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-436 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-436 .modal-open{overflow:hidden}.factory-bootstrap-436 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-436 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-436 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-436 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-436 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-436 .modal-backdrop,.factory-bootstrap-436-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-436 .modal-backdrop.fade,.factory-bootstrap-436-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-436 .modal-backdrop.in,.factory-bootstrap-436-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-436 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-436 .modal-header .close{margin-top:-2px}.factory-bootstrap-436 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-436 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-436 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-436 .modal-footer:after,.factory-bootstrap-436 .modal-footer:before{display:table;content:" "}.factory-bootstrap-436 .modal-footer:after{clear:both}.factory-bootstrap-436 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-436 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-436 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-436 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-436 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-436 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-436 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-436 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-436 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-436 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-436 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-436 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-436 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-436 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-436 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-436 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-436 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-436 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-436 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-436 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-436 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-436 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-436 .popover.top{margin-top:-10px}.factory-bootstrap-436 .popover.right{margin-left:10px}.factory-bootstrap-436 .popover.bottom{margin-top:10px}.factory-bootstrap-436 .popover.left{margin-left:-10px}.factory-bootstrap-436 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-436 .popover-content{padding:9px 14px}.factory-bootstrap-436 .popover .arrow,.factory-bootstrap-436 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-436 .popover .arrow{border-width:11px}.factory-bootstrap-436 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-436 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-436 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-436 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-436 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-436 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-436 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-436 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-436 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-436 .carousel{position:relative}.factory-bootstrap-436 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-436 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-436 .carousel-inner>.item>a>img,.factory-bootstrap-436 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-436 .carousel-inner>.active,.factory-bootstrap-436 .carousel-inner>.next,.factory-bootstrap-436 .carousel-inner>.prev{display:block}.factory-bootstrap-436 .carousel-inner>.active{left:0}.factory-bootstrap-436 .carousel-inner>.next,.factory-bootstrap-436 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-436 .carousel-inner>.next{left:100%}.factory-bootstrap-436 .carousel-inner>.prev{left:-100%}.factory-bootstrap-436 .carousel-inner>.next.left,.factory-bootstrap-436 .carousel-inner>.prev.right{left:0}.factory-bootstrap-436 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-436 .carousel-inner>.active.right{left:100%}.factory-bootstrap-436 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-436 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-436 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-436 .carousel-control:focus,.factory-bootstrap-436 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-436 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-436 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-436 .carousel-control .icon-next,.factory-bootstrap-436 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-436 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-436 .carousel-control .icon-prev{left:50%}.factory-bootstrap-436 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-436 .carousel-control .icon-next{right:50%}.factory-bootstrap-436 .carousel-control .icon-next,.factory-bootstrap-436 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-436 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-436 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-436 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-436 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-436 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-436 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-436 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-436 .clearfix:after,.factory-bootstrap-436 .clearfix:before{display:table;content:" "}.factory-bootstrap-436 .clearfix:after{clear:both}.factory-bootstrap-436 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-436 .pull-right{float:right!important}.factory-bootstrap-436 .pull-left{float:left!important}.factory-bootstrap-436 .hide{display:none!important}.factory-bootstrap-436 .show{display:block!important}.factory-bootstrap-436 .invisible{visibility:hidden}.factory-bootstrap-436 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-436 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-436 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-436 .visible-lg,.factory-bootstrap-436 .visible-md,.factory-bootstrap-436 .visible-sm,.factory-bootstrap-436 .visible-xs,.factory-bootstrap-436 td.visible-lg,.factory-bootstrap-436 td.visible-md,.factory-bootstrap-436 td.visible-sm,.factory-bootstrap-436 td.visible-xs,.factory-bootstrap-436 th.visible-lg,.factory-bootstrap-436 th.visible-md,.factory-bootstrap-436 th.visible-sm,.factory-bootstrap-436 th.visible-xs,.factory-bootstrap-436 tr.visible-lg,.factory-bootstrap-436 tr.visible-md,.factory-bootstrap-436 tr.visible-sm,.factory-bootstrap-436 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-436 .hidden-xs{display:block!important}.factory-bootstrap-436 table.hidden-xs{display:table}.factory-bootstrap-436 tr.hidden-xs{display:table-row!important}.factory-bootstrap-436 td.hidden-xs,.factory-bootstrap-436 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-436 .hidden-sm{display:block!important}.factory-bootstrap-436 table.hidden-sm{display:table}.factory-bootstrap-436 tr.hidden-sm{display:table-row!important}.factory-bootstrap-436 td.hidden-sm,.factory-bootstrap-436 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-436 .hidden-md{display:block!important}.factory-bootstrap-436 table.hidden-md{display:table}.factory-bootstrap-436 tr.hidden-md{display:table-row!important}.factory-bootstrap-436 td.hidden-md,.factory-bootstrap-436 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-436 .hidden-lg{display:block!important}.factory-bootstrap-436 table.hidden-lg{display:table}.factory-bootstrap-436 tr.hidden-lg{display:table-row!important}.factory-bootstrap-436 td.hidden-lg,.factory-bootstrap-436 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-436 .hidden-lg.hidden-xs,.factory-bootstrap-436 td.hidden-lg.hidden-xs,.factory-bootstrap-436 th.hidden-lg.hidden-xs,.factory-bootstrap-436 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-436 .hidden-lg.hidden-sm,.factory-bootstrap-436 td.hidden-lg.hidden-sm,.factory-bootstrap-436 th.hidden-lg.hidden-sm,.factory-bootstrap-436 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-436 .hidden-lg.hidden-md,.factory-bootstrap-436 td.hidden-lg.hidden-md,.factory-bootstrap-436 th.hidden-lg.hidden-md,.factory-bootstrap-436 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-436 .hidden-lg,.factory-bootstrap-436 td.hidden-lg,.factory-bootstrap-436 th.hidden-lg,.factory-bootstrap-436 tr.hidden-lg{display:none!important}}.factory-bootstrap-436 .visible-print,.factory-bootstrap-436 td.visible-print,.factory-bootstrap-436 th.visible-print,.factory-bootstrap-436 tr.visible-print{display:none!important}@media print{.factory-bootstrap-436 .visible-print{display:block!important}.factory-bootstrap-436 table.visible-print{display:table}.factory-bootstrap-436 tr.visible-print{display:table-row!important}.factory-bootstrap-436 td.visible-print,.factory-bootstrap-436 th.visible-print{display:table-cell!important}.factory-bootstrap-436 .hidden-print,.factory-bootstrap-436 td.hidden-print,.factory-bootstrap-436 th.hidden-print,.factory-bootstrap-436 tr.hidden-print{display:none!important}}/*!
|
12 |
* Factory Default Bootstrap Theme
|
13 |
*
|
14 |
* The code is based on Bootstrap v2.1.1
|
22 |
*
|
23 |
* @package factory-bootstrap
|
24 |
* @since 1.0.0
|
25 |
+
*/.factory-bootstrap-436 .btn-danger,.factory-bootstrap-436 .btn-default,.factory-bootstrap-436 .btn-info,.factory-bootstrap-436 .btn-primary,.factory-bootstrap-436 .btn-success,.factory-bootstrap-436 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-436 .btn-danger.active,.factory-bootstrap-436 .btn-danger:active,.factory-bootstrap-436 .btn-default.active,.factory-bootstrap-436 .btn-default:active,.factory-bootstrap-436 .btn-info.active,.factory-bootstrap-436 .btn-info:active,.factory-bootstrap-436 .btn-primary.active,.factory-bootstrap-436 .btn-primary:active,.factory-bootstrap-436 .btn-success.active,.factory-bootstrap-436 .btn-success:active,.factory-bootstrap-436 .btn-warning.active,.factory-bootstrap-436 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-436 .btn.active,.factory-bootstrap-436 .btn:active{background-image:none}.factory-bootstrap-436 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-436 .btn-default.active,.factory-bootstrap-436 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-436 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-436 .btn-gold:focus,.factory-bootstrap-436 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-436 .btn-gold.active,.factory-bootstrap-436 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-436 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-436 .btn-primary:focus,.factory-bootstrap-436 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-436 .btn-primary.active,.factory-bootstrap-436 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-436 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .btn-success:focus,.factory-bootstrap-436 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-436 .btn-success.active,.factory-bootstrap-436 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-436 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .btn-warning:focus,.factory-bootstrap-436 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-436 .btn-warning.active,.factory-bootstrap-436 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-436 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-436 .btn-danger.active,.factory-bootstrap-436 .btn-danger:active,.factory-bootstrap-436 .btn-danger:focus,.factory-bootstrap-436 .btn-danger:hover,.factory-bootstrap-436 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-436 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .btn-info:focus,.factory-bootstrap-436 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-436 .btn-info.active,.factory-bootstrap-436 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-436 .img-thumbnail,.factory-bootstrap-436 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-436 .dropdown-menu>li>a:focus,.factory-bootstrap-436 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-436 .dropdown-menu>.active>a,.factory-bootstrap-436 .dropdown-menu>.active>a:focus,.factory-bootstrap-436 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-436 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-436 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-436 .navbar-brand,.factory-bootstrap-436 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-436 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-436 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-436 .navbar-inverse .navbar-brand,.factory-bootstrap-436 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-436 .navbar-fixed-bottom,.factory-bootstrap-436 .navbar-fixed-top,.factory-bootstrap-436 .navbar-static-top{border-radius:0}.factory-bootstrap-436 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-436 .alert .actions{padding-top:10px}.factory-bootstrap-436 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-436 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-436 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-436 .alert-normal,.factory-bootstrap-436 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-436 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-436 .alert-danger a:not(.btn),.factory-bootstrap-436 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-436 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-436 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-436 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-436 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-436 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-436 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-436 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-436 .list-group-item.active,.factory-bootstrap-436 .list-group-item.active:focus,.factory-bootstrap-436 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-436 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-436 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-436 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-436 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-436 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-436 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-436 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-436 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-436 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-436 .factory-hidden{display:none}.factory-bootstrap-436 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
|
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-436 .bootstrap-datetimepicker-widget{list-style:none}.factory-bootstrap-436 .bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:19em}@media (min-width:768px){.factory-bootstrap-436 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.factory-bootstrap-436 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:1200px){.factory-bootstrap-436 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.factory-bootstrap-436 .bootstrap-datetimepicker-widget.dropdown-menu:after,.factory-bootstrap-436 .bootstrap-datetimepicker-widget.dropdown-menu:before{content:'';display:inline-block;position:absolute}.factory-bootstrap-436 .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-436 .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-436 .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-436 .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-436 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.factory-bootstrap-436 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.factory-bootstrap-436 .bootstrap-datetimepicker-widget .list-unstyled{margin:0}.factory-bootstrap-436 .bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.factory-bootstrap-436 .bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.factory-bootstrap-436 .bootstrap-datetimepicker-widget .timepicker-hour,.factory-bootstrap-436 .bootstrap-datetimepicker-widget .timepicker-minute,.factory-bootstrap-436 .bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.factory-bootstrap-436 .bootstrap-datetimepicker-widget button[data-action]{padding:6px}.factory-bootstrap-436 .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-436 .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-436 .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-436 .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-436 .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-436 .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-436 .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-436 .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-436 .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-436 .bootstrap-datetimepicker-widget .picker-switch{text-align:center}.factory-bootstrap-436 .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-436 .bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.factory-bootstrap-436 .bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table{width:100%;margin:0}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table th{text-align:center;border-radius:4px}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table th.disabled,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table th.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-436 .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-436 .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-436 .bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eee}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#777}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.day:hover,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.hour:hover,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.minute:hover,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.second:hover{background:#eee;cursor:pointer}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.new,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.old{color:#777}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.today{position:relative}.factory-bootstrap-436 .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-436 .bootstrap-datetimepicker-widget table td.active,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.active:hover{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.disabled,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-436 .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-436 .bootstrap-datetimepicker-widget table td span:hover{background:#eee}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td span.active{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td span.old{color:#777}.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td span.disabled,.factory-bootstrap-436 .bootstrap-datetimepicker-widget table td span.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-436 .bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.factory-bootstrap-436 .bootstrap-datetimepicker-widget.wider{width:21em}.factory-bootstrap-436 .bootstrap-datetimepicker-widget .datepicker-decades .decade{line-height:1.8em!important}.factory-bootstrap-436 .input-group.date .input-group-addon{cursor:pointer}.factory-bootstrap-436 .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-436 .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-436 .btn-primary:focus,.factory-bootstrap-436 .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-436 .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-436 .btn-primary:disabled,.factory-bootstrap-436 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-436 .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-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{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-436 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-436 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-436 .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-436 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-436 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-436 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-436 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-436 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-436 .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-436 .control-label{float:left;width:100%;text-align:left;position:relative;top:1px}#side-sortables .factory-bootstrap-436 .control-icon{float:left;margin:0 6px 0 0}#side-sortables .factory-bootstrap-436 input{float:right;position:relative;top:-25px}#side-sortables .factory-bootstrap-436 .col-sm-10{margin:0;width:100%}#side-sortables .factory-bootstrap-436 .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-436 .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-436 .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-436 .btn-primary:focus,.factory-bootstrap-436 .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-436 .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-436 .btn-primary:disabled,.factory-bootstrap-436 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-436 .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-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{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-436 .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-436 .btn-primary:focus,.factory-bootstrap-436 .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-436 .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-436 .btn-primary:disabled,.factory-bootstrap-436 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-436 .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-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{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-436 .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-436 .btn-primary:focus,.factory-bootstrap-436 .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-436 .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-436 .btn-primary:disabled,.factory-bootstrap-436 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-436 .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-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{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-436 .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-436 .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-436 .btn-primary:focus,.factory-bootstrap-436 .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-436 .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-436 .btn-primary:disabled,.factory-bootstrap-436 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-436 .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-436 .pagination>.active>a,.factory-bootstrap-436 .pagination>.active>a:focus,.factory-bootstrap-436 .pagination>.active>a:hover,.factory-bootstrap-436 .pagination>.active>span,.factory-bootstrap-436 .pagination>.active>span:focus,.factory-bootstrap-436 .pagination>.active>span:hover{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-436 .factory-tab{overflow:hidden;margin-bottom:25px}.factory-bootstrap-436 .factory-tab .form-group{overflow:hidden}.factory-bootstrap-436 .factory-tab+.form-group{margin-top:30px}.factory-bootstrap-436 .nav-tabs a{text-decoration:none}.factory-bootstrap-436 .factory-align-horizontal .nav-tabs{border-bottom:0}.factory-bootstrap-436 .factory-align-vertical .factory-headers{float:left;width:150px}.factory-bootstrap-436 .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-436 .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-436 .factory-align-vertical .factory-bodies{min-height:250px;margin-left:150px}.factory-bootstrap-436 .factory-align-vertical .factory-bodies .actory-tab-item{clear:both}.factory-bootstrap-436 .form-horizontal .factory-align-vertical .form-group{margin-left:-5px}.factory-bootstrap-436 .factory-align-vertical .nav-tabs li{float:none}.factory-bootstrap-436 .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-436 .factory-align-vertical .nav-tabs>.active>a{border:1px solid #DDD!important;border-right:1px solid #fff!important}.factory-bootstrap-436 .factory-align-vertical .nav-tabs>li a:hover{color:#21759B;z-index:5;border-color:transparent}.factory-bootstrap-436 .factory-align-vertical .control-label{width:20%;max-width:140px}.factory-bootstrap-436 .factory-align-vertical .control-group{width:80%}.factory-bootstrap-436 .factory-align-vertical .control-group input[type=text],.factory-bootstrap-436 .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-436 .wp-editor-wrap *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-436 .wp-editor-wrap .button,.factory-bootstrap-436 .wp-editor-wrap input,.factory-bootstrap-436 .wp-editor-wrap textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-436 .switch-html,.factory-bootstrap-436 .switch-tmce{color:#777}.factory-bootstrap-436 .html-active .switch-html,.factory-bootstrap-436 .tmce-active .switch-tmce{color:#555}.factory-bootstrap-436 .switch-html:hover,.factory-bootstrap-436 .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-436 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-436 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-436 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-436 .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-436 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-436 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-436 .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-436 .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-436 .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-436 .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-436 .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-436 .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-436 .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-436 .factory-control-row{padding-left:105px;position:relative}.factory-bootstrap-436 .factory-control-row .factory-color-wrap{position:absolute;left:0;top:0}.factory-bootstrap-436 .factory-control-row .factory-opacity-wrap{width:100%}.factory-bootstrap-436 .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-436 .factory-color{position:relative}.factory-bootstrap-436 .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-436 .factory-color .factory-background,.factory-bootstrap-436 .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-436 .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-436 .factory-dropdown-and-colors .factory-colors-wrap,.factory-bootstrap-436 .factory-dropdown-and-colors .factory-dropdown-wrap{display:inline-block}.factory-bootstrap-436 .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-436 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-436 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-436 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-436 .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-436 .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-436 .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-436 .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-436 .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-436 .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-436 .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-436 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-436 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-436 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-436 .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-436 .factory-font .factory-control-row{padding:0;vertical-align:top}.factory-bootstrap-436 .factory-font .factory-color-wrap{position:static;display:inline-block;vertical-align:top}.factory-bootstrap-436 .factory-font .factory-size-wrap{display:inline-block;width:70px;vertical-align:top}.factory-bootstrap-436 .iris-picker{margin-top:10px}.factory-bootstrap-436 .factory-font .factory-family-wrap{padding-bottom:10px}.factory-bootstrap-436 .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-436 .factory-list li input{margin:0 5px 0 0;position:relative;top:1px;outline:0!important}.factory-bootstrap-436 .factory-list li span{vertical-align:bottom;line-height:100%}.factory-bootstrap-436 .factory-list .factory-error{position:relative;display:inline-block}.factory-bootstrap-436 .factory-list .factory-error i{color:#f47665;margin:0 7px 0 1px;cursor:help}.factory-bootstrap-436 .factory-list .factory-error-text{display:none;position:absolute;width:300px}.factory-bootstrap-436 .factory-list .factory-error-text,.factory-bootstrap-436 .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-436 .factory-list-error{padding:5px 10px;max-width:500px;display:inline-block}.factory-bootstrap-436 .factory-list-error i{margin:0 7px 0 1px}.factory-bootstrap-436 .factory-list .factory-error-text a{color:#fff;font-weight:700}.factory-bootstrap-436 .factory-list .factory-has-error:hover .factory-error-text{display:block}.factory-bootstrap-436 .factory-list .factory-has-error{cursor:default}.opanda-connect-buttons .opanda-has-error .opanda-error{display:inline-block}.factory-bootstrap-436 .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-436 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-436 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-436 .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-436 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-436 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-436 .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-436 .factory-pattern .factory-pattern-controls{vertical-align:middle}.factory-bootstrap-436 .factory-pattern .factory-preview-wrap{display:inline-block;vertical-align:middle}.factory-bootstrap-436 .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-436 .factory-pattern .factory-preview.factory-empty{background:transparent url(../assets/images/color_picker_pattern.jpg) repeat!important}.factory-bootstrap-436 .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-436 .factory-pattern .factory-preview span:hover{background:#161616}.factory-bootstrap-436 .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-436 .factory-pattern.factory-patterns-panel-active .factory-preview span:after{border-top-color:transparent;border-bottom-color:#96a6a6;top:4px}.factory-bootstrap-436 .factory-pattern .factory-color-panel{padding:10px;margin-top:10px;background:rgba(255,255,255,.04);border-radius:3px;display:none}.factory-bootstrap-436 .factory-pattern.factory-color-panel-active .factory-color-panel{display:block}.factory-bootstrap-436 .factory-pattern .factory-color-label{margin-right:5px}.factory-bootstrap-436 .factory-pattern .factory-color,.factory-bootstrap-436 .factory-pattern .factory-color-label{display:inline-block;vertical-align:middle}.factory-bootstrap-436 .factory-pattern .factory-color-panel .factory-hint{margin-top:7px}.factory-bootstrap-436 .factory-pattern .factory-patterns-panel{display:none;margin-top:10px;padding:2px 0 0;border-top:1px solid #272727;overflow:visible}.factory-bootstrap-436 .factory-pattern .factory-patterns-group{clear:both;padding:2px 0 0;border-bottom:1px solid #272727;padding-bottom:10px}.factory-bootstrap-436 .factory-pattern .factory-patterns-group-title{margin-top:10px}.factory-bootstrap-436 .factory-pattern .factory-patterns-row{padding-top:10px}.factory-bootstrap-436 .factory-pattern.factory-patterns-panel-active .factory-patterns-panel{display:block}.factory-bootstrap-436 .factory-pattern .factory-patterns-item,.factory-bootstrap-436 .factory-pattern .factory-patterns-item div{width:46px;height:46px}.factory-bootstrap-436 .factory-pattern .factory-patterns-item{display:inline-block;cursor:pointer;position:relative;vertical-align:top}.factory-bootstrap-436 .factory-pattern .factory-patterns-item+.factory-patterns-item{margin-left:10px}.factory-bootstrap-436 .factory-pattern .factory-patterns-item div{position:absolute;border-radius:100%;border:4px solid #333}.factory-bootstrap-436 .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-436 .factory-pattern .factory-no-preview{background:#2f2f2f;line-height:46px;border-radius:100%;text-align:center;font-size:20px}.factory-bootstrap-436 .factory-pattern .factory-no-preview:hover{background:#333}.factory-bootstrap-436 .factory-pattern .factory-button .fa{font-size:14px;margin-right:1px}.factory-bootstrap-436 .factory-pattern .factory-button span{position:relative;top:-1px}.factory-bootstrap-436 .factory-pattern .factory-button+.factory-button{margin-left:3px}.factory-bootstrap-436 .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-436 .factory-from-radio-label,.factory-bootstrap-436 .factory-from-radio-label>span{-webkit-transition:all .3s;-moz-transition:all .3s;-o-transition:all .3s;transition:all .3s}.factory-bootstrap-436 .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-436 .factory-from-radio-label:hover{background-color:#f5f2f2;border:1px solid rgba(0,0,0,.2)}.factory-bootstrap-436 .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-436 .factory-from-radio-label .factory-radio-color:checked+span{border:5px solid #fff}.factory-bootstrap-436 .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-436 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-436 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-436 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-436 .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-436 .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-436 .factory-gradient-picker-wrap{margin-bottom:20px}.factory-bootstrap-436 .gradientPicker-preview{width:100%;height:30px;border-radius:3px;background:transparent url(../../images/color_picker_pattern.jpg) repeat}.factory-bootstrap-436 .factory-color-picker-container{display:none;padding-top:15px}.factory-bootstrap-436 .factory-point,.factory-bootstrap-436 .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-436 .factory-point-color{border-radius:0}.factory-bootstrap-436 .factory-point{background:transparent url(../../images/color_picker_pattern.jpg) repeat}.factory-bootstrap-436 .factory-current-point{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.factory-bootstrap-436 .factory-points{position:relative;height:10px;width:100%;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ1JREFUeNq8VAEKwCAITOn%2FX3ZzTBCxUicTBsvsOO9EIKJhAwCe5H0H4xBvLQgOegV8yZ8AZwJHc8zKI4c53bk6IGNqMH3GCJuMlkeG4p4G1e5Lq1KXatmCM7AdrbLLq7FC0agycx7oXOmk8%2FY%2FPNjRR7s6ZFHFqY5AcasLFDPtpAC7WH7aNkxgO9gdLNv3oWdKiKXX7r8bu6rlJcAA9ZRfMt5oHoIAAAAASUVORK5CYII%3D) 5 0,pointer}.factory-bootstrap-436 .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-436 .gradientPicker-iris-wrap .iris-border,.factory-bootstrap-436 .gradientPicker-iris-wrap .iris-picker{border:0;background:#111}.factory-bootstrap-436 .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-436 .factory-preset-gradient,.factory-bootstrap-436 .factory-secondary-color{width:22px;height:22px;border-radius:100%}.factory-bootstrap-436 .factory-preset-gradient{display:inline-block;cursor:pointer;margin-bottom:3px;position:relative}.factory-bootstrap-436 .factory-preset-gradient:hover{opacity:.9}.factory-bootstrap-436 .factory-preset-gradient+.factory-preset-gradient{margin-left:5px}.factory-bootstrap-436 .factory-secondary-color-wrap{width:11px;height:22px;position:absolute;overflow:hidden;right:0}.factory-bootstrap-436 .factory-secondary-color{position:absolute;left:-11px;background-color:red}.factory-bootstrap-436 .gradientPicker-filldirection{width:200px;margin-top:5px}.factory-bootstrap-436 .gradientPicker-ptConfig .color-chooser{float:left}.factory-bootstrap-436 .factory-color-picker-container .factory-slider{padding-left:75px;padding-right:60px;position:relative}.factory-bootstrap-436 .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-436 .factory-paddings-editor{padding-left:135px;height:90px;position:relative}.factory-bootstrap-436 .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-436 .factory-paddings-editor .factory-side{width:100%;height:100%;position:absolute}.factory-bootstrap-436 .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-436 .factory-paddings-editor .factory-side-center:hover{background-color:#c0cece}.factory-bootstrap-436 .factory-paddings-editor .factory-side-center.factory-active{background-color:#829595}.factory-bootstrap-436 .factory-paddings-editor .factory-side-top{height:30px;top:0;left:0}.factory-bootstrap-436 .factory-paddings-editor .factory-side-right{width:45px;top:0;right:0}.factory-bootstrap-436 .factory-paddings-editor .factory-side-bottom{height:30px;bottom:0;left:0}.factory-bootstrap-436 .factory-paddings-editor .factory-side-left{width:45px;top:0;left:0}.factory-bootstrap-436 .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-436 .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-436 .factory-paddings-editor .factory-visible-value em{font-style:normal}.factory-bootstrap-436 .factory-paddings-editor .factory-side-bottom,.factory-bootstrap-436 .factory-paddings-editor .factory-side-top{text-align:center;line-height:30px}.factory-bootstrap-436 .factory-paddings-editor .factory-side-left,.factory-bootstrap-436 .factory-paddings-editor .factory-side-right{line-height:90px;text-align:center}.factory-bootstrap-436 .factory-paddings-editor .factory-slider-container{font-style:italic}.factory-bootstrap-436 .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.factoryBootstrap436_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-436 .factory-accordion").factoryBootstrap436_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.factoryBootstrap436_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.factoryBootstrap436_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.factoryBootstrap436_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.factoryBootstrap436_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.factoryBootstrap436_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.factoryBootstrap436_DatetimePickerControl}),function(a){a(function(){a(".factory-bootstrap-436 .factory-datetimepicker").factoryBootstrap436_DatetimePickerControl(),a(".factory-bootstrap-436 .factory-datetimepicker-range-0").factoryBootstrap436_DatetimePickerControl(),a(".factory-bootstrap-436 .factory-datetimepicker-range-1").factoryBootstrap436_DatetimePickerControl({useCurrent:!1}),a(".factory-bootstrap-436 .factory-datetimepicker-range-0").on("dp.change",function(b){a(".factory-bootstrap-436 .factory-datetimepicker-range-1").data("DateTimePicker").minDate(b.date)}),a(".factory-bootstrap-436 .factory-datetimepicker-r
|