Version Description
Download this release
Release Info
Developer | bravenewcode |
Plugin | WPtouch |
Version | 4.1 |
Comparing to | |
See all releases |
Code changes from version 4.0.4 to 4.1
- admin/css/wptouch-admin-4-wizard.css +8 -7
- admin/css/wptouch-admin-4.css +73 -8
- admin/customizer/wptouch-customizer.php +25 -23
- admin/fontello/LICENSE.txt +30 -1
- admin/fontello/README.txt +2 -2
- admin/fontello/config.json +18 -0
- admin/fontello/css/fontello-codes.css +4 -1
- admin/fontello/css/fontello-embedded.css +10 -7
- admin/fontello/css/fontello-ie7-codes.css +4 -1
- admin/fontello/css/fontello-ie7.css +4 -1
- admin/fontello/css/fontello.css +11 -7
- admin/fontello/demo.html +11 -6
- admin/fontello/font/fontello.eot +0 -0
- admin/fontello/font/fontello.svg +70 -33
- admin/fontello/font/fontello.ttf +0 -0
- admin/fontello/font/fontello.woff +0 -0
- admin/fontello/font/fontello.woff2 +0 -0
- admin/images/auto-config.jpg +0 -0
- admin/js/wptouch-admin-4.js +94 -2
- admin/js/wptouch-admin-wizard.js +15 -15
- admin/pages/custom/wptouch-admin-license.php +1 -1
- admin/pages/custom/wptouch-admin-wizard.php +3 -3
- admin/pages/wptouch-admin-general-settings.php +4 -45
- admin/settings/html/auto_configure.php +6 -0
- admin/settings/html/extension-browser-item-detail.php +70 -13
- admin/settings/html/extension-browser-item.php +1 -1
- admin/settings/html/gopro.php +3 -3
- admin/settings/html/sites.php +1 -0
- admin/settings/html/theme-browser-item-detail.php +2 -0
- admin/settings/html/theme-browser-item.php +1 -1
- admin/settings/html/updates-available.php +17 -2
- admin/settings/include/sites.php +32 -0
- core/admin-ajax.php +170 -1
- core/admin-extensions.php +25 -16
- core/admin-load.php +21 -18
- core/admin-menu.php +3 -1
- core/admin-render.php +85 -46
- core/admin-themes.php +2 -11
- core/bncid.php +1 -0
- core/class-bncapi.php +1 -1
- core/class-wptouch-pro-settings.php +19 -1
- core/class-wptouch-pro.php +158 -19
- core/config.php +0 -1
- core/globals.php +24 -2
- core/multisite.php +370 -1
- core/theme.php +18 -16
- lang/wptouch.pot +417 -303
- readme.txt +13 -2
- themes/bauhaus/default/header-bottom.php +1 -1
- themes/bauhaus/default/style.css +0 -2
- themes/bauhaus/readme.txt +1 -0
- themes/bauhaus/root-functions.php +31 -0
- themes/foundation/modules/custom-latest-posts/custom-latest-posts.php +2 -2
- themes/foundation/modules/featured/featured.php +13 -18
- themes/foundation/modules/google-fonts/google-fonts.php +20 -7
- themes/foundation/modules/login/login.php +7 -55
- themes/foundation/modules/owlcarousel/assets/owl.carousel.css +87 -175
- themes/foundation/modules/owlcarousel/assets/owl.carousel.min.css +1 -0
- themes/foundation/modules/owlcarousel/assets/owl.theme.default.css +51 -0
- themes/foundation/modules/owlcarousel/assets/owl.theme.default.min.css +1 -0
- themes/foundation/modules/owlcarousel/owl.carousel.js +1078 -1001
- themes/foundation/modules/owlcarousel/owl.carousel.min.js +2 -1
- themes/foundation/modules/owlcarousel/owlcarousel.php +8 -1
- themes/foundation/modules/sharing/sharing.php +58 -56
- themes/foundation/modules/social-links/social-links.php +108 -106
- themes/foundation/root-functions.php +0 -4
- wptouch.php +12 -2
admin/css/wptouch-admin-4-wizard.css
CHANGED
@@ -1,10 +1,4 @@
|
|
1 |
-
/* @override
|
2 |
-
http://wptp3.local.com/wp-content/plugins/wptouch-pro/admin/css/wptouch-admin-4-wizard.css?ver=4.0rc3
|
3 |
-
http://multisite.local.com/wordpress/wp-content/plugins/wptouch-pro/admin/css/wptouch-admin-4-wizard.css?ver=4.0rc3
|
4 |
-
http://wptp3.local.com/wp-content/plugins/wptouch-pro/admin/css/wptouch-admin-4-wizard.css?ver=4.0rc4
|
5 |
-
http://wptp3.local.com/wp-content/plugins/wptouch-pro/admin/css/wptouch-admin-4-wizard.css?ver=76e991ef18f00ccead0908dad1e8ca36
|
6 |
-
http://local.free.com/wordpress/wp-content/plugins/wptouch-pro/admin/css/wptouch-admin-4-wizard.css?ver=ef6e6bd127f2d30c8e9b0f7ab4870428
|
7 |
-
*/
|
8 |
|
9 |
/* @group Clearfix */
|
10 |
|
@@ -1311,6 +1305,13 @@ input.checkbox:disabled + label:after {
|
|
1311 |
.show-love .icon-heart {
|
1312 |
font-size: 240px;
|
1313 |
color: #eb5768;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1314 |
}
|
1315 |
/* @end */
|
1316 |
|
1 |
+
/* @override http://wpt.local.com/wp-content/plugins/wptouch-pro/admin/css/wptouch-admin-4-wizard.css?ver=22ed6bf4adf5d9900c597275442749f4 */
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
/* @group Clearfix */
|
4 |
|
1305 |
.show-love .icon-heart {
|
1306 |
font-size: 240px;
|
1307 |
color: #eb5768;
|
1308 |
+
line-height: 240px;
|
1309 |
+
}
|
1310 |
+
|
1311 |
+
.show-love .icon-heart-broken {
|
1312 |
+
font-size: 194px;
|
1313 |
+
color: #eb5768;
|
1314 |
+
line-height: 249px;
|
1315 |
}
|
1316 |
/* @end */
|
1317 |
|
admin/css/wptouch-admin-4.css
CHANGED
@@ -1,9 +1,3 @@
|
|
1 |
-
/* @override
|
2 |
-
http://local.free.com/wordpress/wp-content/plugins/wptouch/admin/css/wptouch-admin-4.css?ver=07078a97d66756f213dbca3e379bf084
|
3 |
-
http://local.free.com/wordpress/wp-content/plugins/wptouch/admin/css/wptouch-admin-4.css?ver=23fb94884a48c87b2205cae4ed48d2a6
|
4 |
-
http://wptouch.local.com/wp-content/plugins/wptouch-pro/admin/css/wptouch-admin-4.css?ver=8592ce708d0f07d31806215760a95116
|
5 |
-
*/
|
6 |
-
|
7 |
/* @group Clearfix */
|
8 |
|
9 |
.wptouch-clearfix:after {
|
@@ -371,11 +365,18 @@ a#preview-theme {
|
|
371 |
|
372 |
/* @group Icons */
|
373 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
#wptouch-admin-menu ul li a.updates-available:before {
|
375 |
content: '\e81d';
|
376 |
}
|
377 |
|
378 |
-
#wptouch-admin-menu ul li a.setup-general-general:before {
|
379 |
content: '\e805';
|
380 |
}
|
381 |
|
@@ -443,6 +444,10 @@ a#preview-theme {
|
|
443 |
content: '\e818';
|
444 |
}
|
445 |
|
|
|
|
|
|
|
|
|
446 |
/* @end */
|
447 |
|
448 |
/* @end */
|
@@ -2281,4 +2286,64 @@ li.no-license:hover:after {
|
|
2281 |
width: 100%;
|
2282 |
}
|
2283 |
|
2284 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/* @group Clearfix */
|
2 |
|
3 |
.wptouch-clearfix:after {
|
365 |
|
366 |
/* @group Icons */
|
367 |
|
368 |
+
#wptouch-admin-menu a.should-hide:before, #wptouch-admin-menu a.active.should-hide:before, #wptouch-admin-menu a.active.should-hide {
|
369 |
+
background: -webkit-linear-gradient(#f29533, #f5696c);
|
370 |
+
-webkit-background-clip: text;
|
371 |
+
-webkit-text-fill-color: transparent;
|
372 |
+
content: '\e821' !important;
|
373 |
+
}
|
374 |
+
|
375 |
#wptouch-admin-menu ul li a.updates-available:before {
|
376 |
content: '\e81d';
|
377 |
}
|
378 |
|
379 |
+
#wptouch-admin-menu ul li a.setup-general-general:before, #wptouch-admin-menu ul li a.wptouch-addon-deployment:before {
|
380 |
content: '\e805';
|
381 |
}
|
382 |
|
444 |
content: '\e818';
|
445 |
}
|
446 |
|
447 |
+
#wptouch-admin-menu ul li a.wptouch-addon-amp:before {
|
448 |
+
content: '\e822';
|
449 |
+
}
|
450 |
+
|
451 |
/* @end */
|
452 |
|
453 |
/* @end */
|
2286 |
width: 100%;
|
2287 |
}
|
2288 |
|
2289 |
+
}
|
2290 |
+
|
2291 |
+
/* @group Multisite */
|
2292 |
+
|
2293 |
+
#multisite-deploy-sites {
|
2294 |
+
max-height: 500px;
|
2295 |
+
overflow: scroll;
|
2296 |
+
border: 1px solid #e7eaed;
|
2297 |
+
margin-bottom: 30px;
|
2298 |
+
border-radius: 3px;
|
2299 |
+
}
|
2300 |
+
|
2301 |
+
#multisite-deploy-sites p {
|
2302 |
+
padding-left: 12px;
|
2303 |
+
margin: 0;
|
2304 |
+
}
|
2305 |
+
|
2306 |
+
#multisite-deploy-sites p label {
|
2307 |
+
display: inline-block;
|
2308 |
+
width: 90%;
|
2309 |
+
padding-top: 8px;
|
2310 |
+
padding-bottom: 8px;
|
2311 |
+
}
|
2312 |
+
|
2313 |
+
button#multisite-deploy {
|
2314 |
+
background-color: #55c2e8;
|
2315 |
+
float: right;
|
2316 |
+
}
|
2317 |
+
|
2318 |
+
#multisite-deploy-sites p:nth-child(odd) {
|
2319 |
+
background-color: #fcfcfc;
|
2320 |
+
}
|
2321 |
+
|
2322 |
+
#multisite-deploy-sites p input {
|
2323 |
+
margin-right: 10px;
|
2324 |
+
}
|
2325 |
+
|
2326 |
+
#multisite-deploy-sites input[type=checkbox][disabled] + label {
|
2327 |
+
font-style: italic;
|
2328 |
+
color: #ccc;
|
2329 |
+
}
|
2330 |
+
|
2331 |
+
p.deploy-text i {
|
2332 |
+
color: #8ec159;
|
2333 |
+
font-size: 100px;
|
2334 |
+
display: block;
|
2335 |
+
line-height: 0;
|
2336 |
+
margin-bottom: 20px;
|
2337 |
+
}
|
2338 |
+
|
2339 |
+
p.deploy-text {
|
2340 |
+
font-size: 15px;
|
2341 |
+
}
|
2342 |
+
|
2343 |
+
.remodal-multisite {
|
2344 |
+
min-height: 280px;
|
2345 |
+
}
|
2346 |
+
|
2347 |
+
|
2348 |
+
|
2349 |
+
/* @end */
|
admin/customizer/wptouch-customizer.php
CHANGED
@@ -282,9 +282,9 @@ function wptouch_get_customizable_settings() {
|
|
282 |
}
|
283 |
}
|
284 |
|
285 |
-
function wptouch_initialize_customizer() {
|
286 |
$current_theme = wptouch_get_current_theme_name();
|
287 |
-
if ( !get_option( 'wptouch_customizer_initialized_' . $current_theme ) ) {
|
288 |
wptouch_customizer_initialize();
|
289 |
add_option( 'wptouch_customizer_initialized_' . $current_theme, true );
|
290 |
}
|
@@ -352,32 +352,34 @@ function wptouch_customizer_setup( $wp_customize ) {
|
|
352 |
// Allow other areas of the plugin to perform actions before we get set up. These might be 'first load'-type calls
|
353 |
do_action( 'wptouch_customizer_start_setup' );
|
354 |
|
355 |
-
|
356 |
-
|
357 |
-
|
|
|
358 |
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
|
364 |
-
|
365 |
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
|
374 |
-
|
375 |
-
|
376 |
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
|
|
381 |
}
|
382 |
}
|
383 |
|
@@ -761,7 +763,7 @@ function wptouch_customizer_port_image( $customizer_setting, $source_setting, $s
|
|
761 |
$settings = wptouch_get_settings( $settings_domain );
|
762 |
$upload_dir = wp_upload_dir();
|
763 |
|
764 |
-
if ( $source_setting != false && $settings->$source_setting != false ) {
|
765 |
|
766 |
if ( in_array( $settings_domain, $options_domains ) ) {
|
767 |
$domain_options = get_option( 'wptouch_customizer_options_' . $settings_domain );
|
282 |
}
|
283 |
}
|
284 |
|
285 |
+
function wptouch_initialize_customizer( $override = false ) {
|
286 |
$current_theme = wptouch_get_current_theme_name();
|
287 |
+
if ( !get_option( 'wptouch_customizer_initialized_' . $current_theme ) || $override ) {
|
288 |
wptouch_customizer_initialize();
|
289 |
add_option( 'wptouch_customizer_initialized_' . $current_theme, true );
|
290 |
}
|
352 |
// Allow other areas of the plugin to perform actions before we get set up. These might be 'first load'-type calls
|
353 |
do_action( 'wptouch_customizer_start_setup' );
|
354 |
|
355 |
+
if ( wptouch_can_show_page( 'colors' ) ) {
|
356 |
+
// Again, colours are a special case and are handled separately
|
357 |
+
if ( foundation_has_theme_colors() ) {
|
358 |
+
$colors = foundation_get_theme_colors();
|
359 |
|
360 |
+
foreach( $colors as $color ) {
|
361 |
+
if ( !array_key_exists( $color->domain, $defaults ) ) {
|
362 |
+
$defaults[ $color->domain ] = $wptouch_pro->get_setting_defaults( $color->domain );
|
363 |
+
}
|
364 |
|
365 |
+
$setting_name = $color->setting;
|
366 |
|
367 |
+
$args = array(
|
368 |
+
'default' => $defaults[ $color->domain ]->$setting_name
|
369 |
+
);
|
370 |
|
371 |
+
if ( $color->live_preview ) {
|
372 |
+
$args[ 'transport' ] = 'postMessage';
|
373 |
+
}
|
374 |
|
375 |
+
// The Customizer constructs things in two parts
|
376 |
+
$wp_customize->add_setting( 'wptouch_' . $setting_name, $args );
|
377 |
|
378 |
+
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'wptouch_' . $setting_name, array(
|
379 |
+
'label' => __( $color->desc, 'wptouch-pro' ),
|
380 |
+
'section' => 'colors'
|
381 |
+
) ) );
|
382 |
+
}
|
383 |
}
|
384 |
}
|
385 |
|
763 |
$settings = wptouch_get_settings( $settings_domain );
|
764 |
$upload_dir = wp_upload_dir();
|
765 |
|
766 |
+
if ( $source_setting != false && isset( $settings->$source_setting ) && $settings->$source_setting != false ) {
|
767 |
|
768 |
if ( in_array( $settings_domain, $options_domains ) ) {
|
769 |
$domain_options = get_option( 'wptouch_customizer_options_' . $settings_domain );
|
admin/fontello/LICENSE.txt
CHANGED
@@ -33,5 +33,34 @@ Font license info
|
|
33 |
Copyright (C) 2012 by Dave Gandy
|
34 |
|
35 |
Author: Dave Gandy
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
License: SIL (http://scripts.sil.org/OFL)
|
37 |
-
Homepage: http://
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
Copyright (C) 2012 by Dave Gandy
|
34 |
|
35 |
Author: Dave Gandy
|
36 |
+
License: SIL ()
|
37 |
+
Homepage: http://fortawesome.github.com/Font-Awesome/
|
38 |
+
|
39 |
+
|
40 |
+
## MFG Labs
|
41 |
+
|
42 |
+
Copyright (C) 2012 by Daniel Bruce
|
43 |
+
|
44 |
+
Author: MFG Labs
|
45 |
License: SIL (http://scripts.sil.org/OFL)
|
46 |
+
Homepage: http://www.mfglabs.com/
|
47 |
+
|
48 |
+
|
49 |
+
## Elusive
|
50 |
+
|
51 |
+
Copyright (C) 2013 by Aristeides Stathopoulos
|
52 |
+
|
53 |
+
Author: Aristeides Stathopoulos
|
54 |
+
License: SIL (http://scripts.sil.org/OFL)
|
55 |
+
Homepage: http://aristeides.com/
|
56 |
+
|
57 |
+
|
58 |
+
## Typicons
|
59 |
+
|
60 |
+
(c) Stephen Hutchings 2012
|
61 |
+
|
62 |
+
Author: Stephen Hutchings
|
63 |
+
License: SIL (http://scripts.sil.org/OFL)
|
64 |
+
Homepage: http://typicons.com/
|
65 |
+
|
66 |
+
|
admin/fontello/README.txt
CHANGED
@@ -2,14 +2,14 @@ This webfont is generated by http://fontello.com open source project.
|
|
2 |
|
3 |
|
4 |
================================================================================
|
5 |
-
Please, note, that you should obey original font
|
6 |
webfont pack. Details available in LICENSE.txt file.
|
7 |
|
8 |
- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
|
9 |
site in "About" section.
|
10 |
|
11 |
- If your project is open-source, usually, it will be ok to make LICENSE.txt
|
12 |
-
file
|
13 |
|
14 |
- Fonts, used in Fontello, don't require a clickable link on your site.
|
15 |
But any kind of additional authors crediting is welcome.
|
2 |
|
3 |
|
4 |
================================================================================
|
5 |
+
Please, note, that you should obey original font licenses, used to make this
|
6 |
webfont pack. Details available in LICENSE.txt file.
|
7 |
|
8 |
- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
|
9 |
site in "About" section.
|
10 |
|
11 |
- If your project is open-source, usually, it will be ok to make LICENSE.txt
|
12 |
+
file publicly available in your repository.
|
13 |
|
14 |
- Fonts, used in Fontello, don't require a clickable link on your site.
|
15 |
But any kind of additional authors crediting is welcome.
|
admin/fontello/config.json
CHANGED
@@ -325,6 +325,24 @@
|
|
325 |
"css": "tablet",
|
326 |
"code": 59417,
|
327 |
"src": "modernpics"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
}
|
329 |
]
|
330 |
}
|
325 |
"css": "tablet",
|
326 |
"code": 59417,
|
327 |
"src": "modernpics"
|
328 |
+
},
|
329 |
+
{
|
330 |
+
"uid": "862129f833b09f3d34ae39acf8484a7b",
|
331 |
+
"css": "heart-broken",
|
332 |
+
"code": 59424,
|
333 |
+
"src": "mfglabs"
|
334 |
+
},
|
335 |
+
{
|
336 |
+
"uid": "d218294e6f9f7191f6b0b3d1ff6239ff",
|
337 |
+
"css": "eye-off",
|
338 |
+
"code": 59425,
|
339 |
+
"src": "elusive"
|
340 |
+
},
|
341 |
+
{
|
342 |
+
"uid": "pgdm1vsngqxmheo5xkjpbm5o8k81pawd",
|
343 |
+
"css": "flash",
|
344 |
+
"code": 59426,
|
345 |
+
"src": "typicons"
|
346 |
}
|
347 |
]
|
348 |
}
|
admin/fontello/css/fontello-codes.css
CHANGED
@@ -30,4 +30,7 @@
|
|
30 |
.icon-key:before { content: '\e81c'; } /* '' */
|
31 |
.icon-download-cloud:before { content: '\e81d'; } /* '' */
|
32 |
.icon-heart:before { content: '\e81e'; } /* '' */
|
33 |
-
.icon-chart-pie:before { content: '\e81f'; } /* '' */
|
|
|
|
|
|
30 |
.icon-key:before { content: '\e81c'; } /* '' */
|
31 |
.icon-download-cloud:before { content: '\e81d'; } /* '' */
|
32 |
.icon-heart:before { content: '\e81e'; } /* '' */
|
33 |
+
.icon-chart-pie:before { content: '\e81f'; } /* '' */
|
34 |
+
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
35 |
+
.icon-eye-off:before { content: '\e821'; } /* '' */
|
36 |
+
.icon-flash:before { content: '\e822'; } /* '' */
|
admin/fontello/css/fontello-embedded.css
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
@font-face {
|
2 |
font-family: 'fontello';
|
3 |
-
src: url('../font/fontello.eot?
|
4 |
-
src: url('../font/fontello.eot?
|
5 |
-
url('../font/fontello.svg?
|
6 |
font-weight: normal;
|
7 |
font-style: normal;
|
8 |
}
|
9 |
@font-face {
|
10 |
font-family: 'fontello';
|
11 |
-
src: url('data:application/octet-stream;base64,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') format('woff'),
|
12 |
-
url('data:application/octet-stream;base64,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WCA8WS6xKwEUKy2wPiywNSsjIC5GsAIlRlJYIDxZLrErARQrLbA/LLA2K4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrErARQrsARDLrArKy2wQCywABawBCWwBCYgLkcjRyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKxAAAqsQAFQrEACCqxAAVCsQAIKrEABUK5AAAACSqxAAVCuQAAAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbEADCq4Af+FsASNsQIARAA=') format('truetype');
|
13 |
}
|
14 |
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
15 |
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
@@ -17,7 +17,7 @@
|
|
17 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
18 |
@font-face {
|
19 |
font-family: 'fontello';
|
20 |
-
src: url('../font/fontello.svg?
|
21 |
}
|
22 |
}
|
23 |
*/
|
@@ -83,4 +83,7 @@
|
|
83 |
.icon-key:before { content: '\e81c'; } /* '' */
|
84 |
.icon-download-cloud:before { content: '\e81d'; } /* '' */
|
85 |
.icon-heart:before { content: '\e81e'; } /* '' */
|
86 |
-
.icon-chart-pie:before { content: '\e81f'; } /* '' */
|
|
|
|
|
|
1 |
@font-face {
|
2 |
font-family: 'fontello';
|
3 |
+
src: url('../font/fontello.eot?32536721');
|
4 |
+
src: url('../font/fontello.eot?32536721#iefix') format('embedded-opentype'),
|
5 |
+
url('../font/fontello.svg?32536721#fontello') format('svg');
|
6 |
font-weight: normal;
|
7 |
font-style: normal;
|
8 |
}
|
9 |
@font-face {
|
10 |
font-family: 'fontello';
|
11 |
+
src: url('data:application/octet-stream;base64,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') format('woff'),
|
12 |
+
url('data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQrD+s+0AAAD8AAAAQk9TLzI+J0kzAAABQAAAAFZjbWFw6qlm4wAAAZgAAANMY3Z0IAAAAAAAACe0AAAACmZwZ22IkJBZAAAnwAAAC3BnYXNwAAAAEAAAJ6wAAAAIZ2x5ZmIN+SAAAATkAAAcnGhlYWQJdA+5AAAhgAAAADZoaGVhB3YDsAAAIbgAAAAkaG10eH2f/6cAACHcAAAAkGxvY2GRWInwAAAibAAAAEptYXhwANUMGgAAIrgAAAAgbmFtZcydHB4AACLYAAACzXBvc3TiSxElAAAlqAAAAgJwcmVw3WsDhQAAMzAAAAB7AAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQN9AZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoIgNS/2oAWgNXAJ0AAAABAAAAAAAAAAAABQAAAAMAAAAsAAAABAAAAZgAAQAAAAAAkgADAAEAAAAsAAMACgAAAZgABABmAAAABAAEAAEAAOgi//8AAOgA//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAbQAAAAAAAAAIwAA6AAAAOgAAAAAAQAA6AEAAOgBAAAAAgAA6AIAAOgCAAAAAwAA6AMAAOgDAAAABAAA6AQAAOgEAAAABQAA6AUAAOgFAAAABgAA6AYAAOgGAAAABwAA6AcAAOgHAAAACAAA6AgAAOgIAAAACQAA6AkAAOgJAAAACgAA6AoAAOgKAAAACwAA6AsAAOgLAAAADAAA6AwAAOgMAAAADQAA6A0AAOgNAAAADgAA6A4AAOgOAAAADwAA6A8AAOgPAAAAEAAA6BAAAOgQAAAAEQAA6BEAAOgRAAAAEgAA6BIAAOgSAAAAEwAA6BMAAOgTAAAAFAAA6BQAAOgUAAAAFQAA6BUAAOgVAAAAFgAA6BYAAOgWAAAAFwAA6BcAAOgXAAAAGAAA6BgAAOgYAAAAGQAA6BkAAOgZAAAAGgAA6BoAAOgaAAAAGwAA6BsAAOgbAAAAHAAA6BwAAOgcAAAAHQAA6B0AAOgdAAAAHgAA6B4AAOgeAAAAHwAA6B8AAOgfAAAAIAAA6CAAAOggAAAAIQAA6CEAAOghAAAAIgAA6CIAAOgiAAAAIwAD//z/kAOaAywACAATACkACrceFA4JBQEDLSsBNgASAAQAAgAXIgYVBhYzMjY1NAMyNjcnBiMiPwE2IyIGBxc2MzIPAQYBxr4BEAb+9v6E/u4GAQzyKi4CIiAmLrQebDQSMBgOCioaMB52OBA0FgwMJBoDKgL++P6E/u4GAQoBfAESljAaHCAsIDr9rjQ0GCQmoGA6LhoiIphoAAACAAD/nQOPAyEACAAOAAi1CwkIBQItKwEyABAABAASABMBJwEnBwHRuAEG/vr+kP74AgEEdAFcT/7zfk8DHf76/o7+/AQBDAFqAQ79bwFcT/70fk4AAAAAAgAA/20D5QNQAA8AEgAItREQBAACLSsJAQMjFTM1IzchFyMVITUjARsBAq7+jPk++X2oAYs7PwE3Pv3U0kgDUP3Q/os+Pvn5Pj4BdQE3/skAAAAABwAA/64D6AMOAA8AGAAcADgAQQBeAGcAE0AQY19XQj05LyYbGRQQBwAHLSsFIyImNRE0NjsBMhYVERQGJzI2NCYiBhQWEyMRMwMjNTQmIyERMxUjIi4BNRE0PgEzITIeAR0BLgEFIgYUFjI2NCYlITIWHQEjNTQmIyEiBhURMxUUFxYXIyImNRE0NhMyNjQmIgYUFgO+pBIZGRKkERkZYwgKCw4LC1CTk50GCQf9msbsIDYgIDYgAowgNiASMv0fERkZIhkZAYEBMyIvQwgG/s0FCO0CAQbpITAwuwwQEBgREVIaEgFEEhoaEv68EhoWCw8LCw8LAVH+6AJxJQcK/hhqITkhAcYhOSEhOSFQFBeSGiQaGiQaWDEjb28GCAgG/kVQBwoIDjIjAd0jMf2ZEhkRERkSAAAABf/x/2YD6ANSAAMABwANAB0ARwAPQAxBLRcVDAoGBAEABS0rJTUzFQMzFSMDNREzESMlETY3Njc2NzMRIyYnJicmJwYXFhcWFxYXFhcWFRQHBi4BNjc2JyYnJicmJyYnJjc2NzY3FSYHBgcGAwvd3d3dOCUl/kYEQj1BRQyTkw5EPz1AvgYKCBMMFxgFKRQiOBIkFQYTDQsKHBMlKgsZBBcoIEosVy4WJhcczzk5AbM5/nReAjf8ruQBeAo5NTI2A/zUAzEsMTRoExsWGxMbHwY4JD4tOR4KDCEiCgcgGy8gOD8SJw9QLSUQCQZbAQIDCg0AAAT/9/9qA+oDUgAIABQAbQB2AA1ACnNvWzARCwUBBC0rASYiBwEXATY0BwEGIiY0NwE2MhYUEwEHFxYUBiIvATAxLwImNDYyHwE3JzYmJy4BIyIHDgEHBh8BFhQPAQYiLwEmBw4BBwYWFx4BMzI3FwcnJiMGDwEGFh8BFjMyPwE+AS8BNwEWMzI2Nz4BJgcGIiY0NjIWFAPOGkoa/nN+AY0aPv6rCBMPBwFVCBQPEP73VQ0IDxUHHj8jXgcPFAcNVUwLICYeTisfHgYJAgMKUg0NHw0mDFIJDwYJAhIlMR1HJg0cnP8OBw0MBkgFAQccBgsJBWsKAQcO/wFYJTEYLBEXEBBJEjUkJDUkAxwaGv5zfgGNGkot/qsIDxUHAVUIDxT9XgEIVQ0HFA8HHz4kXQgUDwgNVUw0ZyUfIAkBCgYOClINJA4eDQ1RCgMBCgY9eykZGgSc/g0IAglrCBEHHAcESQYZBw3//qcjEhEXPz5iEiUzJSUzAAABAAAAAAPoAmIAaQAGszQAAS0rNzI3Njc2NzY3Njc2MhcWFxYVFAcGBwYjIi4ELwEmFy4BDgEXFhcWFxYzMjc+ATQmJyYjIgcGBwYHBgcGBwYjIicmNTQ3Njc+ATMyFxYfARY+ASYnJicmJyYnJiMiBwYHBhUUFxYXFuVCPTI1HzkuGCchJ04hHhEREhMgJCoPHRgVEQ0FBwQBCiciCgoHEyAoOD9FOjY/PTM4Qjw3LjEdNzIaKiUsLFQeEgQHDBEuIjkvGhkMECgaAg4CARYTIyg1PUw1LBgUHBgpN1okHjojSz0cLRYaGxcnJCMgIyUWGgYLDQ4OBgoFARMJFioSDhYlFyAnJXd8eyUpIRw2IUlCHTAYHD8lOAwVHhggHyITIQ4OAyAqDgICHBEiExkvJ0I1MlI5Mx4nAAAACAAA/4EDQQM7AA8AGAAgACQAKAAsADAANAAVQBIzMS8tKyknJSIhGhkUEAcACC0rBSEiJjURNDYzITIWFREUBiUyNjQmIgYUFgMRITUhESE1AxEhEQEhNSEVITUhFSE1IRUhNSEDBf3eGSMjGQIiGSMj/tYUGxwmHBz+AiL94QIfFv4WAbv+dQGL/nUBi/51AYv+dQGLfyMZA0IZIyMZ/L4ZIyscJhsbJhwDF/1xLwIoOP3AAen+FwF0RbFFsUSxRQAAAAH///+OA8QDUgAyAAazEwYBLSsFITAxIw4BJyInIyImPQEmNxE0NjsBMhYVEQE+AR8BHgEHCQE2Fh8BFgYHASEyFh0BFAYDlfz8DgoYCwUCOQgNAQENCHsIDAEUCiURPREKCv76Ac0RJQokCQoR/iQCERMcHGsGAQYBDAksCgoDUwkMDAn9zQHaEQoKIwomEP48AQkKChE8ESUK/u4bE0cTGwAABP/7/4ED2ANXABEAIwA3AEsADUAKR0AwJCAaDAAELSslJzc2NCYiDwEnNz4BHgIGBwUnJiIGFB8BBycuAT4CFh8BBRcHBhQWMj8BFwcOASImJy4BNjclFxYyNjQvATcXHgEGBw4BIiYvAQKhZPIUKTsUN2Q2KW1uUR0dKP5n8RU7KRU2ZDcoHR1Rbm0p8f7UZPEVKTsVNmQ2H05TTh8oHR0oAZnyFDspFDdkNygdHSgfTlNOH/H0ZPEVOykVNmQ3KB0dUW1uKSnxFSk7FTZkNilubVEdHSjyQ2TxFTspFDdkNx4gIB4pbm0pKfIUKTsVNmQ2KW1uKR4gIB7yAAAAAAb//wAAA+QCrQARACQAMwBPAGUAbgARQA5qZltQTjQrJSAYDQIGLSsBAwYvATUXNyUHIzc+ARcFHgElBRc3FQcGJicDJjY3JTYWHwEjByEyFREUBiMhIiY1ETQ2EzM3Njc2NzYWFxYXFh8BNzY3PgEXFhcWFzMRIQUiJwYjIiY0Njc+ATsBMhc2MzIWFAYFIiY0NjIWFAYD4pcDCSI4Y/7DOytQAgYDAW4DAv2F/sNjOCMDBwGXAQIDAW4DBgJQLKoCAgsGBf3+BAcGK04KDA4TEhcoEQ4LCAYEBwkMECMPDA0FECH+QQFwEA0MChUeFhABCQcHBwUNDxQcHP7EDxUVHxUVAfL+yggEEGsazJR4pAMCAawCBoaUzBprEAICBAE2AwYCrAECA6QeCv5LBQYHBAG1BAb+sSIoHisRFigeGR4VFhIZHRQcCBENHQopAR9aBQIMDwsBBwkFBREYEQcVHRUVHRUAAAcAAP+cA4QDKAADAAcAIAAkACgALAAwABNAEC8tKykoJiMhHBEHBQMBBy0rJRUnNTcVJzUBFhURFAcFBiIGIiYjJyUmNRE0NzYXBSU2ARElESERBREBFQc1ExUHNQFUyMjIAuIWIP5yCAQGBAYCCv5yIBYWGAF+AX4Y/jj+wALk/sABBMjIyO5EUESARFBEAQoMHv2AIgygAgICAqAMIgKAHgwQCpqaCvzcAjCA/dACMID90AE6RFBEASBEUEQAAAH/+/9jA+0DUgCGAAazYCMBLSsBHgE3PgEuAQcOAQ8BJic3FjY3Ni4BBgcOARcHJic1PgE1NCYiBhUUFhcVBgcnNiYnLgEOARceATcXBgcnLgEnJg4BFhcWNjcXFhcHLgEHDgEeATc+ASc3FhcHIgYHBh4BNjc2Jic3FzcXDgEXHgE+AScuASMnNjcXBhYXFj4BJicmBgcnNjcDWAwtGB8kCjUfGSIE1AYPhxcvEBUGMT8VEAMMhhYcFxwtQC0dFxwXhgwDEBRAMQUUEC8XiBAG1AQiGB81CyUfGSwL2QEKwhIwFhwQID0cFhQFxREPTxkoCAsbPDoLCA0TUBITTxIOCQs5PBsLCCgZTxMNxQQVFRs+IBEbFjESwgkDAXYVFQQFNUAlBgQkGCYYFqQIDBMZQCoGGRMyFKIPBtEIKBkgLi4gGSgI0QYPohUxExkGKkAZEwwIpBUZJhgkBAYlQDUFBBUVJxUWcRAFDRE+OBAQDS0Ycw8J2xsYHzoWGx4YMA/dAQHdDzAYHhsWOh8YG9sLDXMYLQ0QEDg+EQ0FEHEVFgAAAA0AAP9qA9MDUgAKABUAGgAnADEAOgA+AEIATABPAFMAVwBdAB9AHFxZVlRSUE9NS0VBPz07NjItKB8cGRYPCwQBDS0rAQcnNzYzMh8BFgYlJzc+ATIfAR4BBwMnNTcXATcXBwYjIi8BMzI2NQcjIiY9ASEVFAYnIgYUFjI2NCYDIRUhESEVIRE0NjsBMhYdASEBFwcRFwcnNxcHJxM3HwEHJwPGdKR0CAoOCX8IA/6n5UkEDg8HsQsGBsCvJ+X+/B40dAcLDwgTKhYeStcNEgEVEngMEREXERGWARX+6wEV/usSDdcNEv7rATgcHJRdN6dylELOIwKilH8BfFzLXQYLngkYkYCABwgEYwYYCf6rYX1Ff/3yNkBdBgsXHhYfEg2bmw0SeRAXEREXEAFCxgHHxgGcDRISDZv9tBAyAVlTpB9njXZSAWwcA8l1ngAAAAQAAP9qAxcDUwBcAGEAZQBpAA1ACmhnZWNgXVEOBC0rASsBNzY3Njc2JyYnJicmDgIfARYXFAcGBwYHBgcGFxYXByMnMDEvAiYnJiMwMQYHIwciMRUiMRUHFQcVBxUPAQYdATAxFyMiBhQWOwETHgEzITI2NxMzMjY0JicfAQcjAzcXBxc3FyMDACYtDRANEAYIGxMjFQwGDwsEBAUEAQkMDhEICwUHCAUMKDwRAk8CAwkGBAYDAQEBAQICAQIvARA5Cg0NChA5AQ0IAVgIDQE5EgoNDa4DLQxH5RkYPw0tDy4Bj5gOFRwjMjIlIBUHBAEKEAcNDw0RCQ0HCgkOGBsfFhStxAitAwcEAgICAQEBAQECAQIBA74BAgWxDhQN/h8JDAwJAeENFA6VAQeNAQkDNgguBqYAAAMAAP9qA+gDUgBXAGQAbQAKt2llXlg9EQMtKwEHBgcXFgYPAQ4BLwEGDwEOASsBIiYvASYnBwYmLwEuAT8BJi8BLgE9ATQ2PwE2NycmNj8BPgEfATY/AT4BOwEyFh8BFhc3NhYfAR4BDwEWHwEeAR0BFAYBIg4BFB4BMj4BNC4BAyImNDYyFhQGA9R5CRRFBQIGVgYTB2UiJRcBDwh6CA8BFykbZAgSBlYGAgVFEgt5CAwMCHkLEUUFAgZWBhIHZRwpFwEPCHoIDwEXIyVmBxIGVgYCBUUSCnkIDAz+GDlgODhgcmA4OGA5JDIySDIyAQkXISZlBxIGVgYCBUUTCngIDAwIeQ4PRQUCBlYGEghkIiQXAQ8IeggPAhYmH2UHEwZWBgIFRQ8OeQgMDAh4ChNFBQEHVgYSB2YkIhYCDwh6CA8BJThgcmA4OGByYDj+2TJIMjJIMgAACAAA/6gD4wMYAAkAFQAlACkARwBXAGkAdwAVQBJzbGRYVk4/NScmJR0RDAYDCC0rNzU0NjsBByMiJhMHBiY/AT4BHwEeATcnLgE3AT4BHwEeAQcBDgE/ATMfASYnJi8BJicmJyY2FxYXFhcWFxYXFicWBw4BNwYmFycmNj8BNhYfARYGDwEGJhcmJy4BJyYnJjc2NzYXFhcWFRMUBisBJicmLwEzMhYVBQ0K7WeGCg2pSwgKAgoBDQg6CAEKOggFBQEPBRIIOggFBP7wBBPHZzxUWQ9DKy0fFw4TBggTGxImLBAZLSEqVCoJDQkiBAgQQiMFBAkiCRQEHAUGCRgIFHwCCwYlCQ8JEAYDDCMVEQcFNA0KdgQDAhQ/0goN+4QJDbAN/vsyBQUJVwkGBSAFDiwhBREIAc4IBAQhBREI/jIIBcywsDQHj1tnRTMiLxshCSUaQEkYJ1E6T51OERANDgECAXM2CRMEEAUGCTUJFAQOBQSHCAcDEAUJDBcSCQsTDgwgGB8BOAkNDgYEJXMNCQAAAAAFAAD/agPVA1IADgAdAD8AYQCXAA9ADH9oXEI/MB0SBgMFLSsBISM1BREFNSEyNjURNCYBFAcGJyInNxYzMjY9ATcXIicmJzcWMxY2NCYnJjU0Njc2FwcmByIGFBcWFxYVFAcGBRQGIyE1FhcWMjc2NzUjBxUHBgcGIiYnJiMHETYzITIWFQMWFRQGBwYnJi8BNxcWMzI3Njc2JyYnJicmNTQ2NzMWFxYfARQPAScmJyYiBw4BFx4BFxYXFgOV/tEE/bECTwEzGiYm/U8UEiQUDgUOChAQL14RExAKChodERIQFTwtJiAaDBkWEBAKBxg7FhkCKBAL/s0NGg0gDCAELAEBAQQGFAwGAgEiAQMBLwsQHAcjGQ8OLRQCJAMQGg4KAQMFCQUZDg4iIhkOExAKCAMREQMBBQcYBgMCBgMLDyINCAL+VE/8uFFWJhoCvhsl/kwtFBMBBicEExiJAuMFBAYpDgENFg4IFS0dJwEBCyoLAQwVBgYJFS8fExTyCxBWGAkEBQ4lpVFQBAYEBggLBBUCmQERC/20DRAaIQMCAgYjBBUEFwgCAw4JBwoGBxUkGSIBAQoICwUBCgwEAgUIBwMRBgQGBg8NBwAAAgAA/7oDSAMCAAgAFAAItRELBAACLSsBMhYQBiAmEDYBNycHJwcXBxc3FzcBpK729v6k9vYBBJpWmphYmppYmJpWAwL2/qT29gFc9v5cmlaYmFaamFaYmFYAAAACAAD/ugNIAwIACAAUAAi1Ew0EAAItKwEyFhAGICYQNhMzNSM1IxUjFTMVMwGkrvb2/qT29uLIyGbKymYDAvb+pPb2AVz2/ipmyspmygAAAAH//QAAAp8CwAATAAazDAABLSszIi8BJj4BFh8BAT4BFx4BBwEGI/kiFrQQCCw6EnYBKBA2GhgMDv6iFCQc7Bg4JAgYmgHaGAwOEDYa/dAgAAAAAAH/8/+iAd0DHAANAAazCwUBLSsXCQEmNzYXARYHAQYnJg0BZv6aGhoaFgGIGBj+eBYaGhQBcgF0GhYaGv52Ghj+dhoaFgAAAAMAAP/nA+gC1QAcACoANAAKtywrKigXBAMtKwEuAScmIyIGBxc2Mh4BHQEzMh4BFAYHFz4BNC4BJRcOAQcGFB4BMyEXNwEXASEiLgE0PgEzAygOWEBCTC9WIj8qe2o+PyM5ISQfPykuNFj9IXVCbyAhRHNDAehTNv1IjgFN/mwtTS0tTS0B20dyICEZGT4dPmo9FSE5RjoQPhxaal06yHEERTY5hXNEUzYCuPr+sy1MWk0tAAH/9P+iAd4DHAANAAazCQMBLSsFFgcGJwEmNwE2FxYHAQHEGhoaFv54GBgBiBYaGhr+mhQaFhoaAYoYGgGKGhoWGv6MAAAAAAL/+f+UA2QDMgAsADkACLU5MysVAi0rAR4BBwYuAgcOARcWFx4BFxYHBgcGJyYnLgEnBgcGJicmNjc+BTc2FhM+AS4DDgEeAwMYOhIwHEJAhlIcHAgWGAQoBA4kMjQeGCAaBjgSHggiUA4RGB9+rkosBhgYMKQgCAQaOE44EAQYOFA4AfSK8BQMHjIgCAQeFjg0ChgIIgwWEgo0TDgMChoKBAwwJCBeDjRwXlpCNAoUtP5KBESAgnI2CEyGhGouAAMAAP+oAscDFAAPABMAHAAKtxgUERAGAAMtKwEyFhURFAYjISImNRE0NjMBESERFzI2NCYiBhQWAmUpOTkp/f4pOjopAez+KewVGxsqGhsDFDsp/V0qOzsqAqMpO/0wAlj9qHscKBsbKBwAAAP//f9+A4kDQABOAFIAVgAKt1RTUE84EgMtKyUWBg8BDgEfARYGLwEmBg8BDgEvASYPAQYmPwE2Ji8BLgE/ATY0LwEmNj8BPgEvATQ2HwEWNj8BNhYfAR4BPwE2Fg8BBhYfAR4BDwEGFBcFNSMVNxEjEQN1FAgYThggAgQCIBZWFjIKLgwiEDIiNnoWFAg2CBgYahgKFFYUFFYUCBhOGCICBh4WUBgyDC4MJAwyDC4WiBYQCDwKGBpyGggUVhIS/tZkZGTqECIGFgYsGlIYFAosDBAWWBYCFE4wHEYOEBikGCgCDAQcEEwQMhBMECIGFgYsGlIaFAomChAWUBYCFlYWDg5UDhAYqhYmAgwCHBBMEDIQqGhooAEE/vwABAAA/8EB2wL7AAgAGAAkACgADUAKJiUdGRAJBAAELSsXMjY0JiIGFBYDITIWFREUBiMhIiY1ETQ2FyIGFBY7ATI2NCYjExEhEe4UGxsoHByGATMlLywf/rsfLC+ABwgIB30HCAgHgv5/Hx0nGxsnHQMaLiP9Yh8sLB8CniMuNgkOCQkOCf2hAfD+EAAC//r/cAMaA1YAGQAtAAi1Kh0YDAItKwEWBgcGJw8CBg8BBiYvASY3ASYnJjY3NhYHNi4BBgcOAR8BHgEfAR4CMj4BAwYUYGZCQHZGaA4gTAwUAhAIFAECGA4SjnJqsmweElRkHggIAwUCFgdDEA4YDhQQAmR0xhIMCsIMphwEDgQQDmIeGgGCMkZqohQUgrwsaj4ULAwWCRAHFAUxDAgQAg4AAAL////5BDADCwAYADMACLUmHBQHAi0rATQmKwE1NCYrASIGHQEjIgYUHwEWMj8BNgUUBgchIiY3NDY3JzQ2MzIWFzYzMhYVFAceAQLKCgh9CgdsBwp9CAoFxAUQBcQFAWV8Wv2hZ5QBTkIBqHZXkCEoNTtUF0heAUwICsQICgoIxAoQBcQFBcQGdll8AZJoSHweGHaoYlAjVDsrIhF2AAABAAAAAAL4AqsAHQAGswgAAS0rJQEmJyY1ND4BMzIXFhcWFzY3Njc2MzIeARUUBwYHAXz+4zAYFy5TNjAjHh0NKioNHR4jMTZTLRcYMBIBGy82MjE2Uy0PDRwNMDANHA0PLVM2MTI2LwAAAAAD//7/sQPEA1IACwAQABYACrcTERAMCgQDLSsJAQ4BByIuAj4BMxMhFAYHEyERMh4BAa0BMDueV3XGcAR4vnloAa9CPVz+U3XEdAFh/tA9QgF0xOrEdP5TWJ47AXgBrXLGAAAAAQAA/7oDqgMLACcABrMjAgEtKxE0NjMyFwcUFhczMhYPAQYWNxM2JisBIiY/ATYzMhYHFAcBBiInASaSaFFCDhIMCgwMAzkEBAfCBwYNTQwKBFI5Q2eUAT/+qRlKGv6qQAISZ5Iv+gwQARAMrAwCCQELCQ4QCrcgkmdeSP5tHx8Bk0gABAAA/7QD6AMCACEALgBFAEsADUAKR0ZDNyskGAsELSsRNjc2NzYzMhc3NjcyHwEWDwcGLwEmPwEnJicmJRQXNyY1NDY/ASMiBhM3MzI2NTQnNx4BMxYXFhUGBwYHBiMiPwEWFRQGBjpPYYGDHR5KCg0EBDMRDzkvKZApLzkPEDUPDzEIZ0lAAQgvMAlEMzESYoqxKRJiii8/AgQCZ0lABjpPYYGDGThuCUQBRjE9UDA9AoEQAgIgBxplT0j6SFBkGQofCBlWBDVMSCVKO1QYGTNQClSE/nxHgl5KO20CAjRMSSUxPFAxPZ+9GRgzTgAAAf/+/4kCcwMzABcABrMQBQEtKwEeAQcBBiMiJjcTJy4BNwE2MzIWBxQHAwJWFwYT/nkOFRweCXHcFgYSAYcLGBUgAQVvAV0MNhL+jg4wGQEOgAw0EwFyDiAUDQr+9QAAAQAAAAEAANmSPLxfDzz1AAsD6AAAAADTGeYNAAAAANMZ5g3/8f9jBDADVwAAAAgAAgAAAAAAAAABAAADUv9qAAAEL//x//IEMAABAAAAAAAAAAAAAAAAAAAAJAPoAAADmP/8A6AAAAPoAAAD6AAAA+j/8QPo//cD6AAAA+gAAAPo//8D6P/7A+j//wOEAAAD6P/7A+gAAAPoAAAD6AAAA+gAAAPoAAADSAAAA0gAAAKb//0B0f/zA+gAAAHR//QDXP/5AscAAAOF//0B2wAAAwz/+gQv//8C+AAAA+j//gOpAAAD6AAAAnD//gAAAAAATgB6AKQBQAG6AnYDFAN2A8gESAT8BVwGLgbWB3IIHgjoCc4J/AokCk4KcgrMCvALUAuGDBQMWgysDPwNMg1kDaYOHg5OAAAAAQAAACQAmAANAAAAAAACAAAAEABzAAAAMAtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABAAgANQABAAAAAAACAAcAPQABAAAAAAADAAgARAABAAAAAAAEAAgATAABAAAAAAAFAAsAVAABAAAAAAAGAAgAXwABAAAAAAAKACsAZwABAAAAAAALABMAkgADAAEECQAAAGoApQADAAEECQABABABDwADAAEECQACAA4BHwADAAEECQADABABLQADAAEECQAEABABPQADAAEECQAFABYBTQADAAEECQAGABABYwADAAEECQAKAFYBcwADAAEECQALACYByUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tZm9udGVsbG9SZWd1bGFyZm9udGVsbG9mb250ZWxsb1ZlcnNpb24gMS4wZm9udGVsbG9HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANgAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AZgBvAG4AdABlAGwAbABvAFIAZQBnAHUAbABhAHIAZgBvAG4AdABlAGwAbABvAGYAbwBuAHQAZQBsAGwAbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAZgBvAG4AdABlAGwAbABvAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUADGluZm8tY2lyY2xlZAlvay1jaXJjbGUNYWR2YW5jZWQtdHlwZQdkZXZpY2VzEWV4dGVuc2lvbi1icm93c2VyEGdlbmVyYWwtc2V0dGluZ3MOaW5maW5pdHktY2FjaGUMbW9iaWxlLXBob25lCW11bHRpLWFkcw1yZWxhdGVkLXBvc3RzEXJlc3BvbnNpdmUtaW1hZ2VzCWJvb2stb3BlbhJzaXRlLWNvbXBhdGliaWxpdHkNdGhlbWUtYnJvd3NlchB0aGVtZS1jdXN0b21pemVyDnRoZW1lLXNldHRpbmdzDHdlYi1hcHAtbW9kZQJqcw5jYW5jZWwtY2lyY2xlZAxwbHVzLWNpcmNsZWQFY2hlY2sOcmlnaHQtb3Blbi1iaWcIY2xvdWQzMDcNbGVmdC1vcGVuLWJpZwltZWdhcGhvbmUGdGFibGV0BWFsZXJ0Bm1vYmlsZQNrZXkOZG93bmxvYWQtY2xvdWQFaGVhcnQJY2hhcnQtcGllDGhlYXJ0LWJyb2tlbgdleWUtb2ZmBWZsYXNoAAAAAAABAAH//wAPAAAAAAAAAAAAAAAAsAAsILAAVVhFWSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViwAiVhuQgACABjYyNiGyEhsABZsABDI0SyAAEAQ2BCLbABLLAgYGYtsAIsIGQgsMBQsAQmWrIoAQpDRWNFUltYISMhG4pYILBQUFghsEBZGyCwOFBYIbA4WVkgsQEKQ0VjRWFksChQWCGxAQpDRWNFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwAStZWSOwAFBYZVlZLbADLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbAELCMhIyEgZLEFYkIgsAYjQrEBCkNFY7EBCkOwAGBFY7ADKiEgsAZDIIogirABK7EwBSWwBCZRWGBQG2FSWVgjWSEgsEBTWLABKxshsEBZI7AAUFhlWS2wBSywB0MrsgACAENgQi2wBiywByNCIyCwACNCYbACYmawAWOwAWCwBSotsAcsICBFILALQ2O4BABiILAAUFiwQGBZZrABY2BEsAFgLbAILLIHCwBDRUIqIbIAAQBDYEItsAkssABDI0SyAAEAQ2BCLbAKLCAgRSCwASsjsABDsAQlYCBFiiNhIGQgsCBQWCGwABuwMFBYsCAbsEBZWSOwAFBYZVmwAyUjYUREsAFgLbALLCAgRSCwASsjsABDsAQlYCBFiiNhIGSwJFBYsAAbsEBZI7AAUFhlWbADJSNhRESwAWAtsAwsILAAI0KyCwoDRVghGyMhWSohLbANLLECAkWwZGFELbAOLLABYCAgsAxDSrAAUFggsAwjQlmwDUNKsABSWCCwDSNCWS2wDywgsBBiZrABYyC4BABjiiNhsA5DYCCKYCCwDiNCIy2wECxLVFixBGREWSSwDWUjeC2wESxLUVhLU1ixBGREWRshWSSwE2UjeC2wEiyxAA9DVVixDw9DsAFhQrAPK1mwAEOwAiVCsQwCJUKxDQIlQrABFiMgsAMlUFixAQBDYLAEJUKKiiCKI2GwDiohI7ABYSCKI2GwDiohG7EBAENgsAIlQrACJWGwDiohWbAMQ0ewDUNHYLACYiCwAFBYsEBgWWawAWMgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLEAABMjRLABQ7AAPrIBAQFDYEItsBMsALEAAkVUWLAPI0IgRbALI0KwCiOwAGBCIGCwAWG1EBABAA4AQkKKYLESBiuwcisbIlktsBQssQATKy2wFSyxARMrLbAWLLECEystsBcssQMTKy2wGCyxBBMrLbAZLLEFEystsBossQYTKy2wGyyxBxMrLbAcLLEIEystsB0ssQkTKy2wHiwAsA0rsQACRVRYsA8jQiBFsAsjQrAKI7AAYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wHyyxAB4rLbAgLLEBHistsCEssQIeKy2wIiyxAx4rLbAjLLEEHistsCQssQUeKy2wJSyxBh4rLbAmLLEHHistsCcssQgeKy2wKCyxCR4rLbApLCA8sAFgLbAqLCBgsBBgIEMjsAFgQ7ACJWGwAWCwKSohLbArLLAqK7AqKi2wLCwgIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgjIIpVWCBHICCwC0NjuAQAYiCwAFBYsEBgWWawAWNgI2E4GyFZLbAtLACxAAJFVFiwARawLCqwARUwGyJZLbAuLACwDSuxAAJFVFiwARawLCqwARUwGyJZLbAvLCA1sAFgLbAwLACwAUVjuAQAYiCwAFBYsEBgWWawAWOwASuwC0NjuAQAYiCwAFBYsEBgWWawAWOwASuwABa0AAAAAABEPiM4sS8BFSotsDEsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYTgtsDIsLhc8LbAzLCA8IEcgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2GwAUNjOC2wNCyxAgAWJSAuIEewACNCsAIlSYqKRyNHI2EgWGIbIVmwASNCsjMBARUUKi2wNSywABawBCWwBCVHI0cjYbAJQytlii4jICA8ijgtsDYssAAWsAQlsAQlIC5HI0cjYSCwBCNCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgsAhDIIojRyNHI2EjRmCwBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2EjICCwBCYjRmE4GyOwCENGsAIlsAhDRyNHI2FgILAEQ7ACYiCwAFBYsEBgWWawAWNgIyCwASsjsARDYLABK7AFJWGwBSWwAmIgsABQWLBAYFlmsAFjsAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wNyywABYgICCwBSYgLkcjRyNhIzw4LbA4LLAAFiCwCCNCICAgRiNHsAErI2E4LbA5LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWG5CAAIAGNjIyBYYhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wOiywABYgsAhDIC5HI0cjYSBgsCBgZrACYiCwAFBYsEBgWWawAWMjICA8ijgtsDssIyAuRrACJUZSWCA8WS6xKwEUKy2wPCwjIC5GsAIlRlBYIDxZLrErARQrLbA9LCMgLkawAiVGUlggPFkjIC5GsAIlRlBYIDxZLrErARQrLbA+LLA1KyMgLkawAiVGUlggPFkusSsBFCstsD8ssDYriiAgPLAEI0KKOCMgLkawAiVGUlggPFkusSsBFCuwBEMusCsrLbBALLAAFrAEJbAEJiAuRyNHI2GwCUMrIyA8IC4jOLErARQrLbBBLLEIBCVCsAAWsAQlsAQlIC5HI0cjYSCwBCNCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsSsBFCstsEIssDUrLrErARQrLbBDLLA2KyEjICA8sAQjQiM4sSsBFCuwBEMusCsrLbBELLAAFSBHsAAjQrIAAQEVFBMusDEqLbBFLLAAFSBHsAAjQrIAAQEVFBMusDEqLbBGLLEAARQTsDIqLbBHLLA0Ki2wSCywABZFIyAuIEaKI2E4sSsBFCstsEkssAgjQrBIKy2wSiyyAABBKy2wSyyyAAFBKy2wTCyyAQBBKy2wTSyyAQFBKy2wTiyyAABCKy2wTyyyAAFCKy2wUCyyAQBCKy2wUSyyAQFCKy2wUiyyAAA+Ky2wUyyyAAE+Ky2wVCyyAQA+Ky2wVSyyAQE+Ky2wViyyAABAKy2wVyyyAAFAKy2wWCyyAQBAKy2wWSyyAQFAKy2wWiyyAABDKy2wWyyyAAFDKy2wXCyyAQBDKy2wXSyyAQFDKy2wXiyyAAA/Ky2wXyyyAAE/Ky2wYCyyAQA/Ky2wYSyyAQE/Ky2wYiywNysusSsBFCstsGMssDcrsDsrLbBkLLA3K7A8Ky2wZSywABawNyuwPSstsGYssDgrLrErARQrLbBnLLA4K7A7Ky2waCywOCuwPCstsGkssDgrsD0rLbBqLLA5Ky6xKwEUKy2wayywOSuwOystsGwssDkrsDwrLbBtLLA5K7A9Ky2wbiywOisusSsBFCstsG8ssDorsDsrLbBwLLA6K7A8Ky2wcSywOiuwPSstsHIsswkEAgNFWCEbIyFZQiuwCGWwAyRQeLABFTAtAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAFQrEAACqxAAVCsQAIKrEABUKxAAgqsQAFQrkAAAAJKrEABUK5AAAACSqxAwBEsSQBiFFYsECIWLEDZESxJgGIUVi6CIAAAQRAiGNUWLEDAERZWVlZsQAMKrgB/4WwBI2xAgBEAA==') format('truetype');
|
13 |
}
|
14 |
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
15 |
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
17 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
18 |
@font-face {
|
19 |
font-family: 'fontello';
|
20 |
+
src: url('../font/fontello.svg?32536721#fontello') format('svg');
|
21 |
}
|
22 |
}
|
23 |
*/
|
83 |
.icon-key:before { content: '\e81c'; } /* '' */
|
84 |
.icon-download-cloud:before { content: '\e81d'; } /* '' */
|
85 |
.icon-heart:before { content: '\e81e'; } /* '' */
|
86 |
+
.icon-chart-pie:before { content: '\e81f'; } /* '' */
|
87 |
+
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
88 |
+
.icon-eye-off:before { content: '\e821'; } /* '' */
|
89 |
+
.icon-flash:before { content: '\e822'; } /* '' */
|
admin/fontello/css/fontello-ie7-codes.css
CHANGED
@@ -30,4 +30,7 @@
|
|
30 |
.icon-key { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
31 |
.icon-download-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
32 |
.icon-heart { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
33 |
-
.icon-chart-pie { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
|
|
|
|
|
30 |
.icon-key { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
31 |
.icon-download-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
32 |
.icon-heart { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
33 |
+
.icon-chart-pie { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
34 |
+
.icon-heart-broken { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
35 |
+
.icon-eye-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
36 |
+
.icon-flash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
admin/fontello/css/fontello-ie7.css
CHANGED
@@ -41,4 +41,7 @@
|
|
41 |
.icon-key { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
42 |
.icon-download-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
43 |
.icon-heart { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
44 |
-
.icon-chart-pie { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
|
|
|
|
|
41 |
.icon-key { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
42 |
.icon-download-cloud { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
43 |
.icon-heart { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
44 |
+
.icon-chart-pie { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
45 |
+
.icon-heart-broken { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
46 |
+
.icon-eye-off { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
47 |
+
.icon-flash { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
admin/fontello/css/fontello.css
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
@font-face {
|
2 |
font-family: 'fontello';
|
3 |
-
src: url('../font/fontello.eot?
|
4 |
-
src: url('../font/fontello.eot?
|
5 |
-
url('../font/fontello.
|
6 |
-
url('../font/fontello.
|
7 |
-
url('../font/fontello.
|
|
|
8 |
font-weight: normal;
|
9 |
font-style: normal;
|
10 |
}
|
@@ -14,7 +15,7 @@
|
|
14 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
15 |
@font-face {
|
16 |
font-family: 'fontello';
|
17 |
-
src: url('../font/fontello.svg?
|
18 |
}
|
19 |
}
|
20 |
*/
|
@@ -85,4 +86,7 @@
|
|
85 |
.icon-key:before { content: '\e81c'; } /* '' */
|
86 |
.icon-download-cloud:before { content: '\e81d'; } /* '' */
|
87 |
.icon-heart:before { content: '\e81e'; } /* '' */
|
88 |
-
.icon-chart-pie:before { content: '\e81f'; } /* '' */
|
|
|
|
|
|
1 |
@font-face {
|
2 |
font-family: 'fontello';
|
3 |
+
src: url('../font/fontello.eot?60051915');
|
4 |
+
src: url('../font/fontello.eot?60051915#iefix') format('embedded-opentype'),
|
5 |
+
url('../font/fontello.woff2?60051915') format('woff2'),
|
6 |
+
url('../font/fontello.woff?60051915') format('woff'),
|
7 |
+
url('../font/fontello.ttf?60051915') format('truetype'),
|
8 |
+
url('../font/fontello.svg?60051915#fontello') format('svg');
|
9 |
font-weight: normal;
|
10 |
font-style: normal;
|
11 |
}
|
15 |
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
16 |
@font-face {
|
17 |
font-family: 'fontello';
|
18 |
+
src: url('../font/fontello.svg?60051915#fontello') format('svg');
|
19 |
}
|
20 |
}
|
21 |
*/
|
86 |
.icon-key:before { content: '\e81c'; } /* '' */
|
87 |
.icon-download-cloud:before { content: '\e81d'; } /* '' */
|
88 |
.icon-heart:before { content: '\e81e'; } /* '' */
|
89 |
+
.icon-chart-pie:before { content: '\e81f'; } /* '' */
|
90 |
+
.icon-heart-broken:before { content: '\e820'; } /* '' */
|
91 |
+
.icon-eye-off:before { content: '\e821'; } /* '' */
|
92 |
+
.icon-flash:before { content: '\e822'; } /* '' */
|
admin/fontello/demo.html
CHANGED
@@ -229,11 +229,11 @@ body {
|
|
229 |
}
|
230 |
@font-face {
|
231 |
font-family: 'fontello';
|
232 |
-
src: url('./font/fontello.eot?
|
233 |
-
src: url('./font/fontello.eot?
|
234 |
-
url('./font/fontello.woff?
|
235 |
-
url('./font/fontello.ttf?
|
236 |
-
url('./font/fontello.svg?
|
237 |
font-weight: normal;
|
238 |
font-style: normal;
|
239 |
}
|
@@ -279,7 +279,7 @@ body {
|
|
279 |
<script>
|
280 |
function toggleCodes(on) {
|
281 |
var obj = document.getElementById('icons');
|
282 |
-
|
283 |
if (on) {
|
284 |
obj.className += ' codesOn';
|
285 |
} else {
|
@@ -348,6 +348,11 @@ body {
|
|
348 |
<div title="Code: 0xe81e" class="the-icons span3"><i class="demo-icon icon-heart"></i> <span class="i-name">icon-heart</span><span class="i-code">0xe81e</span></div>
|
349 |
<div title="Code: 0xe81f" class="the-icons span3"><i class="demo-icon icon-chart-pie"></i> <span class="i-name">icon-chart-pie</span><span class="i-code">0xe81f</span></div>
|
350 |
</div>
|
|
|
|
|
|
|
|
|
|
|
351 |
</div>
|
352 |
<div class="container footer">Generated by <a href="http://fontello.com">fontello.com</a></div>
|
353 |
</body>
|
229 |
}
|
230 |
@font-face {
|
231 |
font-family: 'fontello';
|
232 |
+
src: url('./font/fontello.eot?49615061');
|
233 |
+
src: url('./font/fontello.eot?49615061#iefix') format('embedded-opentype'),
|
234 |
+
url('./font/fontello.woff?49615061') format('woff'),
|
235 |
+
url('./font/fontello.ttf?49615061') format('truetype'),
|
236 |
+
url('./font/fontello.svg?49615061#fontello') format('svg');
|
237 |
font-weight: normal;
|
238 |
font-style: normal;
|
239 |
}
|
279 |
<script>
|
280 |
function toggleCodes(on) {
|
281 |
var obj = document.getElementById('icons');
|
282 |
+
|
283 |
if (on) {
|
284 |
obj.className += ' codesOn';
|
285 |
} else {
|
348 |
<div title="Code: 0xe81e" class="the-icons span3"><i class="demo-icon icon-heart"></i> <span class="i-name">icon-heart</span><span class="i-code">0xe81e</span></div>
|
349 |
<div title="Code: 0xe81f" class="the-icons span3"><i class="demo-icon icon-chart-pie"></i> <span class="i-name">icon-chart-pie</span><span class="i-code">0xe81f</span></div>
|
350 |
</div>
|
351 |
+
<div class="row">
|
352 |
+
<div title="Code: 0xe820" class="the-icons span3"><i class="demo-icon icon-heart-broken"></i> <span class="i-name">icon-heart-broken</span><span class="i-code">0xe820</span></div>
|
353 |
+
<div title="Code: 0xe821" class="the-icons span3"><i class="demo-icon icon-eye-off"></i> <span class="i-name">icon-eye-off</span><span class="i-code">0xe821</span></div>
|
354 |
+
<div title="Code: 0xe822" class="the-icons span3"><i class="demo-icon icon-flash"></i> <span class="i-name">icon-flash</span><span class="i-code">0xe822</span></div>
|
355 |
+
</div>
|
356 |
</div>
|
357 |
<div class="container footer">Generated by <a href="http://fontello.com">fontello.com</a></div>
|
358 |
</body>
|
admin/fontello/font/fontello.eot
CHANGED
Binary file
|
admin/fontello/font/fontello.svg
CHANGED
@@ -1,43 +1,80 @@
|
|
1 |
<?xml version="1.0" standalone="no"?>
|
2 |
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3 |
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
-
<metadata>Copyright (C)
|
5 |
<defs>
|
6 |
<font id="fontello" horiz-adv-x="1000" >
|
7 |
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
8 |
<missing-glyph horiz-adv-x="1000" />
|
9 |
-
<glyph glyph-name="info-circled" unicode="" d="
|
10 |
-
|
11 |
-
<glyph glyph-name="
|
12 |
-
|
13 |
-
<glyph glyph-name="
|
14 |
-
|
15 |
-
<glyph glyph-name="
|
16 |
-
|
17 |
-
<glyph glyph-name="
|
18 |
-
|
19 |
-
<glyph glyph-name="
|
20 |
-
|
21 |
-
<glyph glyph-name="
|
22 |
-
|
23 |
-
<glyph glyph-name="
|
24 |
-
|
25 |
-
<glyph glyph-name="
|
26 |
-
|
27 |
-
<glyph glyph-name="
|
28 |
-
|
29 |
-
<glyph glyph-name="
|
30 |
-
|
31 |
-
<glyph glyph-name="
|
32 |
-
|
33 |
-
<glyph glyph-name="
|
34 |
-
|
35 |
-
<glyph glyph-name="
|
36 |
-
|
37 |
-
<glyph glyph-name="
|
38 |
-
|
39 |
-
<glyph glyph-name="
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
</font>
|
42 |
</defs>
|
43 |
</svg>
|
1 |
<?xml version="1.0" standalone="no"?>
|
2 |
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3 |
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Copyright (C) 2016 by original authors @ fontello.com</metadata>
|
5 |
<defs>
|
6 |
<font id="fontello" horiz-adv-x="1000" >
|
7 |
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
8 |
<missing-glyph horiz-adv-x="1000" />
|
9 |
+
<glyph glyph-name="info-circled" unicode="" d="M454 810q190 2 326-130t140-322q2-190-131-327t-323-141q-190-2-327 131t-139 323q-4 190 130 327t324 139z m52-152q-42 0-65-24t-23-50q-2-28 15-44t49-16q38 0 61 22t23 54q0 58-60 58z m-120-594q30 0 84 26t106 78l-18 24q-48-36-72-36-14 0-4 38l42 160q26 96-22 96-30 0-89-29t-115-75l16-26q52 34 74 34 12 0 0-34l-36-152q-26-104 34-104z" horiz-adv-x="920" />
|
10 |
+
|
11 |
+
<glyph glyph-name="ok-circle" unicode="" d="M465 797q184 0 315-131t131-316-131-315-315-132-316 132-131 315 131 316 316 131z m-70-653l348 348-79 79-269-268-126 126-79-78z" horiz-adv-x="928" />
|
12 |
+
|
13 |
+
<glyph glyph-name="advanced-type" unicode="" d="M686 848l-372-560-249-373-62 0 0-62 249 0 0 62-125 0 168 249 395 0 59-249-63 0 0-62 311 0 0 62-62 0-249 933z m-307-560l210 311 72-311-282 0z" horiz-adv-x="1000" />
|
14 |
+
|
15 |
+
<glyph glyph-name="devices" unicode="" d="M958-82l-164 0c-24 0-43 20-43 44l0 324c0 24 19 44 43 44l164 0c23 0 42-20 42-44l0-324c0-24-19-44-42-44z m-82 22c10 0 18 8 18 18 0 10-8 19-18 19-10 0-18-9-18-19 0-10 8-18 18-18z m73 337l-147 0 0-280 147 0 0 280z m-157 345l-6 0 0 37c0 10-7 17-16 17l-614 0 0-488 198 0 0-106-236 0c-65 0-118 55-118 123l0 454c0 68 53 123 118 123l652 0c65 0 118-55 118-123l0-80c-24 27-58 43-96 43z m-709-146c-23 0-42-20-42-44 0-24 19-44 42-44 23 0 42 20 42 44 0 24-19 44-42 44z m402 88l307 0c45 0 81-37 81-84l0-111-67 0 0 111c0 8-6 14-14 14l-307 0c-7 0-13-6-13-14l0-443 237 0 0-80c0-6 1-12 2-17 1-8 4-15 7-22l-233 0c-44 0-81 38-81 85l0 477c0 47 37 84 81 84z m154-615c16 0 28 14 28 30 0 17-12 30-28 30-16 0-29-13-29-30 0-16 13-30 29-30z" horiz-adv-x="1000" />
|
16 |
+
|
17 |
+
<glyph glyph-name="extension-browser" unicode="" d="M779 207l0 57 221 0 0-57-221 0z m0 435l221 0 0-57-221 0 0 57z m-56-453l0 94 0 284 0 94 0 189 37 0 0-38 0-756 0-56-37 0 0 189z m-442 39l0 376c9 22 251 220 277 227l147 0 0-812-147 0c-30 7-263 183-277 209z m-183 92c-16-56 66-138 95-178 54-73 161-220 39-286-52-28-103 51-50 79 48 26-158 279-174 336-49 173 133 185 254 193l0-91c-65 1-148 3-164-53z" horiz-adv-x="1000" />
|
18 |
+
|
19 |
+
<glyph glyph-name="general-settings" unicode="" d="M974 796c-17 17-39 26-63 26-24 0-46-9-63-26l-397-397 126-126 397 397c35 35 35 91 0 126z m-36-71l-341-341c-5-5-11-8-18-8-6 0-12 3-17 8-10 9-10 25 0 35l341 341c10 10 25 10 35 0 10-10 10-25 0-35z m24-666l-265 264-85-85 13-13c10-10 10-25 0-35-5-5-11-7-17-7-7 0-13 2-18 7l-30 31c0 0 0 0 0 0l-63 62 0 0-35 36 0 0-63 62 0 0-31 31c-9 10-9 25 0 35 10 10 26 10 35 0l13-13 85 85-76 76c14 69-8 142-59 192-40 41-94 63-151 63-21 0-41-3-61-9-8-2-15-9-17-17-2-9 1-18 7-24l82-82c17-17 17-45 0-63l-31-30c-9-9-20-13-32-13-12 0-23 4-31 13l-82 81c-6 7-15 9-24 7-8-2-15-9-17-17-24-82 3-170 68-225 39-33 88-51 138-51 13 0 27 2 41 4l156-156-255-254-14 13c-5 6-12 8-20 8-7-1-14-5-18-11l-72-107c-7-10-6-23 3-32l28-28c4-5 11-7 17-7 5 0 10 1 14 4l107 73c6 4 10 10 11 18 0 7-2 15-7 20l-14 13 255 255 344-345c23-22 53-35 86-35 32 0 62 13 85 35 47 47 47 124 0 171z m-50-121c-12-12-28-18-44-18-17 0-33 6-45 18-24 25-24 64 0 89 12 12 28 18 45 18 16 0 32-6 44-18 24-25 24-64 0-89z" horiz-adv-x="1000" />
|
20 |
+
|
21 |
+
<glyph glyph-name="infinity-cache" unicode="" d="M229 90c142 0 235 124 318 234 71 94 138 182 219 182 85 0 137-93 137-160 0-62-57-152-147-152-86 0-131 74-134 78-14 25-43 32-66 17-23-15-31-47-17-71 3-6 75-128 217-128 144 0 244 135 244 256 0 125-96 264-234 264-128 0-212-112-294-221-76-100-148-195-243-195-57 0-94 21-114 63-18 37-18 79-18 93 0 8 4 50 23 87 22 43 52 63 97 63 89 0 137-62 155-86 5-6 8-10 12-14 21-19 52-17 69 5 17 21 15 53-3 72-1 1-2 2-3 4-24 30-96 123-230 123-164 0-217-171-217-255 0-53 9-100 28-139 26-55 81-120 201-120z" horiz-adv-x="1000" />
|
22 |
+
|
23 |
+
<glyph glyph-name="mobile-phone" unicode="" d="M773-127l-546 0c-33 0-60 27-60 60l0 834c0 33 27 60 60 60l546 0c33 0 60-27 60-60l0-834c0-33-27-60-60-60z m-273 43c26 0 47 21 47 47 0 25-21 46-47 46-26 0-47-21-47-46 0-26 21-47 47-47z m-273 791l0-655 546 0 0 47-543 0 0 552 543 0 0 56-546 0z m524-576l0 489-490 0 0-489 490 0z m-47 372l-395 0 0 69 395 0 0-69z m0-108l-395 0 0 69 395 0 0-69z m0-108l-395 0 0 68 395 0 0-68z m0-109l-395 0 0 69 395 0 0-69z" horiz-adv-x="1000" />
|
24 |
+
|
25 |
+
<glyph glyph-name="multi-ads" unicode="" d="M917-107l-772 0c0 0 0 0 0 0l-14 0c-13-8-30-9-45-1-2 0-5 0-7 1l-57 0c-11 0-21 9-21 21l0 21c0 2 0 3 0 4l0 19c-1 7-1 13 0 20l0 32c0 1 0 2 0 4l0 815c0 12 10 21 21 21l123 0c11 0 20-9 20-21l0-563 276 474c13 22 41 30 64 17l61-35c22-13 30-42 17-64l-262-452 461 265c23 13 51 6 64-17l36-60c12-23 5-51-18-64l-476-274 529 0c26 0 47-21 47-46l0-71c0-25-21-46-47-46z" horiz-adv-x="1000" />
|
26 |
+
|
27 |
+
<glyph glyph-name="related-posts" unicode="" d="M673 244l-100 100 242 241c27 28 27 73 0 100-28 28-73 28-100 0l-55-54-100 100 54 55c83 82 218 82 301 0 82-83 82-218 0-301l-242-241z m-167 200l-241 241c-28 28-73 28-100 0-28-27-28-72 0-100l54-54-100-100-55 54c-82 83-82 218 0 301 83 82 218 82 301 0l241-242-100-100z m-200 33l100-100-241-241c-28-28-28-73 0-101 27-27 72-27 100 0l54 55 100-100-54-55c-42-41-96-62-150-62-55 0-109 21-151 62-82 83-82 218 0 301l242 241z m167-200l242-242c27-27 72-27 100 0 27 28 27 73 0 101l-55 54 100 100 55-54c82-83 82-218 0-301-42-41-96-62-150-62-55 0-109 21-151 62l-241 242 100 100z" horiz-adv-x="1000" />
|
28 |
+
|
29 |
+
<glyph glyph-name="responsive-images" unicode="" d="M994 498l-151-310c-2-5-7-6-12-4l-34 16 0 107 56-26 99 204-317 148-59-120-43 0 80 164c2 4 7 6 11 4l366-172c4-2 6-7 4-11z m-634 137l-317-148 99-204 56 26 0-107-35-16c-4-2-9-1-11 4l-151 310c-2 4 0 9 4 11l366 172c4 2 9 0 11-4l80-164-44 0-58 120z m-112-150l514 0c7 0 11-4 11-10l0-437c0-6-4-11-11-11l-514 0c-6 0-11 5-11 11l0 437c0 6 5 10 11 10z m38-335l78 0c0 0 57 223 116 166 59-58 80-166 80-166 0 0 21 96 62 106 36 9 59-58 78-106l33 0 0 287-447 0 0-287z m368 197c-11 0-21 2-29 5-6-1-14-2-22-2-28 0-51 9-51 20 0 9 16 17 38 19 1 9 8 16 17 16l7 0c5 0 9-2 12-5 8 3 17 5 28 5 26 0 48-13 48-29 0-16-22-29-48-29z m-296-7c-20 0-36 16-36 35 0 20 16 36 36 36 21 0 37-16 37-36 0-19-16-35-37-35z" horiz-adv-x="1000" />
|
30 |
+
|
31 |
+
<glyph glyph-name="book-open" unicode="" d="M340 238l0-68-200 80 0 68z m0 208l0-68-200 80 0 68z m538 346q22-12 22-42l0-640q0-34-32-46l-398-160q-8-2-10-2t-5-1-5-1-5 1-5 1l-10 2-398 160q-32 12-32 46l0 640q0 30 22 42 22 16 46 6l382-154 382 154q24 10 46-6z m-478-788l0 560-320 128 0-560z m420 128l0 560-320-128 0-560z m-60 186l0-68-200-80 0 68z m0 208l0-68-200-80 0 68z" horiz-adv-x="900" />
|
32 |
+
|
33 |
+
<glyph glyph-name="site-compatibility" unicode="" d="M856 374c16-28 48-44 81-38 41 7 69 48 62 90-7 42-47 71-89 63-33-6-58-32-63-64l-212-38c-4 17-12 33-21 46l135 164c30-11 65-3 86 23 28 33 23 82-9 110-33 28-81 23-109-10-21-26-23-62-7-89l-134-162c-15 10-32 17-50 21l0 209c30 10 51 39 51 73 0 43-34 78-77 78-42 0-77-35-77-78 0-34 22-63 52-73l0-209c-19-4-36-11-51-21l-134 162c16 27 15 63-7 89-27 33-76 38-108 10-33-28-37-77-10-110 22-26 56-34 86-23l136-164c-10-13-18-29-22-46l-212 38c-5 32-29 58-62 64-42 8-82-21-90-63-7-42 21-83 63-90 33-6 65 10 80 38l217-39c1-15 5-29 11-43l-194-113c-24 21-59 25-88 8-37-22-50-69-28-107 21-37 68-50 105-28 29 17 43 50 37 82l197 115c10-9 20-17 32-24l-79-219c-32 0-62-19-73-51-15-41 6-86 46-100 40-15 84 6 99 46 11 32 1 67-24 87l80 221c6 0 12-1 18-1 6 0 13 1 19 1l79-221c-24-20-35-55-23-87 14-40 58-61 98-46 40 14 61 59 46 100-11 32-41 51-73 51l-79 219c12 7 23 15 32 24l197-115c-5-32 9-65 38-82 36-22 84-9 105 28 21 38 8 85-28 107-29 17-65 13-89-8l-194 113c6 14 10 28 12 43l216 39z" horiz-adv-x="1000" />
|
34 |
+
|
35 |
+
<glyph glyph-name="theme-browser" unicode="" d="M966 380l-116-92-164 203 116 93c5 4 12 6 18 6 9 0 17-4 23-11l127-158c11-12 8-31-4-41z m-336 153l-229 128 73 128c5 9 15 15 25 15 5 0 10-1 15-4l177-99c7-4 12-10 14-17 2-8 1-16-3-22l-72-129z m-120-212l-175 97 0 125 39 69 229-127-93-164z m-167-362l30 54 52-64-116-93c-5-4-12-6-18-6-9 0-18 4-23 11l-19 23 42 0c29 0 52 23 52 52l0 23z m-74-54l-215 0c-17 0-31 14-31 31l0 155 277 0 0-155c0-17-14-31-31-31z m-107 121c-16 0-29-12-29-28 0-15 13-28 29-28 15 0 28 13 28 28 0 16-13 28-28 28z m-139 322l277 0 0-198-277 0 0 198z m0 257l277 0 0-198-277 0 0 198z m0 214c0 17 14 31 31 31l215 0c17 0 31-14 31-31l0-155-277 0 0 155z m312-743l28-16-28-50 0 66z m0 279l148-83-93-164-55 31 0 216z m167-113l114-141-148-118-66 82 100 177z m106 187l35 28 2-3 162-201-148-117-127 158 76 135z" horiz-adv-x="1000" />
|
36 |
+
|
37 |
+
<glyph glyph-name="theme-customizer" unicode="" d="M768 399l-38 0-45 0 13 152c17 15 42 46 51 98 17 112-101 194-106 197-8 6-19 5-27-2-7-7-10-18-5-28 0 0 21-47 1-67-10-11-18-16-26-20-19-11-33-22-41-57-11-41 7-81 18-100l-40-173-60 0-17 196c0 0 0 0 0 0 0 2-1 3-1 4 0 1 0 1 0 1 0 1-1 2-1 3l-79 173-1 2 0 0 0 0c-1 1-1 1-1 1-2 5-7 9-12 11-3 1-6 2-10 2 0 0 0 0 0 0-3-1-6-2-9-4 0 0 0 0-1 0 0 0-1-1-1-1-1 0-1-1-1-1-1 0-1-1-1-1-1 0-1-1-2-1 0-1 0-1 0-1-1-1-1-1-2-2 0 0 0 0 0-1 0-1-1-1-1-2 0-1 0-1 0-1-1-1-1-2-2-3l-47-190c-1-1-1-2-1-3 0 0 0-1 0-1 0-1 0-2 0-4 0 0 0 0 0 0l16-177-21 0-36 0c-13 0-23-11-23-24 0-13 10-23 23-23l16 0 57-481c1-12 11-21 22-21l344 0c11 0 21 9 22 21l57 481 18 0c13 0 23 10 23 23 0 13-10 24-23 24z m-164 149l3-1 45-7-12-141-71 0 35 149z m-264 116l25 3 24-54-63-8 14 59z m-1-105l45 6 15-166-46 0-14 160z" horiz-adv-x="1000" />
|
38 |
+
|
39 |
+
<glyph glyph-name="theme-settings" unicode="" d="M980 265l-121-23c-7-25-17-48-29-71l69-101c6-9 5-23-3-31l-86-86c-8-8-22-10-32-3l-101 69c-22-12-46-22-71-29l-23-120c-2-11-13-20-24-20l-122 0c-11 0-22 9-24 20l-23 121c-24 8-47 17-68 29l-100-69c-10-6-24-5-32 3l-86 86c-8 8-9 22-3 32l69 100c-12 22-22 46-29 70l-121 23c-11 2-20 13-20 24l0 122c0 11 9 22 20 25l121 22c7 24 16 47 28 69l-69 101c-7 10-5 24 3 32l86 86c8 8 22 9 31 3l101-69c22 12 45 21 69 29l23 121c2 11 13 20 24 20l122 0c11 0 22-9 24-20l23-120c25-7 49-17 72-29l102 69c9 7 23 6 31-3l86-86c8-8 10-22 3-31l-69-102c11-22 21-46 28-70l121-22c11-3 20-14 20-25l0-122c0-11-9-22-20-24z m-480 294c-115 0-209-94-209-209 0-115 94-209 209-209 115 0 209 94 209 209 0 115-94 209-209 209z m0-295c-48 0-86 38-86 86 0 48 38 86 86 86 48 0 86-38 86-86 0-48-38-86-86-86z" horiz-adv-x="1000" />
|
40 |
+
|
41 |
+
<glyph glyph-name="web-app-mode" unicode="" d="M5 251l0 132c0 12 10 22 23 22l237 0-103-176-134 0c-13 0-23 10-23 22z m169-270l-75-50c-11-7-18-3-16 9l10 87c1 12 11 16 22 10l58-32c11-7 11-17 1-24z m18 49l-58 33c-11 6-15 19-8 30l271 462c6 10 20 14 31 8l58-33c11-6 15-19 9-30l-272-462c-6-11-20-14-31-8z m207 199l103 176 60 0 84-176-247 0z m336-52c-23 11-140 275-170 344-30 69-120 252-91 266 21 10 96-134 152-220 56-87 173-310 187-336 14-25-14-46-29-53-16-6-25-13-49-1z m77-121l-35 54c-7 12-4 26 8 32l34 16c12 6 27 2 33-10l28-53c6-12 2-27-10-33l-24-14c-11-7-26-4-34 8z m130-144c-7 24-63 25-89 60-25 35-4 53 5 61 102 56 84-121 84-121z m53 339c0-12-10-22-23-22l-118 0c-2 7-4 14-7 20-4 6-11 20-22 41-16 29-39 71-63 115l210 0c13 0 23-10 23-22l0-132 0 0z" horiz-adv-x="1000" />
|
42 |
+
|
43 |
+
<glyph glyph-name="js" unicode="" d="M917 766h-303c-1 0-3 0-4 0v84l-591-79v-840l591-81v86c1 0 3 0 4 0h303c35 0 64 29 64 64v702c0 36-29 64-64 64z m-663-436c0-63-29-84-74-83-11 0-25 2-34 6l5 39c7-2 15-4 24-4 19 0 32 9 32 43v137l47 2v-140z m94-87c-25 0-50 8-62 15l10 41c13-7 34-14 55-14 23-1 35 9 35 24 0 14-10 22-37 32-37 13-60 34-60 66 0 38 31 68 83 69 25 1 44-4 58-10l-12-42c-9 4-25 11-47 10-22 0-32-10-32-22 0-15 12-21 41-32 40-14 59-36 59-68 0-39-29-71-91-69z m596-243c0-15-12-27-27-27h-303c-1 0-3 0-4 0v86c8-15 22-27 39-33 18-6 41-5 57 1 21 9 33 26 36 51 0 2 0 31 0 84v81h-22-22l-1-81 0-80-1-4c-1-5-3-8-5-10-4-4-9-6-17-6-12 0-19 5-27 19-1 2-2 4-3 4 0 0-8-5-18-11l-16-10v665c1 1 3 1 4 1h303c15 0 27-13 27-28v-702z m-28 114c5-9 7-18 7-29 0-18-6-32-17-43-11-10-25-17-43-19-8-1-22-1-29 0-30 4-51 17-65 41-2 3-2 4-2 4 1 1 36 21 36 21 0 0 1-2 3-4 11-16 24-23 42-23 10 0 18 3 24 8 1 2 3 4 4 5 3 8 2 17-4 23-4 5-11 9-30 17-14 6-22 10-28 13-23 14-34 32-34 57 0 17 6 31 17 42 10 10 25 17 42 18 6 0 7 0 14 0 14-1 25-5 35-11 5-4 13-12 18-19 2-3 3-5 3-5 0-1-33-22-34-23 0 0-1 1-3 4-1 2-4 5-6 7-5 6-11 8-20 8-8 0-13-2-17-7-3-3-4-6-5-11 0-6 2-11 6-15 4-5 10-8 29-16 25-11 37-18 47-28 5-5 8-9 10-15z" horiz-adv-x="1000" />
|
44 |
+
|
45 |
+
<glyph glyph-name="cancel-circled" unicode="" d="M420 770q174 0 297-123t123-297-123-297-297-123-297 123-123 297 123 297 297 123z m86-420l154 154-86 86-154-152-152 152-88-86 154-154-154-152 88-86 152 152 154-152 86 86z" horiz-adv-x="840" />
|
46 |
+
|
47 |
+
<glyph glyph-name="plus-circled" unicode="" d="M420 770q174 0 297-123t123-297-123-297-297-123-297 123-123 297 123 297 297 123z m52-470l200 0 0 102-200 0 0 202-102 0 0-202-202 0 0-102 202 0 0-202 102 0 0 202z" horiz-adv-x="840" />
|
48 |
+
|
49 |
+
<glyph glyph-name="check" unicode="" d="M249 0q-34 0-56 28l-180 236q-16 24-12 52t26 46 51 14 47-28l118-154 296 474q16 24 43 30t53-8q24-16 30-43t-8-53l-350-560q-20-32-56-32z" horiz-adv-x="667" />
|
50 |
+
|
51 |
+
<glyph glyph-name="right-open-big" unicode="" d="M13-20l358 370-358 372q-26 26 0 48 26 26 48 0l392-394q24-26 0-50l-392-394q-22-26-48 0-26 22 0 48z" horiz-adv-x="465" />
|
52 |
+
|
53 |
+
<glyph glyph-name="cloud307" unicode="" d="M808 475c-29 142-154 250-308 250-62 0-121-17-167-50l63-62c29 20 67 29 104 29 125 0 229-104 229-229v-21h63c71 0 125-54 125-125 0-46-25-88-67-109l63-62c54 37 87 100 87 171 0 108-87 200-192 208z m-683 196l117-113c-134-8-242-116-242-250 0-137 113-250 250-250h488l83-83 54 54-696 696-54-54z m196-196l333-333h-404c-92 0-167 75-167 166 0 92 75 167 167 167h71z" horiz-adv-x="1000" />
|
54 |
+
|
55 |
+
<glyph glyph-name="left-open-big" unicode="" d="M452-20q26-26 0-48-26-26-48 0l-392 394q-24 24 0 50l392 394q22 26 48 0 26-22 0-48l-358-372z" horiz-adv-x="465" />
|
56 |
+
|
57 |
+
<glyph glyph-name="megaphone" unicode="" d="M792 500q58-138 67-258t-39-140q-28-12-61 3t-65 40-99 41-149 8q-28-4-42-19t-6-37q22-56 46-108 4-10 24-22t24-20q14-34-22-46-50-22-102-40-30-10-54 42-32 76-58 132-6 12-34 17t-46 31q-30-10-38-14-34-12-74 12t-54 60q-17 32-5 79t43 61q126 52 213 108t124 103 59 92 25 78 15 59 36 36q48 20 130-70t142-228z m-28-300q8 4 10 38t-11 98-41 128q-28 66-67 123t-67 84-36 23-10-42 10-105 40-133 68-119 68-76 36-19z" horiz-adv-x="860" />
|
58 |
+
|
59 |
+
<glyph glyph-name="tablet" unicode="" d="M613 788c55 0 98-45 98-100l0-675c0-56-43-101-98-101l-514 0c-55 0-99 45-99 101l0 675c0 55 44 100 99 100l514 0z m-22-720l0 600-471 0 0-600 471 0z m-235-123c28 0 48 22 48 47 0 28-20 48-48 48s-47-20-47-48c0-25 20-47 47-47z" horiz-adv-x="711" />
|
60 |
+
|
61 |
+
<glyph glyph-name="alert" unicode="" d="M885 234q20-16 16-33t-28-23l-78-22q-24-6-40-28t-14-48l4-82q2-24-14-34t-38 0l-86 44q-22 12-47 4t-35-30l-46-88q-12-22-29-23t-33 19l-50 78q-34 48-88 20l-122-70q-22-14-32-6t-2 32l54 164q8 24-4 44t-36 22l-106 12q-24 4-29 18t15 30l86 76q20 16 20 41t-20 41l-86 76q-20 16-16 33t28 23l78 22q24 6 41 28t15 48l-6 82q0 26 15 36t37 0l80-38q24-10 49-2t37 30l46 80q12 22 30 21t30-23l50-86q12-22 35-29t45 7l136 84q22 14 30 6t0-32l-60-170q-10-22 2-41t38-21l114-12q26-2 30-16t-16-30l-86-76q-18-16-18-41t18-41z m-384-92l0 104-100 0 0-104 100 0z m0 160l0 260-100 0 0-260 100 0z" horiz-adv-x="901" />
|
62 |
+
|
63 |
+
<glyph glyph-name="mobile" unicode="" d="M238-31c27 0 47 23 47 48 0 27-20 47-47 47s-48-20-48-47c0-25 20-48 48-48z m-154 794l307 0c50 0 84-34 84-81l0-670c0-42-34-75-75-75l-325 0c-41 0-75 33-75 75l0 670c0 47 34 81 84 81z m91-54c-9 0-15-7-15-16s6-16 15-16l125 0c9 0 15 7 15 16s-6 16-15 16l-125 0z m255-607l0 496-385 0 0-496 385 0z" horiz-adv-x="475" />
|
64 |
+
|
65 |
+
<glyph glyph-name="key" unicode="" d="M774 612q20-116-28-215t-150-117q-66-12-130-2l-118-194-70-12-104-166q-14-28-46-32l-76-14q-12-4-22 4t-12 22l-16 98q-8 30 12 56l258 386q-24 50-38 120-18 106 53 187t185 101q106 20 195-45t107-177z m-126-76q30 44 21 97t-51 83q-42 32-92 22t-80-54q-8-12-12-23t-1-20 5-16 13-17 18-15 22-16 23-17q6-4 22-16t23-16 19-12 19-8 17 1 18 8 16 19z" horiz-adv-x="780" />
|
66 |
+
|
67 |
+
<glyph glyph-name="download-cloud" unicode="" d="M714 332q0 8-5 13t-13 5h-125v196q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-196h-125q-8 0-13-5t-5-13q0-8 5-13l196-196q5-5 13-5t13 5l196 196q5 6 5 13z m357-125q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
|
68 |
+
|
69 |
+
<glyph glyph-name="heart" unicode="" d="M380 18l-285 283c-66 65-95 137-95 200 0 109 73 182 183 182 102 0 137-48 197-117 60 69 95 117 198 117 110 0 182-73 182-182 0-63-29-135-95-200z" horiz-adv-x="760" />
|
70 |
+
|
71 |
+
<glyph glyph-name="chart-pie" unicode="" d="M429 353l304-304q-59-61-138-94t-166-34q-117 0-216 58t-155 156-58 215 58 215 155 156 216 58v-426z m104-3h431q0-88-33-167t-94-138z m396 71h-429v429q117 0 215-57t156-156 58-216z" horiz-adv-x="1000" />
|
72 |
+
|
73 |
+
<glyph glyph-name="heart-broken" unicode="" d="M0 530q0 103 73 176t177 73q81 0 147-47l-14-250q0-12 9-20t21-9h10q12 0 18-8t3-20l-57-172q-4-12-2-13t9 8l194 267q7 9 4 16t-16 7h-77q-12 0-17 8t-1 18l82 183q57 32 124 32 103 0 177-73t73-176q0-94-63-166l-343-403q-25-31-62-31t-63 31l-342 403q-64 72-64 166z" horiz-adv-x="937.5" />
|
74 |
+
|
75 |
+
<glyph glyph-name="eye-off" unicode="" d="M0 326q6 49 64 110 79 80 176 128 129 61 260 61 29 0 59-2l74 129q10 16 23 18 4 0 8-2l51-32q17-7 2-33l-57-101-47-79-41-72-144-250-41-72-47-80-57-100q-15-25-31-15l-53 31q-15 8 0 33l49 86-8 4q-103 53-176 129-64 72-64 109z m264 0q0-74 47-133l48 84q-9 24-9 49 0 51 34 91t85 50l49 84-18 0q-98 0-167-66t-69-159z m177-295l41 71 18 0q98 0 167 65t69 159q0 74-47 133l63 109q2-2 4-3t4-1q103-52 176-128 64-73 64-110-6-49-64-109-79-80-176-129-129-61-260-61-25 0-59 4z m90 155l110 189q9-25 9-49 0-51-34-90t-85-50z" horiz-adv-x="1000" />
|
76 |
+
|
77 |
+
<glyph glyph-name="flash" unicode="" d="M598 349q23-12 26-39t-16-45l-391-370q-14-14-35-14-28 0-43 24t-6 49l113 270-220 128q-22 12-25 38t15 45l391 370q11 14 35 14 21 0 37-16t15-36q0-13-5-23l-111-267z" horiz-adv-x="624" />
|
78 |
</font>
|
79 |
</defs>
|
80 |
</svg>
|
admin/fontello/font/fontello.ttf
CHANGED
Binary file
|
admin/fontello/font/fontello.woff
CHANGED
Binary file
|
admin/fontello/font/fontello.woff2
ADDED
Binary file
|
admin/images/auto-config.jpg
ADDED
Binary file
|
admin/js/wptouch-admin-4.js
CHANGED
@@ -687,9 +687,98 @@ function wptouchSetupFreeSettings(){
|
|
687 |
}
|
688 |
}
|
689 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
690 |
function wptouchControlReturn(){
|
691 |
// Intercept enter key, which strangely causes the first button in the DOM to be pressed
|
692 |
-
// in our case this
|
693 |
jQuery( 'input' ).keypress( function ( e ) {
|
694 |
if ( ( e.which && e.which == 13 ) || ( e.keyCode && e.keyCode == 13 ) ) {
|
695 |
return false;
|
@@ -781,7 +870,7 @@ function wptouchAdminSetupSave(){
|
|
781 |
|
782 |
if ( wptouchAdminForm.length ) {
|
783 |
// Toggles, textareas & selects
|
784 |
-
wptouchAdminForm.on( 'change.ajaxed', 'input[type="checkbox"]:not(#translate_admin):not(#multisite_control), textarea, select:not(#force_locale):not(#force_network_locale)', function(){
|
785 |
wptouchTriggerSave();
|
786 |
});
|
787 |
|
@@ -900,6 +989,8 @@ function wptouchAdminReady() {
|
|
900 |
wptouchThemesExtensionsPanels();
|
901 |
|
902 |
wptouchHandleResetSettings();
|
|
|
|
|
903 |
|
904 |
wptouchControlReturn();
|
905 |
|
@@ -914,6 +1005,7 @@ function wptouchAdminReady() {
|
|
914 |
wptouchThemesAddonsAjaxInstall();
|
915 |
|
916 |
wptouchPreviewWindow();
|
|
|
917 |
wptouchHandlePreviewWindow();
|
918 |
}
|
919 |
|
687 |
}
|
688 |
}
|
689 |
|
690 |
+
function wptouchAdminMutisite(){
|
691 |
+
|
692 |
+
jQuery( '#multisite-select-all' ).on( 'click', function( e ){
|
693 |
+
jQuery( '#multisite-deploy-sites input:not(input:disabled)' ).prop( 'checked', 'checked' );
|
694 |
+
e.preventDefault();
|
695 |
+
});
|
696 |
+
|
697 |
+
jQuery( '#multisite-select-none' ).on( 'click', function( e ){
|
698 |
+
jQuery( '#multisite-deploy-sites input' ).prop( 'checked', '' );
|
699 |
+
e.preventDefault();
|
700 |
+
});
|
701 |
+
|
702 |
+
var deployment_modal = jQuery('[data-remodal-id=modal-deployment]').remodal();
|
703 |
+
|
704 |
+
jQuery( '#multisite-deploy' ).on( 'click', function( e ){
|
705 |
+
e.preventDefault();
|
706 |
+
|
707 |
+
if ( jQuery( '#multisite-deploy-sites input' ).is( ':checked' ) ) {
|
708 |
+
jQuery( '.deploy-to-sites' ).show();
|
709 |
+
jQuery( '.icon-ok-circle, .button-close' ).remove();
|
710 |
+
jQuery( 'p.deploy-text' ).text( jQuery( 'p.deploy-text' ).attr( 'data-text' ) );
|
711 |
+
deployment_modal.open();
|
712 |
+
|
713 |
+
}
|
714 |
+
});
|
715 |
+
|
716 |
+
jQuery( '#multisite_deployment_source' ).change( function(){
|
717 |
+
// what's the current selected site?
|
718 |
+
var currentSite = jQuery( this ).val();
|
719 |
+
// reset all checkboxes to enabled
|
720 |
+
jQuery( '#multisite-deploy-sites input' ).attr( 'disabled', false );
|
721 |
+
// disabled the selected site's checkbox and uncheck it
|
722 |
+
var destinationSite = jQuery( '#multisite-deploy-sites' ).find( 'input#site-' + currentSite );
|
723 |
+
destinationSite.prop( 'checked', false ).attr( 'disabled', true );
|
724 |
+
}).change();
|
725 |
+
|
726 |
+
jQuery( '.deploy-to-sites' ).on( 'click', function( e ){
|
727 |
+
jQuery( this ).hide();
|
728 |
+
e.preventDefault();
|
729 |
+
|
730 |
+
var sourceSite = jQuery( '#multisite_deployment_source' ).val();
|
731 |
+
var deployGeneral = jQuery( "#multisite_deploy_general_settings" ).is( ":checked" );
|
732 |
+
var deployCompat = jQuery( "#multisite_deploy_site_compat" ).is( ":checked" );
|
733 |
+
var deployDevices = jQuery( "#multisite_deploy_devices" ).is( ":checked" );
|
734 |
+
var deployMenus = jQuery( "#multisite_deploy_menus" ).is( ":checked" );
|
735 |
+
var deployThemes = jQuery( "#multisite_deploy_themes" ).is( ":checked" );
|
736 |
+
var deployExtensions = jQuery( "#multisite_deploy_extensions" ).is( ":checked" );
|
737 |
+
var deployColors = jQuery( "#multisite_deploy_colors" ).is( ":checked" );
|
738 |
+
var deploySocialMedia = jQuery( "#multisite_deploy_social_media" ).is( ":checked" );
|
739 |
+
var deploySocialSharing = jQuery( "#multisite_deploy_social_sharing" ).is( ":checked" );
|
740 |
+
|
741 |
+
var sites = [];
|
742 |
+
|
743 |
+
jQuery( '#multisite-deploy-sites input' ).each( function( index, value ) {
|
744 |
+
if ( jQuery( this ).is( ":checked" ) ) {
|
745 |
+
sites.push( jQuery( this ).attr( 'id' ) );
|
746 |
+
}
|
747 |
+
});
|
748 |
+
|
749 |
+
var ajaxParams = {
|
750 |
+
source_site: sourceSite,
|
751 |
+
deploy_general: deployGeneral ? '1' : '0',
|
752 |
+
deploy_compat: deployCompat ? '1' : '0',
|
753 |
+
deploy_devices: deployDevices ? '1' : '0',
|
754 |
+
deploy_menus: deployMenus ? '1' : '0',
|
755 |
+
deploy_themes: deployThemes ? '1' : '0',
|
756 |
+
deploy_extensions: deployExtensions ? '1' : '0',
|
757 |
+
deploy_colors: deployColors ? '1' : '0',
|
758 |
+
deploy_social_media: deploySocialMedia ? '1' : '0',
|
759 |
+
deploy_social_sharing: deploySocialSharing ? '1' : '0',
|
760 |
+
deploy_sites: sites
|
761 |
+
};
|
762 |
+
|
763 |
+
jQuery( 'p.deploy-text' ).text( jQuery( 'p.deploy-text' ).attr( 'data-deploying-text' ) );
|
764 |
+
|
765 |
+
wptouchAdminAjax( 'multisite_deploy', ajaxParams, function( result ) {
|
766 |
+
alert( result );
|
767 |
+
setTimeout( function(){
|
768 |
+
jQuery( 'p.deploy-text' )
|
769 |
+
.text( jQuery( 'p.deploy-text' ).attr( 'data-completed-text' ) )
|
770 |
+
.prepend( '<i class="icon-ok-circle"></i>' )
|
771 |
+
.append( '<br /><br /><button class="button button-close" data-remodal-action="cancel">Close</button>' );
|
772 |
+
}, 1000 );
|
773 |
+
});
|
774 |
+
});
|
775 |
+
|
776 |
+
}
|
777 |
+
|
778 |
+
|
779 |
function wptouchControlReturn(){
|
780 |
// Intercept enter key, which strangely causes the first button in the DOM to be pressed
|
781 |
+
// in our case this might result in a backup file download!
|
782 |
jQuery( 'input' ).keypress( function ( e ) {
|
783 |
if ( ( e.which && e.which == 13 ) || ( e.keyCode && e.keyCode == 13 ) ) {
|
784 |
return false;
|
870 |
|
871 |
if ( wptouchAdminForm.length ) {
|
872 |
// Toggles, textareas & selects
|
873 |
+
wptouchAdminForm.on( 'change.ajaxed', 'input[type="checkbox"]:not(#translate_admin):not(#multisite_control):not(#wptouch-addon-deployment input), textarea, select:not(#force_locale):not(#force_network_locale):not(#wptouch-addon-deployment select)', function(){
|
874 |
wptouchTriggerSave();
|
875 |
});
|
876 |
|
989 |
wptouchThemesExtensionsPanels();
|
990 |
|
991 |
wptouchHandleResetSettings();
|
992 |
+
|
993 |
+
wptouchAdminMutisite();
|
994 |
|
995 |
wptouchControlReturn();
|
996 |
|
1005 |
wptouchThemesAddonsAjaxInstall();
|
1006 |
|
1007 |
wptouchPreviewWindow();
|
1008 |
+
|
1009 |
wptouchHandlePreviewWindow();
|
1010 |
}
|
1011 |
|
admin/js/wptouch-admin-wizard.js
CHANGED
@@ -94,7 +94,7 @@ function wptouchDoWizard(){
|
|
94 |
if ( theme_selected ) {
|
95 |
jQuery( '.actions li' ).removeClass( 'disabled' );
|
96 |
jQuery.cookie( 'jQu3ry_5teps_St@te_wptouch-wizard-container', '4' );
|
97 |
-
wptouchAdminAjax( 'wizard-theme', { 'theme': theme_selected },
|
98 |
} else{
|
99 |
jQuery( '.actions li' ).addClass( 'disabled' );
|
100 |
return false;
|
@@ -165,6 +165,16 @@ function wptouchSetupSelects(){
|
|
165 |
});
|
166 |
}
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
function wptouchWizardLicense(){
|
169 |
|
170 |
if ( jQuery( '#activate-license a' ).length ){
|
@@ -186,19 +196,8 @@ function wptouchWizardLicense(){
|
|
186 |
wptouchAdminAjax( 'activate-license-key', ajaxParams, function( result ) {
|
187 |
if ( result == '1' ) {
|
188 |
// license success
|
189 |
-
bncHasLicense = 1;
|
190 |
-
|
191 |
-
jQuery( '.activate-license .activated' ).show();
|
192 |
-
jQuery( 'i.icon-ok-circle' ).addClass( 'flipInX' );
|
193 |
-
jQuery( '.steps li.current' ).removeClass( 'error' );
|
194 |
-
});
|
195 |
-
|
196 |
-
// Animate Activation icon if it's there
|
197 |
-
if ( jQuery( '#wptouch-wizard-container' ).has( 'i.icon-ok-circle' ) ) {
|
198 |
-
setTimeout( function(){
|
199 |
-
// wptouchReload();
|
200 |
-
}, 500 );
|
201 |
-
}
|
202 |
|
203 |
} else {
|
204 |
// rejected license
|
@@ -209,7 +208,7 @@ function wptouchWizardLicense(){
|
|
209 |
licenseTextDiv.html( 'You have no licenses remaining to activate this site.<br />You can add <a href="http://www.wptouch-com/account">additional licenses</a> to your account and try again.' );
|
210 |
} else if( result == '4' ){
|
211 |
licenseTextDiv.html( 'The server is having an issue activating your license.<br />Please contact us at <a href="mailto:support@wtouch.com?subject=Cannot%20Reach%20WPtouch%20Server">support@wptouch.com</a> and let us know.' );
|
212 |
-
}else if( result == '5' ){
|
213 |
licenseTextDiv.html( 'Your license has expired.<br />Please <a href="//www.wptouch.com/renew">renew</a> to activate this site.' );
|
214 |
}
|
215 |
|
@@ -322,6 +321,7 @@ function wptouchWizardDownloadUpload(){
|
|
322 |
|
323 |
jQuery( document ).ready( function(){
|
324 |
wptouchDoWizard();
|
|
|
325 |
wptouchSetupSelects();
|
326 |
wptouchWizardLicense();
|
327 |
wptouchWizardThemeSelect();
|
94 |
if ( theme_selected ) {
|
95 |
jQuery( '.actions li' ).removeClass( 'disabled' );
|
96 |
jQuery.cookie( 'jQu3ry_5teps_St@te_wptouch-wizard-container', '4' );
|
97 |
+
wptouchAdminAjax( 'wizard-theme', { 'theme': theme_selected }, wptouchContinue );
|
98 |
} else{
|
99 |
jQuery( '.actions li' ).addClass( 'disabled' );
|
100 |
return false;
|
165 |
});
|
166 |
}
|
167 |
|
168 |
+
function wptouchLove(){
|
169 |
+
jQuery( '#wptouch_love' ).on( 'change', function(){
|
170 |
+
if ( !jQuery( this ).prop( 'checked' ) ) {
|
171 |
+
jQuery( 'i.heartbeat' ).removeClass( 'icon-heart' ).addClass( 'icon-heart-broken' );
|
172 |
+
} else {
|
173 |
+
jQuery( 'i.heartbeat' ).addClass( 'icon-heart' ).removeClass( 'icon-heart-broken' );
|
174 |
+
}
|
175 |
+
});
|
176 |
+
}
|
177 |
+
|
178 |
function wptouchWizardLicense(){
|
179 |
|
180 |
if ( jQuery( '#activate-license a' ).length ){
|
196 |
wptouchAdminAjax( 'activate-license-key', ajaxParams, function( result ) {
|
197 |
if ( result == '1' ) {
|
198 |
// license success
|
199 |
+
bncHasLicense = 1;
|
200 |
+
wptouchReload();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
|
202 |
} else {
|
203 |
// rejected license
|
208 |
licenseTextDiv.html( 'You have no licenses remaining to activate this site.<br />You can add <a href="http://www.wptouch-com/account">additional licenses</a> to your account and try again.' );
|
209 |
} else if( result == '4' ){
|
210 |
licenseTextDiv.html( 'The server is having an issue activating your license.<br />Please contact us at <a href="mailto:support@wtouch.com?subject=Cannot%20Reach%20WPtouch%20Server">support@wptouch.com</a> and let us know.' );
|
211 |
+
} else if( result == '5' ){
|
212 |
licenseTextDiv.html( 'Your license has expired.<br />Please <a href="//www.wptouch.com/renew">renew</a> to activate this site.' );
|
213 |
}
|
214 |
|
321 |
|
322 |
jQuery( document ).ready( function(){
|
323 |
wptouchDoWizard();
|
324 |
+
wptouchLove();
|
325 |
wptouchSetupSelects();
|
326 |
wptouchWizardLicense();
|
327 |
wptouchWizardThemeSelect();
|
admin/pages/custom/wptouch-admin-license.php
CHANGED
@@ -89,7 +89,7 @@
|
|
89 |
<?php } else { ?>
|
90 |
<tr>
|
91 |
<td><?php _e( 'Site License', 'wptouch-pro' ); ?>:</td>
|
92 |
-
<td><?php echo $bncid_info->licensed_site; ?> | <a href="<?php echo add_query_arg( array( 'wptouch_license_action' => 'remove_license', 'wptouch_license_nonce' => wp_create_nonce( 'tsarbomba' ) ), $_SERVER[ 'REQUEST_URI' ] ) ; ?>" class="remove-license"><?php _e( '
|
93 |
</tr>
|
94 |
<tr>
|
95 |
<td><?php _e( 'Licenses used', 'wptouch-pro' ); ?>:</td>
|
89 |
<?php } else { ?>
|
90 |
<tr>
|
91 |
<td><?php _e( 'Site License', 'wptouch-pro' ); ?>:</td>
|
92 |
+
<td><?php echo $bncid_info->licensed_site; ?> | <a href="<?php echo add_query_arg( array( 'wptouch_license_action' => 'remove_license', 'wptouch_license_nonce' => wp_create_nonce( 'tsarbomba' ) ), $_SERVER[ 'REQUEST_URI' ] ) ; ?>" class="remove-license"><?php _e( 'Deactivate', 'wptouch-pro' ); ?></a></td>
|
93 |
</tr>
|
94 |
<tr>
|
95 |
<td><?php _e( 'Licenses used', 'wptouch-pro' ); ?>:</td>
|
admin/pages/custom/wptouch-admin-wizard.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
$settings = array(
|
3 |
'bncid' => wptouch_get_settings( 'bncid' ),
|
4 |
'foundation' => wptouch_get_settings( 'foundation' ),
|
5 |
-
'wptouch_pro' => wptouch_get_settings( 'wptouch_pro')
|
6 |
);
|
7 |
|
8 |
global $wptouch_pro;
|
@@ -90,14 +90,14 @@
|
|
90 |
<?php } ?>
|
91 |
<span class="activated" <?php if ( !wptouch_has_license() ) { echo 'style="display:none"'; } ?>>
|
92 |
<h2><?php _e( 'License Activation Complete','wptouch-pro' ); ?></h2>
|
93 |
-
<i class="icon-ok-circle animated"></i>
|
94 |
<p><?php echo sprintf( __( 'Thank you for purchasing a %s licence!', 'wptouch-pro' ), 'WPtouch Pro' ); ?></p>
|
95 |
</span>
|
96 |
</section>
|
97 |
<?php if ( is_network_admin() ) { ?>
|
98 |
<details>Multisite</details>
|
99 |
<section class="multisite-panel">
|
100 |
-
<h2><?php _e( 'Multisite Network
|
101 |
<p><?php echo wptouchize_it( __( 'Since you have network activated WPtouch Pro, you can configure the way themes and extensions are controlled in your environment.', 'wptouch-pro' ) ); ?></p>
|
102 |
<i class="icon-theme-settings"></i>
|
103 |
<p><?php echo wptouchize_it( __( 'By default network activations of WPtouch Pro mean that the Network Admin controls theme and extension downloads and updates. You can also choose to allow sub-sites to behave like independent installations, and control themes and extensions themselves.','wptouch-pro' ) ); ?></p>
|
2 |
$settings = array(
|
3 |
'bncid' => wptouch_get_settings( 'bncid' ),
|
4 |
'foundation' => wptouch_get_settings( 'foundation' ),
|
5 |
+
'wptouch_pro' => wptouch_get_settings( 'wptouch_pro' )
|
6 |
);
|
7 |
|
8 |
global $wptouch_pro;
|
90 |
<?php } ?>
|
91 |
<span class="activated" <?php if ( !wptouch_has_license() ) { echo 'style="display:none"'; } ?>>
|
92 |
<h2><?php _e( 'License Activation Complete','wptouch-pro' ); ?></h2>
|
93 |
+
<i class="icon-ok-circle animated flipInX"></i>
|
94 |
<p><?php echo sprintf( __( 'Thank you for purchasing a %s licence!', 'wptouch-pro' ), 'WPtouch Pro' ); ?></p>
|
95 |
</span>
|
96 |
</section>
|
97 |
<?php if ( is_network_admin() ) { ?>
|
98 |
<details>Multisite</details>
|
99 |
<section class="multisite-panel">
|
100 |
+
<h2><?php _e( 'Multisite Network','wptouch-pro' ); ?></h2>
|
101 |
<p><?php echo wptouchize_it( __( 'Since you have network activated WPtouch Pro, you can configure the way themes and extensions are controlled in your environment.', 'wptouch-pro' ) ); ?></p>
|
102 |
<i class="icon-theme-settings"></i>
|
103 |
<p><?php echo wptouchize_it( __( 'By default network activations of WPtouch Pro mean that the Network Admin controls theme and extension downloads and updates. You can also choose to allow sub-sites to behave like independent installations, and control themes and extensions themselves.','wptouch-pro' ) ); ?></p>
|
admin/pages/wptouch-admin-general-settings.php
CHANGED
@@ -5,9 +5,7 @@ if ( !defined( 'FOUNDATION_SETTING_DOMAIN' ) ) {
|
|
5 |
if ( !wptouch_is_controlled_network() || ( wptouch_is_controlled_network() && is_network_admin() ) ) {
|
6 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_updates_page' );
|
7 |
}
|
8 |
-
|
9 |
-
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_multisite_page' );
|
10 |
-
}
|
11 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_general_page' );
|
12 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_compat_page' );
|
13 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_devices_page' );
|
@@ -18,49 +16,10 @@ add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch
|
|
18 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_addons' );
|
19 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_addon_settings' );
|
20 |
|
21 |
-
function wptouch_render_multisite_page( $page_options ) {
|
22 |
-
global $wptouch_pro;
|
23 |
-
|
24 |
-
$settings = wptouch_get_settings();
|
25 |
-
|
26 |
-
wptouch_add_sub_page( WPTOUCH_ADMIN_MULTISITE_SETUP, 'multisite-network-admin', $page_options );
|
27 |
-
|
28 |
-
wptouch_add_page_section(
|
29 |
-
WPTOUCH_ADMIN_MULTISITE_SETUP,
|
30 |
-
__( 'Multisite Setup', 'wptouch-pro' ),
|
31 |
-
'mutisite-setup',
|
32 |
-
array(
|
33 |
-
wptouch_add_setting(
|
34 |
-
'list',
|
35 |
-
'force_network_locale',
|
36 |
-
__( 'Admin Language', 'wptouch-pro' ),
|
37 |
-
false,
|
38 |
-
WPTOUCH_SETTING_BASIC,
|
39 |
-
'3.0',
|
40 |
-
wptouch_admin_get_languages(),
|
41 |
-
'wptouch_pro'
|
42 |
-
),
|
43 |
-
wptouch_add_setting(
|
44 |
-
'checkbox',
|
45 |
-
'multisite_control',
|
46 |
-
__( 'Control themes and extension downloads and updates', 'wptouch-pro' ),
|
47 |
-
__( 'If enabled, sub-sites can only activate/deactivate themes and extensions that have been downloaded in the network admin.', 'wptouch-pro' ),
|
48 |
-
WPTOUCH_SETTING_BASIC,
|
49 |
-
'4.0',
|
50 |
-
false,
|
51 |
-
'bncid'
|
52 |
-
)
|
53 |
-
),
|
54 |
-
$page_options
|
55 |
-
);
|
56 |
-
|
57 |
-
return $page_options;
|
58 |
-
}
|
59 |
-
|
60 |
function wptouch_render_updates_page( $page_options ) {
|
61 |
global $wptouch_pro;
|
62 |
|
63 |
-
if ( $wptouch_pro->theme_upgrades_available() || $wptouch_pro->extension_upgrades_available() ) {
|
64 |
$settings = wptouch_get_settings();
|
65 |
|
66 |
wptouch_add_sub_page( WPTOUCH_ADMIN_UPDATES_AVAILABLE, 'updates-available', $page_options );
|
@@ -592,7 +551,7 @@ function wptouch_render_menu_page( $page_options ) {
|
|
592 |
WPTOUCH_ADMIN_MENU_MANAGE_ICON_SETS,
|
593 |
__( 'Menu Options', 'wptouch-pro' ),
|
594 |
'setup-menu-parent-items',
|
595 |
-
array(
|
596 |
wptouch_add_setting(
|
597 |
'checkbox',
|
598 |
'enable_parent_items',
|
@@ -609,7 +568,7 @@ function wptouch_render_menu_page( $page_options ) {
|
|
609 |
WPTOUCH_SETTING_BASIC,
|
610 |
'3.0'
|
611 |
)
|
612 |
-
),
|
613 |
$page_options,
|
614 |
'wptouch_pro'
|
615 |
);
|
5 |
if ( !wptouch_is_controlled_network() || ( wptouch_is_controlled_network() && is_network_admin() ) ) {
|
6 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_updates_page' );
|
7 |
}
|
8 |
+
|
|
|
|
|
9 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_general_page' );
|
10 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_compat_page' );
|
11 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_devices_page' );
|
16 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_addons' );
|
17 |
add_filter( 'wptouch_admin_page_render_wptouch-admin-general-settings', 'wptouch_render_addon_settings' );
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
function wptouch_render_updates_page( $page_options ) {
|
20 |
global $wptouch_pro;
|
21 |
|
22 |
+
if ( $wptouch_pro->theme_upgrades_available() || $wptouch_pro->extension_upgrades_available() || wptouch_is_update_available() != WPTOUCH_VERSION ) {
|
23 |
$settings = wptouch_get_settings();
|
24 |
|
25 |
wptouch_add_sub_page( WPTOUCH_ADMIN_UPDATES_AVAILABLE, 'updates-available', $page_options );
|
551 |
WPTOUCH_ADMIN_MENU_MANAGE_ICON_SETS,
|
552 |
__( 'Menu Options', 'wptouch-pro' ),
|
553 |
'setup-menu-parent-items',
|
554 |
+
apply_filters( 'wptouch_foundation_menu_options', array(
|
555 |
wptouch_add_setting(
|
556 |
'checkbox',
|
557 |
'enable_parent_items',
|
568 |
WPTOUCH_SETTING_BASIC,
|
569 |
'3.0'
|
570 |
)
|
571 |
+
) ),
|
572 |
$page_options,
|
573 |
'wptouch_pro'
|
574 |
);
|
admin/settings/html/auto_configure.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="new-in-four">
|
2 |
+
<img src="<?php echo WPTOUCH_ADMIN_URL; ?>/images/auto-config.jpg" alt="menu setup icon with phone and graphic" />
|
3 |
+
<?php
|
4 |
+
echo '<p>' . sprintf( __( 'This extension doesn’t currently require configuration. All of its settings are inherited from your WPtouch Pro configuration automatically.', 'wptouch-pro' ), '<br />', '<em>', '</em>' ) . '</p>';
|
5 |
+
?>
|
6 |
+
</div>
|
admin/settings/html/extension-browser-item-detail.php
CHANGED
@@ -1,10 +1,4 @@
|
|
1 |
-
|
2 |
-
if ( is_network_admin() ) {
|
3 |
-
$activate_label = __( 'Install', 'wptouch-pro' );
|
4 |
-
} else {
|
5 |
-
$activate_label = __( 'Activate', 'wptouch-pro' );
|
6 |
-
}
|
7 |
-
?>
|
8 |
<div id="<?php echo wptouch_convert_to_class_name( wptouch_get_addon_title() ); ?>-container" class="view inner-view <?php wptouch_the_addon_classes(); ?>">
|
9 |
<div class="back-link">
|
10 |
<a href="#main-extension-panel" data-popview>
|
@@ -17,7 +11,6 @@
|
|
17 |
<img src="<?php wptouch_the_addon_icon(); ?>" alt="<?php wptouch_the_addon_title(); ?>" />
|
18 |
</div>
|
19 |
<?php } ?>
|
20 |
-
|
21 |
<h2>
|
22 |
<?php wptouch_the_addon_title(); ?>
|
23 |
<?php if ( wptouch_is_addon_active() && current_user_can( 'manage_options' ) ) { ?><i class="icon-ok-circle"></i><?php } ?>
|
@@ -26,20 +19,83 @@
|
|
26 |
|
27 |
<p class="desc"><?php wptouch_the_addon_description(); ?></p>
|
28 |
|
29 |
-
<?php if (
|
30 |
<div class="action-buttons<?php if ( !wptouch_can_cloud_install() ) { ?> no-install<?php } ?>">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
<?php if ( wptouch_get_addon_buy_url() ) { ?>
|
35 |
<?php if ( !is_multisite() || is_network_admin() ) { ?>
|
36 |
<a class="button buynow" href="<?php wptouch_the_addon_buy_url(); ?>">
|
37 |
<?php _e( 'Add to License', 'wptouch-pro' ); ?>
|
38 |
</a>
|
39 |
<?php } ?>
|
40 |
-
<?php } elseif ( ( !wptouch_is_addon_active() &&
|
41 |
<a class="button activate" href="<?php echo wptouch_check_url_ssl( wptouch_get_addon_activate_link_url() ); ?>">
|
42 |
-
<?php echo
|
43 |
</a>
|
44 |
|
45 |
<?php if ( !wptouch_can_cloud_install() && wptouch_get_addon_download_url() && !wptouch_get_addon_buy_url() && ( !wptouch_is_controlled_network() || is_network_admin() ) ) { ?>
|
@@ -48,12 +104,13 @@
|
|
48 |
</a>
|
49 |
<?php } ?>
|
50 |
|
51 |
-
<?php } elseif ( !is_network_admin() ) { ?>
|
52 |
<a class="button deactivate" href="<?php wptouch_the_addon_deactivate_link_url(); ?>"><?php _e( 'Deactivate', 'wptouch-pro' ); ?></a>
|
53 |
<?php } ?>
|
54 |
<?php } ?>
|
55 |
</div>
|
56 |
<?php } ?>
|
|
|
57 |
|
58 |
</div>
|
59 |
|
1 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<div id="<?php echo wptouch_convert_to_class_name( wptouch_get_addon_title() ); ?>-container" class="view inner-view <?php wptouch_the_addon_classes(); ?>">
|
3 |
<div class="back-link">
|
4 |
<a href="#main-extension-panel" data-popview>
|
11 |
<img src="<?php wptouch_the_addon_icon(); ?>" alt="<?php wptouch_the_addon_title(); ?>" />
|
12 |
</div>
|
13 |
<?php } ?>
|
|
|
14 |
<h2>
|
15 |
<?php wptouch_the_addon_title(); ?>
|
16 |
<?php if ( wptouch_is_addon_active() && current_user_can( 'manage_options' ) ) { ?><i class="icon-ok-circle"></i><?php } ?>
|
19 |
|
20 |
<p class="desc"><?php wptouch_the_addon_description(); ?></p>
|
21 |
|
22 |
+
<?php if ( current_user_can( 'install_plugins' ) && !defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
23 |
<div class="action-buttons<?php if ( !wptouch_can_cloud_install() ) { ?> no-install<?php } ?>">
|
24 |
+
<?php if ( is_network_admin() ) { ?>
|
25 |
+
<?php if ( wptouch_is_controlled_network() || wptouch_is_multisite_extension() ) { ?>
|
26 |
+
<?php if ( !wptouch_is_addon_active() ) { ?>
|
27 |
+
<?php if ( wptouch_get_addon_buy_url() ) { ?>
|
28 |
+
<a class="button buynow" href="<?php wptouch_the_addon_buy_url(); ?>">
|
29 |
+
<?php _e( 'Add to License', 'wptouch-pro' ); ?>
|
30 |
+
</a>
|
31 |
+
<?php } else { ?>
|
32 |
+
<!-- Extension has been purchased -->
|
33 |
+
<?php if ( wptouch_can_cloud_install() || wptouch_is_multisite_extension() ) { ?>
|
34 |
+
<a class="button activate" href="<?php echo wptouch_check_url_ssl( wptouch_get_addon_activate_link_url() ); ?>">
|
35 |
+
<?php echo wptouch_get_activation_label(); ?>
|
36 |
+
</a>
|
37 |
+
<?php } ?>
|
38 |
|
39 |
+
<?php if ( !wptouch_can_cloud_install() ) { ?>
|
40 |
+
<a class="button activate" href="<?php echo wptouch_check_url_ssl( wptouch_get_addon_activate_link_url() ); ?>">
|
41 |
+
<?php } ?>
|
42 |
+
<?php } ?>
|
43 |
+
<?php } else { ?>
|
44 |
+
<!-- Plugin is active -->
|
45 |
+
<?php if ( wptouch_is_multisite_extension() ) { ?>
|
46 |
+
<a class="button deactivate" href="<?php wptouch_the_addon_deactivate_link_url(); ?>"><?php _e( 'Deactivate', 'wptouch-pro' ); ?></a>
|
47 |
+
<?php } ?>
|
48 |
+
<?php } ?>
|
49 |
+
<?php } ?>
|
50 |
+
<?php } else { ?>
|
51 |
+
<?php if ( !wptouch_is_addon_active() ) { ?>
|
52 |
+
<?php if ( wptouch_get_addon_buy_url() ) { ?>
|
53 |
+
<a class="button buynow" href="<?php wptouch_the_addon_buy_url(); ?>">
|
54 |
+
<?php _e( 'Add to License', 'wptouch-pro' ); ?>
|
55 |
+
</a>
|
56 |
+
<?php } else { ?>
|
57 |
+
<!-- Extension has been purchased -->
|
58 |
+
<?php if ( wptouch_can_cloud_install() ) { ?>
|
59 |
+
<?php if ( wptouch_is_multisite_extension() ) { ?>
|
60 |
+
<div><strong><?php _e( 'Must be activated from Network Admin', 'wptouch-pro' ); ?><strong></div>
|
61 |
+
<?php } else { ?>
|
62 |
+
<a class="button activate" href="<?php echo wptouch_check_url_ssl( wptouch_get_addon_activate_link_url() ); ?>">
|
63 |
+
<?php echo wptouch_get_activation_label(); ?>
|
64 |
+
</a>
|
65 |
+
<?php } ?>
|
66 |
+
<?php } ?>
|
67 |
|
68 |
+
<?php if ( !wptouch_can_cloud_install() ) { ?>
|
69 |
+
<a class="button activate" href="<?php echo wptouch_check_url_ssl( wptouch_get_addon_activate_link_url() ); ?>">
|
70 |
+
<?php } ?>
|
71 |
+
<?php } ?>
|
72 |
+
<?php } else { ?>
|
73 |
+
<!-- Plugin is active -->
|
74 |
+
<?php if ( !wptouch_is_multisite_extension() ) { ?>
|
75 |
+
<a class="button deactivate" href="<?php wptouch_the_addon_deactivate_link_url(); ?>"><?php _e( 'Deactivate', 'wptouch-pro' ); ?></a>
|
76 |
+
<?php } ?>
|
77 |
+
<?php } ?>
|
78 |
+
<?php } ?>
|
79 |
+
</div>
|
80 |
+
<?php } else { ?>
|
81 |
+
<div class="action-buttons<?php if ( !wptouch_can_cloud_install() ) { ?> no-install<?php } ?>">
|
82 |
+
<a class="button" href="<?php echo wptouch_addon_info_url(); ?>"><?php _e( 'Learn More', 'wptouch-pro' ); ?></a>
|
83 |
+
</div>
|
84 |
+
<?php } ?>
|
85 |
+
|
86 |
+
<?php /*
|
87 |
+
<?php if ( !is_network_admin() || wptouch_is_controlled_network() ) { ?>
|
88 |
+
<div class="action-buttons<?php if ( !wptouch_can_cloud_install() ) { ?> no-install<?php } ?>">
|
89 |
+
<?php if ( current_user_can( 'install_plugins' ) && !defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
90 |
<?php if ( wptouch_get_addon_buy_url() ) { ?>
|
91 |
<?php if ( !is_multisite() || is_network_admin() ) { ?>
|
92 |
<a class="button buynow" href="<?php wptouch_the_addon_buy_url(); ?>">
|
93 |
<?php _e( 'Add to License', 'wptouch-pro' ); ?>
|
94 |
</a>
|
95 |
<?php } ?>
|
96 |
+
<?php } elseif ( ( !wptouch_is_addon_active() && ( is_network_admin() && wptouch_is_multisite_extension() ) ) || wptouch_is_addon_in_cloud() ) { ?>
|
97 |
<a class="button activate" href="<?php echo wptouch_check_url_ssl( wptouch_get_addon_activate_link_url() ); ?>">
|
98 |
+
<?php echo wptouch_get_activation_label(); ?>
|
99 |
</a>
|
100 |
|
101 |
<?php if ( !wptouch_can_cloud_install() && wptouch_get_addon_download_url() && !wptouch_get_addon_buy_url() && ( !wptouch_is_controlled_network() || is_network_admin() ) ) { ?>
|
104 |
</a>
|
105 |
<?php } ?>
|
106 |
|
107 |
+
<?php } elseif ( wptouch_is_multisite_extension() || ( !wptouch_is_multisite_extension() && !is_network_admin() ) ) { ?>
|
108 |
<a class="button deactivate" href="<?php wptouch_the_addon_deactivate_link_url(); ?>"><?php _e( 'Deactivate', 'wptouch-pro' ); ?></a>
|
109 |
<?php } ?>
|
110 |
<?php } ?>
|
111 |
</div>
|
112 |
<?php } ?>
|
113 |
+
<?php */ ?>
|
114 |
|
115 |
</div>
|
116 |
|
admin/settings/html/extension-browser-item.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<li class="<?php wptouch_the_addon_classes(); ?> <?php if ( wptouch_get_addon_buy_url() ) { echo 'no-license'; } ?>" data-pushview="#<?php echo wptouch_convert_to_class_name( wptouch_get_addon_title() ); ?>-container">
|
2 |
<div class="item-information">
|
3 |
<?php if ( wptouch_get_addon_icon() ) { ?>
|
4 |
<div class="image-wrapper">
|
1 |
+
<li class="<?php wptouch_the_addon_classes(); ?> <?php if ( wptouch_get_addon_buy_url() && !defined( 'WPTOUCH_IS_FREE') ) { echo 'no-license'; } ?>" data-pushview="#<?php echo wptouch_convert_to_class_name( wptouch_get_addon_title() ); ?>-container">
|
2 |
<div class="item-information">
|
3 |
<?php if ( wptouch_get_addon_icon() ) { ?>
|
4 |
<div class="image-wrapper">
|
admin/settings/html/gopro.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php $settings = wptouch_get_settings( 'bncid' ); ?>
|
2 |
<?php if ( wptouch_is_path_writable( WP_PLUGIN_DIR ) && wptouch_is_path_writable( WPTOUCH_DIR ) ) { ?>
|
3 |
-
<h3>WPtouch Pro
|
4 |
-
<p>If you have a licence for WPtouch Pro you can enter it here
|
5 |
<div id="license-settings-area" class="wptouch-clearfix">
|
6 |
<input class="license-inputs" type="text" placeholder="<?php _e( 'Account E-Mail Address', 'wptouch-pro' ); ?>" id="license_email" name="<?php echo wptouch_admin_get_manual_encoded_setting_name( 'bncid', 'bncid' ); ?>" value="<?php if ( $settings->bncid ) echo $settings->bncid; else ''; ?>" />
|
7 |
|
@@ -14,7 +14,7 @@
|
|
14 |
<?php } ?>
|
15 |
|
16 |
<div id="upgrade-area">
|
17 |
-
|
18 |
</div>
|
19 |
|
20 |
<?php include_once( WPTOUCH_ADMIN_DIR . '/html/license-modals.php' ); ?>
|
1 |
<?php $settings = wptouch_get_settings( 'bncid' ); ?>
|
2 |
<?php if ( wptouch_is_path_writable( WP_PLUGIN_DIR ) && wptouch_is_path_writable( WPTOUCH_DIR ) ) { ?>
|
3 |
+
<h3>Upgrade to WPtouch Pro</h3>
|
4 |
+
<p>If you have a licence for WPtouch Pro you can enter it here and automatically upgrade.</p>
|
5 |
<div id="license-settings-area" class="wptouch-clearfix">
|
6 |
<input class="license-inputs" type="text" placeholder="<?php _e( 'Account E-Mail Address', 'wptouch-pro' ); ?>" id="license_email" name="<?php echo wptouch_admin_get_manual_encoded_setting_name( 'bncid', 'bncid' ); ?>" value="<?php if ( $settings->bncid ) echo $settings->bncid; else ''; ?>" />
|
7 |
|
14 |
<?php } ?>
|
15 |
|
16 |
<div id="upgrade-area">
|
17 |
+
<!-- ajaxed -->
|
18 |
</div>
|
19 |
|
20 |
<?php include_once( WPTOUCH_ADMIN_DIR . '/html/license-modals.php' ); ?>
|
admin/settings/html/sites.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<!-- used to inject sites -->
|
admin/settings/html/theme-browser-item-detail.php
CHANGED
@@ -54,6 +54,8 @@
|
|
54 |
<?php } ?>
|
55 |
|
56 |
<?php } ?>
|
|
|
|
|
57 |
<?php } ?>
|
58 |
</div>
|
59 |
<?php } ?>
|
54 |
<?php } ?>
|
55 |
|
56 |
<?php } ?>
|
57 |
+
<?php } else { ?>
|
58 |
+
<a class="button" href="<?php echo wptouch_theme_info_url(); ?>"><?php _e( 'Learn More', 'wptouch-pro' ); ?></a>
|
59 |
<?php } ?>
|
60 |
</div>
|
61 |
<?php } ?>
|
admin/settings/html/theme-browser-item.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<li class="<?php wptouch_the_theme_classes(); ?> <?php if ( wptouch_get_theme_buy_url() ) { echo 'no-license'; } ?>" data-pushview="#<?php echo wptouch_convert_to_class_name( wptouch_get_theme_title() ); ?>-container">
|
2 |
|
3 |
<div class="item-information">
|
4 |
<?php if ( wptouch_get_theme_icon() ) { ?>
|
1 |
+
<li class="<?php wptouch_the_theme_classes(); ?> <?php if ( wptouch_get_theme_buy_url() && !defined( 'WPTOUCH_IS_FREE') ) { echo 'no-license'; } ?>" data-pushview="#<?php echo wptouch_convert_to_class_name( wptouch_get_theme_title() ); ?>-container">
|
2 |
|
3 |
<div class="item-information">
|
4 |
<?php if ( wptouch_get_theme_icon() ) { ?>
|
admin/settings/html/updates-available.php
CHANGED
@@ -7,9 +7,24 @@
|
|
7 |
<button class="update-all" data-loading-text="<?php _e( 'Updating', 'wptouch-pro' ); ?>…"><?php _e( 'Update All', 'wptouch-pro' ); ?></button>
|
8 |
<?php } ?>
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
<?php if ( $wptouch_pro->theme_upgrades_available() ) { ?>
|
11 |
<div class="updates-themes">
|
12 |
-
<h3><?php _e( '
|
13 |
<ul>
|
14 |
<?php while ( wptouch_has_themes( true ) ) { ?>
|
15 |
<?php wptouch_the_theme(); ?>
|
@@ -37,7 +52,7 @@
|
|
37 |
|
38 |
<?php if ( $wptouch_pro->extension_upgrades_available() ) { ?>
|
39 |
<div class="updates-extensions">
|
40 |
-
<h3><?php _e( '
|
41 |
<ul>
|
42 |
<?php while ( wptouch_has_addons( true ) ) { ?>
|
43 |
<?php wptouch_the_addon(); ?>
|
7 |
<button class="update-all" data-loading-text="<?php _e( 'Updating', 'wptouch-pro' ); ?>…"><?php _e( 'Update All', 'wptouch-pro' ); ?></button>
|
8 |
<?php } ?>
|
9 |
|
10 |
+
<?php if ( function_exists( 'wptouch_is_update_available' ) && wptouch_is_update_available() != WPTOUCH_VERSION ) { ?>
|
11 |
+
<div class="updates-plugin">
|
12 |
+
<?php if ( $wptouch_pro->theme_upgrades_available() ) { ?><h3><?php _e( 'Core Plugin Updates', 'wptouch-pro' ); ?></h3><?php } ?>
|
13 |
+
<ul>
|
14 |
+
<li>
|
15 |
+
<h4>WPtouch Pro Plugin</h4>
|
16 |
+
<span class="update-version">
|
17 |
+
<?php echo sprintf( __( 'Upgrade to %s', 'wptouch-pro' ), wptouch_is_update_available() ); ?>
|
18 |
+
</span>
|
19 |
+
</li>
|
20 |
+
</ul>
|
21 |
+
</div>
|
22 |
+
<?php } ?>
|
23 |
+
|
24 |
+
|
25 |
<?php if ( $wptouch_pro->theme_upgrades_available() ) { ?>
|
26 |
<div class="updates-themes">
|
27 |
+
<h3><?php _e( 'Theme Updates', 'wptouch-pro' ); ?></h3>
|
28 |
<ul>
|
29 |
<?php while ( wptouch_has_themes( true ) ) { ?>
|
30 |
<?php wptouch_the_theme(); ?>
|
52 |
|
53 |
<?php if ( $wptouch_pro->extension_upgrades_available() ) { ?>
|
54 |
<div class="updates-extensions">
|
55 |
+
<h3><?php _e( 'Extension Updates', 'wptouch-pro' ); ?></h3>
|
56 |
<ul>
|
57 |
<?php while ( wptouch_has_addons( true ) ) { ?>
|
58 |
<?php wptouch_the_addon(); ?>
|
admin/settings/include/sites.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
wptouch_admin_the_setting_desc();
|
4 |
+
|
5 |
+
echo '<div id="multisite-deploy-sites">';
|
6 |
+
$all_sites = wptouch_multisite_get_site_array();
|
7 |
+
|
8 |
+
foreach( $all_sites as $id => $value ) {
|
9 |
+
$lowercase = strtolower( $value );
|
10 |
+
$classnamed = preg_replace( '/[\s_]/', '-', $lowercase );
|
11 |
+
|
12 |
+
echo '<p><input type="checkbox" id="site-' . $id . '" class="site-check"></input>' . '<label for="site-' . $id . '">' . $value . '</label></p>';
|
13 |
+
}
|
14 |
+
echo "</div>";
|
15 |
+
|
16 |
+
echo '<div id="deploy-button-area">';
|
17 |
+
echo '<button id="multisite-select-all">' . __( 'Select All', 'wptouch-pro' ) . '</button>';
|
18 |
+
echo '<button id="multisite-select-none">' . __( 'Select None', 'wptouch-pro' ) . '</button>';
|
19 |
+
echo '<button id="multisite-deploy">' . __( 'Deploy to Sites', 'wptouch-pro' ) . '</button>';
|
20 |
+
echo '</div>';
|
21 |
+
|
22 |
+
?>
|
23 |
+
|
24 |
+
<!-- Modals -->
|
25 |
+
<div class="remodal remodal-multisite" data-remodal-id="modal-deployment" data-remodal-options="hashTracking: false">
|
26 |
+
<button data-remodal-action="close" class="remodal-close"></button>
|
27 |
+
<div>
|
28 |
+
<h1><?php _e( 'Deployment', 'wptouch-pro' ); ?></h1>
|
29 |
+
<p class="deploy-text" data-text="<?php _e( 'WARNING: Deploying to sub sites will overwrite sub site WPtouch Pro settings.', 'wptouch-pro' ); ?>" data-deploying-text="<?php _e( 'Your selected options are being deployed to sub sites', 'wptouch-pro' ); ?>…" data-completed-text="<?php _e( 'Deploy Complete', 'wptouch-pro' ); ?>!"></p>
|
30 |
+
<button class="remodal-confirm deploy-to-sites"><?php _e( 'Deploy Now', 'wptouch-pro' ); ?></button>
|
31 |
+
</div>
|
32 |
+
</div>
|
core/admin-ajax.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
function wptouch_admin_handle_ajax(
|
4 |
switch( $ajax_action ) {
|
5 |
case 'dismiss-warning':
|
6 |
$wptouch_pro->check_plugins_for_warnings();
|
@@ -305,6 +305,175 @@ function wptouch_admin_handle_ajax( $wptouch_pro, $ajax_action ) {
|
|
305 |
case 'go-pro':
|
306 |
$result = wptouch_free_go_pro();
|
307 |
echo $result;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
break;
|
309 |
default:
|
310 |
do_action( 'wptouch_admin_ajax_' . $ajax_action, $wptouch_pro );
|
1 |
<?php
|
2 |
|
3 |
+
function wptouch_admin_handle_ajax( &$wptouch_pro, $ajax_action ) {
|
4 |
switch( $ajax_action ) {
|
5 |
case 'dismiss-warning':
|
6 |
$wptouch_pro->check_plugins_for_warnings();
|
305 |
case 'go-pro':
|
306 |
$result = wptouch_free_go_pro();
|
307 |
echo $result;
|
308 |
+
break;
|
309 |
+
case 'multisite_deploy':
|
310 |
+
$source_site = $wptouch_pro->post[ 'source_site' ];
|
311 |
+
|
312 |
+
$current_blog_id = get_current_blog_id();
|
313 |
+
|
314 |
+
// Switch to the source site
|
315 |
+
if ( $current_blog_id != $source_site ) {
|
316 |
+
switch_to_blog( $source_site );
|
317 |
+
|
318 |
+
$wptouch_pro->settings_object = array();
|
319 |
+
}
|
320 |
+
|
321 |
+
$main_settings = $wptouch_pro->get_raw_settings( 'wptouch_pro' );
|
322 |
+
$foundation_settings = $wptouch_pro->get_raw_settings( 'foundation' );
|
323 |
+
$compat_settings = $wptouch_pro->get_raw_settings( 'compat' );
|
324 |
+
|
325 |
+
$colors = foundation_get_theme_colors();
|
326 |
+
$color_settings = array();
|
327 |
+
|
328 |
+
// Deploy color settings
|
329 |
+
foreach( $colors as $color ) {
|
330 |
+
if ( !isset( $color_settings[ $color->domain ] ) ) {
|
331 |
+
$new_settings = wptouch_get_settings( $color->domain );
|
332 |
+
$color_settings[ $color->domain ] = $new_settings;
|
333 |
+
}
|
334 |
+
}
|
335 |
+
|
336 |
+
$destination_sites = $wptouch_pro->post[ 'deploy_sites' ];
|
337 |
+
foreach( $destination_sites as $site ) {
|
338 |
+
$update_customizer = false;
|
339 |
+
|
340 |
+
$real_site = str_replace( 'site-', '', $site );
|
341 |
+
|
342 |
+
restore_current_blog();
|
343 |
+
|
344 |
+
switch_to_blog( $real_site );
|
345 |
+
|
346 |
+
$destination_main_settings = $wptouch_pro->get_raw_settings( 'wptouch_pro' );
|
347 |
+
$destination_foundation_settings = $wptouch_pro->get_raw_settings( 'foundation' );
|
348 |
+
$destination_compat_settings = $wptouch_pro->get_raw_settings( 'compat' );
|
349 |
+
|
350 |
+
if ( $wptouch_pro->post[ 'deploy_general' ] ) {
|
351 |
+
// Deploy general settings
|
352 |
+
$destination_main_settings->new_display_mode = $main_settings->new_display_mode;
|
353 |
+
$destination_main_settings->show_switch_link = $main_settings->show_switch_link;
|
354 |
+
$destination_foundation_settings->allow_zoom = $foundation_settings->allow_zoom;
|
355 |
+
$destination_foundation_settings->smart_app_banner = $foundation_settings->smart_app_banner;
|
356 |
+
|
357 |
+
$destination_main_settings->analytics_embed_method = $main_settings->analytics_embed_method;
|
358 |
+
$destination_main_settings->analytics_google_id = $main_settings->analytics_google_id;
|
359 |
+
$destination_main_settings->custom_stats_code= $main_settings->custom_stats_code;
|
360 |
+
$destination_main_settings->show_wptouch_in_footer = $main_settings->show_wptouch_in_footer;
|
361 |
+
}
|
362 |
+
|
363 |
+
if ( $wptouch_pro->post[ 'deploy_compat' ] ) {
|
364 |
+
// Deploy compatiblitiy settings
|
365 |
+
$destination_main_settings->process_desktop_shortcodes = $main_settings->process_desktop_shortcodes;
|
366 |
+
$destination_main_settings->remove_shortcodes = $main_settings->remove_shortcodes;
|
367 |
+
|
368 |
+
$destination_compat_settings->plugin_hooks = $compat_settings->plugin_hooks;
|
369 |
+
$destination_compat_settings->enabled_plugins = $compat_settings->enabled_plugins;
|
370 |
+
}
|
371 |
+
|
372 |
+
if ( $wptouch_pro->post[ 'deploy_devices' ] ) {
|
373 |
+
// Deploy device settings
|
374 |
+
$destination_main_settings->enable_ios_phone = $main_settings->enable_ios_phone;
|
375 |
+
$destination_main_settings->enable_android_phone = $main_settings->enable_android_phone;
|
376 |
+
$destination_main_settings->enable_blackberry_phone = $main_settings->enable_blackberry_phone;
|
377 |
+
$destination_main_settings->enable_firefox_phone = $main_settings->enable_firefox_phone;
|
378 |
+
$destination_main_settings->enable_opera_phone = $main_settings->enable_opera_phone;
|
379 |
+
$destination_main_settings->enable_windows_phone = $main_settings->enable_windows_phone;
|
380 |
+
|
381 |
+
$destination_main_settings->enable_ios_tablet = $main_settings->enable_ios_tablet ;
|
382 |
+
$destination_main_settings->enable_android_tablet = $main_settings->enable_android_tablet;
|
383 |
+
$destination_main_settings->enable_windows_tablet = $main_settings->enable_windows_tablet;
|
384 |
+
$destination_main_settings->enable_kindle_tablet = $main_settings->enable_kindle_tablet;
|
385 |
+
$destination_main_settings->enable_blackberry_tablet = $main_settings->enable_blackberry_tablet;
|
386 |
+
$destination_main_settings->enable_webos_tablet = $main_settings->enable_webos_tablet;
|
387 |
+
|
388 |
+
$destination_main_settings->custom_user_agents = $main_settings->custom_user_agents;
|
389 |
+
}
|
390 |
+
|
391 |
+
if ( $wptouch_pro->post[ 'deploy_menus' ] ) {
|
392 |
+
// Deploy menu settings
|
393 |
+
$destination_main_settings->enable_parent_items = $main_settings->enable_parent_items;
|
394 |
+
$destination_main_settings->enable_menu_icons = $main_settings->enable_menu_icons;
|
395 |
+
}
|
396 |
+
|
397 |
+
if ( $wptouch_pro->post[ 'deploy_themes'] ) {
|
398 |
+
// Deploy theme settings
|
399 |
+
$destination_main_settings->current_theme_friendly_name = $main_settings->current_theme_friendly_name;
|
400 |
+
$destination_main_settings->current_theme_location = $main_settings->current_theme_location;
|
401 |
+
$destination_main_settings->current_theme_name = $main_settings->current_theme_name;
|
402 |
+
|
403 |
+
$update_customizer = true;
|
404 |
+
}
|
405 |
+
|
406 |
+
if ( $wptouch_pro->post[ 'deploy_extensions'] ) {
|
407 |
+
// Deploy extension settings
|
408 |
+
$destination_main_settings->active_addons = $main_settings->active_addons;
|
409 |
+
}
|
410 |
+
|
411 |
+
if ( $wptouch_pro->post[ 'deploy_colors' ] ) {
|
412 |
+
//echo $wptouch_pro->post[ 'deploy_colors' ];
|
413 |
+
// Deploy color settings
|
414 |
+
$destination_color_settings = array();
|
415 |
+
|
416 |
+
foreach( $colors as $color ) {
|
417 |
+
if ( !isset( $destination_color_settings[ $color->domain ] ) ) {
|
418 |
+
$new_settings = wptouch_get_settings( $color->domain );
|
419 |
+
$destination_color_settings[ $color->domain ] = $new_settings;
|
420 |
+
}
|
421 |
+
}
|
422 |
+
|
423 |
+
foreach( $colors as $color ) {
|
424 |
+
$setting_name = $color->setting;
|
425 |
+
$destination_color_settings[ $color->domain ]->$setting_name = $color_settings[ $color->domain ]->$setting_name;
|
426 |
+
}
|
427 |
+
|
428 |
+
foreach( $destination_color_settings as $settings_object ) {
|
429 |
+
$settings_object->save();
|
430 |
+
}
|
431 |
+
|
432 |
+
$update_customizer = true;
|
433 |
+
}
|
434 |
+
|
435 |
+
if ( $wptouch_pro->post[ 'deploy_social_media' ] ) {
|
436 |
+
// Deploy social media settings
|
437 |
+
$destination_foundation_settings->social_facebook_url = $foundation_settings->social_facebook_url;
|
438 |
+
$destination_foundation_settings->social_twitter_url = $foundation_settings->social_twitter_url;
|
439 |
+
$destination_foundation_settings->social_google_url = $foundation_settings->social_google_url;
|
440 |
+
$destination_foundation_settings->social_instagram_url = $foundation_settings->social_instagram_url;
|
441 |
+
$destination_foundation_settings->social_tumblr_url = $foundation_settings->social_tumblr_url;
|
442 |
+
$destination_foundation_settings->social_pinterest_url = $foundation_settings->social_pinterest_url;
|
443 |
+
$destination_foundation_settings->social_vimeo_url = $foundation_settings->social_vimeo_url;
|
444 |
+
$destination_foundation_settings->social_youtube_url = $foundation_settings->social_youtube_url;
|
445 |
+
$destination_foundation_settings->social_linkedin_url = $foundation_settings->social_linkedin_url;
|
446 |
+
$destination_foundation_settings->social_yelp_url = $foundation_settings->social_yelp_url;
|
447 |
+
$destination_foundation_settings->social_email_url = $foundation_settings->social_email_url;
|
448 |
+
$destination_foundation_settings->social_rss_url = $foundation_settings->social_rss_url;
|
449 |
+
|
450 |
+
$update_customizer = true;
|
451 |
+
}
|
452 |
+
|
453 |
+
if ( $wptouch_pro->post[ 'deploy_social_sharing'] ) {
|
454 |
+
// Deploy social sharing icons
|
455 |
+
$destination_foundation_settings->show_share = $foundation_settings->show_share;
|
456 |
+
$destination_foundation_settings->share_on_pages = $foundation_settings->share_on_pages;
|
457 |
+
$destination_foundation_settings->share_location = $foundation_settings->share_location;
|
458 |
+
$destination_foundation_settings->share_colour_scheme = $foundation_settings->share_colour_scheme;
|
459 |
+
|
460 |
+
$update_customizer = true;
|
461 |
+
}
|
462 |
+
|
463 |
+
$destination_foundation_settings->save();
|
464 |
+
$destination_main_settings->save();
|
465 |
+
$destination_compat_settings->save();
|
466 |
+
|
467 |
+
if ( $update_customizer ) {
|
468 |
+
wptouch_initialize_customizer( true );
|
469 |
+
}
|
470 |
+
}
|
471 |
+
|
472 |
+
// Switch to the original site
|
473 |
+
if ( $current_blog_id != $source_site ) {
|
474 |
+
restore_current_blog();
|
475 |
+
}
|
476 |
+
|
477 |
break;
|
478 |
default:
|
479 |
do_action( 'wptouch_admin_ajax_' . $ajax_action, $wptouch_pro );
|
core/admin-extensions.php
CHANGED
@@ -60,6 +60,10 @@ function wptouch_get_addon_classes( $extra_classes = array() ) {
|
|
60 |
return $classes;
|
61 |
}
|
62 |
|
|
|
|
|
|
|
|
|
63 |
function wptouch_has_addon_tags() {
|
64 |
global $wptouch_cur_addon;
|
65 |
|
@@ -76,9 +80,13 @@ function wptouch_is_addon_active() {
|
|
76 |
global $wptouch_pro;
|
77 |
global $wptouch_cur_addon;
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
82 |
}
|
83 |
|
84 |
function wptouch_the_addon_version() {
|
@@ -96,19 +104,10 @@ function wptouch_get_addon_version() {
|
|
96 |
|
97 |
function wptouch_addon_info_url() {
|
98 |
global $wptouch_cur_addon;
|
99 |
-
if ( isset( $wptouch_cur_addon->info_url ) ) {
|
100 |
-
$url_parts = explode( '#', $wptouch_cur_addon->info_url );
|
101 |
-
$url = $url_parts[ 0 ] . '?utm_source=' . WPTOUCH_UTM_SOURCE . '&utm_campaign=extension-browser-' . $url_parts[ 1 ] . '&utm_medium=web';
|
102 |
-
|
103 |
-
if ( $url_parts[ 1 ] ) {
|
104 |
-
$url .= '#' . $url_parts[ 1 ];
|
105 |
-
}
|
106 |
|
107 |
-
|
108 |
|
109 |
-
|
110 |
-
return false;
|
111 |
-
}
|
112 |
}
|
113 |
|
114 |
function wptouch_the_addon_title() {
|
@@ -275,12 +274,12 @@ function wptouch_the_addon_deactivate_link_url() {
|
|
275 |
}
|
276 |
|
277 |
function wptouch_get_addon_deactivate_link_url() {
|
278 |
-
return add_query_arg( array(
|
279 |
'admin_command' => 'deactivate_addon',
|
280 |
'addon_name' => urlencode( wptouch_get_addon_title() ),
|
281 |
'addon_location' => urlencode( wptouch_get_addon_location() ),
|
282 |
'admin_menu_nonce' => wptouch_admin_menu_get_nonce()
|
283 |
-
)
|
284 |
}
|
285 |
|
286 |
global $wptouch_addon_previews;
|
@@ -356,4 +355,14 @@ function wptouch_the_addon_long_desc() {
|
|
356 |
function wptouch_get_addon_long_desc() {
|
357 |
global $wptouch_cur_addon;
|
358 |
return $wptouch_cur_addon->long_description;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
}
|
60 |
return $classes;
|
61 |
}
|
62 |
|
63 |
+
function wptouch_is_multisite_extension() {
|
64 |
+
return wptouch_convert_to_class_name( wptouch_get_addon_title() ) == 'multisite';
|
65 |
+
}
|
66 |
+
|
67 |
function wptouch_has_addon_tags() {
|
68 |
global $wptouch_cur_addon;
|
69 |
|
80 |
global $wptouch_pro;
|
81 |
global $wptouch_cur_addon;
|
82 |
|
83 |
+
if ( wptouch_is_multisite_extension() ) {
|
84 |
+
$multisite_info = get_site_option( 'wptouch_multisite_active', false, false );
|
85 |
+
return ( is_object( $multisite_info ) );
|
86 |
+
} else {
|
87 |
+
$settings = $wptouch_pro->get_settings();
|
88 |
+
return isset( $settings->active_addons[ $wptouch_cur_addon->name ] );
|
89 |
+
}
|
90 |
}
|
91 |
|
92 |
function wptouch_the_addon_version() {
|
104 |
|
105 |
function wptouch_addon_info_url() {
|
106 |
global $wptouch_cur_addon;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
|
108 |
+
$url = 'http://wptouch.com/extensions/' . $wptouch_cur_addon->base . '/' . '?utm_source=' . WPTOUCH_UTM_SOURCE . '&utm_campaign=extension-browser-' . $wptouch_cur_addon->base . '&utm_medium=web';
|
109 |
|
110 |
+
return $url;
|
|
|
|
|
111 |
}
|
112 |
|
113 |
function wptouch_the_addon_title() {
|
274 |
}
|
275 |
|
276 |
function wptouch_get_addon_deactivate_link_url() {
|
277 |
+
return esc_url( add_query_arg( array(
|
278 |
'admin_command' => 'deactivate_addon',
|
279 |
'addon_name' => urlencode( wptouch_get_addon_title() ),
|
280 |
'addon_location' => urlencode( wptouch_get_addon_location() ),
|
281 |
'admin_menu_nonce' => wptouch_admin_menu_get_nonce()
|
282 |
+
) ) );
|
283 |
}
|
284 |
|
285 |
global $wptouch_addon_previews;
|
355 |
function wptouch_get_addon_long_desc() {
|
356 |
global $wptouch_cur_addon;
|
357 |
return $wptouch_cur_addon->long_description;
|
358 |
+
}
|
359 |
+
|
360 |
+
function wptouch_get_activation_label() {
|
361 |
+
if ( is_network_admin() ) {
|
362 |
+
if ( !wptouch_is_multisite_extension() ) {
|
363 |
+
return __( 'Install', 'wptouch-pro' );
|
364 |
+
} else {
|
365 |
+
return __( 'Site Activate', 'wptouch-pro' );
|
366 |
+
}
|
367 |
+
} else return __( 'Activate', 'wptouch-pro' );
|
368 |
}
|
core/admin-load.php
CHANGED
@@ -31,25 +31,28 @@ function wptouch_admin_build_menu( $network_admin = false ) {
|
|
31 |
$available_menus = wptouch_admin_get_predefined_menus( $network_admin );
|
32 |
|
33 |
// Add the main plugin menu for WPtouch Pro
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
'',
|
40 |
-
WPTOUCH_ADMIN_URL . '/images/wptouch-admin-icon.png'
|
41 |
-
);
|
42 |
-
|
43 |
-
// Iterate through available menus
|
44 |
-
foreach( $available_menus as $id => $menu ) {
|
45 |
-
add_submenu_page(
|
46 |
-
$available_menus[ wptouch_admin_get_root_slug( $network_admin ) ]->slug,
|
47 |
-
$menu->friendly_name,
|
48 |
-
$menu->friendly_name,
|
49 |
'manage_options',
|
50 |
-
$
|
51 |
-
'
|
|
|
52 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
}
|
54 |
}
|
55 |
|
@@ -71,7 +74,7 @@ function wptouch_add_sub_page( $sub_page_name, $sub_page_slug, &$options ) {
|
|
71 |
function wptouch_add_page_section( $sub_page_name, $section_name, $section_slug, $section_settings, &$options, $domain = 'wptouch_pro', $use_customizer = false, $section_description = false, $section_weight = 50 ) {
|
72 |
$section = new stdClass;
|
73 |
|
74 |
-
$skip_domains = array( ADDON_SETTING_DOMAIN, 'wptouch_pro', 'bncid' );
|
75 |
$skip_pages = array( 'Compatibility', 'Web-App Mode', 'Basic Ads', 'General' );
|
76 |
|
77 |
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
31 |
$available_menus = wptouch_admin_get_predefined_menus( $network_admin );
|
32 |
|
33 |
// Add the main plugin menu for WPtouch Pro
|
34 |
+
|
35 |
+
if ( !$network_admin || !defined( 'WPTOUCH_IS_FREE' ) ) {
|
36 |
+
add_menu_page(
|
37 |
+
WPTOUCH_PRODUCT_NAME,
|
38 |
+
WPTOUCH_PRODUCT_NAME,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
'manage_options',
|
40 |
+
wptouch_admin_get_root_slug( $network_admin ),
|
41 |
+
'',
|
42 |
+
WPTOUCH_ADMIN_URL . '/images/wptouch-admin-icon.png'
|
43 |
);
|
44 |
+
|
45 |
+
// Iterate through available menus
|
46 |
+
foreach( $available_menus as $id => $menu ) {
|
47 |
+
add_submenu_page(
|
48 |
+
$available_menus[ wptouch_admin_get_root_slug( $network_admin ) ]->slug,
|
49 |
+
$menu->friendly_name,
|
50 |
+
$menu->friendly_name,
|
51 |
+
'manage_options',
|
52 |
+
$menu->slug,
|
53 |
+
'wptouch_admin_render_menu'
|
54 |
+
);
|
55 |
+
}
|
56 |
}
|
57 |
}
|
58 |
|
74 |
function wptouch_add_page_section( $sub_page_name, $section_name, $section_slug, $section_settings, &$options, $domain = 'wptouch_pro', $use_customizer = false, $section_description = false, $section_weight = 50 ) {
|
75 |
$section = new stdClass;
|
76 |
|
77 |
+
$skip_domains = array( ADDON_SETTING_DOMAIN, 'multisite', 'wptouch_pro', 'bncid' );
|
78 |
$skip_pages = array( 'Compatibility', 'Web-App Mode', 'Basic Ads', 'General' );
|
79 |
|
80 |
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
core/admin-menu.php
CHANGED
@@ -21,6 +21,7 @@ function wptouch_menu_redirects() {
|
|
21 |
// All available built-in WPtouch Pro menu items go here
|
22 |
define( 'WPTOUCH_PRO_ADMIN_WIZARD', 'wptouch-admin-wizard' );
|
23 |
define( 'WPTOUCH_PRO_ADMIN_GENERAL_SETTINGS', 'wptouch-admin-general-settings' );
|
|
|
24 |
define( 'WPTOUCH_PRO_ADMIN_LICENSE', 'wptouch-admin-license' );
|
25 |
|
26 |
function wptouch_admin_create_menu( $id, $friendly_name, $menu_type = WPTOUCH_PRO_ADMIN_SETTINGS_PAGE, $display_name = false ) {
|
@@ -47,7 +48,7 @@ function wptouch_admin_get_predefined_menus( $network_admin = false ) {
|
|
47 |
$settings_title = __( 'Settings', 'wptouch-pro' );
|
48 |
$license_title = sprintf( __( 'License %s Support', 'wptouch-pro' ), '&' );
|
49 |
$network_admin = is_network_admin();
|
50 |
-
if ( $network_admin ) {
|
51 |
if ( $show_network_wizard ) {
|
52 |
$available_menus = array(
|
53 |
WPTOUCH_PRO_ADMIN_WIZARD => wptouch_admin_create_menu( WPTOUCH_PRO_ADMIN_WIZARD, $wizard_title, WPTOUCH_PRO_ADMIN_CUSTOM_PAGE ),
|
@@ -64,6 +65,7 @@ function wptouch_admin_get_predefined_menus( $network_admin = false ) {
|
|
64 |
}
|
65 |
|
66 |
if ( !$show_network_wizard ) {
|
|
|
67 |
$available_menus[ WPTOUCH_PRO_ADMIN_LICENSE ] = wptouch_admin_create_menu( WPTOUCH_PRO_ADMIN_LICENSE, $license_title, WPTOUCH_PRO_ADMIN_CUSTOM_PAGE );
|
68 |
}
|
69 |
} else {
|
21 |
// All available built-in WPtouch Pro menu items go here
|
22 |
define( 'WPTOUCH_PRO_ADMIN_WIZARD', 'wptouch-admin-wizard' );
|
23 |
define( 'WPTOUCH_PRO_ADMIN_GENERAL_SETTINGS', 'wptouch-admin-general-settings' );
|
24 |
+
define( 'WPTOUCH_PRO_ADMIN_MULTISITE_SETTINGS', 'wptouch-multisite' );
|
25 |
define( 'WPTOUCH_PRO_ADMIN_LICENSE', 'wptouch-admin-license' );
|
26 |
|
27 |
function wptouch_admin_create_menu( $id, $friendly_name, $menu_type = WPTOUCH_PRO_ADMIN_SETTINGS_PAGE, $display_name = false ) {
|
48 |
$settings_title = __( 'Settings', 'wptouch-pro' );
|
49 |
$license_title = sprintf( __( 'License %s Support', 'wptouch-pro' ), '&' );
|
50 |
$network_admin = is_network_admin();
|
51 |
+
if ( $network_admin && !defined( 'WPTOUCH_IS_FREE' ) ) {
|
52 |
if ( $show_network_wizard ) {
|
53 |
$available_menus = array(
|
54 |
WPTOUCH_PRO_ADMIN_WIZARD => wptouch_admin_create_menu( WPTOUCH_PRO_ADMIN_WIZARD, $wizard_title, WPTOUCH_PRO_ADMIN_CUSTOM_PAGE ),
|
65 |
}
|
66 |
|
67 |
if ( !$show_network_wizard ) {
|
68 |
+
$available_menus[ WPTOUCH_PRO_ADMIN_MULTISITE_SETTINGS ] = wptouch_admin_create_menu( WPTOUCH_PRO_ADMIN_MULTISITE_SETTINGS, __( 'Multisite Setup', 'wptouch-pro' ) );
|
69 |
$available_menus[ WPTOUCH_PRO_ADMIN_LICENSE ] = wptouch_admin_create_menu( WPTOUCH_PRO_ADMIN_LICENSE, $license_title, WPTOUCH_PRO_ADMIN_CUSTOM_PAGE );
|
70 |
}
|
71 |
} else {
|
core/admin-render.php
CHANGED
@@ -45,63 +45,102 @@
|
|
45 |
|
46 |
<div id="wptouch-settings-area" class="<?php wptouch_admin_panel_classes( array( 'wptouch-clearfix' ) ); ?>">
|
47 |
<?php if ( is_array( $panel_options ) ) { ?>
|
48 |
-
<nav id="wptouch-admin-menu" <?php if ( count ( $panel_options ) <=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
<?php
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
60 |
<?php } ?>
|
61 |
-
<?php } ?>
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
<li><a href="#" class="menu-icons-manage-icon-sets<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'menu-icons-manage-icon-sets' ) ) { echo ' active'; } ?>" data-page-slug="menu-icons-manage-icon-sets"><?php _e( 'Menu Settings', 'wptouch-pro' ); ?></a></li>
|
74 |
-
<?php } else { ?>
|
75 |
-
<li><a href="#" class="multisite-network-admin<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'multisite-network-admin' ) ) { echo ' active'; } ?>" data-page-slug="multisite-network-admin"><?php _e( 'Multisite Setup', 'wptouch-pro' ); ?></a></li>
|
76 |
-
<?php } ?>
|
77 |
|
78 |
-
|
|
|
|
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
<?php if ( isset( $
|
86 |
-
<li><a href="#" class="foundation-page-theme-settings<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'foundation-page-theme-settings' ) ) { echo ' active'; } ?>" data-page-slug="foundation-page-theme-settings"><?php _e( 'Theme Settings', 'wptouch-pro' ); ?></a></li>
|
87 |
<?php } ?>
|
88 |
-
<li><a href="#" class="foundation-page-theme-customizer<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'foundation-page-theme-customizer' ) ) { echo ' active'; } ?>" data-page-slug="foundation-page-theme-customizer"><?php _e( 'Customize Theme', 'wptouch-pro' ); ?></a></li>
|
89 |
<?php } ?>
|
90 |
</ul>
|
91 |
|
92 |
-
|
93 |
-
|
94 |
-
<
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
102 |
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
<?php } ?>
|
104 |
-
</ul>
|
105 |
<?php } ?>
|
106 |
</nav>
|
107 |
<?php } ?>
|
45 |
|
46 |
<div id="wptouch-settings-area" class="<?php wptouch_admin_panel_classes( array( 'wptouch-clearfix' ) ); ?>">
|
47 |
<?php if ( is_array( $panel_options ) ) { ?>
|
48 |
+
<nav id="wptouch-admin-menu" <?php if ( count ( $panel_options ) <= 0 ) echo 'style="display: none;"'; ?>>
|
49 |
+
<?php if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'wptouch-multisite' ) { ?>
|
50 |
+
<h2><?php _e( 'Setup', 'wptouch-pro' ); ?></h2>
|
51 |
+
<ul>
|
52 |
+
<li><a href="#" class="wptouch-addon-multisite<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'wptouch-addon-multisite' ) ) { echo ' active'; } ?>" data-page-slug="wptouch-addon-multisite"><?php _e( 'General Options', 'wptouch-pro' ); ?></a></li>
|
53 |
+
</ul>
|
54 |
+
<?php if ( wptouch_has_multisite_support_licensed() ) { ?>
|
55 |
+
<h2><?php _e( 'Tools', 'wptouch-pro' ); ?></h2>
|
56 |
+
<ul>
|
57 |
+
<li><a href="#" class="wptouch-addon-deployment<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'wptouch-addon-deployment' ) ) { echo ' active'; } ?>" data-page-slug="wptouch-addon-deployment"><?php _e( 'Deployment', 'wptouch-pro' ); ?></a></li>
|
58 |
+
</ul>
|
59 |
+
<?php } ?>
|
60 |
+
<?php } else { ?>
|
61 |
<?php
|
62 |
+
$hide_keys = array( 'Updates Available', 'General', 'Compatibility', 'Customize Theme', 'Devices', 'Themes', 'Extensions', 'Customizer', 'Theme Settings', 'Menu Settings' );
|
63 |
+
if ( !defined( 'WPTOUCH_IS_FREE' ) ) { $hide_keys[] = 'Go Pro'; }
|
64 |
+
$show_keys = array_diff( array_keys( $panel_options ), $hide_keys );
|
65 |
+
?>
|
66 |
+
<h2><?php _e( 'Setup', 'wptouch-pro' ); ?></h2>
|
67 |
+
<ul>
|
68 |
+
<?php if ( !defined( 'WPTOUCH_IS_FREE' ) && ( !wptouch_is_controlled_network() || ( wptouch_is_controlled_network() && is_network_admin() ) ) ) { ?>
|
69 |
+
<?php global $wptouch_pro; ?>
|
70 |
+
<?php if ( $wptouch_pro->theme_upgrades_available() || $wptouch_pro->extension_upgrades_available() || wptouch_is_update_available() != WPTOUCH_VERSION ) { ?>
|
71 |
+
<li><a href="#" class="updates-available<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'updates-available' ) ) { echo ' active'; } ?>" data-page-slug="updates-available"><?php _e( 'Updates Available', 'wptouch-pro' ); ?></a></li>
|
72 |
+
<?php } ?>
|
73 |
<?php } ?>
|
|
|
74 |
|
75 |
+
<?php if ( defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
76 |
+
<li><a href="#" class="setup-general-general<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-general-general' ) ) { echo ' active'; } ?>" data-page-slug="setup-general-general"><?php _e( 'General', 'wptouch-pro' ); ?></a></li>
|
77 |
+
<li><a href="#" class="setup-devices<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-devices' ) ) { echo ' active'; } ?>" data-page-slug="setup-devices"><?php _e( 'Devices', 'wptouch-pro' ); ?></a></li>
|
78 |
+
<li><a href="#" class="menu-icons-manage-icon-sets<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'menu-icons-manage-icon-sets' ) ) { echo ' active'; } ?>" data-page-slug="menu-icons-manage-icon-sets"><?php _e( 'Menu Settings', 'wptouch-pro' ); ?></a></li>
|
79 |
+
<li><a href="#" class="foundation-page-theme-settings<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'foundation-page-theme-settings' ) ) { echo ' active'; } ?>" data-page-slug="foundation-page-theme-settings"><?php _e( 'Theme Settings', 'wptouch-pro' ); ?></a></li>
|
80 |
+
<li><a href="#" class="foundation-page-theme-gopro<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'foundation-page-theme-gopro' ) ) { echo ' active'; } ?>" data-page-slug="foundation-page-theme-gopro"><?php _e( 'WPtouch Pro', 'wptouch-pro' ); ?></a></li>
|
81 |
+
<?php } elseif ( !is_network_admin() ) { ?>
|
82 |
+
<?php if ( wptouch_can_show_page( 'general' ) ) { ?>
|
83 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'general' ); ?> setup-general-general<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-general-general' ) ) { echo ' active'; } ?>" data-page-slug="setup-general-general"><?php _e( 'General', 'wptouch-pro' ); ?></a></li>
|
84 |
+
<?php } ?>
|
|
|
|
|
|
|
|
|
85 |
|
86 |
+
<?php if ( wptouch_can_show_page( 'site-compat' ) ) { ?>
|
87 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'site-compat' ); ?> setup-compat<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-compat' ) ) { echo ' active'; } ?>" data-page-slug="setup-compat"><?php _e( 'Site Compatibility', 'wptouch-pro' ); ?></a></li>
|
88 |
+
<?php } ?>
|
89 |
|
90 |
+
<?php if ( wptouch_can_show_page( 'devices' ) ) { ?>
|
91 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'devices' ); ?> setup-devices<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-devices' ) ) { echo ' active'; } ?>" data-page-slug="setup-devices"><?php _e( 'Devices', 'wptouch-pro' ); ?></a></li>
|
92 |
+
<?php } ?>
|
93 |
+
|
94 |
+
<?php if ( wptouch_can_show_page( 'menu' ) ) { ?>
|
95 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'menu' ); ?> menu-icons-manage-icon-sets<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'menu-icons-manage-icon-sets' ) ) { echo ' active'; } ?>" data-page-slug="menu-icons-manage-icon-sets"><?php _e( 'Menu Settings', 'wptouch-pro' ); ?></a></li>
|
|
|
96 |
<?php } ?>
|
|
|
97 |
<?php } ?>
|
98 |
</ul>
|
99 |
|
100 |
+
<?php if ( !defined( 'WPTOUCH_IS_FREE' ) ) { ?>
|
101 |
+
<?php if ( wptouch_can_show_page( 'themes' ) ) { ?>
|
102 |
+
<h2><?php _e( 'Themes', 'wptouch-pro' ); ?></h2>
|
103 |
+
<ul>
|
104 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'themes' ); ?> setup-themes-browser<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-themes-browser' ) ) { echo ' active'; } ?>" data-page-slug="setup-themes-browser"><?php _e( 'Themes', 'wptouch-pro' ); ?></a></li>
|
105 |
+
<?php if ( !is_network_admin() ) { ?>
|
106 |
+
<?php if ( isset( $panel_options[ 'Theme Settings' ]->sections ) && count( $panel_options[ 'Theme Settings' ]->sections ) > 0 ) { ?>
|
107 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'themes' ); ?> foundation-page-theme-settings<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'foundation-page-theme-settings' ) ) { echo ' active'; } ?>" data-page-slug="foundation-page-theme-settings"><?php _e( 'Theme Settings', 'wptouch-pro' ); ?></a></li>
|
108 |
+
<?php } ?>
|
109 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'themes' ); ?> foundation-page-theme-customizer<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'foundation-page-theme-customizer' ) ) { echo ' active'; } ?>" data-page-slug="foundation-page-theme-customizer"><?php _e( 'Customize Theme', 'wptouch-pro' ); ?></a></li>
|
110 |
+
<?php } ?>
|
111 |
+
</ul>
|
112 |
<?php } ?>
|
113 |
+
|
114 |
+
<?php if ( wptouch_can_show_page( 'extensions' ) ) { ?>
|
115 |
+
<h2><?php _e( 'Extensions', 'wptouch-pro' ); ?></h2>
|
116 |
+
<ul>
|
117 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'extensions' ); ?> setup-addons-browser<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-addons-browser' ) ) { echo ' active'; } ?>" data-page-slug="setup-addons-browser"><?php _e( 'Extensions', 'wptouch-pro' ); ?></a></li>
|
118 |
+
<?php
|
119 |
+
array_multisort(array_map('strtolower', $show_keys), $show_keys);
|
120 |
+
foreach( $show_keys as $page_name ) {
|
121 |
+
$page_info = $panel_options[ $page_name ];
|
122 |
+
?>
|
123 |
+
<?php if ( isset( $page_info->sections ) && is_array( $page_info->sections ) && count( $page_info->sections ) ) { ?>
|
124 |
+
<?php if ( is_network_admin() ) { ?>
|
125 |
+
<?php if ( $page_info->slug == 'wptouch-addon-multisite' || $page_info->slug == 'wptouch-addon-multisite-deploy' ) { ?>
|
126 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'extensions' ); ?> <?php echo $page_info->slug; ?><?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == $page_info->slug ) ) { echo ' active'; } ?>" data-page-slug="<?php echo $page_info->slug; ?>"><?php echo $page_name; ?></a></li>
|
127 |
+
<?php } ?>
|
128 |
+
<?php } else { ?>
|
129 |
+
<?php if ( $page_info->slug != 'wptouch-addon-multisite' && $page_info->slug != 'wptouch-addon-multisite-deploy' ) { ?>
|
130 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'extensions' ); ?> <?php echo $page_info->slug; ?><?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == $page_info->slug ) ) { echo ' active'; } ?>" data-page-slug="<?php echo $page_info->slug; ?>"><?php echo $page_name; ?></a></li>
|
131 |
+
<?php } ?>
|
132 |
+
<?php } ?>
|
133 |
+
<?php } ?>
|
134 |
+
<?php } ?>
|
135 |
+
</ul>
|
136 |
+
<?php } ?>
|
137 |
+
<?php } else { ?>
|
138 |
+
<h2><?php _e( 'Available for WPtouch Pro', 'wptouch-pro' ); ?></h2>
|
139 |
+
<ul>
|
140 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'themes' ); ?> setup-themes-browser<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-themes-browser' ) ) { echo ' active'; } ?>" data-page-slug="setup-themes-browser"><?php _e( 'Themes', 'wptouch-pro' ); ?></a></li>
|
141 |
+
<li><a href="#" class="<?php wptouch_multisite_page_classes( 'extensions' ); ?> setup-addons-browser<?php if ( isset( $_COOKIE['wptouch-4-admin-menu'] ) && ( $_COOKIE['wptouch-4-admin-menu'] == 'setup-addons-browser' ) ) { echo ' active'; } ?>" data-page-slug="setup-addons-browser"><?php _e( 'Extensions', 'wptouch-pro' ); ?></a></li>
|
142 |
+
</ul>
|
143 |
<?php } ?>
|
|
|
144 |
<?php } ?>
|
145 |
</nav>
|
146 |
<?php } ?>
|
core/admin-themes.php
CHANGED
@@ -42,18 +42,9 @@ function wptouch_theme_type() {
|
|
42 |
function wptouch_theme_info_url() {
|
43 |
global $wptouch_cur_theme;
|
44 |
|
45 |
-
|
46 |
-
$url_parts = explode( '#', $wptouch_cur_theme->info_url );
|
47 |
-
$url = $url_parts[ 0 ] . '?utm_source=' . WPTOUCH_UTM_SOURCE . '&utm_campaign=theme-browser-' . $url_parts[ 1 ] . '&utm_medium=web';
|
48 |
|
49 |
-
|
50 |
-
$url .= '#' . $url_parts[ 1 ];
|
51 |
-
}
|
52 |
-
|
53 |
-
return $url;
|
54 |
-
} else {
|
55 |
-
return false;
|
56 |
-
}
|
57 |
}
|
58 |
|
59 |
function wptouch_cloud_theme_update_available() {
|
42 |
function wptouch_theme_info_url() {
|
43 |
global $wptouch_cur_theme;
|
44 |
|
45 |
+
$url = 'http://wptouch.com/themes/' . $wptouch_cur_theme->base . '/' . '?utm_source=' . WPTOUCH_UTM_SOURCE . '&utm_campaign=theme-browser-' . $wptouch_cur_theme->base . '&utm_medium=web';
|
|
|
|
|
46 |
|
47 |
+
return $url;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
}
|
49 |
|
50 |
function wptouch_cloud_theme_update_available() {
|
core/bncid.php
CHANGED
@@ -80,6 +80,7 @@ function wptouch_check_api( $force_refresh = false ) {
|
|
80 |
$bnc_settings->license_total_sites = 0;
|
81 |
$bnc_settings->license_friendly_name = '';
|
82 |
$bnc_settings->license_used_sites = 0;
|
|
|
83 |
|
84 |
if ( $result[ 'license_expiry_date'] ) {
|
85 |
$bnc_settings->license_expiry_date = $result[ 'license_expiry_date'];
|
80 |
$bnc_settings->license_total_sites = 0;
|
81 |
$bnc_settings->license_friendly_name = '';
|
82 |
$bnc_settings->license_used_sites = 0;
|
83 |
+
$bnc_settings->license_support_packages = $result[ 'support_packages' ];
|
84 |
|
85 |
if ( $result[ 'license_expiry_date'] ) {
|
86 |
$bnc_settings->license_expiry_date = $result[ 'license_expiry_date'];
|
core/class-bncapi.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
define( 'BNC_API_VERSION', '5.
|
4 |
define( 'BNC_API_URL', 'http://api.wptouch.com/v/' . BNC_API_VERSION );
|
5 |
define( 'BNC_API_TIMEOUT', 30 );
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
define( 'BNC_API_VERSION', '5.1' );
|
4 |
define( 'BNC_API_URL', 'http://api.wptouch.com/v/' . BNC_API_VERSION );
|
5 |
define( 'BNC_API_TIMEOUT', 30 );
|
6 |
|
core/class-wptouch-pro-settings.php
CHANGED
@@ -81,7 +81,6 @@ class WPtouchDefaultSettings30 extends WPtouchSettings {
|
|
81 |
|
82 |
$this->custom_user_agents = '';
|
83 |
|
84 |
-
|
85 |
// Default Theme
|
86 |
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
87 |
$this->current_theme_friendly_name = 'Bauhaus';
|
@@ -100,6 +99,7 @@ class WPtouchDefaultSettings30 extends WPtouchSettings {
|
|
100 |
|
101 |
$this->enable_parent_items = true;
|
102 |
$this->enable_menu_icons = false;
|
|
|
103 |
|
104 |
$this->default_menu_icon = WPTOUCH_DEFAULT_MENU_ICON;
|
105 |
$this->disabled_menu_items = array();
|
@@ -133,6 +133,8 @@ class WPtouchDefaultSettingsBNCID30 extends WPtouchSettings {
|
|
133 |
$this->referral_user_id = false;
|
134 |
$this->allow_multisite = true;
|
135 |
$this->multisite_control = true;
|
|
|
|
|
136 |
}
|
137 |
};
|
138 |
|
@@ -142,3 +144,19 @@ class WPtouchDefaultSettingsCompat extends WPtouchSettings {
|
|
142 |
$this->enabled_plugins = array();
|
143 |
}
|
144 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
$this->custom_user_agents = '';
|
83 |
|
|
|
84 |
// Default Theme
|
85 |
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
86 |
$this->current_theme_friendly_name = 'Bauhaus';
|
99 |
|
100 |
$this->enable_parent_items = true;
|
101 |
$this->enable_menu_icons = false;
|
102 |
+
$this->show_login_box = false;
|
103 |
|
104 |
$this->default_menu_icon = WPTOUCH_DEFAULT_MENU_ICON;
|
105 |
$this->disabled_menu_items = array();
|
133 |
$this->referral_user_id = false;
|
134 |
$this->allow_multisite = true;
|
135 |
$this->multisite_control = true;
|
136 |
+
|
137 |
+
$this->license_support_packages = array();
|
138 |
}
|
139 |
};
|
140 |
|
144 |
$this->enabled_plugins = array();
|
145 |
}
|
146 |
};
|
147 |
+
|
148 |
+
class WPtouchDefaultSettingsMultisite extends WPtouchSettings {
|
149 |
+
function WPtouchDefaultSettingsMultisite() {
|
150 |
+
$this->multisite_use_master_settings = false;
|
151 |
+
$this->multisite_master_site = 1;
|
152 |
+
$this->multisite_show_general_settings = true;
|
153 |
+
$this->multisite_show_site_compat = true;
|
154 |
+
$this->multisite_show_devices = true;
|
155 |
+
$this->multisite_show_menus = true;
|
156 |
+
$this->multisite_show_themes = true;
|
157 |
+
$this->multisite_show_extensions = true;
|
158 |
+
$this->multisite_show_colors = true;
|
159 |
+
$this->multisite_show_social_media = true;
|
160 |
+
$this->multisite_show_social_sharing = true;
|
161 |
+
}
|
162 |
+
};
|
core/class-wptouch-pro.php
CHANGED
@@ -374,11 +374,11 @@ class WPtouchProFour {
|
|
374 |
|
375 |
function desktop_shortcode_magic( $content ) {
|
376 |
if ( $this->is_mobile_device && $this->showing_mobile_theme ) {
|
|
|
377 |
global $woocommerce;
|
378 |
|
379 |
if ( is_singular() && ( !is_object( $woocommerce ) || !( is_cart() || is_checkout() ) ) ) {
|
380 |
$should_regenerate = true;
|
381 |
-
|
382 |
$shortcode_data = get_post_meta( get_the_ID(), 'wptouch_sc_data', true );
|
383 |
if ( $shortcode_data ) {
|
384 |
if ( $shortcode_data->has_desktop_shortcode ) {
|
@@ -402,9 +402,28 @@ class WPtouchProFour {
|
|
402 |
}
|
403 |
|
404 |
if ( $should_regenerate ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
405 |
$content = '<div class="wptouch-sc-content" data-post-id="' . get_the_ID() . '"></div><div style="display: none;" class="wptouch-orig-content">' . $content . '</div>';
|
406 |
} else {
|
407 |
$content = wptexturize( $content );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
408 |
}
|
409 |
}
|
410 |
|
@@ -414,6 +433,31 @@ class WPtouchProFour {
|
|
414 |
}
|
415 |
}
|
416 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
417 |
function handle_desktop_shortcode_save_post( $post_id ) {
|
418 |
delete_post_meta( $post_id, 'wptouch_sc_data' );
|
419 |
}
|
@@ -439,6 +483,9 @@ class WPtouchProFour {
|
|
439 |
remove_action( 'the_content', 'wptouch_addon_the_content_mobile_content', 1 );
|
440 |
$content = apply_filters( 'the_content', $post_content );
|
441 |
|
|
|
|
|
|
|
442 |
$shortcode_data->valid_until = time() + 3600*24;
|
443 |
$shortcode_data->shortcode_content = $content;
|
444 |
|
@@ -628,6 +675,20 @@ class WPtouchProFour {
|
|
628 |
|
629 |
function load_addon_modules() {
|
630 |
$settings = $this->get_settings();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
631 |
|
632 |
if ( count( $settings->active_addons ) ) {
|
633 |
foreach( $settings->active_addons as $addon_name => $addon_info ) {
|
@@ -636,9 +697,13 @@ class WPtouchProFour {
|
|
636 |
// Load the add-on file
|
637 |
if ( file_exists( $addon_file_name ) ) {
|
638 |
require_once( $addon_file_name );
|
|
|
|
|
639 |
}
|
640 |
}
|
|
|
641 |
|
|
|
642 |
do_action( 'wptouch_addon_init' );
|
643 |
|
644 |
if ( is_admin() ) {
|
@@ -1153,6 +1218,10 @@ class WPtouchProFour {
|
|
1153 |
|
1154 |
function handle_activation() {
|
1155 |
// activation hook
|
|
|
|
|
|
|
|
|
1156 |
$site_root = get_home_path();
|
1157 |
if ( file_exists( $site_root . 'robots.txt' ) ) {
|
1158 |
|
@@ -2375,6 +2444,45 @@ class WPtouchProFour {
|
|
2375 |
}
|
2376 |
}
|
2377 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2378 |
function get_setting_defaults( $domain ) {
|
2379 |
$setting_defaults = new WPtouchSettings;
|
2380 |
|
@@ -2384,18 +2492,51 @@ class WPtouchProFour {
|
|
2384 |
$setting_defaults = new WPtouchDefaultSettingsBNCID30;
|
2385 |
} else if ( $domain == 'compat' ) {
|
2386 |
$setting_defaults = new WPtouchDefaultSettingsCompat;
|
|
|
|
|
2387 |
} else {
|
2388 |
$setting_defaults = apply_filters( 'wptouch_setting_defaults', $setting_defaults, $domain );
|
2389 |
$setting_defaults = apply_filters( 'wptouch_setting_defaults_' . wptouch_strip_dashes( $domain ), $setting_defaults );
|
2390 |
}
|
2391 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2392 |
$settings_defaults = apply_filters( 'wptouch_settings_override_defaults', $setting_defaults, $domain );
|
2393 |
|
2394 |
return $setting_defaults;
|
2395 |
}
|
2396 |
|
2397 |
function get_active_setting_domains() {
|
2398 |
-
$active_domains = array( 'wptouch_pro', 'bncid' , 'compat', 'addons' );
|
2399 |
|
2400 |
return apply_filters( 'wptouch_registered_setting_domains', $active_domains );
|
2401 |
}
|
@@ -2407,7 +2548,7 @@ class WPtouchProFour {
|
|
2407 |
function is_domain_site_wide( $domain ) {
|
2408 |
$site_wide = false;
|
2409 |
if ( is_multisite() ) {
|
2410 |
-
$site_wide_domains = array( 'bncid' );
|
2411 |
|
2412 |
$domains = apply_filters( 'wptouch_domain_site_wide', false, $site_wide_domains );
|
2413 |
if ( in_array( $domain, $site_wide_domains ) ) {
|
@@ -2428,27 +2569,16 @@ class WPtouchProFour {
|
|
2428 |
|
2429 |
if ( isset( $this->settings_objects[ $domain ] ) ) {
|
2430 |
// settings have been loaded before
|
2431 |
-
|
2432 |
$settings = $this->settings_objects[ $domain ];
|
2433 |
|
2434 |
WPTOUCH_DEBUG( WPTOUCH_INFO, '.. Returning previously loaded settings ' . $domain );
|
2435 |
} else {
|
2436 |
// settings have not been loaded
|
2437 |
-
$
|
2438 |
-
|
2439 |
-
if ( $this->is_domain_site_wide( $domain ) ) {
|
2440 |
-
WPTOUCH_DEBUG( WPTOUCH_INFO, 'Loading site wide option on DOMAIN ' . $domain );
|
2441 |
-
$settings = get_site_option( $setting_name, false, false );
|
2442 |
-
} else {
|
2443 |
-
$settings = get_option( $setting_name, false );
|
2444 |
-
WPTOUCH_DEBUG( WPTOUCH_INFO, 'Loading setting ' . $setting_name . ' from DATABASE' );
|
2445 |
-
}
|
2446 |
-
|
2447 |
WPTOUCH_DEBUG( WPTOUCH_INFO, '.. Loading settings from database ' . $domain );
|
2448 |
|
2449 |
if ( !$settings ) {
|
2450 |
// Nothing stored in the database, return default settings
|
2451 |
-
WPTOUCH_DEBUG( WPTOUCH_INFO, '..What, no chicken? ' . $domain );
|
2452 |
$settings = $this->get_setting_defaults( $domain );
|
2453 |
} else {
|
2454 |
// Check for stray serialization
|
@@ -2564,7 +2694,11 @@ class WPtouchProFour {
|
|
2564 |
}
|
2565 |
|
2566 |
function is_supported_device() {
|
2567 |
-
$
|
|
|
|
|
|
|
|
|
2568 |
|
2569 |
$settings = $this->get_settings();
|
2570 |
|
@@ -2948,7 +3082,7 @@ class WPtouchProFour {
|
|
2948 |
return $parent_info->location;
|
2949 |
} else {
|
2950 |
return $settings->current_theme_location . DIRECTORY_SEPARATOR . $settings->current_theme_name;
|
2951 |
-
}
|
2952 |
}
|
2953 |
|
2954 |
function setup_theme_styles() {
|
@@ -3025,10 +3159,15 @@ class WPtouchProFour {
|
|
3025 |
}
|
3026 |
|
3027 |
function verify_post_nonce() {
|
3028 |
-
|
3029 |
-
if ( !wp_verify_nonce( $nonce, 'wptouch-post-nonce' ) ) {
|
3030 |
WPTOUCH_DEBUG( WPTOUCH_SECURITY, "Unable to verify WPtouch post nonce" );
|
3031 |
die( 'Unable to verify WPtouch Pro post nonce' );
|
|
|
|
|
|
|
|
|
|
|
|
|
3032 |
}
|
3033 |
|
3034 |
return true;
|
374 |
|
375 |
function desktop_shortcode_magic( $content ) {
|
376 |
if ( $this->is_mobile_device && $this->showing_mobile_theme ) {
|
377 |
+
|
378 |
global $woocommerce;
|
379 |
|
380 |
if ( is_singular() && ( !is_object( $woocommerce ) || !( is_cart() || is_checkout() ) ) ) {
|
381 |
$should_regenerate = true;
|
|
|
382 |
$shortcode_data = get_post_meta( get_the_ID(), 'wptouch_sc_data', true );
|
383 |
if ( $shortcode_data ) {
|
384 |
if ( $shortcode_data->has_desktop_shortcode ) {
|
402 |
}
|
403 |
|
404 |
if ( $should_regenerate ) {
|
405 |
+
$scripts_object = wp_scripts();
|
406 |
+
update_post_meta( get_the_ID(), 'wptouch_sc_scripts', $scripts_object->queue );
|
407 |
+
|
408 |
+
$styles_object = wp_styles();
|
409 |
+
update_post_meta( get_the_ID(), 'wptouch_sc_styles', $styles_object->queue );
|
410 |
+
|
411 |
$content = '<div class="wptouch-sc-content" data-post-id="' . get_the_ID() . '"></div><div style="display: none;" class="wptouch-orig-content">' . $content . '</div>';
|
412 |
} else {
|
413 |
$content = wptexturize( $content );
|
414 |
+
|
415 |
+
// Enqueue missing scripts
|
416 |
+
foreach ( $shortcode_data->scripts as $script ) {
|
417 |
+
wp_enqueue_script( $script->handle, $script->src, $script->deps, $script->ver );
|
418 |
+
if ( is_array( $script->extra ) && isset( $script->extra[ 'data' ] ) ) {
|
419 |
+
wp_scripts()->add_data( $script->handle, 'data', $script->extra[ 'data' ] );
|
420 |
+
}
|
421 |
+
}
|
422 |
+
|
423 |
+
// Enqueue missing styles
|
424 |
+
foreach ( $shortcode_data->styles as $style ) {
|
425 |
+
wp_enqueue_style( $style->handle, $style->src, $style->deps, $style->ver, $style->args );
|
426 |
+
}
|
427 |
}
|
428 |
}
|
429 |
|
433 |
}
|
434 |
}
|
435 |
|
436 |
+
function desktop_shortcode_get_assets( $post_id, $type ) {
|
437 |
+
// Compares assets loaded on original page load to those loaded during AJAX content retrieval and prepares the balance for enqueuing in later page views (from our cache)
|
438 |
+
if ( $type == 'scripts' ) {
|
439 |
+
$source_object = wp_scripts();
|
440 |
+
} elseif ( $type == 'styles' ) {
|
441 |
+
$source_object = wp_styles();
|
442 |
+
}
|
443 |
+
|
444 |
+
$starting_assets = get_post_meta( $post_id, 'wptouch_sc_' . $type, true );
|
445 |
+
$queued_assets = $source_object->queue;
|
446 |
+
$registered_assets = $source_object->registered;
|
447 |
+
$missing_assets = array_diff( $queued_assets, $starting_assets );
|
448 |
+
|
449 |
+
$return_array = array();
|
450 |
+
|
451 |
+
foreach ( $missing_assets as $asset ) {
|
452 |
+
$return_array[] = $registered_assets[ $asset ];
|
453 |
+
}
|
454 |
+
|
455 |
+
// cleanup postmeta
|
456 |
+
delete_post_meta( $post_id, 'wptouch_sc_' . $type );
|
457 |
+
|
458 |
+
return $return_array;
|
459 |
+
}
|
460 |
+
|
461 |
function handle_desktop_shortcode_save_post( $post_id ) {
|
462 |
delete_post_meta( $post_id, 'wptouch_sc_data' );
|
463 |
}
|
483 |
remove_action( 'the_content', 'wptouch_addon_the_content_mobile_content', 1 );
|
484 |
$content = apply_filters( 'the_content', $post_content );
|
485 |
|
486 |
+
$shortcode_data->scripts = $this->desktop_shortcode_get_assets( $this->post[ 'post_id' ], 'scripts' );
|
487 |
+
$shortcode_data->styles = $this->desktop_shortcode_get_assets( $this->post[ 'post_id' ], 'styles' );
|
488 |
+
|
489 |
$shortcode_data->valid_until = time() + 3600*24;
|
490 |
$shortcode_data->shortcode_content = $content;
|
491 |
|
675 |
|
676 |
function load_addon_modules() {
|
677 |
$settings = $this->get_settings();
|
678 |
+
$execute_hooks = false;
|
679 |
+
|
680 |
+
if ( is_multisite() ) {
|
681 |
+
$multisite_info = get_site_option( 'wptouch_multisite_active', false, false );
|
682 |
+
if ( $multisite_info ) {
|
683 |
+
$addon_file_name = WP_CONTENT_DIR . '/' . $multisite_info->location . '/' . $multisite_info->addon_name . '/' . $multisite_info->addon_name . '.php';
|
684 |
+
// Load the add-on file
|
685 |
+
if ( file_exists( $addon_file_name ) ) {
|
686 |
+
require_once( $addon_file_name );
|
687 |
+
|
688 |
+
$execute_hooks = true;
|
689 |
+
}
|
690 |
+
}
|
691 |
+
}
|
692 |
|
693 |
if ( count( $settings->active_addons ) ) {
|
694 |
foreach( $settings->active_addons as $addon_name => $addon_info ) {
|
697 |
// Load the add-on file
|
698 |
if ( file_exists( $addon_file_name ) ) {
|
699 |
require_once( $addon_file_name );
|
700 |
+
|
701 |
+
$execute_hooks = true;
|
702 |
}
|
703 |
}
|
704 |
+
}
|
705 |
|
706 |
+
if ( $execute_hooks ) {
|
707 |
do_action( 'wptouch_addon_init' );
|
708 |
|
709 |
if ( is_admin() ) {
|
1218 |
|
1219 |
function handle_activation() {
|
1220 |
// activation hook
|
1221 |
+
|
1222 |
+
// Clear shortcode data
|
1223 |
+
delete_post_meta_by_key( 'wptouch_sc_data' );
|
1224 |
+
|
1225 |
$site_root = get_home_path();
|
1226 |
if ( file_exists( $site_root . 'robots.txt' ) ) {
|
1227 |
|
2444 |
}
|
2445 |
}
|
2446 |
|
2447 |
+
function get_raw_settings( $domain ) {
|
2448 |
+
$settings = array();
|
2449 |
+
|
2450 |
+
$setting_name = $this->get_wp_setting_name_for_domain( $domain );
|
2451 |
+
|
2452 |
+
if ( $this->is_domain_site_wide( $domain ) ) {
|
2453 |
+
WPTOUCH_DEBUG( WPTOUCH_INFO, 'Loading site wide option on DOMAIN ' . $domain );
|
2454 |
+
$settings = get_site_option( $setting_name, false, false );
|
2455 |
+
} else {
|
2456 |
+
$settings = get_option( $setting_name, false );
|
2457 |
+
WPTOUCH_DEBUG( WPTOUCH_INFO, 'Loading setting ' . $setting_name . ' from DATABASE' );
|
2458 |
+
|
2459 |
+
}
|
2460 |
+
|
2461 |
+
if ( is_object( $settings ) ) {
|
2462 |
+
$settings->domain = $domain;
|
2463 |
+
}
|
2464 |
+
|
2465 |
+
return $settings;
|
2466 |
+
}
|
2467 |
+
|
2468 |
+
function update_raw_settings( $domain, $settings ) {
|
2469 |
+
$setting_name = $this->get_wp_setting_name_for_domain( $domain );
|
2470 |
+
|
2471 |
+
if ( $this->is_domain_site_wide( $domain ) ) {
|
2472 |
+
WPTOUCH_DEBUG( WPTOUCH_VERBOSE, 'Saving site wide option for domain ' . $domain );
|
2473 |
+
update_site_option( $setting_name, $settings );
|
2474 |
+
} else {
|
2475 |
+
WPTOUCH_DEBUG( WPTOUCH_VERBOSE, 'Saving non-site wide option for domain ' . $domain );
|
2476 |
+
update_option( $setting_name, $settings );
|
2477 |
+
}
|
2478 |
+
}
|
2479 |
+
|
2480 |
+
function seletively_unset( $name, &$object ) {
|
2481 |
+
if ( isset( $object->$name ) ) {
|
2482 |
+
unset( $object->$name );
|
2483 |
+
}
|
2484 |
+
}
|
2485 |
+
|
2486 |
function get_setting_defaults( $domain ) {
|
2487 |
$setting_defaults = new WPtouchSettings;
|
2488 |
|
2492 |
$setting_defaults = new WPtouchDefaultSettingsBNCID30;
|
2493 |
} else if ( $domain == 'compat' ) {
|
2494 |
$setting_defaults = new WPtouchDefaultSettingsCompat;
|
2495 |
+
} else if ( $domain == 'multisite' ) {
|
2496 |
+
$setting_defaults = new WPtouchDefaultSettingsMultisite;
|
2497 |
} else {
|
2498 |
$setting_defaults = apply_filters( 'wptouch_setting_defaults', $setting_defaults, $domain );
|
2499 |
$setting_defaults = apply_filters( 'wptouch_setting_defaults_' . wptouch_strip_dashes( $domain ), $setting_defaults );
|
2500 |
}
|
2501 |
|
2502 |
+
if ( is_multisite() && $domain != 'multisite' && !is_network_admin() ) {
|
2503 |
+
$multisite_settings = $this->get_raw_settings( 'multisite' );
|
2504 |
+
|
2505 |
+
if ( $multisite_settings && $multisite_settings->multisite_use_master_settings ) {
|
2506 |
+
$master_blog_id = $multisite_settings->multisite_master_site;
|
2507 |
+
|
2508 |
+
$current_blog_id = get_current_blog_id();
|
2509 |
+
|
2510 |
+
if ( $current_blog_id != $master_blog_id ) {
|
2511 |
+
switch_to_blog( $master_blog_id );
|
2512 |
+
|
2513 |
+
// load settings
|
2514 |
+
$settings = $this->get_raw_settings( $domain );
|
2515 |
+
|
2516 |
+
if ( $domain == 'wptouch_pro' ) {
|
2517 |
+
$this->seletively_unset( 'site_title', $settings );
|
2518 |
+
$this->seletively_unset( 'homepage_redirect_wp_target', $settings );
|
2519 |
+
$this->seletively_unset( 'homepage_redirect_custom_target', $settings );
|
2520 |
+
$this->seletively_unset( 'custom_menu_name', $settings );
|
2521 |
+
$this->seletively_unset( 'appended_menu_name', $settings );
|
2522 |
+
$this->seletively_unset( 'prepended_menu_name', $settings );
|
2523 |
+
}
|
2524 |
+
|
2525 |
+
$settings_defaults = $settings;
|
2526 |
+
|
2527 |
+
// merge settings
|
2528 |
+
switch_to_blog( $current_blog_id );
|
2529 |
+
}
|
2530 |
+
}
|
2531 |
+
}
|
2532 |
+
|
2533 |
$settings_defaults = apply_filters( 'wptouch_settings_override_defaults', $setting_defaults, $domain );
|
2534 |
|
2535 |
return $setting_defaults;
|
2536 |
}
|
2537 |
|
2538 |
function get_active_setting_domains() {
|
2539 |
+
$active_domains = array( 'wptouch_pro', 'bncid' , 'compat', 'addons', 'multisite' );
|
2540 |
|
2541 |
return apply_filters( 'wptouch_registered_setting_domains', $active_domains );
|
2542 |
}
|
2548 |
function is_domain_site_wide( $domain ) {
|
2549 |
$site_wide = false;
|
2550 |
if ( is_multisite() ) {
|
2551 |
+
$site_wide_domains = array( 'bncid', 'multisite' );
|
2552 |
|
2553 |
$domains = apply_filters( 'wptouch_domain_site_wide', false, $site_wide_domains );
|
2554 |
if ( in_array( $domain, $site_wide_domains ) ) {
|
2569 |
|
2570 |
if ( isset( $this->settings_objects[ $domain ] ) ) {
|
2571 |
// settings have been loaded before
|
|
|
2572 |
$settings = $this->settings_objects[ $domain ];
|
2573 |
|
2574 |
WPTOUCH_DEBUG( WPTOUCH_INFO, '.. Returning previously loaded settings ' . $domain );
|
2575 |
} else {
|
2576 |
// settings have not been loaded
|
2577 |
+
$settings = $this->get_raw_settings( $domain );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2578 |
WPTOUCH_DEBUG( WPTOUCH_INFO, '.. Loading settings from database ' . $domain );
|
2579 |
|
2580 |
if ( !$settings ) {
|
2581 |
// Nothing stored in the database, return default settings
|
|
|
2582 |
$settings = $this->get_setting_defaults( $domain );
|
2583 |
} else {
|
2584 |
// Check for stray serialization
|
2694 |
}
|
2695 |
|
2696 |
function is_supported_device() {
|
2697 |
+
$exclude_patterns = array(
|
2698 |
+
'FBSN/iPhone OS' => '',
|
2699 |
+
'Twitter for iPhone' => ''
|
2700 |
+
);
|
2701 |
+
$user_agent = apply_filters( 'wptouch_user_agent', strtr( $_SERVER['HTTP_USER_AGENT'], $exclude_patterns ) );
|
2702 |
|
2703 |
$settings = $this->get_settings();
|
2704 |
|
3082 |
return $parent_info->location;
|
3083 |
} else {
|
3084 |
return $settings->current_theme_location . DIRECTORY_SEPARATOR . $settings->current_theme_name;
|
3085 |
+
}
|
3086 |
}
|
3087 |
|
3088 |
function setup_theme_styles() {
|
3159 |
}
|
3160 |
|
3161 |
function verify_post_nonce() {
|
3162 |
+
if ( !isset( $this->post[ 'wptouch-admin-nonce' ] ) ) {
|
|
|
3163 |
WPTOUCH_DEBUG( WPTOUCH_SECURITY, "Unable to verify WPtouch post nonce" );
|
3164 |
die( 'Unable to verify WPtouch Pro post nonce' );
|
3165 |
+
} else {
|
3166 |
+
$nonce = $this->post['wptouch-admin-nonce'];
|
3167 |
+
if ( !wp_verify_nonce( $nonce, 'wptouch-post-nonce' ) ) {
|
3168 |
+
WPTOUCH_DEBUG( WPTOUCH_SECURITY, "Unable to verify WPtouch post nonce" );
|
3169 |
+
die( 'Unable to verify WPtouch Pro post nonce' );
|
3170 |
+
}
|
3171 |
}
|
3172 |
|
3173 |
return true;
|
core/config.php
CHANGED
@@ -86,7 +86,6 @@ define( 'WPTOUCH_EXCERPT_LENGTH', 24 );
|
|
86 |
define( 'WPTOUCH_PRO_README_FILE', 'http://www.wptouch.com/wptouch-pro-4/readme.txt' );
|
87 |
|
88 |
define( 'WPTOUCH_ADMIN_UPDATES_AVAILABLE', __( 'Updates Available', 'wptouch-pro' ) );
|
89 |
-
define( 'WPTOUCH_ADMIN_MULTISITE_SETUP', __( 'Multisite Setup', 'wptouch-pro' ) );
|
90 |
define( 'WPTOUCH_ADMIN_SETUP_GENERAL', __( 'General', 'wptouch-pro' ) );
|
91 |
define( 'WPTOUCH_ADMIN_SETUP_COMPAT', __( 'Compatibility', 'wptouch-pro' ) );
|
92 |
define( 'WPTOUCH_ADMIN_SETUP_DEVICES', __( 'Devices', 'wptouch-pro' ) );
|
86 |
define( 'WPTOUCH_PRO_README_FILE', 'http://www.wptouch.com/wptouch-pro-4/readme.txt' );
|
87 |
|
88 |
define( 'WPTOUCH_ADMIN_UPDATES_AVAILABLE', __( 'Updates Available', 'wptouch-pro' ) );
|
|
|
89 |
define( 'WPTOUCH_ADMIN_SETUP_GENERAL', __( 'General', 'wptouch-pro' ) );
|
90 |
define( 'WPTOUCH_ADMIN_SETUP_COMPAT', __( 'Compatibility', 'wptouch-pro' ) );
|
91 |
define( 'WPTOUCH_ADMIN_SETUP_DEVICES', __( 'Devices', 'wptouch-pro' ) );
|
core/globals.php
CHANGED
@@ -64,7 +64,7 @@ function wptouch_strip_dashes( $str ) {
|
|
64 |
}
|
65 |
|
66 |
function wptouch_convert_to_class_name( $class_to_convert ) {
|
67 |
-
return str_replace( array( ' ', '"', '.', '\'', '#' ), array( '-', '', '-', '', '' ), strtolower( $class_to_convert ) );
|
68 |
}
|
69 |
|
70 |
function wptouch_do_template( $template_name ) {
|
@@ -497,7 +497,7 @@ function wptouch_free_upgrade_plugin() {
|
|
497 |
|
498 |
$plugin_name = 'wptouch/wptouch.php';
|
499 |
|
500 |
-
|
501 |
if ( function_exists( 'is_super_admin' ) ) {
|
502 |
$option = get_site_transient( 'update_plugins' );
|
503 |
} else {
|
@@ -568,4 +568,26 @@ function wptouch_free_upgrade_plugin() {
|
|
568 |
} else {
|
569 |
return '0';
|
570 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
571 |
}
|
64 |
}
|
65 |
|
66 |
function wptouch_convert_to_class_name( $class_to_convert ) {
|
67 |
+
return str_replace( array( ' ', '"', '.', '\'', '#', '(', ')' ), array( '-', '', '-', '', '', '-', '-' ), strtolower( $class_to_convert ) );
|
68 |
}
|
69 |
|
70 |
function wptouch_do_template( $template_name ) {
|
497 |
|
498 |
$plugin_name = 'wptouch/wptouch.php';
|
499 |
|
500 |
+
// Check for WordPress 3.0 function
|
501 |
if ( function_exists( 'is_super_admin' ) ) {
|
502 |
$option = get_site_transient( 'update_plugins' );
|
503 |
} else {
|
568 |
} else {
|
569 |
return '0';
|
570 |
}
|
571 |
+
}
|
572 |
+
|
573 |
+
function wptouch_can_show_page( $page_name ) {
|
574 |
+
return apply_filters( 'wptouch_can_show_page', true, $page_name );
|
575 |
+
}
|
576 |
+
|
577 |
+
function wptouch_hex_to_rgb($hexStr, $returnAsString = false, $seperator = ',') {
|
578 |
+
$hexStr = preg_replace( "/[^0-9A-Fa-f]/", '', $hexStr ); // Gets a proper hex string
|
579 |
+
$rgbArray = array();
|
580 |
+
if ( strlen( $hexStr ) == 6 ) { //If a proper hex code, convert using bitwise operation. No overhead... faster
|
581 |
+
$colorVal = hexdec( $hexStr );
|
582 |
+
$rgbArray[ 'red' ] = 0xFF & ( $colorVal >> 0x10 );
|
583 |
+
$rgbArray[ 'green' ] = 0xFF & ( $colorVal >> 0x8 );
|
584 |
+
$rgbArray[ 'blue' ] = 0xFF & $colorVal;
|
585 |
+
} elseif ( strlen( $hexStr ) == 3 ) { //if shorthand notation, need some string manipulations
|
586 |
+
$rgbArray[ 'red' ] = hexdec( str_repeat( substr( $hexStr, 0, 1 ), 2 ) );
|
587 |
+
$rgbArray[ 'green' ] = hexdec( str_repeat( substr( $hexStr, 1, 1 ), 2 ) );
|
588 |
+
$rgbArray[ 'blue' ] = hexdec( str_repeat( substr( $hexStr, 2, 1 ), 2 ) );
|
589 |
+
} else {
|
590 |
+
return false; //Invalid hex color code
|
591 |
+
}
|
592 |
+
return $returnAsString ? implode( $seperator, $rgbArray ) : $rgbArray; // returns the rgb string or the associative array
|
593 |
}
|
core/multisite.php
CHANGED
@@ -7,7 +7,7 @@ if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
|
|
7 |
function wptouch_is_controlled_network() {
|
8 |
$bncid_info = wptouch_get_settings( 'bncid' );
|
9 |
|
10 |
-
return ( is_plugin_active_for_network( WPTOUCH_PLUGIN_SLUG ) && $bncid_info->multisite_control );
|
11 |
}
|
12 |
|
13 |
function wptouch_is_multisite_enabled() {
|
@@ -70,3 +70,372 @@ function wptouch_is_network_available( $type, $check_product = false ) {
|
|
70 |
|
71 |
return false;
|
72 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
function wptouch_is_controlled_network() {
|
8 |
$bncid_info = wptouch_get_settings( 'bncid' );
|
9 |
|
10 |
+
return ( is_plugin_active_for_network( WPTOUCH_PLUGIN_SLUG ) && $bncid_info->multisite_control && !defined( 'WPTOUCH_IS_FREE' ) );
|
11 |
}
|
12 |
|
13 |
function wptouch_is_multisite_enabled() {
|
70 |
|
71 |
return false;
|
72 |
}
|
73 |
+
|
74 |
+
define( 'ADDON_MULTISITE_OPTIONS_PAGENAME', 'Multisite' );
|
75 |
+
define( 'ADDON_MULTISITE_DEPLOYMENT_PAGENAME', 'Deployment' );
|
76 |
+
define( 'WPTOUCH_MULTISITE_DOMAIN', 'multisite' );
|
77 |
+
|
78 |
+
if ( !defined( 'WPTOUCH_MULTISITE_LIMIT' ) ) {
|
79 |
+
define( 'WPTOUCH_MULTISITE_LIMIT', 1000 );
|
80 |
+
}
|
81 |
+
|
82 |
+
if ( is_multisite() ) {
|
83 |
+
add_filter( 'wptouch_admin_page_render_wptouch-multisite', 'wptouch_addon_multisite_render_settings' );
|
84 |
+
add_filter( 'wptouch_can_show_page', 'wptouch_multisite_can_show_page', 10, 2 );
|
85 |
+
}
|
86 |
+
|
87 |
+
function wptouch_multisite_page_classes( $page ) {
|
88 |
+
$value = wptouch_multisite_can_show_page_internal( $page, false );
|
89 |
+
|
90 |
+
if ( !$value ) {
|
91 |
+
echo 'should-hide';
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
function wptouch_multisite_can_show_page_internal( $page_name, $default ) {
|
96 |
+
$value = $default;
|
97 |
+
|
98 |
+
$settings = wptouch_get_settings( 'multisite' );
|
99 |
+
|
100 |
+
switch( $page_name ) {
|
101 |
+
case 'general':
|
102 |
+
$value = $settings->multisite_show_general_settings;
|
103 |
+
break;
|
104 |
+
case 'site-compat':
|
105 |
+
$value = $settings->multisite_show_site_compat;
|
106 |
+
break;
|
107 |
+
case 'devices':
|
108 |
+
$value = $settings->multisite_show_devices;
|
109 |
+
break;
|
110 |
+
case 'menu':
|
111 |
+
$value = $settings->multisite_show_menus;
|
112 |
+
break;
|
113 |
+
case 'themes':
|
114 |
+
$value = $settings->multisite_show_themes;
|
115 |
+
break;
|
116 |
+
case 'extensions':
|
117 |
+
$value = $settings->multisite_show_extensions;
|
118 |
+
break;
|
119 |
+
case 'colors':
|
120 |
+
$value = $settings->multisite_show_colors;
|
121 |
+
break;
|
122 |
+
case 'social_sharing':
|
123 |
+
$value = $settings->multisite_show_social_sharing;
|
124 |
+
break;
|
125 |
+
case 'social_media':
|
126 |
+
$value = $settings->multisite_show_social_media;
|
127 |
+
break;
|
128 |
+
}
|
129 |
+
|
130 |
+
return $value;
|
131 |
+
}
|
132 |
+
|
133 |
+
function wptouch_multisite_can_show_page( $current_value, $page_name ) {
|
134 |
+
$value = $current_value;
|
135 |
+
|
136 |
+
if ( is_network_admin() ) {
|
137 |
+
return true;
|
138 |
+
}
|
139 |
+
|
140 |
+
$value = wptouch_multisite_can_show_page_internal( $page_name, $value );
|
141 |
+
|
142 |
+
return $value || current_user_can( 'manage_network' );
|
143 |
+
}
|
144 |
+
|
145 |
+
function wptouch_multisite_get_site_array() {
|
146 |
+
$sites = array();
|
147 |
+
|
148 |
+
if ( false === ( $sites = get_transient( 'wptouch_multisite_site_info' ) ) ) {
|
149 |
+
$wp_sites = wp_get_sites( array( 'limit' => WPTOUCH_MULTISITE_LIMIT ) );
|
150 |
+
foreach( $wp_sites as $site ) {
|
151 |
+
$site_details = get_blog_details( $site[ 'blog_id' ] );
|
152 |
+
$sites[ $site[ 'blog_id' ] ] = $site_details->blogname;
|
153 |
+
}
|
154 |
+
|
155 |
+
set_transient( 'wptouch_multisite_site_info', $sites, 300 );
|
156 |
+
}
|
157 |
+
|
158 |
+
return $sites;
|
159 |
+
}
|
160 |
+
|
161 |
+
function wptouch_has_multisite_support_licensed() {
|
162 |
+
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
163 |
+
return false;
|
164 |
+
} else {
|
165 |
+
$bncid_settings = wptouch_get_settings( 'bncid' );
|
166 |
+
|
167 |
+
return ( in_array( 'multisite-support', $bncid_settings->license_support_packages ) );
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
function wptouch_addon_multisite_render_settings( $page_options ) {
|
172 |
+
wptouch_add_sub_page(
|
173 |
+
ADDON_MULTISITE_OPTIONS_PAGENAME,
|
174 |
+
'wptouch-addon-multisite',
|
175 |
+
$page_options
|
176 |
+
);
|
177 |
+
|
178 |
+
wptouch_add_page_section(
|
179 |
+
ADDON_MULTISITE_OPTIONS_PAGENAME,
|
180 |
+
__( 'General Options', 'wptouch-pro' ),
|
181 |
+
'mutisite-setup',
|
182 |
+
array(
|
183 |
+
wptouch_add_setting(
|
184 |
+
'list',
|
185 |
+
'force_network_locale',
|
186 |
+
__( 'Admin Language', 'wptouch-pro' ),
|
187 |
+
false,
|
188 |
+
WPTOUCH_SETTING_BASIC,
|
189 |
+
'3.0',
|
190 |
+
wptouch_admin_get_languages(),
|
191 |
+
'wptouch_pro'
|
192 |
+
),
|
193 |
+
wptouch_add_setting(
|
194 |
+
'checkbox',
|
195 |
+
'multisite_control',
|
196 |
+
__( 'Control themes and extension downloads and updates', 'wptouch-pro' ),
|
197 |
+
__( 'If enabled, sub-sites can only activate/deactivate themes and extensions that have been downloaded in the network admin.', 'wptouch-pro' ),
|
198 |
+
WPTOUCH_SETTING_BASIC,
|
199 |
+
'4.0',
|
200 |
+
false,
|
201 |
+
'bncid'
|
202 |
+
)
|
203 |
+
),
|
204 |
+
$page_options
|
205 |
+
);
|
206 |
+
|
207 |
+
if ( wptouch_has_multisite_support_licensed() ) {
|
208 |
+
wptouch_add_sub_page(
|
209 |
+
ADDON_MULTISITE_DEPLOYMENT_PAGENAME,
|
210 |
+
'wptouch-addon-deployment',
|
211 |
+
$page_options
|
212 |
+
);
|
213 |
+
|
214 |
+
wptouch_add_page_section(
|
215 |
+
ADDON_MULTISITE_OPTIONS_PAGENAME,
|
216 |
+
__( 'Network Defaults', 'wptouch-pro' ),
|
217 |
+
'multisite-options',
|
218 |
+
array(
|
219 |
+
wptouch_add_pro_setting(
|
220 |
+
'checkbox',
|
221 |
+
'multisite_use_master_settings',
|
222 |
+
__( 'Use my settings for new sites', 'wptouch-pro' ),
|
223 |
+
'',
|
224 |
+
WPTOUCH_SETTING_BASIC,
|
225 |
+
'1.0.0'
|
226 |
+
),
|
227 |
+
wptouch_add_pro_setting(
|
228 |
+
'list',
|
229 |
+
'multisite_master_site',
|
230 |
+
__( 'Source site', 'wptouch-pro' ),
|
231 |
+
'',
|
232 |
+
WPTOUCH_SETTING_BASIC,
|
233 |
+
'1.0.0',
|
234 |
+
wptouch_multisite_get_site_array()
|
235 |
+
),
|
236 |
+
),
|
237 |
+
$page_options,
|
238 |
+
WPTOUCH_MULTISITE_DOMAIN,
|
239 |
+
false,
|
240 |
+
__( 'Configure WPtouch to use a site for defaults on new network sites instead of its defaults', 'wptouch-pro' )
|
241 |
+
);
|
242 |
+
|
243 |
+
wptouch_add_page_section(
|
244 |
+
ADDON_MULTISITE_OPTIONS_PAGENAME,
|
245 |
+
__( 'Subsite Customizable Settings', 'wptouch-pro' ),
|
246 |
+
'multisite-options',
|
247 |
+
array(
|
248 |
+
wptouch_add_pro_setting(
|
249 |
+
'checkbox',
|
250 |
+
'multisite_show_general_settings',
|
251 |
+
__( 'General Settings', 'wptouch-pro' ),
|
252 |
+
'',
|
253 |
+
WPTOUCH_SETTING_BASIC,
|
254 |
+
'1.0.0'
|
255 |
+
),
|
256 |
+
wptouch_add_pro_setting(
|
257 |
+
'checkbox',
|
258 |
+
'multisite_show_site_compat',
|
259 |
+
__( 'Site Compatibility', 'wptouch-pro' ),
|
260 |
+
'',
|
261 |
+
WPTOUCH_SETTING_BASIC,
|
262 |
+
'1.0.0'
|
263 |
+
),
|
264 |
+
wptouch_add_pro_setting(
|
265 |
+
'checkbox',
|
266 |
+
'multisite_show_devices',
|
267 |
+
__( 'Devices', 'wptouch-pro' ),
|
268 |
+
'',
|
269 |
+
WPTOUCH_SETTING_BASIC,
|
270 |
+
'1.0.0'
|
271 |
+
),
|
272 |
+
wptouch_add_pro_setting(
|
273 |
+
'checkbox',
|
274 |
+
'multisite_show_menus',
|
275 |
+
__( 'Menu Settings', 'wptouch-pro' ),
|
276 |
+
'',
|
277 |
+
WPTOUCH_SETTING_BASIC,
|
278 |
+
'1.0.0'
|
279 |
+
),
|
280 |
+
wptouch_add_pro_setting(
|
281 |
+
'checkbox',
|
282 |
+
'multisite_show_themes',
|
283 |
+
__( 'Themes', 'wptouch-pro' ),
|
284 |
+
'',
|
285 |
+
WPTOUCH_SETTING_BASIC,
|
286 |
+
'1.0.0'
|
287 |
+
),
|
288 |
+
wptouch_add_pro_setting(
|
289 |
+
'checkbox',
|
290 |
+
'multisite_show_extensions',
|
291 |
+
__( 'Extensions', 'wptouch-pro' ),
|
292 |
+
'',
|
293 |
+
WPTOUCH_SETTING_BASIC,
|
294 |
+
'1.0.0'
|
295 |
+
),
|
296 |
+
wptouch_add_pro_setting(
|
297 |
+
'checkbox',
|
298 |
+
'multisite_show_colors',
|
299 |
+
__( 'Colors', 'wptouch-pro' ),
|
300 |
+
'',
|
301 |
+
WPTOUCH_SETTING_BASIC,
|
302 |
+
'1.0.0'
|
303 |
+
),
|
304 |
+
wptouch_add_pro_setting(
|
305 |
+
'checkbox',
|
306 |
+
'multisite_show_social_media',
|
307 |
+
__( 'Social Media Links', 'wptouch-pro' ),
|
308 |
+
'',
|
309 |
+
WPTOUCH_SETTING_BASIC,
|
310 |
+
'1.0.0'
|
311 |
+
),
|
312 |
+
wptouch_add_pro_setting(
|
313 |
+
'checkbox',
|
314 |
+
'multisite_show_social_sharing',
|
315 |
+
__( 'Social Sharing', 'wptouch-pro' ),
|
316 |
+
'',
|
317 |
+
WPTOUCH_SETTING_BASIC,
|
318 |
+
'1.0.0'
|
319 |
+
),
|
320 |
+
),
|
321 |
+
$page_options,
|
322 |
+
WPTOUCH_MULTISITE_DOMAIN,
|
323 |
+
false,
|
324 |
+
__( 'Select which settings sections are available to users in network subsites (network admins always see settings).', 'wptouch-pro' )
|
325 |
+
);
|
326 |
+
|
327 |
+
wptouch_add_page_section(
|
328 |
+
ADDON_MULTISITE_DEPLOYMENT_PAGENAME,
|
329 |
+
__( 'Source Site', 'wptouch-pro' ),
|
330 |
+
'multisite-deployment-source',
|
331 |
+
array(
|
332 |
+
wptouch_add_pro_setting(
|
333 |
+
'list',
|
334 |
+
'multisite_deployment_source',
|
335 |
+
__( 'Source site', 'wptouch-pro' ),
|
336 |
+
'',
|
337 |
+
WPTOUCH_SETTING_BASIC,
|
338 |
+
'1.0.0',
|
339 |
+
wptouch_multisite_get_site_array()
|
340 |
+
),
|
341 |
+
wptouch_add_pro_setting(
|
342 |
+
'checkbox',
|
343 |
+
'multisite_deploy_general_settings',
|
344 |
+
__( 'General Settings', 'wptouch-pro' ),
|
345 |
+
'',
|
346 |
+
WPTOUCH_SETTING_BASIC,
|
347 |
+
'1.0.0'
|
348 |
+
),
|
349 |
+
wptouch_add_pro_setting(
|
350 |
+
'checkbox',
|
351 |
+
'multisite_deploy_site_compat',
|
352 |
+
__( 'Site Compatibility', 'wptouch-pro' ),
|
353 |
+
'',
|
354 |
+
WPTOUCH_SETTING_BASIC,
|
355 |
+
'1.0.0'
|
356 |
+
),
|
357 |
+
wptouch_add_pro_setting(
|
358 |
+
'checkbox',
|
359 |
+
'multisite_deploy_devices',
|
360 |
+
__( 'Devices', 'wptouch-pro' ),
|
361 |
+
'',
|
362 |
+
WPTOUCH_SETTING_BASIC,
|
363 |
+
'1.0.0'
|
364 |
+
),
|
365 |
+
wptouch_add_pro_setting(
|
366 |
+
'checkbox',
|
367 |
+
'multisite_deploy_menus',
|
368 |
+
__( 'Menu Settings', 'wptouch-pro' ),
|
369 |
+
'',
|
370 |
+
WPTOUCH_SETTING_BASIC,
|
371 |
+
'1.0.0'
|
372 |
+
),
|
373 |
+
wptouch_add_pro_setting(
|
374 |
+
'checkbox',
|
375 |
+
'multisite_deploy_themes',
|
376 |
+
__( 'Themes', 'wptouch-pro' ),
|
377 |
+
'',
|
378 |
+
WPTOUCH_SETTING_BASIC,
|
379 |
+
'1.0.0'
|
380 |
+
),
|
381 |
+
wptouch_add_pro_setting(
|
382 |
+
'checkbox',
|
383 |
+
'multisite_deploy_extensions',
|
384 |
+
__( 'Extensions', 'wptouch-pro' ),
|
385 |
+
'',
|
386 |
+
WPTOUCH_SETTING_BASIC,
|
387 |
+
'1.0.0'
|
388 |
+
),
|
389 |
+
wptouch_add_pro_setting(
|
390 |
+
'checkbox',
|
391 |
+
'multisite_deploy_colors',
|
392 |
+
__( 'Colors', 'wptouch-pro' ),
|
393 |
+
'',
|
394 |
+
WPTOUCH_SETTING_BASIC,
|
395 |
+
'1.0.0'
|
396 |
+
),
|
397 |
+
wptouch_add_pro_setting(
|
398 |
+
'checkbox',
|
399 |
+
'multisite_deploy_social_media',
|
400 |
+
__( 'Social Media Links', 'wptouch-pro' ),
|
401 |
+
'',
|
402 |
+
WPTOUCH_SETTING_BASIC,
|
403 |
+
'1.0.0'
|
404 |
+
),
|
405 |
+
wptouch_add_pro_setting(
|
406 |
+
'checkbox',
|
407 |
+
'multisite_deploy_social_sharing',
|
408 |
+
__( 'Social Sharing', 'wptouch-pro' ),
|
409 |
+
'',
|
410 |
+
WPTOUCH_SETTING_BASIC,
|
411 |
+
'1.0.0'
|
412 |
+
),
|
413 |
+
),
|
414 |
+
$page_options,
|
415 |
+
WPTOUCH_MULTISITE_DOMAIN
|
416 |
+
);
|
417 |
+
|
418 |
+
wptouch_add_page_section(
|
419 |
+
ADDON_MULTISITE_DEPLOYMENT_PAGENAME,
|
420 |
+
__( 'Destination Sites', 'wptouch-pro' ),
|
421 |
+
'multisite-deployment-sites',
|
422 |
+
array(
|
423 |
+
wptouch_add_pro_Setting(
|
424 |
+
'sites',
|
425 |
+
'multisite_sites',
|
426 |
+
'',
|
427 |
+
'',
|
428 |
+
WPTOUCH_SETTING_BASIC,
|
429 |
+
'1.0.0'
|
430 |
+
)
|
431 |
+
),
|
432 |
+
$page_options,
|
433 |
+
WPTOUCH_MULTISITE_DOMAIN
|
434 |
+
);
|
435 |
+
}
|
436 |
+
|
437 |
+
return $page_options;
|
438 |
+
}
|
439 |
+
|
440 |
+
|
441 |
+
|
core/theme.php
CHANGED
@@ -105,26 +105,28 @@ function wptouch_make_css_friendly( $name ) {
|
|
105 |
function wptouch_canonical_link() {
|
106 |
global $post;
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
|
|
116 |
|
117 |
-
|
118 |
-
|
119 |
-
|
|
|
|
|
|
|
120 |
} else {
|
121 |
-
$permalink =
|
122 |
}
|
123 |
-
} else {
|
124 |
-
$permalink = get_permalink( $post->ID );
|
125 |
-
}
|
126 |
|
127 |
-
|
|
|
128 |
}
|
129 |
|
130 |
function wptouch_the_title() {
|
105 |
function wptouch_canonical_link() {
|
106 |
global $post;
|
107 |
|
108 |
+
if ( is_object( $post ) ) {
|
109 |
+
$settings = foundation_get_settings();
|
110 |
+
$wordpress_posts_page = get_option( 'page_for_posts' );
|
111 |
+
$wptouch_posts_page = $settings->latest_posts_page;
|
112 |
+
$on_wptouch_posts_page = false;
|
113 |
+
|
114 |
+
if ( $wptouch_posts_page != 'none' ) {
|
115 |
+
$on_wptouch_posts_page = get_permalink( $post->ID ) == get_permalink( $wptouch_posts_page );
|
116 |
+
}
|
117 |
|
118 |
+
if ( is_home() && !$on_wptouch_posts_page ) {
|
119 |
+
if ( $wordpress_posts_page != 0 ) {
|
120 |
+
$permalink = get_permalink( $wordpress_posts_page );
|
121 |
+
} else {
|
122 |
+
$permalink = site_url() . '/';
|
123 |
+
}
|
124 |
} else {
|
125 |
+
$permalink = get_permalink( $post->ID );
|
126 |
}
|
|
|
|
|
|
|
127 |
|
128 |
+
echo '<link rel="canonical" href="' . $permalink . '" />';
|
129 |
+
}
|
130 |
}
|
131 |
|
132 |
function wptouch_the_title() {
|
lang/wptouch.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the WPtouch Mobile Plugin package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WPtouch Mobile Plugin 4.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
7 |
-
"POT-Creation-Date: 2016-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -12,15 +12,15 @@ msgstr ""
|
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
-
#: admin/customizer/wptouch-customizer.php:
|
16 |
msgid "Device + Orientation"
|
17 |
msgstr ""
|
18 |
|
19 |
-
#: admin/customizer/wptouch-customizer.php:
|
20 |
msgid "Switch to Mobile Theme"
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: admin/customizer/wptouch-customizer.php:
|
24 |
msgid "Switch to Desktop Theme"
|
25 |
msgstr ""
|
26 |
|
@@ -168,9 +168,9 @@ msgid "Product License Key"
|
|
168 |
msgstr ""
|
169 |
|
170 |
#: admin/pages/custom/wptouch-admin-license.php:80
|
171 |
-
#: admin/settings/html/extension-browser-item-detail.php:5
|
172 |
#: admin/settings/html/gopro.php:11
|
173 |
#: admin/settings/html/theme-browser-item-detail.php:5
|
|
|
174 |
msgid "Activate"
|
175 |
msgstr ""
|
176 |
|
@@ -182,8 +182,10 @@ msgstr ""
|
|
182 |
msgid "Site License"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: admin/pages/custom/wptouch-admin-license.php:92
|
186 |
-
|
|
|
|
|
187 |
msgstr ""
|
188 |
|
189 |
#: admin/pages/custom/wptouch-admin-license.php:95
|
@@ -335,7 +337,7 @@ msgid "Thank you for purchasing a %s licence!"
|
|
335 |
msgstr ""
|
336 |
|
337 |
#: admin/pages/custom/wptouch-admin-wizard.php:100
|
338 |
-
msgid "Multisite Network
|
339 |
msgstr ""
|
340 |
|
341 |
#: admin/pages/custom/wptouch-admin-wizard.php:101
|
@@ -370,10 +372,9 @@ msgstr ""
|
|
370 |
|
371 |
#: admin/pages/custom/wptouch-admin-wizard.php:128
|
372 |
#: admin/pages/custom/wptouch-admin-wizard.php:179
|
373 |
-
#: admin/settings/html/extension-browser-item-detail.php:47
|
374 |
#: admin/settings/html/theme-browser-item-detail.php:52
|
375 |
-
#: admin/settings/html/updates-available.php:
|
376 |
-
#: admin/settings/html/updates-available.php:
|
377 |
msgid "Download"
|
378 |
msgstr ""
|
379 |
|
@@ -383,7 +384,7 @@ msgstr ""
|
|
383 |
#: admin/settings/html/installed_icon_sets_ajax.php:13
|
384 |
#: admin/settings/html/installed_icon_sets_ajax.php:26
|
385 |
#: admin/settings/html/theme-browser-item.php:12
|
386 |
-
#: core/class-wptouch-pro.php:
|
387 |
msgid "Installed"
|
388 |
msgstr ""
|
389 |
|
@@ -462,7 +463,7 @@ msgstr ""
|
|
462 |
|
463 |
#: admin/pages/custom/wptouch-admin-wizard.php:254
|
464 |
#: admin/pages/custom/wptouch-admin-wizard.php:273
|
465 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
466 |
#: admin/settings/include/custom-latest-posts.php:11
|
467 |
msgid "WordPress Reading Settings"
|
468 |
msgstr ""
|
@@ -552,292 +553,279 @@ msgstr ""
|
|
552 |
msgid "Configure Settings"
|
553 |
msgstr ""
|
554 |
|
555 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
556 |
-
#: core/config.php:89
|
557 |
-
msgid "Multisite Setup"
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: admin/pages/wptouch-admin-general-settings.php:36
|
561 |
-
msgid "Admin Language"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: admin/pages/wptouch-admin-general-settings.php:46
|
565 |
-
msgid "Control themes and extension downloads and updates"
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: admin/pages/wptouch-admin-general-settings.php:47
|
569 |
-
msgid ""
|
570 |
-
"If enabled, sub-sites can only activate/deactivate themes and extensions "
|
571 |
-
"that have been downloaded in the network admin."
|
572 |
-
msgstr ""
|
573 |
-
|
574 |
-
#: admin/pages/wptouch-admin-general-settings.php:70 core/admin-render.php:59
|
575 |
#: core/config.php:88
|
576 |
msgid "Updates Available"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
580 |
msgid "Mobile Site Title"
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
584 |
msgid "WPtouch Pro site title"
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
588 |
msgid "If disabled WPtouch Pro will be off for visitors but can be configured."
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
592 |
msgid ""
|
593 |
"If disabled WPtouch Pro will be off for visitors but can be configured in "
|
594 |
"the Customizer."
|
595 |
msgstr ""
|
596 |
|
597 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
598 |
msgid "Display"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
602 |
msgid "Display WPtouch Pro for mobile visitors"
|
603 |
msgstr ""
|
604 |
|
605 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
606 |
msgid "URL filtering"
|
607 |
msgstr ""
|
608 |
|
609 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
610 |
msgid "Show WPtouch Pro for all URLs"
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
614 |
msgid "Exclude WPtouch Pro on these URLs"
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
618 |
msgid "Only show WPtouch Pro on these URLs"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
622 |
msgid "Apply filter to these URLs/Pages"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
626 |
msgid "Require exact match"
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
630 |
msgid "Mobile front page"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
634 |
msgid "You can set a different front page for WPtouch Pro visitors."
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
638 |
msgid "Redirect to a page"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
642 |
msgctxt "Refers to a custom landing page"
|
643 |
msgid "Redirect to a custom URL"
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
647 |
msgid "Custom Slug or URL"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
651 |
msgid "Enter a Slug (i.e. \"/home\") or a full URL path"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
655 |
msgid "Landing Pages"
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
659 |
msgid "Desktop / Mobile Switching"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
663 |
msgctxt "switches between desktop and mobile themes"
|
664 |
msgid "Theme switch toggle"
|
665 |
msgstr ""
|
666 |
|
667 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
668 |
msgid ""
|
669 |
"Shows a toggle in both the desktop mobile theme footers allowing users to "
|
670 |
"switch between them."
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
674 |
msgid "Page Zoom"
|
675 |
msgstr ""
|
676 |
|
677 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
678 |
msgid "Allow mobile browser zooming"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
682 |
msgid "By default WPtouch Pro disables browser zooming."
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
686 |
msgid "Smart App Banner"
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
690 |
msgid "Find your ID from the %siTunes Link Maker%s."
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
694 |
msgid "Analytics"
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
698 |
msgid "Analytics Code"
|
699 |
msgstr ""
|
700 |
|
701 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
702 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
703 |
msgid "None"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
707 |
msgid "Custom"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
711 |
msgid "Site ID"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
715 |
msgid "WPtouch Pro Love"
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
719 |
msgid "Show powered by WPtouch Pro link in theme footer"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
723 |
msgid "Language"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
727 |
msgid "Theme Language"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
731 |
msgid "Also applies to admin"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
735 |
msgctxt ""
|
736 |
"shortcodes are pieces of code [like_this] that users can drop into textareas "
|
737 |
"that will convert to longer pieces of code"
|
738 |
msgid "Shortcodes"
|
739 |
msgstr ""
|
740 |
|
741 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
742 |
msgid "Process desktop theme shortcodes"
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
746 |
msgid "Filter out shortcodes"
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
750 |
msgid "Filters out shortcodes from displaying when WPtouch Pro is active."
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
754 |
msgid "Active Plugins"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
758 |
msgid ""
|
759 |
"Attempts to disable plugins for mobile visitors. Some plugins don‘t support "
|
760 |
"this feature due to the way they load in WordPress."
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
764 |
msgid "Mobile Devices & Browsers"
|
765 |
msgstr ""
|
766 |
|
767 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
768 |
msgid "Tablets"
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
772 |
msgid "Tablet Devices & Browsers"
|
773 |
msgstr ""
|
774 |
|
775 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
776 |
msgid ""
|
777 |
"If your theme supports tablets, devices and browsers WPtouch Pro can be "
|
778 |
"enabled for will be listed below."
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
782 |
msgid "Additional User Agents"
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
786 |
msgid "User agents to add"
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
790 |
msgid "You can enter partial i.e. \"nokia\" or full agent strings"
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
794 |
msgid "Menu Setup"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
798 |
msgid "Menu Options"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
802 |
msgid "Enable parent items as links"
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
806 |
msgid "If disabled, parent menu items will only toggle child items."
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
810 |
msgid "Use menu icons"
|
811 |
msgstr ""
|
812 |
|
813 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
814 |
msgid "Adds the ability to associate icons with menu items"
|
815 |
msgstr ""
|
816 |
|
817 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
818 |
msgid "Menu Icon Sets"
|
819 |
msgstr ""
|
820 |
|
821 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
822 |
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
823 |
-
#: core/class-wptouch-pro.php:
|
824 |
#: core/config.php:54
|
825 |
msgid "Custom Icons"
|
826 |
msgstr ""
|
827 |
|
828 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
829 |
msgid "WordPress Pages"
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
833 |
-
#: core/config.php:
|
834 |
msgid "Customize Theme"
|
835 |
msgstr ""
|
836 |
|
837 |
-
#: admin/pages/wptouch-admin-general-settings.php:
|
838 |
msgid "Go Pro"
|
839 |
msgstr ""
|
840 |
|
|
|
|
|
|
|
|
|
|
|
|
|
841 |
#: admin/settings/html/button.php:6 admin/settings/html/checkbox.php:4
|
842 |
#: admin/settings/html/checklist.php:6 admin/settings/html/color.php:8
|
843 |
#: admin/settings/html/list.php:8 admin/settings/html/multiline-comma.php:9
|
@@ -877,34 +865,33 @@ msgstr ""
|
|
877 |
msgid "Server Configuration"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: admin/settings/html/extension-browser-item-detail.php:
|
881 |
-
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
882 |
-
#: admin/settings/html/theme-browser-item-detail.php:3
|
883 |
-
#: core/class-wptouch-pro.php:850
|
884 |
-
msgid "Install"
|
885 |
-
msgstr ""
|
886 |
-
|
887 |
-
#: admin/settings/html/extension-browser-item-detail.php:11
|
888 |
msgid "Back to extensions"
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: admin/settings/html/extension-browser-item-detail.php:
|
|
|
892 |
#: admin/settings/html/theme-browser-item-detail.php:42
|
893 |
msgid "Add to License"
|
894 |
msgstr ""
|
895 |
|
896 |
-
#: admin/settings/html/extension-browser-item-detail.php:
|
897 |
-
msgid "
|
898 |
msgstr ""
|
899 |
|
900 |
-
#: admin/settings/html/extension-browser-item-detail.php:
|
901 |
-
#: admin/settings/html/theme-browser-item-detail.php:
|
|
|
|
|
|
|
|
|
|
|
902 |
#: core/menu-walkers.php:365
|
903 |
msgid "Description"
|
904 |
msgstr ""
|
905 |
|
906 |
-
#: admin/settings/html/extension-browser-item-detail.php:
|
907 |
-
#: admin/settings/html/theme-browser-item-detail.php:
|
908 |
msgid "Changelog"
|
909 |
msgstr ""
|
910 |
|
@@ -922,7 +909,7 @@ msgstr ""
|
|
922 |
msgid "No extensions available"
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:
|
926 |
msgid "Upload Complete!"
|
927 |
msgstr ""
|
928 |
|
@@ -941,10 +928,16 @@ msgid ""
|
|
941 |
msgstr ""
|
942 |
|
943 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
944 |
-
#: core/class-wptouch-pro.php:
|
945 |
msgid "Installing"
|
946 |
msgstr ""
|
947 |
|
|
|
|
|
|
|
|
|
|
|
|
|
948 |
#: admin/settings/html/installed_icon_sets_ajax.php:27
|
949 |
msgid "Unable to Install"
|
950 |
msgstr ""
|
@@ -988,7 +981,7 @@ msgstr ""
|
|
988 |
msgid "Customize"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: admin/settings/html/theme-browser-item-detail.php:
|
992 |
msgid "Screenshots"
|
993 |
msgstr ""
|
994 |
|
@@ -1056,19 +1049,55 @@ msgstr ""
|
|
1056 |
msgid "Update All"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: admin/settings/html/updates-available.php:12
|
1060 |
-
|
1061 |
-
msgid "Themes"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
-
#: admin/settings/html/updates-available.php:
|
1065 |
-
#: admin/settings/html/updates-available.php:
|
|
|
1066 |
msgid "Upgrade to %s"
|
1067 |
msgstr ""
|
1068 |
|
1069 |
-
#: admin/settings/html/updates-available.php:
|
1070 |
-
|
1071 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1072 |
msgstr ""
|
1073 |
|
1074 |
#: core/addon-theme-installer.php:172
|
@@ -1109,18 +1138,26 @@ msgid ""
|
|
1109 |
"settings later."
|
1110 |
msgstr ""
|
1111 |
|
1112 |
-
#: core/admin-
|
|
|
|
|
|
|
|
|
1113 |
msgid "Setup Wizard"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
-
#: core/admin-menu.php:
|
1117 |
msgid "Settings"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
-
#: core/admin-menu.php:
|
1121 |
msgid "License %s Support"
|
1122 |
msgstr ""
|
1123 |
|
|
|
|
|
|
|
|
|
1124 |
#: core/admin-page-templates.php:17
|
1125 |
msgid "Mobile Page Template"
|
1126 |
msgstr ""
|
@@ -1151,168 +1188,194 @@ msgstr ""
|
|
1151 |
msgid "Preview Theme"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
-
#: core/admin-render.php:
|
1155 |
msgid "Setup"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
-
#: core/admin-render.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1159 |
msgid "General"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
-
#: core/admin-render.php:
|
|
|
1163 |
msgid "Devices"
|
1164 |
msgstr ""
|
1165 |
|
1166 |
-
#: core/admin-render.php:
|
|
|
1167 |
msgid "Menu Settings"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
-
#: core/admin-render.php:
|
1171 |
#: themes/foundation/root-functions.php:9
|
1172 |
msgid "Theme Settings"
|
1173 |
msgstr ""
|
1174 |
|
1175 |
-
#: core/admin-render.php:
|
1176 |
msgid "WPtouch Pro"
|
1177 |
msgstr ""
|
1178 |
|
1179 |
-
#: core/admin-render.php:
|
1180 |
msgid "Site Compatibility"
|
1181 |
msgstr ""
|
1182 |
|
1183 |
-
#: core/admin-render.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1184 |
msgid "Reset Settings"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
-
#: core/class-wptouch-pro.php:
|
1188 |
msgid ""
|
1189 |
"Automatic theme migration from wp-content/uploads/wptouch-data directory "
|
1190 |
"failed. Please manually move these folders to wp-content/wptouch-data: %s"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
-
#: core/class-wptouch-pro.php:
|
1194 |
msgid ""
|
1195 |
"%sWPtouch: %s was recently disabled, but is still affecting your website and "
|
1196 |
"caching pages.%s"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
-
#: core/class-wptouch-pro.php:
|
1200 |
msgid ""
|
1201 |
"%sPlease reactivate the plugin, disable page caching, then deactivate the "
|
1202 |
"plugin again to correct this issue.%s"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
-
#: core/class-wptouch-pro.php:
|
1206 |
msgid ""
|
1207 |
"%sFixing this issue prevents cached desktop pages being served to mobile "
|
1208 |
"devices and vice-versa.%s"
|
1209 |
msgstr ""
|
1210 |
|
1211 |
-
#: core/class-wptouch-pro.php:
|
1212 |
msgid ""
|
1213 |
"%sOnce fixed, this message will be dismissed automatically. Until fixed, %"
|
1214 |
"sWPtouch will not be shown%s to mobile visitors, and cannot be previewed.%s"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
-
#: core/class-wptouch-pro.php:
|
1218 |
msgid "%sWPtouch: %s needs to be configured to work correctly with WPtouch.%s"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
-
#: core/class-wptouch-pro.php:
|
1222 |
msgid ""
|
1223 |
"%sTo fix the issue, follow our %sstep-by-step setup guide%s on support."
|
1224 |
"wptouch.com%s"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: core/class-wptouch-pro.php:
|
1228 |
msgid "WPtouch Repair Required"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
-
#: core/class-wptouch-pro.php:
|
1232 |
msgid "Your mobile theme was either broken or missing."
|
1233 |
msgstr ""
|
1234 |
|
1235 |
-
#: core/class-wptouch-pro.php:
|
1236 |
msgid "We downloaded a fresh copy for you."
|
1237 |
msgstr ""
|
1238 |
|
1239 |
-
#: core/class-wptouch-pro.php:
|
1240 |
msgid "OK"
|
1241 |
msgstr ""
|
1242 |
|
1243 |
-
#: core/class-wptouch-pro.php:
|
1244 |
msgid ""
|
1245 |
"We were unable to install your WPtouch Pro theme from the Cloud. %s Please "
|
1246 |
"visit %sthis article%s for more information."
|
1247 |
msgstr ""
|
1248 |
|
1249 |
-
#: core/class-wptouch-pro.php:
|
1250 |
msgid "WPtouch Server Issue"
|
1251 |
msgstr ""
|
1252 |
|
1253 |
-
#: core/class-wptouch-pro.php:
|
1254 |
msgid ""
|
1255 |
"Your server setup is preventing WPtouch Pro from installing from the Cloud. %"
|
1256 |
"s Please visit %sthis article%s for more information on how to fix it."
|
1257 |
msgstr ""
|
1258 |
|
1259 |
-
#: core/class-wptouch-pro.php:
|
1260 |
msgid ""
|
1261 |
"This will reset all WPtouch Pro settings.\n"
|
1262 |
"Are you sure?"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
-
#: core/class-wptouch-pro.php:
|
1266 |
msgid ""
|
1267 |
"This will reset all WPtouch Pro settings and delete the wptouch-data "
|
1268 |
"folder.\n"
|
1269 |
"Are you sure?"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: core/class-wptouch-pro.php:
|
1273 |
msgid ""
|
1274 |
"This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
|
1275 |
"and deactivate the plugin. Are you sure?"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
-
#: core/class-wptouch-pro.php:
|
1279 |
msgid "The item failed to download for this reason: %reason%"
|
1280 |
msgstr ""
|
1281 |
|
1282 |
-
#: core/class-wptouch-pro.php:
|
1283 |
msgid "You are about to reset your license information. Proceed?"
|
1284 |
msgstr ""
|
1285 |
|
1286 |
-
#: core/class-wptouch-pro.php:
|
1287 |
msgid "Upload Failed: Not a valid image."
|
1288 |
msgstr ""
|
1289 |
|
1290 |
-
#: core/class-wptouch-pro.php:
|
1291 |
msgid ""
|
1292 |
"WPtouch is saving settings. Please do not refresh the page while saving."
|
1293 |
msgstr ""
|
1294 |
|
1295 |
-
#: core/class-wptouch-pro.php:
|
1296 |
msgid "Install Themes"
|
1297 |
msgstr ""
|
1298 |
|
1299 |
-
#: core/class-wptouch-pro.php:
|
1300 |
msgid "Install Extensions"
|
1301 |
msgstr ""
|
1302 |
|
1303 |
-
#: core/class-wptouch-pro.php:
|
1304 |
msgid "%s Changelog"
|
1305 |
msgstr ""
|
1306 |
|
1307 |
-
#: core/class-wptouch-pro.php:
|
1308 |
msgid "Directory Problem"
|
1309 |
msgstr ""
|
1310 |
|
1311 |
-
#: core/class-wptouch-pro.php:
|
1312 |
msgid "One or more required directories could not be created"
|
1313 |
msgstr ""
|
1314 |
|
1315 |
-
#: core/config.php:
|
1316 |
msgid "Compatibility"
|
1317 |
msgstr ""
|
1318 |
|
@@ -1420,6 +1483,10 @@ msgstr ""
|
|
1420 |
msgid "Original: %s"
|
1421 |
msgstr ""
|
1422 |
|
|
|
|
|
|
|
|
|
1423 |
#: core/menu-walkers.php:416 themes/bauhaus/default/comments.php:48
|
1424 |
#: themes/foundation/default/comments.php:48
|
1425 |
msgid "Cancel"
|
@@ -1429,6 +1496,74 @@ msgstr ""
|
|
1429 |
msgid "Feed for all posts filed under %s"
|
1430 |
msgstr ""
|
1431 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1432 |
#: include/html/desktop-switch.php:2
|
1433 |
msgid "Desktop Version"
|
1434 |
msgstr ""
|
@@ -1531,7 +1666,7 @@ msgstr ""
|
|
1531 |
|
1532 |
#: themes/bauhaus/default/comments.php:67
|
1533 |
#: themes/foundation/default/comments.php:67
|
1534 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
1535 |
msgid "E-Mail"
|
1536 |
msgstr ""
|
1537 |
|
@@ -1667,107 +1802,107 @@ msgstr ""
|
|
1667 |
msgid "desktop"
|
1668 |
msgstr ""
|
1669 |
|
1670 |
-
#: themes/bauhaus/root-functions.php:
|
1671 |
msgid "Header Menu"
|
1672 |
msgstr ""
|
1673 |
|
1674 |
-
#: themes/bauhaus/root-functions.php:
|
1675 |
msgid "Choose a menu"
|
1676 |
msgstr ""
|
1677 |
|
1678 |
-
#: themes/bauhaus/root-functions.php:
|
1679 |
msgid "Main menu selection"
|
1680 |
msgstr ""
|
1681 |
|
1682 |
-
#: themes/bauhaus/root-functions.php:
|
1683 |
msgid "Theme background"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
-
#: themes/bauhaus/root-functions.php:
|
1687 |
msgid "Header & Menu"
|
1688 |
msgstr ""
|
1689 |
|
1690 |
-
#: themes/bauhaus/root-functions.php:
|
1691 |
msgid "Links"
|
1692 |
msgstr ""
|
1693 |
|
1694 |
-
#: themes/bauhaus/root-functions.php:
|
1695 |
msgid "Post/Page Headers"
|
1696 |
msgstr ""
|
1697 |
|
1698 |
-
#: themes/bauhaus/root-functions.php:
|
1699 |
msgid "Menu animation style"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
-
#: themes/bauhaus/root-functions.php:
|
1703 |
msgid "Off-canvas"
|
1704 |
msgstr ""
|
1705 |
|
1706 |
-
#: themes/bauhaus/root-functions.php:
|
1707 |
msgid "Drop-down"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
-
#: themes/bauhaus/root-functions.php:
|
1711 |
msgid "Show search in header"
|
1712 |
msgstr ""
|
1713 |
|
1714 |
-
#: themes/bauhaus/root-functions.php:
|
1715 |
msgid "Post thumbnails"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
-
#: themes/bauhaus/root-functions.php:
|
1719 |
msgid "No thumbnails"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
-
#: themes/bauhaus/root-functions.php:
|
1723 |
msgid "Blog listing only"
|
1724 |
msgstr ""
|
1725 |
|
1726 |
-
#: themes/bauhaus/root-functions.php:
|
1727 |
msgid "Blog listing, single posts"
|
1728 |
msgstr ""
|
1729 |
|
1730 |
-
#: themes/bauhaus/root-functions.php:
|
1731 |
msgid "Blog listing, single posts & pages"
|
1732 |
msgstr ""
|
1733 |
|
1734 |
-
#: themes/bauhaus/root-functions.php:
|
1735 |
msgid "All (blog, single, pages, search & archive)"
|
1736 |
msgstr ""
|
1737 |
|
1738 |
-
#: themes/bauhaus/root-functions.php:
|
1739 |
msgid "Thumbnail Type"
|
1740 |
msgstr ""
|
1741 |
|
1742 |
-
#: themes/bauhaus/root-functions.php:
|
1743 |
msgid "Post featured images"
|
1744 |
msgstr ""
|
1745 |
|
1746 |
-
#: themes/bauhaus/root-functions.php:
|
1747 |
msgid "Post custom field"
|
1748 |
msgstr ""
|
1749 |
|
1750 |
-
#: themes/bauhaus/root-functions.php:
|
1751 |
msgid "Thumbnail custom field name"
|
1752 |
msgstr ""
|
1753 |
|
1754 |
-
#: themes/bauhaus/root-functions.php:
|
1755 |
msgid "Show post categories and tags"
|
1756 |
msgstr ""
|
1757 |
|
1758 |
-
#: themes/bauhaus/root-functions.php:
|
1759 |
msgid "Show post date"
|
1760 |
msgstr ""
|
1761 |
|
1762 |
-
#: themes/bauhaus/root-functions.php:
|
1763 |
msgid "Show post author"
|
1764 |
msgstr ""
|
1765 |
|
1766 |
-
#: themes/bauhaus/root-functions.php:
|
1767 |
msgid "Show comment bubbles on posts"
|
1768 |
msgstr ""
|
1769 |
|
1770 |
-
#: themes/bauhaus/root-functions.php:
|
1771 |
msgid "Use infinite scrolling for blog"
|
1772 |
msgstr ""
|
1773 |
|
@@ -1821,121 +1956,124 @@ msgid ""
|
|
1821 |
"site."
|
1822 |
msgstr ""
|
1823 |
|
1824 |
-
#: themes/foundation/modules/featured/featured.php:
|
1825 |
msgid "Featured slider style"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
-
#: themes/foundation/modules/featured/featured.php:
|
1829 |
msgid "Enhanced"
|
1830 |
msgstr ""
|
1831 |
|
1832 |
-
#: themes/foundation/modules/featured/featured.php:
|
1833 |
-
|
1834 |
-
msgid "Normal"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
-
#: themes/foundation/modules/featured/featured.php:
|
1838 |
msgid "Number of posts in slider"
|
1839 |
msgstr ""
|
1840 |
|
1841 |
-
#: themes/foundation/modules/featured/featured.php:
|
1842 |
msgid "Show # of comments"
|
1843 |
msgstr ""
|
1844 |
|
1845 |
-
#: themes/foundation/modules/featured/featured.php:
|
1846 |
msgid "Slide automatically"
|
1847 |
msgstr ""
|
1848 |
|
1849 |
-
#: themes/foundation/modules/featured/featured.php:
|
1850 |
msgid "Slides repeat"
|
1851 |
msgstr ""
|
1852 |
|
1853 |
-
#: themes/foundation/modules/featured/featured.php:
|
1854 |
msgid "Make images grayscale"
|
1855 |
msgstr ""
|
1856 |
|
1857 |
-
#: themes/foundation/modules/featured/featured.php:
|
1858 |
msgid "Slider posts also show in listings"
|
1859 |
msgstr ""
|
1860 |
|
1861 |
-
#: themes/foundation/modules/featured/featured.php:
|
1862 |
msgid "Slide transition speed"
|
1863 |
msgstr ""
|
1864 |
|
1865 |
-
#: themes/foundation/modules/featured/featured.php:
|
1866 |
msgid "Slow"
|
1867 |
msgstr ""
|
1868 |
|
1869 |
-
#: themes/foundation/modules/featured/featured.php:
|
|
|
|
|
|
|
|
|
1870 |
msgid "Fast"
|
1871 |
msgstr ""
|
1872 |
|
1873 |
-
#: themes/foundation/modules/featured/featured.php:
|
1874 |
msgid "Show latest posts"
|
1875 |
msgstr ""
|
1876 |
|
1877 |
-
#: themes/foundation/modules/featured/featured.php:
|
1878 |
msgid "Show posts from a specific tag"
|
1879 |
msgstr ""
|
1880 |
|
1881 |
-
#: themes/foundation/modules/featured/featured.php:
|
1882 |
msgid "Show posts from a specific category"
|
1883 |
msgstr ""
|
1884 |
|
1885 |
-
#: themes/foundation/modules/featured/featured.php:
|
1886 |
msgid "Show posts from a specific post type"
|
1887 |
msgstr ""
|
1888 |
|
1889 |
-
#: themes/foundation/modules/featured/featured.php:
|
1890 |
msgid "Show only specific posts or pages"
|
1891 |
msgstr ""
|
1892 |
|
1893 |
-
#: themes/foundation/modules/featured/featured.php:
|
1894 |
msgid "Only this tag"
|
1895 |
msgstr ""
|
1896 |
|
1897 |
-
#: themes/foundation/modules/featured/featured.php:
|
1898 |
-
#: themes/foundation/modules/featured/featured.php:
|
1899 |
msgid "Enter the tag/category slug name"
|
1900 |
msgstr ""
|
1901 |
|
1902 |
-
#: themes/foundation/modules/featured/featured.php:
|
1903 |
msgid "Only this category"
|
1904 |
msgstr ""
|
1905 |
|
1906 |
-
#: themes/foundation/modules/featured/featured.php:
|
1907 |
msgid "Comma-separated list of post/page IDs"
|
1908 |
msgstr ""
|
1909 |
|
1910 |
-
#: themes/foundation/modules/featured/featured.php:
|
1911 |
msgid "Only this post type"
|
1912 |
msgstr ""
|
1913 |
|
1914 |
-
#: themes/foundation/modules/featured/featured.php:
|
1915 |
msgid "Featured Slider"
|
1916 |
msgstr ""
|
1917 |
|
1918 |
-
#: themes/foundation/modules/featured/featured.php:
|
1919 |
msgid "Enable featured slider"
|
1920 |
msgstr ""
|
1921 |
|
1922 |
-
#: themes/foundation/modules/featured/featured.php:
|
1923 |
msgid "Requires at least 2 entries to contain featured images"
|
1924 |
msgstr ""
|
1925 |
|
1926 |
-
#: themes/foundation/modules/google-fonts/google-fonts.php:
|
1927 |
msgid "Browser Default Fonts"
|
1928 |
msgstr ""
|
1929 |
|
1930 |
-
#: themes/foundation/modules/google-fonts/google-fonts.php:
|
1931 |
msgid "Typography"
|
1932 |
msgstr ""
|
1933 |
|
1934 |
-
#: themes/foundation/modules/google-fonts/google-fonts.php:
|
1935 |
msgid "Font Pairing"
|
1936 |
msgstr ""
|
1937 |
|
1938 |
-
#: themes/foundation/modules/google-fonts/google-fonts.php:
|
1939 |
msgid ""
|
1940 |
"Choose a Google font pairing designed for this theme, or default browser "
|
1941 |
"fonts."
|
@@ -1961,30 +2099,14 @@ msgstr ""
|
|
1961 |
msgid "Lost password?"
|
1962 |
msgstr ""
|
1963 |
|
1964 |
-
#: themes/foundation/modules/login/login.php:
|
1965 |
-
msgid "
|
1966 |
-
msgstr ""
|
1967 |
-
|
1968 |
-
#: themes/foundation/modules/login/login.php:23
|
1969 |
-
msgid "Account Password"
|
1970 |
msgstr ""
|
1971 |
|
1972 |
-
#: themes/foundation/modules/login/login.php:
|
1973 |
-
msgid "Login Form"
|
1974 |
-
msgstr ""
|
1975 |
-
|
1976 |
-
#: themes/foundation/modules/login/login.php:38
|
1977 |
-
msgid "Allow Login"
|
1978 |
-
msgstr ""
|
1979 |
-
|
1980 |
-
#: themes/foundation/modules/login/login.php:39
|
1981 |
msgid "Will add login/out links"
|
1982 |
msgstr ""
|
1983 |
|
1984 |
-
#: themes/foundation/modules/login/login.php:46
|
1985 |
-
msgid "Include \"Sign-up\" and \"Lost Password?\" links"
|
1986 |
-
msgstr ""
|
1987 |
-
|
1988 |
#: themes/foundation/modules/media/media.php:34
|
1989 |
msgid "Video Handling"
|
1990 |
msgstr ""
|
@@ -2000,103 +2122,95 @@ msgid ""
|
|
2000 |
"them with the correct aspect ratio."
|
2001 |
msgstr ""
|
2002 |
|
2003 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2004 |
-
msgid "Social Sharing"
|
2005 |
-
msgstr ""
|
2006 |
-
|
2007 |
-
#: themes/foundation/modules/sharing/sharing.php:100
|
2008 |
msgid "Will show Facebook, Twitter, Pinterest and Email buttons."
|
2009 |
msgstr ""
|
2010 |
|
2011 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2012 |
msgid "Show sharing links on posts"
|
2013 |
msgstr ""
|
2014 |
|
2015 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2016 |
msgid "Also show on pages"
|
2017 |
msgstr ""
|
2018 |
|
2019 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2020 |
msgid "Sharing links location"
|
2021 |
msgstr ""
|
2022 |
|
2023 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2024 |
msgid "Above post content"
|
2025 |
msgstr ""
|
2026 |
|
2027 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2028 |
msgid "Below post content"
|
2029 |
msgstr ""
|
2030 |
|
2031 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2032 |
msgid "Color scheme"
|
2033 |
msgstr ""
|
2034 |
|
2035 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2036 |
msgid "Theme colors"
|
2037 |
msgstr ""
|
2038 |
|
2039 |
-
#: themes/foundation/modules/sharing/sharing.php:
|
2040 |
msgid "Social network colors"
|
2041 |
msgstr ""
|
2042 |
|
2043 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2044 |
-
msgid "Social Media Links"
|
2045 |
-
msgstr ""
|
2046 |
-
|
2047 |
-
#: themes/foundation/modules/social-links/social-links.php:15
|
2048 |
msgid "Full URL to your Facebook page"
|
2049 |
msgstr ""
|
2050 |
|
2051 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2052 |
msgid "Full URL to your Twitter profile"
|
2053 |
msgstr ""
|
2054 |
|
2055 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2056 |
msgid "Full URL to your Google+ profile"
|
2057 |
msgstr ""
|
2058 |
|
2059 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2060 |
msgid "Full URL to your Instagram profile"
|
2061 |
msgstr ""
|
2062 |
|
2063 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2064 |
msgid "Tumblr"
|
2065 |
msgstr ""
|
2066 |
|
2067 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2068 |
msgid "Full URL to your Tumblr profile"
|
2069 |
msgstr ""
|
2070 |
|
2071 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2072 |
msgid "Full URL to your Pinterest page"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2076 |
msgid "Full URL to your Vimeo page"
|
2077 |
msgstr ""
|
2078 |
|
2079 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2080 |
msgid "Full URL to your %s profile"
|
2081 |
msgstr ""
|
2082 |
|
2083 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2084 |
msgid "LinkedIn"
|
2085 |
msgstr ""
|
2086 |
|
2087 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2088 |
msgid "Full URL to your LinkedIn profile"
|
2089 |
msgstr ""
|
2090 |
|
2091 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2092 |
msgid "Full URL to your Yelp profile"
|
2093 |
msgstr ""
|
2094 |
|
2095 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2096 |
msgid "E-Mail address"
|
2097 |
msgstr ""
|
2098 |
|
2099 |
-
#: themes/foundation/modules/social-links/social-links.php:
|
2100 |
msgid "Full URL to your RSS feed"
|
2101 |
msgstr ""
|
2102 |
|
@@ -2105,7 +2219,7 @@ msgid "iPad"
|
|
2105 |
msgstr ""
|
2106 |
|
2107 |
#: themes/foundation/modules/tablets/tablets.php:64
|
2108 |
-
#: themes/foundation/root-functions.php:
|
2109 |
msgid "%d by %d pixels (PNG)"
|
2110 |
msgstr ""
|
2111 |
|
@@ -2129,123 +2243,123 @@ msgstr ""
|
|
2129 |
msgid "Language: "
|
2130 |
msgstr ""
|
2131 |
|
2132 |
-
#: themes/foundation/root-functions.php:
|
2133 |
msgid "Theme Colors"
|
2134 |
msgstr ""
|
2135 |
|
2136 |
-
#: themes/foundation/root-functions.php:
|
2137 |
msgid "Number of posts in post listings"
|
2138 |
msgstr ""
|
2139 |
|
2140 |
-
#: themes/foundation/root-functions.php:
|
2141 |
msgid ""
|
2142 |
"Overrides the WordPress Reading settings for \"Blog pages show at most\""
|
2143 |
msgstr ""
|
2144 |
|
2145 |
-
#: themes/foundation/root-functions.php:
|
2146 |
msgid "Excluded categories"
|
2147 |
msgstr ""
|
2148 |
|
2149 |
-
#: themes/foundation/root-functions.php:
|
2150 |
msgid "Comma separated by category name"
|
2151 |
msgstr ""
|
2152 |
|
2153 |
-
#: themes/foundation/root-functions.php:
|
2154 |
msgid "Excluded tags"
|
2155 |
msgstr ""
|
2156 |
|
2157 |
-
#: themes/foundation/root-functions.php:
|
2158 |
msgid "Comma separated by tag name"
|
2159 |
msgstr ""
|
2160 |
|
2161 |
-
#: themes/foundation/root-functions.php:
|
2162 |
msgid "Blog"
|
2163 |
msgstr ""
|
2164 |
|
2165 |
-
#: themes/foundation/root-functions.php:
|
2166 |
-
#: themes/foundation/root-functions.php:
|
2167 |
msgid "Pages"
|
2168 |
msgstr ""
|
2169 |
|
2170 |
-
#: themes/foundation/root-functions.php:
|
2171 |
msgid "Site Icon"
|
2172 |
msgstr ""
|
2173 |
|
2174 |
-
#: themes/foundation/root-functions.php:
|
2175 |
msgid "Site Logo"
|
2176 |
msgstr ""
|
2177 |
|
2178 |
-
#: themes/foundation/root-functions.php:
|
2179 |
msgid "Header"
|
2180 |
msgstr ""
|
2181 |
|
2182 |
-
#: themes/foundation/root-functions.php:
|
2183 |
msgid "Footer"
|
2184 |
msgstr ""
|
2185 |
|
2186 |
-
#: themes/foundation/root-functions.php:
|
2187 |
msgid "Custom footer content (HTML is allowed)"
|
2188 |
msgstr ""
|
2189 |
|
2190 |
-
#: themes/foundation/root-functions.php:
|
2191 |
msgid "Custom CSS"
|
2192 |
msgstr ""
|
2193 |
|
2194 |
-
#: themes/foundation/root-functions.php:
|
2195 |
msgid "Custom CSS Declarations"
|
2196 |
msgstr ""
|
2197 |
|
2198 |
-
#: themes/foundation/root-functions.php:
|
2199 |
msgid "search results for '%s'"
|
2200 |
msgstr ""
|
2201 |
|
2202 |
-
#: themes/foundation/root-functions.php:
|
2203 |
msgid "%sCategories ›%s %s"
|
2204 |
msgstr ""
|
2205 |
|
2206 |
-
#: themes/foundation/root-functions.php:
|
2207 |
msgid "Tags › %s"
|
2208 |
msgstr ""
|
2209 |
|
|
|
|
|
2210 |
#: themes/foundation/root-functions.php:887
|
2211 |
-
#: themes/foundation/root-functions.php:889
|
2212 |
-
#: themes/foundation/root-functions.php:891
|
2213 |
msgid "Archives › %s"
|
2214 |
msgstr ""
|
2215 |
|
2216 |
-
#: themes/foundation/root-functions.php:
|
2217 |
msgid "Load more from this category"
|
2218 |
msgstr ""
|
2219 |
|
2220 |
-
#: themes/foundation/root-functions.php:
|
2221 |
msgid "Load more tagged like this"
|
2222 |
msgstr ""
|
2223 |
|
2224 |
-
#: themes/foundation/root-functions.php:
|
2225 |
msgid "Load more from this day"
|
2226 |
msgstr ""
|
2227 |
|
2228 |
-
#: themes/foundation/root-functions.php:
|
2229 |
msgid "Load more from this month"
|
2230 |
msgstr ""
|
2231 |
|
2232 |
-
#: themes/foundation/root-functions.php:
|
2233 |
msgid "Load more from this year"
|
2234 |
msgstr ""
|
2235 |
|
2236 |
-
#: themes/foundation/root-functions.php:
|
2237 |
msgid "Load more in this section"
|
2238 |
msgstr ""
|
2239 |
|
2240 |
-
#: themes/foundation/root-functions.php:
|
2241 |
msgid "Load more entries"
|
2242 |
msgstr ""
|
2243 |
|
2244 |
-
#: themes/foundation/root-functions.php:
|
2245 |
msgid "Post"
|
2246 |
msgstr ""
|
2247 |
|
2248 |
-
#: themes/foundation/root-functions.php:
|
2249 |
msgid "Page"
|
2250 |
msgstr ""
|
2251 |
|
2 |
# This file is distributed under the same license as the WPtouch Mobile Plugin package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WPtouch Mobile Plugin 4.1\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
7 |
+
"POT-Creation-Date: 2016-03-29 19:19:14+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
+
#: admin/customizer/wptouch-customizer.php:559
|
16 |
msgid "Device + Orientation"
|
17 |
msgstr ""
|
18 |
|
19 |
+
#: admin/customizer/wptouch-customizer.php:584
|
20 |
msgid "Switch to Mobile Theme"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: admin/customizer/wptouch-customizer.php:585
|
24 |
msgid "Switch to Desktop Theme"
|
25 |
msgstr ""
|
26 |
|
168 |
msgstr ""
|
169 |
|
170 |
#: admin/pages/custom/wptouch-admin-license.php:80
|
|
|
171 |
#: admin/settings/html/gopro.php:11
|
172 |
#: admin/settings/html/theme-browser-item-detail.php:5
|
173 |
+
#: core/admin-extensions.php:367
|
174 |
msgid "Activate"
|
175 |
msgstr ""
|
176 |
|
182 |
msgid "Site License"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: admin/pages/custom/wptouch-admin-license.php:92
|
186 |
+
#: admin/settings/html/extension-browser-item-detail.php:46
|
187 |
+
#: admin/settings/html/extension-browser-item-detail.php:75
|
188 |
+
msgid "Deactivate"
|
189 |
msgstr ""
|
190 |
|
191 |
#: admin/pages/custom/wptouch-admin-license.php:95
|
337 |
msgstr ""
|
338 |
|
339 |
#: admin/pages/custom/wptouch-admin-wizard.php:100
|
340 |
+
msgid "Multisite Network"
|
341 |
msgstr ""
|
342 |
|
343 |
#: admin/pages/custom/wptouch-admin-wizard.php:101
|
372 |
|
373 |
#: admin/pages/custom/wptouch-admin-wizard.php:128
|
374 |
#: admin/pages/custom/wptouch-admin-wizard.php:179
|
|
|
375 |
#: admin/settings/html/theme-browser-item-detail.php:52
|
376 |
+
#: admin/settings/html/updates-available.php:35
|
377 |
+
#: admin/settings/html/updates-available.php:71 core/class-wptouch-pro.php:918
|
378 |
msgid "Download"
|
379 |
msgstr ""
|
380 |
|
384 |
#: admin/settings/html/installed_icon_sets_ajax.php:13
|
385 |
#: admin/settings/html/installed_icon_sets_ajax.php:26
|
386 |
#: admin/settings/html/theme-browser-item.php:12
|
387 |
+
#: core/class-wptouch-pro.php:917
|
388 |
msgid "Installed"
|
389 |
msgstr ""
|
390 |
|
463 |
|
464 |
#: admin/pages/custom/wptouch-admin-wizard.php:254
|
465 |
#: admin/pages/custom/wptouch-admin-wizard.php:273
|
466 |
+
#: admin/pages/wptouch-admin-general-settings.php:134
|
467 |
#: admin/settings/include/custom-latest-posts.php:11
|
468 |
msgid "WordPress Reading Settings"
|
469 |
msgstr ""
|
553 |
msgid "Configure Settings"
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: admin/pages/wptouch-admin-general-settings.php:29 core/admin-render.php:71
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
557 |
#: core/config.php:88
|
558 |
msgid "Updates Available"
|
559 |
msgstr ""
|
560 |
|
561 |
+
#: admin/pages/wptouch-admin-general-settings.php:55
|
562 |
msgid "Mobile Site Title"
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: admin/pages/wptouch-admin-general-settings.php:61
|
566 |
msgid "WPtouch Pro site title"
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: admin/pages/wptouch-admin-general-settings.php:74
|
570 |
msgid "If disabled WPtouch Pro will be off for visitors but can be configured."
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: admin/pages/wptouch-admin-general-settings.php:76
|
574 |
msgid ""
|
575 |
"If disabled WPtouch Pro will be off for visitors but can be configured in "
|
576 |
"the Customizer."
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: admin/pages/wptouch-admin-general-settings.php:81
|
580 |
msgid "Display"
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: admin/pages/wptouch-admin-general-settings.php:87
|
584 |
msgid "Display WPtouch Pro for mobile visitors"
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: admin/pages/wptouch-admin-general-settings.php:95
|
588 |
msgid "URL filtering"
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: admin/pages/wptouch-admin-general-settings.php:100
|
592 |
msgid "Show WPtouch Pro for all URLs"
|
593 |
msgstr ""
|
594 |
|
595 |
+
#: admin/pages/wptouch-admin-general-settings.php:101
|
596 |
msgid "Exclude WPtouch Pro on these URLs"
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: admin/pages/wptouch-admin-general-settings.php:102
|
600 |
msgid "Only show WPtouch Pro on these URLs"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: admin/pages/wptouch-admin-general-settings.php:108
|
604 |
msgid "Apply filter to these URLs/Pages"
|
605 |
msgstr ""
|
606 |
|
607 |
+
#: admin/pages/wptouch-admin-general-settings.php:116
|
608 |
msgid "Require exact match"
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: admin/pages/wptouch-admin-general-settings.php:129
|
612 |
msgid "Mobile front page"
|
613 |
msgstr ""
|
614 |
|
615 |
+
#: admin/pages/wptouch-admin-general-settings.php:130
|
616 |
msgid "You can set a different front page for WPtouch Pro visitors."
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: admin/pages/wptouch-admin-general-settings.php:135
|
620 |
msgid "Redirect to a page"
|
621 |
msgstr ""
|
622 |
|
623 |
+
#: admin/pages/wptouch-admin-general-settings.php:136
|
624 |
msgctxt "Refers to a custom landing page"
|
625 |
msgid "Redirect to a custom URL"
|
626 |
msgstr ""
|
627 |
|
628 |
+
#: admin/pages/wptouch-admin-general-settings.php:142
|
629 |
msgid "Custom Slug or URL"
|
630 |
msgstr ""
|
631 |
|
632 |
+
#: admin/pages/wptouch-admin-general-settings.php:143
|
633 |
msgid "Enter a Slug (i.e. \"/home\") or a full URL path"
|
634 |
msgstr ""
|
635 |
|
636 |
+
#: admin/pages/wptouch-admin-general-settings.php:161
|
637 |
msgid "Landing Pages"
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: admin/pages/wptouch-admin-general-settings.php:170
|
641 |
msgid "Desktop / Mobile Switching"
|
642 |
msgstr ""
|
643 |
|
644 |
+
#: admin/pages/wptouch-admin-general-settings.php:176
|
645 |
msgctxt "switches between desktop and mobile themes"
|
646 |
msgid "Theme switch toggle"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: admin/pages/wptouch-admin-general-settings.php:185
|
650 |
msgid ""
|
651 |
"Shows a toggle in both the desktop mobile theme footers allowing users to "
|
652 |
"switch between them."
|
653 |
msgstr ""
|
654 |
|
655 |
+
#: admin/pages/wptouch-admin-general-settings.php:190
|
656 |
msgid "Page Zoom"
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: admin/pages/wptouch-admin-general-settings.php:196
|
660 |
msgid "Allow mobile browser zooming"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: admin/pages/wptouch-admin-general-settings.php:197
|
664 |
msgid "By default WPtouch Pro disables browser zooming."
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: admin/pages/wptouch-admin-general-settings.php:208
|
668 |
msgid "Smart App Banner"
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: admin/pages/wptouch-admin-general-settings.php:223
|
672 |
msgid "Find your ID from the %siTunes Link Maker%s."
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: admin/pages/wptouch-admin-general-settings.php:228
|
676 |
msgid "Analytics"
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: admin/pages/wptouch-admin-general-settings.php:234
|
680 |
msgid "Analytics Code"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: admin/pages/wptouch-admin-general-settings.php:239
|
684 |
+
#: admin/pages/wptouch-admin-general-settings.php:628
|
685 |
msgid "None"
|
686 |
msgstr ""
|
687 |
|
688 |
+
#: admin/pages/wptouch-admin-general-settings.php:241
|
689 |
msgid "Custom"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: admin/pages/wptouch-admin-general-settings.php:248
|
693 |
msgid "Site ID"
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: admin/pages/wptouch-admin-general-settings.php:269
|
697 |
msgid "WPtouch Pro Love"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: admin/pages/wptouch-admin-general-settings.php:275
|
701 |
msgid "Show powered by WPtouch Pro link in theme footer"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: admin/pages/wptouch-admin-general-settings.php:287
|
705 |
msgid "Language"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: admin/pages/wptouch-admin-general-settings.php:293
|
709 |
msgid "Theme Language"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: admin/pages/wptouch-admin-general-settings.php:302
|
713 |
msgid "Also applies to admin"
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: admin/pages/wptouch-admin-general-settings.php:321
|
717 |
msgctxt ""
|
718 |
"shortcodes are pieces of code [like_this] that users can drop into textareas "
|
719 |
"that will convert to longer pieces of code"
|
720 |
msgid "Shortcodes"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: admin/pages/wptouch-admin-general-settings.php:327
|
724 |
msgid "Process desktop theme shortcodes"
|
725 |
msgstr ""
|
726 |
|
727 |
+
#: admin/pages/wptouch-admin-general-settings.php:335
|
728 |
msgid "Filter out shortcodes"
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: admin/pages/wptouch-admin-general-settings.php:336
|
732 |
msgid "Filters out shortcodes from displaying when WPtouch Pro is active."
|
733 |
msgstr ""
|
734 |
|
735 |
+
#: admin/pages/wptouch-admin-general-settings.php:349
|
736 |
msgid "Active Plugins"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: admin/pages/wptouch-admin-general-settings.php:360
|
740 |
msgid ""
|
741 |
"Attempts to disable plugins for mobile visitors. Some plugins don‘t support "
|
742 |
"this feature due to the way they load in WordPress."
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: admin/pages/wptouch-admin-general-settings.php:371
|
746 |
msgid "Mobile Devices & Browsers"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: admin/pages/wptouch-admin-general-settings.php:431
|
750 |
msgid "Tablets"
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: admin/pages/wptouch-admin-general-settings.php:489
|
754 |
msgid "Tablet Devices & Browsers"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: admin/pages/wptouch-admin-general-settings.php:504
|
758 |
msgid ""
|
759 |
"If your theme supports tablets, devices and browsers WPtouch Pro can be "
|
760 |
"enabled for will be listed below."
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: admin/pages/wptouch-admin-general-settings.php:510
|
764 |
msgid "Additional User Agents"
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: admin/pages/wptouch-admin-general-settings.php:516
|
768 |
msgid "User agents to add"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: admin/pages/wptouch-admin-general-settings.php:517
|
772 |
msgid "You can enter partial i.e. \"nokia\" or full agent strings"
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: admin/pages/wptouch-admin-general-settings.php:534
|
776 |
msgid "Menu Setup"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: admin/pages/wptouch-admin-general-settings.php:552
|
780 |
msgid "Menu Options"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: admin/pages/wptouch-admin-general-settings.php:558
|
784 |
msgid "Enable parent items as links"
|
785 |
msgstr ""
|
786 |
|
787 |
+
#: admin/pages/wptouch-admin-general-settings.php:559
|
788 |
msgid "If disabled, parent menu items will only toggle child items."
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: admin/pages/wptouch-admin-general-settings.php:566
|
792 |
msgid "Use menu icons"
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: admin/pages/wptouch-admin-general-settings.php:567
|
796 |
msgid "Adds the ability to associate icons with menu items"
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: admin/pages/wptouch-admin-general-settings.php:578
|
800 |
msgid "Menu Icon Sets"
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: admin/pages/wptouch-admin-general-settings.php:591
|
804 |
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
805 |
+
#: core/class-wptouch-pro.php:2103 core/class-wptouch-pro.php:2104
|
806 |
#: core/config.php:54
|
807 |
msgid "Custom Icons"
|
808 |
msgstr ""
|
809 |
|
810 |
+
#: admin/pages/wptouch-admin-general-settings.php:622
|
811 |
msgid "WordPress Pages"
|
812 |
msgstr ""
|
813 |
|
814 |
+
#: admin/pages/wptouch-admin-general-settings.php:640
|
815 |
+
#: core/admin-render.php:109 core/config.php:93
|
816 |
msgid "Customize Theme"
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: admin/pages/wptouch-admin-general-settings.php:660 core/config.php:94
|
820 |
msgid "Go Pro"
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: admin/settings/html/auto_configure.php:4
|
824 |
+
msgid ""
|
825 |
+
"This extension doesn’t currently require configuration. All of its settings "
|
826 |
+
"are inherited from your WPtouch Pro configuration automatically."
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
#: admin/settings/html/button.php:6 admin/settings/html/checkbox.php:4
|
830 |
#: admin/settings/html/checklist.php:6 admin/settings/html/color.php:8
|
831 |
#: admin/settings/html/list.php:8 admin/settings/html/multiline-comma.php:9
|
865 |
msgid "Server Configuration"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: admin/settings/html/extension-browser-item-detail.php:5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
869 |
msgid "Back to extensions"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: admin/settings/html/extension-browser-item-detail.php:29
|
873 |
+
#: admin/settings/html/extension-browser-item-detail.php:54
|
874 |
#: admin/settings/html/theme-browser-item-detail.php:42
|
875 |
msgid "Add to License"
|
876 |
msgstr ""
|
877 |
|
878 |
+
#: admin/settings/html/extension-browser-item-detail.php:60
|
879 |
+
msgid "Must be activated from Network Admin"
|
880 |
msgstr ""
|
881 |
|
882 |
+
#: admin/settings/html/extension-browser-item-detail.php:82
|
883 |
+
#: admin/settings/html/theme-browser-item-detail.php:58
|
884 |
+
msgid "Learn More"
|
885 |
+
msgstr ""
|
886 |
+
|
887 |
+
#: admin/settings/html/extension-browser-item-detail.php:118
|
888 |
+
#: admin/settings/html/theme-browser-item-detail.php:81
|
889 |
#: core/menu-walkers.php:365
|
890 |
msgid "Description"
|
891 |
msgstr ""
|
892 |
|
893 |
+
#: admin/settings/html/extension-browser-item-detail.php:123
|
894 |
+
#: admin/settings/html/theme-browser-item-detail.php:88
|
895 |
msgid "Changelog"
|
896 |
msgstr ""
|
897 |
|
909 |
msgid "No extensions available"
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:910
|
913 |
msgid "Upload Complete!"
|
914 |
msgstr ""
|
915 |
|
928 |
msgstr ""
|
929 |
|
930 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
931 |
+
#: core/class-wptouch-pro.php:916
|
932 |
msgid "Installing"
|
933 |
msgstr ""
|
934 |
|
935 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
936 |
+
#: admin/settings/html/theme-browser-item-detail.php:3
|
937 |
+
#: core/admin-extensions.php:363 core/class-wptouch-pro.php:915
|
938 |
+
msgid "Install"
|
939 |
+
msgstr ""
|
940 |
+
|
941 |
#: admin/settings/html/installed_icon_sets_ajax.php:27
|
942 |
msgid "Unable to Install"
|
943 |
msgstr ""
|
981 |
msgid "Customize"
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: admin/settings/html/theme-browser-item-detail.php:66
|
985 |
msgid "Screenshots"
|
986 |
msgstr ""
|
987 |
|
1049 |
msgid "Update All"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: admin/settings/html/updates-available.php:12
|
1053 |
+
msgid "Core Plugin Updates"
|
|
|
1054 |
msgstr ""
|
1055 |
|
1056 |
+
#: admin/settings/html/updates-available.php:17
|
1057 |
+
#: admin/settings/html/updates-available.php:44
|
1058 |
+
#: admin/settings/html/updates-available.php:67
|
1059 |
msgid "Upgrade to %s"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: admin/settings/html/updates-available.php:27
|
1063 |
+
msgid "Theme Updates"
|
1064 |
+
msgstr ""
|
1065 |
+
|
1066 |
+
#: admin/settings/html/updates-available.php:55
|
1067 |
+
msgid "Extension Updates"
|
1068 |
+
msgstr ""
|
1069 |
+
|
1070 |
+
#: admin/settings/include/sites.php:17
|
1071 |
+
msgid "Select All"
|
1072 |
+
msgstr ""
|
1073 |
+
|
1074 |
+
#: admin/settings/include/sites.php:18
|
1075 |
+
msgid "Select None"
|
1076 |
+
msgstr ""
|
1077 |
+
|
1078 |
+
#: admin/settings/include/sites.php:19
|
1079 |
+
msgid "Deploy to Sites"
|
1080 |
+
msgstr ""
|
1081 |
+
|
1082 |
+
#: admin/settings/include/sites.php:28 core/admin-render.php:57
|
1083 |
+
msgid "Deployment"
|
1084 |
+
msgstr ""
|
1085 |
+
|
1086 |
+
#: admin/settings/include/sites.php:29
|
1087 |
+
msgid ""
|
1088 |
+
"WARNING: Deploying to sub sites will overwrite sub site WPtouch Pro settings."
|
1089 |
+
msgstr ""
|
1090 |
+
|
1091 |
+
#: admin/settings/include/sites.php:29
|
1092 |
+
msgid "Your selected options are being deployed to sub sites"
|
1093 |
+
msgstr ""
|
1094 |
+
|
1095 |
+
#: admin/settings/include/sites.php:29
|
1096 |
+
msgid "Deploy Complete"
|
1097 |
+
msgstr ""
|
1098 |
+
|
1099 |
+
#: admin/settings/include/sites.php:30
|
1100 |
+
msgid "Deploy Now"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
#: core/addon-theme-installer.php:172
|
1138 |
"settings later."
|
1139 |
msgstr ""
|
1140 |
|
1141 |
+
#: core/admin-extensions.php:365
|
1142 |
+
msgid "Site Activate"
|
1143 |
+
msgstr ""
|
1144 |
+
|
1145 |
+
#: core/admin-menu.php:47
|
1146 |
msgid "Setup Wizard"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
+
#: core/admin-menu.php:48 core/class-wptouch-pro.php:1585
|
1150 |
msgid "Settings"
|
1151 |
msgstr ""
|
1152 |
|
1153 |
+
#: core/admin-menu.php:49
|
1154 |
msgid "License %s Support"
|
1155 |
msgstr ""
|
1156 |
|
1157 |
+
#: core/admin-menu.php:68
|
1158 |
+
msgid "Multisite Setup"
|
1159 |
+
msgstr ""
|
1160 |
+
|
1161 |
#: core/admin-page-templates.php:17
|
1162 |
msgid "Mobile Page Template"
|
1163 |
msgstr ""
|
1188 |
msgid "Preview Theme"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
+
#: core/admin-render.php:50 core/admin-render.php:66
|
1192 |
msgid "Setup"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: core/admin-render.php:52 core/multisite.php:180
|
1196 |
+
msgid "General Options"
|
1197 |
+
msgstr ""
|
1198 |
+
|
1199 |
+
#: core/admin-render.php:55
|
1200 |
+
msgid "Tools"
|
1201 |
+
msgstr ""
|
1202 |
+
|
1203 |
+
#: core/admin-render.php:76 core/admin-render.php:83 core/config.php:89
|
1204 |
msgid "General"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
+
#: core/admin-render.php:77 core/admin-render.php:91 core/config.php:91
|
1208 |
+
#: core/multisite.php:267 core/multisite.php:360
|
1209 |
msgid "Devices"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
+
#: core/admin-render.php:78 core/admin-render.php:95 core/config.php:92
|
1213 |
+
#: core/multisite.php:275 core/multisite.php:368
|
1214 |
msgid "Menu Settings"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: core/admin-render.php:79 core/admin-render.php:107
|
1218 |
#: themes/foundation/root-functions.php:9
|
1219 |
msgid "Theme Settings"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: core/admin-render.php:80
|
1223 |
msgid "WPtouch Pro"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
+
#: core/admin-render.php:87 core/multisite.php:259 core/multisite.php:352
|
1227 |
msgid "Site Compatibility"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
+
#: core/admin-render.php:102 core/admin-render.php:104
|
1231 |
+
#: core/admin-render.php:140 core/config.php:95 core/multisite.php:283
|
1232 |
+
#: core/multisite.php:376
|
1233 |
+
msgid "Themes"
|
1234 |
+
msgstr ""
|
1235 |
+
|
1236 |
+
#: core/admin-render.php:115 core/admin-render.php:117
|
1237 |
+
#: core/admin-render.php:141 core/config.php:96 core/multisite.php:291
|
1238 |
+
#: core/multisite.php:384
|
1239 |
+
msgid "Extensions"
|
1240 |
+
msgstr ""
|
1241 |
+
|
1242 |
+
#: core/admin-render.php:138
|
1243 |
+
msgid "Available for WPtouch Pro"
|
1244 |
+
msgstr ""
|
1245 |
+
|
1246 |
+
#: core/admin-render.php:188
|
1247 |
msgid "Reset Settings"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
+
#: core/class-wptouch-pro.php:597
|
1251 |
msgid ""
|
1252 |
"Automatic theme migration from wp-content/uploads/wptouch-data directory "
|
1253 |
"failed. Please manually move these folders to wp-content/wptouch-data: %s"
|
1254 |
msgstr ""
|
1255 |
|
1256 |
+
#: core/class-wptouch-pro.php:616
|
1257 |
msgid ""
|
1258 |
"%sWPtouch: %s was recently disabled, but is still affecting your website and "
|
1259 |
"caching pages.%s"
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: core/class-wptouch-pro.php:617
|
1263 |
msgid ""
|
1264 |
"%sPlease reactivate the plugin, disable page caching, then deactivate the "
|
1265 |
"plugin again to correct this issue.%s"
|
1266 |
msgstr ""
|
1267 |
|
1268 |
+
#: core/class-wptouch-pro.php:618 core/class-wptouch-pro.php:627
|
1269 |
msgid ""
|
1270 |
"%sFixing this issue prevents cached desktop pages being served to mobile "
|
1271 |
"devices and vice-versa.%s"
|
1272 |
msgstr ""
|
1273 |
|
1274 |
+
#: core/class-wptouch-pro.php:619 core/class-wptouch-pro.php:628
|
1275 |
msgid ""
|
1276 |
"%sOnce fixed, this message will be dismissed automatically. Until fixed, %"
|
1277 |
"sWPtouch will not be shown%s to mobile visitors, and cannot be previewed.%s"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
+
#: core/class-wptouch-pro.php:626
|
1281 |
msgid "%sWPtouch: %s needs to be configured to work correctly with WPtouch.%s"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
+
#: core/class-wptouch-pro.php:629
|
1285 |
msgid ""
|
1286 |
"%sTo fix the issue, follow our %sstep-by-step setup guide%s on support."
|
1287 |
"wptouch.com%s"
|
1288 |
msgstr ""
|
1289 |
|
1290 |
+
#: core/class-wptouch-pro.php:641
|
1291 |
msgid "WPtouch Repair Required"
|
1292 |
msgstr ""
|
1293 |
|
1294 |
+
#: core/class-wptouch-pro.php:648
|
1295 |
msgid "Your mobile theme was either broken or missing."
|
1296 |
msgstr ""
|
1297 |
|
1298 |
+
#: core/class-wptouch-pro.php:649
|
1299 |
msgid "We downloaded a fresh copy for you."
|
1300 |
msgstr ""
|
1301 |
|
1302 |
+
#: core/class-wptouch-pro.php:650 core/class-wptouch-pro.php:660
|
1303 |
msgid "OK"
|
1304 |
msgstr ""
|
1305 |
|
1306 |
+
#: core/class-wptouch-pro.php:653
|
1307 |
msgid ""
|
1308 |
"We were unable to install your WPtouch Pro theme from the Cloud. %s Please "
|
1309 |
"visit %sthis article%s for more information."
|
1310 |
msgstr ""
|
1311 |
|
1312 |
+
#: core/class-wptouch-pro.php:656
|
1313 |
msgid "WPtouch Server Issue"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
+
#: core/class-wptouch-pro.php:658
|
1317 |
msgid ""
|
1318 |
"Your server setup is preventing WPtouch Pro from installing from the Cloud. %"
|
1319 |
"s Please visit %sthis article%s for more information on how to fix it."
|
1320 |
msgstr ""
|
1321 |
|
1322 |
+
#: core/class-wptouch-pro.php:905
|
1323 |
msgid ""
|
1324 |
"This will reset all WPtouch Pro settings.\n"
|
1325 |
"Are you sure?"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
+
#: core/class-wptouch-pro.php:906
|
1329 |
msgid ""
|
1330 |
"This will reset all WPtouch Pro settings and delete the wptouch-data "
|
1331 |
"folder.\n"
|
1332 |
"Are you sure?"
|
1333 |
msgstr ""
|
1334 |
|
1335 |
+
#: core/class-wptouch-pro.php:907
|
1336 |
msgid ""
|
1337 |
"This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
|
1338 |
"and deactivate the plugin. Are you sure?"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
+
#: core/class-wptouch-pro.php:908
|
1342 |
msgid "The item failed to download for this reason: %reason%"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
+
#: core/class-wptouch-pro.php:909
|
1346 |
msgid "You are about to reset your license information. Proceed?"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
+
#: core/class-wptouch-pro.php:911
|
1350 |
msgid "Upload Failed: Not a valid image."
|
1351 |
msgstr ""
|
1352 |
|
1353 |
+
#: core/class-wptouch-pro.php:912
|
1354 |
msgid ""
|
1355 |
"WPtouch is saving settings. Please do not refresh the page while saving."
|
1356 |
msgstr ""
|
1357 |
|
1358 |
+
#: core/class-wptouch-pro.php:913
|
1359 |
msgid "Install Themes"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
+
#: core/class-wptouch-pro.php:914
|
1363 |
msgid "Install Extensions"
|
1364 |
msgstr ""
|
1365 |
|
1366 |
+
#: core/class-wptouch-pro.php:1622
|
1367 |
msgid "%s Changelog"
|
1368 |
msgstr ""
|
1369 |
|
1370 |
+
#: core/class-wptouch-pro.php:3030
|
1371 |
msgid "Directory Problem"
|
1372 |
msgstr ""
|
1373 |
|
1374 |
+
#: core/class-wptouch-pro.php:3031
|
1375 |
msgid "One or more required directories could not be created"
|
1376 |
msgstr ""
|
1377 |
|
1378 |
+
#: core/config.php:90
|
1379 |
msgid "Compatibility"
|
1380 |
msgstr ""
|
1381 |
|
1483 |
msgid "Original: %s"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
+
#: core/menu-walkers.php:415
|
1487 |
+
msgid "Remove"
|
1488 |
+
msgstr ""
|
1489 |
+
|
1490 |
#: core/menu-walkers.php:416 themes/bauhaus/default/comments.php:48
|
1491 |
#: themes/foundation/default/comments.php:48
|
1492 |
msgid "Cancel"
|
1496 |
msgid "Feed for all posts filed under %s"
|
1497 |
msgstr ""
|
1498 |
|
1499 |
+
#: core/multisite.php:186
|
1500 |
+
msgid "Admin Language"
|
1501 |
+
msgstr ""
|
1502 |
+
|
1503 |
+
#: core/multisite.php:196
|
1504 |
+
msgid "Control themes and extension downloads and updates"
|
1505 |
+
msgstr ""
|
1506 |
+
|
1507 |
+
#: core/multisite.php:197
|
1508 |
+
msgid ""
|
1509 |
+
"If enabled, sub-sites can only activate/deactivate themes and extensions "
|
1510 |
+
"that have been downloaded in the network admin."
|
1511 |
+
msgstr ""
|
1512 |
+
|
1513 |
+
#: core/multisite.php:216
|
1514 |
+
msgid "Network Defaults"
|
1515 |
+
msgstr ""
|
1516 |
+
|
1517 |
+
#: core/multisite.php:222
|
1518 |
+
msgid "Use my settings for new sites"
|
1519 |
+
msgstr ""
|
1520 |
+
|
1521 |
+
#: core/multisite.php:230 core/multisite.php:335
|
1522 |
+
msgid "Source site"
|
1523 |
+
msgstr ""
|
1524 |
+
|
1525 |
+
#: core/multisite.php:240
|
1526 |
+
msgid ""
|
1527 |
+
"Configure WPtouch to use a site for defaults on new network sites instead of "
|
1528 |
+
"its defaults"
|
1529 |
+
msgstr ""
|
1530 |
+
|
1531 |
+
#: core/multisite.php:245
|
1532 |
+
msgid "Subsite Customizable Settings"
|
1533 |
+
msgstr ""
|
1534 |
+
|
1535 |
+
#: core/multisite.php:251 core/multisite.php:344
|
1536 |
+
msgid "General Settings"
|
1537 |
+
msgstr ""
|
1538 |
+
|
1539 |
+
#: core/multisite.php:299 core/multisite.php:392
|
1540 |
+
msgid "Colors"
|
1541 |
+
msgstr ""
|
1542 |
+
|
1543 |
+
#: core/multisite.php:307 core/multisite.php:400
|
1544 |
+
#: themes/foundation/modules/social-links/social-links.php:9
|
1545 |
+
msgid "Social Media Links"
|
1546 |
+
msgstr ""
|
1547 |
+
|
1548 |
+
#: core/multisite.php:315 core/multisite.php:408
|
1549 |
+
#: themes/foundation/modules/sharing/sharing.php:95
|
1550 |
+
msgid "Social Sharing"
|
1551 |
+
msgstr ""
|
1552 |
+
|
1553 |
+
#: core/multisite.php:324
|
1554 |
+
msgid ""
|
1555 |
+
"Select which settings sections are available to users in network subsites "
|
1556 |
+
"(network admins always see settings)."
|
1557 |
+
msgstr ""
|
1558 |
+
|
1559 |
+
#: core/multisite.php:329
|
1560 |
+
msgid "Source Site"
|
1561 |
+
msgstr ""
|
1562 |
+
|
1563 |
+
#: core/multisite.php:420
|
1564 |
+
msgid "Destination Sites"
|
1565 |
+
msgstr ""
|
1566 |
+
|
1567 |
#: include/html/desktop-switch.php:2
|
1568 |
msgid "Desktop Version"
|
1569 |
msgstr ""
|
1666 |
|
1667 |
#: themes/bauhaus/default/comments.php:67
|
1668 |
#: themes/foundation/default/comments.php:67
|
1669 |
+
#: themes/foundation/modules/social-links/social-links.php:95
|
1670 |
msgid "E-Mail"
|
1671 |
msgstr ""
|
1672 |
|
1802 |
msgid "desktop"
|
1803 |
msgstr ""
|
1804 |
|
1805 |
+
#: themes/bauhaus/root-functions.php:118
|
1806 |
msgid "Header Menu"
|
1807 |
msgstr ""
|
1808 |
|
1809 |
+
#: themes/bauhaus/root-functions.php:120
|
1810 |
msgid "Choose a menu"
|
1811 |
msgstr ""
|
1812 |
|
1813 |
+
#: themes/bauhaus/root-functions.php:121
|
1814 |
msgid "Main menu selection"
|
1815 |
msgstr ""
|
1816 |
|
1817 |
+
#: themes/bauhaus/root-functions.php:128
|
1818 |
msgid "Theme background"
|
1819 |
msgstr ""
|
1820 |
|
1821 |
+
#: themes/bauhaus/root-functions.php:129
|
1822 |
msgid "Header & Menu"
|
1823 |
msgstr ""
|
1824 |
|
1825 |
+
#: themes/bauhaus/root-functions.php:130
|
1826 |
msgid "Links"
|
1827 |
msgstr ""
|
1828 |
|
1829 |
+
#: themes/bauhaus/root-functions.php:131
|
1830 |
msgid "Post/Page Headers"
|
1831 |
msgstr ""
|
1832 |
|
1833 |
+
#: themes/bauhaus/root-functions.php:224
|
1834 |
msgid "Menu animation style"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
+
#: themes/bauhaus/root-functions.php:229
|
1838 |
msgid "Off-canvas"
|
1839 |
msgstr ""
|
1840 |
|
1841 |
+
#: themes/bauhaus/root-functions.php:230
|
1842 |
msgid "Drop-down"
|
1843 |
msgstr ""
|
1844 |
|
1845 |
+
#: themes/bauhaus/root-functions.php:238
|
1846 |
msgid "Show search in header"
|
1847 |
msgstr ""
|
1848 |
|
1849 |
+
#: themes/bauhaus/root-functions.php:255
|
1850 |
msgid "Post thumbnails"
|
1851 |
msgstr ""
|
1852 |
|
1853 |
+
#: themes/bauhaus/root-functions.php:260
|
1854 |
msgid "No thumbnails"
|
1855 |
msgstr ""
|
1856 |
|
1857 |
+
#: themes/bauhaus/root-functions.php:261
|
1858 |
msgid "Blog listing only"
|
1859 |
msgstr ""
|
1860 |
|
1861 |
+
#: themes/bauhaus/root-functions.php:262
|
1862 |
msgid "Blog listing, single posts"
|
1863 |
msgstr ""
|
1864 |
|
1865 |
+
#: themes/bauhaus/root-functions.php:263
|
1866 |
msgid "Blog listing, single posts & pages"
|
1867 |
msgstr ""
|
1868 |
|
1869 |
+
#: themes/bauhaus/root-functions.php:264
|
1870 |
msgid "All (blog, single, pages, search & archive)"
|
1871 |
msgstr ""
|
1872 |
|
1873 |
+
#: themes/bauhaus/root-functions.php:272
|
1874 |
msgid "Thumbnail Type"
|
1875 |
msgstr ""
|
1876 |
|
1877 |
+
#: themes/bauhaus/root-functions.php:277
|
1878 |
msgid "Post featured images"
|
1879 |
msgstr ""
|
1880 |
|
1881 |
+
#: themes/bauhaus/root-functions.php:278
|
1882 |
msgid "Post custom field"
|
1883 |
msgstr ""
|
1884 |
|
1885 |
+
#: themes/bauhaus/root-functions.php:286
|
1886 |
msgid "Thumbnail custom field name"
|
1887 |
msgstr ""
|
1888 |
|
1889 |
+
#: themes/bauhaus/root-functions.php:297
|
1890 |
msgid "Show post categories and tags"
|
1891 |
msgstr ""
|
1892 |
|
1893 |
+
#: themes/bauhaus/root-functions.php:308
|
1894 |
msgid "Show post date"
|
1895 |
msgstr ""
|
1896 |
|
1897 |
+
#: themes/bauhaus/root-functions.php:319
|
1898 |
msgid "Show post author"
|
1899 |
msgstr ""
|
1900 |
|
1901 |
+
#: themes/bauhaus/root-functions.php:330
|
1902 |
msgid "Show comment bubbles on posts"
|
1903 |
msgstr ""
|
1904 |
|
1905 |
+
#: themes/bauhaus/root-functions.php:341
|
1906 |
msgid "Use infinite scrolling for blog"
|
1907 |
msgstr ""
|
1908 |
|
1956 |
"site."
|
1957 |
msgstr ""
|
1958 |
|
1959 |
+
#: themes/foundation/modules/featured/featured.php:309
|
1960 |
msgid "Featured slider style"
|
1961 |
msgstr ""
|
1962 |
|
1963 |
+
#: themes/foundation/modules/featured/featured.php:314
|
1964 |
msgid "Enhanced"
|
1965 |
msgstr ""
|
1966 |
|
1967 |
+
#: themes/foundation/modules/featured/featured.php:315
|
1968 |
+
msgid "Streamlined"
|
|
|
1969 |
msgstr ""
|
1970 |
|
1971 |
+
#: themes/foundation/modules/featured/featured.php:327
|
1972 |
msgid "Number of posts in slider"
|
1973 |
msgstr ""
|
1974 |
|
1975 |
+
#: themes/foundation/modules/featured/featured.php:340
|
1976 |
msgid "Show # of comments"
|
1977 |
msgstr ""
|
1978 |
|
1979 |
+
#: themes/foundation/modules/featured/featured.php:348
|
1980 |
msgid "Slide automatically"
|
1981 |
msgstr ""
|
1982 |
|
1983 |
+
#: themes/foundation/modules/featured/featured.php:356
|
1984 |
msgid "Slides repeat"
|
1985 |
msgstr ""
|
1986 |
|
1987 |
+
#: themes/foundation/modules/featured/featured.php:364
|
1988 |
msgid "Make images grayscale"
|
1989 |
msgstr ""
|
1990 |
|
1991 |
+
#: themes/foundation/modules/featured/featured.php:372
|
1992 |
msgid "Slider posts also show in listings"
|
1993 |
msgstr ""
|
1994 |
|
1995 |
+
#: themes/foundation/modules/featured/featured.php:380
|
1996 |
msgid "Slide transition speed"
|
1997 |
msgstr ""
|
1998 |
|
1999 |
+
#: themes/foundation/modules/featured/featured.php:385
|
2000 |
msgid "Slow"
|
2001 |
msgstr ""
|
2002 |
|
2003 |
+
#: themes/foundation/modules/featured/featured.php:386
|
2004 |
+
msgid "Normal"
|
2005 |
+
msgstr ""
|
2006 |
+
|
2007 |
+
#: themes/foundation/modules/featured/featured.php:387
|
2008 |
msgid "Fast"
|
2009 |
msgstr ""
|
2010 |
|
2011 |
+
#: themes/foundation/modules/featured/featured.php:398
|
2012 |
msgid "Show latest posts"
|
2013 |
msgstr ""
|
2014 |
|
2015 |
+
#: themes/foundation/modules/featured/featured.php:399
|
2016 |
msgid "Show posts from a specific tag"
|
2017 |
msgstr ""
|
2018 |
|
2019 |
+
#: themes/foundation/modules/featured/featured.php:400
|
2020 |
msgid "Show posts from a specific category"
|
2021 |
msgstr ""
|
2022 |
|
2023 |
+
#: themes/foundation/modules/featured/featured.php:401
|
2024 |
msgid "Show posts from a specific post type"
|
2025 |
msgstr ""
|
2026 |
|
2027 |
+
#: themes/foundation/modules/featured/featured.php:402
|
2028 |
msgid "Show only specific posts or pages"
|
2029 |
msgstr ""
|
2030 |
|
2031 |
+
#: themes/foundation/modules/featured/featured.php:408
|
2032 |
msgid "Only this tag"
|
2033 |
msgstr ""
|
2034 |
|
2035 |
+
#: themes/foundation/modules/featured/featured.php:409
|
2036 |
+
#: themes/foundation/modules/featured/featured.php:418
|
2037 |
msgid "Enter the tag/category slug name"
|
2038 |
msgstr ""
|
2039 |
|
2040 |
+
#: themes/foundation/modules/featured/featured.php:417
|
2041 |
msgid "Only this category"
|
2042 |
msgstr ""
|
2043 |
|
2044 |
+
#: themes/foundation/modules/featured/featured.php:426
|
2045 |
msgid "Comma-separated list of post/page IDs"
|
2046 |
msgstr ""
|
2047 |
|
2048 |
+
#: themes/foundation/modules/featured/featured.php:437
|
2049 |
msgid "Only this post type"
|
2050 |
msgstr ""
|
2051 |
|
2052 |
+
#: themes/foundation/modules/featured/featured.php:447
|
2053 |
msgid "Featured Slider"
|
2054 |
msgstr ""
|
2055 |
|
2056 |
+
#: themes/foundation/modules/featured/featured.php:454
|
2057 |
msgid "Enable featured slider"
|
2058 |
msgstr ""
|
2059 |
|
2060 |
+
#: themes/foundation/modules/featured/featured.php:455
|
2061 |
msgid "Requires at least 2 entries to contain featured images"
|
2062 |
msgstr ""
|
2063 |
|
2064 |
+
#: themes/foundation/modules/google-fonts/google-fonts.php:21
|
2065 |
msgid "Browser Default Fonts"
|
2066 |
msgstr ""
|
2067 |
|
2068 |
+
#: themes/foundation/modules/google-fonts/google-fonts.php:29
|
2069 |
msgid "Typography"
|
2070 |
msgstr ""
|
2071 |
|
2072 |
+
#: themes/foundation/modules/google-fonts/google-fonts.php:35
|
2073 |
msgid "Font Pairing"
|
2074 |
msgstr ""
|
2075 |
|
2076 |
+
#: themes/foundation/modules/google-fonts/google-fonts.php:36
|
2077 |
msgid ""
|
2078 |
"Choose a Google font pairing designed for this theme, or default browser "
|
2079 |
"fonts."
|
2099 |
msgid "Lost password?"
|
2100 |
msgstr ""
|
2101 |
|
2102 |
+
#: themes/foundation/modules/login/login.php:10
|
2103 |
+
msgid "Show login in menu"
|
|
|
|
|
|
|
|
|
2104 |
msgstr ""
|
2105 |
|
2106 |
+
#: themes/foundation/modules/login/login.php:11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2107 |
msgid "Will add login/out links"
|
2108 |
msgstr ""
|
2109 |
|
|
|
|
|
|
|
|
|
2110 |
#: themes/foundation/modules/media/media.php:34
|
2111 |
msgid "Video Handling"
|
2112 |
msgstr ""
|
2122 |
"them with the correct aspect ratio."
|
2123 |
msgstr ""
|
2124 |
|
2125 |
+
#: themes/foundation/modules/sharing/sharing.php:101
|
|
|
|
|
|
|
|
|
2126 |
msgid "Will show Facebook, Twitter, Pinterest and Email buttons."
|
2127 |
msgstr ""
|
2128 |
|
2129 |
+
#: themes/foundation/modules/sharing/sharing.php:109
|
2130 |
msgid "Show sharing links on posts"
|
2131 |
msgstr ""
|
2132 |
|
2133 |
+
#: themes/foundation/modules/sharing/sharing.php:117
|
2134 |
msgid "Also show on pages"
|
2135 |
msgstr ""
|
2136 |
|
2137 |
+
#: themes/foundation/modules/sharing/sharing.php:125
|
2138 |
msgid "Sharing links location"
|
2139 |
msgstr ""
|
2140 |
|
2141 |
+
#: themes/foundation/modules/sharing/sharing.php:130
|
2142 |
msgid "Above post content"
|
2143 |
msgstr ""
|
2144 |
|
2145 |
+
#: themes/foundation/modules/sharing/sharing.php:131
|
2146 |
msgid "Below post content"
|
2147 |
msgstr ""
|
2148 |
|
2149 |
+
#: themes/foundation/modules/sharing/sharing.php:137
|
2150 |
msgid "Color scheme"
|
2151 |
msgstr ""
|
2152 |
|
2153 |
+
#: themes/foundation/modules/sharing/sharing.php:142
|
2154 |
msgid "Theme colors"
|
2155 |
msgstr ""
|
2156 |
|
2157 |
+
#: themes/foundation/modules/sharing/sharing.php:143
|
2158 |
msgid "Social network colors"
|
2159 |
msgstr ""
|
2160 |
|
2161 |
+
#: themes/foundation/modules/social-links/social-links.php:16
|
|
|
|
|
|
|
|
|
2162 |
msgid "Full URL to your Facebook page"
|
2163 |
msgstr ""
|
2164 |
|
2165 |
+
#: themes/foundation/modules/social-links/social-links.php:24
|
2166 |
msgid "Full URL to your Twitter profile"
|
2167 |
msgstr ""
|
2168 |
|
2169 |
+
#: themes/foundation/modules/social-links/social-links.php:32
|
2170 |
msgid "Full URL to your Google+ profile"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
+
#: themes/foundation/modules/social-links/social-links.php:40
|
2174 |
msgid "Full URL to your Instagram profile"
|
2175 |
msgstr ""
|
2176 |
|
2177 |
+
#: themes/foundation/modules/social-links/social-links.php:47
|
2178 |
msgid "Tumblr"
|
2179 |
msgstr ""
|
2180 |
|
2181 |
+
#: themes/foundation/modules/social-links/social-links.php:48
|
2182 |
msgid "Full URL to your Tumblr profile"
|
2183 |
msgstr ""
|
2184 |
|
2185 |
+
#: themes/foundation/modules/social-links/social-links.php:56
|
2186 |
msgid "Full URL to your Pinterest page"
|
2187 |
msgstr ""
|
2188 |
|
2189 |
+
#: themes/foundation/modules/social-links/social-links.php:64
|
2190 |
msgid "Full URL to your Vimeo page"
|
2191 |
msgstr ""
|
2192 |
|
2193 |
+
#: themes/foundation/modules/social-links/social-links.php:72
|
2194 |
msgid "Full URL to your %s profile"
|
2195 |
msgstr ""
|
2196 |
|
2197 |
+
#: themes/foundation/modules/social-links/social-links.php:79
|
2198 |
msgid "LinkedIn"
|
2199 |
msgstr ""
|
2200 |
|
2201 |
+
#: themes/foundation/modules/social-links/social-links.php:80
|
2202 |
msgid "Full URL to your LinkedIn profile"
|
2203 |
msgstr ""
|
2204 |
|
2205 |
+
#: themes/foundation/modules/social-links/social-links.php:88
|
2206 |
msgid "Full URL to your Yelp profile"
|
2207 |
msgstr ""
|
2208 |
|
2209 |
+
#: themes/foundation/modules/social-links/social-links.php:96
|
2210 |
msgid "E-Mail address"
|
2211 |
msgstr ""
|
2212 |
|
2213 |
+
#: themes/foundation/modules/social-links/social-links.php:104
|
2214 |
msgid "Full URL to your RSS feed"
|
2215 |
msgstr ""
|
2216 |
|
2219 |
msgstr ""
|
2220 |
|
2221 |
#: themes/foundation/modules/tablets/tablets.php:64
|
2222 |
+
#: themes/foundation/root-functions.php:462
|
2223 |
msgid "%d by %d pixels (PNG)"
|
2224 |
msgstr ""
|
2225 |
|
2243 |
msgid "Language: "
|
2244 |
msgstr ""
|
2245 |
|
2246 |
+
#: themes/foundation/root-functions.php:386
|
2247 |
msgid "Theme Colors"
|
2248 |
msgstr ""
|
2249 |
|
2250 |
+
#: themes/foundation/root-functions.php:402
|
2251 |
msgid "Number of posts in post listings"
|
2252 |
msgstr ""
|
2253 |
|
2254 |
+
#: themes/foundation/root-functions.php:403
|
2255 |
msgid ""
|
2256 |
"Overrides the WordPress Reading settings for \"Blog pages show at most\""
|
2257 |
msgstr ""
|
2258 |
|
2259 |
+
#: themes/foundation/root-functions.php:415
|
2260 |
msgid "Excluded categories"
|
2261 |
msgstr ""
|
2262 |
|
2263 |
+
#: themes/foundation/root-functions.php:416
|
2264 |
msgid "Comma separated by category name"
|
2265 |
msgstr ""
|
2266 |
|
2267 |
+
#: themes/foundation/root-functions.php:423
|
2268 |
msgid "Excluded tags"
|
2269 |
msgstr ""
|
2270 |
|
2271 |
+
#: themes/foundation/root-functions.php:424
|
2272 |
msgid "Comma separated by tag name"
|
2273 |
msgstr ""
|
2274 |
|
2275 |
+
#: themes/foundation/root-functions.php:435
|
2276 |
msgid "Blog"
|
2277 |
msgstr ""
|
2278 |
|
2279 |
+
#: themes/foundation/root-functions.php:445
|
2280 |
+
#: themes/foundation/root-functions.php:1212
|
2281 |
msgid "Pages"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
+
#: themes/foundation/root-functions.php:456
|
2285 |
msgid "Site Icon"
|
2286 |
msgstr ""
|
2287 |
|
2288 |
+
#: themes/foundation/root-functions.php:480
|
2289 |
msgid "Site Logo"
|
2290 |
msgstr ""
|
2291 |
|
2292 |
+
#: themes/foundation/root-functions.php:492
|
2293 |
msgid "Header"
|
2294 |
msgstr ""
|
2295 |
|
2296 |
+
#: themes/foundation/root-functions.php:504
|
2297 |
msgid "Footer"
|
2298 |
msgstr ""
|
2299 |
|
2300 |
+
#: themes/foundation/root-functions.php:510
|
2301 |
msgid "Custom footer content (HTML is allowed)"
|
2302 |
msgstr ""
|
2303 |
|
2304 |
+
#: themes/foundation/root-functions.php:525
|
2305 |
msgid "Custom CSS"
|
2306 |
msgstr ""
|
2307 |
|
2308 |
+
#: themes/foundation/root-functions.php:531
|
2309 |
msgid "Custom CSS Declarations"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
+
#: themes/foundation/root-functions.php:877
|
2313 |
msgid "search results for '%s'"
|
2314 |
msgstr ""
|
2315 |
|
2316 |
+
#: themes/foundation/root-functions.php:879
|
2317 |
msgid "%sCategories ›%s %s"
|
2318 |
msgstr ""
|
2319 |
|
2320 |
+
#: themes/foundation/root-functions.php:881
|
2321 |
msgid "Tags › %s"
|
2322 |
msgstr ""
|
2323 |
|
2324 |
+
#: themes/foundation/root-functions.php:883
|
2325 |
+
#: themes/foundation/root-functions.php:885
|
2326 |
#: themes/foundation/root-functions.php:887
|
|
|
|
|
2327 |
msgid "Archives › %s"
|
2328 |
msgstr ""
|
2329 |
|
2330 |
+
#: themes/foundation/root-functions.php:902
|
2331 |
msgid "Load more from this category"
|
2332 |
msgstr ""
|
2333 |
|
2334 |
+
#: themes/foundation/root-functions.php:904
|
2335 |
msgid "Load more tagged like this"
|
2336 |
msgstr ""
|
2337 |
|
2338 |
+
#: themes/foundation/root-functions.php:906
|
2339 |
msgid "Load more from this day"
|
2340 |
msgstr ""
|
2341 |
|
2342 |
+
#: themes/foundation/root-functions.php:908
|
2343 |
msgid "Load more from this month"
|
2344 |
msgstr ""
|
2345 |
|
2346 |
+
#: themes/foundation/root-functions.php:910
|
2347 |
msgid "Load more from this year"
|
2348 |
msgstr ""
|
2349 |
|
2350 |
+
#: themes/foundation/root-functions.php:912
|
2351 |
msgid "Load more in this section"
|
2352 |
msgstr ""
|
2353 |
|
2354 |
+
#: themes/foundation/root-functions.php:914
|
2355 |
msgid "Load more entries"
|
2356 |
msgstr ""
|
2357 |
|
2358 |
+
#: themes/foundation/root-functions.php:1161
|
2359 |
msgid "Post"
|
2360 |
msgstr ""
|
2361 |
|
2362 |
+
#: themes/foundation/root-functions.php:1163
|
2363 |
msgid "Page"
|
2364 |
msgstr ""
|
2365 |
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: bravenewcode, duanestorey, dalemugford, mkuplens
|
3 |
Tags: wptouch, iphone, ipod, bravenewcode, mobile, mobile-friendly, android, blackberry, smartphone, responsive, design, mobile plugin, ios, mobile theme
|
4 |
Requires at least: 4.0
|
5 |
-
Stable tag: 4.
|
6 |
-
Tested up to: 4.
|
7 |
License: GPLv2
|
8 |
|
9 |
Make your WordPress website mobile-friendly with just a few clicks.
|
@@ -33,12 +33,23 @@ For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wp
|
|
33 |
|
34 |
== Changelog ==
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
= Version 4.0.4 (February 29, 2016) =
|
37 |
|
38 |
* New: Featured slider settings to control display of # of comments
|
39 |
* New: Featured slider option for more minimal slider appearance
|
|
|
40 |
* Changed: Minor styling enhancements and fixes
|
|
|
|
|
41 |
* Fixed: Minor styling issues
|
|
|
42 |
* Updated: Opera users agents to better specify supported opera versions and platforms
|
43 |
|
44 |
= Version 4.0.3 (January 19, 2016) =
|
2 |
Contributors: bravenewcode, duanestorey, dalemugford, mkuplens
|
3 |
Tags: wptouch, iphone, ipod, bravenewcode, mobile, mobile-friendly, android, blackberry, smartphone, responsive, design, mobile plugin, ios, mobile theme
|
4 |
Requires at least: 4.0
|
5 |
+
Stable tag: 4.1
|
6 |
+
Tested up to: 4.5
|
7 |
License: GPLv2
|
8 |
|
9 |
Make your WordPress website mobile-friendly with just a few clicks.
|
33 |
|
34 |
== Changelog ==
|
35 |
|
36 |
+
= Version 4.1 (March 24, 2016) =
|
37 |
+
|
38 |
+
* New: New filters to support AMP extension in WPtouch Pro
|
39 |
+
* Changed: Streamlined wizard experience
|
40 |
+
* Fixed: Case where featured posts would always be repeated in listing if featured slider was set to show only 1 post
|
41 |
+
* Fixed: Error when page was not found
|
42 |
+
|
43 |
= Version 4.0.4 (February 29, 2016) =
|
44 |
|
45 |
* New: Featured slider settings to control display of # of comments
|
46 |
* New: Featured slider option for more minimal slider appearance
|
47 |
+
* Changed: Added styling for some rarer html elements, and updated others (ol, code, pre etc.)
|
48 |
* Changed: Minor styling enhancements and fixes
|
49 |
+
* Fixed: Load more posts on custom posts page did not load posts in certain configurations
|
50 |
+
* Fixed: Retain WPML language parameter when redirecting to mobile landing page
|
51 |
* Fixed: Minor styling issues
|
52 |
+
* Fixed: Toggle fields not saving on some server configurations
|
53 |
* Updated: Opera users agents to better specify supported opera versions and platforms
|
54 |
|
55 |
= Version 4.0.3 (January 19, 2016) =
|
themes/bauhaus/default/header-bottom.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<div id="menu" class="wptouch-menu show-hide-menu">
|
3 |
<?php if ( wptouch_has_menu( 'primary_menu' ) ) { wptouch_show_menu( 'primary_menu' ); } ?>
|
4 |
|
5 |
-
<?php if (
|
6 |
<ul class="menu-tree login-link">
|
7 |
<li>
|
8 |
<?php if ( !is_user_logged_in() ) { ?>
|
2 |
<div id="menu" class="wptouch-menu show-hide-menu">
|
3 |
<?php if ( wptouch_has_menu( 'primary_menu' ) ) { wptouch_show_menu( 'primary_menu' ); } ?>
|
4 |
|
5 |
+
<?php if ( wptouch_fdn_show_login() ) { ?>
|
6 |
<ul class="menu-tree login-link">
|
7 |
<li>
|
8 |
<?php if ( !is_user_logged_in() ) { ?>
|
themes/bauhaus/default/style.css
CHANGED
@@ -1,5 +1,3 @@
|
|
1 |
-
/* @override http://wptp3.local.com/wp-content/wptouch-data/themes/bauhaus/default/style.css?ver=8592ce708d0f07d31806215760a95116 */
|
2 |
-
|
3 |
/* Bauhaus CSS */
|
4 |
|
5 |
/*
|
|
|
|
|
1 |
/* Bauhaus CSS */
|
2 |
|
3 |
/*
|
themes/bauhaus/readme.txt
CHANGED
@@ -25,6 +25,7 @@ Bauhaus is one of our more flexible themes, and is designed to easily take on th
|
|
25 |
|
26 |
= Version 1.6.4 =
|
27 |
|
|
|
28 |
* Added: Featured slider settings to control display of # of comments
|
29 |
* Added: Featured slider option for more minimal slider appearance
|
30 |
* Changed: Minor styling enhancements and fixes
|
25 |
|
26 |
= Version 1.6.4 =
|
27 |
|
28 |
+
* Added: Support for the new AMP extension
|
29 |
* Added: Featured slider settings to control display of # of comments
|
30 |
* Added: Featured slider option for more minimal slider appearance
|
31 |
* Changed: Minor styling enhancements and fixes
|
themes/bauhaus/root-functions.php
CHANGED
@@ -95,6 +95,7 @@ function bauhaus_theme_init() {
|
|
95 |
'sharing',
|
96 |
'social-links',
|
97 |
'featured',
|
|
|
98 |
// Modules w/o settings
|
99 |
'menu',
|
100 |
'spinjs',
|
@@ -403,4 +404,34 @@ function bauhaus_if_off_canvas_enabled(){
|
|
403 |
if ( $settings->bauhaus_menu_style == 'off-canvas' ) {
|
404 |
foundation_add_theme_support( 'pushit' );
|
405 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
}
|
95 |
'sharing',
|
96 |
'social-links',
|
97 |
'featured',
|
98 |
+
'login',
|
99 |
// Modules w/o settings
|
100 |
'menu',
|
101 |
'spinjs',
|
404 |
if ( $settings->bauhaus_menu_style == 'off-canvas' ) {
|
405 |
foundation_add_theme_support( 'pushit' );
|
406 |
}
|
407 |
+
}
|
408 |
+
|
409 |
+
add_filter( 'wptouch_amp_header_color', 'bauhaus_amp_header_color' );
|
410 |
+
function bauhaus_amp_header_color( $color ) {
|
411 |
+
$settings = bauhaus_get_settings();
|
412 |
+
return $settings->bauhaus_header_color;
|
413 |
+
}
|
414 |
+
|
415 |
+
add_filter( 'wptouch_amp_link_color', 'bauhaus_amp_link_color' );
|
416 |
+
function bauhaus_amp_link_color( $color ) {
|
417 |
+
$settings = bauhaus_get_settings();
|
418 |
+
return $settings->bauhaus_link_color;
|
419 |
+
}
|
420 |
+
|
421 |
+
add_filter( 'wptouch_amp_show_author', 'bauhaus_amp_show_author' );
|
422 |
+
function bauhaus_amp_show_author() {
|
423 |
+
$settings = bauhaus_get_settings();
|
424 |
+
return $settings->bauhaus_show_author;
|
425 |
+
}
|
426 |
+
|
427 |
+
add_filter( 'wptouch_amp_show_date', 'bauhaus_amp_show_date' );
|
428 |
+
function bauhaus_amp_show_date() {
|
429 |
+
$settings = bauhaus_get_settings();
|
430 |
+
return $settings->bauhaus_show_date;
|
431 |
+
}
|
432 |
+
|
433 |
+
add_filter( 'wptouch_amp_show_taxonomy', 'bauhaus_amp_show_taxonomy' );
|
434 |
+
function bauhaus_amp_show_taxonomy() {
|
435 |
+
$settings = bauhaus_get_settings();
|
436 |
+
return $settings->bauhaus_show_taxonomy;
|
437 |
}
|
themes/foundation/modules/custom-latest-posts/custom-latest-posts.php
CHANGED
@@ -19,7 +19,7 @@ function wptouch_custom_latest_post_filter( $query_vars ) {
|
|
19 |
}
|
20 |
}
|
21 |
|
22 |
-
if ( isset( $dummy_query->queried_object_id ) && apply_filters( 'foundation_is_custom_latest_posts_page', ( $settings->latest_posts_page == $dummy_query->queried_object_id ) ) ) {
|
23 |
if ( isset( $query_vars[ 'paged' ] ) ) {
|
24 |
$paged = $query_vars[ 'paged' ];
|
25 |
} elseif ( isset( $query_vars[ 'page' ] ) ) {
|
@@ -68,7 +68,7 @@ function wptouch_fdn_is_custom_latest_posts_page() {
|
|
68 |
wptouch_the_post();
|
69 |
rewind_posts();
|
70 |
|
71 |
-
return apply_filters( 'foundation_is_custom_latest_posts_page', ( $settings->latest_posts_page == $post->ID ) );
|
72 |
}
|
73 |
}
|
74 |
|
19 |
}
|
20 |
}
|
21 |
|
22 |
+
if ( isset( $dummy_query->queried_object_id ) && apply_filters( 'foundation_is_custom_latest_posts_page', ( $settings->latest_posts_page == $dummy_query->queried_object_id ), $settings->latest_posts_page, $dummy_query->queried_object_id ) ) {
|
23 |
if ( isset( $query_vars[ 'paged' ] ) ) {
|
24 |
$paged = $query_vars[ 'paged' ];
|
25 |
} elseif ( isset( $query_vars[ 'page' ] ) ) {
|
68 |
wptouch_the_post();
|
69 |
rewind_posts();
|
70 |
|
71 |
+
return apply_filters( 'foundation_is_custom_latest_posts_page', ( $settings->latest_posts_page == $post->ID ), $settings->latest_posts_page, $post->ID );
|
72 |
}
|
73 |
}
|
74 |
|
themes/foundation/modules/featured/featured.php
CHANGED
@@ -4,8 +4,6 @@ add_action( 'wp_loaded', 'foundation_featured_setup' );
|
|
4 |
add_action( 'foundation_module_init_mobile', 'foundation_featured_init' );
|
5 |
add_action( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'foundation_featured_settings' );
|
6 |
|
7 |
-
define( 'FOUNDATION_FEATURED_MIN_NUM', 2 );
|
8 |
-
|
9 |
global $foundation_featured_args;
|
10 |
global $foundation_featured_posts;
|
11 |
|
@@ -44,9 +42,9 @@ function foundation_featured_setup() {
|
|
44 |
$args = foundation_featured_get_args();
|
45 |
|
46 |
$slides = foundation_featured_get_slides();
|
47 |
-
|
48 |
if ( $slides->post_count > 0 ) {
|
49 |
-
while ( $slides->have_posts() && $slide_count < $args[ 'num' ] ) {
|
50 |
$slides->the_post();
|
51 |
$image = foundation_featured_has_image();
|
52 |
if ( apply_filters( 'wptouch_has_post_thumbnail', $image ) ) {
|
@@ -85,10 +83,6 @@ function foundation_featured_modify_query( $query ) {
|
|
85 |
|
86 |
global $foundation_featured_posts;
|
87 |
|
88 |
-
if ( count( $foundation_featured_posts ) < FOUNDATION_FEATURED_MIN_NUM ) {
|
89 |
-
return $query;
|
90 |
-
}
|
91 |
-
|
92 |
$post_array = array();
|
93 |
|
94 |
foreach( $foundation_featured_posts as $post_id ) {
|
@@ -113,7 +107,7 @@ function foundation_featured_get_args() {
|
|
113 |
'show_dots' => true, // might not be needed
|
114 |
'before' => '',
|
115 |
'after' => '',
|
116 |
-
'max_search' =>
|
117 |
'ignore_sticky_posts' => 1
|
118 |
);
|
119 |
// Parse defaults into arguments
|
@@ -133,10 +127,10 @@ function foundation_featured_get_slides() {
|
|
133 |
$new_posts = false;
|
134 |
switch( $settings->featured_type ) {
|
135 |
case 'tag':
|
136 |
-
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'posts_per_page' => $args[ 'max_search' ], 'tag' => $settings->featured_tag ) );
|
137 |
break;
|
138 |
case 'category':
|
139 |
-
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'posts_per_page' => $args[ 'max_search' ], 'category_name' => $settings->featured_category ) );
|
140 |
break;
|
141 |
case 'posts':
|
142 |
if ( function_exists( 'wptouch_custom_posts_add_to_search' ) ) {
|
@@ -146,11 +140,11 @@ function foundation_featured_get_slides() {
|
|
146 |
}
|
147 |
$post_ids = explode( ',', str_replace( ' ', '', $settings->featured_post_ids ) );
|
148 |
if ( is_array( $post_ids ) && count( $post_ids ) ) {
|
149 |
-
$new_posts = new WP_Query( array( 'post__in' => $post_ids, 'posts_per_page' => $args[ 'max_search' ], 'post_type' => $post_types, 'orderby' => 'post__in' ) );
|
150 |
}
|
151 |
break;
|
152 |
case 'post_type':
|
153 |
-
$new_posts = new WP_Query( 'post_type
|
154 |
break;
|
155 |
case 'latest':
|
156 |
default:
|
@@ -158,7 +152,7 @@ function foundation_featured_get_slides() {
|
|
158 |
}
|
159 |
|
160 |
if ( !$new_posts ) {
|
161 |
-
$new_posts = new WP_Query( 'posts_per_page
|
162 |
}
|
163 |
|
164 |
return $new_posts;
|
@@ -251,6 +245,7 @@ function foundation_featured_get_slider_classes() {
|
|
251 |
|
252 |
function foundation_featured_slider( $manual = false, $manual_html = false ) {
|
253 |
global $foundation_featured_posts;
|
|
|
254 |
$args = foundation_featured_get_args();
|
255 |
|
256 |
if ( featured_should_show_slider() ) {
|
@@ -262,7 +257,7 @@ function foundation_featured_slider( $manual = false, $manual_html = false ) {
|
|
262 |
$post_types = array( 'post', 'page' );
|
263 |
}
|
264 |
|
265 |
-
$slides = new WP_Query( array( 'ignore_sticky_posts' => 1, 'post__in' => $foundation_featured_posts, 'post_type' => $post_types ) );
|
266 |
|
267 |
if ( $slides->post_count > 0 ) {
|
268 |
echo $args['before'];
|
@@ -308,7 +303,7 @@ function foundation_featured_settings( $page_options ) {
|
|
308 |
|
309 |
if ( $wptouch_pro->get_current_theme() == 'bauhaus' ) {
|
310 |
$featured_enhanced_setting = array(
|
311 |
-
|
312 |
'list',
|
313 |
'featured_style',
|
314 |
__( 'Featured slider style', 'wptouch-pro' ),
|
@@ -317,7 +312,7 @@ function foundation_featured_settings( $page_options ) {
|
|
317 |
'2.0',
|
318 |
array(
|
319 |
'enhanced' => __( 'Enhanced', 'wptouch-pro' ),
|
320 |
-
'
|
321 |
)
|
322 |
)
|
323 |
);
|
@@ -339,7 +334,7 @@ function foundation_featured_settings( $page_options ) {
|
|
339 |
'step' => 1
|
340 |
)
|
341 |
),
|
342 |
-
|
343 |
'checkbox',
|
344 |
'featured_comments',
|
345 |
__( 'Show # of comments', 'wptouch-pro' ),
|
4 |
add_action( 'foundation_module_init_mobile', 'foundation_featured_init' );
|
5 |
add_action( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'foundation_featured_settings' );
|
6 |
|
|
|
|
|
7 |
global $foundation_featured_args;
|
8 |
global $foundation_featured_posts;
|
9 |
|
42 |
$args = foundation_featured_get_args();
|
43 |
|
44 |
$slides = foundation_featured_get_slides();
|
45 |
+
$slide_count = 0;
|
46 |
if ( $slides->post_count > 0 ) {
|
47 |
+
while ( $slides->have_posts() ) {//} && $slide_count < $args[ 'num' ] ) {
|
48 |
$slides->the_post();
|
49 |
$image = foundation_featured_has_image();
|
50 |
if ( apply_filters( 'wptouch_has_post_thumbnail', $image ) ) {
|
83 |
|
84 |
global $foundation_featured_posts;
|
85 |
|
|
|
|
|
|
|
|
|
86 |
$post_array = array();
|
87 |
|
88 |
foreach( $foundation_featured_posts as $post_id ) {
|
107 |
'show_dots' => true, // might not be needed
|
108 |
'before' => '',
|
109 |
'after' => '',
|
110 |
+
'max_search' => $max_posts * 1.5,
|
111 |
'ignore_sticky_posts' => 1
|
112 |
);
|
113 |
// Parse defaults into arguments
|
127 |
$new_posts = false;
|
128 |
switch( $settings->featured_type ) {
|
129 |
case 'tag':
|
130 |
+
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'posts_per_page' => $args[ 'max_search' ], 'tag' => $settings->featured_tag, 'meta_query' => array( array('key' => '_thumbnail_id') ) ) );
|
131 |
break;
|
132 |
case 'category':
|
133 |
+
$new_posts = new WP_Query( array( 'ignore_sticky_posts' => 1, 'posts_per_page' => $args[ 'max_search' ], 'category_name' => $settings->featured_category, 'meta_query' => array( array('key' => '_thumbnail_id') ) ) );
|
134 |
break;
|
135 |
case 'posts':
|
136 |
if ( function_exists( 'wptouch_custom_posts_add_to_search' ) ) {
|
140 |
}
|
141 |
$post_ids = explode( ',', str_replace( ' ', '', $settings->featured_post_ids ) );
|
142 |
if ( is_array( $post_ids ) && count( $post_ids ) ) {
|
143 |
+
$new_posts = new WP_Query( array( 'post__in' => $post_ids, 'posts_per_page' => $args[ 'max_search' ], 'post_type' => $post_types, 'orderby' => 'post__in' , 'meta_query' => array( array('key' => '_thumbnail_id') ) ) );
|
144 |
}
|
145 |
break;
|
146 |
case 'post_type':
|
147 |
+
$new_posts = new WP_Query( array( 'post_type' => $settings->featured_post_type, 'posts_per_page' => $args[ 'max_search' ], 'meta_query' => array( array('key' => '_thumbnail_id') ) ) );
|
148 |
break;
|
149 |
case 'latest':
|
150 |
default:
|
152 |
}
|
153 |
|
154 |
if ( !$new_posts ) {
|
155 |
+
$new_posts = new WP_Query( array( 'posts_per_page' => $args[ 'max_search' ], 'meta_query' => array( array( 'key' => '_thumbnail_id' ) ) ) );
|
156 |
}
|
157 |
|
158 |
return $new_posts;
|
245 |
|
246 |
function foundation_featured_slider( $manual = false, $manual_html = false ) {
|
247 |
global $foundation_featured_posts;
|
248 |
+
$settings = foundation_get_settings();
|
249 |
$args = foundation_featured_get_args();
|
250 |
|
251 |
if ( featured_should_show_slider() ) {
|
257 |
$post_types = array( 'post', 'page' );
|
258 |
}
|
259 |
|
260 |
+
$slides = new WP_Query( array( 'ignore_sticky_posts' => 1, 'post__in' => $foundation_featured_posts, 'post_type' => $post_types, 'posts_per_page' => $settings->featured_max_number_of_posts ) );
|
261 |
|
262 |
if ( $slides->post_count > 0 ) {
|
263 |
echo $args['before'];
|
303 |
|
304 |
if ( $wptouch_pro->get_current_theme() == 'bauhaus' ) {
|
305 |
$featured_enhanced_setting = array(
|
306 |
+
wptouch_add_setting(
|
307 |
'list',
|
308 |
'featured_style',
|
309 |
__( 'Featured slider style', 'wptouch-pro' ),
|
312 |
'2.0',
|
313 |
array(
|
314 |
'enhanced' => __( 'Enhanced', 'wptouch-pro' ),
|
315 |
+
'streamlined' => __( 'Streamlined', 'wptouch-pro' )
|
316 |
)
|
317 |
)
|
318 |
);
|
334 |
'step' => 1
|
335 |
)
|
336 |
),
|
337 |
+
wptouch_add_setting(
|
338 |
'checkbox',
|
339 |
'featured_comments',
|
340 |
__( 'Show # of comments', 'wptouch-pro' ),
|
themes/foundation/modules/google-fonts/google-fonts.php
CHANGED
@@ -3,6 +3,7 @@ add_action( 'init', 'foundation_google_fonts_enable' );
|
|
3 |
add_action( 'foundation_module_init_mobile', 'foundation_google_fonts_enable', 5 );
|
4 |
add_action( 'foundation_module_init_mobile', 'foundation_google_fonts_init' );
|
5 |
add_action( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'foundation_admin_panel' );
|
|
|
6 |
|
7 |
global $google_fonts_enabled;
|
8 |
|
@@ -85,6 +86,7 @@ function foundation_google_fonts_init() {
|
|
85 |
}
|
86 |
|
87 |
$selected_font_info = foundation_google_fonts_get_selected_info();
|
|
|
88 |
if ( $selected_font_info ) {
|
89 |
$family_string = '';
|
90 |
$inline_style_data = '';
|
@@ -97,14 +99,9 @@ function foundation_google_fonts_init() {
|
|
97 |
$selected_font_info = array_slice( $selected_font_info, 0, 2 );
|
98 |
}
|
99 |
|
100 |
-
|
101 |
-
$font_string = htmlentities( $font_info->name );
|
102 |
-
if ( isset( $font_info->variants ) && is_array( $font_info->variants ) ) {
|
103 |
-
$font_string .= ':' . implode( ',', $font_info->variants );
|
104 |
-
}
|
105 |
-
|
106 |
-
$new_families[] = $font_string;
|
107 |
|
|
|
108 |
$inline_style_data .= "." . $font_info->selector . "-font" . "{\n";
|
109 |
$inline_style_data .= "\t font-family: '" . $font_info->name . "', " . $font_info->fallback . ";\n";
|
110 |
$inline_style_data .= "}\n";
|
@@ -130,6 +127,22 @@ function foundation_google_fonts_init() {
|
|
130 |
}
|
131 |
}
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
global $wptouch_google_fonts;
|
134 |
$wptouch_google_fonts = array();
|
135 |
|
3 |
add_action( 'foundation_module_init_mobile', 'foundation_google_fonts_enable', 5 );
|
4 |
add_action( 'foundation_module_init_mobile', 'foundation_google_fonts_init' );
|
5 |
add_action( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'foundation_admin_panel' );
|
6 |
+
add_filter( 'wptouch_amp_get_fonts', 'foundation_build_google_fonts' );
|
7 |
|
8 |
global $google_fonts_enabled;
|
9 |
|
86 |
}
|
87 |
|
88 |
$selected_font_info = foundation_google_fonts_get_selected_info();
|
89 |
+
|
90 |
if ( $selected_font_info ) {
|
91 |
$family_string = '';
|
92 |
$inline_style_data = '';
|
99 |
$selected_font_info = array_slice( $selected_font_info, 0, 2 );
|
100 |
}
|
101 |
|
102 |
+
$new_families = foundation_build_google_fonts();
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
+
foreach( $selected_font_info as $font_info ) {
|
105 |
$inline_style_data .= "." . $font_info->selector . "-font" . "{\n";
|
106 |
$inline_style_data .= "\t font-family: '" . $font_info->name . "', " . $font_info->fallback . ";\n";
|
107 |
$inline_style_data .= "}\n";
|
127 |
}
|
128 |
}
|
129 |
|
130 |
+
function foundation_build_google_fonts( $fonts = array() ) {
|
131 |
+
$selected_font_info = foundation_google_fonts_get_selected_info();
|
132 |
+
if ( is_array( $selected_font_info ) ) {
|
133 |
+
foreach( $selected_font_info as $font_info ) {
|
134 |
+
$font_string = htmlentities( $font_info->name );
|
135 |
+
if ( isset( $font_info->variants ) && is_array( $font_info->variants ) ) {
|
136 |
+
$font_string .= ':' . implode( ',', $font_info->variants );
|
137 |
+
}
|
138 |
+
|
139 |
+
$fonts[ $font_info->selector ] = $font_string;
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
return $fonts;
|
144 |
+
}
|
145 |
+
|
146 |
global $wptouch_google_fonts;
|
147 |
$wptouch_google_fonts = array();
|
148 |
|
themes/foundation/modules/login/login.php
CHANGED
@@ -1,72 +1,24 @@
|
|
1 |
<?php
|
2 |
|
3 |
// Actions
|
4 |
-
|
5 |
-
add_action( 'foundation_module_init_mobile', 'foundation_login_init' );
|
6 |
-
add_action( 'wptouch_post_footer', 'foundation_add_login_form' );
|
7 |
|
8 |
-
|
9 |
-
|
10 |
-
// Load JS
|
11 |
-
if ( wptouch_fdn_show_login() ) {
|
12 |
-
wp_enqueue_script(
|
13 |
-
'foundation_login_jquery',
|
14 |
-
foundation_get_base_module_url() . '/login/wptouch-login.js',
|
15 |
-
array( 'jquery' ),
|
16 |
-
md5( FOUNDATION_VERSION ),
|
17 |
-
true
|
18 |
-
);
|
19 |
-
}
|
20 |
-
|
21 |
-
$fdn_login_strings = array(
|
22 |
-
'username_text' => __( 'Account Username', 'wptouch-pro' ),
|
23 |
-
'password_text' => __( 'Account Password', 'wptouch-pro' )
|
24 |
-
);
|
25 |
-
|
26 |
-
wp_localize_script( 'foundation_login_jquery', 'wptouchFdnLogin', $fdn_login_strings );
|
27 |
-
}
|
28 |
-
|
29 |
-
function foundation_login_settings( $page_options ) {
|
30 |
-
wptouch_add_page_section(
|
31 |
-
FOUNDATION_PAGE_GENERAL,
|
32 |
-
__( 'Login Form', 'wptouch-pro' ),
|
33 |
-
'login-options',
|
34 |
-
array(
|
35 |
-
wptouch_add_setting(
|
36 |
'checkbox',
|
37 |
'show_login_box',
|
38 |
-
__( '
|
39 |
__( 'Will add login/out links', 'wptouch-pro' ),
|
40 |
WPTOUCH_SETTING_BASIC,
|
41 |
'2.0'
|
42 |
-
)
|
43 |
-
wptouch_add_setting(
|
44 |
-
'checkbox',
|
45 |
-
'show_login_links',
|
46 |
-
__( 'Include "Sign-up" and "Lost Password?" links', 'wptouch-pro' ),
|
47 |
-
'',
|
48 |
-
WPTOUCH_SETTING_BASIC,
|
49 |
-
'2.0'
|
50 |
-
)
|
51 |
|
52 |
-
|
53 |
-
$page_options,
|
54 |
-
FOUNDATION_SETTING_DOMAIN
|
55 |
-
);
|
56 |
-
|
57 |
-
return $page_options;
|
58 |
-
}
|
59 |
-
|
60 |
-
function foundation_add_login_form(){
|
61 |
-
if ( wptouch_fdn_show_login() ) {
|
62 |
-
$content = wptouch_capture_include_file( dirname( __FILE__ ) . '/login-html.php' );
|
63 |
-
echo $content;
|
64 |
-
}
|
65 |
}
|
66 |
|
67 |
// Can be used in themes (public)
|
68 |
function wptouch_fdn_show_login(){
|
69 |
-
$settings =
|
70 |
if ( $settings->show_login_box ) {
|
71 |
return true;
|
72 |
} else {
|
1 |
<?php
|
2 |
|
3 |
// Actions
|
4 |
+
add_filter( 'wptouch_foundation_menu_options', 'foundation_login_settings' );
|
|
|
|
|
5 |
|
6 |
+
function foundation_login_settings( $menu_settings ) {
|
7 |
+
$menu_settings[] = wptouch_add_setting(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
'checkbox',
|
9 |
'show_login_box',
|
10 |
+
__( 'Show login in menu', 'wptouch-pro' ),
|
11 |
__( 'Will add login/out links', 'wptouch-pro' ),
|
12 |
WPTOUCH_SETTING_BASIC,
|
13 |
'2.0'
|
14 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
+
return $menu_settings;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
18 |
|
19 |
// Can be used in themes (public)
|
20 |
function wptouch_fdn_show_login(){
|
21 |
+
$settings = wptouch_get_settings();
|
22 |
if ( $settings->show_login_box ) {
|
23 |
return true;
|
24 |
} else {
|
themes/foundation/modules/owlcarousel/assets/owl.carousel.css
CHANGED
@@ -1,43 +1,34 @@
|
|
1 |
-
/*
|
2 |
* Owl Carousel - Animate Plugin
|
3 |
*/
|
4 |
.owl-carousel .animated {
|
5 |
-webkit-animation-duration: 1000ms;
|
6 |
animation-duration: 1000ms;
|
7 |
-webkit-animation-fill-mode: both;
|
8 |
-
animation-fill-mode: both;
|
9 |
-
}
|
10 |
.owl-carousel .owl-animated-in {
|
11 |
-
z-index: 0;
|
12 |
-
}
|
13 |
.owl-carousel .owl-animated-out {
|
14 |
-
z-index: 1;
|
15 |
-
}
|
16 |
.owl-carousel .fadeOut {
|
17 |
-webkit-animation-name: fadeOut;
|
18 |
-
animation-name: fadeOut;
|
19 |
-
}
|
20 |
|
21 |
@-webkit-keyframes fadeOut {
|
22 |
0% {
|
23 |
-
opacity: 1;
|
24 |
-
}
|
25 |
|
26 |
100% {
|
27 |
-
opacity: 0;
|
28 |
-
|
29 |
-
}
|
30 |
@keyframes fadeOut {
|
31 |
0% {
|
32 |
-
opacity: 1;
|
33 |
-
}
|
34 |
|
35 |
100% {
|
36 |
-
opacity: 0;
|
37 |
-
}
|
38 |
-
}
|
39 |
|
40 |
-
/*
|
41 |
* Owl Carousel - Auto Height Plugin
|
42 |
*/
|
43 |
.owl-height {
|
@@ -45,10 +36,9 @@
|
|
45 |
-moz-transition: height 500ms ease-in-out;
|
46 |
-ms-transition: height 500ms ease-in-out;
|
47 |
-o-transition: height 500ms ease-in-out;
|
48 |
-
transition: height 500ms ease-in-out;
|
49 |
-
}
|
50 |
|
51 |
-
/*
|
52 |
* Core Owl Carousel CSS File
|
53 |
*/
|
54 |
.owl-carousel {
|
@@ -57,93 +47,73 @@
|
|
57 |
-webkit-tap-highlight-color: transparent;
|
58 |
/* position relative and z-index fix webkit rendering fonts issue */
|
59 |
position: relative;
|
60 |
-
z-index: 1;
|
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 |
-
.owl-carousel .owl-item {
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
-
|
120 |
-
}
|
121 |
-
.owl-carousel.owl-text-select-on .owl-item {
|
122 |
-
-webkit-user-select: auto;
|
123 |
-
-moz-user-select: auto;
|
124 |
-
-ms-user-select: auto;
|
125 |
-
user-select: auto;
|
126 |
-
}
|
127 |
-
.owl-carousel .owl-grab {
|
128 |
-
cursor: move;
|
129 |
-
cursor: -webkit-grab;
|
130 |
-
cursor: -o-grab;
|
131 |
-
cursor: -ms-grab;
|
132 |
-
cursor: grab;
|
133 |
-
}
|
134 |
-
.owl-carousel.owl-rtl {
|
135 |
-
direction: rtl;
|
136 |
-
}
|
137 |
-
.owl-carousel.owl-rtl .owl-item {
|
138 |
-
float: right;
|
139 |
-
}
|
140 |
|
141 |
/* No Js */
|
142 |
.no-js .owl-carousel {
|
143 |
-
display: block;
|
144 |
-
}
|
145 |
|
146 |
-
/*
|
147 |
* Owl Carousel - Lazy Load Plugin
|
148 |
*/
|
149 |
.owl-carousel .owl-item .owl-lazy {
|
@@ -152,20 +122,17 @@
|
|
152 |
-moz-transition: opacity 400ms ease;
|
153 |
-ms-transition: opacity 400ms ease;
|
154 |
-o-transition: opacity 400ms ease;
|
155 |
-
transition: opacity 400ms ease;
|
156 |
-
}
|
157 |
.owl-carousel .owl-item img {
|
158 |
-
transform-style: preserve-3d;
|
159 |
-
}
|
160 |
|
161 |
-
/*
|
162 |
* Owl Carousel - Video Plugin
|
163 |
*/
|
164 |
.owl-carousel .owl-video-wrapper {
|
165 |
position: relative;
|
166 |
height: 100%;
|
167 |
-
background: #000;
|
168 |
-
}
|
169 |
.owl-carousel .owl-video-play-icon {
|
170 |
position: absolute;
|
171 |
height: 80px;
|
@@ -182,19 +149,15 @@
|
|
182 |
-moz-transition: scale 100ms ease;
|
183 |
-ms-transition: scale 100ms ease;
|
184 |
-o-transition: scale 100ms ease;
|
185 |
-
transition: scale 100ms ease;
|
186 |
-
}
|
187 |
.owl-carousel .owl-video-play-icon:hover {
|
188 |
-webkit-transition: scale(1.3, 1.3);
|
189 |
-moz-transition: scale(1.3, 1.3);
|
190 |
-ms-transition: scale(1.3, 1.3);
|
191 |
-o-transition: scale(1.3, 1.3);
|
192 |
-
transition: scale(1.3, 1.3);
|
193 |
-
|
194 |
-
|
195 |
-
.owl-carousel .owl-video-playing .owl-video-play-icon {
|
196 |
-
display: none;
|
197 |
-
}
|
198 |
.owl-carousel .owl-video-tn {
|
199 |
opacity: 0;
|
200 |
height: 100%;
|
@@ -208,60 +171,9 @@
|
|
208 |
-moz-transition: opacity 400ms ease;
|
209 |
-ms-transition: opacity 400ms ease;
|
210 |
-o-transition: opacity 400ms ease;
|
211 |
-
transition: opacity 400ms ease;
|
212 |
-
}
|
213 |
.owl-carousel .owl-video-frame {
|
214 |
position: relative;
|
215 |
z-index: 1;
|
216 |
-
|
217 |
-
|
218 |
-
.owl-theme .owl-controls {
|
219 |
-
margin-top: 10px;
|
220 |
-
text-align: center;
|
221 |
-
-webkit-tap-highlight-color: transparent
|
222 |
-
}
|
223 |
-
.owl-theme .owl-controls .owl-nav [class*=owl-] {
|
224 |
-
color: #fff;
|
225 |
-
font-size: 14px;
|
226 |
-
margin: 5px;
|
227 |
-
padding: 4px 7px;
|
228 |
-
background: #d6d6d6;
|
229 |
-
display: inline-block;
|
230 |
-
cursor: pointer;
|
231 |
-
-webkit-border-radius: 3px;
|
232 |
-
-moz-border-radius: 3px;
|
233 |
-
border-radius: 3px
|
234 |
-
}
|
235 |
-
.owl-theme .owl-controls .owl-nav [class*=owl-]: hover {
|
236 |
-
background: #869791;
|
237 |
-
color: #fff;
|
238 |
-
text-decoration: none
|
239 |
-
}
|
240 |
-
.owl-theme .owl-controls .owl-nav .disabled {
|
241 |
-
opacity: .5;
|
242 |
-
cursor: default
|
243 |
-
}
|
244 |
-
.owl-theme .owl-dots .owl-dot {
|
245 |
-
display: inline-block;
|
246 |
-
zoom: 1;
|
247 |
-
*display: inline
|
248 |
-
}
|
249 |
-
.owl-theme .owl-dots .owl-dot span {
|
250 |
-
width: 10px;
|
251 |
-
height: 10px;
|
252 |
-
margin: 5px 7px;
|
253 |
-
background: #d6d6d6;
|
254 |
-
display: block;
|
255 |
-
-webkit-backface-visibility: visible;
|
256 |
-
-webkit-transition: opacity 200ms ease;
|
257 |
-
-moz-transition: opacity 200ms ease;
|
258 |
-
-ms-transition: opacity 200ms ease;
|
259 |
-
-o-transition: opacity 200ms ease;
|
260 |
-
transition: opacity 200ms ease;
|
261 |
-
-webkit-border-radius: 30px;
|
262 |
-
-moz-border-radius: 30px;
|
263 |
-
border-radius: 30px
|
264 |
-
}
|
265 |
-
.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot: hover span {
|
266 |
-
background: #869791
|
267 |
-
}
|
1 |
+
/*
|
2 |
* Owl Carousel - Animate Plugin
|
3 |
*/
|
4 |
.owl-carousel .animated {
|
5 |
-webkit-animation-duration: 1000ms;
|
6 |
animation-duration: 1000ms;
|
7 |
-webkit-animation-fill-mode: both;
|
8 |
+
animation-fill-mode: both; }
|
|
|
9 |
.owl-carousel .owl-animated-in {
|
10 |
+
z-index: 0; }
|
|
|
11 |
.owl-carousel .owl-animated-out {
|
12 |
+
z-index: 1; }
|
|
|
13 |
.owl-carousel .fadeOut {
|
14 |
-webkit-animation-name: fadeOut;
|
15 |
+
animation-name: fadeOut; }
|
|
|
16 |
|
17 |
@-webkit-keyframes fadeOut {
|
18 |
0% {
|
19 |
+
opacity: 1; }
|
|
|
20 |
|
21 |
100% {
|
22 |
+
opacity: 0; } }
|
23 |
+
|
|
|
24 |
@keyframes fadeOut {
|
25 |
0% {
|
26 |
+
opacity: 1; }
|
|
|
27 |
|
28 |
100% {
|
29 |
+
opacity: 0; } }
|
|
|
|
|
30 |
|
31 |
+
/*
|
32 |
* Owl Carousel - Auto Height Plugin
|
33 |
*/
|
34 |
.owl-height {
|
36 |
-moz-transition: height 500ms ease-in-out;
|
37 |
-ms-transition: height 500ms ease-in-out;
|
38 |
-o-transition: height 500ms ease-in-out;
|
39 |
+
transition: height 500ms ease-in-out; }
|
|
|
40 |
|
41 |
+
/*
|
42 |
* Core Owl Carousel CSS File
|
43 |
*/
|
44 |
.owl-carousel {
|
47 |
-webkit-tap-highlight-color: transparent;
|
48 |
/* position relative and z-index fix webkit rendering fonts issue */
|
49 |
position: relative;
|
50 |
+
z-index: 1; }
|
51 |
+
.owl-carousel .owl-stage {
|
52 |
+
position: relative;
|
53 |
+
-ms-touch-action: pan-Y; }
|
54 |
+
.owl-carousel .owl-stage:after {
|
55 |
+
content: ".";
|
56 |
+
display: block;
|
57 |
+
clear: both;
|
58 |
+
visibility: hidden;
|
59 |
+
line-height: 0;
|
60 |
+
height: 0; }
|
61 |
+
.owl-carousel .owl-stage-outer {
|
62 |
+
position: relative;
|
63 |
+
overflow: hidden;
|
64 |
+
/* fix for flashing background */
|
65 |
+
-webkit-transform: translate3d(0px, 0px, 0px); }
|
66 |
+
.owl-carousel .owl-item {
|
67 |
+
position: relative;
|
68 |
+
min-height: 1px;
|
69 |
+
float: left;
|
70 |
+
-webkit-backface-visibility: hidden;
|
71 |
+
-webkit-tap-highlight-color: transparent;
|
72 |
+
-webkit-touch-callout: none; }
|
73 |
+
.owl-carousel .owl-item img {
|
74 |
+
display: block;
|
75 |
+
width: 100%;
|
76 |
+
-webkit-transform-style: preserve-3d; }
|
77 |
+
.owl-carousel .owl-nav.disabled, .owl-carousel .owl-dots.disabled {
|
78 |
+
display: none; }
|
79 |
+
.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-dot {
|
80 |
+
cursor: pointer;
|
81 |
+
cursor: hand;
|
82 |
+
-webkit-user-select: none;
|
83 |
+
-khtml-user-select: none;
|
84 |
+
-moz-user-select: none;
|
85 |
+
-ms-user-select: none;
|
86 |
+
user-select: none; }
|
87 |
+
.owl-carousel.owl-loaded {
|
88 |
+
display: block; }
|
89 |
+
.owl-carousel.owl-loading {
|
90 |
+
opacity: 0;
|
91 |
+
display: block; }
|
92 |
+
.owl-carousel.owl-hidden {
|
93 |
+
opacity: 0; }
|
94 |
+
.owl-carousel.owl-refresh .owl-item {
|
95 |
+
display: none; }
|
96 |
+
.owl-carousel.owl-drag .owl-item {
|
97 |
+
-webkit-user-select: none;
|
98 |
+
-moz-user-select: none;
|
99 |
+
-ms-user-select: none;
|
100 |
+
user-select: none; }
|
101 |
+
.owl-carousel.owl-grab {
|
102 |
+
cursor: move;
|
103 |
+
cursor: -webkit-grab;
|
104 |
+
cursor: -o-grab;
|
105 |
+
cursor: -ms-grab;
|
106 |
+
cursor: grab; }
|
107 |
+
.owl-carousel.owl-rtl {
|
108 |
+
direction: rtl; }
|
109 |
+
.owl-carousel.owl-rtl .owl-item {
|
110 |
+
float: right; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
|
112 |
/* No Js */
|
113 |
.no-js .owl-carousel {
|
114 |
+
display: block; }
|
|
|
115 |
|
116 |
+
/*
|
117 |
* Owl Carousel - Lazy Load Plugin
|
118 |
*/
|
119 |
.owl-carousel .owl-item .owl-lazy {
|
122 |
-moz-transition: opacity 400ms ease;
|
123 |
-ms-transition: opacity 400ms ease;
|
124 |
-o-transition: opacity 400ms ease;
|
125 |
+
transition: opacity 400ms ease; }
|
|
|
126 |
.owl-carousel .owl-item img {
|
127 |
+
transform-style: preserve-3d; }
|
|
|
128 |
|
129 |
+
/*
|
130 |
* Owl Carousel - Video Plugin
|
131 |
*/
|
132 |
.owl-carousel .owl-video-wrapper {
|
133 |
position: relative;
|
134 |
height: 100%;
|
135 |
+
background: #000; }
|
|
|
136 |
.owl-carousel .owl-video-play-icon {
|
137 |
position: absolute;
|
138 |
height: 80px;
|
149 |
-moz-transition: scale 100ms ease;
|
150 |
-ms-transition: scale 100ms ease;
|
151 |
-o-transition: scale 100ms ease;
|
152 |
+
transition: scale 100ms ease; }
|
|
|
153 |
.owl-carousel .owl-video-play-icon:hover {
|
154 |
-webkit-transition: scale(1.3, 1.3);
|
155 |
-moz-transition: scale(1.3, 1.3);
|
156 |
-ms-transition: scale(1.3, 1.3);
|
157 |
-o-transition: scale(1.3, 1.3);
|
158 |
+
transition: scale(1.3, 1.3); }
|
159 |
+
.owl-carousel .owl-video-playing .owl-video-tn, .owl-carousel .owl-video-playing .owl-video-play-icon {
|
160 |
+
display: none; }
|
|
|
|
|
|
|
161 |
.owl-carousel .owl-video-tn {
|
162 |
opacity: 0;
|
163 |
height: 100%;
|
171 |
-moz-transition: opacity 400ms ease;
|
172 |
-ms-transition: opacity 400ms ease;
|
173 |
-o-transition: opacity 400ms ease;
|
174 |
+
transition: opacity 400ms ease; }
|
|
|
175 |
.owl-carousel .owl-video-frame {
|
176 |
position: relative;
|
177 |
z-index: 1;
|
178 |
+
height: 100%;
|
179 |
+
width: 100%; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
themes/foundation/modules/owlcarousel/assets/owl.carousel.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.owl-carousel .animated{-webkit-animation-duration:1000ms;animation-duration:1000ms;-webkit-animation-fill-mode:both;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{-webkit-transition:height 500ms ease-in-out;-moz-transition:height 500ms ease-in-out;-ms-transition:height 500ms ease-in-out;-o-transition:height 500ms ease-in-out;transition:height 500ms ease-in-out}.owl-carousel{display:none;width:100%;-webkit-tap-highlight-color:transparent;position:relative;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0px,0,0)}.owl-carousel .owl-item{position:relative;min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%;-webkit-transform-style:preserve-3d}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loaded{display:block}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{display:none}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:-webkit-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.no-js .owl-carousel{display:block}.owl-carousel .owl-item .owl-lazy{opacity:0;-webkit-transition:opacity 400ms ease;-moz-transition:opacity 400ms ease;-ms-transition:opacity 400ms ease;-o-transition:opacity 400ms ease;transition:opacity 400ms ease}.owl-carousel .owl-item img{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;-webkit-transition:scale 100ms ease;-moz-transition:scale 100ms ease;-ms-transition:scale 100ms ease;-o-transition:scale 100ms ease;transition:scale 100ms ease}.owl-carousel .owl-video-play-icon:hover{-webkit-transition:scale(1.3,1.3);-moz-transition:scale(1.3,1.3);-ms-transition:scale(1.3,1.3);-o-transition:scale(1.3,1.3);transition:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;-webkit-background-size:contain;-moz-background-size:contain;-o-background-size:contain;background-size:contain;-webkit-transition:opacity 400ms ease;-moz-transition:opacity 400ms ease;-ms-transition:opacity 400ms ease;-o-transition:opacity 400ms ease;transition:opacity 400ms ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
|
themes/foundation/modules/owlcarousel/assets/owl.theme.default.css
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Default theme - Owl Carousel CSS File
|
3 |
+
*/
|
4 |
+
.owl-theme .owl-nav {
|
5 |
+
margin-top: 10px;
|
6 |
+
text-align: center;
|
7 |
+
-webkit-tap-highlight-color: transparent; }
|
8 |
+
.owl-theme .owl-nav [class*='owl-'] {
|
9 |
+
color: #FFF;
|
10 |
+
font-size: 14px;
|
11 |
+
margin: 5px;
|
12 |
+
padding: 4px 7px;
|
13 |
+
background: #D6D6D6;
|
14 |
+
display: inline-block;
|
15 |
+
cursor: pointer;
|
16 |
+
-webkit-border-radius: 3px;
|
17 |
+
-moz-border-radius: 3px;
|
18 |
+
border-radius: 3px; }
|
19 |
+
.owl-theme .owl-nav [class*='owl-']:hover {
|
20 |
+
background: #869791;
|
21 |
+
color: #FFF;
|
22 |
+
text-decoration: none; }
|
23 |
+
.owl-theme .owl-nav .disabled {
|
24 |
+
opacity: 0.5;
|
25 |
+
cursor: default; }
|
26 |
+
.owl-theme .owl-nav.disabled + .owl-dots {
|
27 |
+
margin-top: 10px; }
|
28 |
+
.owl-theme .owl-dots {
|
29 |
+
text-align: center;
|
30 |
+
-webkit-tap-highlight-color: transparent; }
|
31 |
+
.owl-theme .owl-dots .owl-dot {
|
32 |
+
display: inline-block;
|
33 |
+
zoom: 1;
|
34 |
+
*display: inline; }
|
35 |
+
.owl-theme .owl-dots .owl-dot span {
|
36 |
+
width: 10px;
|
37 |
+
height: 10px;
|
38 |
+
margin: 5px 7px;
|
39 |
+
background: #D6D6D6;
|
40 |
+
display: block;
|
41 |
+
-webkit-backface-visibility: visible;
|
42 |
+
-webkit-transition: opacity 200ms ease;
|
43 |
+
-moz-transition: opacity 200ms ease;
|
44 |
+
-ms-transition: opacity 200ms ease;
|
45 |
+
-o-transition: opacity 200ms ease;
|
46 |
+
transition: opacity 200ms ease;
|
47 |
+
-webkit-border-radius: 30px;
|
48 |
+
-moz-border-radius: 30px;
|
49 |
+
border-radius: 30px; }
|
50 |
+
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
|
51 |
+
background: #869791; }
|
themes/foundation/modules/owlcarousel/assets/owl.theme.default.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.owl-theme .owl-nav{margin-top:10px;text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1;*display:inline}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;-webkit-transition:opacity 200ms ease;-moz-transition:opacity 200ms ease;-ms-transition:opacity 200ms ease;-o-transition:opacity 200ms ease;transition:opacity 200ms ease;-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}
|
themes/foundation/modules/owlcarousel/owl.carousel.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/**
|
2 |
* Owl carousel
|
3 |
-
* @version 2.0.0
|
4 |
* @author Bartosz Wojciechowski
|
5 |
* @license The MIT License (MIT)
|
6 |
* @todo Lazy Load Icon
|
@@ -11,55 +11,6 @@
|
|
11 |
*/
|
12 |
;(function($, window, document, undefined) {
|
13 |
|
14 |
-
var drag, state, e;
|
15 |
-
|
16 |
-
/**
|
17 |
-
* Template for status information about drag and touch events.
|
18 |
-
* @private
|
19 |
-
*/
|
20 |
-
drag = {
|
21 |
-
start: 0,
|
22 |
-
startX: 0,
|
23 |
-
startY: 0,
|
24 |
-
current: 0,
|
25 |
-
currentX: 0,
|
26 |
-
currentY: 0,
|
27 |
-
offsetX: 0,
|
28 |
-
offsetY: 0,
|
29 |
-
distance: null,
|
30 |
-
startTime: 0,
|
31 |
-
endTime: 0,
|
32 |
-
updatedX: 0,
|
33 |
-
targetEl: null
|
34 |
-
};
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Template for some status informations.
|
38 |
-
* @private
|
39 |
-
*/
|
40 |
-
state = {
|
41 |
-
isTouch: false,
|
42 |
-
isScrolling: false,
|
43 |
-
isSwiping: false,
|
44 |
-
direction: false,
|
45 |
-
inMotion: false
|
46 |
-
};
|
47 |
-
|
48 |
-
/**
|
49 |
-
* Event functions references.
|
50 |
-
* @private
|
51 |
-
*/
|
52 |
-
e = {
|
53 |
-
_onDragStart: null,
|
54 |
-
_onDragMove: null,
|
55 |
-
_onDragEnd: null,
|
56 |
-
_transitionEnd: null,
|
57 |
-
_resizer: null,
|
58 |
-
_responsiveCall: null,
|
59 |
-
_goToLoop: null,
|
60 |
-
_checkVisibile: null
|
61 |
-
};
|
62 |
-
|
63 |
/**
|
64 |
* Creates a carousel.
|
65 |
* @class The Owl Carousel.
|
@@ -88,21 +39,10 @@
|
|
88 |
this.$element = $(element);
|
89 |
|
90 |
/**
|
91 |
-
*
|
92 |
-
*/
|
93 |
-
this.drag = $.extend({}, drag);
|
94 |
-
|
95 |
-
/**
|
96 |
-
* Caches some status informations.
|
97 |
-
* @protected
|
98 |
-
*/
|
99 |
-
this.state = $.extend({}, state);
|
100 |
-
|
101 |
-
/**
|
102 |
* @protected
|
103 |
-
* @todo Must be documented
|
104 |
*/
|
105 |
-
this.
|
106 |
|
107 |
/**
|
108 |
* References to the running plugins of this carousel.
|
@@ -166,6 +106,11 @@
|
|
166 |
*/
|
167 |
this._mergers = [];
|
168 |
|
|
|
|
|
|
|
|
|
|
|
169 |
/**
|
170 |
* Invalidated parts within the update process.
|
171 |
* @protected
|
@@ -178,12 +123,46 @@
|
|
178 |
*/
|
179 |
this._pipe = [];
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
$.each(Owl.Plugins, $.proxy(function(key, plugin) {
|
182 |
-
this._plugins[key
|
183 |
= new plugin(this);
|
184 |
}, this));
|
185 |
|
186 |
-
$.each(Owl.
|
187 |
this._pipe.push({
|
188 |
'filter': worker.filter,
|
189 |
'run': $.proxy(worker.run, this)
|
@@ -202,6 +181,7 @@
|
|
202 |
items: 3,
|
203 |
loop: false,
|
204 |
center: false,
|
|
|
205 |
|
206 |
mouseDrag: true,
|
207 |
touchDrag: true,
|
@@ -225,7 +205,6 @@
|
|
225 |
responsive: {},
|
226 |
responsiveRefreshRate: 200,
|
227 |
responsiveBaseElement: window,
|
228 |
-
responsiveClass: false,
|
229 |
|
230 |
fallbackEasing: 'swing',
|
231 |
|
@@ -235,12 +214,16 @@
|
|
235 |
itemElement: 'div',
|
236 |
stageElement: 'div',
|
237 |
|
238 |
-
|
239 |
-
|
240 |
-
|
|
|
|
|
|
|
241 |
itemClass: 'owl-item',
|
242 |
-
|
243 |
-
|
|
|
244 |
};
|
245 |
|
246 |
/**
|
@@ -255,6 +238,17 @@
|
|
255 |
Outer: 'outer'
|
256 |
};
|
257 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
/**
|
259 |
* Contains all registered plugins.
|
260 |
* @public
|
@@ -262,9 +256,14 @@
|
|
262 |
Owl.Plugins = {};
|
263 |
|
264 |
/**
|
265 |
-
*
|
266 |
*/
|
267 |
-
Owl.
|
|
|
|
|
|
|
|
|
|
|
268 |
filter: [ 'width', 'items', 'settings' ],
|
269 |
run: function(cache) {
|
270 |
cache.current = this._items && this._items[this.relative(this._current)];
|
@@ -272,81 +271,134 @@
|
|
272 |
}, {
|
273 |
filter: [ 'items', 'settings' ],
|
274 |
run: function() {
|
275 |
-
|
276 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
}
|
|
|
|
|
282 |
}
|
283 |
}, {
|
284 |
filter: [ 'items', 'settings' ],
|
285 |
run: function() {
|
286 |
-
var
|
287 |
-
clones = this._clones,
|
288 |
items = this._items,
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
}
|
|
|
|
|
|
|
|
|
|
|
304 |
}
|
305 |
}, {
|
306 |
filter: [ 'width', 'items', 'settings' ],
|
307 |
run: function() {
|
308 |
-
var rtl =
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
}
|
|
|
|
|
320 |
}
|
321 |
}, {
|
322 |
filter: [ 'width', 'items', 'settings' ],
|
323 |
run: function() {
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
|
332 |
this.$stage.css(css);
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
|
|
|
|
|
|
|
|
341 |
}
|
342 |
-
} else {
|
343 |
-
|
|
|
344 |
}
|
345 |
}
|
|
|
|
|
|
|
|
|
|
|
346 |
}, {
|
347 |
filter: [ 'width', 'items', 'settings' ],
|
348 |
run: function(cache) {
|
349 |
-
cache.current
|
|
|
|
|
350 |
}
|
351 |
}, {
|
352 |
filter: [ 'position' ],
|
@@ -357,7 +409,7 @@
|
|
357 |
filter: [ 'width', 'position', 'items', 'settings' ],
|
358 |
run: function() {
|
359 |
var rtl = this.settings.rtl ? 1 : -1,
|
360 |
-
padding = this.settings.stagePadding *
|
361 |
begin = this.coordinates(this.current()) + padding,
|
362 |
end = begin + this.width() * rtl,
|
363 |
inner, outer, matches = [], i, n;
|
@@ -372,12 +424,12 @@
|
|
372 |
}
|
373 |
}
|
374 |
|
375 |
-
this.$stage.children('.'
|
376 |
-
this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass(
|
377 |
|
378 |
if (this.settings.center) {
|
379 |
-
this.$stage.children('.'
|
380 |
-
this.$stage.children().eq(this.current()).addClass(
|
381 |
}
|
382 |
}
|
383 |
} ];
|
@@ -387,17 +439,12 @@
|
|
387 |
* @protected
|
388 |
*/
|
389 |
Owl.prototype.initialize = function() {
|
|
|
390 |
this.trigger('initialize');
|
391 |
|
392 |
-
this.$element
|
393 |
-
.addClass(this.settings.baseClass)
|
394 |
-
.addClass(this.settings.themeClass)
|
395 |
-
.toggleClass('owl-rtl', this.settings.rtl);
|
396 |
-
|
397 |
-
// check support
|
398 |
-
this.browserSupport();
|
399 |
|
400 |
-
if (this.settings.autoWidth && this.
|
401 |
var imgs, nestedSelector, width;
|
402 |
imgs = this.$element.find('img');
|
403 |
nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;
|
@@ -405,15 +452,14 @@
|
|
405 |
|
406 |
if (imgs.length && width <= 0) {
|
407 |
this.preloadAutoWidthImages(imgs);
|
408 |
-
return false;
|
409 |
}
|
410 |
}
|
411 |
|
412 |
-
this.$element.addClass(
|
413 |
|
414 |
// create stage
|
415 |
-
this.$stage = $('<' + this.settings.stageElement + ' class="
|
416 |
-
.wrap('<div class="
|
417 |
|
418 |
// append stage
|
419 |
this.$element.append(this.$stage.parent());
|
@@ -421,23 +467,23 @@
|
|
421 |
// append content
|
422 |
this.replace(this.$element.children().not(this.$stage.parent()));
|
423 |
|
424 |
-
//
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
// attach generic events
|
433 |
-
this.eventsCall();
|
434 |
|
435 |
-
|
436 |
-
|
|
|
437 |
|
438 |
-
//
|
439 |
-
this.
|
440 |
|
|
|
441 |
this.trigger('initialized');
|
442 |
};
|
443 |
|
@@ -467,9 +513,9 @@
|
|
467 |
|
468 |
// responsive class
|
469 |
if (settings.responsiveClass) {
|
470 |
-
this.$element.attr('class',
|
471 |
-
|
472 |
-
|
473 |
}
|
474 |
}
|
475 |
|
@@ -487,14 +533,6 @@
|
|
487 |
* @protected
|
488 |
*/
|
489 |
Owl.prototype.optionsLogic = function() {
|
490 |
-
// Toggle Center class
|
491 |
-
this.$element.toggleClass('owl-center', this.settings.center);
|
492 |
-
|
493 |
-
// if items number is less than in body
|
494 |
-
if (this.settings.loop && this._items.length < this.settings.items) {
|
495 |
-
this.settings.loop = false;
|
496 |
-
}
|
497 |
-
|
498 |
if (this.settings.autoWidth) {
|
499 |
this.settings.stagePadding = false;
|
500 |
this.settings.merge = false;
|
@@ -512,7 +550,7 @@
|
|
512 |
|
513 |
if (!event.data) {
|
514 |
event.data = $('<' + this.settings.itemElement + '/>')
|
515 |
-
.addClass(this.
|
516 |
}
|
517 |
|
518 |
this.trigger('prepared', { content: event.data });
|
@@ -538,6 +576,8 @@
|
|
538 |
}
|
539 |
|
540 |
this._invalidated = {};
|
|
|
|
|
541 |
};
|
542 |
|
543 |
/**
|
@@ -553,7 +593,7 @@
|
|
553 |
case Owl.Width.Outer:
|
554 |
return this._width;
|
555 |
default:
|
556 |
-
return this._width - this.settings.stagePadding *
|
557 |
}
|
558 |
};
|
559 |
|
@@ -562,66 +602,30 @@
|
|
562 |
* @public
|
563 |
*/
|
564 |
Owl.prototype.refresh = function() {
|
565 |
-
|
566 |
-
return false;
|
567 |
-
}
|
568 |
-
|
569 |
-
var start = new Date().getTime();
|
570 |
-
|
571 |
this.trigger('refresh');
|
572 |
|
573 |
this.setup();
|
574 |
|
575 |
this.optionsLogic();
|
576 |
|
577 |
-
|
578 |
-
// this prevents scrollbar to be calculated in stage width
|
579 |
-
this.$stage.addClass('owl-refresh');
|
580 |
|
581 |
this.update();
|
582 |
|
583 |
-
this.$
|
584 |
-
|
585 |
-
this.state.orientation = window.orientation;
|
586 |
-
|
587 |
-
this.watchVisibility();
|
588 |
|
|
|
589 |
this.trigger('refreshed');
|
590 |
};
|
591 |
|
592 |
-
/**
|
593 |
-
* Save internal event references and add event based functions.
|
594 |
-
* @protected
|
595 |
-
*/
|
596 |
-
Owl.prototype.eventsCall = function() {
|
597 |
-
// Save events references
|
598 |
-
this.e._onDragStart = $.proxy(function(e) {
|
599 |
-
this.onDragStart(e);
|
600 |
-
}, this);
|
601 |
-
this.e._onDragMove = $.proxy(function(e) {
|
602 |
-
this.onDragMove(e);
|
603 |
-
}, this);
|
604 |
-
this.e._onDragEnd = $.proxy(function(e) {
|
605 |
-
this.onDragEnd(e);
|
606 |
-
}, this);
|
607 |
-
this.e._onResize = $.proxy(function(e) {
|
608 |
-
this.onResize(e);
|
609 |
-
}, this);
|
610 |
-
this.e._transitionEnd = $.proxy(function(e) {
|
611 |
-
this.transitionEnd(e);
|
612 |
-
}, this);
|
613 |
-
this.e._preventClick = $.proxy(function(e) {
|
614 |
-
this.preventClick(e);
|
615 |
-
}, this);
|
616 |
-
};
|
617 |
-
|
618 |
/**
|
619 |
* Checks window `resize` event.
|
620 |
* @protected
|
621 |
*/
|
622 |
Owl.prototype.onThrottledResize = function() {
|
623 |
window.clearTimeout(this.resizeTimer);
|
624 |
-
this.resizeTimer = window.setTimeout(this.
|
625 |
};
|
626 |
|
627 |
/**
|
@@ -637,310 +641,185 @@
|
|
637 |
return false;
|
638 |
}
|
639 |
|
640 |
-
if (this.
|
641 |
return false;
|
642 |
}
|
643 |
|
644 |
-
this.
|
|
|
|
|
|
|
|
|
|
|
645 |
|
646 |
this.invalidate('width');
|
647 |
|
648 |
this.refresh();
|
649 |
|
|
|
650 |
this.trigger('resized');
|
651 |
};
|
652 |
|
653 |
/**
|
654 |
-
*
|
655 |
-
* @
|
656 |
-
|
657 |
-
Owl.prototype.eventsRouter = function(event) {
|
658 |
-
var type = event.type;
|
659 |
-
|
660 |
-
if (type === "mousedown" || type === "touchstart") {
|
661 |
-
this.onDragStart(event);
|
662 |
-
} else if (type === "mousemove" || type === "touchmove") {
|
663 |
-
this.onDragMove(event);
|
664 |
-
} else if (type === "mouseup" || type === "touchend") {
|
665 |
-
this.onDragEnd(event);
|
666 |
-
} else if (type === "touchcancel") {
|
667 |
-
this.onDragEnd(event);
|
668 |
-
}
|
669 |
-
};
|
670 |
-
|
671 |
-
/**
|
672 |
-
* Checks for touch/mouse drag options and add necessery event handlers.
|
673 |
* @protected
|
674 |
*/
|
675 |
-
Owl.prototype.
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
if (this.settings.mouseDrag){
|
680 |
-
this.$stage.on('mousedown', $.proxy(function(event) { this.eventsRouter(event) }, this));
|
681 |
-
this.$stage.on('dragstart', function() { return false });
|
682 |
-
this.$stage.get(0).onselectstart = function() { return false };
|
683 |
-
} else {
|
684 |
-
this.$element.addClass('owl-text-select-on');
|
685 |
}
|
686 |
|
687 |
-
if (this.settings.
|
688 |
-
this
|
689 |
}
|
690 |
|
691 |
-
|
692 |
-
|
693 |
-
this.on(
|
|
|
694 |
}
|
695 |
|
696 |
-
|
697 |
-
|
698 |
-
this.on(
|
699 |
}
|
700 |
};
|
701 |
|
702 |
/**
|
703 |
-
* Handles touchstart
|
|
|
|
|
704 |
* @protected
|
705 |
* @param {Event} event - The event arguments.
|
706 |
*/
|
707 |
Owl.prototype.onDragStart = function(event) {
|
708 |
-
var
|
709 |
|
710 |
-
|
|
|
|
|
711 |
|
712 |
-
|
713 |
-
|
714 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
715 |
}
|
716 |
|
717 |
-
if (
|
718 |
-
this.$stage.
|
|
|
719 |
}
|
720 |
|
721 |
-
this.
|
722 |
-
|
723 |
this.speed(0);
|
724 |
-
this.state.isTouch = true;
|
725 |
-
this.state.isScrolling = false;
|
726 |
-
this.state.isSwiping = false;
|
727 |
-
this.drag.distance = 0;
|
728 |
-
|
729 |
-
pageX = getTouches(ev).x;
|
730 |
-
pageY = getTouches(ev).y;
|
731 |
-
|
732 |
-
// get stage position left
|
733 |
-
this.drag.offsetX = this.$stage.position().left;
|
734 |
-
this.drag.offsetY = this.$stage.position().top;
|
735 |
-
|
736 |
-
if (this.settings.rtl) {
|
737 |
-
this.drag.offsetX = this.$stage.position().left + this.$stage.width() - this.width()
|
738 |
-
+ this.settings.margin;
|
739 |
-
}
|
740 |
-
|
741 |
-
// catch position // ie to fix
|
742 |
-
if (this.state.inMotion && this.support3d) {
|
743 |
-
animatedPos = this.getTransformProperty();
|
744 |
-
this.drag.offsetX = animatedPos;
|
745 |
-
this.animate(animatedPos);
|
746 |
-
this.state.inMotion = true;
|
747 |
-
} else if (this.state.inMotion && !this.support3d) {
|
748 |
-
this.state.inMotion = false;
|
749 |
-
return false;
|
750 |
-
}
|
751 |
|
752 |
-
this.
|
753 |
-
this.
|
|
|
|
|
|
|
754 |
|
755 |
-
|
756 |
-
this.drag.targetEl = ev.target || ev.srcElement;
|
757 |
-
this.drag.updatedX = this.drag.start;
|
758 |
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
|
|
|
|
|
|
|
|
|
|
764 |
|
765 |
-
|
|
|
|
|
766 |
};
|
767 |
|
768 |
/**
|
769 |
-
* Handles the touchmove
|
770 |
-
* @todo
|
771 |
* @protected
|
772 |
* @param {Event} event - The event arguments.
|
773 |
*/
|
774 |
Owl.prototype.onDragMove = function(event) {
|
775 |
-
var
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
|
781 |
-
if (this.
|
782 |
return;
|
783 |
}
|
784 |
|
785 |
-
|
786 |
-
|
787 |
-
pageX = getTouches(ev).x;
|
788 |
-
pageY = getTouches(ev).y;
|
789 |
-
|
790 |
-
// Drag Direction
|
791 |
-
this.drag.currentX = pageX - this.drag.startX;
|
792 |
-
this.drag.currentY = pageY - this.drag.startY;
|
793 |
-
this.drag.distance = this.drag.currentX - this.drag.offsetX;
|
794 |
|
795 |
-
// Check move direction
|
796 |
-
if (this.drag.distance < 0) {
|
797 |
-
this.state.direction = this.settings.rtl ? 'right' : 'left';
|
798 |
-
} else if (this.drag.distance > 0) {
|
799 |
-
this.state.direction = this.settings.rtl ? 'left' : 'right';
|
800 |
-
}
|
801 |
-
// Loop
|
802 |
if (this.settings.loop) {
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
this.drag.currentX += (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length);
|
807 |
-
}
|
808 |
} else {
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
this.drag.currentX = Math.max(Math.min(this.drag.currentX, minValue + pull), maxValue + pull);
|
814 |
-
}
|
815 |
-
|
816 |
-
// Lock browser if swiping horizontal
|
817 |
-
|
818 |
-
if ((this.drag.distance > 8 || this.drag.distance < -8)) {
|
819 |
-
if (ev.preventDefault !== undefined) {
|
820 |
-
ev.preventDefault();
|
821 |
-
} else {
|
822 |
-
ev.returnValue = false;
|
823 |
-
}
|
824 |
-
this.state.isSwiping = true;
|
825 |
}
|
826 |
|
827 |
-
this.
|
828 |
-
|
829 |
-
// Lock Owl if scrolling
|
830 |
-
if ((this.drag.currentY > 16 || this.drag.currentY < -16) && this.state.isSwiping === false) {
|
831 |
-
this.state.isScrolling = true;
|
832 |
-
this.drag.updatedX = this.drag.start;
|
833 |
-
}
|
834 |
|
835 |
-
this.animate(
|
836 |
};
|
837 |
|
838 |
/**
|
839 |
-
* Handles the touchend
|
|
|
|
|
840 |
* @protected
|
|
|
841 |
*/
|
842 |
Owl.prototype.onDragEnd = function(event) {
|
843 |
-
var
|
844 |
-
|
845 |
-
|
846 |
-
return;
|
847 |
-
}
|
848 |
-
|
849 |
-
if (event.type === 'mouseup') {
|
850 |
-
this.$stage.removeClass('owl-grab');
|
851 |
-
}
|
852 |
-
|
853 |
-
this.trigger('dragged');
|
854 |
-
|
855 |
-
// prevent links and images dragging;
|
856 |
-
this.drag.targetEl.removeAttribute("draggable");
|
857 |
|
858 |
-
|
859 |
|
860 |
-
this.
|
861 |
-
this.state.isScrolling = false;
|
862 |
-
this.state.isSwiping = false;
|
863 |
|
864 |
-
|
865 |
-
|
866 |
-
this.
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
// prevent clicks while scrolling
|
871 |
-
|
872 |
-
this.drag.endTime = new Date().getTime();
|
873 |
-
compareTimes = this.drag.endTime - this.drag.startTime;
|
874 |
-
distanceAbs = Math.abs(this.drag.distance);
|
875 |
-
|
876 |
-
// to test
|
877 |
-
if (distanceAbs > 3 || compareTimes > 300) {
|
878 |
-
this.removeClick(this.drag.targetEl);
|
879 |
-
}
|
880 |
-
|
881 |
-
closest = this.closest(this.drag.updatedX);
|
882 |
|
883 |
-
|
884 |
-
this.current(closest);
|
885 |
-
this.invalidate('position');
|
886 |
-
this.update();
|
887 |
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
this.transitionEnd();
|
892 |
}
|
893 |
|
894 |
-
this.
|
895 |
-
|
896 |
-
$(document).off('.owl.dragEvents');
|
897 |
-
};
|
898 |
-
|
899 |
-
/**
|
900 |
-
* Attaches `preventClick` to disable link while swipping.
|
901 |
-
* @protected
|
902 |
-
* @param {HTMLElement} [target] - The target of the `click` event.
|
903 |
-
*/
|
904 |
-
Owl.prototype.removeClick = function(target) {
|
905 |
-
this.drag.targetEl = target;
|
906 |
-
$(target).on('click.preventClick', this.e._preventClick);
|
907 |
-
// to make sure click is removed:
|
908 |
-
window.setTimeout(function() {
|
909 |
-
$(target).off('click.preventClick');
|
910 |
-
}, 300);
|
911 |
-
};
|
912 |
-
|
913 |
-
/**
|
914 |
-
* Suppresses click event.
|
915 |
-
* @protected
|
916 |
-
* @param {Event} ev - The event arguments.
|
917 |
-
*/
|
918 |
-
Owl.prototype.preventClick = function(ev) {
|
919 |
-
if (ev.preventDefault) {
|
920 |
-
ev.preventDefault();
|
921 |
-
} else {
|
922 |
-
ev.returnValue = false;
|
923 |
-
}
|
924 |
-
if (ev.stopPropagation) {
|
925 |
-
ev.stopPropagation();
|
926 |
}
|
927 |
-
$(ev.target).off('click.preventClick');
|
928 |
-
};
|
929 |
-
|
930 |
-
/**
|
931 |
-
* Catches stage position while animate (only CSS3).
|
932 |
-
* @protected
|
933 |
-
* @returns
|
934 |
-
*/
|
935 |
-
Owl.prototype.getTransformProperty = function() {
|
936 |
-
var transform, matrix3d;
|
937 |
-
|
938 |
-
transform = window.getComputedStyle(this.$stage.get(0), null).getPropertyValue(this.vendorName + 'transform');
|
939 |
-
// var transform = this.$stage.css(this.vendorName + 'transform')
|
940 |
-
transform = transform.replace(/matrix(3d)?\(|\)/g, '').split(',');
|
941 |
-
matrix3d = transform.length === 16;
|
942 |
|
943 |
-
|
|
|
944 |
};
|
945 |
|
946 |
/**
|
@@ -948,10 +827,14 @@
|
|
948 |
* @todo Setting `freeDrag` makes `closest` not reusable. See #165.
|
949 |
* @protected
|
950 |
* @param {Number} coordinate - The coordinate in pixel.
|
|
|
951 |
* @return {Number} - The absolute position of the closest item.
|
952 |
*/
|
953 |
-
Owl.prototype.closest = function(coordinate) {
|
954 |
-
var position = -1,
|
|
|
|
|
|
|
955 |
|
956 |
if (!this.settings.freeDrag) {
|
957 |
// check closest item
|
@@ -960,7 +843,7 @@
|
|
960 |
position = index;
|
961 |
} else if (this.op(coordinate, '<', value)
|
962 |
&& this.op(coordinate, '>', coordinates[index + 1] || value - width)) {
|
963 |
-
position =
|
964 |
}
|
965 |
return position === -1;
|
966 |
}, this));
|
@@ -980,33 +863,45 @@
|
|
980 |
|
981 |
/**
|
982 |
* Animates the stage.
|
|
|
983 |
* @public
|
984 |
* @param {Number} coordinate - The coordinate in pixels.
|
985 |
*/
|
986 |
Owl.prototype.animate = function(coordinate) {
|
987 |
-
this.
|
988 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
989 |
|
990 |
-
if (
|
991 |
this.$stage.css({
|
992 |
-
transform: 'translate3d(' + coordinate + 'px
|
993 |
transition: (this.speed() / 1000) + 's'
|
994 |
});
|
995 |
-
} else if (
|
|
|
|
|
|
|
|
|
996 |
this.$stage.css({
|
997 |
left: coordinate + 'px'
|
998 |
});
|
999 |
-
} else {
|
1000 |
-
this.$stage.animate({
|
1001 |
-
left: coordinate
|
1002 |
-
}, this.speed() / 1000, this.settings.fallbackEasing, $.proxy(function() {
|
1003 |
-
if (this.state.inMotion) {
|
1004 |
-
this.transitionEnd();
|
1005 |
-
}
|
1006 |
-
}, this));
|
1007 |
}
|
1008 |
};
|
1009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1010 |
/**
|
1011 |
* Sets the absolute position of the current item.
|
1012 |
* @public
|
@@ -1043,11 +938,16 @@
|
|
1043 |
|
1044 |
/**
|
1045 |
* Invalidates the given part of the update routine.
|
1046 |
-
* @param {String} part - The part to invalidate.
|
|
|
1047 |
*/
|
1048 |
Owl.prototype.invalidate = function(part) {
|
1049 |
-
|
1050 |
-
|
|
|
|
|
|
|
|
|
1051 |
|
1052 |
/**
|
1053 |
* Resets the absolute position of the current item.
|
@@ -1072,88 +972,77 @@
|
|
1072 |
};
|
1073 |
|
1074 |
/**
|
1075 |
-
* Normalizes an absolute or a relative position
|
1076 |
* @public
|
1077 |
* @param {Number} position - The absolute or relative position to normalize.
|
1078 |
* @param {Boolean} [relative=false] - Whether the given position is relative or not.
|
1079 |
* @returns {Number} - The normalized position.
|
1080 |
*/
|
1081 |
Owl.prototype.normalize = function(position, relative) {
|
1082 |
-
var n =
|
|
|
1083 |
|
1084 |
if (!$.isNumeric(position) || n < 1) {
|
1085 |
-
|
1086 |
-
}
|
1087 |
-
|
1088 |
-
if (this._clones.length) {
|
1089 |
-
position = ((position % n) + n) % n;
|
1090 |
-
} else {
|
1091 |
-
position = Math.max(this.minimum(relative), Math.min(this.maximum(relative), position));
|
1092 |
}
|
1093 |
|
1094 |
return position;
|
1095 |
};
|
1096 |
|
1097 |
/**
|
1098 |
-
* Converts an absolute position
|
1099 |
* @public
|
1100 |
* @param {Number} position - The absolute position to convert.
|
1101 |
* @returns {Number} - The converted position.
|
1102 |
*/
|
1103 |
Owl.prototype.relative = function(position) {
|
1104 |
-
position
|
1105 |
-
position = position - this._clones.length / 2;
|
1106 |
return this.normalize(position, true);
|
1107 |
};
|
1108 |
|
1109 |
/**
|
1110 |
-
* Gets the maximum position for
|
1111 |
* @public
|
1112 |
* @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
|
1113 |
* @returns {Number}
|
1114 |
*/
|
1115 |
Owl.prototype.maximum = function(relative) {
|
1116 |
-
var
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
return this._items.length - 1;
|
1121 |
-
}
|
1122 |
|
1123 |
-
if (
|
1124 |
-
maximum = this._items.length - 1;
|
1125 |
-
} else if (!settings.loop && !settings.center) {
|
1126 |
-
maximum = this._items.length - settings.items;
|
1127 |
-
} else if (settings.loop || settings.center) {
|
1128 |
-
maximum = this._items.length + settings.items;
|
1129 |
} else if (settings.autoWidth || settings.merge) {
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
break;
|
1135 |
-
}
|
1136 |
-
maximum = ++i;
|
1137 |
}
|
|
|
|
|
1138 |
} else {
|
1139 |
-
|
|
|
|
|
|
|
|
|
1140 |
}
|
1141 |
|
1142 |
-
return maximum;
|
1143 |
};
|
1144 |
|
1145 |
/**
|
1146 |
-
* Gets the minimum position for
|
1147 |
* @public
|
1148 |
* @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
|
1149 |
* @returns {Number}
|
1150 |
*/
|
1151 |
Owl.prototype.minimum = function(relative) {
|
1152 |
-
|
1153 |
-
return 0;
|
1154 |
-
}
|
1155 |
-
|
1156 |
-
return this._clones.length / 2;
|
1157 |
};
|
1158 |
|
1159 |
/**
|
@@ -1263,30 +1152,38 @@
|
|
1263 |
* @param {Number} [speed] - The time in milliseconds for the transition.
|
1264 |
*/
|
1265 |
Owl.prototype.to = function(position, speed) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1266 |
if (this.settings.loop) {
|
1267 |
-
|
1268 |
-
|
1269 |
-
before = this.current(),
|
1270 |
-
after = this.current() + distance,
|
1271 |
-
direction = before - after < 0 ? true : false,
|
1272 |
-
items = this._clones.length + this._items.length;
|
1273 |
-
|
1274 |
-
if (after < this.settings.items && direction === false) {
|
1275 |
-
revert = before + this._items.length;
|
1276 |
-
this.reset(revert);
|
1277 |
-
} else if (after >= items - this.settings.items && direction === true) {
|
1278 |
-
revert = before - this._items.length;
|
1279 |
-
this.reset(revert);
|
1280 |
}
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1287 |
} else {
|
1288 |
-
|
1289 |
-
|
|
|
|
|
|
|
|
|
|
|
1290 |
this.update();
|
1291 |
}
|
1292 |
};
|
@@ -1316,7 +1213,7 @@
|
|
1316 |
* @protected
|
1317 |
* @param {Event} event - The event arguments.
|
1318 |
*/
|
1319 |
-
Owl.prototype.
|
1320 |
|
1321 |
// if css2 animation then event object is undefined
|
1322 |
if (event !== undefined) {
|
@@ -1328,7 +1225,7 @@
|
|
1328 |
}
|
1329 |
}
|
1330 |
|
1331 |
-
this.
|
1332 |
this.trigger('translated');
|
1333 |
};
|
1334 |
|
@@ -1390,12 +1287,18 @@
|
|
1390 |
* @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.
|
1391 |
*/
|
1392 |
Owl.prototype.add = function(content, position) {
|
|
|
|
|
1393 |
position = position === undefined ? this._items.length : this.normalize(position, true);
|
|
|
1394 |
|
1395 |
this.trigger('add', { content: content, position: position });
|
1396 |
|
|
|
|
|
1397 |
if (this._items.length === 0 || position === this._items.length) {
|
1398 |
-
this.$stage.append(content);
|
|
|
1399 |
this._items.push(content);
|
1400 |
this._mergers.push(content.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);
|
1401 |
} else {
|
@@ -1404,6 +1307,8 @@
|
|
1404 |
this._mergers.splice(position, 0, content.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);
|
1405 |
}
|
1406 |
|
|
|
|
|
1407 |
this.invalidate('items');
|
1408 |
|
1409 |
this.trigger('added', { content: content, position: position });
|
@@ -1434,87 +1339,21 @@
|
|
1434 |
};
|
1435 |
|
1436 |
/**
|
1437 |
-
*
|
|
|
1438 |
* @protected
|
1439 |
*/
|
1440 |
-
Owl.prototype.
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
$.each({
|
1452 |
-
'next': this.next,
|
1453 |
-
'prev': this.prev,
|
1454 |
-
'to': this.to,
|
1455 |
-
'destroy': this.destroy,
|
1456 |
-
'refresh': this.refresh,
|
1457 |
-
'replace': this.replace,
|
1458 |
-
'add': this.add,
|
1459 |
-
'remove': this.remove
|
1460 |
-
}, $.proxy(function(event, callback) {
|
1461 |
-
this.$element.on(event + '.owl.carousel', handler(callback, event + '.owl.carousel'));
|
1462 |
}, this));
|
1463 |
-
|
1464 |
-
};
|
1465 |
-
|
1466 |
-
/**
|
1467 |
-
* Watches the visibility of the carousel element.
|
1468 |
-
* @protected
|
1469 |
-
*/
|
1470 |
-
Owl.prototype.watchVisibility = function() {
|
1471 |
-
|
1472 |
-
// test on zepto
|
1473 |
-
if (!isElVisible(this.$element.get(0))) {
|
1474 |
-
this.$element.addClass('owl-hidden');
|
1475 |
-
window.clearInterval(this.e._checkVisibile);
|
1476 |
-
this.e._checkVisibile = window.setInterval($.proxy(checkVisible, this), 500);
|
1477 |
-
}
|
1478 |
-
|
1479 |
-
function isElVisible(el) {
|
1480 |
-
return el.offsetWidth > 0 && el.offsetHeight > 0;
|
1481 |
-
}
|
1482 |
-
|
1483 |
-
function checkVisible() {
|
1484 |
-
if (isElVisible(this.$element.get(0))) {
|
1485 |
-
this.$element.removeClass('owl-hidden');
|
1486 |
-
this.refresh();
|
1487 |
-
window.clearInterval(this.e._checkVisibile);
|
1488 |
-
}
|
1489 |
-
}
|
1490 |
-
};
|
1491 |
-
|
1492 |
-
/**
|
1493 |
-
* Preloads images with auto width.
|
1494 |
-
* @protected
|
1495 |
-
* @todo Still to test
|
1496 |
-
*/
|
1497 |
-
Owl.prototype.preloadAutoWidthImages = function(imgs) {
|
1498 |
-
var loaded, that, $el, img;
|
1499 |
-
|
1500 |
-
loaded = 0;
|
1501 |
-
that = this;
|
1502 |
-
imgs.each(function(i, el) {
|
1503 |
-
$el = $(el);
|
1504 |
-
img = new Image();
|
1505 |
-
|
1506 |
-
img.onload = function() {
|
1507 |
-
loaded++;
|
1508 |
-
$el.attr('src', img.src);
|
1509 |
-
$el.css('opacity', 1);
|
1510 |
-
if (loaded >= imgs.length) {
|
1511 |
-
that.state.imagesLoaded = true;
|
1512 |
-
that.initialize();
|
1513 |
-
}
|
1514 |
-
};
|
1515 |
-
|
1516 |
-
img.src = $el.attr('src') || $el.attr('data-src') || $el.attr('data-src-retina');
|
1517 |
-
});
|
1518 |
};
|
1519 |
|
1520 |
/**
|
@@ -1523,39 +1362,34 @@
|
|
1523 |
*/
|
1524 |
Owl.prototype.destroy = function() {
|
1525 |
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
|
1530 |
if (this.settings.responsive !== false) {
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
if (this.transitionEndVendor) {
|
1535 |
-
this.off(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd);
|
1536 |
}
|
1537 |
|
1538 |
-
for (
|
1539 |
this._plugins[i].destroy();
|
1540 |
}
|
1541 |
|
1542 |
-
if (this.settings.mouseDrag || this.settings.touchDrag) {
|
1543 |
-
this.$stage.off('mousedown touchstart touchcancel');
|
1544 |
-
$(document).off('.owl.dragEvents');
|
1545 |
-
this.$stage.get(0).onselectstart = function() {};
|
1546 |
-
this.$stage.off('dragstart', function() { return false });
|
1547 |
-
}
|
1548 |
-
|
1549 |
-
// remove event handlers in the ".owl.carousel" namespace
|
1550 |
-
this.$element.off('.owl');
|
1551 |
-
|
1552 |
this.$stage.children('.cloned').remove();
|
1553 |
-
this.e = null;
|
1554 |
-
this.$element.removeData('owlCarousel');
|
1555 |
|
|
|
1556 |
this.$stage.children().contents().unwrap();
|
1557 |
this.$stage.children().unwrap();
|
1558 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1559 |
};
|
1560 |
|
1561 |
/**
|
@@ -1614,14 +1448,17 @@
|
|
1614 |
};
|
1615 |
|
1616 |
/**
|
1617 |
-
* Triggers
|
|
|
1618 |
* @protected
|
1619 |
* @param {String} name - The event name.
|
1620 |
* @param {*} [data=null] - The event data.
|
1621 |
-
* @param {String} [namespace
|
|
|
|
|
1622 |
* @returns {Event} - The event arguments.
|
1623 |
*/
|
1624 |
-
Owl.prototype.trigger = function(name, data, namespace) {
|
1625 |
var status = {
|
1626 |
item: { count: this._items.length, index: this.current() }
|
1627 |
}, handler = $.camelCase(
|
@@ -1639,16 +1476,75 @@
|
|
1639 |
}
|
1640 |
});
|
1641 |
|
|
|
1642 |
this.$element.trigger(event);
|
1643 |
|
1644 |
if (this.settings && typeof this.settings[handler] === 'function') {
|
1645 |
-
this.settings[handler].
|
1646 |
}
|
1647 |
}
|
1648 |
|
1649 |
return event;
|
1650 |
};
|
1651 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1652 |
/**
|
1653 |
* Suppresses events.
|
1654 |
* @protected
|
@@ -1658,7 +1554,7 @@
|
|
1658 |
$.each(events, $.proxy(function(index, event) {
|
1659 |
this._supress[event] = true;
|
1660 |
}, this));
|
1661 |
-
}
|
1662 |
|
1663 |
/**
|
1664 |
* Releases suppressed events.
|
@@ -1669,149 +1565,208 @@
|
|
1669 |
$.each(events, $.proxy(function(index, event) {
|
1670 |
delete this._supress[event];
|
1671 |
}, this));
|
1672 |
-
}
|
1673 |
|
1674 |
/**
|
1675 |
-
*
|
|
|
1676 |
* @protected
|
|
|
|
|
1677 |
*/
|
1678 |
-
Owl.prototype.
|
1679 |
-
|
1680 |
|
1681 |
-
|
1682 |
-
this.transformVendor = isTransform();
|
1683 |
|
1684 |
-
|
1685 |
-
|
1686 |
-
|
1687 |
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
|
|
|
|
|
|
1691 |
}
|
1692 |
|
1693 |
-
|
1694 |
};
|
1695 |
|
1696 |
/**
|
1697 |
-
*
|
1698 |
-
* @
|
1699 |
-
* @
|
1700 |
-
* @
|
1701 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1702 |
|
1703 |
-
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1717 |
}
|
1718 |
|
1719 |
-
|
1720 |
-
|
1721 |
-
x: event.clientX,
|
1722 |
-
y: event.clientY
|
1723 |
-
};
|
1724 |
}
|
1725 |
-
}
|
1726 |
-
}
|
1727 |
|
1728 |
/**
|
1729 |
-
*
|
1730 |
-
* @
|
1731 |
-
* @param {Array} array - The CSS properties to check for.
|
1732 |
-
* @returns {Array} - Contains the supported CSS property name and its index or `false`.
|
1733 |
*/
|
1734 |
-
|
1735 |
-
var p, s, fake = document.createElement('div'), list = array;
|
1736 |
-
for (p in list) {
|
1737 |
-
s = list[p];
|
1738 |
-
if (typeof fake.style[s] !== 'undefined') {
|
1739 |
-
fake = null;
|
1740 |
-
return [ s, p ];
|
1741 |
-
}
|
1742 |
-
}
|
1743 |
-
return [ false ];
|
1744 |
-
}
|
1745 |
|
1746 |
-
|
1747 |
-
* Checks for CSS transition support.
|
1748 |
-
* @private
|
1749 |
-
* @todo Realy bad design
|
1750 |
-
* @returns {Number}
|
1751 |
-
*/
|
1752 |
-
function isTransition() {
|
1753 |
-
return isStyleSupported([ 'transition', 'WebkitTransition', 'MozTransition', 'OTransition' ])[1];
|
1754 |
-
}
|
1755 |
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
}
|
1764 |
|
1765 |
/**
|
1766 |
-
*
|
1767 |
-
* @
|
1768 |
-
* @
|
1769 |
*/
|
1770 |
-
function
|
1771 |
-
|
1772 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1773 |
|
1774 |
/**
|
1775 |
-
*
|
1776 |
-
* @
|
1777 |
-
* @returns {Boolean}
|
1778 |
*/
|
1779 |
-
|
1780 |
-
|
1781 |
-
|
|
|
1782 |
|
1783 |
/**
|
1784 |
-
*
|
1785 |
-
* @private
|
1786 |
-
* @returns {Boolean}
|
1787 |
*/
|
1788 |
-
function
|
1789 |
-
|
1790 |
-
|
|
|
|
|
|
|
|
|
|
|
1791 |
|
1792 |
/**
|
1793 |
-
*
|
1794 |
-
* @public
|
1795 |
*/
|
1796 |
-
|
1797 |
-
|
1798 |
-
|
1799 |
-
|
1800 |
-
|
1801 |
-
|
|
|
|
|
|
|
|
|
1802 |
};
|
1803 |
|
1804 |
/**
|
1805 |
-
*
|
1806 |
-
* @public
|
1807 |
*/
|
1808 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1809 |
|
1810 |
})(window.Zepto || window.jQuery, window, document);
|
1811 |
|
1812 |
/**
|
1813 |
* Lazy Plugin
|
1814 |
-
* @version 2.0.0
|
1815 |
* @author Bartosz Wojciechowski
|
1816 |
* @license The MIT License (MIT)
|
1817 |
*/
|
@@ -1863,7 +1818,8 @@
|
|
1863 |
|
1864 |
while (i++ < n) {
|
1865 |
this.load(clones / 2 + this._core.relative(position));
|
1866 |
-
clones && $.each(this._core.clones(this._core.relative(position
|
|
|
1867 |
}
|
1868 |
}
|
1869 |
}, this)
|
@@ -1937,7 +1893,7 @@
|
|
1937 |
for (property in Object.getOwnPropertyNames(this)) {
|
1938 |
typeof this[property] != 'function' && (this[property] = null);
|
1939 |
}
|
1940 |
-
}
|
1941 |
|
1942 |
$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;
|
1943 |
|
@@ -1945,7 +1901,7 @@
|
|
1945 |
|
1946 |
/**
|
1947 |
* AutoHeight Plugin
|
1948 |
-
* @version 2.0.0
|
1949 |
* @author Bartosz Wojciechowski
|
1950 |
* @license The MIT License (MIT)
|
1951 |
*/
|
@@ -1970,19 +1926,19 @@
|
|
1970 |
* @type {Object}
|
1971 |
*/
|
1972 |
this._handlers = {
|
1973 |
-
'initialized.owl.carousel': $.proxy(function() {
|
1974 |
-
if (this._core.settings.autoHeight) {
|
1975 |
this.update();
|
1976 |
}
|
1977 |
}, this),
|
1978 |
'changed.owl.carousel': $.proxy(function(e) {
|
1979 |
-
if (this._core.settings.autoHeight && e.property.name == 'position'){
|
1980 |
this.update();
|
1981 |
}
|
1982 |
}, this),
|
1983 |
'loaded.owl.lazy': $.proxy(function(e) {
|
1984 |
-
if (
|
1985 |
-
|
1986 |
this.update();
|
1987 |
}
|
1988 |
}, this)
|
@@ -2008,8 +1964,20 @@
|
|
2008 |
* Updates the view.
|
2009 |
*/
|
2010 |
AutoHeight.prototype.update = function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011 |
this._core.$stage.parent()
|
2012 |
-
.height(
|
2013 |
.addClass(this._core.settings.autoHeightClass);
|
2014 |
};
|
2015 |
|
@@ -2030,7 +1998,7 @@
|
|
2030 |
|
2031 |
/**
|
2032 |
* Video Plugin
|
2033 |
-
* @version 2.0.0
|
2034 |
* @author Bartosz Wojciechowski
|
2035 |
* @license The MIT License (MIT)
|
2036 |
*/
|
@@ -2063,31 +2031,40 @@
|
|
2063 |
*/
|
2064 |
this._playing = null;
|
2065 |
|
2066 |
-
/**
|
2067 |
-
* Whether this is in fullscreen or not.
|
2068 |
-
* @protected
|
2069 |
-
* @type {Boolean}
|
2070 |
-
*/
|
2071 |
-
this._fullscreen = false;
|
2072 |
-
|
2073 |
/**
|
2074 |
* All event handlers.
|
|
|
2075 |
* @protected
|
2076 |
* @type {Object}
|
2077 |
*/
|
2078 |
this._handlers = {
|
|
|
|
|
|
|
|
|
|
|
2079 |
'resize.owl.carousel': $.proxy(function(e) {
|
2080 |
-
if (this._core.settings.video &&
|
2081 |
e.preventDefault();
|
2082 |
}
|
2083 |
}, this),
|
2084 |
-
'
|
2085 |
-
if (this.
|
|
|
|
|
|
|
|
|
|
|
2086 |
this.stop();
|
2087 |
}
|
2088 |
}, this),
|
2089 |
'prepared.owl.carousel': $.proxy(function(e) {
|
|
|
|
|
|
|
|
|
2090 |
var $element = $(e.content).find('.owl-video');
|
|
|
2091 |
if ($element.length) {
|
2092 |
$element.css('display', 'none');
|
2093 |
this.fetch($element, $(e.content));
|
@@ -2123,7 +2100,6 @@
|
|
2123 |
* @param {jQuery} item - The item containing the video.
|
2124 |
*/
|
2125 |
Video.prototype.fetch = function(target, item) {
|
2126 |
-
|
2127 |
var type = target.attr('data-vimeo-id') ? 'vimeo' : 'youtube',
|
2128 |
id = target.attr('data-vimeo-id') || target.attr('data-youtube-id'),
|
2129 |
width = target.attr('data-width') || this._core.settings.videoWidth,
|
@@ -2165,7 +2141,6 @@
|
|
2165 |
* @see `fetch`
|
2166 |
*/
|
2167 |
Video.prototype.thumbnail = function(target, video) {
|
2168 |
-
|
2169 |
var tnLink,
|
2170 |
icon,
|
2171 |
path,
|
@@ -2227,42 +2202,46 @@
|
|
2227 |
this._playing.find('.owl-video-frame').remove();
|
2228 |
this._playing.removeClass('owl-video-playing');
|
2229 |
this._playing = null;
|
|
|
|
|
2230 |
};
|
2231 |
|
2232 |
/**
|
2233 |
* Starts the current video.
|
2234 |
* @public
|
2235 |
-
* @param {Event}
|
2236 |
*/
|
2237 |
-
Video.prototype.play = function(
|
2238 |
-
|
2239 |
-
|
2240 |
-
if (this._playing) {
|
2241 |
-
this.stop();
|
2242 |
-
}
|
2243 |
-
|
2244 |
-
var target = $(ev.target || ev.srcElement),
|
2245 |
item = target.closest('.' + this._core.settings.itemClass),
|
2246 |
video = this._videos[item.attr('data-video')],
|
2247 |
width = video.width || '100%',
|
2248 |
height = video.height || this._core.$stage.height(),
|
2249 |
-
html
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2250 |
|
2251 |
if (video.type === 'youtube') {
|
2252 |
-
html = '<iframe width="' + width + '" height="' + height + '" src="http://www.youtube.com/embed/'
|
2253 |
-
|
2254 |
} else if (video.type === 'vimeo') {
|
2255 |
-
html = '<iframe src="http://player.vimeo.com/video/' + video.id +
|
2256 |
-
+ '" height="' + height
|
2257 |
-
|
2258 |
}
|
2259 |
|
2260 |
-
item.
|
2261 |
-
this._playing = item;
|
2262 |
|
2263 |
-
|
2264 |
-
+ html + '</div>');
|
2265 |
-
target.after(wrap);
|
2266 |
};
|
2267 |
|
2268 |
/**
|
@@ -2272,35 +2251,10 @@
|
|
2272 |
* @returns {Boolean}
|
2273 |
*/
|
2274 |
Video.prototype.isInFullScreen = function() {
|
|
|
|
|
2275 |
|
2276 |
-
|
2277 |
-
var element = document.fullscreenElement || document.mozFullScreenElement
|
2278 |
-
|| document.webkitFullscreenElement;
|
2279 |
-
|
2280 |
-
if (element && $(element).parent().hasClass('owl-video-frame')) {
|
2281 |
-
this._core.speed(0);
|
2282 |
-
this._fullscreen = true;
|
2283 |
-
}
|
2284 |
-
|
2285 |
-
if (element && this._fullscreen && this._playing) {
|
2286 |
-
return false;
|
2287 |
-
}
|
2288 |
-
|
2289 |
-
// comming back from fullscreen
|
2290 |
-
if (this._fullscreen) {
|
2291 |
-
this._fullscreen = false;
|
2292 |
-
return false;
|
2293 |
-
}
|
2294 |
-
|
2295 |
-
// check full screen mode and window orientation
|
2296 |
-
if (this._playing) {
|
2297 |
-
if (this._core.state.orientation !== window.orientation) {
|
2298 |
-
this._core.state.orientation = window.orientation;
|
2299 |
-
return false;
|
2300 |
-
}
|
2301 |
-
}
|
2302 |
-
|
2303 |
-
return true;
|
2304 |
};
|
2305 |
|
2306 |
/**
|
@@ -2325,7 +2279,7 @@
|
|
2325 |
|
2326 |
/**
|
2327 |
* Animate Plugin
|
2328 |
-
* @version 2.0.0
|
2329 |
* @author Bartosz Wojciechowski
|
2330 |
* @license The MIT License (MIT)
|
2331 |
*/
|
@@ -2345,16 +2299,18 @@
|
|
2345 |
|
2346 |
this.handlers = {
|
2347 |
'change.owl.carousel': $.proxy(function(e) {
|
2348 |
-
if (e.property.name == 'position') {
|
2349 |
this.previous = this.core.current();
|
2350 |
this.next = e.property.value;
|
2351 |
}
|
2352 |
}, this),
|
2353 |
'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {
|
2354 |
-
|
|
|
|
|
2355 |
}, this),
|
2356 |
'translate.owl.carousel': $.proxy(function(e) {
|
2357 |
-
if (this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {
|
2358 |
this.swap();
|
2359 |
}
|
2360 |
}, this)
|
@@ -2379,7 +2335,11 @@
|
|
2379 |
*/
|
2380 |
Animate.prototype.swap = function() {
|
2381 |
|
2382 |
-
if (this.core.settings.items !== 1
|
|
|
|
|
|
|
|
|
2383 |
return;
|
2384 |
}
|
2385 |
|
@@ -2398,16 +2358,16 @@
|
|
2398 |
|
2399 |
if (outgoing) {
|
2400 |
left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);
|
2401 |
-
previous.
|
|
|
2402 |
.addClass('animated owl-animated-out')
|
2403 |
-
.addClass(outgoing)
|
2404 |
-
.one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', clear);
|
2405 |
}
|
2406 |
|
2407 |
if (incoming) {
|
2408 |
-
next.
|
2409 |
-
.addClass(
|
2410 |
-
.
|
2411 |
}
|
2412 |
};
|
2413 |
|
@@ -2416,8 +2376,8 @@
|
|
2416 |
.removeClass('animated owl-animated-out owl-animated-in')
|
2417 |
.removeClass(this.core.settings.animateIn)
|
2418 |
.removeClass(this.core.settings.animateOut);
|
2419 |
-
this.core.
|
2420 |
-
}
|
2421 |
|
2422 |
/**
|
2423 |
* Destroys the plugin.
|
@@ -2440,8 +2400,9 @@
|
|
2440 |
|
2441 |
/**
|
2442 |
* Autoplay Plugin
|
2443 |
-
* @version 2.0.0
|
2444 |
* @author Bartosz Wojciechowski
|
|
|
2445 |
* @license The MIT License (MIT)
|
2446 |
*/
|
2447 |
;(function($, window, document, undefined) {
|
@@ -2451,33 +2412,73 @@
|
|
2451 |
* @class The Autoplay Plugin
|
2452 |
* @param {Owl} scope - The Owl Carousel
|
2453 |
*/
|
2454 |
-
var Autoplay = function(
|
2455 |
-
|
2456 |
-
|
|
|
|
|
|
|
|
|
2457 |
|
2458 |
-
|
2459 |
-
|
2460 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2461 |
}, this),
|
2462 |
'play.owl.autoplay': $.proxy(function(e, t, s) {
|
2463 |
-
|
|
|
|
|
2464 |
}, this),
|
2465 |
-
'stop.owl.autoplay': $.proxy(function() {
|
2466 |
-
|
|
|
|
|
2467 |
}, this),
|
2468 |
'mouseover.owl.autoplay': $.proxy(function() {
|
2469 |
-
if (this.
|
2470 |
this.pause();
|
2471 |
}
|
2472 |
}, this),
|
2473 |
'mouseleave.owl.autoplay': $.proxy(function() {
|
2474 |
-
if (this.
|
2475 |
-
this.
|
2476 |
}
|
2477 |
}, this)
|
2478 |
};
|
2479 |
|
2480 |
-
|
|
|
|
|
|
|
|
|
2481 |
};
|
2482 |
|
2483 |
/**
|
@@ -2491,47 +2492,27 @@
|
|
2491 |
autoplaySpeed: false
|
2492 |
};
|
2493 |
|
2494 |
-
/**
|
2495 |
-
* @protected
|
2496 |
-
* @todo Must be documented.
|
2497 |
-
*/
|
2498 |
-
Autoplay.prototype.autoplay = function() {
|
2499 |
-
if (this.core.settings.autoplay && !this.core.state.videoPlay) {
|
2500 |
-
window.clearInterval(this.interval);
|
2501 |
-
|
2502 |
-
this.interval = window.setInterval($.proxy(function() {
|
2503 |
-
this.play();
|
2504 |
-
}, this), this.core.settings.autoplayTimeout);
|
2505 |
-
} else {
|
2506 |
-
window.clearInterval(this.interval);
|
2507 |
-
}
|
2508 |
-
};
|
2509 |
-
|
2510 |
/**
|
2511 |
* Starts the autoplay.
|
2512 |
* @public
|
2513 |
-
* @param {Number} [timeout] -
|
2514 |
-
* @param {Number} [speed] -
|
2515 |
-
* @returns {Boolean|undefined} - ...
|
2516 |
-
* @todo Must be documented.
|
2517 |
*/
|
2518 |
Autoplay.prototype.play = function(timeout, speed) {
|
2519 |
-
|
2520 |
-
if (document.hidden === true) {
|
2521 |
-
return;
|
2522 |
-
}
|
2523 |
|
2524 |
-
if (this.
|
2525 |
-
|| this.core.state.isSwiping || this.core.state.inMotion) {
|
2526 |
return;
|
2527 |
}
|
2528 |
|
2529 |
-
|
2530 |
-
window.clearInterval(this.interval);
|
2531 |
-
return;
|
2532 |
-
}
|
2533 |
|
2534 |
-
this.
|
|
|
|
|
|
|
|
|
|
|
2535 |
};
|
2536 |
|
2537 |
/**
|
@@ -2539,15 +2520,24 @@
|
|
2539 |
* @public
|
2540 |
*/
|
2541 |
Autoplay.prototype.stop = function() {
|
2542 |
-
|
|
|
|
|
|
|
|
|
|
|
2543 |
};
|
2544 |
|
2545 |
/**
|
2546 |
-
*
|
2547 |
* @public
|
2548 |
*/
|
2549 |
Autoplay.prototype.pause = function() {
|
2550 |
-
|
|
|
|
|
|
|
|
|
2551 |
};
|
2552 |
|
2553 |
/**
|
@@ -2556,10 +2546,10 @@
|
|
2556 |
Autoplay.prototype.destroy = function() {
|
2557 |
var handler, property;
|
2558 |
|
2559 |
-
|
2560 |
|
2561 |
-
for (handler in this.
|
2562 |
-
this.
|
2563 |
}
|
2564 |
for (property in Object.getOwnPropertyNames(this)) {
|
2565 |
typeof this[property] != 'function' && (this[property] = null);
|
@@ -2572,7 +2562,7 @@
|
|
2572 |
|
2573 |
/**
|
2574 |
* Navigation Plugin
|
2575 |
-
* @version 2.0.0
|
2576 |
* @author Artus Kolanowski
|
2577 |
* @license The MIT License (MIT)
|
2578 |
*/
|
@@ -2644,46 +2634,43 @@
|
|
2644 |
*/
|
2645 |
this._handlers = {
|
2646 |
'prepared.owl.carousel': $.proxy(function(e) {
|
2647 |
-
if (this._core.settings.dotsData) {
|
2648 |
-
this._templates.push(
|
|
|
2649 |
}
|
2650 |
}, this),
|
2651 |
-
'
|
2652 |
-
if (this._core.settings.dotsData) {
|
2653 |
-
this._templates.splice(e.position, 0,
|
2654 |
}
|
2655 |
}, this),
|
2656 |
-
'remove.owl.carousel
|
2657 |
-
if (this._core.settings.dotsData) {
|
2658 |
this._templates.splice(e.position, 1);
|
2659 |
}
|
2660 |
}, this),
|
2661 |
-
'change.owl.carousel': $.proxy(function(e) {
|
2662 |
-
if (e.property.name == 'position') {
|
2663 |
-
if (!this._core.state.revert && !this._core.settings.loop && this._core.settings.navRewind) {
|
2664 |
-
var current = this._core.current(),
|
2665 |
-
maximum = this._core.maximum(),
|
2666 |
-
minimum = this._core.minimum();
|
2667 |
-
e.data = e.property.value > maximum
|
2668 |
-
? current >= maximum ? minimum : maximum
|
2669 |
-
: e.property.value < minimum ? maximum : e.property.value;
|
2670 |
-
}
|
2671 |
-
}
|
2672 |
-
}, this),
|
2673 |
'changed.owl.carousel': $.proxy(function(e) {
|
2674 |
-
if (e.property.name == 'position') {
|
2675 |
this.draw();
|
2676 |
}
|
2677 |
}, this),
|
2678 |
-
'
|
2679 |
-
if (!this._initialized) {
|
|
|
2680 |
this.initialize();
|
|
|
|
|
2681 |
this._initialized = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2682 |
}
|
2683 |
-
this._core.trigger('refresh', null, 'navigation');
|
2684 |
-
this.update();
|
2685 |
-
this.draw();
|
2686 |
-
this._core.trigger('refreshed', null, 'navigation');
|
2687 |
}, this)
|
2688 |
};
|
2689 |
|
@@ -2692,7 +2679,7 @@
|
|
2692 |
|
2693 |
// register event handlers
|
2694 |
this.$element.on(this._handlers);
|
2695 |
-
}
|
2696 |
|
2697 |
/**
|
2698 |
* Default options.
|
@@ -2701,7 +2688,6 @@
|
|
2701 |
*/
|
2702 |
Navigation.Defaults = {
|
2703 |
nav: false,
|
2704 |
-
navRewind: true,
|
2705 |
navText: [ 'prev', 'next' ],
|
2706 |
navSpeed: false,
|
2707 |
navElement: 'div',
|
@@ -2713,77 +2699,63 @@
|
|
2713 |
dotsClass: 'owl-dots',
|
2714 |
dots: true,
|
2715 |
dotsEach: false,
|
2716 |
-
|
2717 |
dotsSpeed: false,
|
2718 |
-
dotsContainer: false
|
2719 |
-
|
2720 |
-
}
|
2721 |
|
2722 |
/**
|
2723 |
* Initializes the layout of the plugin and extends the carousel.
|
2724 |
* @protected
|
2725 |
*/
|
2726 |
Navigation.prototype.initialize = function() {
|
2727 |
-
var
|
2728 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2729 |
|
2730 |
-
// create
|
2731 |
-
if (!
|
2732 |
this._templates = [ $('<div>')
|
2733 |
-
.addClass(
|
2734 |
.append($('<span>'))
|
2735 |
.prop('outerHTML') ];
|
2736 |
}
|
2737 |
|
2738 |
-
|
2739 |
-
|
2740 |
-
this._controls.$container = $('<div>')
|
2741 |
-
.addClass(options.controlsClass)
|
2742 |
-
.appendTo(this.$element);
|
2743 |
-
}
|
2744 |
-
|
2745 |
-
// create DOM structure for absolute navigation
|
2746 |
-
this._controls.$indicators = options.dotsContainer ? $(options.dotsContainer)
|
2747 |
-
: $('<div>').hide().addClass(options.dotsClass).appendTo(this._controls.$container);
|
2748 |
|
2749 |
-
this._controls.$
|
2750 |
-
var index = $(e.target).parent().is(this._controls.$
|
2751 |
? $(e.target).index() : $(e.target).parent().index();
|
2752 |
|
2753 |
e.preventDefault();
|
2754 |
|
2755 |
-
this.to(index,
|
2756 |
}, this));
|
2757 |
|
2758 |
-
// create DOM structure for relative navigation
|
2759 |
-
$container = options.navContainer ? $(options.navContainer)
|
2760 |
-
: $('<div>').addClass(options.navContainerClass).prependTo(this._controls.$container);
|
2761 |
-
|
2762 |
-
this._controls.$next = $('<' + options.navElement + '>');
|
2763 |
-
this._controls.$previous = this._controls.$next.clone();
|
2764 |
-
|
2765 |
-
this._controls.$previous
|
2766 |
-
.addClass(options.navClass[0])
|
2767 |
-
.html(options.navText[0])
|
2768 |
-
.hide()
|
2769 |
-
.prependTo($container)
|
2770 |
-
.on('click', $.proxy(function(e) {
|
2771 |
-
this.prev(options.navSpeed);
|
2772 |
-
}, this));
|
2773 |
-
this._controls.$next
|
2774 |
-
.addClass(options.navClass[1])
|
2775 |
-
.html(options.navText[1])
|
2776 |
-
.hide()
|
2777 |
-
.appendTo($container)
|
2778 |
-
.on('click', $.proxy(function(e) {
|
2779 |
-
this.next(options.navSpeed);
|
2780 |
-
}, this));
|
2781 |
-
|
2782 |
// override public methods of the carousel
|
2783 |
for (override in this._overrides) {
|
2784 |
this._core[override] = $.proxy(this[override], this);
|
2785 |
}
|
2786 |
-
}
|
2787 |
|
2788 |
/**
|
2789 |
* Destroys the plugin.
|
@@ -2804,7 +2776,7 @@
|
|
2804 |
for (property in Object.getOwnPropertyNames(this)) {
|
2805 |
typeof this[property] != 'function' && (this[property] = null);
|
2806 |
}
|
2807 |
-
}
|
2808 |
|
2809 |
/**
|
2810 |
* Updates the internal state.
|
@@ -2812,72 +2784,72 @@
|
|
2812 |
*/
|
2813 |
Navigation.prototype.update = function() {
|
2814 |
var i, j, k,
|
2815 |
-
options = this._core.settings,
|
2816 |
lower = this._core.clones().length / 2,
|
2817 |
upper = lower + this._core.items().length,
|
2818 |
-
|
2819 |
-
|
|
|
|
|
2820 |
|
2821 |
-
if (
|
2822 |
-
|
2823 |
}
|
2824 |
|
2825 |
-
if (
|
2826 |
this._pages = [];
|
2827 |
|
2828 |
for (i = lower, j = 0, k = 0; i < upper; i++) {
|
2829 |
if (j >= size || j === 0) {
|
2830 |
this._pages.push({
|
2831 |
-
start: i - lower,
|
2832 |
end: i - lower + size - 1
|
2833 |
});
|
|
|
|
|
|
|
2834 |
j = 0, ++k;
|
2835 |
}
|
2836 |
j += this._core.mergers(this._core.relative(i));
|
2837 |
}
|
2838 |
}
|
2839 |
-
}
|
2840 |
|
2841 |
/**
|
2842 |
* Draws the user interface.
|
2843 |
-
* @todo The option `
|
2844 |
* @protected
|
2845 |
*/
|
2846 |
Navigation.prototype.draw = function() {
|
2847 |
-
var difference,
|
2848 |
-
|
2849 |
-
|
2850 |
-
index = this._core.relative(this._core.current())
|
|
|
|
|
|
|
2851 |
|
2852 |
-
if (
|
2853 |
-
this._controls.$previous.toggleClass('disabled', index <=
|
2854 |
-
this._controls.$next.toggleClass('disabled', index >= this._core.maximum());
|
2855 |
}
|
2856 |
|
2857 |
-
this._controls.$
|
2858 |
-
this._controls.$next.toggle(options.nav);
|
2859 |
|
2860 |
-
if (
|
2861 |
-
difference = this._pages.length - this._controls.$
|
2862 |
|
2863 |
-
if (
|
2864 |
-
|
2865 |
-
html += this._templates[this._core.relative(i)];
|
2866 |
-
}
|
2867 |
-
this._controls.$indicators.html(html);
|
2868 |
} else if (difference > 0) {
|
2869 |
-
|
2870 |
-
this._controls.$indicators.append(html);
|
2871 |
} else if (difference < 0) {
|
2872 |
-
this._controls.$
|
2873 |
}
|
2874 |
|
2875 |
-
this._controls.$
|
2876 |
-
this._controls.$
|
2877 |
}
|
2878 |
-
|
2879 |
-
this._controls.$indicators.toggle(options.dots);
|
2880 |
-
}
|
2881 |
|
2882 |
/**
|
2883 |
* Extends event data.
|
@@ -2890,10 +2862,10 @@
|
|
2890 |
event.page = {
|
2891 |
index: $.inArray(this.current(), this._pages),
|
2892 |
count: this._pages.length,
|
2893 |
-
size: settings && (settings.center || settings.autoWidth || settings.
|
2894 |
? 1 : settings.dotsEach || settings.items)
|
2895 |
};
|
2896 |
-
}
|
2897 |
|
2898 |
/**
|
2899 |
* Gets the current page position of the carousel.
|
@@ -2901,11 +2873,11 @@
|
|
2901 |
* @returns {Number}
|
2902 |
*/
|
2903 |
Navigation.prototype.current = function() {
|
2904 |
-
var
|
2905 |
-
return $.grep(this._pages, function(
|
2906 |
-
return
|
2907 |
-
}).pop();
|
2908 |
-
}
|
2909 |
|
2910 |
/**
|
2911 |
* Gets the current succesor/predecessor position.
|
@@ -2914,9 +2886,9 @@
|
|
2914 |
*/
|
2915 |
Navigation.prototype.getPosition = function(successor) {
|
2916 |
var position, length,
|
2917 |
-
|
2918 |
|
2919 |
-
if (
|
2920 |
position = $.inArray(this.current(), this._pages);
|
2921 |
length = this._pages.length;
|
2922 |
successor ? ++position : --position;
|
@@ -2924,10 +2896,11 @@
|
|
2924 |
} else {
|
2925 |
position = this._core.relative(this._core.current());
|
2926 |
length = this._core.items().length;
|
2927 |
-
successor ? position +=
|
2928 |
}
|
|
|
2929 |
return position;
|
2930 |
-
}
|
2931 |
|
2932 |
/**
|
2933 |
* Slides to the next item or page.
|
@@ -2936,7 +2909,7 @@
|
|
2936 |
*/
|
2937 |
Navigation.prototype.next = function(speed) {
|
2938 |
$.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);
|
2939 |
-
}
|
2940 |
|
2941 |
/**
|
2942 |
* Slides to the previous item or page.
|
@@ -2945,7 +2918,7 @@
|
|
2945 |
*/
|
2946 |
Navigation.prototype.prev = function(speed) {
|
2947 |
$.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);
|
2948 |
-
}
|
2949 |
|
2950 |
/**
|
2951 |
* Slides to the specified item or page.
|
@@ -2963,7 +2936,7 @@
|
|
2963 |
} else {
|
2964 |
$.proxy(this._overrides.to, this._core)(position, speed);
|
2965 |
}
|
2966 |
-
}
|
2967 |
|
2968 |
$.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;
|
2969 |
|
@@ -2971,7 +2944,7 @@
|
|
2971 |
|
2972 |
/**
|
2973 |
* Hash Plugin
|
2974 |
-
* @version 2.0.0
|
2975 |
* @author Artus Kolanowski
|
2976 |
* @license The MIT License (MIT)
|
2977 |
*/
|
@@ -2992,7 +2965,7 @@
|
|
2992 |
this._core = carousel;
|
2993 |
|
2994 |
/**
|
2995 |
-
* Hash
|
2996 |
* @protected
|
2997 |
* @type {Object}
|
2998 |
*/
|
@@ -3010,14 +2983,35 @@
|
|
3010 |
* @type {Object}
|
3011 |
*/
|
3012 |
this._handlers = {
|
3013 |
-
'initialized.owl.carousel': $.proxy(function() {
|
3014 |
-
if (this._core.settings.startPosition
|
3015 |
$(window).trigger('hashchange.owl.navigation');
|
3016 |
}
|
3017 |
}, this),
|
3018 |
'prepared.owl.carousel': $.proxy(function(e) {
|
3019 |
-
|
3020 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3021 |
}, this)
|
3022 |
};
|
3023 |
|
@@ -3028,18 +3022,18 @@
|
|
3028 |
this.$element.on(this._handlers);
|
3029 |
|
3030 |
// register event listener for hash navigation
|
3031 |
-
$(window).on('hashchange.owl.navigation', $.proxy(function() {
|
3032 |
var hash = window.location.hash.substring(1),
|
3033 |
items = this._core.$stage.children(),
|
3034 |
-
position = this._hashes[hash] && items.index(this._hashes[hash])
|
3035 |
|
3036 |
-
if (
|
3037 |
-
return
|
3038 |
}
|
3039 |
|
3040 |
-
this._core.to(position, false, true);
|
3041 |
}, this));
|
3042 |
-
}
|
3043 |
|
3044 |
/**
|
3045 |
* Default options.
|
@@ -3047,7 +3041,7 @@
|
|
3047 |
*/
|
3048 |
Hash.Defaults = {
|
3049 |
URLhashListener: false
|
3050 |
-
}
|
3051 |
|
3052 |
/**
|
3053 |
* Destroys the plugin.
|
@@ -3064,8 +3058,91 @@
|
|
3064 |
for (property in Object.getOwnPropertyNames(this)) {
|
3065 |
typeof this[property] != 'function' && (this[property] = null);
|
3066 |
}
|
3067 |
-
}
|
3068 |
|
3069 |
$.fn.owlCarousel.Constructor.Plugins.Hash = Hash;
|
3070 |
|
3071 |
})(window.Zepto || window.jQuery, window, document);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/**
|
2 |
* Owl carousel
|
3 |
+
* @version 2.0.0-beta.3
|
4 |
* @author Bartosz Wojciechowski
|
5 |
* @license The MIT License (MIT)
|
6 |
* @todo Lazy Load Icon
|
11 |
*/
|
12 |
;(function($, window, document, undefined) {
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
/**
|
15 |
* Creates a carousel.
|
16 |
* @class The Owl Carousel.
|
39 |
this.$element = $(element);
|
40 |
|
41 |
/**
|
42 |
+
* Proxied event handlers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
* @protected
|
|
|
44 |
*/
|
45 |
+
this._handlers = {};
|
46 |
|
47 |
/**
|
48 |
* References to the running plugins of this carousel.
|
106 |
*/
|
107 |
this._mergers = [];
|
108 |
|
109 |
+
/**
|
110 |
+
* Widths of all items.
|
111 |
+
*/
|
112 |
+
this._widths = [];
|
113 |
+
|
114 |
/**
|
115 |
* Invalidated parts within the update process.
|
116 |
* @protected
|
123 |
*/
|
124 |
this._pipe = [];
|
125 |
|
126 |
+
/**
|
127 |
+
* Current state information for the drag operation.
|
128 |
+
* @todo #261
|
129 |
+
* @protected
|
130 |
+
*/
|
131 |
+
this._drag = {
|
132 |
+
time: null,
|
133 |
+
target: null,
|
134 |
+
pointer: null,
|
135 |
+
stage: {
|
136 |
+
start: null,
|
137 |
+
current: null
|
138 |
+
},
|
139 |
+
direction: null
|
140 |
+
};
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Current state information and their tags.
|
144 |
+
* @type {Object}
|
145 |
+
* @protected
|
146 |
+
*/
|
147 |
+
this._states = {
|
148 |
+
current: {},
|
149 |
+
tags: {
|
150 |
+
'initializing': [ 'busy' ],
|
151 |
+
'animating': [ 'busy' ],
|
152 |
+
'dragging': [ 'interacting' ]
|
153 |
+
}
|
154 |
+
};
|
155 |
+
|
156 |
+
$.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {
|
157 |
+
this._handlers[handler] = $.proxy(this[handler], this);
|
158 |
+
}, this));
|
159 |
+
|
160 |
$.each(Owl.Plugins, $.proxy(function(key, plugin) {
|
161 |
+
this._plugins[key.charAt(0).toLowerCase() + key.slice(1)]
|
162 |
= new plugin(this);
|
163 |
}, this));
|
164 |
|
165 |
+
$.each(Owl.Workers, $.proxy(function(priority, worker) {
|
166 |
this._pipe.push({
|
167 |
'filter': worker.filter,
|
168 |
'run': $.proxy(worker.run, this)
|
181 |
items: 3,
|
182 |
loop: false,
|
183 |
center: false,
|
184 |
+
rewind: false,
|
185 |
|
186 |
mouseDrag: true,
|
187 |
touchDrag: true,
|
205 |
responsive: {},
|
206 |
responsiveRefreshRate: 200,
|
207 |
responsiveBaseElement: window,
|
|
|
208 |
|
209 |
fallbackEasing: 'swing',
|
210 |
|
214 |
itemElement: 'div',
|
215 |
stageElement: 'div',
|
216 |
|
217 |
+
refreshClass: 'owl-refresh',
|
218 |
+
loadedClass: 'owl-loaded',
|
219 |
+
loadingClass: 'owl-loading',
|
220 |
+
rtlClass: 'owl-rtl',
|
221 |
+
responsiveClass: 'owl-responsive',
|
222 |
+
dragClass: 'owl-drag',
|
223 |
itemClass: 'owl-item',
|
224 |
+
stageClass: 'owl-stage',
|
225 |
+
stageOuterClass: 'owl-stage-outer',
|
226 |
+
grabClass: 'owl-grab'
|
227 |
};
|
228 |
|
229 |
/**
|
238 |
Outer: 'outer'
|
239 |
};
|
240 |
|
241 |
+
/**
|
242 |
+
* Enumeration for types.
|
243 |
+
* @public
|
244 |
+
* @readonly
|
245 |
+
* @enum {String}
|
246 |
+
*/
|
247 |
+
Owl.Type = {
|
248 |
+
Event: 'event',
|
249 |
+
State: 'state'
|
250 |
+
};
|
251 |
+
|
252 |
/**
|
253 |
* Contains all registered plugins.
|
254 |
* @public
|
256 |
Owl.Plugins = {};
|
257 |
|
258 |
/**
|
259 |
+
* List of workers involved in the update process.
|
260 |
*/
|
261 |
+
Owl.Workers = [ {
|
262 |
+
filter: [ 'width', 'settings' ],
|
263 |
+
run: function() {
|
264 |
+
this._width = this.$element.width();
|
265 |
+
}
|
266 |
+
}, {
|
267 |
filter: [ 'width', 'items', 'settings' ],
|
268 |
run: function(cache) {
|
269 |
cache.current = this._items && this._items[this.relative(this._current)];
|
271 |
}, {
|
272 |
filter: [ 'items', 'settings' ],
|
273 |
run: function() {
|
274 |
+
this.$stage.children('.cloned').remove();
|
275 |
+
}
|
276 |
+
}, {
|
277 |
+
filter: [ 'width', 'items', 'settings' ],
|
278 |
+
run: function(cache) {
|
279 |
+
var margin = this.settings.margin || '',
|
280 |
+
grid = !this.settings.autoWidth,
|
281 |
+
rtl = this.settings.rtl,
|
282 |
+
css = {
|
283 |
+
'width': 'auto',
|
284 |
+
'margin-left': rtl ? margin : '',
|
285 |
+
'margin-right': rtl ? '' : margin
|
286 |
+
};
|
287 |
+
|
288 |
+
!grid && this.$stage.children().css(css);
|
289 |
+
|
290 |
+
cache.css = css;
|
291 |
+
}
|
292 |
+
}, {
|
293 |
+
filter: [ 'width', 'items', 'settings' ],
|
294 |
+
run: function(cache) {
|
295 |
+
var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,
|
296 |
+
merge = null,
|
297 |
+
iterator = this._items.length,
|
298 |
+
grid = !this.settings.autoWidth,
|
299 |
+
widths = [];
|
300 |
+
|
301 |
+
cache.items = {
|
302 |
+
merge: false,
|
303 |
+
width: width
|
304 |
+
};
|
305 |
+
|
306 |
+
while (iterator--) {
|
307 |
+
merge = this._mergers[iterator];
|
308 |
+
merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;
|
309 |
|
310 |
+
cache.items.merge = merge > 1 || cache.items.merge;
|
311 |
+
|
312 |
+
widths[iterator] = !grid ? this._items[iterator].width() : width * merge;
|
313 |
}
|
314 |
+
|
315 |
+
this._widths = widths;
|
316 |
}
|
317 |
}, {
|
318 |
filter: [ 'items', 'settings' ],
|
319 |
run: function() {
|
320 |
+
var clones = [],
|
|
|
321 |
items = this._items,
|
322 |
+
settings = this.settings,
|
323 |
+
view = Math.max(settings.items * 2, 4),
|
324 |
+
size = Math.ceil(items.length / 2) * 2,
|
325 |
+
repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,
|
326 |
+
append = '',
|
327 |
+
prepend = '';
|
328 |
+
|
329 |
+
repeat /= 2;
|
330 |
+
|
331 |
+
while (repeat--) {
|
332 |
+
clones.push(this.normalize(clones.length / 2, true));
|
333 |
+
append = append + items[clones[clones.length - 1]][0].outerHTML;
|
334 |
+
clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));
|
335 |
+
prepend = items[clones[clones.length - 1]][0].outerHTML + prepend;
|
336 |
}
|
337 |
+
|
338 |
+
this._clones = clones;
|
339 |
+
|
340 |
+
$(append).addClass('cloned').appendTo(this.$stage);
|
341 |
+
$(prepend).addClass('cloned').prependTo(this.$stage);
|
342 |
}
|
343 |
}, {
|
344 |
filter: [ 'width', 'items', 'settings' ],
|
345 |
run: function() {
|
346 |
+
var rtl = this.settings.rtl ? 1 : -1,
|
347 |
+
size = this._clones.length + this._items.length,
|
348 |
+
iterator = -1,
|
349 |
+
previous = 0,
|
350 |
+
current = 0,
|
351 |
+
coordinates = [];
|
352 |
+
|
353 |
+
while (++iterator < size) {
|
354 |
+
previous = coordinates[iterator - 1] || 0;
|
355 |
+
current = this._widths[this.relative(iterator)] + this.settings.margin;
|
356 |
+
coordinates.push(previous + current * rtl);
|
357 |
}
|
358 |
+
|
359 |
+
this._coordinates = coordinates;
|
360 |
}
|
361 |
}, {
|
362 |
filter: [ 'width', 'items', 'settings' ],
|
363 |
run: function() {
|
364 |
+
var padding = this.settings.stagePadding,
|
365 |
+
coordinates = this._coordinates,
|
366 |
+
css = {
|
367 |
+
'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,
|
368 |
+
'padding-left': padding || '',
|
369 |
+
'padding-right': padding || ''
|
370 |
+
};
|
371 |
|
372 |
this.$stage.css(css);
|
373 |
+
}
|
374 |
+
}, {
|
375 |
+
filter: [ 'width', 'items', 'settings' ],
|
376 |
+
run: function(cache) {
|
377 |
+
var iterator = this._coordinates.length,
|
378 |
+
grid = !this.settings.autoWidth,
|
379 |
+
items = this.$stage.children();
|
380 |
+
|
381 |
+
if (grid && cache.items.merge) {
|
382 |
+
while (iterator--) {
|
383 |
+
cache.css.width = this._widths[this.relative(iterator)];
|
384 |
+
items.eq(iterator).css(cache.css);
|
385 |
}
|
386 |
+
} else if (grid) {
|
387 |
+
cache.css.width = cache.items.width;
|
388 |
+
items.css(cache.css);
|
389 |
}
|
390 |
}
|
391 |
+
}, {
|
392 |
+
filter: [ 'items' ],
|
393 |
+
run: function() {
|
394 |
+
this._coordinates.length < 1 && this.$stage.removeAttr('style');
|
395 |
+
}
|
396 |
}, {
|
397 |
filter: [ 'width', 'items', 'settings' ],
|
398 |
run: function(cache) {
|
399 |
+
cache.current = cache.current ? this.$stage.children().index(cache.current) : 0;
|
400 |
+
cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));
|
401 |
+
this.reset(cache.current);
|
402 |
}
|
403 |
}, {
|
404 |
filter: [ 'position' ],
|
409 |
filter: [ 'width', 'position', 'items', 'settings' ],
|
410 |
run: function() {
|
411 |
var rtl = this.settings.rtl ? 1 : -1,
|
412 |
+
padding = this.settings.stagePadding * 2,
|
413 |
begin = this.coordinates(this.current()) + padding,
|
414 |
end = begin + this.width() * rtl,
|
415 |
inner, outer, matches = [], i, n;
|
424 |
}
|
425 |
}
|
426 |
|
427 |
+
this.$stage.children('.active').removeClass('active');
|
428 |
+
this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');
|
429 |
|
430 |
if (this.settings.center) {
|
431 |
+
this.$stage.children('.center').removeClass('center');
|
432 |
+
this.$stage.children().eq(this.current()).addClass('center');
|
433 |
}
|
434 |
}
|
435 |
} ];
|
439 |
* @protected
|
440 |
*/
|
441 |
Owl.prototype.initialize = function() {
|
442 |
+
this.enter('initializing');
|
443 |
this.trigger('initialize');
|
444 |
|
445 |
+
this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
|
447 |
+
if (this.settings.autoWidth && !this.is('pre-loading')) {
|
448 |
var imgs, nestedSelector, width;
|
449 |
imgs = this.$element.find('img');
|
450 |
nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;
|
452 |
|
453 |
if (imgs.length && width <= 0) {
|
454 |
this.preloadAutoWidthImages(imgs);
|
|
|
455 |
}
|
456 |
}
|
457 |
|
458 |
+
this.$element.addClass(this.options.loadingClass);
|
459 |
|
460 |
// create stage
|
461 |
+
this.$stage = $('<' + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>')
|
462 |
+
.wrap('<div class="' + this.settings.stageOuterClass + '"/>');
|
463 |
|
464 |
// append stage
|
465 |
this.$element.append(this.$stage.parent());
|
467 |
// append content
|
468 |
this.replace(this.$element.children().not(this.$stage.parent()));
|
469 |
|
470 |
+
// check visibility
|
471 |
+
if (this.$element.is(':visible')) {
|
472 |
+
// update view
|
473 |
+
this.refresh();
|
474 |
+
} else {
|
475 |
+
// invalidate width
|
476 |
+
this.invalidate('width');
|
477 |
+
}
|
|
|
|
|
478 |
|
479 |
+
this.$element
|
480 |
+
.removeClass(this.options.loadingClass)
|
481 |
+
.addClass(this.options.loadedClass);
|
482 |
|
483 |
+
// register event handlers
|
484 |
+
this.registerEventHandlers();
|
485 |
|
486 |
+
this.leave('initializing');
|
487 |
this.trigger('initialized');
|
488 |
};
|
489 |
|
513 |
|
514 |
// responsive class
|
515 |
if (settings.responsiveClass) {
|
516 |
+
this.$element.attr('class',
|
517 |
+
this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match)
|
518 |
+
);
|
519 |
}
|
520 |
}
|
521 |
|
533 |
* @protected
|
534 |
*/
|
535 |
Owl.prototype.optionsLogic = function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
if (this.settings.autoWidth) {
|
537 |
this.settings.stagePadding = false;
|
538 |
this.settings.merge = false;
|
550 |
|
551 |
if (!event.data) {
|
552 |
event.data = $('<' + this.settings.itemElement + '/>')
|
553 |
+
.addClass(this.options.itemClass).append(item)
|
554 |
}
|
555 |
|
556 |
this.trigger('prepared', { content: event.data });
|
576 |
}
|
577 |
|
578 |
this._invalidated = {};
|
579 |
+
|
580 |
+
!this.is('valid') && this.enter('valid');
|
581 |
};
|
582 |
|
583 |
/**
|
593 |
case Owl.Width.Outer:
|
594 |
return this._width;
|
595 |
default:
|
596 |
+
return this._width - this.settings.stagePadding * 2 + this.settings.margin;
|
597 |
}
|
598 |
};
|
599 |
|
602 |
* @public
|
603 |
*/
|
604 |
Owl.prototype.refresh = function() {
|
605 |
+
this.enter('refreshing');
|
|
|
|
|
|
|
|
|
|
|
606 |
this.trigger('refresh');
|
607 |
|
608 |
this.setup();
|
609 |
|
610 |
this.optionsLogic();
|
611 |
|
612 |
+
this.$element.addClass(this.options.refreshClass);
|
|
|
|
|
613 |
|
614 |
this.update();
|
615 |
|
616 |
+
this.$element.removeClass(this.options.refreshClass);
|
|
|
|
|
|
|
|
|
617 |
|
618 |
+
this.leave('refreshing');
|
619 |
this.trigger('refreshed');
|
620 |
};
|
621 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
622 |
/**
|
623 |
* Checks window `resize` event.
|
624 |
* @protected
|
625 |
*/
|
626 |
Owl.prototype.onThrottledResize = function() {
|
627 |
window.clearTimeout(this.resizeTimer);
|
628 |
+
this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);
|
629 |
};
|
630 |
|
631 |
/**
|
641 |
return false;
|
642 |
}
|
643 |
|
644 |
+
if (!this.$element.is(':visible')) {
|
645 |
return false;
|
646 |
}
|
647 |
|
648 |
+
this.enter('resizing');
|
649 |
+
|
650 |
+
if (this.trigger('resize').isDefaultPrevented()) {
|
651 |
+
this.leave('resizing');
|
652 |
+
return false;
|
653 |
+
}
|
654 |
|
655 |
this.invalidate('width');
|
656 |
|
657 |
this.refresh();
|
658 |
|
659 |
+
this.leave('resizing');
|
660 |
this.trigger('resized');
|
661 |
};
|
662 |
|
663 |
/**
|
664 |
+
* Registers event handlers.
|
665 |
+
* @todo Check `msPointerEnabled`
|
666 |
+
* @todo #261
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
667 |
* @protected
|
668 |
*/
|
669 |
+
Owl.prototype.registerEventHandlers = function() {
|
670 |
+
if ($.support.transition) {
|
671 |
+
this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
672 |
}
|
673 |
|
674 |
+
if (this.settings.responsive !== false) {
|
675 |
+
this.on(window, 'resize', this._handlers.onThrottledResize);
|
676 |
}
|
677 |
|
678 |
+
if (this.settings.mouseDrag) {
|
679 |
+
this.$element.addClass(this.options.dragClass);
|
680 |
+
this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));
|
681 |
+
this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });
|
682 |
}
|
683 |
|
684 |
+
if (this.settings.touchDrag){
|
685 |
+
this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));
|
686 |
+
this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));
|
687 |
}
|
688 |
};
|
689 |
|
690 |
/**
|
691 |
+
* Handles `touchstart` and `mousedown` events.
|
692 |
+
* @todo Horizontal swipe threshold as option
|
693 |
+
* @todo #261
|
694 |
* @protected
|
695 |
* @param {Event} event - The event arguments.
|
696 |
*/
|
697 |
Owl.prototype.onDragStart = function(event) {
|
698 |
+
var stage = null;
|
699 |
|
700 |
+
if (event.which === 3) {
|
701 |
+
return;
|
702 |
+
}
|
703 |
|
704 |
+
if ($.support.transform) {
|
705 |
+
stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(',');
|
706 |
+
stage = {
|
707 |
+
x: stage[stage.length === 16 ? 12 : 4],
|
708 |
+
y: stage[stage.length === 16 ? 13 : 5]
|
709 |
+
};
|
710 |
+
} else {
|
711 |
+
stage = this.$stage.position();
|
712 |
+
stage = {
|
713 |
+
x: this.settings.rtl ?
|
714 |
+
stage.left + this.$stage.width() - this.width() + this.settings.margin :
|
715 |
+
stage.left,
|
716 |
+
y: stage.top
|
717 |
+
};
|
718 |
}
|
719 |
|
720 |
+
if (this.is('animating')) {
|
721 |
+
$.support.transform ? this.animate(stage.x) : this.$stage.stop()
|
722 |
+
this.invalidate('position');
|
723 |
}
|
724 |
|
725 |
+
this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');
|
726 |
+
|
727 |
this.speed(0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
728 |
|
729 |
+
this._drag.time = new Date().getTime();
|
730 |
+
this._drag.target = $(event.target);
|
731 |
+
this._drag.stage.start = stage;
|
732 |
+
this._drag.stage.current = stage;
|
733 |
+
this._drag.pointer = this.pointer(event);
|
734 |
|
735 |
+
$(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));
|
|
|
|
|
736 |
|
737 |
+
$(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {
|
738 |
+
var delta = this.difference(this._drag.pointer, this.pointer(event));
|
739 |
+
|
740 |
+
$(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));
|
741 |
+
|
742 |
+
if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {
|
743 |
+
return;
|
744 |
+
}
|
745 |
+
|
746 |
+
event.preventDefault();
|
747 |
|
748 |
+
this.enter('dragging');
|
749 |
+
this.trigger('drag');
|
750 |
+
}, this));
|
751 |
};
|
752 |
|
753 |
/**
|
754 |
+
* Handles the `touchmove` and `mousemove` events.
|
755 |
+
* @todo #261
|
756 |
* @protected
|
757 |
* @param {Event} event - The event arguments.
|
758 |
*/
|
759 |
Owl.prototype.onDragMove = function(event) {
|
760 |
+
var minimum = null,
|
761 |
+
maximum = null,
|
762 |
+
pull = null,
|
763 |
+
delta = this.difference(this._drag.pointer, this.pointer(event)),
|
764 |
+
stage = this.difference(this._drag.stage.start, delta);
|
765 |
|
766 |
+
if (!this.is('dragging')) {
|
767 |
return;
|
768 |
}
|
769 |
|
770 |
+
event.preventDefault();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
771 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
772 |
if (this.settings.loop) {
|
773 |
+
minimum = this.coordinates(this.minimum());
|
774 |
+
maximum = this.coordinates(this.maximum() + 1) - minimum;
|
775 |
+
stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;
|
|
|
|
|
776 |
} else {
|
777 |
+
minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());
|
778 |
+
maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());
|
779 |
+
pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;
|
780 |
+
stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
781 |
}
|
782 |
|
783 |
+
this._drag.stage.current = stage;
|
|
|
|
|
|
|
|
|
|
|
|
|
784 |
|
785 |
+
this.animate(stage.x);
|
786 |
};
|
787 |
|
788 |
/**
|
789 |
+
* Handles the `touchend` and `mouseup` events.
|
790 |
+
* @todo #261
|
791 |
+
* @todo Threshold for click event
|
792 |
* @protected
|
793 |
+
* @param {Event} event - The event arguments.
|
794 |
*/
|
795 |
Owl.prototype.onDragEnd = function(event) {
|
796 |
+
var delta = this.difference(this._drag.pointer, this.pointer(event)),
|
797 |
+
stage = this._drag.stage.current,
|
798 |
+
direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
799 |
|
800 |
+
$(document).off('.owl.core');
|
801 |
|
802 |
+
this.$element.removeClass(this.options.grabClass);
|
|
|
|
|
803 |
|
804 |
+
if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {
|
805 |
+
this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);
|
806 |
+
this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));
|
807 |
+
this.invalidate('position');
|
808 |
+
this.update();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
809 |
|
810 |
+
this._drag.direction = direction;
|
|
|
|
|
|
|
811 |
|
812 |
+
if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {
|
813 |
+
this._drag.target.one('click.owl.core', function() { return false; });
|
814 |
+
}
|
|
|
815 |
}
|
816 |
|
817 |
+
if (!this.is('dragging')) {
|
818 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
819 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
820 |
|
821 |
+
this.leave('dragging');
|
822 |
+
this.trigger('dragged');
|
823 |
};
|
824 |
|
825 |
/**
|
827 |
* @todo Setting `freeDrag` makes `closest` not reusable. See #165.
|
828 |
* @protected
|
829 |
* @param {Number} coordinate - The coordinate in pixel.
|
830 |
+
* @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.
|
831 |
* @return {Number} - The absolute position of the closest item.
|
832 |
*/
|
833 |
+
Owl.prototype.closest = function(coordinate, direction) {
|
834 |
+
var position = -1,
|
835 |
+
pull = 30,
|
836 |
+
width = this.width(),
|
837 |
+
coordinates = this.coordinates();
|
838 |
|
839 |
if (!this.settings.freeDrag) {
|
840 |
// check closest item
|
843 |
position = index;
|
844 |
} else if (this.op(coordinate, '<', value)
|
845 |
&& this.op(coordinate, '>', coordinates[index + 1] || value - width)) {
|
846 |
+
position = direction === 'left' ? index + 1 : index;
|
847 |
}
|
848 |
return position === -1;
|
849 |
}, this));
|
863 |
|
864 |
/**
|
865 |
* Animates the stage.
|
866 |
+
* @todo #270
|
867 |
* @public
|
868 |
* @param {Number} coordinate - The coordinate in pixels.
|
869 |
*/
|
870 |
Owl.prototype.animate = function(coordinate) {
|
871 |
+
var animate = this.speed() > 0;
|
872 |
+
|
873 |
+
this.is('animating') && this.onTransitionEnd();
|
874 |
+
|
875 |
+
if (animate) {
|
876 |
+
this.enter('animating');
|
877 |
+
this.trigger('translate');
|
878 |
+
}
|
879 |
|
880 |
+
if ($.support.transform3d && $.support.transition) {
|
881 |
this.$stage.css({
|
882 |
+
transform: 'translate3d(' + coordinate + 'px,0px,0px)',
|
883 |
transition: (this.speed() / 1000) + 's'
|
884 |
});
|
885 |
+
} else if (animate) {
|
886 |
+
this.$stage.animate({
|
887 |
+
left: coordinate + 'px'
|
888 |
+
}, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));
|
889 |
+
} else {
|
890 |
this.$stage.css({
|
891 |
left: coordinate + 'px'
|
892 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
893 |
}
|
894 |
};
|
895 |
|
896 |
+
/**
|
897 |
+
* Checks whether the carousel is in a specific state or not.
|
898 |
+
* @param {String} state - The state to check.
|
899 |
+
* @returns {Boolean} - The flag which indicates if the carousel is busy.
|
900 |
+
*/
|
901 |
+
Owl.prototype.is = function(state) {
|
902 |
+
return this._states.current[state] && this._states.current[state] > 0;
|
903 |
+
};
|
904 |
+
|
905 |
/**
|
906 |
* Sets the absolute position of the current item.
|
907 |
* @public
|
938 |
|
939 |
/**
|
940 |
* Invalidates the given part of the update routine.
|
941 |
+
* @param {String} [part] - The part to invalidate.
|
942 |
+
* @returns {Array.<String>} - The invalidated parts.
|
943 |
*/
|
944 |
Owl.prototype.invalidate = function(part) {
|
945 |
+
if ($.type(part) === 'string') {
|
946 |
+
this._invalidated[part] = true;
|
947 |
+
this.is('valid') && this.leave('valid');
|
948 |
+
}
|
949 |
+
return $.map(this._invalidated, function(v, i) { return i });
|
950 |
+
};
|
951 |
|
952 |
/**
|
953 |
* Resets the absolute position of the current item.
|
972 |
};
|
973 |
|
974 |
/**
|
975 |
+
* Normalizes an absolute or a relative position of an item.
|
976 |
* @public
|
977 |
* @param {Number} position - The absolute or relative position to normalize.
|
978 |
* @param {Boolean} [relative=false] - Whether the given position is relative or not.
|
979 |
* @returns {Number} - The normalized position.
|
980 |
*/
|
981 |
Owl.prototype.normalize = function(position, relative) {
|
982 |
+
var n = this._items.length,
|
983 |
+
m = relative ? 0 : this._clones.length;
|
984 |
|
985 |
if (!$.isNumeric(position) || n < 1) {
|
986 |
+
position = undefined;
|
987 |
+
} else if (position < 0 || position >= n + m) {
|
988 |
+
position = ((position - m / 2) % n + n) % n + m / 2;
|
|
|
|
|
|
|
|
|
989 |
}
|
990 |
|
991 |
return position;
|
992 |
};
|
993 |
|
994 |
/**
|
995 |
+
* Converts an absolute position of an item into a relative one.
|
996 |
* @public
|
997 |
* @param {Number} position - The absolute position to convert.
|
998 |
* @returns {Number} - The converted position.
|
999 |
*/
|
1000 |
Owl.prototype.relative = function(position) {
|
1001 |
+
position -= this._clones.length / 2;
|
|
|
1002 |
return this.normalize(position, true);
|
1003 |
};
|
1004 |
|
1005 |
/**
|
1006 |
+
* Gets the maximum position for the current item.
|
1007 |
* @public
|
1008 |
* @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
|
1009 |
* @returns {Number}
|
1010 |
*/
|
1011 |
Owl.prototype.maximum = function(relative) {
|
1012 |
+
var settings = this.settings,
|
1013 |
+
maximum = this._coordinates.length,
|
1014 |
+
boundary = Math.abs(this._coordinates[maximum - 1]) - this._width,
|
1015 |
+
i = -1, j;
|
|
|
|
|
1016 |
|
1017 |
+
if (settings.loop) {
|
1018 |
+
maximum = this._clones.length / 2 + this._items.length - 1;
|
|
|
|
|
|
|
|
|
1019 |
} else if (settings.autoWidth || settings.merge) {
|
1020 |
+
// binary search
|
1021 |
+
while (maximum - i > 1) {
|
1022 |
+
Math.abs(this._coordinates[j = maximum + i >> 1]) < boundary
|
1023 |
+
? i = j : maximum = j;
|
|
|
|
|
|
|
1024 |
}
|
1025 |
+
} else if (settings.center) {
|
1026 |
+
maximum = this._items.length - 1;
|
1027 |
} else {
|
1028 |
+
maximum = this._items.length - settings.items;
|
1029 |
+
}
|
1030 |
+
|
1031 |
+
if (relative) {
|
1032 |
+
maximum -= this._clones.length / 2;
|
1033 |
}
|
1034 |
|
1035 |
+
return Math.max(maximum, 0);
|
1036 |
};
|
1037 |
|
1038 |
/**
|
1039 |
+
* Gets the minimum position for the current item.
|
1040 |
* @public
|
1041 |
* @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
|
1042 |
* @returns {Number}
|
1043 |
*/
|
1044 |
Owl.prototype.minimum = function(relative) {
|
1045 |
+
return relative ? 0 : this._clones.length / 2;
|
|
|
|
|
|
|
|
|
1046 |
};
|
1047 |
|
1048 |
/**
|
1152 |
* @param {Number} [speed] - The time in milliseconds for the transition.
|
1153 |
*/
|
1154 |
Owl.prototype.to = function(position, speed) {
|
1155 |
+
var current = this.current(),
|
1156 |
+
revert = null,
|
1157 |
+
distance = position - this.relative(current),
|
1158 |
+
direction = (distance > 0) - (distance < 0),
|
1159 |
+
items = this._items.length,
|
1160 |
+
minimum = this.minimum(),
|
1161 |
+
maximum = this.maximum();
|
1162 |
+
|
1163 |
if (this.settings.loop) {
|
1164 |
+
if (!this.settings.rewind && Math.abs(distance) > items / 2) {
|
1165 |
+
distance += direction * -1 * items;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1166 |
}
|
1167 |
+
|
1168 |
+
position = current + distance;
|
1169 |
+
revert = ((position - minimum) % items + items) % items + minimum;
|
1170 |
+
|
1171 |
+
if (revert !== position && revert - distance <= maximum && revert - distance > 0) {
|
1172 |
+
current = revert - distance;
|
1173 |
+
position = revert;
|
1174 |
+
this.reset(current);
|
1175 |
+
}
|
1176 |
+
} else if (this.settings.rewind) {
|
1177 |
+
maximum += 1;
|
1178 |
+
position = (position % maximum + maximum) % maximum;
|
1179 |
} else {
|
1180 |
+
position = Math.max(minimum, Math.min(maximum, position));
|
1181 |
+
}
|
1182 |
+
|
1183 |
+
this.speed(this.duration(current, position, speed));
|
1184 |
+
this.current(position);
|
1185 |
+
|
1186 |
+
if (this.$element.is(':visible')) {
|
1187 |
this.update();
|
1188 |
}
|
1189 |
};
|
1213 |
* @protected
|
1214 |
* @param {Event} event - The event arguments.
|
1215 |
*/
|
1216 |
+
Owl.prototype.onTransitionEnd = function(event) {
|
1217 |
|
1218 |
// if css2 animation then event object is undefined
|
1219 |
if (event !== undefined) {
|
1225 |
}
|
1226 |
}
|
1227 |
|
1228 |
+
this.leave('animating');
|
1229 |
this.trigger('translated');
|
1230 |
};
|
1231 |
|
1287 |
* @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.
|
1288 |
*/
|
1289 |
Owl.prototype.add = function(content, position) {
|
1290 |
+
var current = this.relative(this._current);
|
1291 |
+
|
1292 |
position = position === undefined ? this._items.length : this.normalize(position, true);
|
1293 |
+
content = content instanceof jQuery ? content : $(content);
|
1294 |
|
1295 |
this.trigger('add', { content: content, position: position });
|
1296 |
|
1297 |
+
content = this.prepare(content);
|
1298 |
+
|
1299 |
if (this._items.length === 0 || position === this._items.length) {
|
1300 |
+
this._items.length === 0 && this.$stage.append(content);
|
1301 |
+
this._items.length !== 0 && this._items[position - 1].after(content);
|
1302 |
this._items.push(content);
|
1303 |
this._mergers.push(content.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);
|
1304 |
} else {
|
1307 |
this._mergers.splice(position, 0, content.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);
|
1308 |
}
|
1309 |
|
1310 |
+
this._items[current] && this.reset(this._items[current].index());
|
1311 |
+
|
1312 |
this.invalidate('items');
|
1313 |
|
1314 |
this.trigger('added', { content: content, position: position });
|
1339 |
};
|
1340 |
|
1341 |
/**
|
1342 |
+
* Preloads images with auto width.
|
1343 |
+
* @todo Replace by a more generic approach
|
1344 |
* @protected
|
1345 |
*/
|
1346 |
+
Owl.prototype.preloadAutoWidthImages = function(images) {
|
1347 |
+
images.each($.proxy(function(i, element) {
|
1348 |
+
this.enter('pre-loading');
|
1349 |
+
element = $(element);
|
1350 |
+
$(new Image()).one('load', $.proxy(function(e) {
|
1351 |
+
element.attr('src', e.target.src);
|
1352 |
+
element.css('opacity', 1);
|
1353 |
+
this.leave('pre-loading');
|
1354 |
+
!this.is('pre-loading') && !this.is('initializing') && this.refresh();
|
1355 |
+
}, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1356 |
}, this));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1357 |
};
|
1358 |
|
1359 |
/**
|
1362 |
*/
|
1363 |
Owl.prototype.destroy = function() {
|
1364 |
|
1365 |
+
this.$element.off('.owl.core');
|
1366 |
+
this.$stage.off('.owl.core');
|
1367 |
+
$(document).off('.owl.core');
|
1368 |
|
1369 |
if (this.settings.responsive !== false) {
|
1370 |
+
window.clearTimeout(this.resizeTimer);
|
1371 |
+
this.off(window, 'resize', this._handlers.onThrottledResize);
|
|
|
|
|
|
|
1372 |
}
|
1373 |
|
1374 |
+
for (var i in this._plugins) {
|
1375 |
this._plugins[i].destroy();
|
1376 |
}
|
1377 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1378 |
this.$stage.children('.cloned').remove();
|
|
|
|
|
1379 |
|
1380 |
+
this.$stage.unwrap();
|
1381 |
this.$stage.children().contents().unwrap();
|
1382 |
this.$stage.children().unwrap();
|
1383 |
+
|
1384 |
+
this.$element
|
1385 |
+
.removeClass(this.options.refreshClass)
|
1386 |
+
.removeClass(this.options.loadingClass)
|
1387 |
+
.removeClass(this.options.loadedClass)
|
1388 |
+
.removeClass(this.options.rtlClass)
|
1389 |
+
.removeClass(this.options.dragClass)
|
1390 |
+
.removeClass(this.options.grabClass)
|
1391 |
+
.attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), ''))
|
1392 |
+
.removeData('owl.carousel');
|
1393 |
};
|
1394 |
|
1395 |
/**
|
1448 |
};
|
1449 |
|
1450 |
/**
|
1451 |
+
* Triggers a public event.
|
1452 |
+
* @todo Remove `status`, `relatedTarget` should be used instead.
|
1453 |
* @protected
|
1454 |
* @param {String} name - The event name.
|
1455 |
* @param {*} [data=null] - The event data.
|
1456 |
+
* @param {String} [namespace=carousel] - The event namespace.
|
1457 |
+
* @param {String} [state] - The state which is associated with the event.
|
1458 |
+
* @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.
|
1459 |
* @returns {Event} - The event arguments.
|
1460 |
*/
|
1461 |
+
Owl.prototype.trigger = function(name, data, namespace, state, enter) {
|
1462 |
var status = {
|
1463 |
item: { count: this._items.length, index: this.current() }
|
1464 |
}, handler = $.camelCase(
|
1476 |
}
|
1477 |
});
|
1478 |
|
1479 |
+
this.register({ type: Owl.Type.Event, name: name });
|
1480 |
this.$element.trigger(event);
|
1481 |
|
1482 |
if (this.settings && typeof this.settings[handler] === 'function') {
|
1483 |
+
this.settings[handler].call(this, event);
|
1484 |
}
|
1485 |
}
|
1486 |
|
1487 |
return event;
|
1488 |
};
|
1489 |
|
1490 |
+
/**
|
1491 |
+
* Enters a state.
|
1492 |
+
* @param name - The state name.
|
1493 |
+
*/
|
1494 |
+
Owl.prototype.enter = function(name) {
|
1495 |
+
$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
|
1496 |
+
if (this._states.current[name] === undefined) {
|
1497 |
+
this._states.current[name] = 0;
|
1498 |
+
}
|
1499 |
+
|
1500 |
+
this._states.current[name]++;
|
1501 |
+
}, this));
|
1502 |
+
};
|
1503 |
+
|
1504 |
+
/**
|
1505 |
+
* Leaves a state.
|
1506 |
+
* @param name - The state name.
|
1507 |
+
*/
|
1508 |
+
Owl.prototype.leave = function(name) {
|
1509 |
+
$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
|
1510 |
+
this._states.current[name]--;
|
1511 |
+
}, this));
|
1512 |
+
};
|
1513 |
+
|
1514 |
+
/**
|
1515 |
+
* Registers an event or state.
|
1516 |
+
* @public
|
1517 |
+
* @param {Object} object - The event or state to register.
|
1518 |
+
*/
|
1519 |
+
Owl.prototype.register = function(object) {
|
1520 |
+
if (object.type === Owl.Type.Event) {
|
1521 |
+
if (!$.event.special[object.name]) {
|
1522 |
+
$.event.special[object.name] = {};
|
1523 |
+
}
|
1524 |
+
|
1525 |
+
if (!$.event.special[object.name].owl) {
|
1526 |
+
var _default = $.event.special[object.name]._default;
|
1527 |
+
$.event.special[object.name]._default = function(e) {
|
1528 |
+
if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {
|
1529 |
+
return _default.apply(this, arguments);
|
1530 |
+
}
|
1531 |
+
return e.namespace && e.namespace.indexOf('owl') > -1;
|
1532 |
+
};
|
1533 |
+
$.event.special[object.name].owl = true;
|
1534 |
+
}
|
1535 |
+
} else if (object.type === Owl.Type.State) {
|
1536 |
+
if (!this._states.tags[object.name]) {
|
1537 |
+
this._states.tags[object.name] = object.tags;
|
1538 |
+
} else {
|
1539 |
+
this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);
|
1540 |
+
}
|
1541 |
+
|
1542 |
+
this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {
|
1543 |
+
return $.inArray(tag, this._states.tags[object.name]) === i;
|
1544 |
+
}, this));
|
1545 |
+
}
|
1546 |
+
};
|
1547 |
+
|
1548 |
/**
|
1549 |
* Suppresses events.
|
1550 |
* @protected
|
1554 |
$.each(events, $.proxy(function(index, event) {
|
1555 |
this._supress[event] = true;
|
1556 |
}, this));
|
1557 |
+
};
|
1558 |
|
1559 |
/**
|
1560 |
* Releases suppressed events.
|
1565 |
$.each(events, $.proxy(function(index, event) {
|
1566 |
delete this._supress[event];
|
1567 |
}, this));
|
1568 |
+
};
|
1569 |
|
1570 |
/**
|
1571 |
+
* Gets unified pointer coordinates from event.
|
1572 |
+
* @todo #261
|
1573 |
* @protected
|
1574 |
+
* @param {Event} - The `mousedown` or `touchstart` event.
|
1575 |
+
* @returns {Object} - Contains `x` and `y` coordinates of current pointer position.
|
1576 |
*/
|
1577 |
+
Owl.prototype.pointer = function(event) {
|
1578 |
+
var result = { x: null, y: null };
|
1579 |
|
1580 |
+
event = event.originalEvent || event || window.event;
|
|
|
1581 |
|
1582 |
+
event = event.touches && event.touches.length ?
|
1583 |
+
event.touches[0] : event.changedTouches && event.changedTouches.length ?
|
1584 |
+
event.changedTouches[0] : event;
|
1585 |
|
1586 |
+
if (event.pageX) {
|
1587 |
+
result.x = event.pageX;
|
1588 |
+
result.y = event.pageY;
|
1589 |
+
} else {
|
1590 |
+
result.x = event.clientX;
|
1591 |
+
result.y = event.clientY;
|
1592 |
}
|
1593 |
|
1594 |
+
return result;
|
1595 |
};
|
1596 |
|
1597 |
/**
|
1598 |
+
* Gets the difference of two vectors.
|
1599 |
+
* @todo #261
|
1600 |
+
* @protected
|
1601 |
+
* @param {Object} - The first vector.
|
1602 |
+
* @param {Object} - The second vector.
|
1603 |
+
* @returns {Object} - The difference.
|
1604 |
+
*/
|
1605 |
+
Owl.prototype.difference = function(first, second) {
|
1606 |
+
return {
|
1607 |
+
x: first.x - second.x,
|
1608 |
+
y: first.y - second.y
|
1609 |
+
};
|
1610 |
+
};
|
1611 |
|
1612 |
+
/**
|
1613 |
+
* The jQuery Plugin for the Owl Carousel
|
1614 |
+
* @todo Navigation plugin `next` and `prev`
|
1615 |
+
* @public
|
1616 |
+
*/
|
1617 |
+
$.fn.owlCarousel = function(option) {
|
1618 |
+
var args = Array.prototype.slice.call(arguments, 1);
|
1619 |
|
1620 |
+
return this.each(function() {
|
1621 |
+
var $this = $(this),
|
1622 |
+
data = $this.data('owl.carousel');
|
1623 |
+
|
1624 |
+
if (!data) {
|
1625 |
+
data = new Owl(this, typeof option == 'object' && option);
|
1626 |
+
$this.data('owl.carousel', data);
|
1627 |
+
|
1628 |
+
$.each([
|
1629 |
+
'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'
|
1630 |
+
], function(i, event) {
|
1631 |
+
data.register({ type: Owl.Type.Event, name: event });
|
1632 |
+
data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {
|
1633 |
+
if (e.namespace && e.relatedTarget !== this) {
|
1634 |
+
this.suppress([ event ]);
|
1635 |
+
data[event].apply(this, [].slice.call(arguments, 1));
|
1636 |
+
this.release([ event ]);
|
1637 |
+
}
|
1638 |
+
}, data));
|
1639 |
+
});
|
1640 |
}
|
1641 |
|
1642 |
+
if (typeof option == 'string' && option.charAt(0) !== '_') {
|
1643 |
+
data[option].apply(data, args);
|
|
|
|
|
|
|
1644 |
}
|
1645 |
+
});
|
1646 |
+
};
|
1647 |
|
1648 |
/**
|
1649 |
+
* The constructor for the jQuery Plugin
|
1650 |
+
* @public
|
|
|
|
|
1651 |
*/
|
1652 |
+
$.fn.owlCarousel.Constructor = Owl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1653 |
|
1654 |
+
})(window.Zepto || window.jQuery, window, document);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1655 |
|
1656 |
+
/**
|
1657 |
+
* AutoRefresh Plugin
|
1658 |
+
* @version 2.0.0-beta.3
|
1659 |
+
* @author Artus Kolanowski
|
1660 |
+
* @license The MIT License (MIT)
|
1661 |
+
*/
|
1662 |
+
;(function($, window, document, undefined) {
|
|
|
1663 |
|
1664 |
/**
|
1665 |
+
* Creates the auto refresh plugin.
|
1666 |
+
* @class The Auto Refresh Plugin
|
1667 |
+
* @param {Owl} carousel - The Owl Carousel
|
1668 |
*/
|
1669 |
+
var AutoRefresh = function(carousel) {
|
1670 |
+
/**
|
1671 |
+
* Reference to the core.
|
1672 |
+
* @protected
|
1673 |
+
* @type {Owl}
|
1674 |
+
*/
|
1675 |
+
this._core = carousel;
|
1676 |
+
|
1677 |
+
/**
|
1678 |
+
* Refresh interval.
|
1679 |
+
* @protected
|
1680 |
+
* @type {number}
|
1681 |
+
*/
|
1682 |
+
this._interval = null;
|
1683 |
+
|
1684 |
+
/**
|
1685 |
+
* Whether the element is currently visible or not.
|
1686 |
+
* @protected
|
1687 |
+
* @type {Boolean}
|
1688 |
+
*/
|
1689 |
+
this._visible = null;
|
1690 |
+
|
1691 |
+
/**
|
1692 |
+
* All event handlers.
|
1693 |
+
* @protected
|
1694 |
+
* @type {Object}
|
1695 |
+
*/
|
1696 |
+
this._handlers = {
|
1697 |
+
'initialized.owl.carousel': $.proxy(function(e) {
|
1698 |
+
if (e.namespace && this._core.settings.autoRefresh) {
|
1699 |
+
this.watch();
|
1700 |
+
}
|
1701 |
+
}, this)
|
1702 |
+
};
|
1703 |
+
|
1704 |
+
// set default options
|
1705 |
+
this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);
|
1706 |
+
|
1707 |
+
// register event handlers
|
1708 |
+
this._core.$element.on(this._handlers);
|
1709 |
+
};
|
1710 |
|
1711 |
/**
|
1712 |
+
* Default options.
|
1713 |
+
* @public
|
|
|
1714 |
*/
|
1715 |
+
AutoRefresh.Defaults = {
|
1716 |
+
autoRefresh: true,
|
1717 |
+
autoRefreshInterval: 500
|
1718 |
+
};
|
1719 |
|
1720 |
/**
|
1721 |
+
* Watches the element.
|
|
|
|
|
1722 |
*/
|
1723 |
+
AutoRefresh.prototype.watch = function() {
|
1724 |
+
if (this._interval) {
|
1725 |
+
return;
|
1726 |
+
}
|
1727 |
+
|
1728 |
+
this._visible = this._core.$element.is(':visible');
|
1729 |
+
this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);
|
1730 |
+
};
|
1731 |
|
1732 |
/**
|
1733 |
+
* Refreshes the element.
|
|
|
1734 |
*/
|
1735 |
+
AutoRefresh.prototype.refresh = function() {
|
1736 |
+
if (this._core.$element.is(':visible') === this._visible) {
|
1737 |
+
return;
|
1738 |
+
}
|
1739 |
+
|
1740 |
+
this._visible = !this._visible;
|
1741 |
+
|
1742 |
+
this._core.$element.toggleClass('owl-hidden', !this._visible);
|
1743 |
+
|
1744 |
+
this._visible && (this._core.invalidate('width') && this._core.refresh());
|
1745 |
};
|
1746 |
|
1747 |
/**
|
1748 |
+
* Destroys the plugin.
|
|
|
1749 |
*/
|
1750 |
+
AutoRefresh.prototype.destroy = function() {
|
1751 |
+
var handler, property;
|
1752 |
+
|
1753 |
+
window.clearInterval(this._interval);
|
1754 |
+
|
1755 |
+
for (handler in this._handlers) {
|
1756 |
+
this._core.$element.off(handler, this._handlers[handler]);
|
1757 |
+
}
|
1758 |
+
for (property in Object.getOwnPropertyNames(this)) {
|
1759 |
+
typeof this[property] != 'function' && (this[property] = null);
|
1760 |
+
}
|
1761 |
+
};
|
1762 |
+
|
1763 |
+
$.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;
|
1764 |
|
1765 |
})(window.Zepto || window.jQuery, window, document);
|
1766 |
|
1767 |
/**
|
1768 |
* Lazy Plugin
|
1769 |
+
* @version 2.0.0-beta.3
|
1770 |
* @author Bartosz Wojciechowski
|
1771 |
* @license The MIT License (MIT)
|
1772 |
*/
|
1818 |
|
1819 |
while (i++ < n) {
|
1820 |
this.load(clones / 2 + this._core.relative(position));
|
1821 |
+
clones && $.each(this._core.clones(this._core.relative(position)), load);
|
1822 |
+
position++;
|
1823 |
}
|
1824 |
}
|
1825 |
}, this)
|
1893 |
for (property in Object.getOwnPropertyNames(this)) {
|
1894 |
typeof this[property] != 'function' && (this[property] = null);
|
1895 |
}
|
1896 |
+
};
|
1897 |
|
1898 |
$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;
|
1899 |
|
1901 |
|
1902 |
/**
|
1903 |
* AutoHeight Plugin
|
1904 |
+
* @version 2.0.0-beta.3
|
1905 |
* @author Bartosz Wojciechowski
|
1906 |
* @license The MIT License (MIT)
|
1907 |
*/
|
1926 |
* @type {Object}
|
1927 |
*/
|
1928 |
this._handlers = {
|
1929 |
+
'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {
|
1930 |
+
if (e.namespace && this._core.settings.autoHeight) {
|
1931 |
this.update();
|
1932 |
}
|
1933 |
}, this),
|
1934 |
'changed.owl.carousel': $.proxy(function(e) {
|
1935 |
+
if (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){
|
1936 |
this.update();
|
1937 |
}
|
1938 |
}, this),
|
1939 |
'loaded.owl.lazy': $.proxy(function(e) {
|
1940 |
+
if (e.namespace && this._core.settings.autoHeight
|
1941 |
+
&& e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {
|
1942 |
this.update();
|
1943 |
}
|
1944 |
}, this)
|
1964 |
* Updates the view.
|
1965 |
*/
|
1966 |
AutoHeight.prototype.update = function() {
|
1967 |
+
var start = this._core._current,
|
1968 |
+
end = start + this._core.settings.items,
|
1969 |
+
visible = this._core.$stage.children().toArray().slice(start, end);
|
1970 |
+
heights = [],
|
1971 |
+
maxheight = 0;
|
1972 |
+
|
1973 |
+
$.each(visible, function(index, item) {
|
1974 |
+
heights.push($(item).height());
|
1975 |
+
});
|
1976 |
+
|
1977 |
+
maxheight = Math.max.apply(null, heights);
|
1978 |
+
|
1979 |
this._core.$stage.parent()
|
1980 |
+
.height(maxheight)
|
1981 |
.addClass(this._core.settings.autoHeightClass);
|
1982 |
};
|
1983 |
|
1998 |
|
1999 |
/**
|
2000 |
* Video Plugin
|
2001 |
+
* @version 2.0.0-beta.3
|
2002 |
* @author Bartosz Wojciechowski
|
2003 |
* @license The MIT License (MIT)
|
2004 |
*/
|
2031 |
*/
|
2032 |
this._playing = null;
|
2033 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2034 |
/**
|
2035 |
* All event handlers.
|
2036 |
+
* @todo The cloned content removale is too late
|
2037 |
* @protected
|
2038 |
* @type {Object}
|
2039 |
*/
|
2040 |
this._handlers = {
|
2041 |
+
'initialized.owl.carousel': $.proxy(function(e) {
|
2042 |
+
if (e.namespace) {
|
2043 |
+
this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });
|
2044 |
+
}
|
2045 |
+
}, this),
|
2046 |
'resize.owl.carousel': $.proxy(function(e) {
|
2047 |
+
if (e.namespace && this._core.settings.video && this.isInFullScreen()) {
|
2048 |
e.preventDefault();
|
2049 |
}
|
2050 |
}, this),
|
2051 |
+
'refreshed.owl.carousel': $.proxy(function(e) {
|
2052 |
+
if (e.namespace && this._core.is('resizing')) {
|
2053 |
+
this._core.$stage.find('.cloned .owl-video-frame').remove();
|
2054 |
+
}
|
2055 |
+
}, this),
|
2056 |
+
'changed.owl.carousel': $.proxy(function(e) {
|
2057 |
+
if (e.namespace && e.property.name === 'position' && this._playing) {
|
2058 |
this.stop();
|
2059 |
}
|
2060 |
}, this),
|
2061 |
'prepared.owl.carousel': $.proxy(function(e) {
|
2062 |
+
if (!e.namespace) {
|
2063 |
+
return;
|
2064 |
+
}
|
2065 |
+
|
2066 |
var $element = $(e.content).find('.owl-video');
|
2067 |
+
|
2068 |
if ($element.length) {
|
2069 |
$element.css('display', 'none');
|
2070 |
this.fetch($element, $(e.content));
|
2100 |
* @param {jQuery} item - The item containing the video.
|
2101 |
*/
|
2102 |
Video.prototype.fetch = function(target, item) {
|
|
|
2103 |
var type = target.attr('data-vimeo-id') ? 'vimeo' : 'youtube',
|
2104 |
id = target.attr('data-vimeo-id') || target.attr('data-youtube-id'),
|
2105 |
width = target.attr('data-width') || this._core.settings.videoWidth,
|
2141 |
* @see `fetch`
|
2142 |
*/
|
2143 |
Video.prototype.thumbnail = function(target, video) {
|
|
|
2144 |
var tnLink,
|
2145 |
icon,
|
2146 |
path,
|
2202 |
this._playing.find('.owl-video-frame').remove();
|
2203 |
this._playing.removeClass('owl-video-playing');
|
2204 |
this._playing = null;
|
2205 |
+
this._core.leave('playing');
|
2206 |
+
this._core.trigger('stopped', null, 'video');
|
2207 |
};
|
2208 |
|
2209 |
/**
|
2210 |
* Starts the current video.
|
2211 |
* @public
|
2212 |
+
* @param {Event} event - The event arguments.
|
2213 |
*/
|
2214 |
+
Video.prototype.play = function(event) {
|
2215 |
+
var target = $(event.target),
|
|
|
|
|
|
|
|
|
|
|
|
|
2216 |
item = target.closest('.' + this._core.settings.itemClass),
|
2217 |
video = this._videos[item.attr('data-video')],
|
2218 |
width = video.width || '100%',
|
2219 |
height = video.height || this._core.$stage.height(),
|
2220 |
+
html;
|
2221 |
+
|
2222 |
+
if (this._playing) {
|
2223 |
+
return;
|
2224 |
+
}
|
2225 |
+
|
2226 |
+
this._core.enter('playing');
|
2227 |
+
this._core.trigger('play', null, 'video');
|
2228 |
+
|
2229 |
+
item = this._core.items(this._core.relative(item.index()));
|
2230 |
+
|
2231 |
+
this._core.reset(item.index());
|
2232 |
|
2233 |
if (video.type === 'youtube') {
|
2234 |
+
html = '<iframe width="' + width + '" height="' + height + '" src="http://www.youtube.com/embed/' +
|
2235 |
+
video.id + '?autoplay=1&v=' + video.id + '" frameborder="0" allowfullscreen></iframe>';
|
2236 |
} else if (video.type === 'vimeo') {
|
2237 |
+
html = '<iframe src="http://player.vimeo.com/video/' + video.id +
|
2238 |
+
'?autoplay=1" width="' + width + '" height="' + height +
|
2239 |
+
'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
|
2240 |
}
|
2241 |
|
2242 |
+
$('<div class="owl-video-frame">' + html + '</div>').insertAfter(item.find('.owl-video'));
|
|
|
2243 |
|
2244 |
+
this._playing = item.addClass('owl-video-playing');
|
|
|
|
|
2245 |
};
|
2246 |
|
2247 |
/**
|
2251 |
* @returns {Boolean}
|
2252 |
*/
|
2253 |
Video.prototype.isInFullScreen = function() {
|
2254 |
+
var element = document.fullscreenElement || document.mozFullScreenElement ||
|
2255 |
+
document.webkitFullscreenElement;
|
2256 |
|
2257 |
+
return element && $(element).parent().hasClass('owl-video-frame');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2258 |
};
|
2259 |
|
2260 |
/**
|
2279 |
|
2280 |
/**
|
2281 |
* Animate Plugin
|
2282 |
+
* @version 2.0.0-beta.3
|
2283 |
* @author Bartosz Wojciechowski
|
2284 |
* @license The MIT License (MIT)
|
2285 |
*/
|
2299 |
|
2300 |
this.handlers = {
|
2301 |
'change.owl.carousel': $.proxy(function(e) {
|
2302 |
+
if (e.namespace && e.property.name == 'position') {
|
2303 |
this.previous = this.core.current();
|
2304 |
this.next = e.property.value;
|
2305 |
}
|
2306 |
}, this),
|
2307 |
'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {
|
2308 |
+
if (e.namespace) {
|
2309 |
+
this.swapping = e.type == 'translated';
|
2310 |
+
}
|
2311 |
}, this),
|
2312 |
'translate.owl.carousel': $.proxy(function(e) {
|
2313 |
+
if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {
|
2314 |
this.swap();
|
2315 |
}
|
2316 |
}, this)
|
2335 |
*/
|
2336 |
Animate.prototype.swap = function() {
|
2337 |
|
2338 |
+
if (this.core.settings.items !== 1) {
|
2339 |
+
return;
|
2340 |
+
}
|
2341 |
+
|
2342 |
+
if (!$.support.animation || !$.support.transition) {
|
2343 |
return;
|
2344 |
}
|
2345 |
|
2358 |
|
2359 |
if (outgoing) {
|
2360 |
left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);
|
2361 |
+
previous.one($.support.animation.end, clear)
|
2362 |
+
.css( { 'left': left + 'px' } )
|
2363 |
.addClass('animated owl-animated-out')
|
2364 |
+
.addClass(outgoing);
|
|
|
2365 |
}
|
2366 |
|
2367 |
if (incoming) {
|
2368 |
+
next.one($.support.animation.end, clear)
|
2369 |
+
.addClass('animated owl-animated-in')
|
2370 |
+
.addClass(incoming);
|
2371 |
}
|
2372 |
};
|
2373 |
|
2376 |
.removeClass('animated owl-animated-out owl-animated-in')
|
2377 |
.removeClass(this.core.settings.animateIn)
|
2378 |
.removeClass(this.core.settings.animateOut);
|
2379 |
+
this.core.onTransitionEnd();
|
2380 |
+
};
|
2381 |
|
2382 |
/**
|
2383 |
* Destroys the plugin.
|
2400 |
|
2401 |
/**
|
2402 |
* Autoplay Plugin
|
2403 |
+
* @version 2.0.0-beta.3
|
2404 |
* @author Bartosz Wojciechowski
|
2405 |
+
* @author Artus Kolanowski
|
2406 |
* @license The MIT License (MIT)
|
2407 |
*/
|
2408 |
;(function($, window, document, undefined) {
|
2412 |
* @class The Autoplay Plugin
|
2413 |
* @param {Owl} scope - The Owl Carousel
|
2414 |
*/
|
2415 |
+
var Autoplay = function(carousel) {
|
2416 |
+
/**
|
2417 |
+
* Reference to the core.
|
2418 |
+
* @protected
|
2419 |
+
* @type {Owl}
|
2420 |
+
*/
|
2421 |
+
this._core = carousel;
|
2422 |
|
2423 |
+
/**
|
2424 |
+
* The autoplay interval.
|
2425 |
+
* @type {Number}
|
2426 |
+
*/
|
2427 |
+
this._interval = null;
|
2428 |
+
|
2429 |
+
/**
|
2430 |
+
* Indicates whenever the autoplay is paused.
|
2431 |
+
* @type {Boolean}
|
2432 |
+
*/
|
2433 |
+
this._paused = false;
|
2434 |
+
|
2435 |
+
/**
|
2436 |
+
* All event handlers.
|
2437 |
+
* @protected
|
2438 |
+
* @type {Object}
|
2439 |
+
*/
|
2440 |
+
this._handlers = {
|
2441 |
+
'changed.owl.carousel': $.proxy(function(e) {
|
2442 |
+
if (e.namespace && e.property.name === 'settings') {
|
2443 |
+
if (this._core.settings.autoplay) {
|
2444 |
+
this.play();
|
2445 |
+
} else {
|
2446 |
+
this.stop();
|
2447 |
+
}
|
2448 |
+
}
|
2449 |
+
}, this),
|
2450 |
+
'initialized.owl.carousel': $.proxy(function(e) {
|
2451 |
+
if (e.namespace && this._core.settings.autoplay) {
|
2452 |
+
this.play();
|
2453 |
+
}
|
2454 |
}, this),
|
2455 |
'play.owl.autoplay': $.proxy(function(e, t, s) {
|
2456 |
+
if (e.namespace) {
|
2457 |
+
this.play(t, s);
|
2458 |
+
}
|
2459 |
}, this),
|
2460 |
+
'stop.owl.autoplay': $.proxy(function(e) {
|
2461 |
+
if (e.namespace) {
|
2462 |
+
this.stop();
|
2463 |
+
}
|
2464 |
}, this),
|
2465 |
'mouseover.owl.autoplay': $.proxy(function() {
|
2466 |
+
if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
|
2467 |
this.pause();
|
2468 |
}
|
2469 |
}, this),
|
2470 |
'mouseleave.owl.autoplay': $.proxy(function() {
|
2471 |
+
if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
|
2472 |
+
this.play();
|
2473 |
}
|
2474 |
}, this)
|
2475 |
};
|
2476 |
|
2477 |
+
// register event handlers
|
2478 |
+
this._core.$element.on(this._handlers);
|
2479 |
+
|
2480 |
+
// set default options
|
2481 |
+
this._core.options = $.extend({}, Autoplay.Defaults, this._core.options);
|
2482 |
};
|
2483 |
|
2484 |
/**
|
2492 |
autoplaySpeed: false
|
2493 |
};
|
2494 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2495 |
/**
|
2496 |
* Starts the autoplay.
|
2497 |
* @public
|
2498 |
+
* @param {Number} [timeout] - The interval before the next animation starts.
|
2499 |
+
* @param {Number} [speed] - The animation speed for the animations.
|
|
|
|
|
2500 |
*/
|
2501 |
Autoplay.prototype.play = function(timeout, speed) {
|
2502 |
+
this._paused = false;
|
|
|
|
|
|
|
2503 |
|
2504 |
+
if (this._core.is('rotating')) {
|
|
|
2505 |
return;
|
2506 |
}
|
2507 |
|
2508 |
+
this._core.enter('rotating');
|
|
|
|
|
|
|
2509 |
|
2510 |
+
this._interval = window.setInterval($.proxy(function() {
|
2511 |
+
if (this._paused || this._core.is('busy') || this._core.is('interacting') || document.hidden) {
|
2512 |
+
return;
|
2513 |
+
}
|
2514 |
+
this._core.next(speed || this._core.settings.autoplaySpeed);
|
2515 |
+
}, this), timeout || this._core.settings.autoplayTimeout);
|
2516 |
};
|
2517 |
|
2518 |
/**
|
2520 |
* @public
|
2521 |
*/
|
2522 |
Autoplay.prototype.stop = function() {
|
2523 |
+
if (!this._core.is('rotating')) {
|
2524 |
+
return;
|
2525 |
+
}
|
2526 |
+
|
2527 |
+
window.clearInterval(this._interval);
|
2528 |
+
this._core.leave('rotating');
|
2529 |
};
|
2530 |
|
2531 |
/**
|
2532 |
+
* Stops the autoplay.
|
2533 |
* @public
|
2534 |
*/
|
2535 |
Autoplay.prototype.pause = function() {
|
2536 |
+
if (!this._core.is('rotating')) {
|
2537 |
+
return;
|
2538 |
+
}
|
2539 |
+
|
2540 |
+
this._paused = true;
|
2541 |
};
|
2542 |
|
2543 |
/**
|
2546 |
Autoplay.prototype.destroy = function() {
|
2547 |
var handler, property;
|
2548 |
|
2549 |
+
this.stop();
|
2550 |
|
2551 |
+
for (handler in this._handlers) {
|
2552 |
+
this._core.$element.off(handler, this._handlers[handler]);
|
2553 |
}
|
2554 |
for (property in Object.getOwnPropertyNames(this)) {
|
2555 |
typeof this[property] != 'function' && (this[property] = null);
|
2562 |
|
2563 |
/**
|
2564 |
* Navigation Plugin
|
2565 |
+
* @version 2.0.0-beta.3
|
2566 |
* @author Artus Kolanowski
|
2567 |
* @license The MIT License (MIT)
|
2568 |
*/
|
2634 |
*/
|
2635 |
this._handlers = {
|
2636 |
'prepared.owl.carousel': $.proxy(function(e) {
|
2637 |
+
if (e.namespace && this._core.settings.dotsData) {
|
2638 |
+
this._templates.push('<div class="' + this._core.settings.dotClass + '">' +
|
2639 |
+
$(e.content).find('[data-dot]').andSelf('[data-dot]').attr('data-dot') + '</div>');
|
2640 |
}
|
2641 |
}, this),
|
2642 |
+
'added.owl.carousel': $.proxy(function(e) {
|
2643 |
+
if (e.namespace && this._core.settings.dotsData) {
|
2644 |
+
this._templates.splice(e.position, 0, this._templates.pop());
|
2645 |
}
|
2646 |
}, this),
|
2647 |
+
'remove.owl.carousel': $.proxy(function(e) {
|
2648 |
+
if (e.namespace && this._core.settings.dotsData) {
|
2649 |
this._templates.splice(e.position, 1);
|
2650 |
}
|
2651 |
}, this),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2652 |
'changed.owl.carousel': $.proxy(function(e) {
|
2653 |
+
if (e.namespace && e.property.name == 'position') {
|
2654 |
this.draw();
|
2655 |
}
|
2656 |
}, this),
|
2657 |
+
'initialized.owl.carousel': $.proxy(function(e) {
|
2658 |
+
if (e.namespace && !this._initialized) {
|
2659 |
+
this._core.trigger('initialize', null, 'navigation');
|
2660 |
this.initialize();
|
2661 |
+
this.update();
|
2662 |
+
this.draw();
|
2663 |
this._initialized = true;
|
2664 |
+
this._core.trigger('initialized', null, 'navigation');
|
2665 |
+
}
|
2666 |
+
}, this),
|
2667 |
+
'refreshed.owl.carousel': $.proxy(function(e) {
|
2668 |
+
if (e.namespace && this._initialized) {
|
2669 |
+
this._core.trigger('refresh', null, 'navigation');
|
2670 |
+
this.update();
|
2671 |
+
this.draw();
|
2672 |
+
this._core.trigger('refreshed', null, 'navigation');
|
2673 |
}
|
|
|
|
|
|
|
|
|
2674 |
}, this)
|
2675 |
};
|
2676 |
|
2679 |
|
2680 |
// register event handlers
|
2681 |
this.$element.on(this._handlers);
|
2682 |
+
};
|
2683 |
|
2684 |
/**
|
2685 |
* Default options.
|
2688 |
*/
|
2689 |
Navigation.Defaults = {
|
2690 |
nav: false,
|
|
|
2691 |
navText: [ 'prev', 'next' ],
|
2692 |
navSpeed: false,
|
2693 |
navElement: 'div',
|
2699 |
dotsClass: 'owl-dots',
|
2700 |
dots: true,
|
2701 |
dotsEach: false,
|
2702 |
+
dotsData: false,
|
2703 |
dotsSpeed: false,
|
2704 |
+
dotsContainer: false
|
2705 |
+
};
|
|
|
2706 |
|
2707 |
/**
|
2708 |
* Initializes the layout of the plugin and extends the carousel.
|
2709 |
* @protected
|
2710 |
*/
|
2711 |
Navigation.prototype.initialize = function() {
|
2712 |
+
var override,
|
2713 |
+
settings = this._core.settings;
|
2714 |
+
|
2715 |
+
// create DOM structure for relative navigation
|
2716 |
+
this._controls.$relative = (settings.navContainer ? $(settings.navContainer)
|
2717 |
+
: $('<div>').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');
|
2718 |
+
|
2719 |
+
this._controls.$previous = $('<' + settings.navElement + '>')
|
2720 |
+
.addClass(settings.navClass[0])
|
2721 |
+
.html(settings.navText[0])
|
2722 |
+
.prependTo(this._controls.$relative)
|
2723 |
+
.on('click', $.proxy(function(e) {
|
2724 |
+
this.prev(settings.navSpeed);
|
2725 |
+
}, this));
|
2726 |
+
this._controls.$next = $('<' + settings.navElement + '>')
|
2727 |
+
.addClass(settings.navClass[1])
|
2728 |
+
.html(settings.navText[1])
|
2729 |
+
.appendTo(this._controls.$relative)
|
2730 |
+
.on('click', $.proxy(function(e) {
|
2731 |
+
this.next(settings.navSpeed);
|
2732 |
+
}, this));
|
2733 |
|
2734 |
+
// create DOM structure for absolute navigation
|
2735 |
+
if (!settings.dotsData) {
|
2736 |
this._templates = [ $('<div>')
|
2737 |
+
.addClass(settings.dotClass)
|
2738 |
.append($('<span>'))
|
2739 |
.prop('outerHTML') ];
|
2740 |
}
|
2741 |
|
2742 |
+
this._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer)
|
2743 |
+
: $('<div>').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2744 |
|
2745 |
+
this._controls.$absolute.on('click', 'div', $.proxy(function(e) {
|
2746 |
+
var index = $(e.target).parent().is(this._controls.$absolute)
|
2747 |
? $(e.target).index() : $(e.target).parent().index();
|
2748 |
|
2749 |
e.preventDefault();
|
2750 |
|
2751 |
+
this.to(index, settings.dotsSpeed);
|
2752 |
}, this));
|
2753 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2754 |
// override public methods of the carousel
|
2755 |
for (override in this._overrides) {
|
2756 |
this._core[override] = $.proxy(this[override], this);
|
2757 |
}
|
2758 |
+
};
|
2759 |
|
2760 |
/**
|
2761 |
* Destroys the plugin.
|
2776 |
for (property in Object.getOwnPropertyNames(this)) {
|
2777 |
typeof this[property] != 'function' && (this[property] = null);
|
2778 |
}
|
2779 |
+
};
|
2780 |
|
2781 |
/**
|
2782 |
* Updates the internal state.
|
2784 |
*/
|
2785 |
Navigation.prototype.update = function() {
|
2786 |
var i, j, k,
|
|
|
2787 |
lower = this._core.clones().length / 2,
|
2788 |
upper = lower + this._core.items().length,
|
2789 |
+
maximum = this._core.maximum(true),
|
2790 |
+
settings = this._core.settings,
|
2791 |
+
size = settings.center || settings.autoWidth || settings.dotsData
|
2792 |
+
? 1 : settings.dotsEach || settings.items;
|
2793 |
|
2794 |
+
if (settings.slideBy !== 'page') {
|
2795 |
+
settings.slideBy = Math.min(settings.slideBy, settings.items);
|
2796 |
}
|
2797 |
|
2798 |
+
if (settings.dots || settings.slideBy == 'page') {
|
2799 |
this._pages = [];
|
2800 |
|
2801 |
for (i = lower, j = 0, k = 0; i < upper; i++) {
|
2802 |
if (j >= size || j === 0) {
|
2803 |
this._pages.push({
|
2804 |
+
start: Math.min(maximum, i - lower),
|
2805 |
end: i - lower + size - 1
|
2806 |
});
|
2807 |
+
if (Math.min(maximum, i - lower) === maximum) {
|
2808 |
+
break;
|
2809 |
+
}
|
2810 |
j = 0, ++k;
|
2811 |
}
|
2812 |
j += this._core.mergers(this._core.relative(i));
|
2813 |
}
|
2814 |
}
|
2815 |
+
};
|
2816 |
|
2817 |
/**
|
2818 |
* Draws the user interface.
|
2819 |
+
* @todo The option `dotsData` wont work.
|
2820 |
* @protected
|
2821 |
*/
|
2822 |
Navigation.prototype.draw = function() {
|
2823 |
+
var difference,
|
2824 |
+
settings = this._core.settings,
|
2825 |
+
disabled = this._core.items().length <= settings.items,
|
2826 |
+
index = this._core.relative(this._core.current()),
|
2827 |
+
loop = settings.loop || settings.rewind;
|
2828 |
+
|
2829 |
+
this._controls.$relative.toggleClass('disabled', !settings.nav || disabled);
|
2830 |
|
2831 |
+
if (settings.nav) {
|
2832 |
+
this._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));
|
2833 |
+
this._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));
|
2834 |
}
|
2835 |
|
2836 |
+
this._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);
|
|
|
2837 |
|
2838 |
+
if (settings.dots) {
|
2839 |
+
difference = this._pages.length - this._controls.$absolute.children().length;
|
2840 |
|
2841 |
+
if (settings.dotsData && difference !== 0) {
|
2842 |
+
this._controls.$absolute.html(this._templates.join(''));
|
|
|
|
|
|
|
2843 |
} else if (difference > 0) {
|
2844 |
+
this._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));
|
|
|
2845 |
} else if (difference < 0) {
|
2846 |
+
this._controls.$absolute.children().slice(difference).remove();
|
2847 |
}
|
2848 |
|
2849 |
+
this._controls.$absolute.find('.active').removeClass('active');
|
2850 |
+
this._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');
|
2851 |
}
|
2852 |
+
};
|
|
|
|
|
2853 |
|
2854 |
/**
|
2855 |
* Extends event data.
|
2862 |
event.page = {
|
2863 |
index: $.inArray(this.current(), this._pages),
|
2864 |
count: this._pages.length,
|
2865 |
+
size: settings && (settings.center || settings.autoWidth || settings.dotsData
|
2866 |
? 1 : settings.dotsEach || settings.items)
|
2867 |
};
|
2868 |
+
};
|
2869 |
|
2870 |
/**
|
2871 |
* Gets the current page position of the carousel.
|
2873 |
* @returns {Number}
|
2874 |
*/
|
2875 |
Navigation.prototype.current = function() {
|
2876 |
+
var current = this._core.relative(this._core.current());
|
2877 |
+
return $.grep(this._pages, $.proxy(function(page, index) {
|
2878 |
+
return page.start <= current && page.end >= current;
|
2879 |
+
}, this)).pop();
|
2880 |
+
};
|
2881 |
|
2882 |
/**
|
2883 |
* Gets the current succesor/predecessor position.
|
2886 |
*/
|
2887 |
Navigation.prototype.getPosition = function(successor) {
|
2888 |
var position, length,
|
2889 |
+
settings = this._core.settings;
|
2890 |
|
2891 |
+
if (settings.slideBy == 'page') {
|
2892 |
position = $.inArray(this.current(), this._pages);
|
2893 |
length = this._pages.length;
|
2894 |
successor ? ++position : --position;
|
2896 |
} else {
|
2897 |
position = this._core.relative(this._core.current());
|
2898 |
length = this._core.items().length;
|
2899 |
+
successor ? position += settings.slideBy : position -= settings.slideBy;
|
2900 |
}
|
2901 |
+
|
2902 |
return position;
|
2903 |
+
};
|
2904 |
|
2905 |
/**
|
2906 |
* Slides to the next item or page.
|
2909 |
*/
|
2910 |
Navigation.prototype.next = function(speed) {
|
2911 |
$.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);
|
2912 |
+
};
|
2913 |
|
2914 |
/**
|
2915 |
* Slides to the previous item or page.
|
2918 |
*/
|
2919 |
Navigation.prototype.prev = function(speed) {
|
2920 |
$.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);
|
2921 |
+
};
|
2922 |
|
2923 |
/**
|
2924 |
* Slides to the specified item or page.
|
2936 |
} else {
|
2937 |
$.proxy(this._overrides.to, this._core)(position, speed);
|
2938 |
}
|
2939 |
+
};
|
2940 |
|
2941 |
$.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;
|
2942 |
|
2944 |
|
2945 |
/**
|
2946 |
* Hash Plugin
|
2947 |
+
* @version 2.0.0-beta.3
|
2948 |
* @author Artus Kolanowski
|
2949 |
* @license The MIT License (MIT)
|
2950 |
*/
|
2965 |
this._core = carousel;
|
2966 |
|
2967 |
/**
|
2968 |
+
* Hash index for the items.
|
2969 |
* @protected
|
2970 |
* @type {Object}
|
2971 |
*/
|
2983 |
* @type {Object}
|
2984 |
*/
|
2985 |
this._handlers = {
|
2986 |
+
'initialized.owl.carousel': $.proxy(function(e) {
|
2987 |
+
if (e.namespace && this._core.settings.startPosition === 'URLHash') {
|
2988 |
$(window).trigger('hashchange.owl.navigation');
|
2989 |
}
|
2990 |
}, this),
|
2991 |
'prepared.owl.carousel': $.proxy(function(e) {
|
2992 |
+
if (e.namespace) {
|
2993 |
+
var hash = $(e.content).find('[data-hash]').andSelf('[data-hash]').attr('data-hash');
|
2994 |
+
|
2995 |
+
if (!hash) {
|
2996 |
+
return;
|
2997 |
+
}
|
2998 |
+
|
2999 |
+
this._hashes[hash] = e.content;
|
3000 |
+
}
|
3001 |
+
}, this),
|
3002 |
+
'changed.owl.carousel': $.proxy(function(e) {
|
3003 |
+
if (e.namespace && e.property.name === 'position') {
|
3004 |
+
var current = this._core.items(this._core.relative(this._core.current())),
|
3005 |
+
hash = $.map(this._hashes, function(item, hash) {
|
3006 |
+
return item === current ? hash : null;
|
3007 |
+
}).join();
|
3008 |
+
|
3009 |
+
if (!hash || window.location.hash.slice(1) === hash) {
|
3010 |
+
return;
|
3011 |
+
}
|
3012 |
+
|
3013 |
+
window.location.hash = hash;
|
3014 |
+
}
|
3015 |
}, this)
|
3016 |
};
|
3017 |
|
3022 |
this.$element.on(this._handlers);
|
3023 |
|
3024 |
// register event listener for hash navigation
|
3025 |
+
$(window).on('hashchange.owl.navigation', $.proxy(function(e) {
|
3026 |
var hash = window.location.hash.substring(1),
|
3027 |
items = this._core.$stage.children(),
|
3028 |
+
position = this._hashes[hash] && items.index(this._hashes[hash]);
|
3029 |
|
3030 |
+
if (position === undefined || position === this._core.current()) {
|
3031 |
+
return;
|
3032 |
}
|
3033 |
|
3034 |
+
this._core.to(this._core.relative(position), false, true);
|
3035 |
}, this));
|
3036 |
+
};
|
3037 |
|
3038 |
/**
|
3039 |
* Default options.
|
3041 |
*/
|
3042 |
Hash.Defaults = {
|
3043 |
URLhashListener: false
|
3044 |
+
};
|
3045 |
|
3046 |
/**
|
3047 |
* Destroys the plugin.
|
3058 |
for (property in Object.getOwnPropertyNames(this)) {
|
3059 |
typeof this[property] != 'function' && (this[property] = null);
|
3060 |
}
|
3061 |
+
};
|
3062 |
|
3063 |
$.fn.owlCarousel.Constructor.Plugins.Hash = Hash;
|
3064 |
|
3065 |
})(window.Zepto || window.jQuery, window, document);
|
3066 |
+
|
3067 |
+
/**
|
3068 |
+
* Support Plugin
|
3069 |
+
*
|
3070 |
+
* @version 2.0.0-beta.3
|
3071 |
+
* @author Vivid Planet Software GmbH
|
3072 |
+
* @author Artus Kolanowski
|
3073 |
+
* @license The MIT License (MIT)
|
3074 |
+
*/
|
3075 |
+
;(function($, window, document, undefined) {
|
3076 |
+
|
3077 |
+
var style = $('<support>').get(0).style,
|
3078 |
+
prefixes = 'Webkit Moz O ms'.split(' '),
|
3079 |
+
events = {
|
3080 |
+
transition: {
|
3081 |
+
end: {
|
3082 |
+
WebkitTransition: 'webkitTransitionEnd',
|
3083 |
+
MozTransition: 'transitionend',
|
3084 |
+
OTransition: 'oTransitionEnd',
|
3085 |
+
transition: 'transitionend'
|
3086 |
+
}
|
3087 |
+
},
|
3088 |
+
animation: {
|
3089 |
+
end: {
|
3090 |
+
WebkitAnimation: 'webkitAnimationEnd',
|
3091 |
+
MozAnimation: 'animationend',
|
3092 |
+
OAnimation: 'oAnimationEnd',
|
3093 |
+
animation: 'animationend'
|
3094 |
+
}
|
3095 |
+
}
|
3096 |
+
},
|
3097 |
+
tests = {
|
3098 |
+
csstransforms: function() {
|
3099 |
+
return !!test('transform');
|
3100 |
+
},
|
3101 |
+
csstransforms3d: function() {
|
3102 |
+
return !!test('perspective');
|
3103 |
+
},
|
3104 |
+
csstransitions: function() {
|
3105 |
+
return !!test('transition');
|
3106 |
+
},
|
3107 |
+
cssanimations: function() {
|
3108 |
+
return !!test('animation');
|
3109 |
+
}
|
3110 |
+
};
|
3111 |
+
|
3112 |
+
function test(property, prefixed) {
|
3113 |
+
var result = false,
|
3114 |
+
upper = property.charAt(0).toUpperCase() + property.slice(1);
|
3115 |
+
|
3116 |
+
$.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {
|
3117 |
+
if (style[property] !== undefined) {
|
3118 |
+
result = prefixed ? property : true;
|
3119 |
+
return false;
|
3120 |
+
}
|
3121 |
+
});
|
3122 |
+
|
3123 |
+
return result;
|
3124 |
+
}
|
3125 |
+
|
3126 |
+
function prefixed(property) {
|
3127 |
+
return test(property, true);
|
3128 |
+
}
|
3129 |
+
|
3130 |
+
if (tests.csstransitions()) {
|
3131 |
+
/* jshint -W053 */
|
3132 |
+
$.support.transition = new String(prefixed('transition'))
|
3133 |
+
$.support.transition.end = events.transition.end[ $.support.transition ];
|
3134 |
+
}
|
3135 |
+
|
3136 |
+
if (tests.cssanimations()) {
|
3137 |
+
/* jshint -W053 */
|
3138 |
+
$.support.animation = new String(prefixed('animation'))
|
3139 |
+
$.support.animation.end = events.animation.end[ $.support.animation ];
|
3140 |
+
}
|
3141 |
+
|
3142 |
+
if (tests.csstransforms()) {
|
3143 |
+
/* jshint -W053 */
|
3144 |
+
$.support.transform = new String(prefixed('transform'));
|
3145 |
+
$.support.transform3d = tests.csstransforms3d();
|
3146 |
+
}
|
3147 |
+
|
3148 |
+
})(window.Zepto || window.jQuery, window, document);
|
themes/foundation/modules/owlcarousel/owl.carousel.min.js
CHANGED
@@ -1 +1,2 @@
|
|
1 |
-
(function(a,d,l,g){var b,k,c;b={start:0,startX:0,startY:0,current:0,currentX:0,currentY:0,offsetX:0,offsetY:0,distance:null,startTime:0,endTime:0,updatedX:0,targetEl:null};k={isTouch:false,isScrolling:false,isSwiping:false,direction:false,inMotion:false};c={_onDragStart:null,_onDragMove:null,_onDragEnd:null,_transitionEnd:null,_resizer:null,_responsiveCall:null,_goToLoop:null,_checkVisibile:null};function h(q,e){this.settings=null;this.options=a.extend({},h.Defaults,e);this.$element=a(q);this.drag=a.extend({},b);this.state=a.extend({},k);this.e=a.extend({},c);this._plugins={};this._supress={};this._current=null;this._speed=null;this._coordinates=[];this._breakpoint=null;this._width=null;this._items=[];this._clones=[];this._mergers=[];this._invalidated={};this._pipe=[];a.each(h.Plugins,a.proxy(function(s,r){this._plugins[s[0].toLowerCase()+s.slice(1)]=new r(this)},this));a.each(h.Pipe,a.proxy(function(s,r){this._pipe.push({filter:r.filter,run:a.proxy(r.run,this)})},this));this.setup();this.initialize()}h.Defaults={items:3,loop:false,center:false,mouseDrag:true,touchDrag:true,pullDrag:true,freeDrag:false,margin:0,stagePadding:0,merge:false,mergeFit:true,autoWidth:false,startPosition:0,rtl:false,smartSpeed:250,fluidSpeed:false,dragEndSpeed:false,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:d,responsiveClass:false,fallbackEasing:"swing",info:false,nestedItemSelector:false,itemElement:"div",stageElement:"div",themeClass:"owl-theme",baseClass:"owl-carousel",itemClass:"owl-item",centerClass:"center",activeClass:"active"};h.Width={Default:"default",Inner:"inner",Outer:"outer"};h.Plugins={};h.Pipe=[{filter:["width","items","settings"],run:function(e){e.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){var e=this._clones,q=this.$stage.children(".cloned");if(q.length!==e.length||(!this.settings.loop&&e.length>0)){this.$stage.children(".cloned").remove();this._clones=[]}}},{filter:["items","settings"],run:function(){var q,r,t=this._clones,e=this._items,s=this.settings.loop?t.length-Math.max(this.settings.items*2,4):0;for(q=0,r=Math.abs(s/2);q<r;q++){if(s>0){this.$stage.children().eq(e.length+t.length-1).remove();t.pop();this.$stage.children().eq(0).remove();t.pop()}else{t.push(t.length/2);this.$stage.append(e[t[t.length-1]].clone().addClass("cloned"));t.push(e.length-1-(t.length-1)/2);this.$stage.prepend(e[t[t.length-1]].clone().addClass("cloned"))}}}},{filter:["width","items","settings"],run:function(){var r=(this.settings.rtl?1:-1),u=(this.width()/this.settings.items).toFixed(3),e=0,q,s,t;this._coordinates=[];for(s=0,t=this._clones.length+this._items.length;s<t;s++){q=this._mergers[this.relative(s)];q=(this.settings.mergeFit&&Math.min(q,this.settings.items))||q;e+=(this.settings.autoWidth?this._items[this.relative(s)].width()+this.settings.margin:u*q)*r;this._coordinates.push(e)}}},{filter:["width","items","settings"],run:function(){var q,r,e=(this.width()/this.settings.items).toFixed(3),s={width:Math.abs(this._coordinates[this._coordinates.length-1])+this.settings.stagePadding*1,};s[this.settings.rtl?"padding-left":"padding-right"]=this.settings.stagePadding;this.$stage.css(s);s={width:this.settings.autoWidth?"auto":e-this.settings.margin};s[this.settings.rtl?"margin-left":"margin-right"]=this.settings.margin;if(!this.settings.autoWidth&&a.grep(this._mergers,function(t){return t>1}).length>0){for(q=0,r=this._coordinates.length;q<r;q++){s.width=Math.abs(this._coordinates[q])-Math.abs(this._coordinates[q-1]||0)-this.settings.margin;this.$stage.children().eq(q).css(s)}}else{this.$stage.children().css(s)}}},{filter:["width","items","settings"],run:function(e){e.current&&this.reset(this.$stage.children().index(e.current))}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var v=this.settings.rtl?1:-1,e=this.settings.stagePadding*1,s=this.coordinates(this.current())+e,u=s+this.width()*v,x,q,r=[],w,t;for(w=0,t=this._coordinates.length;w<t;w++){x=this._coordinates[w-1]||0;q=Math.abs(this._coordinates[w])+e*v;if((this.op(x,"<=",s)&&(this.op(x,">",u)))||(this.op(q,"<",s)&&this.op(q,">",u))){r.push(w)}}this.$stage.children("."+this.settings.activeClass).removeClass(this.settings.activeClass);this.$stage.children(":eq("+r.join("), :eq(")+")").addClass(this.settings.activeClass);if(this.settings.center){this.$stage.children("."+this.settings.centerClass).removeClass(this.settings.centerClass);this.$stage.children().eq(this.current()).addClass(this.settings.centerClass)}}}];h.prototype.initialize=function(){this.trigger("initialize");this.$element.addClass(this.settings.baseClass).addClass(this.settings.themeClass).toggleClass("owl-rtl",this.settings.rtl);this.browserSupport();if(this.settings.autoWidth&&this.state.imagesLoaded!==true){var q,e,r;q=this.$element.find("img");e=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:g;r=this.$element.children(e).width();if(q.length&&r<=0){this.preloadAutoWidthImages(q);return false}}this.$element.addClass("owl-loading");this.$stage=a("<"+this.settings.stageElement+' class="owl-stage"/>').wrap('<div class="owl-stage-outer">');this.$element.append(this.$stage.parent());this.replace(this.$element.children().not(this.$stage.parent()));this._width=this.$element.width();this.refresh();this.$element.removeClass("owl-loading").addClass("owl-loaded");this.eventsCall();this.internalEvents();this.addTriggerableEvents();this.trigger("initialized")};h.prototype.setup=function(){var q=this.viewport(),r=this.options.responsive,s=-1,e=null;if(!r){e=a.extend({},this.options)}else{a.each(r,function(t){if(t<=q&&t>s){s=Number(t)}});e=a.extend({},this.options,r[s]);delete e.responsive;if(e.responsiveClass){this.$element.attr("class",function(t,u){return u.replace(/\b owl-responsive-\S+/g,"")}).addClass("owl-responsive-"+s)}}if(this.settings===null||this._breakpoint!==s){this.trigger("change",{property:{name:"settings",value:e}});this._breakpoint=s;this.settings=e;this.invalidate("settings");this.trigger("changed",{property:{name:"settings",value:this.settings}})}};h.prototype.optionsLogic=function(){this.$element.toggleClass("owl-center",this.settings.center);if(this.settings.loop&&this._items.length<this.settings.items){this.settings.loop=false}if(this.settings.autoWidth){this.settings.stagePadding=false;this.settings.merge=false}};h.prototype.prepare=function(q){var e=this.trigger("prepare",{content:q});if(!e.data){e.data=a("<"+this.settings.itemElement+"/>").addClass(this.settings.itemClass).append(q)}this.trigger("prepared",{content:e.data});return e.data};h.prototype.update=function(){var q=0,r=this._pipe.length,s=a.proxy(function(t){return this[t]},this._invalidated),e={};while(q<r){if(this._invalidated.all||a.grep(this._pipe[q].filter,s).length>0){this._pipe[q].run(e)}q++}this._invalidated={}};h.prototype.width=function(e){e=e||h.Width.Default;switch(e){case h.Width.Inner:case h.Width.Outer:return this._width;default:return this._width-this.settings.stagePadding*1+this.settings.margin}};h.prototype.refresh=function(){if(this._items.length===0){return false}var e=new Date().getTime();this.trigger("refresh");this.setup();this.optionsLogic();this.$stage.addClass("owl-refresh");this.update();this.$stage.removeClass("owl-refresh");this.state.orientation=d.orientation;this.watchVisibility();this.trigger("refreshed")};h.prototype.eventsCall=function(){this.e._onDragStart=a.proxy(function(q){this.onDragStart(q)},this);this.e._onDragMove=a.proxy(function(q){this.onDragMove(q)},this);this.e._onDragEnd=a.proxy(function(q){this.onDragEnd(q)},this);this.e._onResize=a.proxy(function(q){this.onResize(q)},this);this.e._transitionEnd=a.proxy(function(q){this.transitionEnd(q)},this);this.e._preventClick=a.proxy(function(q){this.preventClick(q)},this)};h.prototype.onThrottledResize=function(){d.clearTimeout(this.resizeTimer);this.resizeTimer=d.setTimeout(this.e._onResize,this.settings.responsiveRefreshRate)};h.prototype.onResize=function(){if(!this._items.length){return false}if(this._width===this.$element.width()){return false}if(this.trigger("resize").isDefaultPrevented()){return false}this._width=this.$element.width();this.invalidate("width");this.refresh();this.trigger("resized")};h.prototype.eventsRouter=function(q){var e=q.type;if(e==="mousedown"||e==="touchstart"){this.onDragStart(q)}else{if(e==="mousemove"||e==="touchmove"){this.onDragMove(q)}else{if(e==="mouseup"||e==="touchend"){this.onDragEnd(q)}else{if(e==="touchcancel"){this.onDragEnd(q)}}}}};h.prototype.internalEvents=function(){var q=n(),e=m();if(this.settings.mouseDrag){this.$stage.on("mousedown",a.proxy(function(r){this.eventsRouter(r)},this));this.$stage.on("dragstart",function(){return false});this.$stage.get(0).onselectstart=function(){return false}}else{this.$element.addClass("owl-text-select-on")}if(this.settings.touchDrag&&!e){this.$stage.on("touchstart touchcancel",a.proxy(function(r){this.eventsRouter(r)},this))}if(this.transitionEndVendor){this.on(this.$stage.get(0),this.transitionEndVendor,this.e._transitionEnd,false)}if(this.settings.responsive!==false){this.on(d,"resize",a.proxy(this.onThrottledResize,this))}};h.prototype.onDragStart=function(e){var u,t,s,r,q;u=e.originalEvent||e||d.event;if(u.which===3||this.state.isTouch){return false}if(u.type==="mousedown"){this.$stage.addClass("owl-grab")}this.trigger("drag");this.drag.startTime=new Date().getTime();this.speed(0);this.state.isTouch=true;this.state.isScrolling=false;this.state.isSwiping=false;this.drag.distance=0;s=j(u).x;r=j(u).y;this.drag.offsetX=this.$stage.position().left;this.drag.offsetY=this.$stage.position().top;if(this.settings.rtl){this.drag.offsetX=this.$stage.position().left+this.$stage.width()-this.width()+this.settings.margin}if(this.state.inMotion&&this.support3d){q=this.getTransformProperty();this.drag.offsetX=q;this.animate(q);this.state.inMotion=true}else{if(this.state.inMotion&&!this.support3d){this.state.inMotion=false;return false}}this.drag.startX=s-this.drag.offsetX;this.drag.startY=r-this.drag.offsetY;this.drag.start=s-this.drag.startX;this.drag.targetEl=u.target||u.srcElement;this.drag.updatedX=this.drag.start;if(this.drag.targetEl.tagName==="IMG"||this.drag.targetEl.tagName==="A"){this.drag.targetEl.draggable=false}a(l).on("mousemove.owl.dragEvents mouseup.owl.dragEvents touchmove.owl.dragEvents touchend.owl.dragEvents",a.proxy(function(v){this.eventsRouter(v)},this))};h.prototype.onDragMove=function(e){var v,u,s,r,t,w,q;if(!this.state.isTouch){return}if(this.state.isScrolling){return}v=e.originalEvent||e||d.event;s=j(v).x;r=j(v).y;this.drag.currentX=s-this.drag.startX;this.drag.currentY=r-this.drag.startY;this.drag.distance=this.drag.currentX-this.drag.offsetX;if(this.drag.distance<0){this.state.direction=this.settings.rtl?"right":"left"}else{if(this.drag.distance>0){this.state.direction=this.settings.rtl?"left":"right"}}if(this.settings.loop){if(this.op(this.drag.currentX,">",this.coordinates(this.minimum()))&&this.state.direction==="right"){this.drag.currentX-=(this.settings.center&&this.coordinates(0))-this.coordinates(this._items.length)}else{if(this.op(this.drag.currentX,"<",this.coordinates(this.maximum()))&&this.state.direction==="left"){this.drag.currentX+=(this.settings.center&&this.coordinates(0))-this.coordinates(this._items.length)}}}else{t=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum());w=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum());q=this.settings.pullDrag?this.drag.distance/5:0;this.drag.currentX=Math.max(Math.min(this.drag.currentX,t+q),w+q)}if((this.drag.distance>8||this.drag.distance<-8)){if(v.preventDefault!==g){v.preventDefault()}else{v.returnValue=false}this.state.isSwiping=true}this.drag.updatedX=this.drag.currentX;if((this.drag.currentY>16||this.drag.currentY<-16)&&this.state.isSwiping===false){this.state.isScrolling=true;this.drag.updatedX=this.drag.start}this.animate(this.drag.updatedX)};h.prototype.onDragEnd=function(q){var r,e,s;if(!this.state.isTouch){return}if(q.type==="mouseup"){this.$stage.removeClass("owl-grab")}this.trigger("dragged");this.drag.targetEl.removeAttribute("draggable");this.state.isTouch=false;this.state.isScrolling=false;this.state.isSwiping=false;if(this.drag.distance===0&&this.state.inMotion!==true){this.state.inMotion=false;return false}this.drag.endTime=new Date().getTime();r=this.drag.endTime-this.drag.startTime;e=Math.abs(this.drag.distance);if(e>3||r>300){this.removeClick(this.drag.targetEl)}s=this.closest(this.drag.updatedX);this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed);this.current(s);this.invalidate("position");this.update();if(!this.settings.pullDrag&&this.drag.updatedX===this.coordinates(s)){this.transitionEnd()}this.drag.distance=0;a(l).off(".owl.dragEvents")};h.prototype.removeClick=function(e){this.drag.targetEl=e;a(e).on("click.preventClick",this.e._preventClick);d.setTimeout(function(){a(e).off("click.preventClick")},300)};h.prototype.preventClick=function(e){if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}if(e.stopPropagation){e.stopPropagation()}a(e.target).off("click.preventClick")};h.prototype.getTransformProperty=function(){var e,q;e=d.getComputedStyle(this.$stage.get(0),null).getPropertyValue(this.vendorName+"transform");e=e.replace(/matrix(3d)?\(|\)/g,"").split(",");q=e.length===16;return q!==true?e[4]:e[12]};h.prototype.closest=function(t){var s=-1,e=30,q=this.width(),r=this.coordinates();if(!this.settings.freeDrag){a.each(r,a.proxy(function(v,u){if(t>u-e&&t<u+e){s=v}else{if(this.op(t,"<",u)&&this.op(t,">",r[v+1]||u-q)){s=this.state.direction==="left"?v+1:v}}return s===-1},this))}if(!this.settings.loop){if(this.op(t,">",r[this.minimum()])){s=t=this.minimum()}else{if(this.op(t,"<",r[this.maximum()])){s=t=this.maximum()}}}return s};h.prototype.animate=function(e){this.trigger("translate");this.state.inMotion=this.speed()>0;if(this.support3d){this.$stage.css({transform:"translate3d("+e+"px,0px, 0px)",transition:(this.speed()/1000)+"s"})}else{if(this.state.isTouch){this.$stage.css({left:e+"px"})}else{this.$stage.animate({left:e},this.speed()/1000,this.settings.fallbackEasing,a.proxy(function(){if(this.state.inMotion){this.transitionEnd()}},this))}}};h.prototype.current=function(e){if(e===g){return this._current}if(this._items.length===0){return g}e=this.normalize(e);if(this._current!==e){var q=this.trigger("change",{property:{name:"position",value:e}});if(q.data!==g){e=this.normalize(q.data)}this._current=e;this.invalidate("position");this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current};h.prototype.invalidate=function(e){this._invalidated[e]=true};h.prototype.reset=function(e){e=this.normalize(e);if(e===g){return}this._speed=0;this._current=e;this.suppress(["translate","translated"]);this.animate(this.coordinates(e));this.release(["translate","translated"])};h.prototype.normalize=function(r,e){var q=(e?this._items.length:this._items.length+this._clones.length);if(!a.isNumeric(r)||q<1){return g}if(this._clones.length){r=((r%q)+q)%q}else{r=Math.max(this.minimum(e),Math.min(this.maximum(e),r))}return r};h.prototype.relative=function(e){e=this.normalize(e);e=e-this._clones.length/2;return this.normalize(e,true)};h.prototype.maximum=function(u){var r,t,s=0,e,q=this.settings;if(u){return this._items.length-1}if(!q.loop&&q.center){r=this._items.length-1}else{if(!q.loop&&!q.center){r=this._items.length-q.items}else{if(q.loop||q.center){r=this._items.length+q.items}else{if(q.autoWidth||q.merge){revert=q.rtl?1:-1;t=this.$stage.width()-this.$element.width();while(e=this.coordinates(s)){if(e*revert>=t){break}r=++s}}else{throw"Can not detect maximum absolute position."}}}}return r};h.prototype.minimum=function(e){if(e){return 0}return this._clones.length/2};h.prototype.items=function(e){if(e===g){return this._items.slice()}e=this.normalize(e,true);return this._items[e]};h.prototype.mergers=function(e){if(e===g){return this._mergers.slice()}e=this.normalize(e,true);return this._mergers[e]};h.prototype.clones=function(s){var q=this._clones.length/2,r=q+this._items.length,e=function(t){return t%2===0?r+t/2:q-(t+1)/2};if(s===g){return a.map(this._clones,function(u,t){return e(t)})}return a.map(this._clones,function(u,t){return u===s?e(t):null})};h.prototype.speed=function(e){if(e!==g){this._speed=e}return this._speed};h.prototype.coordinates=function(e){var q=null;if(e===g){return a.map(this._coordinates,a.proxy(function(s,r){return this.coordinates(r)},this))}if(this.settings.center){q=this._coordinates[e];q+=(this.width()-q+(this._coordinates[e-1]||0))/2*(this.settings.rtl?-1:1)}else{q=this._coordinates[e-1]||0}return q};h.prototype.duration=function(e,q,r){return Math.min(Math.max(Math.abs(q-e),1),6)*Math.abs((r||this.settings.smartSpeed))};h.prototype.to=function(s,e){if(this.settings.loop){var w=s-this.relative(this.current()),v=this.current(),q=this.current(),t=this.current()+w,r=q-t<0?true:false,u=this._clones.length+this._items.length;if(t<this.settings.items&&r===false){v=q+this._items.length;this.reset(v)}else{if(t>=u-this.settings.items&&r===true){v=q-this._items.length;this.reset(v)}}d.clearTimeout(this.e._goToLoop);this.e._goToLoop=d.setTimeout(a.proxy(function(){this.speed(this.duration(this.current(),v+w,e));this.current(v+w);this.update()},this),30)}else{this.speed(this.duration(this.current(),s,e));this.current(s);this.update()}};h.prototype.next=function(e){e=e||false;this.to(this.relative(this.current())+1,e)};h.prototype.prev=function(e){e=e||false;this.to(this.relative(this.current())-1,e)};h.prototype.transitionEnd=function(e){if(e!==g){e.stopPropagation();if((e.target||e.srcElement||e.originalTarget)!==this.$stage.get(0)){return false}}this.state.inMotion=false;this.trigger("translated")};h.prototype.viewport=function(){var e;if(this.options.responsiveBaseElement!==d){e=a(this.options.responsiveBaseElement).width()}else{if(d.innerWidth){e=d.innerWidth}else{if(l.documentElement&&l.documentElement.clientWidth){e=l.documentElement.clientWidth}else{throw"Can not detect viewport width."}}}return e};h.prototype.replace=function(e){this.$stage.empty();this._items=[];if(e){e=(e instanceof jQuery)?e:a(e)}if(this.settings.nestedItemSelector){e=e.find("."+this.settings.nestedItemSelector)}e.filter(function(){return this.nodeType===1}).each(a.proxy(function(r,q){q=this.prepare(q);this.$stage.append(q);this._items.push(q);this._mergers.push(q.find("[data-merge]").andSelf("[data-merge]").attr("data-merge")*1||1)},this));this.reset(a.isNumeric(this.settings.startPosition)?this.settings.startPosition:0);this.invalidate("items")};h.prototype.add=function(q,e){e=e===g?this._items.length:this.normalize(e,true);this.trigger("add",{content:q,position:e});if(this._items.length===0||e===this._items.length){this.$stage.append(q);this._items.push(q);this._mergers.push(q.find("[data-merge]").andSelf("[data-merge]").attr("data-merge")*1||1)}else{this._items[e].before(q);this._items.splice(e,0,q);this._mergers.splice(e,0,q.find("[data-merge]").andSelf("[data-merge]").attr("data-merge")*1||1)}this.invalidate("items");this.trigger("added",{content:q,position:e})};h.prototype.remove=function(e){e=this.normalize(e,true);if(e===g){return}this.trigger("remove",{content:this._items[e],position:e});this._items[e].remove();this._items.splice(e,1);this._mergers.splice(e,1);this.invalidate("items");this.trigger("removed",{content:null,position:e})};h.prototype.addTriggerableEvents=function(){var e=a.proxy(function(r,q){return a.proxy(function(s){if(s.relatedTarget!==this){this.suppress([q]);r.apply(this,[].slice.call(arguments,1));this.release([q])}},this)},this);a.each({next:this.next,prev:this.prev,to:this.to,destroy:this.destroy,refresh:this.refresh,replace:this.replace,add:this.add,remove:this.remove},a.proxy(function(q,r){this.$element.on(q+".owl.carousel",e(r,q+".owl.carousel"))},this))};h.prototype.watchVisibility=function(){if(!q(this.$element.get(0))){this.$element.addClass("owl-hidden");d.clearInterval(this.e._checkVisibile);this.e._checkVisibile=d.setInterval(a.proxy(e,this),500)}function q(r){return r.offsetWidth>0&&r.offsetHeight>0}function e(){if(q(this.$element.get(0))){this.$element.removeClass("owl-hidden");this.refresh();d.clearInterval(this.e._checkVisibile)}}};h.prototype.preloadAutoWidthImages=function(e){var t,q,r,s;t=0;q=this;e.each(function(u,v){r=a(v);s=new Image();s.onload=function(){t++;r.attr("src",s.src);r.css("opacity",1);if(t>=e.length){q.state.imagesLoaded=true;q.initialize()}};s.src=r.attr("src")||r.attr("data-src")||r.attr("data-src-retina")})};h.prototype.destroy=function(){if(this.$element.hasClass(this.settings.themeClass)){this.$element.removeClass(this.settings.themeClass)}if(this.settings.responsive!==false){a(d).off("resize.owl.carousel")}if(this.transitionEndVendor){this.off(this.$stage.get(0),this.transitionEndVendor,this.e._transitionEnd)}for(var e in this._plugins){this._plugins[e].destroy()}if(this.settings.mouseDrag||this.settings.touchDrag){this.$stage.off("mousedown touchstart touchcancel");a(l).off(".owl.dragEvents");this.$stage.get(0).onselectstart=function(){};this.$stage.off("dragstart",function(){return false})}this.$element.off(".owl");this.$stage.children(".cloned").remove();this.e=null;this.$element.removeData("owlCarousel");this.$stage.children().contents().unwrap();this.$stage.children().unwrap();this.$stage.unwrap()};h.prototype.op=function(r,s,e){var q=this.settings.rtl;switch(s){case"<":return q?r>e:r<e;case">":return q?r<e:r>e;case">=":return q?r<=e:r>=e;case"<=":return q?r>=e:r<=e;default:break}};h.prototype.on=function(e,r,q,s){if(e.addEventListener){e.addEventListener(r,q,s)}else{if(e.attachEvent){e.attachEvent("on"+r,q)}}};h.prototype.off=function(e,r,q,s){if(e.removeEventListener){e.removeEventListener(r,q,s)}else{if(e.detachEvent){e.detachEvent("on"+r,q)}}};h.prototype.trigger=function(r,q,s){var t={item:{count:this._items.length,index:this.current()}},u=a.camelCase(a.grep(["on",r,s],function(w){return w}).join("-").toLowerCase()),e=a.Event([r,"owl",s||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},t,q));if(!this._supress[r]){a.each(this._plugins,function(w,v){if(v.onTrigger){v.onTrigger(e)}});this.$element.trigger(e);if(this.settings&&typeof this.settings[u]==="function"){this.settings[u].apply(this,e)}}return e};h.prototype.suppress=function(e){a.each(e,a.proxy(function(r,q){this._supress[q]=true},this))};h.prototype.release=function(e){a.each(e,a.proxy(function(r,q){delete this._supress[q]},this))};h.prototype.browserSupport=function(){this.support3d=p();if(this.support3d){this.transformVendor=o();var e=["transitionend","webkitTransitionEnd","transitionend","oTransitionEnd"];this.transitionEndVendor=e[i()];this.vendorName=this.transformVendor.replace(/Transform/i,"");this.vendorName=this.vendorName!==""?"-"+this.vendorName.toLowerCase()+"-":""}this.state.orientation=d.orientation};function j(e){if(e.touches!==g){return{x:e.touches[0].pageX,y:e.touches[0].pageY}}if(e.touches===g){if(e.pageX!==g){return{x:e.pageX,y:e.pageY}}if(e.pageX===g){return{x:e.clientX,y:e.clientY}}}}function f(q){var u,e,t=l.createElement("div"),r=q;for(u in r){e=r[u];if(typeof t.style[e]!=="undefined"){t=null;return[e,u]}}return[false]}function i(){return f(["transition","WebkitTransition","MozTransition","OTransition"])[1]}function o(){return f(["transform","WebkitTransform","MozTransform","OTransform","msTransform"])[0]}function p(){return f(["perspective","webkitPerspective","MozPerspective","OPerspective","MsPerspective"])[0]}function n(){return"ontouchstart" in d||!!(navigator.msMaxTouchPoints)}function m(){return d.navigator.msPointerEnabled}a.fn.owlCarousel=function(e){return this.each(function(){if(!a(this).data("owlCarousel")){a(this).data("owlCarousel",new h(this,e))}})};a.fn.owlCarousel.Constructor=h})(window.Zepto||window.jQuery,window,document);(function(b,e,d,a){var c=function(f){this._core=f;this._loaded=[];this._handlers={"initialized.owl.carousel change.owl.carousel":b.proxy(function(j){if(!j.namespace){return}if(!this._core.settings||!this._core.settings.lazyLoad){return}if((j.property&&j.property.name=="position")||j.type=="initialized"){var h=this._core.settings,m=(h.center&&Math.ceil(h.items/2)||h.items),l=((h.center&&m*-1)||0),k=((j.property&&j.property.value)||this._core.current())+l,g=this._core.clones().length,o=b.proxy(function(n,p){this.load(p)},this);while(l++<m){this.load(g/2+this._core.relative(k));g&&b.each(this._core.clones(this._core.relative(k++)),o)}}},this)};this._core.options=b.extend({},c.Defaults,this._core.options);this._core.$element.on(this._handlers)};c.Defaults={lazyLoad:false};c.prototype.load=function(h){var f=this._core.$stage.children().eq(h),g=f&&f.find(".owl-lazy");if(!g||b.inArray(f.get(0),this._loaded)>-1){return}g.each(b.proxy(function(j,i){var l=b(i),m,k=(e.devicePixelRatio>1&&l.attr("data-src-retina"))||l.attr("data-src");this._core.trigger("load",{element:l,url:k},"lazy");if(l.is("img")){l.one("load.owl.lazy",b.proxy(function(){l.css("opacity",1);this._core.trigger("loaded",{element:l,url:k},"lazy")},this)).attr("src",k)}else{m=new Image();m.onload=b.proxy(function(){l.css({"background-image":"url("+k+")",opacity:"1"});this._core.trigger("loaded",{element:l,url:k},"lazy")},this);m.src=k}},this));this._loaded.push(f.get(0))};c.prototype.destroy=function(){var f,g;for(f in this.handlers){this._core.$element.off(f,this.handlers[f])}for(g in Object.getOwnPropertyNames(this)){typeof this[g]!="function"&&(this[g]=null)}};b.fn.owlCarousel.Constructor.Plugins.Lazy=c})(window.Zepto||window.jQuery,window,document);(function(b,e,d,a){var c=function(f){this._core=f;this._handlers={"initialized.owl.carousel":b.proxy(function(){if(this._core.settings.autoHeight){this.update()}},this),"changed.owl.carousel":b.proxy(function(g){if(this._core.settings.autoHeight&&g.property.name=="position"){this.update()}},this),"loaded.owl.lazy":b.proxy(function(g){if(this._core.settings.autoHeight&&g.element.closest("."+this._core.settings.itemClass)===this._core.$stage.children().eq(this._core.current())){this.update()}},this)};this._core.options=b.extend({},c.Defaults,this._core.options);this._core.$element.on(this._handlers)};c.Defaults={autoHeight:false,autoHeightClass:"owl-height"};c.prototype.update=function(){this._core.$stage.parent().height(this._core.$stage.children().eq(this._core.current()).height()).addClass(this._core.settings.autoHeightClass)};c.prototype.destroy=function(){var f,g;for(f in this._handlers){this._core.$element.off(f,this._handlers[f])}for(g in Object.getOwnPropertyNames(this)){typeof this[g]!="function"&&(this[g]=null)}};b.fn.owlCarousel.Constructor.Plugins.AutoHeight=c})(window.Zepto||window.jQuery,window,document);(function(b,d,c,a){var e=function(f){this._core=f;this._videos={};this._playing=null;this._fullscreen=false;this._handlers={"resize.owl.carousel":b.proxy(function(g){if(this._core.settings.video&&!this.isInFullScreen()){g.preventDefault()}},this),"refresh.owl.carousel changed.owl.carousel":b.proxy(function(g){if(this._playing){this.stop()}},this),"prepared.owl.carousel":b.proxy(function(g){var h=b(g.content).find(".owl-video");if(h.length){h.css("display","none");this.fetch(h,b(g.content))}},this)};this._core.options=b.extend({},e.Defaults,this._core.options);this._core.$element.on(this._handlers);this._core.$element.on("click.owl.video",".owl-video-play-icon",b.proxy(function(g){this.play(g)},this))};e.Defaults={video:false,videoHeight:false,videoWidth:false};e.prototype.fetch=function(l,h){var j=l.attr("data-vimeo-id")?"vimeo":"youtube",f=l.attr("data-vimeo-id")||l.attr("data-youtube-id"),k=l.attr("data-width")||this._core.settings.videoWidth,g=l.attr("data-height")||this._core.settings.videoHeight,i=l.attr("href");if(i){f=i.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);if(f[3].indexOf("youtu")>-1){j="youtube"}else{if(f[3].indexOf("vimeo")>-1){j="vimeo"}else{throw new Error("Video URL not supported.")}}f=f[6]}else{throw new Error("Missing video URL.")}this._videos[i]={type:j,id:f,width:k,height:g};h.attr("data-video",i);this.thumbnail(l,this._videos[i])};e.prototype.thumbnail=function(j,p){var h,k,f,m=p.width&&p.height?'style="width:'+p.width+"px;height:"+p.height+'px;"':"",l=j.find("img"),g="src",i="",n=this._core.settings,o=function(q){k='<div class="owl-video-play-icon"></div>';if(n.lazyLoad){h='<div class="owl-video-tn '+i+'" '+g+'="'+q+'"></div>'}else{h='<div class="owl-video-tn" style="opacity:1;background-image:url('+q+')"></div>'}j.after(h);j.after(k)};j.wrap('<div class="owl-video-wrapper"'+m+"></div>");if(this._core.settings.lazyLoad){g="data-src";i="owl-lazy"}if(l.length){o(l.attr(g));l.remove();return false}if(p.type==="youtube"){f="http://img.youtube.com/vi/"+p.id+"/hqdefault.jpg";o(f)}else{if(p.type==="vimeo"){b.ajax({type:"GET",url:"http://vimeo.com/api/v2/video/"+p.id+".json",jsonp:"callback",dataType:"jsonp",success:function(q){f=q[0].thumbnail_large;o(f)}})}}};e.prototype.stop=function(){this._core.trigger("stop",null,"video");this._playing.find(".owl-video-frame").remove();this._playing.removeClass("owl-video-playing");this._playing=null};e.prototype.play=function(l){this._core.trigger("play",null,"video");if(this._playing){this.stop()}var f=b(l.target||l.srcElement),h=f.closest("."+this._core.settings.itemClass),m=this._videos[h.attr("data-video")],k=m.width||"100%",g=m.height||this._core.$stage.height(),i,j;if(m.type==="youtube"){i='<iframe width="'+k+'" height="'+g+'" src="http://www.youtube.com/embed/'+m.id+"?autoplay=1&v="+m.id+'" frameborder="0" allowfullscreen></iframe>'}else{if(m.type==="vimeo"){i='<iframe src="http://player.vimeo.com/video/'+m.id+'?autoplay=1" width="'+k+'" height="'+g+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'}}h.addClass("owl-video-playing");this._playing=h;j=b('<div style="height:'+g+"px; width:"+k+'px" class="owl-video-frame">'+i+"</div>");f.after(j)};e.prototype.isInFullScreen=function(){var f=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;if(f&&b(f).parent().hasClass("owl-video-frame")){this._core.speed(0);this._fullscreen=true}if(f&&this._fullscreen&&this._playing){return false}if(this._fullscreen){this._fullscreen=false;return false}if(this._playing){if(this._core.state.orientation!==d.orientation){this._core.state.orientation=d.orientation;return false}}return true};e.prototype.destroy=function(){var f,g;this._core.$element.off("click.owl.video");for(f in this._handlers){this._core.$element.off(f,this._handlers[f])}for(g in Object.getOwnPropertyNames(this)){typeof this[g]!="function"&&(this[g]=null)}};b.fn.owlCarousel.Constructor.Plugins.Video=e})(window.Zepto||window.jQuery,window,document);(function(b,e,c,a){var d=function(f){this.core=f;this.core.options=b.extend({},d.Defaults,this.core.options);this.swapping=true;this.previous=a;this.next=a;this.handlers={"change.owl.carousel":b.proxy(function(g){if(g.property.name=="position"){this.previous=this.core.current();this.next=g.property.value}},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":b.proxy(function(g){this.swapping=g.type=="translated"},this),"translate.owl.carousel":b.proxy(function(g){if(this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)){this.swap()}},this)};this.core.$element.on(this.handlers)};d.Defaults={animateOut:false,animateIn:false};d.prototype.swap=function(){if(this.core.settings.items!==1||!this.core.support3d){return}this.core.speed(0);var g,h=b.proxy(this.clear,this),k=this.core.$stage.children().eq(this.previous),j=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,i=this.core.settings.animateOut;if(this.core.current()===this.previous){return}if(i){g=this.core.coordinates(this.previous)-this.core.coordinates(this.next);k.css({left:g+"px"}).addClass("animated owl-animated-out").addClass(i).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",h)}if(f){j.addClass("animated owl-animated-in").addClass(f).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",h)}};d.prototype.clear=function(f){b(f.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut);this.core.transitionEnd()};d.prototype.destroy=function(){var f,g;for(f in this.handlers){this.core.$element.off(f,this.handlers[f])}for(g in Object.getOwnPropertyNames(this)){typeof this[g]!="function"&&(this[g]=null)}};b.fn.owlCarousel.Constructor.Plugins.Animate=d})(window.Zepto||window.jQuery,window,document);(function(b,e,c,a){var d=function(f){this.core=f;this.core.options=b.extend({},d.Defaults,this.core.options);this.handlers={"translated.owl.carousel refreshed.owl.carousel":b.proxy(function(){this.autoplay()},this),"play.owl.autoplay":b.proxy(function(h,i,g){this.play(i,g)},this),"stop.owl.autoplay":b.proxy(function(){this.stop()},this),"mouseover.owl.autoplay":b.proxy(function(){if(this.core.settings.autoplayHoverPause){this.pause()}},this),"mouseleave.owl.autoplay":b.proxy(function(){if(this.core.settings.autoplayHoverPause){this.autoplay()}},this)};this.core.$element.on(this.handlers)};d.Defaults={autoplay:false,autoplayTimeout:5000,autoplayHoverPause:false,autoplaySpeed:false};d.prototype.autoplay=function(){if(this.core.settings.autoplay&&!this.core.state.videoPlay){e.clearInterval(this.interval);this.interval=e.setInterval(b.proxy(function(){this.play()},this),this.core.settings.autoplayTimeout)}else{e.clearInterval(this.interval)}};d.prototype.play=function(f,g){if(c.hidden===true){return}if(this.core.state.isTouch||this.core.state.isScrolling||this.core.state.isSwiping||this.core.state.inMotion){return}if(this.core.settings.autoplay===false){e.clearInterval(this.interval);return}this.core.next(this.core.settings.autoplaySpeed)};d.prototype.stop=function(){e.clearInterval(this.interval)};d.prototype.pause=function(){e.clearInterval(this.interval)};d.prototype.destroy=function(){var f,g;e.clearInterval(this.interval);for(f in this.handlers){this.core.$element.off(f,this.handlers[f])}for(g in Object.getOwnPropertyNames(this)){typeof this[g]!="function"&&(this[g]=null)}};b.fn.owlCarousel.Constructor.Plugins.autoplay=d})(window.Zepto||window.jQuery,window,document);(function(b,d,c,a){var e=function(f){this._core=f;this._initialized=false;this._pages=[];this._controls={};this._templates=[];this.$element=this._core.$element;this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to};this._handlers={"prepared.owl.carousel":b.proxy(function(g){if(this._core.settings.dotsData){this._templates.push(b(g.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot"))}},this),"add.owl.carousel":b.proxy(function(g){if(this._core.settings.dotsData){this._templates.splice(g.position,0,b(g.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot"))}},this),"remove.owl.carousel prepared.owl.carousel":b.proxy(function(g){if(this._core.settings.dotsData){this._templates.splice(g.position,1)}},this),"change.owl.carousel":b.proxy(function(h){if(h.property.name=="position"){if(!this._core.state.revert&&!this._core.settings.loop&&this._core.settings.navRewind){var g=this._core.current(),i=this._core.maximum(),j=this._core.minimum();h.data=h.property.value>i?g>=i?j:i:h.property.value<j?i:h.property.value}}},this),"changed.owl.carousel":b.proxy(function(g){if(g.property.name=="position"){this.draw()}},this),"refreshed.owl.carousel":b.proxy(function(){if(!this._initialized){this.initialize();this._initialized=true}this._core.trigger("refresh",null,"navigation");this.update();this.draw();this._core.trigger("refreshed",null,"navigation")},this)};this._core.options=b.extend({},e.Defaults,this._core.options);this.$element.on(this._handlers)};e.Defaults={nav:false,navRewind:true,navText:["prev","next"],navSpeed:false,navElement:"div",navContainer:false,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:true,dotsEach:false,dotData:false,dotsSpeed:false,dotsContainer:false,controlsClass:"owl-controls"};e.prototype.initialize=function(){var f,g,h=this._core.settings;if(!h.dotsData){this._templates=[b("<div>").addClass(h.dotClass).append(b("<span>")).prop("outerHTML")]}if(!h.navContainer||!h.dotsContainer){this._controls.$container=b("<div>").addClass(h.controlsClass).appendTo(this.$element)}this._controls.$indicators=h.dotsContainer?b(h.dotsContainer):b("<div>").hide().addClass(h.dotsClass).appendTo(this._controls.$container);this._controls.$indicators.on("click","div",b.proxy(function(i){var j=b(i.target).parent().is(this._controls.$indicators)?b(i.target).index():b(i.target).parent().index();i.preventDefault();this.to(j,h.dotsSpeed)},this));f=h.navContainer?b(h.navContainer):b("<div>").addClass(h.navContainerClass).prependTo(this._controls.$container);this._controls.$next=b("<"+h.navElement+">");this._controls.$previous=this._controls.$next.clone();this._controls.$previous.addClass(h.navClass[0]).html(h.navText[0]).hide().prependTo(f).on("click",b.proxy(function(i){this.prev(h.navSpeed)},this));this._controls.$next.addClass(h.navClass[1]).html(h.navText[1]).hide().appendTo(f).on("click",b.proxy(function(i){this.next(h.navSpeed)},this));for(g in this._overrides){this._core[g]=b.proxy(this[g],this)}};e.prototype.destroy=function(){var f,h,i,g;for(f in this._handlers){this.$element.off(f,this._handlers[f])}for(h in this._controls){this._controls[h].remove()}for(g in this.overides){this._core[g]=this._overrides[g]}for(i in Object.getOwnPropertyNames(this)){typeof this[i]!="function"&&(this[i]=null)}};e.prototype.update=function(){var o,m,n,l=this._core.settings,h=this._core.clones().length/2,f=h+this._core.items().length,g=l.center||l.autoWidth||l.dotData?1:l.dotsEach||l.items;if(l.slideBy!=="page"){l.slideBy=Math.min(l.slideBy,l.items)}if(l.dots||l.slideBy=="page"){this._pages=[];for(o=h,m=0,n=0;o<f;o++){if(m>=g||m===0){this._pages.push({start:o-h,end:o-h+g-1});m=0,++n}m+=this._core.mergers(this._core.relative(o))}}};e.prototype.draw=function(){var j,f,h="",k=this._core.settings,g=this._core.$stage.children(),l=this._core.relative(this._core.current());if(k.nav&&!k.loop&&!k.navRewind){this._controls.$previous.toggleClass("disabled",l<=0);this._controls.$next.toggleClass("disabled",l>=this._core.maximum())}this._controls.$previous.toggle(k.nav);this._controls.$next.toggle(k.nav);if(k.dots){j=this._pages.length-this._controls.$indicators.children().length;if(k.dotData&&j!==0){for(f=0;f<this._controls.$indicators.children().length;f++){h+=this._templates[this._core.relative(f)]}this._controls.$indicators.html(h)}else{if(j>0){h=new Array(j+1).join(this._templates[0]);this._controls.$indicators.append(h)}else{if(j<0){this._controls.$indicators.children().slice(j).remove()}}}this._controls.$indicators.find(".active").removeClass("active");this._controls.$indicators.children().eq(b.inArray(this.current(),this._pages)).addClass("active")}this._controls.$indicators.toggle(k.dots)};e.prototype.onTrigger=function(f){var g=this._core.settings;f.page={index:b.inArray(this.current(),this._pages),count:this._pages.length,size:g&&(g.center||g.autoWidth||g.dotData?1:g.dotsEach||g.items)}};e.prototype.current=function(){var f=this._core.relative(this._core.current());return b.grep(this._pages,function(g){return g.start<=f&&g.end>=f}).pop()};e.prototype.getPosition=function(g){var i,f,h=this._core.settings;if(h.slideBy=="page"){i=b.inArray(this.current(),this._pages);f=this._pages.length;g?++i:--i;i=this._pages[((i%f)+f)%f].start}else{i=this._core.relative(this._core.current());f=this._core.items().length;g?i+=h.slideBy:i-=h.slideBy}return i};e.prototype.next=function(f){b.proxy(this._overrides.to,this._core)(this.getPosition(true),f)};e.prototype.prev=function(f){b.proxy(this._overrides.to,this._core)(this.getPosition(false),f)};e.prototype.to=function(i,f,h){var g;if(!h){g=this._pages.length;b.proxy(this._overrides.to,this._core)(this._pages[((i%g)+g)%g].start,f)}else{b.proxy(this._overrides.to,this._core)(i,f)}};b.fn.owlCarousel.Constructor.Plugins.Navigation=e})(window.Zepto||window.jQuery,window,document);(function(b,d,c,a){var e=function(f){this._core=f;this._hashes={};this.$element=this._core.$element;this._handlers={"initialized.owl.carousel":b.proxy(function(){if(this._core.settings.startPosition=="URLHash"){b(d).trigger("hashchange.owl.navigation")}},this),"prepared.owl.carousel":b.proxy(function(g){var h=b(g.content).find("[data-hash]").andSelf("[data-hash]").attr("data-hash");this._hashes[h]=g.content},this)};this._core.options=b.extend({},e.Defaults,this._core.options);this.$element.on(this._handlers);b(d).on("hashchange.owl.navigation",b.proxy(function(){var g=d.location.hash.substring(1),h=this._core.$stage.children(),i=this._hashes[g]&&h.index(this._hashes[g])||0;if(!g){return false}this._core.to(i,false,true)},this))};e.Defaults={URLhashListener:false};e.prototype.destroy=function(){var f,g;b(d).off("hashchange.owl.navigation");for(f in this._handlers){this._core.$element.off(f,this._handlers[f])}for(g in Object.getOwnPropertyNames(this)){typeof this[g]!="function"&&(this[g]=null)}};b.fn.owlCarousel.Constructor.Plugins.Hash=e})(window.Zepto||window.jQuery,window,document);
|
|
1 |
+
!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g--;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;d>c;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.settings.center&&(this.$stage.children(".center").removeClass("center"),this.$stage.children().eq(this.current()).addClass("center"))}}],e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var b,c,e;b=this.$element.find("img"),c=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,e=this.$element.children(c).width(),b.length&&0>=e&&this.preloadAutoWidthImages(b)}this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+' class="'+this.settings.stageClass+'"/>').wrap('<div class="'+this.settings.stageOuterClass+'"/>'),this.$element.append(this.$stage.parent()),this.replace(this.$element.children().not(this.$stage.parent())),this.$element.is(":visible")?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){b>=a&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),(null===this.settings||this._breakpoint!==d)&&(this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}}))},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};c>b;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return this._items.length?this._width===this.$element.width()?!1:this.$element.is(":visible")?(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized"))):!1:!1},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),this.settings.responsive!==!1&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.coordinates(this.settings.rtl?this.maximum():this.minimum()),c=this.coordinates(this.settings.rtl?this.minimum():this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var d=-1,e=30,f=this.width(),g=this.coordinates();return this.settings.freeDrag||a.each(g,a.proxy(function(a,h){return b>h-e&&h+e>b?d=a:this.op(b,"<",h)&&this.op(b,">",g[a+1]||h-f)&&(d="left"===c?a+1:a),-1===d},this)),this.settings.loop||(this.op(b,">",g[this.minimum()])?d=b=this.minimum():this.op(b,"<",g[this.maximum()])&&(d=b=this.maximum())),d},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){a=this.normalize(a),a!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(b,c){var e=this._items.length,f=c?0:this._clones.length;return!a.isNumeric(b)||1>e?b=d:(0>b||b>=e+f)&&(b=((b-f/2)%e+e)%e+f/2),b},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c=this.settings,d=this._coordinates.length,e=Math.abs(this._coordinates[d-1])-this._width,f=-1;if(c.loop)d=this._clones.length/2+this._items.length-1;else if(c.autoWidth||c.merge)for(;d-f>1;)Math.abs(this._coordinates[b=d+f>>1])<e?f=b:d=b;else d=c.center?this._items.length-1:this._items.length-c.items;return a&&(d-=this._clones.length/2),Math.max(d,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2===0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c=null;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[b-1]||0))/2*(this.settings.rtl?-1:1)):c=this._coordinates[b-1]||0,c)},e.prototype.duration=function(a,b,c){return Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(0>e),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,d=((a-h)%g+g)%g+h,d!==a&&i>=d-e&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.$element.is(":visible")&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){return a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0))?!1:(this.leave("animating"),void this.trigger("translated"))},e.prototype.viewport=function(){var d;if(this.options.responsiveBaseElement!==b)d=a(this.options.responsiveBaseElement).width();else if(b.innerWidth)d=b.innerWidth;else{if(!c.documentElement||!c.documentElement.clientWidth)throw"Can not detect viewport width.";d=c.documentElement.clientWidth}return d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").andSelf("[data-merge]").attr("data-merge")||1)},this)),this.reset(a.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").andSelf("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").andSelf("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){a=this.normalize(a,!0),a!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),this.settings.responsive!==!1&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:c>a;case">":return d?c>a:a>c;case">=":return d?c>=a:a>=c;case"<=":return d?a>=c:c>=a}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf("owl")?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.$element.is(":visible"),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.$element.is(":visible")!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type))for(var c=this._core.settings,d=c.center&&Math.ceil(c.items/2)||c.items,e=c.center&&-1*d||0,f=(b.property&&b.property.value||this._core.current())+e,g=this._core.clones().length,h=a.proxy(function(a,b){this.load(b)},this);e++<d;)this.load(g/2+this._core.relative(f)),g&&a.each(this._core.clones(this._core.relative(f)),h),f++},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":"url("+g+")",opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"==a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.$stage.children().toArray().slice(b,c);heights=[],maxheight=0,a.each(d,function(b,c){heights.push(a(c).height())}),maxheight=Math.max.apply(null,heights),this._core.$stage.parent().height(maxheight).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=a.attr("data-vimeo-id")?"vimeo":"youtube",d=a.attr("data-vimeo-id")||a.attr("data-youtube-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else{if(!(d[3].indexOf("vimeo")>-1))throw new Error("Video URL not supported.");c="vimeo"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?'style="width:'+c.width+"px;height:"+c.height+'px;"':"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(a){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?'<div class="owl-video-tn '+j+'" '+i+'="'+a+'"></div>':'<div class="owl-video-tn" style="opacity:1;background-image:url('+a+')"></div>',b.after(d),b.after(e)};return b.wrap('<div class="owl-video-wrapper"'+g+"></div>"),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length?(l(h.attr(i)),h.remove(),!1):void("youtube"===c.type?(f="http://img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type&&a.ajax({type:"GET",url:"http://vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}))},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),"youtube"===f.type?c='<iframe width="'+g+'" height="'+h+'" src="http://www.youtube.com/embed/'+f.id+"?autoplay=1&v="+f.id+'" frameborder="0" allowfullscreen></iframe>':"vimeo"===f.type&&(c='<iframe src="http://player.vimeo.com/video/'+f.id+'?autoplay=1" width="'+g+'" height="'+h+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'),a('<div class="owl-video-frame">'+c+"</div>").insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._paused=!1,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name&&(this._core.settings.autoplay?this.play():this.stop())},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){
|
2 |
+
this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype.play=function(d,e){this._paused=!1,this._core.is("rotating")||(this._core.enter("rotating"),this._interval=b.setInterval(a.proxy(function(){this._paused||this._core.is("busy")||this._core.is("interacting")||c.hidden||this._core.next(e||this._core.settings.autoplaySpeed)},this),d||this._core.settings.autoplayTimeout))},e.prototype.stop=function(){this._core.is("rotating")&&(b.clearInterval(this._interval),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&(this._paused=!0)},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:["prev","next"],navSpeed:!1,navElement:"div",navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a("<div>").addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;e>a;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):0>b&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;d?a.proxy(this._overrides.to,this._core)(b,c):(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c))},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").andSelf("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){return g[b]!==d?(e=c?b:!0,!1):void 0}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
|
themes/foundation/modules/owlcarousel/owlcarousel.php
CHANGED
@@ -5,7 +5,14 @@ add_action( 'foundation_module_init_mobile', 'foundation_owlcarousel_init' );
|
|
5 |
function foundation_owlcarousel_init() {
|
6 |
wp_enqueue_style(
|
7 |
'foundation_owlcarousel',
|
8 |
-
foundation_get_base_module_url() . '/owlcarousel/assets/owl.carousel.css',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
'',
|
10 |
md5( FOUNDATION_VERSION )
|
11 |
);
|
5 |
function foundation_owlcarousel_init() {
|
6 |
wp_enqueue_style(
|
7 |
'foundation_owlcarousel',
|
8 |
+
foundation_get_base_module_url() . '/owlcarousel/assets/owl.carousel.min.css',
|
9 |
+
'',
|
10 |
+
md5( FOUNDATION_VERSION )
|
11 |
+
);
|
12 |
+
|
13 |
+
wp_enqueue_style(
|
14 |
+
'foundation_owlcarousel_theme',
|
15 |
+
foundation_get_base_module_url() . '/owlcarousel/assets/owl.theme.default.min.css',
|
16 |
'',
|
17 |
md5( FOUNDATION_VERSION )
|
18 |
);
|
themes/foundation/modules/sharing/sharing.php
CHANGED
@@ -89,64 +89,66 @@ function foundation_handle_share_links_bottom( $content ) {
|
|
89 |
}
|
90 |
|
91 |
function foundation_sharing_settings( $page_options ) {
|
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 |
-
WPTOUCH_SETTING_BASIC,
|
139 |
-
'2.0',
|
140 |
-
array(
|
141 |
-
'default' => __( 'Theme colors', 'wptouch-pro' ),
|
142 |
-
'vibrant' => __( 'Social network colors', 'wptouch-pro' )
|
143 |
-
)
|
144 |
-
)
|
145 |
-
),
|
146 |
-
$page_options,
|
147 |
-
FOUNDATION_SETTING_DOMAIN,
|
148 |
-
true
|
149 |
-
);
|
150 |
|
151 |
return $page_options;
|
152 |
}
|
89 |
}
|
90 |
|
91 |
function foundation_sharing_settings( $page_options ) {
|
92 |
+
if ( wptouch_can_show_page( 'social_sharing' ) ) {
|
93 |
+
wptouch_add_page_section(
|
94 |
+
FOUNDATION_PAGE_BRANDING,
|
95 |
+
__( 'Social Sharing', 'wptouch-pro' ),
|
96 |
+
'social-sharing',
|
97 |
+
array(
|
98 |
+
wptouch_add_setting(
|
99 |
+
'no-setting-text',
|
100 |
+
'share_info',
|
101 |
+
__( 'Will show Facebook, Twitter, Pinterest and Email buttons.', 'wptouch-pro' ),
|
102 |
+
false,
|
103 |
+
WPTOUCH_SETTING_BASIC,
|
104 |
+
'2.0'
|
105 |
+
),
|
106 |
+
wptouch_add_setting(
|
107 |
+
'checkbox',
|
108 |
+
'show_share',
|
109 |
+
__( 'Show sharing links on posts', 'wptouch-pro' ),
|
110 |
+
false,
|
111 |
+
WPTOUCH_SETTING_BASIC,
|
112 |
+
'2.0'
|
113 |
+
),
|
114 |
+
wptouch_add_setting(
|
115 |
+
'checkbox',
|
116 |
+
'share_on_pages',
|
117 |
+
__( 'Also show on pages', 'wptouch-pro' ),
|
118 |
+
false,
|
119 |
+
WPTOUCH_SETTING_BASIC,
|
120 |
+
'2.0'
|
121 |
+
),
|
122 |
+
wptouch_add_setting(
|
123 |
+
'radiolist',
|
124 |
+
'share_location',
|
125 |
+
__( 'Sharing links location', 'wptouch-pro' ),
|
126 |
+
false,
|
127 |
+
WPTOUCH_SETTING_BASIC,
|
128 |
+
'2.0',
|
129 |
+
array(
|
130 |
+
'top' => __( 'Above post content', 'wptouch-pro' ),
|
131 |
+
'bottom' => __( 'Below post content', 'wptouch-pro' )
|
132 |
+
)
|
133 |
+
),
|
134 |
+
wptouch_add_setting(
|
135 |
+
'radiolist',
|
136 |
+
'share_colour_scheme',
|
137 |
+
__( 'Color scheme', 'wptouch-pro' ),
|
138 |
+
false,
|
139 |
+
WPTOUCH_SETTING_BASIC,
|
140 |
+
'2.0',
|
141 |
+
array(
|
142 |
+
'default' => __( 'Theme colors', 'wptouch-pro' ),
|
143 |
+
'vibrant' => __( 'Social network colors', 'wptouch-pro' )
|
144 |
+
)
|
145 |
)
|
146 |
),
|
147 |
+
$page_options,
|
148 |
+
FOUNDATION_SETTING_DOMAIN,
|
149 |
+
true
|
150 |
+
);
|
151 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
|
153 |
return $page_options;
|
154 |
}
|
themes/foundation/modules/social-links/social-links.php
CHANGED
@@ -3,113 +3,115 @@ add_action( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'foundatio
|
|
3 |
add_action( 'wptouch_pre_footer', 'foundation_show_social_links_area' );
|
4 |
|
5 |
function foundation_social_links_settings( $page_options ) {
|
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 |
return $page_options;
|
115 |
}
|
3 |
add_action( 'wptouch_pre_footer', 'foundation_show_social_links_area' );
|
4 |
|
5 |
function foundation_social_links_settings( $page_options ) {
|
6 |
+
if ( wptouch_can_show_page( 'social_media' ) ) {
|
7 |
+
wptouch_add_page_section(
|
8 |
+
FOUNDATION_PAGE_BRANDING,
|
9 |
+
__( 'Social Media Links', 'wptouch-pro' ),
|
10 |
+
'footer-social-links',
|
11 |
+
array(
|
12 |
+
wptouch_add_setting(
|
13 |
+
'url',
|
14 |
+
'social_facebook_url',
|
15 |
+
'Facebook',
|
16 |
+
__( 'Full URL to your Facebook page', 'wptouch-pro' ),
|
17 |
+
WPTOUCH_SETTING_BASIC,
|
18 |
+
'1.0'
|
19 |
+
),
|
20 |
+
wptouch_add_setting(
|
21 |
+
'url',
|
22 |
+
'social_twitter_url',
|
23 |
+
'Twitter',
|
24 |
+
__( 'Full URL to your Twitter profile', 'wptouch-pro' ),
|
25 |
+
WPTOUCH_SETTING_BASIC,
|
26 |
+
'1.0'
|
27 |
+
),
|
28 |
+
wptouch_add_setting(
|
29 |
+
'url',
|
30 |
+
'social_google_url',
|
31 |
+
'Google+',
|
32 |
+
__( 'Full URL to your Google+ profile', 'wptouch-pro' ),
|
33 |
+
WPTOUCH_SETTING_BASIC,
|
34 |
+
'1.0'
|
35 |
+
),
|
36 |
+
wptouch_add_setting(
|
37 |
+
'url',
|
38 |
+
'social_instagram_url',
|
39 |
+
'Instagram',
|
40 |
+
__( 'Full URL to your Instagram profile', 'wptouch-pro' ),
|
41 |
+
WPTOUCH_SETTING_BASIC,
|
42 |
+
'1.0'
|
43 |
+
),
|
44 |
+
wptouch_add_setting(
|
45 |
+
'url',
|
46 |
+
'social_tumblr_url',
|
47 |
+
__( 'Tumblr', 'wptouch-pro' ),
|
48 |
+
__( 'Full URL to your Tumblr profile', 'wptouch-pro' ),
|
49 |
+
WPTOUCH_SETTING_BASIC,
|
50 |
+
'2.0.1'
|
51 |
+
),
|
52 |
+
wptouch_add_pro_setting(
|
53 |
+
'url',
|
54 |
+
'social_pinterest_url',
|
55 |
+
'Pinterest',
|
56 |
+
__( 'Full URL to your Pinterest page', 'wptouch-pro' ),
|
57 |
+
WPTOUCH_SETTING_BASIC,
|
58 |
+
'1.0.2'
|
59 |
+
),
|
60 |
+
wptouch_add_pro_setting(
|
61 |
+
'url',
|
62 |
+
'social_vimeo_url',
|
63 |
+
'Vimeo',
|
64 |
+
__( 'Full URL to your Vimeo page', 'wptouch-pro' ),
|
65 |
+
WPTOUCH_SETTING_BASIC,
|
66 |
+
'1.0.2'
|
67 |
+
),
|
68 |
+
wptouch_add_pro_setting(
|
69 |
+
'url',
|
70 |
+
'social_youtube_url',
|
71 |
+
'YouTube',
|
72 |
+
sprintf( __( 'Full URL to your %s profile', 'wptouch-pro' ), 'YouTube' ),
|
73 |
+
WPTOUCH_SETTING_BASIC,
|
74 |
+
'1.0.5'
|
75 |
+
),
|
76 |
+
wptouch_add_pro_setting(
|
77 |
+
'url',
|
78 |
+
'social_linkedin_url',
|
79 |
+
__( 'LinkedIn', 'wptouch-pro' ),
|
80 |
+
__( 'Full URL to your LinkedIn profile', 'wptouch-pro' ),
|
81 |
+
WPTOUCH_SETTING_BASIC,
|
82 |
+
'1.0.2'
|
83 |
+
),
|
84 |
+
wptouch_add_setting(
|
85 |
+
'url',
|
86 |
+
'social_yelp_url',
|
87 |
+
'Yelp',
|
88 |
+
__( 'Full URL to your Yelp profile', 'wptouch-pro' ),
|
89 |
+
WPTOUCH_SETTING_BASIC,
|
90 |
+
'1.0'
|
91 |
+
),
|
92 |
+
wptouch_add_setting(
|
93 |
+
'url',
|
94 |
+
'social_email_url',
|
95 |
+
__( 'E-Mail', 'wptouch-pro' ),
|
96 |
+
__( 'E-Mail address', 'wptouch-pro' ),
|
97 |
+
WPTOUCH_SETTING_BASIC,
|
98 |
+
'1.0'
|
99 |
+
),
|
100 |
+
wptouch_add_setting(
|
101 |
+
'url',
|
102 |
+
'social_rss_url',
|
103 |
+
'RSS',
|
104 |
+
__( 'Full URL to your RSS feed', 'wptouch-pro' ),
|
105 |
+
WPTOUCH_SETTING_BASIC,
|
106 |
+
'1.0.2'
|
107 |
+
)
|
108 |
|
109 |
+
),
|
110 |
+
$page_options,
|
111 |
+
FOUNDATION_SETTING_DOMAIN,
|
112 |
+
true
|
113 |
+
);
|
114 |
+
}
|
115 |
|
116 |
return $page_options;
|
117 |
}
|
themes/foundation/root-functions.php
CHANGED
@@ -147,10 +147,6 @@ function foundation_setting_defaults( $settings ) {
|
|
147 |
$settings->excluded_categories = '';
|
148 |
$settings->excluded_tags = '';
|
149 |
|
150 |
-
// Login
|
151 |
-
$settings->show_login_box = false;
|
152 |
-
$settings->show_login_links = false;
|
153 |
-
|
154 |
// Branding
|
155 |
$settings->typography_sets = 'default';
|
156 |
|
147 |
$settings->excluded_categories = '';
|
148 |
$settings->excluded_tags = '';
|
149 |
|
|
|
|
|
|
|
|
|
150 |
// Branding
|
151 |
$settings->typography_sets = 'default';
|
152 |
|
wptouch.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: WPtouch Mobile Plugin
|
4 |
Plugin URI: http://www.wptouch.com/
|
5 |
-
Version: 4.
|
6 |
Description: Make a beautiful mobile-friendly version of your website with just a few clicks
|
7 |
Author: BraveNewCode Inc.
|
8 |
Author URI: http://www.bravenewcode.com/
|
@@ -14,7 +14,7 @@
|
|
14 |
|
15 |
function wptouch_create_four_object() {
|
16 |
if ( !defined( 'WPTOUCH_IS_PRO' ) ) {
|
17 |
-
define( 'WPTOUCH_VERSION', '4.
|
18 |
|
19 |
define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
|
20 |
define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
|
@@ -107,4 +107,14 @@ function wptouch_free_order_sections( $page_info, $page_name ) {
|
|
107 |
}
|
108 |
|
109 |
return $page_info;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
2 |
/*
|
3 |
Plugin Name: WPtouch Mobile Plugin
|
4 |
Plugin URI: http://www.wptouch.com/
|
5 |
+
Version: 4.1
|
6 |
Description: Make a beautiful mobile-friendly version of your website with just a few clicks
|
7 |
Author: BraveNewCode Inc.
|
8 |
Author URI: http://www.bravenewcode.com/
|
14 |
|
15 |
function wptouch_create_four_object() {
|
16 |
if ( !defined( 'WPTOUCH_IS_PRO' ) ) {
|
17 |
+
define( 'WPTOUCH_VERSION', '4.1' );
|
18 |
|
19 |
define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
|
20 |
define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
|
107 |
}
|
108 |
|
109 |
return $page_info;
|
110 |
+
}
|
111 |
+
|
112 |
+
add_filter( 'wptouch_theme_title', 'wptouch_bauhaus_pro' );
|
113 |
+
function wptouch_bauhaus_pro( $name ) {
|
114 |
+
if ( $name == 'Bauhaus' ) { $name = 'Bauhaus Pro'; }
|
115 |
+
return $name;
|
116 |
+
}
|
117 |
+
|
118 |
+
function wptouch_is_update_available() {
|
119 |
+
return false;
|
120 |
}
|