Version Description
- Added support for mp4 and webp files
Download this release
Release Info
Developer | machothemes |
Plugin | FancyBox for WordPress |
Version | 3.1.5 |
Comparing to | |
See all releases |
Code changes from version 3.1.4 to 3.1.5
- admin.php +150 -150
- assets/css/fancybox-admin.css +375 -375
- assets/css/fancybox.css +898 -898
- assets/css/jquery-ui.css +64 -64
- assets/js/admin.js +172 -172
- assets/js/jquery.fancybox.js +5613 -5613
- assets/js/rollback.js +10 -10
- fancybox.php +535 -535
- languages/mfbfw-es_ES.po +1050 -1050
- languages/mfbfw-ja.po +325 -325
- languages/mfbfw-pl_PL.po +1066 -1066
- languages/mfbfw-tr_TR.po +325 -325
- languages/mfbfw.pot +644 -644
- lib/admin-head.php +17 -17
- lib/admin-tab-animations.php +77 -77
- lib/admin-tab-appearance.php +178 -178
- lib/admin-tab-behaviour.php +101 -101
- lib/admin-tab-galleries.php +54 -54
- lib/admin-tab-other.php +198 -198
- lib/admin-tab-support.php +12 -12
- lib/class-fbfw-plugin-rollback.php +71 -71
- lib/class-fbfw-rollback.php +178 -178
- readme.txt +260 -257
admin.php
CHANGED
@@ -1,150 +1,150 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function mfbfw_options_page() {
|
4 |
-
require_once( FBFW_PATH . 'lib/admin-head.php' );
|
5 |
-
|
6 |
-
?>
|
7 |
-
|
8 |
-
<div class="wrap about-wrap fbfw-wrap">
|
9 |
-
<div id="icon-plugins" class="icon32"></div>
|
10 |
-
<div class="inlined">
|
11 |
-
<div id="pluginDescription">
|
12 |
-
<h1><?php printf( __( 'Fancybox for WordPress (version %s)', 'mfbfw' ), FBFW_VERSION ); ?></h1>
|
13 |
-
<p class="about-text">Seamlessly integrates FancyBox into your blog: Upload, activate, and you’re done. Additional configuration optional.</p>
|
14 |
-
</div>
|
15 |
-
</div>
|
16 |
-
|
17 |
-
<br/>
|
18 |
-
|
19 |
-
<form method="post" action="options.php" id="options">
|
20 |
-
|
21 |
-
<?php settings_fields( 'mfbfw-options' ); ?>
|
22 |
-
|
23 |
-
<div id="fbfwTabs">
|
24 |
-
<ul class="nav-tab-wrapper wp-clearfix">
|
25 |
-
<li><a href="#fbfw-appearance"><?php _e( 'Appearance', 'mfbfw' ); ?></a></li>
|
26 |
-
<li><a href="#fbfw-animations"><?php _e( 'Animations', 'mfbfw' ); ?></a></li>
|
27 |
-
<li><a href="#fbfw-behaviour"><?php _e( 'Behaviour', 'mfbfw' ); ?></a></li>
|
28 |
-
<li><a href="#fbfw-galleries"><?php _e( 'Galleries', 'mfbfw' ); ?></a></li>
|
29 |
-
<li><a href="#fbfw-other"><?php _e( 'Misc.', 'mfbfw' ); ?></a></li>
|
30 |
-
<li><a href="#fbfw-support" style="color:green;"><?php _e( 'Support', 'mfbfw' ); ?></a></li>
|
31 |
-
</ul>
|
32 |
-
|
33 |
-
<div id="fbfw-appearance">
|
34 |
-
<?php require_once( FBFW_PATH . 'lib/admin-tab-appearance.php' ); ?>
|
35 |
-
</div>
|
36 |
-
|
37 |
-
<div id="fbfw-animations">
|
38 |
-
<?php require_once( FBFW_PATH . 'lib/admin-tab-animations.php' ); ?>
|
39 |
-
</div>
|
40 |
-
|
41 |
-
<div id="fbfw-behaviour">
|
42 |
-
<?php require_once( FBFW_PATH . 'lib/admin-tab-behaviour.php' ); ?>
|
43 |
-
</div>
|
44 |
-
|
45 |
-
<div id="fbfw-galleries">
|
46 |
-
<?php require_once( FBFW_PATH . 'lib/admin-tab-galleries.php' ); ?>
|
47 |
-
</div>
|
48 |
-
|
49 |
-
<div id="fbfw-other">
|
50 |
-
<?php require_once( FBFW_PATH . 'lib/admin-tab-other.php' ); ?>
|
51 |
-
</div>
|
52 |
-
|
53 |
-
<div id="fbfw-support">
|
54 |
-
<?php require_once( FBFW_PATH . 'lib/admin-tab-support.php' ); ?>
|
55 |
-
</div>
|
56 |
-
|
57 |
-
</div>
|
58 |
-
|
59 |
-
<p class="submit" style="text-align:center;">
|
60 |
-
<input type="submit" name="mfbfw_update" class="button-primary"
|
61 |
-
value="<?php esc_attr_e( 'Save Changes', 'mfbfw' ); ?>"/>
|
62 |
-
</p>
|
63 |
-
|
64 |
-
</form>
|
65 |
-
|
66 |
-
<form method="post" action="">
|
67 |
-
<div style="text-align:center;padding:0 0 1.5em;margin:-15px 0 5px;">
|
68 |
-
<?php wp_nonce_field( 'mfbfw-options-reset' ); ?>
|
69 |
-
<input type="submit" name="mfbfw_update" id="reset" onClick="return confirmDefaults();"
|
70 |
-
class="button-secondary" value="<?php esc_attr_e( 'Revert to defaults', 'mfbfw' ); ?>"/>
|
71 |
-
<input type="hidden" name="action" value="reset"/>
|
72 |
-
</div>
|
73 |
-
|
74 |
-
<div id="mfbfwd"
|
75 |
-
style="border-top:1px dashed #DDDDDD;margin:20px 0 40px;overflow:hidden;padding-top:25px;width:100%;float:left;display:block !important;">
|
76 |
-
|
77 |
-
Plugin developed and supported by <a href="https://colorlib.com">Colorlib</a>
|
78 |
-
|
79 |
-
</div>
|
80 |
-
|
81 |
-
</div>
|
82 |
-
|
83 |
-
<div class="modula-wrap">
|
84 |
-
<a target="_blank" href="http://wp-modula.com/?utm_source=fancybox-for-wp&utm_medium=options-page&utm_campaign=Modula%20Lite" class="modula-link">
|
85 |
-
<img src="<?php echo FBFW_URL; ?>assets/images/modula-300x300.jpg"/>
|
86 |
-
<h2>Easy Image Gallery for WP</h2>
|
87 |
-
<p>Modula is creative! Modula is dynamic! Modula doesn’t always look the same. Just have fun with it! Modula uses a new concept to build its internal grid. The result is a dynamic, creative, interesting and attractive gallery.</p>
|
88 |
-
|
89 |
-
<?php
|
90 |
-
|
91 |
-
$plugin_slug = 'modula-best-grid-gallery';
|
92 |
-
$plugin_path = 'modula-best-grid-gallery/Modula.php';
|
93 |
-
|
94 |
-
$installed = false;
|
95 |
-
$activated = false;
|
96 |
-
if ( file_exists( ABSPATH . 'wp-content/plugins/' . $plugin_slug ) ) {
|
97 |
-
$installed = true;
|
98 |
-
}
|
99 |
-
|
100 |
-
if ( file_exists( ABSPATH . 'wp-content/plugins/' . $plugin_path ) ) {
|
101 |
-
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
102 |
-
if ( is_plugin_active( $plugin_path ) ) {
|
103 |
-
$activated = true;
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
if ( ! $activated ) {
|
108 |
-
|
109 |
-
if ( ! $installed ) {
|
110 |
-
$label = esc_html__( 'Install & Activate Modula', 'mfbfw' );
|
111 |
-
$link = wp_nonce_url(
|
112 |
-
add_query_arg(
|
113 |
-
array(
|
114 |
-
'action' => 'install-plugin',
|
115 |
-
'plugin' => $plugin_slug,
|
116 |
-
),
|
117 |
-
network_admin_url( 'update.php' )
|
118 |
-
),
|
119 |
-
'install-plugin_' . $plugin_slug
|
120 |
-
);
|
121 |
-
$action = 'install';
|
122 |
-
}else{
|
123 |
-
$label = esc_html__( 'Activate Modula', 'mfbfw' );
|
124 |
-
$link = add_query_arg(
|
125 |
-
array(
|
126 |
-
'action' => 'activate',
|
127 |
-
'plugin' => rawurlencode( $plugin_path ),
|
128 |
-
'plugin_status' => 'all',
|
129 |
-
'paged' => '1',
|
130 |
-
'_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_path ),
|
131 |
-
),
|
132 |
-
admin_url( 'plugins.php' )
|
133 |
-
);
|
134 |
-
$action = 'activate';
|
135 |
-
}
|
136 |
-
|
137 |
-
echo '<a href="' . esc_url( $link ) . '" class="mfbfw-modula-link button button-primary button-large" data-action="' . esc_attr( $action ) . '">' . esc_html( $label ) . '</a>';
|
138 |
-
|
139 |
-
}
|
140 |
-
|
141 |
-
?>
|
142 |
-
|
143 |
-
</a>
|
144 |
-
</div>
|
145 |
-
|
146 |
-
|
147 |
-
<?php
|
148 |
-
}
|
149 |
-
|
150 |
-
?>
|
1 |
+
<?php
|
2 |
+
|
3 |
+
function mfbfw_options_page() {
|
4 |
+
require_once( FBFW_PATH . 'lib/admin-head.php' );
|
5 |
+
|
6 |
+
?>
|
7 |
+
|
8 |
+
<div class="wrap about-wrap fbfw-wrap">
|
9 |
+
<div id="icon-plugins" class="icon32"></div>
|
10 |
+
<div class="inlined">
|
11 |
+
<div id="pluginDescription">
|
12 |
+
<h1><?php printf( __( 'Fancybox for WordPress (version %s)', 'mfbfw' ), FBFW_VERSION ); ?></h1>
|
13 |
+
<p class="about-text">Seamlessly integrates FancyBox into your blog: Upload, activate, and you’re done. Additional configuration optional.</p>
|
14 |
+
</div>
|
15 |
+
</div>
|
16 |
+
|
17 |
+
<br/>
|
18 |
+
|
19 |
+
<form method="post" action="options.php" id="options">
|
20 |
+
|
21 |
+
<?php settings_fields( 'mfbfw-options' ); ?>
|
22 |
+
|
23 |
+
<div id="fbfwTabs">
|
24 |
+
<ul class="nav-tab-wrapper wp-clearfix">
|
25 |
+
<li><a href="#fbfw-appearance"><?php _e( 'Appearance', 'mfbfw' ); ?></a></li>
|
26 |
+
<li><a href="#fbfw-animations"><?php _e( 'Animations', 'mfbfw' ); ?></a></li>
|
27 |
+
<li><a href="#fbfw-behaviour"><?php _e( 'Behaviour', 'mfbfw' ); ?></a></li>
|
28 |
+
<li><a href="#fbfw-galleries"><?php _e( 'Galleries', 'mfbfw' ); ?></a></li>
|
29 |
+
<li><a href="#fbfw-other"><?php _e( 'Misc.', 'mfbfw' ); ?></a></li>
|
30 |
+
<li><a href="#fbfw-support" style="color:green;"><?php _e( 'Support', 'mfbfw' ); ?></a></li>
|
31 |
+
</ul>
|
32 |
+
|
33 |
+
<div id="fbfw-appearance">
|
34 |
+
<?php require_once( FBFW_PATH . 'lib/admin-tab-appearance.php' ); ?>
|
35 |
+
</div>
|
36 |
+
|
37 |
+
<div id="fbfw-animations">
|
38 |
+
<?php require_once( FBFW_PATH . 'lib/admin-tab-animations.php' ); ?>
|
39 |
+
</div>
|
40 |
+
|
41 |
+
<div id="fbfw-behaviour">
|
42 |
+
<?php require_once( FBFW_PATH . 'lib/admin-tab-behaviour.php' ); ?>
|
43 |
+
</div>
|
44 |
+
|
45 |
+
<div id="fbfw-galleries">
|
46 |
+
<?php require_once( FBFW_PATH . 'lib/admin-tab-galleries.php' ); ?>
|
47 |
+
</div>
|
48 |
+
|
49 |
+
<div id="fbfw-other">
|
50 |
+
<?php require_once( FBFW_PATH . 'lib/admin-tab-other.php' ); ?>
|
51 |
+
</div>
|
52 |
+
|
53 |
+
<div id="fbfw-support">
|
54 |
+
<?php require_once( FBFW_PATH . 'lib/admin-tab-support.php' ); ?>
|
55 |
+
</div>
|
56 |
+
|
57 |
+
</div>
|
58 |
+
|
59 |
+
<p class="submit" style="text-align:center;">
|
60 |
+
<input type="submit" name="mfbfw_update" class="button-primary"
|
61 |
+
value="<?php esc_attr_e( 'Save Changes', 'mfbfw' ); ?>"/>
|
62 |
+
</p>
|
63 |
+
|
64 |
+
</form>
|
65 |
+
|
66 |
+
<form method="post" action="">
|
67 |
+
<div style="text-align:center;padding:0 0 1.5em;margin:-15px 0 5px;">
|
68 |
+
<?php wp_nonce_field( 'mfbfw-options-reset' ); ?>
|
69 |
+
<input type="submit" name="mfbfw_update" id="reset" onClick="return confirmDefaults();"
|
70 |
+
class="button-secondary" value="<?php esc_attr_e( 'Revert to defaults', 'mfbfw' ); ?>"/>
|
71 |
+
<input type="hidden" name="action" value="reset"/>
|
72 |
+
</div>
|
73 |
+
|
74 |
+
<div id="mfbfwd"
|
75 |
+
style="border-top:1px dashed #DDDDDD;margin:20px 0 40px;overflow:hidden;padding-top:25px;width:100%;float:left;display:block !important;">
|
76 |
+
|
77 |
+
Plugin developed and supported by <a href="https://colorlib.com">Colorlib</a>
|
78 |
+
|
79 |
+
</div>
|
80 |
+
|
81 |
+
</div>
|
82 |
+
|
83 |
+
<div class="modula-wrap">
|
84 |
+
<a target="_blank" href="http://wp-modula.com/?utm_source=fancybox-for-wp&utm_medium=options-page&utm_campaign=Modula%20Lite" class="modula-link">
|
85 |
+
<img src="<?php echo FBFW_URL; ?>assets/images/modula-300x300.jpg"/>
|
86 |
+
<h2>Easy Image Gallery for WP</h2>
|
87 |
+
<p>Modula is creative! Modula is dynamic! Modula doesn’t always look the same. Just have fun with it! Modula uses a new concept to build its internal grid. The result is a dynamic, creative, interesting and attractive gallery.</p>
|
88 |
+
|
89 |
+
<?php
|
90 |
+
|
91 |
+
$plugin_slug = 'modula-best-grid-gallery';
|
92 |
+
$plugin_path = 'modula-best-grid-gallery/Modula.php';
|
93 |
+
|
94 |
+
$installed = false;
|
95 |
+
$activated = false;
|
96 |
+
if ( file_exists( ABSPATH . 'wp-content/plugins/' . $plugin_slug ) ) {
|
97 |
+
$installed = true;
|
98 |
+
}
|
99 |
+
|
100 |
+
if ( file_exists( ABSPATH . 'wp-content/plugins/' . $plugin_path ) ) {
|
101 |
+
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
102 |
+
if ( is_plugin_active( $plugin_path ) ) {
|
103 |
+
$activated = true;
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
if ( ! $activated ) {
|
108 |
+
|
109 |
+
if ( ! $installed ) {
|
110 |
+
$label = esc_html__( 'Install & Activate Modula', 'mfbfw' );
|
111 |
+
$link = wp_nonce_url(
|
112 |
+
add_query_arg(
|
113 |
+
array(
|
114 |
+
'action' => 'install-plugin',
|
115 |
+
'plugin' => $plugin_slug,
|
116 |
+
),
|
117 |
+
network_admin_url( 'update.php' )
|
118 |
+
),
|
119 |
+
'install-plugin_' . $plugin_slug
|
120 |
+
);
|
121 |
+
$action = 'install';
|
122 |
+
}else{
|
123 |
+
$label = esc_html__( 'Activate Modula', 'mfbfw' );
|
124 |
+
$link = add_query_arg(
|
125 |
+
array(
|
126 |
+
'action' => 'activate',
|
127 |
+
'plugin' => rawurlencode( $plugin_path ),
|
128 |
+
'plugin_status' => 'all',
|
129 |
+
'paged' => '1',
|
130 |
+
'_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_path ),
|
131 |
+
),
|
132 |
+
admin_url( 'plugins.php' )
|
133 |
+
);
|
134 |
+
$action = 'activate';
|
135 |
+
}
|
136 |
+
|
137 |
+
echo '<a href="' . esc_url( $link ) . '" class="mfbfw-modula-link button button-primary button-large" data-action="' . esc_attr( $action ) . '">' . esc_html( $label ) . '</a>';
|
138 |
+
|
139 |
+
}
|
140 |
+
|
141 |
+
?>
|
142 |
+
|
143 |
+
</a>
|
144 |
+
</div>
|
145 |
+
|
146 |
+
|
147 |
+
<?php
|
148 |
+
}
|
149 |
+
|
150 |
+
?>
|
assets/css/fancybox-admin.css
CHANGED
@@ -1,376 +1,376 @@
|
|
1 |
-
.settings_page_fancybox-for-wordpress #wpcontent {
|
2 |
-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif
|
3 |
-
}
|
4 |
-
|
5 |
-
#mfbfwd {
|
6 |
-
border-top: 1px dashed #DDD;
|
7 |
-
margin: 20px auto 40px;
|
8 |
-
overflow: hidden;
|
9 |
-
padding-top: 25px;
|
10 |
-
width: 726px
|
11 |
-
}
|
12 |
-
|
13 |
-
.mfbfw_box {
|
14 |
-
border-radius: 3px;
|
15 |
-
float: left;
|
16 |
-
font-weight: 700;
|
17 |
-
height: 90px;
|
18 |
-
margin: 5px 5px 3px;
|
19 |
-
opacity: .7;
|
20 |
-
padding: 0 5px;
|
21 |
-
text-align: center;
|
22 |
-
width: 220px
|
23 |
-
}
|
24 |
-
|
25 |
-
.mfbfw_box:hover {
|
26 |
-
opacity: .9
|
27 |
-
}
|
28 |
-
|
29 |
-
.mfbfw_blue,
|
30 |
-
.mfbfw_yellow {
|
31 |
-
background: #fdca57;
|
32 |
-
border: 1px solid #d7922d;
|
33 |
-
color: #975c25;
|
34 |
-
-webkit-box-shadow: inset 0 0 20px 5px #fb9822, inset 0 1px 0 #fff, 0 0 0 2px rgba(0, 0, 0, .05), 0 0 2px rgba(0, 0, 0, .5);
|
35 |
-
-moz-box-shadow: inset 0 0 20px 5px #fb9822, inset 0 1px 0 #fff, 0 0 0 2px rgba(0, 0, 0, .05), 0 0 2px rgba(0, 0, 0, .5);
|
36 |
-
box-shadow: inset 0 0 20px 5px #fb9822, inset 0 1px 0 #fff, 0 0 0 2px rgba(0, 0, 0, .05), 0 0 2px rgba(0, 0, 0, .5);
|
37 |
-
text-shadow: 0 1px 0 #fee27d;
|
38 |
-
filter: dropshadow(color=#ffd21f, offx=0, offy=1)
|
39 |
-
}
|
40 |
-
|
41 |
-
#fbfwTabs {
|
42 |
-
background: 0 0;
|
43 |
-
border: none
|
44 |
-
}
|
45 |
-
|
46 |
-
#fbfwTabs .ui-tabs-nav {
|
47 |
-
background: 0 0;
|
48 |
-
border: 0;
|
49 |
-
border-bottom: 1px solid #aaa
|
50 |
-
}
|
51 |
-
|
52 |
-
#fbfwTabs .ui-tabs-nav li {
|
53 |
-
border-radius: 0;
|
54 |
-
margin: 0 5px;
|
55 |
-
background: #e5e5e5;
|
56 |
-
top: 2px
|
57 |
-
}
|
58 |
-
|
59 |
-
#fbfwTabs .ui-tabs-nav li a {
|
60 |
-
font-size: 15px;
|
61 |
-
font-weight: 600;
|
62 |
-
outline: 0;
|
63 |
-
box-shadow: none
|
64 |
-
}
|
65 |
-
|
66 |
-
#fbfwTabs .ui-tabs-nav .ui-tabs-active {
|
67 |
-
background: #f1f1f1;
|
68 |
-
position: relative;
|
69 |
-
color: #000;
|
70 |
-
border: 1px solid #aaa
|
71 |
-
}
|
72 |
-
|
73 |
-
#fbfwTabs .ui-tabs-nav .ui-tabs-active a {
|
74 |
-
color: #000
|
75 |
-
}
|
76 |
-
|
77 |
-
#fbfwTabs .ui-tabs-nav .ui-tabs-active:after {
|
78 |
-
position: absolute;
|
79 |
-
width: 100%;
|
80 |
-
height: 3px;
|
81 |
-
bottom: -2px;
|
82 |
-
background: #f1f1f1;
|
83 |
-
content: "";
|
84 |
-
display: block
|
85 |
-
}
|
86 |
-
|
87 |
-
#fbfwTabs .inlined > div:not(.cf) {
|
88 |
-
display: inline-block;
|
89 |
-
width: 50%;
|
90 |
-
vertical-align: middle
|
91 |
-
}
|
92 |
-
|
93 |
-
#fbfwTabs .CodeMirror,
|
94 |
-
#fbfwTabs label[for=extraCalls],
|
95 |
-
.inlined {
|
96 |
-
width: 100%
|
97 |
-
}
|
98 |
-
|
99 |
-
.inlined {
|
100 |
-
display: block
|
101 |
-
}
|
102 |
-
|
103 |
-
.inlined .slider-horizontal {
|
104 |
-
dispaly: inline-block;
|
105 |
-
width: 80%;
|
106 |
-
max-width: 200px;
|
107 |
-
height: 3px !important;
|
108 |
-
border: 0 !important;
|
109 |
-
background: #d6d6d6 !important;
|
110 |
-
border-radius: 3px !important;
|
111 |
-
margin-right: 25px
|
112 |
-
}
|
113 |
-
|
114 |
-
.slider-horizontal .ui-slider-range {
|
115 |
-
background: #d6d6d6 !important;
|
116 |
-
border-radius: 3px !important
|
117 |
-
}
|
118 |
-
|
119 |
-
.slider-horizontal .ui-slider-handle {
|
120 |
-
border-radius: 50%;
|
121 |
-
height: 18px !important;
|
122 |
-
width: 18px !important;
|
123 |
-
top: 50% !important;
|
124 |
-
transform: translateY(-50%) !important
|
125 |
-
}
|
126 |
-
|
127 |
-
.slider-horizontal .ui-slider-handle.ui-state-active {
|
128 |
-
background: #fff !important;
|
129 |
-
border-color: #d6d6d6 !important
|
130 |
-
}
|
131 |
-
|
132 |
-
.inlined input {
|
133 |
-
display: inline-block;
|
134 |
-
vertical-align: middle;
|
135 |
-
width: 20%;
|
136 |
-
max-width: 40px
|
137 |
-
}
|
138 |
-
|
139 |
-
.inlined .slider-text {
|
140 |
-
font-size: 12px;
|
141 |
-
color: #333;
|
142 |
-
border-radius: 10px;
|
143 |
-
background-color: #f8f8f8;
|
144 |
-
-webkit-box-shadow: inset 0 2px 5px 0 rgba(0, 0, 0, .1);
|
145 |
-
-moz-box-shadow: inset 0 2px 5px 0 rgba(0, 0, 0, .1);
|
146 |
-
box-shadow: inset 0 2px 5px 0 rgba(0, 0, 0, .1);
|
147 |
-
width: 42px;
|
148 |
-
height: 22px;
|
149 |
-
text-align: center
|
150 |
-
}
|
151 |
-
|
152 |
-
#pluginLogo img {
|
153 |
-
max-height: 150px;
|
154 |
-
width: auto
|
155 |
-
}
|
156 |
-
|
157 |
-
.inlined > div {
|
158 |
-
display: inline-block;
|
159 |
-
vertical-align: top
|
160 |
-
}
|
161 |
-
|
162 |
-
.inlined #pluginLogo {
|
163 |
-
width: 19%;
|
164 |
-
text-align: right;
|
165 |
-
min-width: 100px
|
166 |
-
}
|
167 |
-
|
168 |
-
.inlined #pluginDescription {
|
169 |
-
width: 80%;
|
170 |
-
text-align: left;
|
171 |
-
min-width: 100px
|
172 |
-
}
|
173 |
-
|
174 |
-
#pluginDescription h2 {
|
175 |
-
font-size: 2.8em;
|
176 |
-
font-weight: 400;
|
177 |
-
line-height: 1.2em
|
178 |
-
}
|
179 |
-
|
180 |
-
#pluginDescription p {
|
181 |
-
font-size: 19px
|
182 |
-
}
|
183 |
-
|
184 |
-
.fancy-table .onoffswitch-checkbox {
|
185 |
-
display: none
|
186 |
-
}
|
187 |
-
|
188 |
-
.fancy-table .onoffswitch-label {
|
189 |
-
display: block;
|
190 |
-
overflow: hidden;
|
191 |
-
cursor: pointer;
|
192 |
-
height: 22px;
|
193 |
-
padding: 0;
|
194 |
-
width: 50px;
|
195 |
-
position: relative;
|
196 |
-
line-height: 19px;
|
197 |
-
transition: background-color .2s ease-in;
|
198 |
-
-webkit-border-radius: 11px;
|
199 |
-
-moz-border-radius: 11px;
|
200 |
-
border-radius: 30px;
|
201 |
-
background-color: #c4c4c4;
|
202 |
-
-webkit-box-shadow: inset 0 2px 1px rgba(0, 0, 0, .11);
|
203 |
-
-moz-box-shadow: inset 0 2px 1px rgba(0, 0, 0, .11);
|
204 |
-
box-shadow: inset 0 2px 1px rgba(0, 0, 0, .11)
|
205 |
-
}
|
206 |
-
|
207 |
-
.fancy-table .onoffswitch-label:before {
|
208 |
-
content: "";
|
209 |
-
display: block;
|
210 |
-
width: 18px;
|
211 |
-
height: 18px;
|
212 |
-
margin: 0;
|
213 |
-
position: absolute;
|
214 |
-
top: 2px;
|
215 |
-
bottom: 0;
|
216 |
-
right: 32px;
|
217 |
-
background-color: #fff;
|
218 |
-
-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .1);
|
219 |
-
-moz-box-shadow: 0 0 3px rgba(0, 0, 0, .1);
|
220 |
-
box-shadow: 0 0 3px rgba(0, 0, 0, .1);
|
221 |
-
-webkit-border-radius: 10px;
|
222 |
-
-moz-border-radius: 10px;
|
223 |
-
border-radius: 10px;
|
224 |
-
transition: all .2s ease-in 0s
|
225 |
-
}
|
226 |
-
|
227 |
-
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label:after,
|
228 |
-
.fancy-table .onoffswitch-label:after {
|
229 |
-
display: block;
|
230 |
-
color: #fff;
|
231 |
-
top: 2px;
|
232 |
-
bottom: 2px;
|
233 |
-
font-size: 11px;
|
234 |
-
font-family: Arial;
|
235 |
-
position: absolute
|
236 |
-
}
|
237 |
-
|
238 |
-
.fancy-table .onoffswitch-label:after {
|
239 |
-
content: "OFF";
|
240 |
-
right: 6px
|
241 |
-
}
|
242 |
-
|
243 |
-
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label {
|
244 |
-
background-color: #3caf0e
|
245 |
-
}
|
246 |
-
|
247 |
-
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label,
|
248 |
-
input[type=checkbox]:checked + .onoffswitch-label:before {
|
249 |
-
border-color: #3caf0e
|
250 |
-
}
|
251 |
-
|
252 |
-
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label:before {
|
253 |
-
right: 2px
|
254 |
-
}
|
255 |
-
|
256 |
-
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label:after {
|
257 |
-
content: "ON";
|
258 |
-
right: 27px
|
259 |
-
}
|
260 |
-
|
261 |
-
label.onoffswitch-label,
|
262 |
-
span.switch-text {
|
263 |
-
float: left;
|
264 |
-
display: inline-block
|
265 |
-
}
|
266 |
-
|
267 |
-
span.switch-text {
|
268 |
-
margin-left: 25px;
|
269 |
-
padding: 5px
|
270 |
-
}
|
271 |
-
|
272 |
-
#extraCallsBlock {
|
273 |
-
width: 80%
|
274 |
-
}
|
275 |
-
|
276 |
-
#callbackBlock label,
|
277 |
-
.cf,
|
278 |
-
.start-editing,
|
279 |
-
.start-editing p {
|
280 |
-
width: 100%
|
281 |
-
}
|
282 |
-
|
283 |
-
.start-editing {
|
284 |
-
position: absolute;
|
285 |
-
top: 0;
|
286 |
-
right: 0;
|
287 |
-
left: 0;
|
288 |
-
bottom: 0;
|
289 |
-
height: calc(100% - 5px);
|
290 |
-
z-index: 2;
|
291 |
-
background: rgba(0, 0, 0, .6);
|
292 |
-
display: flex;
|
293 |
-
flex-wrap: wrap;
|
294 |
-
align-items: center;
|
295 |
-
text-align: center;
|
296 |
-
color: #fff;
|
297 |
-
font-size: 20px;
|
298 |
-
}
|
299 |
-
|
300 |
-
.start-editing p {
|
301 |
-
display: block;
|
302 |
-
font-size: 20px !important;
|
303 |
-
}
|
304 |
-
|
305 |
-
#callbackBlock label,
|
306 |
-
#customExpressionBlock label,
|
307 |
-
label[for="extraCalls"] {
|
308 |
-
width: 100%;
|
309 |
-
position: relative
|
310 |
-
}
|
311 |
-
|
312 |
-
#callbackBlock label textarea,
|
313 |
-
#customExpressionBlock label textarea,
|
314 |
-
label[for="extraCalls"] textarea {
|
315 |
-
width: 100%;
|
316 |
-
height: 100%;
|
317 |
-
}
|
318 |
-
|
319 |
-
#fbfwTabs .ui-tabs-panel h3 {
|
320 |
-
margin-top: 0
|
321 |
-
}
|
322 |
-
|
323 |
-
#fbfwTabs.ui-tabs .ui-tabs-panel {
|
324 |
-
padding-left: 0 !important;
|
325 |
-
padding-right: 0 !important
|
326 |
-
}
|
327 |
-
|
328 |
-
#callbackBlock .CodeMirror-wrap pre {
|
329 |
-
margin-left: 15px
|
330 |
-
}
|
331 |
-
|
332 |
-
tr.spacer {
|
333 |
-
height: 25px;
|
334 |
-
}
|
335 |
-
|
336 |
-
.line-spacer {
|
337 |
-
height: 15px;
|
338 |
-
}
|
339 |
-
|
340 |
-
.hidden-block {
|
341 |
-
margin-top: 15px;
|
342 |
-
}
|
343 |
-
|
344 |
-
.about-wrap.fbfw-wrap {
|
345 |
-
max-width:70%;
|
346 |
-
float:left;
|
347 |
-
}
|
348 |
-
|
349 |
-
.modula-wrap {
|
350 |
-
float: left;
|
351 |
-
max-width: 20%;
|
352 |
-
padding-top: 32px;
|
353 |
-
}
|
354 |
-
|
355 |
-
a.modula-link {
|
356 |
-
color:#000;
|
357 |
-
text-decoration: none;
|
358 |
-
}
|
359 |
-
a.modula-link:hover {
|
360 |
-
text-decoration: none;
|
361 |
-
}
|
362 |
-
|
363 |
-
.cf:after,
|
364 |
-
.cf:before {
|
365 |
-
content: " ";
|
366 |
-
display: table
|
367 |
-
}
|
368 |
-
|
369 |
-
.cf:after {
|
370 |
-
clear: both
|
371 |
-
}
|
372 |
-
|
373 |
-
.about-wrap.fbfw-wrap .about-text,
|
374 |
-
.about-wrap.fbfw-wrap h1 {
|
375 |
-
margin-right: 0;
|
376 |
}
|
1 |
+
.settings_page_fancybox-for-wordpress #wpcontent {
|
2 |
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif
|
3 |
+
}
|
4 |
+
|
5 |
+
#mfbfwd {
|
6 |
+
border-top: 1px dashed #DDD;
|
7 |
+
margin: 20px auto 40px;
|
8 |
+
overflow: hidden;
|
9 |
+
padding-top: 25px;
|
10 |
+
width: 726px
|
11 |
+
}
|
12 |
+
|
13 |
+
.mfbfw_box {
|
14 |
+
border-radius: 3px;
|
15 |
+
float: left;
|
16 |
+
font-weight: 700;
|
17 |
+
height: 90px;
|
18 |
+
margin: 5px 5px 3px;
|
19 |
+
opacity: .7;
|
20 |
+
padding: 0 5px;
|
21 |
+
text-align: center;
|
22 |
+
width: 220px
|
23 |
+
}
|
24 |
+
|
25 |
+
.mfbfw_box:hover {
|
26 |
+
opacity: .9
|
27 |
+
}
|
28 |
+
|
29 |
+
.mfbfw_blue,
|
30 |
+
.mfbfw_yellow {
|
31 |
+
background: #fdca57;
|
32 |
+
border: 1px solid #d7922d;
|
33 |
+
color: #975c25;
|
34 |
+
-webkit-box-shadow: inset 0 0 20px 5px #fb9822, inset 0 1px 0 #fff, 0 0 0 2px rgba(0, 0, 0, .05), 0 0 2px rgba(0, 0, 0, .5);
|
35 |
+
-moz-box-shadow: inset 0 0 20px 5px #fb9822, inset 0 1px 0 #fff, 0 0 0 2px rgba(0, 0, 0, .05), 0 0 2px rgba(0, 0, 0, .5);
|
36 |
+
box-shadow: inset 0 0 20px 5px #fb9822, inset 0 1px 0 #fff, 0 0 0 2px rgba(0, 0, 0, .05), 0 0 2px rgba(0, 0, 0, .5);
|
37 |
+
text-shadow: 0 1px 0 #fee27d;
|
38 |
+
filter: dropshadow(color=#ffd21f, offx=0, offy=1)
|
39 |
+
}
|
40 |
+
|
41 |
+
#fbfwTabs {
|
42 |
+
background: 0 0;
|
43 |
+
border: none
|
44 |
+
}
|
45 |
+
|
46 |
+
#fbfwTabs .ui-tabs-nav {
|
47 |
+
background: 0 0;
|
48 |
+
border: 0;
|
49 |
+
border-bottom: 1px solid #aaa
|
50 |
+
}
|
51 |
+
|
52 |
+
#fbfwTabs .ui-tabs-nav li {
|
53 |
+
border-radius: 0;
|
54 |
+
margin: 0 5px;
|
55 |
+
background: #e5e5e5;
|
56 |
+
top: 2px
|
57 |
+
}
|
58 |
+
|
59 |
+
#fbfwTabs .ui-tabs-nav li a {
|
60 |
+
font-size: 15px;
|
61 |
+
font-weight: 600;
|
62 |
+
outline: 0;
|
63 |
+
box-shadow: none
|
64 |
+
}
|
65 |
+
|
66 |
+
#fbfwTabs .ui-tabs-nav .ui-tabs-active {
|
67 |
+
background: #f1f1f1;
|
68 |
+
position: relative;
|
69 |
+
color: #000;
|
70 |
+
border: 1px solid #aaa
|
71 |
+
}
|
72 |
+
|
73 |
+
#fbfwTabs .ui-tabs-nav .ui-tabs-active a {
|
74 |
+
color: #000
|
75 |
+
}
|
76 |
+
|
77 |
+
#fbfwTabs .ui-tabs-nav .ui-tabs-active:after {
|
78 |
+
position: absolute;
|
79 |
+
width: 100%;
|
80 |
+
height: 3px;
|
81 |
+
bottom: -2px;
|
82 |
+
background: #f1f1f1;
|
83 |
+
content: "";
|
84 |
+
display: block
|
85 |
+
}
|
86 |
+
|
87 |
+
#fbfwTabs .inlined > div:not(.cf) {
|
88 |
+
display: inline-block;
|
89 |
+
width: 50%;
|
90 |
+
vertical-align: middle
|
91 |
+
}
|
92 |
+
|
93 |
+
#fbfwTabs .CodeMirror,
|
94 |
+
#fbfwTabs label[for=extraCalls],
|
95 |
+
.inlined {
|
96 |
+
width: 100%
|
97 |
+
}
|
98 |
+
|
99 |
+
.inlined {
|
100 |
+
display: block
|
101 |
+
}
|
102 |
+
|
103 |
+
.inlined .slider-horizontal {
|
104 |
+
dispaly: inline-block;
|
105 |
+
width: 80%;
|
106 |
+
max-width: 200px;
|
107 |
+
height: 3px !important;
|
108 |
+
border: 0 !important;
|
109 |
+
background: #d6d6d6 !important;
|
110 |
+
border-radius: 3px !important;
|
111 |
+
margin-right: 25px
|
112 |
+
}
|
113 |
+
|
114 |
+
.slider-horizontal .ui-slider-range {
|
115 |
+
background: #d6d6d6 !important;
|
116 |
+
border-radius: 3px !important
|
117 |
+
}
|
118 |
+
|
119 |
+
.slider-horizontal .ui-slider-handle {
|
120 |
+
border-radius: 50%;
|
121 |
+
height: 18px !important;
|
122 |
+
width: 18px !important;
|
123 |
+
top: 50% !important;
|
124 |
+
transform: translateY(-50%) !important
|
125 |
+
}
|
126 |
+
|
127 |
+
.slider-horizontal .ui-slider-handle.ui-state-active {
|
128 |
+
background: #fff !important;
|
129 |
+
border-color: #d6d6d6 !important
|
130 |
+
}
|
131 |
+
|
132 |
+
.inlined input {
|
133 |
+
display: inline-block;
|
134 |
+
vertical-align: middle;
|
135 |
+
width: 20%;
|
136 |
+
max-width: 40px
|
137 |
+
}
|
138 |
+
|
139 |
+
.inlined .slider-text {
|
140 |
+
font-size: 12px;
|
141 |
+
color: #333;
|
142 |
+
border-radius: 10px;
|
143 |
+
background-color: #f8f8f8;
|
144 |
+
-webkit-box-shadow: inset 0 2px 5px 0 rgba(0, 0, 0, .1);
|
145 |
+
-moz-box-shadow: inset 0 2px 5px 0 rgba(0, 0, 0, .1);
|
146 |
+
box-shadow: inset 0 2px 5px 0 rgba(0, 0, 0, .1);
|
147 |
+
width: 42px;
|
148 |
+
height: 22px;
|
149 |
+
text-align: center
|
150 |
+
}
|
151 |
+
|
152 |
+
#pluginLogo img {
|
153 |
+
max-height: 150px;
|
154 |
+
width: auto
|
155 |
+
}
|
156 |
+
|
157 |
+
.inlined > div {
|
158 |
+
display: inline-block;
|
159 |
+
vertical-align: top
|
160 |
+
}
|
161 |
+
|
162 |
+
.inlined #pluginLogo {
|
163 |
+
width: 19%;
|
164 |
+
text-align: right;
|
165 |
+
min-width: 100px
|
166 |
+
}
|
167 |
+
|
168 |
+
.inlined #pluginDescription {
|
169 |
+
width: 80%;
|
170 |
+
text-align: left;
|
171 |
+
min-width: 100px
|
172 |
+
}
|
173 |
+
|
174 |
+
#pluginDescription h2 {
|
175 |
+
font-size: 2.8em;
|
176 |
+
font-weight: 400;
|
177 |
+
line-height: 1.2em
|
178 |
+
}
|
179 |
+
|
180 |
+
#pluginDescription p {
|
181 |
+
font-size: 19px
|
182 |
+
}
|
183 |
+
|
184 |
+
.fancy-table .onoffswitch-checkbox {
|
185 |
+
display: none
|
186 |
+
}
|
187 |
+
|
188 |
+
.fancy-table .onoffswitch-label {
|
189 |
+
display: block;
|
190 |
+
overflow: hidden;
|
191 |
+
cursor: pointer;
|
192 |
+
height: 22px;
|
193 |
+
padding: 0;
|
194 |
+
width: 50px;
|
195 |
+
position: relative;
|
196 |
+
line-height: 19px;
|
197 |
+
transition: background-color .2s ease-in;
|
198 |
+
-webkit-border-radius: 11px;
|
199 |
+
-moz-border-radius: 11px;
|
200 |
+
border-radius: 30px;
|
201 |
+
background-color: #c4c4c4;
|
202 |
+
-webkit-box-shadow: inset 0 2px 1px rgba(0, 0, 0, .11);
|
203 |
+
-moz-box-shadow: inset 0 2px 1px rgba(0, 0, 0, .11);
|
204 |
+
box-shadow: inset 0 2px 1px rgba(0, 0, 0, .11)
|
205 |
+
}
|
206 |
+
|
207 |
+
.fancy-table .onoffswitch-label:before {
|
208 |
+
content: "";
|
209 |
+
display: block;
|
210 |
+
width: 18px;
|
211 |
+
height: 18px;
|
212 |
+
margin: 0;
|
213 |
+
position: absolute;
|
214 |
+
top: 2px;
|
215 |
+
bottom: 0;
|
216 |
+
right: 32px;
|
217 |
+
background-color: #fff;
|
218 |
+
-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .1);
|
219 |
+
-moz-box-shadow: 0 0 3px rgba(0, 0, 0, .1);
|
220 |
+
box-shadow: 0 0 3px rgba(0, 0, 0, .1);
|
221 |
+
-webkit-border-radius: 10px;
|
222 |
+
-moz-border-radius: 10px;
|
223 |
+
border-radius: 10px;
|
224 |
+
transition: all .2s ease-in 0s
|
225 |
+
}
|
226 |
+
|
227 |
+
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label:after,
|
228 |
+
.fancy-table .onoffswitch-label:after {
|
229 |
+
display: block;
|
230 |
+
color: #fff;
|
231 |
+
top: 2px;
|
232 |
+
bottom: 2px;
|
233 |
+
font-size: 11px;
|
234 |
+
font-family: Arial;
|
235 |
+
position: absolute
|
236 |
+
}
|
237 |
+
|
238 |
+
.fancy-table .onoffswitch-label:after {
|
239 |
+
content: "OFF";
|
240 |
+
right: 6px
|
241 |
+
}
|
242 |
+
|
243 |
+
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label {
|
244 |
+
background-color: #3caf0e
|
245 |
+
}
|
246 |
+
|
247 |
+
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label,
|
248 |
+
input[type=checkbox]:checked + .onoffswitch-label:before {
|
249 |
+
border-color: #3caf0e
|
250 |
+
}
|
251 |
+
|
252 |
+
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label:before {
|
253 |
+
right: 2px
|
254 |
+
}
|
255 |
+
|
256 |
+
.fancy-table .onoffswitch-checkbox:checked + .onoffswitch-label:after {
|
257 |
+
content: "ON";
|
258 |
+
right: 27px
|
259 |
+
}
|
260 |
+
|
261 |
+
label.onoffswitch-label,
|
262 |
+
span.switch-text {
|
263 |
+
float: left;
|
264 |
+
display: inline-block
|
265 |
+
}
|
266 |
+
|
267 |
+
span.switch-text {
|
268 |
+
margin-left: 25px;
|
269 |
+
padding: 5px
|
270 |
+
}
|
271 |
+
|
272 |
+
#extraCallsBlock {
|
273 |
+
width: 80%
|
274 |
+
}
|
275 |
+
|
276 |
+
#callbackBlock label,
|
277 |
+
.cf,
|
278 |
+
.start-editing,
|
279 |
+
.start-editing p {
|
280 |
+
width: 100%
|
281 |
+
}
|
282 |
+
|
283 |
+
.start-editing {
|
284 |
+
position: absolute;
|
285 |
+
top: 0;
|
286 |
+
right: 0;
|
287 |
+
left: 0;
|
288 |
+
bottom: 0;
|
289 |
+
height: calc(100% - 5px);
|
290 |
+
z-index: 2;
|
291 |
+
background: rgba(0, 0, 0, .6);
|
292 |
+
display: flex;
|
293 |
+
flex-wrap: wrap;
|
294 |
+
align-items: center;
|
295 |
+
text-align: center;
|
296 |
+
color: #fff;
|
297 |
+
font-size: 20px;
|
298 |
+
}
|
299 |
+
|
300 |
+
.start-editing p {
|
301 |
+
display: block;
|
302 |
+
font-size: 20px !important;
|
303 |
+
}
|
304 |
+
|
305 |
+
#callbackBlock label,
|
306 |
+
#customExpressionBlock label,
|
307 |
+
label[for="extraCalls"] {
|
308 |
+
width: 100%;
|
309 |
+
position: relative
|
310 |
+
}
|
311 |
+
|
312 |
+
#callbackBlock label textarea,
|
313 |
+
#customExpressionBlock label textarea,
|
314 |
+
label[for="extraCalls"] textarea {
|
315 |
+
width: 100%;
|
316 |
+
height: 100%;
|
317 |
+
}
|
318 |
+
|
319 |
+
#fbfwTabs .ui-tabs-panel h3 {
|
320 |
+
margin-top: 0
|
321 |
+
}
|
322 |
+
|
323 |
+
#fbfwTabs.ui-tabs .ui-tabs-panel {
|
324 |
+
padding-left: 0 !important;
|
325 |
+
padding-right: 0 !important
|
326 |
+
}
|
327 |
+
|
328 |
+
#callbackBlock .CodeMirror-wrap pre {
|
329 |
+
margin-left: 15px
|
330 |
+
}
|
331 |
+
|
332 |
+
tr.spacer {
|
333 |
+
height: 25px;
|
334 |
+
}
|
335 |
+
|
336 |
+
.line-spacer {
|
337 |
+
height: 15px;
|
338 |
+
}
|
339 |
+
|
340 |
+
.hidden-block {
|
341 |
+
margin-top: 15px;
|
342 |
+
}
|
343 |
+
|
344 |
+
.about-wrap.fbfw-wrap {
|
345 |
+
max-width:70%;
|
346 |
+
float:left;
|
347 |
+
}
|
348 |
+
|
349 |
+
.modula-wrap {
|
350 |
+
float: left;
|
351 |
+
max-width: 20%;
|
352 |
+
padding-top: 32px;
|
353 |
+
}
|
354 |
+
|
355 |
+
a.modula-link {
|
356 |
+
color:#000;
|
357 |
+
text-decoration: none;
|
358 |
+
}
|
359 |
+
a.modula-link:hover {
|
360 |
+
text-decoration: none;
|
361 |
+
}
|
362 |
+
|
363 |
+
.cf:after,
|
364 |
+
.cf:before {
|
365 |
+
content: " ";
|
366 |
+
display: table
|
367 |
+
}
|
368 |
+
|
369 |
+
.cf:after {
|
370 |
+
clear: both
|
371 |
+
}
|
372 |
+
|
373 |
+
.about-wrap.fbfw-wrap .about-text,
|
374 |
+
.about-wrap.fbfw-wrap h1 {
|
375 |
+
margin-right: 0;
|
376 |
}
|
assets/css/fancybox.css
CHANGED
@@ -1,898 +1,898 @@
|
|
1 |
-
body.compensate-for-scrollbar {
|
2 |
-
overflow: hidden;
|
3 |
-
}
|
4 |
-
|
5 |
-
.fancybox-active {
|
6 |
-
height: auto;
|
7 |
-
}
|
8 |
-
|
9 |
-
.fancybox-is-hidden {
|
10 |
-
left: -9999px;
|
11 |
-
margin: 0;
|
12 |
-
position: absolute !important;
|
13 |
-
top: -9999px;
|
14 |
-
visibility: hidden;
|
15 |
-
}
|
16 |
-
|
17 |
-
.fancybox-container {
|
18 |
-
-webkit-backface-visibility: hidden;
|
19 |
-
height: 100%;
|
20 |
-
left: 0;
|
21 |
-
outline: none;
|
22 |
-
position: fixed;
|
23 |
-
-webkit-tap-highlight-color: transparent;
|
24 |
-
top: 0;
|
25 |
-
-ms-touch-action: manipulation;
|
26 |
-
touch-action: manipulation;
|
27 |
-
-webkit-transform: translateZ(0);
|
28 |
-
transform: translateZ(0);
|
29 |
-
width: 100%;
|
30 |
-
z-index: 99992;
|
31 |
-
}
|
32 |
-
|
33 |
-
.fancybox-container * {
|
34 |
-
box-sizing: border-box;
|
35 |
-
}
|
36 |
-
|
37 |
-
.fancybox-outer,
|
38 |
-
.fancybox-inner,
|
39 |
-
.fancybox-bg,
|
40 |
-
.fancybox-stage {
|
41 |
-
bottom: 0;
|
42 |
-
left: 0;
|
43 |
-
position: absolute;
|
44 |
-
right: 0;
|
45 |
-
top: 0;
|
46 |
-
}
|
47 |
-
|
48 |
-
.fancybox-outer {
|
49 |
-
-webkit-overflow-scrolling: touch;
|
50 |
-
overflow-y: auto;
|
51 |
-
}
|
52 |
-
|
53 |
-
.fancybox-bg {
|
54 |
-
background: #1e1e1e;
|
55 |
-
opacity: 0;
|
56 |
-
transition-duration: inherit;
|
57 |
-
transition-property: opacity;
|
58 |
-
transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
|
59 |
-
}
|
60 |
-
|
61 |
-
.fancybox-is-open .fancybox-bg {
|
62 |
-
opacity: .9;
|
63 |
-
transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
|
64 |
-
}
|
65 |
-
|
66 |
-
.fancybox-infobar,
|
67 |
-
.fancybox-toolbar,
|
68 |
-
.fancybox-caption,
|
69 |
-
.fancybox-navigation .fancybox-button {
|
70 |
-
direction: ltr;
|
71 |
-
opacity: 0;
|
72 |
-
position: absolute;
|
73 |
-
transition: opacity .25s ease, visibility 0s ease .25s;
|
74 |
-
visibility: hidden;
|
75 |
-
z-index: 99997;
|
76 |
-
}
|
77 |
-
|
78 |
-
.fancybox-show-infobar .fancybox-infobar,
|
79 |
-
.fancybox-show-toolbar .fancybox-toolbar,
|
80 |
-
.fancybox-show-caption .fancybox-caption,
|
81 |
-
.fancybox-show-nav .fancybox-navigation .fancybox-button {
|
82 |
-
opacity: 1;
|
83 |
-
transition: opacity .25s ease 0s, visibility 0s ease 0s;
|
84 |
-
visibility: visible;
|
85 |
-
}
|
86 |
-
|
87 |
-
.fancybox-infobar {
|
88 |
-
color: #ccc;
|
89 |
-
font-size: 13px;
|
90 |
-
-webkit-font-smoothing: subpixel-antialiased;
|
91 |
-
height: 44px;
|
92 |
-
left: 0;
|
93 |
-
line-height: 44px;
|
94 |
-
min-width: 44px;
|
95 |
-
mix-blend-mode: difference;
|
96 |
-
padding: 0 10px;
|
97 |
-
pointer-events: none;
|
98 |
-
top: 0;
|
99 |
-
-webkit-touch-callout: none;
|
100 |
-
-webkit-user-select: none;
|
101 |
-
-moz-user-select: none;
|
102 |
-
-ms-user-select: none;
|
103 |
-
user-select: none;
|
104 |
-
}
|
105 |
-
|
106 |
-
.fancybox-toolbar {
|
107 |
-
right: 0;
|
108 |
-
top: 0;
|
109 |
-
}
|
110 |
-
|
111 |
-
.fancybox-stage {
|
112 |
-
direction: ltr;
|
113 |
-
overflow: visible;
|
114 |
-
-webkit-transform: translateZ(0);
|
115 |
-
transform: translateZ(0);
|
116 |
-
z-index: 99994;
|
117 |
-
}
|
118 |
-
|
119 |
-
.fancybox-is-open .fancybox-stage {
|
120 |
-
overflow: hidden;
|
121 |
-
}
|
122 |
-
|
123 |
-
.fancybox-slide {
|
124 |
-
-webkit-backface-visibility: hidden;
|
125 |
-
/* Using without prefix would break IE11 */
|
126 |
-
display: none;
|
127 |
-
height: 100%;
|
128 |
-
left: 0;
|
129 |
-
outline: none;
|
130 |
-
overflow: auto;
|
131 |
-
-webkit-overflow-scrolling: touch;
|
132 |
-
padding: 44px;
|
133 |
-
position: absolute;
|
134 |
-
text-align: center;
|
135 |
-
top: 0;
|
136 |
-
transition-property: opacity, -webkit-transform;
|
137 |
-
transition-property: transform, opacity;
|
138 |
-
transition-property: transform, opacity, -webkit-transform;
|
139 |
-
white-space: normal;
|
140 |
-
width: 100%;
|
141 |
-
z-index: 99994;
|
142 |
-
}
|
143 |
-
|
144 |
-
.fancybox-slide::before {
|
145 |
-
content: '';
|
146 |
-
display: inline-block;
|
147 |
-
font-size: 0;
|
148 |
-
height: 100%;
|
149 |
-
vertical-align: middle;
|
150 |
-
width: 0;
|
151 |
-
}
|
152 |
-
|
153 |
-
.fancybox-is-sliding .fancybox-slide,
|
154 |
-
.fancybox-slide--previous,
|
155 |
-
.fancybox-slide--current,
|
156 |
-
.fancybox-slide--next {
|
157 |
-
display: block;
|
158 |
-
}
|
159 |
-
|
160 |
-
.fancybox-slide--image {
|
161 |
-
overflow: hidden;
|
162 |
-
padding: 44px 0;
|
163 |
-
}
|
164 |
-
|
165 |
-
.fancybox-slide--image::before {
|
166 |
-
display: none;
|
167 |
-
}
|
168 |
-
|
169 |
-
.fancybox-slide--html {
|
170 |
-
padding: 6px;
|
171 |
-
}
|
172 |
-
|
173 |
-
.fancybox-content {
|
174 |
-
background: #fff;
|
175 |
-
display: inline-block;
|
176 |
-
margin: 0;
|
177 |
-
max-width: 100%;
|
178 |
-
overflow: auto;
|
179 |
-
-webkit-overflow-scrolling: touch;
|
180 |
-
padding: 44px;
|
181 |
-
position: relative;
|
182 |
-
text-align: left;
|
183 |
-
vertical-align: middle;
|
184 |
-
}
|
185 |
-
|
186 |
-
.fancybox-slide--image .fancybox-content {
|
187 |
-
-webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
|
188 |
-
animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
|
189 |
-
-webkit-backface-visibility: hidden;
|
190 |
-
background: transparent;
|
191 |
-
background-repeat: no-repeat;
|
192 |
-
background-size: 100% 100%;
|
193 |
-
left: 0;
|
194 |
-
max-width: none;
|
195 |
-
overflow: visible;
|
196 |
-
padding: 0;
|
197 |
-
position: absolute;
|
198 |
-
top: 0;
|
199 |
-
-webkit-transform-origin: top left;
|
200 |
-
-ms-transform-origin: top left;
|
201 |
-
transform-origin: top left;
|
202 |
-
transition-property: opacity, -webkit-transform;
|
203 |
-
transition-property: transform, opacity;
|
204 |
-
transition-property: transform, opacity, -webkit-transform;
|
205 |
-
-webkit-user-select: none;
|
206 |
-
-moz-user-select: none;
|
207 |
-
-ms-user-select: none;
|
208 |
-
user-select: none;
|
209 |
-
z-index: 99995;
|
210 |
-
}
|
211 |
-
|
212 |
-
.fancybox-can-zoomOut .fancybox-content {
|
213 |
-
cursor: -webkit-zoom-out;
|
214 |
-
cursor: zoom-out;
|
215 |
-
}
|
216 |
-
|
217 |
-
.fancybox-can-zoomIn .fancybox-content {
|
218 |
-
cursor: -webkit-zoom-in;
|
219 |
-
cursor: zoom-in;
|
220 |
-
}
|
221 |
-
|
222 |
-
.fancybox-can-swipe .fancybox-content,
|
223 |
-
.fancybox-can-pan .fancybox-content {
|
224 |
-
cursor: -webkit-grab;
|
225 |
-
cursor: grab;
|
226 |
-
}
|
227 |
-
|
228 |
-
.fancybox-is-grabbing .fancybox-content {
|
229 |
-
cursor: -webkit-grabbing;
|
230 |
-
cursor: grabbing;
|
231 |
-
}
|
232 |
-
|
233 |
-
.fancybox-container [data-selectable='true'] {
|
234 |
-
cursor: text;
|
235 |
-
}
|
236 |
-
|
237 |
-
.fancybox-image,
|
238 |
-
.fancybox-spaceball {
|
239 |
-
background: transparent;
|
240 |
-
border: 0;
|
241 |
-
height: 100%;
|
242 |
-
left: 0;
|
243 |
-
/* Fix images beeing distorted */
|
244 |
-
object-fit: contain;
|
245 |
-
margin: 0;
|
246 |
-
max-height: none;
|
247 |
-
max-width: none;
|
248 |
-
padding: 0;
|
249 |
-
position: absolute;
|
250 |
-
top: 0;
|
251 |
-
-webkit-user-select: none;
|
252 |
-
-moz-user-select: none;
|
253 |
-
-ms-user-select: none;
|
254 |
-
user-select: none;
|
255 |
-
width: 100%;
|
256 |
-
}
|
257 |
-
|
258 |
-
.fancybox-spaceball {
|
259 |
-
z-index: 1;
|
260 |
-
}
|
261 |
-
|
262 |
-
.fancybox-slide--video .fancybox-content,
|
263 |
-
.fancybox-slide--map .fancybox-content,
|
264 |
-
.fancybox-slide--iframe .fancybox-content {
|
265 |
-
height: 100%;
|
266 |
-
overflow: visible;
|
267 |
-
padding: 0;
|
268 |
-
width: 100%;
|
269 |
-
}
|
270 |
-
|
271 |
-
.fancybox-slide--video .fancybox-content {
|
272 |
-
background: #000;
|
273 |
-
}
|
274 |
-
|
275 |
-
.fancybox-slide--map .fancybox-content {
|
276 |
-
background: #e5e3df;
|
277 |
-
}
|
278 |
-
|
279 |
-
.fancybox-slide--iframe .fancybox-content {
|
280 |
-
background: #fff;
|
281 |
-
}
|
282 |
-
|
283 |
-
.fancybox-video,
|
284 |
-
.fancybox-iframe {
|
285 |
-
background: transparent;
|
286 |
-
border: 0;
|
287 |
-
display: block;
|
288 |
-
height: 100%;
|
289 |
-
margin: 0;
|
290 |
-
overflow: hidden;
|
291 |
-
padding: 0;
|
292 |
-
width: 100%;
|
293 |
-
}
|
294 |
-
|
295 |
-
/* Fix iOS */
|
296 |
-
.fancybox-iframe {
|
297 |
-
left: 0;
|
298 |
-
position: absolute;
|
299 |
-
top: 0;
|
300 |
-
}
|
301 |
-
|
302 |
-
.fancybox-error {
|
303 |
-
background: #fff;
|
304 |
-
cursor: default;
|
305 |
-
max-width: 400px;
|
306 |
-
padding: 40px;
|
307 |
-
width: 100%;
|
308 |
-
}
|
309 |
-
|
310 |
-
.fancybox-error p {
|
311 |
-
color: #444;
|
312 |
-
font-size: 16px;
|
313 |
-
line-height: 20px;
|
314 |
-
margin: 0;
|
315 |
-
padding: 0;
|
316 |
-
}
|
317 |
-
|
318 |
-
/* Buttons */
|
319 |
-
.fancybox-button {
|
320 |
-
background: rgba(30, 30, 30, 0.6);
|
321 |
-
border: 0;
|
322 |
-
border-radius: 0;
|
323 |
-
box-shadow: none;
|
324 |
-
cursor: pointer;
|
325 |
-
display: inline-block;
|
326 |
-
height: 44px;
|
327 |
-
margin: 0;
|
328 |
-
padding: 10px;
|
329 |
-
position: relative;
|
330 |
-
transition: color .2s;
|
331 |
-
vertical-align: top;
|
332 |
-
visibility: inherit;
|
333 |
-
width: 44px;
|
334 |
-
}
|
335 |
-
|
336 |
-
.fancybox-button,
|
337 |
-
.fancybox-button:visited,
|
338 |
-
.fancybox-button:link {
|
339 |
-
color: #ccc;
|
340 |
-
}
|
341 |
-
|
342 |
-
.fancybox-button:hover {
|
343 |
-
color: #fff;
|
344 |
-
}
|
345 |
-
|
346 |
-
.fancybox-button:focus {
|
347 |
-
outline: none;
|
348 |
-
}
|
349 |
-
|
350 |
-
.fancybox-button.fancybox-focus {
|
351 |
-
outline: 1px dotted;
|
352 |
-
}
|
353 |
-
|
354 |
-
.fancybox-button[disabled],
|
355 |
-
.fancybox-button[disabled]:hover {
|
356 |
-
color: #888;
|
357 |
-
cursor: default;
|
358 |
-
outline: none;
|
359 |
-
}
|
360 |
-
|
361 |
-
/* Fix IE11 */
|
362 |
-
.fancybox-button div {
|
363 |
-
height: 100%;
|
364 |
-
}
|
365 |
-
|
366 |
-
.fancybox-button svg {
|
367 |
-
display: block;
|
368 |
-
height: 100%;
|
369 |
-
overflow: visible;
|
370 |
-
position: relative;
|
371 |
-
width: 100%;
|
372 |
-
}
|
373 |
-
|
374 |
-
.fancybox-button svg path {
|
375 |
-
fill: currentColor;
|
376 |
-
stroke-width: 0;
|
377 |
-
}
|
378 |
-
|
379 |
-
.fancybox-button--play svg:nth-child(2),
|
380 |
-
.fancybox-button--fsenter svg:nth-child(2) {
|
381 |
-
display: none;
|
382 |
-
}
|
383 |
-
|
384 |
-
.fancybox-button--pause svg:nth-child(1),
|
385 |
-
.fancybox-button--fsexit svg:nth-child(1) {
|
386 |
-
display: none;
|
387 |
-
}
|
388 |
-
|
389 |
-
.fancybox-progress {
|
390 |
-
background: #ff5268;
|
391 |
-
height: 2px;
|
392 |
-
left: 0;
|
393 |
-
position: absolute;
|
394 |
-
right: 0;
|
395 |
-
top: 0;
|
396 |
-
-webkit-transform: scaleX(0);
|
397 |
-
-ms-transform: scaleX(0);
|
398 |
-
transform: scaleX(0);
|
399 |
-
-webkit-transform-origin: 0;
|
400 |
-
-ms-transform-origin: 0;
|
401 |
-
transform-origin: 0;
|
402 |
-
transition-property: -webkit-transform;
|
403 |
-
transition-property: transform;
|
404 |
-
transition-property: transform, -webkit-transform;
|
405 |
-
transition-timing-function: linear;
|
406 |
-
z-index: 99998;
|
407 |
-
}
|
408 |
-
|
409 |
-
/* Close button on the top right corner of html content */
|
410 |
-
.fancybox-close-small {
|
411 |
-
background: transparent;
|
412 |
-
border: 0;
|
413 |
-
border-radius: 0;
|
414 |
-
color: #ccc;
|
415 |
-
cursor: pointer;
|
416 |
-
opacity: .8;
|
417 |
-
padding: 8px;
|
418 |
-
position: absolute;
|
419 |
-
right: -12px;
|
420 |
-
top: -44px;
|
421 |
-
z-index: 401;
|
422 |
-
}
|
423 |
-
|
424 |
-
.fancybox-close-small:hover {
|
425 |
-
color: #fff;
|
426 |
-
opacity: 1;
|
427 |
-
}
|
428 |
-
|
429 |
-
.fancybox-slide--html .fancybox-close-small {
|
430 |
-
color: currentColor;
|
431 |
-
padding: 10px;
|
432 |
-
right: 0;
|
433 |
-
top: 0;
|
434 |
-
}
|
435 |
-
|
436 |
-
.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
|
437 |
-
overflow: hidden;
|
438 |
-
}
|
439 |
-
|
440 |
-
.fancybox-is-scaling .fancybox-close-small,
|
441 |
-
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
|
442 |
-
display: none;
|
443 |
-
}
|
444 |
-
|
445 |
-
/* Navigation arrows */
|
446 |
-
.fancybox-navigation .fancybox-button {
|
447 |
-
background-clip: content-box;
|
448 |
-
height: 100px;
|
449 |
-
opacity: 0;
|
450 |
-
position: absolute;
|
451 |
-
top: calc(50% - 50px);
|
452 |
-
width: 70px;
|
453 |
-
}
|
454 |
-
|
455 |
-
.fancybox-navigation .fancybox-button div {
|
456 |
-
padding: 7px;
|
457 |
-
}
|
458 |
-
|
459 |
-
.fancybox-navigation .fancybox-button--arrow_left {
|
460 |
-
left: 0;
|
461 |
-
padding: 31px 26px 31px 6px;
|
462 |
-
}
|
463 |
-
|
464 |
-
.fancybox-navigation .fancybox-button--arrow_right {
|
465 |
-
padding: 31px 6px 31px 26px;
|
466 |
-
right: 0;
|
467 |
-
}
|
468 |
-
|
469 |
-
/* Caption */
|
470 |
-
.fancybox-caption {
|
471 |
-
bottom: 0;
|
472 |
-
color: #eee;
|
473 |
-
font-size: 14px;
|
474 |
-
font-weight: 400;
|
475 |
-
left: 0;
|
476 |
-
line-height: 1.5;
|
477 |
-
padding: 25px 44px 25px 44px;
|
478 |
-
right: 0;
|
479 |
-
text-align: center;
|
480 |
-
z-index: 99996;
|
481 |
-
}
|
482 |
-
|
483 |
-
.fancybox-caption::before {
|
484 |
-
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);
|
485 |
-
background-repeat: repeat-x;
|
486 |
-
background-size: contain;
|
487 |
-
bottom: 0;
|
488 |
-
content: '';
|
489 |
-
display: block;
|
490 |
-
left: 0;
|
491 |
-
pointer-events: none;
|
492 |
-
position: absolute;
|
493 |
-
right: 0;
|
494 |
-
top: -44px;
|
495 |
-
z-index: -1;
|
496 |
-
}
|
497 |
-
|
498 |
-
.fancybox-caption a,
|
499 |
-
.fancybox-caption a:link,
|
500 |
-
.fancybox-caption a:visited {
|
501 |
-
color: #ccc;
|
502 |
-
text-decoration: none;
|
503 |
-
}
|
504 |
-
|
505 |
-
.fancybox-caption a:hover {
|
506 |
-
color: #fff;
|
507 |
-
text-decoration: underline;
|
508 |
-
}
|
509 |
-
|
510 |
-
/* Loading indicator */
|
511 |
-
.fancybox-loading {
|
512 |
-
-webkit-animation: fancybox-rotate 1s linear infinite;
|
513 |
-
animation: fancybox-rotate 1s linear infinite;
|
514 |
-
background: transparent;
|
515 |
-
border: 4px solid #888;
|
516 |
-
border-bottom-color: #fff;
|
517 |
-
border-radius: 50%;
|
518 |
-
height: 50px;
|
519 |
-
left: 50%;
|
520 |
-
margin: -25px 0 0 -25px;
|
521 |
-
opacity: .7;
|
522 |
-
padding: 0;
|
523 |
-
position: absolute;
|
524 |
-
top: 50%;
|
525 |
-
width: 50px;
|
526 |
-
z-index: 99999;
|
527 |
-
}
|
528 |
-
|
529 |
-
@-webkit-keyframes fancybox-rotate {
|
530 |
-
100% {
|
531 |
-
-webkit-transform: rotate(360deg);
|
532 |
-
transform: rotate(360deg);
|
533 |
-
}
|
534 |
-
}
|
535 |
-
|
536 |
-
@keyframes fancybox-rotate {
|
537 |
-
100% {
|
538 |
-
-webkit-transform: rotate(360deg);
|
539 |
-
transform: rotate(360deg);
|
540 |
-
}
|
541 |
-
}
|
542 |
-
|
543 |
-
/* Transition effects */
|
544 |
-
.fancybox-animated {
|
545 |
-
transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
|
546 |
-
}
|
547 |
-
|
548 |
-
/* transitionEffect: slide */
|
549 |
-
.fancybox-fx-slide.fancybox-slide--previous {
|
550 |
-
opacity: 0;
|
551 |
-
-webkit-transform: translate3d(-100%, 0, 0);
|
552 |
-
transform: translate3d(-100%, 0, 0);
|
553 |
-
}
|
554 |
-
|
555 |
-
.fancybox-fx-slide.fancybox-slide--next {
|
556 |
-
opacity: 0;
|
557 |
-
-webkit-transform: translate3d(100%, 0, 0);
|
558 |
-
transform: translate3d(100%, 0, 0);
|
559 |
-
}
|
560 |
-
|
561 |
-
.fancybox-fx-slide.fancybox-slide--current {
|
562 |
-
opacity: 1;
|
563 |
-
-webkit-transform: translate3d(0, 0, 0);
|
564 |
-
transform: translate3d(0, 0, 0);
|
565 |
-
}
|
566 |
-
|
567 |
-
/* transitionEffect: fade */
|
568 |
-
.fancybox-fx-fade.fancybox-slide--previous,
|
569 |
-
.fancybox-fx-fade.fancybox-slide--next {
|
570 |
-
opacity: 0;
|
571 |
-
transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
|
572 |
-
}
|
573 |
-
|
574 |
-
.fancybox-fx-fade.fancybox-slide--current {
|
575 |
-
opacity: 1;
|
576 |
-
}
|
577 |
-
|
578 |
-
/* transitionEffect: zoom-in-out */
|
579 |
-
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
|
580 |
-
opacity: 0;
|
581 |
-
-webkit-transform: scale3d(1.5, 1.5, 1.5);
|
582 |
-
transform: scale3d(1.5, 1.5, 1.5);
|
583 |
-
}
|
584 |
-
|
585 |
-
.fancybox-fx-zoom-in-out.fancybox-slide--next {
|
586 |
-
opacity: 0;
|
587 |
-
-webkit-transform: scale3d(0.5, 0.5, 0.5);
|
588 |
-
transform: scale3d(0.5, 0.5, 0.5);
|
589 |
-
}
|
590 |
-
|
591 |
-
.fancybox-fx-zoom-in-out.fancybox-slide--current {
|
592 |
-
opacity: 1;
|
593 |
-
-webkit-transform: scale3d(1, 1, 1);
|
594 |
-
transform: scale3d(1, 1, 1);
|
595 |
-
}
|
596 |
-
|
597 |
-
/* transitionEffect: rotate */
|
598 |
-
.fancybox-fx-rotate.fancybox-slide--previous {
|
599 |
-
opacity: 0;
|
600 |
-
-webkit-transform: rotate(-360deg);
|
601 |
-
-ms-transform: rotate(-360deg);
|
602 |
-
transform: rotate(-360deg);
|
603 |
-
}
|
604 |
-
|
605 |
-
.fancybox-fx-rotate.fancybox-slide--next {
|
606 |
-
opacity: 0;
|
607 |
-
-webkit-transform: rotate(360deg);
|
608 |
-
-ms-transform: rotate(360deg);
|
609 |
-
transform: rotate(360deg);
|
610 |
-
}
|
611 |
-
|
612 |
-
.fancybox-fx-rotate.fancybox-slide--current {
|
613 |
-
opacity: 1;
|
614 |
-
-webkit-transform: rotate(0deg);
|
615 |
-
-ms-transform: rotate(0deg);
|
616 |
-
transform: rotate(0deg);
|
617 |
-
}
|
618 |
-
|
619 |
-
/* transitionEffect: circular */
|
620 |
-
.fancybox-fx-circular.fancybox-slide--previous {
|
621 |
-
opacity: 0;
|
622 |
-
-webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
|
623 |
-
transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
|
624 |
-
}
|
625 |
-
|
626 |
-
.fancybox-fx-circular.fancybox-slide--next {
|
627 |
-
opacity: 0;
|
628 |
-
-webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
|
629 |
-
transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
|
630 |
-
}
|
631 |
-
|
632 |
-
.fancybox-fx-circular.fancybox-slide--current {
|
633 |
-
opacity: 1;
|
634 |
-
-webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
|
635 |
-
transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
|
636 |
-
}
|
637 |
-
|
638 |
-
/* transitionEffect: tube */
|
639 |
-
.fancybox-fx-tube.fancybox-slide--previous {
|
640 |
-
-webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
|
641 |
-
transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
|
642 |
-
}
|
643 |
-
|
644 |
-
.fancybox-fx-tube.fancybox-slide--next {
|
645 |
-
-webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
|
646 |
-
transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
|
647 |
-
}
|
648 |
-
|
649 |
-
.fancybox-fx-tube.fancybox-slide--current {
|
650 |
-
-webkit-transform: translate3d(0, 0, 0) scale(1);
|
651 |
-
transform: translate3d(0, 0, 0) scale(1);
|
652 |
-
}
|
653 |
-
|
654 |
-
/* Styling for Small-Screen Devices */
|
655 |
-
@media all and (max-height: 576px) {
|
656 |
-
.fancybox-caption {
|
657 |
-
padding: 12px;
|
658 |
-
}
|
659 |
-
|
660 |
-
.fancybox-slide {
|
661 |
-
padding-left: 6px;
|
662 |
-
padding-right: 6px;
|
663 |
-
}
|
664 |
-
|
665 |
-
.fancybox-slide--image {
|
666 |
-
padding: 6px 0;
|
667 |
-
}
|
668 |
-
|
669 |
-
.fancybox-slide--image .fancybox-close-small {
|
670 |
-
background: #4e4e4e;
|
671 |
-
color: #f2f4f6;
|
672 |
-
height: 36px;
|
673 |
-
opacity: 1;
|
674 |
-
padding: 6px;
|
675 |
-
right: 0;
|
676 |
-
top: 0;
|
677 |
-
width: 36px;
|
678 |
-
}
|
679 |
-
}
|
680 |
-
|
681 |
-
/* Share */
|
682 |
-
.fancybox-share {
|
683 |
-
background: #f4f4f4;
|
684 |
-
border-radius: 3px;
|
685 |
-
max-width: 90%;
|
686 |
-
padding: 30px;
|
687 |
-
text-align: center;
|
688 |
-
}
|
689 |
-
|
690 |
-
.fancybox-share h1 {
|
691 |
-
color: #222;
|
692 |
-
font-size: 35px;
|
693 |
-
font-weight: 700;
|
694 |
-
margin: 0 0 20px 0;
|
695 |
-
}
|
696 |
-
|
697 |
-
.fancybox-share p {
|
698 |
-
margin: 0;
|
699 |
-
padding: 0;
|
700 |
-
}
|
701 |
-
|
702 |
-
.fancybox-share__button {
|
703 |
-
border: 0;
|
704 |
-
border-radius: 3px;
|
705 |
-
display: inline-block;
|
706 |
-
font-size: 14px;
|
707 |
-
font-weight: 700;
|
708 |
-
line-height: 40px;
|
709 |
-
margin: 0 5px 10px 5px;
|
710 |
-
min-width: 130px;
|
711 |
-
padding: 0 15px;
|
712 |
-
text-decoration: none;
|
713 |
-
transition: all .2s;
|
714 |
-
-webkit-user-select: none;
|
715 |
-
-moz-user-select: none;
|
716 |
-
-ms-user-select: none;
|
717 |
-
user-select: none;
|
718 |
-
white-space: nowrap;
|
719 |
-
}
|
720 |
-
|
721 |
-
.fancybox-share__button:visited,
|
722 |
-
.fancybox-share__button:link {
|
723 |
-
color: #fff;
|
724 |
-
}
|
725 |
-
|
726 |
-
.fancybox-share__button:hover {
|
727 |
-
text-decoration: none;
|
728 |
-
}
|
729 |
-
|
730 |
-
.fancybox-share__button--fb {
|
731 |
-
background: #3b5998;
|
732 |
-
}
|
733 |
-
|
734 |
-
.fancybox-share__button--fb:hover {
|
735 |
-
background: #344e86;
|
736 |
-
}
|
737 |
-
|
738 |
-
.fancybox-share__button--pt {
|
739 |
-
background: #bd081d;
|
740 |
-
}
|
741 |
-
|
742 |
-
.fancybox-share__button--pt:hover {
|
743 |
-
background: #aa0719;
|
744 |
-
}
|
745 |
-
|
746 |
-
.fancybox-share__button--tw {
|
747 |
-
background: #1da1f2;
|
748 |
-
}
|
749 |
-
|
750 |
-
.fancybox-share__button--tw:hover {
|
751 |
-
background: #0d95e8;
|
752 |
-
}
|
753 |
-
|
754 |
-
.fancybox-share__button svg {
|
755 |
-
height: 25px;
|
756 |
-
margin-right: 7px;
|
757 |
-
position: relative;
|
758 |
-
top: -1px;
|
759 |
-
vertical-align: middle;
|
760 |
-
width: 25px;
|
761 |
-
}
|
762 |
-
|
763 |
-
.fancybox-share__button svg path {
|
764 |
-
fill: #fff;
|
765 |
-
}
|
766 |
-
|
767 |
-
.fancybox-share__input {
|
768 |
-
background: transparent;
|
769 |
-
border: 0;
|
770 |
-
border-bottom: 1px solid #d7d7d7;
|
771 |
-
border-radius: 0;
|
772 |
-
color: #5d5b5b;
|
773 |
-
font-size: 14px;
|
774 |
-
margin: 10px 0 0 0;
|
775 |
-
outline: none;
|
776 |
-
padding: 10px 15px;
|
777 |
-
width: 100%;
|
778 |
-
}
|
779 |
-
|
780 |
-
/* Thumbs */
|
781 |
-
.fancybox-thumbs {
|
782 |
-
background: #ddd;
|
783 |
-
bottom: 0;
|
784 |
-
display: none;
|
785 |
-
margin: 0;
|
786 |
-
-webkit-overflow-scrolling: touch;
|
787 |
-
-ms-overflow-style: -ms-autohiding-scrollbar;
|
788 |
-
padding: 2px 2px 4px 2px;
|
789 |
-
position: absolute;
|
790 |
-
right: 0;
|
791 |
-
-webkit-tap-highlight-color: transparent;
|
792 |
-
top: 0;
|
793 |
-
width: 212px;
|
794 |
-
z-index: 99995;
|
795 |
-
}
|
796 |
-
|
797 |
-
.fancybox-thumbs-x {
|
798 |
-
overflow-x: auto;
|
799 |
-
overflow-y: hidden;
|
800 |
-
}
|
801 |
-
|
802 |
-
.fancybox-show-thumbs .fancybox-thumbs {
|
803 |
-
display: block;
|
804 |
-
}
|
805 |
-
|
806 |
-
.fancybox-show-thumbs .fancybox-inner {
|
807 |
-
right: 212px;
|
808 |
-
}
|
809 |
-
|
810 |
-
.fancybox-thumbs__list {
|
811 |
-
font-size: 0;
|
812 |
-
height: 100%;
|
813 |
-
list-style: none;
|
814 |
-
margin: 0;
|
815 |
-
overflow-x: hidden;
|
816 |
-
overflow-y: auto;
|
817 |
-
padding: 0;
|
818 |
-
position: absolute;
|
819 |
-
position: relative;
|
820 |
-
white-space: nowrap;
|
821 |
-
width: 100%;
|
822 |
-
}
|
823 |
-
|
824 |
-
.fancybox-thumbs-x .fancybox-thumbs__list {
|
825 |
-
overflow: hidden;
|
826 |
-
}
|
827 |
-
|
828 |
-
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
|
829 |
-
width: 7px;
|
830 |
-
}
|
831 |
-
|
832 |
-
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
|
833 |
-
background: #fff;
|
834 |
-
border-radius: 10px;
|
835 |
-
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
836 |
-
}
|
837 |
-
|
838 |
-
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
|
839 |
-
background: #2a2a2a;
|
840 |
-
border-radius: 10px;
|
841 |
-
}
|
842 |
-
|
843 |
-
.fancybox-thumbs__list a {
|
844 |
-
-webkit-backface-visibility: hidden;
|
845 |
-
backface-visibility: hidden;
|
846 |
-
background-color: rgba(0, 0, 0, 0.1);
|
847 |
-
background-position: center center;
|
848 |
-
background-repeat: no-repeat;
|
849 |
-
background-size: cover;
|
850 |
-
cursor: pointer;
|
851 |
-
float: left;
|
852 |
-
height: 75px;
|
853 |
-
margin: 2px;
|
854 |
-
max-height: calc(100% - 8px);
|
855 |
-
max-width: calc(50% - 4px);
|
856 |
-
outline: none;
|
857 |
-
overflow: hidden;
|
858 |
-
padding: 0;
|
859 |
-
position: relative;
|
860 |
-
-webkit-tap-highlight-color: transparent;
|
861 |
-
width: 100px;
|
862 |
-
}
|
863 |
-
|
864 |
-
.fancybox-thumbs__list a::before {
|
865 |
-
border: 6px solid #ff5268;
|
866 |
-
bottom: 0;
|
867 |
-
content: '';
|
868 |
-
left: 0;
|
869 |
-
opacity: 0;
|
870 |
-
position: absolute;
|
871 |
-
right: 0;
|
872 |
-
top: 0;
|
873 |
-
transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
874 |
-
z-index: 99991;
|
875 |
-
}
|
876 |
-
|
877 |
-
.fancybox-thumbs__list a:focus::before {
|
878 |
-
opacity: .5;
|
879 |
-
}
|
880 |
-
|
881 |
-
.fancybox-thumbs__list a.fancybox-thumbs-active::before {
|
882 |
-
opacity: 1;
|
883 |
-
}
|
884 |
-
|
885 |
-
/* Styling for Small-Screen Devices */
|
886 |
-
@media all and (max-width: 576px) {
|
887 |
-
.fancybox-thumbs {
|
888 |
-
width: 110px;
|
889 |
-
}
|
890 |
-
|
891 |
-
.fancybox-show-thumbs .fancybox-inner {
|
892 |
-
right: 110px;
|
893 |
-
}
|
894 |
-
|
895 |
-
.fancybox-thumbs__list a {
|
896 |
-
max-width: calc(100% - 10px);
|
897 |
-
}
|
898 |
-
}
|
1 |
+
body.compensate-for-scrollbar {
|
2 |
+
overflow: hidden;
|
3 |
+
}
|
4 |
+
|
5 |
+
.fancybox-active {
|
6 |
+
height: auto;
|
7 |
+
}
|
8 |
+
|
9 |
+
.fancybox-is-hidden {
|
10 |
+
left: -9999px;
|
11 |
+
margin: 0;
|
12 |
+
position: absolute !important;
|
13 |
+
top: -9999px;
|
14 |
+
visibility: hidden;
|
15 |
+
}
|
16 |
+
|
17 |
+
.fancybox-container {
|
18 |
+
-webkit-backface-visibility: hidden;
|
19 |
+
height: 100%;
|
20 |
+
left: 0;
|
21 |
+
outline: none;
|
22 |
+
position: fixed;
|
23 |
+
-webkit-tap-highlight-color: transparent;
|
24 |
+
top: 0;
|
25 |
+
-ms-touch-action: manipulation;
|
26 |
+
touch-action: manipulation;
|
27 |
+
-webkit-transform: translateZ(0);
|
28 |
+
transform: translateZ(0);
|
29 |
+
width: 100%;
|
30 |
+
z-index: 99992;
|
31 |
+
}
|
32 |
+
|
33 |
+
.fancybox-container * {
|
34 |
+
box-sizing: border-box;
|
35 |
+
}
|
36 |
+
|
37 |
+
.fancybox-outer,
|
38 |
+
.fancybox-inner,
|
39 |
+
.fancybox-bg,
|
40 |
+
.fancybox-stage {
|
41 |
+
bottom: 0;
|
42 |
+
left: 0;
|
43 |
+
position: absolute;
|
44 |
+
right: 0;
|
45 |
+
top: 0;
|
46 |
+
}
|
47 |
+
|
48 |
+
.fancybox-outer {
|
49 |
+
-webkit-overflow-scrolling: touch;
|
50 |
+
overflow-y: auto;
|
51 |
+
}
|
52 |
+
|
53 |
+
.fancybox-bg {
|
54 |
+
background: #1e1e1e;
|
55 |
+
opacity: 0;
|
56 |
+
transition-duration: inherit;
|
57 |
+
transition-property: opacity;
|
58 |
+
transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
|
59 |
+
}
|
60 |
+
|
61 |
+
.fancybox-is-open .fancybox-bg {
|
62 |
+
opacity: .9;
|
63 |
+
transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
|
64 |
+
}
|
65 |
+
|
66 |
+
.fancybox-infobar,
|
67 |
+
.fancybox-toolbar,
|
68 |
+
.fancybox-caption,
|
69 |
+
.fancybox-navigation .fancybox-button {
|
70 |
+
direction: ltr;
|
71 |
+
opacity: 0;
|
72 |
+
position: absolute;
|
73 |
+
transition: opacity .25s ease, visibility 0s ease .25s;
|
74 |
+
visibility: hidden;
|
75 |
+
z-index: 99997;
|
76 |
+
}
|
77 |
+
|
78 |
+
.fancybox-show-infobar .fancybox-infobar,
|
79 |
+
.fancybox-show-toolbar .fancybox-toolbar,
|
80 |
+
.fancybox-show-caption .fancybox-caption,
|
81 |
+
.fancybox-show-nav .fancybox-navigation .fancybox-button {
|
82 |
+
opacity: 1;
|
83 |
+
transition: opacity .25s ease 0s, visibility 0s ease 0s;
|
84 |
+
visibility: visible;
|
85 |
+
}
|
86 |
+
|
87 |
+
.fancybox-infobar {
|
88 |
+
color: #ccc;
|
89 |
+
font-size: 13px;
|
90 |
+
-webkit-font-smoothing: subpixel-antialiased;
|
91 |
+
height: 44px;
|
92 |
+
left: 0;
|
93 |
+
line-height: 44px;
|
94 |
+
min-width: 44px;
|
95 |
+
mix-blend-mode: difference;
|
96 |
+
padding: 0 10px;
|
97 |
+
pointer-events: none;
|
98 |
+
top: 0;
|
99 |
+
-webkit-touch-callout: none;
|
100 |
+
-webkit-user-select: none;
|
101 |
+
-moz-user-select: none;
|
102 |
+
-ms-user-select: none;
|
103 |
+
user-select: none;
|
104 |
+
}
|
105 |
+
|
106 |
+
.fancybox-toolbar {
|
107 |
+
right: 0;
|
108 |
+
top: 0;
|
109 |
+
}
|
110 |
+
|
111 |
+
.fancybox-stage {
|
112 |
+
direction: ltr;
|
113 |
+
overflow: visible;
|
114 |
+
-webkit-transform: translateZ(0);
|
115 |
+
transform: translateZ(0);
|
116 |
+
z-index: 99994;
|
117 |
+
}
|
118 |
+
|
119 |
+
.fancybox-is-open .fancybox-stage {
|
120 |
+
overflow: hidden;
|
121 |
+
}
|
122 |
+
|
123 |
+
.fancybox-slide {
|
124 |
+
-webkit-backface-visibility: hidden;
|
125 |
+
/* Using without prefix would break IE11 */
|
126 |
+
display: none;
|
127 |
+
height: 100%;
|
128 |
+
left: 0;
|
129 |
+
outline: none;
|
130 |
+
overflow: auto;
|
131 |
+
-webkit-overflow-scrolling: touch;
|
132 |
+
padding: 44px;
|
133 |
+
position: absolute;
|
134 |
+
text-align: center;
|
135 |
+
top: 0;
|
136 |
+
transition-property: opacity, -webkit-transform;
|
137 |
+
transition-property: transform, opacity;
|
138 |
+
transition-property: transform, opacity, -webkit-transform;
|
139 |
+
white-space: normal;
|
140 |
+
width: 100%;
|
141 |
+
z-index: 99994;
|
142 |
+
}
|
143 |
+
|
144 |
+
.fancybox-slide::before {
|
145 |
+
content: '';
|
146 |
+
display: inline-block;
|
147 |
+
font-size: 0;
|
148 |
+
height: 100%;
|
149 |
+
vertical-align: middle;
|
150 |
+
width: 0;
|
151 |
+
}
|
152 |
+
|
153 |
+
.fancybox-is-sliding .fancybox-slide,
|
154 |
+
.fancybox-slide--previous,
|
155 |
+
.fancybox-slide--current,
|
156 |
+
.fancybox-slide--next {
|
157 |
+
display: block;
|
158 |
+
}
|
159 |
+
|
160 |
+
.fancybox-slide--image {
|
161 |
+
overflow: hidden;
|
162 |
+
padding: 44px 0;
|
163 |
+
}
|
164 |
+
|
165 |
+
.fancybox-slide--image::before {
|
166 |
+
display: none;
|
167 |
+
}
|
168 |
+
|
169 |
+
.fancybox-slide--html {
|
170 |
+
padding: 6px;
|
171 |
+
}
|
172 |
+
|
173 |
+
.fancybox-content {
|
174 |
+
background: #fff;
|
175 |
+
display: inline-block;
|
176 |
+
margin: 0;
|
177 |
+
max-width: 100%;
|
178 |
+
overflow: auto;
|
179 |
+
-webkit-overflow-scrolling: touch;
|
180 |
+
padding: 44px;
|
181 |
+
position: relative;
|
182 |
+
text-align: left;
|
183 |
+
vertical-align: middle;
|
184 |
+
}
|
185 |
+
|
186 |
+
.fancybox-slide--image .fancybox-content {
|
187 |
+
-webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
|
188 |
+
animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
|
189 |
+
-webkit-backface-visibility: hidden;
|
190 |
+
background: transparent;
|
191 |
+
background-repeat: no-repeat;
|
192 |
+
background-size: 100% 100%;
|
193 |
+
left: 0;
|
194 |
+
max-width: none;
|
195 |
+
overflow: visible;
|
196 |
+
padding: 0;
|
197 |
+
position: absolute;
|
198 |
+
top: 0;
|
199 |
+
-webkit-transform-origin: top left;
|
200 |
+
-ms-transform-origin: top left;
|
201 |
+
transform-origin: top left;
|
202 |
+
transition-property: opacity, -webkit-transform;
|
203 |
+
transition-property: transform, opacity;
|
204 |
+
transition-property: transform, opacity, -webkit-transform;
|
205 |
+
-webkit-user-select: none;
|
206 |
+
-moz-user-select: none;
|
207 |
+
-ms-user-select: none;
|
208 |
+
user-select: none;
|
209 |
+
z-index: 99995;
|
210 |
+
}
|
211 |
+
|
212 |
+
.fancybox-can-zoomOut .fancybox-content {
|
213 |
+
cursor: -webkit-zoom-out;
|
214 |
+
cursor: zoom-out;
|
215 |
+
}
|
216 |
+
|
217 |
+
.fancybox-can-zoomIn .fancybox-content {
|
218 |
+
cursor: -webkit-zoom-in;
|
219 |
+
cursor: zoom-in;
|
220 |
+
}
|
221 |
+
|
222 |
+
.fancybox-can-swipe .fancybox-content,
|
223 |
+
.fancybox-can-pan .fancybox-content {
|
224 |
+
cursor: -webkit-grab;
|
225 |
+
cursor: grab;
|
226 |
+
}
|
227 |
+
|
228 |
+
.fancybox-is-grabbing .fancybox-content {
|
229 |
+
cursor: -webkit-grabbing;
|
230 |
+
cursor: grabbing;
|
231 |
+
}
|
232 |
+
|
233 |
+
.fancybox-container [data-selectable='true'] {
|
234 |
+
cursor: text;
|
235 |
+
}
|
236 |
+
|
237 |
+
.fancybox-image,
|
238 |
+
.fancybox-spaceball {
|
239 |
+
background: transparent;
|
240 |
+
border: 0;
|
241 |
+
height: 100%;
|
242 |
+
left: 0;
|
243 |
+
/* Fix images beeing distorted */
|
244 |
+
object-fit: contain;
|
245 |
+
margin: 0;
|
246 |
+
max-height: none;
|
247 |
+
max-width: none;
|
248 |
+
padding: 0;
|
249 |
+
position: absolute;
|
250 |
+
top: 0;
|
251 |
+
-webkit-user-select: none;
|
252 |
+
-moz-user-select: none;
|
253 |
+
-ms-user-select: none;
|
254 |
+
user-select: none;
|
255 |
+
width: 100%;
|
256 |
+
}
|
257 |
+
|
258 |
+
.fancybox-spaceball {
|
259 |
+
z-index: 1;
|
260 |
+
}
|
261 |
+
|
262 |
+
.fancybox-slide--video .fancybox-content,
|
263 |
+
.fancybox-slide--map .fancybox-content,
|
264 |
+
.fancybox-slide--iframe .fancybox-content {
|
265 |
+
height: 100%;
|
266 |
+
overflow: visible;
|
267 |
+
padding: 0;
|
268 |
+
width: 100%;
|
269 |
+
}
|
270 |
+
|
271 |
+
.fancybox-slide--video .fancybox-content {
|
272 |
+
background: #000;
|
273 |
+
}
|
274 |
+
|
275 |
+
.fancybox-slide--map .fancybox-content {
|
276 |
+
background: #e5e3df;
|
277 |
+
}
|
278 |
+
|
279 |
+
.fancybox-slide--iframe .fancybox-content {
|
280 |
+
background: #fff;
|
281 |
+
}
|
282 |
+
|
283 |
+
.fancybox-video,
|
284 |
+
.fancybox-iframe {
|
285 |
+
background: transparent;
|
286 |
+
border: 0;
|
287 |
+
display: block;
|
288 |
+
height: 100%;
|
289 |
+
margin: 0;
|
290 |
+
overflow: hidden;
|
291 |
+
padding: 0;
|
292 |
+
width: 100%;
|
293 |
+
}
|
294 |
+
|
295 |
+
/* Fix iOS */
|
296 |
+
.fancybox-iframe {
|
297 |
+
left: 0;
|
298 |
+
position: absolute;
|
299 |
+
top: 0;
|
300 |
+
}
|
301 |
+
|
302 |
+
.fancybox-error {
|
303 |
+
background: #fff;
|
304 |
+
cursor: default;
|
305 |
+
max-width: 400px;
|
306 |
+
padding: 40px;
|
307 |
+
width: 100%;
|
308 |
+
}
|
309 |
+
|
310 |
+
.fancybox-error p {
|
311 |
+
color: #444;
|
312 |
+
font-size: 16px;
|
313 |
+
line-height: 20px;
|
314 |
+
margin: 0;
|
315 |
+
padding: 0;
|
316 |
+
}
|
317 |
+
|
318 |
+
/* Buttons */
|
319 |
+
.fancybox-button {
|
320 |
+
background: rgba(30, 30, 30, 0.6);
|
321 |
+
border: 0;
|
322 |
+
border-radius: 0;
|
323 |
+
box-shadow: none;
|
324 |
+
cursor: pointer;
|
325 |
+
display: inline-block;
|
326 |
+
height: 44px;
|
327 |
+
margin: 0;
|
328 |
+
padding: 10px;
|
329 |
+
position: relative;
|
330 |
+
transition: color .2s;
|
331 |
+
vertical-align: top;
|
332 |
+
visibility: inherit;
|
333 |
+
width: 44px;
|
334 |
+
}
|
335 |
+
|
336 |
+
.fancybox-button,
|
337 |
+
.fancybox-button:visited,
|
338 |
+
.fancybox-button:link {
|
339 |
+
color: #ccc;
|
340 |
+
}
|
341 |
+
|
342 |
+
.fancybox-button:hover {
|
343 |
+
color: #fff;
|
344 |
+
}
|
345 |
+
|
346 |
+
.fancybox-button:focus {
|
347 |
+
outline: none;
|
348 |
+
}
|
349 |
+
|
350 |
+
.fancybox-button.fancybox-focus {
|
351 |
+
outline: 1px dotted;
|
352 |
+
}
|
353 |
+
|
354 |
+
.fancybox-button[disabled],
|
355 |
+
.fancybox-button[disabled]:hover {
|
356 |
+
color: #888;
|
357 |
+
cursor: default;
|
358 |
+
outline: none;
|
359 |
+
}
|
360 |
+
|
361 |
+
/* Fix IE11 */
|
362 |
+
.fancybox-button div {
|
363 |
+
height: 100%;
|
364 |
+
}
|
365 |
+
|
366 |
+
.fancybox-button svg {
|
367 |
+
display: block;
|
368 |
+
height: 100%;
|
369 |
+
overflow: visible;
|
370 |
+
position: relative;
|
371 |
+
width: 100%;
|
372 |
+
}
|
373 |
+
|
374 |
+
.fancybox-button svg path {
|
375 |
+
fill: currentColor;
|
376 |
+
stroke-width: 0;
|
377 |
+
}
|
378 |
+
|
379 |
+
.fancybox-button--play svg:nth-child(2),
|
380 |
+
.fancybox-button--fsenter svg:nth-child(2) {
|
381 |
+
display: none;
|
382 |
+
}
|
383 |
+
|
384 |
+
.fancybox-button--pause svg:nth-child(1),
|
385 |
+
.fancybox-button--fsexit svg:nth-child(1) {
|
386 |
+
display: none;
|
387 |
+
}
|
388 |
+
|
389 |
+
.fancybox-progress {
|
390 |
+
background: #ff5268;
|
391 |
+
height: 2px;
|
392 |
+
left: 0;
|
393 |
+
position: absolute;
|
394 |
+
right: 0;
|
395 |
+
top: 0;
|
396 |
+
-webkit-transform: scaleX(0);
|
397 |
+
-ms-transform: scaleX(0);
|
398 |
+
transform: scaleX(0);
|
399 |
+
-webkit-transform-origin: 0;
|
400 |
+
-ms-transform-origin: 0;
|
401 |
+
transform-origin: 0;
|
402 |
+
transition-property: -webkit-transform;
|
403 |
+
transition-property: transform;
|
404 |
+
transition-property: transform, -webkit-transform;
|
405 |
+
transition-timing-function: linear;
|
406 |
+
z-index: 99998;
|
407 |
+
}
|
408 |
+
|
409 |
+
/* Close button on the top right corner of html content */
|
410 |
+
.fancybox-close-small {
|
411 |
+
background: transparent;
|
412 |
+
border: 0;
|
413 |
+
border-radius: 0;
|
414 |
+
color: #ccc;
|
415 |
+
cursor: pointer;
|
416 |
+
opacity: .8;
|
417 |
+
padding: 8px;
|
418 |
+
position: absolute;
|
419 |
+
right: -12px;
|
420 |
+
top: -44px;
|
421 |
+
z-index: 401;
|
422 |
+
}
|
423 |
+
|
424 |
+
.fancybox-close-small:hover {
|
425 |
+
color: #fff;
|
426 |
+
opacity: 1;
|
427 |
+
}
|
428 |
+
|
429 |
+
.fancybox-slide--html .fancybox-close-small {
|
430 |
+
color: currentColor;
|
431 |
+
padding: 10px;
|
432 |
+
right: 0;
|
433 |
+
top: 0;
|
434 |
+
}
|
435 |
+
|
436 |
+
.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
|
437 |
+
overflow: hidden;
|
438 |
+
}
|
439 |
+
|
440 |
+
.fancybox-is-scaling .fancybox-close-small,
|
441 |
+
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
|
442 |
+
display: none;
|
443 |
+
}
|
444 |
+
|
445 |
+
/* Navigation arrows */
|
446 |
+
.fancybox-navigation .fancybox-button {
|
447 |
+
background-clip: content-box;
|
448 |
+
height: 100px;
|
449 |
+
opacity: 0;
|
450 |
+
position: absolute;
|
451 |
+
top: calc(50% - 50px);
|
452 |
+
width: 70px;
|
453 |
+
}
|
454 |
+
|
455 |
+
.fancybox-navigation .fancybox-button div {
|
456 |
+
padding: 7px;
|
457 |
+
}
|
458 |
+
|
459 |
+
.fancybox-navigation .fancybox-button--arrow_left {
|
460 |
+
left: 0;
|
461 |
+
padding: 31px 26px 31px 6px;
|
462 |
+
}
|
463 |
+
|
464 |
+
.fancybox-navigation .fancybox-button--arrow_right {
|
465 |
+
padding: 31px 6px 31px 26px;
|
466 |
+
right: 0;
|
467 |
+
}
|
468 |
+
|
469 |
+
/* Caption */
|
470 |
+
.fancybox-caption {
|
471 |
+
bottom: 0;
|
472 |
+
color: #eee;
|
473 |
+
font-size: 14px;
|
474 |
+
font-weight: 400;
|
475 |
+
left: 0;
|
476 |
+
line-height: 1.5;
|
477 |
+
padding: 25px 44px 25px 44px;
|
478 |
+
right: 0;
|
479 |
+
text-align: center;
|
480 |
+
z-index: 99996;
|
481 |
+
}
|
482 |
+
|
483 |
+
.fancybox-caption::before {
|
484 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);
|
485 |
+
background-repeat: repeat-x;
|
486 |
+
background-size: contain;
|
487 |
+
bottom: 0;
|
488 |
+
content: '';
|
489 |
+
display: block;
|
490 |
+
left: 0;
|
491 |
+
pointer-events: none;
|
492 |
+
position: absolute;
|
493 |
+
right: 0;
|
494 |
+
top: -44px;
|
495 |
+
z-index: -1;
|
496 |
+
}
|
497 |
+
|
498 |
+
.fancybox-caption a,
|
499 |
+
.fancybox-caption a:link,
|
500 |
+
.fancybox-caption a:visited {
|
501 |
+
color: #ccc;
|
502 |
+
text-decoration: none;
|
503 |
+
}
|
504 |
+
|
505 |
+
.fancybox-caption a:hover {
|
506 |
+
color: #fff;
|
507 |
+
text-decoration: underline;
|
508 |
+
}
|
509 |
+
|
510 |
+
/* Loading indicator */
|
511 |
+
.fancybox-loading {
|
512 |
+
-webkit-animation: fancybox-rotate 1s linear infinite;
|
513 |
+
animation: fancybox-rotate 1s linear infinite;
|
514 |
+
background: transparent;
|
515 |
+
border: 4px solid #888;
|
516 |
+
border-bottom-color: #fff;
|
517 |
+
border-radius: 50%;
|
518 |
+
height: 50px;
|
519 |
+
left: 50%;
|
520 |
+
margin: -25px 0 0 -25px;
|
521 |
+
opacity: .7;
|
522 |
+
padding: 0;
|
523 |
+
position: absolute;
|
524 |
+
top: 50%;
|
525 |
+
width: 50px;
|
526 |
+
z-index: 99999;
|
527 |
+
}
|
528 |
+
|
529 |
+
@-webkit-keyframes fancybox-rotate {
|
530 |
+
100% {
|
531 |
+
-webkit-transform: rotate(360deg);
|
532 |
+
transform: rotate(360deg);
|
533 |
+
}
|
534 |
+
}
|
535 |
+
|
536 |
+
@keyframes fancybox-rotate {
|
537 |
+
100% {
|
538 |
+
-webkit-transform: rotate(360deg);
|
539 |
+
transform: rotate(360deg);
|
540 |
+
}
|
541 |
+
}
|
542 |
+
|
543 |
+
/* Transition effects */
|
544 |
+
.fancybox-animated {
|
545 |
+
transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
|
546 |
+
}
|
547 |
+
|
548 |
+
/* transitionEffect: slide */
|
549 |
+
.fancybox-fx-slide.fancybox-slide--previous {
|
550 |
+
opacity: 0;
|
551 |
+
-webkit-transform: translate3d(-100%, 0, 0);
|
552 |
+
transform: translate3d(-100%, 0, 0);
|
553 |
+
}
|
554 |
+
|
555 |
+
.fancybox-fx-slide.fancybox-slide--next {
|
556 |
+
opacity: 0;
|
557 |
+
-webkit-transform: translate3d(100%, 0, 0);
|
558 |
+
transform: translate3d(100%, 0, 0);
|
559 |
+
}
|
560 |
+
|
561 |
+
.fancybox-fx-slide.fancybox-slide--current {
|
562 |
+
opacity: 1;
|
563 |
+
-webkit-transform: translate3d(0, 0, 0);
|
564 |
+
transform: translate3d(0, 0, 0);
|
565 |
+
}
|
566 |
+
|
567 |
+
/* transitionEffect: fade */
|
568 |
+
.fancybox-fx-fade.fancybox-slide--previous,
|
569 |
+
.fancybox-fx-fade.fancybox-slide--next {
|
570 |
+
opacity: 0;
|
571 |
+
transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
|
572 |
+
}
|
573 |
+
|
574 |
+
.fancybox-fx-fade.fancybox-slide--current {
|
575 |
+
opacity: 1;
|
576 |
+
}
|
577 |
+
|
578 |
+
/* transitionEffect: zoom-in-out */
|
579 |
+
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
|
580 |
+
opacity: 0;
|
581 |
+
-webkit-transform: scale3d(1.5, 1.5, 1.5);
|
582 |
+
transform: scale3d(1.5, 1.5, 1.5);
|
583 |
+
}
|
584 |
+
|
585 |
+
.fancybox-fx-zoom-in-out.fancybox-slide--next {
|
586 |
+
opacity: 0;
|
587 |
+
-webkit-transform: scale3d(0.5, 0.5, 0.5);
|
588 |
+
transform: scale3d(0.5, 0.5, 0.5);
|
589 |
+
}
|
590 |
+
|
591 |
+
.fancybox-fx-zoom-in-out.fancybox-slide--current {
|
592 |
+
opacity: 1;
|
593 |
+
-webkit-transform: scale3d(1, 1, 1);
|
594 |
+
transform: scale3d(1, 1, 1);
|
595 |
+
}
|
596 |
+
|
597 |
+
/* transitionEffect: rotate */
|
598 |
+
.fancybox-fx-rotate.fancybox-slide--previous {
|
599 |
+
opacity: 0;
|
600 |
+
-webkit-transform: rotate(-360deg);
|
601 |
+
-ms-transform: rotate(-360deg);
|
602 |
+
transform: rotate(-360deg);
|
603 |
+
}
|
604 |
+
|
605 |
+
.fancybox-fx-rotate.fancybox-slide--next {
|
606 |
+
opacity: 0;
|
607 |
+
-webkit-transform: rotate(360deg);
|
608 |
+
-ms-transform: rotate(360deg);
|
609 |
+
transform: rotate(360deg);
|
610 |
+
}
|
611 |
+
|
612 |
+
.fancybox-fx-rotate.fancybox-slide--current {
|
613 |
+
opacity: 1;
|
614 |
+
-webkit-transform: rotate(0deg);
|
615 |
+
-ms-transform: rotate(0deg);
|
616 |
+
transform: rotate(0deg);
|
617 |
+
}
|
618 |
+
|
619 |
+
/* transitionEffect: circular */
|
620 |
+
.fancybox-fx-circular.fancybox-slide--previous {
|
621 |
+
opacity: 0;
|
622 |
+
-webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
|
623 |
+
transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
|
624 |
+
}
|
625 |
+
|
626 |
+
.fancybox-fx-circular.fancybox-slide--next {
|
627 |
+
opacity: 0;
|
628 |
+
-webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
|
629 |
+
transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
|
630 |
+
}
|
631 |
+
|
632 |
+
.fancybox-fx-circular.fancybox-slide--current {
|
633 |
+
opacity: 1;
|
634 |
+
-webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
|
635 |
+
transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
|
636 |
+
}
|
637 |
+
|
638 |
+
/* transitionEffect: tube */
|
639 |
+
.fancybox-fx-tube.fancybox-slide--previous {
|
640 |
+
-webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
|
641 |
+
transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
|
642 |
+
}
|
643 |
+
|
644 |
+
.fancybox-fx-tube.fancybox-slide--next {
|
645 |
+
-webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
|
646 |
+
transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
|
647 |
+
}
|
648 |
+
|
649 |
+
.fancybox-fx-tube.fancybox-slide--current {
|
650 |
+
-webkit-transform: translate3d(0, 0, 0) scale(1);
|
651 |
+
transform: translate3d(0, 0, 0) scale(1);
|
652 |
+
}
|
653 |
+
|
654 |
+
/* Styling for Small-Screen Devices */
|
655 |
+
@media all and (max-height: 576px) {
|
656 |
+
.fancybox-caption {
|
657 |
+
padding: 12px;
|
658 |
+
}
|
659 |
+
|
660 |
+
.fancybox-slide {
|
661 |
+
padding-left: 6px;
|
662 |
+
padding-right: 6px;
|
663 |
+
}
|
664 |
+
|
665 |
+
.fancybox-slide--image {
|
666 |
+
padding: 6px 0;
|
667 |
+
}
|
668 |
+
|
669 |
+
.fancybox-slide--image .fancybox-close-small {
|
670 |
+
background: #4e4e4e;
|
671 |
+
color: #f2f4f6;
|
672 |
+
height: 36px;
|
673 |
+
opacity: 1;
|
674 |
+
padding: 6px;
|
675 |
+
right: 0;
|
676 |
+
top: 0;
|
677 |
+
width: 36px;
|
678 |
+
}
|
679 |
+
}
|
680 |
+
|
681 |
+
/* Share */
|
682 |
+
.fancybox-share {
|
683 |
+
background: #f4f4f4;
|
684 |
+
border-radius: 3px;
|
685 |
+
max-width: 90%;
|
686 |
+
padding: 30px;
|
687 |
+
text-align: center;
|
688 |
+
}
|
689 |
+
|
690 |
+
.fancybox-share h1 {
|
691 |
+
color: #222;
|
692 |
+
font-size: 35px;
|
693 |
+
font-weight: 700;
|
694 |
+
margin: 0 0 20px 0;
|
695 |
+
}
|
696 |
+
|
697 |
+
.fancybox-share p {
|
698 |
+
margin: 0;
|
699 |
+
padding: 0;
|
700 |
+
}
|
701 |
+
|
702 |
+
.fancybox-share__button {
|
703 |
+
border: 0;
|
704 |
+
border-radius: 3px;
|
705 |
+
display: inline-block;
|
706 |
+
font-size: 14px;
|
707 |
+
font-weight: 700;
|
708 |
+
line-height: 40px;
|
709 |
+
margin: 0 5px 10px 5px;
|
710 |
+
min-width: 130px;
|
711 |
+
padding: 0 15px;
|
712 |
+
text-decoration: none;
|
713 |
+
transition: all .2s;
|
714 |
+
-webkit-user-select: none;
|
715 |
+
-moz-user-select: none;
|
716 |
+
-ms-user-select: none;
|
717 |
+
user-select: none;
|
718 |
+
white-space: nowrap;
|
719 |
+
}
|
720 |
+
|
721 |
+
.fancybox-share__button:visited,
|
722 |
+
.fancybox-share__button:link {
|
723 |
+
color: #fff;
|
724 |
+
}
|
725 |
+
|
726 |
+
.fancybox-share__button:hover {
|
727 |
+
text-decoration: none;
|
728 |
+
}
|
729 |
+
|
730 |
+
.fancybox-share__button--fb {
|
731 |
+
background: #3b5998;
|
732 |
+
}
|
733 |
+
|
734 |
+
.fancybox-share__button--fb:hover {
|
735 |
+
background: #344e86;
|
736 |
+
}
|
737 |
+
|
738 |
+
.fancybox-share__button--pt {
|
739 |
+
background: #bd081d;
|
740 |
+
}
|
741 |
+
|
742 |
+
.fancybox-share__button--pt:hover {
|
743 |
+
background: #aa0719;
|
744 |
+
}
|
745 |
+
|
746 |
+
.fancybox-share__button--tw {
|
747 |
+
background: #1da1f2;
|
748 |
+
}
|
749 |
+
|
750 |
+
.fancybox-share__button--tw:hover {
|
751 |
+
background: #0d95e8;
|
752 |
+
}
|
753 |
+
|
754 |
+
.fancybox-share__button svg {
|
755 |
+
height: 25px;
|
756 |
+
margin-right: 7px;
|
757 |
+
position: relative;
|
758 |
+
top: -1px;
|
759 |
+
vertical-align: middle;
|
760 |
+
width: 25px;
|
761 |
+
}
|
762 |
+
|
763 |
+
.fancybox-share__button svg path {
|
764 |
+
fill: #fff;
|
765 |
+
}
|
766 |
+
|
767 |
+
.fancybox-share__input {
|
768 |
+
background: transparent;
|
769 |
+
border: 0;
|
770 |
+
border-bottom: 1px solid #d7d7d7;
|
771 |
+
border-radius: 0;
|
772 |
+
color: #5d5b5b;
|
773 |
+
font-size: 14px;
|
774 |
+
margin: 10px 0 0 0;
|
775 |
+
outline: none;
|
776 |
+
padding: 10px 15px;
|
777 |
+
width: 100%;
|
778 |
+
}
|
779 |
+
|
780 |
+
/* Thumbs */
|
781 |
+
.fancybox-thumbs {
|
782 |
+
background: #ddd;
|
783 |
+
bottom: 0;
|
784 |
+
display: none;
|
785 |
+
margin: 0;
|
786 |
+
-webkit-overflow-scrolling: touch;
|
787 |
+
-ms-overflow-style: -ms-autohiding-scrollbar;
|
788 |
+
padding: 2px 2px 4px 2px;
|
789 |
+
position: absolute;
|
790 |
+
right: 0;
|
791 |
+
-webkit-tap-highlight-color: transparent;
|
792 |
+
top: 0;
|
793 |
+
width: 212px;
|
794 |
+
z-index: 99995;
|
795 |
+
}
|
796 |
+
|
797 |
+
.fancybox-thumbs-x {
|
798 |
+
overflow-x: auto;
|
799 |
+
overflow-y: hidden;
|
800 |
+
}
|
801 |
+
|
802 |
+
.fancybox-show-thumbs .fancybox-thumbs {
|
803 |
+
display: block;
|
804 |
+
}
|
805 |
+
|
806 |
+
.fancybox-show-thumbs .fancybox-inner {
|
807 |
+
right: 212px;
|
808 |
+
}
|
809 |
+
|
810 |
+
.fancybox-thumbs__list {
|
811 |
+
font-size: 0;
|
812 |
+
height: 100%;
|
813 |
+
list-style: none;
|
814 |
+
margin: 0;
|
815 |
+
overflow-x: hidden;
|
816 |
+
overflow-y: auto;
|
817 |
+
padding: 0;
|
818 |
+
position: absolute;
|
819 |
+
position: relative;
|
820 |
+
white-space: nowrap;
|
821 |
+
width: 100%;
|
822 |
+
}
|
823 |
+
|
824 |
+
.fancybox-thumbs-x .fancybox-thumbs__list {
|
825 |
+
overflow: hidden;
|
826 |
+
}
|
827 |
+
|
828 |
+
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
|
829 |
+
width: 7px;
|
830 |
+
}
|
831 |
+
|
832 |
+
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
|
833 |
+
background: #fff;
|
834 |
+
border-radius: 10px;
|
835 |
+
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
836 |
+
}
|
837 |
+
|
838 |
+
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
|
839 |
+
background: #2a2a2a;
|
840 |
+
border-radius: 10px;
|
841 |
+
}
|
842 |
+
|
843 |
+
.fancybox-thumbs__list a {
|
844 |
+
-webkit-backface-visibility: hidden;
|
845 |
+
backface-visibility: hidden;
|
846 |
+
background-color: rgba(0, 0, 0, 0.1);
|
847 |
+
background-position: center center;
|
848 |
+
background-repeat: no-repeat;
|
849 |
+
background-size: cover;
|
850 |
+
cursor: pointer;
|
851 |
+
float: left;
|
852 |
+
height: 75px;
|
853 |
+
margin: 2px;
|
854 |
+
max-height: calc(100% - 8px);
|
855 |
+
max-width: calc(50% - 4px);
|
856 |
+
outline: none;
|
857 |
+
overflow: hidden;
|
858 |
+
padding: 0;
|
859 |
+
position: relative;
|
860 |
+
-webkit-tap-highlight-color: transparent;
|
861 |
+
width: 100px;
|
862 |
+
}
|
863 |
+
|
864 |
+
.fancybox-thumbs__list a::before {
|
865 |
+
border: 6px solid #ff5268;
|
866 |
+
bottom: 0;
|
867 |
+
content: '';
|
868 |
+
left: 0;
|
869 |
+
opacity: 0;
|
870 |
+
position: absolute;
|
871 |
+
right: 0;
|
872 |
+
top: 0;
|
873 |
+
transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
874 |
+
z-index: 99991;
|
875 |
+
}
|
876 |
+
|
877 |
+
.fancybox-thumbs__list a:focus::before {
|
878 |
+
opacity: .5;
|
879 |
+
}
|
880 |
+
|
881 |
+
.fancybox-thumbs__list a.fancybox-thumbs-active::before {
|
882 |
+
opacity: 1;
|
883 |
+
}
|
884 |
+
|
885 |
+
/* Styling for Small-Screen Devices */
|
886 |
+
@media all and (max-width: 576px) {
|
887 |
+
.fancybox-thumbs {
|
888 |
+
width: 110px;
|
889 |
+
}
|
890 |
+
|
891 |
+
.fancybox-show-thumbs .fancybox-inner {
|
892 |
+
right: 110px;
|
893 |
+
}
|
894 |
+
|
895 |
+
.fancybox-thumbs__list a {
|
896 |
+
max-width: calc(100% - 10px);
|
897 |
+
}
|
898 |
+
}
|
assets/css/jquery-ui.css
CHANGED
@@ -1,64 +1,64 @@
|
|
1 |
-
/*
|
2 |
-
* jQuery UI CSS Framework
|
3 |
-
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
4 |
-
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
5 |
-
*/
|
6 |
-
|
7 |
-
|
8 |
-
/* Layout helpers
|
9 |
-
----------------------------------*/
|
10 |
-
.ui-helper-hidden { display: none; }
|
11 |
-
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
12 |
-
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
13 |
-
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
14 |
-
.ui-helper-clearfix { display: inline-block; }
|
15 |
-
/* required comment for clearfix to work in Opera \*/
|
16 |
-
* html .ui-helper-clearfix { height:1%; }
|
17 |
-
.ui-helper-clearfix { display:block; }
|
18 |
-
/* end clearfix */
|
19 |
-
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
20 |
-
|
21 |
-
|
22 |
-
/* Tabs
|
23 |
-
----------------------------------*/
|
24 |
-
.ui-tabs { padding: .2em; zoom: 1; }
|
25 |
-
.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
|
26 |
-
.ui-tabs .ui-tabs-nav li { font-size:.8em; position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
|
27 |
-
.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
|
28 |
-
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
|
29 |
-
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
30 |
-
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
31 |
-
.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
|
32 |
-
.ui-tabs .ui-tabs-hide { display: none !important; }
|
33 |
-
|
34 |
-
|
35 |
-
/* Component containers
|
36 |
-
----------------------------------*/
|
37 |
-
.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }
|
38 |
-
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; }
|
39 |
-
.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(img/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; overflow: hidden; }
|
40 |
-
.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(img/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; }
|
41 |
-
.ui-widget-header a { color: #222222/*{fcHeader}*/; }
|
42 |
-
|
43 |
-
|
44 |
-
/* Interaction states
|
45 |
-
----------------------------------*/
|
46 |
-
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(img/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; outline: none; }
|
47 |
-
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; outline: none; }
|
48 |
-
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(img/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; outline: none; }
|
49 |
-
.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; outline: none; }
|
50 |
-
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(img/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; outline: none; }
|
51 |
-
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; outline: none; text-decoration: none; }
|
52 |
-
|
53 |
-
|
54 |
-
/* Misc visuals
|
55 |
-
----------------------------------*/
|
56 |
-
.ui-corner-tl { border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; }
|
57 |
-
.ui-corner-tr { border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; }
|
58 |
-
.ui-corner-bl { border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; }
|
59 |
-
.ui-corner-br { border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; }
|
60 |
-
.ui-corner-top { border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; }
|
61 |
-
.ui-corner-bottom { border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; }
|
62 |
-
.ui-corner-right { border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; }
|
63 |
-
.ui-corner-left { border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; }
|
64 |
-
.ui-corner-all { border-radius: 4px/*{cornerRadius}*/; -webkit-border-radius: 4px/*{cornerRadius}*/; }
|
1 |
+
/*
|
2 |
+
* jQuery UI CSS Framework
|
3 |
+
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
4 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
5 |
+
*/
|
6 |
+
|
7 |
+
|
8 |
+
/* Layout helpers
|
9 |
+
----------------------------------*/
|
10 |
+
.ui-helper-hidden { display: none; }
|
11 |
+
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
12 |
+
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
13 |
+
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
14 |
+
.ui-helper-clearfix { display: inline-block; }
|
15 |
+
/* required comment for clearfix to work in Opera \*/
|
16 |
+
* html .ui-helper-clearfix { height:1%; }
|
17 |
+
.ui-helper-clearfix { display:block; }
|
18 |
+
/* end clearfix */
|
19 |
+
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
20 |
+
|
21 |
+
|
22 |
+
/* Tabs
|
23 |
+
----------------------------------*/
|
24 |
+
.ui-tabs { padding: .2em; zoom: 1; }
|
25 |
+
.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
|
26 |
+
.ui-tabs .ui-tabs-nav li { font-size:.8em; position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
|
27 |
+
.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
|
28 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
|
29 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
30 |
+
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
31 |
+
.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
|
32 |
+
.ui-tabs .ui-tabs-hide { display: none !important; }
|
33 |
+
|
34 |
+
|
35 |
+
/* Component containers
|
36 |
+
----------------------------------*/
|
37 |
+
.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }
|
38 |
+
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; }
|
39 |
+
.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(img/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; overflow: hidden; }
|
40 |
+
.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(img/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; }
|
41 |
+
.ui-widget-header a { color: #222222/*{fcHeader}*/; }
|
42 |
+
|
43 |
+
|
44 |
+
/* Interaction states
|
45 |
+
----------------------------------*/
|
46 |
+
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(img/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; outline: none; }
|
47 |
+
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; outline: none; }
|
48 |
+
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(img/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; outline: none; }
|
49 |
+
.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; outline: none; }
|
50 |
+
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(img/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; outline: none; }
|
51 |
+
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; outline: none; text-decoration: none; }
|
52 |
+
|
53 |
+
|
54 |
+
/* Misc visuals
|
55 |
+
----------------------------------*/
|
56 |
+
.ui-corner-tl { border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; }
|
57 |
+
.ui-corner-tr { border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; }
|
58 |
+
.ui-corner-bl { border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; }
|
59 |
+
.ui-corner-br { border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; }
|
60 |
+
.ui-corner-top { border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; }
|
61 |
+
.ui-corner-bottom { border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; }
|
62 |
+
.ui-corner-right { border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; }
|
63 |
+
.ui-corner-left { border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; }
|
64 |
+
.ui-corner-all { border-radius: 4px/*{cornerRadius}*/; -webkit-border-radius: 4px/*{cornerRadius}*/; }
|
assets/js/admin.js
CHANGED
@@ -1,173 +1,173 @@
|
|
1 |
-
jQuery(function () {
|
2 |
-
|
3 |
-
// Tabs
|
4 |
-
jQuery("#fbfwTabs").tabs();
|
5 |
-
|
6 |
-
// Hide form fields when not needed (switched by checkbox)
|
7 |
-
function switchBlock(block, button) {
|
8 |
-
var buttonValue = jQuery(button + ":checked").val();
|
9 |
-
if (buttonValue == "on") {
|
10 |
-
jQuery(block).css("display", "inline-block");
|
11 |
-
} else {
|
12 |
-
jQuery(block).css("display", "none");
|
13 |
-
}
|
14 |
-
|
15 |
-
jQuery(button).click(function () {
|
16 |
-
jQuery(block).animate({
|
17 |
-
opacity: "toggle",
|
18 |
-
height: "toggle"
|
19 |
-
}, 500);
|
20 |
-
});
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
|
25 |
-
switchBlock("#borderColorBlock", "#border");
|
26 |
-
switchBlock("#closeButtonBlock", "#showCloseButton");
|
27 |
-
switchBlock("#overlayBlock", "#overlayShow");
|
28 |
-
switchBlock("#titleBlock", "#titleShow");
|
29 |
-
switchBlock("#callbackBlock", "#callbackEnable");
|
30 |
-
switchBlock("#extraCallsBlock", "#extraCallsEnable");
|
31 |
-
switchBlock("#easingBlock", "#easing");
|
32 |
-
|
33 |
-
jQuery(document).ready(function () {
|
34 |
-
jQuery(".slider-horizontal").each(function () {
|
35 |
-
var mySl = jQuery(this);
|
36 |
-
var defaultState = mySl.prev('input').val();
|
37 |
-
mySl.attr('defSl', defaultState);
|
38 |
-
});
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
//Function enable codemirror on FancyBox Extra Calls
|
44 |
-
|
45 |
-
jQuery('.start-editing').click(function () {
|
46 |
-
wp.codeEditor.initialize(jQuery(this).next("textarea"));
|
47 |
-
jQuery(this).hide();
|
48 |
-
});
|
49 |
-
|
50 |
-
|
51 |
-
//add color picker to buttons
|
52 |
-
jQuery('.color-btn').wpColorPicker();
|
53 |
-
});
|
54 |
-
|
55 |
-
jQuery(window).load(function () {
|
56 |
-
//function to initiate horizontal slider from jQuery UI
|
57 |
-
jQuery(".slider-horizontal").each(function () {
|
58 |
-
var mySl = jQuery(this);
|
59 |
-
var minSl = parseFloat(mySl.attr("minSl"));
|
60 |
-
var maxSl = parseFloat(mySl.attr("maxSl"));
|
61 |
-
var defSl = parseFloat(mySl.attr("defSl"));
|
62 |
-
var stepSl = parseFloat(mySl.attr("stepSl"));
|
63 |
-
jQuery(this).slider({
|
64 |
-
orientation: "horizontal",
|
65 |
-
range: "min",
|
66 |
-
min: minSl,
|
67 |
-
max: maxSl,
|
68 |
-
value: defSl,
|
69 |
-
step: stepSl,
|
70 |
-
slide: function (event, ui) {
|
71 |
-
mySl.prev("input").val(ui.value);
|
72 |
-
}
|
73 |
-
});
|
74 |
-
});
|
75 |
-
});
|
76 |
-
|
77 |
-
// Hide Title Color if not needed
|
78 |
-
var titlePosition = jQuery("input:radio[class=titlePosition]:checked").val();
|
79 |
-
|
80 |
-
switch (titlePosition) {
|
81 |
-
case "float":
|
82 |
-
case "outside":
|
83 |
-
case "over":
|
84 |
-
jQuery("#titleColorBlock").css("display", "none");
|
85 |
-
}
|
86 |
-
|
87 |
-
jQuery("#titlePositionFloat, #titlePositionOutside, #titlePositionOver").click(function () {
|
88 |
-
jQuery("#titleColorBlock").hide("slow");
|
89 |
-
});
|
90 |
-
|
91 |
-
jQuery("#titlePositionInside").click(function () {
|
92 |
-
jQuery("#titleColorBlock").show("slow");
|
93 |
-
});
|
94 |
-
|
95 |
-
|
96 |
-
// Gallery Type
|
97 |
-
var galleryType = jQuery("input:radio[class=galleryType]:checked").val();
|
98 |
-
|
99 |
-
switch (galleryType) {
|
100 |
-
case "all":
|
101 |
-
case "none":
|
102 |
-
case "post":
|
103 |
-
jQuery("#customExpressionBlock").css("display", "none");
|
104 |
-
}
|
105 |
-
|
106 |
-
jQuery("#galleryTypeAll, #galleryTypeNone, #galleryTypePost").click(function () {
|
107 |
-
jQuery("#customExpressionBlock").hide("slow");
|
108 |
-
});
|
109 |
-
|
110 |
-
jQuery("#galleryTypeCustom").click(function () {
|
111 |
-
jQuery("#customExpressionBlock").show("slow");
|
112 |
-
});
|
113 |
-
|
114 |
-
});
|
115 |
-
|
116 |
-
function confirmDefaults() {
|
117 |
-
if (confirm(defaults_prompt) == true)
|
118 |
-
return true;
|
119 |
-
else
|
120 |
-
return false;
|
121 |
-
}
|
122 |
-
|
123 |
-
var defaults_prompt = "Are you sure you want to restore FancyBox for WordPress to default settings?";
|
124 |
-
|
125 |
-
function activatePlugin( url ) {
|
126 |
-
jQuery.ajax( {
|
127 |
-
async: true,
|
128 |
-
type: 'GET',
|
129 |
-
dataType: 'html',
|
130 |
-
url: url,
|
131 |
-
success: function() {
|
132 |
-
location.reload();
|
133 |
-
}
|
134 |
-
} );
|
135 |
-
}
|
136 |
-
|
137 |
-
jQuery( '.mfbfw-modula-link' ).click(function(evt){
|
138 |
-
evt.preventDefault();
|
139 |
-
|
140 |
-
var action = jQuery( this ).data( 'action' ),
|
141 |
-
link = jQuery( this ).attr( 'href' );
|
142 |
-
|
143 |
-
jQuery(this).addClass( 'updating-message' );
|
144 |
-
jQuery(this).attr( 'disabled', 'disabled' );
|
145 |
-
|
146 |
-
if ( 'install' == action ) {
|
147 |
-
wp.updates.installPlugin( { slug: 'modula-best-grid-gallery' } );
|
148 |
-
}else{
|
149 |
-
activatePlugin( link );
|
150 |
-
}
|
151 |
-
|
152 |
-
});
|
153 |
-
|
154 |
-
jQuery( document ).on( 'wp-plugin-install-success', function( response, data ) {
|
155 |
-
|
156 |
-
if ( 'modula-best-grid-gallery' == data.slug ) {
|
157 |
-
|
158 |
-
jQuery.ajax( {
|
159 |
-
type: 'POST',
|
160 |
-
data: { action: 'mfbfw_activate_link' },
|
161 |
-
dataType: 'json',
|
162 |
-
url: ajaxurl,
|
163 |
-
success: function( json ) {
|
164 |
-
if ( json.status ) {
|
165 |
-
activatePlugin( json.link );
|
166 |
-
}
|
167 |
-
}
|
168 |
-
});
|
169 |
-
|
170 |
-
}
|
171 |
-
console.log( response );
|
172 |
-
console.log( data );
|
173 |
});
|
1 |
+
jQuery(function () {
|
2 |
+
|
3 |
+
// Tabs
|
4 |
+
jQuery("#fbfwTabs").tabs();
|
5 |
+
|
6 |
+
// Hide form fields when not needed (switched by checkbox)
|
7 |
+
function switchBlock(block, button) {
|
8 |
+
var buttonValue = jQuery(button + ":checked").val();
|
9 |
+
if (buttonValue == "on") {
|
10 |
+
jQuery(block).css("display", "inline-block");
|
11 |
+
} else {
|
12 |
+
jQuery(block).css("display", "none");
|
13 |
+
}
|
14 |
+
|
15 |
+
jQuery(button).click(function () {
|
16 |
+
jQuery(block).animate({
|
17 |
+
opacity: "toggle",
|
18 |
+
height: "toggle"
|
19 |
+
}, 500);
|
20 |
+
});
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
|
25 |
+
switchBlock("#borderColorBlock", "#border");
|
26 |
+
switchBlock("#closeButtonBlock", "#showCloseButton");
|
27 |
+
switchBlock("#overlayBlock", "#overlayShow");
|
28 |
+
switchBlock("#titleBlock", "#titleShow");
|
29 |
+
switchBlock("#callbackBlock", "#callbackEnable");
|
30 |
+
switchBlock("#extraCallsBlock", "#extraCallsEnable");
|
31 |
+
switchBlock("#easingBlock", "#easing");
|
32 |
+
|
33 |
+
jQuery(document).ready(function () {
|
34 |
+
jQuery(".slider-horizontal").each(function () {
|
35 |
+
var mySl = jQuery(this);
|
36 |
+
var defaultState = mySl.prev('input').val();
|
37 |
+
mySl.attr('defSl', defaultState);
|
38 |
+
});
|
39 |
+
|
40 |
+
|
41 |
+
|
42 |
+
|
43 |
+
//Function enable codemirror on FancyBox Extra Calls
|
44 |
+
|
45 |
+
jQuery('.start-editing').click(function () {
|
46 |
+
wp.codeEditor.initialize(jQuery(this).next("textarea"));
|
47 |
+
jQuery(this).hide();
|
48 |
+
});
|
49 |
+
|
50 |
+
|
51 |
+
//add color picker to buttons
|
52 |
+
jQuery('.color-btn').wpColorPicker();
|
53 |
+
});
|
54 |
+
|
55 |
+
jQuery(window).load(function () {
|
56 |
+
//function to initiate horizontal slider from jQuery UI
|
57 |
+
jQuery(".slider-horizontal").each(function () {
|
58 |
+
var mySl = jQuery(this);
|
59 |
+
var minSl = parseFloat(mySl.attr("minSl"));
|
60 |
+
var maxSl = parseFloat(mySl.attr("maxSl"));
|
61 |
+
var defSl = parseFloat(mySl.attr("defSl"));
|
62 |
+
var stepSl = parseFloat(mySl.attr("stepSl"));
|
63 |
+
jQuery(this).slider({
|
64 |
+
orientation: "horizontal",
|
65 |
+
range: "min",
|
66 |
+
min: minSl,
|
67 |
+
max: maxSl,
|
68 |
+
value: defSl,
|
69 |
+
step: stepSl,
|
70 |
+
slide: function (event, ui) {
|
71 |
+
mySl.prev("input").val(ui.value);
|
72 |
+
}
|
73 |
+
});
|
74 |
+
});
|
75 |
+
});
|
76 |
+
|
77 |
+
// Hide Title Color if not needed
|
78 |
+
var titlePosition = jQuery("input:radio[class=titlePosition]:checked").val();
|
79 |
+
|
80 |
+
switch (titlePosition) {
|
81 |
+
case "float":
|
82 |
+
case "outside":
|
83 |
+
case "over":
|
84 |
+
jQuery("#titleColorBlock").css("display", "none");
|
85 |
+
}
|
86 |
+
|
87 |
+
jQuery("#titlePositionFloat, #titlePositionOutside, #titlePositionOver").click(function () {
|
88 |
+
jQuery("#titleColorBlock").hide("slow");
|
89 |
+
});
|
90 |
+
|
91 |
+
jQuery("#titlePositionInside").click(function () {
|
92 |
+
jQuery("#titleColorBlock").show("slow");
|
93 |
+
});
|
94 |
+
|
95 |
+
|
96 |
+
// Gallery Type
|
97 |
+
var galleryType = jQuery("input:radio[class=galleryType]:checked").val();
|
98 |
+
|
99 |
+
switch (galleryType) {
|
100 |
+
case "all":
|
101 |
+
case "none":
|
102 |
+
case "post":
|
103 |
+
jQuery("#customExpressionBlock").css("display", "none");
|
104 |
+
}
|
105 |
+
|
106 |
+
jQuery("#galleryTypeAll, #galleryTypeNone, #galleryTypePost").click(function () {
|
107 |
+
jQuery("#customExpressionBlock").hide("slow");
|
108 |
+
});
|
109 |
+
|
110 |
+
jQuery("#galleryTypeCustom").click(function () {
|
111 |
+
jQuery("#customExpressionBlock").show("slow");
|
112 |
+
});
|
113 |
+
|
114 |
+
});
|
115 |
+
|
116 |
+
function confirmDefaults() {
|
117 |
+
if (confirm(defaults_prompt) == true)
|
118 |
+
return true;
|
119 |
+
else
|
120 |
+
return false;
|
121 |
+
}
|
122 |
+
|
123 |
+
var defaults_prompt = "Are you sure you want to restore FancyBox for WordPress to default settings?";
|
124 |
+
|
125 |
+
function activatePlugin( url ) {
|
126 |
+
jQuery.ajax( {
|
127 |
+
async: true,
|
128 |
+
type: 'GET',
|
129 |
+
dataType: 'html',
|
130 |
+
url: url,
|
131 |
+
success: function() {
|
132 |
+
location.reload();
|
133 |
+
}
|
134 |
+
} );
|
135 |
+
}
|
136 |
+
|
137 |
+
jQuery( '.mfbfw-modula-link' ).click(function(evt){
|
138 |
+
evt.preventDefault();
|
139 |
+
|
140 |
+
var action = jQuery( this ).data( 'action' ),
|
141 |
+
link = jQuery( this ).attr( 'href' );
|
142 |
+
|
143 |
+
jQuery(this).addClass( 'updating-message' );
|
144 |
+
jQuery(this).attr( 'disabled', 'disabled' );
|
145 |
+
|
146 |
+
if ( 'install' == action ) {
|
147 |
+
wp.updates.installPlugin( { slug: 'modula-best-grid-gallery' } );
|
148 |
+
}else{
|
149 |
+
activatePlugin( link );
|
150 |
+
}
|
151 |
+
|
152 |
+
});
|
153 |
+
|
154 |
+
jQuery( document ).on( 'wp-plugin-install-success', function( response, data ) {
|
155 |
+
|
156 |
+
if ( 'modula-best-grid-gallery' == data.slug ) {
|
157 |
+
|
158 |
+
jQuery.ajax( {
|
159 |
+
type: 'POST',
|
160 |
+
data: { action: 'mfbfw_activate_link' },
|
161 |
+
dataType: 'json',
|
162 |
+
url: ajaxurl,
|
163 |
+
success: function( json ) {
|
164 |
+
if ( json.status ) {
|
165 |
+
activatePlugin( json.link );
|
166 |
+
}
|
167 |
+
}
|
168 |
+
});
|
169 |
+
|
170 |
+
}
|
171 |
+
console.log( response );
|
172 |
+
console.log( data );
|
173 |
});
|
assets/js/jquery.fancybox.js
CHANGED
@@ -1,5613 +1,5613 @@
|
|
1 |
-
// ==================================================
|
2 |
-
// fancyBox v3.5.1
|
3 |
-
//
|
4 |
-
// Licensed GPLv3 for open source use
|
5 |
-
// or fancyBox Commercial License for commercial use
|
6 |
-
//
|
7 |
-
// http://fancyapps.com/fancybox/
|
8 |
-
// Copyright 2018 fancyApps
|
9 |
-
//
|
10 |
-
// ==================================================
|
11 |
-
(function(window, document, $, undefined) {
|
12 |
-
"use strict";
|
13 |
-
|
14 |
-
window.console = window.console || {
|
15 |
-
info: function(stuff) {}
|
16 |
-
};
|
17 |
-
|
18 |
-
// If there's no jQuery, fancyBox can't work
|
19 |
-
// =========================================
|
20 |
-
|
21 |
-
if (!$) {
|
22 |
-
return;
|
23 |
-
}
|
24 |
-
|
25 |
-
// Check if fancyBox is already initialized
|
26 |
-
// ========================================
|
27 |
-
|
28 |
-
if ($.fn.fancybox) {
|
29 |
-
console.info("fancyBox already initialized");
|
30 |
-
|
31 |
-
return;
|
32 |
-
}
|
33 |
-
|
34 |
-
// Private default settings
|
35 |
-
// ========================
|
36 |
-
|
37 |
-
var defaults = {
|
38 |
-
// Close existing modals
|
39 |
-
// Set this to false if you do not need to stack multiple instances
|
40 |
-
closeExisting: false,
|
41 |
-
|
42 |
-
// Enable infinite gallery navigation
|
43 |
-
loop: false,
|
44 |
-
|
45 |
-
// Horizontal space between slides
|
46 |
-
gutter: 50,
|
47 |
-
|
48 |
-
// Enable keyboard navigation
|
49 |
-
keyboard: true,
|
50 |
-
|
51 |
-
// Should allow caption to overlap the content
|
52 |
-
preventCaptionOverlap: true,
|
53 |
-
|
54 |
-
// Should display navigation arrows at the screen edges
|
55 |
-
arrows: true,
|
56 |
-
|
57 |
-
// Should display counter at the top left corner
|
58 |
-
infobar: true,
|
59 |
-
|
60 |
-
// Should display close button (using `btnTpl.smallBtn` template) over the content
|
61 |
-
// Can be true, false, "auto"
|
62 |
-
// If "auto" - will be automatically enabled for "html", "inline" or "ajax" items
|
63 |
-
smallBtn: "auto",
|
64 |
-
|
65 |
-
// Should display toolbar (buttons at the top)
|
66 |
-
// Can be true, false, "auto"
|
67 |
-
// If "auto" - will be automatically hidden if "smallBtn" is enabled
|
68 |
-
toolbar: "auto",
|
69 |
-
|
70 |
-
// What buttons should appear in the top right corner.
|
71 |
-
// Buttons will be created using templates from `btnTpl` option
|
72 |
-
// and they will be placed into toolbar (class="fancybox-toolbar"` element)
|
73 |
-
buttons: [
|
74 |
-
"zoom",
|
75 |
-
//"share",
|
76 |
-
"slideShow",
|
77 |
-
//"fullScreen",
|
78 |
-
//"download",
|
79 |
-
"thumbs",
|
80 |
-
"close"
|
81 |
-
],
|
82 |
-
|
83 |
-
// Detect "idle" time in seconds
|
84 |
-
idleTime: 3,
|
85 |
-
|
86 |
-
// Disable right-click and use simple image protection for images
|
87 |
-
protect: false,
|
88 |
-
|
89 |
-
// Shortcut to make content "modal" - disable keyboard navigtion, hide buttons, etc
|
90 |
-
modal: false,
|
91 |
-
|
92 |
-
image: {
|
93 |
-
// Wait for images to load before displaying
|
94 |
-
// true - wait for image to load and then display;
|
95 |
-
// false - display thumbnail and load the full-sized image over top,
|
96 |
-
// requires predefined image dimensions (`data-width` and `data-height` attributes)
|
97 |
-
preload: false
|
98 |
-
},
|
99 |
-
|
100 |
-
ajax: {
|
101 |
-
// Object containing settings for ajax request
|
102 |
-
settings: {
|
103 |
-
// This helps to indicate that request comes from the modal
|
104 |
-
// Feel free to change naming
|
105 |
-
data: {
|
106 |
-
fancybox: true
|
107 |
-
}
|
108 |
-
}
|
109 |
-
},
|
110 |
-
|
111 |
-
iframe: {
|
112 |
-
// Iframe template
|
113 |
-
tpl:
|
114 |
-
'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen allow="autoplay; fullscreen" src=""></iframe>',
|
115 |
-
|
116 |
-
// Preload iframe before displaying it
|
117 |
-
// This allows to calculate iframe content width and height
|
118 |
-
// (note: Due to "Same Origin Policy", you can't get cross domain data).
|
119 |
-
preload: true,
|
120 |
-
|
121 |
-
// Custom CSS styling for iframe wrapping element
|
122 |
-
// You can use this to set custom iframe dimensions
|
123 |
-
css: {},
|
124 |
-
|
125 |
-
// Iframe tag attributes
|
126 |
-
attr: {
|
127 |
-
scrolling: "auto"
|
128 |
-
}
|
129 |
-
},
|
130 |
-
|
131 |
-
// For HTML5 video only
|
132 |
-
video: {
|
133 |
-
tpl:
|
134 |
-
'<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}">' +
|
135 |
-
'<source src="{{src}}" type="{{format}}" />' +
|
136 |
-
'Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!' +
|
137 |
-
"</video>",
|
138 |
-
format: "", // custom video format
|
139 |
-
autoStart: true
|
140 |
-
},
|
141 |
-
|
142 |
-
// Default content type if cannot be detected automatically
|
143 |
-
defaultType: "image",
|
144 |
-
|
145 |
-
// Open/close animation type
|
146 |
-
// Possible values:
|
147 |
-
// false - disable
|
148 |
-
// "zoom" - zoom images from/to thumbnail
|
149 |
-
// "fade"
|
150 |
-
// "zoom-in-out"
|
151 |
-
//
|
152 |
-
animationEffect: "zoom",
|
153 |
-
|
154 |
-
// Duration in ms for open/close animation
|
155 |
-
animationDuration: 366,
|
156 |
-
|
157 |
-
// Should image change opacity while zooming
|
158 |
-
// If opacity is "auto", then opacity will be changed if image and thumbnail have different aspect ratios
|
159 |
-
zoomOpacity: "auto",
|
160 |
-
|
161 |
-
// Transition effect between slides
|
162 |
-
//
|
163 |
-
// Possible values:
|
164 |
-
// false - disable
|
165 |
-
// "fade'
|
166 |
-
// "slide'
|
167 |
-
// "circular'
|
168 |
-
// "tube'
|
169 |
-
// "zoom-in-out'
|
170 |
-
// "rotate'
|
171 |
-
//
|
172 |
-
transitionEffect: "fade",
|
173 |
-
|
174 |
-
// Duration in ms for transition animation
|
175 |
-
transitionDuration: 366,
|
176 |
-
|
177 |
-
// Custom CSS class for slide element
|
178 |
-
slideClass: "",
|
179 |
-
|
180 |
-
// Custom CSS class for layout
|
181 |
-
baseClass: "",
|
182 |
-
|
183 |
-
// Base template for layout
|
184 |
-
baseTpl:
|
185 |
-
'<div class="fancybox-container" role="dialog" tabindex="-1">' +
|
186 |
-
'<div class="fancybox-bg"></div>' +
|
187 |
-
'<div class="fancybox-inner">' +
|
188 |
-
'<div class="fancybox-infobar"><span data-fancybox-index></span> / <span data-fancybox-count></span></div>' +
|
189 |
-
'<div class="fancybox-toolbar">{{buttons}}</div>' +
|
190 |
-
'<div class="fancybox-navigation">{{arrows}}</div>' +
|
191 |
-
'<div class="fancybox-stage"></div>' +
|
192 |
-
'<div class="fancybox-caption"></div>' +
|
193 |
-
"</div>" +
|
194 |
-
"</div>",
|
195 |
-
|
196 |
-
// Loading indicator template
|
197 |
-
spinnerTpl: '<div class="fancybox-loading"></div>',
|
198 |
-
|
199 |
-
// Error message template
|
200 |
-
errorTpl: '<div class="fancybox-error"><p>{{ERROR}}</p></div>',
|
201 |
-
|
202 |
-
btnTpl: {
|
203 |
-
download:
|
204 |
-
'<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;">' +
|
205 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg>' +
|
206 |
-
"</a>",
|
207 |
-
|
208 |
-
zoom:
|
209 |
-
'<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}">' +
|
210 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg>' +
|
211 |
-
"</button>",
|
212 |
-
|
213 |
-
close:
|
214 |
-
'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
|
215 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg>' +
|
216 |
-
"</button>",
|
217 |
-
|
218 |
-
// Arrows
|
219 |
-
arrowLeft:
|
220 |
-
'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
|
221 |
-
'<div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div>' +
|
222 |
-
"</button>",
|
223 |
-
|
224 |
-
arrowRight:
|
225 |
-
'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
|
226 |
-
'<div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div>' +
|
227 |
-
"</button>",
|
228 |
-
|
229 |
-
// This small close button will be appended to your html/inline/ajax content by default,
|
230 |
-
// if "smallBtn" option is not set to false
|
231 |
-
smallBtn:
|
232 |
-
'<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}">' +
|
233 |
-
'<svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg>' +
|
234 |
-
"</button>"
|
235 |
-
},
|
236 |
-
|
237 |
-
// Container is injected into this element
|
238 |
-
parentEl: "body",
|
239 |
-
|
240 |
-
// Hide browser vertical scrollbars; use at your own risk
|
241 |
-
hideScrollbar: true,
|
242 |
-
|
243 |
-
// Focus handling
|
244 |
-
// ==============
|
245 |
-
|
246 |
-
// Try to focus on the first focusable element after opening
|
247 |
-
autoFocus: true,
|
248 |
-
|
249 |
-
// Put focus back to active element after closing
|
250 |
-
backFocus: true,
|
251 |
-
|
252 |
-
// Do not let user to focus on element outside modal content
|
253 |
-
trapFocus: true,
|
254 |
-
|
255 |
-
// Module specific options
|
256 |
-
// =======================
|
257 |
-
|
258 |
-
fullScreen: {
|
259 |
-
autoStart: false
|
260 |
-
},
|
261 |
-
|
262 |
-
// Set `touch: false` to disable panning/swiping
|
263 |
-
touch: {
|
264 |
-
vertical: true, // Allow to drag content vertically
|
265 |
-
momentum: true // Continue movement after releasing mouse/touch when panning
|
266 |
-
},
|
267 |
-
|
268 |
-
// Hash value when initializing manually,
|
269 |
-
// set `false` to disable hash change
|
270 |
-
hash: null,
|
271 |
-
|
272 |
-
// Customize or add new media types
|
273 |
-
// Example:
|
274 |
-
/*
|
275 |
-
media : {
|
276 |
-
youtube : {
|
277 |
-
params : {
|
278 |
-
autoplay : 0
|
279 |
-
}
|
280 |
-
}
|
281 |
-
}
|
282 |
-
*/
|
283 |
-
media: {},
|
284 |
-
|
285 |
-
slideShow: {
|
286 |
-
autoStart: false,
|
287 |
-
speed: 3000
|
288 |
-
},
|
289 |
-
|
290 |
-
thumbs: {
|
291 |
-
autoStart: false, // Display thumbnails on opening
|
292 |
-
hideOnClose: true, // Hide thumbnail grid when closing animation starts
|
293 |
-
parentEl: ".fancybox-container", // Container is injected into this element
|
294 |
-
axis: "y" // Vertical (y) or horizontal (x) scrolling
|
295 |
-
},
|
296 |
-
|
297 |
-
// Use mousewheel to navigate gallery
|
298 |
-
// If 'auto' - enabled for images only
|
299 |
-
wheel: "auto",
|
300 |
-
|
301 |
-
// Callbacks
|
302 |
-
//==========
|
303 |
-
|
304 |
-
// See Documentation/API/Events for more information
|
305 |
-
// Example:
|
306 |
-
/*
|
307 |
-
afterShow: function( instance, current ) {
|
308 |
-
console.info( 'Clicked element:' );
|
309 |
-
console.info( current.opts.$orig );
|
310 |
-
}
|
311 |
-
*/
|
312 |
-
|
313 |
-
onInit: $.noop, // When instance has been initialized
|
314 |
-
|
315 |
-
beforeLoad: $.noop, // Before the content of a slide is being loaded
|
316 |
-
afterLoad: $.noop, // When the content of a slide is done loading
|
317 |
-
|
318 |
-
beforeShow: $.noop, // Before open animation starts
|
319 |
-
afterShow: $.noop, // When content is done loading and animating
|
320 |
-
|
321 |
-
beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close.
|
322 |
-
afterClose: $.noop, // After instance has been closed
|
323 |
-
|
324 |
-
onActivate: $.noop, // When instance is brought to front
|
325 |
-
onDeactivate: $.noop, // When other instance has been activated
|
326 |
-
|
327 |
-
// Interaction
|
328 |
-
// ===========
|
329 |
-
|
330 |
-
// Use options below to customize taken action when user clicks or double clicks on the fancyBox area,
|
331 |
-
// each option can be string or method that returns value.
|
332 |
-
//
|
333 |
-
// Possible values:
|
334 |
-
// "close" - close instance
|
335 |
-
// "next" - move to next gallery item
|
336 |
-
// "nextOrClose" - move to next gallery item or close if gallery has only one item
|
337 |
-
// "toggleControls" - show/hide controls
|
338 |
-
// "zoom" - zoom image (if loaded)
|
339 |
-
// false - do nothing
|
340 |
-
|
341 |
-
// Clicked on the content
|
342 |
-
clickContent: function(current, event) {
|
343 |
-
return current.type === "image" ? "zoom" : false;
|
344 |
-
},
|
345 |
-
|
346 |
-
// Clicked on the slide
|
347 |
-
clickSlide: "close",
|
348 |
-
|
349 |
-
// Clicked on the background (backdrop) element;
|
350 |
-
// if you have not changed the layout, then most likely you need to use `clickSlide` option
|
351 |
-
clickOutside: "close",
|
352 |
-
|
353 |
-
// Same as previous two, but for double click
|
354 |
-
dblclickContent: false,
|
355 |
-
dblclickSlide: false,
|
356 |
-
dblclickOutside: false,
|
357 |
-
|
358 |
-
// Custom options when mobile device is detected
|
359 |
-
// =============================================
|
360 |
-
|
361 |
-
mobile: {
|
362 |
-
preventCaptionOverlap: false,
|
363 |
-
idleTime: false,
|
364 |
-
clickContent: function(current, event) {
|
365 |
-
return current.type === "image" ? "toggleControls" : false;
|
366 |
-
},
|
367 |
-
clickSlide: function(current, event) {
|
368 |
-
return current.type === "image" ? "toggleControls" : "close";
|
369 |
-
},
|
370 |
-
dblclickContent: function(current, event) {
|
371 |
-
return current.type === "image" ? "zoom" : false;
|
372 |
-
},
|
373 |
-
dblclickSlide: function(current, event) {
|
374 |
-
return current.type === "image" ? "zoom" : false;
|
375 |
-
}
|
376 |
-
},
|
377 |
-
|
378 |
-
// Internationalization
|
379 |
-
// ====================
|
380 |
-
|
381 |
-
lang: "en",
|
382 |
-
i18n: {
|
383 |
-
en: {
|
384 |
-
CLOSE: "Close",
|
385 |
-
NEXT: "Next",
|
386 |
-
PREV: "Previous",
|
387 |
-
ERROR: "The requested content cannot be loaded. <br/> Please try again later.",
|
388 |
-
PLAY_START: "Start slideshow",
|
389 |
-
PLAY_STOP: "Pause slideshow",
|
390 |
-
FULL_SCREEN: "Full screen",
|
391 |
-
THUMBS: "Thumbnails",
|
392 |
-
DOWNLOAD: "Download",
|
393 |
-
SHARE: "Share",
|
394 |
-
ZOOM: "Zoom"
|
395 |
-
},
|
396 |
-
de: {
|
397 |
-
CLOSE: "Schliessen",
|
398 |
-
NEXT: "Weiter",
|
399 |
-
PREV: "Zurück",
|
400 |
-
ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.",
|
401 |
-
PLAY_START: "Diaschau starten",
|
402 |
-
PLAY_STOP: "Diaschau beenden",
|
403 |
-
FULL_SCREEN: "Vollbild",
|
404 |
-
THUMBS: "Vorschaubilder",
|
405 |
-
DOWNLOAD: "Herunterladen",
|
406 |
-
SHARE: "Teilen",
|
407 |
-
ZOOM: "Maßstab"
|
408 |
-
}
|
409 |
-
}
|
410 |
-
};
|
411 |
-
|
412 |
-
// Few useful variables and methods
|
413 |
-
// ================================
|
414 |
-
|
415 |
-
var $W = $(window);
|
416 |
-
var $D = $(document);
|
417 |
-
|
418 |
-
var called = 0;
|
419 |
-
|
420 |
-
// Check if an object is a jQuery object and not a native JavaScript object
|
421 |
-
// ========================================================================
|
422 |
-
var isQuery = function(obj) {
|
423 |
-
return obj && obj.hasOwnProperty && obj instanceof $;
|
424 |
-
};
|
425 |
-
|
426 |
-
// Handle multiple browsers for "requestAnimationFrame" and "cancelAnimationFrame"
|
427 |
-
// ===============================================================================
|
428 |
-
var requestAFrame = (function() {
|
429 |
-
return (
|
430 |
-
window.requestAnimationFrame ||
|
431 |
-
window.webkitRequestAnimationFrame ||
|
432 |
-
window.mozRequestAnimationFrame ||
|
433 |
-
window.oRequestAnimationFrame ||
|
434 |
-
// if all else fails, use setTimeout
|
435 |
-
function(callback) {
|
436 |
-
return window.setTimeout(callback, 1000 / 60);
|
437 |
-
}
|
438 |
-
);
|
439 |
-
})();
|
440 |
-
|
441 |
-
var cancelAFrame = (function() {
|
442 |
-
return (
|
443 |
-
window.cancelAnimationFrame ||
|
444 |
-
window.webkitCancelAnimationFrame ||
|
445 |
-
window.mozCancelAnimationFrame ||
|
446 |
-
window.oCancelAnimationFrame ||
|
447 |
-
function(id) {
|
448 |
-
window.clearTimeout(id);
|
449 |
-
}
|
450 |
-
);
|
451 |
-
})();
|
452 |
-
|
453 |
-
// Detect the supported transition-end event property name
|
454 |
-
// =======================================================
|
455 |
-
var transitionEnd = (function() {
|
456 |
-
var el = document.createElement("fakeelement"),
|
457 |
-
t;
|
458 |
-
|
459 |
-
var transitions = {
|
460 |
-
transition: "transitionend",
|
461 |
-
OTransition: "oTransitionEnd",
|
462 |
-
MozTransition: "transitionend",
|
463 |
-
WebkitTransition: "webkitTransitionEnd"
|
464 |
-
};
|
465 |
-
|
466 |
-
for (t in transitions) {
|
467 |
-
if (el.style[t] !== undefined) {
|
468 |
-
return transitions[t];
|
469 |
-
}
|
470 |
-
}
|
471 |
-
|
472 |
-
return "transitionend";
|
473 |
-
})();
|
474 |
-
|
475 |
-
// Force redraw on an element.
|
476 |
-
// This helps in cases where the browser doesn't redraw an updated element properly
|
477 |
-
// ================================================================================
|
478 |
-
var forceRedraw = function($el) {
|
479 |
-
return $el && $el.length && $el[0].offsetHeight;
|
480 |
-
};
|
481 |
-
|
482 |
-
// Exclude array (`buttons`) options from deep merging
|
483 |
-
// ===================================================
|
484 |
-
var mergeOpts = function(opts1, opts2) {
|
485 |
-
var rez = $.extend(true, {}, opts1, opts2);
|
486 |
-
|
487 |
-
$.each(opts2, function(key, value) {
|
488 |
-
if ($.isArray(value)) {
|
489 |
-
rez[key] = value;
|
490 |
-
}
|
491 |
-
});
|
492 |
-
|
493 |
-
return rez;
|
494 |
-
};
|
495 |
-
|
496 |
-
// How much of an element is visible in viewport
|
497 |
-
// =============================================
|
498 |
-
|
499 |
-
var inViewport = function(elem) {
|
500 |
-
var elemCenter, rez;
|
501 |
-
|
502 |
-
if (!elem || elem.ownerDocument !== document) {
|
503 |
-
return false;
|
504 |
-
}
|
505 |
-
|
506 |
-
$(".fancybox-container").css("pointer-events", "none");
|
507 |
-
|
508 |
-
elemCenter = {
|
509 |
-
x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,
|
510 |
-
y: elem.getBoundingClientRect().top + elem.offsetHeight / 2
|
511 |
-
};
|
512 |
-
|
513 |
-
rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem;
|
514 |
-
|
515 |
-
$(".fancybox-container").css("pointer-events", "");
|
516 |
-
|
517 |
-
return rez;
|
518 |
-
};
|
519 |
-
|
520 |
-
// Class definition
|
521 |
-
// ================
|
522 |
-
|
523 |
-
var FancyBox = function(content, opts, index) {
|
524 |
-
var self = this;
|
525 |
-
|
526 |
-
self.opts = mergeOpts({index: index}, $.fancybox.defaults);
|
527 |
-
|
528 |
-
if ($.isPlainObject(opts)) {
|
529 |
-
self.opts = mergeOpts(self.opts, opts);
|
530 |
-
}
|
531 |
-
|
532 |
-
if ($.fancybox.isMobile) {
|
533 |
-
self.opts = mergeOpts(self.opts, self.opts.mobile);
|
534 |
-
}
|
535 |
-
|
536 |
-
self.id = self.opts.id || ++called;
|
537 |
-
|
538 |
-
self.currIndex = parseInt(self.opts.index, 10) || 0;
|
539 |
-
self.prevIndex = null;
|
540 |
-
|
541 |
-
self.prevPos = null;
|
542 |
-
self.currPos = 0;
|
543 |
-
|
544 |
-
self.firstRun = true;
|
545 |
-
|
546 |
-
// All group items
|
547 |
-
self.group = [];
|
548 |
-
|
549 |
-
// Existing slides (for current, next and previous gallery items)
|
550 |
-
self.slides = {};
|
551 |
-
|
552 |
-
// Create group elements
|
553 |
-
self.addContent(content);
|
554 |
-
|
555 |
-
if (!self.group.length) {
|
556 |
-
return;
|
557 |
-
}
|
558 |
-
|
559 |
-
self.init();
|
560 |
-
};
|
561 |
-
|
562 |
-
$.extend(FancyBox.prototype, {
|
563 |
-
// Create DOM structure
|
564 |
-
// ====================
|
565 |
-
|
566 |
-
init: function() {
|
567 |
-
var self = this,
|
568 |
-
firstItem = self.group[self.currIndex],
|
569 |
-
firstItemOpts = firstItem.opts,
|
570 |
-
$container,
|
571 |
-
buttonStr;
|
572 |
-
|
573 |
-
if (firstItemOpts.closeExisting) {
|
574 |
-
$.fancybox.close(true);
|
575 |
-
}
|
576 |
-
|
577 |
-
// Hide scrollbars
|
578 |
-
// ===============
|
579 |
-
|
580 |
-
$("body").addClass("fancybox-active");
|
581 |
-
|
582 |
-
if (
|
583 |
-
!$.fancybox.getInstance() &&
|
584 |
-
firstItemOpts.hideScrollbar !== false &&
|
585 |
-
!$.fancybox.isMobile &&
|
586 |
-
document.body.scrollHeight > window.innerHeight
|
587 |
-
) {
|
588 |
-
$("head").append(
|
589 |
-
'<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:' +
|
590 |
-
(window.innerWidth - document.documentElement.clientWidth) +
|
591 |
-
"px;}</style>"
|
592 |
-
);
|
593 |
-
|
594 |
-
$("body").addClass("compensate-for-scrollbar");
|
595 |
-
}
|
596 |
-
|
597 |
-
// Build html markup and set references
|
598 |
-
// ====================================
|
599 |
-
|
600 |
-
// Build html code for buttons and insert into main template
|
601 |
-
buttonStr = "";
|
602 |
-
|
603 |
-
$.each(firstItemOpts.buttons, function(index, value) {
|
604 |
-
buttonStr += firstItemOpts.btnTpl[value] || "";
|
605 |
-
});
|
606 |
-
|
607 |
-
// Create markup from base template, it will be initially hidden to
|
608 |
-
// avoid unnecessary work like painting while initializing is not complete
|
609 |
-
$container = $(
|
610 |
-
self.translate(
|
611 |
-
self,
|
612 |
-
firstItemOpts.baseTpl
|
613 |
-
.replace("{{buttons}}", buttonStr)
|
614 |
-
.replace("{{arrows}}", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight)
|
615 |
-
)
|
616 |
-
)
|
617 |
-
.attr("id", "fancybox-container-" + self.id)
|
618 |
-
.addClass(firstItemOpts.baseClass)
|
619 |
-
.data("FancyBox", self)
|
620 |
-
.appendTo(firstItemOpts.parentEl);
|
621 |
-
|
622 |
-
// Create object holding references to jQuery wrapped nodes
|
623 |
-
self.$refs = {
|
624 |
-
container: $container
|
625 |
-
};
|
626 |
-
|
627 |
-
["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function(item) {
|
628 |
-
self.$refs[item] = $container.find(".fancybox-" + item);
|
629 |
-
});
|
630 |
-
|
631 |
-
self.trigger("onInit");
|
632 |
-
|
633 |
-
// Enable events, deactive previous instances
|
634 |
-
self.activate();
|
635 |
-
|
636 |
-
// Build slides, load and reveal content
|
637 |
-
self.jumpTo(self.currIndex);
|
638 |
-
},
|
639 |
-
|
640 |
-
// Simple i18n support - replaces object keys found in template
|
641 |
-
// with corresponding values
|
642 |
-
// ============================================================
|
643 |
-
|
644 |
-
translate: function(obj, str) {
|
645 |
-
var arr = obj.opts.i18n[obj.opts.lang];
|
646 |
-
|
647 |
-
return str.replace(/\{\{(\w+)\}\}/g, function(match, n) {
|
648 |
-
var value = arr[n];
|
649 |
-
|
650 |
-
if (value === undefined) {
|
651 |
-
return match;
|
652 |
-
}
|
653 |
-
|
654 |
-
return value;
|
655 |
-
});
|
656 |
-
},
|
657 |
-
|
658 |
-
// Populate current group with fresh content
|
659 |
-
// Check if each object has valid type and content
|
660 |
-
// ===============================================
|
661 |
-
|
662 |
-
addContent: function(content) {
|
663 |
-
var self = this,
|
664 |
-
items = $.makeArray(content),
|
665 |
-
thumbs;
|
666 |
-
|
667 |
-
$.each(items, function(i, item) {
|
668 |
-
var obj = {},
|
669 |
-
opts = {},
|
670 |
-
$item,
|
671 |
-
type,
|
672 |
-
found,
|
673 |
-
src,
|
674 |
-
srcParts;
|
675 |
-
|
676 |
-
// Step 1 - Make sure we have an object
|
677 |
-
// ====================================
|
678 |
-
|
679 |
-
if ($.isPlainObject(item)) {
|
680 |
-
// We probably have manual usage here, something like
|
681 |
-
// $.fancybox.open( [ { src : "image.jpg", type : "image" } ] )
|
682 |
-
|
683 |
-
obj = item;
|
684 |
-
opts = item.opts || item;
|
685 |
-
} else if ($.type(item) === "object" && $(item).length) {
|
686 |
-
// Here we probably have jQuery collection returned by some selector
|
687 |
-
$item = $(item);
|
688 |
-
|
689 |
-
// Support attributes like `data-options='{"touch" : false}'` and `data-touch='false'`
|
690 |
-
opts = $item.data() || {};
|
691 |
-
opts = $.extend(true, {}, opts, opts.options);
|
692 |
-
|
693 |
-
// Here we store clicked element
|
694 |
-
opts.$orig = $item;
|
695 |
-
|
696 |
-
obj.src = self.opts.src || opts.src || $item.attr("href");
|
697 |
-
|
698 |
-
// Assume that simple syntax is used, for example:
|
699 |
-
// `$.fancybox.open( $("#test"), {} );`
|
700 |
-
if (!obj.type && !obj.src) {
|
701 |
-
obj.type = "inline";
|
702 |
-
obj.src = item;
|
703 |
-
}
|
704 |
-
} else {
|
705 |
-
// Assume we have a simple html code, for example:
|
706 |
-
// $.fancybox.open( '<div><h1>Hi!</h1></div>' );
|
707 |
-
obj = {
|
708 |
-
type: "html",
|
709 |
-
src: item + ""
|
710 |
-
};
|
711 |
-
}
|
712 |
-
|
713 |
-
// Each gallery object has full collection of options
|
714 |
-
obj.opts = $.extend(true, {}, self.opts, opts);
|
715 |
-
|
716 |
-
// Do not merge buttons array
|
717 |
-
if ($.isArray(opts.buttons)) {
|
718 |
-
obj.opts.buttons = opts.buttons;
|
719 |
-
}
|
720 |
-
|
721 |
-
if ($.fancybox.isMobile && obj.opts.mobile) {
|
722 |
-
obj.opts = mergeOpts(obj.opts, obj.opts.mobile);
|
723 |
-
}
|
724 |
-
|
725 |
-
// Step 2 - Make sure we have content type, if not - try to guess
|
726 |
-
// ==============================================================
|
727 |
-
|
728 |
-
type = obj.type || obj.opts.type;
|
729 |
-
src = obj.src || "";
|
730 |
-
|
731 |
-
if (!type && src) {
|
732 |
-
if ((found = src.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))) {
|
733 |
-
type = "video";
|
734 |
-
|
735 |
-
if (!obj.opts.video.format) {
|
736 |
-
obj.opts.video.format = "video/" + (found[1] === "ogv" ? "ogg" : found[1]);
|
737 |
-
}
|
738 |
-
} else if (src.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)) {
|
739 |
-
type = "image";
|
740 |
-
} else if (src.match(/\.(pdf)((\?|#).*)?$/i)) {
|
741 |
-
type = "iframe";
|
742 |
-
} else if (src.charAt(0) === "#") {
|
743 |
-
type = "inline";
|
744 |
-
}
|
745 |
-
}
|
746 |
-
|
747 |
-
if (type) {
|
748 |
-
obj.type = type;
|
749 |
-
} else {
|
750 |
-
self.trigger("objectNeedsType", obj);
|
751 |
-
}
|
752 |
-
|
753 |
-
if (!obj.contentType) {
|
754 |
-
obj.contentType = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1 ? "html" : obj.type;
|
755 |
-
}
|
756 |
-
|
757 |
-
// Step 3 - Some adjustments
|
758 |
-
// =========================
|
759 |
-
|
760 |
-
obj.index = self.group.length;
|
761 |
-
|
762 |
-
if (obj.opts.smallBtn == "auto") {
|
763 |
-
obj.opts.smallBtn = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1;
|
764 |
-
}
|
765 |
-
|
766 |
-
if (obj.opts.toolbar === "auto") {
|
767 |
-
obj.opts.toolbar = !obj.opts.smallBtn;
|
768 |
-
}
|
769 |
-
|
770 |
-
// Find thumbnail image, check if exists and if is in the viewport
|
771 |
-
obj.$thumb = obj.opts.$thumb || null;
|
772 |
-
|
773 |
-
if (obj.opts.$trigger && obj.index === self.opts.index) {
|
774 |
-
obj.$thumb = obj.opts.$trigger.find("img:first");
|
775 |
-
|
776 |
-
if (obj.$thumb.length) {
|
777 |
-
obj.opts.$orig = obj.opts.$trigger;
|
778 |
-
}
|
779 |
-
}
|
780 |
-
|
781 |
-
if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) {
|
782 |
-
obj.$thumb = obj.opts.$orig.find("img:first");
|
783 |
-
}
|
784 |
-
|
785 |
-
if (obj.$thumb && !obj.$thumb.length) {
|
786 |
-
obj.$thumb = null;
|
787 |
-
}
|
788 |
-
|
789 |
-
obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null);
|
790 |
-
|
791 |
-
// "caption" is a "special" option, it can be used to customize caption per gallery item
|
792 |
-
if ($.type(obj.opts.caption) === "function") {
|
793 |
-
obj.opts.caption = obj.opts.caption.apply(item, [self, obj]);
|
794 |
-
}
|
795 |
-
|
796 |
-
if ($.type(self.opts.caption) === "function") {
|
797 |
-
obj.opts.caption = self.opts.caption.apply(item, [self, obj]);
|
798 |
-
}
|
799 |
-
|
800 |
-
// Make sure we have caption as a string or jQuery object
|
801 |
-
if (!(obj.opts.caption instanceof $)) {
|
802 |
-
obj.opts.caption = obj.opts.caption === undefined ? "" : obj.opts.caption + "";
|
803 |
-
}
|
804 |
-
|
805 |
-
// Check if url contains "filter" used to filter the content
|
806 |
-
// Example: "ajax.html #something"
|
807 |
-
if (obj.type === "ajax") {
|
808 |
-
srcParts = src.split(/\s+/, 2);
|
809 |
-
|
810 |
-
if (srcParts.length > 1) {
|
811 |
-
obj.src = srcParts.shift();
|
812 |
-
|
813 |
-
obj.opts.filter = srcParts.shift();
|
814 |
-
}
|
815 |
-
}
|
816 |
-
|
817 |
-
// Hide all buttons and disable interactivity for modal items
|
818 |
-
if (obj.opts.modal) {
|
819 |
-
obj.opts = $.extend(true, obj.opts, {
|
820 |
-
trapFocus: true,
|
821 |
-
// Remove buttons
|
822 |
-
infobar: 0,
|
823 |
-
toolbar: 0,
|
824 |
-
|
825 |
-
smallBtn: 0,
|
826 |
-
|
827 |
-
// Disable keyboard navigation
|
828 |
-
keyboard: 0,
|
829 |
-
|
830 |
-
// Disable some modules
|
831 |
-
slideShow: 0,
|
832 |
-
fullScreen: 0,
|
833 |
-
thumbs: 0,
|
834 |
-
touch: 0,
|
835 |
-
|
836 |
-
// Disable click event handlers
|
837 |
-
clickContent: false,
|
838 |
-
clickSlide: false,
|
839 |
-
clickOutside: false,
|
840 |
-
dblclickContent: false,
|
841 |
-
dblclickSlide: false,
|
842 |
-
dblclickOutside: false
|
843 |
-
});
|
844 |
-
}
|
845 |
-
|
846 |
-
// Step 4 - Add processed object to group
|
847 |
-
// ======================================
|
848 |
-
|
849 |
-
self.group.push(obj);
|
850 |
-
});
|
851 |
-
|
852 |
-
// Update controls if gallery is already opened
|
853 |
-
if (Object.keys(self.slides).length) {
|
854 |
-
self.updateControls();
|
855 |
-
|
856 |
-
// Update thumbnails, if needed
|
857 |
-
thumbs = self.Thumbs;
|
858 |
-
|
859 |
-
if (thumbs && thumbs.isActive) {
|
860 |
-
thumbs.create();
|
861 |
-
|
862 |
-
thumbs.focus();
|
863 |
-
}
|
864 |
-
}
|
865 |
-
},
|
866 |
-
|
867 |
-
// Attach an event handler functions for:
|
868 |
-
// - navigation buttons
|
869 |
-
// - browser scrolling, resizing;
|
870 |
-
// - focusing
|
871 |
-
// - keyboard
|
872 |
-
// - detecting inactivity
|
873 |
-
// ======================================
|
874 |
-
|
875 |
-
addEvents: function() {
|
876 |
-
var self = this;
|
877 |
-
|
878 |
-
self.removeEvents();
|
879 |
-
|
880 |
-
// Make navigation elements clickable
|
881 |
-
// ==================================
|
882 |
-
|
883 |
-
self.$refs.container
|
884 |
-
.on("click.fb-close", "[data-fancybox-close]", function(e) {
|
885 |
-
e.stopPropagation();
|
886 |
-
e.preventDefault();
|
887 |
-
|
888 |
-
self.close(e);
|
889 |
-
})
|
890 |
-
.on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function(e) {
|
891 |
-
e.stopPropagation();
|
892 |
-
e.preventDefault();
|
893 |
-
|
894 |
-
self.previous();
|
895 |
-
})
|
896 |
-
.on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function(e) {
|
897 |
-
e.stopPropagation();
|
898 |
-
e.preventDefault();
|
899 |
-
|
900 |
-
self.next();
|
901 |
-
})
|
902 |
-
.on("click.fb", "[data-fancybox-zoom]", function(e) {
|
903 |
-
// Click handler for zoom button
|
904 |
-
self[self.isScaledDown() ? "scaleToActual" : "scaleToFit"]();
|
905 |
-
});
|
906 |
-
|
907 |
-
// Handle page scrolling and browser resizing
|
908 |
-
// ==========================================
|
909 |
-
|
910 |
-
$W.on("orientationchange.fb resize.fb", function(e) {
|
911 |
-
if (e && e.originalEvent && e.originalEvent.type === "resize") {
|
912 |
-
if (self.requestId) {
|
913 |
-
cancelAFrame(self.requestId);
|
914 |
-
}
|
915 |
-
|
916 |
-
self.requestId = requestAFrame(function() {
|
917 |
-
self.update(e);
|
918 |
-
});
|
919 |
-
} else {
|
920 |
-
if (self.current && self.current.type === "iframe") {
|
921 |
-
self.$refs.stage.hide();
|
922 |
-
}
|
923 |
-
|
924 |
-
setTimeout(function() {
|
925 |
-
self.$refs.stage.show();
|
926 |
-
|
927 |
-
self.update(e);
|
928 |
-
}, $.fancybox.isMobile ? 600 : 250);
|
929 |
-
}
|
930 |
-
});
|
931 |
-
|
932 |
-
$D.on("keydown.fb", function(e) {
|
933 |
-
var instance = $.fancybox ? $.fancybox.getInstance() : null,
|
934 |
-
current = instance.current,
|
935 |
-
keycode = e.keyCode || e.which;
|
936 |
-
|
937 |
-
// Trap keyboard focus inside of the modal
|
938 |
-
// =======================================
|
939 |
-
|
940 |
-
if (keycode == 9) {
|
941 |
-
if (current.opts.trapFocus) {
|
942 |
-
self.focus(e);
|
943 |
-
}
|
944 |
-
|
945 |
-
return;
|
946 |
-
}
|
947 |
-
|
948 |
-
// Enable keyboard navigation
|
949 |
-
// ==========================
|
950 |
-
|
951 |
-
if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is("input") || $(e.target).is("textarea")) {
|
952 |
-
return;
|
953 |
-
}
|
954 |
-
|
955 |
-
// Backspace and Esc keys
|
956 |
-
if (keycode === 8 || keycode === 27) {
|
957 |
-
e.preventDefault();
|
958 |
-
|
959 |
-
self.close(e);
|
960 |
-
|
961 |
-
return;
|
962 |
-
}
|
963 |
-
|
964 |
-
// Left arrow and Up arrow
|
965 |
-
if (keycode === 37 || keycode === 38) {
|
966 |
-
e.preventDefault();
|
967 |
-
|
968 |
-
self.previous();
|
969 |
-
|
970 |
-
return;
|
971 |
-
}
|
972 |
-
|
973 |
-
// Righ arrow and Down arrow
|
974 |
-
if (keycode === 39 || keycode === 40) {
|
975 |
-
e.preventDefault();
|
976 |
-
|
977 |
-
self.next();
|
978 |
-
|
979 |
-
return;
|
980 |
-
}
|
981 |
-
|
982 |
-
self.trigger("afterKeydown", e, keycode);
|
983 |
-
});
|
984 |
-
|
985 |
-
// Hide controls after some inactivity period
|
986 |
-
if (self.group[self.currIndex].opts.idleTime) {
|
987 |
-
self.idleSecondsCounter = 0;
|
988 |
-
|
989 |
-
$D.on(
|
990 |
-
"mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",
|
991 |
-
function(e) {
|
992 |
-
self.idleSecondsCounter = 0;
|
993 |
-
|
994 |
-
if (self.isIdle) {
|
995 |
-
self.showControls();
|
996 |
-
}
|
997 |
-
|
998 |
-
self.isIdle = false;
|
999 |
-
}
|
1000 |
-
);
|
1001 |
-
|
1002 |
-
self.idleInterval = window.setInterval(function() {
|
1003 |
-
self.idleSecondsCounter++;
|
1004 |
-
|
1005 |
-
if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) {
|
1006 |
-
self.isIdle = true;
|
1007 |
-
self.idleSecondsCounter = 0;
|
1008 |
-
|
1009 |
-
self.hideControls();
|
1010 |
-
}
|
1011 |
-
}, 1000);
|
1012 |
-
}
|
1013 |
-
},
|
1014 |
-
|
1015 |
-
// Remove events added by the core
|
1016 |
-
// ===============================
|
1017 |
-
|
1018 |
-
removeEvents: function() {
|
1019 |
-
var self = this;
|
1020 |
-
|
1021 |
-
$W.off("orientationchange.fb resize.fb");
|
1022 |
-
$D.off("keydown.fb .fb-idle");
|
1023 |
-
|
1024 |
-
this.$refs.container.off(".fb-close .fb-prev .fb-next");
|
1025 |
-
|
1026 |
-
if (self.idleInterval) {
|
1027 |
-
window.clearInterval(self.idleInterval);
|
1028 |
-
|
1029 |
-
self.idleInterval = null;
|
1030 |
-
}
|
1031 |
-
},
|
1032 |
-
|
1033 |
-
// Change to previous gallery item
|
1034 |
-
// ===============================
|
1035 |
-
|
1036 |
-
previous: function(duration) {
|
1037 |
-
return this.jumpTo(this.currPos - 1, duration);
|
1038 |
-
},
|
1039 |
-
|
1040 |
-
// Change to next gallery item
|
1041 |
-
// ===========================
|
1042 |
-
|
1043 |
-
next: function(duration) {
|
1044 |
-
return this.jumpTo(this.currPos + 1, duration);
|
1045 |
-
},
|
1046 |
-
|
1047 |
-
// Switch to selected gallery item
|
1048 |
-
// ===============================
|
1049 |
-
|
1050 |
-
jumpTo: function(pos, duration) {
|
1051 |
-
var self = this,
|
1052 |
-
groupLen = self.group.length,
|
1053 |
-
firstRun,
|
1054 |
-
isMoved,
|
1055 |
-
loop,
|
1056 |
-
current,
|
1057 |
-
previous,
|
1058 |
-
slidePos,
|
1059 |
-
stagePos,
|
1060 |
-
prop,
|
1061 |
-
diff;
|
1062 |
-
|
1063 |
-
if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) {
|
1064 |
-
return;
|
1065 |
-
}
|
1066 |
-
|
1067 |
-
// Should loop?
|
1068 |
-
pos = parseInt(pos, 10);
|
1069 |
-
loop = self.current ? self.current.opts.loop : self.opts.loop;
|
1070 |
-
|
1071 |
-
if (!loop && (pos < 0 || pos >= groupLen)) {
|
1072 |
-
return false;
|
1073 |
-
}
|
1074 |
-
|
1075 |
-
// Check if opening for the first time; this helps to speed things up
|
1076 |
-
firstRun = self.firstRun = !Object.keys(self.slides).length;
|
1077 |
-
|
1078 |
-
// Create slides
|
1079 |
-
previous = self.current;
|
1080 |
-
|
1081 |
-
self.prevIndex = self.currIndex;
|
1082 |
-
self.prevPos = self.currPos;
|
1083 |
-
|
1084 |
-
current = self.createSlide(pos);
|
1085 |
-
|
1086 |
-
if (groupLen > 1) {
|
1087 |
-
if (loop || current.index < groupLen - 1) {
|
1088 |
-
self.createSlide(pos + 1);
|
1089 |
-
}
|
1090 |
-
|
1091 |
-
if (loop || current.index > 0) {
|
1092 |
-
self.createSlide(pos - 1);
|
1093 |
-
}
|
1094 |
-
}
|
1095 |
-
|
1096 |
-
self.current = current;
|
1097 |
-
self.currIndex = current.index;
|
1098 |
-
self.currPos = current.pos;
|
1099 |
-
|
1100 |
-
self.trigger("beforeShow", firstRun);
|
1101 |
-
|
1102 |
-
self.updateControls();
|
1103 |
-
|
1104 |
-
// Validate duration length
|
1105 |
-
current.forcedDuration = undefined;
|
1106 |
-
|
1107 |
-
if ($.isNumeric(duration)) {
|
1108 |
-
current.forcedDuration = duration;
|
1109 |
-
} else {
|
1110 |
-
duration = current.opts[firstRun ? "animationDuration" : "transitionDuration"];
|
1111 |
-
}
|
1112 |
-
|
1113 |
-
duration = parseInt(duration, 10);
|
1114 |
-
|
1115 |
-
// Check if user has swiped the slides or if still animating
|
1116 |
-
isMoved = self.isMoved(current);
|
1117 |
-
|
1118 |
-
// Make sure current slide is visible
|
1119 |
-
current.$slide.addClass("fancybox-slide--current");
|
1120 |
-
|
1121 |
-
// Fresh start - reveal container, current slide and start loading content
|
1122 |
-
if (firstRun) {
|
1123 |
-
if (current.opts.animationEffect && duration) {
|
1124 |
-
self.$refs.container.css("transition-duration", duration + "ms");
|
1125 |
-
}
|
1126 |
-
|
1127 |
-
self.$refs.container.addClass("fancybox-is-open").trigger("focus");
|
1128 |
-
|
1129 |
-
// Attempt to load content into slide
|
1130 |
-
// This will later call `afterLoad` -> `revealContent`
|
1131 |
-
self.loadSlide(current);
|
1132 |
-
|
1133 |
-
self.preload("image");
|
1134 |
-
|
1135 |
-
return;
|
1136 |
-
}
|
1137 |
-
|
1138 |
-
// Get actual slide/stage positions (before cleaning up)
|
1139 |
-
slidePos = $.fancybox.getTranslate(previous.$slide);
|
1140 |
-
stagePos = $.fancybox.getTranslate(self.$refs.stage);
|
1141 |
-
|
1142 |
-
// Clean up all slides
|
1143 |
-
$.each(self.slides, function(index, slide) {
|
1144 |
-
$.fancybox.stop(slide.$slide, true);
|
1145 |
-
});
|
1146 |
-
|
1147 |
-
if (previous.pos !== current.pos) {
|
1148 |
-
previous.isComplete = false;
|
1149 |
-
}
|
1150 |
-
|
1151 |
-
previous.$slide.removeClass("fancybox-slide--complete fancybox-slide--current");
|
1152 |
-
|
1153 |
-
// If slides are out of place, then animate them to correct position
|
1154 |
-
if (isMoved) {
|
1155 |
-
// Calculate horizontal swipe distance
|
1156 |
-
diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter);
|
1157 |
-
|
1158 |
-
$.each(self.slides, function(index, slide) {
|
1159 |
-
slide.$slide.removeClass("fancybox-animated").removeClass(function(index, className) {
|
1160 |
-
return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
|
1161 |
-
});
|
1162 |
-
|
1163 |
-
// Make sure that each slide is in equal distance
|
1164 |
-
// This is mostly needed for freshly added slides, because they are not yet positioned
|
1165 |
-
var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter;
|
1166 |
-
|
1167 |
-
$.fancybox.setTranslate(slide.$slide, {top: 0, left: leftPos - stagePos.left + diff});
|
1168 |
-
|
1169 |
-
if (slide.pos !== current.pos) {
|
1170 |
-
slide.$slide.addClass("fancybox-slide--" + (slide.pos > current.pos ? "next" : "previous"));
|
1171 |
-
}
|
1172 |
-
|
1173 |
-
// Redraw to make sure that transition will start
|
1174 |
-
forceRedraw(slide.$slide);
|
1175 |
-
|
1176 |
-
// Animate the slide
|
1177 |
-
$.fancybox.animate(
|
1178 |
-
slide.$slide,
|
1179 |
-
{
|
1180 |
-
top: 0,
|
1181 |
-
left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter
|
1182 |
-
},
|
1183 |
-
duration,
|
1184 |
-
function() {
|
1185 |
-
slide.$slide
|
1186 |
-
.css({
|
1187 |
-
transform: "",
|
1188 |
-
opacity: ""
|
1189 |
-
})
|
1190 |
-
.removeClass("fancybox-slide--next fancybox-slide--previous");
|
1191 |
-
|
1192 |
-
if (slide.pos === self.currPos) {
|
1193 |
-
self.complete();
|
1194 |
-
}
|
1195 |
-
}
|
1196 |
-
);
|
1197 |
-
});
|
1198 |
-
} else if (duration && current.opts.transitionEffect) {
|
1199 |
-
// Set transition effect for previously active slide
|
1200 |
-
prop = "fancybox-animated fancybox-fx-" + current.opts.transitionEffect;
|
1201 |
-
|
1202 |
-
previous.$slide.addClass("fancybox-slide--" + (previous.pos > current.pos ? "next" : "previous"));
|
1203 |
-
|
1204 |
-
$.fancybox.animate(
|
1205 |
-
previous.$slide,
|
1206 |
-
prop,
|
1207 |
-
duration,
|
1208 |
-
function() {
|
1209 |
-
previous.$slide.removeClass(prop).removeClass("fancybox-slide--next fancybox-slide--previous");
|
1210 |
-
},
|
1211 |
-
false
|
1212 |
-
);
|
1213 |
-
}
|
1214 |
-
|
1215 |
-
if (current.isLoaded) {
|
1216 |
-
self.revealContent(current);
|
1217 |
-
} else {
|
1218 |
-
self.loadSlide(current);
|
1219 |
-
}
|
1220 |
-
|
1221 |
-
self.preload("image");
|
1222 |
-
},
|
1223 |
-
|
1224 |
-
// Create new "slide" element
|
1225 |
-
// These are gallery items that are actually added to DOM
|
1226 |
-
// =======================================================
|
1227 |
-
|
1228 |
-
createSlide: function(pos) {
|
1229 |
-
var self = this,
|
1230 |
-
$slide,
|
1231 |
-
index;
|
1232 |
-
|
1233 |
-
index = pos % self.group.length;
|
1234 |
-
index = index < 0 ? self.group.length + index : index;
|
1235 |
-
|
1236 |
-
if (!self.slides[pos] && self.group[index]) {
|
1237 |
-
$slide = $('<div class="fancybox-slide"></div>').appendTo(self.$refs.stage);
|
1238 |
-
|
1239 |
-
self.slides[pos] = $.extend(true, {}, self.group[index], {
|
1240 |
-
pos: pos,
|
1241 |
-
$slide: $slide,
|
1242 |
-
isLoaded: false
|
1243 |
-
});
|
1244 |
-
|
1245 |
-
self.updateSlide(self.slides[pos]);
|
1246 |
-
}
|
1247 |
-
|
1248 |
-
return self.slides[pos];
|
1249 |
-
},
|
1250 |
-
|
1251 |
-
// Scale image to the actual size of the image;
|
1252 |
-
// x and y values should be relative to the slide
|
1253 |
-
// ==============================================
|
1254 |
-
|
1255 |
-
scaleToActual: function(x, y, duration) {
|
1256 |
-
var self = this,
|
1257 |
-
current = self.current,
|
1258 |
-
$content = current.$content,
|
1259 |
-
canvasWidth = $.fancybox.getTranslate(current.$slide).width,
|
1260 |
-
canvasHeight = $.fancybox.getTranslate(current.$slide).height,
|
1261 |
-
newImgWidth = current.width,
|
1262 |
-
newImgHeight = current.height,
|
1263 |
-
imgPos,
|
1264 |
-
posX,
|
1265 |
-
posY,
|
1266 |
-
scaleX,
|
1267 |
-
scaleY;
|
1268 |
-
|
1269 |
-
if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) {
|
1270 |
-
return;
|
1271 |
-
}
|
1272 |
-
|
1273 |
-
self.isAnimating = true;
|
1274 |
-
|
1275 |
-
$.fancybox.stop($content);
|
1276 |
-
|
1277 |
-
x = x === undefined ? canvasWidth * 0.5 : x;
|
1278 |
-
y = y === undefined ? canvasHeight * 0.5 : y;
|
1279 |
-
|
1280 |
-
imgPos = $.fancybox.getTranslate($content);
|
1281 |
-
|
1282 |
-
imgPos.top -= $.fancybox.getTranslate(current.$slide).top;
|
1283 |
-
imgPos.left -= $.fancybox.getTranslate(current.$slide).left;
|
1284 |
-
|
1285 |
-
scaleX = newImgWidth / imgPos.width;
|
1286 |
-
scaleY = newImgHeight / imgPos.height;
|
1287 |
-
|
1288 |
-
// Get center position for original image
|
1289 |
-
posX = canvasWidth * 0.5 - newImgWidth * 0.5;
|
1290 |
-
posY = canvasHeight * 0.5 - newImgHeight * 0.5;
|
1291 |
-
|
1292 |
-
// Make sure image does not move away from edges
|
1293 |
-
if (newImgWidth > canvasWidth) {
|
1294 |
-
posX = imgPos.left * scaleX - (x * scaleX - x);
|
1295 |
-
|
1296 |
-
if (posX > 0) {
|
1297 |
-
posX = 0;
|
1298 |
-
}
|
1299 |
-
|
1300 |
-
if (posX < canvasWidth - newImgWidth) {
|
1301 |
-
posX = canvasWidth - newImgWidth;
|
1302 |
-
}
|
1303 |
-
}
|
1304 |
-
|
1305 |
-
if (newImgHeight > canvasHeight) {
|
1306 |
-
posY = imgPos.top * scaleY - (y * scaleY - y);
|
1307 |
-
|
1308 |
-
if (posY > 0) {
|
1309 |
-
posY = 0;
|
1310 |
-
}
|
1311 |
-
|
1312 |
-
if (posY < canvasHeight - newImgHeight) {
|
1313 |
-
posY = canvasHeight - newImgHeight;
|
1314 |
-
}
|
1315 |
-
}
|
1316 |
-
|
1317 |
-
self.updateCursor(newImgWidth, newImgHeight);
|
1318 |
-
|
1319 |
-
$.fancybox.animate(
|
1320 |
-
$content,
|
1321 |
-
{
|
1322 |
-
top: posY,
|
1323 |
-
left: posX,
|
1324 |
-
scaleX: scaleX,
|
1325 |
-
scaleY: scaleY
|
1326 |
-
},
|
1327 |
-
duration || 330,
|
1328 |
-
function() {
|
1329 |
-
self.isAnimating = false;
|
1330 |
-
}
|
1331 |
-
);
|
1332 |
-
|
1333 |
-
// Stop slideshow
|
1334 |
-
if (self.SlideShow && self.SlideShow.isActive) {
|
1335 |
-
self.SlideShow.stop();
|
1336 |
-
}
|
1337 |
-
},
|
1338 |
-
|
1339 |
-
// Scale image to fit inside parent element
|
1340 |
-
// ========================================
|
1341 |
-
|
1342 |
-
scaleToFit: function(duration) {
|
1343 |
-
var self = this,
|
1344 |
-
current = self.current,
|
1345 |
-
$content = current.$content,
|
1346 |
-
end;
|
1347 |
-
|
1348 |
-
if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) {
|
1349 |
-
return;
|
1350 |
-
}
|
1351 |
-
|
1352 |
-
self.isAnimating = true;
|
1353 |
-
|
1354 |
-
$.fancybox.stop($content);
|
1355 |
-
|
1356 |
-
end = self.getFitPos(current);
|
1357 |
-
|
1358 |
-
self.updateCursor(end.width, end.height);
|
1359 |
-
|
1360 |
-
$.fancybox.animate(
|
1361 |
-
$content,
|
1362 |
-
{
|
1363 |
-
top: end.top,
|
1364 |
-
left: end.left,
|
1365 |
-
scaleX: end.width / $content.width(),
|
1366 |
-
scaleY: end.height / $content.height()
|
1367 |
-
},
|
1368 |
-
duration || 330,
|
1369 |
-
function() {
|
1370 |
-
self.isAnimating = false;
|
1371 |
-
}
|
1372 |
-
);
|
1373 |
-
},
|
1374 |
-
|
1375 |
-
// Calculate image size to fit inside viewport
|
1376 |
-
// ===========================================
|
1377 |
-
|
1378 |
-
getFitPos: function(slide) {
|
1379 |
-
var self = this,
|
1380 |
-
$content = slide.$content,
|
1381 |
-
$slide = slide.$slide,
|
1382 |
-
width = slide.width || slide.opts.width,
|
1383 |
-
height = slide.height || slide.opts.height,
|
1384 |
-
maxWidth,
|
1385 |
-
maxHeight,
|
1386 |
-
minRatio,
|
1387 |
-
aspectRatio,
|
1388 |
-
rez = {};
|
1389 |
-
|
1390 |
-
if (!slide.isLoaded || !$content || !$content.length) {
|
1391 |
-
return false;
|
1392 |
-
}
|
1393 |
-
|
1394 |
-
maxWidth = $.fancybox.getTranslate(self.$refs.stage).width;
|
1395 |
-
maxHeight = $.fancybox.getTranslate(self.$refs.stage).height;
|
1396 |
-
|
1397 |
-
maxWidth -=
|
1398 |
-
parseFloat($slide.css("paddingLeft")) +
|
1399 |
-
parseFloat($slide.css("paddingRight")) +
|
1400 |
-
parseFloat($content.css("marginLeft")) +
|
1401 |
-
parseFloat($content.css("marginRight"));
|
1402 |
-
|
1403 |
-
maxHeight -=
|
1404 |
-
parseFloat($slide.css("paddingTop")) +
|
1405 |
-
parseFloat($slide.css("paddingBottom")) +
|
1406 |
-
parseFloat($content.css("marginTop")) +
|
1407 |
-
parseFloat($content.css("marginBottom"));
|
1408 |
-
|
1409 |
-
if (!width || !height) {
|
1410 |
-
width = maxWidth;
|
1411 |
-
height = maxHeight;
|
1412 |
-
}
|
1413 |
-
|
1414 |
-
minRatio = Math.min(1, maxWidth / width, maxHeight / height);
|
1415 |
-
|
1416 |
-
width = minRatio * width;
|
1417 |
-
height = minRatio * height;
|
1418 |
-
|
1419 |
-
// Adjust width/height to precisely fit into container
|
1420 |
-
if (width > maxWidth - 0.5) {
|
1421 |
-
width = maxWidth;
|
1422 |
-
}
|
1423 |
-
|
1424 |
-
if (height > maxHeight - 0.5) {
|
1425 |
-
height = maxHeight;
|
1426 |
-
}
|
1427 |
-
|
1428 |
-
if (slide.type === "image") {
|
1429 |
-
rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css("paddingTop"));
|
1430 |
-
rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css("paddingLeft"));
|
1431 |
-
} else if (slide.contentType === "video") {
|
1432 |
-
// Force aspect ratio for the video
|
1433 |
-
// "I say the whole world must learn of our peaceful ways… by force!"
|
1434 |
-
aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9;
|
1435 |
-
|
1436 |
-
if (height > width / aspectRatio) {
|
1437 |
-
height = width / aspectRatio;
|
1438 |
-
} else if (width > height * aspectRatio) {
|
1439 |
-
width = height * aspectRatio;
|
1440 |
-
}
|
1441 |
-
}
|
1442 |
-
|
1443 |
-
rez.width = width;
|
1444 |
-
rez.height = height;
|
1445 |
-
|
1446 |
-
return rez;
|
1447 |
-
},
|
1448 |
-
|
1449 |
-
// Update content size and position for all slides
|
1450 |
-
// ==============================================
|
1451 |
-
|
1452 |
-
update: function(e) {
|
1453 |
-
var self = this;
|
1454 |
-
|
1455 |
-
$.each(self.slides, function(key, slide) {
|
1456 |
-
self.updateSlide(slide, e);
|
1457 |
-
});
|
1458 |
-
},
|
1459 |
-
|
1460 |
-
// Update slide content position and size
|
1461 |
-
// ======================================
|
1462 |
-
|
1463 |
-
updateSlide: function(slide, e) {
|
1464 |
-
var self = this,
|
1465 |
-
$content = slide && slide.$content,
|
1466 |
-
width = slide.width || slide.opts.width,
|
1467 |
-
height = slide.height || slide.opts.height,
|
1468 |
-
$slide = slide.$slide;
|
1469 |
-
|
1470 |
-
// First, prevent caption overlap, if needed
|
1471 |
-
self.adjustCaption(slide);
|
1472 |
-
|
1473 |
-
// Then resize content to fit inside the slide
|
1474 |
-
if ($content && (width || height || slide.contentType === "video") && !slide.hasError) {
|
1475 |
-
$.fancybox.stop($content);
|
1476 |
-
|
1477 |
-
$.fancybox.setTranslate($content, self.getFitPos(slide));
|
1478 |
-
|
1479 |
-
if (slide.pos === self.currPos) {
|
1480 |
-
self.isAnimating = false;
|
1481 |
-
|
1482 |
-
self.updateCursor();
|
1483 |
-
}
|
1484 |
-
}
|
1485 |
-
|
1486 |
-
// Then some adjustments
|
1487 |
-
self.adjustLayout(slide);
|
1488 |
-
|
1489 |
-
if ($slide.length) {
|
1490 |
-
$slide.trigger("refresh");
|
1491 |
-
|
1492 |
-
if (slide.pos === self.currPos) {
|
1493 |
-
self.$refs.toolbar
|
1494 |
-
.add(self.$refs.navigation.find(".fancybox-button--arrow_right"))
|
1495 |
-
.toggleClass("compensate-for-scrollbar", $slide.get(0).scrollHeight > $slide.get(0).clientHeight);
|
1496 |
-
}
|
1497 |
-
}
|
1498 |
-
|
1499 |
-
self.trigger("onUpdate", slide, e);
|
1500 |
-
},
|
1501 |
-
|
1502 |
-
// Horizontally center slide
|
1503 |
-
// =========================
|
1504 |
-
|
1505 |
-
centerSlide: function(duration) {
|
1506 |
-
var self = this,
|
1507 |
-
current = self.current,
|
1508 |
-
$slide = current.$slide;
|
1509 |
-
|
1510 |
-
if (self.isClosing || !current) {
|
1511 |
-
return;
|
1512 |
-
}
|
1513 |
-
|
1514 |
-
$slide.siblings().css({
|
1515 |
-
transform: "",
|
1516 |
-
opacity: ""
|
1517 |
-
});
|
1518 |
-
|
1519 |
-
$slide
|
1520 |
-
.parent()
|
1521 |
-
.children()
|
1522 |
-
.removeClass("fancybox-slide--previous fancybox-slide--next");
|
1523 |
-
|
1524 |
-
$.fancybox.animate(
|
1525 |
-
$slide,
|
1526 |
-
{
|
1527 |
-
top: 0,
|
1528 |
-
left: 0,
|
1529 |
-
opacity: 1
|
1530 |
-
},
|
1531 |
-
duration === undefined ? 0 : duration,
|
1532 |
-
function() {
|
1533 |
-
// Clean up
|
1534 |
-
$slide.css({
|
1535 |
-
transform: "",
|
1536 |
-
opacity: ""
|
1537 |
-
});
|
1538 |
-
|
1539 |
-
if (!current.isComplete) {
|
1540 |
-
self.complete();
|
1541 |
-
}
|
1542 |
-
},
|
1543 |
-
false
|
1544 |
-
);
|
1545 |
-
},
|
1546 |
-
|
1547 |
-
// Check if current slide is moved (swiped)
|
1548 |
-
// ========================================
|
1549 |
-
|
1550 |
-
isMoved: function(slide) {
|
1551 |
-
var current = slide || this.current,
|
1552 |
-
slidePos,
|
1553 |
-
stagePos;
|
1554 |
-
|
1555 |
-
if (!current) {
|
1556 |
-
return false;
|
1557 |
-
}
|
1558 |
-
|
1559 |
-
stagePos = $.fancybox.getTranslate(this.$refs.stage);
|
1560 |
-
slidePos = $.fancybox.getTranslate(current.$slide);
|
1561 |
-
|
1562 |
-
return (
|
1563 |
-
!current.$slide.hasClass("fancybox-animated") &&
|
1564 |
-
(Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5)
|
1565 |
-
);
|
1566 |
-
},
|
1567 |
-
|
1568 |
-
// Update cursor style depending if content can be zoomed
|
1569 |
-
// ======================================================
|
1570 |
-
|
1571 |
-
updateCursor: function(nextWidth, nextHeight) {
|
1572 |
-
var self = this,
|
1573 |
-
current = self.current,
|
1574 |
-
$container = self.$refs.container,
|
1575 |
-
canPan,
|
1576 |
-
isZoomable;
|
1577 |
-
|
1578 |
-
if (!current || self.isClosing || !self.Guestures) {
|
1579 |
-
return;
|
1580 |
-
}
|
1581 |
-
|
1582 |
-
$container.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan");
|
1583 |
-
|
1584 |
-
canPan = self.canPan(nextWidth, nextHeight);
|
1585 |
-
|
1586 |
-
isZoomable = canPan ? true : self.isZoomable();
|
1587 |
-
|
1588 |
-
$container.toggleClass("fancybox-is-zoomable", isZoomable);
|
1589 |
-
|
1590 |
-
$("[data-fancybox-zoom]").prop("disabled", !isZoomable);
|
1591 |
-
|
1592 |
-
if (canPan) {
|
1593 |
-
$container.addClass("fancybox-can-pan");
|
1594 |
-
} else if (
|
1595 |
-
isZoomable &&
|
1596 |
-
(current.opts.clickContent === "zoom" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == "zoom"))
|
1597 |
-
) {
|
1598 |
-
$container.addClass("fancybox-can-zoomIn");
|
1599 |
-
} else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== "video") {
|
1600 |
-
$container.addClass("fancybox-can-swipe");
|
1601 |
-
}
|
1602 |
-
},
|
1603 |
-
|
1604 |
-
// Check if current slide is zoomable
|
1605 |
-
// ==================================
|
1606 |
-
|
1607 |
-
isZoomable: function() {
|
1608 |
-
var self = this,
|
1609 |
-
current = self.current,
|
1610 |
-
fitPos;
|
1611 |
-
|
1612 |
-
// Assume that slide is zoomable if:
|
1613 |
-
// - image is still loading
|
1614 |
-
// - actual size of the image is smaller than available area
|
1615 |
-
if (current && !self.isClosing && current.type === "image" && !current.hasError) {
|
1616 |
-
if (!current.isLoaded) {
|
1617 |
-
return true;
|
1618 |
-
}
|
1619 |
-
|
1620 |
-
fitPos = self.getFitPos(current);
|
1621 |
-
|
1622 |
-
if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) {
|
1623 |
-
return true;
|
1624 |
-
}
|
1625 |
-
}
|
1626 |
-
|
1627 |
-
return false;
|
1628 |
-
},
|
1629 |
-
|
1630 |
-
// Check if current image dimensions are smaller than actual
|
1631 |
-
// =========================================================
|
1632 |
-
|
1633 |
-
isScaledDown: function(nextWidth, nextHeight) {
|
1634 |
-
var self = this,
|
1635 |
-
rez = false,
|
1636 |
-
current = self.current,
|
1637 |
-
$content = current.$content;
|
1638 |
-
|
1639 |
-
if (nextWidth !== undefined && nextHeight !== undefined) {
|
1640 |
-
rez = nextWidth < current.width && nextHeight < current.height;
|
1641 |
-
} else if ($content) {
|
1642 |
-
rez = $.fancybox.getTranslate($content);
|
1643 |
-
rez = rez.width < current.width && rez.height < current.height;
|
1644 |
-
}
|
1645 |
-
|
1646 |
-
return rez;
|
1647 |
-
},
|
1648 |
-
|
1649 |
-
// Check if image dimensions exceed parent element
|
1650 |
-
// ===============================================
|
1651 |
-
|
1652 |
-
canPan: function(nextWidth, nextHeight) {
|
1653 |
-
var self = this,
|
1654 |
-
current = self.current,
|
1655 |
-
pos = null,
|
1656 |
-
rez = false;
|
1657 |
-
|
1658 |
-
if (current.type === "image" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) {
|
1659 |
-
rez = self.getFitPos(current);
|
1660 |
-
|
1661 |
-
if (nextWidth !== undefined && nextHeight !== undefined) {
|
1662 |
-
pos = {width: nextWidth, height: nextHeight};
|
1663 |
-
} else if (current.isComplete) {
|
1664 |
-
pos = $.fancybox.getTranslate(current.$content);
|
1665 |
-
}
|
1666 |
-
|
1667 |
-
if (pos && rez) {
|
1668 |
-
rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5;
|
1669 |
-
}
|
1670 |
-
}
|
1671 |
-
|
1672 |
-
return rez;
|
1673 |
-
},
|
1674 |
-
|
1675 |
-
// Load content into the slide
|
1676 |
-
// ===========================
|
1677 |
-
|
1678 |
-
loadSlide: function(slide) {
|
1679 |
-
var self = this,
|
1680 |
-
type,
|
1681 |
-
$slide,
|
1682 |
-
ajaxLoad;
|
1683 |
-
|
1684 |
-
if (slide.isLoading || slide.isLoaded) {
|
1685 |
-
return;
|
1686 |
-
}
|
1687 |
-
|
1688 |
-
slide.isLoading = true;
|
1689 |
-
|
1690 |
-
if (self.trigger("beforeLoad", slide) === false) {
|
1691 |
-
slide.isLoading = false;
|
1692 |
-
|
1693 |
-
return false;
|
1694 |
-
}
|
1695 |
-
|
1696 |
-
type = slide.type;
|
1697 |
-
$slide = slide.$slide;
|
1698 |
-
|
1699 |
-
$slide
|
1700 |
-
.off("refresh")
|
1701 |
-
.trigger("onReset")
|
1702 |
-
.addClass(slide.opts.slideClass);
|
1703 |
-
|
1704 |
-
// Create content depending on the type
|
1705 |
-
switch (type) {
|
1706 |
-
case "image":
|
1707 |
-
self.setImage(slide);
|
1708 |
-
|
1709 |
-
break;
|
1710 |
-
|
1711 |
-
case "iframe":
|
1712 |
-
self.setIframe(slide);
|
1713 |
-
|
1714 |
-
break;
|
1715 |
-
|
1716 |
-
case "html":
|
1717 |
-
self.setContent(slide, slide.src || slide.content);
|
1718 |
-
|
1719 |
-
break;
|
1720 |
-
|
1721 |
-
case "video":
|
1722 |
-
self.setContent(
|
1723 |
-
slide,
|
1724 |
-
slide.opts.video.tpl
|
1725 |
-
.replace(/\{\{src\}\}/gi, slide.src)
|
1726 |
-
.replace("{{format}}", slide.opts.videoFormat || slide.opts.video.format || "")
|
1727 |
-
.replace("{{poster}}", slide.thumb || "")
|
1728 |
-
);
|
1729 |
-
|
1730 |
-
break;
|
1731 |
-
|
1732 |
-
case "inline":
|
1733 |
-
if ($(slide.src).length) {
|
1734 |
-
self.setContent(slide, $(slide.src));
|
1735 |
-
} else {
|
1736 |
-
self.setError(slide);
|
1737 |
-
}
|
1738 |
-
|
1739 |
-
break;
|
1740 |
-
|
1741 |
-
case "ajax":
|
1742 |
-
self.showLoading(slide);
|
1743 |
-
|
1744 |
-
ajaxLoad = $.ajax(
|
1745 |
-
$.extend({}, slide.opts.ajax.settings, {
|
1746 |
-
url: slide.src,
|
1747 |
-
success: function(data, textStatus) {
|
1748 |
-
if (textStatus === "success") {
|
1749 |
-
self.setContent(slide, data);
|
1750 |
-
}
|
1751 |
-
},
|
1752 |
-
error: function(jqXHR, textStatus) {
|
1753 |
-
if (jqXHR && textStatus !== "abort") {
|
1754 |
-
self.setError(slide);
|
1755 |
-
}
|
1756 |
-
}
|
1757 |
-
})
|
1758 |
-
);
|
1759 |
-
|
1760 |
-
$slide.one("onReset", function() {
|
1761 |
-
ajaxLoad.abort();
|
1762 |
-
});
|
1763 |
-
|
1764 |
-
break;
|
1765 |
-
|
1766 |
-
default:
|
1767 |
-
self.setError(slide);
|
1768 |
-
|
1769 |
-
break;
|
1770 |
-
}
|
1771 |
-
|
1772 |
-
return true;
|
1773 |
-
},
|
1774 |
-
|
1775 |
-
// Use thumbnail image, if possible
|
1776 |
-
// ================================
|
1777 |
-
|
1778 |
-
setImage: function(slide) {
|
1779 |
-
var self = this,
|
1780 |
-
ghost;
|
1781 |
-
|
1782 |
-
// Check if need to show loading icon
|
1783 |
-
requestAFrame(function() {
|
1784 |
-
requestAFrame(function() {
|
1785 |
-
var $img = slide.$image;
|
1786 |
-
|
1787 |
-
if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) {
|
1788 |
-
self.showLoading(slide);
|
1789 |
-
}
|
1790 |
-
});
|
1791 |
-
});
|
1792 |
-
|
1793 |
-
//Check if image has srcset
|
1794 |
-
self.checkSrcset(slide);
|
1795 |
-
|
1796 |
-
// This will be wrapper containing both ghost and actual image
|
1797 |
-
slide.$content = $('<div class="fancybox-content"></div>')
|
1798 |
-
.addClass("fancybox-is-hidden")
|
1799 |
-
.appendTo(slide.$slide.addClass("fancybox-slide--image"));
|
1800 |
-
|
1801 |
-
// If we have a thumbnail, we can display it while actual image is loading
|
1802 |
-
// Users will not stare at black screen and actual image will appear gradually
|
1803 |
-
if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) {
|
1804 |
-
slide.width = slide.opts.width;
|
1805 |
-
slide.height = slide.opts.height;
|
1806 |
-
|
1807 |
-
ghost = document.createElement("img");
|
1808 |
-
|
1809 |
-
ghost.onerror = function() {
|
1810 |
-
$(this).remove();
|
1811 |
-
|
1812 |
-
slide.$ghost = null;
|
1813 |
-
};
|
1814 |
-
|
1815 |
-
ghost.onload = function() {
|
1816 |
-
self.afterLoad(slide);
|
1817 |
-
};
|
1818 |
-
|
1819 |
-
slide.$ghost = $(ghost)
|
1820 |
-
.addClass("fancybox-image")
|
1821 |
-
.appendTo(slide.$content)
|
1822 |
-
.attr("src", slide.thumb);
|
1823 |
-
}
|
1824 |
-
|
1825 |
-
// Start loading actual image
|
1826 |
-
self.setBigImage(slide);
|
1827 |
-
},
|
1828 |
-
|
1829 |
-
// Check if image has srcset and get the source
|
1830 |
-
// ============================================
|
1831 |
-
checkSrcset: function(slide) {
|
1832 |
-
var srcset = slide.opts.srcset || slide.opts.image.srcset,
|
1833 |
-
found,
|
1834 |
-
temp,
|
1835 |
-
pxRatio,
|
1836 |
-
windowWidth;
|
1837 |
-
|
1838 |
-
// If we have "srcset", then we need to find first matching "src" value.
|
1839 |
-
// This is necessary, because when you set an src attribute, the browser will preload the image
|
1840 |
-
// before any javascript or even CSS is applied.
|
1841 |
-
if (srcset) {
|
1842 |
-
pxRatio = window.devicePixelRatio || 1;
|
1843 |
-
windowWidth = window.innerWidth * pxRatio;
|
1844 |
-
|
1845 |
-
temp = srcset.split(",").map(function(el) {
|
1846 |
-
var ret = {};
|
1847 |
-
|
1848 |
-
el.trim()
|
1849 |
-
.split(/\s+/)
|
1850 |
-
.forEach(function(el, i) {
|
1851 |
-
var value = parseInt(el.substring(0, el.length - 1), 10);
|
1852 |
-
|
1853 |
-
if (i === 0) {
|
1854 |
-
return (ret.url = el);
|
1855 |
-
}
|
1856 |
-
|
1857 |
-
if (value) {
|
1858 |
-
ret.value = value;
|
1859 |
-
ret.postfix = el[el.length - 1];
|
1860 |
-
}
|
1861 |
-
});
|
1862 |
-
|
1863 |
-
return ret;
|
1864 |
-
});
|
1865 |
-
|
1866 |
-
// Sort by value
|
1867 |
-
temp.sort(function(a, b) {
|
1868 |
-
return a.value - b.value;
|
1869 |
-
});
|
1870 |
-
|
1871 |
-
// Ok, now we have an array of all srcset values
|
1872 |
-
for (var j = 0; j < temp.length; j++) {
|
1873 |
-
var el = temp[j];
|
1874 |
-
|
1875 |
-
if ((el.postfix === "w" && el.value >= windowWidth) || (el.postfix === "x" && el.value >= pxRatio)) {
|
1876 |
-
found = el;
|
1877 |
-
break;
|
1878 |
-
}
|
1879 |
-
}
|
1880 |
-
|
1881 |
-
// If not found, take the last one
|
1882 |
-
if (!found && temp.length) {
|
1883 |
-
found = temp[temp.length - 1];
|
1884 |
-
}
|
1885 |
-
|
1886 |
-
if (found) {
|
1887 |
-
slide.src = found.url;
|
1888 |
-
|
1889 |
-
// If we have default width/height values, we can calculate height for matching source
|
1890 |
-
if (slide.width && slide.height && found.postfix == "w") {
|
1891 |
-
slide.height = (slide.width / slide.height) * found.value;
|
1892 |
-
slide.width = found.value;
|
1893 |
-
}
|
1894 |
-
|
1895 |
-
slide.opts.srcset = srcset;
|
1896 |
-
}
|
1897 |
-
}
|
1898 |
-
},
|
1899 |
-
|
1900 |
-
// Create full-size image
|
1901 |
-
// ======================
|
1902 |
-
|
1903 |
-
setBigImage: function(slide) {
|
1904 |
-
var self = this,
|
1905 |
-
img = document.createElement("img"),
|
1906 |
-
$img = $(img);
|
1907 |
-
|
1908 |
-
slide.$image = $img
|
1909 |
-
.one("error", function() {
|
1910 |
-
self.setError(slide);
|
1911 |
-
})
|
1912 |
-
.one("load", function() {
|
1913 |
-
var sizes;
|
1914 |
-
|
1915 |
-
if (!slide.$ghost) {
|
1916 |
-
self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight);
|
1917 |
-
|
1918 |
-
self.afterLoad(slide);
|
1919 |
-
}
|
1920 |
-
|
1921 |
-
if (self.isClosing) {
|
1922 |
-
return;
|
1923 |
-
}
|
1924 |
-
|
1925 |
-
if (slide.opts.srcset) {
|
1926 |
-
sizes = slide.opts.sizes;
|
1927 |
-
|
1928 |
-
if (!sizes || sizes === "auto") {
|
1929 |
-
sizes =
|
1930 |
-
(slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? "100" : Math.round((slide.width / slide.height) * 100)) +
|
1931 |
-
"vw";
|
1932 |
-
}
|
1933 |
-
|
1934 |
-
$img.attr("sizes", sizes).attr("srcset", slide.opts.srcset);
|
1935 |
-
}
|
1936 |
-
|
1937 |
-
// Hide temporary image after some delay
|
1938 |
-
if (slide.$ghost) {
|
1939 |
-
setTimeout(function() {
|
1940 |
-
if (slide.$ghost && !self.isClosing) {
|
1941 |
-
slide.$ghost.hide();
|
1942 |
-
}
|
1943 |
-
}, Math.min(300, Math.max(1000, slide.height / 1600)));
|
1944 |
-
}
|
1945 |
-
|
1946 |
-
self.hideLoading(slide);
|
1947 |
-
})
|
1948 |
-
.addClass("fancybox-image")
|
1949 |
-
.attr("src", slide.src)
|
1950 |
-
.appendTo(slide.$content);
|
1951 |
-
|
1952 |
-
if ((img.complete || img.readyState == "complete") && $img.naturalWidth && $img.naturalHeight) {
|
1953 |
-
$img.trigger("load");
|
1954 |
-
} else if (img.error) {
|
1955 |
-
$img.trigger("error");
|
1956 |
-
}
|
1957 |
-
},
|
1958 |
-
|
1959 |
-
// Computes the slide size from image size and maxWidth/maxHeight
|
1960 |
-
// ==============================================================
|
1961 |
-
|
1962 |
-
resolveImageSlideSize: function(slide, imgWidth, imgHeight) {
|
1963 |
-
var maxWidth = parseInt(slide.opts.width, 10),
|
1964 |
-
maxHeight = parseInt(slide.opts.height, 10);
|
1965 |
-
|
1966 |
-
// Sets the default values from the image
|
1967 |
-
slide.width = imgWidth;
|
1968 |
-
slide.height = imgHeight;
|
1969 |
-
|
1970 |
-
if (maxWidth > 0) {
|
1971 |
-
slide.width = maxWidth;
|
1972 |
-
slide.height = Math.floor((maxWidth * imgHeight) / imgWidth);
|
1973 |
-
}
|
1974 |
-
|
1975 |
-
if (maxHeight > 0) {
|
1976 |
-
slide.width = Math.floor((maxHeight * imgWidth) / imgHeight);
|
1977 |
-
slide.height = maxHeight;
|
1978 |
-
}
|
1979 |
-
},
|
1980 |
-
|
1981 |
-
// Create iframe wrapper, iframe and bindings
|
1982 |
-
// ==========================================
|
1983 |
-
|
1984 |
-
setIframe: function(slide) {
|
1985 |
-
var self = this,
|
1986 |
-
opts = slide.opts.iframe,
|
1987 |
-
$slide = slide.$slide,
|
1988 |
-
$iframe;
|
1989 |
-
|
1990 |
-
// Fix responsive iframes on iOS (along with `position:absolute;` for iframe element)
|
1991 |
-
if ($.fancybox.isMobile) {
|
1992 |
-
opts.css.overflow = "scroll";
|
1993 |
-
}
|
1994 |
-
|
1995 |
-
slide.$content = $('<div class="fancybox-content' + (opts.preload ? " fancybox-is-hidden" : "") + '"></div>')
|
1996 |
-
.css(opts.css)
|
1997 |
-
.appendTo($slide);
|
1998 |
-
|
1999 |
-
$slide.addClass("fancybox-slide--" + slide.contentType);
|
2000 |
-
|
2001 |
-
slide.$iframe = $iframe = $(opts.tpl.replace(/\{rnd\}/g, new Date().getTime()))
|
2002 |
-
.attr(opts.attr)
|
2003 |
-
.appendTo(slide.$content);
|
2004 |
-
|
2005 |
-
if (opts.preload) {
|
2006 |
-
self.showLoading(slide);
|
2007 |
-
|
2008 |
-
// Unfortunately, it is not always possible to determine if iframe is successfully loaded
|
2009 |
-
// (due to browser security policy)
|
2010 |
-
|
2011 |
-
$iframe.on("load.fb error.fb", function(e) {
|
2012 |
-
this.isReady = 1;
|
2013 |
-
|
2014 |
-
slide.$slide.trigger("refresh");
|
2015 |
-
|
2016 |
-
self.afterLoad(slide);
|
2017 |
-
});
|
2018 |
-
|
2019 |
-
// Recalculate iframe content size
|
2020 |
-
// ===============================
|
2021 |
-
|
2022 |
-
$slide.on("refresh.fb", function() {
|
2023 |
-
var $content = slide.$content,
|
2024 |
-
frameWidth = opts.css.width,
|
2025 |
-
frameHeight = opts.css.height,
|
2026 |
-
$contents,
|
2027 |
-
$body;
|
2028 |
-
|
2029 |
-
if ($iframe[0].isReady !== 1) {
|
2030 |
-
return;
|
2031 |
-
}
|
2032 |
-
|
2033 |
-
try {
|
2034 |
-
$contents = $iframe.contents();
|
2035 |
-
$body = $contents.find("body");
|
2036 |
-
} catch (ignore) {}
|
2037 |
-
|
2038 |
-
// Calculate contnet dimensions if it is accessible
|
2039 |
-
if ($body && $body.length && $body.children().length) {
|
2040 |
-
// Avoid scrolling to top (if multiple instances)
|
2041 |
-
$slide.css("overflow", "visible");
|
2042 |
-
|
2043 |
-
$content.css({
|
2044 |
-
width: "100%",
|
2045 |
-
"max-width": "100%",
|
2046 |
-
height: "9999px"
|
2047 |
-
});
|
2048 |
-
|
2049 |
-
if (frameWidth === undefined) {
|
2050 |
-
frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true)));
|
2051 |
-
}
|
2052 |
-
|
2053 |
-
$content.css("width", frameWidth ? frameWidth : "").css("max-width", "");
|
2054 |
-
|
2055 |
-
if (frameHeight === undefined) {
|
2056 |
-
frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true)));
|
2057 |
-
}
|
2058 |
-
|
2059 |
-
$content.css("height", frameHeight ? frameHeight : "");
|
2060 |
-
|
2061 |
-
$slide.css("overflow", "auto");
|
2062 |
-
}
|
2063 |
-
|
2064 |
-
$content.removeClass("fancybox-is-hidden");
|
2065 |
-
});
|
2066 |
-
} else {
|
2067 |
-
self.afterLoad(slide);
|
2068 |
-
}
|
2069 |
-
|
2070 |
-
$iframe.attr("src", slide.src);
|
2071 |
-
|
2072 |
-
// Remove iframe if closing or changing gallery item
|
2073 |
-
$slide.one("onReset", function() {
|
2074 |
-
// This helps IE not to throw errors when closing
|
2075 |
-
try {
|
2076 |
-
$(this)
|
2077 |
-
.find("iframe")
|
2078 |
-
.hide()
|
2079 |
-
.unbind()
|
2080 |
-
.attr("src", "//about:blank");
|
2081 |
-
} catch (ignore) {}
|
2082 |
-
|
2083 |
-
$(this)
|
2084 |
-
.off("refresh.fb")
|
2085 |
-
.empty();
|
2086 |
-
|
2087 |
-
slide.isLoaded = false;
|
2088 |
-
slide.isRevealed = false;
|
2089 |
-
});
|
2090 |
-
},
|
2091 |
-
|
2092 |
-
// Wrap and append content to the slide
|
2093 |
-
// ======================================
|
2094 |
-
|
2095 |
-
setContent: function(slide, content) {
|
2096 |
-
var self = this;
|
2097 |
-
|
2098 |
-
if (self.isClosing) {
|
2099 |
-
return;
|
2100 |
-
}
|
2101 |
-
|
2102 |
-
self.hideLoading(slide);
|
2103 |
-
|
2104 |
-
if (slide.$content) {
|
2105 |
-
$.fancybox.stop(slide.$content);
|
2106 |
-
}
|
2107 |
-
|
2108 |
-
slide.$slide.empty();
|
2109 |
-
|
2110 |
-
// If content is a jQuery object, then it will be moved to the slide.
|
2111 |
-
// The placeholder is created so we will know where to put it back.
|
2112 |
-
if (isQuery(content) && content.parent().length) {
|
2113 |
-
// Make sure content is not already moved to fancyBox
|
2114 |
-
if (content.hasClass("fancybox-content")) {
|
2115 |
-
content.parent(".fancybox-slide--html").trigger("onReset");
|
2116 |
-
}
|
2117 |
-
|
2118 |
-
// Create temporary element marking original place of the content
|
2119 |
-
slide.$placeholder = $("<div>")
|
2120 |
-
.hide()
|
2121 |
-
.insertAfter(content);
|
2122 |
-
|
2123 |
-
// Make sure content is visible
|
2124 |
-
content.css("display", "inline-block");
|
2125 |
-
} else if (!slide.hasError) {
|
2126 |
-
// If content is just a plain text, try to convert it to html
|
2127 |
-
if ($.type(content) === "string") {
|
2128 |
-
content = $("<div>")
|
2129 |
-
.append($.trim(content))
|
2130 |
-
.contents();
|
2131 |
-
}
|
2132 |
-
|
2133 |
-
// If "filter" option is provided, then filter content
|
2134 |
-
if (slide.opts.filter) {
|
2135 |
-
content = $("<div>")
|
2136 |
-
.html(content)
|
2137 |
-
.find(slide.opts.filter);
|
2138 |
-
}
|
2139 |
-
}
|
2140 |
-
|
2141 |
-
slide.$slide.one("onReset", function() {
|
2142 |
-
// Pause all html5 video/audio
|
2143 |
-
$(this)
|
2144 |
-
.find("video,audio")
|
2145 |
-
.trigger("pause");
|
2146 |
-
|
2147 |
-
// Put content back
|
2148 |
-
if (slide.$placeholder) {
|
2149 |
-
slide.$placeholder.after(content.removeClass("fancybox-content").hide()).remove();
|
2150 |
-
|
2151 |
-
slide.$placeholder = null;
|
2152 |
-
}
|
2153 |
-
|
2154 |
-
// Remove custom close button
|
2155 |
-
if (slide.$smallBtn) {
|
2156 |
-
slide.$smallBtn.remove();
|
2157 |
-
|
2158 |
-
slide.$smallBtn = null;
|
2159 |
-
}
|
2160 |
-
|
2161 |
-
// Remove content and mark slide as not loaded
|
2162 |
-
if (!slide.hasError) {
|
2163 |
-
$(this).empty();
|
2164 |
-
|
2165 |
-
slide.isLoaded = false;
|
2166 |
-
slide.isRevealed = false;
|
2167 |
-
}
|
2168 |
-
});
|
2169 |
-
|
2170 |
-
$(content).appendTo(slide.$slide);
|
2171 |
-
|
2172 |
-
if ($(content).is("video,audio")) {
|
2173 |
-
$(content).addClass("fancybox-video");
|
2174 |
-
|
2175 |
-
$(content).wrap("<div></div>");
|
2176 |
-
|
2177 |
-
slide.contentType = "video";
|
2178 |
-
|
2179 |
-
slide.opts.width = slide.opts.width || $(content).attr("width");
|
2180 |
-
slide.opts.height = slide.opts.height || $(content).attr("height");
|
2181 |
-
}
|
2182 |
-
|
2183 |
-
slide.$content = slide.$slide
|
2184 |
-
.children()
|
2185 |
-
.filter("div,form,main,video,audio,article,.fancybox-content")
|
2186 |
-
.first();
|
2187 |
-
|
2188 |
-
slide.$content.siblings().hide();
|
2189 |
-
|
2190 |
-
// Re-check if there is a valid content
|
2191 |
-
// (in some cases, ajax response can contain various elements or plain text)
|
2192 |
-
if (!slide.$content.length) {
|
2193 |
-
slide.$content = slide.$slide
|
2194 |
-
.wrapInner("<div></div>")
|
2195 |
-
.children()
|
2196 |
-
.first();
|
2197 |
-
}
|
2198 |
-
|
2199 |
-
slide.$content.addClass("fancybox-content");
|
2200 |
-
|
2201 |
-
slide.$slide.addClass("fancybox-slide--" + slide.contentType);
|
2202 |
-
|
2203 |
-
self.afterLoad(slide);
|
2204 |
-
},
|
2205 |
-
|
2206 |
-
// Display error message
|
2207 |
-
// =====================
|
2208 |
-
|
2209 |
-
setError: function(slide) {
|
2210 |
-
slide.hasError = true;
|
2211 |
-
|
2212 |
-
slide.$slide
|
2213 |
-
.trigger("onReset")
|
2214 |
-
.removeClass("fancybox-slide--" + slide.contentType)
|
2215 |
-
.addClass("fancybox-slide--error");
|
2216 |
-
|
2217 |
-
slide.contentType = "html";
|
2218 |
-
|
2219 |
-
this.setContent(slide, this.translate(slide, slide.opts.errorTpl));
|
2220 |
-
|
2221 |
-
if (slide.pos === this.currPos) {
|
2222 |
-
this.isAnimating = false;
|
2223 |
-
}
|
2224 |
-
},
|
2225 |
-
|
2226 |
-
// Show loading icon inside the slide
|
2227 |
-
// ==================================
|
2228 |
-
|
2229 |
-
showLoading: function(slide) {
|
2230 |
-
var self = this;
|
2231 |
-
|
2232 |
-
slide = slide || self.current;
|
2233 |
-
|
2234 |
-
if (slide && !slide.$spinner) {
|
2235 |
-
slide.$spinner = $(self.translate(self, self.opts.spinnerTpl))
|
2236 |
-
.appendTo(slide.$slide)
|
2237 |
-
.hide()
|
2238 |
-
.fadeIn("fast");
|
2239 |
-
}
|
2240 |
-
},
|
2241 |
-
|
2242 |
-
// Remove loading icon from the slide
|
2243 |
-
// ==================================
|
2244 |
-
|
2245 |
-
hideLoading: function(slide) {
|
2246 |
-
var self = this;
|
2247 |
-
|
2248 |
-
slide = slide || self.current;
|
2249 |
-
|
2250 |
-
if (slide && slide.$spinner) {
|
2251 |
-
slide.$spinner.stop().remove();
|
2252 |
-
|
2253 |
-
delete slide.$spinner;
|
2254 |
-
}
|
2255 |
-
},
|
2256 |
-
|
2257 |
-
// Adjustments after slide content has been loaded
|
2258 |
-
// ===============================================
|
2259 |
-
|
2260 |
-
afterLoad: function(slide) {
|
2261 |
-
var self = this;
|
2262 |
-
|
2263 |
-
if (self.isClosing) {
|
2264 |
-
return;
|
2265 |
-
}
|
2266 |
-
|
2267 |
-
slide.isLoading = false;
|
2268 |
-
slide.isLoaded = true;
|
2269 |
-
|
2270 |
-
self.trigger("afterLoad", slide);
|
2271 |
-
|
2272 |
-
self.hideLoading(slide);
|
2273 |
-
|
2274 |
-
// Add small close button
|
2275 |
-
if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) {
|
2276 |
-
slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content);
|
2277 |
-
}
|
2278 |
-
|
2279 |
-
// Disable right click
|
2280 |
-
if (slide.opts.protect && slide.$content && !slide.hasError) {
|
2281 |
-
slide.$content.on("contextmenu.fb", function(e) {
|
2282 |
-
if (e.button == 2) {
|
2283 |
-
e.preventDefault();
|
2284 |
-
}
|
2285 |
-
|
2286 |
-
return true;
|
2287 |
-
});
|
2288 |
-
|
2289 |
-
// Add fake element on top of the image
|
2290 |
-
// This makes a bit harder for user to select image
|
2291 |
-
if (slide.type === "image") {
|
2292 |
-
$('<div class="fancybox-spaceball"></div>').appendTo(slide.$content);
|
2293 |
-
}
|
2294 |
-
}
|
2295 |
-
|
2296 |
-
self.adjustCaption(slide);
|
2297 |
-
|
2298 |
-
self.adjustLayout(slide);
|
2299 |
-
|
2300 |
-
if (slide.pos === self.currPos) {
|
2301 |
-
self.updateCursor();
|
2302 |
-
}
|
2303 |
-
|
2304 |
-
self.revealContent(slide);
|
2305 |
-
},
|
2306 |
-
|
2307 |
-
// Prevent caption overlap,
|
2308 |
-
// fix css inconsistency across browsers
|
2309 |
-
// =====================================
|
2310 |
-
|
2311 |
-
adjustCaption: function(slide) {
|
2312 |
-
var self = this,
|
2313 |
-
current = slide || self.current,
|
2314 |
-
caption = current.opts.caption,
|
2315 |
-
$caption = self.$refs.caption,
|
2316 |
-
captionH = false;
|
2317 |
-
|
2318 |
-
if (current.opts.preventCaptionOverlap && caption && caption.length) {
|
2319 |
-
if (current.pos !== self.currPos) {
|
2320 |
-
$caption = $caption
|
2321 |
-
.clone()
|
2322 |
-
.empty()
|
2323 |
-
.appendTo($caption.parent());
|
2324 |
-
|
2325 |
-
$caption.html(caption);
|
2326 |
-
|
2327 |
-
captionH = $caption.outerHeight(true);
|
2328 |
-
|
2329 |
-
$caption.empty().remove();
|
2330 |
-
} else if (self.$caption) {
|
2331 |
-
captionH = self.$caption.outerHeight(true);
|
2332 |
-
}
|
2333 |
-
|
2334 |
-
current.$slide.css("padding-bottom", captionH || "");
|
2335 |
-
}
|
2336 |
-
},
|
2337 |
-
|
2338 |
-
// Simple hack to fix inconsistency across browsers, described here (affects Edge, too):
|
2339 |
-
// https://bugzilla.mozilla.org/show_bug.cgi?id=748518
|
2340 |
-
// ====================================================================================
|
2341 |
-
|
2342 |
-
adjustLayout: function(slide) {
|
2343 |
-
var self = this,
|
2344 |
-
current = slide || self.current,
|
2345 |
-
scrollHeight,
|
2346 |
-
marginBottom,
|
2347 |
-
inlinePadding,
|
2348 |
-
actualPadding;
|
2349 |
-
|
2350 |
-
if (current.isLoaded && current.opts.disableLayoutFix !== true) {
|
2351 |
-
current.$content.css("margin-bottom", "");
|
2352 |
-
|
2353 |
-
// If we would always set margin-bottom for the content,
|
2354 |
-
// then it would potentially break vertical align
|
2355 |
-
if (current.$content.outerHeight() > current.$slide.height() + 0.5) {
|
2356 |
-
inlinePadding = current.$slide[0].style["padding-bottom"];
|
2357 |
-
actualPadding = current.$slide.css("padding-bottom");
|
2358 |
-
|
2359 |
-
if (parseFloat(actualPadding) > 0) {
|
2360 |
-
scrollHeight = current.$slide[0].scrollHeight;
|
2361 |
-
|
2362 |
-
current.$slide.css("padding-bottom", 0);
|
2363 |
-
|
2364 |
-
if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) {
|
2365 |
-
marginBottom = actualPadding;
|
2366 |
-
}
|
2367 |
-
|
2368 |
-
current.$slide.css("padding-bottom", inlinePadding);
|
2369 |
-
}
|
2370 |
-
}
|
2371 |
-
|
2372 |
-
current.$content.css("margin-bottom", marginBottom);
|
2373 |
-
}
|
2374 |
-
},
|
2375 |
-
|
2376 |
-
// Make content visible
|
2377 |
-
// This method is called right after content has been loaded or
|
2378 |
-
// user navigates gallery and transition should start
|
2379 |
-
// ============================================================
|
2380 |
-
|
2381 |
-
revealContent: function(slide) {
|
2382 |
-
var self = this,
|
2383 |
-
$slide = slide.$slide,
|
2384 |
-
end = false,
|
2385 |
-
start = false,
|
2386 |
-
isMoved = self.isMoved(slide),
|
2387 |
-
isRevealed = slide.isRevealed,
|
2388 |
-
effect,
|
2389 |
-
effectClassName,
|
2390 |
-
duration,
|
2391 |
-
opacity;
|
2392 |
-
|
2393 |
-
slide.isRevealed = true;
|
2394 |
-
|
2395 |
-
effect = slide.opts[self.firstRun ? "animationEffect" : "transitionEffect"];
|
2396 |
-
duration = slide.opts[self.firstRun ? "animationDuration" : "transitionDuration"];
|
2397 |
-
|
2398 |
-
duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10);
|
2399 |
-
|
2400 |
-
if (isMoved || slide.pos !== self.currPos || !duration) {
|
2401 |
-
effect = false;
|
2402 |
-
}
|
2403 |
-
|
2404 |
-
// Check if can zoom
|
2405 |
-
if (effect === "zoom") {
|
2406 |
-
if (slide.pos === self.currPos && duration && slide.type === "image" && !slide.hasError && (start = self.getThumbPos(slide))) {
|
2407 |
-
end = self.getFitPos(slide);
|
2408 |
-
} else {
|
2409 |
-
effect = "fade";
|
2410 |
-
}
|
2411 |
-
}
|
2412 |
-
|
2413 |
-
// Zoom animation
|
2414 |
-
// ==============
|
2415 |
-
if (effect === "zoom") {
|
2416 |
-
self.isAnimating = true;
|
2417 |
-
|
2418 |
-
end.scaleX = end.width / start.width;
|
2419 |
-
end.scaleY = end.height / start.height;
|
2420 |
-
|
2421 |
-
// Check if we need to animate opacity
|
2422 |
-
opacity = slide.opts.zoomOpacity;
|
2423 |
-
|
2424 |
-
if (opacity == "auto") {
|
2425 |
-
opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1;
|
2426 |
-
}
|
2427 |
-
|
2428 |
-
if (opacity) {
|
2429 |
-
start.opacity = 0.1;
|
2430 |
-
end.opacity = 1;
|
2431 |
-
}
|
2432 |
-
|
2433 |
-
// Draw image at start position
|
2434 |
-
$.fancybox.setTranslate(slide.$content.removeClass("fancybox-is-hidden"), start);
|
2435 |
-
|
2436 |
-
forceRedraw(slide.$content);
|
2437 |
-
|
2438 |
-
// Start animation
|
2439 |
-
$.fancybox.animate(slide.$content, end, duration, function() {
|
2440 |
-
self.isAnimating = false;
|
2441 |
-
|
2442 |
-
self.complete();
|
2443 |
-
});
|
2444 |
-
|
2445 |
-
return;
|
2446 |
-
}
|
2447 |
-
|
2448 |
-
self.updateSlide(slide);
|
2449 |
-
|
2450 |
-
// Simply show content if no effect
|
2451 |
-
// ================================
|
2452 |
-
if (!effect) {
|
2453 |
-
slide.$content.removeClass("fancybox-is-hidden");
|
2454 |
-
|
2455 |
-
if (!isRevealed && isMoved && slide.type === "image" && !slide.hasError) {
|
2456 |
-
slide.$content.hide().fadeIn("fast");
|
2457 |
-
}
|
2458 |
-
|
2459 |
-
if (slide.pos === self.currPos) {
|
2460 |
-
self.complete();
|
2461 |
-
}
|
2462 |
-
|
2463 |
-
return;
|
2464 |
-
}
|
2465 |
-
|
2466 |
-
// Prepare for CSS transiton
|
2467 |
-
// =========================
|
2468 |
-
$.fancybox.stop($slide);
|
2469 |
-
|
2470 |
-
//effectClassName = "fancybox-animated fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-fx-" + effect;
|
2471 |
-
effectClassName = "fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-animated fancybox-fx-" + effect;
|
2472 |
-
|
2473 |
-
$slide.addClass(effectClassName).removeClass("fancybox-slide--current"); //.addClass(effectClassName);
|
2474 |
-
|
2475 |
-
slide.$content.removeClass("fancybox-is-hidden");
|
2476 |
-
|
2477 |
-
// Force reflow
|
2478 |
-
forceRedraw($slide);
|
2479 |
-
|
2480 |
-
if (slide.type !== "image") {
|
2481 |
-
slide.$content.hide().show(0);
|
2482 |
-
}
|
2483 |
-
|
2484 |
-
$.fancybox.animate(
|
2485 |
-
$slide,
|
2486 |
-
"fancybox-slide--current",
|
2487 |
-
duration,
|
2488 |
-
function() {
|
2489 |
-
$slide.removeClass(effectClassName).css({
|
2490 |
-
transform: "",
|
2491 |
-
opacity: ""
|
2492 |
-
});
|
2493 |
-
|
2494 |
-
if (slide.pos === self.currPos) {
|
2495 |
-
self.complete();
|
2496 |
-
}
|
2497 |
-
},
|
2498 |
-
true
|
2499 |
-
);
|
2500 |
-
},
|
2501 |
-
|
2502 |
-
// Check if we can and have to zoom from thumbnail
|
2503 |
-
//================================================
|
2504 |
-
|
2505 |
-
getThumbPos: function(slide) {
|
2506 |
-
var rez = false,
|
2507 |
-
$thumb = slide.$thumb,
|
2508 |
-
thumbPos,
|
2509 |
-
btw,
|
2510 |
-
brw,
|
2511 |
-
bbw,
|
2512 |
-
blw;
|
2513 |
-
|
2514 |
-
if (!$thumb || !inViewport($thumb[0])) {
|
2515 |
-
return false;
|
2516 |
-
}
|
2517 |
-
|
2518 |
-
thumbPos = $.fancybox.getTranslate($thumb);
|
2519 |
-
|
2520 |
-
btw = parseFloat($thumb.css("border-top-width") || 0);
|
2521 |
-
brw = parseFloat($thumb.css("border-right-width") || 0);
|
2522 |
-
bbw = parseFloat($thumb.css("border-bottom-width") || 0);
|
2523 |
-
blw = parseFloat($thumb.css("border-left-width") || 0);
|
2524 |
-
|
2525 |
-
rez = {
|
2526 |
-
top: thumbPos.top + btw,
|
2527 |
-
left: thumbPos.left + blw,
|
2528 |
-
width: thumbPos.width - brw - blw,
|
2529 |
-
height: thumbPos.height - btw - bbw,
|
2530 |
-
scaleX: 1,
|
2531 |
-
scaleY: 1
|
2532 |
-
};
|
2533 |
-
|
2534 |
-
return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false;
|
2535 |
-
},
|
2536 |
-
|
2537 |
-
// Final adjustments after current gallery item is moved to position
|
2538 |
-
// and it`s content is loaded
|
2539 |
-
// ==================================================================
|
2540 |
-
|
2541 |
-
complete: function() {
|
2542 |
-
var self = this,
|
2543 |
-
current = self.current,
|
2544 |
-
slides = {},
|
2545 |
-
$el;
|
2546 |
-
|
2547 |
-
if (self.isMoved() || !current.isLoaded) {
|
2548 |
-
return;
|
2549 |
-
}
|
2550 |
-
|
2551 |
-
if (!current.isComplete) {
|
2552 |
-
current.isComplete = true;
|
2553 |
-
|
2554 |
-
current.$slide.siblings().trigger("onReset");
|
2555 |
-
|
2556 |
-
self.preload("inline");
|
2557 |
-
|
2558 |
-
// Trigger any CSS transiton inside the slide
|
2559 |
-
forceRedraw(current.$slide);
|
2560 |
-
|
2561 |
-
current.$slide.addClass("fancybox-slide--complete");
|
2562 |
-
|
2563 |
-
// Remove unnecessary slides
|
2564 |
-
$.each(self.slides, function(key, slide) {
|
2565 |
-
if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) {
|
2566 |
-
slides[slide.pos] = slide;
|
2567 |
-
} else if (slide) {
|
2568 |
-
$.fancybox.stop(slide.$slide);
|
2569 |
-
|
2570 |
-
slide.$slide.off().remove();
|
2571 |
-
}
|
2572 |
-
});
|
2573 |
-
|
2574 |
-
self.slides = slides;
|
2575 |
-
}
|
2576 |
-
|
2577 |
-
self.isAnimating = false;
|
2578 |
-
|
2579 |
-
self.updateCursor();
|
2580 |
-
|
2581 |
-
self.trigger("afterShow");
|
2582 |
-
|
2583 |
-
// Autoplay first html5 video/audio
|
2584 |
-
if (!!current.opts.video.autoStart) {
|
2585 |
-
current.$slide
|
2586 |
-
.find("video,audio")
|
2587 |
-
.filter(":visible:first")
|
2588 |
-
.trigger("play")
|
2589 |
-
.on("ended", $.proxy(self.next, self));
|
2590 |
-
}
|
2591 |
-
|
2592 |
-
// Try to focus on the first focusable element
|
2593 |
-
if (current.opts.autoFocus && current.contentType === "html") {
|
2594 |
-
// Look for the first input with autofocus attribute
|
2595 |
-
$el = current.$content.find("input[autofocus]:enabled:visible:first");
|
2596 |
-
|
2597 |
-
if ($el.length) {
|
2598 |
-
$el.trigger("focus");
|
2599 |
-
} else {
|
2600 |
-
self.focus(null, true);
|
2601 |
-
}
|
2602 |
-
}
|
2603 |
-
|
2604 |
-
// Avoid jumping
|
2605 |
-
current.$slide.scrollTop(0).scrollLeft(0);
|
2606 |
-
},
|
2607 |
-
|
2608 |
-
// Preload next and previous slides
|
2609 |
-
// ================================
|
2610 |
-
|
2611 |
-
preload: function(type) {
|
2612 |
-
var self = this,
|
2613 |
-
next = self.slides[self.currPos + 1],
|
2614 |
-
prev = self.slides[self.currPos - 1];
|
2615 |
-
|
2616 |
-
if (prev && prev.type === type) {
|
2617 |
-
self.loadSlide(prev);
|
2618 |
-
}
|
2619 |
-
|
2620 |
-
if (next && next.type === type) {
|
2621 |
-
self.loadSlide(next);
|
2622 |
-
}
|
2623 |
-
},
|
2624 |
-
|
2625 |
-
// Try to find and focus on the first focusable element
|
2626 |
-
// ====================================================
|
2627 |
-
|
2628 |
-
focus: function(e, firstRun) {
|
2629 |
-
var self = this,
|
2630 |
-
focusableStr = [
|
2631 |
-
"a[href]",
|
2632 |
-
"area[href]",
|
2633 |
-
'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',
|
2634 |
-
"select:not([disabled]):not([aria-hidden])",
|
2635 |
-
"textarea:not([disabled]):not([aria-hidden])",
|
2636 |
-
"button:not([disabled]):not([aria-hidden])",
|
2637 |
-
"iframe",
|
2638 |
-
"object",
|
2639 |
-
"embed",
|
2640 |
-
"[contenteditable]",
|
2641 |
-
'[tabindex]:not([tabindex^="-"])'
|
2642 |
-
].join(","),
|
2643 |
-
focusableItems,
|
2644 |
-
focusedItemIndex;
|
2645 |
-
|
2646 |
-
if (self.isClosing) {
|
2647 |
-
return;
|
2648 |
-
}
|
2649 |
-
|
2650 |
-
if (e || !self.current || !self.current.isComplete) {
|
2651 |
-
// Focus on any element inside fancybox
|
2652 |
-
focusableItems = self.$refs.container.find("*:visible");
|
2653 |
-
} else {
|
2654 |
-
// Focus inside current slide
|
2655 |
-
focusableItems = self.current.$slide.find("*:visible" + (firstRun ? ":not(.fancybox-close-small)" : ""));
|
2656 |
-
}
|
2657 |
-
|
2658 |
-
focusableItems = focusableItems.filter(focusableStr).filter(function() {
|
2659 |
-
return $(this).css("visibility") !== "hidden" && !$(this).hasClass("disabled");
|
2660 |
-
});
|
2661 |
-
|
2662 |
-
if (focusableItems.length) {
|
2663 |
-
focusedItemIndex = focusableItems.index(document.activeElement);
|
2664 |
-
|
2665 |
-
if (e && e.shiftKey) {
|
2666 |
-
// Back tab
|
2667 |
-
if (focusedItemIndex < 0 || focusedItemIndex == 0) {
|
2668 |
-
e.preventDefault();
|
2669 |
-
|
2670 |
-
focusableItems.eq(focusableItems.length - 1).trigger("focus");
|
2671 |
-
}
|
2672 |
-
} else {
|
2673 |
-
// Outside or Forward tab
|
2674 |
-
if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) {
|
2675 |
-
if (e) {
|
2676 |
-
e.preventDefault();
|
2677 |
-
}
|
2678 |
-
|
2679 |
-
focusableItems.eq(0).trigger("focus");
|
2680 |
-
}
|
2681 |
-
}
|
2682 |
-
} else {
|
2683 |
-
self.$refs.container.trigger("focus");
|
2684 |
-
}
|
2685 |
-
},
|
2686 |
-
|
2687 |
-
// Activates current instance - brings container to the front and enables keyboard,
|
2688 |
-
// notifies other instances about deactivating
|
2689 |
-
// =================================================================================
|
2690 |
-
|
2691 |
-
activate: function() {
|
2692 |
-
var self = this;
|
2693 |
-
|
2694 |
-
// Deactivate all instances
|
2695 |
-
$(".fancybox-container").each(function() {
|
2696 |
-
var instance = $(this).data("FancyBox");
|
2697 |
-
|
2698 |
-
// Skip self and closing instances
|
2699 |
-
if (instance && instance.id !== self.id && !instance.isClosing) {
|
2700 |
-
instance.trigger("onDeactivate");
|
2701 |
-
|
2702 |
-
instance.removeEvents();
|
2703 |
-
|
2704 |
-
instance.isVisible = false;
|
2705 |
-
}
|
2706 |
-
});
|
2707 |
-
|
2708 |
-
self.isVisible = true;
|
2709 |
-
|
2710 |
-
if (self.current || self.isIdle) {
|
2711 |
-
self.update();
|
2712 |
-
|
2713 |
-
self.updateControls();
|
2714 |
-
}
|
2715 |
-
|
2716 |
-
self.trigger("onActivate");
|
2717 |
-
|
2718 |
-
self.addEvents();
|
2719 |
-
},
|
2720 |
-
|
2721 |
-
// Start closing procedure
|
2722 |
-
// This will start "zoom-out" animation if needed and clean everything up afterwards
|
2723 |
-
// =================================================================================
|
2724 |
-
|
2725 |
-
close: function(e, d) {
|
2726 |
-
var self = this,
|
2727 |
-
current = self.current,
|
2728 |
-
effect,
|
2729 |
-
duration,
|
2730 |
-
$content,
|
2731 |
-
domRect,
|
2732 |
-
opacity,
|
2733 |
-
start,
|
2734 |
-
end;
|
2735 |
-
|
2736 |
-
var done = function() {
|
2737 |
-
self.cleanUp(e);
|
2738 |
-
};
|
2739 |
-
|
2740 |
-
if (self.isClosing) {
|
2741 |
-
return false;
|
2742 |
-
}
|
2743 |
-
|
2744 |
-
self.isClosing = true;
|
2745 |
-
|
2746 |
-
// If beforeClose callback prevents closing, make sure content is centered
|
2747 |
-
if (self.trigger("beforeClose", e) === false) {
|
2748 |
-
self.isClosing = false;
|
2749 |
-
|
2750 |
-
requestAFrame(function() {
|
2751 |
-
self.update();
|
2752 |
-
});
|
2753 |
-
|
2754 |
-
return false;
|
2755 |
-
}
|
2756 |
-
|
2757 |
-
// Remove all events
|
2758 |
-
// If there are multiple instances, they will be set again by "activate" method
|
2759 |
-
self.removeEvents();
|
2760 |
-
|
2761 |
-
$content = current.$content;
|
2762 |
-
effect = current.opts.animationEffect;
|
2763 |
-
duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0;
|
2764 |
-
|
2765 |
-
current.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated");
|
2766 |
-
|
2767 |
-
if (e !== true) {
|
2768 |
-
$.fancybox.stop(current.$slide);
|
2769 |
-
} else {
|
2770 |
-
effect = false;
|
2771 |
-
}
|
2772 |
-
|
2773 |
-
// Remove other slides
|
2774 |
-
current.$slide
|
2775 |
-
.siblings()
|
2776 |
-
.trigger("onReset")
|
2777 |
-
.remove();
|
2778 |
-
|
2779 |
-
// Trigger animations
|
2780 |
-
if (duration) {
|
2781 |
-
self.$refs.container
|
2782 |
-
.removeClass("fancybox-is-open")
|
2783 |
-
.addClass("fancybox-is-closing")
|
2784 |
-
.css("transition-duration", duration + "ms");
|
2785 |
-
}
|
2786 |
-
|
2787 |
-
// Clean up
|
2788 |
-
self.hideLoading(current);
|
2789 |
-
|
2790 |
-
self.hideControls(true);
|
2791 |
-
|
2792 |
-
self.updateCursor();
|
2793 |
-
|
2794 |
-
// Check if possible to zoom-out
|
2795 |
-
if (
|
2796 |
-
effect === "zoom" &&
|
2797 |
-
!($content && duration && current.type === "image" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current)))
|
2798 |
-
) {
|
2799 |
-
effect = "fade";
|
2800 |
-
}
|
2801 |
-
|
2802 |
-
if (effect === "zoom") {
|
2803 |
-
$.fancybox.stop($content);
|
2804 |
-
|
2805 |
-
domRect = $.fancybox.getTranslate($content);
|
2806 |
-
|
2807 |
-
start = {
|
2808 |
-
top: domRect.top,
|
2809 |
-
left: domRect.left,
|
2810 |
-
scaleX: domRect.width / end.width,
|
2811 |
-
scaleY: domRect.height / end.height,
|
2812 |
-
width: end.width,
|
2813 |
-
height: end.height
|
2814 |
-
};
|
2815 |
-
|
2816 |
-
// Check if we need to animate opacity
|
2817 |
-
opacity = current.opts.zoomOpacity;
|
2818 |
-
|
2819 |
-
if (opacity == "auto") {
|
2820 |
-
opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1;
|
2821 |
-
}
|
2822 |
-
|
2823 |
-
if (opacity) {
|
2824 |
-
end.opacity = 0;
|
2825 |
-
}
|
2826 |
-
|
2827 |
-
$.fancybox.setTranslate($content, start);
|
2828 |
-
|
2829 |
-
forceRedraw($content);
|
2830 |
-
|
2831 |
-
$.fancybox.animate($content, end, duration, done);
|
2832 |
-
|
2833 |
-
return true;
|
2834 |
-
}
|
2835 |
-
|
2836 |
-
if (effect && duration) {
|
2837 |
-
$.fancybox.animate(
|
2838 |
-
current.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),
|
2839 |
-
"fancybox-animated fancybox-fx-" + effect,
|
2840 |
-
duration,
|
2841 |
-
done
|
2842 |
-
);
|
2843 |
-
} else {
|
2844 |
-
// If skip animation
|
2845 |
-
if (e === true) {
|
2846 |
-
setTimeout(done, duration);
|
2847 |
-
} else {
|
2848 |
-
done();
|
2849 |
-
}
|
2850 |
-
}
|
2851 |
-
|
2852 |
-
return true;
|
2853 |
-
},
|
2854 |
-
|
2855 |
-
// Final adjustments after removing the instance
|
2856 |
-
// =============================================
|
2857 |
-
|
2858 |
-
cleanUp: function(e) {
|
2859 |
-
var self = this,
|
2860 |
-
instance,
|
2861 |
-
$focus = self.current.opts.$orig,
|
2862 |
-
x,
|
2863 |
-
y;
|
2864 |
-
|
2865 |
-
self.current.$slide.trigger("onReset");
|
2866 |
-
|
2867 |
-
self.$refs.container.empty().remove();
|
2868 |
-
|
2869 |
-
self.trigger("afterClose", e);
|
2870 |
-
|
2871 |
-
// Place back focus
|
2872 |
-
if (!!self.current.opts.backFocus) {
|
2873 |
-
if (!$focus || !$focus.length || !$focus.is(":visible")) {
|
2874 |
-
$focus = self.$trigger;
|
2875 |
-
}
|
2876 |
-
|
2877 |
-
if ($focus && $focus.length) {
|
2878 |
-
x = window.scrollX;
|
2879 |
-
y = window.scrollY;
|
2880 |
-
|
2881 |
-
$focus.trigger("focus");
|
2882 |
-
|
2883 |
-
$("html, body")
|
2884 |
-
.scrollTop(y)
|
2885 |
-
.scrollLeft(x);
|
2886 |
-
}
|
2887 |
-
}
|
2888 |
-
|
2889 |
-
self.current = null;
|
2890 |
-
|
2891 |
-
// Check if there are other instances
|
2892 |
-
instance = $.fancybox.getInstance();
|
2893 |
-
|
2894 |
-
if (instance) {
|
2895 |
-
instance.activate();
|
2896 |
-
} else {
|
2897 |
-
$("body").removeClass("fancybox-active compensate-for-scrollbar");
|
2898 |
-
|
2899 |
-
$("#fancybox-style-noscroll").remove();
|
2900 |
-
}
|
2901 |
-
},
|
2902 |
-
|
2903 |
-
// Call callback and trigger an event
|
2904 |
-
// ==================================
|
2905 |
-
|
2906 |
-
trigger: function(name, slide) {
|
2907 |
-
var args = Array.prototype.slice.call(arguments, 1),
|
2908 |
-
self = this,
|
2909 |
-
obj = slide && slide.opts ? slide : self.current,
|
2910 |
-
rez;
|
2911 |
-
|
2912 |
-
if (obj) {
|
2913 |
-
args.unshift(obj);
|
2914 |
-
} else {
|
2915 |
-
obj = self;
|
2916 |
-
}
|
2917 |
-
|
2918 |
-
args.unshift(self);
|
2919 |
-
|
2920 |
-
if ($.isFunction(obj.opts[name])) {
|
2921 |
-
rez = obj.opts[name].apply(obj, args);
|
2922 |
-
}
|
2923 |
-
|
2924 |
-
if (rez === false) {
|
2925 |
-
return rez;
|
2926 |
-
}
|
2927 |
-
|
2928 |
-
if (name === "afterClose" || !self.$refs) {
|
2929 |
-
$D.trigger(name + ".fb", args);
|
2930 |
-
} else {
|
2931 |
-
self.$refs.container.trigger(name + ".fb", args);
|
2932 |
-
}
|
2933 |
-
},
|
2934 |
-
|
2935 |
-
// Update infobar values, navigation button states and reveal caption
|
2936 |
-
// ==================================================================
|
2937 |
-
|
2938 |
-
updateControls: function() {
|
2939 |
-
var self = this,
|
2940 |
-
current = self.current,
|
2941 |
-
index = current.index,
|
2942 |
-
$container = self.$refs.container,
|
2943 |
-
$caption = self.$refs.caption,
|
2944 |
-
caption = current.opts.caption;
|
2945 |
-
|
2946 |
-
// Recalculate content dimensions
|
2947 |
-
current.$slide.trigger("refresh");
|
2948 |
-
|
2949 |
-
self.$caption = caption && caption.length ? $caption.html(caption) : null;
|
2950 |
-
|
2951 |
-
if (!self.hasHiddenControls && !self.isIdle) {
|
2952 |
-
self.showControls();
|
2953 |
-
}
|
2954 |
-
|
2955 |
-
// Update info and navigation elements
|
2956 |
-
$container.find("[data-fancybox-count]").html(self.group.length);
|
2957 |
-
$container.find("[data-fancybox-index]").html(index + 1);
|
2958 |
-
|
2959 |
-
$container.find("[data-fancybox-prev]").prop("disabled", !current.opts.loop && index <= 0);
|
2960 |
-
$container.find("[data-fancybox-next]").prop("disabled", !current.opts.loop && index >= self.group.length - 1);
|
2961 |
-
|
2962 |
-
if (current.type === "image") {
|
2963 |
-
// Re-enable buttons; update download button source
|
2964 |
-
$container
|
2965 |
-
.find("[data-fancybox-zoom]")
|
2966 |
-
.show()
|
2967 |
-
.end()
|
2968 |
-
.find("[data-fancybox-download]")
|
2969 |
-
.attr("href", current.opts.image.src || current.src)
|
2970 |
-
.show();
|
2971 |
-
} else if (current.opts.toolbar) {
|
2972 |
-
$container.find("[data-fancybox-download],[data-fancybox-zoom]").hide();
|
2973 |
-
}
|
2974 |
-
|
2975 |
-
// Make sure focus is not on disabled button/element
|
2976 |
-
if ($(document.activeElement).is(":hidden,[disabled]")) {
|
2977 |
-
self.$refs.container.trigger("focus");
|
2978 |
-
}
|
2979 |
-
},
|
2980 |
-
|
2981 |
-
// Hide toolbar and caption
|
2982 |
-
// ========================
|
2983 |
-
|
2984 |
-
hideControls: function(andCaption) {
|
2985 |
-
var self = this,
|
2986 |
-
arr = ["infobar", "toolbar", "nav"];
|
2987 |
-
|
2988 |
-
if (andCaption || !self.current.opts.preventCaptionOverlap) {
|
2989 |
-
arr.push("caption");
|
2990 |
-
}
|
2991 |
-
|
2992 |
-
this.$refs.container.removeClass(
|
2993 |
-
arr
|
2994 |
-
.map(function(i) {
|
2995 |
-
return "fancybox-show-" + i;
|
2996 |
-
})
|
2997 |
-
.join(" ")
|
2998 |
-
);
|
2999 |
-
|
3000 |
-
this.hasHiddenControls = true;
|
3001 |
-
},
|
3002 |
-
|
3003 |
-
showControls: function() {
|
3004 |
-
var self = this,
|
3005 |
-
opts = self.current ? self.current.opts : self.opts,
|
3006 |
-
$container = self.$refs.container;
|
3007 |
-
|
3008 |
-
self.hasHiddenControls = false;
|
3009 |
-
self.idleSecondsCounter = 0;
|
3010 |
-
|
3011 |
-
$container
|
3012 |
-
.toggleClass("fancybox-show-toolbar", !!(opts.toolbar && opts.buttons))
|
3013 |
-
.toggleClass("fancybox-show-infobar", !!(opts.infobar && self.group.length > 1))
|
3014 |
-
.toggleClass("fancybox-show-caption", !!self.$caption)
|
3015 |
-
.toggleClass("fancybox-show-nav", !!(opts.arrows && self.group.length > 1))
|
3016 |
-
.toggleClass("fancybox-is-modal", !!opts.modal);
|
3017 |
-
},
|
3018 |
-
|
3019 |
-
// Toggle toolbar and caption
|
3020 |
-
// ==========================
|
3021 |
-
|
3022 |
-
toggleControls: function() {
|
3023 |
-
if (this.hasHiddenControls) {
|
3024 |
-
this.showControls();
|
3025 |
-
} else {
|
3026 |
-
this.hideControls();
|
3027 |
-
}
|
3028 |
-
}
|
3029 |
-
});
|
3030 |
-
|
3031 |
-
$.fancybox = {
|
3032 |
-
version: "3.5.1",
|
3033 |
-
defaults: defaults,
|
3034 |
-
|
3035 |
-
// Get current instance and execute a command.
|
3036 |
-
//
|
3037 |
-
// Examples of usage:
|
3038 |
-
//
|
3039 |
-
// $instance = $.fancybox.getInstance();
|
3040 |
-
// $.fancybox.getInstance().jumpTo( 1 );
|
3041 |
-
// $.fancybox.getInstance( 'jumpTo', 1 );
|
3042 |
-
// $.fancybox.getInstance( function() {
|
3043 |
-
// console.info( this.currIndex );
|
3044 |
-
// });
|
3045 |
-
// ======================================================
|
3046 |
-
|
3047 |
-
getInstance: function(command) {
|
3048 |
-
var instance = $('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),
|
3049 |
-
args = Array.prototype.slice.call(arguments, 1);
|
3050 |
-
|
3051 |
-
if (instance instanceof FancyBox) {
|
3052 |
-
if ($.type(command) === "string") {
|
3053 |
-
instance[command].apply(instance, args);
|
3054 |
-
} else if ($.type(command) === "function") {
|
3055 |
-
command.apply(instance, args);
|
3056 |
-
}
|
3057 |
-
|
3058 |
-
return instance;
|
3059 |
-
}
|
3060 |
-
|
3061 |
-
return false;
|
3062 |
-
},
|
3063 |
-
|
3064 |
-
// Create new instance
|
3065 |
-
// ===================
|
3066 |
-
|
3067 |
-
open: function(items, opts, index) {
|
3068 |
-
return new FancyBox(items, opts, index);
|
3069 |
-
},
|
3070 |
-
|
3071 |
-
// Close current or all instances
|
3072 |
-
// ==============================
|
3073 |
-
|
3074 |
-
close: function(all) {
|
3075 |
-
var instance = this.getInstance();
|
3076 |
-
|
3077 |
-
if (instance) {
|
3078 |
-
instance.close();
|
3079 |
-
|
3080 |
-
// Try to find and close next instance
|
3081 |
-
if (all === true) {
|
3082 |
-
this.close(all);
|
3083 |
-
}
|
3084 |
-
}
|
3085 |
-
},
|
3086 |
-
|
3087 |
-
// Close all instances and unbind all events
|
3088 |
-
// =========================================
|
3089 |
-
|
3090 |
-
destroy: function() {
|
3091 |
-
this.close(true);
|
3092 |
-
|
3093 |
-
$D.add("body").off("click.fb-start", "**");
|
3094 |
-
},
|
3095 |
-
|
3096 |
-
// Try to detect mobile devices
|
3097 |
-
// ============================
|
3098 |
-
|
3099 |
-
isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
|
3100 |
-
|
3101 |
-
// Detect if 'translate3d' support is available
|
3102 |
-
// ============================================
|
3103 |
-
|
3104 |
-
use3d: (function() {
|
3105 |
-
var div = document.createElement("div");
|
3106 |
-
|
3107 |
-
return (
|
3108 |
-
window.getComputedStyle &&
|
3109 |
-
window.getComputedStyle(div) &&
|
3110 |
-
window.getComputedStyle(div).getPropertyValue("transform") &&
|
3111 |
-
!(document.documentMode && document.documentMode < 11)
|
3112 |
-
);
|
3113 |
-
})(),
|
3114 |
-
|
3115 |
-
// Helper function to get current visual state of an element
|
3116 |
-
// returns array[ top, left, horizontal-scale, vertical-scale, opacity ]
|
3117 |
-
// =====================================================================
|
3118 |
-
|
3119 |
-
getTranslate: function($el) {
|
3120 |
-
var domRect;
|
3121 |
-
|
3122 |
-
if (!$el || !$el.length) {
|
3123 |
-
return false;
|
3124 |
-
}
|
3125 |
-
|
3126 |
-
domRect = $el[0].getBoundingClientRect();
|
3127 |
-
|
3128 |
-
return {
|
3129 |
-
top: domRect.top || 0,
|
3130 |
-
left: domRect.left || 0,
|
3131 |
-
width: domRect.width,
|
3132 |
-
height: domRect.height,
|
3133 |
-
opacity: parseFloat($el.css("opacity"))
|
3134 |
-
};
|
3135 |
-
},
|
3136 |
-
|
3137 |
-
// Shortcut for setting "translate3d" properties for element
|
3138 |
-
// Can set be used to set opacity, too
|
3139 |
-
// ========================================================
|
3140 |
-
|
3141 |
-
setTranslate: function($el, props) {
|
3142 |
-
var str = "",
|
3143 |
-
css = {};
|
3144 |
-
|
3145 |
-
if (!$el || !props) {
|
3146 |
-
return;
|
3147 |
-
}
|
3148 |
-
|
3149 |
-
if (props.left !== undefined || props.top !== undefined) {
|
3150 |
-
str =
|
3151 |
-
(props.left === undefined ? $el.position().left : props.left) +
|
3152 |
-
"px, " +
|
3153 |
-
(props.top === undefined ? $el.position().top : props.top) +
|
3154 |
-
"px";
|
3155 |
-
|
3156 |
-
if (this.use3d) {
|
3157 |
-
str = "translate3d(" + str + ", 0px)";
|
3158 |
-
} else {
|
3159 |
-
str = "translate(" + str + ")";
|
3160 |
-
}
|
3161 |
-
}
|
3162 |
-
|
3163 |
-
if (props.scaleX !== undefined && props.scaleY !== undefined) {
|
3164 |
-
str += " scale(" + props.scaleX + ", " + props.scaleY + ")";
|
3165 |
-
} else if (props.scaleX !== undefined) {
|
3166 |
-
str += " scaleX(" + props.scaleX + ")";
|
3167 |
-
}
|
3168 |
-
|
3169 |
-
if (str.length) {
|
3170 |
-
css.transform = str;
|
3171 |
-
}
|
3172 |
-
|
3173 |
-
if (props.opacity !== undefined) {
|
3174 |
-
css.opacity = props.opacity;
|
3175 |
-
}
|
3176 |
-
|
3177 |
-
if (props.width !== undefined) {
|
3178 |
-
css.width = props.width;
|
3179 |
-
}
|
3180 |
-
|
3181 |
-
if (props.height !== undefined) {
|
3182 |
-
css.height = props.height;
|
3183 |
-
}
|
3184 |
-
|
3185 |
-
return $el.css(css);
|
3186 |
-
},
|
3187 |
-
|
3188 |
-
// Simple CSS transition handler
|
3189 |
-
// =============================
|
3190 |
-
|
3191 |
-
animate: function($el, to, duration, callback, leaveAnimationName) {
|
3192 |
-
var self = this,
|
3193 |
-
from;
|
3194 |
-
|
3195 |
-
if ($.isFunction(duration)) {
|
3196 |
-
callback = duration;
|
3197 |
-
duration = null;
|
3198 |
-
}
|
3199 |
-
|
3200 |
-
self.stop($el);
|
3201 |
-
|
3202 |
-
from = self.getTranslate($el);
|
3203 |
-
|
3204 |
-
$el.on(transitionEnd, function(e) {
|
3205 |
-
// Skip events from child elements and z-index change
|
3206 |
-
if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == "z-index")) {
|
3207 |
-
return;
|
3208 |
-
}
|
3209 |
-
|
3210 |
-
self.stop($el);
|
3211 |
-
|
3212 |
-
if ($.isNumeric(duration)) {
|
3213 |
-
$el.css("transition-duration", "");
|
3214 |
-
}
|
3215 |
-
|
3216 |
-
if ($.isPlainObject(to)) {
|
3217 |
-
if (to.scaleX !== undefined && to.scaleY !== undefined) {
|
3218 |
-
self.setTranslate($el, {
|
3219 |
-
top: to.top,
|
3220 |
-
left: to.left,
|
3221 |
-
width: from.width * to.scaleX,
|
3222 |
-
height: from.height * to.scaleY,
|
3223 |
-
scaleX: 1,
|
3224 |
-
scaleY: 1
|
3225 |
-
});
|
3226 |
-
}
|
3227 |
-
} else if (leaveAnimationName !== true) {
|
3228 |
-
$el.removeClass(to);
|
3229 |
-
}
|
3230 |
-
|
3231 |
-
if ($.isFunction(callback)) {
|
3232 |
-
callback(e);
|
3233 |
-
}
|
3234 |
-
});
|
3235 |
-
|
3236 |
-
if ($.isNumeric(duration)) {
|
3237 |
-
$el.css("transition-duration", duration + "ms");
|
3238 |
-
}
|
3239 |
-
|
3240 |
-
// Start animation by changing CSS properties or class name
|
3241 |
-
if ($.isPlainObject(to)) {
|
3242 |
-
if (to.scaleX !== undefined && to.scaleY !== undefined) {
|
3243 |
-
delete to.width;
|
3244 |
-
delete to.height;
|
3245 |
-
|
3246 |
-
if ($el.parent().hasClass("fancybox-slide--image")) {
|
3247 |
-
$el.parent().addClass("fancybox-is-scaling");
|
3248 |
-
}
|
3249 |
-
}
|
3250 |
-
|
3251 |
-
$.fancybox.setTranslate($el, to);
|
3252 |
-
} else {
|
3253 |
-
$el.addClass(to);
|
3254 |
-
}
|
3255 |
-
|
3256 |
-
// Make sure that `transitionend` callback gets fired
|
3257 |
-
$el.data(
|
3258 |
-
"timer",
|
3259 |
-
setTimeout(function() {
|
3260 |
-
$el.trigger(transitionEnd);
|
3261 |
-
}, duration + 33)
|
3262 |
-
);
|
3263 |
-
},
|
3264 |
-
|
3265 |
-
stop: function($el, callCallback) {
|
3266 |
-
if ($el && $el.length) {
|
3267 |
-
clearTimeout($el.data("timer"));
|
3268 |
-
|
3269 |
-
if (callCallback) {
|
3270 |
-
$el.trigger(transitionEnd);
|
3271 |
-
}
|
3272 |
-
|
3273 |
-
$el.off(transitionEnd).css("transition-duration", "");
|
3274 |
-
|
3275 |
-
$el.parent().removeClass("fancybox-is-scaling");
|
3276 |
-
}
|
3277 |
-
}
|
3278 |
-
};
|
3279 |
-
|
3280 |
-
// Default click handler for "fancyboxed" links
|
3281 |
-
// ============================================
|
3282 |
-
|
3283 |
-
function _run(e, opts) {
|
3284 |
-
var items = [],
|
3285 |
-
index = 0,
|
3286 |
-
$target,
|
3287 |
-
value,
|
3288 |
-
instance;
|
3289 |
-
|
3290 |
-
// Avoid opening multiple times
|
3291 |
-
if (e && e.isDefaultPrevented()) {
|
3292 |
-
return;
|
3293 |
-
}
|
3294 |
-
|
3295 |
-
e.preventDefault();
|
3296 |
-
|
3297 |
-
opts = opts || {};
|
3298 |
-
|
3299 |
-
if (e && e.data) {
|
3300 |
-
opts = mergeOpts(e.data.options, opts);
|
3301 |
-
}
|
3302 |
-
|
3303 |
-
$target = opts.$target || $(e.currentTarget).trigger("blur");
|
3304 |
-
instance = $.fancybox.getInstance();
|
3305 |
-
|
3306 |
-
if (instance && instance.$trigger && instance.$trigger.is($target)) {
|
3307 |
-
return;
|
3308 |
-
}
|
3309 |
-
|
3310 |
-
if (opts.selector) {
|
3311 |
-
items = $(opts.selector);
|
3312 |
-
} else {
|
3313 |
-
// Get all related items and find index for clicked one
|
3314 |
-
value = $target.attr("data-fancybox") || "";
|
3315 |
-
|
3316 |
-
if (value) {
|
3317 |
-
items = e.data ? e.data.items : [];
|
3318 |
-
items = items.length ? items.filter('[data-fancybox="' + value + '"]') : $('[data-fancybox="' + value + '"]');
|
3319 |
-
} else {
|
3320 |
-
items = [$target];
|
3321 |
-
}
|
3322 |
-
}
|
3323 |
-
|
3324 |
-
index = $(items).index($target);
|
3325 |
-
|
3326 |
-
// Sometimes current item can not be found
|
3327 |
-
if (index < 0) {
|
3328 |
-
index = 0;
|
3329 |
-
}
|
3330 |
-
|
3331 |
-
instance = $.fancybox.open(items, opts, index);
|
3332 |
-
|
3333 |
-
// Save last active element
|
3334 |
-
instance.$trigger = $target;
|
3335 |
-
}
|
3336 |
-
|
3337 |
-
// Create a jQuery plugin
|
3338 |
-
// ======================
|
3339 |
-
|
3340 |
-
$.fn.fancybox = function(options) {
|
3341 |
-
var selector;
|
3342 |
-
|
3343 |
-
options = options || {};
|
3344 |
-
selector = options.selector || false;
|
3345 |
-
|
3346 |
-
if (selector) {
|
3347 |
-
// Use body element instead of document so it executes first
|
3348 |
-
$("body")
|
3349 |
-
.off("click.fb-start", selector)
|
3350 |
-
.on("click.fb-start", selector, {options: options}, _run);
|
3351 |
-
} else {
|
3352 |
-
this.off("click.fb-start").on(
|
3353 |
-
"click.fb-start",
|
3354 |
-
{
|
3355 |
-
items: this,
|
3356 |
-
options: options
|
3357 |
-
},
|
3358 |
-
_run
|
3359 |
-
);
|
3360 |
-
}
|
3361 |
-
|
3362 |
-
return this;
|
3363 |
-
};
|
3364 |
-
|
3365 |
-
// Self initializing plugin for all elements having `data-fancybox` attribute
|
3366 |
-
// ==========================================================================
|
3367 |
-
|
3368 |
-
$D.on("click.fb-start", "[data-fancybox]", _run);
|
3369 |
-
|
3370 |
-
// Enable "trigger elements"
|
3371 |
-
// =========================
|
3372 |
-
|
3373 |
-
$D.on("click.fb-start", "[data-fancybox-trigger]", function(e) {
|
3374 |
-
$('[data-fancybox="' + $(this).attr("data-fancybox-trigger") + '"]')
|
3375 |
-
.eq($(this).attr("data-fancybox-index") || 0)
|
3376 |
-
.trigger("click.fb-start", {
|
3377 |
-
$trigger: $(this)
|
3378 |
-
});
|
3379 |
-
});
|
3380 |
-
|
3381 |
-
// Track focus event for better accessibility styling
|
3382 |
-
// ==================================================
|
3383 |
-
(function() {
|
3384 |
-
var buttonStr = ".fancybox-button",
|
3385 |
-
focusStr = "fancybox-focus",
|
3386 |
-
$pressed = null;
|
3387 |
-
|
3388 |
-
$D.on("mousedown mouseup focus blur", buttonStr, function(e) {
|
3389 |
-
switch (e.type) {
|
3390 |
-
case "mousedown":
|
3391 |
-
$pressed = $(this);
|
3392 |
-
break;
|
3393 |
-
case "mouseup":
|
3394 |
-
$pressed = null;
|
3395 |
-
break;
|
3396 |
-
case "focusin":
|
3397 |
-
$(buttonStr).removeClass(focusStr);
|
3398 |
-
|
3399 |
-
if (!$(this).is($pressed) && !$(this).is("[disabled]")) {
|
3400 |
-
$(this).addClass(focusStr);
|
3401 |
-
}
|
3402 |
-
break;
|
3403 |
-
case "focusout":
|
3404 |
-
$(buttonStr).removeClass(focusStr);
|
3405 |
-
break;
|
3406 |
-
}
|
3407 |
-
});
|
3408 |
-
})();
|
3409 |
-
})(window, document, jQuery);
|
3410 |
-
|
3411 |
-
// ==========================================================================
|
3412 |
-
//
|
3413 |
-
// Media
|
3414 |
-
// Adds additional media type support
|
3415 |
-
//
|
3416 |
-
// ==========================================================================
|
3417 |
-
(function($) {
|
3418 |
-
"use strict";
|
3419 |
-
|
3420 |
-
// Object containing properties for each media type
|
3421 |
-
var defaults = {
|
3422 |
-
youtube: {
|
3423 |
-
matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
|
3424 |
-
params: {
|
3425 |
-
autoplay: 1,
|
3426 |
-
autohide: 1,
|
3427 |
-
fs: 1,
|
3428 |
-
rel: 0,
|
3429 |
-
hd: 1,
|
3430 |
-
wmode: "transparent",
|
3431 |
-
enablejsapi: 1,
|
3432 |
-
html5: 1
|
3433 |
-
},
|
3434 |
-
paramPlace: 8,
|
3435 |
-
type: "iframe",
|
3436 |
-
url: "//www.youtube-nocookie.com/embed/$4",
|
3437 |
-
thumb: "//img.youtube.com/vi/$4/hqdefault.jpg"
|
3438 |
-
},
|
3439 |
-
|
3440 |
-
vimeo: {
|
3441 |
-
matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
|
3442 |
-
params: {
|
3443 |
-
autoplay: 1,
|
3444 |
-
hd: 1,
|
3445 |
-
show_title: 1,
|
3446 |
-
show_byline: 1,
|
3447 |
-
show_portrait: 0,
|
3448 |
-
fullscreen: 1
|
3449 |
-
},
|
3450 |
-
paramPlace: 3,
|
3451 |
-
type: "iframe",
|
3452 |
-
url: "//player.vimeo.com/video/$2"
|
3453 |
-
},
|
3454 |
-
|
3455 |
-
instagram: {
|
3456 |
-
matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
|
3457 |
-
type: "image",
|
3458 |
-
url: "//$1/p/$2/media/?size=l"
|
3459 |
-
},
|
3460 |
-
|
3461 |
-
// Examples:
|
3462 |
-
// http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
|
3463 |
-
// https://www.google.com/maps/@37.7852006,-122.4146355,14.65z
|
3464 |
-
// https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en
|
3465 |
-
// https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572
|
3466 |
-
gmap_place: {
|
3467 |
-
matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
|
3468 |
-
type: "iframe",
|
3469 |
-
url: function(rez) {
|
3470 |
-
return (
|
3471 |
-
"//maps.google." +
|
3472 |
-
rez[2] +
|
3473 |
-
"/?ll=" +
|
3474 |
-
(rez[9] ? rez[9] + "&z=" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\//, "&") : "") : rez[12] + "").replace(/\?/, "&") +
|
3475 |
-
"&output=" +
|
3476 |
-
(rez[12] && rez[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
|
3477 |
-
);
|
3478 |
-
}
|
3479 |
-
},
|
3480 |
-
|
3481 |
-
// Examples:
|
3482 |
-
// https://www.google.com/maps/search/Empire+State+Building/
|
3483 |
-
// https://www.google.com/maps/search/?api=1&query=centurylink+field
|
3484 |
-
// https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393
|
3485 |
-
gmap_search: {
|
3486 |
-
matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
|
3487 |
-
type: "iframe",
|
3488 |
-
url: function(rez) {
|
3489 |
-
return "//maps.google." + rez[2] + "/maps?q=" + rez[5].replace("query=", "q=").replace("api=1", "") + "&output=embed";
|
3490 |
-
}
|
3491 |
-
}
|
3492 |
-
};
|
3493 |
-
|
3494 |
-
// Formats matching url to final form
|
3495 |
-
var format = function(url, rez, params) {
|
3496 |
-
if (!url) {
|
3497 |
-
return;
|
3498 |
-
}
|
3499 |
-
|
3500 |
-
params = params || "";
|
3501 |
-
|
3502 |
-
if ($.type(params) === "object") {
|
3503 |
-
params = $.param(params, true);
|
3504 |
-
}
|
3505 |
-
|
3506 |
-
$.each(rez, function(key, value) {
|
3507 |
-
url = url.replace("$" + key, value || "");
|
3508 |
-
});
|
3509 |
-
|
3510 |
-
if (params.length) {
|
3511 |
-
url += (url.indexOf("?") > 0 ? "&" : "?") + params;
|
3512 |
-
}
|
3513 |
-
|
3514 |
-
return url;
|
3515 |
-
};
|
3516 |
-
|
3517 |
-
$(document).on("objectNeedsType.fb", function(e, instance, item) {
|
3518 |
-
var url = item.src || "",
|
3519 |
-
type = false,
|
3520 |
-
media,
|
3521 |
-
thumb,
|
3522 |
-
rez,
|
3523 |
-
params,
|
3524 |
-
urlParams,
|
3525 |
-
paramObj,
|
3526 |
-
provider;
|
3527 |
-
|
3528 |
-
media = $.extend(true, {}, defaults, item.opts.media);
|
3529 |
-
|
3530 |
-
// Look for any matching media type
|
3531 |
-
$.each(media, function(providerName, providerOpts) {
|
3532 |
-
rez = url.match(providerOpts.matcher);
|
3533 |
-
|
3534 |
-
if (!rez) {
|
3535 |
-
return;
|
3536 |
-
}
|
3537 |
-
|
3538 |
-
type = providerOpts.type;
|
3539 |
-
provider = providerName;
|
3540 |
-
paramObj = {};
|
3541 |
-
|
3542 |
-
if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) {
|
3543 |
-
urlParams = rez[providerOpts.paramPlace];
|
3544 |
-
|
3545 |
-
if (urlParams[0] == "?") {
|
3546 |
-
urlParams = urlParams.substring(1);
|
3547 |
-
}
|
3548 |
-
|
3549 |
-
urlParams = urlParams.split("&");
|
3550 |
-
|
3551 |
-
for (var m = 0; m < urlParams.length; ++m) {
|
3552 |
-
var p = urlParams[m].split("=", 2);
|
3553 |
-
|
3554 |
-
if (p.length == 2) {
|
3555 |
-
paramObj[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
|
3556 |
-
}
|
3557 |
-
}
|
3558 |
-
}
|
3559 |
-
|
3560 |
-
params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj);
|
3561 |
-
|
3562 |
-
url =
|
3563 |
-
$.type(providerOpts.url) === "function" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params);
|
3564 |
-
|
3565 |
-
thumb =
|
3566 |
-
$.type(providerOpts.thumb) === "function" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez);
|
3567 |
-
|
3568 |
-
if (providerName === "youtube") {
|
3569 |
-
url = url.replace(/&t=((\d+)m)?(\d+)s/, function(match, p1, m, s) {
|
3570 |
-
return "&start=" + ((m ? parseInt(m, 10) * 60 : 0) + parseInt(s, 10));
|
3571 |
-
});
|
3572 |
-
} else if (providerName === "vimeo") {
|
3573 |
-
url = url.replace("&%23", "#");
|
3574 |
-
}
|
3575 |
-
|
3576 |
-
return false;
|
3577 |
-
});
|
3578 |
-
|
3579 |
-
// If it is found, then change content type and update the url
|
3580 |
-
|
3581 |
-
if (type) {
|
3582 |
-
if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) {
|
3583 |
-
item.opts.thumb = thumb;
|
3584 |
-
}
|
3585 |
-
|
3586 |
-
if (type === "iframe") {
|
3587 |
-
item.opts = $.extend(true, item.opts, {
|
3588 |
-
iframe: {
|
3589 |
-
preload: false,
|
3590 |
-
attr: {
|
3591 |
-
scrolling: "no"
|
3592 |
-
}
|
3593 |
-
}
|
3594 |
-
});
|
3595 |
-
}
|
3596 |
-
|
3597 |
-
$.extend(item, {
|
3598 |
-
type: type,
|
3599 |
-
src: url,
|
3600 |
-
origSrc: item.src,
|
3601 |
-
contentSource: provider,
|
3602 |
-
contentType: type === "image" ? "image" : provider == "gmap_place" || provider == "gmap_search" ? "map" : "video"
|
3603 |
-
});
|
3604 |
-
} else if (url) {
|
3605 |
-
item.type = item.opts.defaultType;
|
3606 |
-
}
|
3607 |
-
});
|
3608 |
-
|
3609 |
-
// Load YouTube/Video API on request to detect when video finished playing
|
3610 |
-
var VideoAPILoader = {
|
3611 |
-
youtube: {
|
3612 |
-
src: "https://www.youtube.com/iframe_api",
|
3613 |
-
class: "YT",
|
3614 |
-
loading: false,
|
3615 |
-
loaded: false
|
3616 |
-
},
|
3617 |
-
|
3618 |
-
vimeo: {
|
3619 |
-
src: "https://player.vimeo.com/api/player.js",
|
3620 |
-
class: "Vimeo",
|
3621 |
-
loading: false,
|
3622 |
-
loaded: false
|
3623 |
-
},
|
3624 |
-
|
3625 |
-
load: function(vendor) {
|
3626 |
-
var _this = this,
|
3627 |
-
script;
|
3628 |
-
|
3629 |
-
if (this[vendor].loaded) {
|
3630 |
-
setTimeout(function() {
|
3631 |
-
_this.done(vendor);
|
3632 |
-
});
|
3633 |
-
return;
|
3634 |
-
}
|
3635 |
-
|
3636 |
-
if (this[vendor].loading) {
|
3637 |
-
return;
|
3638 |
-
}
|
3639 |
-
|
3640 |
-
this[vendor].loading = true;
|
3641 |
-
|
3642 |
-
script = document.createElement("script");
|
3643 |
-
script.type = "text/javascript";
|
3644 |
-
script.src = this[vendor].src;
|
3645 |
-
|
3646 |
-
if (vendor === "youtube") {
|
3647 |
-
window.onYouTubeIframeAPIReady = function() {
|
3648 |
-
_this[vendor].loaded = true;
|
3649 |
-
_this.done(vendor);
|
3650 |
-
};
|
3651 |
-
} else {
|
3652 |
-
script.onload = function() {
|
3653 |
-
_this[vendor].loaded = true;
|
3654 |
-
_this.done(vendor);
|
3655 |
-
};
|
3656 |
-
}
|
3657 |
-
|
3658 |
-
document.body.appendChild(script);
|
3659 |
-
},
|
3660 |
-
done: function(vendor) {
|
3661 |
-
var instance, $el, player;
|
3662 |
-
|
3663 |
-
if (vendor === "youtube") {
|
3664 |
-
delete window.onYouTubeIframeAPIReady;
|
3665 |
-
}
|
3666 |
-
|
3667 |
-
instance = $.fancybox.getInstance();
|
3668 |
-
|
3669 |
-
if (instance) {
|
3670 |
-
$el = instance.current.$content.find("iframe");
|
3671 |
-
|
3672 |
-
if (vendor === "youtube" && YT !== undefined && YT) {
|
3673 |
-
player = new YT.Player($el.attr("id"), {
|
3674 |
-
events: {
|
3675 |
-
onStateChange: function(e) {
|
3676 |
-
if (e.data == 0) {
|
3677 |
-
instance.next();
|
3678 |
-
}
|
3679 |
-
}
|
3680 |
-
}
|
3681 |
-
});
|
3682 |
-
} else if (vendor === "vimeo" && Vimeo !== undefined && Vimeo) {
|
3683 |
-
player = new Vimeo.Player($el);
|
3684 |
-
|
3685 |
-
player.on("ended", function() {
|
3686 |
-
instance.next();
|
3687 |
-
});
|
3688 |
-
}
|
3689 |
-
}
|
3690 |
-
}
|
3691 |
-
};
|
3692 |
-
|
3693 |
-
$(document).on({
|
3694 |
-
"afterShow.fb": function(e, instance, current) {
|
3695 |
-
if (instance.group.length > 1 && (current.contentSource === "youtube" || current.contentSource === "vimeo")) {
|
3696 |
-
VideoAPILoader.load(current.contentSource);
|
3697 |
-
}
|
3698 |
-
}
|
3699 |
-
});
|
3700 |
-
})(jQuery);
|
3701 |
-
|
3702 |
-
// ==========================================================================
|
3703 |
-
//
|
3704 |
-
// Guestures
|
3705 |
-
// Adds touch guestures, handles click and tap events
|
3706 |
-
//
|
3707 |
-
// ==========================================================================
|
3708 |
-
(function(window, document, $) {
|
3709 |
-
"use strict";
|
3710 |
-
|
3711 |
-
var requestAFrame = (function() {
|
3712 |
-
return (
|
3713 |
-
window.requestAnimationFrame ||
|
3714 |
-
window.webkitRequestAnimationFrame ||
|
3715 |
-
window.mozRequestAnimationFrame ||
|
3716 |
-
window.oRequestAnimationFrame ||
|
3717 |
-
// if all else fails, use setTimeout
|
3718 |
-
function(callback) {
|
3719 |
-
return window.setTimeout(callback, 1000 / 60);
|
3720 |
-
}
|
3721 |
-
);
|
3722 |
-
})();
|
3723 |
-
|
3724 |
-
var cancelAFrame = (function() {
|
3725 |
-
return (
|
3726 |
-
window.cancelAnimationFrame ||
|
3727 |
-
window.webkitCancelAnimationFrame ||
|
3728 |
-
window.mozCancelAnimationFrame ||
|
3729 |
-
window.oCancelAnimationFrame ||
|
3730 |
-
function(id) {
|
3731 |
-
window.clearTimeout(id);
|
3732 |
-
}
|
3733 |
-
);
|
3734 |
-
})();
|
3735 |
-
|
3736 |
-
var getPointerXY = function(e) {
|
3737 |
-
var result = [];
|
3738 |
-
|
3739 |
-
e = e.originalEvent || e || window.e;
|
3740 |
-
e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];
|
3741 |
-
|
3742 |
-
for (var key in e) {
|
3743 |
-
if (e[key].pageX) {
|
3744 |
-
result.push({
|
3745 |
-
x: e[key].pageX,
|
3746 |
-
y: e[key].pageY
|
3747 |
-
});
|
3748 |
-
} else if (e[key].clientX) {
|
3749 |
-
result.push({
|
3750 |
-
x: e[key].clientX,
|
3751 |
-
y: e[key].clientY
|
3752 |
-
});
|
3753 |
-
}
|
3754 |
-
}
|
3755 |
-
|
3756 |
-
return result;
|
3757 |
-
};
|
3758 |
-
|
3759 |
-
var distance = function(point2, point1, what) {
|
3760 |
-
if (!point1 || !point2) {
|
3761 |
-
return 0;
|
3762 |
-
}
|
3763 |
-
|
3764 |
-
if (what === "x") {
|
3765 |
-
return point2.x - point1.x;
|
3766 |
-
} else if (what === "y") {
|
3767 |
-
return point2.y - point1.y;
|
3768 |
-
}
|
3769 |
-
|
3770 |
-
return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
|
3771 |
-
};
|
3772 |
-
|
3773 |
-
var isClickable = function($el) {
|
3774 |
-
if (
|
3775 |
-
$el.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe') ||
|
3776 |
-
$.isFunction($el.get(0).onclick) ||
|
3777 |
-
$el.data("selectable")
|
3778 |
-
) {
|
3779 |
-
return true;
|
3780 |
-
}
|
3781 |
-
|
3782 |
-
// Check for attributes like data-fancybox-next or data-fancybox-close
|
3783 |
-
for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) {
|
3784 |
-
if (atts[i].nodeName.substr(0, 14) === "data-fancybox-") {
|
3785 |
-
return true;
|
3786 |
-
}
|
3787 |
-
}
|
3788 |
-
|
3789 |
-
return false;
|
3790 |
-
};
|
3791 |
-
|
3792 |
-
var hasScrollbars = function(el) {
|
3793 |
-
var overflowY = window.getComputedStyle(el)["overflow-y"],
|
3794 |
-
overflowX = window.getComputedStyle(el)["overflow-x"],
|
3795 |
-
vertical = (overflowY === "scroll" || overflowY === "auto") && el.scrollHeight > el.clientHeight,
|
3796 |
-
horizontal = (overflowX === "scroll" || overflowX === "auto") && el.scrollWidth > el.clientWidth;
|
3797 |
-
|
3798 |
-
return vertical || horizontal;
|
3799 |
-
};
|
3800 |
-
|
3801 |
-
var isScrollable = function($el) {
|
3802 |
-
var rez = false;
|
3803 |
-
|
3804 |
-
while (true) {
|
3805 |
-
rez = hasScrollbars($el.get(0));
|
3806 |
-
|
3807 |
-
if (rez) {
|
3808 |
-
break;
|
3809 |
-
}
|
3810 |
-
|
3811 |
-
$el = $el.parent();
|
3812 |
-
|
3813 |
-
if (!$el.length || $el.hasClass("fancybox-stage") || $el.is("body")) {
|
3814 |
-
break;
|
3815 |
-
}
|
3816 |
-
}
|
3817 |
-
|
3818 |
-
return rez;
|
3819 |
-
};
|
3820 |
-
|
3821 |
-
var Guestures = function(instance) {
|
3822 |
-
var self = this;
|
3823 |
-
|
3824 |
-
self.instance = instance;
|
3825 |
-
|
3826 |
-
self.$bg = instance.$refs.bg;
|
3827 |
-
self.$stage = instance.$refs.stage;
|
3828 |
-
self.$container = instance.$refs.container;
|
3829 |
-
|
3830 |
-
self.destroy();
|
3831 |
-
|
3832 |
-
self.$container.on("touchstart.fb.touch mousedown.fb.touch", $.proxy(self, "ontouchstart"));
|
3833 |
-
};
|
3834 |
-
|
3835 |
-
Guestures.prototype.destroy = function() {
|
3836 |
-
var self = this;
|
3837 |
-
|
3838 |
-
self.$container.off(".fb.touch");
|
3839 |
-
|
3840 |
-
$(document).off(".fb.touch");
|
3841 |
-
|
3842 |
-
if (self.requestId) {
|
3843 |
-
cancelAFrame(self.requestId);
|
3844 |
-
self.requestId = null;
|
3845 |
-
}
|
3846 |
-
|
3847 |
-
if (self.tapped) {
|
3848 |
-
clearTimeout(self.tapped);
|
3849 |
-
self.tapped = null;
|
3850 |
-
}
|
3851 |
-
};
|
3852 |
-
|
3853 |
-
Guestures.prototype.ontouchstart = function(e) {
|
3854 |
-
var self = this,
|
3855 |
-
$target = $(e.target),
|
3856 |
-
instance = self.instance,
|
3857 |
-
current = instance.current,
|
3858 |
-
$slide = current.$slide,
|
3859 |
-
$content = current.$content,
|
3860 |
-
isTouchDevice = e.type == "touchstart";
|
3861 |
-
|
3862 |
-
// Do not respond to both (touch and mouse) events
|
3863 |
-
if (isTouchDevice) {
|
3864 |
-
self.$container.off("mousedown.fb.touch");
|
3865 |
-
}
|
3866 |
-
|
3867 |
-
// Ignore right click
|
3868 |
-
if (e.originalEvent && e.originalEvent.button == 2) {
|
3869 |
-
return;
|
3870 |
-
}
|
3871 |
-
|
3872 |
-
// Ignore taping on links, buttons, input elements
|
3873 |
-
if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) {
|
3874 |
-
return;
|
3875 |
-
}
|
3876 |
-
// Ignore clicks on the scrollbar
|
3877 |
-
if (!$target.is("img") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) {
|
3878 |
-
return;
|
3879 |
-
}
|
3880 |
-
|
3881 |
-
// Ignore clicks while zooming or closing
|
3882 |
-
if (!current || instance.isAnimating || current.$slide.hasClass("fancybox-animated")) {
|
3883 |
-
e.stopPropagation();
|
3884 |
-
e.preventDefault();
|
3885 |
-
|
3886 |
-
return;
|
3887 |
-
}
|
3888 |
-
|
3889 |
-
self.realPoints = self.startPoints = getPointerXY(e);
|
3890 |
-
|
3891 |
-
if (!self.startPoints.length) {
|
3892 |
-
return;
|
3893 |
-
}
|
3894 |
-
|
3895 |
-
// Allow other scripts to catch touch event if "touch" is set to false
|
3896 |
-
if (current.touch) {
|
3897 |
-
e.stopPropagation();
|
3898 |
-
}
|
3899 |
-
|
3900 |
-
self.startEvent = e;
|
3901 |
-
|
3902 |
-
self.canTap = true;
|
3903 |
-
self.$target = $target;
|
3904 |
-
self.$content = $content;
|
3905 |
-
self.opts = current.opts.touch;
|
3906 |
-
|
3907 |
-
self.isPanning = false;
|
3908 |
-
self.isSwiping = false;
|
3909 |
-
self.isZooming = false;
|
3910 |
-
self.isScrolling = false;
|
3911 |
-
self.canPan = instance.canPan();
|
3912 |
-
|
3913 |
-
self.startTime = new Date().getTime();
|
3914 |
-
self.distanceX = self.distanceY = self.distance = 0;
|
3915 |
-
|
3916 |
-
self.canvasWidth = Math.round($slide[0].clientWidth);
|
3917 |
-
self.canvasHeight = Math.round($slide[0].clientHeight);
|
3918 |
-
|
3919 |
-
self.contentLastPos = null;
|
3920 |
-
self.contentStartPos = $.fancybox.getTranslate(self.$content) || {top: 0, left: 0};
|
3921 |
-
self.sliderStartPos = $.fancybox.getTranslate($slide);
|
3922 |
-
|
3923 |
-
// Since position will be absolute, but we need to make it relative to the stage
|
3924 |
-
self.stagePos = $.fancybox.getTranslate(instance.$refs.stage);
|
3925 |
-
|
3926 |
-
self.sliderStartPos.top -= self.stagePos.top;
|
3927 |
-
self.sliderStartPos.left -= self.stagePos.left;
|
3928 |
-
|
3929 |
-
self.contentStartPos.top -= self.stagePos.top;
|
3930 |
-
self.contentStartPos.left -= self.stagePos.left;
|
3931 |
-
|
3932 |
-
$(document)
|
3933 |
-
.off(".fb.touch")
|
3934 |
-
.on(isTouchDevice ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", $.proxy(self, "ontouchend"))
|
3935 |
-
.on(isTouchDevice ? "touchmove.fb.touch" : "mousemove.fb.touch", $.proxy(self, "ontouchmove"));
|
3936 |
-
|
3937 |
-
if ($.fancybox.isMobile) {
|
3938 |
-
document.addEventListener("scroll", self.onscroll, true);
|
3939 |
-
}
|
3940 |
-
|
3941 |
-
// Skip if clicked outside the sliding area
|
3942 |
-
if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) {
|
3943 |
-
if ($target.is(".fancybox-image")) {
|
3944 |
-
e.preventDefault();
|
3945 |
-
}
|
3946 |
-
|
3947 |
-
if (!($.fancybox.isMobile && $target.hasClass("fancybox-caption"))) {
|
3948 |
-
return;
|
3949 |
-
}
|
3950 |
-
}
|
3951 |
-
|
3952 |
-
self.isScrollable = isScrollable($target) || isScrollable($target.parent());
|
3953 |
-
|
3954 |
-
// Check if element is scrollable and try to prevent default behavior (scrolling)
|
3955 |
-
if (!($.fancybox.isMobile && self.isScrollable)) {
|
3956 |
-
e.preventDefault();
|
3957 |
-
}
|
3958 |
-
|
3959 |
-
// One finger or mouse click - swipe or pan an image
|
3960 |
-
if (self.startPoints.length === 1 || current.hasError) {
|
3961 |
-
if (self.canPan) {
|
3962 |
-
$.fancybox.stop(self.$content);
|
3963 |
-
|
3964 |
-
self.isPanning = true;
|
3965 |
-
} else {
|
3966 |
-
self.isSwiping = true;
|
3967 |
-
}
|
3968 |
-
|
3969 |
-
self.$container.addClass("fancybox-is-grabbing");
|
3970 |
-
}
|
3971 |
-
|
3972 |
-
// Two fingers - zoom image
|
3973 |
-
if (self.startPoints.length === 2 && current.type === "image" && (current.isLoaded || current.$ghost)) {
|
3974 |
-
self.canTap = false;
|
3975 |
-
self.isSwiping = false;
|
3976 |
-
self.isPanning = false;
|
3977 |
-
|
3978 |
-
self.isZooming = true;
|
3979 |
-
|
3980 |
-
$.fancybox.stop(self.$content);
|
3981 |
-
|
3982 |
-
self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();
|
3983 |
-
self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();
|
3984 |
-
|
3985 |
-
self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width;
|
3986 |
-
self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height;
|
3987 |
-
|
3988 |
-
self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]);
|
3989 |
-
}
|
3990 |
-
};
|
3991 |
-
|
3992 |
-
Guestures.prototype.onscroll = function(e) {
|
3993 |
-
var self = this;
|
3994 |
-
|
3995 |
-
self.isScrolling = true;
|
3996 |
-
|
3997 |
-
document.removeEventListener("scroll", self.onscroll, true);
|
3998 |
-
};
|
3999 |
-
|
4000 |
-
Guestures.prototype.ontouchmove = function(e) {
|
4001 |
-
var self = this;
|
4002 |
-
|
4003 |
-
// Make sure user has not released over iframe or disabled element
|
4004 |
-
if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) {
|
4005 |
-
self.ontouchend(e);
|
4006 |
-
return;
|
4007 |
-
}
|
4008 |
-
|
4009 |
-
if (self.isScrolling) {
|
4010 |
-
self.canTap = false;
|
4011 |
-
return;
|
4012 |
-
}
|
4013 |
-
|
4014 |
-
self.newPoints = getPointerXY(e);
|
4015 |
-
|
4016 |
-
if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) {
|
4017 |
-
return;
|
4018 |
-
}
|
4019 |
-
|
4020 |
-
if (!(self.isSwiping && self.isSwiping === true)) {
|
4021 |
-
e.preventDefault();
|
4022 |
-
}
|
4023 |
-
|
4024 |
-
self.distanceX = distance(self.newPoints[0], self.startPoints[0], "x");
|
4025 |
-
self.distanceY = distance(self.newPoints[0], self.startPoints[0], "y");
|
4026 |
-
|
4027 |
-
self.distance = distance(self.newPoints[0], self.startPoints[0]);
|
4028 |
-
|
4029 |
-
// Skip false ontouchmove events (Chrome)
|
4030 |
-
if (self.distance > 0) {
|
4031 |
-
if (self.isSwiping) {
|
4032 |
-
self.onSwipe(e);
|
4033 |
-
} else if (self.isPanning) {
|
4034 |
-
self.onPan();
|
4035 |
-
} else if (self.isZooming) {
|
4036 |
-
self.onZoom();
|
4037 |
-
}
|
4038 |
-
}
|
4039 |
-
};
|
4040 |
-
|
4041 |
-
Guestures.prototype.onSwipe = function(e) {
|
4042 |
-
var self = this,
|
4043 |
-
instance = self.instance,
|
4044 |
-
swiping = self.isSwiping,
|
4045 |
-
left = self.sliderStartPos.left || 0,
|
4046 |
-
angle;
|
4047 |
-
|
4048 |
-
// If direction is not yet determined
|
4049 |
-
if (swiping === true) {
|
4050 |
-
// We need at least 10px distance to correctly calculate an angle
|
4051 |
-
if (Math.abs(self.distance) > 10) {
|
4052 |
-
self.canTap = false;
|
4053 |
-
|
4054 |
-
if (instance.group.length < 2 && self.opts.vertical) {
|
4055 |
-
self.isSwiping = "y";
|
4056 |
-
} else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === "auto" && $(window).width() > 800)) {
|
4057 |
-
self.isSwiping = "x";
|
4058 |
-
} else {
|
4059 |
-
angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI);
|
4060 |
-
|
4061 |
-
self.isSwiping = angle > 45 && angle < 135 ? "y" : "x";
|
4062 |
-
}
|
4063 |
-
|
4064 |
-
if (self.isSwiping === "y" && $.fancybox.isMobile && self.isScrollable) {
|
4065 |
-
self.isScrolling = true;
|
4066 |
-
|
4067 |
-
return;
|
4068 |
-
}
|
4069 |
-
|
4070 |
-
instance.isDragging = self.isSwiping;
|
4071 |
-
|
4072 |
-
// Reset points to avoid jumping, because we dropped first swipes to calculate the angle
|
4073 |
-
self.startPoints = self.newPoints;
|
4074 |
-
|
4075 |
-
$.each(instance.slides, function(index, slide) {
|
4076 |
-
var slidePos, stagePos;
|
4077 |
-
|
4078 |
-
$.fancybox.stop(slide.$slide);
|
4079 |
-
|
4080 |
-
slidePos = $.fancybox.getTranslate(slide.$slide);
|
4081 |
-
stagePos = $.fancybox.getTranslate(instance.$refs.stage);
|
4082 |
-
|
4083 |
-
slide.$slide
|
4084 |
-
.css({
|
4085 |
-
transform: "",
|
4086 |
-
opacity: "",
|
4087 |
-
"transition-duration": ""
|
4088 |
-
})
|
4089 |
-
.removeClass("fancybox-animated")
|
4090 |
-
.removeClass(function(index, className) {
|
4091 |
-
return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
|
4092 |
-
});
|
4093 |
-
|
4094 |
-
if (slide.pos === instance.current.pos) {
|
4095 |
-
self.sliderStartPos.top = slidePos.top - stagePos.top;
|
4096 |
-
self.sliderStartPos.left = slidePos.left - stagePos.left;
|
4097 |
-
}
|
4098 |
-
|
4099 |
-
$.fancybox.setTranslate(slide.$slide, {
|
4100 |
-
top: slidePos.top - stagePos.top,
|
4101 |
-
left: slidePos.left - stagePos.left
|
4102 |
-
});
|
4103 |
-
});
|
4104 |
-
|
4105 |
-
// Stop slideshow
|
4106 |
-
if (instance.SlideShow && instance.SlideShow.isActive) {
|
4107 |
-
instance.SlideShow.stop();
|
4108 |
-
}
|
4109 |
-
}
|
4110 |
-
|
4111 |
-
return;
|
4112 |
-
}
|
4113 |
-
|
4114 |
-
// Sticky edges
|
4115 |
-
if (swiping == "x") {
|
4116 |
-
if (
|
4117 |
-
self.distanceX > 0 &&
|
4118 |
-
(self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop))
|
4119 |
-
) {
|
4120 |
-
left = left + Math.pow(self.distanceX, 0.8);
|
4121 |
-
} else if (
|
4122 |
-
self.distanceX < 0 &&
|
4123 |
-
(self.instance.group.length < 2 ||
|
4124 |
-
(self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop))
|
4125 |
-
) {
|
4126 |
-
left = left - Math.pow(-self.distanceX, 0.8);
|
4127 |
-
} else {
|
4128 |
-
left = left + self.distanceX;
|
4129 |
-
}
|
4130 |
-
}
|
4131 |
-
|
4132 |
-
self.sliderLastPos = {
|
4133 |
-
top: swiping == "x" ? 0 : self.sliderStartPos.top + self.distanceY,
|
4134 |
-
left: left
|
4135 |
-
};
|
4136 |
-
|
4137 |
-
if (self.requestId) {
|
4138 |
-
cancelAFrame(self.requestId);
|
4139 |
-
|
4140 |
-
self.requestId = null;
|
4141 |
-
}
|
4142 |
-
|
4143 |
-
self.requestId = requestAFrame(function() {
|
4144 |
-
if (self.sliderLastPos) {
|
4145 |
-
$.each(self.instance.slides, function(index, slide) {
|
4146 |
-
var pos = slide.pos - self.instance.currPos;
|
4147 |
-
|
4148 |
-
$.fancybox.setTranslate(slide.$slide, {
|
4149 |
-
top: self.sliderLastPos.top,
|
4150 |
-
left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter
|
4151 |
-
});
|
4152 |
-
});
|
4153 |
-
|
4154 |
-
self.$container.addClass("fancybox-is-sliding");
|
4155 |
-
}
|
4156 |
-
});
|
4157 |
-
};
|
4158 |
-
|
4159 |
-
Guestures.prototype.onPan = function() {
|
4160 |
-
var self = this;
|
4161 |
-
|
4162 |
-
// Prevent accidental movement (sometimes, when tapping casually, finger can move a bit)
|
4163 |
-
if (distance(self.newPoints[0], self.realPoints[0]) < ($.fancybox.isMobile ? 10 : 5)) {
|
4164 |
-
self.startPoints = self.newPoints;
|
4165 |
-
return;
|
4166 |
-
}
|
4167 |
-
|
4168 |
-
self.canTap = false;
|
4169 |
-
|
4170 |
-
self.contentLastPos = self.limitMovement();
|
4171 |
-
|
4172 |
-
if (self.requestId) {
|
4173 |
-
cancelAFrame(self.requestId);
|
4174 |
-
}
|
4175 |
-
|
4176 |
-
self.requestId = requestAFrame(function() {
|
4177 |
-
$.fancybox.setTranslate(self.$content, self.contentLastPos);
|
4178 |
-
});
|
4179 |
-
};
|
4180 |
-
|
4181 |
-
// Make panning sticky to the edges
|
4182 |
-
Guestures.prototype.limitMovement = function() {
|
4183 |
-
var self = this;
|
4184 |
-
|
4185 |
-
var canvasWidth = self.canvasWidth;
|
4186 |
-
var canvasHeight = self.canvasHeight;
|
4187 |
-
|
4188 |
-
var distanceX = self.distanceX;
|
4189 |
-
var distanceY = self.distanceY;
|
4190 |
-
|
4191 |
-
var contentStartPos = self.contentStartPos;
|
4192 |
-
|
4193 |
-
var currentOffsetX = contentStartPos.left;
|
4194 |
-
var currentOffsetY = contentStartPos.top;
|
4195 |
-
|
4196 |
-
var currentWidth = contentStartPos.width;
|
4197 |
-
var currentHeight = contentStartPos.height;
|
4198 |
-
|
4199 |
-
var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY;
|
4200 |
-
|
4201 |
-
if (currentWidth > canvasWidth) {
|
4202 |
-
newOffsetX = currentOffsetX + distanceX;
|
4203 |
-
} else {
|
4204 |
-
newOffsetX = currentOffsetX;
|
4205 |
-
}
|
4206 |
-
|
4207 |
-
newOffsetY = currentOffsetY + distanceY;
|
4208 |
-
|
4209 |
-
// Slow down proportionally to traveled distance
|
4210 |
-
minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5);
|
4211 |
-
minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5);
|
4212 |
-
|
4213 |
-
maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5);
|
4214 |
-
maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5);
|
4215 |
-
|
4216 |
-
// ->
|
4217 |
-
if (distanceX > 0 && newOffsetX > minTranslateX) {
|
4218 |
-
newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0;
|
4219 |
-
}
|
4220 |
-
|
4221 |
-
// <-
|
4222 |
-
if (distanceX < 0 && newOffsetX < maxTranslateX) {
|
4223 |
-
newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0;
|
4224 |
-
}
|
4225 |
-
|
4226 |
-
// \/
|
4227 |
-
if (distanceY > 0 && newOffsetY > minTranslateY) {
|
4228 |
-
newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0;
|
4229 |
-
}
|
4230 |
-
|
4231 |
-
// /\
|
4232 |
-
if (distanceY < 0 && newOffsetY < maxTranslateY) {
|
4233 |
-
newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0;
|
4234 |
-
}
|
4235 |
-
|
4236 |
-
return {
|
4237 |
-
top: newOffsetY,
|
4238 |
-
left: newOffsetX
|
4239 |
-
};
|
4240 |
-
};
|
4241 |
-
|
4242 |
-
Guestures.prototype.limitPosition = function(newOffsetX, newOffsetY, newWidth, newHeight) {
|
4243 |
-
var self = this;
|
4244 |
-
|
4245 |
-
var canvasWidth = self.canvasWidth;
|
4246 |
-
var canvasHeight = self.canvasHeight;
|
4247 |
-
|
4248 |
-
if (newWidth > canvasWidth) {
|
4249 |
-
newOffsetX = newOffsetX > 0 ? 0 : newOffsetX;
|
4250 |
-
newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX;
|
4251 |
-
} else {
|
4252 |
-
// Center horizontally
|
4253 |
-
newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2);
|
4254 |
-
}
|
4255 |
-
|
4256 |
-
if (newHeight > canvasHeight) {
|
4257 |
-
newOffsetY = newOffsetY > 0 ? 0 : newOffsetY;
|
4258 |
-
newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY;
|
4259 |
-
} else {
|
4260 |
-
// Center vertically
|
4261 |
-
newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2);
|
4262 |
-
}
|
4263 |
-
|
4264 |
-
return {
|
4265 |
-
top: newOffsetY,
|
4266 |
-
left: newOffsetX
|
4267 |
-
};
|
4268 |
-
};
|
4269 |
-
|
4270 |
-
Guestures.prototype.onZoom = function() {
|
4271 |
-
var self = this;
|
4272 |
-
|
4273 |
-
// Calculate current distance between points to get pinch ratio and new width and height
|
4274 |
-
var contentStartPos = self.contentStartPos;
|
4275 |
-
|
4276 |
-
var currentWidth = contentStartPos.width;
|
4277 |
-
var currentHeight = contentStartPos.height;
|
4278 |
-
|
4279 |
-
var currentOffsetX = contentStartPos.left;
|
4280 |
-
var currentOffsetY = contentStartPos.top;
|
4281 |
-
|
4282 |
-
var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]);
|
4283 |
-
|
4284 |
-
var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers;
|
4285 |
-
|
4286 |
-
var newWidth = Math.floor(currentWidth * pinchRatio);
|
4287 |
-
var newHeight = Math.floor(currentHeight * pinchRatio);
|
4288 |
-
|
4289 |
-
// This is the translation due to pinch-zooming
|
4290 |
-
var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX;
|
4291 |
-
var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY;
|
4292 |
-
|
4293 |
-
// Point between the two touches
|
4294 |
-
var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft();
|
4295 |
-
var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop();
|
4296 |
-
|
4297 |
-
// And this is the translation due to translation of the centerpoint
|
4298 |
-
// between the two fingers
|
4299 |
-
var translateFromTranslatingX = centerPointEndX - self.centerPointStartX;
|
4300 |
-
var translateFromTranslatingY = centerPointEndY - self.centerPointStartY;
|
4301 |
-
|
4302 |
-
// The new offset is the old/current one plus the total translation
|
4303 |
-
var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX);
|
4304 |
-
var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY);
|
4305 |
-
|
4306 |
-
var newPos = {
|
4307 |
-
top: newOffsetY,
|
4308 |
-
left: newOffsetX,
|
4309 |
-
scaleX: pinchRatio,
|
4310 |
-
scaleY: pinchRatio
|
4311 |
-
};
|
4312 |
-
|
4313 |
-
self.canTap = false;
|
4314 |
-
|
4315 |
-
self.newWidth = newWidth;
|
4316 |
-
self.newHeight = newHeight;
|
4317 |
-
|
4318 |
-
self.contentLastPos = newPos;
|
4319 |
-
|
4320 |
-
if (self.requestId) {
|
4321 |
-
cancelAFrame(self.requestId);
|
4322 |
-
}
|
4323 |
-
|
4324 |
-
self.requestId = requestAFrame(function() {
|
4325 |
-
$.fancybox.setTranslate(self.$content, self.contentLastPos);
|
4326 |
-
});
|
4327 |
-
};
|
4328 |
-
|
4329 |
-
Guestures.prototype.ontouchend = function(e) {
|
4330 |
-
var self = this;
|
4331 |
-
|
4332 |
-
var swiping = self.isSwiping;
|
4333 |
-
var panning = self.isPanning;
|
4334 |
-
var zooming = self.isZooming;
|
4335 |
-
var scrolling = self.isScrolling;
|
4336 |
-
|
4337 |
-
self.endPoints = getPointerXY(e);
|
4338 |
-
self.dMs = Math.max(new Date().getTime() - self.startTime, 1);
|
4339 |
-
|
4340 |
-
self.$container.removeClass("fancybox-is-grabbing");
|
4341 |
-
|
4342 |
-
$(document).off(".fb.touch");
|
4343 |
-
|
4344 |
-
document.removeEventListener("scroll", self.onscroll, true);
|
4345 |
-
|
4346 |
-
if (self.requestId) {
|
4347 |
-
cancelAFrame(self.requestId);
|
4348 |
-
|
4349 |
-
self.requestId = null;
|
4350 |
-
}
|
4351 |
-
|
4352 |
-
self.isSwiping = false;
|
4353 |
-
self.isPanning = false;
|
4354 |
-
self.isZooming = false;
|
4355 |
-
self.isScrolling = false;
|
4356 |
-
|
4357 |
-
self.instance.isDragging = false;
|
4358 |
-
|
4359 |
-
if (self.canTap) {
|
4360 |
-
return self.onTap(e);
|
4361 |
-
}
|
4362 |
-
|
4363 |
-
self.speed = 100;
|
4364 |
-
|
4365 |
-
// Speed in px/ms
|
4366 |
-
self.velocityX = (self.distanceX / self.dMs) * 0.5;
|
4367 |
-
self.velocityY = (self.distanceY / self.dMs) * 0.5;
|
4368 |
-
|
4369 |
-
if (panning) {
|
4370 |
-
self.endPanning();
|
4371 |
-
} else if (zooming) {
|
4372 |
-
self.endZooming();
|
4373 |
-
} else {
|
4374 |
-
self.endSwiping(swiping, scrolling);
|
4375 |
-
}
|
4376 |
-
|
4377 |
-
return;
|
4378 |
-
};
|
4379 |
-
|
4380 |
-
Guestures.prototype.endSwiping = function(swiping, scrolling) {
|
4381 |
-
var self = this,
|
4382 |
-
ret = false,
|
4383 |
-
len = self.instance.group.length,
|
4384 |
-
distanceX = Math.abs(self.distanceX),
|
4385 |
-
canAdvance = swiping == "x" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),
|
4386 |
-
speedX = 300;
|
4387 |
-
|
4388 |
-
self.sliderLastPos = null;
|
4389 |
-
|
4390 |
-
// Close if swiped vertically / navigate if horizontally
|
4391 |
-
if (swiping == "y" && !scrolling && Math.abs(self.distanceY) > 50) {
|
4392 |
-
// Continue vertical movement
|
4393 |
-
$.fancybox.animate(
|
4394 |
-
self.instance.current.$slide,
|
4395 |
-
{
|
4396 |
-
top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150,
|
4397 |
-
opacity: 0
|
4398 |
-
},
|
4399 |
-
200
|
4400 |
-
);
|
4401 |
-
ret = self.instance.close(true, 250);
|
4402 |
-
} else if (canAdvance && self.distanceX > 0) {
|
4403 |
-
ret = self.instance.previous(speedX);
|
4404 |
-
} else if (canAdvance && self.distanceX < 0) {
|
4405 |
-
ret = self.instance.next(speedX);
|
4406 |
-
}
|
4407 |
-
|
4408 |
-
if (ret === false && (swiping == "x" || swiping == "y")) {
|
4409 |
-
self.instance.centerSlide(200);
|
4410 |
-
}
|
4411 |
-
|
4412 |
-
self.$container.removeClass("fancybox-is-sliding");
|
4413 |
-
};
|
4414 |
-
|
4415 |
-
// Limit panning from edges
|
4416 |
-
// ========================
|
4417 |
-
Guestures.prototype.endPanning = function() {
|
4418 |
-
var self = this,
|
4419 |
-
newOffsetX,
|
4420 |
-
newOffsetY,
|
4421 |
-
newPos;
|
4422 |
-
|
4423 |
-
if (!self.contentLastPos) {
|
4424 |
-
return;
|
4425 |
-
}
|
4426 |
-
|
4427 |
-
if (self.opts.momentum === false || self.dMs > 350) {
|
4428 |
-
newOffsetX = self.contentLastPos.left;
|
4429 |
-
newOffsetY = self.contentLastPos.top;
|
4430 |
-
} else {
|
4431 |
-
// Continue movement
|
4432 |
-
newOffsetX = self.contentLastPos.left + self.velocityX * 500;
|
4433 |
-
newOffsetY = self.contentLastPos.top + self.velocityY * 500;
|
4434 |
-
}
|
4435 |
-
|
4436 |
-
newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height);
|
4437 |
-
|
4438 |
-
newPos.width = self.contentStartPos.width;
|
4439 |
-
newPos.height = self.contentStartPos.height;
|
4440 |
-
|
4441 |
-
$.fancybox.animate(self.$content, newPos, 330);
|
4442 |
-
};
|
4443 |
-
|
4444 |
-
Guestures.prototype.endZooming = function() {
|
4445 |
-
var self = this;
|
4446 |
-
|
4447 |
-
var current = self.instance.current;
|
4448 |
-
|
4449 |
-
var newOffsetX, newOffsetY, newPos, reset;
|
4450 |
-
|
4451 |
-
var newWidth = self.newWidth;
|
4452 |
-
var newHeight = self.newHeight;
|
4453 |
-
|
4454 |
-
if (!self.contentLastPos) {
|
4455 |
-
return;
|
4456 |
-
}
|
4457 |
-
|
4458 |
-
newOffsetX = self.contentLastPos.left;
|
4459 |
-
newOffsetY = self.contentLastPos.top;
|
4460 |
-
|
4461 |
-
reset = {
|
4462 |
-
top: newOffsetY,
|
4463 |
-
left: newOffsetX,
|
4464 |
-
width: newWidth,
|
4465 |
-
height: newHeight,
|
4466 |
-
scaleX: 1,
|
4467 |
-
scaleY: 1
|
4468 |
-
};
|
4469 |
-
|
4470 |
-
// Reset scalex/scaleY values; this helps for perfomance and does not break animation
|
4471 |
-
$.fancybox.setTranslate(self.$content, reset);
|
4472 |
-
|
4473 |
-
if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) {
|
4474 |
-
self.instance.scaleToFit(150);
|
4475 |
-
} else if (newWidth > current.width || newHeight > current.height) {
|
4476 |
-
self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150);
|
4477 |
-
} else {
|
4478 |
-
newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight);
|
4479 |
-
|
4480 |
-
$.fancybox.animate(self.$content, newPos, 150);
|
4481 |
-
}
|
4482 |
-
};
|
4483 |
-
|
4484 |
-
Guestures.prototype.onTap = function(e) {
|
4485 |
-
var self = this;
|
4486 |
-
var $target = $(e.target);
|
4487 |
-
|
4488 |
-
var instance = self.instance;
|
4489 |
-
var current = instance.current;
|
4490 |
-
|
4491 |
-
var endPoints = (e && getPointerXY(e)) || self.startPoints;
|
4492 |
-
|
4493 |
-
var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0;
|
4494 |
-
var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0;
|
4495 |
-
|
4496 |
-
var where;
|
4497 |
-
|
4498 |
-
var process = function(prefix) {
|
4499 |
-
var action = current.opts[prefix];
|
4500 |
-
|
4501 |
-
if ($.isFunction(action)) {
|
4502 |
-
action = action.apply(instance, [current, e]);
|
4503 |
-
}
|
4504 |
-
|
4505 |
-
if (!action) {
|
4506 |
-
return;
|
4507 |
-
}
|
4508 |
-
|
4509 |
-
switch (action) {
|
4510 |
-
case "close":
|
4511 |
-
instance.close(self.startEvent);
|
4512 |
-
|
4513 |
-
break;
|
4514 |
-
|
4515 |
-
case "toggleControls":
|
4516 |
-
instance.toggleControls();
|
4517 |
-
|
4518 |
-
break;
|
4519 |
-
|
4520 |
-
case "next":
|
4521 |
-
instance.next();
|
4522 |
-
|
4523 |
-
break;
|
4524 |
-
|
4525 |
-
case "nextOrClose":
|
4526 |
-
if (instance.group.length > 1) {
|
4527 |
-
instance.next();
|
4528 |
-
} else {
|
4529 |
-
instance.close(self.startEvent);
|
4530 |
-
}
|
4531 |
-
|
4532 |
-
break;
|
4533 |
-
|
4534 |
-
case "zoom":
|
4535 |
-
if (current.type == "image" && (current.isLoaded || current.$ghost)) {
|
4536 |
-
if (instance.canPan()) {
|
4537 |
-
instance.scaleToFit();
|
4538 |
-
} else if (instance.isScaledDown()) {
|
4539 |
-
instance.scaleToActual(tapX, tapY);
|
4540 |
-
} else if (instance.group.length < 2) {
|
4541 |
-
instance.close(self.startEvent);
|
4542 |
-
}
|
4543 |
-
}
|
4544 |
-
|
4545 |
-
break;
|
4546 |
-
}
|
4547 |
-
};
|
4548 |
-
|
4549 |
-
// Ignore right click
|
4550 |
-
if (e.originalEvent && e.originalEvent.button == 2) {
|
4551 |
-
return;
|
4552 |
-
}
|
4553 |
-
|
4554 |
-
// Skip if clicked on the scrollbar
|
4555 |
-
if (!$target.is("img") && tapX > $target[0].clientWidth + $target.offset().left) {
|
4556 |
-
return;
|
4557 |
-
}
|
4558 |
-
|
4559 |
-
// Check where is clicked
|
4560 |
-
if ($target.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) {
|
4561 |
-
where = "Outside";
|
4562 |
-
} else if ($target.is(".fancybox-slide")) {
|
4563 |
-
where = "Slide";
|
4564 |
-
} else if (
|
4565 |
-
instance.current.$content &&
|
4566 |
-
instance.current.$content
|
4567 |
-
.find($target)
|
4568 |
-
.addBack()
|
4569 |
-
.filter($target).length
|
4570 |
-
) {
|
4571 |
-
where = "Content";
|
4572 |
-
} else {
|
4573 |
-
return;
|
4574 |
-
}
|
4575 |
-
|
4576 |
-
// Check if this is a double tap
|
4577 |
-
if (self.tapped) {
|
4578 |
-
// Stop previously created single tap
|
4579 |
-
clearTimeout(self.tapped);
|
4580 |
-
self.tapped = null;
|
4581 |
-
|
4582 |
-
// Skip if distance between taps is too big
|
4583 |
-
if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) {
|
4584 |
-
return this;
|
4585 |
-
}
|
4586 |
-
|
4587 |
-
// OK, now we assume that this is a double-tap
|
4588 |
-
process("dblclick" + where);
|
4589 |
-
} else {
|
4590 |
-
// Single tap will be processed if user has not clicked second time within 300ms
|
4591 |
-
// or there is no need to wait for double-tap
|
4592 |
-
self.tapX = tapX;
|
4593 |
-
self.tapY = tapY;
|
4594 |
-
|
4595 |
-
if (current.opts["dblclick" + where] && current.opts["dblclick" + where] !== current.opts["click" + where]) {
|
4596 |
-
self.tapped = setTimeout(function() {
|
4597 |
-
self.tapped = null;
|
4598 |
-
|
4599 |
-
if (!instance.isAnimating) {
|
4600 |
-
process("click" + where);
|
4601 |
-
}
|
4602 |
-
}, 500);
|
4603 |
-
} else {
|
4604 |
-
process("click" + where);
|
4605 |
-
}
|
4606 |
-
}
|
4607 |
-
|
4608 |
-
return this;
|
4609 |
-
};
|
4610 |
-
|
4611 |
-
$(document)
|
4612 |
-
.on("onActivate.fb", function(e, instance) {
|
4613 |
-
if (instance && !instance.Guestures) {
|
4614 |
-
instance.Guestures = new Guestures(instance);
|
4615 |
-
}
|
4616 |
-
})
|
4617 |
-
.on("beforeClose.fb", function(e, instance) {
|
4618 |
-
if (instance && instance.Guestures) {
|
4619 |
-
instance.Guestures.destroy();
|
4620 |
-
}
|
4621 |
-
});
|
4622 |
-
})(window, document, jQuery);
|
4623 |
-
|
4624 |
-
// ==========================================================================
|
4625 |
-
//
|
4626 |
-
// SlideShow
|
4627 |
-
// Enables slideshow functionality
|
4628 |
-
//
|
4629 |
-
// Example of usage:
|
4630 |
-
// $.fancybox.getInstance().SlideShow.start()
|
4631 |
-
//
|
4632 |
-
// ==========================================================================
|
4633 |
-
(function(document, $) {
|
4634 |
-
"use strict";
|
4635 |
-
|
4636 |
-
$.extend(true, $.fancybox.defaults, {
|
4637 |
-
btnTpl: {
|
4638 |
-
slideShow:
|
4639 |
-
'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}">' +
|
4640 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg>' +
|
4641 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg>' +
|
4642 |
-
"</button>"
|
4643 |
-
},
|
4644 |
-
slideShow: {
|
4645 |
-
autoStart: false,
|
4646 |
-
speed: 3000,
|
4647 |
-
progress: true
|
4648 |
-
}
|
4649 |
-
});
|
4650 |
-
|
4651 |
-
var SlideShow = function(instance) {
|
4652 |
-
this.instance = instance;
|
4653 |
-
this.init();
|
4654 |
-
};
|
4655 |
-
|
4656 |
-
$.extend(SlideShow.prototype, {
|
4657 |
-
timer: null,
|
4658 |
-
isActive: false,
|
4659 |
-
$button: null,
|
4660 |
-
|
4661 |
-
init: function() {
|
4662 |
-
var self = this,
|
4663 |
-
instance = self.instance,
|
4664 |
-
opts = instance.group[instance.currIndex].opts.slideShow;
|
4665 |
-
|
4666 |
-
self.$button = instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function() {
|
4667 |
-
self.toggle();
|
4668 |
-
});
|
4669 |
-
|
4670 |
-
if (instance.group.length < 2 || !opts) {
|
4671 |
-
self.$button.hide();
|
4672 |
-
} else if (opts.progress) {
|
4673 |
-
self.$progress = $('<div class="fancybox-progress"></div>').appendTo(instance.$refs.inner);
|
4674 |
-
}
|
4675 |
-
},
|
4676 |
-
|
4677 |
-
set: function(force) {
|
4678 |
-
var self = this,
|
4679 |
-
instance = self.instance,
|
4680 |
-
current = instance.current;
|
4681 |
-
|
4682 |
-
// Check if reached last element
|
4683 |
-
if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {
|
4684 |
-
if (self.isActive && current.contentType !== "video") {
|
4685 |
-
if (self.$progress) {
|
4686 |
-
$.fancybox.animate(self.$progress.show(), {scaleX: 1}, current.opts.slideShow.speed);
|
4687 |
-
}
|
4688 |
-
|
4689 |
-
self.timer = setTimeout(function() {
|
4690 |
-
instance.jumpTo((instance.currIndex + 1) % instance.group.length);
|
4691 |
-
}, current.opts.slideShow.speed);
|
4692 |
-
}
|
4693 |
-
} else {
|
4694 |
-
self.stop();
|
4695 |
-
instance.idleSecondsCounter = 0;
|
4696 |
-
instance.showControls();
|
4697 |
-
}
|
4698 |
-
},
|
4699 |
-
|
4700 |
-
clear: function() {
|
4701 |
-
var self = this;
|
4702 |
-
|
4703 |
-
clearTimeout(self.timer);
|
4704 |
-
|
4705 |
-
self.timer = null;
|
4706 |
-
|
4707 |
-
if (self.$progress) {
|
4708 |
-
self.$progress.removeAttr("style").hide();
|
4709 |
-
}
|
4710 |
-
},
|
4711 |
-
|
4712 |
-
start: function() {
|
4713 |
-
var self = this,
|
4714 |
-
current = self.instance.current;
|
4715 |
-
|
4716 |
-
if (current) {
|
4717 |
-
self.$button
|
4718 |
-
.attr("title", current.opts.i18n[current.opts.lang].PLAY_STOP)
|
4719 |
-
.removeClass("fancybox-button--play")
|
4720 |
-
.addClass("fancybox-button--pause");
|
4721 |
-
|
4722 |
-
self.isActive = true;
|
4723 |
-
|
4724 |
-
if (current.isComplete) {
|
4725 |
-
self.set(true);
|
4726 |
-
}
|
4727 |
-
|
4728 |
-
self.instance.trigger("onSlideShowChange", true);
|
4729 |
-
}
|
4730 |
-
},
|
4731 |
-
|
4732 |
-
stop: function() {
|
4733 |
-
var self = this,
|
4734 |
-
current = self.instance.current;
|
4735 |
-
|
4736 |
-
self.clear();
|
4737 |
-
|
4738 |
-
self.$button
|
4739 |
-
.attr("title", current.opts.i18n[current.opts.lang].PLAY_START)
|
4740 |
-
.removeClass("fancybox-button--pause")
|
4741 |
-
.addClass("fancybox-button--play");
|
4742 |
-
|
4743 |
-
self.isActive = false;
|
4744 |
-
|
4745 |
-
self.instance.trigger("onSlideShowChange", false);
|
4746 |
-
|
4747 |
-
if (self.$progress) {
|
4748 |
-
self.$progress.removeAttr("style").hide();
|
4749 |
-
}
|
4750 |
-
},
|
4751 |
-
|
4752 |
-
toggle: function() {
|
4753 |
-
var self = this;
|
4754 |
-
|
4755 |
-
if (self.isActive) {
|
4756 |
-
self.stop();
|
4757 |
-
} else {
|
4758 |
-
self.start();
|
4759 |
-
}
|
4760 |
-
}
|
4761 |
-
});
|
4762 |
-
|
4763 |
-
$(document).on({
|
4764 |
-
"onInit.fb": function(e, instance) {
|
4765 |
-
if (instance && !instance.SlideShow) {
|
4766 |
-
instance.SlideShow = new SlideShow(instance);
|
4767 |
-
}
|
4768 |
-
},
|
4769 |
-
|
4770 |
-
"beforeShow.fb": function(e, instance, current, firstRun) {
|
4771 |
-
var SlideShow = instance && instance.SlideShow;
|
4772 |
-
|
4773 |
-
if (firstRun) {
|
4774 |
-
if (SlideShow && current.opts.slideShow.autoStart) {
|
4775 |
-
SlideShow.start();
|
4776 |
-
}
|
4777 |
-
} else if (SlideShow && SlideShow.isActive) {
|
4778 |
-
SlideShow.clear();
|
4779 |
-
}
|
4780 |
-
},
|
4781 |
-
|
4782 |
-
"afterShow.fb": function(e, instance, current) {
|
4783 |
-
var SlideShow = instance && instance.SlideShow;
|
4784 |
-
|
4785 |
-
if (SlideShow && SlideShow.isActive) {
|
4786 |
-
SlideShow.set();
|
4787 |
-
}
|
4788 |
-
},
|
4789 |
-
|
4790 |
-
"afterKeydown.fb": function(e, instance, current, keypress, keycode) {
|
4791 |
-
var SlideShow = instance && instance.SlideShow;
|
4792 |
-
|
4793 |
-
// "P" or Spacebar
|
4794 |
-
if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is("button,a,input")) {
|
4795 |
-
keypress.preventDefault();
|
4796 |
-
|
4797 |
-
SlideShow.toggle();
|
4798 |
-
}
|
4799 |
-
},
|
4800 |
-
|
4801 |
-
"beforeClose.fb onDeactivate.fb": function(e, instance) {
|
4802 |
-
var SlideShow = instance && instance.SlideShow;
|
4803 |
-
|
4804 |
-
if (SlideShow) {
|
4805 |
-
SlideShow.stop();
|
4806 |
-
}
|
4807 |
-
}
|
4808 |
-
});
|
4809 |
-
|
4810 |
-
// Page Visibility API to pause slideshow when window is not active
|
4811 |
-
$(document).on("visibilitychange", function() {
|
4812 |
-
var instance = $.fancybox.getInstance(),
|
4813 |
-
SlideShow = instance && instance.SlideShow;
|
4814 |
-
|
4815 |
-
if (SlideShow && SlideShow.isActive) {
|
4816 |
-
if (document.hidden) {
|
4817 |
-
SlideShow.clear();
|
4818 |
-
} else {
|
4819 |
-
SlideShow.set();
|
4820 |
-
}
|
4821 |
-
}
|
4822 |
-
});
|
4823 |
-
})(document, jQuery);
|
4824 |
-
|
4825 |
-
// ==========================================================================
|
4826 |
-
//
|
4827 |
-
// FullScreen
|
4828 |
-
// Adds fullscreen functionality
|
4829 |
-
//
|
4830 |
-
// ==========================================================================
|
4831 |
-
(function(document, $) {
|
4832 |
-
"use strict";
|
4833 |
-
|
4834 |
-
// Collection of methods supported by user browser
|
4835 |
-
var fn = (function() {
|
4836 |
-
var fnMap = [
|
4837 |
-
["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
|
4838 |
-
// new WebKit
|
4839 |
-
[
|
4840 |
-
"webkitRequestFullscreen",
|
4841 |
-
"webkitExitFullscreen",
|
4842 |
-
"webkitFullscreenElement",
|
4843 |
-
"webkitFullscreenEnabled",
|
4844 |
-
"webkitfullscreenchange",
|
4845 |
-
"webkitfullscreenerror"
|
4846 |
-
],
|
4847 |
-
// old WebKit (Safari 5.1)
|
4848 |
-
[
|
4849 |
-
"webkitRequestFullScreen",
|
4850 |
-
"webkitCancelFullScreen",
|
4851 |
-
"webkitCurrentFullScreenElement",
|
4852 |
-
"webkitCancelFullScreen",
|
4853 |
-
"webkitfullscreenchange",
|
4854 |
-
"webkitfullscreenerror"
|
4855 |
-
],
|
4856 |
-
[
|
4857 |
-
"mozRequestFullScreen",
|
4858 |
-
"mozCancelFullScreen",
|
4859 |
-
"mozFullScreenElement",
|
4860 |
-
"mozFullScreenEnabled",
|
4861 |
-
"mozfullscreenchange",
|
4862 |
-
"mozfullscreenerror"
|
4863 |
-
],
|
4864 |
-
["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
|
4865 |
-
];
|
4866 |
-
|
4867 |
-
var ret = {};
|
4868 |
-
|
4869 |
-
for (var i = 0; i < fnMap.length; i++) {
|
4870 |
-
var val = fnMap[i];
|
4871 |
-
|
4872 |
-
if (val && val[1] in document) {
|
4873 |
-
for (var j = 0; j < val.length; j++) {
|
4874 |
-
ret[fnMap[0][j]] = val[j];
|
4875 |
-
}
|
4876 |
-
|
4877 |
-
return ret;
|
4878 |
-
}
|
4879 |
-
}
|
4880 |
-
|
4881 |
-
return false;
|
4882 |
-
})();
|
4883 |
-
|
4884 |
-
if (fn) {
|
4885 |
-
var FullScreen = {
|
4886 |
-
request: function(elem) {
|
4887 |
-
elem = elem || document.documentElement;
|
4888 |
-
|
4889 |
-
elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT);
|
4890 |
-
},
|
4891 |
-
exit: function() {
|
4892 |
-
document[fn.exitFullscreen]();
|
4893 |
-
},
|
4894 |
-
toggle: function(elem) {
|
4895 |
-
elem = elem || document.documentElement;
|
4896 |
-
|
4897 |
-
if (this.isFullscreen()) {
|
4898 |
-
this.exit();
|
4899 |
-
} else {
|
4900 |
-
this.request(elem);
|
4901 |
-
}
|
4902 |
-
},
|
4903 |
-
isFullscreen: function() {
|
4904 |
-
return Boolean(document[fn.fullscreenElement]);
|
4905 |
-
},
|
4906 |
-
enabled: function() {
|
4907 |
-
return Boolean(document[fn.fullscreenEnabled]);
|
4908 |
-
}
|
4909 |
-
};
|
4910 |
-
|
4911 |
-
$.extend(true, $.fancybox.defaults, {
|
4912 |
-
btnTpl: {
|
4913 |
-
fullScreen:
|
4914 |
-
'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}">' +
|
4915 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>' +
|
4916 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg>' +
|
4917 |
-
"</button>"
|
4918 |
-
},
|
4919 |
-
fullScreen: {
|
4920 |
-
autoStart: false
|
4921 |
-
}
|
4922 |
-
});
|
4923 |
-
|
4924 |
-
$(document).on(fn.fullscreenchange, function() {
|
4925 |
-
var isFullscreen = FullScreen.isFullscreen(),
|
4926 |
-
instance = $.fancybox.getInstance();
|
4927 |
-
|
4928 |
-
if (instance) {
|
4929 |
-
// If image is zooming, then force to stop and reposition properly
|
4930 |
-
if (instance.current && instance.current.type === "image" && instance.isAnimating) {
|
4931 |
-
instance.current.$content.css("transition", "none");
|
4932 |
-
|
4933 |
-
instance.isAnimating = false;
|
4934 |
-
|
4935 |
-
instance.update(true, true, 0);
|
4936 |
-
}
|
4937 |
-
|
4938 |
-
instance.trigger("onFullscreenChange", isFullscreen);
|
4939 |
-
|
4940 |
-
instance.$refs.container.toggleClass("fancybox-is-fullscreen", isFullscreen);
|
4941 |
-
|
4942 |
-
instance.$refs.toolbar
|
4943 |
-
.find("[data-fancybox-fullscreen]")
|
4944 |
-
.toggleClass("fancybox-button--fsenter", !isFullscreen)
|
4945 |
-
.toggleClass("fancybox-button--fsexit", isFullscreen);
|
4946 |
-
}
|
4947 |
-
});
|
4948 |
-
}
|
4949 |
-
|
4950 |
-
$(document).on({
|
4951 |
-
"onInit.fb": function(e, instance) {
|
4952 |
-
var $container;
|
4953 |
-
|
4954 |
-
if (!fn) {
|
4955 |
-
instance.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();
|
4956 |
-
|
4957 |
-
return;
|
4958 |
-
}
|
4959 |
-
|
4960 |
-
if (instance && instance.group[instance.currIndex].opts.fullScreen) {
|
4961 |
-
$container = instance.$refs.container;
|
4962 |
-
|
4963 |
-
$container.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function(e) {
|
4964 |
-
e.stopPropagation();
|
4965 |
-
e.preventDefault();
|
4966 |
-
|
4967 |
-
FullScreen.toggle();
|
4968 |
-
});
|
4969 |
-
|
4970 |
-
if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) {
|
4971 |
-
FullScreen.request();
|
4972 |
-
}
|
4973 |
-
|
4974 |
-
// Expose API
|
4975 |
-
instance.FullScreen = FullScreen;
|
4976 |
-
} else if (instance) {
|
4977 |
-
instance.$refs.toolbar.find("[data-fancybox-fullscreen]").hide();
|
4978 |
-
}
|
4979 |
-
},
|
4980 |
-
|
4981 |
-
"afterKeydown.fb": function(e, instance, current, keypress, keycode) {
|
4982 |
-
// "F"
|
4983 |
-
if (instance && instance.FullScreen && keycode === 70) {
|
4984 |
-
keypress.preventDefault();
|
4985 |
-
|
4986 |
-
instance.FullScreen.toggle();
|
4987 |
-
}
|
4988 |
-
},
|
4989 |
-
|
4990 |
-
"beforeClose.fb": function(e, instance) {
|
4991 |
-
if (instance && instance.FullScreen && instance.$refs.container.hasClass("fancybox-is-fullscreen")) {
|
4992 |
-
FullScreen.exit();
|
4993 |
-
}
|
4994 |
-
}
|
4995 |
-
});
|
4996 |
-
})(document, jQuery);
|
4997 |
-
|
4998 |
-
// ==========================================================================
|
4999 |
-
//
|
5000 |
-
// Thumbs
|
5001 |
-
// Displays thumbnails in a grid
|
5002 |
-
//
|
5003 |
-
// ==========================================================================
|
5004 |
-
(function(document, $) {
|
5005 |
-
"use strict";
|
5006 |
-
|
5007 |
-
var CLASS = "fancybox-thumbs",
|
5008 |
-
CLASS_ACTIVE = CLASS + "-active";
|
5009 |
-
|
5010 |
-
// Make sure there are default values
|
5011 |
-
$.fancybox.defaults = $.extend(
|
5012 |
-
true,
|
5013 |
-
{
|
5014 |
-
btnTpl: {
|
5015 |
-
thumbs:
|
5016 |
-
'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}">' +
|
5017 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg>' +
|
5018 |
-
"</button>"
|
5019 |
-
},
|
5020 |
-
thumbs: {
|
5021 |
-
autoStart: false, // Display thumbnails on opening
|
5022 |
-
hideOnClose: true, // Hide thumbnail grid when closing animation starts
|
5023 |
-
parentEl: ".fancybox-container", // Container is injected into this element
|
5024 |
-
axis: "y" // Vertical (y) or horizontal (x) scrolling
|
5025 |
-
}
|
5026 |
-
},
|
5027 |
-
$.fancybox.defaults
|
5028 |
-
);
|
5029 |
-
|
5030 |
-
var FancyThumbs = function(instance) {
|
5031 |
-
this.init(instance);
|
5032 |
-
};
|
5033 |
-
|
5034 |
-
$.extend(FancyThumbs.prototype, {
|
5035 |
-
$button: null,
|
5036 |
-
$grid: null,
|
5037 |
-
$list: null,
|
5038 |
-
isVisible: false,
|
5039 |
-
isActive: false,
|
5040 |
-
|
5041 |
-
init: function(instance) {
|
5042 |
-
var self = this,
|
5043 |
-
group = instance.group,
|
5044 |
-
enabled = 0;
|
5045 |
-
|
5046 |
-
self.instance = instance;
|
5047 |
-
self.opts = group[instance.currIndex].opts.thumbs;
|
5048 |
-
|
5049 |
-
instance.Thumbs = self;
|
5050 |
-
|
5051 |
-
self.$button = instance.$refs.toolbar.find("[data-fancybox-thumbs]");
|
5052 |
-
|
5053 |
-
// Enable thumbs if at least two group items have thumbnails
|
5054 |
-
for (var i = 0, len = group.length; i < len; i++) {
|
5055 |
-
if (group[i].thumb) {
|
5056 |
-
enabled++;
|
5057 |
-
}
|
5058 |
-
|
5059 |
-
if (enabled > 1) {
|
5060 |
-
break;
|
5061 |
-
}
|
5062 |
-
}
|
5063 |
-
|
5064 |
-
if (enabled > 1 && !!self.opts) {
|
5065 |
-
self.$button.removeAttr("style").on("click", function() {
|
5066 |
-
self.toggle();
|
5067 |
-
});
|
5068 |
-
|
5069 |
-
self.isActive = true;
|
5070 |
-
} else {
|
5071 |
-
self.$button.hide();
|
5072 |
-
}
|
5073 |
-
},
|
5074 |
-
|
5075 |
-
create: function() {
|
5076 |
-
var self = this,
|
5077 |
-
instance = self.instance,
|
5078 |
-
parentEl = self.opts.parentEl,
|
5079 |
-
list = [],
|
5080 |
-
src;
|
5081 |
-
|
5082 |
-
if (!self.$grid) {
|
5083 |
-
// Create main element
|
5084 |
-
self.$grid = $('<div class="' + CLASS + " " + CLASS + "-" + self.opts.axis + '"></div>').appendTo(
|
5085 |
-
instance.$refs.container
|
5086 |
-
.find(parentEl)
|
5087 |
-
.addBack()
|
5088 |
-
.filter(parentEl)
|
5089 |
-
);
|
5090 |
-
|
5091 |
-
// Add "click" event that performs gallery navigation
|
5092 |
-
self.$grid.on("click", "a", function() {
|
5093 |
-
instance.jumpTo($(this).attr("data-index"));
|
5094 |
-
});
|
5095 |
-
}
|
5096 |
-
|
5097 |
-
// Build the list
|
5098 |
-
if (!self.$list) {
|
5099 |
-
self.$list = $('<div class="' + CLASS + '__list">').appendTo(self.$grid);
|
5100 |
-
}
|
5101 |
-
|
5102 |
-
$.each(instance.group, function(i, item) {
|
5103 |
-
src = item.thumb;
|
5104 |
-
|
5105 |
-
if (!src && item.type === "image") {
|
5106 |
-
src = item.src;
|
5107 |
-
}
|
5108 |
-
|
5109 |
-
list.push(
|
5110 |
-
'<a href="javascript:;" tabindex="0" data-index="' +
|
5111 |
-
i +
|
5112 |
-
'"' +
|
5113 |
-
(src && src.length ? ' style="background-image:url(' + src + ')"' : 'class="fancybox-thumbs-missing"') +
|
5114 |
-
"></a>"
|
5115 |
-
);
|
5116 |
-
});
|
5117 |
-
|
5118 |
-
self.$list[0].innerHTML = list.join("");
|
5119 |
-
|
5120 |
-
if (self.opts.axis === "x") {
|
5121 |
-
// Set fixed width for list element to enable horizontal scrolling
|
5122 |
-
self.$list.width(
|
5123 |
-
parseInt(self.$grid.css("padding-right"), 10) +
|
5124 |
-
instance.group.length *
|
5125 |
-
self.$list
|
5126 |
-
.children()
|
5127 |
-
.eq(0)
|
5128 |
-
.outerWidth(true)
|
5129 |
-
);
|
5130 |
-
}
|
5131 |
-
},
|
5132 |
-
|
5133 |
-
focus: function(duration) {
|
5134 |
-
var self = this,
|
5135 |
-
$list = self.$list,
|
5136 |
-
$grid = self.$grid,
|
5137 |
-
thumb,
|
5138 |
-
thumbPos;
|
5139 |
-
|
5140 |
-
if (!self.instance.current) {
|
5141 |
-
return;
|
5142 |
-
}
|
5143 |
-
|
5144 |
-
thumb = $list
|
5145 |
-
.children()
|
5146 |
-
.removeClass(CLASS_ACTIVE)
|
5147 |
-
.filter('[data-index="' + self.instance.current.index + '"]')
|
5148 |
-
.addClass(CLASS_ACTIVE);
|
5149 |
-
|
5150 |
-
thumbPos = thumb.position();
|
5151 |
-
|
5152 |
-
// Check if need to scroll to make current thumb visible
|
5153 |
-
if (self.opts.axis === "y" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) {
|
5154 |
-
$list.stop().animate(
|
5155 |
-
{
|
5156 |
-
scrollTop: $list.scrollTop() + thumbPos.top
|
5157 |
-
},
|
5158 |
-
duration
|
5159 |
-
);
|
5160 |
-
} else if (
|
5161 |
-
self.opts.axis === "x" &&
|
5162 |
-
(thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth()))
|
5163 |
-
) {
|
5164 |
-
$list
|
5165 |
-
.parent()
|
5166 |
-
.stop()
|
5167 |
-
.animate(
|
5168 |
-
{
|
5169 |
-
scrollLeft: thumbPos.left
|
5170 |
-
},
|
5171 |
-
duration
|
5172 |
-
);
|
5173 |
-
}
|
5174 |
-
},
|
5175 |
-
|
5176 |
-
update: function() {
|
5177 |
-
var that = this;
|
5178 |
-
that.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible);
|
5179 |
-
|
5180 |
-
if (that.isVisible) {
|
5181 |
-
if (!that.$grid) {
|
5182 |
-
that.create();
|
5183 |
-
}
|
5184 |
-
|
5185 |
-
that.instance.trigger("onThumbsShow");
|
5186 |
-
|
5187 |
-
that.focus(0);
|
5188 |
-
} else if (that.$grid) {
|
5189 |
-
that.instance.trigger("onThumbsHide");
|
5190 |
-
}
|
5191 |
-
|
5192 |
-
// Update content position
|
5193 |
-
that.instance.update();
|
5194 |
-
},
|
5195 |
-
|
5196 |
-
hide: function() {
|
5197 |
-
this.isVisible = false;
|
5198 |
-
this.update();
|
5199 |
-
},
|
5200 |
-
|
5201 |
-
show: function() {
|
5202 |
-
this.isVisible = true;
|
5203 |
-
this.update();
|
5204 |
-
},
|
5205 |
-
|
5206 |
-
toggle: function() {
|
5207 |
-
this.isVisible = !this.isVisible;
|
5208 |
-
this.update();
|
5209 |
-
}
|
5210 |
-
});
|
5211 |
-
|
5212 |
-
$(document).on({
|
5213 |
-
"onInit.fb": function(e, instance) {
|
5214 |
-
var Thumbs;
|
5215 |
-
|
5216 |
-
if (instance && !instance.Thumbs) {
|
5217 |
-
Thumbs = new FancyThumbs(instance);
|
5218 |
-
|
5219 |
-
if (Thumbs.isActive && Thumbs.opts.autoStart === true) {
|
5220 |
-
Thumbs.show();
|
5221 |
-
}
|
5222 |
-
}
|
5223 |
-
},
|
5224 |
-
|
5225 |
-
"beforeShow.fb": function(e, instance, item, firstRun) {
|
5226 |
-
var Thumbs = instance && instance.Thumbs;
|
5227 |
-
|
5228 |
-
if (Thumbs && Thumbs.isVisible) {
|
5229 |
-
Thumbs.focus(firstRun ? 0 : 250);
|
5230 |
-
}
|
5231 |
-
},
|
5232 |
-
|
5233 |
-
"afterKeydown.fb": function(e, instance, current, keypress, keycode) {
|
5234 |
-
var Thumbs = instance && instance.Thumbs;
|
5235 |
-
|
5236 |
-
// "G"
|
5237 |
-
if (Thumbs && Thumbs.isActive && keycode === 71) {
|
5238 |
-
keypress.preventDefault();
|
5239 |
-
|
5240 |
-
Thumbs.toggle();
|
5241 |
-
}
|
5242 |
-
},
|
5243 |
-
|
5244 |
-
"beforeClose.fb": function(e, instance) {
|
5245 |
-
var Thumbs = instance && instance.Thumbs;
|
5246 |
-
|
5247 |
-
if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) {
|
5248 |
-
Thumbs.$grid.hide();
|
5249 |
-
}
|
5250 |
-
}
|
5251 |
-
});
|
5252 |
-
})(document, jQuery);
|
5253 |
-
|
5254 |
-
//// ==========================================================================
|
5255 |
-
//
|
5256 |
-
// Share
|
5257 |
-
// Displays simple form for sharing current url
|
5258 |
-
//
|
5259 |
-
// ==========================================================================
|
5260 |
-
(function(document, $) {
|
5261 |
-
"use strict";
|
5262 |
-
|
5263 |
-
$.extend(true, $.fancybox.defaults, {
|
5264 |
-
btnTpl: {
|
5265 |
-
share:
|
5266 |
-
'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}">' +
|
5267 |
-
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg>' +
|
5268 |
-
"</button>"
|
5269 |
-
},
|
5270 |
-
share: {
|
5271 |
-
url: function(instance, item) {
|
5272 |
-
return (
|
5273 |
-
(!instance.currentHash && !(item.type === "inline" || item.type === "html") ? item.origSrc || item.src : false) || window.location
|
5274 |
-
);
|
5275 |
-
},
|
5276 |
-
tpl:
|
5277 |
-
'<div class="fancybox-share">' +
|
5278 |
-
"<h1>{{SHARE}}</h1>" +
|
5279 |
-
"<p>" +
|
5280 |
-
'<a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}">' +
|
5281 |
-
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg>' +
|
5282 |
-
"<span>Facebook</span>" +
|
5283 |
-
"</a>" +
|
5284 |
-
'<a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}">' +
|
5285 |
-
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg>' +
|
5286 |
-
"<span>Twitter</span>" +
|
5287 |
-
"</a>" +
|
5288 |
-
'<a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}">' +
|
5289 |
-
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg>' +
|
5290 |
-
"<span>Pinterest</span>" +
|
5291 |
-
"</a>" +
|
5292 |
-
"</p>" +
|
5293 |
-
'<p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p>' +
|
5294 |
-
"</div>"
|
5295 |
-
}
|
5296 |
-
});
|
5297 |
-
|
5298 |
-
function escapeHtml(string) {
|
5299 |
-
var entityMap = {
|
5300 |
-
"&": "&",
|
5301 |
-
"<": "<",
|
5302 |
-
">": ">",
|
5303 |
-
'"': """,
|
5304 |
-
"'": "'",
|
5305 |
-
"/": "/",
|
5306 |
-
"`": "`",
|
5307 |
-
"=": "="
|
5308 |
-
};
|
5309 |
-
|
5310 |
-
return String(string).replace(/[&<>"'`=\/]/g, function(s) {
|
5311 |
-
return entityMap[s];
|
5312 |
-
});
|
5313 |
-
}
|
5314 |
-
|
5315 |
-
$(document).on("click", "[data-fancybox-share]", function() {
|
5316 |
-
var instance = $.fancybox.getInstance(),
|
5317 |
-
current = instance.current || null,
|
5318 |
-
url,
|
5319 |
-
tpl;
|
5320 |
-
|
5321 |
-
if (!current) {
|
5322 |
-
return;
|
5323 |
-
}
|
5324 |
-
|
5325 |
-
if ($.type(current.opts.share.url) === "function") {
|
5326 |
-
url = current.opts.share.url.apply(current, [instance, current]);
|
5327 |
-
}
|
5328 |
-
|
5329 |
-
tpl = current.opts.share.tpl
|
5330 |
-
.replace(/\{\{media\}\}/g, current.type === "image" ? encodeURIComponent(current.src) : "")
|
5331 |
-
.replace(/\{\{url\}\}/g, encodeURIComponent(url))
|
5332 |
-
.replace(/\{\{url_raw\}\}/g, escapeHtml(url))
|
5333 |
-
.replace(/\{\{descr\}\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : "");
|
5334 |
-
|
5335 |
-
$.fancybox.open({
|
5336 |
-
src: instance.translate(instance, tpl),
|
5337 |
-
type: "html",
|
5338 |
-
opts: {
|
5339 |
-
touch: false,
|
5340 |
-
animationEffect: false,
|
5341 |
-
afterLoad: function(shareInstance, shareCurrent) {
|
5342 |
-
// Close self if parent instance is closing
|
5343 |
-
instance.$refs.container.one("beforeClose.fb", function() {
|
5344 |
-
shareInstance.close(null, 0);
|
5345 |
-
});
|
5346 |
-
|
5347 |
-
// Opening links in a popup window
|
5348 |
-
shareCurrent.$content.find(".fancybox-share__button").click(function() {
|
5349 |
-
window.open(this.href, "Share", "width=550, height=450");
|
5350 |
-
return false;
|
5351 |
-
});
|
5352 |
-
},
|
5353 |
-
mobile: {
|
5354 |
-
autoFocus: false
|
5355 |
-
}
|
5356 |
-
}
|
5357 |
-
});
|
5358 |
-
});
|
5359 |
-
})(document, jQuery);
|
5360 |
-
|
5361 |
-
// ==========================================================================
|
5362 |
-
//
|
5363 |
-
// Hash
|
5364 |
-
// Enables linking to each modal
|
5365 |
-
//
|
5366 |
-
// ==========================================================================
|
5367 |
-
(function(window, document, $) {
|
5368 |
-
"use strict";
|
5369 |
-
|
5370 |
-
// Simple $.escapeSelector polyfill (for jQuery prior v3)
|
5371 |
-
if (!$.escapeSelector) {
|
5372 |
-
$.escapeSelector = function(sel) {
|
5373 |
-
var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
|
5374 |
-
var fcssescape = function(ch, asCodePoint) {
|
5375 |
-
if (asCodePoint) {
|
5376 |
-
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
|
5377 |
-
if (ch === "\0") {
|
5378 |
-
return "\uFFFD";
|
5379 |
-
}
|
5380 |
-
|
5381 |
-
// Control characters and (dependent upon position) numbers get escaped as code points
|
5382 |
-
return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " ";
|
5383 |
-
}
|
5384 |
-
|
5385 |
-
// Other potentially-special ASCII characters get backslash-escaped
|
5386 |
-
return "\\" + ch;
|
5387 |
-
};
|
5388 |
-
|
5389 |
-
return (sel + "").replace(rcssescape, fcssescape);
|
5390 |
-
};
|
5391 |
-
}
|
5392 |
-
|
5393 |
-
// Get info about gallery name and current index from url
|
5394 |
-
function parseUrl() {
|
5395 |
-
var hash = window.location.hash.substr(1),
|
5396 |
-
rez = hash.split("-"),
|
5397 |
-
index = rez.length > 1 && /^\+?\d+$/.test(rez[rez.length - 1]) ? parseInt(rez.pop(-1), 10) || 1 : 1,
|
5398 |
-
gallery = rez.join("-");
|
5399 |
-
|
5400 |
-
return {
|
5401 |
-
hash: hash,
|
5402 |
-
/* Index is starting from 1 */
|
5403 |
-
index: index < 1 ? 1 : index,
|
5404 |
-
gallery: gallery
|
5405 |
-
};
|
5406 |
-
}
|
5407 |
-
|
5408 |
-
// Trigger click evnt on links to open new fancyBox instance
|
5409 |
-
function triggerFromUrl(url) {
|
5410 |
-
if (url.gallery !== "") {
|
5411 |
-
// If we can find element matching 'data-fancybox' atribute,
|
5412 |
-
// then triggering click event should start fancyBox
|
5413 |
-
$("[data-fancybox='" + $.escapeSelector(url.gallery) + "']")
|
5414 |
-
.eq(url.index - 1)
|
5415 |
-
.focus()
|
5416 |
-
.trigger("click.fb-start");
|
5417 |
-
}
|
5418 |
-
}
|
5419 |
-
|
5420 |
-
// Get gallery name from current instance
|
5421 |
-
function getGalleryID(instance) {
|
5422 |
-
var opts, ret;
|
5423 |
-
|
5424 |
-
if (!instance) {
|
5425 |
-
return false;
|
5426 |
-
}
|
5427 |
-
|
5428 |
-
opts = instance.current ? instance.current.opts : instance.opts;
|
5429 |
-
ret = opts.hash || (opts.$orig ? opts.$orig.data("fancybox") || opts.$orig.data("fancybox-trigger") : "");
|
5430 |
-
|
5431 |
-
return ret === "" ? false : ret;
|
5432 |
-
}
|
5433 |
-
|
5434 |
-
// Start when DOM becomes ready
|
5435 |
-
$(function() {
|
5436 |
-
// Check if user has disabled this module
|
5437 |
-
if ($.fancybox.defaults.hash === false) {
|
5438 |
-
return;
|
5439 |
-
}
|
5440 |
-
|
5441 |
-
// Update hash when opening/closing fancyBox
|
5442 |
-
$(document).on({
|
5443 |
-
"onInit.fb": function(e, instance) {
|
5444 |
-
var url, gallery;
|
5445 |
-
|
5446 |
-
if (instance.group[instance.currIndex].opts.hash === false) {
|
5447 |
-
return;
|
5448 |
-
}
|
5449 |
-
|
5450 |
-
url = parseUrl();
|
5451 |
-
gallery = getGalleryID(instance);
|
5452 |
-
|
5453 |
-
// Make sure gallery start index matches index from hash
|
5454 |
-
if (gallery && url.gallery && gallery == url.gallery) {
|
5455 |
-
instance.currIndex = url.index - 1;
|
5456 |
-
}
|
5457 |
-
},
|
5458 |
-
|
5459 |
-
"beforeShow.fb": function(e, instance, current, firstRun) {
|
5460 |
-
var gallery;
|
5461 |
-
|
5462 |
-
if (!current || current.opts.hash === false) {
|
5463 |
-
return;
|
5464 |
-
}
|
5465 |
-
|
5466 |
-
// Check if need to update window hash
|
5467 |
-
gallery = getGalleryID(instance);
|
5468 |
-
|
5469 |
-
if (!gallery) {
|
5470 |
-
return;
|
5471 |
-
}
|
5472 |
-
|
5473 |
-
// Variable containing last hash value set by fancyBox
|
5474 |
-
// It will be used to determine if fancyBox needs to close after hash change is detected
|
5475 |
-
instance.currentHash = gallery + (instance.group.length > 1 ? "-" + (current.index + 1) : "");
|
5476 |
-
|
5477 |
-
// If current hash is the same (this instance most likely is opened by hashchange), then do nothing
|
5478 |
-
if (window.location.hash === "#" + instance.currentHash) {
|
5479 |
-
return;
|
5480 |
-
}
|
5481 |
-
|
5482 |
-
if (firstRun && !instance.origHash) {
|
5483 |
-
instance.origHash = window.location.hash;
|
5484 |
-
}
|
5485 |
-
|
5486 |
-
if (instance.hashTimer) {
|
5487 |
-
clearTimeout(instance.hashTimer);
|
5488 |
-
}
|
5489 |
-
|
5490 |
-
// Update hash
|
5491 |
-
instance.hashTimer = setTimeout(function() {
|
5492 |
-
if ("replaceState" in window.history) {
|
5493 |
-
window.history[firstRun ? "pushState" : "replaceState"](
|
5494 |
-
{},
|
5495 |
-
document.title,
|
5496 |
-
window.location.pathname + window.location.search + "#" + instance.currentHash
|
5497 |
-
);
|
5498 |
-
|
5499 |
-
if (firstRun) {
|
5500 |
-
instance.hasCreatedHistory = true;
|
5501 |
-
}
|
5502 |
-
} else {
|
5503 |
-
window.location.hash = instance.currentHash;
|
5504 |
-
}
|
5505 |
-
|
5506 |
-
instance.hashTimer = null;
|
5507 |
-
}, 300);
|
5508 |
-
},
|
5509 |
-
|
5510 |
-
"beforeClose.fb": function(e, instance, current) {
|
5511 |
-
if (current.opts.hash === false) {
|
5512 |
-
return;
|
5513 |
-
}
|
5514 |
-
|
5515 |
-
clearTimeout(instance.hashTimer);
|
5516 |
-
|
5517 |
-
// Goto previous history entry
|
5518 |
-
if (instance.currentHash && instance.hasCreatedHistory) {
|
5519 |
-
window.history.back();
|
5520 |
-
} else if (instance.currentHash) {
|
5521 |
-
if ("replaceState" in window.history) {
|
5522 |
-
window.history.replaceState({}, document.title, window.location.pathname + window.location.search + (instance.origHash || ""));
|
5523 |
-
} else {
|
5524 |
-
window.location.hash = instance.origHash;
|
5525 |
-
}
|
5526 |
-
}
|
5527 |
-
|
5528 |
-
instance.currentHash = null;
|
5529 |
-
}
|
5530 |
-
});
|
5531 |
-
|
5532 |
-
// Check if need to start/close after url has changed
|
5533 |
-
$(window).on("hashchange.fb", function() {
|
5534 |
-
var url = parseUrl(),
|
5535 |
-
fb = null;
|
5536 |
-
|
5537 |
-
// Find last fancyBox instance that has "hash"
|
5538 |
-
$.each(
|
5539 |
-
$(".fancybox-container")
|
5540 |
-
.get()
|
5541 |
-
.reverse(),
|
5542 |
-
function(index, value) {
|
5543 |
-
var tmp = $(value).data("FancyBox");
|
5544 |
-
|
5545 |
-
if (tmp && tmp.currentHash) {
|
5546 |
-
fb = tmp;
|
5547 |
-
return false;
|
5548 |
-
}
|
5549 |
-
}
|
5550 |
-
);
|
5551 |
-
|
5552 |
-
if (fb) {
|
5553 |
-
// Now, compare hash values
|
5554 |
-
if (fb.currentHash !== url.gallery + "-" + url.index && !(url.index === 1 && fb.currentHash == url.gallery)) {
|
5555 |
-
fb.currentHash = null;
|
5556 |
-
|
5557 |
-
fb.close();
|
5558 |
-
}
|
5559 |
-
} else if (url.gallery !== "") {
|
5560 |
-
triggerFromUrl(url);
|
5561 |
-
}
|
5562 |
-
});
|
5563 |
-
|
5564 |
-
// Check current hash and trigger click event on matching element to start fancyBox, if needed
|
5565 |
-
setTimeout(function() {
|
5566 |
-
if (!$.fancybox.getInstance()) {
|
5567 |
-
triggerFromUrl(parseUrl());
|
5568 |
-
}
|
5569 |
-
}, 50);
|
5570 |
-
});
|
5571 |
-
})(window, document, jQuery);
|
5572 |
-
|
5573 |
-
// ==========================================================================
|
5574 |
-
//
|
5575 |
-
// Wheel
|
5576 |
-
// Basic mouse weheel support for gallery navigation
|
5577 |
-
//
|
5578 |
-
// ==========================================================================
|
5579 |
-
(function(document, $) {
|
5580 |
-
"use strict";
|
5581 |
-
|
5582 |
-
var prevTime = new Date().getTime();
|
5583 |
-
|
5584 |
-
$(document).on({
|
5585 |
-
"onInit.fb": function(e, instance, current) {
|
5586 |
-
instance.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function(e) {
|
5587 |
-
var current = instance.current,
|
5588 |
-
currTime = new Date().getTime();
|
5589 |
-
|
5590 |
-
if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === "auto" && current.type !== "image")) {
|
5591 |
-
return;
|
5592 |
-
}
|
5593 |
-
|
5594 |
-
e.preventDefault();
|
5595 |
-
e.stopPropagation();
|
5596 |
-
|
5597 |
-
if (current.$slide.hasClass("fancybox-animated")) {
|
5598 |
-
return;
|
5599 |
-
}
|
5600 |
-
|
5601 |
-
e = e.originalEvent || e;
|
5602 |
-
|
5603 |
-
if (currTime - prevTime < 250) {
|
5604 |
-
return;
|
5605 |
-
}
|
5606 |
-
|
5607 |
-
prevTime = currTime;
|
5608 |
-
|
5609 |
-
instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? "next" : "previous"]();
|
5610 |
-
});
|
5611 |
-
}
|
5612 |
-
});
|
5613 |
-
})(document, jQuery);
|
1 |
+
// ==================================================
|
2 |
+
// fancyBox v3.5.1
|
3 |
+
//
|
4 |
+
// Licensed GPLv3 for open source use
|
5 |
+
// or fancyBox Commercial License for commercial use
|
6 |
+
//
|
7 |
+
// http://fancyapps.com/fancybox/
|
8 |
+
// Copyright 2018 fancyApps
|
9 |
+
//
|
10 |
+
// ==================================================
|
11 |
+
(function(window, document, $, undefined) {
|
12 |
+
"use strict";
|
13 |
+
|
14 |
+
window.console = window.console || {
|
15 |
+
info: function(stuff) {}
|
16 |
+
};
|
17 |
+
|
18 |
+
// If there's no jQuery, fancyBox can't work
|
19 |
+
// =========================================
|
20 |
+
|
21 |
+
if (!$) {
|
22 |
+
return;
|
23 |
+
}
|
24 |
+
|
25 |
+
// Check if fancyBox is already initialized
|
26 |
+
// ========================================
|
27 |
+
|
28 |
+
if ($.fn.fancybox) {
|
29 |
+
console.info("fancyBox already initialized");
|
30 |
+
|
31 |
+
return;
|
32 |
+
}
|
33 |
+
|
34 |
+
// Private default settings
|
35 |
+
// ========================
|
36 |
+
|
37 |
+
var defaults = {
|
38 |
+
// Close existing modals
|
39 |
+
// Set this to false if you do not need to stack multiple instances
|
40 |
+
closeExisting: false,
|
41 |
+
|
42 |
+
// Enable infinite gallery navigation
|
43 |
+
loop: false,
|
44 |
+
|
45 |
+
// Horizontal space between slides
|
46 |
+
gutter: 50,
|
47 |
+
|
48 |
+
// Enable keyboard navigation
|
49 |
+
keyboard: true,
|
50 |
+
|
51 |
+
// Should allow caption to overlap the content
|
52 |
+
preventCaptionOverlap: true,
|
53 |
+
|
54 |
+
// Should display navigation arrows at the screen edges
|
55 |
+
arrows: true,
|
56 |
+
|
57 |
+
// Should display counter at the top left corner
|
58 |
+
infobar: true,
|
59 |
+
|
60 |
+
// Should display close button (using `btnTpl.smallBtn` template) over the content
|
61 |
+
// Can be true, false, "auto"
|
62 |
+
// If "auto" - will be automatically enabled for "html", "inline" or "ajax" items
|
63 |
+
smallBtn: "auto",
|
64 |
+
|
65 |
+
// Should display toolbar (buttons at the top)
|
66 |
+
// Can be true, false, "auto"
|
67 |
+
// If "auto" - will be automatically hidden if "smallBtn" is enabled
|
68 |
+
toolbar: "auto",
|
69 |
+
|
70 |
+
// What buttons should appear in the top right corner.
|
71 |
+
// Buttons will be created using templates from `btnTpl` option
|
72 |
+
// and they will be placed into toolbar (class="fancybox-toolbar"` element)
|
73 |
+
buttons: [
|
74 |
+
"zoom",
|
75 |
+
//"share",
|
76 |
+
"slideShow",
|
77 |
+
//"fullScreen",
|
78 |
+
//"download",
|
79 |
+
"thumbs",
|
80 |
+
"close"
|
81 |
+
],
|
82 |
+
|
83 |
+
// Detect "idle" time in seconds
|
84 |
+
idleTime: 3,
|
85 |
+
|
86 |
+
// Disable right-click and use simple image protection for images
|
87 |
+
protect: false,
|
88 |
+
|
89 |
+
// Shortcut to make content "modal" - disable keyboard navigtion, hide buttons, etc
|
90 |
+
modal: false,
|
91 |
+
|
92 |
+
image: {
|
93 |
+
// Wait for images to load before displaying
|
94 |
+
// true - wait for image to load and then display;
|
95 |
+
// false - display thumbnail and load the full-sized image over top,
|
96 |
+
// requires predefined image dimensions (`data-width` and `data-height` attributes)
|
97 |
+
preload: false
|
98 |
+
},
|
99 |
+
|
100 |
+
ajax: {
|
101 |
+
// Object containing settings for ajax request
|
102 |
+
settings: {
|
103 |
+
// This helps to indicate that request comes from the modal
|
104 |
+
// Feel free to change naming
|
105 |
+
data: {
|
106 |
+
fancybox: true
|
107 |
+
}
|
108 |
+
}
|
109 |
+
},
|
110 |
+
|
111 |
+
iframe: {
|
112 |
+
// Iframe template
|
113 |
+
tpl:
|
114 |
+
'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen allow="autoplay; fullscreen" src=""></iframe>',
|
115 |
+
|
116 |
+
// Preload iframe before displaying it
|
117 |
+
// This allows to calculate iframe content width and height
|
118 |
+
// (note: Due to "Same Origin Policy", you can't get cross domain data).
|
119 |
+
preload: true,
|
120 |
+
|
121 |
+
// Custom CSS styling for iframe wrapping element
|
122 |
+
// You can use this to set custom iframe dimensions
|
123 |
+
css: {},
|
124 |
+
|
125 |
+
// Iframe tag attributes
|
126 |
+
attr: {
|
127 |
+
scrolling: "auto"
|
128 |
+
}
|
129 |
+
},
|
130 |
+
|
131 |
+
// For HTML5 video only
|
132 |
+
video: {
|
133 |
+
tpl:
|
134 |
+
'<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}">' +
|
135 |
+
'<source src="{{src}}" type="{{format}}" />' +
|
136 |
+
'Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!' +
|
137 |
+
"</video>",
|
138 |
+
format: "", // custom video format
|
139 |
+
autoStart: true
|
140 |
+
},
|
141 |
+
|
142 |
+
// Default content type if cannot be detected automatically
|
143 |
+
defaultType: "image",
|
144 |
+
|
145 |
+
// Open/close animation type
|
146 |
+
// Possible values:
|
147 |
+
// false - disable
|
148 |
+
// "zoom" - zoom images from/to thumbnail
|
149 |
+
// "fade"
|
150 |
+
// "zoom-in-out"
|
151 |
+
//
|
152 |
+
animationEffect: "zoom",
|
153 |
+
|
154 |
+
// Duration in ms for open/close animation
|
155 |
+
animationDuration: 366,
|
156 |
+
|
157 |
+
// Should image change opacity while zooming
|
158 |
+
// If opacity is "auto", then opacity will be changed if image and thumbnail have different aspect ratios
|
159 |
+
zoomOpacity: "auto",
|
160 |
+
|
161 |
+
// Transition effect between slides
|
162 |
+
//
|
163 |
+
// Possible values:
|
164 |
+
// false - disable
|
165 |
+
// "fade'
|
166 |
+
// "slide'
|
167 |
+
// "circular'
|
168 |
+
// "tube'
|
169 |
+
// "zoom-in-out'
|
170 |
+
// "rotate'
|
171 |
+
//
|
172 |
+
transitionEffect: "fade",
|
173 |
+
|
174 |
+
// Duration in ms for transition animation
|
175 |
+
transitionDuration: 366,
|
176 |
+
|
177 |
+
// Custom CSS class for slide element
|
178 |
+
slideClass: "",
|
179 |
+
|
180 |
+
// Custom CSS class for layout
|
181 |
+
baseClass: "",
|
182 |
+
|
183 |
+
// Base template for layout
|
184 |
+
baseTpl:
|
185 |
+
'<div class="fancybox-container" role="dialog" tabindex="-1">' +
|
186 |
+
'<div class="fancybox-bg"></div>' +
|
187 |
+
'<div class="fancybox-inner">' +
|
188 |
+
'<div class="fancybox-infobar"><span data-fancybox-index></span> / <span data-fancybox-count></span></div>' +
|
189 |
+
'<div class="fancybox-toolbar">{{buttons}}</div>' +
|
190 |
+
'<div class="fancybox-navigation">{{arrows}}</div>' +
|
191 |
+
'<div class="fancybox-stage"></div>' +
|
192 |
+
'<div class="fancybox-caption"></div>' +
|
193 |
+
"</div>" +
|
194 |
+
"</div>",
|
195 |
+
|
196 |
+
// Loading indicator template
|
197 |
+
spinnerTpl: '<div class="fancybox-loading"></div>',
|
198 |
+
|
199 |
+
// Error message template
|
200 |
+
errorTpl: '<div class="fancybox-error"><p>{{ERROR}}</p></div>',
|
201 |
+
|
202 |
+
btnTpl: {
|
203 |
+
download:
|
204 |
+
'<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;">' +
|
205 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg>' +
|
206 |
+
"</a>",
|
207 |
+
|
208 |
+
zoom:
|
209 |
+
'<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}">' +
|
210 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg>' +
|
211 |
+
"</button>",
|
212 |
+
|
213 |
+
close:
|
214 |
+
'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
|
215 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg>' +
|
216 |
+
"</button>",
|
217 |
+
|
218 |
+
// Arrows
|
219 |
+
arrowLeft:
|
220 |
+
'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
|
221 |
+
'<div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div>' +
|
222 |
+
"</button>",
|
223 |
+
|
224 |
+
arrowRight:
|
225 |
+
'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
|
226 |
+
'<div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div>' +
|
227 |
+
"</button>",
|
228 |
+
|
229 |
+
// This small close button will be appended to your html/inline/ajax content by default,
|
230 |
+
// if "smallBtn" option is not set to false
|
231 |
+
smallBtn:
|
232 |
+
'<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}">' +
|
233 |
+
'<svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg>' +
|
234 |
+
"</button>"
|
235 |
+
},
|
236 |
+
|
237 |
+
// Container is injected into this element
|
238 |
+
parentEl: "body",
|
239 |
+
|
240 |
+
// Hide browser vertical scrollbars; use at your own risk
|
241 |
+
hideScrollbar: true,
|
242 |
+
|
243 |
+
// Focus handling
|
244 |
+
// ==============
|
245 |
+
|
246 |
+
// Try to focus on the first focusable element after opening
|
247 |
+
autoFocus: true,
|
248 |
+
|
249 |
+
// Put focus back to active element after closing
|
250 |
+
backFocus: true,
|
251 |
+
|
252 |
+
// Do not let user to focus on element outside modal content
|
253 |
+
trapFocus: true,
|
254 |
+
|
255 |
+
// Module specific options
|
256 |
+
// =======================
|
257 |
+
|
258 |
+
fullScreen: {
|
259 |
+
autoStart: false
|
260 |
+
},
|
261 |
+
|
262 |
+
// Set `touch: false` to disable panning/swiping
|
263 |
+
touch: {
|
264 |
+
vertical: true, // Allow to drag content vertically
|
265 |
+
momentum: true // Continue movement after releasing mouse/touch when panning
|
266 |
+
},
|
267 |
+
|
268 |
+
// Hash value when initializing manually,
|
269 |
+
// set `false` to disable hash change
|
270 |
+
hash: null,
|
271 |
+
|
272 |
+
// Customize or add new media types
|
273 |
+
// Example:
|
274 |
+
/*
|
275 |
+
media : {
|
276 |
+
youtube : {
|
277 |
+
params : {
|
278 |
+
autoplay : 0
|
279 |
+
}
|
280 |
+
}
|
281 |
+
}
|
282 |
+
*/
|
283 |
+
media: {},
|
284 |
+
|
285 |
+
slideShow: {
|
286 |
+
autoStart: false,
|
287 |
+
speed: 3000
|
288 |
+
},
|
289 |
+
|
290 |
+
thumbs: {
|
291 |
+
autoStart: false, // Display thumbnails on opening
|
292 |
+
hideOnClose: true, // Hide thumbnail grid when closing animation starts
|
293 |
+
parentEl: ".fancybox-container", // Container is injected into this element
|
294 |
+
axis: "y" // Vertical (y) or horizontal (x) scrolling
|
295 |
+
},
|
296 |
+
|
297 |
+
// Use mousewheel to navigate gallery
|
298 |
+
// If 'auto' - enabled for images only
|
299 |
+
wheel: "auto",
|
300 |
+
|
301 |
+
// Callbacks
|
302 |
+
//==========
|
303 |
+
|
304 |
+
// See Documentation/API/Events for more information
|
305 |
+
// Example:
|
306 |
+
/*
|
307 |
+
afterShow: function( instance, current ) {
|
308 |
+
console.info( 'Clicked element:' );
|
309 |
+
console.info( current.opts.$orig );
|
310 |
+
}
|
311 |
+
*/
|
312 |
+
|
313 |
+
onInit: $.noop, // When instance has been initialized
|
314 |
+
|
315 |
+
beforeLoad: $.noop, // Before the content of a slide is being loaded
|
316 |
+
afterLoad: $.noop, // When the content of a slide is done loading
|
317 |
+
|
318 |
+
beforeShow: $.noop, // Before open animation starts
|
319 |
+
afterShow: $.noop, // When content is done loading and animating
|
320 |
+
|
321 |
+
beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close.
|
322 |
+
afterClose: $.noop, // After instance has been closed
|
323 |
+
|
324 |
+
onActivate: $.noop, // When instance is brought to front
|
325 |
+
onDeactivate: $.noop, // When other instance has been activated
|
326 |
+
|
327 |
+
// Interaction
|
328 |
+
// ===========
|
329 |
+
|
330 |
+
// Use options below to customize taken action when user clicks or double clicks on the fancyBox area,
|
331 |
+
// each option can be string or method that returns value.
|
332 |
+
//
|
333 |
+
// Possible values:
|
334 |
+
// "close" - close instance
|
335 |
+
// "next" - move to next gallery item
|
336 |
+
// "nextOrClose" - move to next gallery item or close if gallery has only one item
|
337 |
+
// "toggleControls" - show/hide controls
|
338 |
+
// "zoom" - zoom image (if loaded)
|
339 |
+
// false - do nothing
|
340 |
+
|
341 |
+
// Clicked on the content
|
342 |
+
clickContent: function(current, event) {
|
343 |
+
return current.type === "image" ? "zoom" : false;
|
344 |
+
},
|
345 |
+
|
346 |
+
// Clicked on the slide
|
347 |
+
clickSlide: "close",
|
348 |
+
|
349 |
+
// Clicked on the background (backdrop) element;
|
350 |
+
// if you have not changed the layout, then most likely you need to use `clickSlide` option
|
351 |
+
clickOutside: "close",
|
352 |
+
|
353 |
+
// Same as previous two, but for double click
|
354 |
+
dblclickContent: false,
|
355 |
+
dblclickSlide: false,
|
356 |
+
dblclickOutside: false,
|
357 |
+
|
358 |
+
// Custom options when mobile device is detected
|
359 |
+
// =============================================
|
360 |
+
|
361 |
+
mobile: {
|
362 |
+
preventCaptionOverlap: false,
|
363 |
+
idleTime: false,
|
364 |
+
clickContent: function(current, event) {
|
365 |
+
return current.type === "image" ? "toggleControls" : false;
|
366 |
+
},
|
367 |
+
clickSlide: function(current, event) {
|
368 |
+
return current.type === "image" ? "toggleControls" : "close";
|
369 |
+
},
|
370 |
+
dblclickContent: function(current, event) {
|
371 |
+
return current.type === "image" ? "zoom" : false;
|
372 |
+
},
|
373 |
+
dblclickSlide: function(current, event) {
|
374 |
+
return current.type === "image" ? "zoom" : false;
|
375 |
+
}
|
376 |
+
},
|
377 |
+
|
378 |
+
// Internationalization
|
379 |
+
// ====================
|
380 |
+
|
381 |
+
lang: "en",
|
382 |
+
i18n: {
|
383 |
+
en: {
|
384 |
+
CLOSE: "Close",
|
385 |
+
NEXT: "Next",
|
386 |
+
PREV: "Previous",
|
387 |
+
ERROR: "The requested content cannot be loaded. <br/> Please try again later.",
|
388 |
+
PLAY_START: "Start slideshow",
|
389 |
+
PLAY_STOP: "Pause slideshow",
|
390 |
+
FULL_SCREEN: "Full screen",
|
391 |
+
THUMBS: "Thumbnails",
|
392 |
+
DOWNLOAD: "Download",
|
393 |
+
SHARE: "Share",
|
394 |
+
ZOOM: "Zoom"
|
395 |
+
},
|
396 |
+
de: {
|
397 |
+
CLOSE: "Schliessen",
|
398 |
+
NEXT: "Weiter",
|
399 |
+
PREV: "Zurück",
|
400 |
+
ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.",
|
401 |
+
PLAY_START: "Diaschau starten",
|
402 |
+
PLAY_STOP: "Diaschau beenden",
|
403 |
+
FULL_SCREEN: "Vollbild",
|
404 |
+
THUMBS: "Vorschaubilder",
|
405 |
+
DOWNLOAD: "Herunterladen",
|
406 |
+
SHARE: "Teilen",
|
407 |
+
ZOOM: "Maßstab"
|
408 |
+
}
|
409 |
+
}
|
410 |
+
};
|
411 |
+
|
412 |
+
// Few useful variables and methods
|
413 |
+
// ================================
|
414 |
+
|
415 |
+
var $W = $(window);
|
416 |
+
var $D = $(document);
|
417 |
+
|
418 |
+
var called = 0;
|
419 |
+
|
420 |
+
// Check if an object is a jQuery object and not a native JavaScript object
|
421 |
+
// ========================================================================
|
422 |
+
var isQuery = function(obj) {
|
423 |
+
return obj && obj.hasOwnProperty && obj instanceof $;
|
424 |
+
};
|
425 |
+
|
426 |
+
// Handle multiple browsers for "requestAnimationFrame" and "cancelAnimationFrame"
|
427 |
+
// ===============================================================================
|
428 |
+
var requestAFrame = (function() {
|
429 |
+
return (
|
430 |
+
window.requestAnimationFrame ||
|
431 |
+
window.webkitRequestAnimationFrame ||
|
432 |
+
window.mozRequestAnimationFrame ||
|
433 |
+
window.oRequestAnimationFrame ||
|
434 |
+
// if all else fails, use setTimeout
|
435 |
+
function(callback) {
|
436 |
+
return window.setTimeout(callback, 1000 / 60);
|
437 |
+
}
|
438 |
+
);
|
439 |
+
})();
|
440 |
+
|
441 |
+
var cancelAFrame = (function() {
|
442 |
+
return (
|
443 |
+
window.cancelAnimationFrame ||
|
444 |
+
window.webkitCancelAnimationFrame ||
|
445 |
+
window.mozCancelAnimationFrame ||
|
446 |
+
window.oCancelAnimationFrame ||
|
447 |
+
function(id) {
|
448 |
+
window.clearTimeout(id);
|
449 |
+
}
|
450 |
+
);
|
451 |
+
})();
|
452 |
+
|
453 |
+
// Detect the supported transition-end event property name
|
454 |
+
// =======================================================
|
455 |
+
var transitionEnd = (function() {
|
456 |
+
var el = document.createElement("fakeelement"),
|
457 |
+
t;
|
458 |
+
|
459 |
+
var transitions = {
|
460 |
+
transition: "transitionend",
|
461 |
+
OTransition: "oTransitionEnd",
|
462 |
+
MozTransition: "transitionend",
|
463 |
+
WebkitTransition: "webkitTransitionEnd"
|
464 |
+
};
|
465 |
+
|
466 |
+
for (t in transitions) {
|
467 |
+
if (el.style[t] !== undefined) {
|
468 |
+
return transitions[t];
|
469 |
+
}
|
470 |
+
}
|
471 |
+
|
472 |
+
return "transitionend";
|
473 |
+
})();
|
474 |
+
|
475 |
+
// Force redraw on an element.
|
476 |
+
// This helps in cases where the browser doesn't redraw an updated element properly
|
477 |
+
// ================================================================================
|
478 |
+
var forceRedraw = function($el) {
|
479 |
+
return $el && $el.length && $el[0].offsetHeight;
|
480 |
+
};
|
481 |
+
|
482 |
+
// Exclude array (`buttons`) options from deep merging
|
483 |
+
// ===================================================
|
484 |
+
var mergeOpts = function(opts1, opts2) {
|
485 |
+
var rez = $.extend(true, {}, opts1, opts2);
|
486 |
+
|
487 |
+
$.each(opts2, function(key, value) {
|
488 |
+
if ($.isArray(value)) {
|
489 |
+
rez[key] = value;
|
490 |
+
}
|
491 |
+
});
|
492 |
+
|
493 |
+
return rez;
|
494 |
+
};
|
495 |
+
|
496 |
+
// How much of an element is visible in viewport
|
497 |
+
// =============================================
|
498 |
+
|
499 |
+
var inViewport = function(elem) {
|
500 |
+
var elemCenter, rez;
|
501 |
+
|
502 |
+
if (!elem || elem.ownerDocument !== document) {
|
503 |
+
return false;
|
504 |
+
}
|
505 |
+
|
506 |
+
$(".fancybox-container").css("pointer-events", "none");
|
507 |
+
|
508 |
+
elemCenter = {
|
509 |
+
x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,
|
510 |
+
y: elem.getBoundingClientRect().top + elem.offsetHeight / 2
|
511 |
+
};
|
512 |
+
|
513 |
+
rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem;
|
514 |
+
|
515 |
+
$(".fancybox-container").css("pointer-events", "");
|
516 |
+
|
517 |
+
return rez;
|
518 |
+
};
|
519 |
+
|
520 |
+
// Class definition
|
521 |
+
// ================
|
522 |
+
|
523 |
+
var FancyBox = function(content, opts, index) {
|
524 |
+
var self = this;
|
525 |
+
|
526 |
+
self.opts = mergeOpts({index: index}, $.fancybox.defaults);
|
527 |
+
|
528 |
+
if ($.isPlainObject(opts)) {
|
529 |
+
self.opts = mergeOpts(self.opts, opts);
|
530 |
+
}
|
531 |
+
|
532 |
+
if ($.fancybox.isMobile) {
|
533 |
+
self.opts = mergeOpts(self.opts, self.opts.mobile);
|
534 |
+
}
|
535 |
+
|
536 |
+
self.id = self.opts.id || ++called;
|
537 |
+
|
538 |
+
self.currIndex = parseInt(self.opts.index, 10) || 0;
|
539 |
+
self.prevIndex = null;
|
540 |
+
|
541 |
+
self.prevPos = null;
|
542 |
+
self.currPos = 0;
|
543 |
+
|
544 |
+
self.firstRun = true;
|
545 |
+
|
546 |
+
// All group items
|
547 |
+
self.group = [];
|
548 |
+
|
549 |
+
// Existing slides (for current, next and previous gallery items)
|
550 |
+
self.slides = {};
|
551 |
+
|
552 |
+
// Create group elements
|
553 |
+
self.addContent(content);
|
554 |
+
|
555 |
+
if (!self.group.length) {
|
556 |
+
return;
|
557 |
+
}
|
558 |
+
|
559 |
+
self.init();
|
560 |
+
};
|
561 |
+
|
562 |
+
$.extend(FancyBox.prototype, {
|
563 |
+
// Create DOM structure
|
564 |
+
// ====================
|
565 |
+
|
566 |
+
init: function() {
|
567 |
+
var self = this,
|
568 |
+
firstItem = self.group[self.currIndex],
|
569 |
+
firstItemOpts = firstItem.opts,
|
570 |
+
$container,
|
571 |
+
buttonStr;
|
572 |
+
|
573 |
+
if (firstItemOpts.closeExisting) {
|
574 |
+
$.fancybox.close(true);
|
575 |
+
}
|
576 |
+
|
577 |
+
// Hide scrollbars
|
578 |
+
// ===============
|
579 |
+
|
580 |
+
$("body").addClass("fancybox-active");
|
581 |
+
|
582 |
+
if (
|
583 |
+
!$.fancybox.getInstance() &&
|
584 |
+
firstItemOpts.hideScrollbar !== false &&
|
585 |
+
!$.fancybox.isMobile &&
|
586 |
+
document.body.scrollHeight > window.innerHeight
|
587 |
+
) {
|
588 |
+
$("head").append(
|
589 |
+
'<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:' +
|
590 |
+
(window.innerWidth - document.documentElement.clientWidth) +
|
591 |
+
"px;}</style>"
|
592 |
+
);
|
593 |
+
|
594 |
+
$("body").addClass("compensate-for-scrollbar");
|
595 |
+
}
|
596 |
+
|
597 |
+
// Build html markup and set references
|
598 |
+
// ====================================
|
599 |
+
|
600 |
+
// Build html code for buttons and insert into main template
|
601 |
+
buttonStr = "";
|
602 |
+
|
603 |
+
$.each(firstItemOpts.buttons, function(index, value) {
|
604 |
+
buttonStr += firstItemOpts.btnTpl[value] || "";
|
605 |
+
});
|
606 |
+
|
607 |
+
// Create markup from base template, it will be initially hidden to
|
608 |
+
// avoid unnecessary work like painting while initializing is not complete
|
609 |
+
$container = $(
|
610 |
+
self.translate(
|
611 |
+
self,
|
612 |
+
firstItemOpts.baseTpl
|
613 |
+
.replace("{{buttons}}", buttonStr)
|
614 |
+
.replace("{{arrows}}", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight)
|
615 |
+
)
|
616 |
+
)
|
617 |
+
.attr("id", "fancybox-container-" + self.id)
|
618 |
+
.addClass(firstItemOpts.baseClass)
|
619 |
+
.data("FancyBox", self)
|
620 |
+
.appendTo(firstItemOpts.parentEl);
|
621 |
+
|
622 |
+
// Create object holding references to jQuery wrapped nodes
|
623 |
+
self.$refs = {
|
624 |
+
container: $container
|
625 |
+
};
|
626 |
+
|
627 |
+
["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function(item) {
|
628 |
+
self.$refs[item] = $container.find(".fancybox-" + item);
|
629 |
+
});
|
630 |
+
|
631 |
+
self.trigger("onInit");
|
632 |
+
|
633 |
+
// Enable events, deactive previous instances
|
634 |
+
self.activate();
|
635 |
+
|
636 |
+
// Build slides, load and reveal content
|
637 |
+
self.jumpTo(self.currIndex);
|
638 |
+
},
|
639 |
+
|
640 |
+
// Simple i18n support - replaces object keys found in template
|
641 |
+
// with corresponding values
|
642 |
+
// ============================================================
|
643 |
+
|
644 |
+
translate: function(obj, str) {
|
645 |
+
var arr = obj.opts.i18n[obj.opts.lang];
|
646 |
+
|
647 |
+
return str.replace(/\{\{(\w+)\}\}/g, function(match, n) {
|
648 |
+
var value = arr[n];
|
649 |
+
|
650 |
+
if (value === undefined) {
|
651 |
+
return match;
|
652 |
+
}
|
653 |
+
|
654 |
+
return value;
|
655 |
+
});
|
656 |
+
},
|
657 |
+
|
658 |
+
// Populate current group with fresh content
|
659 |
+
// Check if each object has valid type and content
|
660 |
+
// ===============================================
|
661 |
+
|
662 |
+
addContent: function(content) {
|
663 |
+
var self = this,
|
664 |
+
items = $.makeArray(content),
|
665 |
+
thumbs;
|
666 |
+
|
667 |
+
$.each(items, function(i, item) {
|
668 |
+
var obj = {},
|
669 |
+
opts = {},
|
670 |
+
$item,
|
671 |
+
type,
|
672 |
+
found,
|
673 |
+
src,
|
674 |
+
srcParts;
|
675 |
+
|
676 |
+
// Step 1 - Make sure we have an object
|
677 |
+
// ====================================
|
678 |
+
|
679 |
+
if ($.isPlainObject(item)) {
|
680 |
+
// We probably have manual usage here, something like
|
681 |
+
// $.fancybox.open( [ { src : "image.jpg", type : "image" } ] )
|
682 |
+
|
683 |
+
obj = item;
|
684 |
+
opts = item.opts || item;
|
685 |
+
} else if ($.type(item) === "object" && $(item).length) {
|
686 |
+
// Here we probably have jQuery collection returned by some selector
|
687 |
+
$item = $(item);
|
688 |
+
|
689 |
+
// Support attributes like `data-options='{"touch" : false}'` and `data-touch='false'`
|
690 |
+
opts = $item.data() || {};
|
691 |
+
opts = $.extend(true, {}, opts, opts.options);
|
692 |
+
|
693 |
+
// Here we store clicked element
|
694 |
+
opts.$orig = $item;
|
695 |
+
|
696 |
+
obj.src = self.opts.src || opts.src || $item.attr("href");
|
697 |
+
|
698 |
+
// Assume that simple syntax is used, for example:
|
699 |
+
// `$.fancybox.open( $("#test"), {} );`
|
700 |
+
if (!obj.type && !obj.src) {
|
701 |
+
obj.type = "inline";
|
702 |
+
obj.src = item;
|
703 |
+
}
|
704 |
+
} else {
|
705 |
+
// Assume we have a simple html code, for example:
|
706 |
+
// $.fancybox.open( '<div><h1>Hi!</h1></div>' );
|
707 |
+
obj = {
|
708 |
+
type: "html",
|
709 |
+
src: item + ""
|
710 |
+
};
|
711 |
+
}
|
712 |
+
|
713 |
+
// Each gallery object has full collection of options
|
714 |
+
obj.opts = $.extend(true, {}, self.opts, opts);
|
715 |
+
|
716 |
+
// Do not merge buttons array
|
717 |
+
if ($.isArray(opts.buttons)) {
|
718 |
+
obj.opts.buttons = opts.buttons;
|
719 |
+
}
|
720 |
+
|
721 |
+
if ($.fancybox.isMobile && obj.opts.mobile) {
|
722 |
+
obj.opts = mergeOpts(obj.opts, obj.opts.mobile);
|
723 |
+
}
|
724 |
+
|
725 |
+
// Step 2 - Make sure we have content type, if not - try to guess
|
726 |
+
// ==============================================================
|
727 |
+
|
728 |
+
type = obj.type || obj.opts.type;
|
729 |
+
src = obj.src || "";
|
730 |
+
|
731 |
+
if (!type && src) {
|
732 |
+
if ((found = src.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))) {
|
733 |
+
type = "video";
|
734 |
+
|
735 |
+
if (!obj.opts.video.format) {
|
736 |
+
obj.opts.video.format = "video/" + (found[1] === "ogv" ? "ogg" : found[1]);
|
737 |
+
}
|
738 |
+
} else if (src.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)) {
|
739 |
+
type = "image";
|
740 |
+
} else if (src.match(/\.(pdf)((\?|#).*)?$/i)) {
|
741 |
+
type = "iframe";
|
742 |
+
} else if (src.charAt(0) === "#") {
|
743 |
+
type = "inline";
|
744 |
+
}
|
745 |
+
}
|
746 |
+
|
747 |
+
if (type) {
|
748 |
+
obj.type = type;
|
749 |
+
} else {
|
750 |
+
self.trigger("objectNeedsType", obj);
|
751 |
+
}
|
752 |
+
|
753 |
+
if (!obj.contentType) {
|
754 |
+
obj.contentType = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1 ? "html" : obj.type;
|
755 |
+
}
|
756 |
+
|
757 |
+
// Step 3 - Some adjustments
|
758 |
+
// =========================
|
759 |
+
|
760 |
+
obj.index = self.group.length;
|
761 |
+
|
762 |
+
if (obj.opts.smallBtn == "auto") {
|
763 |
+
obj.opts.smallBtn = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1;
|
764 |
+
}
|
765 |
+
|
766 |
+
if (obj.opts.toolbar === "auto") {
|
767 |
+
obj.opts.toolbar = !obj.opts.smallBtn;
|
768 |
+
}
|
769 |
+
|
770 |
+
// Find thumbnail image, check if exists and if is in the viewport
|
771 |
+
obj.$thumb = obj.opts.$thumb || null;
|
772 |
+
|
773 |
+
if (obj.opts.$trigger && obj.index === self.opts.index) {
|
774 |
+
obj.$thumb = obj.opts.$trigger.find("img:first");
|
775 |
+
|
776 |
+
if (obj.$thumb.length) {
|
777 |
+
obj.opts.$orig = obj.opts.$trigger;
|
778 |
+
}
|
779 |
+
}
|
780 |
+
|
781 |
+
if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) {
|
782 |
+
obj.$thumb = obj.opts.$orig.find("img:first");
|
783 |
+
}
|
784 |
+
|
785 |
+
if (obj.$thumb && !obj.$thumb.length) {
|
786 |
+
obj.$thumb = null;
|
787 |
+
}
|
788 |
+
|
789 |
+
obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null);
|
790 |
+
|
791 |
+
// "caption" is a "special" option, it can be used to customize caption per gallery item
|
792 |
+
if ($.type(obj.opts.caption) === "function") {
|
793 |
+
obj.opts.caption = obj.opts.caption.apply(item, [self, obj]);
|
794 |
+
}
|
795 |
+
|
796 |
+
if ($.type(self.opts.caption) === "function") {
|
797 |
+
obj.opts.caption = self.opts.caption.apply(item, [self, obj]);
|
798 |
+
}
|
799 |
+
|
800 |
+
// Make sure we have caption as a string or jQuery object
|
801 |
+
if (!(obj.opts.caption instanceof $)) {
|
802 |
+
obj.opts.caption = obj.opts.caption === undefined ? "" : obj.opts.caption + "";
|
803 |
+
}
|
804 |
+
|
805 |
+
// Check if url contains "filter" used to filter the content
|
806 |
+
// Example: "ajax.html #something"
|
807 |
+
if (obj.type === "ajax") {
|
808 |
+
srcParts = src.split(/\s+/, 2);
|
809 |
+
|
810 |
+
if (srcParts.length > 1) {
|
811 |
+
obj.src = srcParts.shift();
|
812 |
+
|
813 |
+
obj.opts.filter = srcParts.shift();
|
814 |
+
}
|
815 |
+
}
|
816 |
+
|
817 |
+
// Hide all buttons and disable interactivity for modal items
|
818 |
+
if (obj.opts.modal) {
|
819 |
+
obj.opts = $.extend(true, obj.opts, {
|
820 |
+
trapFocus: true,
|
821 |
+
// Remove buttons
|
822 |
+
infobar: 0,
|
823 |
+
toolbar: 0,
|
824 |
+
|
825 |
+
smallBtn: 0,
|
826 |
+
|
827 |
+
// Disable keyboard navigation
|
828 |
+
keyboard: 0,
|
829 |
+
|
830 |
+
// Disable some modules
|
831 |
+
slideShow: 0,
|
832 |
+
fullScreen: 0,
|
833 |
+
thumbs: 0,
|
834 |
+
touch: 0,
|
835 |
+
|
836 |
+
// Disable click event handlers
|
837 |
+
clickContent: false,
|
838 |
+
clickSlide: false,
|
839 |
+
clickOutside: false,
|
840 |
+
dblclickContent: false,
|
841 |
+
dblclickSlide: false,
|
842 |
+
dblclickOutside: false
|
843 |
+
});
|
844 |
+
}
|
845 |
+
|
846 |
+
// Step 4 - Add processed object to group
|
847 |
+
// ======================================
|
848 |
+
|
849 |
+
self.group.push(obj);
|
850 |
+
});
|
851 |
+
|
852 |
+
// Update controls if gallery is already opened
|
853 |
+
if (Object.keys(self.slides).length) {
|
854 |
+
self.updateControls();
|
855 |
+
|
856 |
+
// Update thumbnails, if needed
|
857 |
+
thumbs = self.Thumbs;
|
858 |
+
|
859 |
+
if (thumbs && thumbs.isActive) {
|
860 |
+
thumbs.create();
|
861 |
+
|
862 |
+
thumbs.focus();
|
863 |
+
}
|
864 |
+
}
|
865 |
+
},
|
866 |
+
|
867 |
+
// Attach an event handler functions for:
|
868 |
+
// - navigation buttons
|
869 |
+
// - browser scrolling, resizing;
|
870 |
+
// - focusing
|
871 |
+
// - keyboard
|
872 |
+
// - detecting inactivity
|
873 |
+
// ======================================
|
874 |
+
|
875 |
+
addEvents: function() {
|
876 |
+
var self = this;
|
877 |
+
|
878 |
+
self.removeEvents();
|
879 |
+
|
880 |
+
// Make navigation elements clickable
|
881 |
+
// ==================================
|
882 |
+
|
883 |
+
self.$refs.container
|
884 |
+
.on("click.fb-close", "[data-fancybox-close]", function(e) {
|
885 |
+
e.stopPropagation();
|
886 |
+
e.preventDefault();
|
887 |
+
|
888 |
+
self.close(e);
|
889 |
+
})
|
890 |
+
.on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function(e) {
|
891 |
+
e.stopPropagation();
|
892 |
+
e.preventDefault();
|
893 |
+
|
894 |
+
self.previous();
|
895 |
+
})
|
896 |
+
.on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function(e) {
|
897 |
+
e.stopPropagation();
|
898 |
+
e.preventDefault();
|
899 |
+
|
900 |
+
self.next();
|
901 |
+
})
|
902 |
+
.on("click.fb", "[data-fancybox-zoom]", function(e) {
|
903 |
+
// Click handler for zoom button
|
904 |
+
self[self.isScaledDown() ? "scaleToActual" : "scaleToFit"]();
|
905 |
+
});
|
906 |
+
|
907 |
+
// Handle page scrolling and browser resizing
|
908 |
+
// ==========================================
|
909 |
+
|
910 |
+
$W.on("orientationchange.fb resize.fb", function(e) {
|
911 |
+
if (e && e.originalEvent && e.originalEvent.type === "resize") {
|
912 |
+
if (self.requestId) {
|
913 |
+
cancelAFrame(self.requestId);
|
914 |
+
}
|
915 |
+
|
916 |
+
self.requestId = requestAFrame(function() {
|
917 |
+
self.update(e);
|
918 |
+
});
|
919 |
+
} else {
|
920 |
+
if (self.current && self.current.type === "iframe") {
|
921 |
+
self.$refs.stage.hide();
|
922 |
+
}
|
923 |
+
|
924 |
+
setTimeout(function() {
|
925 |
+
self.$refs.stage.show();
|
926 |
+
|
927 |
+
self.update(e);
|
928 |
+
}, $.fancybox.isMobile ? 600 : 250);
|
929 |
+
}
|
930 |
+
});
|
931 |
+
|
932 |
+
$D.on("keydown.fb", function(e) {
|
933 |
+
var instance = $.fancybox ? $.fancybox.getInstance() : null,
|
934 |
+
current = instance.current,
|
935 |
+
keycode = e.keyCode || e.which;
|
936 |
+
|
937 |
+
// Trap keyboard focus inside of the modal
|
938 |
+
// =======================================
|
939 |
+
|
940 |
+
if (keycode == 9) {
|
941 |
+
if (current.opts.trapFocus) {
|
942 |
+
self.focus(e);
|
943 |
+
}
|
944 |
+
|
945 |
+
return;
|
946 |
+
}
|
947 |
+
|
948 |
+
// Enable keyboard navigation
|
949 |
+
// ==========================
|
950 |
+
|
951 |
+
if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is("input") || $(e.target).is("textarea")) {
|
952 |
+
return;
|
953 |
+
}
|
954 |
+
|
955 |
+
// Backspace and Esc keys
|
956 |
+
if (keycode === 8 || keycode === 27) {
|
957 |
+
e.preventDefault();
|
958 |
+
|
959 |
+
self.close(e);
|
960 |
+
|
961 |
+
return;
|
962 |
+
}
|
963 |
+
|
964 |
+
// Left arrow and Up arrow
|
965 |
+
if (keycode === 37 || keycode === 38) {
|
966 |
+
e.preventDefault();
|
967 |
+
|
968 |
+
self.previous();
|
969 |
+
|
970 |
+
return;
|
971 |
+
}
|
972 |
+
|
973 |
+
// Righ arrow and Down arrow
|
974 |
+
if (keycode === 39 || keycode === 40) {
|
975 |
+
e.preventDefault();
|
976 |
+
|
977 |
+
self.next();
|
978 |
+
|
979 |
+
return;
|
980 |
+
}
|
981 |
+
|
982 |
+
self.trigger("afterKeydown", e, keycode);
|
983 |
+
});
|
984 |
+
|
985 |
+
// Hide controls after some inactivity period
|
986 |
+
if (self.group[self.currIndex].opts.idleTime) {
|
987 |
+
self.idleSecondsCounter = 0;
|
988 |
+
|
989 |
+
$D.on(
|
990 |
+
"mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",
|
991 |
+
function(e) {
|
992 |
+
self.idleSecondsCounter = 0;
|
993 |
+
|
994 |
+
if (self.isIdle) {
|
995 |
+
self.showControls();
|
996 |
+
}
|
997 |
+
|
998 |
+
self.isIdle = false;
|
999 |
+
}
|
1000 |
+
);
|
1001 |
+
|
1002 |
+
self.idleInterval = window.setInterval(function() {
|
1003 |
+
self.idleSecondsCounter++;
|
1004 |
+
|
1005 |
+
if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) {
|
1006 |
+
self.isIdle = true;
|
1007 |
+
self.idleSecondsCounter = 0;
|
1008 |
+
|
1009 |
+
self.hideControls();
|
1010 |
+
}
|
1011 |
+
}, 1000);
|
1012 |
+
}
|
1013 |
+
},
|
1014 |
+
|
1015 |
+
// Remove events added by the core
|
1016 |
+
// ===============================
|
1017 |
+
|
1018 |
+
removeEvents: function() {
|
1019 |
+
var self = this;
|
1020 |
+
|
1021 |
+
$W.off("orientationchange.fb resize.fb");
|
1022 |
+
$D.off("keydown.fb .fb-idle");
|
1023 |
+
|
1024 |
+
this.$refs.container.off(".fb-close .fb-prev .fb-next");
|
1025 |
+
|
1026 |
+
if (self.idleInterval) {
|
1027 |
+
window.clearInterval(self.idleInterval);
|
1028 |
+
|
1029 |
+
self.idleInterval = null;
|
1030 |
+
}
|
1031 |
+
},
|
1032 |
+
|
1033 |
+
// Change to previous gallery item
|
1034 |
+
// ===============================
|
1035 |
+
|
1036 |
+
previous: function(duration) {
|
1037 |
+
return this.jumpTo(this.currPos - 1, duration);
|
1038 |
+
},
|
1039 |
+
|
1040 |
+
// Change to next gallery item
|
1041 |
+
// ===========================
|
1042 |
+
|
1043 |
+
next: function(duration) {
|
1044 |
+
return this.jumpTo(this.currPos + 1, duration);
|
1045 |
+
},
|
1046 |
+
|
1047 |
+
// Switch to selected gallery item
|
1048 |
+
// ===============================
|
1049 |
+
|
1050 |
+
jumpTo: function(pos, duration) {
|
1051 |
+
var self = this,
|
1052 |
+
groupLen = self.group.length,
|
1053 |
+
firstRun,
|
1054 |
+
isMoved,
|
1055 |
+
loop,
|
1056 |
+
current,
|
1057 |
+
previous,
|
1058 |
+
slidePos,
|
1059 |
+
stagePos,
|
1060 |
+
prop,
|
1061 |
+
diff;
|
1062 |
+
|
1063 |
+
if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) {
|
1064 |
+
return;
|
1065 |
+
}
|
1066 |
+
|
1067 |
+
// Should loop?
|
1068 |
+
pos = parseInt(pos, 10);
|
1069 |
+
loop = self.current ? self.current.opts.loop : self.opts.loop;
|
1070 |
+
|
1071 |
+
if (!loop && (pos < 0 || pos >= groupLen)) {
|
1072 |
+
return false;
|
1073 |
+
}
|
1074 |
+
|
1075 |
+
// Check if opening for the first time; this helps to speed things up
|
1076 |
+
firstRun = self.firstRun = !Object.keys(self.slides).length;
|
1077 |
+
|
1078 |
+
// Create slides
|
1079 |
+
previous = self.current;
|
1080 |
+
|
1081 |
+
self.prevIndex = self.currIndex;
|
1082 |
+
self.prevPos = self.currPos;
|
1083 |
+
|
1084 |
+
current = self.createSlide(pos);
|
1085 |
+
|
1086 |
+
if (groupLen > 1) {
|
1087 |
+
if (loop || current.index < groupLen - 1) {
|
1088 |
+
self.createSlide(pos + 1);
|
1089 |
+
}
|
1090 |
+
|
1091 |
+
if (loop || current.index > 0) {
|
1092 |
+
self.createSlide(pos - 1);
|
1093 |
+
}
|
1094 |
+
}
|
1095 |
+
|
1096 |
+
self.current = current;
|
1097 |
+
self.currIndex = current.index;
|
1098 |
+
self.currPos = current.pos;
|
1099 |
+
|
1100 |
+
self.trigger("beforeShow", firstRun);
|
1101 |
+
|
1102 |
+
self.updateControls();
|
1103 |
+
|
1104 |
+
// Validate duration length
|
1105 |
+
current.forcedDuration = undefined;
|
1106 |
+
|
1107 |
+
if ($.isNumeric(duration)) {
|
1108 |
+
current.forcedDuration = duration;
|
1109 |
+
} else {
|
1110 |
+
duration = current.opts[firstRun ? "animationDuration" : "transitionDuration"];
|
1111 |
+
}
|
1112 |
+
|
1113 |
+
duration = parseInt(duration, 10);
|
1114 |
+
|
1115 |
+
// Check if user has swiped the slides or if still animating
|
1116 |
+
isMoved = self.isMoved(current);
|
1117 |
+
|
1118 |
+
// Make sure current slide is visible
|
1119 |
+
current.$slide.addClass("fancybox-slide--current");
|
1120 |
+
|
1121 |
+
// Fresh start - reveal container, current slide and start loading content
|
1122 |
+
if (firstRun) {
|
1123 |
+
if (current.opts.animationEffect && duration) {
|
1124 |
+
self.$refs.container.css("transition-duration", duration + "ms");
|
1125 |
+
}
|
1126 |
+
|
1127 |
+
self.$refs.container.addClass("fancybox-is-open").trigger("focus");
|
1128 |
+
|
1129 |
+
// Attempt to load content into slide
|
1130 |
+
// This will later call `afterLoad` -> `revealContent`
|
1131 |
+
self.loadSlide(current);
|
1132 |
+
|
1133 |
+
self.preload("image");
|
1134 |
+
|
1135 |
+
return;
|
1136 |
+
}
|
1137 |
+
|
1138 |
+
// Get actual slide/stage positions (before cleaning up)
|
1139 |
+
slidePos = $.fancybox.getTranslate(previous.$slide);
|
1140 |
+
stagePos = $.fancybox.getTranslate(self.$refs.stage);
|
1141 |
+
|
1142 |
+
// Clean up all slides
|
1143 |
+
$.each(self.slides, function(index, slide) {
|
1144 |
+
$.fancybox.stop(slide.$slide, true);
|
1145 |
+
});
|
1146 |
+
|
1147 |
+
if (previous.pos !== current.pos) {
|
1148 |
+
previous.isComplete = false;
|
1149 |
+
}
|
1150 |
+
|
1151 |
+
previous.$slide.removeClass("fancybox-slide--complete fancybox-slide--current");
|
1152 |
+
|
1153 |
+
// If slides are out of place, then animate them to correct position
|
1154 |
+
if (isMoved) {
|
1155 |
+
// Calculate horizontal swipe distance
|
1156 |
+
diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter);
|
1157 |
+
|
1158 |
+
$.each(self.slides, function(index, slide) {
|
1159 |
+
slide.$slide.removeClass("fancybox-animated").removeClass(function(index, className) {
|
1160 |
+
return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
|
1161 |
+
});
|
1162 |
+
|
1163 |
+
// Make sure that each slide is in equal distance
|
1164 |
+
// This is mostly needed for freshly added slides, because they are not yet positioned
|
1165 |
+
var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter;
|
1166 |
+
|
1167 |
+
$.fancybox.setTranslate(slide.$slide, {top: 0, left: leftPos - stagePos.left + diff});
|
1168 |
+
|
1169 |
+
if (slide.pos !== current.pos) {
|
1170 |
+
slide.$slide.addClass("fancybox-slide--" + (slide.pos > current.pos ? "next" : "previous"));
|
1171 |
+
}
|
1172 |
+
|
1173 |
+
// Redraw to make sure that transition will start
|
1174 |
+
forceRedraw(slide.$slide);
|
1175 |
+
|
1176 |
+
// Animate the slide
|
1177 |
+
$.fancybox.animate(
|
1178 |
+
slide.$slide,
|
1179 |
+
{
|
1180 |
+
top: 0,
|
1181 |
+
left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter
|
1182 |
+
},
|
1183 |
+
duration,
|
1184 |
+
function() {
|
1185 |
+
slide.$slide
|
1186 |
+
.css({
|
1187 |
+
transform: "",
|
1188 |
+
opacity: ""
|
1189 |
+
})
|
1190 |
+
.removeClass("fancybox-slide--next fancybox-slide--previous");
|
1191 |
+
|
1192 |
+
if (slide.pos === self.currPos) {
|
1193 |
+
self.complete();
|
1194 |
+
}
|
1195 |
+
}
|
1196 |
+
);
|
1197 |
+
});
|
1198 |
+
} else if (duration && current.opts.transitionEffect) {
|
1199 |
+
// Set transition effect for previously active slide
|
1200 |
+
prop = "fancybox-animated fancybox-fx-" + current.opts.transitionEffect;
|
1201 |
+
|
1202 |
+
previous.$slide.addClass("fancybox-slide--" + (previous.pos > current.pos ? "next" : "previous"));
|
1203 |
+
|
1204 |
+
$.fancybox.animate(
|
1205 |
+
previous.$slide,
|
1206 |
+
prop,
|
1207 |
+
duration,
|
1208 |
+
function() {
|
1209 |
+
previous.$slide.removeClass(prop).removeClass("fancybox-slide--next fancybox-slide--previous");
|
1210 |
+
},
|
1211 |
+
false
|
1212 |
+
);
|
1213 |
+
}
|
1214 |
+
|
1215 |
+
if (current.isLoaded) {
|
1216 |
+
self.revealContent(current);
|
1217 |
+
} else {
|
1218 |
+
self.loadSlide(current);
|
1219 |
+
}
|
1220 |
+
|
1221 |
+
self.preload("image");
|
1222 |
+
},
|
1223 |
+
|
1224 |
+
// Create new "slide" element
|
1225 |
+
// These are gallery items that are actually added to DOM
|
1226 |
+
// =======================================================
|
1227 |
+
|
1228 |
+
createSlide: function(pos) {
|
1229 |
+
var self = this,
|
1230 |
+
$slide,
|
1231 |
+
index;
|
1232 |
+
|
1233 |
+
index = pos % self.group.length;
|
1234 |
+
index = index < 0 ? self.group.length + index : index;
|
1235 |
+
|
1236 |
+
if (!self.slides[pos] && self.group[index]) {
|
1237 |
+
$slide = $('<div class="fancybox-slide"></div>').appendTo(self.$refs.stage);
|
1238 |
+
|
1239 |
+
self.slides[pos] = $.extend(true, {}, self.group[index], {
|
1240 |
+
pos: pos,
|
1241 |
+
$slide: $slide,
|
1242 |
+
isLoaded: false
|
1243 |
+
});
|
1244 |
+
|
1245 |
+
self.updateSlide(self.slides[pos]);
|
1246 |
+
}
|
1247 |
+
|
1248 |
+
return self.slides[pos];
|
1249 |
+
},
|
1250 |
+
|
1251 |
+
// Scale image to the actual size of the image;
|
1252 |
+
// x and y values should be relative to the slide
|
1253 |
+
// ==============================================
|
1254 |
+
|
1255 |
+
scaleToActual: function(x, y, duration) {
|
1256 |
+
var self = this,
|
1257 |
+
current = self.current,
|
1258 |
+
$content = current.$content,
|
1259 |
+
canvasWidth = $.fancybox.getTranslate(current.$slide).width,
|
1260 |
+
canvasHeight = $.fancybox.getTranslate(current.$slide).height,
|
1261 |
+
newImgWidth = current.width,
|
1262 |
+
newImgHeight = current.height,
|
1263 |
+
imgPos,
|
1264 |
+
posX,
|
1265 |
+
posY,
|
1266 |
+
scaleX,
|
1267 |
+
scaleY;
|
1268 |
+
|
1269 |
+
if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) {
|
1270 |
+
return;
|
1271 |
+
}
|
1272 |
+
|
1273 |
+
self.isAnimating = true;
|
1274 |
+
|
1275 |
+
$.fancybox.stop($content);
|
1276 |
+
|
1277 |
+
x = x === undefined ? canvasWidth * 0.5 : x;
|
1278 |
+
y = y === undefined ? canvasHeight * 0.5 : y;
|
1279 |
+
|
1280 |
+
imgPos = $.fancybox.getTranslate($content);
|
1281 |
+
|
1282 |
+
imgPos.top -= $.fancybox.getTranslate(current.$slide).top;
|
1283 |
+
imgPos.left -= $.fancybox.getTranslate(current.$slide).left;
|
1284 |
+
|
1285 |
+
scaleX = newImgWidth / imgPos.width;
|
1286 |
+
scaleY = newImgHeight / imgPos.height;
|
1287 |
+
|
1288 |
+
// Get center position for original image
|
1289 |
+
posX = canvasWidth * 0.5 - newImgWidth * 0.5;
|
1290 |
+
posY = canvasHeight * 0.5 - newImgHeight * 0.5;
|
1291 |
+
|
1292 |
+
// Make sure image does not move away from edges
|
1293 |
+
if (newImgWidth > canvasWidth) {
|
1294 |
+
posX = imgPos.left * scaleX - (x * scaleX - x);
|
1295 |
+
|
1296 |
+
if (posX > 0) {
|
1297 |
+
posX = 0;
|
1298 |
+
}
|
1299 |
+
|
1300 |
+
if (posX < canvasWidth - newImgWidth) {
|
1301 |
+
posX = canvasWidth - newImgWidth;
|
1302 |
+
}
|
1303 |
+
}
|
1304 |
+
|
1305 |
+
if (newImgHeight > canvasHeight) {
|
1306 |
+
posY = imgPos.top * scaleY - (y * scaleY - y);
|
1307 |
+
|
1308 |
+
if (posY > 0) {
|
1309 |
+
posY = 0;
|
1310 |
+
}
|
1311 |
+
|
1312 |
+
if (posY < canvasHeight - newImgHeight) {
|
1313 |
+
posY = canvasHeight - newImgHeight;
|
1314 |
+
}
|
1315 |
+
}
|
1316 |
+
|
1317 |
+
self.updateCursor(newImgWidth, newImgHeight);
|
1318 |
+
|
1319 |
+
$.fancybox.animate(
|
1320 |
+
$content,
|
1321 |
+
{
|
1322 |
+
top: posY,
|
1323 |
+
left: posX,
|
1324 |
+
scaleX: scaleX,
|
1325 |
+
scaleY: scaleY
|
1326 |
+
},
|
1327 |
+
duration || 330,
|
1328 |
+
function() {
|
1329 |
+
self.isAnimating = false;
|
1330 |
+
}
|
1331 |
+
);
|
1332 |
+
|
1333 |
+
// Stop slideshow
|
1334 |
+
if (self.SlideShow && self.SlideShow.isActive) {
|
1335 |
+
self.SlideShow.stop();
|
1336 |
+
}
|
1337 |
+
},
|
1338 |
+
|
1339 |
+
// Scale image to fit inside parent element
|
1340 |
+
// ========================================
|
1341 |
+
|
1342 |
+
scaleToFit: function(duration) {
|
1343 |
+
var self = this,
|
1344 |
+
current = self.current,
|
1345 |
+
$content = current.$content,
|
1346 |
+
end;
|
1347 |
+
|
1348 |
+
if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) {
|
1349 |
+
return;
|
1350 |
+
}
|
1351 |
+
|
1352 |
+
self.isAnimating = true;
|
1353 |
+
|
1354 |
+
$.fancybox.stop($content);
|
1355 |
+
|
1356 |
+
end = self.getFitPos(current);
|
1357 |
+
|
1358 |
+
self.updateCursor(end.width, end.height);
|
1359 |
+
|
1360 |
+
$.fancybox.animate(
|
1361 |
+
$content,
|
1362 |
+
{
|
1363 |
+
top: end.top,
|
1364 |
+
left: end.left,
|
1365 |
+
scaleX: end.width / $content.width(),
|
1366 |
+
scaleY: end.height / $content.height()
|
1367 |
+
},
|
1368 |
+
duration || 330,
|
1369 |
+
function() {
|
1370 |
+
self.isAnimating = false;
|
1371 |
+
}
|
1372 |
+
);
|
1373 |
+
},
|
1374 |
+
|
1375 |
+
// Calculate image size to fit inside viewport
|
1376 |
+
// ===========================================
|
1377 |
+
|
1378 |
+
getFitPos: function(slide) {
|
1379 |
+
var self = this,
|
1380 |
+
$content = slide.$content,
|
1381 |
+
$slide = slide.$slide,
|
1382 |
+
width = slide.width || slide.opts.width,
|
1383 |
+
height = slide.height || slide.opts.height,
|
1384 |
+
maxWidth,
|
1385 |
+
maxHeight,
|
1386 |
+
minRatio,
|
1387 |
+
aspectRatio,
|
1388 |
+
rez = {};
|
1389 |
+
|
1390 |
+
if (!slide.isLoaded || !$content || !$content.length) {
|
1391 |
+
return false;
|
1392 |
+
}
|
1393 |
+
|
1394 |
+
maxWidth = $.fancybox.getTranslate(self.$refs.stage).width;
|
1395 |
+
maxHeight = $.fancybox.getTranslate(self.$refs.stage).height;
|
1396 |
+
|
1397 |
+
maxWidth -=
|
1398 |
+
parseFloat($slide.css("paddingLeft")) +
|
1399 |
+
parseFloat($slide.css("paddingRight")) +
|
1400 |
+
parseFloat($content.css("marginLeft")) +
|
1401 |
+
parseFloat($content.css("marginRight"));
|
1402 |
+
|
1403 |
+
maxHeight -=
|
1404 |
+
parseFloat($slide.css("paddingTop")) +
|
1405 |
+
parseFloat($slide.css("paddingBottom")) +
|
1406 |
+
parseFloat($content.css("marginTop")) +
|
1407 |
+
parseFloat($content.css("marginBottom"));
|
1408 |
+
|
1409 |
+
if (!width || !height) {
|
1410 |
+
width = maxWidth;
|
1411 |
+
height = maxHeight;
|
1412 |
+
}
|
1413 |
+
|
1414 |
+
minRatio = Math.min(1, maxWidth / width, maxHeight / height);
|
1415 |
+
|
1416 |
+
width = minRatio * width;
|
1417 |
+
height = minRatio * height;
|
1418 |
+
|
1419 |
+
// Adjust width/height to precisely fit into container
|
1420 |
+
if (width > maxWidth - 0.5) {
|
1421 |
+
width = maxWidth;
|
1422 |
+
}
|
1423 |
+
|
1424 |
+
if (height > maxHeight - 0.5) {
|
1425 |
+
height = maxHeight;
|
1426 |
+
}
|
1427 |
+
|
1428 |
+
if (slide.type === "image") {
|
1429 |
+
rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css("paddingTop"));
|
1430 |
+
rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css("paddingLeft"));
|
1431 |
+
} else if (slide.contentType === "video") {
|
1432 |
+
// Force aspect ratio for the video
|
1433 |
+
// "I say the whole world must learn of our peaceful ways… by force!"
|
1434 |
+
aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9;
|
1435 |
+
|
1436 |
+
if (height > width / aspectRatio) {
|
1437 |
+
height = width / aspectRatio;
|
1438 |
+
} else if (width > height * aspectRatio) {
|
1439 |
+
width = height * aspectRatio;
|
1440 |
+
}
|
1441 |
+
}
|
1442 |
+
|
1443 |
+
rez.width = width;
|
1444 |
+
rez.height = height;
|
1445 |
+
|
1446 |
+
return rez;
|
1447 |
+
},
|
1448 |
+
|
1449 |
+
// Update content size and position for all slides
|
1450 |
+
// ==============================================
|
1451 |
+
|
1452 |
+
update: function(e) {
|
1453 |
+
var self = this;
|
1454 |
+
|
1455 |
+
$.each(self.slides, function(key, slide) {
|
1456 |
+
self.updateSlide(slide, e);
|
1457 |
+
});
|
1458 |
+
},
|
1459 |
+
|
1460 |
+
// Update slide content position and size
|
1461 |
+
// ======================================
|
1462 |
+
|
1463 |
+
updateSlide: function(slide, e) {
|
1464 |
+
var self = this,
|
1465 |
+
$content = slide && slide.$content,
|
1466 |
+
width = slide.width || slide.opts.width,
|
1467 |
+
height = slide.height || slide.opts.height,
|
1468 |
+
$slide = slide.$slide;
|
1469 |
+
|
1470 |
+
// First, prevent caption overlap, if needed
|
1471 |
+
self.adjustCaption(slide);
|
1472 |
+
|
1473 |
+
// Then resize content to fit inside the slide
|
1474 |
+
if ($content && (width || height || slide.contentType === "video") && !slide.hasError) {
|
1475 |
+
$.fancybox.stop($content);
|
1476 |
+
|
1477 |
+
$.fancybox.setTranslate($content, self.getFitPos(slide));
|
1478 |
+
|
1479 |
+
if (slide.pos === self.currPos) {
|
1480 |
+
self.isAnimating = false;
|
1481 |
+
|
1482 |
+
self.updateCursor();
|
1483 |
+
}
|
1484 |
+
}
|
1485 |
+
|
1486 |
+
// Then some adjustments
|
1487 |
+
self.adjustLayout(slide);
|
1488 |
+
|
1489 |
+
if ($slide.length) {
|
1490 |
+
$slide.trigger("refresh");
|
1491 |
+
|
1492 |
+
if (slide.pos === self.currPos) {
|
1493 |
+
self.$refs.toolbar
|
1494 |
+
.add(self.$refs.navigation.find(".fancybox-button--arrow_right"))
|
1495 |
+
.toggleClass("compensate-for-scrollbar", $slide.get(0).scrollHeight > $slide.get(0).clientHeight);
|
1496 |
+
}
|
1497 |
+
}
|
1498 |
+
|
1499 |
+
self.trigger("onUpdate", slide, e);
|
1500 |
+
},
|
1501 |
+
|
1502 |
+
// Horizontally center slide
|
1503 |
+
// =========================
|
1504 |
+
|
1505 |
+
centerSlide: function(duration) {
|
1506 |
+
var self = this,
|
1507 |
+
current = self.current,
|
1508 |
+
$slide = current.$slide;
|
1509 |
+
|
1510 |
+
if (self.isClosing || !current) {
|
1511 |
+
return;
|
1512 |
+
}
|
1513 |
+
|
1514 |
+
$slide.siblings().css({
|
1515 |
+
transform: "",
|
1516 |
+
opacity: ""
|
1517 |
+
});
|
1518 |
+
|
1519 |
+
$slide
|
1520 |
+
.parent()
|
1521 |
+
.children()
|
1522 |
+
.removeClass("fancybox-slide--previous fancybox-slide--next");
|
1523 |
+
|
1524 |
+
$.fancybox.animate(
|
1525 |
+
$slide,
|
1526 |
+
{
|
1527 |
+
top: 0,
|
1528 |
+
left: 0,
|
1529 |
+
opacity: 1
|
1530 |
+
},
|
1531 |
+
duration === undefined ? 0 : duration,
|
1532 |
+
function() {
|
1533 |
+
// Clean up
|
1534 |
+
$slide.css({
|
1535 |
+
transform: "",
|
1536 |
+
opacity: ""
|
1537 |
+
});
|
1538 |
+
|
1539 |
+
if (!current.isComplete) {
|
1540 |
+
self.complete();
|
1541 |
+
}
|
1542 |
+
},
|
1543 |
+
false
|
1544 |
+
);
|
1545 |
+
},
|
1546 |
+
|
1547 |
+
// Check if current slide is moved (swiped)
|
1548 |
+
// ========================================
|
1549 |
+
|
1550 |
+
isMoved: function(slide) {
|
1551 |
+
var current = slide || this.current,
|
1552 |
+
slidePos,
|
1553 |
+
stagePos;
|
1554 |
+
|
1555 |
+
if (!current) {
|
1556 |
+
return false;
|
1557 |
+
}
|
1558 |
+
|
1559 |
+
stagePos = $.fancybox.getTranslate(this.$refs.stage);
|
1560 |
+
slidePos = $.fancybox.getTranslate(current.$slide);
|
1561 |
+
|
1562 |
+
return (
|
1563 |
+
!current.$slide.hasClass("fancybox-animated") &&
|
1564 |
+
(Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5)
|
1565 |
+
);
|
1566 |
+
},
|
1567 |
+
|
1568 |
+
// Update cursor style depending if content can be zoomed
|
1569 |
+
// ======================================================
|
1570 |
+
|
1571 |
+
updateCursor: function(nextWidth, nextHeight) {
|
1572 |
+
var self = this,
|
1573 |
+
current = self.current,
|
1574 |
+
$container = self.$refs.container,
|
1575 |
+
canPan,
|
1576 |
+
isZoomable;
|
1577 |
+
|
1578 |
+
if (!current || self.isClosing || !self.Guestures) {
|
1579 |
+
return;
|
1580 |
+
}
|
1581 |
+
|
1582 |
+
$container.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan");
|
1583 |
+
|
1584 |
+
canPan = self.canPan(nextWidth, nextHeight);
|
1585 |
+
|
1586 |
+
isZoomable = canPan ? true : self.isZoomable();
|
1587 |
+
|
1588 |
+
$container.toggleClass("fancybox-is-zoomable", isZoomable);
|
1589 |
+
|
1590 |
+
$("[data-fancybox-zoom]").prop("disabled", !isZoomable);
|
1591 |
+
|
1592 |
+
if (canPan) {
|
1593 |
+
$container.addClass("fancybox-can-pan");
|
1594 |
+
} else if (
|
1595 |
+
isZoomable &&
|
1596 |
+
(current.opts.clickContent === "zoom" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == "zoom"))
|
1597 |
+
) {
|
1598 |
+
$container.addClass("fancybox-can-zoomIn");
|
1599 |
+
} else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== "video") {
|
1600 |
+
$container.addClass("fancybox-can-swipe");
|
1601 |
+
}
|
1602 |
+
},
|
1603 |
+
|
1604 |
+
// Check if current slide is zoomable
|
1605 |
+
// ==================================
|
1606 |
+
|
1607 |
+
isZoomable: function() {
|
1608 |
+
var self = this,
|
1609 |
+
current = self.current,
|
1610 |
+
fitPos;
|
1611 |
+
|
1612 |
+
// Assume that slide is zoomable if:
|
1613 |
+
// - image is still loading
|
1614 |
+
// - actual size of the image is smaller than available area
|
1615 |
+
if (current && !self.isClosing && current.type === "image" && !current.hasError) {
|
1616 |
+
if (!current.isLoaded) {
|
1617 |
+
return true;
|
1618 |
+
}
|
1619 |
+
|
1620 |
+
fitPos = self.getFitPos(current);
|
1621 |
+
|
1622 |
+
if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) {
|
1623 |
+
return true;
|
1624 |
+
}
|
1625 |
+
}
|
1626 |
+
|
1627 |
+
return false;
|
1628 |
+
},
|
1629 |
+
|
1630 |
+
// Check if current image dimensions are smaller than actual
|
1631 |
+
// =========================================================
|
1632 |
+
|
1633 |
+
isScaledDown: function(nextWidth, nextHeight) {
|
1634 |
+
var self = this,
|
1635 |
+
rez = false,
|
1636 |
+
current = self.current,
|
1637 |
+
$content = current.$content;
|
1638 |
+
|
1639 |
+
if (nextWidth !== undefined && nextHeight !== undefined) {
|
1640 |
+
rez = nextWidth < current.width && nextHeight < current.height;
|
1641 |
+
} else if ($content) {
|
1642 |
+
rez = $.fancybox.getTranslate($content);
|
1643 |
+
rez = rez.width < current.width && rez.height < current.height;
|
1644 |
+
}
|
1645 |
+
|
1646 |
+
return rez;
|
1647 |
+
},
|
1648 |
+
|
1649 |
+
// Check if image dimensions exceed parent element
|
1650 |
+
// ===============================================
|
1651 |
+
|
1652 |
+
canPan: function(nextWidth, nextHeight) {
|
1653 |
+
var self = this,
|
1654 |
+
current = self.current,
|
1655 |
+
pos = null,
|
1656 |
+
rez = false;
|
1657 |
+
|
1658 |
+
if (current.type === "image" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) {
|
1659 |
+
rez = self.getFitPos(current);
|
1660 |
+
|
1661 |
+
if (nextWidth !== undefined && nextHeight !== undefined) {
|
1662 |
+
pos = {width: nextWidth, height: nextHeight};
|
1663 |
+
} else if (current.isComplete) {
|
1664 |
+
pos = $.fancybox.getTranslate(current.$content);
|
1665 |
+
}
|
1666 |
+
|
1667 |
+
if (pos && rez) {
|
1668 |
+
rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5;
|
1669 |
+
}
|
1670 |
+
}
|
1671 |
+
|
1672 |
+
return rez;
|
1673 |
+
},
|
1674 |
+
|
1675 |
+
// Load content into the slide
|
1676 |
+
// ===========================
|
1677 |
+
|
1678 |
+
loadSlide: function(slide) {
|
1679 |
+
var self = this,
|
1680 |
+
type,
|
1681 |
+
$slide,
|
1682 |
+
ajaxLoad;
|
1683 |
+
|
1684 |
+
if (slide.isLoading || slide.isLoaded) {
|
1685 |
+
return;
|
1686 |
+
}
|
1687 |
+
|
1688 |
+
slide.isLoading = true;
|
1689 |
+
|
1690 |
+
if (self.trigger("beforeLoad", slide) === false) {
|
1691 |
+
slide.isLoading = false;
|
1692 |
+
|
1693 |
+
return false;
|
1694 |
+
}
|
1695 |
+
|
1696 |
+
type = slide.type;
|
1697 |
+
$slide = slide.$slide;
|
1698 |
+
|
1699 |
+
$slide
|
1700 |
+
.off("refresh")
|
1701 |
+
.trigger("onReset")
|
1702 |
+
.addClass(slide.opts.slideClass);
|
1703 |
+
|
1704 |
+
// Create content depending on the type
|
1705 |
+
switch (type) {
|
1706 |
+
case "image":
|
1707 |
+
self.setImage(slide);
|
1708 |
+
|
1709 |
+
break;
|
1710 |
+
|
1711 |
+
case "iframe":
|
1712 |
+
self.setIframe(slide);
|
1713 |
+
|
1714 |
+
break;
|
1715 |
+
|
1716 |
+
case "html":
|
1717 |
+
self.setContent(slide, slide.src || slide.content);
|
1718 |
+
|
1719 |
+
break;
|
1720 |
+
|
1721 |
+
case "video":
|
1722 |
+
self.setContent(
|
1723 |
+
slide,
|
1724 |
+
slide.opts.video.tpl
|
1725 |
+
.replace(/\{\{src\}\}/gi, slide.src)
|
1726 |
+
.replace("{{format}}", slide.opts.videoFormat || slide.opts.video.format || "")
|
1727 |
+
.replace("{{poster}}", slide.thumb || "")
|
1728 |
+
);
|
1729 |
+
|
1730 |
+
break;
|
1731 |
+
|
1732 |
+
case "inline":
|
1733 |
+
if ($(slide.src).length) {
|
1734 |
+
self.setContent(slide, $(slide.src));
|
1735 |
+
} else {
|
1736 |
+
self.setError(slide);
|
1737 |
+
}
|
1738 |
+
|
1739 |
+
break;
|
1740 |
+
|
1741 |
+
case "ajax":
|
1742 |
+
self.showLoading(slide);
|
1743 |
+
|
1744 |
+
ajaxLoad = $.ajax(
|
1745 |
+
$.extend({}, slide.opts.ajax.settings, {
|
1746 |
+
url: slide.src,
|
1747 |
+
success: function(data, textStatus) {
|
1748 |
+
if (textStatus === "success") {
|
1749 |
+
self.setContent(slide, data);
|
1750 |
+
}
|
1751 |
+
},
|
1752 |
+
error: function(jqXHR, textStatus) {
|
1753 |
+
if (jqXHR && textStatus !== "abort") {
|
1754 |
+
self.setError(slide);
|
1755 |
+
}
|
1756 |
+
}
|
1757 |
+
})
|
1758 |
+
);
|
1759 |
+
|
1760 |
+
$slide.one("onReset", function() {
|
1761 |
+
ajaxLoad.abort();
|
1762 |
+
});
|
1763 |
+
|
1764 |
+
break;
|
1765 |
+
|
1766 |
+
default:
|
1767 |
+
self.setError(slide);
|
1768 |
+
|
1769 |
+
break;
|
1770 |
+
}
|
1771 |
+
|
1772 |
+
return true;
|
1773 |
+
},
|
1774 |
+
|
1775 |
+
// Use thumbnail image, if possible
|
1776 |
+
// ================================
|
1777 |
+
|
1778 |
+
setImage: function(slide) {
|
1779 |
+
var self = this,
|
1780 |
+
ghost;
|
1781 |
+
|
1782 |
+
// Check if need to show loading icon
|
1783 |
+
requestAFrame(function() {
|
1784 |
+
requestAFrame(function() {
|
1785 |
+
var $img = slide.$image;
|
1786 |
+
|
1787 |
+
if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) {
|
1788 |
+
self.showLoading(slide);
|
1789 |
+
}
|
1790 |
+
});
|
1791 |
+
});
|
1792 |
+
|
1793 |
+
//Check if image has srcset
|
1794 |
+
self.checkSrcset(slide);
|
1795 |
+
|
1796 |
+
// This will be wrapper containing both ghost and actual image
|
1797 |
+
slide.$content = $('<div class="fancybox-content"></div>')
|
1798 |
+
.addClass("fancybox-is-hidden")
|
1799 |
+
.appendTo(slide.$slide.addClass("fancybox-slide--image"));
|
1800 |
+
|
1801 |
+
// If we have a thumbnail, we can display it while actual image is loading
|
1802 |
+
// Users will not stare at black screen and actual image will appear gradually
|
1803 |
+
if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) {
|
1804 |
+
slide.width = slide.opts.width;
|
1805 |
+
slide.height = slide.opts.height;
|
1806 |
+
|
1807 |
+
ghost = document.createElement("img");
|
1808 |
+
|
1809 |
+
ghost.onerror = function() {
|
1810 |
+
$(this).remove();
|
1811 |
+
|
1812 |
+
slide.$ghost = null;
|
1813 |
+
};
|
1814 |
+
|
1815 |
+
ghost.onload = function() {
|
1816 |
+
self.afterLoad(slide);
|
1817 |
+
};
|
1818 |
+
|
1819 |
+
slide.$ghost = $(ghost)
|
1820 |
+
.addClass("fancybox-image")
|
1821 |
+
.appendTo(slide.$content)
|
1822 |
+
.attr("src", slide.thumb);
|
1823 |
+
}
|
1824 |
+
|
1825 |
+
// Start loading actual image
|
1826 |
+
self.setBigImage(slide);
|
1827 |
+
},
|
1828 |
+
|
1829 |
+
// Check if image has srcset and get the source
|
1830 |
+
// ============================================
|
1831 |
+
checkSrcset: function(slide) {
|
1832 |
+
var srcset = slide.opts.srcset || slide.opts.image.srcset,
|
1833 |
+
found,
|
1834 |
+
temp,
|
1835 |
+
pxRatio,
|
1836 |
+
windowWidth;
|
1837 |
+
|
1838 |
+
// If we have "srcset", then we need to find first matching "src" value.
|
1839 |
+
// This is necessary, because when you set an src attribute, the browser will preload the image
|
1840 |
+
// before any javascript or even CSS is applied.
|
1841 |
+
if (srcset) {
|
1842 |
+
pxRatio = window.devicePixelRatio || 1;
|
1843 |
+
windowWidth = window.innerWidth * pxRatio;
|
1844 |
+
|
1845 |
+
temp = srcset.split(",").map(function(el) {
|
1846 |
+
var ret = {};
|
1847 |
+
|
1848 |
+
el.trim()
|
1849 |
+
.split(/\s+/)
|
1850 |
+
.forEach(function(el, i) {
|
1851 |
+
var value = parseInt(el.substring(0, el.length - 1), 10);
|
1852 |
+
|
1853 |
+
if (i === 0) {
|
1854 |
+
return (ret.url = el);
|
1855 |
+
}
|
1856 |
+
|
1857 |
+
if (value) {
|
1858 |
+
ret.value = value;
|
1859 |
+
ret.postfix = el[el.length - 1];
|
1860 |
+
}
|
1861 |
+
});
|
1862 |
+
|
1863 |
+
return ret;
|
1864 |
+
});
|
1865 |
+
|
1866 |
+
// Sort by value
|
1867 |
+
temp.sort(function(a, b) {
|
1868 |
+
return a.value - b.value;
|
1869 |
+
});
|
1870 |
+
|
1871 |
+
// Ok, now we have an array of all srcset values
|
1872 |
+
for (var j = 0; j < temp.length; j++) {
|
1873 |
+
var el = temp[j];
|
1874 |
+
|
1875 |
+
if ((el.postfix === "w" && el.value >= windowWidth) || (el.postfix === "x" && el.value >= pxRatio)) {
|
1876 |
+
found = el;
|
1877 |
+
break;
|
1878 |
+
}
|
1879 |
+
}
|
1880 |
+
|
1881 |
+
// If not found, take the last one
|
1882 |
+
if (!found && temp.length) {
|
1883 |
+
found = temp[temp.length - 1];
|
1884 |
+
}
|
1885 |
+
|
1886 |
+
if (found) {
|
1887 |
+
slide.src = found.url;
|
1888 |
+
|
1889 |
+
// If we have default width/height values, we can calculate height for matching source
|
1890 |
+
if (slide.width && slide.height && found.postfix == "w") {
|
1891 |
+
slide.height = (slide.width / slide.height) * found.value;
|
1892 |
+
slide.width = found.value;
|
1893 |
+
}
|
1894 |
+
|
1895 |
+
slide.opts.srcset = srcset;
|
1896 |
+
}
|
1897 |
+
}
|
1898 |
+
},
|
1899 |
+
|
1900 |
+
// Create full-size image
|
1901 |
+
// ======================
|
1902 |
+
|
1903 |
+
setBigImage: function(slide) {
|
1904 |
+
var self = this,
|
1905 |
+
img = document.createElement("img"),
|
1906 |
+
$img = $(img);
|
1907 |
+
|
1908 |
+
slide.$image = $img
|
1909 |
+
.one("error", function() {
|
1910 |
+
self.setError(slide);
|
1911 |
+
})
|
1912 |
+
.one("load", function() {
|
1913 |
+
var sizes;
|
1914 |
+
|
1915 |
+
if (!slide.$ghost) {
|
1916 |
+
self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight);
|
1917 |
+
|
1918 |
+
self.afterLoad(slide);
|
1919 |
+
}
|
1920 |
+
|
1921 |
+
if (self.isClosing) {
|
1922 |
+
return;
|
1923 |
+
}
|
1924 |
+
|
1925 |
+
if (slide.opts.srcset) {
|
1926 |
+
sizes = slide.opts.sizes;
|
1927 |
+
|
1928 |
+
if (!sizes || sizes === "auto") {
|
1929 |
+
sizes =
|
1930 |
+
(slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? "100" : Math.round((slide.width / slide.height) * 100)) +
|
1931 |
+
"vw";
|
1932 |
+
}
|
1933 |
+
|
1934 |
+
$img.attr("sizes", sizes).attr("srcset", slide.opts.srcset);
|
1935 |
+
}
|
1936 |
+
|
1937 |
+
// Hide temporary image after some delay
|
1938 |
+
if (slide.$ghost) {
|
1939 |
+
setTimeout(function() {
|
1940 |
+
if (slide.$ghost && !self.isClosing) {
|
1941 |
+
slide.$ghost.hide();
|
1942 |
+
}
|
1943 |
+
}, Math.min(300, Math.max(1000, slide.height / 1600)));
|
1944 |
+
}
|
1945 |
+
|
1946 |
+
self.hideLoading(slide);
|
1947 |
+
})
|
1948 |
+
.addClass("fancybox-image")
|
1949 |
+
.attr("src", slide.src)
|
1950 |
+
.appendTo(slide.$content);
|
1951 |
+
|
1952 |
+
if ((img.complete || img.readyState == "complete") && $img.naturalWidth && $img.naturalHeight) {
|
1953 |
+
$img.trigger("load");
|
1954 |
+
} else if (img.error) {
|
1955 |
+
$img.trigger("error");
|
1956 |
+
}
|
1957 |
+
},
|
1958 |
+
|
1959 |
+
// Computes the slide size from image size and maxWidth/maxHeight
|
1960 |
+
// ==============================================================
|
1961 |
+
|
1962 |
+
resolveImageSlideSize: function(slide, imgWidth, imgHeight) {
|
1963 |
+
var maxWidth = parseInt(slide.opts.width, 10),
|
1964 |
+
maxHeight = parseInt(slide.opts.height, 10);
|
1965 |
+
|
1966 |
+
// Sets the default values from the image
|
1967 |
+
slide.width = imgWidth;
|
1968 |
+
slide.height = imgHeight;
|
1969 |
+
|
1970 |
+
if (maxWidth > 0) {
|
1971 |
+
slide.width = maxWidth;
|
1972 |
+
slide.height = Math.floor((maxWidth * imgHeight) / imgWidth);
|
1973 |
+
}
|
1974 |
+
|
1975 |
+
if (maxHeight > 0) {
|
1976 |
+
slide.width = Math.floor((maxHeight * imgWidth) / imgHeight);
|
1977 |
+
slide.height = maxHeight;
|
1978 |
+
}
|
1979 |
+
},
|
1980 |
+
|
1981 |
+
// Create iframe wrapper, iframe and bindings
|
1982 |
+
// ==========================================
|
1983 |
+
|
1984 |
+
setIframe: function(slide) {
|
1985 |
+
var self = this,
|
1986 |
+
opts = slide.opts.iframe,
|
1987 |
+
$slide = slide.$slide,
|
1988 |
+
$iframe;
|
1989 |
+
|
1990 |
+
// Fix responsive iframes on iOS (along with `position:absolute;` for iframe element)
|
1991 |
+
if ($.fancybox.isMobile) {
|
1992 |
+
opts.css.overflow = "scroll";
|
1993 |
+
}
|
1994 |
+
|
1995 |
+
slide.$content = $('<div class="fancybox-content' + (opts.preload ? " fancybox-is-hidden" : "") + '"></div>')
|
1996 |
+
.css(opts.css)
|
1997 |
+
.appendTo($slide);
|
1998 |
+
|
1999 |
+
$slide.addClass("fancybox-slide--" + slide.contentType);
|
2000 |
+
|
2001 |
+
slide.$iframe = $iframe = $(opts.tpl.replace(/\{rnd\}/g, new Date().getTime()))
|
2002 |
+
.attr(opts.attr)
|
2003 |
+
.appendTo(slide.$content);
|
2004 |
+
|
2005 |
+
if (opts.preload) {
|
2006 |
+
self.showLoading(slide);
|
2007 |
+
|
2008 |
+
// Unfortunately, it is not always possible to determine if iframe is successfully loaded
|
2009 |
+
// (due to browser security policy)
|
2010 |
+
|
2011 |
+
$iframe.on("load.fb error.fb", function(e) {
|
2012 |
+
this.isReady = 1;
|
2013 |
+
|
2014 |
+
slide.$slide.trigger("refresh");
|
2015 |
+
|
2016 |
+
self.afterLoad(slide);
|
2017 |
+
});
|
2018 |
+
|
2019 |
+
// Recalculate iframe content size
|
2020 |
+
// ===============================
|
2021 |
+
|
2022 |
+
$slide.on("refresh.fb", function() {
|
2023 |
+
var $content = slide.$content,
|
2024 |
+
frameWidth = opts.css.width,
|
2025 |
+
frameHeight = opts.css.height,
|
2026 |
+
$contents,
|
2027 |
+
$body;
|
2028 |
+
|
2029 |
+
if ($iframe[0].isReady !== 1) {
|
2030 |
+
return;
|
2031 |
+
}
|
2032 |
+
|
2033 |
+
try {
|
2034 |
+
$contents = $iframe.contents();
|
2035 |
+
$body = $contents.find("body");
|
2036 |
+
} catch (ignore) {}
|
2037 |
+
|
2038 |
+
// Calculate contnet dimensions if it is accessible
|
2039 |
+
if ($body && $body.length && $body.children().length) {
|
2040 |
+
// Avoid scrolling to top (if multiple instances)
|
2041 |
+
$slide.css("overflow", "visible");
|
2042 |
+
|
2043 |
+
$content.css({
|
2044 |
+
width: "100%",
|
2045 |
+
"max-width": "100%",
|
2046 |
+
height: "9999px"
|
2047 |
+
});
|
2048 |
+
|
2049 |
+
if (frameWidth === undefined) {
|
2050 |
+
frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true)));
|
2051 |
+
}
|
2052 |
+
|
2053 |
+
$content.css("width", frameWidth ? frameWidth : "").css("max-width", "");
|
2054 |
+
|
2055 |
+
if (frameHeight === undefined) {
|
2056 |
+
frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true)));
|
2057 |
+
}
|
2058 |
+
|
2059 |
+
$content.css("height", frameHeight ? frameHeight : "");
|
2060 |
+
|
2061 |
+
$slide.css("overflow", "auto");
|
2062 |
+
}
|
2063 |
+
|
2064 |
+
$content.removeClass("fancybox-is-hidden");
|
2065 |
+
});
|
2066 |
+
} else {
|
2067 |
+
self.afterLoad(slide);
|
2068 |
+
}
|
2069 |
+
|
2070 |
+
$iframe.attr("src", slide.src);
|
2071 |
+
|
2072 |
+
// Remove iframe if closing or changing gallery item
|
2073 |
+
$slide.one("onReset", function() {
|
2074 |
+
// This helps IE not to throw errors when closing
|
2075 |
+
try {
|
2076 |
+
$(this)
|
2077 |
+
.find("iframe")
|
2078 |
+
.hide()
|
2079 |
+
.unbind()
|
2080 |
+
.attr("src", "//about:blank");
|
2081 |
+
} catch (ignore) {}
|
2082 |
+
|
2083 |
+
$(this)
|
2084 |
+
.off("refresh.fb")
|
2085 |
+
.empty();
|
2086 |
+
|
2087 |
+
slide.isLoaded = false;
|
2088 |
+
slide.isRevealed = false;
|
2089 |
+
});
|
2090 |
+
},
|
2091 |
+
|
2092 |
+
// Wrap and append content to the slide
|
2093 |
+
// ======================================
|
2094 |
+
|
2095 |
+
setContent: function(slide, content) {
|
2096 |
+
var self = this;
|
2097 |
+
|
2098 |
+
if (self.isClosing) {
|
2099 |
+
return;
|
2100 |
+
}
|
2101 |
+
|
2102 |
+
self.hideLoading(slide);
|
2103 |
+
|
2104 |
+
if (slide.$content) {
|
2105 |
+
$.fancybox.stop(slide.$content);
|
2106 |
+
}
|
2107 |
+
|
2108 |
+
slide.$slide.empty();
|
2109 |
+
|
2110 |
+
// If content is a jQuery object, then it will be moved to the slide.
|
2111 |
+
// The placeholder is created so we will know where to put it back.
|
2112 |
+
if (isQuery(content) && content.parent().length) {
|
2113 |
+
// Make sure content is not already moved to fancyBox
|
2114 |
+
if (content.hasClass("fancybox-content")) {
|
2115 |
+
content.parent(".fancybox-slide--html").trigger("onReset");
|
2116 |
+
}
|
2117 |
+
|
2118 |
+
// Create temporary element marking original place of the content
|
2119 |
+
slide.$placeholder = $("<div>")
|
2120 |
+
.hide()
|
2121 |
+
.insertAfter(content);
|
2122 |
+
|
2123 |
+
// Make sure content is visible
|
2124 |
+
content.css("display", "inline-block");
|
2125 |
+
} else if (!slide.hasError) {
|
2126 |
+
// If content is just a plain text, try to convert it to html
|
2127 |
+
if ($.type(content) === "string") {
|
2128 |
+
content = $("<div>")
|
2129 |
+
.append($.trim(content))
|
2130 |
+
.contents();
|
2131 |
+
}
|
2132 |
+
|
2133 |
+
// If "filter" option is provided, then filter content
|
2134 |
+
if (slide.opts.filter) {
|
2135 |
+
content = $("<div>")
|
2136 |
+
.html(content)
|
2137 |
+
.find(slide.opts.filter);
|
2138 |
+
}
|
2139 |
+
}
|
2140 |
+
|
2141 |
+
slide.$slide.one("onReset", function() {
|
2142 |
+
// Pause all html5 video/audio
|
2143 |
+
$(this)
|
2144 |
+
.find("video,audio")
|
2145 |
+
.trigger("pause");
|
2146 |
+
|
2147 |
+
// Put content back
|
2148 |
+
if (slide.$placeholder) {
|
2149 |
+
slide.$placeholder.after(content.removeClass("fancybox-content").hide()).remove();
|
2150 |
+
|
2151 |
+
slide.$placeholder = null;
|
2152 |
+
}
|
2153 |
+
|
2154 |
+
// Remove custom close button
|
2155 |
+
if (slide.$smallBtn) {
|
2156 |
+
slide.$smallBtn.remove();
|
2157 |
+
|
2158 |
+
slide.$smallBtn = null;
|
2159 |
+
}
|
2160 |
+
|
2161 |
+
// Remove content and mark slide as not loaded
|
2162 |
+
if (!slide.hasError) {
|
2163 |
+
$(this).empty();
|
2164 |
+
|
2165 |
+
slide.isLoaded = false;
|
2166 |
+
slide.isRevealed = false;
|
2167 |
+
}
|
2168 |
+
});
|
2169 |
+
|
2170 |
+
$(content).appendTo(slide.$slide);
|
2171 |
+
|
2172 |
+
if ($(content).is("video,audio")) {
|
2173 |
+
$(content).addClass("fancybox-video");
|
2174 |
+
|
2175 |
+
$(content).wrap("<div></div>");
|
2176 |
+
|
2177 |
+
slide.contentType = "video";
|
2178 |
+
|
2179 |
+
slide.opts.width = slide.opts.width || $(content).attr("width");
|
2180 |
+
slide.opts.height = slide.opts.height || $(content).attr("height");
|
2181 |
+
}
|
2182 |
+
|
2183 |
+
slide.$content = slide.$slide
|
2184 |
+
.children()
|
2185 |
+
.filter("div,form,main,video,audio,article,.fancybox-content")
|
2186 |
+
.first();
|
2187 |
+
|
2188 |
+
slide.$content.siblings().hide();
|
2189 |
+
|
2190 |
+
// Re-check if there is a valid content
|
2191 |
+
// (in some cases, ajax response can contain various elements or plain text)
|
2192 |
+
if (!slide.$content.length) {
|
2193 |
+
slide.$content = slide.$slide
|
2194 |
+
.wrapInner("<div></div>")
|
2195 |
+
.children()
|
2196 |
+
.first();
|
2197 |
+
}
|
2198 |
+
|
2199 |
+
slide.$content.addClass("fancybox-content");
|
2200 |
+
|
2201 |
+
slide.$slide.addClass("fancybox-slide--" + slide.contentType);
|
2202 |
+
|
2203 |
+
self.afterLoad(slide);
|
2204 |
+
},
|
2205 |
+
|
2206 |
+
// Display error message
|
2207 |
+
// =====================
|
2208 |
+
|
2209 |
+
setError: function(slide) {
|
2210 |
+
slide.hasError = true;
|
2211 |
+
|
2212 |
+
slide.$slide
|
2213 |
+
.trigger("onReset")
|
2214 |
+
.removeClass("fancybox-slide--" + slide.contentType)
|
2215 |
+
.addClass("fancybox-slide--error");
|
2216 |
+
|
2217 |
+
slide.contentType = "html";
|
2218 |
+
|
2219 |
+
this.setContent(slide, this.translate(slide, slide.opts.errorTpl));
|
2220 |
+
|
2221 |
+
if (slide.pos === this.currPos) {
|
2222 |
+
this.isAnimating = false;
|
2223 |
+
}
|
2224 |
+
},
|
2225 |
+
|
2226 |
+
// Show loading icon inside the slide
|
2227 |
+
// ==================================
|
2228 |
+
|
2229 |
+
showLoading: function(slide) {
|
2230 |
+
var self = this;
|
2231 |
+
|
2232 |
+
slide = slide || self.current;
|
2233 |
+
|
2234 |
+
if (slide && !slide.$spinner) {
|
2235 |
+
slide.$spinner = $(self.translate(self, self.opts.spinnerTpl))
|
2236 |
+
.appendTo(slide.$slide)
|
2237 |
+
.hide()
|
2238 |
+
.fadeIn("fast");
|
2239 |
+
}
|
2240 |
+
},
|
2241 |
+
|
2242 |
+
// Remove loading icon from the slide
|
2243 |
+
// ==================================
|
2244 |
+
|
2245 |
+
hideLoading: function(slide) {
|
2246 |
+
var self = this;
|
2247 |
+
|
2248 |
+
slide = slide || self.current;
|
2249 |
+
|
2250 |
+
if (slide && slide.$spinner) {
|
2251 |
+
slide.$spinner.stop().remove();
|
2252 |
+
|
2253 |
+
delete slide.$spinner;
|
2254 |
+
}
|
2255 |
+
},
|
2256 |
+
|
2257 |
+
// Adjustments after slide content has been loaded
|
2258 |
+
// ===============================================
|
2259 |
+
|
2260 |
+
afterLoad: function(slide) {
|
2261 |
+
var self = this;
|
2262 |
+
|
2263 |
+
if (self.isClosing) {
|
2264 |
+
return;
|
2265 |
+
}
|
2266 |
+
|
2267 |
+
slide.isLoading = false;
|
2268 |
+
slide.isLoaded = true;
|
2269 |
+
|
2270 |
+
self.trigger("afterLoad", slide);
|
2271 |
+
|
2272 |
+
self.hideLoading(slide);
|
2273 |
+
|
2274 |
+
// Add small close button
|
2275 |
+
if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) {
|
2276 |
+
slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content);
|
2277 |
+
}
|
2278 |
+
|
2279 |
+
// Disable right click
|
2280 |
+
if (slide.opts.protect && slide.$content && !slide.hasError) {
|
2281 |
+
slide.$content.on("contextmenu.fb", function(e) {
|
2282 |
+
if (e.button == 2) {
|
2283 |
+
e.preventDefault();
|
2284 |
+
}
|
2285 |
+
|
2286 |
+
return true;
|
2287 |
+
});
|
2288 |
+
|
2289 |
+
// Add fake element on top of the image
|
2290 |
+
// This makes a bit harder for user to select image
|
2291 |
+
if (slide.type === "image") {
|
2292 |
+
$('<div class="fancybox-spaceball"></div>').appendTo(slide.$content);
|
2293 |
+
}
|
2294 |
+
}
|
2295 |
+
|
2296 |
+
self.adjustCaption(slide);
|
2297 |
+
|
2298 |
+
self.adjustLayout(slide);
|
2299 |
+
|
2300 |
+
if (slide.pos === self.currPos) {
|
2301 |
+
self.updateCursor();
|
2302 |
+
}
|
2303 |
+
|
2304 |
+
self.revealContent(slide);
|
2305 |
+
},
|
2306 |
+
|
2307 |
+
// Prevent caption overlap,
|
2308 |
+
// fix css inconsistency across browsers
|
2309 |
+
// =====================================
|
2310 |
+
|
2311 |
+
adjustCaption: function(slide) {
|
2312 |
+
var self = this,
|
2313 |
+
current = slide || self.current,
|
2314 |
+
caption = current.opts.caption,
|
2315 |
+
$caption = self.$refs.caption,
|
2316 |
+
captionH = false;
|
2317 |
+
|
2318 |
+
if (current.opts.preventCaptionOverlap && caption && caption.length) {
|
2319 |
+
if (current.pos !== self.currPos) {
|
2320 |
+
$caption = $caption
|
2321 |
+
.clone()
|
2322 |
+
.empty()
|
2323 |
+
.appendTo($caption.parent());
|
2324 |
+
|
2325 |
+
$caption.html(caption);
|
2326 |
+
|
2327 |
+
captionH = $caption.outerHeight(true);
|
2328 |
+
|
2329 |
+
$caption.empty().remove();
|
2330 |
+
} else if (self.$caption) {
|
2331 |
+
captionH = self.$caption.outerHeight(true);
|
2332 |
+
}
|
2333 |
+
|
2334 |
+
current.$slide.css("padding-bottom", captionH || "");
|
2335 |
+
}
|
2336 |
+
},
|
2337 |
+
|
2338 |
+
// Simple hack to fix inconsistency across browsers, described here (affects Edge, too):
|
2339 |
+
// https://bugzilla.mozilla.org/show_bug.cgi?id=748518
|
2340 |
+
// ====================================================================================
|
2341 |
+
|
2342 |
+
adjustLayout: function(slide) {
|
2343 |
+
var self = this,
|
2344 |
+
current = slide || self.current,
|
2345 |
+
scrollHeight,
|
2346 |
+
marginBottom,
|
2347 |
+
inlinePadding,
|
2348 |
+
actualPadding;
|
2349 |
+
|
2350 |
+
if (current.isLoaded && current.opts.disableLayoutFix !== true) {
|
2351 |
+
current.$content.css("margin-bottom", "");
|
2352 |
+
|
2353 |
+
// If we would always set margin-bottom for the content,
|
2354 |
+
// then it would potentially break vertical align
|
2355 |
+
if (current.$content.outerHeight() > current.$slide.height() + 0.5) {
|
2356 |
+
inlinePadding = current.$slide[0].style["padding-bottom"];
|
2357 |
+
actualPadding = current.$slide.css("padding-bottom");
|
2358 |
+
|
2359 |
+
if (parseFloat(actualPadding) > 0) {
|
2360 |
+
scrollHeight = current.$slide[0].scrollHeight;
|
2361 |
+
|
2362 |
+
current.$slide.css("padding-bottom", 0);
|
2363 |
+
|
2364 |
+
if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) {
|
2365 |
+
marginBottom = actualPadding;
|
2366 |
+
}
|
2367 |
+
|
2368 |
+
current.$slide.css("padding-bottom", inlinePadding);
|
2369 |
+
}
|
2370 |
+
}
|
2371 |
+
|
2372 |
+
current.$content.css("margin-bottom", marginBottom);
|
2373 |
+
}
|
2374 |
+
},
|
2375 |
+
|
2376 |
+
// Make content visible
|
2377 |
+
// This method is called right after content has been loaded or
|
2378 |
+
// user navigates gallery and transition should start
|
2379 |
+
// ============================================================
|
2380 |
+
|
2381 |
+
revealContent: function(slide) {
|
2382 |
+
var self = this,
|
2383 |
+
$slide = slide.$slide,
|
2384 |
+
end = false,
|
2385 |
+
start = false,
|
2386 |
+
isMoved = self.isMoved(slide),
|
2387 |
+
isRevealed = slide.isRevealed,
|
2388 |
+
effect,
|
2389 |
+
effectClassName,
|
2390 |
+
duration,
|
2391 |
+
opacity;
|
2392 |
+
|
2393 |
+
slide.isRevealed = true;
|
2394 |
+
|
2395 |
+
effect = slide.opts[self.firstRun ? "animationEffect" : "transitionEffect"];
|
2396 |
+
duration = slide.opts[self.firstRun ? "animationDuration" : "transitionDuration"];
|
2397 |
+
|
2398 |
+
duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10);
|
2399 |
+
|
2400 |
+
if (isMoved || slide.pos !== self.currPos || !duration) {
|
2401 |
+
effect = false;
|
2402 |
+
}
|
2403 |
+
|
2404 |
+
// Check if can zoom
|
2405 |
+
if (effect === "zoom") {
|
2406 |
+
if (slide.pos === self.currPos && duration && slide.type === "image" && !slide.hasError && (start = self.getThumbPos(slide))) {
|
2407 |
+
end = self.getFitPos(slide);
|
2408 |
+
} else {
|
2409 |
+
effect = "fade";
|
2410 |
+
}
|
2411 |
+
}
|
2412 |
+
|
2413 |
+
// Zoom animation
|
2414 |
+
// ==============
|
2415 |
+
if (effect === "zoom") {
|
2416 |
+
self.isAnimating = true;
|
2417 |
+
|
2418 |
+
end.scaleX = end.width / start.width;
|
2419 |
+
end.scaleY = end.height / start.height;
|
2420 |
+
|
2421 |
+
// Check if we need to animate opacity
|
2422 |
+
opacity = slide.opts.zoomOpacity;
|
2423 |
+
|
2424 |
+
if (opacity == "auto") {
|
2425 |
+
opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1;
|
2426 |
+
}
|
2427 |
+
|
2428 |
+
if (opacity) {
|
2429 |
+
start.opacity = 0.1;
|
2430 |
+
end.opacity = 1;
|
2431 |
+
}
|
2432 |
+
|
2433 |
+
// Draw image at start position
|
2434 |
+
$.fancybox.setTranslate(slide.$content.removeClass("fancybox-is-hidden"), start);
|
2435 |
+
|
2436 |
+
forceRedraw(slide.$content);
|
2437 |
+
|
2438 |
+
// Start animation
|
2439 |
+
$.fancybox.animate(slide.$content, end, duration, function() {
|
2440 |
+
self.isAnimating = false;
|
2441 |
+
|
2442 |
+
self.complete();
|
2443 |
+
});
|
2444 |
+
|
2445 |
+
return;
|
2446 |
+
}
|
2447 |
+
|
2448 |
+
self.updateSlide(slide);
|
2449 |
+
|
2450 |
+
// Simply show content if no effect
|
2451 |
+
// ================================
|
2452 |
+
if (!effect) {
|
2453 |
+
slide.$content.removeClass("fancybox-is-hidden");
|
2454 |
+
|
2455 |
+
if (!isRevealed && isMoved && slide.type === "image" && !slide.hasError) {
|
2456 |
+
slide.$content.hide().fadeIn("fast");
|
2457 |
+
}
|
2458 |
+
|
2459 |
+
if (slide.pos === self.currPos) {
|
2460 |
+
self.complete();
|
2461 |
+
}
|
2462 |
+
|
2463 |
+
return;
|
2464 |
+
}
|
2465 |
+
|
2466 |
+
// Prepare for CSS transiton
|
2467 |
+
// =========================
|
2468 |
+
$.fancybox.stop($slide);
|
2469 |
+
|
2470 |
+
//effectClassName = "fancybox-animated fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-fx-" + effect;
|
2471 |
+
effectClassName = "fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-animated fancybox-fx-" + effect;
|
2472 |
+
|
2473 |
+
$slide.addClass(effectClassName).removeClass("fancybox-slide--current"); //.addClass(effectClassName);
|
2474 |
+
|
2475 |
+
slide.$content.removeClass("fancybox-is-hidden");
|
2476 |
+
|
2477 |
+
// Force reflow
|
2478 |
+
forceRedraw($slide);
|
2479 |
+
|
2480 |
+
if (slide.type !== "image") {
|
2481 |
+
slide.$content.hide().show(0);
|
2482 |
+
}
|
2483 |
+
|
2484 |
+
$.fancybox.animate(
|
2485 |
+
$slide,
|
2486 |
+
"fancybox-slide--current",
|
2487 |
+
duration,
|
2488 |
+
function() {
|
2489 |
+
$slide.removeClass(effectClassName).css({
|
2490 |
+
transform: "",
|
2491 |
+
opacity: ""
|
2492 |
+
});
|
2493 |
+
|
2494 |
+
if (slide.pos === self.currPos) {
|
2495 |
+
self.complete();
|
2496 |
+
}
|
2497 |
+
},
|
2498 |
+
true
|
2499 |
+
);
|
2500 |
+
},
|
2501 |
+
|
2502 |
+
// Check if we can and have to zoom from thumbnail
|
2503 |
+
//================================================
|
2504 |
+
|
2505 |
+
getThumbPos: function(slide) {
|
2506 |
+
var rez = false,
|
2507 |
+
$thumb = slide.$thumb,
|
2508 |
+
thumbPos,
|
2509 |
+
btw,
|
2510 |
+
brw,
|
2511 |
+
bbw,
|
2512 |
+
blw;
|
2513 |
+
|
2514 |
+
if (!$thumb || !inViewport($thumb[0])) {
|
2515 |
+
return false;
|
2516 |
+
}
|
2517 |
+
|
2518 |
+
thumbPos = $.fancybox.getTranslate($thumb);
|
2519 |
+
|
2520 |
+
btw = parseFloat($thumb.css("border-top-width") || 0);
|
2521 |
+
brw = parseFloat($thumb.css("border-right-width") || 0);
|
2522 |
+
bbw = parseFloat($thumb.css("border-bottom-width") || 0);
|
2523 |
+
blw = parseFloat($thumb.css("border-left-width") || 0);
|
2524 |
+
|
2525 |
+
rez = {
|
2526 |
+
top: thumbPos.top + btw,
|
2527 |
+
left: thumbPos.left + blw,
|
2528 |
+
width: thumbPos.width - brw - blw,
|
2529 |
+
height: thumbPos.height - btw - bbw,
|
2530 |
+
scaleX: 1,
|
2531 |
+
scaleY: 1
|
2532 |
+
};
|
2533 |
+
|
2534 |
+
return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false;
|
2535 |
+
},
|
2536 |
+
|
2537 |
+
// Final adjustments after current gallery item is moved to position
|
2538 |
+
// and it`s content is loaded
|
2539 |
+
// ==================================================================
|
2540 |
+
|
2541 |
+
complete: function() {
|
2542 |
+
var self = this,
|
2543 |
+
current = self.current,
|
2544 |
+
slides = {},
|
2545 |
+
$el;
|
2546 |
+
|
2547 |
+
if (self.isMoved() || !current.isLoaded) {
|
2548 |
+
return;
|
2549 |
+
}
|
2550 |
+
|
2551 |
+
if (!current.isComplete) {
|
2552 |
+
current.isComplete = true;
|
2553 |
+
|
2554 |
+
current.$slide.siblings().trigger("onReset");
|
2555 |
+
|
2556 |
+
self.preload("inline");
|
2557 |
+
|
2558 |
+
// Trigger any CSS transiton inside the slide
|
2559 |
+
forceRedraw(current.$slide);
|
2560 |
+
|
2561 |
+
current.$slide.addClass("fancybox-slide--complete");
|
2562 |
+
|
2563 |
+
// Remove unnecessary slides
|
2564 |
+
$.each(self.slides, function(key, slide) {
|
2565 |
+
if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) {
|
2566 |
+
slides[slide.pos] = slide;
|
2567 |
+
} else if (slide) {
|
2568 |
+
$.fancybox.stop(slide.$slide);
|
2569 |
+
|
2570 |
+
slide.$slide.off().remove();
|
2571 |
+
}
|
2572 |
+
});
|
2573 |
+
|
2574 |
+
self.slides = slides;
|
2575 |
+
}
|
2576 |
+
|
2577 |
+
self.isAnimating = false;
|
2578 |
+
|
2579 |
+
self.updateCursor();
|
2580 |
+
|
2581 |
+
self.trigger("afterShow");
|
2582 |
+
|
2583 |
+
// Autoplay first html5 video/audio
|
2584 |
+
if (!!current.opts.video.autoStart) {
|
2585 |
+
current.$slide
|
2586 |
+
.find("video,audio")
|
2587 |
+
.filter(":visible:first")
|
2588 |
+
.trigger("play")
|
2589 |
+
.on("ended", $.proxy(self.next, self));
|
2590 |
+
}
|
2591 |
+
|
2592 |
+
// Try to focus on the first focusable element
|
2593 |
+
if (current.opts.autoFocus && current.contentType === "html") {
|
2594 |
+
// Look for the first input with autofocus attribute
|
2595 |
+
$el = current.$content.find("input[autofocus]:enabled:visible:first");
|
2596 |
+
|
2597 |
+
if ($el.length) {
|
2598 |
+
$el.trigger("focus");
|
2599 |
+
} else {
|
2600 |
+
self.focus(null, true);
|
2601 |
+
}
|
2602 |
+
}
|
2603 |
+
|
2604 |
+
// Avoid jumping
|
2605 |
+
current.$slide.scrollTop(0).scrollLeft(0);
|
2606 |
+
},
|
2607 |
+
|
2608 |
+
// Preload next and previous slides
|
2609 |
+
// ================================
|
2610 |
+
|
2611 |
+
preload: function(type) {
|
2612 |
+
var self = this,
|
2613 |
+
next = self.slides[self.currPos + 1],
|
2614 |
+
prev = self.slides[self.currPos - 1];
|
2615 |
+
|
2616 |
+
if (prev && prev.type === type) {
|
2617 |
+
self.loadSlide(prev);
|
2618 |
+
}
|
2619 |
+
|
2620 |
+
if (next && next.type === type) {
|
2621 |
+
self.loadSlide(next);
|
2622 |
+
}
|
2623 |
+
},
|
2624 |
+
|
2625 |
+
// Try to find and focus on the first focusable element
|
2626 |
+
// ====================================================
|
2627 |
+
|
2628 |
+
focus: function(e, firstRun) {
|
2629 |
+
var self = this,
|
2630 |
+
focusableStr = [
|
2631 |
+
"a[href]",
|
2632 |
+
"area[href]",
|
2633 |
+
'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',
|
2634 |
+
"select:not([disabled]):not([aria-hidden])",
|
2635 |
+
"textarea:not([disabled]):not([aria-hidden])",
|
2636 |
+
"button:not([disabled]):not([aria-hidden])",
|
2637 |
+
"iframe",
|
2638 |
+
"object",
|
2639 |
+
"embed",
|
2640 |
+
"[contenteditable]",
|
2641 |
+
'[tabindex]:not([tabindex^="-"])'
|
2642 |
+
].join(","),
|
2643 |
+
focusableItems,
|
2644 |
+
focusedItemIndex;
|
2645 |
+
|
2646 |
+
if (self.isClosing) {
|
2647 |
+
return;
|
2648 |
+
}
|
2649 |
+
|
2650 |
+
if (e || !self.current || !self.current.isComplete) {
|
2651 |
+
// Focus on any element inside fancybox
|
2652 |
+
focusableItems = self.$refs.container.find("*:visible");
|
2653 |
+
} else {
|
2654 |
+
// Focus inside current slide
|
2655 |
+
focusableItems = self.current.$slide.find("*:visible" + (firstRun ? ":not(.fancybox-close-small)" : ""));
|
2656 |
+
}
|
2657 |
+
|
2658 |
+
focusableItems = focusableItems.filter(focusableStr).filter(function() {
|
2659 |
+
return $(this).css("visibility") !== "hidden" && !$(this).hasClass("disabled");
|
2660 |
+
});
|
2661 |
+
|
2662 |
+
if (focusableItems.length) {
|
2663 |
+
focusedItemIndex = focusableItems.index(document.activeElement);
|
2664 |
+
|
2665 |
+
if (e && e.shiftKey) {
|
2666 |
+
// Back tab
|
2667 |
+
if (focusedItemIndex < 0 || focusedItemIndex == 0) {
|
2668 |
+
e.preventDefault();
|
2669 |
+
|
2670 |
+
focusableItems.eq(focusableItems.length - 1).trigger("focus");
|
2671 |
+
}
|
2672 |
+
} else {
|
2673 |
+
// Outside or Forward tab
|
2674 |
+
if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) {
|
2675 |
+
if (e) {
|
2676 |
+
e.preventDefault();
|
2677 |
+
}
|
2678 |
+
|
2679 |
+
focusableItems.eq(0).trigger("focus");
|
2680 |
+
}
|
2681 |
+
}
|
2682 |
+
} else {
|
2683 |
+
self.$refs.container.trigger("focus");
|
2684 |
+
}
|
2685 |
+
},
|
2686 |
+
|
2687 |
+
// Activates current instance - brings container to the front and enables keyboard,
|
2688 |
+
// notifies other instances about deactivating
|
2689 |
+
// =================================================================================
|
2690 |
+
|
2691 |
+
activate: function() {
|
2692 |
+
var self = this;
|
2693 |
+
|
2694 |
+
// Deactivate all instances
|
2695 |
+
$(".fancybox-container").each(function() {
|
2696 |
+
var instance = $(this).data("FancyBox");
|
2697 |
+
|
2698 |
+
// Skip self and closing instances
|
2699 |
+
if (instance && instance.id !== self.id && !instance.isClosing) {
|
2700 |
+
instance.trigger("onDeactivate");
|
2701 |
+
|
2702 |
+
instance.removeEvents();
|
2703 |
+
|
2704 |
+
instance.isVisible = false;
|
2705 |
+
}
|
2706 |
+
});
|
2707 |
+
|
2708 |
+
self.isVisible = true;
|
2709 |
+
|
2710 |
+
if (self.current || self.isIdle) {
|
2711 |
+
self.update();
|
2712 |
+
|
2713 |
+
self.updateControls();
|
2714 |
+
}
|
2715 |
+
|
2716 |
+
self.trigger("onActivate");
|
2717 |
+
|
2718 |
+
self.addEvents();
|
2719 |
+
},
|
2720 |
+
|
2721 |
+
// Start closing procedure
|
2722 |
+
// This will start "zoom-out" animation if needed and clean everything up afterwards
|
2723 |
+
// =================================================================================
|
2724 |
+
|
2725 |
+
close: function(e, d) {
|
2726 |
+
var self = this,
|
2727 |
+
current = self.current,
|
2728 |
+
effect,
|
2729 |
+
duration,
|
2730 |
+
$content,
|
2731 |
+
domRect,
|
2732 |
+
opacity,
|
2733 |
+
start,
|
2734 |
+
end;
|
2735 |
+
|
2736 |
+
var done = function() {
|
2737 |
+
self.cleanUp(e);
|
2738 |
+
};
|
2739 |
+
|
2740 |
+
if (self.isClosing) {
|
2741 |
+
return false;
|
2742 |
+
}
|
2743 |
+
|
2744 |
+
self.isClosing = true;
|
2745 |
+
|
2746 |
+
// If beforeClose callback prevents closing, make sure content is centered
|
2747 |
+
if (self.trigger("beforeClose", e) === false) {
|
2748 |
+
self.isClosing = false;
|
2749 |
+
|
2750 |
+
requestAFrame(function() {
|
2751 |
+
self.update();
|
2752 |
+
});
|
2753 |
+
|
2754 |
+
return false;
|
2755 |
+
}
|
2756 |
+
|
2757 |
+
// Remove all events
|
2758 |
+
// If there are multiple instances, they will be set again by "activate" method
|
2759 |
+
self.removeEvents();
|
2760 |
+
|
2761 |
+
$content = current.$content;
|
2762 |
+
effect = current.opts.animationEffect;
|
2763 |
+
duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0;
|
2764 |
+
|
2765 |
+
current.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated");
|
2766 |
+
|
2767 |
+
if (e !== true) {
|
2768 |
+
$.fancybox.stop(current.$slide);
|
2769 |
+
} else {
|
2770 |
+
effect = false;
|
2771 |
+
}
|
2772 |
+
|
2773 |
+
// Remove other slides
|
2774 |
+
current.$slide
|
2775 |
+
.siblings()
|
2776 |
+
.trigger("onReset")
|
2777 |
+
.remove();
|
2778 |
+
|
2779 |
+
// Trigger animations
|
2780 |
+
if (duration) {
|
2781 |
+
self.$refs.container
|
2782 |
+
.removeClass("fancybox-is-open")
|
2783 |
+
.addClass("fancybox-is-closing")
|
2784 |
+
.css("transition-duration", duration + "ms");
|
2785 |
+
}
|
2786 |
+
|
2787 |
+
// Clean up
|
2788 |
+
self.hideLoading(current);
|
2789 |
+
|
2790 |
+
self.hideControls(true);
|
2791 |
+
|
2792 |
+
self.updateCursor();
|
2793 |
+
|
2794 |
+
// Check if possible to zoom-out
|
2795 |
+
if (
|
2796 |
+
effect === "zoom" &&
|
2797 |
+
!($content && duration && current.type === "image" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current)))
|
2798 |
+
) {
|
2799 |
+
effect = "fade";
|
2800 |
+
}
|
2801 |
+
|
2802 |
+
if (effect === "zoom") {
|
2803 |
+
$.fancybox.stop($content);
|
2804 |
+
|
2805 |
+
domRect = $.fancybox.getTranslate($content);
|
2806 |
+
|
2807 |
+
start = {
|
2808 |
+
top: domRect.top,
|
2809 |
+
left: domRect.left,
|
2810 |
+
scaleX: domRect.width / end.width,
|
2811 |
+
scaleY: domRect.height / end.height,
|
2812 |
+
width: end.width,
|
2813 |
+
height: end.height
|
2814 |
+
};
|
2815 |
+
|
2816 |
+
// Check if we need to animate opacity
|
2817 |
+
opacity = current.opts.zoomOpacity;
|
2818 |
+
|
2819 |
+
if (opacity == "auto") {
|
2820 |
+
opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1;
|
2821 |
+
}
|
2822 |
+
|
2823 |
+
if (opacity) {
|
2824 |
+
end.opacity = 0;
|
2825 |
+
}
|
2826 |
+
|
2827 |
+
$.fancybox.setTranslate($content, start);
|
2828 |
+
|
2829 |
+
forceRedraw($content);
|
2830 |
+
|
2831 |
+
$.fancybox.animate($content, end, duration, done);
|
2832 |
+
|
2833 |
+
return true;
|
2834 |
+
}
|
2835 |
+
|
2836 |
+
if (effect && duration) {
|
2837 |
+
$.fancybox.animate(
|
2838 |
+
current.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),
|
2839 |
+
"fancybox-animated fancybox-fx-" + effect,
|
2840 |
+
duration,
|
2841 |
+
done
|
2842 |
+
);
|
2843 |
+
} else {
|
2844 |
+
// If skip animation
|
2845 |
+
if (e === true) {
|
2846 |
+
setTimeout(done, duration);
|
2847 |
+
} else {
|
2848 |
+
done();
|
2849 |
+
}
|
2850 |
+
}
|
2851 |
+
|
2852 |
+
return true;
|
2853 |
+
},
|
2854 |
+
|
2855 |
+
// Final adjustments after removing the instance
|
2856 |
+
// =============================================
|
2857 |
+
|
2858 |
+
cleanUp: function(e) {
|
2859 |
+
var self = this,
|
2860 |
+
instance,
|
2861 |
+
$focus = self.current.opts.$orig,
|
2862 |
+
x,
|
2863 |
+
y;
|
2864 |
+
|
2865 |
+
self.current.$slide.trigger("onReset");
|
2866 |
+
|
2867 |
+
self.$refs.container.empty().remove();
|
2868 |
+
|
2869 |
+
self.trigger("afterClose", e);
|
2870 |
+
|
2871 |
+
// Place back focus
|
2872 |
+
if (!!self.current.opts.backFocus) {
|
2873 |
+
if (!$focus || !$focus.length || !$focus.is(":visible")) {
|
2874 |
+
$focus = self.$trigger;
|
2875 |
+
}
|
2876 |
+
|
2877 |
+
if ($focus && $focus.length) {
|
2878 |
+
x = window.scrollX;
|
2879 |
+
y = window.scrollY;
|
2880 |
+
|
2881 |
+
$focus.trigger("focus");
|
2882 |
+
|
2883 |
+
$("html, body")
|
2884 |
+
.scrollTop(y)
|
2885 |
+
.scrollLeft(x);
|
2886 |
+
}
|
2887 |
+
}
|
2888 |
+
|
2889 |
+
self.current = null;
|
2890 |
+
|
2891 |
+
// Check if there are other instances
|
2892 |
+
instance = $.fancybox.getInstance();
|
2893 |
+
|
2894 |
+
if (instance) {
|
2895 |
+
instance.activate();
|
2896 |
+
} else {
|
2897 |
+
$("body").removeClass("fancybox-active compensate-for-scrollbar");
|
2898 |
+
|
2899 |
+
$("#fancybox-style-noscroll").remove();
|
2900 |
+
}
|
2901 |
+
},
|
2902 |
+
|
2903 |
+
// Call callback and trigger an event
|
2904 |
+
// ==================================
|
2905 |
+
|
2906 |
+
trigger: function(name, slide) {
|
2907 |
+
var args = Array.prototype.slice.call(arguments, 1),
|
2908 |
+
self = this,
|
2909 |
+
obj = slide && slide.opts ? slide : self.current,
|
2910 |
+
rez;
|
2911 |
+
|
2912 |
+
if (obj) {
|
2913 |
+
args.unshift(obj);
|
2914 |
+
} else {
|
2915 |
+
obj = self;
|
2916 |
+
}
|
2917 |
+
|
2918 |
+
args.unshift(self);
|
2919 |
+
|
2920 |
+
if ($.isFunction(obj.opts[name])) {
|
2921 |
+
rez = obj.opts[name].apply(obj, args);
|
2922 |
+
}
|
2923 |
+
|
2924 |
+
if (rez === false) {
|
2925 |
+
return rez;
|
2926 |
+
}
|
2927 |
+
|
2928 |
+
if (name === "afterClose" || !self.$refs) {
|
2929 |
+
$D.trigger(name + ".fb", args);
|
2930 |
+
} else {
|
2931 |
+
self.$refs.container.trigger(name + ".fb", args);
|
2932 |
+
}
|
2933 |
+
},
|
2934 |
+
|
2935 |
+
// Update infobar values, navigation button states and reveal caption
|
2936 |
+
// ==================================================================
|
2937 |
+
|
2938 |
+
updateControls: function() {
|
2939 |
+
var self = this,
|
2940 |
+
current = self.current,
|
2941 |
+
index = current.index,
|
2942 |
+
$container = self.$refs.container,
|
2943 |
+
$caption = self.$refs.caption,
|
2944 |
+
caption = current.opts.caption;
|
2945 |
+
|
2946 |
+
// Recalculate content dimensions
|
2947 |
+
current.$slide.trigger("refresh");
|
2948 |
+
|
2949 |
+
self.$caption = caption && caption.length ? $caption.html(caption) : null;
|
2950 |
+
|
2951 |
+
if (!self.hasHiddenControls && !self.isIdle) {
|
2952 |
+
self.showControls();
|
2953 |
+
}
|
2954 |
+
|
2955 |
+
// Update info and navigation elements
|
2956 |
+
$container.find("[data-fancybox-count]").html(self.group.length);
|
2957 |
+
$container.find("[data-fancybox-index]").html(index + 1);
|
2958 |
+
|
2959 |
+
$container.find("[data-fancybox-prev]").prop("disabled", !current.opts.loop && index <= 0);
|
2960 |
+
$container.find("[data-fancybox-next]").prop("disabled", !current.opts.loop && index >= self.group.length - 1);
|
2961 |
+
|
2962 |
+
if (current.type === "image") {
|
2963 |
+
// Re-enable buttons; update download button source
|
2964 |
+
$container
|
2965 |
+
.find("[data-fancybox-zoom]")
|
2966 |
+
.show()
|
2967 |
+
.end()
|
2968 |
+
.find("[data-fancybox-download]")
|
2969 |
+
.attr("href", current.opts.image.src || current.src)
|
2970 |
+
.show();
|
2971 |
+
} else if (current.opts.toolbar) {
|
2972 |
+
$container.find("[data-fancybox-download],[data-fancybox-zoom]").hide();
|
2973 |
+
}
|
2974 |
+
|
2975 |
+
// Make sure focus is not on disabled button/element
|
2976 |
+
if ($(document.activeElement).is(":hidden,[disabled]")) {
|
2977 |
+
self.$refs.container.trigger("focus");
|
2978 |
+
}
|
2979 |
+
},
|
2980 |
+
|
2981 |
+
// Hide toolbar and caption
|
2982 |
+
// ========================
|
2983 |
+
|
2984 |
+
hideControls: function(andCaption) {
|
2985 |
+
var self = this,
|
2986 |
+
arr = ["infobar", "toolbar", "nav"];
|
2987 |
+
|
2988 |
+
if (andCaption || !self.current.opts.preventCaptionOverlap) {
|
2989 |
+
arr.push("caption");
|
2990 |
+
}
|
2991 |
+
|
2992 |
+
this.$refs.container.removeClass(
|
2993 |
+
arr
|
2994 |
+
.map(function(i) {
|
2995 |
+
return "fancybox-show-" + i;
|
2996 |
+
})
|
2997 |
+
.join(" ")
|
2998 |
+
);
|
2999 |
+
|
3000 |
+
this.hasHiddenControls = true;
|
3001 |
+
},
|
3002 |
+
|
3003 |
+
showControls: function() {
|
3004 |
+
var self = this,
|
3005 |
+
opts = self.current ? self.current.opts : self.opts,
|
3006 |
+
$container = self.$refs.container;
|
3007 |
+
|
3008 |
+
self.hasHiddenControls = false;
|
3009 |
+
self.idleSecondsCounter = 0;
|
3010 |
+
|
3011 |
+
$container
|
3012 |
+
.toggleClass("fancybox-show-toolbar", !!(opts.toolbar && opts.buttons))
|
3013 |
+
.toggleClass("fancybox-show-infobar", !!(opts.infobar && self.group.length > 1))
|
3014 |
+
.toggleClass("fancybox-show-caption", !!self.$caption)
|
3015 |
+
.toggleClass("fancybox-show-nav", !!(opts.arrows && self.group.length > 1))
|
3016 |
+
.toggleClass("fancybox-is-modal", !!opts.modal);
|
3017 |
+
},
|
3018 |
+
|
3019 |
+
// Toggle toolbar and caption
|
3020 |
+
// ==========================
|
3021 |
+
|
3022 |
+
toggleControls: function() {
|
3023 |
+
if (this.hasHiddenControls) {
|
3024 |
+
this.showControls();
|
3025 |
+
} else {
|
3026 |
+
this.hideControls();
|
3027 |
+
}
|
3028 |
+
}
|
3029 |
+
});
|
3030 |
+
|
3031 |
+
$.fancybox = {
|
3032 |
+
version: "3.5.1",
|
3033 |
+
defaults: defaults,
|
3034 |
+
|
3035 |
+
// Get current instance and execute a command.
|
3036 |
+
//
|
3037 |
+
// Examples of usage:
|
3038 |
+
//
|
3039 |
+
// $instance = $.fancybox.getInstance();
|
3040 |
+
// $.fancybox.getInstance().jumpTo( 1 );
|
3041 |
+
// $.fancybox.getInstance( 'jumpTo', 1 );
|
3042 |
+
// $.fancybox.getInstance( function() {
|
3043 |
+
// console.info( this.currIndex );
|
3044 |
+
// });
|
3045 |
+
// ======================================================
|
3046 |
+
|
3047 |
+
getInstance: function(command) {
|
3048 |
+
var instance = $('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),
|
3049 |
+
args = Array.prototype.slice.call(arguments, 1);
|
3050 |
+
|
3051 |
+
if (instance instanceof FancyBox) {
|
3052 |
+
if ($.type(command) === "string") {
|
3053 |
+
instance[command].apply(instance, args);
|
3054 |
+
} else if ($.type(command) === "function") {
|
3055 |
+
command.apply(instance, args);
|
3056 |
+
}
|
3057 |
+
|
3058 |
+
return instance;
|
3059 |
+
}
|
3060 |
+
|
3061 |
+
return false;
|
3062 |
+
},
|
3063 |
+
|
3064 |
+
// Create new instance
|
3065 |
+
// ===================
|
3066 |
+
|
3067 |
+
open: function(items, opts, index) {
|
3068 |
+
return new FancyBox(items, opts, index);
|
3069 |
+
},
|
3070 |
+
|
3071 |
+
// Close current or all instances
|
3072 |
+
// ==============================
|
3073 |
+
|
3074 |
+
close: function(all) {
|
3075 |
+
var instance = this.getInstance();
|
3076 |
+
|
3077 |
+
if (instance) {
|
3078 |
+
instance.close();
|
3079 |
+
|
3080 |
+
// Try to find and close next instance
|
3081 |
+
if (all === true) {
|
3082 |
+
this.close(all);
|
3083 |
+
}
|
3084 |
+
}
|
3085 |
+
},
|
3086 |
+
|
3087 |
+
// Close all instances and unbind all events
|
3088 |
+
// =========================================
|
3089 |
+
|
3090 |
+
destroy: function() {
|
3091 |
+
this.close(true);
|
3092 |
+
|
3093 |
+
$D.add("body").off("click.fb-start", "**");
|
3094 |
+
},
|
3095 |
+
|
3096 |
+
// Try to detect mobile devices
|
3097 |
+
// ============================
|
3098 |
+
|
3099 |
+
isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
|
3100 |
+
|
3101 |
+
// Detect if 'translate3d' support is available
|
3102 |
+
// ============================================
|
3103 |
+
|
3104 |
+
use3d: (function() {
|
3105 |
+
var div = document.createElement("div");
|
3106 |
+
|
3107 |
+
return (
|
3108 |
+
window.getComputedStyle &&
|
3109 |
+
window.getComputedStyle(div) &&
|
3110 |
+
window.getComputedStyle(div).getPropertyValue("transform") &&
|
3111 |
+
!(document.documentMode && document.documentMode < 11)
|
3112 |
+
);
|
3113 |
+
})(),
|
3114 |
+
|
3115 |
+
// Helper function to get current visual state of an element
|
3116 |
+
// returns array[ top, left, horizontal-scale, vertical-scale, opacity ]
|
3117 |
+
// =====================================================================
|
3118 |
+
|
3119 |
+
getTranslate: function($el) {
|
3120 |
+
var domRect;
|
3121 |
+
|
3122 |
+
if (!$el || !$el.length) {
|
3123 |
+
return false;
|
3124 |
+
}
|
3125 |
+
|
3126 |
+
domRect = $el[0].getBoundingClientRect();
|
3127 |
+
|
3128 |
+
return {
|
3129 |
+
top: domRect.top || 0,
|
3130 |
+
left: domRect.left || 0,
|
3131 |
+
width: domRect.width,
|
3132 |
+
height: domRect.height,
|
3133 |
+
opacity: parseFloat($el.css("opacity"))
|
3134 |
+
};
|
3135 |
+
},
|
3136 |
+
|
3137 |
+
// Shortcut for setting "translate3d" properties for element
|
3138 |
+
// Can set be used to set opacity, too
|
3139 |
+
// ========================================================
|
3140 |
+
|
3141 |
+
setTranslate: function($el, props) {
|
3142 |
+
var str = "",
|
3143 |
+
css = {};
|
3144 |
+
|
3145 |
+
if (!$el || !props) {
|
3146 |
+
return;
|
3147 |
+
}
|
3148 |
+
|
3149 |
+
if (props.left !== undefined || props.top !== undefined) {
|
3150 |
+
str =
|
3151 |
+
(props.left === undefined ? $el.position().left : props.left) +
|
3152 |
+
"px, " +
|
3153 |
+
(props.top === undefined ? $el.position().top : props.top) +
|
3154 |
+
"px";
|
3155 |
+
|
3156 |
+
if (this.use3d) {
|
3157 |
+
str = "translate3d(" + str + ", 0px)";
|
3158 |
+
} else {
|
3159 |
+
str = "translate(" + str + ")";
|
3160 |
+
}
|
3161 |
+
}
|
3162 |
+
|
3163 |
+
if (props.scaleX !== undefined && props.scaleY !== undefined) {
|
3164 |
+
str += " scale(" + props.scaleX + ", " + props.scaleY + ")";
|
3165 |
+
} else if (props.scaleX !== undefined) {
|
3166 |
+
str += " scaleX(" + props.scaleX + ")";
|
3167 |
+
}
|
3168 |
+
|
3169 |
+
if (str.length) {
|
3170 |
+
css.transform = str;
|
3171 |
+
}
|
3172 |
+
|
3173 |
+
if (props.opacity !== undefined) {
|
3174 |
+
css.opacity = props.opacity;
|
3175 |
+
}
|
3176 |
+
|
3177 |
+
if (props.width !== undefined) {
|
3178 |
+
css.width = props.width;
|
3179 |
+
}
|
3180 |
+
|
3181 |
+
if (props.height !== undefined) {
|
3182 |
+
css.height = props.height;
|
3183 |
+
}
|
3184 |
+
|
3185 |
+
return $el.css(css);
|
3186 |
+
},
|
3187 |
+
|
3188 |
+
// Simple CSS transition handler
|
3189 |
+
// =============================
|
3190 |
+
|
3191 |
+
animate: function($el, to, duration, callback, leaveAnimationName) {
|
3192 |
+
var self = this,
|
3193 |
+
from;
|
3194 |
+
|
3195 |
+
if ($.isFunction(duration)) {
|
3196 |
+
callback = duration;
|
3197 |
+
duration = null;
|
3198 |
+
}
|
3199 |
+
|
3200 |
+
self.stop($el);
|
3201 |
+
|
3202 |
+
from = self.getTranslate($el);
|
3203 |
+
|
3204 |
+
$el.on(transitionEnd, function(e) {
|
3205 |
+
// Skip events from child elements and z-index change
|
3206 |
+
if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == "z-index")) {
|
3207 |
+
return;
|
3208 |
+
}
|
3209 |
+
|
3210 |
+
self.stop($el);
|
3211 |
+
|
3212 |
+
if ($.isNumeric(duration)) {
|
3213 |
+
$el.css("transition-duration", "");
|
3214 |
+
}
|
3215 |
+
|
3216 |
+
if ($.isPlainObject(to)) {
|
3217 |
+
if (to.scaleX !== undefined && to.scaleY !== undefined) {
|
3218 |
+
self.setTranslate($el, {
|
3219 |
+
top: to.top,
|
3220 |
+
left: to.left,
|
3221 |
+
width: from.width * to.scaleX,
|
3222 |
+
height: from.height * to.scaleY,
|
3223 |
+
scaleX: 1,
|
3224 |
+
scaleY: 1
|
3225 |
+
});
|
3226 |
+
}
|
3227 |
+
} else if (leaveAnimationName !== true) {
|
3228 |
+
$el.removeClass(to);
|
3229 |
+
}
|
3230 |
+
|
3231 |
+
if ($.isFunction(callback)) {
|
3232 |
+
callback(e);
|
3233 |
+
}
|
3234 |
+
});
|
3235 |
+
|
3236 |
+
if ($.isNumeric(duration)) {
|
3237 |
+
$el.css("transition-duration", duration + "ms");
|
3238 |
+
}
|
3239 |
+
|
3240 |
+
// Start animation by changing CSS properties or class name
|
3241 |
+
if ($.isPlainObject(to)) {
|
3242 |
+
if (to.scaleX !== undefined && to.scaleY !== undefined) {
|
3243 |
+
delete to.width;
|
3244 |
+
delete to.height;
|
3245 |
+
|
3246 |
+
if ($el.parent().hasClass("fancybox-slide--image")) {
|
3247 |
+
$el.parent().addClass("fancybox-is-scaling");
|
3248 |
+
}
|
3249 |
+
}
|
3250 |
+
|
3251 |
+
$.fancybox.setTranslate($el, to);
|
3252 |
+
} else {
|
3253 |
+
$el.addClass(to);
|
3254 |
+
}
|
3255 |
+
|
3256 |
+
// Make sure that `transitionend` callback gets fired
|
3257 |
+
$el.data(
|
3258 |
+
"timer",
|
3259 |
+
setTimeout(function() {
|
3260 |
+
$el.trigger(transitionEnd);
|
3261 |
+
}, duration + 33)
|
3262 |
+
);
|
3263 |
+
},
|
3264 |
+
|
3265 |
+
stop: function($el, callCallback) {
|
3266 |
+
if ($el && $el.length) {
|
3267 |
+
clearTimeout($el.data("timer"));
|
3268 |
+
|
3269 |
+
if (callCallback) {
|
3270 |
+
$el.trigger(transitionEnd);
|
3271 |
+
}
|
3272 |
+
|
3273 |
+
$el.off(transitionEnd).css("transition-duration", "");
|
3274 |
+
|
3275 |
+
$el.parent().removeClass("fancybox-is-scaling");
|
3276 |
+
}
|
3277 |
+
}
|
3278 |
+
};
|
3279 |
+
|
3280 |
+
// Default click handler for "fancyboxed" links
|
3281 |
+
// ============================================
|
3282 |
+
|
3283 |
+
function _run(e, opts) {
|
3284 |
+
var items = [],
|
3285 |
+
index = 0,
|
3286 |
+
$target,
|
3287 |
+
value,
|
3288 |
+
instance;
|
3289 |
+
|
3290 |
+
// Avoid opening multiple times
|
3291 |
+
if (e && e.isDefaultPrevented()) {
|
3292 |
+
return;
|
3293 |
+
}
|
3294 |
+
|
3295 |
+
e.preventDefault();
|
3296 |
+
|
3297 |
+
opts = opts || {};
|
3298 |
+
|
3299 |
+
if (e && e.data) {
|
3300 |
+
opts = mergeOpts(e.data.options, opts);
|
3301 |
+
}
|
3302 |
+
|
3303 |
+
$target = opts.$target || $(e.currentTarget).trigger("blur");
|
3304 |
+
instance = $.fancybox.getInstance();
|
3305 |
+
|
3306 |
+
if (instance && instance.$trigger && instance.$trigger.is($target)) {
|
3307 |
+
return;
|
3308 |
+
}
|
3309 |
+
|
3310 |
+
if (opts.selector) {
|
3311 |
+
items = $(opts.selector);
|
3312 |
+
} else {
|
3313 |
+
// Get all related items and find index for clicked one
|
3314 |
+
value = $target.attr("data-fancybox") || "";
|
3315 |
+
|
3316 |
+
if (value) {
|
3317 |
+
items = e.data ? e.data.items : [];
|
3318 |
+
items = items.length ? items.filter('[data-fancybox="' + value + '"]') : $('[data-fancybox="' + value + '"]');
|
3319 |
+
} else {
|
3320 |
+
items = [$target];
|
3321 |
+
}
|
3322 |
+
}
|
3323 |
+
|
3324 |
+
index = $(items).index($target);
|
3325 |
+
|
3326 |
+
// Sometimes current item can not be found
|
3327 |
+
if (index < 0) {
|
3328 |
+
index = 0;
|
3329 |
+
}
|
3330 |
+
|
3331 |
+
instance = $.fancybox.open(items, opts, index);
|
3332 |
+
|
3333 |
+
// Save last active element
|
3334 |
+
instance.$trigger = $target;
|
3335 |
+
}
|
3336 |
+
|
3337 |
+
// Create a jQuery plugin
|
3338 |
+
// ======================
|
3339 |
+
|
3340 |
+
$.fn.fancybox = function(options) {
|
3341 |
+
var selector;
|
3342 |
+
|
3343 |
+
options = options || {};
|
3344 |
+
selector = options.selector || false;
|
3345 |
+
|
3346 |
+
if (selector) {
|
3347 |
+
// Use body element instead of document so it executes first
|
3348 |
+
$("body")
|
3349 |
+
.off("click.fb-start", selector)
|
3350 |
+
.on("click.fb-start", selector, {options: options}, _run);
|
3351 |
+
} else {
|
3352 |
+
this.off("click.fb-start").on(
|
3353 |
+
"click.fb-start",
|
3354 |
+
{
|
3355 |
+
items: this,
|
3356 |
+
options: options
|
3357 |
+
},
|
3358 |
+
_run
|
3359 |
+
);
|
3360 |
+
}
|
3361 |
+
|
3362 |
+
return this;
|
3363 |
+
};
|
3364 |
+
|
3365 |
+
// Self initializing plugin for all elements having `data-fancybox` attribute
|
3366 |
+
// ==========================================================================
|
3367 |
+
|
3368 |
+
$D.on("click.fb-start", "[data-fancybox]", _run);
|
3369 |
+
|
3370 |
+
// Enable "trigger elements"
|
3371 |
+
// =========================
|
3372 |
+
|
3373 |
+
$D.on("click.fb-start", "[data-fancybox-trigger]", function(e) {
|
3374 |
+
$('[data-fancybox="' + $(this).attr("data-fancybox-trigger") + '"]')
|
3375 |
+
.eq($(this).attr("data-fancybox-index") || 0)
|
3376 |
+
.trigger("click.fb-start", {
|
3377 |
+
$trigger: $(this)
|
3378 |
+
});
|
3379 |
+
});
|
3380 |
+
|
3381 |
+
// Track focus event for better accessibility styling
|
3382 |
+
// ==================================================
|
3383 |
+
(function() {
|
3384 |
+
var buttonStr = ".fancybox-button",
|
3385 |
+
focusStr = "fancybox-focus",
|
3386 |
+
$pressed = null;
|
3387 |
+
|
3388 |
+
$D.on("mousedown mouseup focus blur", buttonStr, function(e) {
|
3389 |
+
switch (e.type) {
|
3390 |
+
case "mousedown":
|
3391 |
+
$pressed = $(this);
|
3392 |
+
break;
|
3393 |
+
case "mouseup":
|
3394 |
+
$pressed = null;
|
3395 |
+
break;
|
3396 |
+
case "focusin":
|
3397 |
+
$(buttonStr).removeClass(focusStr);
|
3398 |
+
|
3399 |
+
if (!$(this).is($pressed) && !$(this).is("[disabled]")) {
|
3400 |
+
$(this).addClass(focusStr);
|
3401 |
+
}
|
3402 |
+
break;
|
3403 |
+
case "focusout":
|
3404 |
+
$(buttonStr).removeClass(focusStr);
|
3405 |
+
break;
|
3406 |
+
}
|
3407 |
+
});
|
3408 |
+
})();
|
3409 |
+
})(window, document, jQuery);
|
3410 |
+
|
3411 |
+
// ==========================================================================
|
3412 |
+
//
|
3413 |
+
// Media
|
3414 |
+
// Adds additional media type support
|
3415 |
+
//
|
3416 |
+
// ==========================================================================
|
3417 |
+
(function($) {
|
3418 |
+
"use strict";
|
3419 |
+
|
3420 |
+
// Object containing properties for each media type
|
3421 |
+
var defaults = {
|
3422 |
+
youtube: {
|
3423 |
+
matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
|
3424 |
+
params: {
|
3425 |
+
autoplay: 1,
|
3426 |
+
autohide: 1,
|
3427 |
+
fs: 1,
|
3428 |
+
rel: 0,
|
3429 |
+
hd: 1,
|
3430 |
+
wmode: "transparent",
|
3431 |
+
enablejsapi: 1,
|
3432 |
+
html5: 1
|
3433 |
+
},
|
3434 |
+
paramPlace: 8,
|
3435 |
+
type: "iframe",
|
3436 |
+
url: "//www.youtube-nocookie.com/embed/$4",
|
3437 |
+
thumb: "//img.youtube.com/vi/$4/hqdefault.jpg"
|
3438 |
+
},
|
3439 |
+
|
3440 |
+
vimeo: {
|
3441 |
+
matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
|
3442 |
+
params: {
|
3443 |
+
autoplay: 1,
|
3444 |
+
hd: 1,
|
3445 |
+
show_title: 1,
|
3446 |
+
show_byline: 1,
|
3447 |
+
show_portrait: 0,
|
3448 |
+
fullscreen: 1
|
3449 |
+
},
|
3450 |
+
paramPlace: 3,
|
3451 |
+
type: "iframe",
|
3452 |
+
url: "//player.vimeo.com/video/$2"
|
3453 |
+
},
|
3454 |
+
|
3455 |
+
instagram: {
|
3456 |
+
matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
|
3457 |
+
type: "image",
|
3458 |
+
url: "//$1/p/$2/media/?size=l"
|
3459 |
+
},
|
3460 |
+
|
3461 |
+
// Examples:
|
3462 |
+
// http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
|
3463 |
+
// https://www.google.com/maps/@37.7852006,-122.4146355,14.65z
|
3464 |
+
// https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en
|
3465 |
+
// https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572
|
3466 |
+
gmap_place: {
|
3467 |
+
matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
|
3468 |
+
type: "iframe",
|
3469 |
+
url: function(rez) {
|
3470 |
+
return (
|
3471 |
+
"//maps.google." +
|
3472 |
+
rez[2] +
|
3473 |
+
"/?ll=" +
|
3474 |
+
(rez[9] ? rez[9] + "&z=" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\//, "&") : "") : rez[12] + "").replace(/\?/, "&") +
|
3475 |
+
"&output=" +
|
3476 |
+
(rez[12] && rez[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
|
3477 |
+
);
|
3478 |
+
}
|
3479 |
+
},
|
3480 |
+
|
3481 |
+
// Examples:
|
3482 |
+
// https://www.google.com/maps/search/Empire+State+Building/
|
3483 |
+
// https://www.google.com/maps/search/?api=1&query=centurylink+field
|
3484 |
+
// https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393
|
3485 |
+
gmap_search: {
|
3486 |
+
matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
|
3487 |
+
type: "iframe",
|
3488 |
+
url: function(rez) {
|
3489 |
+
return "//maps.google." + rez[2] + "/maps?q=" + rez[5].replace("query=", "q=").replace("api=1", "") + "&output=embed";
|
3490 |
+
}
|
3491 |
+
}
|
3492 |
+
};
|
3493 |
+
|
3494 |
+
// Formats matching url to final form
|
3495 |
+
var format = function(url, rez, params) {
|
3496 |
+
if (!url) {
|
3497 |
+
return;
|
3498 |
+
}
|
3499 |
+
|
3500 |
+
params = params || "";
|
3501 |
+
|
3502 |
+
if ($.type(params) === "object") {
|
3503 |
+
params = $.param(params, true);
|
3504 |
+
}
|
3505 |
+
|
3506 |
+
$.each(rez, function(key, value) {
|
3507 |
+
url = url.replace("$" + key, value || "");
|
3508 |
+
});
|
3509 |
+
|
3510 |
+
if (params.length) {
|
3511 |
+
url += (url.indexOf("?") > 0 ? "&" : "?") + params;
|
3512 |
+
}
|
3513 |
+
|
3514 |
+
return url;
|
3515 |
+
};
|
3516 |
+
|
3517 |
+
$(document).on("objectNeedsType.fb", function(e, instance, item) {
|
3518 |
+
var url = item.src || "",
|
3519 |
+
type = false,
|
3520 |
+
media,
|
3521 |
+
thumb,
|
3522 |
+
rez,
|
3523 |
+
params,
|
3524 |
+
urlParams,
|
3525 |
+
paramObj,
|
3526 |
+
provider;
|
3527 |
+
|
3528 |
+
media = $.extend(true, {}, defaults, item.opts.media);
|
3529 |
+
|
3530 |
+
// Look for any matching media type
|
3531 |
+
$.each(media, function(providerName, providerOpts) {
|
3532 |
+
rez = url.match(providerOpts.matcher);
|
3533 |
+
|
3534 |
+
if (!rez) {
|
3535 |
+
return;
|
3536 |
+
}
|
3537 |
+
|
3538 |
+
type = providerOpts.type;
|
3539 |
+
provider = providerName;
|
3540 |
+
paramObj = {};
|
3541 |
+
|
3542 |
+
if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) {
|
3543 |
+
urlParams = rez[providerOpts.paramPlace];
|
3544 |
+
|
3545 |
+
if (urlParams[0] == "?") {
|
3546 |
+
urlParams = urlParams.substring(1);
|
3547 |
+
}
|
3548 |
+
|
3549 |
+
urlParams = urlParams.split("&");
|
3550 |
+
|
3551 |
+
for (var m = 0; m < urlParams.length; ++m) {
|
3552 |
+
var p = urlParams[m].split("=", 2);
|
3553 |
+
|
3554 |
+
if (p.length == 2) {
|
3555 |
+
paramObj[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
|
3556 |
+
}
|
3557 |
+
}
|
3558 |
+
}
|
3559 |
+
|
3560 |
+
params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj);
|
3561 |
+
|
3562 |
+
url =
|
3563 |
+
$.type(providerOpts.url) === "function" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params);
|
3564 |
+
|
3565 |
+
thumb =
|
3566 |
+
$.type(providerOpts.thumb) === "function" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez);
|
3567 |
+
|
3568 |
+
if (providerName === "youtube") {
|
3569 |
+
url = url.replace(/&t=((\d+)m)?(\d+)s/, function(match, p1, m, s) {
|
3570 |
+
return "&start=" + ((m ? parseInt(m, 10) * 60 : 0) + parseInt(s, 10));
|
3571 |
+
});
|
3572 |
+
} else if (providerName === "vimeo") {
|
3573 |
+
url = url.replace("&%23", "#");
|
3574 |
+
}
|
3575 |
+
|
3576 |
+
return false;
|
3577 |
+
});
|
3578 |
+
|
3579 |
+
// If it is found, then change content type and update the url
|
3580 |
+
|
3581 |
+
if (type) {
|
3582 |
+
if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) {
|
3583 |
+
item.opts.thumb = thumb;
|
3584 |
+
}
|
3585 |
+
|
3586 |
+
if (type === "iframe") {
|
3587 |
+
item.opts = $.extend(true, item.opts, {
|
3588 |
+
iframe: {
|
3589 |
+
preload: false,
|
3590 |
+
attr: {
|
3591 |
+
scrolling: "no"
|
3592 |
+
}
|
3593 |
+
}
|
3594 |
+
});
|
3595 |
+
}
|
3596 |
+
|
3597 |
+
$.extend(item, {
|
3598 |
+
type: type,
|
3599 |
+
src: url,
|
3600 |
+
origSrc: item.src,
|
3601 |
+
contentSource: provider,
|
3602 |
+
contentType: type === "image" ? "image" : provider == "gmap_place" || provider == "gmap_search" ? "map" : "video"
|
3603 |
+
});
|
3604 |
+
} else if (url) {
|
3605 |
+
item.type = item.opts.defaultType;
|
3606 |
+
}
|
3607 |
+
});
|
3608 |
+
|
3609 |
+
// Load YouTube/Video API on request to detect when video finished playing
|
3610 |
+
var VideoAPILoader = {
|
3611 |
+
youtube: {
|
3612 |
+
src: "https://www.youtube.com/iframe_api",
|
3613 |
+
class: "YT",
|
3614 |
+
loading: false,
|
3615 |
+
loaded: false
|
3616 |
+
},
|
3617 |
+
|
3618 |
+
vimeo: {
|
3619 |
+
src: "https://player.vimeo.com/api/player.js",
|
3620 |
+
class: "Vimeo",
|
3621 |
+
loading: false,
|
3622 |
+
loaded: false
|
3623 |
+
},
|
3624 |
+
|
3625 |
+
load: function(vendor) {
|
3626 |
+
var _this = this,
|
3627 |
+
script;
|
3628 |
+
|
3629 |
+
if (this[vendor].loaded) {
|
3630 |
+
setTimeout(function() {
|
3631 |
+
_this.done(vendor);
|
3632 |
+
});
|
3633 |
+
return;
|
3634 |
+
}
|
3635 |
+
|
3636 |
+
if (this[vendor].loading) {
|
3637 |
+
return;
|
3638 |
+
}
|
3639 |
+
|
3640 |
+
this[vendor].loading = true;
|
3641 |
+
|
3642 |
+
script = document.createElement("script");
|
3643 |
+
script.type = "text/javascript";
|
3644 |
+
script.src = this[vendor].src;
|
3645 |
+
|
3646 |
+
if (vendor === "youtube") {
|
3647 |
+
window.onYouTubeIframeAPIReady = function() {
|
3648 |
+
_this[vendor].loaded = true;
|
3649 |
+
_this.done(vendor);
|
3650 |
+
};
|
3651 |
+
} else {
|
3652 |
+
script.onload = function() {
|
3653 |
+
_this[vendor].loaded = true;
|
3654 |
+
_this.done(vendor);
|
3655 |
+
};
|
3656 |
+
}
|
3657 |
+
|
3658 |
+
document.body.appendChild(script);
|
3659 |
+
},
|
3660 |
+
done: function(vendor) {
|
3661 |
+
var instance, $el, player;
|
3662 |
+
|
3663 |
+
if (vendor === "youtube") {
|
3664 |
+
delete window.onYouTubeIframeAPIReady;
|
3665 |
+
}
|
3666 |
+
|
3667 |
+
instance = $.fancybox.getInstance();
|
3668 |
+
|
3669 |
+
if (instance) {
|
3670 |
+
$el = instance.current.$content.find("iframe");
|
3671 |
+
|
3672 |
+
if (vendor === "youtube" && YT !== undefined && YT) {
|
3673 |
+
player = new YT.Player($el.attr("id"), {
|
3674 |
+
events: {
|
3675 |
+
onStateChange: function(e) {
|
3676 |
+
if (e.data == 0) {
|
3677 |
+
instance.next();
|
3678 |
+
}
|
3679 |
+
}
|
3680 |
+
}
|
3681 |
+
});
|
3682 |
+
} else if (vendor === "vimeo" && Vimeo !== undefined && Vimeo) {
|
3683 |
+
player = new Vimeo.Player($el);
|
3684 |
+
|
3685 |
+
player.on("ended", function() {
|
3686 |
+
instance.next();
|
3687 |
+
});
|
3688 |
+
}
|
3689 |
+
}
|
3690 |
+
}
|
3691 |
+
};
|
3692 |
+
|
3693 |
+
$(document).on({
|
3694 |
+
"afterShow.fb": function(e, instance, current) {
|
3695 |
+
if (instance.group.length > 1 && (current.contentSource === "youtube" || current.contentSource === "vimeo")) {
|
3696 |
+
VideoAPILoader.load(current.contentSource);
|
3697 |
+
}
|
3698 |
+
}
|
3699 |
+
});
|
3700 |
+
})(jQuery);
|
3701 |
+
|
3702 |
+
// ==========================================================================
|
3703 |
+
//
|
3704 |
+
// Guestures
|
3705 |
+
// Adds touch guestures, handles click and tap events
|
3706 |
+
//
|
3707 |
+
// ==========================================================================
|
3708 |
+
(function(window, document, $) {
|
3709 |
+
"use strict";
|
3710 |
+
|
3711 |
+
var requestAFrame = (function() {
|
3712 |
+
return (
|
3713 |
+
window.requestAnimationFrame ||
|
3714 |
+
window.webkitRequestAnimationFrame ||
|
3715 |
+
window.mozRequestAnimationFrame ||
|
3716 |
+
window.oRequestAnimationFrame ||
|
3717 |
+
// if all else fails, use setTimeout
|
3718 |
+
function(callback) {
|
3719 |
+
return window.setTimeout(callback, 1000 / 60);
|
3720 |
+
}
|
3721 |
+
);
|
3722 |
+
})();
|
3723 |
+
|
3724 |
+
var cancelAFrame = (function() {
|
3725 |
+
return (
|
3726 |
+
window.cancelAnimationFrame ||
|
3727 |
+
window.webkitCancelAnimationFrame ||
|
3728 |
+
window.mozCancelAnimationFrame ||
|
3729 |
+
window.oCancelAnimationFrame ||
|
3730 |
+
function(id) {
|
3731 |
+
window.clearTimeout(id);
|
3732 |
+
}
|
3733 |
+
);
|
3734 |
+
})();
|
3735 |
+
|
3736 |
+
var getPointerXY = function(e) {
|
3737 |
+
var result = [];
|
3738 |
+
|
3739 |
+
e = e.originalEvent || e || window.e;
|
3740 |
+
e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];
|
3741 |
+
|
3742 |
+
for (var key in e) {
|
3743 |
+
if (e[key].pageX) {
|
3744 |
+
result.push({
|
3745 |
+
x: e[key].pageX,
|
3746 |
+
y: e[key].pageY
|
3747 |
+
});
|
3748 |
+
} else if (e[key].clientX) {
|
3749 |
+
result.push({
|
3750 |
+
x: e[key].clientX,
|
3751 |
+
y: e[key].clientY
|
3752 |
+
});
|
3753 |
+
}
|
3754 |
+
}
|
3755 |
+
|
3756 |
+
return result;
|
3757 |
+
};
|
3758 |
+
|
3759 |
+
var distance = function(point2, point1, what) {
|
3760 |
+
if (!point1 || !point2) {
|
3761 |
+
return 0;
|
3762 |
+
}
|
3763 |
+
|
3764 |
+
if (what === "x") {
|
3765 |
+
return point2.x - point1.x;
|
3766 |
+
} else if (what === "y") {
|
3767 |
+
return point2.y - point1.y;
|
3768 |
+
}
|
3769 |
+
|
3770 |
+
return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
|
3771 |
+
};
|
3772 |
+
|
3773 |
+
var isClickable = function($el) {
|
3774 |
+
if (
|
3775 |
+
$el.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe') ||
|
3776 |
+
$.isFunction($el.get(0).onclick) ||
|
3777 |
+
$el.data("selectable")
|
3778 |
+
) {
|
3779 |
+
return true;
|
3780 |
+
}
|
3781 |
+
|
3782 |
+
// Check for attributes like data-fancybox-next or data-fancybox-close
|
3783 |
+
for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) {
|
3784 |
+
if (atts[i].nodeName.substr(0, 14) === "data-fancybox-") {
|
3785 |
+
return true;
|
3786 |
+
}
|
3787 |
+
}
|
3788 |
+
|
3789 |
+
return false;
|
3790 |
+
};
|
3791 |
+
|
3792 |
+
var hasScrollbars = function(el) {
|
3793 |
+
var overflowY = window.getComputedStyle(el)["overflow-y"],
|
3794 |
+
overflowX = window.getComputedStyle(el)["overflow-x"],
|
3795 |
+
vertical = (overflowY === "scroll" || overflowY === "auto") && el.scrollHeight > el.clientHeight,
|
3796 |
+
horizontal = (overflowX === "scroll" || overflowX === "auto") && el.scrollWidth > el.clientWidth;
|
3797 |
+
|
3798 |
+
return vertical || horizontal;
|
3799 |
+
};
|
3800 |
+
|
3801 |
+
var isScrollable = function($el) {
|
3802 |
+
var rez = false;
|
3803 |
+
|
3804 |
+
while (true) {
|
3805 |
+
rez = hasScrollbars($el.get(0));
|
3806 |
+
|
3807 |
+
if (rez) {
|
3808 |
+
break;
|
3809 |
+
}
|
3810 |
+
|
3811 |
+
$el = $el.parent();
|
3812 |
+
|
3813 |
+
if (!$el.length || $el.hasClass("fancybox-stage") || $el.is("body")) {
|
3814 |
+
break;
|
3815 |
+
}
|
3816 |
+
}
|
3817 |
+
|
3818 |
+
return rez;
|
3819 |
+
};
|
3820 |
+
|
3821 |
+
var Guestures = function(instance) {
|
3822 |
+
var self = this;
|
3823 |
+
|
3824 |
+
self.instance = instance;
|
3825 |
+
|
3826 |
+
self.$bg = instance.$refs.bg;
|
3827 |
+
self.$stage = instance.$refs.stage;
|
3828 |
+
self.$container = instance.$refs.container;
|
3829 |
+
|
3830 |
+
self.destroy();
|
3831 |
+
|
3832 |
+
self.$container.on("touchstart.fb.touch mousedown.fb.touch", $.proxy(self, "ontouchstart"));
|
3833 |
+
};
|
3834 |
+
|
3835 |
+
Guestures.prototype.destroy = function() {
|
3836 |
+
var self = this;
|
3837 |
+
|
3838 |
+
self.$container.off(".fb.touch");
|
3839 |
+
|
3840 |
+
$(document).off(".fb.touch");
|
3841 |
+
|
3842 |
+
if (self.requestId) {
|
3843 |
+
cancelAFrame(self.requestId);
|
3844 |
+
self.requestId = null;
|
3845 |
+
}
|
3846 |
+
|
3847 |
+
if (self.tapped) {
|
3848 |
+
clearTimeout(self.tapped);
|
3849 |
+
self.tapped = null;
|
3850 |
+
}
|
3851 |
+
};
|
3852 |
+
|
3853 |
+
Guestures.prototype.ontouchstart = function(e) {
|
3854 |
+
var self = this,
|
3855 |
+
$target = $(e.target),
|
3856 |
+
instance = self.instance,
|
3857 |
+
current = instance.current,
|
3858 |
+
$slide = current.$slide,
|
3859 |
+
$content = current.$content,
|
3860 |
+
isTouchDevice = e.type == "touchstart";
|
3861 |
+
|
3862 |
+
// Do not respond to both (touch and mouse) events
|
3863 |
+
if (isTouchDevice) {
|
3864 |
+
self.$container.off("mousedown.fb.touch");
|
3865 |
+
}
|
3866 |
+
|
3867 |
+
// Ignore right click
|
3868 |
+
if (e.originalEvent && e.originalEvent.button == 2) {
|
3869 |
+
return;
|
3870 |
+
}
|
3871 |
+
|
3872 |
+
// Ignore taping on links, buttons, input elements
|
3873 |
+
if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) {
|
3874 |
+
return;
|
3875 |
+
}
|
3876 |
+
// Ignore clicks on the scrollbar
|
3877 |
+
if (!$target.is("img") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) {
|
3878 |
+
return;
|
3879 |
+
}
|
3880 |
+
|
3881 |
+
// Ignore clicks while zooming or closing
|
3882 |
+
if (!current || instance.isAnimating || current.$slide.hasClass("fancybox-animated")) {
|
3883 |
+
e.stopPropagation();
|
3884 |
+
e.preventDefault();
|
3885 |
+
|
3886 |
+
return;
|
3887 |
+
}
|
3888 |
+
|
3889 |
+
self.realPoints = self.startPoints = getPointerXY(e);
|
3890 |
+
|
3891 |
+
if (!self.startPoints.length) {
|
3892 |
+
return;
|
3893 |
+
}
|
3894 |
+
|
3895 |
+
// Allow other scripts to catch touch event if "touch" is set to false
|
3896 |
+
if (current.touch) {
|
3897 |
+
e.stopPropagation();
|
3898 |
+
}
|
3899 |
+
|
3900 |
+
self.startEvent = e;
|
3901 |
+
|
3902 |
+
self.canTap = true;
|
3903 |
+
self.$target = $target;
|
3904 |
+
self.$content = $content;
|
3905 |
+
self.opts = current.opts.touch;
|
3906 |
+
|
3907 |
+
self.isPanning = false;
|
3908 |
+
self.isSwiping = false;
|
3909 |
+
self.isZooming = false;
|
3910 |
+
self.isScrolling = false;
|
3911 |
+
self.canPan = instance.canPan();
|
3912 |
+
|
3913 |
+
self.startTime = new Date().getTime();
|
3914 |
+
self.distanceX = self.distanceY = self.distance = 0;
|
3915 |
+
|
3916 |
+
self.canvasWidth = Math.round($slide[0].clientWidth);
|
3917 |
+
self.canvasHeight = Math.round($slide[0].clientHeight);
|
3918 |
+
|
3919 |
+
self.contentLastPos = null;
|
3920 |
+
self.contentStartPos = $.fancybox.getTranslate(self.$content) || {top: 0, left: 0};
|
3921 |
+
self.sliderStartPos = $.fancybox.getTranslate($slide);
|
3922 |
+
|
3923 |
+
// Since position will be absolute, but we need to make it relative to the stage
|
3924 |
+
self.stagePos = $.fancybox.getTranslate(instance.$refs.stage);
|
3925 |
+
|
3926 |
+
self.sliderStartPos.top -= self.stagePos.top;
|
3927 |
+
self.sliderStartPos.left -= self.stagePos.left;
|
3928 |
+
|
3929 |
+
self.contentStartPos.top -= self.stagePos.top;
|
3930 |
+
self.contentStartPos.left -= self.stagePos.left;
|
3931 |
+
|
3932 |
+
$(document)
|
3933 |
+
.off(".fb.touch")
|
3934 |
+
.on(isTouchDevice ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", $.proxy(self, "ontouchend"))
|
3935 |
+
.on(isTouchDevice ? "touchmove.fb.touch" : "mousemove.fb.touch", $.proxy(self, "ontouchmove"));
|
3936 |
+
|
3937 |
+
if ($.fancybox.isMobile) {
|
3938 |
+
document.addEventListener("scroll", self.onscroll, true);
|
3939 |
+
}
|
3940 |
+
|
3941 |
+
// Skip if clicked outside the sliding area
|
3942 |
+
if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) {
|
3943 |
+
if ($target.is(".fancybox-image")) {
|
3944 |
+
e.preventDefault();
|
3945 |
+
}
|
3946 |
+
|
3947 |
+
if (!($.fancybox.isMobile && $target.hasClass("fancybox-caption"))) {
|
3948 |
+
return;
|
3949 |
+
}
|
3950 |
+
}
|
3951 |
+
|
3952 |
+
self.isScrollable = isScrollable($target) || isScrollable($target.parent());
|
3953 |
+
|
3954 |
+
// Check if element is scrollable and try to prevent default behavior (scrolling)
|
3955 |
+
if (!($.fancybox.isMobile && self.isScrollable)) {
|
3956 |
+
e.preventDefault();
|
3957 |
+
}
|
3958 |
+
|
3959 |
+
// One finger or mouse click - swipe or pan an image
|
3960 |
+
if (self.startPoints.length === 1 || current.hasError) {
|
3961 |
+
if (self.canPan) {
|
3962 |
+
$.fancybox.stop(self.$content);
|
3963 |
+
|
3964 |
+
self.isPanning = true;
|
3965 |
+
} else {
|
3966 |
+
self.isSwiping = true;
|
3967 |
+
}
|
3968 |
+
|
3969 |
+
self.$container.addClass("fancybox-is-grabbing");
|
3970 |
+
}
|
3971 |
+
|
3972 |
+
// Two fingers - zoom image
|
3973 |
+
if (self.startPoints.length === 2 && current.type === "image" && (current.isLoaded || current.$ghost)) {
|
3974 |
+
self.canTap = false;
|
3975 |
+
self.isSwiping = false;
|
3976 |
+
self.isPanning = false;
|
3977 |
+
|
3978 |
+
self.isZooming = true;
|
3979 |
+
|
3980 |
+
$.fancybox.stop(self.$content);
|
3981 |
+
|
3982 |
+
self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();
|
3983 |
+
self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();
|
3984 |
+
|
3985 |
+
self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width;
|
3986 |
+
self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height;
|
3987 |
+
|
3988 |
+
self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]);
|
3989 |
+
}
|
3990 |
+
};
|
3991 |
+
|
3992 |
+
Guestures.prototype.onscroll = function(e) {
|
3993 |
+
var self = this;
|
3994 |
+
|
3995 |
+
self.isScrolling = true;
|
3996 |
+
|
3997 |
+
document.removeEventListener("scroll", self.onscroll, true);
|
3998 |
+
};
|
3999 |
+
|
4000 |
+
Guestures.prototype.ontouchmove = function(e) {
|
4001 |
+
var self = this;
|
4002 |
+
|
4003 |
+
// Make sure user has not released over iframe or disabled element
|
4004 |
+
if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) {
|
4005 |
+
self.ontouchend(e);
|
4006 |
+
return;
|
4007 |
+
}
|
4008 |
+
|
4009 |
+
if (self.isScrolling) {
|
4010 |
+
self.canTap = false;
|
4011 |
+
return;
|
4012 |
+
}
|
4013 |
+
|
4014 |
+
self.newPoints = getPointerXY(e);
|
4015 |
+
|
4016 |
+
if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) {
|
4017 |
+
return;
|
4018 |
+
}
|
4019 |
+
|
4020 |
+
if (!(self.isSwiping && self.isSwiping === true)) {
|
4021 |
+
e.preventDefault();
|
4022 |
+
}
|
4023 |
+
|
4024 |
+
self.distanceX = distance(self.newPoints[0], self.startPoints[0], "x");
|
4025 |
+
self.distanceY = distance(self.newPoints[0], self.startPoints[0], "y");
|
4026 |
+
|
4027 |
+
self.distance = distance(self.newPoints[0], self.startPoints[0]);
|
4028 |
+
|
4029 |
+
// Skip false ontouchmove events (Chrome)
|
4030 |
+
if (self.distance > 0) {
|
4031 |
+
if (self.isSwiping) {
|
4032 |
+
self.onSwipe(e);
|
4033 |
+
} else if (self.isPanning) {
|
4034 |
+
self.onPan();
|
4035 |
+
} else if (self.isZooming) {
|
4036 |
+
self.onZoom();
|
4037 |
+
}
|
4038 |
+
}
|
4039 |
+
};
|
4040 |
+
|
4041 |
+
Guestures.prototype.onSwipe = function(e) {
|
4042 |
+
var self = this,
|
4043 |
+
instance = self.instance,
|
4044 |
+
swiping = self.isSwiping,
|
4045 |
+
left = self.sliderStartPos.left || 0,
|
4046 |
+
angle;
|
4047 |
+
|
4048 |
+
// If direction is not yet determined
|
4049 |
+
if (swiping === true) {
|
4050 |
+
// We need at least 10px distance to correctly calculate an angle
|
4051 |
+
if (Math.abs(self.distance) > 10) {
|
4052 |
+
self.canTap = false;
|
4053 |
+
|
4054 |
+
if (instance.group.length < 2 && self.opts.vertical) {
|
4055 |
+
self.isSwiping = "y";
|
4056 |
+
} else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === "auto" && $(window).width() > 800)) {
|
4057 |
+
self.isSwiping = "x";
|
4058 |
+
} else {
|
4059 |
+
angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI);
|
4060 |
+
|
4061 |
+
self.isSwiping = angle > 45 && angle < 135 ? "y" : "x";
|
4062 |
+
}
|
4063 |
+
|
4064 |
+
if (self.isSwiping === "y" && $.fancybox.isMobile && self.isScrollable) {
|
4065 |
+
self.isScrolling = true;
|
4066 |
+
|
4067 |
+
return;
|
4068 |
+
}
|
4069 |
+
|
4070 |
+
instance.isDragging = self.isSwiping;
|
4071 |
+
|
4072 |
+
// Reset points to avoid jumping, because we dropped first swipes to calculate the angle
|
4073 |
+
self.startPoints = self.newPoints;
|
4074 |
+
|
4075 |
+
$.each(instance.slides, function(index, slide) {
|
4076 |
+
var slidePos, stagePos;
|
4077 |
+
|
4078 |
+
$.fancybox.stop(slide.$slide);
|
4079 |
+
|
4080 |
+
slidePos = $.fancybox.getTranslate(slide.$slide);
|
4081 |
+
stagePos = $.fancybox.getTranslate(instance.$refs.stage);
|
4082 |
+
|
4083 |
+
slide.$slide
|
4084 |
+
.css({
|
4085 |
+
transform: "",
|
4086 |
+
opacity: "",
|
4087 |
+
"transition-duration": ""
|
4088 |
+
})
|
4089 |
+
.removeClass("fancybox-animated")
|
4090 |
+
.removeClass(function(index, className) {
|
4091 |
+
return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
|
4092 |
+
});
|
4093 |
+
|
4094 |
+
if (slide.pos === instance.current.pos) {
|
4095 |
+
self.sliderStartPos.top = slidePos.top - stagePos.top;
|
4096 |
+
self.sliderStartPos.left = slidePos.left - stagePos.left;
|
4097 |
+
}
|
4098 |
+
|
4099 |
+
$.fancybox.setTranslate(slide.$slide, {
|
4100 |
+
top: slidePos.top - stagePos.top,
|
4101 |
+
left: slidePos.left - stagePos.left
|
4102 |
+
});
|
4103 |
+
});
|
4104 |
+
|
4105 |
+
// Stop slideshow
|
4106 |
+
if (instance.SlideShow && instance.SlideShow.isActive) {
|
4107 |
+
instance.SlideShow.stop();
|
4108 |
+
}
|
4109 |
+
}
|
4110 |
+
|
4111 |
+
return;
|
4112 |
+
}
|
4113 |
+
|
4114 |
+
// Sticky edges
|
4115 |
+
if (swiping == "x") {
|
4116 |
+
if (
|
4117 |
+
self.distanceX > 0 &&
|
4118 |
+
(self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop))
|
4119 |
+
) {
|
4120 |
+
left = left + Math.pow(self.distanceX, 0.8);
|
4121 |
+
} else if (
|
4122 |
+
self.distanceX < 0 &&
|
4123 |
+
(self.instance.group.length < 2 ||
|
4124 |
+
(self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop))
|
4125 |
+
) {
|
4126 |
+
left = left - Math.pow(-self.distanceX, 0.8);
|
4127 |
+
} else {
|
4128 |
+
left = left + self.distanceX;
|
4129 |
+
}
|
4130 |
+
}
|
4131 |
+
|
4132 |
+
self.sliderLastPos = {
|
4133 |
+
top: swiping == "x" ? 0 : self.sliderStartPos.top + self.distanceY,
|
4134 |
+
left: left
|
4135 |
+
};
|
4136 |
+
|
4137 |
+
if (self.requestId) {
|
4138 |
+
cancelAFrame(self.requestId);
|
4139 |
+
|
4140 |
+
self.requestId = null;
|
4141 |
+
}
|
4142 |
+
|
4143 |
+
self.requestId = requestAFrame(function() {
|
4144 |
+
if (self.sliderLastPos) {
|
4145 |
+
$.each(self.instance.slides, function(index, slide) {
|
4146 |
+
var pos = slide.pos - self.instance.currPos;
|
4147 |
+
|
4148 |
+
$.fancybox.setTranslate(slide.$slide, {
|
4149 |
+
top: self.sliderLastPos.top,
|
4150 |
+
left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter
|
4151 |
+
});
|
4152 |
+
});
|
4153 |
+
|
4154 |
+
self.$container.addClass("fancybox-is-sliding");
|
4155 |
+
}
|
4156 |
+
});
|
4157 |
+
};
|
4158 |
+
|
4159 |
+
Guestures.prototype.onPan = function() {
|
4160 |
+
var self = this;
|
4161 |
+
|
4162 |
+
// Prevent accidental movement (sometimes, when tapping casually, finger can move a bit)
|
4163 |
+
if (distance(self.newPoints[0], self.realPoints[0]) < ($.fancybox.isMobile ? 10 : 5)) {
|
4164 |
+
self.startPoints = self.newPoints;
|
4165 |
+
return;
|
4166 |
+
}
|
4167 |
+
|
4168 |
+
self.canTap = false;
|
4169 |
+
|
4170 |
+
self.contentLastPos = self.limitMovement();
|
4171 |
+
|
4172 |
+
if (self.requestId) {
|
4173 |
+
cancelAFrame(self.requestId);
|
4174 |
+
}
|
4175 |
+
|
4176 |
+
self.requestId = requestAFrame(function() {
|
4177 |
+
$.fancybox.setTranslate(self.$content, self.contentLastPos);
|
4178 |
+
});
|
4179 |
+
};
|
4180 |
+
|
4181 |
+
// Make panning sticky to the edges
|
4182 |
+
Guestures.prototype.limitMovement = function() {
|
4183 |
+
var self = this;
|
4184 |
+
|
4185 |
+
var canvasWidth = self.canvasWidth;
|
4186 |
+
var canvasHeight = self.canvasHeight;
|
4187 |
+
|
4188 |
+
var distanceX = self.distanceX;
|
4189 |
+
var distanceY = self.distanceY;
|
4190 |
+
|
4191 |
+
var contentStartPos = self.contentStartPos;
|
4192 |
+
|
4193 |
+
var currentOffsetX = contentStartPos.left;
|
4194 |
+
var currentOffsetY = contentStartPos.top;
|
4195 |
+
|
4196 |
+
var currentWidth = contentStartPos.width;
|
4197 |
+
var currentHeight = contentStartPos.height;
|
4198 |
+
|
4199 |
+
var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY;
|
4200 |
+
|
4201 |
+
if (currentWidth > canvasWidth) {
|
4202 |
+
newOffsetX = currentOffsetX + distanceX;
|
4203 |
+
} else {
|
4204 |
+
newOffsetX = currentOffsetX;
|
4205 |
+
}
|
4206 |
+
|
4207 |
+
newOffsetY = currentOffsetY + distanceY;
|
4208 |
+
|
4209 |
+
// Slow down proportionally to traveled distance
|
4210 |
+
minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5);
|
4211 |
+
minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5);
|
4212 |
+
|
4213 |
+
maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5);
|
4214 |
+
maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5);
|
4215 |
+
|
4216 |
+
// ->
|
4217 |
+
if (distanceX > 0 && newOffsetX > minTranslateX) {
|
4218 |
+
newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0;
|
4219 |
+
}
|
4220 |
+
|
4221 |
+
// <-
|
4222 |
+
if (distanceX < 0 && newOffsetX < maxTranslateX) {
|
4223 |
+
newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0;
|
4224 |
+
}
|
4225 |
+
|
4226 |
+
// \/
|
4227 |
+
if (distanceY > 0 && newOffsetY > minTranslateY) {
|
4228 |
+
newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0;
|
4229 |
+
}
|
4230 |
+
|
4231 |
+
// /\
|
4232 |
+
if (distanceY < 0 && newOffsetY < maxTranslateY) {
|
4233 |
+
newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0;
|
4234 |
+
}
|
4235 |
+
|
4236 |
+
return {
|
4237 |
+
top: newOffsetY,
|
4238 |
+
left: newOffsetX
|
4239 |
+
};
|
4240 |
+
};
|
4241 |
+
|
4242 |
+
Guestures.prototype.limitPosition = function(newOffsetX, newOffsetY, newWidth, newHeight) {
|
4243 |
+
var self = this;
|
4244 |
+
|
4245 |
+
var canvasWidth = self.canvasWidth;
|
4246 |
+
var canvasHeight = self.canvasHeight;
|
4247 |
+
|
4248 |
+
if (newWidth > canvasWidth) {
|
4249 |
+
newOffsetX = newOffsetX > 0 ? 0 : newOffsetX;
|
4250 |
+
newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX;
|
4251 |
+
} else {
|
4252 |
+
// Center horizontally
|
4253 |
+
newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2);
|
4254 |
+
}
|
4255 |
+
|
4256 |
+
if (newHeight > canvasHeight) {
|
4257 |
+
newOffsetY = newOffsetY > 0 ? 0 : newOffsetY;
|
4258 |
+
newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY;
|
4259 |
+
} else {
|
4260 |
+
// Center vertically
|
4261 |
+
newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2);
|
4262 |
+
}
|
4263 |
+
|
4264 |
+
return {
|
4265 |
+
top: newOffsetY,
|
4266 |
+
left: newOffsetX
|
4267 |
+
};
|
4268 |
+
};
|
4269 |
+
|
4270 |
+
Guestures.prototype.onZoom = function() {
|
4271 |
+
var self = this;
|
4272 |
+
|
4273 |
+
// Calculate current distance between points to get pinch ratio and new width and height
|
4274 |
+
var contentStartPos = self.contentStartPos;
|
4275 |
+
|
4276 |
+
var currentWidth = contentStartPos.width;
|
4277 |
+
var currentHeight = contentStartPos.height;
|
4278 |
+
|
4279 |
+
var currentOffsetX = contentStartPos.left;
|
4280 |
+
var currentOffsetY = contentStartPos.top;
|
4281 |
+
|
4282 |
+
var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]);
|
4283 |
+
|
4284 |
+
var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers;
|
4285 |
+
|
4286 |
+
var newWidth = Math.floor(currentWidth * pinchRatio);
|
4287 |
+
var newHeight = Math.floor(currentHeight * pinchRatio);
|
4288 |
+
|
4289 |
+
// This is the translation due to pinch-zooming
|
4290 |
+
var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX;
|
4291 |
+
var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY;
|
4292 |
+
|
4293 |
+
// Point between the two touches
|
4294 |
+
var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft();
|
4295 |
+
var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop();
|
4296 |
+
|
4297 |
+
// And this is the translation due to translation of the centerpoint
|
4298 |
+
// between the two fingers
|
4299 |
+
var translateFromTranslatingX = centerPointEndX - self.centerPointStartX;
|
4300 |
+
var translateFromTranslatingY = centerPointEndY - self.centerPointStartY;
|
4301 |
+
|
4302 |
+
// The new offset is the old/current one plus the total translation
|
4303 |
+
var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX);
|
4304 |
+
var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY);
|
4305 |
+
|
4306 |
+
var newPos = {
|
4307 |
+
top: newOffsetY,
|
4308 |
+
left: newOffsetX,
|
4309 |
+
scaleX: pinchRatio,
|
4310 |
+
scaleY: pinchRatio
|
4311 |
+
};
|
4312 |
+
|
4313 |
+
self.canTap = false;
|
4314 |
+
|
4315 |
+
self.newWidth = newWidth;
|
4316 |
+
self.newHeight = newHeight;
|
4317 |
+
|
4318 |
+
self.contentLastPos = newPos;
|
4319 |
+
|
4320 |
+
if (self.requestId) {
|
4321 |
+
cancelAFrame(self.requestId);
|
4322 |
+
}
|
4323 |
+
|
4324 |
+
self.requestId = requestAFrame(function() {
|
4325 |
+
$.fancybox.setTranslate(self.$content, self.contentLastPos);
|
4326 |
+
});
|
4327 |
+
};
|
4328 |
+
|
4329 |
+
Guestures.prototype.ontouchend = function(e) {
|
4330 |
+
var self = this;
|
4331 |
+
|
4332 |
+
var swiping = self.isSwiping;
|
4333 |
+
var panning = self.isPanning;
|
4334 |
+
var zooming = self.isZooming;
|
4335 |
+
var scrolling = self.isScrolling;
|
4336 |
+
|
4337 |
+
self.endPoints = getPointerXY(e);
|
4338 |
+
self.dMs = Math.max(new Date().getTime() - self.startTime, 1);
|
4339 |
+
|
4340 |
+
self.$container.removeClass("fancybox-is-grabbing");
|
4341 |
+
|
4342 |
+
$(document).off(".fb.touch");
|
4343 |
+
|
4344 |
+
document.removeEventListener("scroll", self.onscroll, true);
|
4345 |
+
|
4346 |
+
if (self.requestId) {
|
4347 |
+
cancelAFrame(self.requestId);
|
4348 |
+
|
4349 |
+
self.requestId = null;
|
4350 |
+
}
|
4351 |
+
|
4352 |
+
self.isSwiping = false;
|
4353 |
+
self.isPanning = false;
|
4354 |
+
self.isZooming = false;
|
4355 |
+
self.isScrolling = false;
|
4356 |
+
|
4357 |
+
self.instance.isDragging = false;
|
4358 |
+
|
4359 |
+
if (self.canTap) {
|
4360 |
+
return self.onTap(e);
|
4361 |
+
}
|
4362 |
+
|
4363 |
+
self.speed = 100;
|
4364 |
+
|
4365 |
+
// Speed in px/ms
|
4366 |
+
self.velocityX = (self.distanceX / self.dMs) * 0.5;
|
4367 |
+
self.velocityY = (self.distanceY / self.dMs) * 0.5;
|
4368 |
+
|
4369 |
+
if (panning) {
|
4370 |
+
self.endPanning();
|
4371 |
+
} else if (zooming) {
|
4372 |
+
self.endZooming();
|
4373 |
+
} else {
|
4374 |
+
self.endSwiping(swiping, scrolling);
|
4375 |
+
}
|
4376 |
+
|
4377 |
+
return;
|
4378 |
+
};
|
4379 |
+
|
4380 |
+
Guestures.prototype.endSwiping = function(swiping, scrolling) {
|
4381 |
+
var self = this,
|
4382 |
+
ret = false,
|
4383 |
+
len = self.instance.group.length,
|
4384 |
+
distanceX = Math.abs(self.distanceX),
|
4385 |
+
canAdvance = swiping == "x" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),
|
4386 |
+
speedX = 300;
|
4387 |
+
|
4388 |
+
self.sliderLastPos = null;
|
4389 |
+
|
4390 |
+
// Close if swiped vertically / navigate if horizontally
|
4391 |
+
if (swiping == "y" && !scrolling && Math.abs(self.distanceY) > 50) {
|
4392 |
+
// Continue vertical movement
|
4393 |
+
$.fancybox.animate(
|
4394 |
+
self.instance.current.$slide,
|
4395 |
+
{
|
4396 |
+
top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150,
|
4397 |
+
opacity: 0
|
4398 |
+
},
|
4399 |
+
200
|
4400 |
+
);
|
4401 |
+
ret = self.instance.close(true, 250);
|
4402 |
+
} else if (canAdvance && self.distanceX > 0) {
|
4403 |
+
ret = self.instance.previous(speedX);
|
4404 |
+
} else if (canAdvance && self.distanceX < 0) {
|
4405 |
+
ret = self.instance.next(speedX);
|
4406 |
+
}
|
4407 |
+
|
4408 |
+
if (ret === false && (swiping == "x" || swiping == "y")) {
|
4409 |
+
self.instance.centerSlide(200);
|
4410 |
+
}
|
4411 |
+
|
4412 |
+
self.$container.removeClass("fancybox-is-sliding");
|
4413 |
+
};
|
4414 |
+
|
4415 |
+
// Limit panning from edges
|
4416 |
+
// ========================
|
4417 |
+
Guestures.prototype.endPanning = function() {
|
4418 |
+
var self = this,
|
4419 |
+
newOffsetX,
|
4420 |
+
newOffsetY,
|
4421 |
+
newPos;
|
4422 |
+
|
4423 |
+
if (!self.contentLastPos) {
|
4424 |
+
return;
|
4425 |
+
}
|
4426 |
+
|
4427 |
+
if (self.opts.momentum === false || self.dMs > 350) {
|
4428 |
+
newOffsetX = self.contentLastPos.left;
|
4429 |
+
newOffsetY = self.contentLastPos.top;
|
4430 |
+
} else {
|
4431 |
+
// Continue movement
|
4432 |
+
newOffsetX = self.contentLastPos.left + self.velocityX * 500;
|
4433 |
+
newOffsetY = self.contentLastPos.top + self.velocityY * 500;
|
4434 |
+
}
|
4435 |
+
|
4436 |
+
newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height);
|
4437 |
+
|
4438 |
+
newPos.width = self.contentStartPos.width;
|
4439 |
+
newPos.height = self.contentStartPos.height;
|
4440 |
+
|
4441 |
+
$.fancybox.animate(self.$content, newPos, 330);
|
4442 |
+
};
|
4443 |
+
|
4444 |
+
Guestures.prototype.endZooming = function() {
|
4445 |
+
var self = this;
|
4446 |
+
|
4447 |
+
var current = self.instance.current;
|
4448 |
+
|
4449 |
+
var newOffsetX, newOffsetY, newPos, reset;
|
4450 |
+
|
4451 |
+
var newWidth = self.newWidth;
|
4452 |
+
var newHeight = self.newHeight;
|
4453 |
+
|
4454 |
+
if (!self.contentLastPos) {
|
4455 |
+
return;
|
4456 |
+
}
|
4457 |
+
|
4458 |
+
newOffsetX = self.contentLastPos.left;
|
4459 |
+
newOffsetY = self.contentLastPos.top;
|
4460 |
+
|
4461 |
+
reset = {
|
4462 |
+
top: newOffsetY,
|
4463 |
+
left: newOffsetX,
|
4464 |
+
width: newWidth,
|
4465 |
+
height: newHeight,
|
4466 |
+
scaleX: 1,
|
4467 |
+
scaleY: 1
|
4468 |
+
};
|
4469 |
+
|
4470 |
+
// Reset scalex/scaleY values; this helps for perfomance and does not break animation
|
4471 |
+
$.fancybox.setTranslate(self.$content, reset);
|
4472 |
+
|
4473 |
+
if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) {
|
4474 |
+
self.instance.scaleToFit(150);
|
4475 |
+
} else if (newWidth > current.width || newHeight > current.height) {
|
4476 |
+
self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150);
|
4477 |
+
} else {
|
4478 |
+
newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight);
|
4479 |
+
|
4480 |
+
$.fancybox.animate(self.$content, newPos, 150);
|
4481 |
+
}
|
4482 |
+
};
|
4483 |
+
|
4484 |
+
Guestures.prototype.onTap = function(e) {
|
4485 |
+
var self = this;
|
4486 |
+
var $target = $(e.target);
|
4487 |
+
|
4488 |
+
var instance = self.instance;
|
4489 |
+
var current = instance.current;
|
4490 |
+
|
4491 |
+
var endPoints = (e && getPointerXY(e)) || self.startPoints;
|
4492 |
+
|
4493 |
+
var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0;
|
4494 |
+
var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0;
|
4495 |
+
|
4496 |
+
var where;
|
4497 |
+
|
4498 |
+
var process = function(prefix) {
|
4499 |
+
var action = current.opts[prefix];
|
4500 |
+
|
4501 |
+
if ($.isFunction(action)) {
|
4502 |
+
action = action.apply(instance, [current, e]);
|
4503 |
+
}
|
4504 |
+
|
4505 |
+
if (!action) {
|
4506 |
+
return;
|
4507 |
+
}
|
4508 |
+
|
4509 |
+
switch (action) {
|
4510 |
+
case "close":
|
4511 |
+
instance.close(self.startEvent);
|
4512 |
+
|
4513 |
+
break;
|
4514 |
+
|
4515 |
+
case "toggleControls":
|
4516 |
+
instance.toggleControls();
|
4517 |
+
|
4518 |
+
break;
|
4519 |
+
|
4520 |
+
case "next":
|
4521 |
+
instance.next();
|
4522 |
+
|
4523 |
+
break;
|
4524 |
+
|
4525 |
+
case "nextOrClose":
|
4526 |
+
if (instance.group.length > 1) {
|
4527 |
+
instance.next();
|
4528 |
+
} else {
|
4529 |
+
instance.close(self.startEvent);
|
4530 |
+
}
|
4531 |
+
|
4532 |
+
break;
|
4533 |
+
|
4534 |
+
case "zoom":
|
4535 |
+
if (current.type == "image" && (current.isLoaded || current.$ghost)) {
|
4536 |
+
if (instance.canPan()) {
|
4537 |
+
instance.scaleToFit();
|
4538 |
+
} else if (instance.isScaledDown()) {
|
4539 |
+
instance.scaleToActual(tapX, tapY);
|
4540 |
+
} else if (instance.group.length < 2) {
|
4541 |
+
instance.close(self.startEvent);
|
4542 |
+
}
|
4543 |
+
}
|
4544 |
+
|
4545 |
+
break;
|
4546 |
+
}
|
4547 |
+
};
|
4548 |
+
|
4549 |
+
// Ignore right click
|
4550 |
+
if (e.originalEvent && e.originalEvent.button == 2) {
|
4551 |
+
return;
|
4552 |
+
}
|
4553 |
+
|
4554 |
+
// Skip if clicked on the scrollbar
|
4555 |
+
if (!$target.is("img") && tapX > $target[0].clientWidth + $target.offset().left) {
|
4556 |
+
return;
|
4557 |
+
}
|
4558 |
+
|
4559 |
+
// Check where is clicked
|
4560 |
+
if ($target.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) {
|
4561 |
+
where = "Outside";
|
4562 |
+
} else if ($target.is(".fancybox-slide")) {
|
4563 |
+
where = "Slide";
|
4564 |
+
} else if (
|
4565 |
+
instance.current.$content &&
|
4566 |
+
instance.current.$content
|
4567 |
+
.find($target)
|
4568 |
+
.addBack()
|
4569 |
+
.filter($target).length
|
4570 |
+
) {
|
4571 |
+
where = "Content";
|
4572 |
+
} else {
|
4573 |
+
return;
|
4574 |
+
}
|
4575 |
+
|
4576 |
+
// Check if this is a double tap
|
4577 |
+
if (self.tapped) {
|
4578 |
+
// Stop previously created single tap
|
4579 |
+
clearTimeout(self.tapped);
|
4580 |
+
self.tapped = null;
|
4581 |
+
|
4582 |
+
// Skip if distance between taps is too big
|
4583 |
+
if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) {
|
4584 |
+
return this;
|
4585 |
+
}
|
4586 |
+
|
4587 |
+
// OK, now we assume that this is a double-tap
|
4588 |
+
process("dblclick" + where);
|
4589 |
+
} else {
|
4590 |
+
// Single tap will be processed if user has not clicked second time within 300ms
|
4591 |
+
// or there is no need to wait for double-tap
|
4592 |
+
self.tapX = tapX;
|
4593 |
+
self.tapY = tapY;
|
4594 |
+
|
4595 |
+
if (current.opts["dblclick" + where] && current.opts["dblclick" + where] !== current.opts["click" + where]) {
|
4596 |
+
self.tapped = setTimeout(function() {
|
4597 |
+
self.tapped = null;
|
4598 |
+
|
4599 |
+
if (!instance.isAnimating) {
|
4600 |
+
process("click" + where);
|
4601 |
+
}
|
4602 |
+
}, 500);
|
4603 |
+
} else {
|
4604 |
+
process("click" + where);
|
4605 |
+
}
|
4606 |
+
}
|
4607 |
+
|
4608 |
+
return this;
|
4609 |
+
};
|
4610 |
+
|
4611 |
+
$(document)
|
4612 |
+
.on("onActivate.fb", function(e, instance) {
|
4613 |
+
if (instance && !instance.Guestures) {
|
4614 |
+
instance.Guestures = new Guestures(instance);
|
4615 |
+
}
|
4616 |
+
})
|
4617 |
+
.on("beforeClose.fb", function(e, instance) {
|
4618 |
+
if (instance && instance.Guestures) {
|
4619 |
+
instance.Guestures.destroy();
|
4620 |
+
}
|
4621 |
+
});
|
4622 |
+
})(window, document, jQuery);
|
4623 |
+
|
4624 |
+
// ==========================================================================
|
4625 |
+
//
|
4626 |
+
// SlideShow
|
4627 |
+
// Enables slideshow functionality
|
4628 |
+
//
|
4629 |
+
// Example of usage:
|
4630 |
+
// $.fancybox.getInstance().SlideShow.start()
|
4631 |
+
//
|
4632 |
+
// ==========================================================================
|
4633 |
+
(function(document, $) {
|
4634 |
+
"use strict";
|
4635 |
+
|
4636 |
+
$.extend(true, $.fancybox.defaults, {
|
4637 |
+
btnTpl: {
|
4638 |
+
slideShow:
|
4639 |
+
'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}">' +
|
4640 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg>' +
|
4641 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg>' +
|
4642 |
+
"</button>"
|
4643 |
+
},
|
4644 |
+
slideShow: {
|
4645 |
+
autoStart: false,
|
4646 |
+
speed: 3000,
|
4647 |
+
progress: true
|
4648 |
+
}
|
4649 |
+
});
|
4650 |
+
|
4651 |
+
var SlideShow = function(instance) {
|
4652 |
+
this.instance = instance;
|
4653 |
+
this.init();
|
4654 |
+
};
|
4655 |
+
|
4656 |
+
$.extend(SlideShow.prototype, {
|
4657 |
+
timer: null,
|
4658 |
+
isActive: false,
|
4659 |
+
$button: null,
|
4660 |
+
|
4661 |
+
init: function() {
|
4662 |
+
var self = this,
|
4663 |
+
instance = self.instance,
|
4664 |
+
opts = instance.group[instance.currIndex].opts.slideShow;
|
4665 |
+
|
4666 |
+
self.$button = instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function() {
|
4667 |
+
self.toggle();
|
4668 |
+
});
|
4669 |
+
|
4670 |
+
if (instance.group.length < 2 || !opts) {
|
4671 |
+
self.$button.hide();
|
4672 |
+
} else if (opts.progress) {
|
4673 |
+
self.$progress = $('<div class="fancybox-progress"></div>').appendTo(instance.$refs.inner);
|
4674 |
+
}
|
4675 |
+
},
|
4676 |
+
|
4677 |
+
set: function(force) {
|
4678 |
+
var self = this,
|
4679 |
+
instance = self.instance,
|
4680 |
+
current = instance.current;
|
4681 |
+
|
4682 |
+
// Check if reached last element
|
4683 |
+
if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {
|
4684 |
+
if (self.isActive && current.contentType !== "video") {
|
4685 |
+
if (self.$progress) {
|
4686 |
+
$.fancybox.animate(self.$progress.show(), {scaleX: 1}, current.opts.slideShow.speed);
|
4687 |
+
}
|
4688 |
+
|
4689 |
+
self.timer = setTimeout(function() {
|
4690 |
+
instance.jumpTo((instance.currIndex + 1) % instance.group.length);
|
4691 |
+
}, current.opts.slideShow.speed);
|
4692 |
+
}
|
4693 |
+
} else {
|
4694 |
+
self.stop();
|
4695 |
+
instance.idleSecondsCounter = 0;
|
4696 |
+
instance.showControls();
|
4697 |
+
}
|
4698 |
+
},
|
4699 |
+
|
4700 |
+
clear: function() {
|
4701 |
+
var self = this;
|
4702 |
+
|
4703 |
+
clearTimeout(self.timer);
|
4704 |
+
|
4705 |
+
self.timer = null;
|
4706 |
+
|
4707 |
+
if (self.$progress) {
|
4708 |
+
self.$progress.removeAttr("style").hide();
|
4709 |
+
}
|
4710 |
+
},
|
4711 |
+
|
4712 |
+
start: function() {
|
4713 |
+
var self = this,
|
4714 |
+
current = self.instance.current;
|
4715 |
+
|
4716 |
+
if (current) {
|
4717 |
+
self.$button
|
4718 |
+
.attr("title", current.opts.i18n[current.opts.lang].PLAY_STOP)
|
4719 |
+
.removeClass("fancybox-button--play")
|
4720 |
+
.addClass("fancybox-button--pause");
|
4721 |
+
|
4722 |
+
self.isActive = true;
|
4723 |
+
|
4724 |
+
if (current.isComplete) {
|
4725 |
+
self.set(true);
|
4726 |
+
}
|
4727 |
+
|
4728 |
+
self.instance.trigger("onSlideShowChange", true);
|
4729 |
+
}
|
4730 |
+
},
|
4731 |
+
|
4732 |
+
stop: function() {
|
4733 |
+
var self = this,
|
4734 |
+
current = self.instance.current;
|
4735 |
+
|
4736 |
+
self.clear();
|
4737 |
+
|
4738 |
+
self.$button
|
4739 |
+
.attr("title", current.opts.i18n[current.opts.lang].PLAY_START)
|
4740 |
+
.removeClass("fancybox-button--pause")
|
4741 |
+
.addClass("fancybox-button--play");
|
4742 |
+
|
4743 |
+
self.isActive = false;
|
4744 |
+
|
4745 |
+
self.instance.trigger("onSlideShowChange", false);
|
4746 |
+
|
4747 |
+
if (self.$progress) {
|
4748 |
+
self.$progress.removeAttr("style").hide();
|
4749 |
+
}
|
4750 |
+
},
|
4751 |
+
|
4752 |
+
toggle: function() {
|
4753 |
+
var self = this;
|
4754 |
+
|
4755 |
+
if (self.isActive) {
|
4756 |
+
self.stop();
|
4757 |
+
} else {
|
4758 |
+
self.start();
|
4759 |
+
}
|
4760 |
+
}
|
4761 |
+
});
|
4762 |
+
|
4763 |
+
$(document).on({
|
4764 |
+
"onInit.fb": function(e, instance) {
|
4765 |
+
if (instance && !instance.SlideShow) {
|
4766 |
+
instance.SlideShow = new SlideShow(instance);
|
4767 |
+
}
|
4768 |
+
},
|
4769 |
+
|
4770 |
+
"beforeShow.fb": function(e, instance, current, firstRun) {
|
4771 |
+
var SlideShow = instance && instance.SlideShow;
|
4772 |
+
|
4773 |
+
if (firstRun) {
|
4774 |
+
if (SlideShow && current.opts.slideShow.autoStart) {
|
4775 |
+
SlideShow.start();
|
4776 |
+
}
|
4777 |
+
} else if (SlideShow && SlideShow.isActive) {
|
4778 |
+
SlideShow.clear();
|
4779 |
+
}
|
4780 |
+
},
|
4781 |
+
|
4782 |
+
"afterShow.fb": function(e, instance, current) {
|
4783 |
+
var SlideShow = instance && instance.SlideShow;
|
4784 |
+
|
4785 |
+
if (SlideShow && SlideShow.isActive) {
|
4786 |
+
SlideShow.set();
|
4787 |
+
}
|
4788 |
+
},
|
4789 |
+
|
4790 |
+
"afterKeydown.fb": function(e, instance, current, keypress, keycode) {
|
4791 |
+
var SlideShow = instance && instance.SlideShow;
|
4792 |
+
|
4793 |
+
// "P" or Spacebar
|
4794 |
+
if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is("button,a,input")) {
|
4795 |
+
keypress.preventDefault();
|
4796 |
+
|
4797 |
+
SlideShow.toggle();
|
4798 |
+
}
|
4799 |
+
},
|
4800 |
+
|
4801 |
+
"beforeClose.fb onDeactivate.fb": function(e, instance) {
|
4802 |
+
var SlideShow = instance && instance.SlideShow;
|
4803 |
+
|
4804 |
+
if (SlideShow) {
|
4805 |
+
SlideShow.stop();
|
4806 |
+
}
|
4807 |
+
}
|
4808 |
+
});
|
4809 |
+
|
4810 |
+
// Page Visibility API to pause slideshow when window is not active
|
4811 |
+
$(document).on("visibilitychange", function() {
|
4812 |
+
var instance = $.fancybox.getInstance(),
|
4813 |
+
SlideShow = instance && instance.SlideShow;
|
4814 |
+
|
4815 |
+
if (SlideShow && SlideShow.isActive) {
|
4816 |
+
if (document.hidden) {
|
4817 |
+
SlideShow.clear();
|
4818 |
+
} else {
|
4819 |
+
SlideShow.set();
|
4820 |
+
}
|
4821 |
+
}
|
4822 |
+
});
|
4823 |
+
})(document, jQuery);
|
4824 |
+
|
4825 |
+
// ==========================================================================
|
4826 |
+
//
|
4827 |
+
// FullScreen
|
4828 |
+
// Adds fullscreen functionality
|
4829 |
+
//
|
4830 |
+
// ==========================================================================
|
4831 |
+
(function(document, $) {
|
4832 |
+
"use strict";
|
4833 |
+
|
4834 |
+
// Collection of methods supported by user browser
|
4835 |
+
var fn = (function() {
|
4836 |
+
var fnMap = [
|
4837 |
+
["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
|
4838 |
+
// new WebKit
|
4839 |
+
[
|
4840 |
+
"webkitRequestFullscreen",
|
4841 |
+
"webkitExitFullscreen",
|
4842 |
+
"webkitFullscreenElement",
|
4843 |
+
"webkitFullscreenEnabled",
|
4844 |
+
"webkitfullscreenchange",
|
4845 |
+
"webkitfullscreenerror"
|
4846 |
+
],
|
4847 |
+
// old WebKit (Safari 5.1)
|
4848 |
+
[
|
4849 |
+
"webkitRequestFullScreen",
|
4850 |
+
"webkitCancelFullScreen",
|
4851 |
+
"webkitCurrentFullScreenElement",
|
4852 |
+
"webkitCancelFullScreen",
|
4853 |
+
"webkitfullscreenchange",
|
4854 |
+
"webkitfullscreenerror"
|
4855 |
+
],
|
4856 |
+
[
|
4857 |
+
"mozRequestFullScreen",
|
4858 |
+
"mozCancelFullScreen",
|
4859 |
+
"mozFullScreenElement",
|
4860 |
+
"mozFullScreenEnabled",
|
4861 |
+
"mozfullscreenchange",
|
4862 |
+
"mozfullscreenerror"
|
4863 |
+
],
|
4864 |
+
["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
|
4865 |
+
];
|
4866 |
+
|
4867 |
+
var ret = {};
|
4868 |
+
|
4869 |
+
for (var i = 0; i < fnMap.length; i++) {
|
4870 |
+
var val = fnMap[i];
|
4871 |
+
|
4872 |
+
if (val && val[1] in document) {
|
4873 |
+
for (var j = 0; j < val.length; j++) {
|
4874 |
+
ret[fnMap[0][j]] = val[j];
|
4875 |
+
}
|
4876 |
+
|
4877 |
+
return ret;
|
4878 |
+
}
|
4879 |
+
}
|
4880 |
+
|
4881 |
+
return false;
|
4882 |
+
})();
|
4883 |
+
|
4884 |
+
if (fn) {
|
4885 |
+
var FullScreen = {
|
4886 |
+
request: function(elem) {
|
4887 |
+
elem = elem || document.documentElement;
|
4888 |
+
|
4889 |
+
elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT);
|
4890 |
+
},
|
4891 |
+
exit: function() {
|
4892 |
+
document[fn.exitFullscreen]();
|
4893 |
+
},
|
4894 |
+
toggle: function(elem) {
|
4895 |
+
elem = elem || document.documentElement;
|
4896 |
+
|
4897 |
+
if (this.isFullscreen()) {
|
4898 |
+
this.exit();
|
4899 |
+
} else {
|
4900 |
+
this.request(elem);
|
4901 |
+
}
|
4902 |
+
},
|
4903 |
+
isFullscreen: function() {
|
4904 |
+
return Boolean(document[fn.fullscreenElement]);
|
4905 |
+
},
|
4906 |
+
enabled: function() {
|
4907 |
+
return Boolean(document[fn.fullscreenEnabled]);
|
4908 |
+
}
|
4909 |
+
};
|
4910 |
+
|
4911 |
+
$.extend(true, $.fancybox.defaults, {
|
4912 |
+
btnTpl: {
|
4913 |
+
fullScreen:
|
4914 |
+
'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}">' +
|
4915 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>' +
|
4916 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg>' +
|
4917 |
+
"</button>"
|
4918 |
+
},
|
4919 |
+
fullScreen: {
|
4920 |
+
autoStart: false
|
4921 |
+
}
|
4922 |
+
});
|
4923 |
+
|
4924 |
+
$(document).on(fn.fullscreenchange, function() {
|
4925 |
+
var isFullscreen = FullScreen.isFullscreen(),
|
4926 |
+
instance = $.fancybox.getInstance();
|
4927 |
+
|
4928 |
+
if (instance) {
|
4929 |
+
// If image is zooming, then force to stop and reposition properly
|
4930 |
+
if (instance.current && instance.current.type === "image" && instance.isAnimating) {
|
4931 |
+
instance.current.$content.css("transition", "none");
|
4932 |
+
|
4933 |
+
instance.isAnimating = false;
|
4934 |
+
|
4935 |
+
instance.update(true, true, 0);
|
4936 |
+
}
|
4937 |
+
|
4938 |
+
instance.trigger("onFullscreenChange", isFullscreen);
|
4939 |
+
|
4940 |
+
instance.$refs.container.toggleClass("fancybox-is-fullscreen", isFullscreen);
|
4941 |
+
|
4942 |
+
instance.$refs.toolbar
|
4943 |
+
.find("[data-fancybox-fullscreen]")
|
4944 |
+
.toggleClass("fancybox-button--fsenter", !isFullscreen)
|
4945 |
+
.toggleClass("fancybox-button--fsexit", isFullscreen);
|
4946 |
+
}
|
4947 |
+
});
|
4948 |
+
}
|
4949 |
+
|
4950 |
+
$(document).on({
|
4951 |
+
"onInit.fb": function(e, instance) {
|
4952 |
+
var $container;
|
4953 |
+
|
4954 |
+
if (!fn) {
|
4955 |
+
instance.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();
|
4956 |
+
|
4957 |
+
return;
|
4958 |
+
}
|
4959 |
+
|
4960 |
+
if (instance && instance.group[instance.currIndex].opts.fullScreen) {
|
4961 |
+
$container = instance.$refs.container;
|
4962 |
+
|
4963 |
+
$container.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function(e) {
|
4964 |
+
e.stopPropagation();
|
4965 |
+
e.preventDefault();
|
4966 |
+
|
4967 |
+
FullScreen.toggle();
|
4968 |
+
});
|
4969 |
+
|
4970 |
+
if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) {
|
4971 |
+
FullScreen.request();
|
4972 |
+
}
|
4973 |
+
|
4974 |
+
// Expose API
|
4975 |
+
instance.FullScreen = FullScreen;
|
4976 |
+
} else if (instance) {
|
4977 |
+
instance.$refs.toolbar.find("[data-fancybox-fullscreen]").hide();
|
4978 |
+
}
|
4979 |
+
},
|
4980 |
+
|
4981 |
+
"afterKeydown.fb": function(e, instance, current, keypress, keycode) {
|
4982 |
+
// "F"
|
4983 |
+
if (instance && instance.FullScreen && keycode === 70) {
|
4984 |
+
keypress.preventDefault();
|
4985 |
+
|
4986 |
+
instance.FullScreen.toggle();
|
4987 |
+
}
|
4988 |
+
},
|
4989 |
+
|
4990 |
+
"beforeClose.fb": function(e, instance) {
|
4991 |
+
if (instance && instance.FullScreen && instance.$refs.container.hasClass("fancybox-is-fullscreen")) {
|
4992 |
+
FullScreen.exit();
|
4993 |
+
}
|
4994 |
+
}
|
4995 |
+
});
|
4996 |
+
})(document, jQuery);
|
4997 |
+
|
4998 |
+
// ==========================================================================
|
4999 |
+
//
|
5000 |
+
// Thumbs
|
5001 |
+
// Displays thumbnails in a grid
|
5002 |
+
//
|
5003 |
+
// ==========================================================================
|
5004 |
+
(function(document, $) {
|
5005 |
+
"use strict";
|
5006 |
+
|
5007 |
+
var CLASS = "fancybox-thumbs",
|
5008 |
+
CLASS_ACTIVE = CLASS + "-active";
|
5009 |
+
|
5010 |
+
// Make sure there are default values
|
5011 |
+
$.fancybox.defaults = $.extend(
|
5012 |
+
true,
|
5013 |
+
{
|
5014 |
+
btnTpl: {
|
5015 |
+
thumbs:
|
5016 |
+
'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}">' +
|
5017 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg>' +
|
5018 |
+
"</button>"
|
5019 |
+
},
|
5020 |
+
thumbs: {
|
5021 |
+
autoStart: false, // Display thumbnails on opening
|
5022 |
+
hideOnClose: true, // Hide thumbnail grid when closing animation starts
|
5023 |
+
parentEl: ".fancybox-container", // Container is injected into this element
|
5024 |
+
axis: "y" // Vertical (y) or horizontal (x) scrolling
|
5025 |
+
}
|
5026 |
+
},
|
5027 |
+
$.fancybox.defaults
|
5028 |
+
);
|
5029 |
+
|
5030 |
+
var FancyThumbs = function(instance) {
|
5031 |
+
this.init(instance);
|
5032 |
+
};
|
5033 |
+
|
5034 |
+
$.extend(FancyThumbs.prototype, {
|
5035 |
+
$button: null,
|
5036 |
+
$grid: null,
|
5037 |
+
$list: null,
|
5038 |
+
isVisible: false,
|
5039 |
+
isActive: false,
|
5040 |
+
|
5041 |
+
init: function(instance) {
|
5042 |
+
var self = this,
|
5043 |
+
group = instance.group,
|
5044 |
+
enabled = 0;
|
5045 |
+
|
5046 |
+
self.instance = instance;
|
5047 |
+
self.opts = group[instance.currIndex].opts.thumbs;
|
5048 |
+
|
5049 |
+
instance.Thumbs = self;
|
5050 |
+
|
5051 |
+
self.$button = instance.$refs.toolbar.find("[data-fancybox-thumbs]");
|
5052 |
+
|
5053 |
+
// Enable thumbs if at least two group items have thumbnails
|
5054 |
+
for (var i = 0, len = group.length; i < len; i++) {
|
5055 |
+
if (group[i].thumb) {
|
5056 |
+
enabled++;
|
5057 |
+
}
|
5058 |
+
|
5059 |
+
if (enabled > 1) {
|
5060 |
+
break;
|
5061 |
+
}
|
5062 |
+
}
|
5063 |
+
|
5064 |
+
if (enabled > 1 && !!self.opts) {
|
5065 |
+
self.$button.removeAttr("style").on("click", function() {
|
5066 |
+
self.toggle();
|
5067 |
+
});
|
5068 |
+
|
5069 |
+
self.isActive = true;
|
5070 |
+
} else {
|
5071 |
+
self.$button.hide();
|
5072 |
+
}
|
5073 |
+
},
|
5074 |
+
|
5075 |
+
create: function() {
|
5076 |
+
var self = this,
|
5077 |
+
instance = self.instance,
|
5078 |
+
parentEl = self.opts.parentEl,
|
5079 |
+
list = [],
|
5080 |
+
src;
|
5081 |
+
|
5082 |
+
if (!self.$grid) {
|
5083 |
+
// Create main element
|
5084 |
+
self.$grid = $('<div class="' + CLASS + " " + CLASS + "-" + self.opts.axis + '"></div>').appendTo(
|
5085 |
+
instance.$refs.container
|
5086 |
+
.find(parentEl)
|
5087 |
+
.addBack()
|
5088 |
+
.filter(parentEl)
|
5089 |
+
);
|
5090 |
+
|
5091 |
+
// Add "click" event that performs gallery navigation
|
5092 |
+
self.$grid.on("click", "a", function() {
|
5093 |
+
instance.jumpTo($(this).attr("data-index"));
|
5094 |
+
});
|
5095 |
+
}
|
5096 |
+
|
5097 |
+
// Build the list
|
5098 |
+
if (!self.$list) {
|
5099 |
+
self.$list = $('<div class="' + CLASS + '__list">').appendTo(self.$grid);
|
5100 |
+
}
|
5101 |
+
|
5102 |
+
$.each(instance.group, function(i, item) {
|
5103 |
+
src = item.thumb;
|
5104 |
+
|
5105 |
+
if (!src && item.type === "image") {
|
5106 |
+
src = item.src;
|
5107 |
+
}
|
5108 |
+
|
5109 |
+
list.push(
|
5110 |
+
'<a href="javascript:;" tabindex="0" data-index="' +
|
5111 |
+
i +
|
5112 |
+
'"' +
|
5113 |
+
(src && src.length ? ' style="background-image:url(' + src + ')"' : 'class="fancybox-thumbs-missing"') +
|
5114 |
+
"></a>"
|
5115 |
+
);
|
5116 |
+
});
|
5117 |
+
|
5118 |
+
self.$list[0].innerHTML = list.join("");
|
5119 |
+
|
5120 |
+
if (self.opts.axis === "x") {
|
5121 |
+
// Set fixed width for list element to enable horizontal scrolling
|
5122 |
+
self.$list.width(
|
5123 |
+
parseInt(self.$grid.css("padding-right"), 10) +
|
5124 |
+
instance.group.length *
|
5125 |
+
self.$list
|
5126 |
+
.children()
|
5127 |
+
.eq(0)
|
5128 |
+
.outerWidth(true)
|
5129 |
+
);
|
5130 |
+
}
|
5131 |
+
},
|
5132 |
+
|
5133 |
+
focus: function(duration) {
|
5134 |
+
var self = this,
|
5135 |
+
$list = self.$list,
|
5136 |
+
$grid = self.$grid,
|
5137 |
+
thumb,
|
5138 |
+
thumbPos;
|
5139 |
+
|
5140 |
+
if (!self.instance.current) {
|
5141 |
+
return;
|
5142 |
+
}
|
5143 |
+
|
5144 |
+
thumb = $list
|
5145 |
+
.children()
|
5146 |
+
.removeClass(CLASS_ACTIVE)
|
5147 |
+
.filter('[data-index="' + self.instance.current.index + '"]')
|
5148 |
+
.addClass(CLASS_ACTIVE);
|
5149 |
+
|
5150 |
+
thumbPos = thumb.position();
|
5151 |
+
|
5152 |
+
// Check if need to scroll to make current thumb visible
|
5153 |
+
if (self.opts.axis === "y" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) {
|
5154 |
+
$list.stop().animate(
|
5155 |
+
{
|
5156 |
+
scrollTop: $list.scrollTop() + thumbPos.top
|
5157 |
+
},
|
5158 |
+
duration
|
5159 |
+
);
|
5160 |
+
} else if (
|
5161 |
+
self.opts.axis === "x" &&
|
5162 |
+
(thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth()))
|
5163 |
+
) {
|
5164 |
+
$list
|
5165 |
+
.parent()
|
5166 |
+
.stop()
|
5167 |
+
.animate(
|
5168 |
+
{
|
5169 |
+
scrollLeft: thumbPos.left
|
5170 |
+
},
|
5171 |
+
duration
|
5172 |
+
);
|
5173 |
+
}
|
5174 |
+
},
|
5175 |
+
|
5176 |
+
update: function() {
|
5177 |
+
var that = this;
|
5178 |
+
that.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible);
|
5179 |
+
|
5180 |
+
if (that.isVisible) {
|
5181 |
+
if (!that.$grid) {
|
5182 |
+
that.create();
|
5183 |
+
}
|
5184 |
+
|
5185 |
+
that.instance.trigger("onThumbsShow");
|
5186 |
+
|
5187 |
+
that.focus(0);
|
5188 |
+
} else if (that.$grid) {
|
5189 |
+
that.instance.trigger("onThumbsHide");
|
5190 |
+
}
|
5191 |
+
|
5192 |
+
// Update content position
|
5193 |
+
that.instance.update();
|
5194 |
+
},
|
5195 |
+
|
5196 |
+
hide: function() {
|
5197 |
+
this.isVisible = false;
|
5198 |
+
this.update();
|
5199 |
+
},
|
5200 |
+
|
5201 |
+
show: function() {
|
5202 |
+
this.isVisible = true;
|
5203 |
+
this.update();
|
5204 |
+
},
|
5205 |
+
|
5206 |
+
toggle: function() {
|
5207 |
+
this.isVisible = !this.isVisible;
|
5208 |
+
this.update();
|
5209 |
+
}
|
5210 |
+
});
|
5211 |
+
|
5212 |
+
$(document).on({
|
5213 |
+
"onInit.fb": function(e, instance) {
|
5214 |
+
var Thumbs;
|
5215 |
+
|
5216 |
+
if (instance && !instance.Thumbs) {
|
5217 |
+
Thumbs = new FancyThumbs(instance);
|
5218 |
+
|
5219 |
+
if (Thumbs.isActive && Thumbs.opts.autoStart === true) {
|
5220 |
+
Thumbs.show();
|
5221 |
+
}
|
5222 |
+
}
|
5223 |
+
},
|
5224 |
+
|
5225 |
+
"beforeShow.fb": function(e, instance, item, firstRun) {
|
5226 |
+
var Thumbs = instance && instance.Thumbs;
|
5227 |
+
|
5228 |
+
if (Thumbs && Thumbs.isVisible) {
|
5229 |
+
Thumbs.focus(firstRun ? 0 : 250);
|
5230 |
+
}
|
5231 |
+
},
|
5232 |
+
|
5233 |
+
"afterKeydown.fb": function(e, instance, current, keypress, keycode) {
|
5234 |
+
var Thumbs = instance && instance.Thumbs;
|
5235 |
+
|
5236 |
+
// "G"
|
5237 |
+
if (Thumbs && Thumbs.isActive && keycode === 71) {
|
5238 |
+
keypress.preventDefault();
|
5239 |
+
|
5240 |
+
Thumbs.toggle();
|
5241 |
+
}
|
5242 |
+
},
|
5243 |
+
|
5244 |
+
"beforeClose.fb": function(e, instance) {
|
5245 |
+
var Thumbs = instance && instance.Thumbs;
|
5246 |
+
|
5247 |
+
if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) {
|
5248 |
+
Thumbs.$grid.hide();
|
5249 |
+
}
|
5250 |
+
}
|
5251 |
+
});
|
5252 |
+
})(document, jQuery);
|
5253 |
+
|
5254 |
+
//// ==========================================================================
|
5255 |
+
//
|
5256 |
+
// Share
|
5257 |
+
// Displays simple form for sharing current url
|
5258 |
+
//
|
5259 |
+
// ==========================================================================
|
5260 |
+
(function(document, $) {
|
5261 |
+
"use strict";
|
5262 |
+
|
5263 |
+
$.extend(true, $.fancybox.defaults, {
|
5264 |
+
btnTpl: {
|
5265 |
+
share:
|
5266 |
+
'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}">' +
|
5267 |
+
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg>' +
|
5268 |
+
"</button>"
|
5269 |
+
},
|
5270 |
+
share: {
|
5271 |
+
url: function(instance, item) {
|
5272 |
+
return (
|
5273 |
+
(!instance.currentHash && !(item.type === "inline" || item.type === "html") ? item.origSrc || item.src : false) || window.location
|
5274 |
+
);
|
5275 |
+
},
|
5276 |
+
tpl:
|
5277 |
+
'<div class="fancybox-share">' +
|
5278 |
+
"<h1>{{SHARE}}</h1>" +
|
5279 |
+
"<p>" +
|
5280 |
+
'<a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}">' +
|
5281 |
+
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg>' +
|
5282 |
+
"<span>Facebook</span>" +
|
5283 |
+
"</a>" +
|
5284 |
+
'<a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}">' +
|
5285 |
+
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg>' +
|
5286 |
+
"<span>Twitter</span>" +
|
5287 |
+
"</a>" +
|
5288 |
+
'<a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}">' +
|
5289 |
+
'<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg>' +
|
5290 |
+
"<span>Pinterest</span>" +
|
5291 |
+
"</a>" +
|
5292 |
+
"</p>" +
|
5293 |
+
'<p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p>' +
|
5294 |
+
"</div>"
|
5295 |
+
}
|
5296 |
+
});
|
5297 |
+
|
5298 |
+
function escapeHtml(string) {
|
5299 |
+
var entityMap = {
|
5300 |
+
"&": "&",
|
5301 |
+
"<": "<",
|
5302 |
+
">": ">",
|
5303 |
+
'"': """,
|
5304 |
+
"'": "'",
|
5305 |
+
"/": "/",
|
5306 |
+
"`": "`",
|
5307 |
+
"=": "="
|
5308 |
+
};
|
5309 |
+
|
5310 |
+
return String(string).replace(/[&<>"'`=\/]/g, function(s) {
|
5311 |
+
return entityMap[s];
|
5312 |
+
});
|
5313 |
+
}
|
5314 |
+
|
5315 |
+
$(document).on("click", "[data-fancybox-share]", function() {
|
5316 |
+
var instance = $.fancybox.getInstance(),
|
5317 |
+
current = instance.current || null,
|
5318 |
+
url,
|
5319 |
+
tpl;
|
5320 |
+
|
5321 |
+
if (!current) {
|
5322 |
+
return;
|
5323 |
+
}
|
5324 |
+
|
5325 |
+
if ($.type(current.opts.share.url) === "function") {
|
5326 |
+
url = current.opts.share.url.apply(current, [instance, current]);
|
5327 |
+
}
|
5328 |
+
|
5329 |
+
tpl = current.opts.share.tpl
|
5330 |
+
.replace(/\{\{media\}\}/g, current.type === "image" ? encodeURIComponent(current.src) : "")
|
5331 |
+
.replace(/\{\{url\}\}/g, encodeURIComponent(url))
|
5332 |
+
.replace(/\{\{url_raw\}\}/g, escapeHtml(url))
|
5333 |
+
.replace(/\{\{descr\}\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : "");
|
5334 |
+
|
5335 |
+
$.fancybox.open({
|
5336 |
+
src: instance.translate(instance, tpl),
|
5337 |
+
type: "html",
|
5338 |
+
opts: {
|
5339 |
+
touch: false,
|
5340 |
+
animationEffect: false,
|
5341 |
+
afterLoad: function(shareInstance, shareCurrent) {
|
5342 |
+
// Close self if parent instance is closing
|
5343 |
+
instance.$refs.container.one("beforeClose.fb", function() {
|
5344 |
+
shareInstance.close(null, 0);
|
5345 |
+
});
|
5346 |
+
|
5347 |
+
// Opening links in a popup window
|
5348 |
+
shareCurrent.$content.find(".fancybox-share__button").click(function() {
|
5349 |
+
window.open(this.href, "Share", "width=550, height=450");
|
5350 |
+
return false;
|
5351 |
+
});
|
5352 |
+
},
|
5353 |
+
mobile: {
|
5354 |
+
autoFocus: false
|
5355 |
+
}
|
5356 |
+
}
|
5357 |
+
});
|
5358 |
+
});
|
5359 |
+
})(document, jQuery);
|
5360 |
+
|
5361 |
+
// ==========================================================================
|
5362 |
+
//
|
5363 |
+
// Hash
|
5364 |
+
// Enables linking to each modal
|
5365 |
+
//
|
5366 |
+
// ==========================================================================
|
5367 |
+
(function(window, document, $) {
|
5368 |
+
"use strict";
|
5369 |
+
|
5370 |
+
// Simple $.escapeSelector polyfill (for jQuery prior v3)
|
5371 |
+
if (!$.escapeSelector) {
|
5372 |
+
$.escapeSelector = function(sel) {
|
5373 |
+
var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
|
5374 |
+
var fcssescape = function(ch, asCodePoint) {
|
5375 |
+
if (asCodePoint) {
|
5376 |
+
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
|
5377 |
+
if (ch === "\0") {
|
5378 |
+
return "\uFFFD";
|
5379 |
+
}
|
5380 |
+
|
5381 |
+
// Control characters and (dependent upon position) numbers get escaped as code points
|
5382 |
+
return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " ";
|
5383 |
+
}
|
5384 |
+
|
5385 |
+
// Other potentially-special ASCII characters get backslash-escaped
|
5386 |
+
return "\\" + ch;
|
5387 |
+
};
|
5388 |
+
|
5389 |
+
return (sel + "").replace(rcssescape, fcssescape);
|
5390 |
+
};
|
5391 |
+
}
|
5392 |
+
|
5393 |
+
// Get info about gallery name and current index from url
|
5394 |
+
function parseUrl() {
|
5395 |
+
var hash = window.location.hash.substr(1),
|
5396 |
+
rez = hash.split("-"),
|
5397 |
+
index = rez.length > 1 && /^\+?\d+$/.test(rez[rez.length - 1]) ? parseInt(rez.pop(-1), 10) || 1 : 1,
|
5398 |
+
gallery = rez.join("-");
|
5399 |
+
|
5400 |
+
return {
|
5401 |
+
hash: hash,
|
5402 |
+
/* Index is starting from 1 */
|
5403 |
+
index: index < 1 ? 1 : index,
|
5404 |
+
gallery: gallery
|
5405 |
+
};
|
5406 |
+
}
|
5407 |
+
|
5408 |
+
// Trigger click evnt on links to open new fancyBox instance
|
5409 |
+
function triggerFromUrl(url) {
|
5410 |
+
if (url.gallery !== "") {
|
5411 |
+
// If we can find element matching 'data-fancybox' atribute,
|
5412 |
+
// then triggering click event should start fancyBox
|
5413 |
+
$("[data-fancybox='" + $.escapeSelector(url.gallery) + "']")
|
5414 |
+
.eq(url.index - 1)
|
5415 |
+
.focus()
|
5416 |
+
.trigger("click.fb-start");
|
5417 |
+
}
|
5418 |
+
}
|
5419 |
+
|
5420 |
+
// Get gallery name from current instance
|
5421 |
+
function getGalleryID(instance) {
|
5422 |
+
var opts, ret;
|
5423 |
+
|
5424 |
+
if (!instance) {
|
5425 |
+
return false;
|
5426 |
+
}
|
5427 |
+
|
5428 |
+
opts = instance.current ? instance.current.opts : instance.opts;
|
5429 |
+
ret = opts.hash || (opts.$orig ? opts.$orig.data("fancybox") || opts.$orig.data("fancybox-trigger") : "");
|
5430 |
+
|
5431 |
+
return ret === "" ? false : ret;
|
5432 |
+
}
|
5433 |
+
|
5434 |
+
// Start when DOM becomes ready
|
5435 |
+
$(function() {
|
5436 |
+
// Check if user has disabled this module
|
5437 |
+
if ($.fancybox.defaults.hash === false) {
|
5438 |
+
return;
|
5439 |
+
}
|
5440 |
+
|
5441 |
+
// Update hash when opening/closing fancyBox
|
5442 |
+
$(document).on({
|
5443 |
+
"onInit.fb": function(e, instance) {
|
5444 |
+
var url, gallery;
|
5445 |
+
|
5446 |
+
if (instance.group[instance.currIndex].opts.hash === false) {
|
5447 |
+
return;
|
5448 |
+
}
|
5449 |
+
|
5450 |
+
url = parseUrl();
|
5451 |
+
gallery = getGalleryID(instance);
|
5452 |
+
|
5453 |
+
// Make sure gallery start index matches index from hash
|
5454 |
+
if (gallery && url.gallery && gallery == url.gallery) {
|
5455 |
+
instance.currIndex = url.index - 1;
|
5456 |
+
}
|
5457 |
+
},
|
5458 |
+
|
5459 |
+
"beforeShow.fb": function(e, instance, current, firstRun) {
|
5460 |
+
var gallery;
|
5461 |
+
|
5462 |
+
if (!current || current.opts.hash === false) {
|
5463 |
+
return;
|
5464 |
+
}
|
5465 |
+
|
5466 |
+
// Check if need to update window hash
|
5467 |
+
gallery = getGalleryID(instance);
|
5468 |
+
|
5469 |
+
if (!gallery) {
|
5470 |
+
return;
|
5471 |
+
}
|
5472 |
+
|
5473 |
+
// Variable containing last hash value set by fancyBox
|
5474 |
+
// It will be used to determine if fancyBox needs to close after hash change is detected
|
5475 |
+
instance.currentHash = gallery + (instance.group.length > 1 ? "-" + (current.index + 1) : "");
|
5476 |
+
|
5477 |
+
// If current hash is the same (this instance most likely is opened by hashchange), then do nothing
|
5478 |
+
if (window.location.hash === "#" + instance.currentHash) {
|
5479 |
+
return;
|
5480 |
+
}
|
5481 |
+
|
5482 |
+
if (firstRun && !instance.origHash) {
|
5483 |
+
instance.origHash = window.location.hash;
|
5484 |
+
}
|
5485 |
+
|
5486 |
+
if (instance.hashTimer) {
|
5487 |
+
clearTimeout(instance.hashTimer);
|
5488 |
+
}
|
5489 |
+
|
5490 |
+
// Update hash
|
5491 |
+
instance.hashTimer = setTimeout(function() {
|
5492 |
+
if ("replaceState" in window.history) {
|
5493 |
+
window.history[firstRun ? "pushState" : "replaceState"](
|
5494 |
+
{},
|
5495 |
+
document.title,
|
5496 |
+
window.location.pathname + window.location.search + "#" + instance.currentHash
|
5497 |
+
);
|
5498 |
+
|
5499 |
+
if (firstRun) {
|
5500 |
+
instance.hasCreatedHistory = true;
|
5501 |
+
}
|
5502 |
+
} else {
|
5503 |
+
window.location.hash = instance.currentHash;
|
5504 |
+
}
|
5505 |
+
|
5506 |
+
instance.hashTimer = null;
|
5507 |
+
}, 300);
|
5508 |
+
},
|
5509 |
+
|
5510 |
+
"beforeClose.fb": function(e, instance, current) {
|
5511 |
+
if (current.opts.hash === false) {
|
5512 |
+
return;
|
5513 |
+
}
|
5514 |
+
|
5515 |
+
clearTimeout(instance.hashTimer);
|
5516 |
+
|
5517 |
+
// Goto previous history entry
|
5518 |
+
if (instance.currentHash && instance.hasCreatedHistory) {
|
5519 |
+
window.history.back();
|
5520 |
+
} else if (instance.currentHash) {
|
5521 |
+
if ("replaceState" in window.history) {
|
5522 |
+
window.history.replaceState({}, document.title, window.location.pathname + window.location.search + (instance.origHash || ""));
|
5523 |
+
} else {
|
5524 |
+
window.location.hash = instance.origHash;
|
5525 |
+
}
|
5526 |
+
}
|
5527 |
+
|
5528 |
+
instance.currentHash = null;
|
5529 |
+
}
|
5530 |
+
});
|
5531 |
+
|
5532 |
+
// Check if need to start/close after url has changed
|
5533 |
+
$(window).on("hashchange.fb", function() {
|
5534 |
+
var url = parseUrl(),
|
5535 |
+
fb = null;
|
5536 |
+
|
5537 |
+
// Find last fancyBox instance that has "hash"
|
5538 |
+
$.each(
|
5539 |
+
$(".fancybox-container")
|
5540 |
+
.get()
|
5541 |
+
.reverse(),
|
5542 |
+
function(index, value) {
|
5543 |
+
var tmp = $(value).data("FancyBox");
|
5544 |
+
|
5545 |
+
if (tmp && tmp.currentHash) {
|
5546 |
+
fb = tmp;
|
5547 |
+
return false;
|
5548 |
+
}
|
5549 |
+
}
|
5550 |
+
);
|
5551 |
+
|
5552 |
+
if (fb) {
|
5553 |
+
// Now, compare hash values
|
5554 |
+
if (fb.currentHash !== url.gallery + "-" + url.index && !(url.index === 1 && fb.currentHash == url.gallery)) {
|
5555 |
+
fb.currentHash = null;
|
5556 |
+
|
5557 |
+
fb.close();
|
5558 |
+
}
|
5559 |
+
} else if (url.gallery !== "") {
|
5560 |
+
triggerFromUrl(url);
|
5561 |
+
}
|
5562 |
+
});
|
5563 |
+
|
5564 |
+
// Check current hash and trigger click event on matching element to start fancyBox, if needed
|
5565 |
+
setTimeout(function() {
|
5566 |
+
if (!$.fancybox.getInstance()) {
|
5567 |
+
triggerFromUrl(parseUrl());
|
5568 |
+
}
|
5569 |
+
}, 50);
|
5570 |
+
});
|
5571 |
+
})(window, document, jQuery);
|
5572 |
+
|
5573 |
+
// ==========================================================================
|
5574 |
+
//
|
5575 |
+
// Wheel
|
5576 |
+
// Basic mouse weheel support for gallery navigation
|
5577 |
+
//
|
5578 |
+
// ==========================================================================
|
5579 |
+
(function(document, $) {
|
5580 |
+
"use strict";
|
5581 |
+
|
5582 |
+
var prevTime = new Date().getTime();
|
5583 |
+
|
5584 |
+
$(document).on({
|
5585 |
+
"onInit.fb": function(e, instance, current) {
|
5586 |
+
instance.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function(e) {
|
5587 |
+
var current = instance.current,
|
5588 |
+
currTime = new Date().getTime();
|
5589 |
+
|
5590 |
+
if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === "auto" && current.type !== "image")) {
|
5591 |
+
return;
|
5592 |
+
}
|
5593 |
+
|
5594 |
+
e.preventDefault();
|
5595 |
+
e.stopPropagation();
|
5596 |
+
|
5597 |
+
if (current.$slide.hasClass("fancybox-animated")) {
|
5598 |
+
return;
|
5599 |
+
}
|
5600 |
+
|
5601 |
+
e = e.originalEvent || e;
|
5602 |
+
|
5603 |
+
if (currTime - prevTime < 250) {
|
5604 |
+
return;
|
5605 |
+
}
|
5606 |
+
|
5607 |
+
prevTime = currTime;
|
5608 |
+
|
5609 |
+
instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? "next" : "previous"]();
|
5610 |
+
});
|
5611 |
+
}
|
5612 |
+
});
|
5613 |
+
})(document, jQuery);
|
assets/js/rollback.js
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
jQuery(document).ready(function(){
|
2 |
-
//rollback function
|
3 |
-
jQuery('.fbfw-rollback-button').on('click', function (event) {
|
4 |
-
var checkD = confirm('Are you sure you want to reinstall previous version?');
|
5 |
-
if( checkD == true ){
|
6 |
-
return true;
|
7 |
-
} else {
|
8 |
-
return false;
|
9 |
-
}
|
10 |
-
});
|
11 |
});
|
1 |
+
jQuery(document).ready(function(){
|
2 |
+
//rollback function
|
3 |
+
jQuery('.fbfw-rollback-button').on('click', function (event) {
|
4 |
+
var checkD = confirm('Are you sure you want to reinstall previous version?');
|
5 |
+
if( checkD == true ){
|
6 |
+
return true;
|
7 |
+
} else {
|
8 |
+
return false;
|
9 |
+
}
|
10 |
+
});
|
11 |
});
|
fancybox.php
CHANGED
@@ -1,536 +1,536 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
Plugin Name: FancyBox for WordPress
|
5 |
-
Plugin URI: https://wordpress.org/plugins/fancybox-for-wordpress/
|
6 |
-
Description: Integrates <a href="http://fancyapps.com/fancybox/3/">FancyBox 3</a> into WordPress.
|
7 |
-
Version: 3.1.
|
8 |
-
Author: Colorlib
|
9 |
-
Author URI: https://colorlib.com/wp/
|
10 |
-
|
11 |
-
* FancyBox is Copyright (c) 2008 - 2010 Janis Skarnelis
|
12 |
-
* Dual licensed under the MIT and GPL licenses:
|
13 |
-
* http://www.opensource.org/licenses/mit-license.php
|
14 |
-
* http://www.gnu.org/licenses/gpl.html
|
15 |
-
|
16 |
-
*/
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Plugin Init
|
20 |
-
*/
|
21 |
-
// Constants
|
22 |
-
define( 'FBFW_VERSION', '3.1.
|
23 |
-
define( 'FBFW_PATH', plugin_dir_path( __FILE__ ) );
|
24 |
-
define( 'FBFW_URL', plugin_dir_url( __FILE__ ) );
|
25 |
-
define( 'FBFW_PLUGIN_BASE', plugin_basename( __FILE__ ) );
|
26 |
-
define( 'FBFW_PREVIOUS_PLUGIN_VERSION', '3.0.14' );
|
27 |
-
define( 'FBFW_FILE_', __FILE__ );
|
28 |
-
define( 'PLUGIN_NAME', 'fancybox-for-wordpress' );
|
29 |
-
|
30 |
-
|
31 |
-
// Get Main Settings
|
32 |
-
$mfbfw = get_option( 'mfbfw' );
|
33 |
-
$mfbfw_version = get_option( 'mfbfw_active_version' );
|
34 |
-
|
35 |
-
// If previous version detected
|
36 |
-
if ( is_admin() && isset( $mfbfw_version ) && $mfbfw_version < FBFW_VERSION ) {
|
37 |
-
|
38 |
-
// get default settings and add any new ones to the database
|
39 |
-
$current_settings = get_option( 'mfbfw' );
|
40 |
-
$default_settings = mfbfw_defaults();
|
41 |
-
$new_settings = (array) $current_settings + (array) $default_settings;
|
42 |
-
update_option( 'mfbfw', $new_settings );
|
43 |
-
|
44 |
-
// update version number
|
45 |
-
update_option( 'mfbfw_active_version', FBFW_VERSION );
|
46 |
-
} else {
|
47 |
-
|
48 |
-
// update is not needed, add settings if first time activation
|
49 |
-
$default_settings = mfbfw_defaults();
|
50 |
-
add_option( 'mfbfw', $default_settings );
|
51 |
-
add_option( 'mfbfw_active_version', FBFW_VERSION );
|
52 |
-
}
|
53 |
-
|
54 |
-
/**
|
55 |
-
* Store default settings in an array
|
56 |
-
*/
|
57 |
-
function mfbfw_defaults() {
|
58 |
-
|
59 |
-
$default_settings = array(
|
60 |
-
// Appearance
|
61 |
-
'border' => '',
|
62 |
-
'borderColor' => '#BBBBBB',
|
63 |
-
'paddingColor' => '#FFFFFF',
|
64 |
-
'padding' => '10',
|
65 |
-
'overlayShow' => 'on',
|
66 |
-
'overlayColor' => '#666666',
|
67 |
-
'overlayOpacity' => '0.3',
|
68 |
-
'titleShow' => 'on',
|
69 |
-
'titlePosition' => 'inside',
|
70 |
-
'titleColor' => '#333333',
|
71 |
-
'showNavArrows' => 'on',
|
72 |
-
'titleSize' => '14',
|
73 |
-
'showCloseButton' => '',
|
74 |
-
'showToolbar' => 'on',
|
75 |
-
// Animations
|
76 |
-
'zoomOpacity' => 'on',
|
77 |
-
'zoomSpeedIn' => '500',
|
78 |
-
'zoomSpeedChange' => '300',
|
79 |
-
'transitionIn' => 'fade',
|
80 |
-
'transitionEffect' => 'fade',
|
81 |
-
// Behaviour
|
82 |
-
'hideOnOverlayClick' => 'function(current, event) {
|
83 |
-
return current.type === "image" ? "close" : false;
|
84 |
-
},',
|
85 |
-
'hideOnContentClick' => '',
|
86 |
-
'enableEscapeButton' => 'on',
|
87 |
-
'cyclic' => '',
|
88 |
-
'mouseWheel' => '',
|
89 |
-
'disableWoocommercePages' => '',
|
90 |
-
'disableWoocommerceProducts' => '',
|
91 |
-
// Gallery Type
|
92 |
-
'galleryType' => 'all',
|
93 |
-
'customExpression' => 'jQuery(thumbnails).attr("data-fancybox","gallery").getTitle();',
|
94 |
-
// Misc
|
95 |
-
'autoDimensions' => 'on',
|
96 |
-
'frameWidth' => '560',
|
97 |
-
'frameHeight' => '340',
|
98 |
-
'loadAtFooter' => '',
|
99 |
-
'callbackEnable' => '',
|
100 |
-
'callbackOnStart' => 'function() { alert("Start!"); }',
|
101 |
-
'callbackOnCancel' => 'function() { alert("Cancel!"); }',
|
102 |
-
'callbackOnComplete' => 'function() { alert("Complete!"); }',
|
103 |
-
'callbackOnCleanup' => 'function() { alert("CleanUp!"); }',
|
104 |
-
'callbackOnClose' => 'function() { alert("Close!"); }',
|
105 |
-
'copyTitleFunction' => 'var arr = jQuery("a[data-fancybox]");
|
106 |
-
jQuery.each(arr, function() {
|
107 |
-
var title = jQuery(this).children("img").attr("title");
|
108 |
-
var caption = jQuery(this).next("figcaption").html();
|
109 |
-
if(caption.length){jQuery(this).attr("title",title+" " + caption)}else{ jQuery(this).attr("title",title);};
|
110 |
-
}); ',
|
111 |
-
'nojQuery' => '',
|
112 |
-
'extraCallsEnable' => '',
|
113 |
-
'extraCallsData' => '',
|
114 |
-
'uninstall' => '',
|
115 |
-
);
|
116 |
-
|
117 |
-
return $default_settings;
|
118 |
-
}
|
119 |
-
|
120 |
-
/**
|
121 |
-
* If requested, when plugin is deactivated, remove settings
|
122 |
-
*/
|
123 |
-
function mfbfw_deactivate() {
|
124 |
-
|
125 |
-
global $mfbfw;
|
126 |
-
|
127 |
-
if ( isset( $mfbfw['uninstall'] ) && $mfbfw['uninstall'] ) {
|
128 |
-
delete_option( 'mfbfw' );
|
129 |
-
delete_option( 'mfbfw_active_version' );
|
130 |
-
}
|
131 |
-
}
|
132 |
-
|
133 |
-
register_deactivation_hook( __FILE__, 'mfbfw_deactivate' );
|
134 |
-
|
135 |
-
/**
|
136 |
-
* Load FancyBox JS with jQuery and
|
137 |
-
*/
|
138 |
-
function mfbfw_enqueue_scripts() {
|
139 |
-
|
140 |
-
global $mfbfw, $wp_styles;
|
141 |
-
|
142 |
-
// Check if script should be loaded in footer
|
143 |
-
if ( isset( $mfbfw['loadAtFooter'] ) && $mfbfw['loadAtFooter'] ) {
|
144 |
-
$footer = true;
|
145 |
-
} else {
|
146 |
-
$footer = false;
|
147 |
-
}
|
148 |
-
|
149 |
-
// Check if plugin should not call jQuery script (for troubleshooting only)
|
150 |
-
if ( isset( $mfbfw['nojQuery'] ) && $mfbfw['nojQuery'] ) {
|
151 |
-
$jquery = false;
|
152 |
-
} else {
|
153 |
-
$jquery = array( 'jquery' );
|
154 |
-
}
|
155 |
-
|
156 |
-
// Register Scripts
|
157 |
-
wp_register_script( 'fancybox', FBFW_URL . 'assets/js/jquery.fancybox.js', $jquery, '1.3.4', $footer ); // Main Fancybox script
|
158 |
-
// Enqueue Scripts
|
159 |
-
wp_enqueue_script( 'fancybox' ); // Load fancybox
|
160 |
-
|
161 |
-
if ( isset( $mfbfw['easing'] ) && $mfbfw['easing'] ) {
|
162 |
-
wp_enqueue_script( 'jqueryeasing' ); // Load easing javascript file if required
|
163 |
-
}
|
164 |
-
|
165 |
-
if ( isset( $mfbfw['wheel'] ) && $mfbfw['wheel'] ) {
|
166 |
-
wp_enqueue_script( 'jquerymousewheel' ); // Load mouse wheel javascript file if required
|
167 |
-
}
|
168 |
-
|
169 |
-
// Register Styles
|
170 |
-
wp_register_style( 'fancybox', FBFW_URL . 'assets/css/fancybox.css', false, '1.3.4' ); // Main Fancybox style
|
171 |
-
wp_register_style( 'fancybox-ie', FBFW_URL . 'assets/css/fancybox.ie.css', array( 'fancybox' ), '1.3.4' ); // Main Fancybox style fixes for IE6-8
|
172 |
-
// Enqueue Styles
|
173 |
-
wp_enqueue_style( 'fancybox' );
|
174 |
-
wp_enqueue_style( 'fancybox-ie' );
|
175 |
-
|
176 |
-
// Make IE specific styles load only on IE6-8
|
177 |
-
$wp_styles->add_data( 'fancybox-ie', 'conditional', 'lt IE 9' );
|
178 |
-
}
|
179 |
-
|
180 |
-
add_action( 'wp_enqueue_scripts', 'mfbfw_enqueue_scripts' );
|
181 |
-
|
182 |
-
/**
|
183 |
-
* Print inline styles and load FancyBox with the selected settings
|
184 |
-
*/
|
185 |
-
function mfbfw_init() {
|
186 |
-
|
187 |
-
global $mfbfw, $mfbfw_version;
|
188 |
-
|
189 |
-
//caption function to display image title
|
190 |
-
$caption = 'function( instance, item ) {' .
|
191 |
-
'var testing = jQuery(this).context.title;' .
|
192 |
-
'var caption = jQuery(this).data(\'caption\') || \'\';' .
|
193 |
-
'if ( item.type === \'image\' && testing.length ) {' .
|
194 |
-
'caption = (caption.length ? caption + \'<br />\' : \'\') + \'<p class="caption-title">\'+testing+\'</p>\' ;' .
|
195 |
-
'}' .
|
196 |
-
'return caption;' .
|
197 |
-
'}';
|
198 |
-
|
199 |
-
// fix undefined index copyTitleFunction. $mfbfw array misses this index.
|
200 |
-
|
201 |
-
$mfbfw['copyTitleFunction'] = 'var arr = jQuery("a[data-fancybox]");
|
202 |
-
jQuery.each(arr, function() {
|
203 |
-
var title = jQuery(this).children("img").attr("title");
|
204 |
-
var caption = jQuery(this).next("figcaption").html();
|
205 |
-
if(caption && title){jQuery(this).attr("title",title+" " + caption)}else if(title){ jQuery(this).attr("title",title);}else if(caption){jQuery(this).attr("title",caption);}
|
206 |
-
}); ';
|
207 |
-
|
208 |
-
|
209 |
-
if ( $mfbfw['titlePosition'] == 'inside' ) {
|
210 |
-
$afterLoad = 'function( instance, current ) {';
|
211 |
-
$afterLoad .= 'current.$content.append(\'<div class=\"fancybox-custom-caption\" style=\" position: absolute;left:0;right:0;color:#000;padding-top:10px;bottom:-50px;margin:0 auto;text-align:center; \">\' + current.opts.caption + \'</div>\');';
|
212 |
-
$afterLoad .= '}';
|
213 |
-
$hideCaption = 'div.fancybox-caption{display:none !important;}';
|
214 |
-
} else if ( $mfbfw['titlePosition'] == 'over' ) {
|
215 |
-
$afterLoad = 'function( instance, current ) {';
|
216 |
-
$afterLoad .= 'current.$content.append(\'<div class=\"fancybox-custom-caption\" style=\" position: absolute;left:0;right:0;color:#000;padding-top:10px;bottom:0;margin:0 auto;text-align:center; \">\' + current.opts.caption + \'</div>\');';
|
217 |
-
$afterLoad .= '}';
|
218 |
-
$hideCaption = 'div.fancybox-caption{display:none !important;}';
|
219 |
-
} else {
|
220 |
-
$afterLoad .= '""';
|
221 |
-
$hideCaption = '';
|
222 |
-
}
|
223 |
-
|
224 |
-
|
225 |
-
if ( isset( $mfbfw['autoDimensions'] ) && $mfbfw['autoDimensions'] == true ) {
|
226 |
-
$frameSize = '';
|
227 |
-
} else {
|
228 |
-
$frameSize = ' "width": ' . $mfbfw['frameWidth'] . ',
|
229 |
-
"height": ' . $mfbfw['frameHeight'] . ',';
|
230 |
-
}
|
231 |
-
|
232 |
-
|
233 |
-
$mfbfw['customExpression'] = str_replace( '"rel"', '"data-fancybox"', $mfbfw['customExpression'] );
|
234 |
-
|
235 |
-
//title position settings
|
236 |
-
if ( isset( $mfbfw['titlePosition'] ) ) {
|
237 |
-
if ( $mfbfw['titlePosition'] == 'inside' ) {
|
238 |
-
$captionPosition = 'div.fancybox-caption p.caption-title {background:#fff; width:auto;padding:10px 30px;}';
|
239 |
-
} elseif ( $mfbfw['titlePosition'] == 'float' ) {
|
240 |
-
$captionPosition = 'div.fancybox-caption p.caption-title {background:#fff;color:#000;padding:10px 30px;width:auto;}';
|
241 |
-
} else {
|
242 |
-
$captionPosition = 'div.fancybox-caption {position:relative;max-width:50%;margin:0 auto;min-width:480px;padding:15px;}div.fancybox-caption p.caption-title{position:relative;left:0;right:0;margin:0 auto;top:0px;color:#fff;}';
|
243 |
-
}
|
244 |
-
}
|
245 |
-
|
246 |
-
if ( ( isset( $mfbfw['disableWoocommerceProducts'] ) && $mfbfw['disableWoocommerceProducts'] == true && fancy_check_if_woocommerce() == 'product' ) || ( isset( $mfbfw['disableWoocommercePages'] ) && $mfbfw['disableWoocommercePages'] == true && fancy_check_if_woocommerce() == 'shop_page' ) ) {
|
247 |
-
|
248 |
-
} else {
|
249 |
-
|
250 |
-
|
251 |
-
echo '
|
252 |
-
<!-- Fancybox for WordPress v' . $mfbfw_version . ' -->
|
253 |
-
<style type="text/css">
|
254 |
-
'.$hideCaption.'
|
255 |
-
' . ( isset( $mfbfw['overlayShow'] ) ? '' : 'div.fancybox-bg{background:transparent !important;}' ) . '
|
256 |
-
' . 'img.fancybox-image{border-width:' . $mfbfw['padding'] . 'px;border-color:' . $mfbfw['paddingColor'] . ';border-style:solid;height:auto;}' . '
|
257 |
-
' . ( isset( $mfbfw['overlayColor'] ) && $mfbfw['overlayColor'] ? 'div.fancybox-bg{background-color:' . hexTorgba( $mfbfw['overlayColor'], $mfbfw['overlayOpacity'] ) . ';opacity:1 !important;}' : '' ) . ( isset( $mfbfw['paddingColor'] ) && $mfbfw['paddingColor'] ? 'div.fancybox-content{border-color:' . $mfbfw['paddingColor'] . '}' : '' ) . '
|
258 |
-
' . ( isset( $mfbfw['paddingColor'] ) && $mfbfw['paddingColor'] && $mfbfw['titlePosition'] == 'inside' ? 'div#fancybox-title{background-color:' . $mfbfw['paddingColor'] . '}' : '' ) . '
|
259 |
-
div.fancybox-content{background-color:' . $mfbfw['paddingColor'] . ( isset( $mfbfw['border'] ) && $mfbfw['border'] ? ';border:1px solid ' . $mfbfw['borderColor'] : '' ) . '}
|
260 |
-
' . ( isset( $mfbfw['titleColor'] ) && $mfbfw['titleColor'] && $mfbfw['titlePosition'] == 'inside' ? 'div#fancybox-title-inside{color:' . $mfbfw['titleColor'] . '}' : '' ) . '
|
261 |
-
' . ( isset( $mfbfw['borderRadius'] ) ? 'div.fancybox-content{border-radius:' . $mfbfw['borderRadius'] . 'px}' : '' ) . '
|
262 |
-
' . ( isset( $mfbfw['borderRadiusInner'] ) ? 'img#fancybox-img{border-radius:' . $mfbfw['borderRadiusInner'] . 'px}' : '' ) . '
|
263 |
-
' . ( isset( $mfbfw['shadowSize'] ) && $mfbfw['shadowOffset'] && $mfbfw['shadowOpacity'] ? 'div.fancybox-content{box-shadow:0 ' . $mfbfw['shadowOffset'] . 'px ' . $mfbfw['shadowSize'] . 'px rgba(0,0,0,' . $mfbfw['shadowOpacity'] . ')}' : '' ) . '
|
264 |
-
' . ( isset( $mfbfw['titleShow'] ) ? 'div.fancybox-caption p.caption-title{display:inline-block}' : 'div.fancybox-caption p.caption-title{display:none}div.fancybox-caption{display:none;}' ) . '
|
265 |
-
' . ( isset( $mfbfw['titleSize'] ) ? 'div.fancybox-caption p.caption-title{font-size:' . $mfbfw['titleSize'] . 'px}' : 'div.fancybox-caption p.caption-title{font-size:14px}' ) . '
|
266 |
-
' . ( isset( $mfbfw['titleColor'] ) && $mfbfw['titlePosition'] == 'inside' ? 'div.fancybox-caption p.caption-title{color:' . $mfbfw['titleColor'] . '}' : 'div.fancybox-caption p.caption-title{color:#fff}' ) . '
|
267 |
-
' . ( isset( $mfbfw['titlePosition'] ) ? 'div.fancybox-caption {color:' . $mfbfw['titleColor'] . '}' : 'div.fancybox-caption p.caption-title{color:#333333}' ) . $captionPosition . '
|
268 |
-
</style>';
|
269 |
-
?>
|
270 |
-
<script type="text/javascript">
|
271 |
-
jQuery(function(){
|
272 |
-
|
273 |
-
jQuery.fn.getTitle = function() { // Copy the title of every IMG tag and add it to its parent A so that fancybox can show titles
|
274 |
-
<?php echo $mfbfw['copyTitleFunction'] ?>
|
275 |
-
}
|
276 |
-
|
277 |
-
// Supported file extensions
|
278 |
-
var thumbnails = jQuery("a:has(img)").not(".nolightbox").filter( function() { return /\.(jpe?g|png|gif|bmp|pdf)(\?[^/]*)*$/i.test(jQuery(this).attr('href')) });
|
279 |
-
<?php if ( $mfbfw['galleryType'] == 'post' ) { ?>
|
280 |
-
|
281 |
-
// Gallery type BY POST and on post or page (so only one post or page is visible)
|
282 |
-
<?php if ( is_singular() ) { ?>
|
283 |
-
// Gallery by post
|
284 |
-
thumbnails.addClass("fancybox").attr("data-fancybox","gallery").getTitle();
|
285 |
-
|
286 |
-
<?php } else { ?>
|
287 |
-
// Gallery by post
|
288 |
-
var posts = jQuery(".post");
|
289 |
-
posts.each(function() {
|
290 |
-
jQuery(this).find(thumbnails).addClass("fancybox").attr("data-fancybox","gallery"+posts.index(this)).attr("rel","fancybox"+posts.index(this)).getTitle()
|
291 |
-
});
|
292 |
-
|
293 |
-
<?php } ?>
|
294 |
-
|
295 |
-
// Gallery type ALL
|
296 |
-
<?php } elseif ( $mfbfw['galleryType'] == 'all' ) { ?>
|
297 |
-
// Gallery All
|
298 |
-
thumbnails.addClass("fancybox").attr("data-fancybox","gallery").getTitle();
|
299 |
-
|
300 |
-
// Gallery type NONE
|
301 |
-
<?php } elseif ( $mfbfw['galleryType'] == 'none' ) { ?>
|
302 |
-
// No Galleries
|
303 |
-
thumbnails.each(function(){
|
304 |
-
var rel = jQuery(this).attr("rel");
|
305 |
-
var imgTitle = jQuery(this).children("img").attr("title");
|
306 |
-
jQuery(this).addClass("fancybox").attr("data-fancybox",rel);
|
307 |
-
jQuery(this).attr("title",imgTitle);
|
308 |
-
});
|
309 |
-
|
310 |
-
// Else, gallery type is custom, so just print the custom expression
|
311 |
-
<?php } else { ?>
|
312 |
-
/* Custom Expression */
|
313 |
-
<?php echo $mfbfw['customExpression']; ?>
|
314 |
-
<?php } ?>
|
315 |
-
|
316 |
-
// Call fancybox and apply it on any link with a rel atribute that starts with "fancybox", with the options set on the admin panel
|
317 |
-
jQuery("a.fancybox").fancybox({
|
318 |
-
loop: <?php echo ( isset( $mfbfw['cyclic'] ) && $mfbfw['cyclic'] ? 'true' : 'false' ) ?>,
|
319 |
-
smallBtn: <?php echo ( isset( $mfbfw['showCloseButton'] ) && $mfbfw['showCloseButton'] ? 'true' : 'false' ) ?>,
|
320 |
-
zoomOpacity: <?php echo ( isset( $mfbfw['zoomOpacity'] ) && $mfbfw['zoomOpacity'] ? '"auto"' : 'false' ) ?>,
|
321 |
-
animationEffect: "<?php echo $mfbfw['transitionIn'] ?>",
|
322 |
-
animationDuration: <?php echo $mfbfw['zoomSpeedIn'] ?>,
|
323 |
-
transitionEffect: "<?php echo $mfbfw['transitionEffect'] ?>",
|
324 |
-
transitionDuration : "<?php echo $mfbfw['zoomSpeedChange'] ?>",
|
325 |
-
overlayShow: <?php echo ( isset( $mfbfw['overlayShow'] ) && $mfbfw['overlayShow'] ? 'true' : 'false' ) ?>,
|
326 |
-
overlayOpacity: "<?php echo $mfbfw['overlayOpacity'] ?>",
|
327 |
-
titleShow: <?php echo ( isset( $mfbfw['titleShow'] ) && $mfbfw['titleShow'] ? 'true' : 'false' ) ?>,
|
328 |
-
titlePosition: "<?php echo $mfbfw['titlePosition'] ?>",
|
329 |
-
keyboard: <?php echo ( isset( $mfbfw['enableEscapeButton'] ) && $mfbfw['enableEscapeButton'] ? 'true' : 'false' ) ?>,
|
330 |
-
showCloseButton: <?php echo ( isset( $mfbfw['showCloseButton'] ) && $mfbfw['showCloseButton'] ? 'true' : 'false' ) ?>,
|
331 |
-
arrows: <?php echo ( isset( $mfbfw['showNavArrows'] ) && $mfbfw['showNavArrows'] ? 'true' : 'false' ) ?>,
|
332 |
-
clickContent: <?php echo ( isset( $mfbfw['hideOnContentClick'] ) && $mfbfw['hideOnContentClick'] ? '"close"' : 'false' ) ?>,
|
333 |
-
clickSlide: <?php echo ( isset( $mfbfw['hideOnOverlayClick'] ) && $mfbfw['hideOnOverlayClick'] ? 'function(current, event) {return current.type === "image" ? "close" : false;}' : 'false' ) ?>,
|
334 |
-
wheel: <?php echo ( isset( $mfbfw['mouseWheel'] ) && $mfbfw['mouseWheel'] ? 'true' : 'false' ) ?>,
|
335 |
-
toolbar: <?php echo ( isset( $mfbfw['showToolbar'] ) && $mfbfw['showToolbar'] ? 'true' : 'false' ) ?>,
|
336 |
-
preventCaptionOverlap: true,
|
337 |
-
onInit: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnStart'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnStart'] ? $mfbfw['callbackOnStart'] . ',' : 'function() { },' ) ?>
|
338 |
-
onDeactivate: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnCancel'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnCancel'] ? $mfbfw['callbackOnCancel'] . ',' : 'function() { },' ) ?>
|
339 |
-
beforeClose: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnCleanup'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnCleanup'] ? $mfbfw['callbackOnCleanup'] . ',' : 'function() { },' ) ?>
|
340 |
-
afterShow: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnComplete'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnComplete'] ? $mfbfw['callbackOnComplete'] . ',' : 'function() { },' ) ?>
|
341 |
-
afterClose: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnClose'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnClose'] ? $mfbfw['callbackOnClose'] . ',' : 'function() { },' ) ?>
|
342 |
-
caption : <?php echo $caption ?>,
|
343 |
-
afterLoad : <?php echo $afterLoad ?>,
|
344 |
-
<?php echo $frameSize ?>
|
345 |
-
});
|
346 |
-
<?php if ( isset( $mfbfw['extraCallsEnable'] ) && $mfbfw['extraCallsEnable'] ) {
|
347 |
-
echo "/* Extra Calls */";
|
348 |
-
echo $mfbfw['extraCallsData'];
|
349 |
-
} ?>
|
350 |
-
|
351 |
-
})
|
352 |
-
</script>
|
353 |
-
<!-- END Fancybox for WordPress -->
|
354 |
-
<?php
|
355 |
-
}
|
356 |
-
}
|
357 |
-
|
358 |
-
// Check if inline script should be loaded in footer
|
359 |
-
if ( isset( $mfbfw['loadAtFooter'] ) && $mfbfw['loadAtFooter'] ) {
|
360 |
-
add_action( 'wp_footer', 'mfbfw_init' );
|
361 |
-
} else {
|
362 |
-
add_action( 'wp_head', 'mfbfw_init' );
|
363 |
-
}
|
364 |
-
|
365 |
-
/**
|
366 |
-
* Load text domain
|
367 |
-
*/
|
368 |
-
function mfbfw_textdomain() {
|
369 |
-
|
370 |
-
if ( function_exists( 'load_plugin_textdomain' ) ) {
|
371 |
-
load_plugin_textdomain( 'mfbfw', FBFW_URL . 'languages', 'fancybox-for-wordpress/languages' );
|
372 |
-
}
|
373 |
-
}
|
374 |
-
|
375 |
-
add_action( 'init', 'mfbfw_textdomain' );
|
376 |
-
|
377 |
-
|
378 |
-
/**
|
379 |
-
* Insert Rollback link for plugin in plugins page
|
380 |
-
*/
|
381 |
-
|
382 |
-
function extra_settings_links( $links ) {
|
383 |
-
|
384 |
-
if ( apply_filters( 'fbfw_show_rollback_link', true ) ) {
|
385 |
-
$links['rollback'] = sprintf( '<a href="%s" class="fbfw-rollback-button">%s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=fbfw_rollback' ), 'fbfw_rollback' ), __( 'Rollback version', 'mfbfw' ) );
|
386 |
-
}
|
387 |
-
|
388 |
-
return $links;
|
389 |
-
}
|
390 |
-
|
391 |
-
add_action( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'extra_settings_links' );
|
392 |
-
|
393 |
-
|
394 |
-
/**
|
395 |
-
* Register options
|
396 |
-
*/
|
397 |
-
function mfbfw_admin_options() {
|
398 |
-
|
399 |
-
$settings = get_option( 'mfbfw' );
|
400 |
-
|
401 |
-
if ( isset( $_GET['page'] ) && $_GET['page'] == 'fancybox-for-wordpress' ) {
|
402 |
-
|
403 |
-
if ( isset( $_REQUEST['action'] ) && 'reset' == $_REQUEST['action'] && check_admin_referer( 'mfbfw-options-reset' ) ) {
|
404 |
-
|
405 |
-
$defaults_array = mfbfw_defaults(); // Store defaults in an array
|
406 |
-
update_option( 'mfbfw', $defaults_array ); // Write defaults to database
|
407 |
-
wp_safe_redirect( add_query_arg( 'reset', 'true' ) );
|
408 |
-
die;
|
409 |
-
}
|
410 |
-
}
|
411 |
-
|
412 |
-
register_setting( 'mfbfw-options', 'mfbfw' );
|
413 |
-
}
|
414 |
-
|
415 |
-
add_action( 'admin_init', 'mfbfw_admin_options' );
|
416 |
-
|
417 |
-
/**
|
418 |
-
* Admin options page
|
419 |
-
*/
|
420 |
-
function mfbfw_admin_menu() {
|
421 |
-
|
422 |
-
require FBFW_PATH . 'admin.php';
|
423 |
-
|
424 |
-
$mfbfwadmin = add_submenu_page( 'options-general.php', 'Fancybox for WordPress Options', 'Fancybox for WP', 'manage_options', 'fancybox-for-wordpress', 'mfbfw_options_page' );
|
425 |
-
|
426 |
-
add_action( 'admin_print_styles-' . $mfbfwadmin, 'mfbfw_admin_styles' );
|
427 |
-
add_action( 'admin_print_scripts-' . $mfbfwadmin, 'mfbfw_admin_scripts' );
|
428 |
-
}
|
429 |
-
|
430 |
-
add_action( 'admin_menu', 'mfbfw_admin_menu' );
|
431 |
-
|
432 |
-
/**
|
433 |
-
* Load Admin CSS & JS (called in mfbfw_admin_menu())
|
434 |
-
*/
|
435 |
-
function mfbfw_admin_styles() {
|
436 |
-
wp_enqueue_style( 'fancybox-admin', FBFW_URL . 'assets/css/fancybox-admin.css', false, FBFW_VERSION ); // Load custom CSS for Admin Page
|
437 |
-
wp_enqueue_style( 'wp-color-picker' );
|
438 |
-
wp_enqueue_style( 'jquery-ui', '//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css' ); // Load jQuery UI Tabs CSS for Admin Page
|
439 |
-
}
|
440 |
-
|
441 |
-
function mfbfw_admin_scripts() {
|
442 |
-
wp_enqueue_script( 'jquery-ui-tabs', array( 'jquery-ui-core' ), true ); // Load jQuery UI Tabs JS for Admin Page
|
443 |
-
wp_enqueue_script( 'fancybox-admin', FBFW_URL . 'assets/js/admin.js', array( 'jquery', 'wp-color-picker', 'updates' ), FBFW_VERSION, true ); // Load specific JS for Admin Page
|
444 |
-
|
445 |
-
/* Load codemirror editor */
|
446 |
-
$settings = wp_enqueue_code_editor( array( 'type' => 'text/javascript' ) );
|
447 |
-
}
|
448 |
-
|
449 |
-
/**
|
450 |
-
* Settings Button on Plugins Panel
|
451 |
-
*/
|
452 |
-
|
453 |
-
|
454 |
-
require FBFW_PATH . '/lib/class-fbfw-plugin-rollback.php';
|
455 |
-
require FBFW_PATH . '/lib/class-fbfw-rollback.php';
|
456 |
-
|
457 |
-
function mfbfw_plugin_action_links(
|
458 |
-
$links,
|
459 |
-
$file
|
460 |
-
) {
|
461 |
-
|
462 |
-
static $this_plugin;
|
463 |
-
if ( ! $this_plugin ) {
|
464 |
-
$this_plugin = plugin_basename( __FILE__ );
|
465 |
-
}
|
466 |
-
|
467 |
-
if ( $file == $this_plugin ) {
|
468 |
-
$settings_link = '<a href="options-general.php?page=fancybox-for-wordpress">' . __( 'Settings', 'mfbfw' ) . '</a>';
|
469 |
-
array_unshift( $links, $settings_link );
|
470 |
-
}
|
471 |
-
|
472 |
-
return $links;
|
473 |
-
}
|
474 |
-
|
475 |
-
add_filter( 'plugin_action_links', 'mfbfw_plugin_action_links', 10, 2 );
|
476 |
-
|
477 |
-
/*
|
478 |
-
* Transform from Hex to rgb or rgba
|
479 |
-
*/
|
480 |
-
|
481 |
-
function hexTorgba( $hexColor, $opacity ) {
|
482 |
-
list( $r, $g, $b ) = sscanf( $hexColor, "#%02x%02x%02x" );
|
483 |
-
if ( $opacity ) {
|
484 |
-
$rgb = 'rgba(' . $r . ',' . $g . ',' . $b . ',' . $opacity . ')';
|
485 |
-
} else {
|
486 |
-
$rgb = 'rgba(' . $r . ',' . $g . ',' . $b . ')';
|
487 |
-
}
|
488 |
-
|
489 |
-
return $rgb;
|
490 |
-
}
|
491 |
-
|
492 |
-
/*
|
493 |
-
*
|
494 |
-
* Check if WooCommerce Product post
|
495 |
-
*
|
496 |
-
*/
|
497 |
-
function fancy_check_if_woocommerce() {
|
498 |
-
if ( class_exists( 'WooCommerce' ) ) {
|
499 |
-
if ( is_shop() ) {
|
500 |
-
return 'shop_page';
|
501 |
-
} else if ( get_post_type( get_the_id() ) == 'product' ) {
|
502 |
-
return 'product';
|
503 |
-
} else {
|
504 |
-
return 'true';
|
505 |
-
}
|
506 |
-
} else {
|
507 |
-
return 'true';
|
508 |
-
}
|
509 |
-
}
|
510 |
-
|
511 |
-
// Ajax request for activate link
|
512 |
-
add_action( 'wp_ajax_mfbfw_activate_link', 'mfbfw_get_activate_link' );
|
513 |
-
function mfbfw_get_activate_link() {
|
514 |
-
|
515 |
-
$plugin_path = 'modula-best-grid-gallery/Modula.php';
|
516 |
-
$link = add_query_arg(
|
517 |
-
array(
|
518 |
-
'action' => 'activate',
|
519 |
-
'plugin' => rawurlencode( $plugin_path ),
|
520 |
-
'plugin_status' => 'all',
|
521 |
-
'paged' => '1',
|
522 |
-
'_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_path ),
|
523 |
-
),
|
524 |
-
admin_url( 'plugins.php' )
|
525 |
-
);
|
526 |
-
|
527 |
-
wp_die(
|
528 |
-
wp_json_encode(
|
529 |
-
array(
|
530 |
-
'status' => 'succes',
|
531 |
-
'link' => $link,
|
532 |
-
)
|
533 |
-
)
|
534 |
-
);
|
535 |
-
|
536 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Plugin Name: FancyBox for WordPress
|
5 |
+
Plugin URI: https://wordpress.org/plugins/fancybox-for-wordpress/
|
6 |
+
Description: Integrates <a href="http://fancyapps.com/fancybox/3/">FancyBox 3</a> into WordPress.
|
7 |
+
Version: 3.1.5
|
8 |
+
Author: Colorlib
|
9 |
+
Author URI: https://colorlib.com/wp/
|
10 |
+
|
11 |
+
* FancyBox is Copyright (c) 2008 - 2010 Janis Skarnelis
|
12 |
+
* Dual licensed under the MIT and GPL licenses:
|
13 |
+
* http://www.opensource.org/licenses/mit-license.php
|
14 |
+
* http://www.gnu.org/licenses/gpl.html
|
15 |
+
|
16 |
+
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Plugin Init
|
20 |
+
*/
|
21 |
+
// Constants
|
22 |
+
define( 'FBFW_VERSION', '3.1.5' );
|
23 |
+
define( 'FBFW_PATH', plugin_dir_path( __FILE__ ) );
|
24 |
+
define( 'FBFW_URL', plugin_dir_url( __FILE__ ) );
|
25 |
+
define( 'FBFW_PLUGIN_BASE', plugin_basename( __FILE__ ) );
|
26 |
+
define( 'FBFW_PREVIOUS_PLUGIN_VERSION', '3.0.14' );
|
27 |
+
define( 'FBFW_FILE_', __FILE__ );
|
28 |
+
define( 'PLUGIN_NAME', 'fancybox-for-wordpress' );
|
29 |
+
|
30 |
+
|
31 |
+
// Get Main Settings
|
32 |
+
$mfbfw = get_option( 'mfbfw' );
|
33 |
+
$mfbfw_version = get_option( 'mfbfw_active_version' );
|
34 |
+
|
35 |
+
// If previous version detected
|
36 |
+
if ( is_admin() && isset( $mfbfw_version ) && $mfbfw_version < FBFW_VERSION ) {
|
37 |
+
|
38 |
+
// get default settings and add any new ones to the database
|
39 |
+
$current_settings = get_option( 'mfbfw' );
|
40 |
+
$default_settings = mfbfw_defaults();
|
41 |
+
$new_settings = (array) $current_settings + (array) $default_settings;
|
42 |
+
update_option( 'mfbfw', $new_settings );
|
43 |
+
|
44 |
+
// update version number
|
45 |
+
update_option( 'mfbfw_active_version', FBFW_VERSION );
|
46 |
+
} else {
|
47 |
+
|
48 |
+
// update is not needed, add settings if first time activation
|
49 |
+
$default_settings = mfbfw_defaults();
|
50 |
+
add_option( 'mfbfw', $default_settings );
|
51 |
+
add_option( 'mfbfw_active_version', FBFW_VERSION );
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Store default settings in an array
|
56 |
+
*/
|
57 |
+
function mfbfw_defaults() {
|
58 |
+
|
59 |
+
$default_settings = array(
|
60 |
+
// Appearance
|
61 |
+
'border' => '',
|
62 |
+
'borderColor' => '#BBBBBB',
|
63 |
+
'paddingColor' => '#FFFFFF',
|
64 |
+
'padding' => '10',
|
65 |
+
'overlayShow' => 'on',
|
66 |
+
'overlayColor' => '#666666',
|
67 |
+
'overlayOpacity' => '0.3',
|
68 |
+
'titleShow' => 'on',
|
69 |
+
'titlePosition' => 'inside',
|
70 |
+
'titleColor' => '#333333',
|
71 |
+
'showNavArrows' => 'on',
|
72 |
+
'titleSize' => '14',
|
73 |
+
'showCloseButton' => '',
|
74 |
+
'showToolbar' => 'on',
|
75 |
+
// Animations
|
76 |
+
'zoomOpacity' => 'on',
|
77 |
+
'zoomSpeedIn' => '500',
|
78 |
+
'zoomSpeedChange' => '300',
|
79 |
+
'transitionIn' => 'fade',
|
80 |
+
'transitionEffect' => 'fade',
|
81 |
+
// Behaviour
|
82 |
+
'hideOnOverlayClick' => 'function(current, event) {
|
83 |
+
return current.type === "image" ? "close" : false;
|
84 |
+
},',
|
85 |
+
'hideOnContentClick' => '',
|
86 |
+
'enableEscapeButton' => 'on',
|
87 |
+
'cyclic' => '',
|
88 |
+
'mouseWheel' => '',
|
89 |
+
'disableWoocommercePages' => '',
|
90 |
+
'disableWoocommerceProducts' => '',
|
91 |
+
// Gallery Type
|
92 |
+
'galleryType' => 'all',
|
93 |
+
'customExpression' => 'jQuery(thumbnails).attr("data-fancybox","gallery").getTitle();',
|
94 |
+
// Misc
|
95 |
+
'autoDimensions' => 'on',
|
96 |
+
'frameWidth' => '560',
|
97 |
+
'frameHeight' => '340',
|
98 |
+
'loadAtFooter' => '',
|
99 |
+
'callbackEnable' => '',
|
100 |
+
'callbackOnStart' => 'function() { alert("Start!"); }',
|
101 |
+
'callbackOnCancel' => 'function() { alert("Cancel!"); }',
|
102 |
+
'callbackOnComplete' => 'function() { alert("Complete!"); }',
|
103 |
+
'callbackOnCleanup' => 'function() { alert("CleanUp!"); }',
|
104 |
+
'callbackOnClose' => 'function() { alert("Close!"); }',
|
105 |
+
'copyTitleFunction' => 'var arr = jQuery("a[data-fancybox]");
|
106 |
+
jQuery.each(arr, function() {
|
107 |
+
var title = jQuery(this).children("img").attr("title");
|
108 |
+
var caption = jQuery(this).next("figcaption").html();
|
109 |
+
if(caption.length){jQuery(this).attr("title",title+" " + caption)}else{ jQuery(this).attr("title",title);};
|
110 |
+
}); ',
|
111 |
+
'nojQuery' => '',
|
112 |
+
'extraCallsEnable' => '',
|
113 |
+
'extraCallsData' => '',
|
114 |
+
'uninstall' => '',
|
115 |
+
);
|
116 |
+
|
117 |
+
return $default_settings;
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* If requested, when plugin is deactivated, remove settings
|
122 |
+
*/
|
123 |
+
function mfbfw_deactivate() {
|
124 |
+
|
125 |
+
global $mfbfw;
|
126 |
+
|
127 |
+
if ( isset( $mfbfw['uninstall'] ) && $mfbfw['uninstall'] ) {
|
128 |
+
delete_option( 'mfbfw' );
|
129 |
+
delete_option( 'mfbfw_active_version' );
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
register_deactivation_hook( __FILE__, 'mfbfw_deactivate' );
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Load FancyBox JS with jQuery and
|
137 |
+
*/
|
138 |
+
function mfbfw_enqueue_scripts() {
|
139 |
+
|
140 |
+
global $mfbfw, $wp_styles;
|
141 |
+
|
142 |
+
// Check if script should be loaded in footer
|
143 |
+
if ( isset( $mfbfw['loadAtFooter'] ) && $mfbfw['loadAtFooter'] ) {
|
144 |
+
$footer = true;
|
145 |
+
} else {
|
146 |
+
$footer = false;
|
147 |
+
}
|
148 |
+
|
149 |
+
// Check if plugin should not call jQuery script (for troubleshooting only)
|
150 |
+
if ( isset( $mfbfw['nojQuery'] ) && $mfbfw['nojQuery'] ) {
|
151 |
+
$jquery = false;
|
152 |
+
} else {
|
153 |
+
$jquery = array( 'jquery' );
|
154 |
+
}
|
155 |
+
|
156 |
+
// Register Scripts
|
157 |
+
wp_register_script( 'fancybox', FBFW_URL . 'assets/js/jquery.fancybox.js', $jquery, '1.3.4', $footer ); // Main Fancybox script
|
158 |
+
// Enqueue Scripts
|
159 |
+
wp_enqueue_script( 'fancybox' ); // Load fancybox
|
160 |
+
|
161 |
+
if ( isset( $mfbfw['easing'] ) && $mfbfw['easing'] ) {
|
162 |
+
wp_enqueue_script( 'jqueryeasing' ); // Load easing javascript file if required
|
163 |
+
}
|
164 |
+
|
165 |
+
if ( isset( $mfbfw['wheel'] ) && $mfbfw['wheel'] ) {
|
166 |
+
wp_enqueue_script( 'jquerymousewheel' ); // Load mouse wheel javascript file if required
|
167 |
+
}
|
168 |
+
|
169 |
+
// Register Styles
|
170 |
+
wp_register_style( 'fancybox', FBFW_URL . 'assets/css/fancybox.css', false, '1.3.4' ); // Main Fancybox style
|
171 |
+
wp_register_style( 'fancybox-ie', FBFW_URL . 'assets/css/fancybox.ie.css', array( 'fancybox' ), '1.3.4' ); // Main Fancybox style fixes for IE6-8
|
172 |
+
// Enqueue Styles
|
173 |
+
wp_enqueue_style( 'fancybox' );
|
174 |
+
wp_enqueue_style( 'fancybox-ie' );
|
175 |
+
|
176 |
+
// Make IE specific styles load only on IE6-8
|
177 |
+
$wp_styles->add_data( 'fancybox-ie', 'conditional', 'lt IE 9' );
|
178 |
+
}
|
179 |
+
|
180 |
+
add_action( 'wp_enqueue_scripts', 'mfbfw_enqueue_scripts' );
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Print inline styles and load FancyBox with the selected settings
|
184 |
+
*/
|
185 |
+
function mfbfw_init() {
|
186 |
+
|
187 |
+
global $mfbfw, $mfbfw_version;
|
188 |
+
|
189 |
+
//caption function to display image title
|
190 |
+
$caption = 'function( instance, item ) {' .
|
191 |
+
'var testing = jQuery(this).context.title;' .
|
192 |
+
'var caption = jQuery(this).data(\'caption\') || \'\';' .
|
193 |
+
'if ( item.type === \'image\' && testing.length ) {' .
|
194 |
+
'caption = (caption.length ? caption + \'<br />\' : \'\') + \'<p class="caption-title">\'+testing+\'</p>\' ;' .
|
195 |
+
'}' .
|
196 |
+
'return caption;' .
|
197 |
+
'}';
|
198 |
+
|
199 |
+
// fix undefined index copyTitleFunction. $mfbfw array misses this index.
|
200 |
+
|
201 |
+
$mfbfw['copyTitleFunction'] = 'var arr = jQuery("a[data-fancybox]");
|
202 |
+
jQuery.each(arr, function() {
|
203 |
+
var title = jQuery(this).children("img").attr("title");
|
204 |
+
var caption = jQuery(this).next("figcaption").html();
|
205 |
+
if(caption && title){jQuery(this).attr("title",title+" " + caption)}else if(title){ jQuery(this).attr("title",title);}else if(caption){jQuery(this).attr("title",caption);}
|
206 |
+
}); ';
|
207 |
+
|
208 |
+
|
209 |
+
if ( $mfbfw['titlePosition'] == 'inside' ) {
|
210 |
+
$afterLoad = 'function( instance, current ) {';
|
211 |
+
$afterLoad .= 'current.$content.append(\'<div class=\"fancybox-custom-caption\" style=\" position: absolute;left:0;right:0;color:#000;padding-top:10px;bottom:-50px;margin:0 auto;text-align:center; \">\' + current.opts.caption + \'</div>\');';
|
212 |
+
$afterLoad .= '}';
|
213 |
+
$hideCaption = 'div.fancybox-caption{display:none !important;}';
|
214 |
+
} else if ( $mfbfw['titlePosition'] == 'over' ) {
|
215 |
+
$afterLoad = 'function( instance, current ) {';
|
216 |
+
$afterLoad .= 'current.$content.append(\'<div class=\"fancybox-custom-caption\" style=\" position: absolute;left:0;right:0;color:#000;padding-top:10px;bottom:0;margin:0 auto;text-align:center; \">\' + current.opts.caption + \'</div>\');';
|
217 |
+
$afterLoad .= '}';
|
218 |
+
$hideCaption = 'div.fancybox-caption{display:none !important;}';
|
219 |
+
} else {
|
220 |
+
$afterLoad .= '""';
|
221 |
+
$hideCaption = '';
|
222 |
+
}
|
223 |
+
|
224 |
+
|
225 |
+
if ( isset( $mfbfw['autoDimensions'] ) && $mfbfw['autoDimensions'] == true ) {
|
226 |
+
$frameSize = '';
|
227 |
+
} else {
|
228 |
+
$frameSize = ' "width": ' . $mfbfw['frameWidth'] . ',
|
229 |
+
"height": ' . $mfbfw['frameHeight'] . ',';
|
230 |
+
}
|
231 |
+
|
232 |
+
|
233 |
+
$mfbfw['customExpression'] = str_replace( '"rel"', '"data-fancybox"', $mfbfw['customExpression'] );
|
234 |
+
|
235 |
+
//title position settings
|
236 |
+
if ( isset( $mfbfw['titlePosition'] ) ) {
|
237 |
+
if ( $mfbfw['titlePosition'] == 'inside' ) {
|
238 |
+
$captionPosition = 'div.fancybox-caption p.caption-title {background:#fff; width:auto;padding:10px 30px;}';
|
239 |
+
} elseif ( $mfbfw['titlePosition'] == 'float' ) {
|
240 |
+
$captionPosition = 'div.fancybox-caption p.caption-title {background:#fff;color:#000;padding:10px 30px;width:auto;}';
|
241 |
+
} else {
|
242 |
+
$captionPosition = 'div.fancybox-caption {position:relative;max-width:50%;margin:0 auto;min-width:480px;padding:15px;}div.fancybox-caption p.caption-title{position:relative;left:0;right:0;margin:0 auto;top:0px;color:#fff;}';
|
243 |
+
}
|
244 |
+
}
|
245 |
+
|
246 |
+
if ( ( isset( $mfbfw['disableWoocommerceProducts'] ) && $mfbfw['disableWoocommerceProducts'] == true && fancy_check_if_woocommerce() == 'product' ) || ( isset( $mfbfw['disableWoocommercePages'] ) && $mfbfw['disableWoocommercePages'] == true && fancy_check_if_woocommerce() == 'shop_page' ) ) {
|
247 |
+
|
248 |
+
} else {
|
249 |
+
|
250 |
+
|
251 |
+
echo '
|
252 |
+
<!-- Fancybox for WordPress v' . $mfbfw_version . ' -->
|
253 |
+
<style type="text/css">
|
254 |
+
'.$hideCaption.'
|
255 |
+
' . ( isset( $mfbfw['overlayShow'] ) ? '' : 'div.fancybox-bg{background:transparent !important;}' ) . '
|
256 |
+
' . 'img.fancybox-image{border-width:' . $mfbfw['padding'] . 'px;border-color:' . $mfbfw['paddingColor'] . ';border-style:solid;height:auto;}' . '
|
257 |
+
' . ( isset( $mfbfw['overlayColor'] ) && $mfbfw['overlayColor'] ? 'div.fancybox-bg{background-color:' . hexTorgba( $mfbfw['overlayColor'], $mfbfw['overlayOpacity'] ) . ';opacity:1 !important;}' : '' ) . ( isset( $mfbfw['paddingColor'] ) && $mfbfw['paddingColor'] ? 'div.fancybox-content{border-color:' . $mfbfw['paddingColor'] . '}' : '' ) . '
|
258 |
+
' . ( isset( $mfbfw['paddingColor'] ) && $mfbfw['paddingColor'] && $mfbfw['titlePosition'] == 'inside' ? 'div#fancybox-title{background-color:' . $mfbfw['paddingColor'] . '}' : '' ) . '
|
259 |
+
div.fancybox-content{background-color:' . $mfbfw['paddingColor'] . ( isset( $mfbfw['border'] ) && $mfbfw['border'] ? ';border:1px solid ' . $mfbfw['borderColor'] : '' ) . '}
|
260 |
+
' . ( isset( $mfbfw['titleColor'] ) && $mfbfw['titleColor'] && $mfbfw['titlePosition'] == 'inside' ? 'div#fancybox-title-inside{color:' . $mfbfw['titleColor'] . '}' : '' ) . '
|
261 |
+
' . ( isset( $mfbfw['borderRadius'] ) ? 'div.fancybox-content{border-radius:' . $mfbfw['borderRadius'] . 'px}' : '' ) . '
|
262 |
+
' . ( isset( $mfbfw['borderRadiusInner'] ) ? 'img#fancybox-img{border-radius:' . $mfbfw['borderRadiusInner'] . 'px}' : '' ) . '
|
263 |
+
' . ( isset( $mfbfw['shadowSize'] ) && $mfbfw['shadowOffset'] && $mfbfw['shadowOpacity'] ? 'div.fancybox-content{box-shadow:0 ' . $mfbfw['shadowOffset'] . 'px ' . $mfbfw['shadowSize'] . 'px rgba(0,0,0,' . $mfbfw['shadowOpacity'] . ')}' : '' ) . '
|
264 |
+
' . ( isset( $mfbfw['titleShow'] ) ? 'div.fancybox-caption p.caption-title{display:inline-block}' : 'div.fancybox-caption p.caption-title{display:none}div.fancybox-caption{display:none;}' ) . '
|
265 |
+
' . ( isset( $mfbfw['titleSize'] ) ? 'div.fancybox-caption p.caption-title{font-size:' . $mfbfw['titleSize'] . 'px}' : 'div.fancybox-caption p.caption-title{font-size:14px}' ) . '
|
266 |
+
' . ( isset( $mfbfw['titleColor'] ) && $mfbfw['titlePosition'] == 'inside' ? 'div.fancybox-caption p.caption-title{color:' . $mfbfw['titleColor'] . '}' : 'div.fancybox-caption p.caption-title{color:#fff}' ) . '
|
267 |
+
' . ( isset( $mfbfw['titlePosition'] ) ? 'div.fancybox-caption {color:' . $mfbfw['titleColor'] . '}' : 'div.fancybox-caption p.caption-title{color:#333333}' ) . $captionPosition . '
|
268 |
+
</style>';
|
269 |
+
?>
|
270 |
+
<script type="text/javascript">
|
271 |
+
jQuery(function(){
|
272 |
+
|
273 |
+
jQuery.fn.getTitle = function() { // Copy the title of every IMG tag and add it to its parent A so that fancybox can show titles
|
274 |
+
<?php echo $mfbfw['copyTitleFunction'] ?>
|
275 |
+
}
|
276 |
+
|
277 |
+
// Supported file extensions
|
278 |
+
var thumbnails = jQuery("a:has(img)").not(".nolightbox").filter( function() { return /\.(jpe?g|png|gif|mp4|webp|bmp|pdf)(\?[^/]*)*$/i.test(jQuery(this).attr('href')) });
|
279 |
+
<?php if ( $mfbfw['galleryType'] == 'post' ) { ?>
|
280 |
+
|
281 |
+
// Gallery type BY POST and on post or page (so only one post or page is visible)
|
282 |
+
<?php if ( is_singular() ) { ?>
|
283 |
+
// Gallery by post
|
284 |
+
thumbnails.addClass("fancybox").attr("data-fancybox","gallery").getTitle();
|
285 |
+
|
286 |
+
<?php } else { ?>
|
287 |
+
// Gallery by post
|
288 |
+
var posts = jQuery(".post");
|
289 |
+
posts.each(function() {
|
290 |
+
jQuery(this).find(thumbnails).addClass("fancybox").attr("data-fancybox","gallery"+posts.index(this)).attr("rel","fancybox"+posts.index(this)).getTitle()
|
291 |
+
});
|
292 |
+
|
293 |
+
<?php } ?>
|
294 |
+
|
295 |
+
// Gallery type ALL
|
296 |
+
<?php } elseif ( $mfbfw['galleryType'] == 'all' ) { ?>
|
297 |
+
// Gallery All
|
298 |
+
thumbnails.addClass("fancybox").attr("data-fancybox","gallery").getTitle();
|
299 |
+
|
300 |
+
// Gallery type NONE
|
301 |
+
<?php } elseif ( $mfbfw['galleryType'] == 'none' ) { ?>
|
302 |
+
// No Galleries
|
303 |
+
thumbnails.each(function(){
|
304 |
+
var rel = jQuery(this).attr("rel");
|
305 |
+
var imgTitle = jQuery(this).children("img").attr("title");
|
306 |
+
jQuery(this).addClass("fancybox").attr("data-fancybox",rel);
|
307 |
+
jQuery(this).attr("title",imgTitle);
|
308 |
+
});
|
309 |
+
|
310 |
+
// Else, gallery type is custom, so just print the custom expression
|
311 |
+
<?php } else { ?>
|
312 |
+
/* Custom Expression */
|
313 |
+
<?php echo $mfbfw['customExpression']; ?>
|
314 |
+
<?php } ?>
|
315 |
+
|
316 |
+
// Call fancybox and apply it on any link with a rel atribute that starts with "fancybox", with the options set on the admin panel
|
317 |
+
jQuery("a.fancybox").fancybox({
|
318 |
+
loop: <?php echo ( isset( $mfbfw['cyclic'] ) && $mfbfw['cyclic'] ? 'true' : 'false' ) ?>,
|
319 |
+
smallBtn: <?php echo ( isset( $mfbfw['showCloseButton'] ) && $mfbfw['showCloseButton'] ? 'true' : 'false' ) ?>,
|
320 |
+
zoomOpacity: <?php echo ( isset( $mfbfw['zoomOpacity'] ) && $mfbfw['zoomOpacity'] ? '"auto"' : 'false' ) ?>,
|
321 |
+
animationEffect: "<?php echo $mfbfw['transitionIn'] ?>",
|
322 |
+
animationDuration: <?php echo $mfbfw['zoomSpeedIn'] ?>,
|
323 |
+
transitionEffect: "<?php echo $mfbfw['transitionEffect'] ?>",
|
324 |
+
transitionDuration : "<?php echo $mfbfw['zoomSpeedChange'] ?>",
|
325 |
+
overlayShow: <?php echo ( isset( $mfbfw['overlayShow'] ) && $mfbfw['overlayShow'] ? 'true' : 'false' ) ?>,
|
326 |
+
overlayOpacity: "<?php echo $mfbfw['overlayOpacity'] ?>",
|
327 |
+
titleShow: <?php echo ( isset( $mfbfw['titleShow'] ) && $mfbfw['titleShow'] ? 'true' : 'false' ) ?>,
|
328 |
+
titlePosition: "<?php echo $mfbfw['titlePosition'] ?>",
|
329 |
+
keyboard: <?php echo ( isset( $mfbfw['enableEscapeButton'] ) && $mfbfw['enableEscapeButton'] ? 'true' : 'false' ) ?>,
|
330 |
+
showCloseButton: <?php echo ( isset( $mfbfw['showCloseButton'] ) && $mfbfw['showCloseButton'] ? 'true' : 'false' ) ?>,
|
331 |
+
arrows: <?php echo ( isset( $mfbfw['showNavArrows'] ) && $mfbfw['showNavArrows'] ? 'true' : 'false' ) ?>,
|
332 |
+
clickContent: <?php echo ( isset( $mfbfw['hideOnContentClick'] ) && $mfbfw['hideOnContentClick'] ? '"close"' : 'false' ) ?>,
|
333 |
+
clickSlide: <?php echo ( isset( $mfbfw['hideOnOverlayClick'] ) && $mfbfw['hideOnOverlayClick'] ? 'function(current, event) {return current.type === "image" ? "close" : false;}' : 'false' ) ?>,
|
334 |
+
wheel: <?php echo ( isset( $mfbfw['mouseWheel'] ) && $mfbfw['mouseWheel'] ? 'true' : 'false' ) ?>,
|
335 |
+
toolbar: <?php echo ( isset( $mfbfw['showToolbar'] ) && $mfbfw['showToolbar'] ? 'true' : 'false' ) ?>,
|
336 |
+
preventCaptionOverlap: true,
|
337 |
+
onInit: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnStart'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnStart'] ? $mfbfw['callbackOnStart'] . ',' : 'function() { },' ) ?>
|
338 |
+
onDeactivate: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnCancel'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnCancel'] ? $mfbfw['callbackOnCancel'] . ',' : 'function() { },' ) ?>
|
339 |
+
beforeClose: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnCleanup'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnCleanup'] ? $mfbfw['callbackOnCleanup'] . ',' : 'function() { },' ) ?>
|
340 |
+
afterShow: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnComplete'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnComplete'] ? $mfbfw['callbackOnComplete'] . ',' : 'function() { },' ) ?>
|
341 |
+
afterClose: <?php echo ( isset( $mfbfw['callbackEnable'], $mfbfw['callbackOnClose'] ) && $mfbfw['callbackEnable'] && $mfbfw['callbackOnClose'] ? $mfbfw['callbackOnClose'] . ',' : 'function() { },' ) ?>
|
342 |
+
caption : <?php echo $caption ?>,
|
343 |
+
afterLoad : <?php echo $afterLoad ?>,
|
344 |
+
<?php echo $frameSize ?>
|
345 |
+
});
|
346 |
+
<?php if ( isset( $mfbfw['extraCallsEnable'] ) && $mfbfw['extraCallsEnable'] ) {
|
347 |
+
echo "/* Extra Calls */";
|
348 |
+
echo $mfbfw['extraCallsData'];
|
349 |
+
} ?>
|
350 |
+
|
351 |
+
})
|
352 |
+
</script>
|
353 |
+
<!-- END Fancybox for WordPress -->
|
354 |
+
<?php
|
355 |
+
}
|
356 |
+
}
|
357 |
+
|
358 |
+
// Check if inline script should be loaded in footer
|
359 |
+
if ( isset( $mfbfw['loadAtFooter'] ) && $mfbfw['loadAtFooter'] ) {
|
360 |
+
add_action( 'wp_footer', 'mfbfw_init' );
|
361 |
+
} else {
|
362 |
+
add_action( 'wp_head', 'mfbfw_init' );
|
363 |
+
}
|
364 |
+
|
365 |
+
/**
|
366 |
+
* Load text domain
|
367 |
+
*/
|
368 |
+
function mfbfw_textdomain() {
|
369 |
+
|
370 |
+
if ( function_exists( 'load_plugin_textdomain' ) ) {
|
371 |
+
load_plugin_textdomain( 'mfbfw', FBFW_URL . 'languages', 'fancybox-for-wordpress/languages' );
|
372 |
+
}
|
373 |
+
}
|
374 |
+
|
375 |
+
add_action( 'init', 'mfbfw_textdomain' );
|
376 |
+
|
377 |
+
|
378 |
+
/**
|
379 |
+
* Insert Rollback link for plugin in plugins page
|
380 |
+
*/
|
381 |
+
|
382 |
+
function extra_settings_links( $links ) {
|
383 |
+
|
384 |
+
if ( apply_filters( 'fbfw_show_rollback_link', true ) ) {
|
385 |
+
$links['rollback'] = sprintf( '<a href="%s" class="fbfw-rollback-button">%s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=fbfw_rollback' ), 'fbfw_rollback' ), __( 'Rollback version', 'mfbfw' ) );
|
386 |
+
}
|
387 |
+
|
388 |
+
return $links;
|
389 |
+
}
|
390 |
+
|
391 |
+
add_action( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'extra_settings_links' );
|
392 |
+
|
393 |
+
|
394 |
+
/**
|
395 |
+
* Register options
|
396 |
+
*/
|
397 |
+
function mfbfw_admin_options() {
|
398 |
+
|
399 |
+
$settings = get_option( 'mfbfw' );
|
400 |
+
|
401 |
+
if ( isset( $_GET['page'] ) && $_GET['page'] == 'fancybox-for-wordpress' ) {
|
402 |
+
|
403 |
+
if ( isset( $_REQUEST['action'] ) && 'reset' == $_REQUEST['action'] && check_admin_referer( 'mfbfw-options-reset' ) ) {
|
404 |
+
|
405 |
+
$defaults_array = mfbfw_defaults(); // Store defaults in an array
|
406 |
+
update_option( 'mfbfw', $defaults_array ); // Write defaults to database
|
407 |
+
wp_safe_redirect( add_query_arg( 'reset', 'true' ) );
|
408 |
+
die;
|
409 |
+
}
|
410 |
+
}
|
411 |
+
|
412 |
+
register_setting( 'mfbfw-options', 'mfbfw' );
|
413 |
+
}
|
414 |
+
|
415 |
+
add_action( 'admin_init', 'mfbfw_admin_options' );
|
416 |
+
|
417 |
+
/**
|
418 |
+
* Admin options page
|
419 |
+
*/
|
420 |
+
function mfbfw_admin_menu() {
|
421 |
+
|
422 |
+
require FBFW_PATH . 'admin.php';
|
423 |
+
|
424 |
+
$mfbfwadmin = add_submenu_page( 'options-general.php', 'Fancybox for WordPress Options', 'Fancybox for WP', 'manage_options', 'fancybox-for-wordpress', 'mfbfw_options_page' );
|
425 |
+
|
426 |
+
add_action( 'admin_print_styles-' . $mfbfwadmin, 'mfbfw_admin_styles' );
|
427 |
+
add_action( 'admin_print_scripts-' . $mfbfwadmin, 'mfbfw_admin_scripts' );
|
428 |
+
}
|
429 |
+
|
430 |
+
add_action( 'admin_menu', 'mfbfw_admin_menu' );
|
431 |
+
|
432 |
+
/**
|
433 |
+
* Load Admin CSS & JS (called in mfbfw_admin_menu())
|
434 |
+
*/
|
435 |
+
function mfbfw_admin_styles() {
|
436 |
+
wp_enqueue_style( 'fancybox-admin', FBFW_URL . 'assets/css/fancybox-admin.css', false, FBFW_VERSION ); // Load custom CSS for Admin Page
|
437 |
+
wp_enqueue_style( 'wp-color-picker' );
|
438 |
+
wp_enqueue_style( 'jquery-ui', '//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css' ); // Load jQuery UI Tabs CSS for Admin Page
|
439 |
+
}
|
440 |
+
|
441 |
+
function mfbfw_admin_scripts() {
|
442 |
+
wp_enqueue_script( 'jquery-ui-tabs', array( 'jquery-ui-core' ), true ); // Load jQuery UI Tabs JS for Admin Page
|
443 |
+
wp_enqueue_script( 'fancybox-admin', FBFW_URL . 'assets/js/admin.js', array( 'jquery', 'wp-color-picker', 'updates' ), FBFW_VERSION, true ); // Load specific JS for Admin Page
|
444 |
+
|
445 |
+
/* Load codemirror editor */
|
446 |
+
$settings = wp_enqueue_code_editor( array( 'type' => 'text/javascript' ) );
|
447 |
+
}
|
448 |
+
|
449 |
+
/**
|
450 |
+
* Settings Button on Plugins Panel
|
451 |
+
*/
|
452 |
+
|
453 |
+
|
454 |
+
require FBFW_PATH . '/lib/class-fbfw-plugin-rollback.php';
|
455 |
+
require FBFW_PATH . '/lib/class-fbfw-rollback.php';
|
456 |
+
|
457 |
+
function mfbfw_plugin_action_links(
|
458 |
+
$links,
|
459 |
+
$file
|
460 |
+
) {
|
461 |
+
|
462 |
+
static $this_plugin;
|
463 |
+
if ( ! $this_plugin ) {
|
464 |
+
$this_plugin = plugin_basename( __FILE__ );
|
465 |
+
}
|
466 |
+
|
467 |
+
if ( $file == $this_plugin ) {
|
468 |
+
$settings_link = '<a href="options-general.php?page=fancybox-for-wordpress">' . __( 'Settings', 'mfbfw' ) . '</a>';
|
469 |
+
array_unshift( $links, $settings_link );
|
470 |
+
}
|
471 |
+
|
472 |
+
return $links;
|
473 |
+
}
|
474 |
+
|
475 |
+
add_filter( 'plugin_action_links', 'mfbfw_plugin_action_links', 10, 2 );
|
476 |
+
|
477 |
+
/*
|
478 |
+
* Transform from Hex to rgb or rgba
|
479 |
+
*/
|
480 |
+
|
481 |
+
function hexTorgba( $hexColor, $opacity ) {
|
482 |
+
list( $r, $g, $b ) = sscanf( $hexColor, "#%02x%02x%02x" );
|
483 |
+
if ( $opacity ) {
|
484 |
+
$rgb = 'rgba(' . $r . ',' . $g . ',' . $b . ',' . $opacity . ')';
|
485 |
+
} else {
|
486 |
+
$rgb = 'rgba(' . $r . ',' . $g . ',' . $b . ')';
|
487 |
+
}
|
488 |
+
|
489 |
+
return $rgb;
|
490 |
+
}
|
491 |
+
|
492 |
+
/*
|
493 |
+
*
|
494 |
+
* Check if WooCommerce Product post
|
495 |
+
*
|
496 |
+
*/
|
497 |
+
function fancy_check_if_woocommerce() {
|
498 |
+
if ( class_exists( 'WooCommerce' ) ) {
|
499 |
+
if ( is_shop() ) {
|
500 |
+
return 'shop_page';
|
501 |
+
} else if ( get_post_type( get_the_id() ) == 'product' ) {
|
502 |
+
return 'product';
|
503 |
+
} else {
|
504 |
+
return 'true';
|
505 |
+
}
|
506 |
+
} else {
|
507 |
+
return 'true';
|
508 |
+
}
|
509 |
+
}
|
510 |
+
|
511 |
+
// Ajax request for activate link
|
512 |
+
add_action( 'wp_ajax_mfbfw_activate_link', 'mfbfw_get_activate_link' );
|
513 |
+
function mfbfw_get_activate_link() {
|
514 |
+
|
515 |
+
$plugin_path = 'modula-best-grid-gallery/Modula.php';
|
516 |
+
$link = add_query_arg(
|
517 |
+
array(
|
518 |
+
'action' => 'activate',
|
519 |
+
'plugin' => rawurlencode( $plugin_path ),
|
520 |
+
'plugin_status' => 'all',
|
521 |
+
'paged' => '1',
|
522 |
+
'_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_path ),
|
523 |
+
),
|
524 |
+
admin_url( 'plugins.php' )
|
525 |
+
);
|
526 |
+
|
527 |
+
wp_die(
|
528 |
+
wp_json_encode(
|
529 |
+
array(
|
530 |
+
'status' => 'succes',
|
531 |
+
'link' => $link,
|
532 |
+
)
|
533 |
+
)
|
534 |
+
);
|
535 |
+
|
536 |
}
|
languages/mfbfw-es_ES.po
CHANGED
@@ -1,1050 +1,1050 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: FancyBox for WordPress Español\n"
|
4 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/fancybox-for-"
|
5 |
-
"wordpress\n"
|
6 |
-
"POT-Creation-Date: 2015-02-07 02:02:19+00:00\n"
|
7 |
-
"PO-Revision-Date: \n"
|
8 |
-
"Last-Translator: Jose Pardilla <jose@moskis.net>\n"
|
9 |
-
"Language-Team: Moskis <jose@moskis.net>\n"
|
10 |
-
"Language: es_ES\n"
|
11 |
-
"MIME-Version: 1.0\n"
|
12 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
-
"Content-Transfer-Encoding: 8bit\n"
|
14 |
-
"X-Generator: Poedit 1.7.4\n"
|
15 |
-
|
16 |
-
#: admin.php:11
|
17 |
-
msgid "Fancybox for WordPress (version %s)"
|
18 |
-
msgstr "Fancybox for WordPress (versión %s)"
|
19 |
-
|
20 |
-
#: admin.php:22
|
21 |
-
msgid "Info"
|
22 |
-
msgstr "Información"
|
23 |
-
|
24 |
-
#: admin.php:23
|
25 |
-
msgid "Appearance"
|
26 |
-
msgstr "Apariencia"
|
27 |
-
|
28 |
-
#: admin.php:24
|
29 |
-
msgid "Animations"
|
30 |
-
msgstr "Animaciones"
|
31 |
-
|
32 |
-
#: admin.php:25
|
33 |
-
msgid "Behaviour"
|
34 |
-
msgstr "Comportamiento"
|
35 |
-
|
36 |
-
#: admin.php:26
|
37 |
-
msgid "Galleries"
|
38 |
-
msgstr "Galerías"
|
39 |
-
|
40 |
-
#: admin.php:27
|
41 |
-
msgid "Miscellaneous"
|
42 |
-
msgstr "Miscelánea"
|
43 |
-
|
44 |
-
#: admin.php:28
|
45 |
-
msgid "Extra Calls"
|
46 |
-
msgstr "Llamadas Extra"
|
47 |
-
|
48 |
-
#: admin.php:29
|
49 |
-
msgid "Troubleshooting"
|
50 |
-
msgstr "Ayuda"
|
51 |
-
|
52 |
-
#: admin.php:30 lib/admin-tab-support.php:1
|
53 |
-
msgid "Support"
|
54 |
-
msgstr "Soporte"
|
55 |
-
|
56 |
-
#: admin.php:31 lib/admin-tab-uninstall.php:1
|
57 |
-
msgid "Uninstall"
|
58 |
-
msgstr "Desinstalar"
|
59 |
-
|
60 |
-
#: admin.php:77
|
61 |
-
msgid "Save Changes"
|
62 |
-
msgstr "Guardar Cambios"
|
63 |
-
|
64 |
-
#: admin.php:85
|
65 |
-
msgid "Revert to defaults"
|
66 |
-
msgstr "Restaurar valores por defecto"
|
67 |
-
|
68 |
-
#: admin.php:93
|
69 |
-
msgid "If you use FancyBox and like it, buy the author a beer!"
|
70 |
-
msgstr "Si usas FancyBox y te gusta, cómprale una cerveza al autor!"
|
71 |
-
|
72 |
-
#: admin.php:110
|
73 |
-
msgid "The author of this WordPress Plugin also likes beer :P"
|
74 |
-
msgstr ""
|
75 |
-
"Al autor de este plugin para WordPress también le gusta la cerveza :P"
|
76 |
-
|
77 |
-
#: admin.php:120
|
78 |
-
msgid "Follow me on Twitter for more WordPress Plugins and Themes"
|
79 |
-
msgstr "Sígueme en Twitter para más Plugins y Temas de WordPress"
|
80 |
-
|
81 |
-
#: fancybox.php:404
|
82 |
-
msgid "Settings"
|
83 |
-
msgstr "Opciones"
|
84 |
-
|
85 |
-
#: lib/admin-tab-animations.php:1
|
86 |
-
msgid "Animation Settings <span style=\"color:green\">(basic)</span>"
|
87 |
-
msgstr "Opciones de Animación <span style=\"color:green\">(básico)</span>"
|
88 |
-
|
89 |
-
#: lib/admin-tab-animations.php:3
|
90 |
-
msgid ""
|
91 |
-
"These settings control the animations when opening and closing Fancybox, and "
|
92 |
-
"the optional easing effects."
|
93 |
-
msgstr ""
|
94 |
-
"Estas opciones controlan las animaciones al abrir y cerrar Fancybox, y los "
|
95 |
-
"efectos opcionales de animación."
|
96 |
-
|
97 |
-
#: lib/admin-tab-animations.php:9
|
98 |
-
msgid "Zoom Options"
|
99 |
-
msgstr "Opciones de Zoom"
|
100 |
-
|
101 |
-
#: lib/admin-tab-animations.php:15
|
102 |
-
msgid "Change content transparency during zoom animations (default: on)"
|
103 |
-
msgstr "Animar opacidad durante el efecto de zoom (por defecto: activado)"
|
104 |
-
|
105 |
-
#: lib/admin-tab-animations.php:27
|
106 |
-
msgid "Speed in miliseconds of the zooming-in animation (default: 500)"
|
107 |
-
msgstr "Velocidad en milisegundos del efecto de Zoom In (por defecto: 500)"
|
108 |
-
|
109 |
-
#: lib/admin-tab-animations.php:39
|
110 |
-
msgid "Speed in miliseconds of the zooming-out animation (default: 500)"
|
111 |
-
msgstr "Velocidad en milisegundos del efecto de Zoom Out (por defecto: 500)"
|
112 |
-
|
113 |
-
#: lib/admin-tab-animations.php:51
|
114 |
-
msgid ""
|
115 |
-
"Speed in miliseconds of the animation when navigating thorugh gallery items "
|
116 |
-
"(default: 300)"
|
117 |
-
msgstr ""
|
118 |
-
"Velocidad en milisegundos de la animación al navegar entre los elementos de "
|
119 |
-
"una galería (por defecto: 300)"
|
120 |
-
|
121 |
-
#: lib/admin-tab-animations.php:59
|
122 |
-
msgid "Transition Type"
|
123 |
-
msgstr "Tio de Transición"
|
124 |
-
|
125 |
-
#: lib/admin-tab-animations.php:73
|
126 |
-
msgid "Transition type when opening FancyBox. (default: fade)"
|
127 |
-
msgstr "Tipo de transición al abrir FancyBox. (por defecto: fade)"
|
128 |
-
|
129 |
-
#: lib/admin-tab-animations.php:86
|
130 |
-
msgid "Transition type when closing FancyBox. (default: fade)"
|
131 |
-
msgstr "Tipo de transición al cerrar FancyBox. (por defecto: fade)"
|
132 |
-
|
133 |
-
#: lib/admin-tab-animations.php:94
|
134 |
-
msgid "Easing"
|
135 |
-
msgstr "Efecto de Animación"
|
136 |
-
|
137 |
-
#: lib/admin-tab-animations.php:100
|
138 |
-
msgid "Activate easing (default: off)"
|
139 |
-
msgstr "Activar efecto de animación (por defecto: desactivado)"
|
140 |
-
|
141 |
-
#: lib/admin-tab-animations.php:103
|
142 |
-
msgid "(Will load one additional javascript file, 8KB)"
|
143 |
-
msgstr "(Ejecutará un archivo JavaScript adicional, 8KB)"
|
144 |
-
|
145 |
-
#: lib/admin-tab-animations.php:117
|
146 |
-
msgid "Easing method when opening FancyBox. (default: easeOutBack)"
|
147 |
-
msgstr "Efecto de animación al abrir FancyBox. (por defecto: easeOutBack)"
|
148 |
-
|
149 |
-
#: lib/admin-tab-animations.php:120
|
150 |
-
msgid "(Requires opening transition type to be set to elastic)"
|
151 |
-
msgstr "(Requiere el tipo de transición de inicio elástico)"
|
152 |
-
|
153 |
-
#: lib/admin-tab-animations.php:132
|
154 |
-
msgid "Easing method when closing FancyBox. (default: easeInBack)"
|
155 |
-
msgstr "Efecto de animación al cerrar FancyBox. (por defecto: easeInBack)"
|
156 |
-
|
157 |
-
#: lib/admin-tab-animations.php:135
|
158 |
-
msgid "(Requires closing transition type to be set to elastic)"
|
159 |
-
msgstr "(Requiere el tipo de transición de cerrado elástico)"
|
160 |
-
|
161 |
-
#: lib/admin-tab-animations.php:147
|
162 |
-
msgid ""
|
163 |
-
"Easing method when navigating through gallery items. (default: "
|
164 |
-
"easeInOutQuart)"
|
165 |
-
msgstr ""
|
166 |
-
"Efecto de animación al navegar por galerías. (por defecto: easoInOutQuart)"
|
167 |
-
|
168 |
-
#: lib/admin-tab-animations.php:150
|
169 |
-
msgid ""
|
170 |
-
"(There are 30 different easing methods, the first ones are the most boring. "
|
171 |
-
"You can test them <a href=\"http://commadot.com/jquery/easing.php\" target="
|
172 |
-
"\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/"
|
173 |
-
"animationtypes.html\" target=\"_blank\">here</a>)"
|
174 |
-
msgstr ""
|
175 |
-
"(Hay 30 efectos diferentes, los primeros son los más aburridos. Puedes "
|
176 |
-
"probarlos <a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank"
|
177 |
-
"\">aquí</a> o <a href=\"http://hosted.zeh.com.br/mctween/animationtypes.html"
|
178 |
-
"\" target=\"_blank\">aquí</a>)"
|
179 |
-
|
180 |
-
#: lib/admin-tab-appearance.php:1
|
181 |
-
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
182 |
-
msgstr "Opciones de Apariencia <span style=\"color:green\">(básico)</span>"
|
183 |
-
|
184 |
-
#: lib/admin-tab-appearance.php:3
|
185 |
-
msgid ""
|
186 |
-
"These setting control how Fancybox looks, they let you tweak color, borders "
|
187 |
-
"and position of elements, like the image title and closing buttons."
|
188 |
-
msgstr ""
|
189 |
-
"Estas opciones controlan el aspecto general de FancyBox, te permiten ajustar "
|
190 |
-
"los colores, bordes y posición de elementos como el título de la imagen y el "
|
191 |
-
"botón de cerrar."
|
192 |
-
|
193 |
-
#: lib/admin-tab-appearance.php:9
|
194 |
-
msgid "Border"
|
195 |
-
msgstr "Borde"
|
196 |
-
|
197 |
-
#: lib/admin-tab-appearance.php:15
|
198 |
-
msgid "Show Border (default: off)"
|
199 |
-
msgstr "Mostrar Borde (por defecto: desactivado)"
|
200 |
-
|
201 |
-
#: lib/admin-tab-appearance.php:22
|
202 |
-
msgid "HTML color of the border (default: #BBBBBB)"
|
203 |
-
msgstr "Color HTML del borde (por defecto: #BBBBBB)"
|
204 |
-
|
205 |
-
#: lib/admin-tab-appearance.php:32
|
206 |
-
msgid "Close Button"
|
207 |
-
msgstr "Botón de Cerrar"
|
208 |
-
|
209 |
-
#: lib/admin-tab-appearance.php:38
|
210 |
-
msgid "Show Close button (default: on)"
|
211 |
-
msgstr "Mostrar el Botón de Cerrar (por defecto: activado)"
|
212 |
-
|
213 |
-
#: lib/admin-tab-appearance.php:43
|
214 |
-
msgid "Close button position:"
|
215 |
-
msgstr "Posición del Botón de Cerrar:"
|
216 |
-
|
217 |
-
#: lib/admin-tab-appearance.php:46
|
218 |
-
msgid "Left"
|
219 |
-
msgstr "Izquierda"
|
220 |
-
|
221 |
-
#: lib/admin-tab-appearance.php:51
|
222 |
-
msgid "Right (default)"
|
223 |
-
msgstr "Derecha (por defecto)"
|
224 |
-
|
225 |
-
#: lib/admin-tab-appearance.php:56
|
226 |
-
msgid "Bottom"
|
227 |
-
msgstr "Abajo"
|
228 |
-
|
229 |
-
#: lib/admin-tab-appearance.php:61
|
230 |
-
msgid "Top (default)"
|
231 |
-
msgstr "Arriba (por defecto)"
|
232 |
-
|
233 |
-
#: lib/admin-tab-appearance.php:71
|
234 |
-
msgid "Padding"
|
235 |
-
msgstr "Margen"
|
236 |
-
|
237 |
-
#: lib/admin-tab-appearance.php:77
|
238 |
-
msgid "HTML color of the padding (default: #FFFFFF)"
|
239 |
-
msgstr "Color HTML del margen (por defecto: #FFFFFF)"
|
240 |
-
|
241 |
-
#: lib/admin-tab-appearance.php:80
|
242 |
-
msgid ""
|
243 |
-
"(This should be left on #FFFFFF (white) if you want to display anything "
|
244 |
-
"other than images, like inline or framed content)"
|
245 |
-
msgstr ""
|
246 |
-
"(Esta opción debería dejarse en #FFFFFF (blanco) si vas a mostrar algo que "
|
247 |
-
"no sean imágenes, como contenido anidado)"
|
248 |
-
|
249 |
-
#: lib/admin-tab-appearance.php:84
|
250 |
-
msgid "Padding size in pixels (default: 10)"
|
251 |
-
msgstr "Tamaño del margen en píxeles (por defecto: 10)"
|
252 |
-
|
253 |
-
#: lib/admin-tab-appearance.php:92
|
254 |
-
msgid "Overlay Options"
|
255 |
-
msgstr "Opciones de Overlay"
|
256 |
-
|
257 |
-
#: lib/admin-tab-appearance.php:98
|
258 |
-
msgid "Add overlay (default: on)"
|
259 |
-
msgstr "Añadir overlay (por defecto: activado)"
|
260 |
-
|
261 |
-
#: lib/admin-tab-appearance.php:105
|
262 |
-
msgid "HTML color of the overlay (default: #666666)"
|
263 |
-
msgstr "Color HTML del overlay (por defecto: #666666)"
|
264 |
-
|
265 |
-
#: lib/admin-tab-appearance.php:118
|
266 |
-
msgid "Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)"
|
267 |
-
msgstr "Opacidad del overlay. 0 es transparente, 1 es opaco (por defecto: 0.3)"
|
268 |
-
|
269 |
-
#: lib/admin-tab-appearance.php:128
|
270 |
-
msgid "Title"
|
271 |
-
msgstr "Título"
|
272 |
-
|
273 |
-
#: lib/admin-tab-appearance.php:134
|
274 |
-
msgid "Show the title (default: on)"
|
275 |
-
msgstr "Mostrar el título (por defecto: activado)"
|
276 |
-
|
277 |
-
#: lib/admin-tab-appearance.php:141
|
278 |
-
msgid "Inside (default)"
|
279 |
-
msgstr "Dentro (por defecto)"
|
280 |
-
|
281 |
-
#: lib/admin-tab-appearance.php:146
|
282 |
-
msgid "Outside"
|
283 |
-
msgstr "Fuera"
|
284 |
-
|
285 |
-
#: lib/admin-tab-appearance.php:151
|
286 |
-
msgid "Over"
|
287 |
-
msgstr "Encima"
|
288 |
-
|
289 |
-
#: lib/admin-tab-appearance.php:158
|
290 |
-
msgid "Title text color (default: #333333)"
|
291 |
-
msgstr "Color del título (por defecto #333333)"
|
292 |
-
|
293 |
-
#: lib/admin-tab-appearance.php:161
|
294 |
-
msgid "(Should contrast with the padding color set above)"
|
295 |
-
msgstr "(Debería contrastar con el color del margen establecido más arriba)"
|
296 |
-
|
297 |
-
#: lib/admin-tab-appearance.php:172
|
298 |
-
msgid "Navigation Arrows"
|
299 |
-
msgstr "Flechas de Navegación"
|
300 |
-
|
301 |
-
#: lib/admin-tab-appearance.php:178
|
302 |
-
msgid "Show the navigation arrows (default: on)"
|
303 |
-
msgstr "Mostrar flechas de navegación (por defecto: activado)"
|
304 |
-
|
305 |
-
#: lib/admin-tab-behaviour.php:1
|
306 |
-
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
307 |
-
msgstr "Opciones de Comportamiento <span style=\"color:orange\">(medio)</span>"
|
308 |
-
|
309 |
-
#: lib/admin-tab-behaviour.php:3
|
310 |
-
msgid ""
|
311 |
-
"The following settings should be left alone unless you know what you are "
|
312 |
-
"doing."
|
313 |
-
msgstr ""
|
314 |
-
"Las siguientes opciones sólo deberían ser editadas si sabes lo que estás "
|
315 |
-
"haciendo."
|
316 |
-
|
317 |
-
#: lib/admin-tab-behaviour.php:9
|
318 |
-
msgid "Auto Resize to Fit"
|
319 |
-
msgstr "Ajustar Tamaño"
|
320 |
-
|
321 |
-
#: lib/admin-tab-behaviour.php:15
|
322 |
-
msgid "Scale images to fit in viewport (default: on)"
|
323 |
-
msgstr ""
|
324 |
-
"Ajusta el tamaño de las imagenes a la ventana del navegador (por defecto: "
|
325 |
-
"activado)"
|
326 |
-
|
327 |
-
#: lib/admin-tab-behaviour.php:23
|
328 |
-
msgid "Center on Scroll"
|
329 |
-
msgstr "Centrar al hacer Scroll"
|
330 |
-
|
331 |
-
#: lib/admin-tab-behaviour.php:29
|
332 |
-
msgid ""
|
333 |
-
"Keep image in the center of the browser window when scrolling (default: on)"
|
334 |
-
msgstr ""
|
335 |
-
"Mantiene la imagen en el centro de la ventana del naegador al hacer scroll "
|
336 |
-
"(por defecto: activado)"
|
337 |
-
|
338 |
-
#: lib/admin-tab-behaviour.php:37
|
339 |
-
msgid "Close on Content Click"
|
340 |
-
msgstr "Cerrar al hacer click en contenido"
|
341 |
-
|
342 |
-
#: lib/admin-tab-behaviour.php:43
|
343 |
-
msgid "Close FancyBox by clicking on the image (default: off)"
|
344 |
-
msgstr "Cerrar FancyBox al hacer click en la imagen (por defecto: desactivado)"
|
345 |
-
|
346 |
-
#: lib/admin-tab-behaviour.php:46
|
347 |
-
msgid ""
|
348 |
-
"(You may want to leave this off if you display iframed or inline content "
|
349 |
-
"that containts clickable elements - for example: play buttons for movies, "
|
350 |
-
"links to other pages)"
|
351 |
-
msgstr ""
|
352 |
-
"(Puedes que quieras dejar esta opción desactivada si vas a usar contendido "
|
353 |
-
"anidado que incluya enlaces - for ejemplo: botones de play, enlaces a otras "
|
354 |
-
"páginas)"
|
355 |
-
|
356 |
-
#: lib/admin-tab-behaviour.php:53
|
357 |
-
msgid "Close on Overlay Click"
|
358 |
-
msgstr "Cerrar al hacer click en el fondo"
|
359 |
-
|
360 |
-
#: lib/admin-tab-behaviour.php:59
|
361 |
-
msgid "Close FancyBox by clicking on the overlay sorrounding it (default: on)"
|
362 |
-
msgstr "Cerrar FancyBox al hacer click en el fondo (por defecto: activado)"
|
363 |
-
|
364 |
-
#: lib/admin-tab-behaviour.php:67
|
365 |
-
msgid "Close with "Esc""
|
366 |
-
msgstr "Cerrar con "Esc""
|
367 |
-
|
368 |
-
#: lib/admin-tab-behaviour.php:73
|
369 |
-
msgid "Close FancyBox when "Escape" key is pressed (default: on)"
|
370 |
-
msgstr ""
|
371 |
-
"Cerrar Fancybox cuando se pulse la tecla "Escape" (por defecto: "
|
372 |
-
"activado)"
|
373 |
-
|
374 |
-
#: lib/admin-tab-behaviour.php:81
|
375 |
-
msgid "Loop Galleries"
|
376 |
-
msgstr "Galerías Cíclicas"
|
377 |
-
|
378 |
-
#: lib/admin-tab-behaviour.php:87
|
379 |
-
msgid ""
|
380 |
-
"This will make galleries loop, allowing you to keep pressing next/back "
|
381 |
-
"(default: off)"
|
382 |
-
msgstr ""
|
383 |
-
"Esta oción generará galerías cíclicas, permitíendote pulsar los botones de "
|
384 |
-
"navegación indefinidamene (por defecto: desactivado)"
|
385 |
-
|
386 |
-
#: lib/admin-tab-behaviour.php:95
|
387 |
-
msgid "Mouse Wheel Navigation"
|
388 |
-
msgstr "Navegación por rueda del ratón"
|
389 |
-
|
390 |
-
#: lib/admin-tab-behaviour.php:101
|
391 |
-
msgid "Lets visitors navigate galleries with the mouse wheel (default: off)"
|
392 |
-
msgstr ""
|
393 |
-
"Permita a los visitantes navegar por las galerías con la rueda del ratón "
|
394 |
-
"(por defecto: desactivado)"
|
395 |
-
|
396 |
-
#: lib/admin-tab-behaviour.php:104
|
397 |
-
msgid "(Will load one additional javascript file, 3KB)"
|
398 |
-
msgstr "(Ejecutará un archivo JavaScript adicional, 3KB)"
|
399 |
-
|
400 |
-
#: lib/admin-tab-calls.php:1
|
401 |
-
msgid "Extra FancyBox Calls <span style=\"color:red\">(advanced)</span>"
|
402 |
-
msgstr "Llamadas Extra de FancyBox <span style=\"color:red\">(avanzado)</span>"
|
403 |
-
|
404 |
-
#: lib/admin-tab-calls.php:3
|
405 |
-
msgid ""
|
406 |
-
"Here you can add as many additional calls to fancybox as you want, with "
|
407 |
-
"different settings. For example, if you want to use fancybox with iframes or "
|
408 |
-
"ajax on any specific link, you can configure those calls here without "
|
409 |
-
"affecting the settings for images."
|
410 |
-
msgstr ""
|
411 |
-
"Aquí puedes añadir todas las llamadas adicionales a FancyBox que quieras, "
|
412 |
-
"con distintas opciones. Por ejemplo, si quieres usar FancyBox con iframes o "
|
413 |
-
"con Ajax en cualquier enlace concreto, aquí puedes configurarlo sin afectar "
|
414 |
-
"al resto de opciones."
|
415 |
-
|
416 |
-
#: lib/admin-tab-calls.php:5
|
417 |
-
msgid ""
|
418 |
-
"For information on the options available you can use here see <a href="
|
419 |
-
"\"http://fancybox.net/api\">FancyBox's API & Options page</a>."
|
420 |
-
msgstr ""
|
421 |
-
"Para más información acerca de las opciones que puedes usar en este campo, "
|
422 |
-
"lee esta página sobre la <a href=\"http://fancybox.net/api\">API y Opciones "
|
423 |
-
"de FancyBox</a>."
|
424 |
-
|
425 |
-
#: lib/admin-tab-calls.php:11
|
426 |
-
msgid "Additional FancyBox Calls"
|
427 |
-
msgstr "Llamadas Extra de FancyBox"
|
428 |
-
|
429 |
-
#: lib/admin-tab-calls.php:17
|
430 |
-
msgid "Additional FancyBox Calls (default: off)"
|
431 |
-
msgstr "Llamadas Extra de FancyBox (por defecto: desactivado)"
|
432 |
-
|
433 |
-
#: lib/admin-tab-calls.php:26 lib/admin-tab-other.php:89
|
434 |
-
msgid "Example:"
|
435 |
-
msgstr "Ejemplo:"
|
436 |
-
|
437 |
-
#: lib/admin-tab-galleries.php:1
|
438 |
-
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
439 |
-
msgstr "Opciones de Galería <span style=\"color:red\">(avanzado)</span>"
|
440 |
-
|
441 |
-
#: lib/admin-tab-galleries.php:3
|
442 |
-
msgid ""
|
443 |
-
"Here you can choose if you want the plugin to group all images into a "
|
444 |
-
"gallery, or make a gallery for each post. You can also define you own jQuery "
|
445 |
-
"expression if you like."
|
446 |
-
msgstr ""
|
447 |
-
"Aquí puedes elegir si quieres que el plugin agrupe las imágenes en una "
|
448 |
-
"galería, o hacer una galería para cada entrada. También puedes definir tu "
|
449 |
-
"propia expresión en jQuery."
|
450 |
-
|
451 |
-
#: lib/admin-tab-galleries.php:9
|
452 |
-
msgid "Gallery Type"
|
453 |
-
msgstr "Tipo de Galería"
|
454 |
-
|
455 |
-
#: lib/admin-tab-galleries.php:15
|
456 |
-
msgid "Make a gallery for all images on the page (default)"
|
457 |
-
msgstr ""
|
458 |
-
"Incluir todas las imágenes de la página en una única galería (opción por "
|
459 |
-
"defecto)"
|
460 |
-
|
461 |
-
#: lib/admin-tab-galleries.php:20
|
462 |
-
msgid ""
|
463 |
-
"Do not group images in gallery automatically (use this if you want to make "
|
464 |
-
"galleries manually with the <code>REL</code> attribute)"
|
465 |
-
msgstr ""
|
466 |
-
"No agrupar imágenes en galerías automáticamente (usa "
|
467 |
-
"esta opción si quieres agrupar las imagenes manualmente con el "
|
468 |
-
"atributo <code>REL</code>)"
|
469 |
-
|
470 |
-
#: lib/admin-tab-galleries.php:25
|
471 |
-
msgid ""
|
472 |
-
"Make a gallery for each post (will only work if your theme uses <code>class="
|
473 |
-
"\"post\"</code> on each post, which is common in WordPress"
|
474 |
-
msgstr ""
|
475 |
-
"Hacer una galería para cada post (solo funcionará si el tema "
|
476 |
-
"usa <code>class=\"post\"</code> en cada post, que es lo más "
|
477 |
-
"común en WordPress"
|
478 |
-
|
479 |
-
#: lib/admin-tab-galleries.php:30
|
480 |
-
msgid "Use a custom expression to apply FancyBox"
|
481 |
-
msgstr "Aplicar FancyBox con una expresión personalizada"
|
482 |
-
|
483 |
-
#: lib/admin-tab-galleries.php:39
|
484 |
-
msgid "Custom expression guidelines:"
|
485 |
-
msgstr "Indicaciones para expresiones personalizadas:"
|
486 |
-
|
487 |
-
#: lib/admin-tab-galleries.php:41
|
488 |
-
msgid ""
|
489 |
-
"· The custom expression has to apply <code>class=\"fancybox\"</code> "
|
490 |
-
"to the links where you want to use FancyBox. Do not call the "
|
491 |
-
"<code>fancybox()</code> function here, the plugin does this for you."
|
492 |
-
msgstr ""
|
493 |
-
"· La expresión personalizada tiene que aplicar el atributo "
|
494 |
-
"<code>class=\"fancybox\"</code> a los enlaces en los que quieras usar "
|
495 |
-
"FancyBox. No llames a la función <code>fancybox()</code> aquí, "
|
496 |
-
"de eso ya se encarga el plugin."
|
497 |
-
|
498 |
-
#: lib/admin-tab-galleries.php:43
|
499 |
-
msgid ""
|
500 |
-
"· The jQuery <code>addClass()</code> function is a good way to add "
|
501 |
-
"the class to the desired links conserving any existing class."
|
502 |
-
msgstr ""
|
503 |
-
"· La función <code>addClass()</code> de jQuery es una buena "
|
504 |
-
"forma de añadir el class a los links deseados."
|
505 |
-
|
506 |
-
#: lib/admin-tab-galleries.php:45
|
507 |
-
msgid ""
|
508 |
-
"· You can use <code>getTitle()</code> in your expression to copy the "
|
509 |
-
"title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so "
|
510 |
-
"that FancyBox can show captions."
|
511 |
-
msgstr ""
|
512 |
-
"· Puedes usar <code>getTitle()</code> en tu expresión para "
|
513 |
-
"copiar el atributo title desde el tag <code>IMG</code> al tag <code>A</"
|
514 |
-
"code>, para que FancyBox pueda mostrar el título de la imagen."
|
515 |
-
|
516 |
-
#: lib/admin-tab-galleries.php:47
|
517 |
-
msgid ""
|
518 |
-
"· You can use <code>jQuery(thumbnails)</code> like in the example "
|
519 |
-
"expression to apply FancyBox to thumbnails that link to these extensions: "
|
520 |
-
"BMP, GIF, JPG, JPEG, PNG (both lowercase and uppercase)."
|
521 |
-
msgstr ""
|
522 |
-
"· Puedes usar <code>jQuery(thumbnails)</code> como en el ejemplo para "
|
523 |
-
"aplicar FancyBox a las miniaturas de im%aacute;genes que enlazen a estas "
|
524 |
-
"extensiones: BMP, GIF, JPG, JPEG, PNG tanto en minúscula como en "
|
525 |
-
"mayúscula)."
|
526 |
-
|
527 |
-
#: lib/admin-tab-galleries.php:49
|
528 |
-
msgid ""
|
529 |
-
"· If you want to do it manually you can use something like "
|
530 |
-
"<code>jQuery(\"a:has(img)[href$='.jpg']\")</code> or whatever works for you."
|
531 |
-
msgstr ""
|
532 |
-
"· Si prefieres hacerlo manualmente puedes usar algo como "
|
533 |
-
"<code>jQuery(\"a:has(img)[href$='.jpg']\")</code> o lo que más se "
|
534 |
-
"ajuste a tu blog."
|
535 |
-
|
536 |
-
#: lib/admin-tab-galleries.php:51
|
537 |
-
msgid ""
|
538 |
-
"See the <a href=\"http://docs.jquery.com/\" target=\"_blank\">jQuery "
|
539 |
-
"Documentation</a> for more help."
|
540 |
-
msgstr ""
|
541 |
-
"Visita la <a href=\"http://docs.jquery.com/\" target=\"_blank"
|
542 |
-
"\">Documentación de jQuery</a> para encontrar más ayuda."
|
543 |
-
|
544 |
-
#: lib/admin-tab-galleries.php:53
|
545 |
-
msgid "Examples:"
|
546 |
-
msgstr "Ejemplos:"
|
547 |
-
|
548 |
-
#: lib/admin-tab-info.php:1
|
549 |
-
msgid "Information"
|
550 |
-
msgstr "Información"
|
551 |
-
|
552 |
-
#: lib/admin-tab-info.php:3
|
553 |
-
msgid ""
|
554 |
-
"<a target=\"_blank\" href=\"http://fancybox.net\">FancyBox</a> developed by "
|
555 |
-
"<a target=\"_blank\" href=\"http://fancybox.net\">Janis Skarnelis</a>, "
|
556 |
-
"ported to WordPress by <a target=\"_blank\" href=\"http://twitter.com/moskis"
|
557 |
-
"\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href="
|
558 |
-
"\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
559 |
-
msgstr ""
|
560 |
-
"<a href=\"http://fancybox.net\">FancyBox</a> desarrollado por <a href="
|
561 |
-
"\"http://fancybox.net\">Janis Skarnelis</a>, adaptado a WordPress por <a "
|
562 |
-
"href=\"http://http://twitter.com/moskis\">José Pardilla</a>. "
|
563 |
-
"Licenciado bajo <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/"
|
564 |
-
"MIT_License\">Licencia MIT</a>."
|
565 |
-
|
566 |
-
#: lib/admin-tab-info.php:5
|
567 |
-
msgid ""
|
568 |
-
"As you can see, this plugin has many options you can edit, but have no fear, "
|
569 |
-
"you can leave everything as it is if you don't want to get your hands dirty, "
|
570 |
-
"since the default options should be a good start... :)"
|
571 |
-
msgstr ""
|
572 |
-
"Como puedes ver, este plugin te permite editar muchas opciones, pero no te "
|
573 |
-
"preocupes, puedes dejarlo todo como está, ya que las opciones predefinidas "
|
574 |
-
"no están mal para empezar... :)"
|
575 |
-
|
576 |
-
#: lib/admin-tab-info.php:7
|
577 |
-
msgid ""
|
578 |
-
"If you are an advanced user you can <a target=\"_blank\" href=\"https://"
|
579 |
-
"github.com/moskis/fancybox-for-wordpress\">follow the plugin in Github</a>, "
|
580 |
-
"fork it or help submitting fixes!"
|
581 |
-
msgstr ""
|
582 |
-
"Si eres un usuario avanzado, puedes <a target=\"_blank\" href=\"https://"
|
583 |
-
"github.com/moskis/fancybox-for-wordpress\">seguir el plugin en Github</a>, y "
|
584 |
-
"colaborar aportando correcciones!"
|
585 |
-
|
586 |
-
#: lib/admin-tab-info.php:9
|
587 |
-
msgid ""
|
588 |
-
"<strong>Note:</strong> Having a cache plugin may prevent changes from taking "
|
589 |
-
"effect immidiately, if this happens clear cache after saving changes here or "
|
590 |
-
"deactivate cache until you finish editing these options."
|
591 |
-
msgstr ""
|
592 |
-
"<strong>Nota:</strong> Usar un plugin de caché puede hacer que los cambios "
|
593 |
-
"no surjan efecto inmediatamente, si esto ocurre vacía el cache después de "
|
594 |
-
"guardar los cambios o desactívalo hasta que termines de ajustar estas "
|
595 |
-
"opciones."
|
596 |
-
|
597 |
-
#: lib/admin-tab-other.php:1
|
598 |
-
msgid "Other Settings <span style=\"color:red\">(advanced)</span>"
|
599 |
-
msgstr "Otras Opciones <span style=\"color:red\">(avanzado)</span>"
|
600 |
-
|
601 |
-
#: lib/admin-tab-other.php:3
|
602 |
-
msgid "These are additional settings for advanced users."
|
603 |
-
msgstr "Las siguientes opciones son para usuarios avanzados."
|
604 |
-
|
605 |
-
#: lib/admin-tab-other.php:9
|
606 |
-
msgid "Dimensions"
|
607 |
-
msgstr "Dimensiones"
|
608 |
-
|
609 |
-
#: lib/admin-tab-other.php:15
|
610 |
-
msgid "Auto detect dimensions (default: on)"
|
611 |
-
msgstr "Auto detectar dimensiones (por defecto: activado)"
|
612 |
-
|
613 |
-
#: lib/admin-tab-other.php:18
|
614 |
-
msgid ""
|
615 |
-
"Only works with <strong>Ajax</strong> and <strong>Inline</strong> content! "
|
616 |
-
"Flash dimensions won't be autodetected so specify them below if necessary. "
|
617 |
-
"If you want to insert several pieces of flash content with different "
|
618 |
-
"dimensions you will have to use the <strong>Additional FancyBox Calls</"
|
619 |
-
"strong> option."
|
620 |
-
msgstr ""
|
621 |
-
"Sólo funciona con <strong>Ajax</strong> y <strong>Contenido en línea</"
|
622 |
-
"strong>! Las dimenciones de elementos Flash no se autodetectan así que "
|
623 |
-
"especifícalas aquí debajo si lo necesitas. Si necesitas insertar varios "
|
624 |
-
"elementos Flash de tamaños distintos tendrás que usar el apartado de "
|
625 |
-
"<strong>Llamadas Extra</strong>."
|
626 |
-
|
627 |
-
#: lib/admin-tab-other.php:22
|
628 |
-
msgid ""
|
629 |
-
"Width for iframe and swf content. Also set for inline content if "
|
630 |
-
"<em>autoDimensions</em> is disabled (default: 560)"
|
631 |
-
msgstr ""
|
632 |
-
"Ancho para iframes y contenido Flash. También afecta a contenido en línea si "
|
633 |
-
"<em>Auto detectar dimensiones</em> está desactivado (por defecto: 560)"
|
634 |
-
|
635 |
-
#: lib/admin-tab-other.php:27
|
636 |
-
msgid ""
|
637 |
-
"Height for iframe and swf content. Also set for inline content if "
|
638 |
-
"<em>autoDimensions</em> is disabled (default: 340)"
|
639 |
-
msgstr ""
|
640 |
-
"Alto para iframes y contenido Flash. También afecta a contenido en línea si "
|
641 |
-
"<em>Auto detectar dimensiones</em> está desactivado (por defecto: 340)"
|
642 |
-
|
643 |
-
#: lib/admin-tab-other.php:35
|
644 |
-
msgid "Load JavaScript in Footer"
|
645 |
-
msgstr "Cargar JavaScript en el Pié de página"
|
646 |
-
|
647 |
-
#: lib/admin-tab-other.php:41
|
648 |
-
msgid ""
|
649 |
-
"Loads JavaScript at the end of the blog's HTML (experimental) (default: off)"
|
650 |
-
msgstr ""
|
651 |
-
"Carga el JavaScript al final del código HTML del blog (experimental) (por "
|
652 |
-
"defecto: desactivado)"
|
653 |
-
|
654 |
-
#: lib/admin-tab-other.php:44
|
655 |
-
msgid ""
|
656 |
-
"This option won't be recognized if you use <strong>Parallel Load</strong> "
|
657 |
-
"plugin. In that case, you can do this from Parallel Load's options."
|
658 |
-
msgstr ""
|
659 |
-
"Esta opción será ignorada si el plugin <strong>Parallel Load</strong> está "
|
660 |
-
"instalado. Si es así, usa las opciones del plugin Parallel Load."
|
661 |
-
|
662 |
-
#: lib/admin-tab-other.php:51
|
663 |
-
msgid "Callbacks"
|
664 |
-
msgstr "Retrollamadas"
|
665 |
-
|
666 |
-
#: lib/admin-tab-other.php:57
|
667 |
-
msgid "Enable callbacks (default: off)"
|
668 |
-
msgstr "Activar retrollamadas (por defecto: desactivado)"
|
669 |
-
|
670 |
-
#: lib/admin-tab-other.php:60
|
671 |
-
msgid "Enabling this will show additional settings."
|
672 |
-
msgstr "Activar esta opcíón mostrará opociones adicionales."
|
673 |
-
|
674 |
-
#: lib/admin-tab-other.php:65
|
675 |
-
msgid ""
|
676 |
-
"Callback on <strong>Start</strong> event: Will be called right before "
|
677 |
-
"attempting to load the content"
|
678 |
-
msgstr ""
|
679 |
-
"Retrollamada en evento <strong>Inicio</strong>: Se ejecutará justo antes de "
|
680 |
-
"intentar cargar el contenido"
|
681 |
-
|
682 |
-
#: lib/admin-tab-other.php:70
|
683 |
-
msgid ""
|
684 |
-
"Callback on <strong>Cancel</strong> event: Will be called after loading is "
|
685 |
-
"canceled"
|
686 |
-
msgstr ""
|
687 |
-
"Retrollamada en evento <strong>Cancelar</strong>: Se ejecutará tras cancelar "
|
688 |
-
"la carga del contenido"
|
689 |
-
|
690 |
-
#: lib/admin-tab-other.php:75
|
691 |
-
msgid ""
|
692 |
-
"Callback on <strong>Complete</strong> event: Will be called once the content "
|
693 |
-
"is displayed"
|
694 |
-
msgstr ""
|
695 |
-
"Retrollamada en evento <strong>Completado</strong>: Se ejecutará una vez se "
|
696 |
-
"termine de mostrar el contenido"
|
697 |
-
|
698 |
-
#: lib/admin-tab-other.php:80
|
699 |
-
msgid ""
|
700 |
-
"Callback on <strong>CleanUp</strong> event: Will be called just before "
|
701 |
-
"closing"
|
702 |
-
msgstr ""
|
703 |
-
"Retrollamada en evento <strong>Limpieza</strong>: Se ejecutará justo antes "
|
704 |
-
"de empezar a ocultar el contenido"
|
705 |
-
|
706 |
-
#: lib/admin-tab-other.php:85
|
707 |
-
msgid ""
|
708 |
-
"Callback on <strong>Closed</strong> event: Will be called once FancyBox is "
|
709 |
-
"closed"
|
710 |
-
msgstr ""
|
711 |
-
"Retrollamada en evento <strong>Cerrado</strong>: Se ejecutará tras cerrar "
|
712 |
-
"FancyBox"
|
713 |
-
|
714 |
-
#: lib/admin-tab-other.php:91
|
715 |
-
msgid "Leave empty any speciic callbacks you don't need to use."
|
716 |
-
msgstr "Deja en blanco cualquier Retrollamada que no quieras usar."
|
717 |
-
|
718 |
-
#: lib/admin-tab-support.php:3
|
719 |
-
msgid "Help with Fancybox"
|
720 |
-
msgstr "Ayuda sobre ancyBox"
|
721 |
-
|
722 |
-
#: lib/admin-tab-support.php:5
|
723 |
-
msgid ""
|
724 |
-
"If you have problems or questions about FancyBox itself (and not this "
|
725 |
-
"WordPress plugin), please start with these links: <a target=\"_blank\" href="
|
726 |
-
"\"http://fancybox.net/howto\">How-To</a> & <a target=\"_blank\" href="
|
727 |
-
"\"http://fancybox.net/faq\">FAQ</a>.<br />If that does not help, go to <a "
|
728 |
-
"href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</"
|
729 |
-
"a>, use the <strong>Search</strong> option, and if necesary, post your "
|
730 |
-
"question."
|
731 |
-
msgstr ""
|
732 |
-
"Si tienes problemas o dudas acerca de FancyBox (y no este plugin en sí), por "
|
733 |
-
"favor visita estos enlaces (en inglés): <a href=\"http://fancybox.net/howto"
|
734 |
-
"\">How-To</a> & <a href=\"http://fancybox.net/faq\">FAQ</a>.<br />Si eso no "
|
735 |
-
"ayuda, ves al <a href=\"http://groups.google.com/group/fancybox\">Grupo de "
|
736 |
-
"Google de FancyBox</a>, usa la opción de <strong>Búsqueda</strong>, y si no "
|
737 |
-
"encuentras lo que buscas, pregunta allí."
|
738 |
-
|
739 |
-
#: lib/admin-tab-support.php:8
|
740 |
-
msgid "Help with Fancybox for WordPress plugin"
|
741 |
-
msgstr "Ayuda para el plugin Fancybox for WordPress"
|
742 |
-
|
743 |
-
#: lib/admin-tab-support.php:10
|
744 |
-
msgid ""
|
745 |
-
"Try to localize the problem (switch your theme and deactivate plugins until "
|
746 |
-
"you find the source of the problem). You can also try the Troubleshooting "
|
747 |
-
"settings of this plugin if necesary."
|
748 |
-
msgstr ""
|
749 |
-
"Intenta localizar la fuente del problema (cambia de tema y/o desactiva "
|
750 |
-
"plugins hasta que encuentres lo que causa el problema). También puedes usar "
|
751 |
-
"las optiones de Resolución de Errores que hay al final de esta página."
|
752 |
-
|
753 |
-
#: lib/admin-tab-support.php:11
|
754 |
-
msgid ""
|
755 |
-
"Try reverting the plugin's settings to their defaults with the button below."
|
756 |
-
msgstr ""
|
757 |
-
"Prueba a resetear las opciones a sus valores originales con el botón al pie "
|
758 |
-
"de esta página."
|
759 |
-
|
760 |
-
#: lib/admin-tab-support.php:12
|
761 |
-
msgid ""
|
762 |
-
"If you still can not get the plugin to work, <a target=\"_blank\" href="
|
763 |
-
"\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
764 |
-
"\">write a post in the WordPress Support forums</a> explaining the problem "
|
765 |
-
"or take a look and the <a target=\"_blank\" href=\"http://wordpress.org/"
|
766 |
-
"support/plugin/fancybox-for-wordpress\">already posted messages</a>."
|
767 |
-
msgstr ""
|
768 |
-
"Si aún no puedes hacer funcionar el plugin, <a target=\"_blank\" href="
|
769 |
-
"\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
770 |
-
"\">escribe en el foro de Soporte de WordPress</a> o echa un vistazo a <a "
|
771 |
-
"target=\"_blank\" href=\"\"http://wordpress.org/support/plugin/fancybox-for-"
|
772 |
-
"wordpress\">los mensajes ya escritos en dicho foro</a>."
|
773 |
-
|
774 |
-
#: lib/admin-tab-support.php:15
|
775 |
-
msgid "IMPORTANT:"
|
776 |
-
msgstr "IMPORTANTE:"
|
777 |
-
|
778 |
-
#: lib/admin-tab-support.php:15
|
779 |
-
msgid ""
|
780 |
-
"When posting your problem please provide a link to your blog and the page "
|
781 |
-
"where the error is found, and all relevant information you can, especially "
|
782 |
-
"your theme, plugins, etc."
|
783 |
-
msgstr ""
|
784 |
-
"Cuando expliques tu problema, por favor deja un enlace a tu blog y una "
|
785 |
-
"página donde FancyBox falla, así como cualquier información reelevante, como "
|
786 |
-
"el tema de WordPress y plugins que usas."
|
787 |
-
|
788 |
-
#: lib/admin-tab-troubleshooting.php:1
|
789 |
-
msgid "Troubleshooting Settings"
|
790 |
-
msgstr "Resolución de Problemas"
|
791 |
-
|
792 |
-
#: lib/admin-tab-troubleshooting.php:3
|
793 |
-
msgid ""
|
794 |
-
"Settings in this section should only be changed if you are having problems "
|
795 |
-
"with the plugin!"
|
796 |
-
msgstr ""
|
797 |
-
"Las opciones de esta sección solo deben ser editadas si tienes problemas con "
|
798 |
-
"el plugin!"
|
799 |
-
|
800 |
-
#: lib/admin-tab-troubleshooting.php:5
|
801 |
-
msgid ""
|
802 |
-
"If the plugin doesn't seem to work, first you should check for other plugins "
|
803 |
-
"that may be conflicting with this one, especially other Lightbox, Slimbox, "
|
804 |
-
"etc. Make sure all your plugins and WordPress itself are up to date (this "
|
805 |
-
"plugin has only been tested in WordPress 2.7 and above)."
|
806 |
-
msgstr ""
|
807 |
-
"Si el plugin no funciona, lo primero que deberías hacer es comprobar que no "
|
808 |
-
"haya un conflicto con otros plugins, especialmente otro tipo de Lightbox, "
|
809 |
-
"Slimbox, etc. Asegúrate de que todos tus plugins y tu WordPress están "
|
810 |
-
"actualizados (este plugin solo se ha testado con WordPress 2.7 y superiores)."
|
811 |
-
|
812 |
-
#: lib/admin-tab-troubleshooting.php:7
|
813 |
-
msgid ""
|
814 |
-
"Change them one at a time and test to see if they help. Remember that having "
|
815 |
-
"a cache plugin may prevent changes from taking effect immidiately, so clear "
|
816 |
-
"cache after saving changes here or deactivate cache until you finish editing "
|
817 |
-
"these options."
|
818 |
-
msgstr ""
|
819 |
-
"Cámbialas de una en una y comprueba si solucionan tu problema. Recuqerda que "
|
820 |
-
"usar un plugin de caché puede hacer que los cambios no surjan efecto "
|
821 |
-
"inmediatamente, vacía el cache después de guardar los cambios or desactivalo "
|
822 |
-
"hasta que termines de ajustar estas opciones."
|
823 |
-
|
824 |
-
#: lib/admin-tab-troubleshooting.php:13
|
825 |
-
msgid "Do not call jQuery"
|
826 |
-
msgstr "No cargar jQuery"
|
827 |
-
|
828 |
-
#: lib/admin-tab-troubleshooting.php:19
|
829 |
-
msgid ""
|
830 |
-
"Skip jQuery call. Use this only if jQuery is being loaded twice (default: "
|
831 |
-
"off)"
|
832 |
-
msgstr ""
|
833 |
-
"Omitir llamada a jQuery. Usa esta opción sólo si jQuery se está cargando dos "
|
834 |
-
"veces por error. (por defecto: desactivado)"
|
835 |
-
|
836 |
-
#: lib/admin-tab-uninstall.php:3
|
837 |
-
msgid ""
|
838 |
-
"Like many other plugins, FancyBox for WordPress stores its settings on your "
|
839 |
-
"WordPress' options database table. Actually, these settings are not using "
|
840 |
-
"more than a couple of kilobytes of space, but if you want to completely "
|
841 |
-
"uninstall this plugin, check the option below, then save changes, and "
|
842 |
-
"<strong>when you deactivate the plugin</strong>, all its settings will be "
|
843 |
-
"removed from the database."
|
844 |
-
msgstr ""
|
845 |
-
"Al igual que otros plugins, FancyBox for WordPress guarda sus opciones en la "
|
846 |
-
"tabla de opciones de la base de datos de WordPress. En realidad, estas "
|
847 |
-
"opcines no ocupam más que unos kilobytes de espacio, pero si quieres "
|
848 |
-
"eliminar el plugin por completo, activa la siguiente opción, guarda los "
|
849 |
-
"cambios, y <strong>cuando desactives el plugin</strong>, todas las opciones "
|
850 |
-
"se eliminarán de la base de datos."
|
851 |
-
|
852 |
-
#: lib/admin-tab-uninstall.php:9
|
853 |
-
msgid "Remove settings"
|
854 |
-
msgstr "Eliminar Opciones"
|
855 |
-
|
856 |
-
#: lib/admin-tab-uninstall.php:15
|
857 |
-
msgid ""
|
858 |
-
"Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. "
|
859 |
-
"(default: off)"
|
860 |
-
msgstr ""
|
861 |
-
"Eliminar opciones cuando se desactive el plugin desde la página \"Gestionar "
|
862 |
-
"Plugins\". (por defecto: desactivado)"
|
863 |
-
|
864 |
-
#. Plugin Name of the plugin/theme
|
865 |
-
msgid "FancyBox for WordPress"
|
866 |
-
msgstr "FancyBox for WordPress"
|
867 |
-
|
868 |
-
#. Plugin URI of the plugin/theme
|
869 |
-
msgid "https://wordpress.org/plugins/fancybox-for-wordpress/"
|
870 |
-
msgstr "https://wordpress.org/plugins/fancybox-for-wordpress/"
|
871 |
-
|
872 |
-
#. Description of the plugin/theme
|
873 |
-
msgid ""
|
874 |
-
"Integrates <a href=\"http://fancybox.net/\">FancyBox</a> by <a href=\"http://"
|
875 |
-
"klade.lv/\">Janis Skarnelis</a> into WordPress."
|
876 |
-
msgstr ""
|
877 |
-
"Integra <a href=\"http://fancybox.net/\">FancyBox</a> por <a href=\"http://"
|
878 |
-
"klade.lv/\">Janis Skarnelis</a> en WordPress."
|
879 |
-
|
880 |
-
#. Author of the plugin/theme
|
881 |
-
msgid "José Pardilla"
|
882 |
-
msgstr "José Pardilla"
|
883 |
-
|
884 |
-
#. Author URI of the plugin/theme
|
885 |
-
msgid "http://twitter.com/moskis"
|
886 |
-
msgstr "http://twitter.com/moskis"
|
887 |
-
|
888 |
-
#~ msgid ""
|
889 |
-
#~ "<strong>Note:</strong> If update to version 3.0.0 breaks fancybox on your "
|
890 |
-
#~ "blog you will probably have to reset your settings (with the white button "
|
891 |
-
#~ "below). I have tested this issue on several WordPress installations and "
|
892 |
-
#~ "it always worked, so it might depend on the server. Sorry for the "
|
893 |
-
#~ "inconvinience."
|
894 |
-
#~ msgstr ""
|
895 |
-
#~ "<strong>Nota:</strong> Si la actualización a la versión 3.0.0 estropea "
|
896 |
-
#~ "FancyBox en tu blog, posiblemente tengas que reestablecer las opciones "
|
897 |
-
#~ "del plugin (desde el botón blanco de abajo)."
|
898 |
-
|
899 |
-
#~ msgid ""
|
900 |
-
#~ "If you are having trouble with this plugin take a look at this <a target="
|
901 |
-
#~ "\"_blank\" href=\"http://plugins.josepardilla.com/fancybox-for-wordpress/"
|
902 |
-
#~ "faq\">FAQ</a> where i will try to cover the most common problems and "
|
903 |
-
#~ "their solutions."
|
904 |
-
#~ msgstr ""
|
905 |
-
#~ "Si tienes problemas para hacer funcionar este plugin echa un vistazo a "
|
906 |
-
#~ "esta página de <a target=\"_blank\" href=\"http://plugins.josepardilla."
|
907 |
-
#~ "com/fancybox-for-wordpress/faq\">Preguntas Frecuentes</a> donde intentaré "
|
908 |
-
#~ "explicar los problemas más habituales y cómo resolverlos."
|
909 |
-
|
910 |
-
#~ msgid "Callback on Start event (default: empty)"
|
911 |
-
#~ msgstr "Retrollamada en el evento de Inicio (por defecto: vacío)"
|
912 |
-
|
913 |
-
#~ msgid "Callback on Show event (default: empty)"
|
914 |
-
#~ msgstr "Retrollamada en el evento de Mostrado (por defecto: vacío)"
|
915 |
-
|
916 |
-
#~ msgid "Callback on Close event (default: empty)"
|
917 |
-
#~ msgstr "Retrollamada en el evento de Cerrado (por defecto: vacío)"
|
918 |
-
|
919 |
-
#~ msgid "Leave the fields empty to disable."
|
920 |
-
#~ msgstr "Deja estos campos vacíos para desactivar cualqueir retrollamada."
|
921 |
-
|
922 |
-
#~ msgid "Frame Size"
|
923 |
-
#~ msgstr "Tamaño del recuadro"
|
924 |
-
|
925 |
-
#~ msgid ""
|
926 |
-
#~ "Width in pixels of FancyBox when showing iframe content (default: 560)"
|
927 |
-
#~ msgstr ""
|
928 |
-
#~ "Ancho en píxeles de FancyBox cuado se muestre contenido anidado (por "
|
929 |
-
#~ "defecto: 560)"
|
930 |
-
|
931 |
-
#~ msgid ""
|
932 |
-
#~ "Height in pixels of FancyBox when showing iframe content (default: 340)"
|
933 |
-
#~ msgstr ""
|
934 |
-
#~ "Alto en píxeles de FancyBox cuado se muestre contenido anidado (por "
|
935 |
-
#~ "defecto: 340)"
|
936 |
-
|
937 |
-
#~ msgid "jQuery \"noConflict\" Mode"
|
938 |
-
#~ msgstr "Modo jQuery \"noConflict\""
|
939 |
-
|
940 |
-
#~ msgid "Use jQuery noConflict mode (default: on)"
|
941 |
-
#~ msgstr "Usar parámetro noConflict de jQuery (por defecto: activado)"
|
942 |
-
|
943 |
-
#~ msgid ""
|
944 |
-
#~ "(Turning this off may cause problems if there are plugins activated that "
|
945 |
-
#~ "use other js framework like mootools, prototype, scriptaculous, etc.)"
|
946 |
-
#~ msgstr ""
|
947 |
-
#~ "(Desactivar esta opción puede causar problemas si hay plugins activadoes "
|
948 |
-
#~ "que usen otros frameworks javascript como Mootols, Prototype, "
|
949 |
-
#~ "Scriptaculous, etc.)"
|
950 |
-
|
951 |
-
#~ msgid "Presentation"
|
952 |
-
#~ msgstr "Presentación"
|
953 |
-
|
954 |
-
#~ msgid ""
|
955 |
-
#~ "These are the main settings, which let you tweak color, borders and "
|
956 |
-
#~ "animation."
|
957 |
-
#~ msgstr ""
|
958 |
-
#~ "Estas son las opciones principales, que te permiten ajustar los colores, "
|
959 |
-
#~ "bordes y animación."
|
960 |
-
|
961 |
-
#~ msgid ""
|
962 |
-
#~ "(Set <strong>Border Color</strong> to \"#000000\" and <strong>Padding "
|
963 |
-
#~ "Size</strong> to \"0\" for the classic FancyBox look)"
|
964 |
-
#~ msgstr ""
|
965 |
-
#~ "(Pon el <strong>Color del Borde</strong> en \"#000000\" y el "
|
966 |
-
#~ "<strong>Tamaño del Margen</strong> en \"0\" para el aspecto clásico de "
|
967 |
-
#~ "FancyBox)"
|
968 |
-
|
969 |
-
#~ msgid "Show/Hide Advanced Settings"
|
970 |
-
#~ msgstr "Mostrar/Ocultar Opciones Avanzadas"
|
971 |
-
|
972 |
-
#~ msgid "Show/Hide Troubleshooting & Uninstall Settings"
|
973 |
-
#~ msgstr "Mostrar/Ocultar Resolución de Problemas y Desinstalación"
|
974 |
-
|
975 |
-
#~ msgid ""
|
976 |
-
#~ "Do not call the <code>fancybox()</code> function here, the plugin does "
|
977 |
-
#~ "this for you."
|
978 |
-
#~ msgstr ""
|
979 |
-
#~ "No llames a la función <code>fancybox()</code> desde aquí, eso ya lo hace "
|
980 |
-
#~ "el plugin por tí."
|
981 |
-
|
982 |
-
#~ msgid "Make a gallery for each post"
|
983 |
-
#~ msgstr "Hacer una galería para cada entrada"
|
984 |
-
|
985 |
-
#~ msgid ""
|
986 |
-
#~ "The attribute has to start with fancybox, but can end with however you "
|
987 |
-
#~ "like: \"fancybox1\", \"fancybox2\", \"fancybox-custom\" will work."
|
988 |
-
#~ msgstr ""
|
989 |
-
#~ "El atributo debe empezar por fancybox pero puede terminar como quieras: "
|
990 |
-
#~ "\"fancybox1\", \"fancybox2\", \"fancybox-custom\" servirían."
|
991 |
-
|
992 |
-
#~ msgid "Horizontal position of the close button (default: right)"
|
993 |
-
#~ msgstr ""
|
994 |
-
#~ "Posición horizontal del botón para cerrar FancyBox (por defecto: derecha)"
|
995 |
-
|
996 |
-
#~ msgid "About"
|
997 |
-
#~ msgstr "Información"
|
998 |
-
|
999 |
-
#~ msgid ""
|
1000 |
-
#~ "This plugin integrates FancyBox with WordPress without having to edit any "
|
1001 |
-
#~ "file or code. Once activated the plugin will apply FancyBox automatically "
|
1002 |
-
#~ "to all image links, including WordPress galleries. Future versions will "
|
1003 |
-
#~ "include some more options like easier inline content integration and more "
|
1004 |
-
#~ "advanced customization. Enjoy!"
|
1005 |
-
#~ msgstr ""
|
1006 |
-
#~ "Este plugin integra FancyBox con WordPress sin necesidad de editar ningún "
|
1007 |
-
#~ "archivo o HTML. Una vez activado, el plugin aplicará FancyBox "
|
1008 |
-
#~ "automáticamente a todos los enlaces a imágenes, incluyendo galerias de "
|
1009 |
-
#~ "WordPress. Que lo disfrutes!"
|
1010 |
-
|
1011 |
-
#~ msgid ""
|
1012 |
-
#~ "If you have problems or questions about FancyBox itself you should <a "
|
1013 |
-
#~ "href=\"http://groups.google.com/group/fancybox\">ask in the FancyBox "
|
1014 |
-
#~ "Google Group</a>. If you want to make suggestions or ask just about this "
|
1015 |
-
#~ "WordPress plugin you can <a href=\"http://blog.moskis.net/downloads/"
|
1016 |
-
#~ "plugins/fancybox-for-wordpress/\">leave a comment here</a>, <a href="
|
1017 |
-
#~ "\"http://blog.moskis.net/contactar/\">send me an email</a>, or <a href="
|
1018 |
-
#~ "\"http://twitter.com/moskis\">contact me on twitter</a>."
|
1019 |
-
#~ msgstr ""
|
1020 |
-
#~ "Si tienes problemas o preguntas sobre FancyBox deberías <a href=\"http://"
|
1021 |
-
#~ "groups.google.com/group/fancybox\">preguntar en este grupo de Google</a> "
|
1022 |
-
#~ "(enlace en inglés). Si tienes preguntas o sugerencias sobre este plugin "
|
1023 |
-
#~ "para WordPress, puedes <a href=\"http://blog.moskis.net/downloads/plugins/"
|
1024 |
-
#~ "fancybox-for-wordpress/\">dejar un comentario aquí</a>, <a href=\"http://"
|
1025 |
-
#~ "blog.moskis.net/contactar/\">enviarme un email</a>, o <a href=\"http://"
|
1026 |
-
#~ "twitter.com/moskis\">contactar conmigo vía Twitter</a>."
|
1027 |
-
|
1028 |
-
#~ msgid "Auto Apply"
|
1029 |
-
#~ msgstr "Auto Aplicar"
|
1030 |
-
|
1031 |
-
#~ msgid ""
|
1032 |
-
#~ "Apply FancyBox automatically to all links pointing to .jpg, .jpeg, .png "
|
1033 |
-
#~ "or .gif images (default: on)"
|
1034 |
-
#~ msgstr ""
|
1035 |
-
#~ "Aplicar FancyBox automáticamente a todos los enlaces que apunten a "
|
1036 |
-
#~ "archivos .jpg, .jpeg, .png o .gif (por defecto: activado)"
|
1037 |
-
|
1038 |
-
#~ msgid ""
|
1039 |
-
#~ "(The link itself must the an image as well, text links will not be "
|
1040 |
-
#~ "affected by this option!)"
|
1041 |
-
#~ msgstr ""
|
1042 |
-
#~ "(El link tiene que estar en una imagen, esta opción no affecta a enlaces "
|
1043 |
-
#~ "de texto!)"
|
1044 |
-
|
1045 |
-
#~ msgid ""
|
1046 |
-
#~ "(This does NOT conflict with the previous and next image links on "
|
1047 |
-
#~ "FancyBox galleries.)"
|
1048 |
-
#~ msgstr ""
|
1049 |
-
#~ "(Esto no afecta a los enlaces de Imagen Siguiente e Imagen Anterior en "
|
1050 |
-
#~ "galerias de varias imágenes)"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: FancyBox for WordPress Español\n"
|
4 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/fancybox-for-"
|
5 |
+
"wordpress\n"
|
6 |
+
"POT-Creation-Date: 2015-02-07 02:02:19+00:00\n"
|
7 |
+
"PO-Revision-Date: \n"
|
8 |
+
"Last-Translator: Jose Pardilla <jose@moskis.net>\n"
|
9 |
+
"Language-Team: Moskis <jose@moskis.net>\n"
|
10 |
+
"Language: es_ES\n"
|
11 |
+
"MIME-Version: 1.0\n"
|
12 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
+
"Content-Transfer-Encoding: 8bit\n"
|
14 |
+
"X-Generator: Poedit 1.7.4\n"
|
15 |
+
|
16 |
+
#: admin.php:11
|
17 |
+
msgid "Fancybox for WordPress (version %s)"
|
18 |
+
msgstr "Fancybox for WordPress (versión %s)"
|
19 |
+
|
20 |
+
#: admin.php:22
|
21 |
+
msgid "Info"
|
22 |
+
msgstr "Información"
|
23 |
+
|
24 |
+
#: admin.php:23
|
25 |
+
msgid "Appearance"
|
26 |
+
msgstr "Apariencia"
|
27 |
+
|
28 |
+
#: admin.php:24
|
29 |
+
msgid "Animations"
|
30 |
+
msgstr "Animaciones"
|
31 |
+
|
32 |
+
#: admin.php:25
|
33 |
+
msgid "Behaviour"
|
34 |
+
msgstr "Comportamiento"
|
35 |
+
|
36 |
+
#: admin.php:26
|
37 |
+
msgid "Galleries"
|
38 |
+
msgstr "Galerías"
|
39 |
+
|
40 |
+
#: admin.php:27
|
41 |
+
msgid "Miscellaneous"
|
42 |
+
msgstr "Miscelánea"
|
43 |
+
|
44 |
+
#: admin.php:28
|
45 |
+
msgid "Extra Calls"
|
46 |
+
msgstr "Llamadas Extra"
|
47 |
+
|
48 |
+
#: admin.php:29
|
49 |
+
msgid "Troubleshooting"
|
50 |
+
msgstr "Ayuda"
|
51 |
+
|
52 |
+
#: admin.php:30 lib/admin-tab-support.php:1
|
53 |
+
msgid "Support"
|
54 |
+
msgstr "Soporte"
|
55 |
+
|
56 |
+
#: admin.php:31 lib/admin-tab-uninstall.php:1
|
57 |
+
msgid "Uninstall"
|
58 |
+
msgstr "Desinstalar"
|
59 |
+
|
60 |
+
#: admin.php:77
|
61 |
+
msgid "Save Changes"
|
62 |
+
msgstr "Guardar Cambios"
|
63 |
+
|
64 |
+
#: admin.php:85
|
65 |
+
msgid "Revert to defaults"
|
66 |
+
msgstr "Restaurar valores por defecto"
|
67 |
+
|
68 |
+
#: admin.php:93
|
69 |
+
msgid "If you use FancyBox and like it, buy the author a beer!"
|
70 |
+
msgstr "Si usas FancyBox y te gusta, cómprale una cerveza al autor!"
|
71 |
+
|
72 |
+
#: admin.php:110
|
73 |
+
msgid "The author of this WordPress Plugin also likes beer :P"
|
74 |
+
msgstr ""
|
75 |
+
"Al autor de este plugin para WordPress también le gusta la cerveza :P"
|
76 |
+
|
77 |
+
#: admin.php:120
|
78 |
+
msgid "Follow me on Twitter for more WordPress Plugins and Themes"
|
79 |
+
msgstr "Sígueme en Twitter para más Plugins y Temas de WordPress"
|
80 |
+
|
81 |
+
#: fancybox.php:404
|
82 |
+
msgid "Settings"
|
83 |
+
msgstr "Opciones"
|
84 |
+
|
85 |
+
#: lib/admin-tab-animations.php:1
|
86 |
+
msgid "Animation Settings <span style=\"color:green\">(basic)</span>"
|
87 |
+
msgstr "Opciones de Animación <span style=\"color:green\">(básico)</span>"
|
88 |
+
|
89 |
+
#: lib/admin-tab-animations.php:3
|
90 |
+
msgid ""
|
91 |
+
"These settings control the animations when opening and closing Fancybox, and "
|
92 |
+
"the optional easing effects."
|
93 |
+
msgstr ""
|
94 |
+
"Estas opciones controlan las animaciones al abrir y cerrar Fancybox, y los "
|
95 |
+
"efectos opcionales de animación."
|
96 |
+
|
97 |
+
#: lib/admin-tab-animations.php:9
|
98 |
+
msgid "Zoom Options"
|
99 |
+
msgstr "Opciones de Zoom"
|
100 |
+
|
101 |
+
#: lib/admin-tab-animations.php:15
|
102 |
+
msgid "Change content transparency during zoom animations (default: on)"
|
103 |
+
msgstr "Animar opacidad durante el efecto de zoom (por defecto: activado)"
|
104 |
+
|
105 |
+
#: lib/admin-tab-animations.php:27
|
106 |
+
msgid "Speed in miliseconds of the zooming-in animation (default: 500)"
|
107 |
+
msgstr "Velocidad en milisegundos del efecto de Zoom In (por defecto: 500)"
|
108 |
+
|
109 |
+
#: lib/admin-tab-animations.php:39
|
110 |
+
msgid "Speed in miliseconds of the zooming-out animation (default: 500)"
|
111 |
+
msgstr "Velocidad en milisegundos del efecto de Zoom Out (por defecto: 500)"
|
112 |
+
|
113 |
+
#: lib/admin-tab-animations.php:51
|
114 |
+
msgid ""
|
115 |
+
"Speed in miliseconds of the animation when navigating thorugh gallery items "
|
116 |
+
"(default: 300)"
|
117 |
+
msgstr ""
|
118 |
+
"Velocidad en milisegundos de la animación al navegar entre los elementos de "
|
119 |
+
"una galería (por defecto: 300)"
|
120 |
+
|
121 |
+
#: lib/admin-tab-animations.php:59
|
122 |
+
msgid "Transition Type"
|
123 |
+
msgstr "Tio de Transición"
|
124 |
+
|
125 |
+
#: lib/admin-tab-animations.php:73
|
126 |
+
msgid "Transition type when opening FancyBox. (default: fade)"
|
127 |
+
msgstr "Tipo de transición al abrir FancyBox. (por defecto: fade)"
|
128 |
+
|
129 |
+
#: lib/admin-tab-animations.php:86
|
130 |
+
msgid "Transition type when closing FancyBox. (default: fade)"
|
131 |
+
msgstr "Tipo de transición al cerrar FancyBox. (por defecto: fade)"
|
132 |
+
|
133 |
+
#: lib/admin-tab-animations.php:94
|
134 |
+
msgid "Easing"
|
135 |
+
msgstr "Efecto de Animación"
|
136 |
+
|
137 |
+
#: lib/admin-tab-animations.php:100
|
138 |
+
msgid "Activate easing (default: off)"
|
139 |
+
msgstr "Activar efecto de animación (por defecto: desactivado)"
|
140 |
+
|
141 |
+
#: lib/admin-tab-animations.php:103
|
142 |
+
msgid "(Will load one additional javascript file, 8KB)"
|
143 |
+
msgstr "(Ejecutará un archivo JavaScript adicional, 8KB)"
|
144 |
+
|
145 |
+
#: lib/admin-tab-animations.php:117
|
146 |
+
msgid "Easing method when opening FancyBox. (default: easeOutBack)"
|
147 |
+
msgstr "Efecto de animación al abrir FancyBox. (por defecto: easeOutBack)"
|
148 |
+
|
149 |
+
#: lib/admin-tab-animations.php:120
|
150 |
+
msgid "(Requires opening transition type to be set to elastic)"
|
151 |
+
msgstr "(Requiere el tipo de transición de inicio elástico)"
|
152 |
+
|
153 |
+
#: lib/admin-tab-animations.php:132
|
154 |
+
msgid "Easing method when closing FancyBox. (default: easeInBack)"
|
155 |
+
msgstr "Efecto de animación al cerrar FancyBox. (por defecto: easeInBack)"
|
156 |
+
|
157 |
+
#: lib/admin-tab-animations.php:135
|
158 |
+
msgid "(Requires closing transition type to be set to elastic)"
|
159 |
+
msgstr "(Requiere el tipo de transición de cerrado elástico)"
|
160 |
+
|
161 |
+
#: lib/admin-tab-animations.php:147
|
162 |
+
msgid ""
|
163 |
+
"Easing method when navigating through gallery items. (default: "
|
164 |
+
"easeInOutQuart)"
|
165 |
+
msgstr ""
|
166 |
+
"Efecto de animación al navegar por galerías. (por defecto: easoInOutQuart)"
|
167 |
+
|
168 |
+
#: lib/admin-tab-animations.php:150
|
169 |
+
msgid ""
|
170 |
+
"(There are 30 different easing methods, the first ones are the most boring. "
|
171 |
+
"You can test them <a href=\"http://commadot.com/jquery/easing.php\" target="
|
172 |
+
"\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/"
|
173 |
+
"animationtypes.html\" target=\"_blank\">here</a>)"
|
174 |
+
msgstr ""
|
175 |
+
"(Hay 30 efectos diferentes, los primeros son los más aburridos. Puedes "
|
176 |
+
"probarlos <a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank"
|
177 |
+
"\">aquí</a> o <a href=\"http://hosted.zeh.com.br/mctween/animationtypes.html"
|
178 |
+
"\" target=\"_blank\">aquí</a>)"
|
179 |
+
|
180 |
+
#: lib/admin-tab-appearance.php:1
|
181 |
+
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
182 |
+
msgstr "Opciones de Apariencia <span style=\"color:green\">(básico)</span>"
|
183 |
+
|
184 |
+
#: lib/admin-tab-appearance.php:3
|
185 |
+
msgid ""
|
186 |
+
"These setting control how Fancybox looks, they let you tweak color, borders "
|
187 |
+
"and position of elements, like the image title and closing buttons."
|
188 |
+
msgstr ""
|
189 |
+
"Estas opciones controlan el aspecto general de FancyBox, te permiten ajustar "
|
190 |
+
"los colores, bordes y posición de elementos como el título de la imagen y el "
|
191 |
+
"botón de cerrar."
|
192 |
+
|
193 |
+
#: lib/admin-tab-appearance.php:9
|
194 |
+
msgid "Border"
|
195 |
+
msgstr "Borde"
|
196 |
+
|
197 |
+
#: lib/admin-tab-appearance.php:15
|
198 |
+
msgid "Show Border (default: off)"
|
199 |
+
msgstr "Mostrar Borde (por defecto: desactivado)"
|
200 |
+
|
201 |
+
#: lib/admin-tab-appearance.php:22
|
202 |
+
msgid "HTML color of the border (default: #BBBBBB)"
|
203 |
+
msgstr "Color HTML del borde (por defecto: #BBBBBB)"
|
204 |
+
|
205 |
+
#: lib/admin-tab-appearance.php:32
|
206 |
+
msgid "Close Button"
|
207 |
+
msgstr "Botón de Cerrar"
|
208 |
+
|
209 |
+
#: lib/admin-tab-appearance.php:38
|
210 |
+
msgid "Show Close button (default: on)"
|
211 |
+
msgstr "Mostrar el Botón de Cerrar (por defecto: activado)"
|
212 |
+
|
213 |
+
#: lib/admin-tab-appearance.php:43
|
214 |
+
msgid "Close button position:"
|
215 |
+
msgstr "Posición del Botón de Cerrar:"
|
216 |
+
|
217 |
+
#: lib/admin-tab-appearance.php:46
|
218 |
+
msgid "Left"
|
219 |
+
msgstr "Izquierda"
|
220 |
+
|
221 |
+
#: lib/admin-tab-appearance.php:51
|
222 |
+
msgid "Right (default)"
|
223 |
+
msgstr "Derecha (por defecto)"
|
224 |
+
|
225 |
+
#: lib/admin-tab-appearance.php:56
|
226 |
+
msgid "Bottom"
|
227 |
+
msgstr "Abajo"
|
228 |
+
|
229 |
+
#: lib/admin-tab-appearance.php:61
|
230 |
+
msgid "Top (default)"
|
231 |
+
msgstr "Arriba (por defecto)"
|
232 |
+
|
233 |
+
#: lib/admin-tab-appearance.php:71
|
234 |
+
msgid "Padding"
|
235 |
+
msgstr "Margen"
|
236 |
+
|
237 |
+
#: lib/admin-tab-appearance.php:77
|
238 |
+
msgid "HTML color of the padding (default: #FFFFFF)"
|
239 |
+
msgstr "Color HTML del margen (por defecto: #FFFFFF)"
|
240 |
+
|
241 |
+
#: lib/admin-tab-appearance.php:80
|
242 |
+
msgid ""
|
243 |
+
"(This should be left on #FFFFFF (white) if you want to display anything "
|
244 |
+
"other than images, like inline or framed content)"
|
245 |
+
msgstr ""
|
246 |
+
"(Esta opción debería dejarse en #FFFFFF (blanco) si vas a mostrar algo que "
|
247 |
+
"no sean imágenes, como contenido anidado)"
|
248 |
+
|
249 |
+
#: lib/admin-tab-appearance.php:84
|
250 |
+
msgid "Padding size in pixels (default: 10)"
|
251 |
+
msgstr "Tamaño del margen en píxeles (por defecto: 10)"
|
252 |
+
|
253 |
+
#: lib/admin-tab-appearance.php:92
|
254 |
+
msgid "Overlay Options"
|
255 |
+
msgstr "Opciones de Overlay"
|
256 |
+
|
257 |
+
#: lib/admin-tab-appearance.php:98
|
258 |
+
msgid "Add overlay (default: on)"
|
259 |
+
msgstr "Añadir overlay (por defecto: activado)"
|
260 |
+
|
261 |
+
#: lib/admin-tab-appearance.php:105
|
262 |
+
msgid "HTML color of the overlay (default: #666666)"
|
263 |
+
msgstr "Color HTML del overlay (por defecto: #666666)"
|
264 |
+
|
265 |
+
#: lib/admin-tab-appearance.php:118
|
266 |
+
msgid "Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)"
|
267 |
+
msgstr "Opacidad del overlay. 0 es transparente, 1 es opaco (por defecto: 0.3)"
|
268 |
+
|
269 |
+
#: lib/admin-tab-appearance.php:128
|
270 |
+
msgid "Title"
|
271 |
+
msgstr "Título"
|
272 |
+
|
273 |
+
#: lib/admin-tab-appearance.php:134
|
274 |
+
msgid "Show the title (default: on)"
|
275 |
+
msgstr "Mostrar el título (por defecto: activado)"
|
276 |
+
|
277 |
+
#: lib/admin-tab-appearance.php:141
|
278 |
+
msgid "Inside (default)"
|
279 |
+
msgstr "Dentro (por defecto)"
|
280 |
+
|
281 |
+
#: lib/admin-tab-appearance.php:146
|
282 |
+
msgid "Outside"
|
283 |
+
msgstr "Fuera"
|
284 |
+
|
285 |
+
#: lib/admin-tab-appearance.php:151
|
286 |
+
msgid "Over"
|
287 |
+
msgstr "Encima"
|
288 |
+
|
289 |
+
#: lib/admin-tab-appearance.php:158
|
290 |
+
msgid "Title text color (default: #333333)"
|
291 |
+
msgstr "Color del título (por defecto #333333)"
|
292 |
+
|
293 |
+
#: lib/admin-tab-appearance.php:161
|
294 |
+
msgid "(Should contrast with the padding color set above)"
|
295 |
+
msgstr "(Debería contrastar con el color del margen establecido más arriba)"
|
296 |
+
|
297 |
+
#: lib/admin-tab-appearance.php:172
|
298 |
+
msgid "Navigation Arrows"
|
299 |
+
msgstr "Flechas de Navegación"
|
300 |
+
|
301 |
+
#: lib/admin-tab-appearance.php:178
|
302 |
+
msgid "Show the navigation arrows (default: on)"
|
303 |
+
msgstr "Mostrar flechas de navegación (por defecto: activado)"
|
304 |
+
|
305 |
+
#: lib/admin-tab-behaviour.php:1
|
306 |
+
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
307 |
+
msgstr "Opciones de Comportamiento <span style=\"color:orange\">(medio)</span>"
|
308 |
+
|
309 |
+
#: lib/admin-tab-behaviour.php:3
|
310 |
+
msgid ""
|
311 |
+
"The following settings should be left alone unless you know what you are "
|
312 |
+
"doing."
|
313 |
+
msgstr ""
|
314 |
+
"Las siguientes opciones sólo deberían ser editadas si sabes lo que estás "
|
315 |
+
"haciendo."
|
316 |
+
|
317 |
+
#: lib/admin-tab-behaviour.php:9
|
318 |
+
msgid "Auto Resize to Fit"
|
319 |
+
msgstr "Ajustar Tamaño"
|
320 |
+
|
321 |
+
#: lib/admin-tab-behaviour.php:15
|
322 |
+
msgid "Scale images to fit in viewport (default: on)"
|
323 |
+
msgstr ""
|
324 |
+
"Ajusta el tamaño de las imagenes a la ventana del navegador (por defecto: "
|
325 |
+
"activado)"
|
326 |
+
|
327 |
+
#: lib/admin-tab-behaviour.php:23
|
328 |
+
msgid "Center on Scroll"
|
329 |
+
msgstr "Centrar al hacer Scroll"
|
330 |
+
|
331 |
+
#: lib/admin-tab-behaviour.php:29
|
332 |
+
msgid ""
|
333 |
+
"Keep image in the center of the browser window when scrolling (default: on)"
|
334 |
+
msgstr ""
|
335 |
+
"Mantiene la imagen en el centro de la ventana del naegador al hacer scroll "
|
336 |
+
"(por defecto: activado)"
|
337 |
+
|
338 |
+
#: lib/admin-tab-behaviour.php:37
|
339 |
+
msgid "Close on Content Click"
|
340 |
+
msgstr "Cerrar al hacer click en contenido"
|
341 |
+
|
342 |
+
#: lib/admin-tab-behaviour.php:43
|
343 |
+
msgid "Close FancyBox by clicking on the image (default: off)"
|
344 |
+
msgstr "Cerrar FancyBox al hacer click en la imagen (por defecto: desactivado)"
|
345 |
+
|
346 |
+
#: lib/admin-tab-behaviour.php:46
|
347 |
+
msgid ""
|
348 |
+
"(You may want to leave this off if you display iframed or inline content "
|
349 |
+
"that containts clickable elements - for example: play buttons for movies, "
|
350 |
+
"links to other pages)"
|
351 |
+
msgstr ""
|
352 |
+
"(Puedes que quieras dejar esta opción desactivada si vas a usar contendido "
|
353 |
+
"anidado que incluya enlaces - for ejemplo: botones de play, enlaces a otras "
|
354 |
+
"páginas)"
|
355 |
+
|
356 |
+
#: lib/admin-tab-behaviour.php:53
|
357 |
+
msgid "Close on Overlay Click"
|
358 |
+
msgstr "Cerrar al hacer click en el fondo"
|
359 |
+
|
360 |
+
#: lib/admin-tab-behaviour.php:59
|
361 |
+
msgid "Close FancyBox by clicking on the overlay sorrounding it (default: on)"
|
362 |
+
msgstr "Cerrar FancyBox al hacer click en el fondo (por defecto: activado)"
|
363 |
+
|
364 |
+
#: lib/admin-tab-behaviour.php:67
|
365 |
+
msgid "Close with "Esc""
|
366 |
+
msgstr "Cerrar con "Esc""
|
367 |
+
|
368 |
+
#: lib/admin-tab-behaviour.php:73
|
369 |
+
msgid "Close FancyBox when "Escape" key is pressed (default: on)"
|
370 |
+
msgstr ""
|
371 |
+
"Cerrar Fancybox cuando se pulse la tecla "Escape" (por defecto: "
|
372 |
+
"activado)"
|
373 |
+
|
374 |
+
#: lib/admin-tab-behaviour.php:81
|
375 |
+
msgid "Loop Galleries"
|
376 |
+
msgstr "Galerías Cíclicas"
|
377 |
+
|
378 |
+
#: lib/admin-tab-behaviour.php:87
|
379 |
+
msgid ""
|
380 |
+
"This will make galleries loop, allowing you to keep pressing next/back "
|
381 |
+
"(default: off)"
|
382 |
+
msgstr ""
|
383 |
+
"Esta oción generará galerías cíclicas, permitíendote pulsar los botones de "
|
384 |
+
"navegación indefinidamene (por defecto: desactivado)"
|
385 |
+
|
386 |
+
#: lib/admin-tab-behaviour.php:95
|
387 |
+
msgid "Mouse Wheel Navigation"
|
388 |
+
msgstr "Navegación por rueda del ratón"
|
389 |
+
|
390 |
+
#: lib/admin-tab-behaviour.php:101
|
391 |
+
msgid "Lets visitors navigate galleries with the mouse wheel (default: off)"
|
392 |
+
msgstr ""
|
393 |
+
"Permita a los visitantes navegar por las galerías con la rueda del ratón "
|
394 |
+
"(por defecto: desactivado)"
|
395 |
+
|
396 |
+
#: lib/admin-tab-behaviour.php:104
|
397 |
+
msgid "(Will load one additional javascript file, 3KB)"
|
398 |
+
msgstr "(Ejecutará un archivo JavaScript adicional, 3KB)"
|
399 |
+
|
400 |
+
#: lib/admin-tab-calls.php:1
|
401 |
+
msgid "Extra FancyBox Calls <span style=\"color:red\">(advanced)</span>"
|
402 |
+
msgstr "Llamadas Extra de FancyBox <span style=\"color:red\">(avanzado)</span>"
|
403 |
+
|
404 |
+
#: lib/admin-tab-calls.php:3
|
405 |
+
msgid ""
|
406 |
+
"Here you can add as many additional calls to fancybox as you want, with "
|
407 |
+
"different settings. For example, if you want to use fancybox with iframes or "
|
408 |
+
"ajax on any specific link, you can configure those calls here without "
|
409 |
+
"affecting the settings for images."
|
410 |
+
msgstr ""
|
411 |
+
"Aquí puedes añadir todas las llamadas adicionales a FancyBox que quieras, "
|
412 |
+
"con distintas opciones. Por ejemplo, si quieres usar FancyBox con iframes o "
|
413 |
+
"con Ajax en cualquier enlace concreto, aquí puedes configurarlo sin afectar "
|
414 |
+
"al resto de opciones."
|
415 |
+
|
416 |
+
#: lib/admin-tab-calls.php:5
|
417 |
+
msgid ""
|
418 |
+
"For information on the options available you can use here see <a href="
|
419 |
+
"\"http://fancybox.net/api\">FancyBox's API & Options page</a>."
|
420 |
+
msgstr ""
|
421 |
+
"Para más información acerca de las opciones que puedes usar en este campo, "
|
422 |
+
"lee esta página sobre la <a href=\"http://fancybox.net/api\">API y Opciones "
|
423 |
+
"de FancyBox</a>."
|
424 |
+
|
425 |
+
#: lib/admin-tab-calls.php:11
|
426 |
+
msgid "Additional FancyBox Calls"
|
427 |
+
msgstr "Llamadas Extra de FancyBox"
|
428 |
+
|
429 |
+
#: lib/admin-tab-calls.php:17
|
430 |
+
msgid "Additional FancyBox Calls (default: off)"
|
431 |
+
msgstr "Llamadas Extra de FancyBox (por defecto: desactivado)"
|
432 |
+
|
433 |
+
#: lib/admin-tab-calls.php:26 lib/admin-tab-other.php:89
|
434 |
+
msgid "Example:"
|
435 |
+
msgstr "Ejemplo:"
|
436 |
+
|
437 |
+
#: lib/admin-tab-galleries.php:1
|
438 |
+
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
439 |
+
msgstr "Opciones de Galería <span style=\"color:red\">(avanzado)</span>"
|
440 |
+
|
441 |
+
#: lib/admin-tab-galleries.php:3
|
442 |
+
msgid ""
|
443 |
+
"Here you can choose if you want the plugin to group all images into a "
|
444 |
+
"gallery, or make a gallery for each post. You can also define you own jQuery "
|
445 |
+
"expression if you like."
|
446 |
+
msgstr ""
|
447 |
+
"Aquí puedes elegir si quieres que el plugin agrupe las imágenes en una "
|
448 |
+
"galería, o hacer una galería para cada entrada. También puedes definir tu "
|
449 |
+
"propia expresión en jQuery."
|
450 |
+
|
451 |
+
#: lib/admin-tab-galleries.php:9
|
452 |
+
msgid "Gallery Type"
|
453 |
+
msgstr "Tipo de Galería"
|
454 |
+
|
455 |
+
#: lib/admin-tab-galleries.php:15
|
456 |
+
msgid "Make a gallery for all images on the page (default)"
|
457 |
+
msgstr ""
|
458 |
+
"Incluir todas las imágenes de la página en una única galería (opción por "
|
459 |
+
"defecto)"
|
460 |
+
|
461 |
+
#: lib/admin-tab-galleries.php:20
|
462 |
+
msgid ""
|
463 |
+
"Do not group images in gallery automatically (use this if you want to make "
|
464 |
+
"galleries manually with the <code>REL</code> attribute)"
|
465 |
+
msgstr ""
|
466 |
+
"No agrupar imágenes en galerías automáticamente (usa "
|
467 |
+
"esta opción si quieres agrupar las imagenes manualmente con el "
|
468 |
+
"atributo <code>REL</code>)"
|
469 |
+
|
470 |
+
#: lib/admin-tab-galleries.php:25
|
471 |
+
msgid ""
|
472 |
+
"Make a gallery for each post (will only work if your theme uses <code>class="
|
473 |
+
"\"post\"</code> on each post, which is common in WordPress"
|
474 |
+
msgstr ""
|
475 |
+
"Hacer una galería para cada post (solo funcionará si el tema "
|
476 |
+
"usa <code>class=\"post\"</code> en cada post, que es lo más "
|
477 |
+
"común en WordPress"
|
478 |
+
|
479 |
+
#: lib/admin-tab-galleries.php:30
|
480 |
+
msgid "Use a custom expression to apply FancyBox"
|
481 |
+
msgstr "Aplicar FancyBox con una expresión personalizada"
|
482 |
+
|
483 |
+
#: lib/admin-tab-galleries.php:39
|
484 |
+
msgid "Custom expression guidelines:"
|
485 |
+
msgstr "Indicaciones para expresiones personalizadas:"
|
486 |
+
|
487 |
+
#: lib/admin-tab-galleries.php:41
|
488 |
+
msgid ""
|
489 |
+
"· The custom expression has to apply <code>class=\"fancybox\"</code> "
|
490 |
+
"to the links where you want to use FancyBox. Do not call the "
|
491 |
+
"<code>fancybox()</code> function here, the plugin does this for you."
|
492 |
+
msgstr ""
|
493 |
+
"· La expresión personalizada tiene que aplicar el atributo "
|
494 |
+
"<code>class=\"fancybox\"</code> a los enlaces en los que quieras usar "
|
495 |
+
"FancyBox. No llames a la función <code>fancybox()</code> aquí, "
|
496 |
+
"de eso ya se encarga el plugin."
|
497 |
+
|
498 |
+
#: lib/admin-tab-galleries.php:43
|
499 |
+
msgid ""
|
500 |
+
"· The jQuery <code>addClass()</code> function is a good way to add "
|
501 |
+
"the class to the desired links conserving any existing class."
|
502 |
+
msgstr ""
|
503 |
+
"· La función <code>addClass()</code> de jQuery es una buena "
|
504 |
+
"forma de añadir el class a los links deseados."
|
505 |
+
|
506 |
+
#: lib/admin-tab-galleries.php:45
|
507 |
+
msgid ""
|
508 |
+
"· You can use <code>getTitle()</code> in your expression to copy the "
|
509 |
+
"title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so "
|
510 |
+
"that FancyBox can show captions."
|
511 |
+
msgstr ""
|
512 |
+
"· Puedes usar <code>getTitle()</code> en tu expresión para "
|
513 |
+
"copiar el atributo title desde el tag <code>IMG</code> al tag <code>A</"
|
514 |
+
"code>, para que FancyBox pueda mostrar el título de la imagen."
|
515 |
+
|
516 |
+
#: lib/admin-tab-galleries.php:47
|
517 |
+
msgid ""
|
518 |
+
"· You can use <code>jQuery(thumbnails)</code> like in the example "
|
519 |
+
"expression to apply FancyBox to thumbnails that link to these extensions: "
|
520 |
+
"BMP, GIF, JPG, JPEG, PNG (both lowercase and uppercase)."
|
521 |
+
msgstr ""
|
522 |
+
"· Puedes usar <code>jQuery(thumbnails)</code> como en el ejemplo para "
|
523 |
+
"aplicar FancyBox a las miniaturas de im%aacute;genes que enlazen a estas "
|
524 |
+
"extensiones: BMP, GIF, JPG, JPEG, PNG tanto en minúscula como en "
|
525 |
+
"mayúscula)."
|
526 |
+
|
527 |
+
#: lib/admin-tab-galleries.php:49
|
528 |
+
msgid ""
|
529 |
+
"· If you want to do it manually you can use something like "
|
530 |
+
"<code>jQuery(\"a:has(img)[href$='.jpg']\")</code> or whatever works for you."
|
531 |
+
msgstr ""
|
532 |
+
"· Si prefieres hacerlo manualmente puedes usar algo como "
|
533 |
+
"<code>jQuery(\"a:has(img)[href$='.jpg']\")</code> o lo que más se "
|
534 |
+
"ajuste a tu blog."
|
535 |
+
|
536 |
+
#: lib/admin-tab-galleries.php:51
|
537 |
+
msgid ""
|
538 |
+
"See the <a href=\"http://docs.jquery.com/\" target=\"_blank\">jQuery "
|
539 |
+
"Documentation</a> for more help."
|
540 |
+
msgstr ""
|
541 |
+
"Visita la <a href=\"http://docs.jquery.com/\" target=\"_blank"
|
542 |
+
"\">Documentación de jQuery</a> para encontrar más ayuda."
|
543 |
+
|
544 |
+
#: lib/admin-tab-galleries.php:53
|
545 |
+
msgid "Examples:"
|
546 |
+
msgstr "Ejemplos:"
|
547 |
+
|
548 |
+
#: lib/admin-tab-info.php:1
|
549 |
+
msgid "Information"
|
550 |
+
msgstr "Información"
|
551 |
+
|
552 |
+
#: lib/admin-tab-info.php:3
|
553 |
+
msgid ""
|
554 |
+
"<a target=\"_blank\" href=\"http://fancybox.net\">FancyBox</a> developed by "
|
555 |
+
"<a target=\"_blank\" href=\"http://fancybox.net\">Janis Skarnelis</a>, "
|
556 |
+
"ported to WordPress by <a target=\"_blank\" href=\"http://twitter.com/moskis"
|
557 |
+
"\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href="
|
558 |
+
"\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
559 |
+
msgstr ""
|
560 |
+
"<a href=\"http://fancybox.net\">FancyBox</a> desarrollado por <a href="
|
561 |
+
"\"http://fancybox.net\">Janis Skarnelis</a>, adaptado a WordPress por <a "
|
562 |
+
"href=\"http://http://twitter.com/moskis\">José Pardilla</a>. "
|
563 |
+
"Licenciado bajo <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/"
|
564 |
+
"MIT_License\">Licencia MIT</a>."
|
565 |
+
|
566 |
+
#: lib/admin-tab-info.php:5
|
567 |
+
msgid ""
|
568 |
+
"As you can see, this plugin has many options you can edit, but have no fear, "
|
569 |
+
"you can leave everything as it is if you don't want to get your hands dirty, "
|
570 |
+
"since the default options should be a good start... :)"
|
571 |
+
msgstr ""
|
572 |
+
"Como puedes ver, este plugin te permite editar muchas opciones, pero no te "
|
573 |
+
"preocupes, puedes dejarlo todo como está, ya que las opciones predefinidas "
|
574 |
+
"no están mal para empezar... :)"
|
575 |
+
|
576 |
+
#: lib/admin-tab-info.php:7
|
577 |
+
msgid ""
|
578 |
+
"If you are an advanced user you can <a target=\"_blank\" href=\"https://"
|
579 |
+
"github.com/moskis/fancybox-for-wordpress\">follow the plugin in Github</a>, "
|
580 |
+
"fork it or help submitting fixes!"
|
581 |
+
msgstr ""
|
582 |
+
"Si eres un usuario avanzado, puedes <a target=\"_blank\" href=\"https://"
|
583 |
+
"github.com/moskis/fancybox-for-wordpress\">seguir el plugin en Github</a>, y "
|
584 |
+
"colaborar aportando correcciones!"
|
585 |
+
|
586 |
+
#: lib/admin-tab-info.php:9
|
587 |
+
msgid ""
|
588 |
+
"<strong>Note:</strong> Having a cache plugin may prevent changes from taking "
|
589 |
+
"effect immidiately, if this happens clear cache after saving changes here or "
|
590 |
+
"deactivate cache until you finish editing these options."
|
591 |
+
msgstr ""
|
592 |
+
"<strong>Nota:</strong> Usar un plugin de caché puede hacer que los cambios "
|
593 |
+
"no surjan efecto inmediatamente, si esto ocurre vacía el cache después de "
|
594 |
+
"guardar los cambios o desactívalo hasta que termines de ajustar estas "
|
595 |
+
"opciones."
|
596 |
+
|
597 |
+
#: lib/admin-tab-other.php:1
|
598 |
+
msgid "Other Settings <span style=\"color:red\">(advanced)</span>"
|
599 |
+
msgstr "Otras Opciones <span style=\"color:red\">(avanzado)</span>"
|
600 |
+
|
601 |
+
#: lib/admin-tab-other.php:3
|
602 |
+
msgid "These are additional settings for advanced users."
|
603 |
+
msgstr "Las siguientes opciones son para usuarios avanzados."
|
604 |
+
|
605 |
+
#: lib/admin-tab-other.php:9
|
606 |
+
msgid "Dimensions"
|
607 |
+
msgstr "Dimensiones"
|
608 |
+
|
609 |
+
#: lib/admin-tab-other.php:15
|
610 |
+
msgid "Auto detect dimensions (default: on)"
|
611 |
+
msgstr "Auto detectar dimensiones (por defecto: activado)"
|
612 |
+
|
613 |
+
#: lib/admin-tab-other.php:18
|
614 |
+
msgid ""
|
615 |
+
"Only works with <strong>Ajax</strong> and <strong>Inline</strong> content! "
|
616 |
+
"Flash dimensions won't be autodetected so specify them below if necessary. "
|
617 |
+
"If you want to insert several pieces of flash content with different "
|
618 |
+
"dimensions you will have to use the <strong>Additional FancyBox Calls</"
|
619 |
+
"strong> option."
|
620 |
+
msgstr ""
|
621 |
+
"Sólo funciona con <strong>Ajax</strong> y <strong>Contenido en línea</"
|
622 |
+
"strong>! Las dimenciones de elementos Flash no se autodetectan así que "
|
623 |
+
"especifícalas aquí debajo si lo necesitas. Si necesitas insertar varios "
|
624 |
+
"elementos Flash de tamaños distintos tendrás que usar el apartado de "
|
625 |
+
"<strong>Llamadas Extra</strong>."
|
626 |
+
|
627 |
+
#: lib/admin-tab-other.php:22
|
628 |
+
msgid ""
|
629 |
+
"Width for iframe and swf content. Also set for inline content if "
|
630 |
+
"<em>autoDimensions</em> is disabled (default: 560)"
|
631 |
+
msgstr ""
|
632 |
+
"Ancho para iframes y contenido Flash. También afecta a contenido en línea si "
|
633 |
+
"<em>Auto detectar dimensiones</em> está desactivado (por defecto: 560)"
|
634 |
+
|
635 |
+
#: lib/admin-tab-other.php:27
|
636 |
+
msgid ""
|
637 |
+
"Height for iframe and swf content. Also set for inline content if "
|
638 |
+
"<em>autoDimensions</em> is disabled (default: 340)"
|
639 |
+
msgstr ""
|
640 |
+
"Alto para iframes y contenido Flash. También afecta a contenido en línea si "
|
641 |
+
"<em>Auto detectar dimensiones</em> está desactivado (por defecto: 340)"
|
642 |
+
|
643 |
+
#: lib/admin-tab-other.php:35
|
644 |
+
msgid "Load JavaScript in Footer"
|
645 |
+
msgstr "Cargar JavaScript en el Pié de página"
|
646 |
+
|
647 |
+
#: lib/admin-tab-other.php:41
|
648 |
+
msgid ""
|
649 |
+
"Loads JavaScript at the end of the blog's HTML (experimental) (default: off)"
|
650 |
+
msgstr ""
|
651 |
+
"Carga el JavaScript al final del código HTML del blog (experimental) (por "
|
652 |
+
"defecto: desactivado)"
|
653 |
+
|
654 |
+
#: lib/admin-tab-other.php:44
|
655 |
+
msgid ""
|
656 |
+
"This option won't be recognized if you use <strong>Parallel Load</strong> "
|
657 |
+
"plugin. In that case, you can do this from Parallel Load's options."
|
658 |
+
msgstr ""
|
659 |
+
"Esta opción será ignorada si el plugin <strong>Parallel Load</strong> está "
|
660 |
+
"instalado. Si es así, usa las opciones del plugin Parallel Load."
|
661 |
+
|
662 |
+
#: lib/admin-tab-other.php:51
|
663 |
+
msgid "Callbacks"
|
664 |
+
msgstr "Retrollamadas"
|
665 |
+
|
666 |
+
#: lib/admin-tab-other.php:57
|
667 |
+
msgid "Enable callbacks (default: off)"
|
668 |
+
msgstr "Activar retrollamadas (por defecto: desactivado)"
|
669 |
+
|
670 |
+
#: lib/admin-tab-other.php:60
|
671 |
+
msgid "Enabling this will show additional settings."
|
672 |
+
msgstr "Activar esta opcíón mostrará opociones adicionales."
|
673 |
+
|
674 |
+
#: lib/admin-tab-other.php:65
|
675 |
+
msgid ""
|
676 |
+
"Callback on <strong>Start</strong> event: Will be called right before "
|
677 |
+
"attempting to load the content"
|
678 |
+
msgstr ""
|
679 |
+
"Retrollamada en evento <strong>Inicio</strong>: Se ejecutará justo antes de "
|
680 |
+
"intentar cargar el contenido"
|
681 |
+
|
682 |
+
#: lib/admin-tab-other.php:70
|
683 |
+
msgid ""
|
684 |
+
"Callback on <strong>Cancel</strong> event: Will be called after loading is "
|
685 |
+
"canceled"
|
686 |
+
msgstr ""
|
687 |
+
"Retrollamada en evento <strong>Cancelar</strong>: Se ejecutará tras cancelar "
|
688 |
+
"la carga del contenido"
|
689 |
+
|
690 |
+
#: lib/admin-tab-other.php:75
|
691 |
+
msgid ""
|
692 |
+
"Callback on <strong>Complete</strong> event: Will be called once the content "
|
693 |
+
"is displayed"
|
694 |
+
msgstr ""
|
695 |
+
"Retrollamada en evento <strong>Completado</strong>: Se ejecutará una vez se "
|
696 |
+
"termine de mostrar el contenido"
|
697 |
+
|
698 |
+
#: lib/admin-tab-other.php:80
|
699 |
+
msgid ""
|
700 |
+
"Callback on <strong>CleanUp</strong> event: Will be called just before "
|
701 |
+
"closing"
|
702 |
+
msgstr ""
|
703 |
+
"Retrollamada en evento <strong>Limpieza</strong>: Se ejecutará justo antes "
|
704 |
+
"de empezar a ocultar el contenido"
|
705 |
+
|
706 |
+
#: lib/admin-tab-other.php:85
|
707 |
+
msgid ""
|
708 |
+
"Callback on <strong>Closed</strong> event: Will be called once FancyBox is "
|
709 |
+
"closed"
|
710 |
+
msgstr ""
|
711 |
+
"Retrollamada en evento <strong>Cerrado</strong>: Se ejecutará tras cerrar "
|
712 |
+
"FancyBox"
|
713 |
+
|
714 |
+
#: lib/admin-tab-other.php:91
|
715 |
+
msgid "Leave empty any speciic callbacks you don't need to use."
|
716 |
+
msgstr "Deja en blanco cualquier Retrollamada que no quieras usar."
|
717 |
+
|
718 |
+
#: lib/admin-tab-support.php:3
|
719 |
+
msgid "Help with Fancybox"
|
720 |
+
msgstr "Ayuda sobre ancyBox"
|
721 |
+
|
722 |
+
#: lib/admin-tab-support.php:5
|
723 |
+
msgid ""
|
724 |
+
"If you have problems or questions about FancyBox itself (and not this "
|
725 |
+
"WordPress plugin), please start with these links: <a target=\"_blank\" href="
|
726 |
+
"\"http://fancybox.net/howto\">How-To</a> & <a target=\"_blank\" href="
|
727 |
+
"\"http://fancybox.net/faq\">FAQ</a>.<br />If that does not help, go to <a "
|
728 |
+
"href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</"
|
729 |
+
"a>, use the <strong>Search</strong> option, and if necesary, post your "
|
730 |
+
"question."
|
731 |
+
msgstr ""
|
732 |
+
"Si tienes problemas o dudas acerca de FancyBox (y no este plugin en sí), por "
|
733 |
+
"favor visita estos enlaces (en inglés): <a href=\"http://fancybox.net/howto"
|
734 |
+
"\">How-To</a> & <a href=\"http://fancybox.net/faq\">FAQ</a>.<br />Si eso no "
|
735 |
+
"ayuda, ves al <a href=\"http://groups.google.com/group/fancybox\">Grupo de "
|
736 |
+
"Google de FancyBox</a>, usa la opción de <strong>Búsqueda</strong>, y si no "
|
737 |
+
"encuentras lo que buscas, pregunta allí."
|
738 |
+
|
739 |
+
#: lib/admin-tab-support.php:8
|
740 |
+
msgid "Help with Fancybox for WordPress plugin"
|
741 |
+
msgstr "Ayuda para el plugin Fancybox for WordPress"
|
742 |
+
|
743 |
+
#: lib/admin-tab-support.php:10
|
744 |
+
msgid ""
|
745 |
+
"Try to localize the problem (switch your theme and deactivate plugins until "
|
746 |
+
"you find the source of the problem). You can also try the Troubleshooting "
|
747 |
+
"settings of this plugin if necesary."
|
748 |
+
msgstr ""
|
749 |
+
"Intenta localizar la fuente del problema (cambia de tema y/o desactiva "
|
750 |
+
"plugins hasta que encuentres lo que causa el problema). También puedes usar "
|
751 |
+
"las optiones de Resolución de Errores que hay al final de esta página."
|
752 |
+
|
753 |
+
#: lib/admin-tab-support.php:11
|
754 |
+
msgid ""
|
755 |
+
"Try reverting the plugin's settings to their defaults with the button below."
|
756 |
+
msgstr ""
|
757 |
+
"Prueba a resetear las opciones a sus valores originales con el botón al pie "
|
758 |
+
"de esta página."
|
759 |
+
|
760 |
+
#: lib/admin-tab-support.php:12
|
761 |
+
msgid ""
|
762 |
+
"If you still can not get the plugin to work, <a target=\"_blank\" href="
|
763 |
+
"\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
764 |
+
"\">write a post in the WordPress Support forums</a> explaining the problem "
|
765 |
+
"or take a look and the <a target=\"_blank\" href=\"http://wordpress.org/"
|
766 |
+
"support/plugin/fancybox-for-wordpress\">already posted messages</a>."
|
767 |
+
msgstr ""
|
768 |
+
"Si aún no puedes hacer funcionar el plugin, <a target=\"_blank\" href="
|
769 |
+
"\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
770 |
+
"\">escribe en el foro de Soporte de WordPress</a> o echa un vistazo a <a "
|
771 |
+
"target=\"_blank\" href=\"\"http://wordpress.org/support/plugin/fancybox-for-"
|
772 |
+
"wordpress\">los mensajes ya escritos en dicho foro</a>."
|
773 |
+
|
774 |
+
#: lib/admin-tab-support.php:15
|
775 |
+
msgid "IMPORTANT:"
|
776 |
+
msgstr "IMPORTANTE:"
|
777 |
+
|
778 |
+
#: lib/admin-tab-support.php:15
|
779 |
+
msgid ""
|
780 |
+
"When posting your problem please provide a link to your blog and the page "
|
781 |
+
"where the error is found, and all relevant information you can, especially "
|
782 |
+
"your theme, plugins, etc."
|
783 |
+
msgstr ""
|
784 |
+
"Cuando expliques tu problema, por favor deja un enlace a tu blog y una "
|
785 |
+
"página donde FancyBox falla, así como cualquier información reelevante, como "
|
786 |
+
"el tema de WordPress y plugins que usas."
|
787 |
+
|
788 |
+
#: lib/admin-tab-troubleshooting.php:1
|
789 |
+
msgid "Troubleshooting Settings"
|
790 |
+
msgstr "Resolución de Problemas"
|
791 |
+
|
792 |
+
#: lib/admin-tab-troubleshooting.php:3
|
793 |
+
msgid ""
|
794 |
+
"Settings in this section should only be changed if you are having problems "
|
795 |
+
"with the plugin!"
|
796 |
+
msgstr ""
|
797 |
+
"Las opciones de esta sección solo deben ser editadas si tienes problemas con "
|
798 |
+
"el plugin!"
|
799 |
+
|
800 |
+
#: lib/admin-tab-troubleshooting.php:5
|
801 |
+
msgid ""
|
802 |
+
"If the plugin doesn't seem to work, first you should check for other plugins "
|
803 |
+
"that may be conflicting with this one, especially other Lightbox, Slimbox, "
|
804 |
+
"etc. Make sure all your plugins and WordPress itself are up to date (this "
|
805 |
+
"plugin has only been tested in WordPress 2.7 and above)."
|
806 |
+
msgstr ""
|
807 |
+
"Si el plugin no funciona, lo primero que deberías hacer es comprobar que no "
|
808 |
+
"haya un conflicto con otros plugins, especialmente otro tipo de Lightbox, "
|
809 |
+
"Slimbox, etc. Asegúrate de que todos tus plugins y tu WordPress están "
|
810 |
+
"actualizados (este plugin solo se ha testado con WordPress 2.7 y superiores)."
|
811 |
+
|
812 |
+
#: lib/admin-tab-troubleshooting.php:7
|
813 |
+
msgid ""
|
814 |
+
"Change them one at a time and test to see if they help. Remember that having "
|
815 |
+
"a cache plugin may prevent changes from taking effect immidiately, so clear "
|
816 |
+
"cache after saving changes here or deactivate cache until you finish editing "
|
817 |
+
"these options."
|
818 |
+
msgstr ""
|
819 |
+
"Cámbialas de una en una y comprueba si solucionan tu problema. Recuqerda que "
|
820 |
+
"usar un plugin de caché puede hacer que los cambios no surjan efecto "
|
821 |
+
"inmediatamente, vacía el cache después de guardar los cambios or desactivalo "
|
822 |
+
"hasta que termines de ajustar estas opciones."
|
823 |
+
|
824 |
+
#: lib/admin-tab-troubleshooting.php:13
|
825 |
+
msgid "Do not call jQuery"
|
826 |
+
msgstr "No cargar jQuery"
|
827 |
+
|
828 |
+
#: lib/admin-tab-troubleshooting.php:19
|
829 |
+
msgid ""
|
830 |
+
"Skip jQuery call. Use this only if jQuery is being loaded twice (default: "
|
831 |
+
"off)"
|
832 |
+
msgstr ""
|
833 |
+
"Omitir llamada a jQuery. Usa esta opción sólo si jQuery se está cargando dos "
|
834 |
+
"veces por error. (por defecto: desactivado)"
|
835 |
+
|
836 |
+
#: lib/admin-tab-uninstall.php:3
|
837 |
+
msgid ""
|
838 |
+
"Like many other plugins, FancyBox for WordPress stores its settings on your "
|
839 |
+
"WordPress' options database table. Actually, these settings are not using "
|
840 |
+
"more than a couple of kilobytes of space, but if you want to completely "
|
841 |
+
"uninstall this plugin, check the option below, then save changes, and "
|
842 |
+
"<strong>when you deactivate the plugin</strong>, all its settings will be "
|
843 |
+
"removed from the database."
|
844 |
+
msgstr ""
|
845 |
+
"Al igual que otros plugins, FancyBox for WordPress guarda sus opciones en la "
|
846 |
+
"tabla de opciones de la base de datos de WordPress. En realidad, estas "
|
847 |
+
"opcines no ocupam más que unos kilobytes de espacio, pero si quieres "
|
848 |
+
"eliminar el plugin por completo, activa la siguiente opción, guarda los "
|
849 |
+
"cambios, y <strong>cuando desactives el plugin</strong>, todas las opciones "
|
850 |
+
"se eliminarán de la base de datos."
|
851 |
+
|
852 |
+
#: lib/admin-tab-uninstall.php:9
|
853 |
+
msgid "Remove settings"
|
854 |
+
msgstr "Eliminar Opciones"
|
855 |
+
|
856 |
+
#: lib/admin-tab-uninstall.php:15
|
857 |
+
msgid ""
|
858 |
+
"Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. "
|
859 |
+
"(default: off)"
|
860 |
+
msgstr ""
|
861 |
+
"Eliminar opciones cuando se desactive el plugin desde la página \"Gestionar "
|
862 |
+
"Plugins\". (por defecto: desactivado)"
|
863 |
+
|
864 |
+
#. Plugin Name of the plugin/theme
|
865 |
+
msgid "FancyBox for WordPress"
|
866 |
+
msgstr "FancyBox for WordPress"
|
867 |
+
|
868 |
+
#. Plugin URI of the plugin/theme
|
869 |
+
msgid "https://wordpress.org/plugins/fancybox-for-wordpress/"
|
870 |
+
msgstr "https://wordpress.org/plugins/fancybox-for-wordpress/"
|
871 |
+
|
872 |
+
#. Description of the plugin/theme
|
873 |
+
msgid ""
|
874 |
+
"Integrates <a href=\"http://fancybox.net/\">FancyBox</a> by <a href=\"http://"
|
875 |
+
"klade.lv/\">Janis Skarnelis</a> into WordPress."
|
876 |
+
msgstr ""
|
877 |
+
"Integra <a href=\"http://fancybox.net/\">FancyBox</a> por <a href=\"http://"
|
878 |
+
"klade.lv/\">Janis Skarnelis</a> en WordPress."
|
879 |
+
|
880 |
+
#. Author of the plugin/theme
|
881 |
+
msgid "José Pardilla"
|
882 |
+
msgstr "José Pardilla"
|
883 |
+
|
884 |
+
#. Author URI of the plugin/theme
|
885 |
+
msgid "http://twitter.com/moskis"
|
886 |
+
msgstr "http://twitter.com/moskis"
|
887 |
+
|
888 |
+
#~ msgid ""
|
889 |
+
#~ "<strong>Note:</strong> If update to version 3.0.0 breaks fancybox on your "
|
890 |
+
#~ "blog you will probably have to reset your settings (with the white button "
|
891 |
+
#~ "below). I have tested this issue on several WordPress installations and "
|
892 |
+
#~ "it always worked, so it might depend on the server. Sorry for the "
|
893 |
+
#~ "inconvinience."
|
894 |
+
#~ msgstr ""
|
895 |
+
#~ "<strong>Nota:</strong> Si la actualización a la versión 3.0.0 estropea "
|
896 |
+
#~ "FancyBox en tu blog, posiblemente tengas que reestablecer las opciones "
|
897 |
+
#~ "del plugin (desde el botón blanco de abajo)."
|
898 |
+
|
899 |
+
#~ msgid ""
|
900 |
+
#~ "If you are having trouble with this plugin take a look at this <a target="
|
901 |
+
#~ "\"_blank\" href=\"http://plugins.josepardilla.com/fancybox-for-wordpress/"
|
902 |
+
#~ "faq\">FAQ</a> where i will try to cover the most common problems and "
|
903 |
+
#~ "their solutions."
|
904 |
+
#~ msgstr ""
|
905 |
+
#~ "Si tienes problemas para hacer funcionar este plugin echa un vistazo a "
|
906 |
+
#~ "esta página de <a target=\"_blank\" href=\"http://plugins.josepardilla."
|
907 |
+
#~ "com/fancybox-for-wordpress/faq\">Preguntas Frecuentes</a> donde intentaré "
|
908 |
+
#~ "explicar los problemas más habituales y cómo resolverlos."
|
909 |
+
|
910 |
+
#~ msgid "Callback on Start event (default: empty)"
|
911 |
+
#~ msgstr "Retrollamada en el evento de Inicio (por defecto: vacío)"
|
912 |
+
|
913 |
+
#~ msgid "Callback on Show event (default: empty)"
|
914 |
+
#~ msgstr "Retrollamada en el evento de Mostrado (por defecto: vacío)"
|
915 |
+
|
916 |
+
#~ msgid "Callback on Close event (default: empty)"
|
917 |
+
#~ msgstr "Retrollamada en el evento de Cerrado (por defecto: vacío)"
|
918 |
+
|
919 |
+
#~ msgid "Leave the fields empty to disable."
|
920 |
+
#~ msgstr "Deja estos campos vacíos para desactivar cualqueir retrollamada."
|
921 |
+
|
922 |
+
#~ msgid "Frame Size"
|
923 |
+
#~ msgstr "Tamaño del recuadro"
|
924 |
+
|
925 |
+
#~ msgid ""
|
926 |
+
#~ "Width in pixels of FancyBox when showing iframe content (default: 560)"
|
927 |
+
#~ msgstr ""
|
928 |
+
#~ "Ancho en píxeles de FancyBox cuado se muestre contenido anidado (por "
|
929 |
+
#~ "defecto: 560)"
|
930 |
+
|
931 |
+
#~ msgid ""
|
932 |
+
#~ "Height in pixels of FancyBox when showing iframe content (default: 340)"
|
933 |
+
#~ msgstr ""
|
934 |
+
#~ "Alto en píxeles de FancyBox cuado se muestre contenido anidado (por "
|
935 |
+
#~ "defecto: 340)"
|
936 |
+
|
937 |
+
#~ msgid "jQuery \"noConflict\" Mode"
|
938 |
+
#~ msgstr "Modo jQuery \"noConflict\""
|
939 |
+
|
940 |
+
#~ msgid "Use jQuery noConflict mode (default: on)"
|
941 |
+
#~ msgstr "Usar parámetro noConflict de jQuery (por defecto: activado)"
|
942 |
+
|
943 |
+
#~ msgid ""
|
944 |
+
#~ "(Turning this off may cause problems if there are plugins activated that "
|
945 |
+
#~ "use other js framework like mootools, prototype, scriptaculous, etc.)"
|
946 |
+
#~ msgstr ""
|
947 |
+
#~ "(Desactivar esta opción puede causar problemas si hay plugins activadoes "
|
948 |
+
#~ "que usen otros frameworks javascript como Mootols, Prototype, "
|
949 |
+
#~ "Scriptaculous, etc.)"
|
950 |
+
|
951 |
+
#~ msgid "Presentation"
|
952 |
+
#~ msgstr "Presentación"
|
953 |
+
|
954 |
+
#~ msgid ""
|
955 |
+
#~ "These are the main settings, which let you tweak color, borders and "
|
956 |
+
#~ "animation."
|
957 |
+
#~ msgstr ""
|
958 |
+
#~ "Estas son las opciones principales, que te permiten ajustar los colores, "
|
959 |
+
#~ "bordes y animación."
|
960 |
+
|
961 |
+
#~ msgid ""
|
962 |
+
#~ "(Set <strong>Border Color</strong> to \"#000000\" and <strong>Padding "
|
963 |
+
#~ "Size</strong> to \"0\" for the classic FancyBox look)"
|
964 |
+
#~ msgstr ""
|
965 |
+
#~ "(Pon el <strong>Color del Borde</strong> en \"#000000\" y el "
|
966 |
+
#~ "<strong>Tamaño del Margen</strong> en \"0\" para el aspecto clásico de "
|
967 |
+
#~ "FancyBox)"
|
968 |
+
|
969 |
+
#~ msgid "Show/Hide Advanced Settings"
|
970 |
+
#~ msgstr "Mostrar/Ocultar Opciones Avanzadas"
|
971 |
+
|
972 |
+
#~ msgid "Show/Hide Troubleshooting & Uninstall Settings"
|
973 |
+
#~ msgstr "Mostrar/Ocultar Resolución de Problemas y Desinstalación"
|
974 |
+
|
975 |
+
#~ msgid ""
|
976 |
+
#~ "Do not call the <code>fancybox()</code> function here, the plugin does "
|
977 |
+
#~ "this for you."
|
978 |
+
#~ msgstr ""
|
979 |
+
#~ "No llames a la función <code>fancybox()</code> desde aquí, eso ya lo hace "
|
980 |
+
#~ "el plugin por tí."
|
981 |
+
|
982 |
+
#~ msgid "Make a gallery for each post"
|
983 |
+
#~ msgstr "Hacer una galería para cada entrada"
|
984 |
+
|
985 |
+
#~ msgid ""
|
986 |
+
#~ "The attribute has to start with fancybox, but can end with however you "
|
987 |
+
#~ "like: \"fancybox1\", \"fancybox2\", \"fancybox-custom\" will work."
|
988 |
+
#~ msgstr ""
|
989 |
+
#~ "El atributo debe empezar por fancybox pero puede terminar como quieras: "
|
990 |
+
#~ "\"fancybox1\", \"fancybox2\", \"fancybox-custom\" servirían."
|
991 |
+
|
992 |
+
#~ msgid "Horizontal position of the close button (default: right)"
|
993 |
+
#~ msgstr ""
|
994 |
+
#~ "Posición horizontal del botón para cerrar FancyBox (por defecto: derecha)"
|
995 |
+
|
996 |
+
#~ msgid "About"
|
997 |
+
#~ msgstr "Información"
|
998 |
+
|
999 |
+
#~ msgid ""
|
1000 |
+
#~ "This plugin integrates FancyBox with WordPress without having to edit any "
|
1001 |
+
#~ "file or code. Once activated the plugin will apply FancyBox automatically "
|
1002 |
+
#~ "to all image links, including WordPress galleries. Future versions will "
|
1003 |
+
#~ "include some more options like easier inline content integration and more "
|
1004 |
+
#~ "advanced customization. Enjoy!"
|
1005 |
+
#~ msgstr ""
|
1006 |
+
#~ "Este plugin integra FancyBox con WordPress sin necesidad de editar ningún "
|
1007 |
+
#~ "archivo o HTML. Una vez activado, el plugin aplicará FancyBox "
|
1008 |
+
#~ "automáticamente a todos los enlaces a imágenes, incluyendo galerias de "
|
1009 |
+
#~ "WordPress. Que lo disfrutes!"
|
1010 |
+
|
1011 |
+
#~ msgid ""
|
1012 |
+
#~ "If you have problems or questions about FancyBox itself you should <a "
|
1013 |
+
#~ "href=\"http://groups.google.com/group/fancybox\">ask in the FancyBox "
|
1014 |
+
#~ "Google Group</a>. If you want to make suggestions or ask just about this "
|
1015 |
+
#~ "WordPress plugin you can <a href=\"http://blog.moskis.net/downloads/"
|
1016 |
+
#~ "plugins/fancybox-for-wordpress/\">leave a comment here</a>, <a href="
|
1017 |
+
#~ "\"http://blog.moskis.net/contactar/\">send me an email</a>, or <a href="
|
1018 |
+
#~ "\"http://twitter.com/moskis\">contact me on twitter</a>."
|
1019 |
+
#~ msgstr ""
|
1020 |
+
#~ "Si tienes problemas o preguntas sobre FancyBox deberías <a href=\"http://"
|
1021 |
+
#~ "groups.google.com/group/fancybox\">preguntar en este grupo de Google</a> "
|
1022 |
+
#~ "(enlace en inglés). Si tienes preguntas o sugerencias sobre este plugin "
|
1023 |
+
#~ "para WordPress, puedes <a href=\"http://blog.moskis.net/downloads/plugins/"
|
1024 |
+
#~ "fancybox-for-wordpress/\">dejar un comentario aquí</a>, <a href=\"http://"
|
1025 |
+
#~ "blog.moskis.net/contactar/\">enviarme un email</a>, o <a href=\"http://"
|
1026 |
+
#~ "twitter.com/moskis\">contactar conmigo vía Twitter</a>."
|
1027 |
+
|
1028 |
+
#~ msgid "Auto Apply"
|
1029 |
+
#~ msgstr "Auto Aplicar"
|
1030 |
+
|
1031 |
+
#~ msgid ""
|
1032 |
+
#~ "Apply FancyBox automatically to all links pointing to .jpg, .jpeg, .png "
|
1033 |
+
#~ "or .gif images (default: on)"
|
1034 |
+
#~ msgstr ""
|
1035 |
+
#~ "Aplicar FancyBox automáticamente a todos los enlaces que apunten a "
|
1036 |
+
#~ "archivos .jpg, .jpeg, .png o .gif (por defecto: activado)"
|
1037 |
+
|
1038 |
+
#~ msgid ""
|
1039 |
+
#~ "(The link itself must the an image as well, text links will not be "
|
1040 |
+
#~ "affected by this option!)"
|
1041 |
+
#~ msgstr ""
|
1042 |
+
#~ "(El link tiene que estar en una imagen, esta opción no affecta a enlaces "
|
1043 |
+
#~ "de texto!)"
|
1044 |
+
|
1045 |
+
#~ msgid ""
|
1046 |
+
#~ "(This does NOT conflict with the previous and next image links on "
|
1047 |
+
#~ "FancyBox galleries.)"
|
1048 |
+
#~ msgstr ""
|
1049 |
+
#~ "(Esto no afecta a los enlaces de Imagen Siguiente e Imagen Anterior en "
|
1050 |
+
#~ "galerias de varias imágenes)"
|
languages/mfbfw-ja.po
CHANGED
@@ -1,325 +1,325 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: FancyBox for WordPress Japanese\n"
|
4 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/fancybox-for-wordpress\n"
|
5 |
-
"POT-Creation-Date: 2009-03-25 16:40+0000\n"
|
6 |
-
"PO-Revision-Date: \n"
|
7 |
-
"Last-Translator: Oba-T\n"
|
8 |
-
"Language-Team: \n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
|
13 |
-
#: admin.php:21
|
14 |
-
#, php-format
|
15 |
-
msgid "Fancybox for WordPress Options (version %s)"
|
16 |
-
msgstr "Fancybox for WordPress Options (version %s)"
|
17 |
-
|
18 |
-
#: admin.php:25
|
19 |
-
msgid "If you use FancyBox and like it, buy the author a beer!"
|
20 |
-
msgstr "FancyBoxを気に入ったならば、作者にビールをおごってください。"
|
21 |
-
|
22 |
-
#: admin.php:46
|
23 |
-
msgid "The author of this WordPress Plugin also likes beer :P"
|
24 |
-
msgstr "このプラグインの作者は、ビールが大好きです。 :P"
|
25 |
-
|
26 |
-
#: admin.php:59
|
27 |
-
msgid "Follow me on Twitter for more WordPress Plugins and Themes"
|
28 |
-
msgstr "より多くのプラグインとテーマのためにTwitterで応援してください。"
|
29 |
-
|
30 |
-
#: admin.php:66
|
31 |
-
msgid "Info & Support"
|
32 |
-
msgstr "説明とサポート"
|
33 |
-
|
34 |
-
#: admin.php:68
|
35 |
-
msgid "<a href=\"http://fancy.klade.lv/home\">FancyBox</a> developed by <a href=\"http://kac.klade.lv/\">Janis Skarnelis</a>, ported to WordPress by <a href=\"http://moskis.net/\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
36 |
-
msgstr "<a href=\"http://fancy.klade.lv/home\">FancyBox</a> developed by <a href=\"http://kac.klade.lv/\">Janis Skarnelis</a>, ported to WordPress by <a href=\"http://moskis.net/\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
37 |
-
|
38 |
-
#: admin.php:70
|
39 |
-
msgid "As you can see, this plugin has many options you can edit, but have no fear, you can leave everything as it is if you want, since the default options should be a good start... :)"
|
40 |
-
msgstr "このプラグインには編集可能な多くのオプションがあります。初起動時に初期値で良い設定となってます。そのままでも構わなければ変更することはありません... :)"
|
41 |
-
|
42 |
-
#: admin.php:74
|
43 |
-
msgid "If you have problems or questions about FancyBox, please start with these links: <a href=\"http://fancy.klade.lv/howto\">How-To</a> & <a href=\"http://fancy.klade.lv/faq\">FAQ</a>.<br />If that does not help, go to <a href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</a>, use the <strong>Search</strong> option, and if necesary, post your question."
|
44 |
-
msgstr "トラブル、または、FancyBoxへの質問は、リンク先の<a href=\"http://fancy.klade.lv/howto\">How-To</a> & <a href=\"http://fancy.klade.lv/faq\">FAQ</a>へ…<br />そこで、該当項目が無ければ、必要に応じて検索オプションを使用し、<a href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</a>で検索してください。また、該当項目が無い場合は質問をしてください。"
|
45 |
-
|
46 |
-
#: admin.php:76
|
47 |
-
msgid "If you are having trouble with this plugin try to localize the problem (switch your theme and/or deactivate plugins until you find the source of the problem). You can also try the Troubleshooting settings at the bottom of this page if necesary. If you still can not get the plugin to work, <a href=\"http://blog.moskis.net/downloads/plugins/fancybox-for-wordpress/\">leave a comment here</a> explaining the problem."
|
48 |
-
msgstr "このプラグインが動作しない時は、問題の切り分けをしてください(使用中のテーマを変える。または、その他のプラグインを一つずつ有効化する)。必要に応じて、このページの最下部のトラブルシューティングでセッティングを試してください。それでもまだプラグインを起動できない時は、<a href=\"http://blog.moskis.net/downloads/plugins/fancybox-for-wordpress/\">leave a comment here</a> へ問題の詳細をコメントしてください。"
|
49 |
-
|
50 |
-
#: admin.php:81
|
51 |
-
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
52 |
-
msgstr "外観設定 <span style=\"color:green\">(基本設定)</span>"
|
53 |
-
|
54 |
-
#: admin.php:83
|
55 |
-
msgid "These are the main settings, which let you tweak color, borders and animation."
|
56 |
-
msgstr "主要設定です。(この設定で、色、境界線、基本的なアニメーション動作の調整ができます。)"
|
57 |
-
|
58 |
-
#: admin.php:85
|
59 |
-
msgid "<strong>Note:</strong> Having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options."
|
60 |
-
msgstr "<strong>Note:</strong> キャッシュが保持されているため、オプション設定後、すぐに効果が表れないかもしれません。その場合、オプション設定終了後に、キャッシュのクリアをしてください。"
|
61 |
-
|
62 |
-
#: admin.php:95
|
63 |
-
msgid "Border Color"
|
64 |
-
msgstr "境界線色"
|
65 |
-
|
66 |
-
#: admin.php:101
|
67 |
-
msgid "HTML color of the border (default: #BBBBBB)"
|
68 |
-
msgstr "境界線の表示色 (初期値: #BBBBBB)"
|
69 |
-
|
70 |
-
#: admin.php:109
|
71 |
-
msgid "Close Button Position"
|
72 |
-
msgstr "閉じるボタンの位置"
|
73 |
-
|
74 |
-
#: admin.php:115
|
75 |
-
msgid "Left"
|
76 |
-
msgstr "左"
|
77 |
-
|
78 |
-
#: admin.php:120
|
79 |
-
msgid "Right (default)"
|
80 |
-
msgstr "右 (初期値)"
|
81 |
-
|
82 |
-
#: admin.php:125
|
83 |
-
msgid "Bottom"
|
84 |
-
msgstr "下"
|
85 |
-
|
86 |
-
#: admin.php:130
|
87 |
-
msgid "Top (default)"
|
88 |
-
msgstr "上 (初期値)"
|
89 |
-
|
90 |
-
#: admin.php:138
|
91 |
-
msgid "Padding"
|
92 |
-
msgstr "パディング設定"
|
93 |
-
|
94 |
-
#: admin.php:144
|
95 |
-
msgid "HTML color of the padding (default: #FFFFFF)"
|
96 |
-
msgstr "パッディングの表示色 (初期値: #FFFFFF)"
|
97 |
-
|
98 |
-
#: admin.php:149
|
99 |
-
msgid "Padding size in pixels (default: 10)"
|
100 |
-
msgstr "パッディングサイズ:px (初期値: 10)"
|
101 |
-
|
102 |
-
#: admin.php:152
|
103 |
-
msgid "(Set <strong>Border Color</strong> to \"#000000\" and <strong>Padding Size</strong> to \"0\" for the classic FancyBox look)"
|
104 |
-
msgstr "(<strong>境界線の色</strong> が \"#000000\" と <strong>内側余白</strong> が \"0\" が、classic FancyBox の設定)"
|
105 |
-
|
106 |
-
#: admin.php:159
|
107 |
-
msgid "Overlay Options"
|
108 |
-
msgstr "オーバレイ設定"
|
109 |
-
|
110 |
-
#: admin.php:165
|
111 |
-
msgid "Add overlay (default: on)"
|
112 |
-
msgstr "オーバーレイ適用 (初期値: on)"
|
113 |
-
|
114 |
-
#: admin.php:170
|
115 |
-
msgid "HTML color of the overlay (default: #666666)"
|
116 |
-
msgstr "オーバーレイの表示色 (初期値: #666666)"
|
117 |
-
|
118 |
-
#: admin.php:183
|
119 |
-
msgid "Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)"
|
120 |
-
msgstr "オーバーレイ透過度. 0 = 透明, 1 = 黒 0.1刻み(初期値: 0.3)"
|
121 |
-
|
122 |
-
#: admin.php:191
|
123 |
-
msgid "Zoom Options"
|
124 |
-
msgstr "ズーム設定"
|
125 |
-
|
126 |
-
#: admin.php:197
|
127 |
-
msgid "Change content transparency during zoom animations (default: on)"
|
128 |
-
msgstr "切替時、アニメーション動作を使用 (初期値: on)"
|
129 |
-
|
130 |
-
#: admin.php:209
|
131 |
-
msgid "Speed in miliseconds of the zooming-in animation (default: 500)"
|
132 |
-
msgstr "ズームイン アニメーション速度 : 1000=1秒 (初期値: 500)"
|
133 |
-
|
134 |
-
#: admin.php:221
|
135 |
-
msgid "Speed in miliseconds of the zooming-out animation (default: 500)"
|
136 |
-
msgstr "ズームアウト アニメーション速度 : 1000=1秒 (初期値: 500)"
|
137 |
-
|
138 |
-
#: admin.php:229
|
139 |
-
msgid "Easing"
|
140 |
-
msgstr "加減速設定"
|
141 |
-
|
142 |
-
#: admin.php:235
|
143 |
-
msgid "Activate easing (default: off)"
|
144 |
-
msgstr "加減速設定 (初期値: off)"
|
145 |
-
|
146 |
-
#: admin.php:248
|
147 |
-
msgid "Easing method when opening FancyBox. (default: easeOutBack)"
|
148 |
-
msgstr "FancyBoxの開始時の加減速動作 (初期値: easeOutBack)"
|
149 |
-
|
150 |
-
#: admin.php:261
|
151 |
-
msgid "Easing method when closing FancyBox. (default: easeInBack)"
|
152 |
-
msgstr "FancyBoxの終了時の加減速動作 (初期値: easeInBack)"
|
153 |
-
|
154 |
-
#: admin.php:274
|
155 |
-
msgid "Easing method when navigating through gallery items. (default: easeInOutQuart)"
|
156 |
-
msgstr "ギャラリーアイテム閲覧時の加減速動作 (初期値: easeInOutBack)"
|
157 |
-
|
158 |
-
#: admin.php:277
|
159 |
-
msgid "(There are 30 different easing methods, the first ones are the most boring. You can test them <a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/animationtypes.html\" target=\"_blank\">here</a>)"
|
160 |
-
msgstr "(30種類の\"加減速\"設定があります。最初の項目は最も退屈な設定です。 この<a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank\">リンク</a>にてテストできます。ボックスをクリックしてください。)"
|
161 |
-
|
162 |
-
#: admin.php:286
|
163 |
-
msgid "Show/Hide Advanced Settings"
|
164 |
-
msgstr "表示/非表示 高度設定"
|
165 |
-
|
166 |
-
#: admin.php:287
|
167 |
-
msgid "Show/Hide Troubleshooting & Uninstall Settings"
|
168 |
-
msgstr "表示/非表示 トラブルシューティング & 削除設定"
|
169 |
-
|
170 |
-
#: admin.php:292
|
171 |
-
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
172 |
-
msgstr "動作設定 <span style=\"color:orange\">(中間値)</span>"
|
173 |
-
|
174 |
-
#: admin.php:294
|
175 |
-
msgid "The following settings should be left on default unless you know what you are doing."
|
176 |
-
msgstr "理解していない場合、以下の設定は初期値のままにしてください。"
|
177 |
-
|
178 |
-
#: admin.php:300
|
179 |
-
msgid "Auto Resize to Fit"
|
180 |
-
msgstr "自動リサイズ設定"
|
181 |
-
|
182 |
-
#: admin.php:306
|
183 |
-
msgid "Scale images to fit in viewport (default: on)"
|
184 |
-
msgstr "イメージの大きさをビューポートに合わせる (初期値: on)"
|
185 |
-
|
186 |
-
#: admin.php:314
|
187 |
-
msgid "Center on Scroll"
|
188 |
-
msgstr "表示固定設定"
|
189 |
-
|
190 |
-
#: admin.php:320
|
191 |
-
msgid "Keep image in the center of the browser window when scrolling (default: on)"
|
192 |
-
msgstr "ブラウザののスクロールをしても、プレビュー画像を中央に固定する。 (初期値: on)"
|
193 |
-
|
194 |
-
#: admin.php:328
|
195 |
-
msgid "Close on Click"
|
196 |
-
msgstr "クリック終了設定"
|
197 |
-
|
198 |
-
#: admin.php:334
|
199 |
-
msgid "Close FancyBox by clicking on the image (default: off)"
|
200 |
-
msgstr "FancyBoxをプレビュー画像クリックで閉じる。 (初期値: off)"
|
201 |
-
|
202 |
-
#: admin.php:337
|
203 |
-
msgid "(You may want to leave this off if you display iframed or inline content and it containts clickable elements - for example: play buttons for movies, links to other pages)"
|
204 |
-
msgstr "(インラインフレーム、インラインコンテンツをクリックで表示する場合、これらのコンテンツ要素をこのままにしておきたいことがあります-例えば:動画再生ボタンやページリンク)"
|
205 |
-
|
206 |
-
#: admin.php:347
|
207 |
-
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
208 |
-
msgstr "ギャラリー設定 <span style=\"color:red\">(高度設定)</span>"
|
209 |
-
|
210 |
-
#: admin.php:349
|
211 |
-
msgid "Here you can choose if you want the plugin to group all images into a gallery, or make a gallery for each post. You can also define you own jQuery expression if you like."
|
212 |
-
msgstr "この設定で、すべての画像をギャラリーに分類するか、各ポストのためにギャラリーを作るかを選択できます。 また、jQueryの動作表現を定義できます。"
|
213 |
-
|
214 |
-
#: admin.php:355
|
215 |
-
msgid "Frame Size"
|
216 |
-
msgstr "フレームサイズ"
|
217 |
-
|
218 |
-
#: admin.php:361
|
219 |
-
msgid "Width in pixels of FancyBox when showing iframe content (default: 640)"
|
220 |
-
msgstr "FancyBoxのインラインフレームコンテンツの表示幅 :px (初期値: 640)"
|
221 |
-
|
222 |
-
#: admin.php:366
|
223 |
-
msgid "Height in pixels of FancyBox when showing iframe content (default: 500)"
|
224 |
-
msgstr "FancyBoxのインラインフレームコンテンツの表示高 :px (初期値: 500)"
|
225 |
-
|
226 |
-
#: admin.php:374
|
227 |
-
msgid "Gallery Type"
|
228 |
-
msgstr "ギャラリータイプ"
|
229 |
-
|
230 |
-
#: admin.php:380
|
231 |
-
msgid "Make a gallery for all images on the page (default)"
|
232 |
-
msgstr "ページ上の全画像のためにギャラリーを作る (初期値)"
|
233 |
-
|
234 |
-
#: admin.php:385
|
235 |
-
msgid "Do not group images in gallery automatically (use this if you want to make galleries manually with the <code>REL</code> attribute)"
|
236 |
-
msgstr "ギャラリーで自動的に画像を分類しない (<code>REL</code>属性で手動でギャラリーを作る場合は使用してください。)"
|
237 |
-
|
238 |
-
#: admin.php:390
|
239 |
-
msgid "Make a gallery for each post (will only work if your theme uses <code>class=\"post\"</code> on each post, which is common in WordPress"
|
240 |
-
msgstr "各ポストのためにギャラリーを作る (WordPress標準テーマにおいて<code>class=\"post\"</code>を各ポストで使う場合に動作します。)"
|
241 |
-
|
242 |
-
#: admin.php:395
|
243 |
-
msgid "Use a custom expression to apply FancyBox"
|
244 |
-
msgstr "FancyBoxへのカスタム表示の適用"
|
245 |
-
|
246 |
-
#: admin.php:404
|
247 |
-
msgid "Custom expression guidelines:"
|
248 |
-
msgstr "カスタム表示ガイドライン:"
|
249 |
-
|
250 |
-
#: admin.php:406
|
251 |
-
msgid "The custom expression has to apply <code>class=\"fancybox\"</code> to the links where you want to use FancyBox."
|
252 |
-
msgstr "カスタム表示をするには、FancyBoxを使用するリンクへ <code>class=\"fancybox\"</code> を付けます。"
|
253 |
-
|
254 |
-
#: admin.php:408
|
255 |
-
msgid "The jQuery <code>addClass()</code> function is a good way to add the class to the desired links conserving any existing class."
|
256 |
-
msgstr "jQueryの <code>addClass()</code> 機能を使用すると、どの既存のリンククラスへもaddクラスを加える早道です。"
|
257 |
-
|
258 |
-
#: admin.php:410
|
259 |
-
msgid "You can use <code>getTitle()</code> in your expression to copy the title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so that FancyBox can show captions."
|
260 |
-
msgstr "<code>getTitle()</code> を使用して <code>IMG</code> タグや、 <code>A</code> タグへ表示要素を追加し、FancyBoxを表示できます。"
|
261 |
-
|
262 |
-
#: admin.php:412
|
263 |
-
msgid "Do not call the <code>fancybox()</code> function here, the plugin does this for you."
|
264 |
-
msgstr "Fancyboxプラグインの<code>fancybox()</code> 機能を使用しない。"
|
265 |
-
|
266 |
-
#: admin.php:428
|
267 |
-
msgid "Troubleshooting Settings"
|
268 |
-
msgstr "トラブルシューティング設定"
|
269 |
-
|
270 |
-
#: admin.php:430
|
271 |
-
msgid "Settings in this section should only be changed if you are having problems with the plugin!"
|
272 |
-
msgstr "プラグインに関する問題がある場合、この設定を変えるだけです!"
|
273 |
-
|
274 |
-
#: admin.php:432
|
275 |
-
msgid "If the plugin doesn't seem to work, first you should check for other plugins that may be conflicting with this one, especially other Lightbox, Slimbox, etc. Make sure all your plugins and WordPress itself are up to date (this plugin has only been tested in WordPress 2.7 and above)."
|
276 |
-
msgstr "プラグインが機能しない場合は、はじめに他の類似プラグイン(特に他のLightbox、Slimbox)や、その他のプラグインと干渉している可能性があります。また、WordPress自体が最新版であることをチェックしてください。(このプラグインは、WordPress 2.7以上のバージョンでテスト済みです。)"
|
277 |
-
|
278 |
-
#: admin.php:434
|
279 |
-
msgid "Change them one at a time and test to see if they help. Remember that having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options."
|
280 |
-
msgstr "これらを一つずつを変更して、影響しているかどうかをテストしてください。これらのオプションを編集し終わってもキャッシュが保持されているため、オプション設定後、すぐに効果が表れないかもしれません。その場合、オプション設定終了後に、キャッシュのクリアをしてください。"
|
281 |
-
|
282 |
-
#: admin.php:440
|
283 |
-
msgid "Do not call jQuery"
|
284 |
-
msgstr "jQueryを使用しない"
|
285 |
-
|
286 |
-
#: admin.php:446
|
287 |
-
msgid "Skip jQuery call. Use this only if jQuery is being loaded twice (default: off)"
|
288 |
-
msgstr "jQueryの起動スキップ。jQueryが2度起動される場合だけ使用 (初期値: off)"
|
289 |
-
|
290 |
-
#: admin.php:454
|
291 |
-
msgid "jQuery \"noConflict\" Mode"
|
292 |
-
msgstr "jQuery \"noConflict\" モード"
|
293 |
-
|
294 |
-
#: admin.php:460
|
295 |
-
msgid "Use jQuery noConflict mode (default: on)"
|
296 |
-
msgstr "jQuery ノーコンフリクトモード設定 (初期値: on)"
|
297 |
-
|
298 |
-
#: admin.php:463
|
299 |
-
msgid "(Turning this off may cause problems if there are plugins activated that use other js framework like mootools, prototype, scriptaculous, etc.)"
|
300 |
-
msgstr "(この設定の有効化により、Js フレームワークを使用した、mootools、prototype、scriptaculous、その他のプラグインへの干渉を回避できる可能性があります。)"
|
301 |
-
|
302 |
-
#: admin.php:472
|
303 |
-
msgid "Uninstall"
|
304 |
-
msgstr "削除"
|
305 |
-
|
306 |
-
#: admin.php:474
|
307 |
-
msgid "Like many other plugins, FancyBox for WordPress stores its settings on your WordPress' options database table. Actually, these settings are not using more than a couple of kilobytes of space, but if you want to completely uninstall this plugin, check the option below, then save changes, and <strong>when you deactivate the plugin</strong>, all its settings will be removed from the database."
|
308 |
-
msgstr "他のプラグインのように、\"FancyBox for WordPress\"は、データベースのオプションテーブルに設定を格納します。これらの設定は2KB以上のスペースを使っていません。しかし、<strong>このプラグインを無効化</strong>し、削除する場合、完全に元に戻したいならば、下記のオプションをチェックすると、すべての設定はデータベースから削除されます。"
|
309 |
-
|
310 |
-
#: admin.php:480
|
311 |
-
msgid "Remove settings"
|
312 |
-
msgstr "設定の無効化"
|
313 |
-
|
314 |
-
#: admin.php:486
|
315 |
-
msgid "Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. (default: off)"
|
316 |
-
msgstr "プラグイン設定を \"プラグイン管理\"ページから無効化してください。 (初期値: off)"
|
317 |
-
|
318 |
-
#: admin.php:503
|
319 |
-
msgid "Save Changes"
|
320 |
-
msgstr "設定保存"
|
321 |
-
|
322 |
-
#: fancybox.php:437
|
323 |
-
msgid "Settings"
|
324 |
-
msgstr "設定"
|
325 |
-
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: FancyBox for WordPress Japanese\n"
|
4 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/fancybox-for-wordpress\n"
|
5 |
+
"POT-Creation-Date: 2009-03-25 16:40+0000\n"
|
6 |
+
"PO-Revision-Date: \n"
|
7 |
+
"Last-Translator: Oba-T\n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
|
13 |
+
#: admin.php:21
|
14 |
+
#, php-format
|
15 |
+
msgid "Fancybox for WordPress Options (version %s)"
|
16 |
+
msgstr "Fancybox for WordPress Options (version %s)"
|
17 |
+
|
18 |
+
#: admin.php:25
|
19 |
+
msgid "If you use FancyBox and like it, buy the author a beer!"
|
20 |
+
msgstr "FancyBoxを気に入ったならば、作者にビールをおごってください。"
|
21 |
+
|
22 |
+
#: admin.php:46
|
23 |
+
msgid "The author of this WordPress Plugin also likes beer :P"
|
24 |
+
msgstr "このプラグインの作者は、ビールが大好きです。 :P"
|
25 |
+
|
26 |
+
#: admin.php:59
|
27 |
+
msgid "Follow me on Twitter for more WordPress Plugins and Themes"
|
28 |
+
msgstr "より多くのプラグインとテーマのためにTwitterで応援してください。"
|
29 |
+
|
30 |
+
#: admin.php:66
|
31 |
+
msgid "Info & Support"
|
32 |
+
msgstr "説明とサポート"
|
33 |
+
|
34 |
+
#: admin.php:68
|
35 |
+
msgid "<a href=\"http://fancy.klade.lv/home\">FancyBox</a> developed by <a href=\"http://kac.klade.lv/\">Janis Skarnelis</a>, ported to WordPress by <a href=\"http://moskis.net/\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
36 |
+
msgstr "<a href=\"http://fancy.klade.lv/home\">FancyBox</a> developed by <a href=\"http://kac.klade.lv/\">Janis Skarnelis</a>, ported to WordPress by <a href=\"http://moskis.net/\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
37 |
+
|
38 |
+
#: admin.php:70
|
39 |
+
msgid "As you can see, this plugin has many options you can edit, but have no fear, you can leave everything as it is if you want, since the default options should be a good start... :)"
|
40 |
+
msgstr "このプラグインには編集可能な多くのオプションがあります。初起動時に初期値で良い設定となってます。そのままでも構わなければ変更することはありません... :)"
|
41 |
+
|
42 |
+
#: admin.php:74
|
43 |
+
msgid "If you have problems or questions about FancyBox, please start with these links: <a href=\"http://fancy.klade.lv/howto\">How-To</a> & <a href=\"http://fancy.klade.lv/faq\">FAQ</a>.<br />If that does not help, go to <a href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</a>, use the <strong>Search</strong> option, and if necesary, post your question."
|
44 |
+
msgstr "トラブル、または、FancyBoxへの質問は、リンク先の<a href=\"http://fancy.klade.lv/howto\">How-To</a> & <a href=\"http://fancy.klade.lv/faq\">FAQ</a>へ…<br />そこで、該当項目が無ければ、必要に応じて検索オプションを使用し、<a href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</a>で検索してください。また、該当項目が無い場合は質問をしてください。"
|
45 |
+
|
46 |
+
#: admin.php:76
|
47 |
+
msgid "If you are having trouble with this plugin try to localize the problem (switch your theme and/or deactivate plugins until you find the source of the problem). You can also try the Troubleshooting settings at the bottom of this page if necesary. If you still can not get the plugin to work, <a href=\"http://blog.moskis.net/downloads/plugins/fancybox-for-wordpress/\">leave a comment here</a> explaining the problem."
|
48 |
+
msgstr "このプラグインが動作しない時は、問題の切り分けをしてください(使用中のテーマを変える。または、その他のプラグインを一つずつ有効化する)。必要に応じて、このページの最下部のトラブルシューティングでセッティングを試してください。それでもまだプラグインを起動できない時は、<a href=\"http://blog.moskis.net/downloads/plugins/fancybox-for-wordpress/\">leave a comment here</a> へ問題の詳細をコメントしてください。"
|
49 |
+
|
50 |
+
#: admin.php:81
|
51 |
+
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
52 |
+
msgstr "外観設定 <span style=\"color:green\">(基本設定)</span>"
|
53 |
+
|
54 |
+
#: admin.php:83
|
55 |
+
msgid "These are the main settings, which let you tweak color, borders and animation."
|
56 |
+
msgstr "主要設定です。(この設定で、色、境界線、基本的なアニメーション動作の調整ができます。)"
|
57 |
+
|
58 |
+
#: admin.php:85
|
59 |
+
msgid "<strong>Note:</strong> Having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options."
|
60 |
+
msgstr "<strong>Note:</strong> キャッシュが保持されているため、オプション設定後、すぐに効果が表れないかもしれません。その場合、オプション設定終了後に、キャッシュのクリアをしてください。"
|
61 |
+
|
62 |
+
#: admin.php:95
|
63 |
+
msgid "Border Color"
|
64 |
+
msgstr "境界線色"
|
65 |
+
|
66 |
+
#: admin.php:101
|
67 |
+
msgid "HTML color of the border (default: #BBBBBB)"
|
68 |
+
msgstr "境界線の表示色 (初期値: #BBBBBB)"
|
69 |
+
|
70 |
+
#: admin.php:109
|
71 |
+
msgid "Close Button Position"
|
72 |
+
msgstr "閉じるボタンの位置"
|
73 |
+
|
74 |
+
#: admin.php:115
|
75 |
+
msgid "Left"
|
76 |
+
msgstr "左"
|
77 |
+
|
78 |
+
#: admin.php:120
|
79 |
+
msgid "Right (default)"
|
80 |
+
msgstr "右 (初期値)"
|
81 |
+
|
82 |
+
#: admin.php:125
|
83 |
+
msgid "Bottom"
|
84 |
+
msgstr "下"
|
85 |
+
|
86 |
+
#: admin.php:130
|
87 |
+
msgid "Top (default)"
|
88 |
+
msgstr "上 (初期値)"
|
89 |
+
|
90 |
+
#: admin.php:138
|
91 |
+
msgid "Padding"
|
92 |
+
msgstr "パディング設定"
|
93 |
+
|
94 |
+
#: admin.php:144
|
95 |
+
msgid "HTML color of the padding (default: #FFFFFF)"
|
96 |
+
msgstr "パッディングの表示色 (初期値: #FFFFFF)"
|
97 |
+
|
98 |
+
#: admin.php:149
|
99 |
+
msgid "Padding size in pixels (default: 10)"
|
100 |
+
msgstr "パッディングサイズ:px (初期値: 10)"
|
101 |
+
|
102 |
+
#: admin.php:152
|
103 |
+
msgid "(Set <strong>Border Color</strong> to \"#000000\" and <strong>Padding Size</strong> to \"0\" for the classic FancyBox look)"
|
104 |
+
msgstr "(<strong>境界線の色</strong> が \"#000000\" と <strong>内側余白</strong> が \"0\" が、classic FancyBox の設定)"
|
105 |
+
|
106 |
+
#: admin.php:159
|
107 |
+
msgid "Overlay Options"
|
108 |
+
msgstr "オーバレイ設定"
|
109 |
+
|
110 |
+
#: admin.php:165
|
111 |
+
msgid "Add overlay (default: on)"
|
112 |
+
msgstr "オーバーレイ適用 (初期値: on)"
|
113 |
+
|
114 |
+
#: admin.php:170
|
115 |
+
msgid "HTML color of the overlay (default: #666666)"
|
116 |
+
msgstr "オーバーレイの表示色 (初期値: #666666)"
|
117 |
+
|
118 |
+
#: admin.php:183
|
119 |
+
msgid "Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)"
|
120 |
+
msgstr "オーバーレイ透過度. 0 = 透明, 1 = 黒 0.1刻み(初期値: 0.3)"
|
121 |
+
|
122 |
+
#: admin.php:191
|
123 |
+
msgid "Zoom Options"
|
124 |
+
msgstr "ズーム設定"
|
125 |
+
|
126 |
+
#: admin.php:197
|
127 |
+
msgid "Change content transparency during zoom animations (default: on)"
|
128 |
+
msgstr "切替時、アニメーション動作を使用 (初期値: on)"
|
129 |
+
|
130 |
+
#: admin.php:209
|
131 |
+
msgid "Speed in miliseconds of the zooming-in animation (default: 500)"
|
132 |
+
msgstr "ズームイン アニメーション速度 : 1000=1秒 (初期値: 500)"
|
133 |
+
|
134 |
+
#: admin.php:221
|
135 |
+
msgid "Speed in miliseconds of the zooming-out animation (default: 500)"
|
136 |
+
msgstr "ズームアウト アニメーション速度 : 1000=1秒 (初期値: 500)"
|
137 |
+
|
138 |
+
#: admin.php:229
|
139 |
+
msgid "Easing"
|
140 |
+
msgstr "加減速設定"
|
141 |
+
|
142 |
+
#: admin.php:235
|
143 |
+
msgid "Activate easing (default: off)"
|
144 |
+
msgstr "加減速設定 (初期値: off)"
|
145 |
+
|
146 |
+
#: admin.php:248
|
147 |
+
msgid "Easing method when opening FancyBox. (default: easeOutBack)"
|
148 |
+
msgstr "FancyBoxの開始時の加減速動作 (初期値: easeOutBack)"
|
149 |
+
|
150 |
+
#: admin.php:261
|
151 |
+
msgid "Easing method when closing FancyBox. (default: easeInBack)"
|
152 |
+
msgstr "FancyBoxの終了時の加減速動作 (初期値: easeInBack)"
|
153 |
+
|
154 |
+
#: admin.php:274
|
155 |
+
msgid "Easing method when navigating through gallery items. (default: easeInOutQuart)"
|
156 |
+
msgstr "ギャラリーアイテム閲覧時の加減速動作 (初期値: easeInOutBack)"
|
157 |
+
|
158 |
+
#: admin.php:277
|
159 |
+
msgid "(There are 30 different easing methods, the first ones are the most boring. You can test them <a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/animationtypes.html\" target=\"_blank\">here</a>)"
|
160 |
+
msgstr "(30種類の\"加減速\"設定があります。最初の項目は最も退屈な設定です。 この<a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank\">リンク</a>にてテストできます。ボックスをクリックしてください。)"
|
161 |
+
|
162 |
+
#: admin.php:286
|
163 |
+
msgid "Show/Hide Advanced Settings"
|
164 |
+
msgstr "表示/非表示 高度設定"
|
165 |
+
|
166 |
+
#: admin.php:287
|
167 |
+
msgid "Show/Hide Troubleshooting & Uninstall Settings"
|
168 |
+
msgstr "表示/非表示 トラブルシューティング & 削除設定"
|
169 |
+
|
170 |
+
#: admin.php:292
|
171 |
+
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
172 |
+
msgstr "動作設定 <span style=\"color:orange\">(中間値)</span>"
|
173 |
+
|
174 |
+
#: admin.php:294
|
175 |
+
msgid "The following settings should be left on default unless you know what you are doing."
|
176 |
+
msgstr "理解していない場合、以下の設定は初期値のままにしてください。"
|
177 |
+
|
178 |
+
#: admin.php:300
|
179 |
+
msgid "Auto Resize to Fit"
|
180 |
+
msgstr "自動リサイズ設定"
|
181 |
+
|
182 |
+
#: admin.php:306
|
183 |
+
msgid "Scale images to fit in viewport (default: on)"
|
184 |
+
msgstr "イメージの大きさをビューポートに合わせる (初期値: on)"
|
185 |
+
|
186 |
+
#: admin.php:314
|
187 |
+
msgid "Center on Scroll"
|
188 |
+
msgstr "表示固定設定"
|
189 |
+
|
190 |
+
#: admin.php:320
|
191 |
+
msgid "Keep image in the center of the browser window when scrolling (default: on)"
|
192 |
+
msgstr "ブラウザののスクロールをしても、プレビュー画像を中央に固定する。 (初期値: on)"
|
193 |
+
|
194 |
+
#: admin.php:328
|
195 |
+
msgid "Close on Click"
|
196 |
+
msgstr "クリック終了設定"
|
197 |
+
|
198 |
+
#: admin.php:334
|
199 |
+
msgid "Close FancyBox by clicking on the image (default: off)"
|
200 |
+
msgstr "FancyBoxをプレビュー画像クリックで閉じる。 (初期値: off)"
|
201 |
+
|
202 |
+
#: admin.php:337
|
203 |
+
msgid "(You may want to leave this off if you display iframed or inline content and it containts clickable elements - for example: play buttons for movies, links to other pages)"
|
204 |
+
msgstr "(インラインフレーム、インラインコンテンツをクリックで表示する場合、これらのコンテンツ要素をこのままにしておきたいことがあります-例えば:動画再生ボタンやページリンク)"
|
205 |
+
|
206 |
+
#: admin.php:347
|
207 |
+
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
208 |
+
msgstr "ギャラリー設定 <span style=\"color:red\">(高度設定)</span>"
|
209 |
+
|
210 |
+
#: admin.php:349
|
211 |
+
msgid "Here you can choose if you want the plugin to group all images into a gallery, or make a gallery for each post. You can also define you own jQuery expression if you like."
|
212 |
+
msgstr "この設定で、すべての画像をギャラリーに分類するか、各ポストのためにギャラリーを作るかを選択できます。 また、jQueryの動作表現を定義できます。"
|
213 |
+
|
214 |
+
#: admin.php:355
|
215 |
+
msgid "Frame Size"
|
216 |
+
msgstr "フレームサイズ"
|
217 |
+
|
218 |
+
#: admin.php:361
|
219 |
+
msgid "Width in pixels of FancyBox when showing iframe content (default: 640)"
|
220 |
+
msgstr "FancyBoxのインラインフレームコンテンツの表示幅 :px (初期値: 640)"
|
221 |
+
|
222 |
+
#: admin.php:366
|
223 |
+
msgid "Height in pixels of FancyBox when showing iframe content (default: 500)"
|
224 |
+
msgstr "FancyBoxのインラインフレームコンテンツの表示高 :px (初期値: 500)"
|
225 |
+
|
226 |
+
#: admin.php:374
|
227 |
+
msgid "Gallery Type"
|
228 |
+
msgstr "ギャラリータイプ"
|
229 |
+
|
230 |
+
#: admin.php:380
|
231 |
+
msgid "Make a gallery for all images on the page (default)"
|
232 |
+
msgstr "ページ上の全画像のためにギャラリーを作る (初期値)"
|
233 |
+
|
234 |
+
#: admin.php:385
|
235 |
+
msgid "Do not group images in gallery automatically (use this if you want to make galleries manually with the <code>REL</code> attribute)"
|
236 |
+
msgstr "ギャラリーで自動的に画像を分類しない (<code>REL</code>属性で手動でギャラリーを作る場合は使用してください。)"
|
237 |
+
|
238 |
+
#: admin.php:390
|
239 |
+
msgid "Make a gallery for each post (will only work if your theme uses <code>class=\"post\"</code> on each post, which is common in WordPress"
|
240 |
+
msgstr "各ポストのためにギャラリーを作る (WordPress標準テーマにおいて<code>class=\"post\"</code>を各ポストで使う場合に動作します。)"
|
241 |
+
|
242 |
+
#: admin.php:395
|
243 |
+
msgid "Use a custom expression to apply FancyBox"
|
244 |
+
msgstr "FancyBoxへのカスタム表示の適用"
|
245 |
+
|
246 |
+
#: admin.php:404
|
247 |
+
msgid "Custom expression guidelines:"
|
248 |
+
msgstr "カスタム表示ガイドライン:"
|
249 |
+
|
250 |
+
#: admin.php:406
|
251 |
+
msgid "The custom expression has to apply <code>class=\"fancybox\"</code> to the links where you want to use FancyBox."
|
252 |
+
msgstr "カスタム表示をするには、FancyBoxを使用するリンクへ <code>class=\"fancybox\"</code> を付けます。"
|
253 |
+
|
254 |
+
#: admin.php:408
|
255 |
+
msgid "The jQuery <code>addClass()</code> function is a good way to add the class to the desired links conserving any existing class."
|
256 |
+
msgstr "jQueryの <code>addClass()</code> 機能を使用すると、どの既存のリンククラスへもaddクラスを加える早道です。"
|
257 |
+
|
258 |
+
#: admin.php:410
|
259 |
+
msgid "You can use <code>getTitle()</code> in your expression to copy the title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so that FancyBox can show captions."
|
260 |
+
msgstr "<code>getTitle()</code> を使用して <code>IMG</code> タグや、 <code>A</code> タグへ表示要素を追加し、FancyBoxを表示できます。"
|
261 |
+
|
262 |
+
#: admin.php:412
|
263 |
+
msgid "Do not call the <code>fancybox()</code> function here, the plugin does this for you."
|
264 |
+
msgstr "Fancyboxプラグインの<code>fancybox()</code> 機能を使用しない。"
|
265 |
+
|
266 |
+
#: admin.php:428
|
267 |
+
msgid "Troubleshooting Settings"
|
268 |
+
msgstr "トラブルシューティング設定"
|
269 |
+
|
270 |
+
#: admin.php:430
|
271 |
+
msgid "Settings in this section should only be changed if you are having problems with the plugin!"
|
272 |
+
msgstr "プラグインに関する問題がある場合、この設定を変えるだけです!"
|
273 |
+
|
274 |
+
#: admin.php:432
|
275 |
+
msgid "If the plugin doesn't seem to work, first you should check for other plugins that may be conflicting with this one, especially other Lightbox, Slimbox, etc. Make sure all your plugins and WordPress itself are up to date (this plugin has only been tested in WordPress 2.7 and above)."
|
276 |
+
msgstr "プラグインが機能しない場合は、はじめに他の類似プラグイン(特に他のLightbox、Slimbox)や、その他のプラグインと干渉している可能性があります。また、WordPress自体が最新版であることをチェックしてください。(このプラグインは、WordPress 2.7以上のバージョンでテスト済みです。)"
|
277 |
+
|
278 |
+
#: admin.php:434
|
279 |
+
msgid "Change them one at a time and test to see if they help. Remember that having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options."
|
280 |
+
msgstr "これらを一つずつを変更して、影響しているかどうかをテストしてください。これらのオプションを編集し終わってもキャッシュが保持されているため、オプション設定後、すぐに効果が表れないかもしれません。その場合、オプション設定終了後に、キャッシュのクリアをしてください。"
|
281 |
+
|
282 |
+
#: admin.php:440
|
283 |
+
msgid "Do not call jQuery"
|
284 |
+
msgstr "jQueryを使用しない"
|
285 |
+
|
286 |
+
#: admin.php:446
|
287 |
+
msgid "Skip jQuery call. Use this only if jQuery is being loaded twice (default: off)"
|
288 |
+
msgstr "jQueryの起動スキップ。jQueryが2度起動される場合だけ使用 (初期値: off)"
|
289 |
+
|
290 |
+
#: admin.php:454
|
291 |
+
msgid "jQuery \"noConflict\" Mode"
|
292 |
+
msgstr "jQuery \"noConflict\" モード"
|
293 |
+
|
294 |
+
#: admin.php:460
|
295 |
+
msgid "Use jQuery noConflict mode (default: on)"
|
296 |
+
msgstr "jQuery ノーコンフリクトモード設定 (初期値: on)"
|
297 |
+
|
298 |
+
#: admin.php:463
|
299 |
+
msgid "(Turning this off may cause problems if there are plugins activated that use other js framework like mootools, prototype, scriptaculous, etc.)"
|
300 |
+
msgstr "(この設定の有効化により、Js フレームワークを使用した、mootools、prototype、scriptaculous、その他のプラグインへの干渉を回避できる可能性があります。)"
|
301 |
+
|
302 |
+
#: admin.php:472
|
303 |
+
msgid "Uninstall"
|
304 |
+
msgstr "削除"
|
305 |
+
|
306 |
+
#: admin.php:474
|
307 |
+
msgid "Like many other plugins, FancyBox for WordPress stores its settings on your WordPress' options database table. Actually, these settings are not using more than a couple of kilobytes of space, but if you want to completely uninstall this plugin, check the option below, then save changes, and <strong>when you deactivate the plugin</strong>, all its settings will be removed from the database."
|
308 |
+
msgstr "他のプラグインのように、\"FancyBox for WordPress\"は、データベースのオプションテーブルに設定を格納します。これらの設定は2KB以上のスペースを使っていません。しかし、<strong>このプラグインを無効化</strong>し、削除する場合、完全に元に戻したいならば、下記のオプションをチェックすると、すべての設定はデータベースから削除されます。"
|
309 |
+
|
310 |
+
#: admin.php:480
|
311 |
+
msgid "Remove settings"
|
312 |
+
msgstr "設定の無効化"
|
313 |
+
|
314 |
+
#: admin.php:486
|
315 |
+
msgid "Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. (default: off)"
|
316 |
+
msgstr "プラグイン設定を \"プラグイン管理\"ページから無効化してください。 (初期値: off)"
|
317 |
+
|
318 |
+
#: admin.php:503
|
319 |
+
msgid "Save Changes"
|
320 |
+
msgstr "設定保存"
|
321 |
+
|
322 |
+
#: fancybox.php:437
|
323 |
+
msgid "Settings"
|
324 |
+
msgstr "設定"
|
325 |
+
|
languages/mfbfw-pl_PL.po
CHANGED
@@ -1,1066 +1,1066 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: FancyBox for WordPress Polski\n"
|
4 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/fancybox-for-wordpress\n"
|
5 |
-
"POT-Creation-Date: 2012-12-04 18:51+0100\n"
|
6 |
-
"PO-Revision-Date: \n"
|
7 |
-
"Last-Translator: Jose Pardilla <info@josepardilla.com>\n"
|
8 |
-
"Language-Team: Pracownie Inżynierskie Socha <admin@socha-pi.pl>\n"
|
9 |
-
"Language: pl_PL\n"
|
10 |
-
"MIME-Version: 1.0\n"
|
11 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
-
"Content-Transfer-Encoding: 8bit\n"
|
13 |
-
"X-Generator: Poedit 1.5.4\n"
|
14 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-Poedit-KeywordsList: _e;__;esc_attr_e\n"
|
16 |
-
"X-Poedit-Basepath: ./\n"
|
17 |
-
"X-Poedit-SearchPath-0: ..\n"
|
18 |
-
"X-Poedit-SearchPath-1: ../lib\n"
|
19 |
-
|
20 |
-
#: ../admin.php:13
|
21 |
-
#, php-format
|
22 |
-
msgid "Fancybox for WordPress (version %s)"
|
23 |
-
msgstr "Fancybox dla WordPress (wersja %s)"
|
24 |
-
|
25 |
-
#: ../admin.php:25
|
26 |
-
msgid "Info"
|
27 |
-
msgstr "Informacje"
|
28 |
-
|
29 |
-
#: ../admin.php:26
|
30 |
-
msgid "Appearance"
|
31 |
-
msgstr "Wygląd"
|
32 |
-
|
33 |
-
#: ../admin.php:27
|
34 |
-
msgid "Animations"
|
35 |
-
msgstr "Animacje"
|
36 |
-
|
37 |
-
#: ../admin.php:28
|
38 |
-
msgid "Behaviour"
|
39 |
-
msgstr "Zachowanie"
|
40 |
-
|
41 |
-
#: ../admin.php:29
|
42 |
-
msgid "Galleries"
|
43 |
-
msgstr "Galerie"
|
44 |
-
|
45 |
-
#: ../admin.php:30
|
46 |
-
msgid "Miscellaneous"
|
47 |
-
msgstr "Inne"
|
48 |
-
|
49 |
-
#: ../admin.php:31
|
50 |
-
msgid "Extra Calls"
|
51 |
-
msgstr "Odwołania"
|
52 |
-
|
53 |
-
#: ../admin.php:32
|
54 |
-
msgid "Troubleshooting"
|
55 |
-
msgstr "Problemy"
|
56 |
-
|
57 |
-
#: ../admin.php:33 ../lib/admin-tab-support.php:1
|
58 |
-
msgid "Support"
|
59 |
-
msgstr "Wsparcie"
|
60 |
-
|
61 |
-
#: ../admin.php:34 ../lib/admin-tab-uninstall.php:1
|
62 |
-
msgid "Uninstall"
|
63 |
-
msgstr "Odinstalowanie"
|
64 |
-
|
65 |
-
#: ../admin.php:81
|
66 |
-
msgid "Save Changes"
|
67 |
-
msgstr "Zapisz zmiany"
|
68 |
-
|
69 |
-
#: ../admin.php:88
|
70 |
-
msgid "Revert to defaults"
|
71 |
-
msgstr "Przywróć do ustawień domyślnych"
|
72 |
-
|
73 |
-
#: ../admin.php:96
|
74 |
-
msgid "If you use FancyBox and like it, buy the author a beer!"
|
75 |
-
msgstr "Jeśli używasz FancyBox i podoba ci się, postaw autorowi piwo!"
|
76 |
-
|
77 |
-
#: ../admin.php:113
|
78 |
-
msgid "The author of this WordPress Plugin also likes beer :P"
|
79 |
-
msgstr "Autor tej wtyczki do Wordpressa także lubi piwo :P"
|
80 |
-
|
81 |
-
#: ../admin.php:123
|
82 |
-
msgid "Follow me on Twitter for more WordPress Plugins and Themes"
|
83 |
-
msgstr "Śledź mnie na Twitterze dla innych wtyczek i motywów Wordpress"
|
84 |
-
|
85 |
-
#: ../fancybox.php:439
|
86 |
-
msgid "Settings"
|
87 |
-
msgstr "Ustawienia"
|
88 |
-
|
89 |
-
#: ../lib/admin-tab-animations.php:1
|
90 |
-
msgid "Animation Settings <span style=\"color:green\">(basic)</span>"
|
91 |
-
msgstr "Ustawienia animacji<span style=\"color:green\">(podstawowe)</span>"
|
92 |
-
|
93 |
-
#: ../lib/admin-tab-animations.php:3
|
94 |
-
msgid ""
|
95 |
-
"These settings control the animations when opening and closing Fancybox, and "
|
96 |
-
"the optional easing effects."
|
97 |
-
msgstr ""
|
98 |
-
"Te ustawienia kontrolują animacje podczas otwierania i zamykania Fancybox, "
|
99 |
-
"oraz opcjonalnie efekty przejścia."
|
100 |
-
|
101 |
-
#: ../lib/admin-tab-animations.php:9
|
102 |
-
msgid "Zoom Options"
|
103 |
-
msgstr "Opcje powiększenia"
|
104 |
-
|
105 |
-
#: ../lib/admin-tab-animations.php:15
|
106 |
-
msgid "Change content transparency during zoom animations (default: on)"
|
107 |
-
msgstr ""
|
108 |
-
"Zmień przezroczystość zawartości podczas animacji powiększania (domyślnie: "
|
109 |
-
"włączone)"
|
110 |
-
|
111 |
-
#: ../lib/admin-tab-animations.php:27
|
112 |
-
msgid "Speed in miliseconds of the zooming-in animation (default: 500)"
|
113 |
-
msgstr "Czas trwania w milisekundach animacji powiększania (domyślnie: 500)"
|
114 |
-
|
115 |
-
#: ../lib/admin-tab-animations.php:39
|
116 |
-
msgid "Speed in miliseconds of the zooming-out animation (default: 500)"
|
117 |
-
msgstr "Czas trwania w milisekundach animacji pomniejszania (domyślnie: 500)"
|
118 |
-
|
119 |
-
#: ../lib/admin-tab-animations.php:51
|
120 |
-
msgid ""
|
121 |
-
"Speed in miliseconds of the animation when navigating thorugh gallery items "
|
122 |
-
"(default: 500)"
|
123 |
-
msgstr ""
|
124 |
-
"Czas trwania w milisekundach animacji przejścia między elementami galerii "
|
125 |
-
"(domyślnie: 500)"
|
126 |
-
|
127 |
-
#: ../lib/admin-tab-animations.php:59
|
128 |
-
msgid "Transition Type"
|
129 |
-
msgstr "Typ przejścia"
|
130 |
-
|
131 |
-
#: ../lib/admin-tab-animations.php:73
|
132 |
-
msgid "Transition type when opening FancyBox. (default: fade)"
|
133 |
-
msgstr "Przejście podczas otwierania Fancybox (domyślnie: fade)"
|
134 |
-
|
135 |
-
#: ../lib/admin-tab-animations.php:86
|
136 |
-
msgid "Transition type when closing FancyBox. (default: fade)"
|
137 |
-
msgstr "Przejście podczas zamykania Fancybox (domyślnie: fade)"
|
138 |
-
|
139 |
-
#: ../lib/admin-tab-animations.php:94
|
140 |
-
msgid "Easing"
|
141 |
-
msgstr "Dodatkowe animacje przejścia"
|
142 |
-
|
143 |
-
#: ../lib/admin-tab-animations.php:100
|
144 |
-
msgid "Activate easing (default: off)"
|
145 |
-
msgstr "Włącz dodatkowe animacje przejścia (domyślnie: wyłączone)"
|
146 |
-
|
147 |
-
#: ../lib/admin-tab-animations.php:103
|
148 |
-
msgid "(Will load one additional javascript file, 8KB)"
|
149 |
-
msgstr "(Załaduje dodatkowy plik JavaScript, 8KB)"
|
150 |
-
|
151 |
-
#: ../lib/admin-tab-animations.php:117
|
152 |
-
msgid "Easing method when opening FancyBox. (default: easeOutBack)"
|
153 |
-
msgstr "Przejście podczas otwierania Fancybox (domyślnie: easeOutBack)"
|
154 |
-
|
155 |
-
#: ../lib/admin-tab-animations.php:120
|
156 |
-
msgid "(Requires opening transition type to be set to elastic)"
|
157 |
-
msgstr "(Wymaga ustawionego przejścia otwierania na elastic)"
|
158 |
-
|
159 |
-
#: ../lib/admin-tab-animations.php:132
|
160 |
-
msgid "Easing method when closing FancyBox. (default: easeInBack)"
|
161 |
-
msgstr "Przejście podczas zamykania Fancybox (domyślnie: easeInBack)"
|
162 |
-
|
163 |
-
#: ../lib/admin-tab-animations.php:135
|
164 |
-
msgid "(Requires closing transition type to be set to elastic)"
|
165 |
-
msgstr "(Wymaga ustawionego przejścia zamykania na elastic)"
|
166 |
-
|
167 |
-
#: ../lib/admin-tab-animations.php:147
|
168 |
-
msgid ""
|
169 |
-
"Easing method when navigating through gallery items. (default: "
|
170 |
-
"easeInOutQuart)"
|
171 |
-
msgstr ""
|
172 |
-
"Animacja przejścia między elementami galerii (domyślnie: easeInOutQuart)"
|
173 |
-
|
174 |
-
#: ../lib/admin-tab-animations.php:150
|
175 |
-
msgid ""
|
176 |
-
"(There are 30 different easing methods, the first ones are the most boring. "
|
177 |
-
"You can test them <a href=\"http://commadot.com/jquery/easing.php\" target="
|
178 |
-
"\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/"
|
179 |
-
"animationtypes.html\" target=\"_blank\">here</a>)"
|
180 |
-
msgstr ""
|
181 |
-
"(Jest 30 różnych animacji przejścia, pierwsza są najbaridzej nudne. Możesz "
|
182 |
-
"je przetestować <a href=\"http://commadot.com/jquery/easing.php\" target="
|
183 |
-
"\"_blank\">tutaj</a> albo <a href=\"http://hosted.zeh.com.br/mctween/"
|
184 |
-
"animationtypes.html\" target=\"_blank\">tutaj</a>)"
|
185 |
-
|
186 |
-
#: ../lib/admin-tab-appearance.php:1
|
187 |
-
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
188 |
-
msgstr "Ustawienia wyglądu <span style=\"color:green\">(podstawowe)</span>"
|
189 |
-
|
190 |
-
#: ../lib/admin-tab-appearance.php:3
|
191 |
-
msgid ""
|
192 |
-
"These setting control how Fancybox looks, they let you tweak color, borders "
|
193 |
-
"and position of elements, like the image title and closing buttons."
|
194 |
-
msgstr ""
|
195 |
-
"Te ustawienia kontrolują jak wygląda Fancybox, pozwalają zmieniać kolor, "
|
196 |
-
"obramowanie i położenie elementów, jak tytuł obrazu i przyciski zamykania."
|
197 |
-
|
198 |
-
#: ../lib/admin-tab-appearance.php:9
|
199 |
-
msgid "Border"
|
200 |
-
msgstr "Obramowanie"
|
201 |
-
|
202 |
-
#: ../lib/admin-tab-appearance.php:15
|
203 |
-
msgid "Show Border (default: off)"
|
204 |
-
msgstr "Pokaż obramowanie (domyślnie: wyłączone)"
|
205 |
-
|
206 |
-
#: ../lib/admin-tab-appearance.php:22
|
207 |
-
msgid "HTML color of the border (default: #BBBBBB)"
|
208 |
-
msgstr "Kolor HTML obramowania (domyślnie: #bbbbbb)"
|
209 |
-
|
210 |
-
#: ../lib/admin-tab-appearance.php:33
|
211 |
-
msgid "Close Button"
|
212 |
-
msgstr "Przycisk zamykania"
|
213 |
-
|
214 |
-
#: ../lib/admin-tab-appearance.php:39
|
215 |
-
msgid "Show Close button (default: on)"
|
216 |
-
msgstr "Pokaż przycisk zamykania (domyślnie: włączone)"
|
217 |
-
|
218 |
-
#: ../lib/admin-tab-appearance.php:44
|
219 |
-
msgid "Close button position:"
|
220 |
-
msgstr "Położenie przycisku zamykania:"
|
221 |
-
|
222 |
-
#: ../lib/admin-tab-appearance.php:47
|
223 |
-
msgid "Left"
|
224 |
-
msgstr "Po lewej"
|
225 |
-
|
226 |
-
#: ../lib/admin-tab-appearance.php:52
|
227 |
-
msgid "Right (default)"
|
228 |
-
msgstr "Po prawej (domyślnie)"
|
229 |
-
|
230 |
-
#: ../lib/admin-tab-appearance.php:57
|
231 |
-
msgid "Bottom"
|
232 |
-
msgstr "Na dole"
|
233 |
-
|
234 |
-
#: ../lib/admin-tab-appearance.php:62
|
235 |
-
msgid "Top (default)"
|
236 |
-
msgstr "U góry (domyślnie)"
|
237 |
-
|
238 |
-
#: ../lib/admin-tab-appearance.php:72
|
239 |
-
msgid "FancyBox Shape"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: ../lib/admin-tab-appearance.php:78
|
243 |
-
msgid "Padding HTML color (default: #FFFFFF)"
|
244 |
-
msgstr "Kolor HTML marginesu wewnętrznego (domyślnie: #ffffff)"
|
245 |
-
|
246 |
-
#: ../lib/admin-tab-appearance.php:82
|
247 |
-
msgid ""
|
248 |
-
"(This should be left on #FFFFFF (white) if you want to display anything "
|
249 |
-
"other than images, like inline or framed content)"
|
250 |
-
msgstr ""
|
251 |
-
"(Powinno pozostać ustawione na #ffffff (biały) jeśli chcesz wyświetlać coś "
|
252 |
-
"poza obrazami, jak zawartość inline albo z ramki)"
|
253 |
-
|
254 |
-
#: ../lib/admin-tab-appearance.php:86
|
255 |
-
msgid "Padding size in pixels (default: 15)"
|
256 |
-
msgstr "Rozmiar marginesu wewnętrznego (domyślnie: 10)"
|
257 |
-
|
258 |
-
#: ../lib/admin-tab-appearance.php:91
|
259 |
-
msgid "Rounded Corners radius (default: 5)"
|
260 |
-
msgstr "Promień zaokrąglonych naróżników (domyślnie: 5)"
|
261 |
-
|
262 |
-
#: ../lib/admin-tab-appearance.php:96
|
263 |
-
msgid "Rounded Corners inner radius (default: 0)"
|
264 |
-
msgstr ""
|
265 |
-
|
266 |
-
#: ../lib/admin-tab-appearance.php:104
|
267 |
-
msgid "Overlay Options"
|
268 |
-
msgstr "Ustawienia nakładki"
|
269 |
-
|
270 |
-
#: ../lib/admin-tab-appearance.php:110
|
271 |
-
msgid "Add overlay (default: on)"
|
272 |
-
msgstr "Dodaj nakładkę (domyślnie: włączone)"
|
273 |
-
|
274 |
-
#: ../lib/admin-tab-appearance.php:117
|
275 |
-
msgid "Overlay HTML color (default: #000000)"
|
276 |
-
msgstr "Kolor HTML nakładki (domyślnie: #000000)"
|
277 |
-
|
278 |
-
#: ../lib/admin-tab-appearance.php:131
|
279 |
-
msgid "Overlay opacity. 0 is transparent, 1 is opaque (default: 0.7)"
|
280 |
-
msgstr ""
|
281 |
-
"Przezroczystość nakładki. 0 to całkowicie przezroczyste, 1 to całkowicie "
|
282 |
-
"nieprzezroczyste (domyślnie: 0.7)"
|
283 |
-
|
284 |
-
#: ../lib/admin-tab-appearance.php:141
|
285 |
-
msgid "Shadow"
|
286 |
-
msgstr "Cień"
|
287 |
-
|
288 |
-
#: ../lib/admin-tab-appearance.php:147
|
289 |
-
msgid "Shadow size (default: 25)"
|
290 |
-
msgstr "Rozmiar cienia (domyślnie: 25)"
|
291 |
-
|
292 |
-
#: ../lib/admin-tab-appearance.php:152
|
293 |
-
msgid "Shadow distance (default: 10)"
|
294 |
-
msgstr "Odległość cienia (domyślnie: 10)"
|
295 |
-
|
296 |
-
#: ../lib/admin-tab-appearance.php:165
|
297 |
-
msgid "Shadow opacity. 0 is transparent, 1 is opaque (default: 0.5)"
|
298 |
-
msgstr ""
|
299 |
-
"Przezroczystość cienia. 0 to całkowicie przezroczyste, 1 to całkowicie "
|
300 |
-
"nieprzezroczyste (domyślnie: 0.5)"
|
301 |
-
|
302 |
-
#: ../lib/admin-tab-appearance.php:173
|
303 |
-
msgid "Title"
|
304 |
-
msgstr "Tytuł"
|
305 |
-
|
306 |
-
#: ../lib/admin-tab-appearance.php:179
|
307 |
-
msgid "Show the title (default: on)"
|
308 |
-
msgstr "Pokaż tytuł (domyślnie: włączone)"
|
309 |
-
|
310 |
-
#: ../lib/admin-tab-appearance.php:186
|
311 |
-
msgid "Inside (default)"
|
312 |
-
msgstr "Wewnątrz (domyślnie)"
|
313 |
-
|
314 |
-
#: ../lib/admin-tab-appearance.php:191
|
315 |
-
msgid "Outside"
|
316 |
-
msgstr "Na zewnątrz"
|
317 |
-
|
318 |
-
#: ../lib/admin-tab-appearance.php:196
|
319 |
-
msgid "Over"
|
320 |
-
msgstr "Nad zawartością"
|
321 |
-
|
322 |
-
#: ../lib/admin-tab-appearance.php:203
|
323 |
-
msgid "Title text color (default: #333333)"
|
324 |
-
msgstr "Kolor tekstu tytułu (domyślnie: #333333)"
|
325 |
-
|
326 |
-
#: ../lib/admin-tab-appearance.php:207
|
327 |
-
msgid "(Should contrast with the padding color set above)"
|
328 |
-
msgstr ""
|
329 |
-
"(Powinien być kontrastowy w stosunku do koloru marginesu wewnętrznego "
|
330 |
-
"ustawionego powyżej)"
|
331 |
-
|
332 |
-
#: ../lib/admin-tab-appearance.php:218
|
333 |
-
msgid "Navigation Arrows"
|
334 |
-
msgstr "Strzałki nawigacyjne"
|
335 |
-
|
336 |
-
#: ../lib/admin-tab-appearance.php:224
|
337 |
-
msgid "Show the navigation arrows (default: on)"
|
338 |
-
msgstr "Pokaż strzałki nawigacyjne (domyślnie: włączone)"
|
339 |
-
|
340 |
-
#: ../lib/admin-tab-behaviour.php:1
|
341 |
-
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
342 |
-
msgstr "Ustawienia zachowania <span style=\"color:orange\">(średnie)</span>"
|
343 |
-
|
344 |
-
#: ../lib/admin-tab-behaviour.php:3
|
345 |
-
msgid ""
|
346 |
-
"The following settings should be left alone unless you know what you are "
|
347 |
-
"doing."
|
348 |
-
msgstr ""
|
349 |
-
"Poniższe ustawienia powinny pozostać niezmienione, chyba że wiesz co robisz."
|
350 |
-
|
351 |
-
#: ../lib/admin-tab-behaviour.php:9
|
352 |
-
msgid "Auto Resize to Fit"
|
353 |
-
msgstr "Automatycznie zmień rozmiar"
|
354 |
-
|
355 |
-
#: ../lib/admin-tab-behaviour.php:15
|
356 |
-
msgid "Scale images to fit in viewport (default: on)"
|
357 |
-
msgstr ""
|
358 |
-
"Skaluje obrazy by zmieścić je w oknie przeglądarki (domyślnie: włączone)"
|
359 |
-
|
360 |
-
#: ../lib/admin-tab-behaviour.php:23
|
361 |
-
msgid "Center on Scroll"
|
362 |
-
msgstr "Wycentruj przy przewijaniu"
|
363 |
-
|
364 |
-
#: ../lib/admin-tab-behaviour.php:29
|
365 |
-
msgid ""
|
366 |
-
"Keep image in the center of the browser window when scrolling (default: on)"
|
367 |
-
msgstr ""
|
368 |
-
"Trzymaj obraz wyśrodkowany w oknie przeglądarki podczas przewijania "
|
369 |
-
"(domyślnie: włączone)"
|
370 |
-
|
371 |
-
#: ../lib/admin-tab-behaviour.php:37
|
372 |
-
msgid "Close on Content Click"
|
373 |
-
msgstr "Zamknij po kliknięciu na zawartość"
|
374 |
-
|
375 |
-
#: ../lib/admin-tab-behaviour.php:43
|
376 |
-
msgid "Close FancyBox by clicking on the image (default: off)"
|
377 |
-
msgstr "Zamknij Fancybox klikając na obraz (domyślnie: wyłączone)"
|
378 |
-
|
379 |
-
#: ../lib/admin-tab-behaviour.php:46
|
380 |
-
msgid ""
|
381 |
-
"(You may want to leave this off if you display iframed or inline content "
|
382 |
-
"that containts clickable elements - for example: play buttons for movies, "
|
383 |
-
"links to other pages)"
|
384 |
-
msgstr ""
|
385 |
-
"(Zostaw to wyłączone jeśli chcesz wyświetlać zawartość z ramek albo inline z "
|
386 |
-
"odnośnikami - na przykład: przyciski odtwarzania wideo, albo odnośniki do "
|
387 |
-
"stron)"
|
388 |
-
|
389 |
-
#: ../lib/admin-tab-behaviour.php:53
|
390 |
-
msgid "Close on Overlay Click"
|
391 |
-
msgstr "Zamknij po kliknięciu na nakładkę"
|
392 |
-
|
393 |
-
#: ../lib/admin-tab-behaviour.php:59
|
394 |
-
msgid "Close FancyBox by clicking on the overlay sorrounding it (default: on)"
|
395 |
-
msgstr ""
|
396 |
-
"Zamknij Fancybox po kliknięciu na nakładkę otaczającą go (domyślnie: "
|
397 |
-
"włączone)"
|
398 |
-
|
399 |
-
#: ../lib/admin-tab-behaviour.php:67
|
400 |
-
msgid "Close with "Esc""
|
401 |
-
msgstr "Zamknij przy naciśnięciu "Esc""
|
402 |
-
|
403 |
-
#: ../lib/admin-tab-behaviour.php:73
|
404 |
-
msgid "Close FancyBox when "Escape" key is pressed (default: on)"
|
405 |
-
msgstr ""
|
406 |
-
"Zamknij Fancybox jeśli zostanie wciśnięty klawisz "Escape" "
|
407 |
-
"(domyślnie: włączone)"
|
408 |
-
|
409 |
-
#: ../lib/admin-tab-behaviour.php:81
|
410 |
-
msgid "Cyclic Galleries"
|
411 |
-
msgstr "Zapętl galerie"
|
412 |
-
|
413 |
-
#: ../lib/admin-tab-behaviour.php:87
|
414 |
-
msgid ""
|
415 |
-
"This will make galleries cyclic, allowing you to keep pressing next/back "
|
416 |
-
"(default: on)"
|
417 |
-
msgstr ""
|
418 |
-
"To sprawi, że galerie będą zapętlone i będziesz mógł przechodzić od końca do "
|
419 |
-
"początku odnośnikami następny/poprzedni (domyślnie: wyłączone)"
|
420 |
-
|
421 |
-
#: ../lib/admin-tab-behaviour.php:95
|
422 |
-
msgid "Mouse Wheel Navigation"
|
423 |
-
msgstr "Nawigacja kółkiem myszy"
|
424 |
-
|
425 |
-
#: ../lib/admin-tab-behaviour.php:101
|
426 |
-
msgid "Lets visitors navigate galleries with the mouse wheel (default: off)"
|
427 |
-
msgstr ""
|
428 |
-
"Pozwól nawigować po galerii za pomocą kółka myszki (domyślnie: wyłączone)"
|
429 |
-
|
430 |
-
#: ../lib/admin-tab-behaviour.php:104
|
431 |
-
msgid "(Will load one additional javascript file, 3KB)"
|
432 |
-
msgstr "(Załaduje dodatkowy plik JavaScript, 3KB)"
|
433 |
-
|
434 |
-
#: ../lib/admin-tab-calls.php:1
|
435 |
-
msgid "Extra FancyBox Calls <span style=\"color:red\">(advanced)</span>"
|
436 |
-
msgstr ""
|
437 |
-
"Dodatkowe odwołania Fancybox <span style=\"color:red\">(zaawansowane)</span>"
|
438 |
-
|
439 |
-
#: ../lib/admin-tab-calls.php:3
|
440 |
-
msgid ""
|
441 |
-
"Here you can add as many additional calls to fancybox as you want, with "
|
442 |
-
"different settings. For example, if you want to use fancybox with iframes or "
|
443 |
-
"ajax on any specific link, you can configure those calls here without "
|
444 |
-
"affecting the settings for images."
|
445 |
-
msgstr ""
|
446 |
-
"Tutaj możesz dodać tyle dodakowych odwołać ile chcesz, z różnymi "
|
447 |
-
"ustawieniami. Na przykład, jeśli chcesz użyć Fancybox z ramkami albo "
|
448 |
-
"zawartością z AJAX na dowolnym odnośniku, możesz skonfigurować te odwołania "
|
449 |
-
"tutaj bez wpływu na ustawienia dla obrazów."
|
450 |
-
|
451 |
-
#: ../lib/admin-tab-calls.php:5
|
452 |
-
msgid ""
|
453 |
-
"For information on the options available you can use here see <a href="
|
454 |
-
"\"http://fancybox.net/api\">FancyBox's API & Options page</a>."
|
455 |
-
msgstr ""
|
456 |
-
"By uzyskać więcej informacji o dostępnych opcjach zobacz stronę <a href="
|
457 |
-
"\"http://fancybox.net/api\">Opcje i API Fancybox</a>."
|
458 |
-
|
459 |
-
#: ../lib/admin-tab-calls.php:11
|
460 |
-
msgid "Additional FancyBox Calls"
|
461 |
-
msgstr "Dodatkowe odwołania"
|
462 |
-
|
463 |
-
#: ../lib/admin-tab-calls.php:17
|
464 |
-
msgid "Additional FancyBox Calls (default: off)"
|
465 |
-
msgstr "Dodatkowe odwołania (domyślnie: wyłączone)"
|
466 |
-
|
467 |
-
#: ../lib/admin-tab-calls.php:26 ../lib/admin-tab-other.php:89
|
468 |
-
msgid "Example:"
|
469 |
-
msgstr "Przykład:"
|
470 |
-
|
471 |
-
#: ../lib/admin-tab-galleries.php:1
|
472 |
-
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
473 |
-
msgstr "Ustawienia galerii <span style=\"color:red\">(zaawansowane)</span>"
|
474 |
-
|
475 |
-
#: ../lib/admin-tab-galleries.php:3
|
476 |
-
msgid ""
|
477 |
-
"Here you can choose if you want the plugin to group all images into a "
|
478 |
-
"gallery, or make a gallery for each post. You can also define you own jQuery "
|
479 |
-
"expression if you like."
|
480 |
-
msgstr ""
|
481 |
-
"Tutaj możesz wybrać czy chcesz by wtyczka grupowałą wszystkie obrazy w "
|
482 |
-
"galerię, czy tylko obrazy danego posta. Możesz też zdefiniować własne "
|
483 |
-
"wyrażenie jQuery."
|
484 |
-
|
485 |
-
#: ../lib/admin-tab-galleries.php:9
|
486 |
-
msgid "Gallery Type"
|
487 |
-
msgstr "Typ galerii"
|
488 |
-
|
489 |
-
#: ../lib/admin-tab-galleries.php:15
|
490 |
-
msgid "Make a gallery for all images on the page (default)"
|
491 |
-
msgstr "Utwórz galerię dla wszystkich obrazów na stronie (domyślnie)"
|
492 |
-
|
493 |
-
#: ../lib/admin-tab-galleries.php:20
|
494 |
-
msgid ""
|
495 |
-
"Do not group images in gallery automatically (use this if you want to make "
|
496 |
-
"galleries manually with the <code>REL</code> attribute)"
|
497 |
-
msgstr ""
|
498 |
-
"Nie grupuj obrazów w galerię automatycznie (użyj tego jeśli chcesz grupować "
|
499 |
-
"galerię ręcznie za pomocą atrybutu <code>REL</code>)"
|
500 |
-
|
501 |
-
#: ../lib/admin-tab-galleries.php:25
|
502 |
-
msgid ""
|
503 |
-
"Make a gallery for each post (will only work if your theme uses <code>class="
|
504 |
-
"\"post\"</code> on each post, which is common in WordPress"
|
505 |
-
msgstr ""
|
506 |
-
"Utwórz galerię dla każdego posta (zadziała jeśli motyw którego używasz "
|
507 |
-
"korzysta z <code>class=\"post\"</code> na każdym poście, co jest zwyczajowe "
|
508 |
-
"w Wordpress)"
|
509 |
-
|
510 |
-
#: ../lib/admin-tab-galleries.php:30
|
511 |
-
msgid "Use a custom expression to apply FancyBox"
|
512 |
-
msgstr "Użyj własnego wyrażenia by włączyć Fancybox"
|
513 |
-
|
514 |
-
#: ../lib/admin-tab-galleries.php:39
|
515 |
-
msgid "Custom expression guidelines:"
|
516 |
-
msgstr "Wytyczne do własnego wyrażenia:"
|
517 |
-
|
518 |
-
#: ../lib/admin-tab-galleries.php:41
|
519 |
-
msgid ""
|
520 |
-
"· The custom expression has to apply <code>class=\"fancybox\"</code> "
|
521 |
-
"to the links where you want to use FancyBox. Do not call the <code>fancybox()"
|
522 |
-
"</code> function here, the plugin does this for you."
|
523 |
-
msgstr ""
|
524 |
-
"· Własne wyrażene musi stosować <code>class=\"fancybox\"</code> do "
|
525 |
-
"odnośników z którymi chcesz użyć Fancybox. Nie odwołuj się do funkcji "
|
526 |
-
"<code>fancybox()</code> tutaj, wtyczka robi to za ciebie."
|
527 |
-
|
528 |
-
#: ../lib/admin-tab-galleries.php:43
|
529 |
-
msgid ""
|
530 |
-
"· The jQuery <code>addClass()</code> function is a good way to add "
|
531 |
-
"the class to the desired links conserving any existing class."
|
532 |
-
msgstr ""
|
533 |
-
"· Funkcja <code>addClass()</code> jQuery jest dobrym rozwiązaniem by "
|
534 |
-
"dodać klasę do odnośników, zachowując już istniejące klasy."
|
535 |
-
|
536 |
-
#: ../lib/admin-tab-galleries.php:45
|
537 |
-
msgid ""
|
538 |
-
"· You can use <code>getTitle()</code> in your expression to copy the "
|
539 |
-
"title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so "
|
540 |
-
"that FancyBox can show captions."
|
541 |
-
msgstr ""
|
542 |
-
"· Możesz użyć <code>getTitle()</code> w swoim wyrażeniu by skopiować "
|
543 |
-
"atrybut tytułu ze znacznika <code>IMG</code> do znacznika <code>A</code>, by "
|
544 |
-
"Fancybox mógł pokazywać podpisy."
|
545 |
-
|
546 |
-
#: ../lib/admin-tab-galleries.php:47
|
547 |
-
msgid ""
|
548 |
-
"· You can use <code>jQuery(thumbnails)</code> like in the example "
|
549 |
-
"expression to apply FancyBox to thumbnails that link to these extensions: "
|
550 |
-
"BMP, GIF, JPG, JPEG, PNG (both lowercase and uppercase)."
|
551 |
-
msgstr ""
|
552 |
-
"· Możesz użyć <code>jQuery(thumbnails)</code> jak w przykładowym "
|
553 |
-
"wyrażeniu by włączyć Fancybox dla miniatur z tymi rozszerzeniami: BMP, GIF, "
|
554 |
-
"JPG, JPEG, PNG (zarówno małymi jak i wielkimi literami)."
|
555 |
-
|
556 |
-
#: ../lib/admin-tab-galleries.php:49
|
557 |
-
msgid ""
|
558 |
-
"· If you want to do it manually you can use something like "
|
559 |
-
"<code>jQuery(\"a:has(img)[href$='.jpg']\")</code> or whatever works for you."
|
560 |
-
msgstr ""
|
561 |
-
"· Jeśli chcesz zrobić to ręcznie możesz użyć na przykład <code>jQuery"
|
562 |
-
"(\"a:has(img)[href$='.jpg']\")</code> czy cokolwiek co jest ci potrzebne."
|
563 |
-
|
564 |
-
#: ../lib/admin-tab-galleries.php:51
|
565 |
-
msgid ""
|
566 |
-
"See the <a href=\"http://docs.jquery.com/\" target=\"_blank\">jQuery "
|
567 |
-
"Documentation</a> for more help."
|
568 |
-
msgstr ""
|
569 |
-
"Sprawdź <a href=\"http://docs.jquery.com/\" target=\"_blank\">dokumentację "
|
570 |
-
"jQuery</a> by uzyskać więcej informacji."
|
571 |
-
|
572 |
-
#: ../lib/admin-tab-galleries.php:53
|
573 |
-
msgid "Examples:"
|
574 |
-
msgstr "Przykłady:"
|
575 |
-
|
576 |
-
#: ../lib/admin-tab-info.php:1
|
577 |
-
msgid "Information"
|
578 |
-
msgstr "Informacje"
|
579 |
-
|
580 |
-
#: ../lib/admin-tab-info.php:3
|
581 |
-
msgid ""
|
582 |
-
"<a target=\"_blank\" href=\"http://fancybox.net\">FancyBox</a> developed by "
|
583 |
-
"<a target=\"_blank\" href=\"http://fancybox.net\">Janis Skarnelis</a>, "
|
584 |
-
"ported to WordPress by <a target=\"_blank\" href=\"http://josepardilla.com/"
|
585 |
-
"\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href="
|
586 |
-
"\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
587 |
-
msgstr ""
|
588 |
-
"<a href=\"http://fancybox.net\">FancyBox</a> rozwijany przez <a href="
|
589 |
-
"\"http://fancybox.net\">Janis Skarnelis</a>, zaadopotowany do Wordpress "
|
590 |
-
"przez <a href=\"http://http://josepardilla.com/\">José Pardilla</a>. "
|
591 |
-
"Licencjowany na zasadach <a target=\"_blank\" href=\"http://en.wikipedia.org/"
|
592 |
-
"wiki/MIT_License\">licencji MIT</a>."
|
593 |
-
|
594 |
-
#: ../lib/admin-tab-info.php:5
|
595 |
-
msgid ""
|
596 |
-
"As you can see, this plugin has many options you can edit, but have no fear, "
|
597 |
-
"you can leave everything as it is if you don't want to get your hands dirty, "
|
598 |
-
"since the default options should be a good start... :)"
|
599 |
-
msgstr ""
|
600 |
-
"Jak widzisz, ta wtyczka ma wiele opcji które możesz zmienić, ale nie bój "
|
601 |
-
"się, możesz też zostawić wszystko tak jak jest jeśli nie chcesz pobrudzić "
|
602 |
-
"sobie rąk, ponieważ domyślne opcje powinny wystarczyć na początek .. :)"
|
603 |
-
|
604 |
-
#: ../lib/admin-tab-info.php:7
|
605 |
-
msgid ""
|
606 |
-
"If you are an advanced user you can <a target=\"_blank\" href=\"https://"
|
607 |
-
"github.com/moskis/fancybox-for-wordpress\">follow the plugin in Github</a>, "
|
608 |
-
"fork it or help submitting fixes!"
|
609 |
-
msgstr ""
|
610 |
-
"Jeśli jesteś zaawansowanym użytkownikiem możesz <a target=\"_blank\" href="
|
611 |
-
"\"https://github.com/moskis/fancybox-for-wordpress\">śledzić tą wtyczkę na "
|
612 |
-
"Github</a>, rozpocząć swoją gałąź albo przesłać poprawki!"
|
613 |
-
|
614 |
-
#: ../lib/admin-tab-info.php:9
|
615 |
-
msgid ""
|
616 |
-
"<strong>Note:</strong> Having a cache plugin may prevent changes from taking "
|
617 |
-
"effect immidiately, if this happens clear cache after saving changes here or "
|
618 |
-
"deactivate cache until you finish editing these options."
|
619 |
-
msgstr ""
|
620 |
-
"<strong>Notatka:</strong> Uzywanie wtyczki do pamięci podręcznej może "
|
621 |
-
"sprawić, że zmiany nie będą odnosiły skutku natychmiast, jeśli tak się "
|
622 |
-
"stanie wyczyść pamięć podręczną po zapisaniu ustawień albo wyłącz pamięć "
|
623 |
-
"podręczną na czas zmieniania ustawień."
|
624 |
-
|
625 |
-
#: ../lib/admin-tab-other.php:1
|
626 |
-
msgid "Other Settings <span style=\"color:red\">(advanced)</span>"
|
627 |
-
msgstr "Inne ustawienia <span style=\"color:red\">(zaawansowane)</span>"
|
628 |
-
|
629 |
-
#: ../lib/admin-tab-other.php:3
|
630 |
-
msgid "These are additional settings for advanced users."
|
631 |
-
msgstr "To są dodatkowe ustawienia dla zaawansowanych użytkowników."
|
632 |
-
|
633 |
-
#: ../lib/admin-tab-other.php:9
|
634 |
-
msgid "Dimensions"
|
635 |
-
msgstr "Wymiary"
|
636 |
-
|
637 |
-
#: ../lib/admin-tab-other.php:15
|
638 |
-
msgid "Auto detect dimensions (default: on)"
|
639 |
-
msgstr "Automatycznie wykryj wymiary (domyślnie: włączone)"
|
640 |
-
|
641 |
-
#: ../lib/admin-tab-other.php:18
|
642 |
-
msgid ""
|
643 |
-
"Only works with <strong>Ajax</strong> and <strong>Inline</strong> content! "
|
644 |
-
"Flash dimensions won't be autodetected so specify them below if necessary. "
|
645 |
-
"If you want to insert several pieces of flash content with different "
|
646 |
-
"dimensions you will have to use the <strong>Additional FancyBox Calls</"
|
647 |
-
"strong> option."
|
648 |
-
msgstr ""
|
649 |
-
"Działa tylko z <strong>AJAX</strong> i zawartością <strong>inline</strong>! "
|
650 |
-
"Wymiary Flasha nie zostaną wykryte automatycznie więc ustaw je poniżej jeśli "
|
651 |
-
"trzeba. Jeśli wstawisz kilka zawartości Flash z różnymi wymiarami będziesz "
|
652 |
-
"musiał użyć opcji <strong>dodatkowych odwołań</strong>."
|
653 |
-
|
654 |
-
#: ../lib/admin-tab-other.php:22
|
655 |
-
msgid ""
|
656 |
-
"Width for iframe and swf content. Also set for inline content if "
|
657 |
-
"<em>autoDimensions</em> is disabled (default: 560)"
|
658 |
-
msgstr ""
|
659 |
-
"Szerokość dla ramki i zawartości Flash. Ustaw także dla zawartości inline "
|
660 |
-
"jeśli <em>autoDimensions</em> jest wyłączone (domyślnie: 560)"
|
661 |
-
|
662 |
-
#: ../lib/admin-tab-other.php:27
|
663 |
-
msgid ""
|
664 |
-
"Height for iframe and swf content. Also set for inline content if "
|
665 |
-
"<em>autoDimensions</em> is disabled (default: 340)"
|
666 |
-
msgstr ""
|
667 |
-
"Wysokość dla ramki i zawartości Flash. Ustaw także dla zawartości inline "
|
668 |
-
"jeśli <em>autoDimensions</em> jest wyłączone (domyślnie: 340)"
|
669 |
-
|
670 |
-
#: ../lib/admin-tab-other.php:35
|
671 |
-
msgid "Load JavaScript in Footer"
|
672 |
-
msgstr "Załaduj JavaScript w stopce"
|
673 |
-
|
674 |
-
#: ../lib/admin-tab-other.php:41
|
675 |
-
msgid "Loads JavaScript at the end of the blog's HTML (default: off)"
|
676 |
-
msgstr ""
|
677 |
-
"Załaduj JavaScript na końcu zawartości HTML (eksperymentalne, domyślnie: "
|
678 |
-
"wyłączone)"
|
679 |
-
|
680 |
-
#: ../lib/admin-tab-other.php:44
|
681 |
-
msgid ""
|
682 |
-
"This option won't be recognized if you use <strong>Parallel Load</strong> "
|
683 |
-
"plugin. In that case, you can do this from Parallel Load's options."
|
684 |
-
msgstr ""
|
685 |
-
"Ta opcja nie zostanie rozpoznana jeśli użyjesz wtyczki <strong>Parallel "
|
686 |
-
"Load</strong>. W takim wypadku możesz to zrobić z poziomu opcji wtyczki "
|
687 |
-
"Parallel Load."
|
688 |
-
|
689 |
-
#: ../lib/admin-tab-other.php:51
|
690 |
-
msgid "Callbacks"
|
691 |
-
msgstr "Odwołania"
|
692 |
-
|
693 |
-
#: ../lib/admin-tab-other.php:57
|
694 |
-
msgid "Enable callbacks (default: off)"
|
695 |
-
msgstr "Włącz odwołania (domyślnie: włączone)"
|
696 |
-
|
697 |
-
#: ../lib/admin-tab-other.php:60
|
698 |
-
msgid "Enabling this will show additional settings."
|
699 |
-
msgstr "Włączenie tej opcji pokaże dodatkowe ustawienia."
|
700 |
-
|
701 |
-
#: ../lib/admin-tab-other.php:65
|
702 |
-
msgid ""
|
703 |
-
"Callback on <strong>Start</strong> event: Will be called right before "
|
704 |
-
"attempting to load the content"
|
705 |
-
msgstr ""
|
706 |
-
"Odwołanie podczas zdarzenia <strong>Start</strong>: zostanie wywołane zaraz "
|
707 |
-
"przed załadowaniem zawartości"
|
708 |
-
|
709 |
-
#: ../lib/admin-tab-other.php:70
|
710 |
-
msgid ""
|
711 |
-
"Callback on <strong>Cancel</strong> event: Will be called after loading is "
|
712 |
-
"canceled"
|
713 |
-
msgstr ""
|
714 |
-
"Odwołanie podczas zdarzenia <strong>Cancel</strong>: zostanie wywołane "
|
715 |
-
"jeśli ładowanie zostanie anulowane"
|
716 |
-
|
717 |
-
#: ../lib/admin-tab-other.php:75
|
718 |
-
msgid ""
|
719 |
-
"Callback on <strong>Complete</strong> event: Will be called once the content "
|
720 |
-
"is displayed"
|
721 |
-
msgstr ""
|
722 |
-
"Odwołanie podczas zdarzenia <strong>Complete</strong>: zostanie wywołane "
|
723 |
-
"jak tylko zawartość zostanie wyświetlona"
|
724 |
-
|
725 |
-
#: ../lib/admin-tab-other.php:80
|
726 |
-
msgid ""
|
727 |
-
"Callback on <strong>CleanUp</strong> event: Will be called just before "
|
728 |
-
"closing"
|
729 |
-
msgstr ""
|
730 |
-
"Odwołanie podczas zdarzenia <strong>CleanUp</strong>: zostanie wywołane "
|
731 |
-
"zaraz przed zamknięciem"
|
732 |
-
|
733 |
-
#: ../lib/admin-tab-other.php:85
|
734 |
-
msgid ""
|
735 |
-
"Callback on <strong>Closed</strong> event: Will be called once FancyBox is "
|
736 |
-
"closed"
|
737 |
-
msgstr ""
|
738 |
-
"Odwołanie podczas zdarzenia <strong>Cerrado</strong>: zostanie wywołane po "
|
739 |
-
"zamknięciu"
|
740 |
-
|
741 |
-
#: ../lib/admin-tab-other.php:91
|
742 |
-
msgid "Leave empty any speciic callbacks you don't need to use."
|
743 |
-
msgstr "Zostaw puste jeśli nie korzystasz z poszczególnych odwołań"
|
744 |
-
|
745 |
-
#: ../lib/admin-tab-support.php:3
|
746 |
-
msgid "Help with Fancybox"
|
747 |
-
msgstr "Pomoc z Fancybox"
|
748 |
-
|
749 |
-
#: ../lib/admin-tab-support.php:5
|
750 |
-
msgid ""
|
751 |
-
"If you have problems or questions about FancyBox itself (and not this "
|
752 |
-
"WordPress plugin), please start with these links: <a target=\"_blank\" href="
|
753 |
-
"\"http://fancybox.net/howto\">How-To</a> & <a target=\"_blank\" href="
|
754 |
-
"\"http://fancybox.net/faq\">FAQ</a>.<br />If that does not help, go to <a "
|
755 |
-
"href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</"
|
756 |
-
"a>, use the <strong>Search</strong> option, and if necesary, post your "
|
757 |
-
"question."
|
758 |
-
msgstr ""
|
759 |
-
"Jeśli masz problemy albo pytania o Fancybox (nie o wtyczce do Wordpress), "
|
760 |
-
"zacznij proszę od tych odnośników <a href=\"http://fancybox.net/howto\">How-"
|
761 |
-
"To</a> i <a href=\"http://fancybox.net/faq\">FAQ</a>.<br />Jeśli to nie "
|
762 |
-
"pomoże przejrzyj<a href=\"http://groups.google.com/group/fancybox\">Grupę "
|
763 |
-
"Google FancyBox</a>, użyj opcji <strong>wyszukiwania</strong>, jeśli trzeba "
|
764 |
-
"lub zamieść pytanie."
|
765 |
-
|
766 |
-
#: ../lib/admin-tab-support.php:8
|
767 |
-
msgid "Help with Fancybox for WordPress plugin"
|
768 |
-
msgstr "Pomoc z wtyczką Fancybox dla Wordpress"
|
769 |
-
|
770 |
-
#: ../lib/admin-tab-support.php:10
|
771 |
-
msgid ""
|
772 |
-
"If you are having trouble with this plugin take a look at this <a target="
|
773 |
-
"\"_blank\" href=\"http://plugins.josepardilla.com/fancybox-for-wordpress/faq"
|
774 |
-
"\">FAQ</a> where i will try to cover the most common problems and their "
|
775 |
-
"solutions."
|
776 |
-
msgstr ""
|
777 |
-
"Jeśli masz problemy z tą wtyczką zajrzyj tutaj <a target=\"_blank\" href="
|
778 |
-
"\"http://plugins.josepardilla.com/fancybox-for-wordpress/faq\">FAQ</a> gdzie "
|
779 |
-
"staram się opisać najczęstsze problemy i ich rozwiązania."
|
780 |
-
|
781 |
-
#: ../lib/admin-tab-support.php:11
|
782 |
-
msgid ""
|
783 |
-
"Try to localize the problem (switch your theme and deactivate plugins until "
|
784 |
-
"you find the source of the problem). You can also try the Troubleshooting "
|
785 |
-
"settings of this plugin if necesary."
|
786 |
-
msgstr ""
|
787 |
-
"Staraj się zlokalizować problem (zmień motyw, wyłącz wtyczki). Możesz też "
|
788 |
-
"sprawdzić ustawienia Rozwiązywania problemów jeśli trzeba."
|
789 |
-
|
790 |
-
#: ../lib/admin-tab-support.php:12
|
791 |
-
msgid ""
|
792 |
-
"Try reverting the plugin's settings to their defaults with the button below."
|
793 |
-
msgstr ""
|
794 |
-
"Spróbuj przywrócić ustawienia wtyczki do domyślnych przyciskiem poniżej."
|
795 |
-
|
796 |
-
#: ../lib/admin-tab-support.php:13
|
797 |
-
msgid ""
|
798 |
-
"If you still can not get the plugin to work, <a target=\"_blank\" href="
|
799 |
-
"\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
800 |
-
"\">write a post in the WordPress Support forums</a> explaining the problem "
|
801 |
-
"or take a look and the <a target=\"_blank\" href=\"http://wordpress.org/"
|
802 |
-
"support/plugin/fancybox-for-wordpress\">already posted messages</a>."
|
803 |
-
msgstr ""
|
804 |
-
"Jeśli nadal nie możesz zmusić wtyczki do współpracy, <a target=\"_blank\" "
|
805 |
-
"href=\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
806 |
-
"\">napisz posta na forum Wsparcia Wordpress</a> opisując problem, lub "
|
807 |
-
"przejrzyj <a target=\"_blank\" href=\"\"http://wordpress.org/support/plugin/"
|
808 |
-
"fancybox-for-wordpress\">już zamieszczone wiadomości</a>."
|
809 |
-
|
810 |
-
#: ../lib/admin-tab-support.php:16
|
811 |
-
msgid "IMPORTANT:"
|
812 |
-
msgstr "WAŻNE:"
|
813 |
-
|
814 |
-
#: ../lib/admin-tab-support.php:16
|
815 |
-
msgid ""
|
816 |
-
"When posting your problem please provide a link to your blog and the page "
|
817 |
-
"where the error is found, and all relevant information you can, especially "
|
818 |
-
"your theme, plugins, etc."
|
819 |
-
msgstr ""
|
820 |
-
"Zamieszczając swój problem proszę dołączyć odnośnik do swojegu blogu i "
|
821 |
-
"strony na której występuje błąd, oraz wszystkie powiązane informacje, jak "
|
822 |
-
"motyw, wtyczki, itp."
|
823 |
-
|
824 |
-
#: ../lib/admin-tab-troubleshooting.php:1
|
825 |
-
msgid "Troubleshooting Settings"
|
826 |
-
msgstr "Ustawienia rozwiązywania problemów"
|
827 |
-
|
828 |
-
#: ../lib/admin-tab-troubleshooting.php:3
|
829 |
-
msgid ""
|
830 |
-
"Settings in this section should only be changed if you are having problems "
|
831 |
-
"with the plugin!"
|
832 |
-
msgstr ""
|
833 |
-
"Ustawienia w tej sekcji powinny być zmienianie tylko jeśli masz problemy z "
|
834 |
-
"wtyczką!"
|
835 |
-
|
836 |
-
#: ../lib/admin-tab-troubleshooting.php:5
|
837 |
-
msgid ""
|
838 |
-
"If the plugin doesn't seem to work, first you should check for other plugins "
|
839 |
-
"that may be conflicting with this one, especially other Lightbox, Slimbox, "
|
840 |
-
"etc. Make sure all your plugins and WordPress itself are up to date."
|
841 |
-
msgstr ""
|
842 |
-
"Jeśli wtyczka nie działa, po pierwsze sprawdź czy inny wtyczki nie "
|
843 |
-
"konfliktują z tą, zwłaszcza Lightbox, Slimbox, itp. Upewnij się, że "
|
844 |
-
"wszystkie wtyczki oraz sam Wordpress są w aktulanej wersji (ta wtyczka była "
|
845 |
-
"testowana tylko z Wordpress 2.7 i nowszych)."
|
846 |
-
|
847 |
-
#: ../lib/admin-tab-troubleshooting.php:7
|
848 |
-
msgid ""
|
849 |
-
"Change them one at a time and test to see if they help. Remember that having "
|
850 |
-
"a cache plugin may prevent changes from taking effect immidiately, so clear "
|
851 |
-
"cache after saving changes here or deactivate cache until you finish editing "
|
852 |
-
"these options."
|
853 |
-
msgstr ""
|
854 |
-
"Zmieniaj je pojedynczo i sprawdzaj za każdym razem czy pomogły. Pamiętaj, że "
|
855 |
-
"jeśli masz włączoną wtyczkę pamięci podręcznej ustawienia mogę nie odnieść "
|
856 |
-
"efekty natychmiast, więc wyczyść pamięć podręczną po zapisaniu ustawień albo "
|
857 |
-
"wyłącz pamięć podręczną na czas zmieniania ustawień."
|
858 |
-
|
859 |
-
#: ../lib/admin-tab-troubleshooting.php:13
|
860 |
-
msgid "Do not call jQuery"
|
861 |
-
msgstr "Nie ładuj jQuery"
|
862 |
-
|
863 |
-
#: ../lib/admin-tab-troubleshooting.php:19
|
864 |
-
msgid ""
|
865 |
-
"Skip jQuery call. Use this only if jQuery is being loaded twice (default: "
|
866 |
-
"off)"
|
867 |
-
msgstr ""
|
868 |
-
"Pomiń odwołanie do jQuery. Użyj tego tylko jeśli jQuery jest ładowane "
|
869 |
-
"dwukrotnie (domyślnie: wyłączone)"
|
870 |
-
|
871 |
-
#: ../lib/admin-tab-uninstall.php:3
|
872 |
-
msgid ""
|
873 |
-
"Like many other plugins, FancyBox for WordPress stores its settings on your "
|
874 |
-
"WordPress' options database table. Actually, these settings are not using "
|
875 |
-
"more than a couple of kilobytes of space, but if you want to completely "
|
876 |
-
"uninstall this plugin, check the option below, then save changes, and "
|
877 |
-
"<strong>when you deactivate the plugin</strong>, all its settings will be "
|
878 |
-
"removed from the database."
|
879 |
-
msgstr ""
|
880 |
-
"Jak wiele innych wtyczek, Fancybox dla Wordpress trzyma swoje ustawienia w "
|
881 |
-
"tabeli ustawień Wordpress. W zasadzie te ustawienia nie zajmują więcej niż "
|
882 |
-
"kilka kilobajtów, ale jeśli chcesz kompletnie odinstalować wtyczkę, zaznacz "
|
883 |
-
"opcję poniżej, a potem zapisz opcje. <strong>Kiedy wyłączysz wtyczkę</"
|
884 |
-
"strong>wszystkie ustawienia zostaną usunięte z bazy danych."
|
885 |
-
|
886 |
-
#: ../lib/admin-tab-uninstall.php:9
|
887 |
-
msgid "Remove settings"
|
888 |
-
msgstr "Usuń ustawienia"
|
889 |
-
|
890 |
-
#: ../lib/admin-tab-uninstall.php:15
|
891 |
-
msgid ""
|
892 |
-
"Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. "
|
893 |
-
"(default: off)"
|
894 |
-
msgstr ""
|
895 |
-
"Usuń ustawienia kiedy wtyczka zostanie wyłączona z panelu \"Zarządzania "
|
896 |
-
"wtyczkami\". (domyślnie: wyłączone)"
|
897 |
-
|
898 |
-
#~ msgid "Fancybox for WordPress Options"
|
899 |
-
#~ msgstr "Opcje wtyczki Fancybox dla Wordpress"
|
900 |
-
|
901 |
-
#~ msgid "Fancybox for WP"
|
902 |
-
#~ msgstr "Fancybox dla WP"
|
903 |
-
|
904 |
-
#~ msgid "FancyBox for WordPress settings have been reset"
|
905 |
-
#~ msgstr "Ustawienia wtyczki Fancybox dla Wordpress zostały zresetowane"
|
906 |
-
|
907 |
-
#~ msgid "Padding"
|
908 |
-
#~ msgstr "Margines wewnętrzny"
|
909 |
-
|
910 |
-
#~ msgid "HTML color of the overlay (default: #666666)"
|
911 |
-
#~ msgstr "Kolor HTML nakładki (domyślnie: #666666)"
|
912 |
-
|
913 |
-
#~ msgid ""
|
914 |
-
#~ "<strong>Note:</strong> If update to version 3.0.0 breaks fancybox on your "
|
915 |
-
#~ "blog you will probably have to reset your settings (with the white button "
|
916 |
-
#~ "below). I have tested this issue on several WordPress installations and "
|
917 |
-
#~ "it always worked, so it might depend on the server. Sorry for the "
|
918 |
-
#~ "inconvinience."
|
919 |
-
#~ msgstr ""
|
920 |
-
#~ "<strong>Notatka:</strong> Jeśli aktualizacja do wersji 3.0.0 psuje "
|
921 |
-
#~ "Fancybox na twoim blogu będziesz musiał prawdopodobnie zresetować "
|
922 |
-
#~ "ustawienia (białym przyciskiem poniżej). Testowałem ten problem na kilku "
|
923 |
-
#~ "instalacjach Wordpress i zawsze działało, więc może to zależeć od "
|
924 |
-
#~ "serwera. Przepraszam ze niedogodności."
|
925 |
-
|
926 |
-
#~ msgid "Callback on Start event (default: empty)"
|
927 |
-
#~ msgstr "Retrollamada en el evento de Inicio (por defecto: vacío)"
|
928 |
-
|
929 |
-
#~ msgid "Callback on Show event (default: empty)"
|
930 |
-
#~ msgstr "Retrollamada en el evento de Mostrado (por defecto: vacío)"
|
931 |
-
|
932 |
-
#~ msgid "Callback on Close event (default: empty)"
|
933 |
-
#~ msgstr "Retrollamada en el evento de Cerrado (por defecto: vacío)"
|
934 |
-
|
935 |
-
#~ msgid "Leave the fields empty to disable."
|
936 |
-
#~ msgstr "Deja estos campos vacíos para desactivar cualqueir retrollamada."
|
937 |
-
|
938 |
-
#~ msgid "Frame Size"
|
939 |
-
#~ msgstr "Tamaño del recuadro"
|
940 |
-
|
941 |
-
#~ msgid ""
|
942 |
-
#~ "Width in pixels of FancyBox when showing iframe content (default: 560)"
|
943 |
-
#~ msgstr ""
|
944 |
-
#~ "Ancho en píxeles de FancyBox cuado se muestre contenido anidado (por "
|
945 |
-
#~ "defecto: 560)"
|
946 |
-
|
947 |
-
#~ msgid ""
|
948 |
-
#~ "Height in pixels of FancyBox when showing iframe content (default: 340)"
|
949 |
-
#~ msgstr ""
|
950 |
-
#~ "Alto en píxeles de FancyBox cuado se muestre contenido anidado (por "
|
951 |
-
#~ "defecto: 340)"
|
952 |
-
|
953 |
-
#~ msgid "jQuery \"noConflict\" Mode"
|
954 |
-
#~ msgstr "Modo jQuery \"noConflict\""
|
955 |
-
|
956 |
-
#~ msgid "Use jQuery noConflict mode (default: on)"
|
957 |
-
#~ msgstr "Usar parámetro noConflict de jQuery (por defecto: activado)"
|
958 |
-
|
959 |
-
#~ msgid ""
|
960 |
-
#~ "(Turning this off may cause problems if there are plugins activated that "
|
961 |
-
#~ "use other js framework like mootools, prototype, scriptaculous, etc.)"
|
962 |
-
#~ msgstr ""
|
963 |
-
#~ "(Desactivar esta opción puede causar problemas si hay plugins activadoes "
|
964 |
-
#~ "que usen otros frameworks javascript como Mootols, Prototype, "
|
965 |
-
#~ "Scriptaculous, etc.)"
|
966 |
-
|
967 |
-
#~ msgid "Presentation"
|
968 |
-
#~ msgstr "Presentación"
|
969 |
-
|
970 |
-
#~ msgid ""
|
971 |
-
#~ "These are the main settings, which let you tweak color, borders and "
|
972 |
-
#~ "animation."
|
973 |
-
#~ msgstr ""
|
974 |
-
#~ "Estas son las opciones principales, que te permiten ajustar los colores, "
|
975 |
-
#~ "bordes y animación."
|
976 |
-
|
977 |
-
#~ msgid ""
|
978 |
-
#~ "(Set <strong>Border Color</strong> to \"#000000\" and <strong>Padding "
|
979 |
-
#~ "Size</strong> to \"0\" for the classic FancyBox look)"
|
980 |
-
#~ msgstr ""
|
981 |
-
#~ "(Pon el <strong>Color del Borde</strong> en \"#000000\" y el "
|
982 |
-
#~ "<strong>Tamaño del Margen</strong> en \"0\" para el aspecto clásico de "
|
983 |
-
#~ "FancyBox)"
|
984 |
-
|
985 |
-
#~ msgid "Show/Hide Advanced Settings"
|
986 |
-
#~ msgstr "Mostrar/Ocultar Opciones Avanzadas"
|
987 |
-
|
988 |
-
#~ msgid "Show/Hide Troubleshooting & Uninstall Settings"
|
989 |
-
#~ msgstr "Mostrar/Ocultar Resolución de Problemas y Desinstalación"
|
990 |
-
|
991 |
-
#~ msgid ""
|
992 |
-
#~ "Do not call the <code>fancybox()</code> function here, the plugin does "
|
993 |
-
#~ "this for you."
|
994 |
-
#~ msgstr ""
|
995 |
-
#~ "No llames a la función <code>fancybox()</code> desde aquí, eso ya lo hace "
|
996 |
-
#~ "el plugin por tí."
|
997 |
-
|
998 |
-
#~ msgid "Make a gallery for each post"
|
999 |
-
#~ msgstr "Hacer una galería para cada entrada"
|
1000 |
-
|
1001 |
-
#~ msgid ""
|
1002 |
-
#~ "The attribute has to start with fancybox, but can end with however you "
|
1003 |
-
#~ "like: \"fancybox1\", \"fancybox2\", \"fancybox-custom\" will work."
|
1004 |
-
#~ msgstr ""
|
1005 |
-
#~ "El atributo debe empezar por fancybox pero puede terminar como quieras: "
|
1006 |
-
#~ "\"fancybox1\", \"fancybox2\", \"fancybox-custom\" servirían."
|
1007 |
-
|
1008 |
-
#~ msgid "Horizontal position of the close button (default: right)"
|
1009 |
-
#~ msgstr ""
|
1010 |
-
#~ "Posición horizontal del botón para cerrar FancyBox (por defecto: derecha)"
|
1011 |
-
|
1012 |
-
#~ msgid "About"
|
1013 |
-
#~ msgstr "Información"
|
1014 |
-
|
1015 |
-
#~ msgid ""
|
1016 |
-
#~ "This plugin integrates FancyBox with WordPress without having to edit any "
|
1017 |
-
#~ "file or code. Once activated the plugin will apply FancyBox automatically "
|
1018 |
-
#~ "to all image links, including WordPress galleries. Future versions will "
|
1019 |
-
#~ "include some more options like easier inline content integration and more "
|
1020 |
-
#~ "advanced customization. Enjoy!"
|
1021 |
-
#~ msgstr ""
|
1022 |
-
#~ "Este plugin integra FancyBox con WordPress sin necesidad de editar ningún "
|
1023 |
-
#~ "archivo o HTML. Una vez activado, el plugin aplicará FancyBox "
|
1024 |
-
#~ "automáticamente a todos los enlaces a imágenes, incluyendo galerias de "
|
1025 |
-
#~ "WordPress. Que lo disfrutes!"
|
1026 |
-
|
1027 |
-
#~ msgid ""
|
1028 |
-
#~ "If you have problems or questions about FancyBox itself you should <a "
|
1029 |
-
#~ "href=\"http://groups.google.com/group/fancybox\">ask in the FancyBox "
|
1030 |
-
#~ "Google Group</a>. If you want to make suggestions or ask just about this "
|
1031 |
-
#~ "WordPress plugin you can <a href=\"http://blog.moskis.net/downloads/"
|
1032 |
-
#~ "plugins/fancybox-for-wordpress/\">leave a comment here</a>, <a href="
|
1033 |
-
#~ "\"http://blog.moskis.net/contactar/\">send me an email</a>, or <a href="
|
1034 |
-
#~ "\"http://twitter.com/moskis\">contact me on twitter</a>."
|
1035 |
-
#~ msgstr ""
|
1036 |
-
#~ "Si tienes problemas o preguntas sobre FancyBox deberías <a href=\"http://"
|
1037 |
-
#~ "groups.google.com/group/fancybox\">preguntar en este grupo de Google</a> "
|
1038 |
-
#~ "(enlace en inglés). Si tienes preguntas o sugerencias sobre este plugin "
|
1039 |
-
#~ "para WordPress, puedes <a href=\"http://blog.moskis.net/downloads/plugins/"
|
1040 |
-
#~ "fancybox-for-wordpress/\">dejar un comentario aquí</a>, <a href=\"http://"
|
1041 |
-
#~ "blog.moskis.net/contactar/\">enviarme un email</a>, o <a href=\"http://"
|
1042 |
-
#~ "twitter.com/moskis\">contactar conmigo vía Twitter</a>."
|
1043 |
-
|
1044 |
-
#~ msgid "Auto Apply"
|
1045 |
-
#~ msgstr "Auto Aplicar"
|
1046 |
-
|
1047 |
-
#~ msgid ""
|
1048 |
-
#~ "Apply FancyBox automatically to all links pointing to .jpg, .jpeg, .png "
|
1049 |
-
#~ "or .gif images (default: on)"
|
1050 |
-
#~ msgstr ""
|
1051 |
-
#~ "Aplicar FancyBox automáticamente a todos los enlaces que apunten a "
|
1052 |
-
#~ "archivos .jpg, .jpeg, .png o .gif (por defecto: activado)"
|
1053 |
-
|
1054 |
-
#~ msgid ""
|
1055 |
-
#~ "(The link itself must the an image as well, text links will not be "
|
1056 |
-
#~ "affected by this option!)"
|
1057 |
-
#~ msgstr ""
|
1058 |
-
#~ "(El link tiene que estar en una imagen, esta opción no affecta a enlaces "
|
1059 |
-
#~ "de texto!)"
|
1060 |
-
|
1061 |
-
#~ msgid ""
|
1062 |
-
#~ "(This does NOT conflict with the previous and next image links on "
|
1063 |
-
#~ "FancyBox galleries.)"
|
1064 |
-
#~ msgstr ""
|
1065 |
-
#~ "(Esto no afecta a los enlaces de Imagen Siguiente e Imagen Anterior en "
|
1066 |
-
#~ "galerias de varias imágenes)"
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: FancyBox for WordPress Polski\n"
|
4 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/fancybox-for-wordpress\n"
|
5 |
+
"POT-Creation-Date: 2012-12-04 18:51+0100\n"
|
6 |
+
"PO-Revision-Date: \n"
|
7 |
+
"Last-Translator: Jose Pardilla <info@josepardilla.com>\n"
|
8 |
+
"Language-Team: Pracownie Inżynierskie Socha <admin@socha-pi.pl>\n"
|
9 |
+
"Language: pl_PL\n"
|
10 |
+
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
+
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"X-Generator: Poedit 1.5.4\n"
|
14 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
+
"X-Poedit-KeywordsList: _e;__;esc_attr_e\n"
|
16 |
+
"X-Poedit-Basepath: ./\n"
|
17 |
+
"X-Poedit-SearchPath-0: ..\n"
|
18 |
+
"X-Poedit-SearchPath-1: ../lib\n"
|
19 |
+
|
20 |
+
#: ../admin.php:13
|
21 |
+
#, php-format
|
22 |
+
msgid "Fancybox for WordPress (version %s)"
|
23 |
+
msgstr "Fancybox dla WordPress (wersja %s)"
|
24 |
+
|
25 |
+
#: ../admin.php:25
|
26 |
+
msgid "Info"
|
27 |
+
msgstr "Informacje"
|
28 |
+
|
29 |
+
#: ../admin.php:26
|
30 |
+
msgid "Appearance"
|
31 |
+
msgstr "Wygląd"
|
32 |
+
|
33 |
+
#: ../admin.php:27
|
34 |
+
msgid "Animations"
|
35 |
+
msgstr "Animacje"
|
36 |
+
|
37 |
+
#: ../admin.php:28
|
38 |
+
msgid "Behaviour"
|
39 |
+
msgstr "Zachowanie"
|
40 |
+
|
41 |
+
#: ../admin.php:29
|
42 |
+
msgid "Galleries"
|
43 |
+
msgstr "Galerie"
|
44 |
+
|
45 |
+
#: ../admin.php:30
|
46 |
+
msgid "Miscellaneous"
|
47 |
+
msgstr "Inne"
|
48 |
+
|
49 |
+
#: ../admin.php:31
|
50 |
+
msgid "Extra Calls"
|
51 |
+
msgstr "Odwołania"
|
52 |
+
|
53 |
+
#: ../admin.php:32
|
54 |
+
msgid "Troubleshooting"
|
55 |
+
msgstr "Problemy"
|
56 |
+
|
57 |
+
#: ../admin.php:33 ../lib/admin-tab-support.php:1
|
58 |
+
msgid "Support"
|
59 |
+
msgstr "Wsparcie"
|
60 |
+
|
61 |
+
#: ../admin.php:34 ../lib/admin-tab-uninstall.php:1
|
62 |
+
msgid "Uninstall"
|
63 |
+
msgstr "Odinstalowanie"
|
64 |
+
|
65 |
+
#: ../admin.php:81
|
66 |
+
msgid "Save Changes"
|
67 |
+
msgstr "Zapisz zmiany"
|
68 |
+
|
69 |
+
#: ../admin.php:88
|
70 |
+
msgid "Revert to defaults"
|
71 |
+
msgstr "Przywróć do ustawień domyślnych"
|
72 |
+
|
73 |
+
#: ../admin.php:96
|
74 |
+
msgid "If you use FancyBox and like it, buy the author a beer!"
|
75 |
+
msgstr "Jeśli używasz FancyBox i podoba ci się, postaw autorowi piwo!"
|
76 |
+
|
77 |
+
#: ../admin.php:113
|
78 |
+
msgid "The author of this WordPress Plugin also likes beer :P"
|
79 |
+
msgstr "Autor tej wtyczki do Wordpressa także lubi piwo :P"
|
80 |
+
|
81 |
+
#: ../admin.php:123
|
82 |
+
msgid "Follow me on Twitter for more WordPress Plugins and Themes"
|
83 |
+
msgstr "Śledź mnie na Twitterze dla innych wtyczek i motywów Wordpress"
|
84 |
+
|
85 |
+
#: ../fancybox.php:439
|
86 |
+
msgid "Settings"
|
87 |
+
msgstr "Ustawienia"
|
88 |
+
|
89 |
+
#: ../lib/admin-tab-animations.php:1
|
90 |
+
msgid "Animation Settings <span style=\"color:green\">(basic)</span>"
|
91 |
+
msgstr "Ustawienia animacji<span style=\"color:green\">(podstawowe)</span>"
|
92 |
+
|
93 |
+
#: ../lib/admin-tab-animations.php:3
|
94 |
+
msgid ""
|
95 |
+
"These settings control the animations when opening and closing Fancybox, and "
|
96 |
+
"the optional easing effects."
|
97 |
+
msgstr ""
|
98 |
+
"Te ustawienia kontrolują animacje podczas otwierania i zamykania Fancybox, "
|
99 |
+
"oraz opcjonalnie efekty przejścia."
|
100 |
+
|
101 |
+
#: ../lib/admin-tab-animations.php:9
|
102 |
+
msgid "Zoom Options"
|
103 |
+
msgstr "Opcje powiększenia"
|
104 |
+
|
105 |
+
#: ../lib/admin-tab-animations.php:15
|
106 |
+
msgid "Change content transparency during zoom animations (default: on)"
|
107 |
+
msgstr ""
|
108 |
+
"Zmień przezroczystość zawartości podczas animacji powiększania (domyślnie: "
|
109 |
+
"włączone)"
|
110 |
+
|
111 |
+
#: ../lib/admin-tab-animations.php:27
|
112 |
+
msgid "Speed in miliseconds of the zooming-in animation (default: 500)"
|
113 |
+
msgstr "Czas trwania w milisekundach animacji powiększania (domyślnie: 500)"
|
114 |
+
|
115 |
+
#: ../lib/admin-tab-animations.php:39
|
116 |
+
msgid "Speed in miliseconds of the zooming-out animation (default: 500)"
|
117 |
+
msgstr "Czas trwania w milisekundach animacji pomniejszania (domyślnie: 500)"
|
118 |
+
|
119 |
+
#: ../lib/admin-tab-animations.php:51
|
120 |
+
msgid ""
|
121 |
+
"Speed in miliseconds of the animation when navigating thorugh gallery items "
|
122 |
+
"(default: 500)"
|
123 |
+
msgstr ""
|
124 |
+
"Czas trwania w milisekundach animacji przejścia między elementami galerii "
|
125 |
+
"(domyślnie: 500)"
|
126 |
+
|
127 |
+
#: ../lib/admin-tab-animations.php:59
|
128 |
+
msgid "Transition Type"
|
129 |
+
msgstr "Typ przejścia"
|
130 |
+
|
131 |
+
#: ../lib/admin-tab-animations.php:73
|
132 |
+
msgid "Transition type when opening FancyBox. (default: fade)"
|
133 |
+
msgstr "Przejście podczas otwierania Fancybox (domyślnie: fade)"
|
134 |
+
|
135 |
+
#: ../lib/admin-tab-animations.php:86
|
136 |
+
msgid "Transition type when closing FancyBox. (default: fade)"
|
137 |
+
msgstr "Przejście podczas zamykania Fancybox (domyślnie: fade)"
|
138 |
+
|
139 |
+
#: ../lib/admin-tab-animations.php:94
|
140 |
+
msgid "Easing"
|
141 |
+
msgstr "Dodatkowe animacje przejścia"
|
142 |
+
|
143 |
+
#: ../lib/admin-tab-animations.php:100
|
144 |
+
msgid "Activate easing (default: off)"
|
145 |
+
msgstr "Włącz dodatkowe animacje przejścia (domyślnie: wyłączone)"
|
146 |
+
|
147 |
+
#: ../lib/admin-tab-animations.php:103
|
148 |
+
msgid "(Will load one additional javascript file, 8KB)"
|
149 |
+
msgstr "(Załaduje dodatkowy plik JavaScript, 8KB)"
|
150 |
+
|
151 |
+
#: ../lib/admin-tab-animations.php:117
|
152 |
+
msgid "Easing method when opening FancyBox. (default: easeOutBack)"
|
153 |
+
msgstr "Przejście podczas otwierania Fancybox (domyślnie: easeOutBack)"
|
154 |
+
|
155 |
+
#: ../lib/admin-tab-animations.php:120
|
156 |
+
msgid "(Requires opening transition type to be set to elastic)"
|
157 |
+
msgstr "(Wymaga ustawionego przejścia otwierania na elastic)"
|
158 |
+
|
159 |
+
#: ../lib/admin-tab-animations.php:132
|
160 |
+
msgid "Easing method when closing FancyBox. (default: easeInBack)"
|
161 |
+
msgstr "Przejście podczas zamykania Fancybox (domyślnie: easeInBack)"
|
162 |
+
|
163 |
+
#: ../lib/admin-tab-animations.php:135
|
164 |
+
msgid "(Requires closing transition type to be set to elastic)"
|
165 |
+
msgstr "(Wymaga ustawionego przejścia zamykania na elastic)"
|
166 |
+
|
167 |
+
#: ../lib/admin-tab-animations.php:147
|
168 |
+
msgid ""
|
169 |
+
"Easing method when navigating through gallery items. (default: "
|
170 |
+
"easeInOutQuart)"
|
171 |
+
msgstr ""
|
172 |
+
"Animacja przejścia między elementami galerii (domyślnie: easeInOutQuart)"
|
173 |
+
|
174 |
+
#: ../lib/admin-tab-animations.php:150
|
175 |
+
msgid ""
|
176 |
+
"(There are 30 different easing methods, the first ones are the most boring. "
|
177 |
+
"You can test them <a href=\"http://commadot.com/jquery/easing.php\" target="
|
178 |
+
"\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/"
|
179 |
+
"animationtypes.html\" target=\"_blank\">here</a>)"
|
180 |
+
msgstr ""
|
181 |
+
"(Jest 30 różnych animacji przejścia, pierwsza są najbaridzej nudne. Możesz "
|
182 |
+
"je przetestować <a href=\"http://commadot.com/jquery/easing.php\" target="
|
183 |
+
"\"_blank\">tutaj</a> albo <a href=\"http://hosted.zeh.com.br/mctween/"
|
184 |
+
"animationtypes.html\" target=\"_blank\">tutaj</a>)"
|
185 |
+
|
186 |
+
#: ../lib/admin-tab-appearance.php:1
|
187 |
+
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
188 |
+
msgstr "Ustawienia wyglądu <span style=\"color:green\">(podstawowe)</span>"
|
189 |
+
|
190 |
+
#: ../lib/admin-tab-appearance.php:3
|
191 |
+
msgid ""
|
192 |
+
"These setting control how Fancybox looks, they let you tweak color, borders "
|
193 |
+
"and position of elements, like the image title and closing buttons."
|
194 |
+
msgstr ""
|
195 |
+
"Te ustawienia kontrolują jak wygląda Fancybox, pozwalają zmieniać kolor, "
|
196 |
+
"obramowanie i położenie elementów, jak tytuł obrazu i przyciski zamykania."
|
197 |
+
|
198 |
+
#: ../lib/admin-tab-appearance.php:9
|
199 |
+
msgid "Border"
|
200 |
+
msgstr "Obramowanie"
|
201 |
+
|
202 |
+
#: ../lib/admin-tab-appearance.php:15
|
203 |
+
msgid "Show Border (default: off)"
|
204 |
+
msgstr "Pokaż obramowanie (domyślnie: wyłączone)"
|
205 |
+
|
206 |
+
#: ../lib/admin-tab-appearance.php:22
|
207 |
+
msgid "HTML color of the border (default: #BBBBBB)"
|
208 |
+
msgstr "Kolor HTML obramowania (domyślnie: #bbbbbb)"
|
209 |
+
|
210 |
+
#: ../lib/admin-tab-appearance.php:33
|
211 |
+
msgid "Close Button"
|
212 |
+
msgstr "Przycisk zamykania"
|
213 |
+
|
214 |
+
#: ../lib/admin-tab-appearance.php:39
|
215 |
+
msgid "Show Close button (default: on)"
|
216 |
+
msgstr "Pokaż przycisk zamykania (domyślnie: włączone)"
|
217 |
+
|
218 |
+
#: ../lib/admin-tab-appearance.php:44
|
219 |
+
msgid "Close button position:"
|
220 |
+
msgstr "Położenie przycisku zamykania:"
|
221 |
+
|
222 |
+
#: ../lib/admin-tab-appearance.php:47
|
223 |
+
msgid "Left"
|
224 |
+
msgstr "Po lewej"
|
225 |
+
|
226 |
+
#: ../lib/admin-tab-appearance.php:52
|
227 |
+
msgid "Right (default)"
|
228 |
+
msgstr "Po prawej (domyślnie)"
|
229 |
+
|
230 |
+
#: ../lib/admin-tab-appearance.php:57
|
231 |
+
msgid "Bottom"
|
232 |
+
msgstr "Na dole"
|
233 |
+
|
234 |
+
#: ../lib/admin-tab-appearance.php:62
|
235 |
+
msgid "Top (default)"
|
236 |
+
msgstr "U góry (domyślnie)"
|
237 |
+
|
238 |
+
#: ../lib/admin-tab-appearance.php:72
|
239 |
+
msgid "FancyBox Shape"
|
240 |
+
msgstr ""
|
241 |
+
|
242 |
+
#: ../lib/admin-tab-appearance.php:78
|
243 |
+
msgid "Padding HTML color (default: #FFFFFF)"
|
244 |
+
msgstr "Kolor HTML marginesu wewnętrznego (domyślnie: #ffffff)"
|
245 |
+
|
246 |
+
#: ../lib/admin-tab-appearance.php:82
|
247 |
+
msgid ""
|
248 |
+
"(This should be left on #FFFFFF (white) if you want to display anything "
|
249 |
+
"other than images, like inline or framed content)"
|
250 |
+
msgstr ""
|
251 |
+
"(Powinno pozostać ustawione na #ffffff (biały) jeśli chcesz wyświetlać coś "
|
252 |
+
"poza obrazami, jak zawartość inline albo z ramki)"
|
253 |
+
|
254 |
+
#: ../lib/admin-tab-appearance.php:86
|
255 |
+
msgid "Padding size in pixels (default: 15)"
|
256 |
+
msgstr "Rozmiar marginesu wewnętrznego (domyślnie: 10)"
|
257 |
+
|
258 |
+
#: ../lib/admin-tab-appearance.php:91
|
259 |
+
msgid "Rounded Corners radius (default: 5)"
|
260 |
+
msgstr "Promień zaokrąglonych naróżników (domyślnie: 5)"
|
261 |
+
|
262 |
+
#: ../lib/admin-tab-appearance.php:96
|
263 |
+
msgid "Rounded Corners inner radius (default: 0)"
|
264 |
+
msgstr ""
|
265 |
+
|
266 |
+
#: ../lib/admin-tab-appearance.php:104
|
267 |
+
msgid "Overlay Options"
|
268 |
+
msgstr "Ustawienia nakładki"
|
269 |
+
|
270 |
+
#: ../lib/admin-tab-appearance.php:110
|
271 |
+
msgid "Add overlay (default: on)"
|
272 |
+
msgstr "Dodaj nakładkę (domyślnie: włączone)"
|
273 |
+
|
274 |
+
#: ../lib/admin-tab-appearance.php:117
|
275 |
+
msgid "Overlay HTML color (default: #000000)"
|
276 |
+
msgstr "Kolor HTML nakładki (domyślnie: #000000)"
|
277 |
+
|
278 |
+
#: ../lib/admin-tab-appearance.php:131
|
279 |
+
msgid "Overlay opacity. 0 is transparent, 1 is opaque (default: 0.7)"
|
280 |
+
msgstr ""
|
281 |
+
"Przezroczystość nakładki. 0 to całkowicie przezroczyste, 1 to całkowicie "
|
282 |
+
"nieprzezroczyste (domyślnie: 0.7)"
|
283 |
+
|
284 |
+
#: ../lib/admin-tab-appearance.php:141
|
285 |
+
msgid "Shadow"
|
286 |
+
msgstr "Cień"
|
287 |
+
|
288 |
+
#: ../lib/admin-tab-appearance.php:147
|
289 |
+
msgid "Shadow size (default: 25)"
|
290 |
+
msgstr "Rozmiar cienia (domyślnie: 25)"
|
291 |
+
|
292 |
+
#: ../lib/admin-tab-appearance.php:152
|
293 |
+
msgid "Shadow distance (default: 10)"
|
294 |
+
msgstr "Odległość cienia (domyślnie: 10)"
|
295 |
+
|
296 |
+
#: ../lib/admin-tab-appearance.php:165
|
297 |
+
msgid "Shadow opacity. 0 is transparent, 1 is opaque (default: 0.5)"
|
298 |
+
msgstr ""
|
299 |
+
"Przezroczystość cienia. 0 to całkowicie przezroczyste, 1 to całkowicie "
|
300 |
+
"nieprzezroczyste (domyślnie: 0.5)"
|
301 |
+
|
302 |
+
#: ../lib/admin-tab-appearance.php:173
|
303 |
+
msgid "Title"
|
304 |
+
msgstr "Tytuł"
|
305 |
+
|
306 |
+
#: ../lib/admin-tab-appearance.php:179
|
307 |
+
msgid "Show the title (default: on)"
|
308 |
+
msgstr "Pokaż tytuł (domyślnie: włączone)"
|
309 |
+
|
310 |
+
#: ../lib/admin-tab-appearance.php:186
|
311 |
+
msgid "Inside (default)"
|
312 |
+
msgstr "Wewnątrz (domyślnie)"
|
313 |
+
|
314 |
+
#: ../lib/admin-tab-appearance.php:191
|
315 |
+
msgid "Outside"
|
316 |
+
msgstr "Na zewnątrz"
|
317 |
+
|
318 |
+
#: ../lib/admin-tab-appearance.php:196
|
319 |
+
msgid "Over"
|
320 |
+
msgstr "Nad zawartością"
|
321 |
+
|
322 |
+
#: ../lib/admin-tab-appearance.php:203
|
323 |
+
msgid "Title text color (default: #333333)"
|
324 |
+
msgstr "Kolor tekstu tytułu (domyślnie: #333333)"
|
325 |
+
|
326 |
+
#: ../lib/admin-tab-appearance.php:207
|
327 |
+
msgid "(Should contrast with the padding color set above)"
|
328 |
+
msgstr ""
|
329 |
+
"(Powinien być kontrastowy w stosunku do koloru marginesu wewnętrznego "
|
330 |
+
"ustawionego powyżej)"
|
331 |
+
|
332 |
+
#: ../lib/admin-tab-appearance.php:218
|
333 |
+
msgid "Navigation Arrows"
|
334 |
+
msgstr "Strzałki nawigacyjne"
|
335 |
+
|
336 |
+
#: ../lib/admin-tab-appearance.php:224
|
337 |
+
msgid "Show the navigation arrows (default: on)"
|
338 |
+
msgstr "Pokaż strzałki nawigacyjne (domyślnie: włączone)"
|
339 |
+
|
340 |
+
#: ../lib/admin-tab-behaviour.php:1
|
341 |
+
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
342 |
+
msgstr "Ustawienia zachowania <span style=\"color:orange\">(średnie)</span>"
|
343 |
+
|
344 |
+
#: ../lib/admin-tab-behaviour.php:3
|
345 |
+
msgid ""
|
346 |
+
"The following settings should be left alone unless you know what you are "
|
347 |
+
"doing."
|
348 |
+
msgstr ""
|
349 |
+
"Poniższe ustawienia powinny pozostać niezmienione, chyba że wiesz co robisz."
|
350 |
+
|
351 |
+
#: ../lib/admin-tab-behaviour.php:9
|
352 |
+
msgid "Auto Resize to Fit"
|
353 |
+
msgstr "Automatycznie zmień rozmiar"
|
354 |
+
|
355 |
+
#: ../lib/admin-tab-behaviour.php:15
|
356 |
+
msgid "Scale images to fit in viewport (default: on)"
|
357 |
+
msgstr ""
|
358 |
+
"Skaluje obrazy by zmieścić je w oknie przeglądarki (domyślnie: włączone)"
|
359 |
+
|
360 |
+
#: ../lib/admin-tab-behaviour.php:23
|
361 |
+
msgid "Center on Scroll"
|
362 |
+
msgstr "Wycentruj przy przewijaniu"
|
363 |
+
|
364 |
+
#: ../lib/admin-tab-behaviour.php:29
|
365 |
+
msgid ""
|
366 |
+
"Keep image in the center of the browser window when scrolling (default: on)"
|
367 |
+
msgstr ""
|
368 |
+
"Trzymaj obraz wyśrodkowany w oknie przeglądarki podczas przewijania "
|
369 |
+
"(domyślnie: włączone)"
|
370 |
+
|
371 |
+
#: ../lib/admin-tab-behaviour.php:37
|
372 |
+
msgid "Close on Content Click"
|
373 |
+
msgstr "Zamknij po kliknięciu na zawartość"
|
374 |
+
|
375 |
+
#: ../lib/admin-tab-behaviour.php:43
|
376 |
+
msgid "Close FancyBox by clicking on the image (default: off)"
|
377 |
+
msgstr "Zamknij Fancybox klikając na obraz (domyślnie: wyłączone)"
|
378 |
+
|
379 |
+
#: ../lib/admin-tab-behaviour.php:46
|
380 |
+
msgid ""
|
381 |
+
"(You may want to leave this off if you display iframed or inline content "
|
382 |
+
"that containts clickable elements - for example: play buttons for movies, "
|
383 |
+
"links to other pages)"
|
384 |
+
msgstr ""
|
385 |
+
"(Zostaw to wyłączone jeśli chcesz wyświetlać zawartość z ramek albo inline z "
|
386 |
+
"odnośnikami - na przykład: przyciski odtwarzania wideo, albo odnośniki do "
|
387 |
+
"stron)"
|
388 |
+
|
389 |
+
#: ../lib/admin-tab-behaviour.php:53
|
390 |
+
msgid "Close on Overlay Click"
|
391 |
+
msgstr "Zamknij po kliknięciu na nakładkę"
|
392 |
+
|
393 |
+
#: ../lib/admin-tab-behaviour.php:59
|
394 |
+
msgid "Close FancyBox by clicking on the overlay sorrounding it (default: on)"
|
395 |
+
msgstr ""
|
396 |
+
"Zamknij Fancybox po kliknięciu na nakładkę otaczającą go (domyślnie: "
|
397 |
+
"włączone)"
|
398 |
+
|
399 |
+
#: ../lib/admin-tab-behaviour.php:67
|
400 |
+
msgid "Close with "Esc""
|
401 |
+
msgstr "Zamknij przy naciśnięciu "Esc""
|
402 |
+
|
403 |
+
#: ../lib/admin-tab-behaviour.php:73
|
404 |
+
msgid "Close FancyBox when "Escape" key is pressed (default: on)"
|
405 |
+
msgstr ""
|
406 |
+
"Zamknij Fancybox jeśli zostanie wciśnięty klawisz "Escape" "
|
407 |
+
"(domyślnie: włączone)"
|
408 |
+
|
409 |
+
#: ../lib/admin-tab-behaviour.php:81
|
410 |
+
msgid "Cyclic Galleries"
|
411 |
+
msgstr "Zapętl galerie"
|
412 |
+
|
413 |
+
#: ../lib/admin-tab-behaviour.php:87
|
414 |
+
msgid ""
|
415 |
+
"This will make galleries cyclic, allowing you to keep pressing next/back "
|
416 |
+
"(default: on)"
|
417 |
+
msgstr ""
|
418 |
+
"To sprawi, że galerie będą zapętlone i będziesz mógł przechodzić od końca do "
|
419 |
+
"początku odnośnikami następny/poprzedni (domyślnie: wyłączone)"
|
420 |
+
|
421 |
+
#: ../lib/admin-tab-behaviour.php:95
|
422 |
+
msgid "Mouse Wheel Navigation"
|
423 |
+
msgstr "Nawigacja kółkiem myszy"
|
424 |
+
|
425 |
+
#: ../lib/admin-tab-behaviour.php:101
|
426 |
+
msgid "Lets visitors navigate galleries with the mouse wheel (default: off)"
|
427 |
+
msgstr ""
|
428 |
+
"Pozwól nawigować po galerii za pomocą kółka myszki (domyślnie: wyłączone)"
|
429 |
+
|
430 |
+
#: ../lib/admin-tab-behaviour.php:104
|
431 |
+
msgid "(Will load one additional javascript file, 3KB)"
|
432 |
+
msgstr "(Załaduje dodatkowy plik JavaScript, 3KB)"
|
433 |
+
|
434 |
+
#: ../lib/admin-tab-calls.php:1
|
435 |
+
msgid "Extra FancyBox Calls <span style=\"color:red\">(advanced)</span>"
|
436 |
+
msgstr ""
|
437 |
+
"Dodatkowe odwołania Fancybox <span style=\"color:red\">(zaawansowane)</span>"
|
438 |
+
|
439 |
+
#: ../lib/admin-tab-calls.php:3
|
440 |
+
msgid ""
|
441 |
+
"Here you can add as many additional calls to fancybox as you want, with "
|
442 |
+
"different settings. For example, if you want to use fancybox with iframes or "
|
443 |
+
"ajax on any specific link, you can configure those calls here without "
|
444 |
+
"affecting the settings for images."
|
445 |
+
msgstr ""
|
446 |
+
"Tutaj możesz dodać tyle dodakowych odwołać ile chcesz, z różnymi "
|
447 |
+
"ustawieniami. Na przykład, jeśli chcesz użyć Fancybox z ramkami albo "
|
448 |
+
"zawartością z AJAX na dowolnym odnośniku, możesz skonfigurować te odwołania "
|
449 |
+
"tutaj bez wpływu na ustawienia dla obrazów."
|
450 |
+
|
451 |
+
#: ../lib/admin-tab-calls.php:5
|
452 |
+
msgid ""
|
453 |
+
"For information on the options available you can use here see <a href="
|
454 |
+
"\"http://fancybox.net/api\">FancyBox's API & Options page</a>."
|
455 |
+
msgstr ""
|
456 |
+
"By uzyskać więcej informacji o dostępnych opcjach zobacz stronę <a href="
|
457 |
+
"\"http://fancybox.net/api\">Opcje i API Fancybox</a>."
|
458 |
+
|
459 |
+
#: ../lib/admin-tab-calls.php:11
|
460 |
+
msgid "Additional FancyBox Calls"
|
461 |
+
msgstr "Dodatkowe odwołania"
|
462 |
+
|
463 |
+
#: ../lib/admin-tab-calls.php:17
|
464 |
+
msgid "Additional FancyBox Calls (default: off)"
|
465 |
+
msgstr "Dodatkowe odwołania (domyślnie: wyłączone)"
|
466 |
+
|
467 |
+
#: ../lib/admin-tab-calls.php:26 ../lib/admin-tab-other.php:89
|
468 |
+
msgid "Example:"
|
469 |
+
msgstr "Przykład:"
|
470 |
+
|
471 |
+
#: ../lib/admin-tab-galleries.php:1
|
472 |
+
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
473 |
+
msgstr "Ustawienia galerii <span style=\"color:red\">(zaawansowane)</span>"
|
474 |
+
|
475 |
+
#: ../lib/admin-tab-galleries.php:3
|
476 |
+
msgid ""
|
477 |
+
"Here you can choose if you want the plugin to group all images into a "
|
478 |
+
"gallery, or make a gallery for each post. You can also define you own jQuery "
|
479 |
+
"expression if you like."
|
480 |
+
msgstr ""
|
481 |
+
"Tutaj możesz wybrać czy chcesz by wtyczka grupowałą wszystkie obrazy w "
|
482 |
+
"galerię, czy tylko obrazy danego posta. Możesz też zdefiniować własne "
|
483 |
+
"wyrażenie jQuery."
|
484 |
+
|
485 |
+
#: ../lib/admin-tab-galleries.php:9
|
486 |
+
msgid "Gallery Type"
|
487 |
+
msgstr "Typ galerii"
|
488 |
+
|
489 |
+
#: ../lib/admin-tab-galleries.php:15
|
490 |
+
msgid "Make a gallery for all images on the page (default)"
|
491 |
+
msgstr "Utwórz galerię dla wszystkich obrazów na stronie (domyślnie)"
|
492 |
+
|
493 |
+
#: ../lib/admin-tab-galleries.php:20
|
494 |
+
msgid ""
|
495 |
+
"Do not group images in gallery automatically (use this if you want to make "
|
496 |
+
"galleries manually with the <code>REL</code> attribute)"
|
497 |
+
msgstr ""
|
498 |
+
"Nie grupuj obrazów w galerię automatycznie (użyj tego jeśli chcesz grupować "
|
499 |
+
"galerię ręcznie za pomocą atrybutu <code>REL</code>)"
|
500 |
+
|
501 |
+
#: ../lib/admin-tab-galleries.php:25
|
502 |
+
msgid ""
|
503 |
+
"Make a gallery for each post (will only work if your theme uses <code>class="
|
504 |
+
"\"post\"</code> on each post, which is common in WordPress"
|
505 |
+
msgstr ""
|
506 |
+
"Utwórz galerię dla każdego posta (zadziała jeśli motyw którego używasz "
|
507 |
+
"korzysta z <code>class=\"post\"</code> na każdym poście, co jest zwyczajowe "
|
508 |
+
"w Wordpress)"
|
509 |
+
|
510 |
+
#: ../lib/admin-tab-galleries.php:30
|
511 |
+
msgid "Use a custom expression to apply FancyBox"
|
512 |
+
msgstr "Użyj własnego wyrażenia by włączyć Fancybox"
|
513 |
+
|
514 |
+
#: ../lib/admin-tab-galleries.php:39
|
515 |
+
msgid "Custom expression guidelines:"
|
516 |
+
msgstr "Wytyczne do własnego wyrażenia:"
|
517 |
+
|
518 |
+
#: ../lib/admin-tab-galleries.php:41
|
519 |
+
msgid ""
|
520 |
+
"· The custom expression has to apply <code>class=\"fancybox\"</code> "
|
521 |
+
"to the links where you want to use FancyBox. Do not call the <code>fancybox()"
|
522 |
+
"</code> function here, the plugin does this for you."
|
523 |
+
msgstr ""
|
524 |
+
"· Własne wyrażene musi stosować <code>class=\"fancybox\"</code> do "
|
525 |
+
"odnośników z którymi chcesz użyć Fancybox. Nie odwołuj się do funkcji "
|
526 |
+
"<code>fancybox()</code> tutaj, wtyczka robi to za ciebie."
|
527 |
+
|
528 |
+
#: ../lib/admin-tab-galleries.php:43
|
529 |
+
msgid ""
|
530 |
+
"· The jQuery <code>addClass()</code> function is a good way to add "
|
531 |
+
"the class to the desired links conserving any existing class."
|
532 |
+
msgstr ""
|
533 |
+
"· Funkcja <code>addClass()</code> jQuery jest dobrym rozwiązaniem by "
|
534 |
+
"dodać klasę do odnośników, zachowując już istniejące klasy."
|
535 |
+
|
536 |
+
#: ../lib/admin-tab-galleries.php:45
|
537 |
+
msgid ""
|
538 |
+
"· You can use <code>getTitle()</code> in your expression to copy the "
|
539 |
+
"title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so "
|
540 |
+
"that FancyBox can show captions."
|
541 |
+
msgstr ""
|
542 |
+
"· Możesz użyć <code>getTitle()</code> w swoim wyrażeniu by skopiować "
|
543 |
+
"atrybut tytułu ze znacznika <code>IMG</code> do znacznika <code>A</code>, by "
|
544 |
+
"Fancybox mógł pokazywać podpisy."
|
545 |
+
|
546 |
+
#: ../lib/admin-tab-galleries.php:47
|
547 |
+
msgid ""
|
548 |
+
"· You can use <code>jQuery(thumbnails)</code> like in the example "
|
549 |
+
"expression to apply FancyBox to thumbnails that link to these extensions: "
|
550 |
+
"BMP, GIF, JPG, JPEG, PNG (both lowercase and uppercase)."
|
551 |
+
msgstr ""
|
552 |
+
"· Możesz użyć <code>jQuery(thumbnails)</code> jak w przykładowym "
|
553 |
+
"wyrażeniu by włączyć Fancybox dla miniatur z tymi rozszerzeniami: BMP, GIF, "
|
554 |
+
"JPG, JPEG, PNG (zarówno małymi jak i wielkimi literami)."
|
555 |
+
|
556 |
+
#: ../lib/admin-tab-galleries.php:49
|
557 |
+
msgid ""
|
558 |
+
"· If you want to do it manually you can use something like "
|
559 |
+
"<code>jQuery(\"a:has(img)[href$='.jpg']\")</code> or whatever works for you."
|
560 |
+
msgstr ""
|
561 |
+
"· Jeśli chcesz zrobić to ręcznie możesz użyć na przykład <code>jQuery"
|
562 |
+
"(\"a:has(img)[href$='.jpg']\")</code> czy cokolwiek co jest ci potrzebne."
|
563 |
+
|
564 |
+
#: ../lib/admin-tab-galleries.php:51
|
565 |
+
msgid ""
|
566 |
+
"See the <a href=\"http://docs.jquery.com/\" target=\"_blank\">jQuery "
|
567 |
+
"Documentation</a> for more help."
|
568 |
+
msgstr ""
|
569 |
+
"Sprawdź <a href=\"http://docs.jquery.com/\" target=\"_blank\">dokumentację "
|
570 |
+
"jQuery</a> by uzyskać więcej informacji."
|
571 |
+
|
572 |
+
#: ../lib/admin-tab-galleries.php:53
|
573 |
+
msgid "Examples:"
|
574 |
+
msgstr "Przykłady:"
|
575 |
+
|
576 |
+
#: ../lib/admin-tab-info.php:1
|
577 |
+
msgid "Information"
|
578 |
+
msgstr "Informacje"
|
579 |
+
|
580 |
+
#: ../lib/admin-tab-info.php:3
|
581 |
+
msgid ""
|
582 |
+
"<a target=\"_blank\" href=\"http://fancybox.net\">FancyBox</a> developed by "
|
583 |
+
"<a target=\"_blank\" href=\"http://fancybox.net\">Janis Skarnelis</a>, "
|
584 |
+
"ported to WordPress by <a target=\"_blank\" href=\"http://josepardilla.com/"
|
585 |
+
"\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href="
|
586 |
+
"\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
587 |
+
msgstr ""
|
588 |
+
"<a href=\"http://fancybox.net\">FancyBox</a> rozwijany przez <a href="
|
589 |
+
"\"http://fancybox.net\">Janis Skarnelis</a>, zaadopotowany do Wordpress "
|
590 |
+
"przez <a href=\"http://http://josepardilla.com/\">José Pardilla</a>. "
|
591 |
+
"Licencjowany na zasadach <a target=\"_blank\" href=\"http://en.wikipedia.org/"
|
592 |
+
"wiki/MIT_License\">licencji MIT</a>."
|
593 |
+
|
594 |
+
#: ../lib/admin-tab-info.php:5
|
595 |
+
msgid ""
|
596 |
+
"As you can see, this plugin has many options you can edit, but have no fear, "
|
597 |
+
"you can leave everything as it is if you don't want to get your hands dirty, "
|
598 |
+
"since the default options should be a good start... :)"
|
599 |
+
msgstr ""
|
600 |
+
"Jak widzisz, ta wtyczka ma wiele opcji które możesz zmienić, ale nie bój "
|
601 |
+
"się, możesz też zostawić wszystko tak jak jest jeśli nie chcesz pobrudzić "
|
602 |
+
"sobie rąk, ponieważ domyślne opcje powinny wystarczyć na początek .. :)"
|
603 |
+
|
604 |
+
#: ../lib/admin-tab-info.php:7
|
605 |
+
msgid ""
|
606 |
+
"If you are an advanced user you can <a target=\"_blank\" href=\"https://"
|
607 |
+
"github.com/moskis/fancybox-for-wordpress\">follow the plugin in Github</a>, "
|
608 |
+
"fork it or help submitting fixes!"
|
609 |
+
msgstr ""
|
610 |
+
"Jeśli jesteś zaawansowanym użytkownikiem możesz <a target=\"_blank\" href="
|
611 |
+
"\"https://github.com/moskis/fancybox-for-wordpress\">śledzić tą wtyczkę na "
|
612 |
+
"Github</a>, rozpocząć swoją gałąź albo przesłać poprawki!"
|
613 |
+
|
614 |
+
#: ../lib/admin-tab-info.php:9
|
615 |
+
msgid ""
|
616 |
+
"<strong>Note:</strong> Having a cache plugin may prevent changes from taking "
|
617 |
+
"effect immidiately, if this happens clear cache after saving changes here or "
|
618 |
+
"deactivate cache until you finish editing these options."
|
619 |
+
msgstr ""
|
620 |
+
"<strong>Notatka:</strong> Uzywanie wtyczki do pamięci podręcznej może "
|
621 |
+
"sprawić, że zmiany nie będą odnosiły skutku natychmiast, jeśli tak się "
|
622 |
+
"stanie wyczyść pamięć podręczną po zapisaniu ustawień albo wyłącz pamięć "
|
623 |
+
"podręczną na czas zmieniania ustawień."
|
624 |
+
|
625 |
+
#: ../lib/admin-tab-other.php:1
|
626 |
+
msgid "Other Settings <span style=\"color:red\">(advanced)</span>"
|
627 |
+
msgstr "Inne ustawienia <span style=\"color:red\">(zaawansowane)</span>"
|
628 |
+
|
629 |
+
#: ../lib/admin-tab-other.php:3
|
630 |
+
msgid "These are additional settings for advanced users."
|
631 |
+
msgstr "To są dodatkowe ustawienia dla zaawansowanych użytkowników."
|
632 |
+
|
633 |
+
#: ../lib/admin-tab-other.php:9
|
634 |
+
msgid "Dimensions"
|
635 |
+
msgstr "Wymiary"
|
636 |
+
|
637 |
+
#: ../lib/admin-tab-other.php:15
|
638 |
+
msgid "Auto detect dimensions (default: on)"
|
639 |
+
msgstr "Automatycznie wykryj wymiary (domyślnie: włączone)"
|
640 |
+
|
641 |
+
#: ../lib/admin-tab-other.php:18
|
642 |
+
msgid ""
|
643 |
+
"Only works with <strong>Ajax</strong> and <strong>Inline</strong> content! "
|
644 |
+
"Flash dimensions won't be autodetected so specify them below if necessary. "
|
645 |
+
"If you want to insert several pieces of flash content with different "
|
646 |
+
"dimensions you will have to use the <strong>Additional FancyBox Calls</"
|
647 |
+
"strong> option."
|
648 |
+
msgstr ""
|
649 |
+
"Działa tylko z <strong>AJAX</strong> i zawartością <strong>inline</strong>! "
|
650 |
+
"Wymiary Flasha nie zostaną wykryte automatycznie więc ustaw je poniżej jeśli "
|
651 |
+
"trzeba. Jeśli wstawisz kilka zawartości Flash z różnymi wymiarami będziesz "
|
652 |
+
"musiał użyć opcji <strong>dodatkowych odwołań</strong>."
|
653 |
+
|
654 |
+
#: ../lib/admin-tab-other.php:22
|
655 |
+
msgid ""
|
656 |
+
"Width for iframe and swf content. Also set for inline content if "
|
657 |
+
"<em>autoDimensions</em> is disabled (default: 560)"
|
658 |
+
msgstr ""
|
659 |
+
"Szerokość dla ramki i zawartości Flash. Ustaw także dla zawartości inline "
|
660 |
+
"jeśli <em>autoDimensions</em> jest wyłączone (domyślnie: 560)"
|
661 |
+
|
662 |
+
#: ../lib/admin-tab-other.php:27
|
663 |
+
msgid ""
|
664 |
+
"Height for iframe and swf content. Also set for inline content if "
|
665 |
+
"<em>autoDimensions</em> is disabled (default: 340)"
|
666 |
+
msgstr ""
|
667 |
+
"Wysokość dla ramki i zawartości Flash. Ustaw także dla zawartości inline "
|
668 |
+
"jeśli <em>autoDimensions</em> jest wyłączone (domyślnie: 340)"
|
669 |
+
|
670 |
+
#: ../lib/admin-tab-other.php:35
|
671 |
+
msgid "Load JavaScript in Footer"
|
672 |
+
msgstr "Załaduj JavaScript w stopce"
|
673 |
+
|
674 |
+
#: ../lib/admin-tab-other.php:41
|
675 |
+
msgid "Loads JavaScript at the end of the blog's HTML (default: off)"
|
676 |
+
msgstr ""
|
677 |
+
"Załaduj JavaScript na końcu zawartości HTML (eksperymentalne, domyślnie: "
|
678 |
+
"wyłączone)"
|
679 |
+
|
680 |
+
#: ../lib/admin-tab-other.php:44
|
681 |
+
msgid ""
|
682 |
+
"This option won't be recognized if you use <strong>Parallel Load</strong> "
|
683 |
+
"plugin. In that case, you can do this from Parallel Load's options."
|
684 |
+
msgstr ""
|
685 |
+
"Ta opcja nie zostanie rozpoznana jeśli użyjesz wtyczki <strong>Parallel "
|
686 |
+
"Load</strong>. W takim wypadku możesz to zrobić z poziomu opcji wtyczki "
|
687 |
+
"Parallel Load."
|
688 |
+
|
689 |
+
#: ../lib/admin-tab-other.php:51
|
690 |
+
msgid "Callbacks"
|
691 |
+
msgstr "Odwołania"
|
692 |
+
|
693 |
+
#: ../lib/admin-tab-other.php:57
|
694 |
+
msgid "Enable callbacks (default: off)"
|
695 |
+
msgstr "Włącz odwołania (domyślnie: włączone)"
|
696 |
+
|
697 |
+
#: ../lib/admin-tab-other.php:60
|
698 |
+
msgid "Enabling this will show additional settings."
|
699 |
+
msgstr "Włączenie tej opcji pokaże dodatkowe ustawienia."
|
700 |
+
|
701 |
+
#: ../lib/admin-tab-other.php:65
|
702 |
+
msgid ""
|
703 |
+
"Callback on <strong>Start</strong> event: Will be called right before "
|
704 |
+
"attempting to load the content"
|
705 |
+
msgstr ""
|
706 |
+
"Odwołanie podczas zdarzenia <strong>Start</strong>: zostanie wywołane zaraz "
|
707 |
+
"przed załadowaniem zawartości"
|
708 |
+
|
709 |
+
#: ../lib/admin-tab-other.php:70
|
710 |
+
msgid ""
|
711 |
+
"Callback on <strong>Cancel</strong> event: Will be called after loading is "
|
712 |
+
"canceled"
|
713 |
+
msgstr ""
|
714 |
+
"Odwołanie podczas zdarzenia <strong>Cancel</strong>: zostanie wywołane "
|
715 |
+
"jeśli ładowanie zostanie anulowane"
|
716 |
+
|
717 |
+
#: ../lib/admin-tab-other.php:75
|
718 |
+
msgid ""
|
719 |
+
"Callback on <strong>Complete</strong> event: Will be called once the content "
|
720 |
+
"is displayed"
|
721 |
+
msgstr ""
|
722 |
+
"Odwołanie podczas zdarzenia <strong>Complete</strong>: zostanie wywołane "
|
723 |
+
"jak tylko zawartość zostanie wyświetlona"
|
724 |
+
|
725 |
+
#: ../lib/admin-tab-other.php:80
|
726 |
+
msgid ""
|
727 |
+
"Callback on <strong>CleanUp</strong> event: Will be called just before "
|
728 |
+
"closing"
|
729 |
+
msgstr ""
|
730 |
+
"Odwołanie podczas zdarzenia <strong>CleanUp</strong>: zostanie wywołane "
|
731 |
+
"zaraz przed zamknięciem"
|
732 |
+
|
733 |
+
#: ../lib/admin-tab-other.php:85
|
734 |
+
msgid ""
|
735 |
+
"Callback on <strong>Closed</strong> event: Will be called once FancyBox is "
|
736 |
+
"closed"
|
737 |
+
msgstr ""
|
738 |
+
"Odwołanie podczas zdarzenia <strong>Cerrado</strong>: zostanie wywołane po "
|
739 |
+
"zamknięciu"
|
740 |
+
|
741 |
+
#: ../lib/admin-tab-other.php:91
|
742 |
+
msgid "Leave empty any speciic callbacks you don't need to use."
|
743 |
+
msgstr "Zostaw puste jeśli nie korzystasz z poszczególnych odwołań"
|
744 |
+
|
745 |
+
#: ../lib/admin-tab-support.php:3
|
746 |
+
msgid "Help with Fancybox"
|
747 |
+
msgstr "Pomoc z Fancybox"
|
748 |
+
|
749 |
+
#: ../lib/admin-tab-support.php:5
|
750 |
+
msgid ""
|
751 |
+
"If you have problems or questions about FancyBox itself (and not this "
|
752 |
+
"WordPress plugin), please start with these links: <a target=\"_blank\" href="
|
753 |
+
"\"http://fancybox.net/howto\">How-To</a> & <a target=\"_blank\" href="
|
754 |
+
"\"http://fancybox.net/faq\">FAQ</a>.<br />If that does not help, go to <a "
|
755 |
+
"href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</"
|
756 |
+
"a>, use the <strong>Search</strong> option, and if necesary, post your "
|
757 |
+
"question."
|
758 |
+
msgstr ""
|
759 |
+
"Jeśli masz problemy albo pytania o Fancybox (nie o wtyczce do Wordpress), "
|
760 |
+
"zacznij proszę od tych odnośników <a href=\"http://fancybox.net/howto\">How-"
|
761 |
+
"To</a> i <a href=\"http://fancybox.net/faq\">FAQ</a>.<br />Jeśli to nie "
|
762 |
+
"pomoże przejrzyj<a href=\"http://groups.google.com/group/fancybox\">Grupę "
|
763 |
+
"Google FancyBox</a>, użyj opcji <strong>wyszukiwania</strong>, jeśli trzeba "
|
764 |
+
"lub zamieść pytanie."
|
765 |
+
|
766 |
+
#: ../lib/admin-tab-support.php:8
|
767 |
+
msgid "Help with Fancybox for WordPress plugin"
|
768 |
+
msgstr "Pomoc z wtyczką Fancybox dla Wordpress"
|
769 |
+
|
770 |
+
#: ../lib/admin-tab-support.php:10
|
771 |
+
msgid ""
|
772 |
+
"If you are having trouble with this plugin take a look at this <a target="
|
773 |
+
"\"_blank\" href=\"http://plugins.josepardilla.com/fancybox-for-wordpress/faq"
|
774 |
+
"\">FAQ</a> where i will try to cover the most common problems and their "
|
775 |
+
"solutions."
|
776 |
+
msgstr ""
|
777 |
+
"Jeśli masz problemy z tą wtyczką zajrzyj tutaj <a target=\"_blank\" href="
|
778 |
+
"\"http://plugins.josepardilla.com/fancybox-for-wordpress/faq\">FAQ</a> gdzie "
|
779 |
+
"staram się opisać najczęstsze problemy i ich rozwiązania."
|
780 |
+
|
781 |
+
#: ../lib/admin-tab-support.php:11
|
782 |
+
msgid ""
|
783 |
+
"Try to localize the problem (switch your theme and deactivate plugins until "
|
784 |
+
"you find the source of the problem). You can also try the Troubleshooting "
|
785 |
+
"settings of this plugin if necesary."
|
786 |
+
msgstr ""
|
787 |
+
"Staraj się zlokalizować problem (zmień motyw, wyłącz wtyczki). Możesz też "
|
788 |
+
"sprawdzić ustawienia Rozwiązywania problemów jeśli trzeba."
|
789 |
+
|
790 |
+
#: ../lib/admin-tab-support.php:12
|
791 |
+
msgid ""
|
792 |
+
"Try reverting the plugin's settings to their defaults with the button below."
|
793 |
+
msgstr ""
|
794 |
+
"Spróbuj przywrócić ustawienia wtyczki do domyślnych przyciskiem poniżej."
|
795 |
+
|
796 |
+
#: ../lib/admin-tab-support.php:13
|
797 |
+
msgid ""
|
798 |
+
"If you still can not get the plugin to work, <a target=\"_blank\" href="
|
799 |
+
"\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
800 |
+
"\">write a post in the WordPress Support forums</a> explaining the problem "
|
801 |
+
"or take a look and the <a target=\"_blank\" href=\"http://wordpress.org/"
|
802 |
+
"support/plugin/fancybox-for-wordpress\">already posted messages</a>."
|
803 |
+
msgstr ""
|
804 |
+
"Jeśli nadal nie możesz zmusić wtyczki do współpracy, <a target=\"_blank\" "
|
805 |
+
"href=\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
806 |
+
"\">napisz posta na forum Wsparcia Wordpress</a> opisując problem, lub "
|
807 |
+
"przejrzyj <a target=\"_blank\" href=\"\"http://wordpress.org/support/plugin/"
|
808 |
+
"fancybox-for-wordpress\">już zamieszczone wiadomości</a>."
|
809 |
+
|
810 |
+
#: ../lib/admin-tab-support.php:16
|
811 |
+
msgid "IMPORTANT:"
|
812 |
+
msgstr "WAŻNE:"
|
813 |
+
|
814 |
+
#: ../lib/admin-tab-support.php:16
|
815 |
+
msgid ""
|
816 |
+
"When posting your problem please provide a link to your blog and the page "
|
817 |
+
"where the error is found, and all relevant information you can, especially "
|
818 |
+
"your theme, plugins, etc."
|
819 |
+
msgstr ""
|
820 |
+
"Zamieszczając swój problem proszę dołączyć odnośnik do swojegu blogu i "
|
821 |
+
"strony na której występuje błąd, oraz wszystkie powiązane informacje, jak "
|
822 |
+
"motyw, wtyczki, itp."
|
823 |
+
|
824 |
+
#: ../lib/admin-tab-troubleshooting.php:1
|
825 |
+
msgid "Troubleshooting Settings"
|
826 |
+
msgstr "Ustawienia rozwiązywania problemów"
|
827 |
+
|
828 |
+
#: ../lib/admin-tab-troubleshooting.php:3
|
829 |
+
msgid ""
|
830 |
+
"Settings in this section should only be changed if you are having problems "
|
831 |
+
"with the plugin!"
|
832 |
+
msgstr ""
|
833 |
+
"Ustawienia w tej sekcji powinny być zmienianie tylko jeśli masz problemy z "
|
834 |
+
"wtyczką!"
|
835 |
+
|
836 |
+
#: ../lib/admin-tab-troubleshooting.php:5
|
837 |
+
msgid ""
|
838 |
+
"If the plugin doesn't seem to work, first you should check for other plugins "
|
839 |
+
"that may be conflicting with this one, especially other Lightbox, Slimbox, "
|
840 |
+
"etc. Make sure all your plugins and WordPress itself are up to date."
|
841 |
+
msgstr ""
|
842 |
+
"Jeśli wtyczka nie działa, po pierwsze sprawdź czy inny wtyczki nie "
|
843 |
+
"konfliktują z tą, zwłaszcza Lightbox, Slimbox, itp. Upewnij się, że "
|
844 |
+
"wszystkie wtyczki oraz sam Wordpress są w aktulanej wersji (ta wtyczka była "
|
845 |
+
"testowana tylko z Wordpress 2.7 i nowszych)."
|
846 |
+
|
847 |
+
#: ../lib/admin-tab-troubleshooting.php:7
|
848 |
+
msgid ""
|
849 |
+
"Change them one at a time and test to see if they help. Remember that having "
|
850 |
+
"a cache plugin may prevent changes from taking effect immidiately, so clear "
|
851 |
+
"cache after saving changes here or deactivate cache until you finish editing "
|
852 |
+
"these options."
|
853 |
+
msgstr ""
|
854 |
+
"Zmieniaj je pojedynczo i sprawdzaj za każdym razem czy pomogły. Pamiętaj, że "
|
855 |
+
"jeśli masz włączoną wtyczkę pamięci podręcznej ustawienia mogę nie odnieść "
|
856 |
+
"efekty natychmiast, więc wyczyść pamięć podręczną po zapisaniu ustawień albo "
|
857 |
+
"wyłącz pamięć podręczną na czas zmieniania ustawień."
|
858 |
+
|
859 |
+
#: ../lib/admin-tab-troubleshooting.php:13
|
860 |
+
msgid "Do not call jQuery"
|
861 |
+
msgstr "Nie ładuj jQuery"
|
862 |
+
|
863 |
+
#: ../lib/admin-tab-troubleshooting.php:19
|
864 |
+
msgid ""
|
865 |
+
"Skip jQuery call. Use this only if jQuery is being loaded twice (default: "
|
866 |
+
"off)"
|
867 |
+
msgstr ""
|
868 |
+
"Pomiń odwołanie do jQuery. Użyj tego tylko jeśli jQuery jest ładowane "
|
869 |
+
"dwukrotnie (domyślnie: wyłączone)"
|
870 |
+
|
871 |
+
#: ../lib/admin-tab-uninstall.php:3
|
872 |
+
msgid ""
|
873 |
+
"Like many other plugins, FancyBox for WordPress stores its settings on your "
|
874 |
+
"WordPress' options database table. Actually, these settings are not using "
|
875 |
+
"more than a couple of kilobytes of space, but if you want to completely "
|
876 |
+
"uninstall this plugin, check the option below, then save changes, and "
|
877 |
+
"<strong>when you deactivate the plugin</strong>, all its settings will be "
|
878 |
+
"removed from the database."
|
879 |
+
msgstr ""
|
880 |
+
"Jak wiele innych wtyczek, Fancybox dla Wordpress trzyma swoje ustawienia w "
|
881 |
+
"tabeli ustawień Wordpress. W zasadzie te ustawienia nie zajmują więcej niż "
|
882 |
+
"kilka kilobajtów, ale jeśli chcesz kompletnie odinstalować wtyczkę, zaznacz "
|
883 |
+
"opcję poniżej, a potem zapisz opcje. <strong>Kiedy wyłączysz wtyczkę</"
|
884 |
+
"strong>wszystkie ustawienia zostaną usunięte z bazy danych."
|
885 |
+
|
886 |
+
#: ../lib/admin-tab-uninstall.php:9
|
887 |
+
msgid "Remove settings"
|
888 |
+
msgstr "Usuń ustawienia"
|
889 |
+
|
890 |
+
#: ../lib/admin-tab-uninstall.php:15
|
891 |
+
msgid ""
|
892 |
+
"Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. "
|
893 |
+
"(default: off)"
|
894 |
+
msgstr ""
|
895 |
+
"Usuń ustawienia kiedy wtyczka zostanie wyłączona z panelu \"Zarządzania "
|
896 |
+
"wtyczkami\". (domyślnie: wyłączone)"
|
897 |
+
|
898 |
+
#~ msgid "Fancybox for WordPress Options"
|
899 |
+
#~ msgstr "Opcje wtyczki Fancybox dla Wordpress"
|
900 |
+
|
901 |
+
#~ msgid "Fancybox for WP"
|
902 |
+
#~ msgstr "Fancybox dla WP"
|
903 |
+
|
904 |
+
#~ msgid "FancyBox for WordPress settings have been reset"
|
905 |
+
#~ msgstr "Ustawienia wtyczki Fancybox dla Wordpress zostały zresetowane"
|
906 |
+
|
907 |
+
#~ msgid "Padding"
|
908 |
+
#~ msgstr "Margines wewnętrzny"
|
909 |
+
|
910 |
+
#~ msgid "HTML color of the overlay (default: #666666)"
|
911 |
+
#~ msgstr "Kolor HTML nakładki (domyślnie: #666666)"
|
912 |
+
|
913 |
+
#~ msgid ""
|
914 |
+
#~ "<strong>Note:</strong> If update to version 3.0.0 breaks fancybox on your "
|
915 |
+
#~ "blog you will probably have to reset your settings (with the white button "
|
916 |
+
#~ "below). I have tested this issue on several WordPress installations and "
|
917 |
+
#~ "it always worked, so it might depend on the server. Sorry for the "
|
918 |
+
#~ "inconvinience."
|
919 |
+
#~ msgstr ""
|
920 |
+
#~ "<strong>Notatka:</strong> Jeśli aktualizacja do wersji 3.0.0 psuje "
|
921 |
+
#~ "Fancybox na twoim blogu będziesz musiał prawdopodobnie zresetować "
|
922 |
+
#~ "ustawienia (białym przyciskiem poniżej). Testowałem ten problem na kilku "
|
923 |
+
#~ "instalacjach Wordpress i zawsze działało, więc może to zależeć od "
|
924 |
+
#~ "serwera. Przepraszam ze niedogodności."
|
925 |
+
|
926 |
+
#~ msgid "Callback on Start event (default: empty)"
|
927 |
+
#~ msgstr "Retrollamada en el evento de Inicio (por defecto: vacío)"
|
928 |
+
|
929 |
+
#~ msgid "Callback on Show event (default: empty)"
|
930 |
+
#~ msgstr "Retrollamada en el evento de Mostrado (por defecto: vacío)"
|
931 |
+
|
932 |
+
#~ msgid "Callback on Close event (default: empty)"
|
933 |
+
#~ msgstr "Retrollamada en el evento de Cerrado (por defecto: vacío)"
|
934 |
+
|
935 |
+
#~ msgid "Leave the fields empty to disable."
|
936 |
+
#~ msgstr "Deja estos campos vacíos para desactivar cualqueir retrollamada."
|
937 |
+
|
938 |
+
#~ msgid "Frame Size"
|
939 |
+
#~ msgstr "Tamaño del recuadro"
|
940 |
+
|
941 |
+
#~ msgid ""
|
942 |
+
#~ "Width in pixels of FancyBox when showing iframe content (default: 560)"
|
943 |
+
#~ msgstr ""
|
944 |
+
#~ "Ancho en píxeles de FancyBox cuado se muestre contenido anidado (por "
|
945 |
+
#~ "defecto: 560)"
|
946 |
+
|
947 |
+
#~ msgid ""
|
948 |
+
#~ "Height in pixels of FancyBox when showing iframe content (default: 340)"
|
949 |
+
#~ msgstr ""
|
950 |
+
#~ "Alto en píxeles de FancyBox cuado se muestre contenido anidado (por "
|
951 |
+
#~ "defecto: 340)"
|
952 |
+
|
953 |
+
#~ msgid "jQuery \"noConflict\" Mode"
|
954 |
+
#~ msgstr "Modo jQuery \"noConflict\""
|
955 |
+
|
956 |
+
#~ msgid "Use jQuery noConflict mode (default: on)"
|
957 |
+
#~ msgstr "Usar parámetro noConflict de jQuery (por defecto: activado)"
|
958 |
+
|
959 |
+
#~ msgid ""
|
960 |
+
#~ "(Turning this off may cause problems if there are plugins activated that "
|
961 |
+
#~ "use other js framework like mootools, prototype, scriptaculous, etc.)"
|
962 |
+
#~ msgstr ""
|
963 |
+
#~ "(Desactivar esta opción puede causar problemas si hay plugins activadoes "
|
964 |
+
#~ "que usen otros frameworks javascript como Mootols, Prototype, "
|
965 |
+
#~ "Scriptaculous, etc.)"
|
966 |
+
|
967 |
+
#~ msgid "Presentation"
|
968 |
+
#~ msgstr "Presentación"
|
969 |
+
|
970 |
+
#~ msgid ""
|
971 |
+
#~ "These are the main settings, which let you tweak color, borders and "
|
972 |
+
#~ "animation."
|
973 |
+
#~ msgstr ""
|
974 |
+
#~ "Estas son las opciones principales, que te permiten ajustar los colores, "
|
975 |
+
#~ "bordes y animación."
|
976 |
+
|
977 |
+
#~ msgid ""
|
978 |
+
#~ "(Set <strong>Border Color</strong> to \"#000000\" and <strong>Padding "
|
979 |
+
#~ "Size</strong> to \"0\" for the classic FancyBox look)"
|
980 |
+
#~ msgstr ""
|
981 |
+
#~ "(Pon el <strong>Color del Borde</strong> en \"#000000\" y el "
|
982 |
+
#~ "<strong>Tamaño del Margen</strong> en \"0\" para el aspecto clásico de "
|
983 |
+
#~ "FancyBox)"
|
984 |
+
|
985 |
+
#~ msgid "Show/Hide Advanced Settings"
|
986 |
+
#~ msgstr "Mostrar/Ocultar Opciones Avanzadas"
|
987 |
+
|
988 |
+
#~ msgid "Show/Hide Troubleshooting & Uninstall Settings"
|
989 |
+
#~ msgstr "Mostrar/Ocultar Resolución de Problemas y Desinstalación"
|
990 |
+
|
991 |
+
#~ msgid ""
|
992 |
+
#~ "Do not call the <code>fancybox()</code> function here, the plugin does "
|
993 |
+
#~ "this for you."
|
994 |
+
#~ msgstr ""
|
995 |
+
#~ "No llames a la función <code>fancybox()</code> desde aquí, eso ya lo hace "
|
996 |
+
#~ "el plugin por tí."
|
997 |
+
|
998 |
+
#~ msgid "Make a gallery for each post"
|
999 |
+
#~ msgstr "Hacer una galería para cada entrada"
|
1000 |
+
|
1001 |
+
#~ msgid ""
|
1002 |
+
#~ "The attribute has to start with fancybox, but can end with however you "
|
1003 |
+
#~ "like: \"fancybox1\", \"fancybox2\", \"fancybox-custom\" will work."
|
1004 |
+
#~ msgstr ""
|
1005 |
+
#~ "El atributo debe empezar por fancybox pero puede terminar como quieras: "
|
1006 |
+
#~ "\"fancybox1\", \"fancybox2\", \"fancybox-custom\" servirían."
|
1007 |
+
|
1008 |
+
#~ msgid "Horizontal position of the close button (default: right)"
|
1009 |
+
#~ msgstr ""
|
1010 |
+
#~ "Posición horizontal del botón para cerrar FancyBox (por defecto: derecha)"
|
1011 |
+
|
1012 |
+
#~ msgid "About"
|
1013 |
+
#~ msgstr "Información"
|
1014 |
+
|
1015 |
+
#~ msgid ""
|
1016 |
+
#~ "This plugin integrates FancyBox with WordPress without having to edit any "
|
1017 |
+
#~ "file or code. Once activated the plugin will apply FancyBox automatically "
|
1018 |
+
#~ "to all image links, including WordPress galleries. Future versions will "
|
1019 |
+
#~ "include some more options like easier inline content integration and more "
|
1020 |
+
#~ "advanced customization. Enjoy!"
|
1021 |
+
#~ msgstr ""
|
1022 |
+
#~ "Este plugin integra FancyBox con WordPress sin necesidad de editar ningún "
|
1023 |
+
#~ "archivo o HTML. Una vez activado, el plugin aplicará FancyBox "
|
1024 |
+
#~ "automáticamente a todos los enlaces a imágenes, incluyendo galerias de "
|
1025 |
+
#~ "WordPress. Que lo disfrutes!"
|
1026 |
+
|
1027 |
+
#~ msgid ""
|
1028 |
+
#~ "If you have problems or questions about FancyBox itself you should <a "
|
1029 |
+
#~ "href=\"http://groups.google.com/group/fancybox\">ask in the FancyBox "
|
1030 |
+
#~ "Google Group</a>. If you want to make suggestions or ask just about this "
|
1031 |
+
#~ "WordPress plugin you can <a href=\"http://blog.moskis.net/downloads/"
|
1032 |
+
#~ "plugins/fancybox-for-wordpress/\">leave a comment here</a>, <a href="
|
1033 |
+
#~ "\"http://blog.moskis.net/contactar/\">send me an email</a>, or <a href="
|
1034 |
+
#~ "\"http://twitter.com/moskis\">contact me on twitter</a>."
|
1035 |
+
#~ msgstr ""
|
1036 |
+
#~ "Si tienes problemas o preguntas sobre FancyBox deberías <a href=\"http://"
|
1037 |
+
#~ "groups.google.com/group/fancybox\">preguntar en este grupo de Google</a> "
|
1038 |
+
#~ "(enlace en inglés). Si tienes preguntas o sugerencias sobre este plugin "
|
1039 |
+
#~ "para WordPress, puedes <a href=\"http://blog.moskis.net/downloads/plugins/"
|
1040 |
+
#~ "fancybox-for-wordpress/\">dejar un comentario aquí</a>, <a href=\"http://"
|
1041 |
+
#~ "blog.moskis.net/contactar/\">enviarme un email</a>, o <a href=\"http://"
|
1042 |
+
#~ "twitter.com/moskis\">contactar conmigo vía Twitter</a>."
|
1043 |
+
|
1044 |
+
#~ msgid "Auto Apply"
|
1045 |
+
#~ msgstr "Auto Aplicar"
|
1046 |
+
|
1047 |
+
#~ msgid ""
|
1048 |
+
#~ "Apply FancyBox automatically to all links pointing to .jpg, .jpeg, .png "
|
1049 |
+
#~ "or .gif images (default: on)"
|
1050 |
+
#~ msgstr ""
|
1051 |
+
#~ "Aplicar FancyBox automáticamente a todos los enlaces que apunten a "
|
1052 |
+
#~ "archivos .jpg, .jpeg, .png o .gif (por defecto: activado)"
|
1053 |
+
|
1054 |
+
#~ msgid ""
|
1055 |
+
#~ "(The link itself must the an image as well, text links will not be "
|
1056 |
+
#~ "affected by this option!)"
|
1057 |
+
#~ msgstr ""
|
1058 |
+
#~ "(El link tiene que estar en una imagen, esta opción no affecta a enlaces "
|
1059 |
+
#~ "de texto!)"
|
1060 |
+
|
1061 |
+
#~ msgid ""
|
1062 |
+
#~ "(This does NOT conflict with the previous and next image links on "
|
1063 |
+
#~ "FancyBox galleries.)"
|
1064 |
+
#~ msgstr ""
|
1065 |
+
#~ "(Esto no afecta a los enlaces de Imagen Siguiente e Imagen Anterior en "
|
1066 |
+
#~ "galerias de varias imágenes)"
|
languages/mfbfw-tr_TR.po
CHANGED
@@ -1,325 +1,325 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: FancyBox for WordPress\n"
|
4 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/fancybox-for-wordpress\n"
|
5 |
-
"POT-Creation-Date: 2009-03-25 16:40+0000\n"
|
6 |
-
"PO-Revision-Date: \n"
|
7 |
-
"Last-Translator: Yunus Emre <immortalance@gmail.com>\n"
|
8 |
-
"Language-Team: \n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
|
13 |
-
#: admin.php:21
|
14 |
-
#, php-format
|
15 |
-
msgid "Fancybox for WordPress Options (version %s)"
|
16 |
-
msgstr "Wordpress Ayarları için Fancybox (Versiyon %s)"
|
17 |
-
|
18 |
-
#: admin.php:25
|
19 |
-
msgid "If you use FancyBox and like it, buy the author a beer!"
|
20 |
-
msgstr "Fancybox'u sevdiyseniz kodlayıcısına bir bira ısmarlayabilirsiniz!"
|
21 |
-
|
22 |
-
#: admin.php:46
|
23 |
-
msgid "The author of this WordPress Plugin also likes beer :P"
|
24 |
-
msgstr "Bu eklentinin sahibi bira hastasıdır :P"
|
25 |
-
|
26 |
-
#: admin.php:59
|
27 |
-
msgid "Follow me on Twitter for more WordPress Plugins and Themes"
|
28 |
-
msgstr "Daha fazla tema ve plugin için Twitter'dan beni takip edin."
|
29 |
-
|
30 |
-
#: admin.php:66
|
31 |
-
msgid "Info & Support"
|
32 |
-
msgstr "Bilgi & Destek"
|
33 |
-
|
34 |
-
#: admin.php:68
|
35 |
-
msgid "<a href=\"http://fancy.klade.lv/home\">FancyBox</a> developed by <a href=\"http://kac.klade.lv/\">Janis Skarnelis</a>, ported to WordPress by <a href=\"http://moskis.net/\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
36 |
-
msgstr "<a href=\"http://fancy.klade.lv/home\">FancyBox</a> <a href=\"http://kac.klade.lv/\">Janis Skarnelis</a> tarafından kodlanmıştır. WordPress'e <a href=\"http://moskis.net/\">José Pardilla</a> tarafından uyarlanmıştır. <strong><a href=\"http://blog.immortalance.net/\">Yunus Emre Bayraktar</a></strong> tarafından Türkçeleştirilmiştir. Lisans Tipi:<a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
37 |
-
|
38 |
-
#: admin.php:70
|
39 |
-
msgid "As you can see, this plugin has many options you can edit, but have no fear, you can leave everything as it is if you want, since the default options should be a good start... :)"
|
40 |
-
msgstr "Gördüğünüz gibi bu eklentide bir çok ayarlama yapabilirsin. Korkma, yanlış yaptığında ilk ayarlara dönüş imkanın var. :)"
|
41 |
-
|
42 |
-
#: admin.php:74
|
43 |
-
msgid "If you have problems or questions about FancyBox, please start with these links: <a href=\"http://fancy.klade.lv/howto\">How-To</a> & <a href=\"http://fancy.klade.lv/faq\">FAQ</a>.<br />If that does not help, go to <a href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</a>, use the <strong>Search</strong> option, and if necesary, post your question."
|
44 |
-
msgstr "FancyBox hakkında problem ve sorularınız varsa bu linkten başlayın: <a href=\"http://fancy.klade.lv/howto\">How-To</a> & <a href=\"http://fancy.klade.lv/faq\">FAQ</a>.<br />Eğer aradığınızı bulamadıysanız: <a href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</a>,'na gidin ve <strong>Arama</strong> kutucuğunu kullanın. Bulamadıysanız bir başlık açın."
|
45 |
-
|
46 |
-
#: admin.php:76
|
47 |
-
msgid "If you are having trouble with this plugin try to localize the problem (switch your theme and/or deactivate plugins until you find the source of the problem). You can also try the Troubleshooting settings at the bottom of this page if necesary. If you still can not get the plugin to work, <a href=\"http://blog.moskis.net/downloads/plugins/fancybox-for-wordpress/\">leave a comment here</a> explaining the problem."
|
48 |
-
msgstr "Eğer bir problem yaşarsanız temanızı kontrol ediniz ve sorunu çözene kadar eklentiyi kapatınız. Sorun Giderme kılavuzundan gerektiği taktirde yardım alabilirsiniz. eğer hala bir çözüm bulamadıysanız, <a href=\"http://blog.moskis.net/downloads/plugins/fancybox-for-wordpress/\">buraya</a> sorununuz hakkında yorum bırakabilirsiniz."
|
49 |
-
|
50 |
-
#: admin.php:81
|
51 |
-
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
52 |
-
msgstr "Görünen Ayarlar <span style=\"color:green\">(basic)</span>"
|
53 |
-
|
54 |
-
#: admin.php:83
|
55 |
-
msgid "These are the main settings, which let you tweak color, borders and animation."
|
56 |
-
msgstr "Buradaki ana ayarlar ile renk, çerçeve ve animasyonu seçebilirsiniz."
|
57 |
-
|
58 |
-
#: admin.php:85
|
59 |
-
msgid "<strong>Note:</strong> Having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options."
|
60 |
-
msgstr "<strong>Not:</strong> Eğer bir önbellek (Cache) eklentisi kullanıyorsanız ayarlamaları yaptıktan sonra değişiklikleri görmek için önbelleği temizleyin. Daha iyi bir yol ise önbellek eklentisini ayarlarınız bitene kadar kapalı konumda tutun."
|
61 |
-
|
62 |
-
#: admin.php:95
|
63 |
-
msgid "Border Color"
|
64 |
-
msgstr "Çerçeve Rengi"
|
65 |
-
|
66 |
-
#: admin.php:101
|
67 |
-
msgid "HTML color of the border (default: #BBBBBB)"
|
68 |
-
msgstr "Çerçeve için HTML rengi (default: #BBBBBB)"
|
69 |
-
|
70 |
-
#: admin.php:109
|
71 |
-
msgid "Close Button Position"
|
72 |
-
msgstr "Çıkış Butonu Pozisyonu"
|
73 |
-
|
74 |
-
#: admin.php:115
|
75 |
-
msgid "Left"
|
76 |
-
msgstr "Sol"
|
77 |
-
|
78 |
-
#: admin.php:120
|
79 |
-
msgid "Right (default)"
|
80 |
-
msgstr "Sağ"
|
81 |
-
|
82 |
-
#: admin.php:125
|
83 |
-
msgid "Bottom"
|
84 |
-
msgstr "Alt"
|
85 |
-
|
86 |
-
#: admin.php:130
|
87 |
-
msgid "Top (default)"
|
88 |
-
msgstr "Üst"
|
89 |
-
|
90 |
-
#: admin.php:138
|
91 |
-
msgid "Padding"
|
92 |
-
msgstr "Dolgu"
|
93 |
-
|
94 |
-
#: admin.php:144
|
95 |
-
msgid "HTML color of the padding (default: #FFFFFF)"
|
96 |
-
msgstr "Dolgunun HTML rengi (default: #FFFFFF)"
|
97 |
-
|
98 |
-
#: admin.php:149
|
99 |
-
msgid "Padding size in pixels (default: 10)"
|
100 |
-
msgstr "Pixel cinsinden dolgu (default: 10)"
|
101 |
-
|
102 |
-
#: admin.php:152
|
103 |
-
msgid "(Set <strong>Border Color</strong> to \"#000000\" and <strong>Padding Size</strong> to \"0\" for the classic FancyBox look)"
|
104 |
-
msgstr "(Klasik görünüm için<strong>Border Color</strong>'ni \"#000000\"'a ayarla ve <strong>Dolgu Boyutunu</strong> \"0\"a ayarla )"
|
105 |
-
|
106 |
-
#: admin.php:159
|
107 |
-
msgid "Overlay Options"
|
108 |
-
msgstr "Kaplama Ayarları"
|
109 |
-
|
110 |
-
#: admin.php:165
|
111 |
-
msgid "Add overlay (default: on)"
|
112 |
-
msgstr "Kaplama Ekle (default: on)"
|
113 |
-
|
114 |
-
#: admin.php:170
|
115 |
-
msgid "HTML color of the overlay (default: #666666)"
|
116 |
-
msgstr "Kaplama için ana HTML rengi (default: #666666)"
|
117 |
-
|
118 |
-
#: admin.php:183
|
119 |
-
msgid "Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)"
|
120 |
-
msgstr "Saydamlık ayarları. \"0\" saydam, \"1\" mat şekildedir. (default: 0.3)"
|
121 |
-
|
122 |
-
#: admin.php:191
|
123 |
-
msgid "Zoom Options"
|
124 |
-
msgstr "Yakınlaştırma Ayarları"
|
125 |
-
|
126 |
-
#: admin.php:197
|
127 |
-
msgid "Change content transparency during zoom animations (default: on)"
|
128 |
-
msgstr "Animasyonel yakınlaştırma sırasında resmin bulunduğu sayfayı saydamlaştır. (default: on)"
|
129 |
-
|
130 |
-
#: admin.php:209
|
131 |
-
msgid "Speed in miliseconds of the zooming-in animation (default: 500)"
|
132 |
-
msgstr "Milisaniye cinsinden yakınlaştırma hızı. (default: 500)"
|
133 |
-
|
134 |
-
#: admin.php:221
|
135 |
-
msgid "Speed in miliseconds of the zooming-out animation (default: 500)"
|
136 |
-
msgstr "Milisaniye cinsinden uzaklaştırma hızı. (default: 500)"
|
137 |
-
|
138 |
-
#: admin.php:229
|
139 |
-
msgid "Easing"
|
140 |
-
msgstr "Sönüklük"
|
141 |
-
|
142 |
-
#: admin.php:235
|
143 |
-
msgid "Activate easing (default: off)"
|
144 |
-
msgstr "Sönüklüğü Aktifleştir (Default: off)"
|
145 |
-
|
146 |
-
#: admin.php:248
|
147 |
-
msgid "Easing method when opening FancyBox. (default: easeOutBack)"
|
148 |
-
msgstr "Fancybox'u sönükleştirerek aç. (default: easeinback)"
|
149 |
-
|
150 |
-
#: admin.php:261
|
151 |
-
msgid "Easing method when closing FancyBox. (default: easeInBack)"
|
152 |
-
msgstr "Fancybox'u sönükleştirerek kapat. (default: easeinback)"
|
153 |
-
|
154 |
-
#: admin.php:274
|
155 |
-
msgid "Easing method when navigating through gallery items. (default: easeInOutQuart)"
|
156 |
-
msgstr "Galeri parçalarını gezdirirken sönükleştir . (default: easeInOutQuart)"
|
157 |
-
|
158 |
-
#: admin.php:277
|
159 |
-
msgid "(There are 30 different easing methods, the first ones are the most boring. You can test them <a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/animationtypes.html\" target=\"_blank\">here</a>)"
|
160 |
-
msgstr "(Burada 30 adet geçiş modu bulunmaktadır. İlk seçtiğiniz kötü olabilir. <a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/animationtypes.html\" target=\"_blank\">Buradan</a>) diğerlerini de kontrol edebilirsiniz."
|
161 |
-
|
162 |
-
#: admin.php:286
|
163 |
-
msgid "Show/Hide Advanced Settings"
|
164 |
-
msgstr "İnce Ayarları Göster/Sakla"
|
165 |
-
|
166 |
-
#: admin.php:287
|
167 |
-
msgid "Show/Hide Troubleshooting & Uninstall Settings"
|
168 |
-
msgstr "Troubleshooting & Eklentiyi Kaldırma ayarları Göster/Sakla"
|
169 |
-
|
170 |
-
#: admin.php:292
|
171 |
-
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
172 |
-
msgstr "Hareket Ayarları <span style=\"color:orange\">(medium)</span>"
|
173 |
-
|
174 |
-
#: admin.php:294
|
175 |
-
msgid "The following settings should be left on default unless you know what you are doing."
|
176 |
-
msgstr "Ne yaptığınızı bilmiyorsanız düzünlemekten vazgeçin ve ayarları ilk konumuna getirin. (default değerlerine)"
|
177 |
-
|
178 |
-
#: admin.php:300
|
179 |
-
msgid "Auto Resize to Fit"
|
180 |
-
msgstr "Otomatik Boyutlandırma"
|
181 |
-
|
182 |
-
#: admin.php:306
|
183 |
-
msgid "Scale images to fit in viewport (default: on)"
|
184 |
-
msgstr "Görüntülemeyi ölçeklendir. (default: on)"
|
185 |
-
|
186 |
-
#: admin.php:314
|
187 |
-
msgid "Center on Scroll"
|
188 |
-
msgstr "Kaydırırken Ortada"
|
189 |
-
|
190 |
-
#: admin.php:320
|
191 |
-
msgid "Keep image in the center of the browser window when scrolling (default: on)"
|
192 |
-
msgstr "Pencere kaydırıldığında resim de sayfayla beraber kaysın. (default: on)"
|
193 |
-
|
194 |
-
#: admin.php:328
|
195 |
-
msgid "Close on Click"
|
196 |
-
msgstr "Tıklandığında Çıkış"
|
197 |
-
|
198 |
-
#: admin.php:334
|
199 |
-
msgid "Close FancyBox by clicking on the image (default: off)"
|
200 |
-
msgstr "Resime tıklandığında resim penceresini kapat. (default: off)"
|
201 |
-
|
202 |
-
#: admin.php:337
|
203 |
-
msgid "(You may want to leave this off if you display iframed or inline content and it containts clickable elements - for example: play buttons for movies, links to other pages)"
|
204 |
-
msgstr "(Eğer sayfayı iframe içerisinde göstermek istemiyorsanız burayı terkedebilirsiniz. Ör:/ videolar için oynatma butonu ve diğer sayfalara linkler koymak gibi.)"
|
205 |
-
|
206 |
-
#: admin.php:347
|
207 |
-
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
208 |
-
msgstr "Galeri Ayarları <span style=\"color:red\">(advanced)</span>"
|
209 |
-
|
210 |
-
#: admin.php:349
|
211 |
-
msgid "Here you can choose if you want the plugin to group all images into a gallery, or make a gallery for each post. You can also define you own jQuery expression if you like."
|
212 |
-
msgstr "İsterseniz buradan bütün resimleri galerinin içine koyabilir ve yazınıza galeri oluşturabilirsiniz. Ayrıca kendi jQuery ifadelerini kullanabilirsiniz."
|
213 |
-
|
214 |
-
#: admin.php:355
|
215 |
-
msgid "Frame Size"
|
216 |
-
msgstr "Açılır Pencere Boyutu"
|
217 |
-
|
218 |
-
#: admin.php:361
|
219 |
-
msgid "Width in pixels of FancyBox when showing iframe content (default: 640)"
|
220 |
-
msgstr "Açılır pencere açıldığında Fancybox'un Pixel cinsinden genişliği. (default: 640)"
|
221 |
-
|
222 |
-
#: admin.php:366
|
223 |
-
msgid "Height in pixels of FancyBox when showing iframe content (default: 500)"
|
224 |
-
msgstr "Açılır pencere açıldığında Fancybox'un Pixel cinsinden yüksekliği. (default: 500)"
|
225 |
-
|
226 |
-
#: admin.php:374
|
227 |
-
msgid "Gallery Type"
|
228 |
-
msgstr "Galeri Tipi"
|
229 |
-
|
230 |
-
#: admin.php:380
|
231 |
-
msgid "Make a gallery for all images on the page (default)"
|
232 |
-
msgstr "Sayfadaki tüm resimlerden bir galeri oluştur. (default)"
|
233 |
-
|
234 |
-
#: admin.php:385
|
235 |
-
msgid "Do not group images in gallery automatically (use this if you want to make galleries manually with the <code>REL</code> attribute)"
|
236 |
-
msgstr "Resimleri otomatik olarak galeriye ekleme. (Bunu resimleri kendiniz galeriye eklemek isterseniz kullanın. Resimleri<code>REL</code> kodu ile galeriye ekleyebilirsiniz.)"
|
237 |
-
|
238 |
-
#: admin.php:390
|
239 |
-
msgid "Make a gallery for each post (will only work if your theme uses <code>class=\"post\"</code> on each post, which is common in WordPress"
|
240 |
-
msgstr "Her yazıda resim galerisi oluştur. (Sadece temanız her yazıda<code>class=\"post\"</code> kodunu kullanıyorsa çalışır, Wordpress'de yaygın olarak kullanılır.)"
|
241 |
-
|
242 |
-
#: admin.php:395
|
243 |
-
msgid "Use a custom expression to apply FancyBox"
|
244 |
-
msgstr "Kendi ifadelerinizi Fancybox'a ekleyin."
|
245 |
-
|
246 |
-
#: admin.php:404
|
247 |
-
msgid "Custom expression guidelines:"
|
248 |
-
msgstr "Özelleştirilmiş İfadeler Kılavuzu:"
|
249 |
-
|
250 |
-
#: admin.php:406
|
251 |
-
msgid "The custom expression has to apply <code>class=\"fancybox\"</code> to the links where you want to use FancyBox."
|
252 |
-
msgstr "Kendi ifadelerinizi kullanmak için FancyBox'u kullandığınız yerdeki linke <code>class=\"fancybox\"</code> kodunu yerleştiriniz."
|
253 |
-
|
254 |
-
#: admin.php:408
|
255 |
-
msgid "The jQuery <code>addClass()</code> function is a good way to add the class to the desired links conserving any existing class."
|
256 |
-
msgstr "jQuery <code>addClass()</code> fonksiyonu linklere falan şekil vermek için iyi bir yoldur."
|
257 |
-
|
258 |
-
#: admin.php:410
|
259 |
-
msgid "You can use <code>getTitle()</code> in your expression to copy the title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so that FancyBox can show captions."
|
260 |
-
msgstr "You can use <code>getTitle()</code> in your expression to copy the title attribute from the <code>IMG</code> tag to the <code>A</code> tag, böylece başlıkları gösterebilirsiniz."
|
261 |
-
|
262 |
-
#: admin.php:412
|
263 |
-
msgid "Do not call the <code>fancybox()</code> function here, the plugin does this for you."
|
264 |
-
msgstr "<code>fancybox()</code> fonksiyonunu burada çalıştırma, eklenti sizin için."
|
265 |
-
|
266 |
-
#: admin.php:428
|
267 |
-
msgid "Troubleshooting Settings"
|
268 |
-
msgstr "Sorun Giderme Ayarları"
|
269 |
-
|
270 |
-
#: admin.php:430
|
271 |
-
msgid "Settings in this section should only be changed if you are having problems with the plugin!"
|
272 |
-
msgstr "Bu seçenek sadece eklentide bir problem yaşanıyorsa değiştirilebilir."
|
273 |
-
|
274 |
-
#: admin.php:432
|
275 |
-
msgid "If the plugin doesn't seem to work, first you should check for other plugins that may be conflicting with this one, especially other Lightbox, Slimbox, etc. Make sure all your plugins and WordPress itself are up to date (this plugin has only been tested in WordPress 2.7 and above)."
|
276 |
-
msgstr "Eğer bu eklenti çalışmıyor gibi görünüyorsa diğer eklentileri kontrol edin ve tüm eklentilerin güncel olduğundan emin olun. ( Bu eklenti sadece Wordpress 2.7 ve daha yüksek sürümlerinde test edilmiştir.)"
|
277 |
-
|
278 |
-
#: admin.php:434
|
279 |
-
msgid "Change them one at a time and test to see if they help. Remember that having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options."
|
280 |
-
msgstr "Bir defalığına test etmeniz size yardımcı olabilir. Test işlemini yapmadan önce ön bellek (cache) kullanıyorsanız önbelleği temizleyiniz ve sonra test işlemi yapınız. Önbelekleme sizin yaptığınız değişiklikleri görmenizi engelleyecektir. "
|
281 |
-
|
282 |
-
#: admin.php:440
|
283 |
-
msgid "Do not call jQuery"
|
284 |
-
msgstr "jQuery kullanma"
|
285 |
-
|
286 |
-
#: admin.php:446
|
287 |
-
msgid "Skip jQuery call. Use this only if jQuery is being loaded twice (default: off)"
|
288 |
-
msgstr "JQuery sorgusunu atla. Eğer JQuery iki defa çalışıyorsa bunu kullanın."
|
289 |
-
|
290 |
-
#: admin.php:454
|
291 |
-
msgid "jQuery \"noConflict\" Mode"
|
292 |
-
msgstr "jQuery \"noConflict\" Modu"
|
293 |
-
|
294 |
-
#: admin.php:460
|
295 |
-
msgid "Use jQuery noConflict mode (default: on)"
|
296 |
-
msgstr "jQuery noConflict modu kullan (default: on)"
|
297 |
-
|
298 |
-
#: admin.php:463
|
299 |
-
msgid "(Turning this off may cause problems if there are plugins activated that use other js framework like mootools, prototype, scriptaculous, etc.)"
|
300 |
-
msgstr "(Eğer eklenti aktifken diğer Java Scriptlerle ilgili problem yaşarsa (mootols, prototype gibi) bunu kapalı konuma getirin. )"
|
301 |
-
|
302 |
-
#: admin.php:472
|
303 |
-
msgid "Uninstall"
|
304 |
-
msgstr "Eklentiyi Kaldır"
|
305 |
-
|
306 |
-
#: admin.php:474
|
307 |
-
msgid "Like many other plugins, FancyBox for WordPress stores its settings on your WordPress' options database table. Actually, these settings are not using more than a couple of kilobytes of space, but if you want to completely uninstall this plugin, check the option below, then save changes, and <strong>when you deactivate the plugin</strong>, all its settings will be removed from the database."
|
308 |
-
msgstr "Diğer eklentiler gibi Fancybox da veritabanında Wordpress ayarları tablosunu kullanarak çalışır. Çok fazla boyut kullanmamasına rağmen kaldırmak isterseniz öncelikle ayarlardan eklentiyi kapatınız. Böylece ayarlarınız veritababnından silinecektir. Daha sonra kaldırma işlemini tamamlayabilirsiniz."
|
309 |
-
|
310 |
-
#: admin.php:480
|
311 |
-
msgid "Remove settings"
|
312 |
-
msgstr "Ayarları Sil"
|
313 |
-
|
314 |
-
#: admin.php:486
|
315 |
-
msgid "Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. (default: off)"
|
316 |
-
msgstr "Eklenti etkisizleştirildiğinde ayarları temizle."
|
317 |
-
|
318 |
-
#: admin.php:503
|
319 |
-
msgid "Save Changes"
|
320 |
-
msgstr "Değişiklikleri Kaydet"
|
321 |
-
|
322 |
-
#: fancybox.php:437
|
323 |
-
msgid "Settings"
|
324 |
-
msgstr "Ayarlar"
|
325 |
-
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: FancyBox for WordPress\n"
|
4 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/fancybox-for-wordpress\n"
|
5 |
+
"POT-Creation-Date: 2009-03-25 16:40+0000\n"
|
6 |
+
"PO-Revision-Date: \n"
|
7 |
+
"Last-Translator: Yunus Emre <immortalance@gmail.com>\n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
|
13 |
+
#: admin.php:21
|
14 |
+
#, php-format
|
15 |
+
msgid "Fancybox for WordPress Options (version %s)"
|
16 |
+
msgstr "Wordpress Ayarları için Fancybox (Versiyon %s)"
|
17 |
+
|
18 |
+
#: admin.php:25
|
19 |
+
msgid "If you use FancyBox and like it, buy the author a beer!"
|
20 |
+
msgstr "Fancybox'u sevdiyseniz kodlayıcısına bir bira ısmarlayabilirsiniz!"
|
21 |
+
|
22 |
+
#: admin.php:46
|
23 |
+
msgid "The author of this WordPress Plugin also likes beer :P"
|
24 |
+
msgstr "Bu eklentinin sahibi bira hastasıdır :P"
|
25 |
+
|
26 |
+
#: admin.php:59
|
27 |
+
msgid "Follow me on Twitter for more WordPress Plugins and Themes"
|
28 |
+
msgstr "Daha fazla tema ve plugin için Twitter'dan beni takip edin."
|
29 |
+
|
30 |
+
#: admin.php:66
|
31 |
+
msgid "Info & Support"
|
32 |
+
msgstr "Bilgi & Destek"
|
33 |
+
|
34 |
+
#: admin.php:68
|
35 |
+
msgid "<a href=\"http://fancy.klade.lv/home\">FancyBox</a> developed by <a href=\"http://kac.klade.lv/\">Janis Skarnelis</a>, ported to WordPress by <a href=\"http://moskis.net/\">José Pardilla</a>. Licensed under the <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
36 |
+
msgstr "<a href=\"http://fancy.klade.lv/home\">FancyBox</a> <a href=\"http://kac.klade.lv/\">Janis Skarnelis</a> tarafından kodlanmıştır. WordPress'e <a href=\"http://moskis.net/\">José Pardilla</a> tarafından uyarlanmıştır. <strong><a href=\"http://blog.immortalance.net/\">Yunus Emre Bayraktar</a></strong> tarafından Türkçeleştirilmiştir. Lisans Tipi:<a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/MIT_License\">MIT License</a>."
|
37 |
+
|
38 |
+
#: admin.php:70
|
39 |
+
msgid "As you can see, this plugin has many options you can edit, but have no fear, you can leave everything as it is if you want, since the default options should be a good start... :)"
|
40 |
+
msgstr "Gördüğünüz gibi bu eklentide bir çok ayarlama yapabilirsin. Korkma, yanlış yaptığında ilk ayarlara dönüş imkanın var. :)"
|
41 |
+
|
42 |
+
#: admin.php:74
|
43 |
+
msgid "If you have problems or questions about FancyBox, please start with these links: <a href=\"http://fancy.klade.lv/howto\">How-To</a> & <a href=\"http://fancy.klade.lv/faq\">FAQ</a>.<br />If that does not help, go to <a href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</a>, use the <strong>Search</strong> option, and if necesary, post your question."
|
44 |
+
msgstr "FancyBox hakkında problem ve sorularınız varsa bu linkten başlayın: <a href=\"http://fancy.klade.lv/howto\">How-To</a> & <a href=\"http://fancy.klade.lv/faq\">FAQ</a>.<br />Eğer aradığınızı bulamadıysanız: <a href=\"http://groups.google.com/group/fancybox\">the FancyBox Google Group</a>,'na gidin ve <strong>Arama</strong> kutucuğunu kullanın. Bulamadıysanız bir başlık açın."
|
45 |
+
|
46 |
+
#: admin.php:76
|
47 |
+
msgid "If you are having trouble with this plugin try to localize the problem (switch your theme and/or deactivate plugins until you find the source of the problem). You can also try the Troubleshooting settings at the bottom of this page if necesary. If you still can not get the plugin to work, <a href=\"http://blog.moskis.net/downloads/plugins/fancybox-for-wordpress/\">leave a comment here</a> explaining the problem."
|
48 |
+
msgstr "Eğer bir problem yaşarsanız temanızı kontrol ediniz ve sorunu çözene kadar eklentiyi kapatınız. Sorun Giderme kılavuzundan gerektiği taktirde yardım alabilirsiniz. eğer hala bir çözüm bulamadıysanız, <a href=\"http://blog.moskis.net/downloads/plugins/fancybox-for-wordpress/\">buraya</a> sorununuz hakkında yorum bırakabilirsiniz."
|
49 |
+
|
50 |
+
#: admin.php:81
|
51 |
+
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
52 |
+
msgstr "Görünen Ayarlar <span style=\"color:green\">(basic)</span>"
|
53 |
+
|
54 |
+
#: admin.php:83
|
55 |
+
msgid "These are the main settings, which let you tweak color, borders and animation."
|
56 |
+
msgstr "Buradaki ana ayarlar ile renk, çerçeve ve animasyonu seçebilirsiniz."
|
57 |
+
|
58 |
+
#: admin.php:85
|
59 |
+
msgid "<strong>Note:</strong> Having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options."
|
60 |
+
msgstr "<strong>Not:</strong> Eğer bir önbellek (Cache) eklentisi kullanıyorsanız ayarlamaları yaptıktan sonra değişiklikleri görmek için önbelleği temizleyin. Daha iyi bir yol ise önbellek eklentisini ayarlarınız bitene kadar kapalı konumda tutun."
|
61 |
+
|
62 |
+
#: admin.php:95
|
63 |
+
msgid "Border Color"
|
64 |
+
msgstr "Çerçeve Rengi"
|
65 |
+
|
66 |
+
#: admin.php:101
|
67 |
+
msgid "HTML color of the border (default: #BBBBBB)"
|
68 |
+
msgstr "Çerçeve için HTML rengi (default: #BBBBBB)"
|
69 |
+
|
70 |
+
#: admin.php:109
|
71 |
+
msgid "Close Button Position"
|
72 |
+
msgstr "Çıkış Butonu Pozisyonu"
|
73 |
+
|
74 |
+
#: admin.php:115
|
75 |
+
msgid "Left"
|
76 |
+
msgstr "Sol"
|
77 |
+
|
78 |
+
#: admin.php:120
|
79 |
+
msgid "Right (default)"
|
80 |
+
msgstr "Sağ"
|
81 |
+
|
82 |
+
#: admin.php:125
|
83 |
+
msgid "Bottom"
|
84 |
+
msgstr "Alt"
|
85 |
+
|
86 |
+
#: admin.php:130
|
87 |
+
msgid "Top (default)"
|
88 |
+
msgstr "Üst"
|
89 |
+
|
90 |
+
#: admin.php:138
|
91 |
+
msgid "Padding"
|
92 |
+
msgstr "Dolgu"
|
93 |
+
|
94 |
+
#: admin.php:144
|
95 |
+
msgid "HTML color of the padding (default: #FFFFFF)"
|
96 |
+
msgstr "Dolgunun HTML rengi (default: #FFFFFF)"
|
97 |
+
|
98 |
+
#: admin.php:149
|
99 |
+
msgid "Padding size in pixels (default: 10)"
|
100 |
+
msgstr "Pixel cinsinden dolgu (default: 10)"
|
101 |
+
|
102 |
+
#: admin.php:152
|
103 |
+
msgid "(Set <strong>Border Color</strong> to \"#000000\" and <strong>Padding Size</strong> to \"0\" for the classic FancyBox look)"
|
104 |
+
msgstr "(Klasik görünüm için<strong>Border Color</strong>'ni \"#000000\"'a ayarla ve <strong>Dolgu Boyutunu</strong> \"0\"a ayarla )"
|
105 |
+
|
106 |
+
#: admin.php:159
|
107 |
+
msgid "Overlay Options"
|
108 |
+
msgstr "Kaplama Ayarları"
|
109 |
+
|
110 |
+
#: admin.php:165
|
111 |
+
msgid "Add overlay (default: on)"
|
112 |
+
msgstr "Kaplama Ekle (default: on)"
|
113 |
+
|
114 |
+
#: admin.php:170
|
115 |
+
msgid "HTML color of the overlay (default: #666666)"
|
116 |
+
msgstr "Kaplama için ana HTML rengi (default: #666666)"
|
117 |
+
|
118 |
+
#: admin.php:183
|
119 |
+
msgid "Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)"
|
120 |
+
msgstr "Saydamlık ayarları. \"0\" saydam, \"1\" mat şekildedir. (default: 0.3)"
|
121 |
+
|
122 |
+
#: admin.php:191
|
123 |
+
msgid "Zoom Options"
|
124 |
+
msgstr "Yakınlaştırma Ayarları"
|
125 |
+
|
126 |
+
#: admin.php:197
|
127 |
+
msgid "Change content transparency during zoom animations (default: on)"
|
128 |
+
msgstr "Animasyonel yakınlaştırma sırasında resmin bulunduğu sayfayı saydamlaştır. (default: on)"
|
129 |
+
|
130 |
+
#: admin.php:209
|
131 |
+
msgid "Speed in miliseconds of the zooming-in animation (default: 500)"
|
132 |
+
msgstr "Milisaniye cinsinden yakınlaştırma hızı. (default: 500)"
|
133 |
+
|
134 |
+
#: admin.php:221
|
135 |
+
msgid "Speed in miliseconds of the zooming-out animation (default: 500)"
|
136 |
+
msgstr "Milisaniye cinsinden uzaklaştırma hızı. (default: 500)"
|
137 |
+
|
138 |
+
#: admin.php:229
|
139 |
+
msgid "Easing"
|
140 |
+
msgstr "Sönüklük"
|
141 |
+
|
142 |
+
#: admin.php:235
|
143 |
+
msgid "Activate easing (default: off)"
|
144 |
+
msgstr "Sönüklüğü Aktifleştir (Default: off)"
|
145 |
+
|
146 |
+
#: admin.php:248
|
147 |
+
msgid "Easing method when opening FancyBox. (default: easeOutBack)"
|
148 |
+
msgstr "Fancybox'u sönükleştirerek aç. (default: easeinback)"
|
149 |
+
|
150 |
+
#: admin.php:261
|
151 |
+
msgid "Easing method when closing FancyBox. (default: easeInBack)"
|
152 |
+
msgstr "Fancybox'u sönükleştirerek kapat. (default: easeinback)"
|
153 |
+
|
154 |
+
#: admin.php:274
|
155 |
+
msgid "Easing method when navigating through gallery items. (default: easeInOutQuart)"
|
156 |
+
msgstr "Galeri parçalarını gezdirirken sönükleştir . (default: easeInOutQuart)"
|
157 |
+
|
158 |
+
#: admin.php:277
|
159 |
+
msgid "(There are 30 different easing methods, the first ones are the most boring. You can test them <a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/animationtypes.html\" target=\"_blank\">here</a>)"
|
160 |
+
msgstr "(Burada 30 adet geçiş modu bulunmaktadır. İlk seçtiğiniz kötü olabilir. <a href=\"http://commadot.com/jquery/easing.php\" target=\"_blank\">here</a> or <a href=\"http://hosted.zeh.com.br/mctween/animationtypes.html\" target=\"_blank\">Buradan</a>) diğerlerini de kontrol edebilirsiniz."
|
161 |
+
|
162 |
+
#: admin.php:286
|
163 |
+
msgid "Show/Hide Advanced Settings"
|
164 |
+
msgstr "İnce Ayarları Göster/Sakla"
|
165 |
+
|
166 |
+
#: admin.php:287
|
167 |
+
msgid "Show/Hide Troubleshooting & Uninstall Settings"
|
168 |
+
msgstr "Troubleshooting & Eklentiyi Kaldırma ayarları Göster/Sakla"
|
169 |
+
|
170 |
+
#: admin.php:292
|
171 |
+
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
172 |
+
msgstr "Hareket Ayarları <span style=\"color:orange\">(medium)</span>"
|
173 |
+
|
174 |
+
#: admin.php:294
|
175 |
+
msgid "The following settings should be left on default unless you know what you are doing."
|
176 |
+
msgstr "Ne yaptığınızı bilmiyorsanız düzünlemekten vazgeçin ve ayarları ilk konumuna getirin. (default değerlerine)"
|
177 |
+
|
178 |
+
#: admin.php:300
|
179 |
+
msgid "Auto Resize to Fit"
|
180 |
+
msgstr "Otomatik Boyutlandırma"
|
181 |
+
|
182 |
+
#: admin.php:306
|
183 |
+
msgid "Scale images to fit in viewport (default: on)"
|
184 |
+
msgstr "Görüntülemeyi ölçeklendir. (default: on)"
|
185 |
+
|
186 |
+
#: admin.php:314
|
187 |
+
msgid "Center on Scroll"
|
188 |
+
msgstr "Kaydırırken Ortada"
|
189 |
+
|
190 |
+
#: admin.php:320
|
191 |
+
msgid "Keep image in the center of the browser window when scrolling (default: on)"
|
192 |
+
msgstr "Pencere kaydırıldığında resim de sayfayla beraber kaysın. (default: on)"
|
193 |
+
|
194 |
+
#: admin.php:328
|
195 |
+
msgid "Close on Click"
|
196 |
+
msgstr "Tıklandığında Çıkış"
|
197 |
+
|
198 |
+
#: admin.php:334
|
199 |
+
msgid "Close FancyBox by clicking on the image (default: off)"
|
200 |
+
msgstr "Resime tıklandığında resim penceresini kapat. (default: off)"
|
201 |
+
|
202 |
+
#: admin.php:337
|
203 |
+
msgid "(You may want to leave this off if you display iframed or inline content and it containts clickable elements - for example: play buttons for movies, links to other pages)"
|
204 |
+
msgstr "(Eğer sayfayı iframe içerisinde göstermek istemiyorsanız burayı terkedebilirsiniz. Ör:/ videolar için oynatma butonu ve diğer sayfalara linkler koymak gibi.)"
|
205 |
+
|
206 |
+
#: admin.php:347
|
207 |
+
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
208 |
+
msgstr "Galeri Ayarları <span style=\"color:red\">(advanced)</span>"
|
209 |
+
|
210 |
+
#: admin.php:349
|
211 |
+
msgid "Here you can choose if you want the plugin to group all images into a gallery, or make a gallery for each post. You can also define you own jQuery expression if you like."
|
212 |
+
msgstr "İsterseniz buradan bütün resimleri galerinin içine koyabilir ve yazınıza galeri oluşturabilirsiniz. Ayrıca kendi jQuery ifadelerini kullanabilirsiniz."
|
213 |
+
|
214 |
+
#: admin.php:355
|
215 |
+
msgid "Frame Size"
|
216 |
+
msgstr "Açılır Pencere Boyutu"
|
217 |
+
|
218 |
+
#: admin.php:361
|
219 |
+
msgid "Width in pixels of FancyBox when showing iframe content (default: 640)"
|
220 |
+
msgstr "Açılır pencere açıldığında Fancybox'un Pixel cinsinden genişliği. (default: 640)"
|
221 |
+
|
222 |
+
#: admin.php:366
|
223 |
+
msgid "Height in pixels of FancyBox when showing iframe content (default: 500)"
|
224 |
+
msgstr "Açılır pencere açıldığında Fancybox'un Pixel cinsinden yüksekliği. (default: 500)"
|
225 |
+
|
226 |
+
#: admin.php:374
|
227 |
+
msgid "Gallery Type"
|
228 |
+
msgstr "Galeri Tipi"
|
229 |
+
|
230 |
+
#: admin.php:380
|
231 |
+
msgid "Make a gallery for all images on the page (default)"
|
232 |
+
msgstr "Sayfadaki tüm resimlerden bir galeri oluştur. (default)"
|
233 |
+
|
234 |
+
#: admin.php:385
|
235 |
+
msgid "Do not group images in gallery automatically (use this if you want to make galleries manually with the <code>REL</code> attribute)"
|
236 |
+
msgstr "Resimleri otomatik olarak galeriye ekleme. (Bunu resimleri kendiniz galeriye eklemek isterseniz kullanın. Resimleri<code>REL</code> kodu ile galeriye ekleyebilirsiniz.)"
|
237 |
+
|
238 |
+
#: admin.php:390
|
239 |
+
msgid "Make a gallery for each post (will only work if your theme uses <code>class=\"post\"</code> on each post, which is common in WordPress"
|
240 |
+
msgstr "Her yazıda resim galerisi oluştur. (Sadece temanız her yazıda<code>class=\"post\"</code> kodunu kullanıyorsa çalışır, Wordpress'de yaygın olarak kullanılır.)"
|
241 |
+
|
242 |
+
#: admin.php:395
|
243 |
+
msgid "Use a custom expression to apply FancyBox"
|
244 |
+
msgstr "Kendi ifadelerinizi Fancybox'a ekleyin."
|
245 |
+
|
246 |
+
#: admin.php:404
|
247 |
+
msgid "Custom expression guidelines:"
|
248 |
+
msgstr "Özelleştirilmiş İfadeler Kılavuzu:"
|
249 |
+
|
250 |
+
#: admin.php:406
|
251 |
+
msgid "The custom expression has to apply <code>class=\"fancybox\"</code> to the links where you want to use FancyBox."
|
252 |
+
msgstr "Kendi ifadelerinizi kullanmak için FancyBox'u kullandığınız yerdeki linke <code>class=\"fancybox\"</code> kodunu yerleştiriniz."
|
253 |
+
|
254 |
+
#: admin.php:408
|
255 |
+
msgid "The jQuery <code>addClass()</code> function is a good way to add the class to the desired links conserving any existing class."
|
256 |
+
msgstr "jQuery <code>addClass()</code> fonksiyonu linklere falan şekil vermek için iyi bir yoldur."
|
257 |
+
|
258 |
+
#: admin.php:410
|
259 |
+
msgid "You can use <code>getTitle()</code> in your expression to copy the title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so that FancyBox can show captions."
|
260 |
+
msgstr "You can use <code>getTitle()</code> in your expression to copy the title attribute from the <code>IMG</code> tag to the <code>A</code> tag, böylece başlıkları gösterebilirsiniz."
|
261 |
+
|
262 |
+
#: admin.php:412
|
263 |
+
msgid "Do not call the <code>fancybox()</code> function here, the plugin does this for you."
|
264 |
+
msgstr "<code>fancybox()</code> fonksiyonunu burada çalıştırma, eklenti sizin için."
|
265 |
+
|
266 |
+
#: admin.php:428
|
267 |
+
msgid "Troubleshooting Settings"
|
268 |
+
msgstr "Sorun Giderme Ayarları"
|
269 |
+
|
270 |
+
#: admin.php:430
|
271 |
+
msgid "Settings in this section should only be changed if you are having problems with the plugin!"
|
272 |
+
msgstr "Bu seçenek sadece eklentide bir problem yaşanıyorsa değiştirilebilir."
|
273 |
+
|
274 |
+
#: admin.php:432
|
275 |
+
msgid "If the plugin doesn't seem to work, first you should check for other plugins that may be conflicting with this one, especially other Lightbox, Slimbox, etc. Make sure all your plugins and WordPress itself are up to date (this plugin has only been tested in WordPress 2.7 and above)."
|
276 |
+
msgstr "Eğer bu eklenti çalışmıyor gibi görünüyorsa diğer eklentileri kontrol edin ve tüm eklentilerin güncel olduğundan emin olun. ( Bu eklenti sadece Wordpress 2.7 ve daha yüksek sürümlerinde test edilmiştir.)"
|
277 |
+
|
278 |
+
#: admin.php:434
|
279 |
+
msgid "Change them one at a time and test to see if they help. Remember that having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options."
|
280 |
+
msgstr "Bir defalığına test etmeniz size yardımcı olabilir. Test işlemini yapmadan önce ön bellek (cache) kullanıyorsanız önbelleği temizleyiniz ve sonra test işlemi yapınız. Önbelekleme sizin yaptığınız değişiklikleri görmenizi engelleyecektir. "
|
281 |
+
|
282 |
+
#: admin.php:440
|
283 |
+
msgid "Do not call jQuery"
|
284 |
+
msgstr "jQuery kullanma"
|
285 |
+
|
286 |
+
#: admin.php:446
|
287 |
+
msgid "Skip jQuery call. Use this only if jQuery is being loaded twice (default: off)"
|
288 |
+
msgstr "JQuery sorgusunu atla. Eğer JQuery iki defa çalışıyorsa bunu kullanın."
|
289 |
+
|
290 |
+
#: admin.php:454
|
291 |
+
msgid "jQuery \"noConflict\" Mode"
|
292 |
+
msgstr "jQuery \"noConflict\" Modu"
|
293 |
+
|
294 |
+
#: admin.php:460
|
295 |
+
msgid "Use jQuery noConflict mode (default: on)"
|
296 |
+
msgstr "jQuery noConflict modu kullan (default: on)"
|
297 |
+
|
298 |
+
#: admin.php:463
|
299 |
+
msgid "(Turning this off may cause problems if there are plugins activated that use other js framework like mootools, prototype, scriptaculous, etc.)"
|
300 |
+
msgstr "(Eğer eklenti aktifken diğer Java Scriptlerle ilgili problem yaşarsa (mootols, prototype gibi) bunu kapalı konuma getirin. )"
|
301 |
+
|
302 |
+
#: admin.php:472
|
303 |
+
msgid "Uninstall"
|
304 |
+
msgstr "Eklentiyi Kaldır"
|
305 |
+
|
306 |
+
#: admin.php:474
|
307 |
+
msgid "Like many other plugins, FancyBox for WordPress stores its settings on your WordPress' options database table. Actually, these settings are not using more than a couple of kilobytes of space, but if you want to completely uninstall this plugin, check the option below, then save changes, and <strong>when you deactivate the plugin</strong>, all its settings will be removed from the database."
|
308 |
+
msgstr "Diğer eklentiler gibi Fancybox da veritabanında Wordpress ayarları tablosunu kullanarak çalışır. Çok fazla boyut kullanmamasına rağmen kaldırmak isterseniz öncelikle ayarlardan eklentiyi kapatınız. Böylece ayarlarınız veritababnından silinecektir. Daha sonra kaldırma işlemini tamamlayabilirsiniz."
|
309 |
+
|
310 |
+
#: admin.php:480
|
311 |
+
msgid "Remove settings"
|
312 |
+
msgstr "Ayarları Sil"
|
313 |
+
|
314 |
+
#: admin.php:486
|
315 |
+
msgid "Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. (default: off)"
|
316 |
+
msgstr "Eklenti etkisizleştirildiğinde ayarları temizle."
|
317 |
+
|
318 |
+
#: admin.php:503
|
319 |
+
msgid "Save Changes"
|
320 |
+
msgstr "Değişiklikleri Kaydet"
|
321 |
+
|
322 |
+
#: fancybox.php:437
|
323 |
+
msgid "Settings"
|
324 |
+
msgstr "Ayarlar"
|
325 |
+
|
languages/mfbfw.pot
CHANGED
@@ -1,644 +1,644 @@
|
|
1 |
-
# Copyright (C) 2015 FancyBox for WordPress
|
2 |
-
# This file is distributed under the same license as the FancyBox for WordPress package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: FancyBox for WordPress 3.0.5\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/fancybox-for-"
|
7 |
-
"wordpress\n"
|
8 |
-
"POT-Creation-Date: 2015-02-07 01:56:01+00:00\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
|
13 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
-
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
-
|
16 |
-
#: admin.php:12
|
17 |
-
#, php-format
|
18 |
-
msgid "Fancybox for WordPress (version %s)"
|
19 |
-
msgstr ""
|
20 |
-
|
21 |
-
#: admin.php:26
|
22 |
-
msgid "Appearance"
|
23 |
-
msgstr ""
|
24 |
-
|
25 |
-
#: admin.php:27
|
26 |
-
msgid "Animations"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: admin.php:28
|
30 |
-
msgid "Behaviour"
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: admin.php:29
|
34 |
-
msgid "Galleries"
|
35 |
-
msgstr ""
|
36 |
-
|
37 |
-
#: admin.php:30
|
38 |
-
msgid "Misc."
|
39 |
-
msgstr ""
|
40 |
-
|
41 |
-
#: admin.php:31
|
42 |
-
msgid "Support"
|
43 |
-
msgstr ""
|
44 |
-
|
45 |
-
#: admin.php:62
|
46 |
-
msgid "Save Changes"
|
47 |
-
msgstr ""
|
48 |
-
|
49 |
-
#: admin.php:71
|
50 |
-
msgid "Revert to defaults"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: fancybox.php:382
|
54 |
-
msgid "Rollback version"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: fancybox.php:469
|
58 |
-
msgid "Settings"
|
59 |
-
msgstr ""
|
60 |
-
|
61 |
-
#: lib/admin-tab-animations.php:1
|
62 |
-
msgid "Animation Settings <span style=\"color:green\">(basic)</span>"
|
63 |
-
msgstr ""
|
64 |
-
|
65 |
-
#: lib/admin-tab-animations.php:3
|
66 |
-
msgid ""
|
67 |
-
"These settings control the animations when opening and closing Fancybox, and "
|
68 |
-
"the optional easing effects."
|
69 |
-
msgstr ""
|
70 |
-
|
71 |
-
#: lib/admin-tab-animations.php:8
|
72 |
-
msgid "Zoom Options"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: lib/admin-tab-animations.php:16
|
76 |
-
msgid "Change content transparency during zoom animations (default: on)"
|
77 |
-
msgstr ""
|
78 |
-
|
79 |
-
#: lib/admin-tab-animations.php:22
|
80 |
-
msgid "Animation Type"
|
81 |
-
msgstr ""
|
82 |
-
|
83 |
-
#: lib/admin-tab-animations.php:33
|
84 |
-
msgid "Animation type when opening FancyBox. (default: fade)"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: lib/admin-tab-animations.php:45
|
88 |
-
msgid "Speed in miliseconds of the FancyBox opening animation (default: 500)"
|
89 |
-
msgstr ""
|
90 |
-
|
91 |
-
#: lib/admin-tab-animations.php:52
|
92 |
-
msgid "Animation between slides Options"
|
93 |
-
msgstr ""
|
94 |
-
|
95 |
-
#: lib/admin-tab-animations.php:63
|
96 |
-
msgid "Select Animation type for the slides(default: fade)"
|
97 |
-
msgstr ""
|
98 |
-
|
99 |
-
#: lib/admin-tab-animations.php:74
|
100 |
-
msgid ""
|
101 |
-
"Speed in miliseconds of the animation when navigating thorugh gallery items "
|
102 |
-
"(default: 300)"
|
103 |
-
msgstr ""
|
104 |
-
|
105 |
-
#: lib/admin-tab-appearance.php:1
|
106 |
-
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
107 |
-
msgstr ""
|
108 |
-
|
109 |
-
#: lib/admin-tab-appearance.php:3
|
110 |
-
msgid ""
|
111 |
-
"These setting control how Fancybox looks, they let you tweak color, borders "
|
112 |
-
"and position of elements, like the image title and closing buttons."
|
113 |
-
msgstr ""
|
114 |
-
|
115 |
-
#: lib/admin-tab-appearance.php:8
|
116 |
-
msgid "Close Button"
|
117 |
-
msgstr ""
|
118 |
-
|
119 |
-
#: lib/admin-tab-appearance.php:17
|
120 |
-
msgid "Show Close button (default: on)"
|
121 |
-
msgstr ""
|
122 |
-
|
123 |
-
#: lib/admin-tab-appearance.php:24
|
124 |
-
msgid "Toolbar"
|
125 |
-
msgstr ""
|
126 |
-
|
127 |
-
#: lib/admin-tab-appearance.php:33
|
128 |
-
msgid "Show Toolbar (default: on)"
|
129 |
-
msgstr ""
|
130 |
-
|
131 |
-
#: lib/admin-tab-appearance.php:40
|
132 |
-
msgid "Border"
|
133 |
-
msgstr ""
|
134 |
-
|
135 |
-
#: lib/admin-tab-appearance.php:48
|
136 |
-
msgid "Show Border (default: off)"
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
#: lib/admin-tab-appearance.php:55
|
140 |
-
msgid "HTML color of the border (default: #BBBBBB)"
|
141 |
-
msgstr ""
|
142 |
-
|
143 |
-
#: lib/admin-tab-appearance.php:62
|
144 |
-
msgid "Padding"
|
145 |
-
msgstr ""
|
146 |
-
|
147 |
-
#: lib/admin-tab-appearance.php:69
|
148 |
-
msgid "HTML color of the padding (default: #FFFFFF)"
|
149 |
-
msgstr ""
|
150 |
-
|
151 |
-
#: lib/admin-tab-appearance.php:70
|
152 |
-
msgid ""
|
153 |
-
"(This should be left on #FFFFFF (white) if you want to display anything "
|
154 |
-
"other than images, like inline or framed content)"
|
155 |
-
msgstr ""
|
156 |
-
|
157 |
-
#: lib/admin-tab-appearance.php:78
|
158 |
-
msgid "Padding size in pixels (default: 10)"
|
159 |
-
msgstr ""
|
160 |
-
|
161 |
-
#: lib/admin-tab-appearance.php:85
|
162 |
-
msgid "Overlay Options"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: lib/admin-tab-appearance.php:93
|
166 |
-
msgid "Add overlay (default: on)"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: lib/admin-tab-appearance.php:100
|
170 |
-
msgid "HTML color of the overlay (default: #666666)"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: lib/admin-tab-appearance.php:108
|
174 |
-
msgid "Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: lib/admin-tab-appearance.php:116
|
178 |
-
msgid "Title"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: lib/admin-tab-appearance.php:124
|
182 |
-
msgid "Show the title (default: on)"
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: lib/admin-tab-appearance.php:130
|
186 |
-
msgid "Title size (default: 14px)"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: lib/admin-tab-appearance.php:139
|
190 |
-
msgid "Inside (default)"
|
191 |
-
msgstr ""
|
192 |
-
|
193 |
-
#: lib/admin-tab-appearance.php:146
|
194 |
-
msgid "Outside"
|
195 |
-
msgstr ""
|
196 |
-
|
197 |
-
#: lib/admin-tab-appearance.php:153
|
198 |
-
msgid "Over"
|
199 |
-
msgstr ""
|
200 |
-
|
201 |
-
#: lib/admin-tab-appearance.php:162
|
202 |
-
msgid "Title text color (default: #333333)"
|
203 |
-
msgstr ""
|
204 |
-
|
205 |
-
#: lib/admin-tab-appearance.php:163
|
206 |
-
msgid "(Should contrast with the padding color set above)"
|
207 |
-
msgstr ""
|
208 |
-
|
209 |
-
#: lib/admin-tab-appearance.php:171
|
210 |
-
msgid "Navigation Arrows"
|
211 |
-
msgstr ""
|
212 |
-
|
213 |
-
#: lib/admin-tab-appearance.php:179
|
214 |
-
msgid "Show the navigation arrows (default: on)"
|
215 |
-
msgstr ""
|
216 |
-
|
217 |
-
#: lib/admin-tab-behaviour.php:1
|
218 |
-
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
219 |
-
msgstr ""
|
220 |
-
|
221 |
-
#: lib/admin-tab-behaviour.php:2
|
222 |
-
msgid ""
|
223 |
-
"The following settings should be left alone unless you know what you are "
|
224 |
-
"doing."
|
225 |
-
msgstr ""
|
226 |
-
|
227 |
-
#: lib/admin-tab-behaviour.php:6
|
228 |
-
msgid "Close on Content Click"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: lib/admin-tab-behaviour.php:14
|
232 |
-
msgid "Close FancyBox by clicking on the image (default: off)"
|
233 |
-
msgstr ""
|
234 |
-
|
235 |
-
#: lib/admin-tab-behaviour.php:17
|
236 |
-
msgid ""
|
237 |
-
"(You may want to leave this off if you display iframed or inline content "
|
238 |
-
"that containts clickable elements - for example: play buttons for movies, "
|
239 |
-
"links to other pages)"
|
240 |
-
msgstr ""
|
241 |
-
|
242 |
-
#: lib/admin-tab-behaviour.php:24
|
243 |
-
msgid "Close on Overlay Click"
|
244 |
-
msgstr ""
|
245 |
-
|
246 |
-
#: lib/admin-tab-behaviour.php:32
|
247 |
-
msgid "Close FancyBox by clicking on the overlay sorrounding it (default: on)"
|
248 |
-
msgstr ""
|
249 |
-
|
250 |
-
#: lib/admin-tab-behaviour.php:39
|
251 |
-
msgid "Keyboard navigation;"
|
252 |
-
msgstr ""
|
253 |
-
|
254 |
-
#: lib/admin-tab-behaviour.php:47
|
255 |
-
msgid "Enable Keyboard Navigation (default: on)"
|
256 |
-
msgstr ""
|
257 |
-
|
258 |
-
#: lib/admin-tab-behaviour.php:54
|
259 |
-
msgid "Loop Galleries"
|
260 |
-
msgstr ""
|
261 |
-
|
262 |
-
#: lib/admin-tab-behaviour.php:62
|
263 |
-
msgid ""
|
264 |
-
"This will make galleries loop, allowing you to keep pressing next/back "
|
265 |
-
"(default: off)"
|
266 |
-
msgstr ""
|
267 |
-
|
268 |
-
#: lib/admin-tab-behaviour.php:69
|
269 |
-
msgid "Mouse Wheel Navigation"
|
270 |
-
msgstr ""
|
271 |
-
|
272 |
-
#: lib/admin-tab-behaviour.php:77
|
273 |
-
msgid "Lets visitors navigate galleries with the mouse wheel (default: off)"
|
274 |
-
msgstr ""
|
275 |
-
|
276 |
-
#: lib/admin-tab-behaviour.php:84
|
277 |
-
msgid "Woocommerce:"
|
278 |
-
msgstr ""
|
279 |
-
|
280 |
-
#: lib/admin-tab-behaviour.php:92
|
281 |
-
msgid "Disable on Woocommerce Shop page.( Default : off )"
|
282 |
-
msgstr ""
|
283 |
-
|
284 |
-
#: lib/admin-tab-behaviour.php:101
|
285 |
-
msgid "Disable on Woocommerce products.( Default : off )"
|
286 |
-
msgstr ""
|
287 |
-
|
288 |
-
#: lib/admin-tab-galleries.php:1
|
289 |
-
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
290 |
-
msgstr ""
|
291 |
-
|
292 |
-
#: lib/admin-tab-galleries.php:2
|
293 |
-
msgid ""
|
294 |
-
"Here you can choose if you want the plugin to group all images into a "
|
295 |
-
"gallery, or make a gallery for each post. You can also define you own jQuery "
|
296 |
-
"expression if you like."
|
297 |
-
msgstr ""
|
298 |
-
|
299 |
-
#: lib/admin-tab-galleries.php:11
|
300 |
-
msgid "Gallery Type"
|
301 |
-
msgstr ""
|
302 |
-
|
303 |
-
#: lib/admin-tab-galleries.php:16
|
304 |
-
msgid "Make a gallery for all images on the page (default)"
|
305 |
-
msgstr ""
|
306 |
-
|
307 |
-
#: lib/admin-tab-galleries.php:21
|
308 |
-
msgid ""
|
309 |
-
"Do not group images in gallery automatically (use this if you want to make "
|
310 |
-
"galleries manually with the <code>REL</code> attribute)"
|
311 |
-
msgstr ""
|
312 |
-
|
313 |
-
#: lib/admin-tab-galleries.php:26
|
314 |
-
msgid ""
|
315 |
-
"Make a gallery for each post (will only work if your theme uses <code>class="
|
316 |
-
"\"post\"</code> on each post, which is common in WordPress"
|
317 |
-
msgstr ""
|
318 |
-
|
319 |
-
#: lib/admin-tab-galleries.php:31
|
320 |
-
msgid "Use a custom expression to apply FancyBox"
|
321 |
-
msgstr ""
|
322 |
-
|
323 |
-
#: lib/admin-tab-galleries.php:35 lib/admin-tab-other.php:70
|
324 |
-
#: lib/admin-tab-other.php:78 lib/admin-tab-other.php:86
|
325 |
-
#: lib/admin-tab-other.php:94 lib/admin-tab-other.php:102
|
326 |
-
#: lib/admin-tab-other.php:137
|
327 |
-
msgid "Click to start editing"
|
328 |
-
msgstr ""
|
329 |
-
|
330 |
-
#: lib/admin-tab-galleries.php:39
|
331 |
-
msgid "Custom expression guidelines:"
|
332 |
-
msgstr ""
|
333 |
-
|
334 |
-
#: lib/admin-tab-galleries.php:41
|
335 |
-
msgid ""
|
336 |
-
"· The custom expression has to apply <code>class=\"fancybox\"</code> "
|
337 |
-
"to the links where you want to use FancyBox. Do not call the "
|
338 |
-
"<code>fancybox()</code> function here, the plugin does this for you."
|
339 |
-
msgstr ""
|
340 |
-
|
341 |
-
#: lib/admin-tab-galleries.php:43
|
342 |
-
msgid ""
|
343 |
-
"· The jQuery <code>addClass()</code> function is a good way to add "
|
344 |
-
"the class to the desired links conserving any existing class."
|
345 |
-
msgstr ""
|
346 |
-
|
347 |
-
#: lib/admin-tab-galleries.php:45
|
348 |
-
msgid ""
|
349 |
-
"· You can use <code>getTitle()</code> in your expression to copy the "
|
350 |
-
"title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so "
|
351 |
-
"that FancyBox can show captions."
|
352 |
-
msgstr ""
|
353 |
-
|
354 |
-
#: lib/admin-tab-galleries.php:47
|
355 |
-
msgid ""
|
356 |
-
"· You can use <code>jQuery(thumbnails)</code> like in the example "
|
357 |
-
"expression to apply FancyBox to thumbnails that link to these extensions: "
|
358 |
-
"BMP, GIF, JPG, JPEG, PNG (both lowercase and uppercase)."
|
359 |
-
msgstr ""
|
360 |
-
|
361 |
-
#: lib/admin-tab-galleries.php:49
|
362 |
-
msgid ""
|
363 |
-
"· If you want to do it manually you can use something like "
|
364 |
-
"<code>jQuery(\"a:has(img)[href$='.jpg']\")</code> or whatever works for you."
|
365 |
-
msgstr ""
|
366 |
-
|
367 |
-
#: lib/admin-tab-galleries.php:51
|
368 |
-
msgid ""
|
369 |
-
"See the <a href=\"http://docs.jquery.com/\" target=\"_blank\">jQuery "
|
370 |
-
"Documentation</a> for more help."
|
371 |
-
msgstr ""
|
372 |
-
|
373 |
-
#: lib/admin-tab-galleries.php:53
|
374 |
-
msgid "Examples:"
|
375 |
-
msgstr ""
|
376 |
-
|
377 |
-
#: lib/admin-tab-other.php:1
|
378 |
-
msgid "Other Settings <span style=\"color:red\">(advanced)</span>"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: lib/admin-tab-other.php:2
|
382 |
-
msgid "These are additional settings for advanced users."
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: lib/admin-tab-other.php:6
|
386 |
-
msgid "Dimensions"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: lib/admin-tab-other.php:14
|
390 |
-
msgid "Auto detect dimensions (default: on)"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: lib/admin-tab-other.php:17
|
394 |
-
msgid ""
|
395 |
-
"Only works with <strong>Ajax</strong> and <strong>Inline</strong> content! "
|
396 |
-
"Flash dimensions won't be autodetected so specify them below if necessary. "
|
397 |
-
"If you want to insert several pieces of flash content with different "
|
398 |
-
"dimensions you will have to use the <strong>Additional FancyBox Calls</"
|
399 |
-
"strong> option."
|
400 |
-
msgstr ""
|
401 |
-
|
402 |
-
#: lib/admin-tab-other.php:23
|
403 |
-
msgid ""
|
404 |
-
"Width for iframe and swf content. Also set for inline content if "
|
405 |
-
"<em>autoDimensions</em> is disabled (default: 560)"
|
406 |
-
msgstr ""
|
407 |
-
|
408 |
-
#: lib/admin-tab-other.php:28
|
409 |
-
msgid ""
|
410 |
-
"Height for iframe and swf content. Also set for inline content if "
|
411 |
-
"<em>autoDimensions</em> is disabled (default: 340)"
|
412 |
-
msgstr ""
|
413 |
-
|
414 |
-
#: lib/admin-tab-other.php:35
|
415 |
-
msgid "Load JavaScript in Footer"
|
416 |
-
msgstr ""
|
417 |
-
|
418 |
-
#: lib/admin-tab-other.php:43
|
419 |
-
msgid ""
|
420 |
-
"Loads JavaScript at the end of the blog's HTML (experimental) (default: off)"
|
421 |
-
msgstr ""
|
422 |
-
|
423 |
-
#: lib/admin-tab-other.php:46
|
424 |
-
msgid ""
|
425 |
-
"This option won't be recognized if you use <strong>Parallel Load</strong> "
|
426 |
-
"plugin. In that case, you can do this from Parallel Load's options."
|
427 |
-
msgstr ""
|
428 |
-
|
429 |
-
#: lib/admin-tab-other.php:53
|
430 |
-
msgid "Callbacks"
|
431 |
-
msgstr ""
|
432 |
-
|
433 |
-
#: lib/admin-tab-other.php:61
|
434 |
-
msgid "Enable callbacks (default: off)"
|
435 |
-
msgstr ""
|
436 |
-
|
437 |
-
#: lib/admin-tab-other.php:63
|
438 |
-
msgid "Enabling this will show additional settings."
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: lib/admin-tab-other.php:67
|
442 |
-
msgid ""
|
443 |
-
"Callback on <strong>Start</strong> event: Will be called right before "
|
444 |
-
"attempting to load the content"
|
445 |
-
msgstr ""
|
446 |
-
|
447 |
-
#: lib/admin-tab-other.php:75
|
448 |
-
msgid ""
|
449 |
-
"Callback on <strong>Cancel</strong> event: Will be called after loading is "
|
450 |
-
"canceled"
|
451 |
-
msgstr ""
|
452 |
-
|
453 |
-
#: lib/admin-tab-other.php:83
|
454 |
-
msgid ""
|
455 |
-
"Callback on <strong>Complete</strong> event: Will be called once the content "
|
456 |
-
"is displayed"
|
457 |
-
msgstr ""
|
458 |
-
|
459 |
-
#: lib/admin-tab-other.php:91
|
460 |
-
msgid ""
|
461 |
-
"Callback on <strong>CleanUp</strong> event: Will be called just before "
|
462 |
-
"closing"
|
463 |
-
msgstr ""
|
464 |
-
|
465 |
-
#: lib/admin-tab-other.php:99
|
466 |
-
msgid ""
|
467 |
-
"Callback on <strong>Closed</strong> event: Will be called once FancyBox is "
|
468 |
-
"closed"
|
469 |
-
msgstr ""
|
470 |
-
|
471 |
-
#: lib/admin-tab-other.php:107 lib/admin-tab-other.php:142
|
472 |
-
msgid "Example:"
|
473 |
-
msgstr ""
|
474 |
-
|
475 |
-
#: lib/admin-tab-other.php:110
|
476 |
-
msgid "Leave empty any speciic callbacks you don't need to use."
|
477 |
-
msgstr ""
|
478 |
-
|
479 |
-
#: lib/admin-tab-other.php:118
|
480 |
-
msgid "Extra FancyBox Calls <span style=\"color:red\">(advanced)</span>"
|
481 |
-
msgstr ""
|
482 |
-
|
483 |
-
#: lib/admin-tab-other.php:119
|
484 |
-
msgid ""
|
485 |
-
"Here you can add as many additional calls to fancybox as you want, with "
|
486 |
-
"different settings. For example, if you want to use fancybox with iframes or "
|
487 |
-
"ajax on any specific link, you can configure those calls here without "
|
488 |
-
"affecting the settings for images."
|
489 |
-
msgstr ""
|
490 |
-
|
491 |
-
#: lib/admin-tab-other.php:120
|
492 |
-
msgid ""
|
493 |
-
"For information on the options available you can use here see <a href="
|
494 |
-
"\"http://fancyapps.com/fancybox/3/\">FancyBox's API & Options page</a>."
|
495 |
-
msgstr ""
|
496 |
-
|
497 |
-
#: lib/admin-tab-other.php:124
|
498 |
-
msgid "Additional FancyBox Calls"
|
499 |
-
msgstr ""
|
500 |
-
|
501 |
-
#: lib/admin-tab-other.php:132
|
502 |
-
msgid "Additional FancyBox Calls (default: off)"
|
503 |
-
msgstr ""
|
504 |
-
|
505 |
-
#: lib/admin-tab-other.php:157
|
506 |
-
msgid "Troubleshooting Settings"
|
507 |
-
msgstr ""
|
508 |
-
|
509 |
-
#: lib/admin-tab-other.php:159
|
510 |
-
msgid ""
|
511 |
-
"Settings in this section should only be changed if you are having problems "
|
512 |
-
"with the plugin!"
|
513 |
-
msgstr ""
|
514 |
-
|
515 |
-
#: lib/admin-tab-other.php:161
|
516 |
-
msgid ""
|
517 |
-
"If the plugin doesn't seem to work, first you should check for other plugins "
|
518 |
-
"that may be conflicting with this one, especially other Lightbox, Slimbox, "
|
519 |
-
"etc. Make sure all your plugins and WordPress itself are up to date (this "
|
520 |
-
"plugin has only been tested in WordPress 2.7 and above)."
|
521 |
-
msgstr ""
|
522 |
-
|
523 |
-
#: lib/admin-tab-other.php:162
|
524 |
-
msgid ""
|
525 |
-
"Change them one at a time and test to see if they help. Remember that having "
|
526 |
-
"a cache plugin may prevent changes from taking effect immidiately, so clear "
|
527 |
-
"cache after saving changes here or deactivate cache until you finish editing "
|
528 |
-
"these options."
|
529 |
-
msgstr ""
|
530 |
-
|
531 |
-
#: lib/admin-tab-other.php:167
|
532 |
-
msgid "Do not call jQuery"
|
533 |
-
msgstr ""
|
534 |
-
|
535 |
-
#: lib/admin-tab-other.php:175
|
536 |
-
msgid ""
|
537 |
-
"Skip jQuery call. Use this only if jQuery is being loaded twice (default: "
|
538 |
-
"off)"
|
539 |
-
msgstr ""
|
540 |
-
|
541 |
-
#: lib/admin-tab-other.php:182
|
542 |
-
msgid "Uninstall"
|
543 |
-
msgstr ""
|
544 |
-
|
545 |
-
#: lib/admin-tab-other.php:183
|
546 |
-
msgid ""
|
547 |
-
"Like many other plugins, FancyBox for WordPress stores its settings on your "
|
548 |
-
"WordPress' options database table. Actually, these settings are not using "
|
549 |
-
"more than a couple of kilobytes of space, but if you want to completely "
|
550 |
-
"uninstall this plugin, check the option below, then save changes, and "
|
551 |
-
"<strong>when you deactivate the plugin</strong>, all its settings will be "
|
552 |
-
"removed from the database."
|
553 |
-
msgstr ""
|
554 |
-
|
555 |
-
#: lib/admin-tab-other.php:187
|
556 |
-
msgid "Remove settings"
|
557 |
-
msgstr ""
|
558 |
-
|
559 |
-
#: lib/admin-tab-other.php:195
|
560 |
-
msgid ""
|
561 |
-
"Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. "
|
562 |
-
"(default: off)"
|
563 |
-
msgstr ""
|
564 |
-
|
565 |
-
#: lib/admin-tab-support.php:1
|
566 |
-
msgid "Help with Fancybox"
|
567 |
-
msgstr ""
|
568 |
-
|
569 |
-
#: lib/admin-tab-support.php:3
|
570 |
-
msgid ""
|
571 |
-
"If you have problems or questions about FancyBox itself (and not this "
|
572 |
-
"WordPress plugin), please start with these links: <a target=\"_blank\" href="
|
573 |
-
"\"http://fancyapps.com/fancybox/3/\">How-To</a> & <a target=\"_blank\" href="
|
574 |
-
"\"http://fancyapps.com/fancybox/3/docs/\">Documentation</a>.<br />If that "
|
575 |
-
"does not help, go to <a href=\"http://groups.google.com/group/fancybox\">the "
|
576 |
-
"FancyBox Google Group</a>, use the <strong>Search</strong> option, and if "
|
577 |
-
"necesary, post your question."
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: lib/admin-tab-support.php:6
|
581 |
-
msgid "Help with Fancybox for WordPress plugin"
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: lib/admin-tab-support.php:8
|
585 |
-
msgid ""
|
586 |
-
"Try to localize the problem (switch your theme and deactivate plugins until "
|
587 |
-
"you find the source of the problem). You can also try the Troubleshooting "
|
588 |
-
"settings of this plugin if necesary."
|
589 |
-
msgstr ""
|
590 |
-
|
591 |
-
#: lib/admin-tab-support.php:9
|
592 |
-
msgid ""
|
593 |
-
"Try reverting the plugin's settings to their defaults with the button below."
|
594 |
-
msgstr ""
|
595 |
-
|
596 |
-
#: lib/admin-tab-support.php:10
|
597 |
-
msgid ""
|
598 |
-
"If you still can not get the plugin to work, <a target=\"_blank\" href="
|
599 |
-
"\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
600 |
-
"\">write a post in the WordPress Support forums</a> explaining the problem "
|
601 |
-
"or take a look and the <a target=\"_blank\" href=\"http://wordpress.org/"
|
602 |
-
"support/plugin/fancybox-for-wordpress\">already posted messages</a>."
|
603 |
-
msgstr ""
|
604 |
-
|
605 |
-
#: lib/admin-tab-support.php:13
|
606 |
-
msgid "IMPORTANT:"
|
607 |
-
msgstr ""
|
608 |
-
|
609 |
-
#: lib/admin-tab-support.php:13
|
610 |
-
msgid ""
|
611 |
-
"When posting your problem please provide a link to your blog and the page "
|
612 |
-
"where the error is found, and all relevant information you can, especially "
|
613 |
-
"your theme, plugins, etc."
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: lib/class-fbfw-plugin-rollback.php:41
|
617 |
-
msgid "Previous plugin version or plugin basename CONST aren't defined."
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: lib/class-fbfw-plugin-rollback.php:58 lib/class-fbfw-rollback.php:157
|
621 |
-
msgid "Rollback to Previous Version"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#. Plugin Name of the plugin/theme
|
625 |
-
msgid "FancyBox for WordPress"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#. Plugin URI of the plugin/theme
|
629 |
-
msgid "http://plugins.josepardilla.com/fancybox-for-wordpress/"
|
630 |
-
msgstr ""
|
631 |
-
|
632 |
-
#. Description of the plugin/theme
|
633 |
-
msgid ""
|
634 |
-
"Integrates <a href=\"http://fancyapps.com/fancybox/3/\">FancyBox</a> by <a "
|
635 |
-
"href=\"http://klade.lv/\">Janis Skarnelis</a> into WordPress."
|
636 |
-
msgstr ""
|
637 |
-
|
638 |
-
#. Author of the plugin/theme
|
639 |
-
msgid "José Pardilla"
|
640 |
-
msgstr ""
|
641 |
-
|
642 |
-
#. Author URI of the plugin/theme
|
643 |
-
msgid "http://josepardilla.com/"
|
644 |
-
msgstr ""
|
1 |
+
# Copyright (C) 2015 FancyBox for WordPress
|
2 |
+
# This file is distributed under the same license as the FancyBox for WordPress package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: FancyBox for WordPress 3.0.5\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/fancybox-for-"
|
7 |
+
"wordpress\n"
|
8 |
+
"POT-Creation-Date: 2015-02-07 01:56:01+00:00\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
|
13 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
+
|
16 |
+
#: admin.php:12
|
17 |
+
#, php-format
|
18 |
+
msgid "Fancybox for WordPress (version %s)"
|
19 |
+
msgstr ""
|
20 |
+
|
21 |
+
#: admin.php:26
|
22 |
+
msgid "Appearance"
|
23 |
+
msgstr ""
|
24 |
+
|
25 |
+
#: admin.php:27
|
26 |
+
msgid "Animations"
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: admin.php:28
|
30 |
+
msgid "Behaviour"
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
#: admin.php:29
|
34 |
+
msgid "Galleries"
|
35 |
+
msgstr ""
|
36 |
+
|
37 |
+
#: admin.php:30
|
38 |
+
msgid "Misc."
|
39 |
+
msgstr ""
|
40 |
+
|
41 |
+
#: admin.php:31
|
42 |
+
msgid "Support"
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
#: admin.php:62
|
46 |
+
msgid "Save Changes"
|
47 |
+
msgstr ""
|
48 |
+
|
49 |
+
#: admin.php:71
|
50 |
+
msgid "Revert to defaults"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#: fancybox.php:382
|
54 |
+
msgid "Rollback version"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: fancybox.php:469
|
58 |
+
msgid "Settings"
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: lib/admin-tab-animations.php:1
|
62 |
+
msgid "Animation Settings <span style=\"color:green\">(basic)</span>"
|
63 |
+
msgstr ""
|
64 |
+
|
65 |
+
#: lib/admin-tab-animations.php:3
|
66 |
+
msgid ""
|
67 |
+
"These settings control the animations when opening and closing Fancybox, and "
|
68 |
+
"the optional easing effects."
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: lib/admin-tab-animations.php:8
|
72 |
+
msgid "Zoom Options"
|
73 |
+
msgstr ""
|
74 |
+
|
75 |
+
#: lib/admin-tab-animations.php:16
|
76 |
+
msgid "Change content transparency during zoom animations (default: on)"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: lib/admin-tab-animations.php:22
|
80 |
+
msgid "Animation Type"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#: lib/admin-tab-animations.php:33
|
84 |
+
msgid "Animation type when opening FancyBox. (default: fade)"
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
#: lib/admin-tab-animations.php:45
|
88 |
+
msgid "Speed in miliseconds of the FancyBox opening animation (default: 500)"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
#: lib/admin-tab-animations.php:52
|
92 |
+
msgid "Animation between slides Options"
|
93 |
+
msgstr ""
|
94 |
+
|
95 |
+
#: lib/admin-tab-animations.php:63
|
96 |
+
msgid "Select Animation type for the slides(default: fade)"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: lib/admin-tab-animations.php:74
|
100 |
+
msgid ""
|
101 |
+
"Speed in miliseconds of the animation when navigating thorugh gallery items "
|
102 |
+
"(default: 300)"
|
103 |
+
msgstr ""
|
104 |
+
|
105 |
+
#: lib/admin-tab-appearance.php:1
|
106 |
+
msgid "Appearance Settings <span style=\"color:green\">(basic)</span>"
|
107 |
+
msgstr ""
|
108 |
+
|
109 |
+
#: lib/admin-tab-appearance.php:3
|
110 |
+
msgid ""
|
111 |
+
"These setting control how Fancybox looks, they let you tweak color, borders "
|
112 |
+
"and position of elements, like the image title and closing buttons."
|
113 |
+
msgstr ""
|
114 |
+
|
115 |
+
#: lib/admin-tab-appearance.php:8
|
116 |
+
msgid "Close Button"
|
117 |
+
msgstr ""
|
118 |
+
|
119 |
+
#: lib/admin-tab-appearance.php:17
|
120 |
+
msgid "Show Close button (default: on)"
|
121 |
+
msgstr ""
|
122 |
+
|
123 |
+
#: lib/admin-tab-appearance.php:24
|
124 |
+
msgid "Toolbar"
|
125 |
+
msgstr ""
|
126 |
+
|
127 |
+
#: lib/admin-tab-appearance.php:33
|
128 |
+
msgid "Show Toolbar (default: on)"
|
129 |
+
msgstr ""
|
130 |
+
|
131 |
+
#: lib/admin-tab-appearance.php:40
|
132 |
+
msgid "Border"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: lib/admin-tab-appearance.php:48
|
136 |
+
msgid "Show Border (default: off)"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: lib/admin-tab-appearance.php:55
|
140 |
+
msgid "HTML color of the border (default: #BBBBBB)"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: lib/admin-tab-appearance.php:62
|
144 |
+
msgid "Padding"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
#: lib/admin-tab-appearance.php:69
|
148 |
+
msgid "HTML color of the padding (default: #FFFFFF)"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: lib/admin-tab-appearance.php:70
|
152 |
+
msgid ""
|
153 |
+
"(This should be left on #FFFFFF (white) if you want to display anything "
|
154 |
+
"other than images, like inline or framed content)"
|
155 |
+
msgstr ""
|
156 |
+
|
157 |
+
#: lib/admin-tab-appearance.php:78
|
158 |
+
msgid "Padding size in pixels (default: 10)"
|
159 |
+
msgstr ""
|
160 |
+
|
161 |
+
#: lib/admin-tab-appearance.php:85
|
162 |
+
msgid "Overlay Options"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: lib/admin-tab-appearance.php:93
|
166 |
+
msgid "Add overlay (default: on)"
|
167 |
+
msgstr ""
|
168 |
+
|
169 |
+
#: lib/admin-tab-appearance.php:100
|
170 |
+
msgid "HTML color of the overlay (default: #666666)"
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#: lib/admin-tab-appearance.php:108
|
174 |
+
msgid "Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)"
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
#: lib/admin-tab-appearance.php:116
|
178 |
+
msgid "Title"
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: lib/admin-tab-appearance.php:124
|
182 |
+
msgid "Show the title (default: on)"
|
183 |
+
msgstr ""
|
184 |
+
|
185 |
+
#: lib/admin-tab-appearance.php:130
|
186 |
+
msgid "Title size (default: 14px)"
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
#: lib/admin-tab-appearance.php:139
|
190 |
+
msgid "Inside (default)"
|
191 |
+
msgstr ""
|
192 |
+
|
193 |
+
#: lib/admin-tab-appearance.php:146
|
194 |
+
msgid "Outside"
|
195 |
+
msgstr ""
|
196 |
+
|
197 |
+
#: lib/admin-tab-appearance.php:153
|
198 |
+
msgid "Over"
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
#: lib/admin-tab-appearance.php:162
|
202 |
+
msgid "Title text color (default: #333333)"
|
203 |
+
msgstr ""
|
204 |
+
|
205 |
+
#: lib/admin-tab-appearance.php:163
|
206 |
+
msgid "(Should contrast with the padding color set above)"
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
+
#: lib/admin-tab-appearance.php:171
|
210 |
+
msgid "Navigation Arrows"
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: lib/admin-tab-appearance.php:179
|
214 |
+
msgid "Show the navigation arrows (default: on)"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: lib/admin-tab-behaviour.php:1
|
218 |
+
msgid "Behavior Settings <span style=\"color:orange\">(medium)</span>"
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#: lib/admin-tab-behaviour.php:2
|
222 |
+
msgid ""
|
223 |
+
"The following settings should be left alone unless you know what you are "
|
224 |
+
"doing."
|
225 |
+
msgstr ""
|
226 |
+
|
227 |
+
#: lib/admin-tab-behaviour.php:6
|
228 |
+
msgid "Close on Content Click"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#: lib/admin-tab-behaviour.php:14
|
232 |
+
msgid "Close FancyBox by clicking on the image (default: off)"
|
233 |
+
msgstr ""
|
234 |
+
|
235 |
+
#: lib/admin-tab-behaviour.php:17
|
236 |
+
msgid ""
|
237 |
+
"(You may want to leave this off if you display iframed or inline content "
|
238 |
+
"that containts clickable elements - for example: play buttons for movies, "
|
239 |
+
"links to other pages)"
|
240 |
+
msgstr ""
|
241 |
+
|
242 |
+
#: lib/admin-tab-behaviour.php:24
|
243 |
+
msgid "Close on Overlay Click"
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#: lib/admin-tab-behaviour.php:32
|
247 |
+
msgid "Close FancyBox by clicking on the overlay sorrounding it (default: on)"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: lib/admin-tab-behaviour.php:39
|
251 |
+
msgid "Keyboard navigation;"
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: lib/admin-tab-behaviour.php:47
|
255 |
+
msgid "Enable Keyboard Navigation (default: on)"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: lib/admin-tab-behaviour.php:54
|
259 |
+
msgid "Loop Galleries"
|
260 |
+
msgstr ""
|
261 |
+
|
262 |
+
#: lib/admin-tab-behaviour.php:62
|
263 |
+
msgid ""
|
264 |
+
"This will make galleries loop, allowing you to keep pressing next/back "
|
265 |
+
"(default: off)"
|
266 |
+
msgstr ""
|
267 |
+
|
268 |
+
#: lib/admin-tab-behaviour.php:69
|
269 |
+
msgid "Mouse Wheel Navigation"
|
270 |
+
msgstr ""
|
271 |
+
|
272 |
+
#: lib/admin-tab-behaviour.php:77
|
273 |
+
msgid "Lets visitors navigate galleries with the mouse wheel (default: off)"
|
274 |
+
msgstr ""
|
275 |
+
|
276 |
+
#: lib/admin-tab-behaviour.php:84
|
277 |
+
msgid "Woocommerce:"
|
278 |
+
msgstr ""
|
279 |
+
|
280 |
+
#: lib/admin-tab-behaviour.php:92
|
281 |
+
msgid "Disable on Woocommerce Shop page.( Default : off )"
|
282 |
+
msgstr ""
|
283 |
+
|
284 |
+
#: lib/admin-tab-behaviour.php:101
|
285 |
+
msgid "Disable on Woocommerce products.( Default : off )"
|
286 |
+
msgstr ""
|
287 |
+
|
288 |
+
#: lib/admin-tab-galleries.php:1
|
289 |
+
msgid "Gallery Settings <span style=\"color:red\">(advanced)</span>"
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: lib/admin-tab-galleries.php:2
|
293 |
+
msgid ""
|
294 |
+
"Here you can choose if you want the plugin to group all images into a "
|
295 |
+
"gallery, or make a gallery for each post. You can also define you own jQuery "
|
296 |
+
"expression if you like."
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: lib/admin-tab-galleries.php:11
|
300 |
+
msgid "Gallery Type"
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
+
#: lib/admin-tab-galleries.php:16
|
304 |
+
msgid "Make a gallery for all images on the page (default)"
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
#: lib/admin-tab-galleries.php:21
|
308 |
+
msgid ""
|
309 |
+
"Do not group images in gallery automatically (use this if you want to make "
|
310 |
+
"galleries manually with the <code>REL</code> attribute)"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: lib/admin-tab-galleries.php:26
|
314 |
+
msgid ""
|
315 |
+
"Make a gallery for each post (will only work if your theme uses <code>class="
|
316 |
+
"\"post\"</code> on each post, which is common in WordPress"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: lib/admin-tab-galleries.php:31
|
320 |
+
msgid "Use a custom expression to apply FancyBox"
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
+
#: lib/admin-tab-galleries.php:35 lib/admin-tab-other.php:70
|
324 |
+
#: lib/admin-tab-other.php:78 lib/admin-tab-other.php:86
|
325 |
+
#: lib/admin-tab-other.php:94 lib/admin-tab-other.php:102
|
326 |
+
#: lib/admin-tab-other.php:137
|
327 |
+
msgid "Click to start editing"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: lib/admin-tab-galleries.php:39
|
331 |
+
msgid "Custom expression guidelines:"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: lib/admin-tab-galleries.php:41
|
335 |
+
msgid ""
|
336 |
+
"· The custom expression has to apply <code>class=\"fancybox\"</code> "
|
337 |
+
"to the links where you want to use FancyBox. Do not call the "
|
338 |
+
"<code>fancybox()</code> function here, the plugin does this for you."
|
339 |
+
msgstr ""
|
340 |
+
|
341 |
+
#: lib/admin-tab-galleries.php:43
|
342 |
+
msgid ""
|
343 |
+
"· The jQuery <code>addClass()</code> function is a good way to add "
|
344 |
+
"the class to the desired links conserving any existing class."
|
345 |
+
msgstr ""
|
346 |
+
|
347 |
+
#: lib/admin-tab-galleries.php:45
|
348 |
+
msgid ""
|
349 |
+
"· You can use <code>getTitle()</code> in your expression to copy the "
|
350 |
+
"title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so "
|
351 |
+
"that FancyBox can show captions."
|
352 |
+
msgstr ""
|
353 |
+
|
354 |
+
#: lib/admin-tab-galleries.php:47
|
355 |
+
msgid ""
|
356 |
+
"· You can use <code>jQuery(thumbnails)</code> like in the example "
|
357 |
+
"expression to apply FancyBox to thumbnails that link to these extensions: "
|
358 |
+
"BMP, GIF, JPG, JPEG, PNG (both lowercase and uppercase)."
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
#: lib/admin-tab-galleries.php:49
|
362 |
+
msgid ""
|
363 |
+
"· If you want to do it manually you can use something like "
|
364 |
+
"<code>jQuery(\"a:has(img)[href$='.jpg']\")</code> or whatever works for you."
|
365 |
+
msgstr ""
|
366 |
+
|
367 |
+
#: lib/admin-tab-galleries.php:51
|
368 |
+
msgid ""
|
369 |
+
"See the <a href=\"http://docs.jquery.com/\" target=\"_blank\">jQuery "
|
370 |
+
"Documentation</a> for more help."
|
371 |
+
msgstr ""
|
372 |
+
|
373 |
+
#: lib/admin-tab-galleries.php:53
|
374 |
+
msgid "Examples:"
|
375 |
+
msgstr ""
|
376 |
+
|
377 |
+
#: lib/admin-tab-other.php:1
|
378 |
+
msgid "Other Settings <span style=\"color:red\">(advanced)</span>"
|
379 |
+
msgstr ""
|
380 |
+
|
381 |
+
#: lib/admin-tab-other.php:2
|
382 |
+
msgid "These are additional settings for advanced users."
|
383 |
+
msgstr ""
|
384 |
+
|
385 |
+
#: lib/admin-tab-other.php:6
|
386 |
+
msgid "Dimensions"
|
387 |
+
msgstr ""
|
388 |
+
|
389 |
+
#: lib/admin-tab-other.php:14
|
390 |
+
msgid "Auto detect dimensions (default: on)"
|
391 |
+
msgstr ""
|
392 |
+
|
393 |
+
#: lib/admin-tab-other.php:17
|
394 |
+
msgid ""
|
395 |
+
"Only works with <strong>Ajax</strong> and <strong>Inline</strong> content! "
|
396 |
+
"Flash dimensions won't be autodetected so specify them below if necessary. "
|
397 |
+
"If you want to insert several pieces of flash content with different "
|
398 |
+
"dimensions you will have to use the <strong>Additional FancyBox Calls</"
|
399 |
+
"strong> option."
|
400 |
+
msgstr ""
|
401 |
+
|
402 |
+
#: lib/admin-tab-other.php:23
|
403 |
+
msgid ""
|
404 |
+
"Width for iframe and swf content. Also set for inline content if "
|
405 |
+
"<em>autoDimensions</em> is disabled (default: 560)"
|
406 |
+
msgstr ""
|
407 |
+
|
408 |
+
#: lib/admin-tab-other.php:28
|
409 |
+
msgid ""
|
410 |
+
"Height for iframe and swf content. Also set for inline content if "
|
411 |
+
"<em>autoDimensions</em> is disabled (default: 340)"
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: lib/admin-tab-other.php:35
|
415 |
+
msgid "Load JavaScript in Footer"
|
416 |
+
msgstr ""
|
417 |
+
|
418 |
+
#: lib/admin-tab-other.php:43
|
419 |
+
msgid ""
|
420 |
+
"Loads JavaScript at the end of the blog's HTML (experimental) (default: off)"
|
421 |
+
msgstr ""
|
422 |
+
|
423 |
+
#: lib/admin-tab-other.php:46
|
424 |
+
msgid ""
|
425 |
+
"This option won't be recognized if you use <strong>Parallel Load</strong> "
|
426 |
+
"plugin. In that case, you can do this from Parallel Load's options."
|
427 |
+
msgstr ""
|
428 |
+
|
429 |
+
#: lib/admin-tab-other.php:53
|
430 |
+
msgid "Callbacks"
|
431 |
+
msgstr ""
|
432 |
+
|
433 |
+
#: lib/admin-tab-other.php:61
|
434 |
+
msgid "Enable callbacks (default: off)"
|
435 |
+
msgstr ""
|
436 |
+
|
437 |
+
#: lib/admin-tab-other.php:63
|
438 |
+
msgid "Enabling this will show additional settings."
|
439 |
+
msgstr ""
|
440 |
+
|
441 |
+
#: lib/admin-tab-other.php:67
|
442 |
+
msgid ""
|
443 |
+
"Callback on <strong>Start</strong> event: Will be called right before "
|
444 |
+
"attempting to load the content"
|
445 |
+
msgstr ""
|
446 |
+
|
447 |
+
#: lib/admin-tab-other.php:75
|
448 |
+
msgid ""
|
449 |
+
"Callback on <strong>Cancel</strong> event: Will be called after loading is "
|
450 |
+
"canceled"
|
451 |
+
msgstr ""
|
452 |
+
|
453 |
+
#: lib/admin-tab-other.php:83
|
454 |
+
msgid ""
|
455 |
+
"Callback on <strong>Complete</strong> event: Will be called once the content "
|
456 |
+
"is displayed"
|
457 |
+
msgstr ""
|
458 |
+
|
459 |
+
#: lib/admin-tab-other.php:91
|
460 |
+
msgid ""
|
461 |
+
"Callback on <strong>CleanUp</strong> event: Will be called just before "
|
462 |
+
"closing"
|
463 |
+
msgstr ""
|
464 |
+
|
465 |
+
#: lib/admin-tab-other.php:99
|
466 |
+
msgid ""
|
467 |
+
"Callback on <strong>Closed</strong> event: Will be called once FancyBox is "
|
468 |
+
"closed"
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: lib/admin-tab-other.php:107 lib/admin-tab-other.php:142
|
472 |
+
msgid "Example:"
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: lib/admin-tab-other.php:110
|
476 |
+
msgid "Leave empty any speciic callbacks you don't need to use."
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: lib/admin-tab-other.php:118
|
480 |
+
msgid "Extra FancyBox Calls <span style=\"color:red\">(advanced)</span>"
|
481 |
+
msgstr ""
|
482 |
+
|
483 |
+
#: lib/admin-tab-other.php:119
|
484 |
+
msgid ""
|
485 |
+
"Here you can add as many additional calls to fancybox as you want, with "
|
486 |
+
"different settings. For example, if you want to use fancybox with iframes or "
|
487 |
+
"ajax on any specific link, you can configure those calls here without "
|
488 |
+
"affecting the settings for images."
|
489 |
+
msgstr ""
|
490 |
+
|
491 |
+
#: lib/admin-tab-other.php:120
|
492 |
+
msgid ""
|
493 |
+
"For information on the options available you can use here see <a href="
|
494 |
+
"\"http://fancyapps.com/fancybox/3/\">FancyBox's API & Options page</a>."
|
495 |
+
msgstr ""
|
496 |
+
|
497 |
+
#: lib/admin-tab-other.php:124
|
498 |
+
msgid "Additional FancyBox Calls"
|
499 |
+
msgstr ""
|
500 |
+
|
501 |
+
#: lib/admin-tab-other.php:132
|
502 |
+
msgid "Additional FancyBox Calls (default: off)"
|
503 |
+
msgstr ""
|
504 |
+
|
505 |
+
#: lib/admin-tab-other.php:157
|
506 |
+
msgid "Troubleshooting Settings"
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#: lib/admin-tab-other.php:159
|
510 |
+
msgid ""
|
511 |
+
"Settings in this section should only be changed if you are having problems "
|
512 |
+
"with the plugin!"
|
513 |
+
msgstr ""
|
514 |
+
|
515 |
+
#: lib/admin-tab-other.php:161
|
516 |
+
msgid ""
|
517 |
+
"If the plugin doesn't seem to work, first you should check for other plugins "
|
518 |
+
"that may be conflicting with this one, especially other Lightbox, Slimbox, "
|
519 |
+
"etc. Make sure all your plugins and WordPress itself are up to date (this "
|
520 |
+
"plugin has only been tested in WordPress 2.7 and above)."
|
521 |
+
msgstr ""
|
522 |
+
|
523 |
+
#: lib/admin-tab-other.php:162
|
524 |
+
msgid ""
|
525 |
+
"Change them one at a time and test to see if they help. Remember that having "
|
526 |
+
"a cache plugin may prevent changes from taking effect immidiately, so clear "
|
527 |
+
"cache after saving changes here or deactivate cache until you finish editing "
|
528 |
+
"these options."
|
529 |
+
msgstr ""
|
530 |
+
|
531 |
+
#: lib/admin-tab-other.php:167
|
532 |
+
msgid "Do not call jQuery"
|
533 |
+
msgstr ""
|
534 |
+
|
535 |
+
#: lib/admin-tab-other.php:175
|
536 |
+
msgid ""
|
537 |
+
"Skip jQuery call. Use this only if jQuery is being loaded twice (default: "
|
538 |
+
"off)"
|
539 |
+
msgstr ""
|
540 |
+
|
541 |
+
#: lib/admin-tab-other.php:182
|
542 |
+
msgid "Uninstall"
|
543 |
+
msgstr ""
|
544 |
+
|
545 |
+
#: lib/admin-tab-other.php:183
|
546 |
+
msgid ""
|
547 |
+
"Like many other plugins, FancyBox for WordPress stores its settings on your "
|
548 |
+
"WordPress' options database table. Actually, these settings are not using "
|
549 |
+
"more than a couple of kilobytes of space, but if you want to completely "
|
550 |
+
"uninstall this plugin, check the option below, then save changes, and "
|
551 |
+
"<strong>when you deactivate the plugin</strong>, all its settings will be "
|
552 |
+
"removed from the database."
|
553 |
+
msgstr ""
|
554 |
+
|
555 |
+
#: lib/admin-tab-other.php:187
|
556 |
+
msgid "Remove settings"
|
557 |
+
msgstr ""
|
558 |
+
|
559 |
+
#: lib/admin-tab-other.php:195
|
560 |
+
msgid ""
|
561 |
+
"Remove Settings when plugin is deactivated from the \"Manage Plugins\" page. "
|
562 |
+
"(default: off)"
|
563 |
+
msgstr ""
|
564 |
+
|
565 |
+
#: lib/admin-tab-support.php:1
|
566 |
+
msgid "Help with Fancybox"
|
567 |
+
msgstr ""
|
568 |
+
|
569 |
+
#: lib/admin-tab-support.php:3
|
570 |
+
msgid ""
|
571 |
+
"If you have problems or questions about FancyBox itself (and not this "
|
572 |
+
"WordPress plugin), please start with these links: <a target=\"_blank\" href="
|
573 |
+
"\"http://fancyapps.com/fancybox/3/\">How-To</a> & <a target=\"_blank\" href="
|
574 |
+
"\"http://fancyapps.com/fancybox/3/docs/\">Documentation</a>.<br />If that "
|
575 |
+
"does not help, go to <a href=\"http://groups.google.com/group/fancybox\">the "
|
576 |
+
"FancyBox Google Group</a>, use the <strong>Search</strong> option, and if "
|
577 |
+
"necesary, post your question."
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: lib/admin-tab-support.php:6
|
581 |
+
msgid "Help with Fancybox for WordPress plugin"
|
582 |
+
msgstr ""
|
583 |
+
|
584 |
+
#: lib/admin-tab-support.php:8
|
585 |
+
msgid ""
|
586 |
+
"Try to localize the problem (switch your theme and deactivate plugins until "
|
587 |
+
"you find the source of the problem). You can also try the Troubleshooting "
|
588 |
+
"settings of this plugin if necesary."
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: lib/admin-tab-support.php:9
|
592 |
+
msgid ""
|
593 |
+
"Try reverting the plugin's settings to their defaults with the button below."
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: lib/admin-tab-support.php:10
|
597 |
+
msgid ""
|
598 |
+
"If you still can not get the plugin to work, <a target=\"_blank\" href="
|
599 |
+
"\"http://wordpress.org/support/plugin/fancybox-for-wordpress#postform"
|
600 |
+
"\">write a post in the WordPress Support forums</a> explaining the problem "
|
601 |
+
"or take a look and the <a target=\"_blank\" href=\"http://wordpress.org/"
|
602 |
+
"support/plugin/fancybox-for-wordpress\">already posted messages</a>."
|
603 |
+
msgstr ""
|
604 |
+
|
605 |
+
#: lib/admin-tab-support.php:13
|
606 |
+
msgid "IMPORTANT:"
|
607 |
+
msgstr ""
|
608 |
+
|
609 |
+
#: lib/admin-tab-support.php:13
|
610 |
+
msgid ""
|
611 |
+
"When posting your problem please provide a link to your blog and the page "
|
612 |
+
"where the error is found, and all relevant information you can, especially "
|
613 |
+
"your theme, plugins, etc."
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: lib/class-fbfw-plugin-rollback.php:41
|
617 |
+
msgid "Previous plugin version or plugin basename CONST aren't defined."
|
618 |
+
msgstr ""
|
619 |
+
|
620 |
+
#: lib/class-fbfw-plugin-rollback.php:58 lib/class-fbfw-rollback.php:157
|
621 |
+
msgid "Rollback to Previous Version"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#. Plugin Name of the plugin/theme
|
625 |
+
msgid "FancyBox for WordPress"
|
626 |
+
msgstr ""
|
627 |
+
|
628 |
+
#. Plugin URI of the plugin/theme
|
629 |
+
msgid "http://plugins.josepardilla.com/fancybox-for-wordpress/"
|
630 |
+
msgstr ""
|
631 |
+
|
632 |
+
#. Description of the plugin/theme
|
633 |
+
msgid ""
|
634 |
+
"Integrates <a href=\"http://fancyapps.com/fancybox/3/\">FancyBox</a> by <a "
|
635 |
+
"href=\"http://klade.lv/\">Janis Skarnelis</a> into WordPress."
|
636 |
+
msgstr ""
|
637 |
+
|
638 |
+
#. Author of the plugin/theme
|
639 |
+
msgid "José Pardilla"
|
640 |
+
msgstr ""
|
641 |
+
|
642 |
+
#. Author URI of the plugin/theme
|
643 |
+
msgid "http://josepardilla.com/"
|
644 |
+
msgstr ""
|
lib/admin-head.php
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if ( isset($_REQUEST['reset']) && $_REQUEST['reset'] )
|
4 |
-
echo '<div id="message" class="updated fade"><p><strong>FancyBox for WordPress settings have been reset.</strong></p></div>';
|
5 |
-
|
6 |
-
|
7 |
-
// Get array with all the options
|
8 |
-
$settings = get_option( 'mfbfw' );
|
9 |
-
|
10 |
-
// Get Version
|
11 |
-
$version = get_option('mfbfw_active_version');
|
12 |
-
|
13 |
-
// Make selects data
|
14 |
-
$transitionTypeArray = array( 'fade', 'zoom', 'zoom-in-out' ,'none' );
|
15 |
-
$overlayArray = array( 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 );
|
16 |
-
$msArray = array( 0, 25, 50, 75, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1250, 1500, 1750, 2000 );
|
17 |
-
$slideEffectArray = array('false','fade','slide','circular','tube','zoom-in-out','rotate');
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( isset($_REQUEST['reset']) && $_REQUEST['reset'] )
|
4 |
+
echo '<div id="message" class="updated fade"><p><strong>FancyBox for WordPress settings have been reset.</strong></p></div>';
|
5 |
+
|
6 |
+
|
7 |
+
// Get array with all the options
|
8 |
+
$settings = get_option( 'mfbfw' );
|
9 |
+
|
10 |
+
// Get Version
|
11 |
+
$version = get_option('mfbfw_active_version');
|
12 |
+
|
13 |
+
// Make selects data
|
14 |
+
$transitionTypeArray = array( 'fade', 'zoom', 'zoom-in-out' ,'none' );
|
15 |
+
$overlayArray = array( 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 );
|
16 |
+
$msArray = array( 0, 25, 50, 75, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1250, 1500, 1750, 2000 );
|
17 |
+
$slideEffectArray = array('false','fade','slide','circular','tube','zoom-in-out','rotate');
|
lib/admin-tab-animations.php
CHANGED
@@ -1,78 +1,78 @@
|
|
1 |
-
<h3><?php _e( 'Animation Settings <span style="color:green">(basic)</span>', 'mfbfw' ); ?></h3>
|
2 |
-
|
3 |
-
<p><?php _e( 'These settings control the animations when opening and closing Fancybox, and the optional easing effects.', 'mfbfw' ); ?></p>
|
4 |
-
|
5 |
-
<table class="form-table fancy-table" style="clear:none;">
|
6 |
-
<tbody>
|
7 |
-
<tr valign="top">
|
8 |
-
<th scope="row"><?php _e( 'Zoom Options', 'mfbfw' ); ?></th>
|
9 |
-
<td>
|
10 |
-
<fieldset>
|
11 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[zoomOpacity]"
|
12 |
-
id="zoomOpacity"<?php if ( isset( $settings['zoomOpacity'] ) && $settings['zoomOpacity'] ) {
|
13 |
-
echo ' checked="yes"';
|
14 |
-
} ?> />
|
15 |
-
<label for="zoomOpacity" class="onoffswitch-label"></label>
|
16 |
-
<span class="switch-text"><?php _e( 'Change content transparency during zoom animations (default: on)', 'mfbfw' ); ?></span>
|
17 |
-
</fieldset>
|
18 |
-
</td>
|
19 |
-
</tr>
|
20 |
-
<tr valign="top">
|
21 |
-
<th scope="row"><?php _e( 'Animation Type', 'mfbfw' ); ?></th>
|
22 |
-
<td>
|
23 |
-
<fieldset>
|
24 |
-
<label for="transitionIn">
|
25 |
-
<select name="mfbfw[transitionIn]" id="transitionIn">
|
26 |
-
<?php
|
27 |
-
foreach ( $transitionTypeArray as $key => $ms ) {
|
28 |
-
echo "<option value='$ms' " . selected( $settings['transitionIn'], $ms, false ) . ">$ms</option>\n";
|
29 |
-
}
|
30 |
-
?>
|
31 |
-
</select>
|
32 |
-
<?php _e( 'Animation type when opening FancyBox. (default: fade)', 'mfbfw' ); ?>
|
33 |
-
</label>
|
34 |
-
<div class="cf"></div>
|
35 |
-
<div class="line-spacer"></div>
|
36 |
-
<label for="zoomSpeedIn">
|
37 |
-
<select name="mfbfw[zoomSpeedIn]" id="zoomSpeedIn">
|
38 |
-
<?php
|
39 |
-
foreach ( $msArray as $key => $ms ) {
|
40 |
-
echo "<option value='$ms' " . selected( $settings['zoomSpeedIn'], $ms, false ) . ">$ms</option>\n";
|
41 |
-
}
|
42 |
-
?>
|
43 |
-
</select>
|
44 |
-
<?php _e( 'Speed in miliseconds of the FancyBox opening animation (default: 500)', 'mfbfw' ); ?>
|
45 |
-
</label>
|
46 |
-
</fieldset>
|
47 |
-
</td>
|
48 |
-
</tr>
|
49 |
-
<tr valign="top">
|
50 |
-
<th scope="row"><?php _e( 'Animation between slides Options', 'mfbfw' ); ?></th>
|
51 |
-
<td>
|
52 |
-
<fieldset>
|
53 |
-
<label for="transitionEffect">
|
54 |
-
<select name="mfbfw[transitionEffect]" id="animationDuration">
|
55 |
-
<?php
|
56 |
-
foreach ( $slideEffectArray as $key => $ms ) {
|
57 |
-
echo "<option value='$ms' " . selected( $settings['transitionEffect'], $ms, false ) . ">$ms</option>\n";
|
58 |
-
}
|
59 |
-
?>
|
60 |
-
</select>
|
61 |
-
<?php _e( 'Select Animation type for the slides(default: fade)', 'mfbfw' ); ?>
|
62 |
-
</label>
|
63 |
-
<div class="line-spacer"></div>
|
64 |
-
<label for="zoomSpeedChange">
|
65 |
-
<select name="mfbfw[zoomSpeedChange]" id="zoomSpeedChange">
|
66 |
-
<?php
|
67 |
-
foreach ( $msArray as $key => $ms ) {
|
68 |
-
echo "<option value='$ms' " . selected( $settings['zoomSpeedChange'], $ms, false ) . ">$ms</option>\n";
|
69 |
-
}
|
70 |
-
?>
|
71 |
-
</select>
|
72 |
-
<?php _e( 'Speed in miliseconds of the animation when navigating thorugh gallery items (default: 300)', 'mfbfw' ); ?>
|
73 |
-
</label>
|
74 |
-
</fieldset>
|
75 |
-
</td>
|
76 |
-
</tr>
|
77 |
-
</tbody>
|
78 |
</table>
|
1 |
+
<h3><?php _e( 'Animation Settings <span style="color:green">(basic)</span>', 'mfbfw' ); ?></h3>
|
2 |
+
|
3 |
+
<p><?php _e( 'These settings control the animations when opening and closing Fancybox, and the optional easing effects.', 'mfbfw' ); ?></p>
|
4 |
+
|
5 |
+
<table class="form-table fancy-table" style="clear:none;">
|
6 |
+
<tbody>
|
7 |
+
<tr valign="top">
|
8 |
+
<th scope="row"><?php _e( 'Zoom Options', 'mfbfw' ); ?></th>
|
9 |
+
<td>
|
10 |
+
<fieldset>
|
11 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[zoomOpacity]"
|
12 |
+
id="zoomOpacity"<?php if ( isset( $settings['zoomOpacity'] ) && $settings['zoomOpacity'] ) {
|
13 |
+
echo ' checked="yes"';
|
14 |
+
} ?> />
|
15 |
+
<label for="zoomOpacity" class="onoffswitch-label"></label>
|
16 |
+
<span class="switch-text"><?php _e( 'Change content transparency during zoom animations (default: on)', 'mfbfw' ); ?></span>
|
17 |
+
</fieldset>
|
18 |
+
</td>
|
19 |
+
</tr>
|
20 |
+
<tr valign="top">
|
21 |
+
<th scope="row"><?php _e( 'Animation Type', 'mfbfw' ); ?></th>
|
22 |
+
<td>
|
23 |
+
<fieldset>
|
24 |
+
<label for="transitionIn">
|
25 |
+
<select name="mfbfw[transitionIn]" id="transitionIn">
|
26 |
+
<?php
|
27 |
+
foreach ( $transitionTypeArray as $key => $ms ) {
|
28 |
+
echo "<option value='$ms' " . selected( $settings['transitionIn'], $ms, false ) . ">$ms</option>\n";
|
29 |
+
}
|
30 |
+
?>
|
31 |
+
</select>
|
32 |
+
<?php _e( 'Animation type when opening FancyBox. (default: fade)', 'mfbfw' ); ?>
|
33 |
+
</label>
|
34 |
+
<div class="cf"></div>
|
35 |
+
<div class="line-spacer"></div>
|
36 |
+
<label for="zoomSpeedIn">
|
37 |
+
<select name="mfbfw[zoomSpeedIn]" id="zoomSpeedIn">
|
38 |
+
<?php
|
39 |
+
foreach ( $msArray as $key => $ms ) {
|
40 |
+
echo "<option value='$ms' " . selected( $settings['zoomSpeedIn'], $ms, false ) . ">$ms</option>\n";
|
41 |
+
}
|
42 |
+
?>
|
43 |
+
</select>
|
44 |
+
<?php _e( 'Speed in miliseconds of the FancyBox opening animation (default: 500)', 'mfbfw' ); ?>
|
45 |
+
</label>
|
46 |
+
</fieldset>
|
47 |
+
</td>
|
48 |
+
</tr>
|
49 |
+
<tr valign="top">
|
50 |
+
<th scope="row"><?php _e( 'Animation between slides Options', 'mfbfw' ); ?></th>
|
51 |
+
<td>
|
52 |
+
<fieldset>
|
53 |
+
<label for="transitionEffect">
|
54 |
+
<select name="mfbfw[transitionEffect]" id="animationDuration">
|
55 |
+
<?php
|
56 |
+
foreach ( $slideEffectArray as $key => $ms ) {
|
57 |
+
echo "<option value='$ms' " . selected( $settings['transitionEffect'], $ms, false ) . ">$ms</option>\n";
|
58 |
+
}
|
59 |
+
?>
|
60 |
+
</select>
|
61 |
+
<?php _e( 'Select Animation type for the slides(default: fade)', 'mfbfw' ); ?>
|
62 |
+
</label>
|
63 |
+
<div class="line-spacer"></div>
|
64 |
+
<label for="zoomSpeedChange">
|
65 |
+
<select name="mfbfw[zoomSpeedChange]" id="zoomSpeedChange">
|
66 |
+
<?php
|
67 |
+
foreach ( $msArray as $key => $ms ) {
|
68 |
+
echo "<option value='$ms' " . selected( $settings['zoomSpeedChange'], $ms, false ) . ">$ms</option>\n";
|
69 |
+
}
|
70 |
+
?>
|
71 |
+
</select>
|
72 |
+
<?php _e( 'Speed in miliseconds of the animation when navigating thorugh gallery items (default: 300)', 'mfbfw' ); ?>
|
73 |
+
</label>
|
74 |
+
</fieldset>
|
75 |
+
</td>
|
76 |
+
</tr>
|
77 |
+
</tbody>
|
78 |
</table>
|
lib/admin-tab-appearance.php
CHANGED
@@ -1,179 +1,179 @@
|
|
1 |
-
<h3><?php _e( 'Appearance Settings <span style="color:green">(basic)</span>', 'mfbfw' ); ?></h3>
|
2 |
-
|
3 |
-
<p><?php _e( 'These setting control how Fancybox looks, they let you tweak color, borders and position of elements, like the image title and closing buttons.', 'mfbfw' ); ?></p>
|
4 |
-
|
5 |
-
<table class="form-table fancy-table" style="clear:none;">
|
6 |
-
<tbody>
|
7 |
-
<tr valign="top">
|
8 |
-
<th scope="row"><?php _e( 'Close Button', 'mfbfw' ); ?></th>
|
9 |
-
<td>
|
10 |
-
<fieldset>
|
11 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[showCloseButton]"
|
12 |
-
id="showCloseButton"<?php if ( isset( $settings['showCloseButton'] ) && $settings['showCloseButton'] ) {
|
13 |
-
echo ' checked="yes"';
|
14 |
-
} ?> />
|
15 |
-
<label for="showCloseButton" class="onoffswitch-label">
|
16 |
-
</label>
|
17 |
-
<span class="switch-text"><?php _e( 'Show Close button (default: off)', 'mfbfw' ); ?></span>
|
18 |
-
<div class="cf"></div>
|
19 |
-
</fieldset>
|
20 |
-
</td>
|
21 |
-
</tr>
|
22 |
-
<tr valign="top">
|
23 |
-
<th scope="row"><?php _e( 'Toolbar', 'mfbfw' ); ?></th>
|
24 |
-
<td>
|
25 |
-
<fieldset>
|
26 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[showToolbar]"
|
27 |
-
id="showToolbar"<?php if ( isset( $settings['showToolbar'] ) && $settings['showToolbar'] ) {
|
28 |
-
echo ' checked="yes"';
|
29 |
-
} ?> />
|
30 |
-
<label for="showToolbar" class="onoffswitch-label">
|
31 |
-
</label>
|
32 |
-
<span class="switch-text"><?php _e( 'Show Toolbar (default: on)', 'mfbfw' ); ?></span>
|
33 |
-
<div class="cf"></div>
|
34 |
-
</fieldset>
|
35 |
-
</td>
|
36 |
-
</tr>
|
37 |
-
<tr valign="top">
|
38 |
-
<th scope="row"><?php _e( 'Border', 'mfbfw' ); ?></th>
|
39 |
-
<td>
|
40 |
-
<fieldset>
|
41 |
-
<input class="onoffswitch-checkbox" type="checkbox" name="mfbfw[border]"
|
42 |
-
id="border"<?php if ( isset( $settings['border'] ) && $settings['border'] ) {
|
43 |
-
echo ' checked="yes"';
|
44 |
-
} ?> />
|
45 |
-
<label for="border" class="onoffswitch-label"></label>
|
46 |
-
<span class="switch-text"><?php _e( 'Show Border (default: off)', 'mfbfw' ); ?></span>
|
47 |
-
<div class="cf"></div>
|
48 |
-
<div id="borderColorBlock" class="hidden-block">
|
49 |
-
<label for="borderColor">
|
50 |
-
<input type="text" class="color-btn" name="mfbfw[borderColor]" id="borderColor"
|
51 |
-
value="<?php echo $settings['borderColor'] ?>" size="7" maxlength="7"/>
|
52 |
-
</label>
|
53 |
-
<p class="description"><?php _e( 'HTML color of the border (default: #BBBBBB)', 'mfbfw' ); ?></p>
|
54 |
-
</div>
|
55 |
-
</fieldset>
|
56 |
-
</td>
|
57 |
-
</tr>
|
58 |
-
<tr valign="top">
|
59 |
-
<th scope="row"><?php _e( 'Padding', 'mfbfw' ); ?></th>
|
60 |
-
<td>
|
61 |
-
<fieldset>
|
62 |
-
<label for="paddingColor">
|
63 |
-
<input type="text" class="color-btn" name="mfbfw[paddingColor]" id="paddingColor"
|
64 |
-
value="<?php echo $settings['paddingColor'] ?>" size="7" maxlength="7"/>
|
65 |
-
</label>
|
66 |
-
<p class="description"><?php _e( 'HTML color of the padding (default: #FFFFFF)', 'mfbfw' ); ?></p>
|
67 |
-
<p class="description"><?php _e( '(This should be left on #FFFFFF (white) if you want to display anything other than images, like inline or framed content)', 'mfbfw' ); ?></p>
|
68 |
-
<div class="line-spacer"></div>
|
69 |
-
<label for="padding" class="inlined">
|
70 |
-
<input type="text" class="slider-text" name="mfbfw[padding]" id="padding"
|
71 |
-
value="<?php echo $settings['padding']; ?>" size="7" maxlength="7"/>
|
72 |
-
<div class="slider-horizontal" minSl="0" maxSl="100" stepSl="1" rangeSl="min"
|
73 |
-
style="height:14px;"></div>
|
74 |
-
<div class="cf"></div>
|
75 |
-
<p class="description"><span class="slider-spantext"><?php _e( 'Padding size in pixels (default: 10)', 'mfbfw' ); ?></span></p>
|
76 |
-
</label>
|
77 |
-
</fieldset>
|
78 |
-
</td>
|
79 |
-
</tr>
|
80 |
-
<tr valign="top">
|
81 |
-
<th scope="row"><?php _e( 'Overlay Options', 'mfbfw' ); ?></th>
|
82 |
-
<td>
|
83 |
-
<fieldset>
|
84 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[overlayShow]"
|
85 |
-
id="overlayShow"<?php if ( isset( $settings['overlayShow'] ) && $settings['overlayShow'] ) {
|
86 |
-
echo ' checked="yes"';
|
87 |
-
} ?> />
|
88 |
-
<label for="overlayShow" class="onoffswitch-label"></label>
|
89 |
-
<span class="switch-text"><?php _e( 'Add overlay (default: on)', 'mfbfw' ); ?></span>
|
90 |
-
<div class="cf"></div>
|
91 |
-
<div id="overlayBlock" class="hidden-block">
|
92 |
-
<label for="overlayColor">
|
93 |
-
<input type="text" class="color-btn" name="mfbfw[overlayColor]" id="overlayColor"
|
94 |
-
value="<?php echo $settings['overlayColor']; ?>" size="7" maxlength="7"/>
|
95 |
-
</label>
|
96 |
-
<p class="description"><?php _e( 'HTML color of the overlay (default: #666666)', 'mfbfw' ); ?></p>
|
97 |
-
<div class="line-spacer"></div>
|
98 |
-
<label for="overlayOpacity" class="inlined">
|
99 |
-
<input type="text" class="slider-text" name="mfbfw[overlayOpacity]" id="overlayOpacity"
|
100 |
-
value="<?php echo $settings['overlayOpacity']; ?>" size="7" maxlength="7"/>
|
101 |
-
<div class="slider-horizontal" minSl="0" maxSl="1" stepSl="0.1" rangeSl="min"
|
102 |
-
style="height:14px;"></div>
|
103 |
-
<div class="cf"></div>
|
104 |
-
<p class="description"><span class="slider-spantext"><?php _e( 'Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)', 'mfbfw' ); ?></span></p>
|
105 |
-
</label>
|
106 |
-
</div>
|
107 |
-
</fieldset>
|
108 |
-
</td>
|
109 |
-
</tr>
|
110 |
-
<tr valign="top">
|
111 |
-
<th scope="row"><?php _e( 'Title', 'mfbfw' ); ?></th>
|
112 |
-
<td>
|
113 |
-
<fieldset>
|
114 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[titleShow]"
|
115 |
-
id="titleShow"<?php if ( isset( $settings['titleShow'] ) && $settings['titleShow'] ) {
|
116 |
-
echo ' checked="yes"';
|
117 |
-
} ?> />
|
118 |
-
<label for="titleShow" class="onoffswitch-label"></label>
|
119 |
-
<span class="switch-text"><?php _e( 'Show the title (default: on)', 'mfbfw' ); ?></span>
|
120 |
-
<div class="cf"></div>
|
121 |
-
<div id="titleBlock" class="hidden-block">
|
122 |
-
<label for="titleSize">
|
123 |
-
<input type="text" name="mfbfw[titleSize]" id="titleSize" size="2" maxlength="4"
|
124 |
-
value="<?php echo $settings['titleSize']; ?>"/>
|
125 |
-
<?php _e( 'Title size (default: 14px)', 'mfbfw' ); ?>
|
126 |
-
</label>
|
127 |
-
<div class="cf"></div>
|
128 |
-
<div class="line-spacer"></div>
|
129 |
-
<input id="titlePositionInside" class="titlePosition" type="radio" value="inside"
|
130 |
-
name="mfbfw[titlePosition]"<?php if ( $settings['titlePosition'] == 'inside' ) {
|
131 |
-
echo ' checked="yes"';
|
132 |
-
} ?> />
|
133 |
-
<label for="titlePositionInside">
|
134 |
-
<?php _e( 'Inside (default)', 'mfbfw' ); ?>
|
135 |
-
</label>
|
136 |
-
<input id="titlePositionOutside" class="titlePosition" type="radio" value="float"
|
137 |
-
name="mfbfw[titlePosition]"<?php if ( $settings['titlePosition'] == 'float' ) {
|
138 |
-
echo ' checked="yes"';
|
139 |
-
} ?> />
|
140 |
-
<label for="titlePositionOutside">
|
141 |
-
<?php _e( 'Outside', 'mfbfw' ); ?>
|
142 |
-
</label>
|
143 |
-
<input id="titlePositionOver" class="titlePosition" type="radio" value="over"
|
144 |
-
name="mfbfw[titlePosition]"<?php if ( $settings['titlePosition'] == 'over' ) {
|
145 |
-
echo ' checked="yes"';
|
146 |
-
} ?> />
|
147 |
-
<label for="titlePositionOver">
|
148 |
-
<?php _e( 'Over', 'mfbfw' ); ?>
|
149 |
-
</label>
|
150 |
-
<div class="line-spacer"></div>
|
151 |
-
<div id="titleColorBlock">
|
152 |
-
<label for="titleColor">
|
153 |
-
<input type="text" class="color-btn" name="mfbfw[titleColor]" id="titleColor"
|
154 |
-
class="colorpick" value="<?php echo $settings['titleColor']; ?>" size="7"
|
155 |
-
maxlength="7"/>
|
156 |
-
</label>
|
157 |
-
<p class="description"><?php _e( 'Title text color (default: #333333)', 'mfbfw' ); ?></p>
|
158 |
-
<p class="description"><?php _e( '(Should contrast with the padding color set above)', 'mfbfw' ); ?></p>
|
159 |
-
</div>
|
160 |
-
</div>
|
161 |
-
</fieldset>
|
162 |
-
</td>
|
163 |
-
</tr>
|
164 |
-
<tr valign="top">
|
165 |
-
<th scope="row"><?php _e( 'Navigation Arrows', 'mfbfw' ); ?></th>
|
166 |
-
<td>
|
167 |
-
<fieldset>
|
168 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[showNavArrows]"
|
169 |
-
id="showNavArrows"<?php if ( isset( $settings['showNavArrows'] ) && $settings['showNavArrows'] ) {
|
170 |
-
echo ' checked="yes"';
|
171 |
-
} ?> />
|
172 |
-
<label for="showNavArrows" class="onoffswitch-label"></label>
|
173 |
-
<span class="switch-text"><?php _e( 'Show the navigation arrows (default: on)', 'mfbfw' ); ?></span>
|
174 |
-
<div class="cf"></div>
|
175 |
-
</fieldset>
|
176 |
-
</td>
|
177 |
-
</tr>
|
178 |
-
</tbody>
|
179 |
</table>
|
1 |
+
<h3><?php _e( 'Appearance Settings <span style="color:green">(basic)</span>', 'mfbfw' ); ?></h3>
|
2 |
+
|
3 |
+
<p><?php _e( 'These setting control how Fancybox looks, they let you tweak color, borders and position of elements, like the image title and closing buttons.', 'mfbfw' ); ?></p>
|
4 |
+
|
5 |
+
<table class="form-table fancy-table" style="clear:none;">
|
6 |
+
<tbody>
|
7 |
+
<tr valign="top">
|
8 |
+
<th scope="row"><?php _e( 'Close Button', 'mfbfw' ); ?></th>
|
9 |
+
<td>
|
10 |
+
<fieldset>
|
11 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[showCloseButton]"
|
12 |
+
id="showCloseButton"<?php if ( isset( $settings['showCloseButton'] ) && $settings['showCloseButton'] ) {
|
13 |
+
echo ' checked="yes"';
|
14 |
+
} ?> />
|
15 |
+
<label for="showCloseButton" class="onoffswitch-label">
|
16 |
+
</label>
|
17 |
+
<span class="switch-text"><?php _e( 'Show Close button (default: off)', 'mfbfw' ); ?></span>
|
18 |
+
<div class="cf"></div>
|
19 |
+
</fieldset>
|
20 |
+
</td>
|
21 |
+
</tr>
|
22 |
+
<tr valign="top">
|
23 |
+
<th scope="row"><?php _e( 'Toolbar', 'mfbfw' ); ?></th>
|
24 |
+
<td>
|
25 |
+
<fieldset>
|
26 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[showToolbar]"
|
27 |
+
id="showToolbar"<?php if ( isset( $settings['showToolbar'] ) && $settings['showToolbar'] ) {
|
28 |
+
echo ' checked="yes"';
|
29 |
+
} ?> />
|
30 |
+
<label for="showToolbar" class="onoffswitch-label">
|
31 |
+
</label>
|
32 |
+
<span class="switch-text"><?php _e( 'Show Toolbar (default: on)', 'mfbfw' ); ?></span>
|
33 |
+
<div class="cf"></div>
|
34 |
+
</fieldset>
|
35 |
+
</td>
|
36 |
+
</tr>
|
37 |
+
<tr valign="top">
|
38 |
+
<th scope="row"><?php _e( 'Border', 'mfbfw' ); ?></th>
|
39 |
+
<td>
|
40 |
+
<fieldset>
|
41 |
+
<input class="onoffswitch-checkbox" type="checkbox" name="mfbfw[border]"
|
42 |
+
id="border"<?php if ( isset( $settings['border'] ) && $settings['border'] ) {
|
43 |
+
echo ' checked="yes"';
|
44 |
+
} ?> />
|
45 |
+
<label for="border" class="onoffswitch-label"></label>
|
46 |
+
<span class="switch-text"><?php _e( 'Show Border (default: off)', 'mfbfw' ); ?></span>
|
47 |
+
<div class="cf"></div>
|
48 |
+
<div id="borderColorBlock" class="hidden-block">
|
49 |
+
<label for="borderColor">
|
50 |
+
<input type="text" class="color-btn" name="mfbfw[borderColor]" id="borderColor"
|
51 |
+
value="<?php echo $settings['borderColor'] ?>" size="7" maxlength="7"/>
|
52 |
+
</label>
|
53 |
+
<p class="description"><?php _e( 'HTML color of the border (default: #BBBBBB)', 'mfbfw' ); ?></p>
|
54 |
+
</div>
|
55 |
+
</fieldset>
|
56 |
+
</td>
|
57 |
+
</tr>
|
58 |
+
<tr valign="top">
|
59 |
+
<th scope="row"><?php _e( 'Padding', 'mfbfw' ); ?></th>
|
60 |
+
<td>
|
61 |
+
<fieldset>
|
62 |
+
<label for="paddingColor">
|
63 |
+
<input type="text" class="color-btn" name="mfbfw[paddingColor]" id="paddingColor"
|
64 |
+
value="<?php echo $settings['paddingColor'] ?>" size="7" maxlength="7"/>
|
65 |
+
</label>
|
66 |
+
<p class="description"><?php _e( 'HTML color of the padding (default: #FFFFFF)', 'mfbfw' ); ?></p>
|
67 |
+
<p class="description"><?php _e( '(This should be left on #FFFFFF (white) if you want to display anything other than images, like inline or framed content)', 'mfbfw' ); ?></p>
|
68 |
+
<div class="line-spacer"></div>
|
69 |
+
<label for="padding" class="inlined">
|
70 |
+
<input type="text" class="slider-text" name="mfbfw[padding]" id="padding"
|
71 |
+
value="<?php echo $settings['padding']; ?>" size="7" maxlength="7"/>
|
72 |
+
<div class="slider-horizontal" minSl="0" maxSl="100" stepSl="1" rangeSl="min"
|
73 |
+
style="height:14px;"></div>
|
74 |
+
<div class="cf"></div>
|
75 |
+
<p class="description"><span class="slider-spantext"><?php _e( 'Padding size in pixels (default: 10)', 'mfbfw' ); ?></span></p>
|
76 |
+
</label>
|
77 |
+
</fieldset>
|
78 |
+
</td>
|
79 |
+
</tr>
|
80 |
+
<tr valign="top">
|
81 |
+
<th scope="row"><?php _e( 'Overlay Options', 'mfbfw' ); ?></th>
|
82 |
+
<td>
|
83 |
+
<fieldset>
|
84 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[overlayShow]"
|
85 |
+
id="overlayShow"<?php if ( isset( $settings['overlayShow'] ) && $settings['overlayShow'] ) {
|
86 |
+
echo ' checked="yes"';
|
87 |
+
} ?> />
|
88 |
+
<label for="overlayShow" class="onoffswitch-label"></label>
|
89 |
+
<span class="switch-text"><?php _e( 'Add overlay (default: on)', 'mfbfw' ); ?></span>
|
90 |
+
<div class="cf"></div>
|
91 |
+
<div id="overlayBlock" class="hidden-block">
|
92 |
+
<label for="overlayColor">
|
93 |
+
<input type="text" class="color-btn" name="mfbfw[overlayColor]" id="overlayColor"
|
94 |
+
value="<?php echo $settings['overlayColor']; ?>" size="7" maxlength="7"/>
|
95 |
+
</label>
|
96 |
+
<p class="description"><?php _e( 'HTML color of the overlay (default: #666666)', 'mfbfw' ); ?></p>
|
97 |
+
<div class="line-spacer"></div>
|
98 |
+
<label for="overlayOpacity" class="inlined">
|
99 |
+
<input type="text" class="slider-text" name="mfbfw[overlayOpacity]" id="overlayOpacity"
|
100 |
+
value="<?php echo $settings['overlayOpacity']; ?>" size="7" maxlength="7"/>
|
101 |
+
<div class="slider-horizontal" minSl="0" maxSl="1" stepSl="0.1" rangeSl="min"
|
102 |
+
style="height:14px;"></div>
|
103 |
+
<div class="cf"></div>
|
104 |
+
<p class="description"><span class="slider-spantext"><?php _e( 'Opacity of overlay. 0 is transparent, 1 is opaque (default: 0.3)', 'mfbfw' ); ?></span></p>
|
105 |
+
</label>
|
106 |
+
</div>
|
107 |
+
</fieldset>
|
108 |
+
</td>
|
109 |
+
</tr>
|
110 |
+
<tr valign="top">
|
111 |
+
<th scope="row"><?php _e( 'Title', 'mfbfw' ); ?></th>
|
112 |
+
<td>
|
113 |
+
<fieldset>
|
114 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[titleShow]"
|
115 |
+
id="titleShow"<?php if ( isset( $settings['titleShow'] ) && $settings['titleShow'] ) {
|
116 |
+
echo ' checked="yes"';
|
117 |
+
} ?> />
|
118 |
+
<label for="titleShow" class="onoffswitch-label"></label>
|
119 |
+
<span class="switch-text"><?php _e( 'Show the title (default: on)', 'mfbfw' ); ?></span>
|
120 |
+
<div class="cf"></div>
|
121 |
+
<div id="titleBlock" class="hidden-block">
|
122 |
+
<label for="titleSize">
|
123 |
+
<input type="text" name="mfbfw[titleSize]" id="titleSize" size="2" maxlength="4"
|
124 |
+
value="<?php echo $settings['titleSize']; ?>"/>
|
125 |
+
<?php _e( 'Title size (default: 14px)', 'mfbfw' ); ?>
|
126 |
+
</label>
|
127 |
+
<div class="cf"></div>
|
128 |
+
<div class="line-spacer"></div>
|
129 |
+
<input id="titlePositionInside" class="titlePosition" type="radio" value="inside"
|
130 |
+
name="mfbfw[titlePosition]"<?php if ( $settings['titlePosition'] == 'inside' ) {
|
131 |
+
echo ' checked="yes"';
|
132 |
+
} ?> />
|
133 |
+
<label for="titlePositionInside">
|
134 |
+
<?php _e( 'Inside (default)', 'mfbfw' ); ?>
|
135 |
+
</label>
|
136 |
+
<input id="titlePositionOutside" class="titlePosition" type="radio" value="float"
|
137 |
+
name="mfbfw[titlePosition]"<?php if ( $settings['titlePosition'] == 'float' ) {
|
138 |
+
echo ' checked="yes"';
|
139 |
+
} ?> />
|
140 |
+
<label for="titlePositionOutside">
|
141 |
+
<?php _e( 'Outside', 'mfbfw' ); ?>
|
142 |
+
</label>
|
143 |
+
<input id="titlePositionOver" class="titlePosition" type="radio" value="over"
|
144 |
+
name="mfbfw[titlePosition]"<?php if ( $settings['titlePosition'] == 'over' ) {
|
145 |
+
echo ' checked="yes"';
|
146 |
+
} ?> />
|
147 |
+
<label for="titlePositionOver">
|
148 |
+
<?php _e( 'Over', 'mfbfw' ); ?>
|
149 |
+
</label>
|
150 |
+
<div class="line-spacer"></div>
|
151 |
+
<div id="titleColorBlock">
|
152 |
+
<label for="titleColor">
|
153 |
+
<input type="text" class="color-btn" name="mfbfw[titleColor]" id="titleColor"
|
154 |
+
class="colorpick" value="<?php echo $settings['titleColor']; ?>" size="7"
|
155 |
+
maxlength="7"/>
|
156 |
+
</label>
|
157 |
+
<p class="description"><?php _e( 'Title text color (default: #333333)', 'mfbfw' ); ?></p>
|
158 |
+
<p class="description"><?php _e( '(Should contrast with the padding color set above)', 'mfbfw' ); ?></p>
|
159 |
+
</div>
|
160 |
+
</div>
|
161 |
+
</fieldset>
|
162 |
+
</td>
|
163 |
+
</tr>
|
164 |
+
<tr valign="top">
|
165 |
+
<th scope="row"><?php _e( 'Navigation Arrows', 'mfbfw' ); ?></th>
|
166 |
+
<td>
|
167 |
+
<fieldset>
|
168 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[showNavArrows]"
|
169 |
+
id="showNavArrows"<?php if ( isset( $settings['showNavArrows'] ) && $settings['showNavArrows'] ) {
|
170 |
+
echo ' checked="yes"';
|
171 |
+
} ?> />
|
172 |
+
<label for="showNavArrows" class="onoffswitch-label"></label>
|
173 |
+
<span class="switch-text"><?php _e( 'Show the navigation arrows (default: on)', 'mfbfw' ); ?></span>
|
174 |
+
<div class="cf"></div>
|
175 |
+
</fieldset>
|
176 |
+
</td>
|
177 |
+
</tr>
|
178 |
+
</tbody>
|
179 |
</table>
|
lib/admin-tab-behaviour.php
CHANGED
@@ -1,102 +1,102 @@
|
|
1 |
-
<h3><?php _e( 'Behavior Settings <span style="color:orange">(medium)</span>', 'mfbfw' ); ?></h3>
|
2 |
-
<p><?php _e( 'The following settings should be left alone unless you know what you are doing.', 'mfbfw' ); ?></p>
|
3 |
-
<table class="form-table fancy-table" style="clear:none;">
|
4 |
-
<tbody>
|
5 |
-
<tr valign="top">
|
6 |
-
<th scope="row"><?php _e( 'Close on Content Click', 'mfbfw' ); ?></th>
|
7 |
-
<td>
|
8 |
-
<fieldset>
|
9 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[hideOnContentClick]"
|
10 |
-
id="hideOnContentClick"<?php if ( isset( $settings['hideOnContentClick'] ) && $settings['hideOnContentClick'] ) {
|
11 |
-
echo ' checked="yes"';
|
12 |
-
} ?> />
|
13 |
-
<label for="hideOnContentClick" class="onoffswitch-label"></label>
|
14 |
-
<span class="switch-text"><?php _e( 'Close FancyBox by clicking on the image (default: off)', 'mfbfw' ); ?></span>
|
15 |
-
<div class="cf"></div>
|
16 |
-
<p class="description">
|
17 |
-
<em><?php _e( '(You may want to leave this off if you display iframed or inline content that containts clickable elements - for example: play buttons for movies, links to other pages)', 'mfbfw' ); ?>
|
18 |
-
</p>
|
19 |
-
</fieldset>
|
20 |
-
</td>
|
21 |
-
</tr>
|
22 |
-
<tr valign="top">
|
23 |
-
<th scope="row"><?php _e( 'Close on Overlay Click', 'mfbfw' ); ?></th>
|
24 |
-
<td>
|
25 |
-
<fieldset>
|
26 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[hideOnOverlayClick]"
|
27 |
-
id="hideOnOverlayClick"<?php if ( isset( $settings['hideOnOverlayClick'] ) && $settings['hideOnOverlayClick'] ) {
|
28 |
-
echo ' checked="yes"';
|
29 |
-
} ?> />
|
30 |
-
<label for="hideOnOverlayClick" class="onoffswitch-label"></label>
|
31 |
-
<span class="switch-text"><?php _e( 'Close FancyBox by clicking on the overlay sorrounding it (default: on)', 'mfbfw' ); ?></span>
|
32 |
-
<div class="cf"></div>
|
33 |
-
</fieldset>
|
34 |
-
</td>
|
35 |
-
</tr>
|
36 |
-
<tr valign="top">
|
37 |
-
<th scope="row"><?php _e( 'Keyboard navigation;', 'mfbfw' ); ?></th>
|
38 |
-
<td>
|
39 |
-
<fieldset>
|
40 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[enableEscapeButton]"
|
41 |
-
id="enableEscapeButton"<?php if ( isset( $settings['enableEscapeButton'] ) && $settings['enableEscapeButton'] ) {
|
42 |
-
echo ' checked="yes"';
|
43 |
-
} ?> />
|
44 |
-
<label for="enableEscapeButton" class="onoffswitch-label"></label>
|
45 |
-
<span class="switch-text"><?php _e( 'Enable Keyboard Navigation (default: on)', 'mfbfw' ); ?></span>
|
46 |
-
<div class="cf"></div>
|
47 |
-
</fieldset>
|
48 |
-
</td>
|
49 |
-
</tr>
|
50 |
-
<tr valign="top">
|
51 |
-
<th scope="row"><?php _e( 'Loop Galleries', 'mfbfw' ); ?></th>
|
52 |
-
<td>
|
53 |
-
<fieldset>
|
54 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[cyclic]"
|
55 |
-
id="cyclic"<?php if ( isset( $settings['cyclic'] ) && $settings['cyclic'] ) {
|
56 |
-
echo ' checked="yes"';
|
57 |
-
} ?> />
|
58 |
-
<label for="cyclic" class="onoffswitch-label"></label>
|
59 |
-
<span class="switch-text"><?php _e( 'This will make galleries loop, allowing you to keep pressing next/back (default: off)', 'mfbfw' ); ?></span>
|
60 |
-
<div class="cf"></div>
|
61 |
-
</fieldset>
|
62 |
-
</td>
|
63 |
-
</tr>
|
64 |
-
<tr valign="top">
|
65 |
-
<th scope="row"><?php _e( 'Mouse Wheel Navigation', 'mfbfw' ); ?></th>
|
66 |
-
<td>
|
67 |
-
<fieldset>
|
68 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[mouseWheel]"
|
69 |
-
id="mouseWheel"<?php if ( isset( $settings['mouseWheel'] ) && $settings['mouseWheel'] ) {
|
70 |
-
echo ' checked="yes"';
|
71 |
-
} ?> />
|
72 |
-
<label for="mouseWheel" class="onoffswitch-label"></label>
|
73 |
-
<span class="switch-text"><?php _e( 'Lets visitors navigate galleries with the mouse wheel (default: off)', 'mfbfw' ); ?></span>
|
74 |
-
<div class="cf"></div>
|
75 |
-
</fieldset>
|
76 |
-
</td>
|
77 |
-
</tr>
|
78 |
-
<tr valign="top">
|
79 |
-
<th scope="row"><?php _e( 'Woocommerce:', 'mfbfw' ); ?></th>
|
80 |
-
<td>
|
81 |
-
<fieldset>
|
82 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[disableWoocommercePages]"
|
83 |
-
id="disableWoocommercePages"<?php if ( isset( $settings['disableWoocommercePages'] ) && $settings['disableWoocommercePages'] ) {
|
84 |
-
echo ' checked="yes"';
|
85 |
-
} ?> />
|
86 |
-
<label for="disableWoocommercePages" class="onoffswitch-label"></label>
|
87 |
-
<span class="switch-text"><?php _e( 'Disable on Woocommerce Shop page.( Default : off )', 'mfbfw' ); ?></span>
|
88 |
-
<div class="cf"></div>
|
89 |
-
</fieldset>
|
90 |
-
<fieldset>
|
91 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[disableWoocommerceProducts]"
|
92 |
-
id="disableWoocommerceProducts"<?php if ( isset( $settings['disableWoocommerceProducts'] ) && $settings['disableWoocommerceProducts'] ) {
|
93 |
-
echo ' checked="yes"';
|
94 |
-
} ?> />
|
95 |
-
<label for="disableWoocommerceProducts" class="onoffswitch-label"></label>
|
96 |
-
<span class="switch-text"><?php _e( 'Disable on Woocommerce products.( Default : off )', 'mfbfw' ); ?></span>
|
97 |
-
<div class="cf"></div>
|
98 |
-
</fieldset>
|
99 |
-
</td>
|
100 |
-
</tr>
|
101 |
-
</tbody>
|
102 |
</table>
|
1 |
+
<h3><?php _e( 'Behavior Settings <span style="color:orange">(medium)</span>', 'mfbfw' ); ?></h3>
|
2 |
+
<p><?php _e( 'The following settings should be left alone unless you know what you are doing.', 'mfbfw' ); ?></p>
|
3 |
+
<table class="form-table fancy-table" style="clear:none;">
|
4 |
+
<tbody>
|
5 |
+
<tr valign="top">
|
6 |
+
<th scope="row"><?php _e( 'Close on Content Click', 'mfbfw' ); ?></th>
|
7 |
+
<td>
|
8 |
+
<fieldset>
|
9 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[hideOnContentClick]"
|
10 |
+
id="hideOnContentClick"<?php if ( isset( $settings['hideOnContentClick'] ) && $settings['hideOnContentClick'] ) {
|
11 |
+
echo ' checked="yes"';
|
12 |
+
} ?> />
|
13 |
+
<label for="hideOnContentClick" class="onoffswitch-label"></label>
|
14 |
+
<span class="switch-text"><?php _e( 'Close FancyBox by clicking on the image (default: off)', 'mfbfw' ); ?></span>
|
15 |
+
<div class="cf"></div>
|
16 |
+
<p class="description">
|
17 |
+
<em><?php _e( '(You may want to leave this off if you display iframed or inline content that containts clickable elements - for example: play buttons for movies, links to other pages)', 'mfbfw' ); ?>
|
18 |
+
</p>
|
19 |
+
</fieldset>
|
20 |
+
</td>
|
21 |
+
</tr>
|
22 |
+
<tr valign="top">
|
23 |
+
<th scope="row"><?php _e( 'Close on Overlay Click', 'mfbfw' ); ?></th>
|
24 |
+
<td>
|
25 |
+
<fieldset>
|
26 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[hideOnOverlayClick]"
|
27 |
+
id="hideOnOverlayClick"<?php if ( isset( $settings['hideOnOverlayClick'] ) && $settings['hideOnOverlayClick'] ) {
|
28 |
+
echo ' checked="yes"';
|
29 |
+
} ?> />
|
30 |
+
<label for="hideOnOverlayClick" class="onoffswitch-label"></label>
|
31 |
+
<span class="switch-text"><?php _e( 'Close FancyBox by clicking on the overlay sorrounding it (default: on)', 'mfbfw' ); ?></span>
|
32 |
+
<div class="cf"></div>
|
33 |
+
</fieldset>
|
34 |
+
</td>
|
35 |
+
</tr>
|
36 |
+
<tr valign="top">
|
37 |
+
<th scope="row"><?php _e( 'Keyboard navigation;', 'mfbfw' ); ?></th>
|
38 |
+
<td>
|
39 |
+
<fieldset>
|
40 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[enableEscapeButton]"
|
41 |
+
id="enableEscapeButton"<?php if ( isset( $settings['enableEscapeButton'] ) && $settings['enableEscapeButton'] ) {
|
42 |
+
echo ' checked="yes"';
|
43 |
+
} ?> />
|
44 |
+
<label for="enableEscapeButton" class="onoffswitch-label"></label>
|
45 |
+
<span class="switch-text"><?php _e( 'Enable Keyboard Navigation (default: on)', 'mfbfw' ); ?></span>
|
46 |
+
<div class="cf"></div>
|
47 |
+
</fieldset>
|
48 |
+
</td>
|
49 |
+
</tr>
|
50 |
+
<tr valign="top">
|
51 |
+
<th scope="row"><?php _e( 'Loop Galleries', 'mfbfw' ); ?></th>
|
52 |
+
<td>
|
53 |
+
<fieldset>
|
54 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[cyclic]"
|
55 |
+
id="cyclic"<?php if ( isset( $settings['cyclic'] ) && $settings['cyclic'] ) {
|
56 |
+
echo ' checked="yes"';
|
57 |
+
} ?> />
|
58 |
+
<label for="cyclic" class="onoffswitch-label"></label>
|
59 |
+
<span class="switch-text"><?php _e( 'This will make galleries loop, allowing you to keep pressing next/back (default: off)', 'mfbfw' ); ?></span>
|
60 |
+
<div class="cf"></div>
|
61 |
+
</fieldset>
|
62 |
+
</td>
|
63 |
+
</tr>
|
64 |
+
<tr valign="top">
|
65 |
+
<th scope="row"><?php _e( 'Mouse Wheel Navigation', 'mfbfw' ); ?></th>
|
66 |
+
<td>
|
67 |
+
<fieldset>
|
68 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[mouseWheel]"
|
69 |
+
id="mouseWheel"<?php if ( isset( $settings['mouseWheel'] ) && $settings['mouseWheel'] ) {
|
70 |
+
echo ' checked="yes"';
|
71 |
+
} ?> />
|
72 |
+
<label for="mouseWheel" class="onoffswitch-label"></label>
|
73 |
+
<span class="switch-text"><?php _e( 'Lets visitors navigate galleries with the mouse wheel (default: off)', 'mfbfw' ); ?></span>
|
74 |
+
<div class="cf"></div>
|
75 |
+
</fieldset>
|
76 |
+
</td>
|
77 |
+
</tr>
|
78 |
+
<tr valign="top">
|
79 |
+
<th scope="row"><?php _e( 'Woocommerce:', 'mfbfw' ); ?></th>
|
80 |
+
<td>
|
81 |
+
<fieldset>
|
82 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[disableWoocommercePages]"
|
83 |
+
id="disableWoocommercePages"<?php if ( isset( $settings['disableWoocommercePages'] ) && $settings['disableWoocommercePages'] ) {
|
84 |
+
echo ' checked="yes"';
|
85 |
+
} ?> />
|
86 |
+
<label for="disableWoocommercePages" class="onoffswitch-label"></label>
|
87 |
+
<span class="switch-text"><?php _e( 'Disable on Woocommerce Shop page.( Default : off )', 'mfbfw' ); ?></span>
|
88 |
+
<div class="cf"></div>
|
89 |
+
</fieldset>
|
90 |
+
<fieldset>
|
91 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[disableWoocommerceProducts]"
|
92 |
+
id="disableWoocommerceProducts"<?php if ( isset( $settings['disableWoocommerceProducts'] ) && $settings['disableWoocommerceProducts'] ) {
|
93 |
+
echo ' checked="yes"';
|
94 |
+
} ?> />
|
95 |
+
<label for="disableWoocommerceProducts" class="onoffswitch-label"></label>
|
96 |
+
<span class="switch-text"><?php _e( 'Disable on Woocommerce products.( Default : off )', 'mfbfw' ); ?></span>
|
97 |
+
<div class="cf"></div>
|
98 |
+
</fieldset>
|
99 |
+
</td>
|
100 |
+
</tr>
|
101 |
+
</tbody>
|
102 |
</table>
|
lib/admin-tab-galleries.php
CHANGED
@@ -1,54 +1,54 @@
|
|
1 |
-
<h3><?php _e( 'Gallery Settings <span style="color:red">(advanced)</span>', 'mfbfw' ); ?></h3>
|
2 |
-
<p><?php _e( 'Here you can choose if you want the plugin to group all images into a gallery, or make a gallery for each post. You can also define you own jQuery expression if you like.', 'mfbfw' ); ?></p>
|
3 |
-
<?php
|
4 |
-
//customExpression fix for update ( fancybox uses data-fancybox attribute for grouping galleries )
|
5 |
-
$settings['customExpression'] = str_replace('"rel"','"data-fancybox"',$settings['customExpression']);
|
6 |
-
|
7 |
-
?>
|
8 |
-
<table class="form-table" style="clear:none;">
|
9 |
-
<tbody>
|
10 |
-
<tr valign="top">
|
11 |
-
<th scope="row"><?php _e( 'Gallery Type', 'mfbfw' ); ?></th>
|
12 |
-
<td>
|
13 |
-
<input id="galleryTypeAll" class="galleryType" type="radio" value="all" name="mfbfw[galleryType]"<?php if ( $settings[ 'galleryType' ] == 'all' ) echo ' checked="yes"'; ?> />
|
14 |
-
<label for="galleryTypeAll">
|
15 |
-
<?php _e( 'Make a gallery for all images on the page (default)', 'mfbfw' ); ?>
|
16 |
-
</label><br /><br />
|
17 |
-
|
18 |
-
<input id="galleryTypeNone" class="galleryType" type="radio" value="none" name="mfbfw[galleryType]"<?php if ( $settings[ 'galleryType' ] == 'none' ) echo ' checked="yes"'; ?> />
|
19 |
-
<label for="galleryTypeNone">
|
20 |
-
<?php _e( 'Do not group images in gallery automatically (use this if you want to make galleries manually with the <code>REL</code> attribute)', 'mfbfw' ); ?>
|
21 |
-
</label><br /><br />
|
22 |
-
|
23 |
-
<input id="galleryTypePost" class="galleryType" type="radio" value="post" name="mfbfw[galleryType]"<?php if ( $settings[ 'galleryType' ] == 'post' ) echo ' checked="yes"'; ?> />
|
24 |
-
<label for="galleryTypePost">
|
25 |
-
<?php _e( 'Make a gallery for each post (will only work if your theme uses <code>class="post"</code> on each post, which is common in WordPress', 'mfbfw' ); ?>
|
26 |
-
</label><br /><br />
|
27 |
-
|
28 |
-
<input id="galleryTypeCustom" class="galleryType" type="radio" value="custom" name="mfbfw[galleryType]"<?php if ( $settings[ 'galleryType' ] == 'custom' ) echo ' checked="yes"'; ?> />
|
29 |
-
<label for="galleryTypeCustom">
|
30 |
-
<?php _e( 'Use a custom expression to apply FancyBox', 'mfbfw' ); ?>
|
31 |
-
</label><br /><br />
|
32 |
-
<fieldset>
|
33 |
-
<div id="customExpressionBlock">
|
34 |
-
<label for="mfbfw[customExpression]">
|
35 |
-
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
36 |
-
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[customExpression]" wrap="physical" id="customExpression"><?php echo ($settings[ 'customExpression' ]); ?></textarea>
|
37 |
-
</label><br />
|
38 |
-
<p class="description"><strong><em><?php _e( 'Custom expression guidelines:', 'mfbfw' ); ?></em></strong></p><br />
|
39 |
-
<p class="description"><em><?php _e('· The custom expression has to apply <code>class="fancybox"</code> to the links where you want to use FancyBox. Do not call the <code>fancybox()</code> function here, the plugin does this for you.', 'mfbfw'); ?></em></p><br />
|
40 |
-
<p class="description"><em><?php _e('· The jQuery <code>addClass()</code> function is a good way to add the class to the desired links conserving any existing class.', 'mfbfw'); ?></em></p><br />
|
41 |
-
<p class="description"><em><?php _e('· You can use <code>getTitle()</code> in your expression to copy the title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so that FancyBox can show captions.', 'mfbfw'); ?></em></p><br />
|
42 |
-
<p class="description"><em><?php _e('· You can use <code>jQuery(thumbnails)</code> like in the example expression to apply FancyBox to thumbnails that link to these extensions: BMP, GIF, JPG, JPEG, PNG (both lowercase and uppercase).', 'mfbfw'); ?></em></p><br />
|
43 |
-
<p class="description"><em><?php _e('· If you want to do it manually you can use something like <code>jQuery("a:has(img)[href$=\'.jpg\']")</code> or whatever works for you.', 'mfbfw'); ?></em></p><br />
|
44 |
-
<p class="description"><em><?php _e('See the <a href="http://docs.jquery.com/" target="_blank">jQuery Documentation</a> for more help.', 'mfbfw'); ?></em></p><br /><br />
|
45 |
-
<p class="description"><strong><em><?php _e('Examples:', 'mfbfw'); ?></em></strong></p><br />
|
46 |
-
<p class="description"><em><code>jQuery(thumbnails).addClass("fancybox").attr("rel","fancybox").getTitle();</code></em></p><br />
|
47 |
-
<p class="description"><em><code>jQuery"a:has(img)[href$='.jpg']").addClass"fancybox").attr("rel","fancybox").getTitle();</code></em></p><br /><br />
|
48 |
-
</div>
|
49 |
-
</fieldset>
|
50 |
-
</td>
|
51 |
-
</tr>
|
52 |
-
|
53 |
-
</tbody>
|
54 |
-
</table>
|
1 |
+
<h3><?php _e( 'Gallery Settings <span style="color:red">(advanced)</span>', 'mfbfw' ); ?></h3>
|
2 |
+
<p><?php _e( 'Here you can choose if you want the plugin to group all images into a gallery, or make a gallery for each post. You can also define you own jQuery expression if you like.', 'mfbfw' ); ?></p>
|
3 |
+
<?php
|
4 |
+
//customExpression fix for update ( fancybox uses data-fancybox attribute for grouping galleries )
|
5 |
+
$settings['customExpression'] = str_replace('"rel"','"data-fancybox"',$settings['customExpression']);
|
6 |
+
|
7 |
+
?>
|
8 |
+
<table class="form-table" style="clear:none;">
|
9 |
+
<tbody>
|
10 |
+
<tr valign="top">
|
11 |
+
<th scope="row"><?php _e( 'Gallery Type', 'mfbfw' ); ?></th>
|
12 |
+
<td>
|
13 |
+
<input id="galleryTypeAll" class="galleryType" type="radio" value="all" name="mfbfw[galleryType]"<?php if ( $settings[ 'galleryType' ] == 'all' ) echo ' checked="yes"'; ?> />
|
14 |
+
<label for="galleryTypeAll">
|
15 |
+
<?php _e( 'Make a gallery for all images on the page (default)', 'mfbfw' ); ?>
|
16 |
+
</label><br /><br />
|
17 |
+
|
18 |
+
<input id="galleryTypeNone" class="galleryType" type="radio" value="none" name="mfbfw[galleryType]"<?php if ( $settings[ 'galleryType' ] == 'none' ) echo ' checked="yes"'; ?> />
|
19 |
+
<label for="galleryTypeNone">
|
20 |
+
<?php _e( 'Do not group images in gallery automatically (use this if you want to make galleries manually with the <code>REL</code> attribute)', 'mfbfw' ); ?>
|
21 |
+
</label><br /><br />
|
22 |
+
|
23 |
+
<input id="galleryTypePost" class="galleryType" type="radio" value="post" name="mfbfw[galleryType]"<?php if ( $settings[ 'galleryType' ] == 'post' ) echo ' checked="yes"'; ?> />
|
24 |
+
<label for="galleryTypePost">
|
25 |
+
<?php _e( 'Make a gallery for each post (will only work if your theme uses <code>class="post"</code> on each post, which is common in WordPress', 'mfbfw' ); ?>
|
26 |
+
</label><br /><br />
|
27 |
+
|
28 |
+
<input id="galleryTypeCustom" class="galleryType" type="radio" value="custom" name="mfbfw[galleryType]"<?php if ( $settings[ 'galleryType' ] == 'custom' ) echo ' checked="yes"'; ?> />
|
29 |
+
<label for="galleryTypeCustom">
|
30 |
+
<?php _e( 'Use a custom expression to apply FancyBox', 'mfbfw' ); ?>
|
31 |
+
</label><br /><br />
|
32 |
+
<fieldset>
|
33 |
+
<div id="customExpressionBlock">
|
34 |
+
<label for="mfbfw[customExpression]">
|
35 |
+
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
36 |
+
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[customExpression]" wrap="physical" id="customExpression"><?php echo ($settings[ 'customExpression' ]); ?></textarea>
|
37 |
+
</label><br />
|
38 |
+
<p class="description"><strong><em><?php _e( 'Custom expression guidelines:', 'mfbfw' ); ?></em></strong></p><br />
|
39 |
+
<p class="description"><em><?php _e('· The custom expression has to apply <code>class="fancybox"</code> to the links where you want to use FancyBox. Do not call the <code>fancybox()</code> function here, the plugin does this for you.', 'mfbfw'); ?></em></p><br />
|
40 |
+
<p class="description"><em><?php _e('· The jQuery <code>addClass()</code> function is a good way to add the class to the desired links conserving any existing class.', 'mfbfw'); ?></em></p><br />
|
41 |
+
<p class="description"><em><?php _e('· You can use <code>getTitle()</code> in your expression to copy the title attribute from the <code>IMG</code> tag to the <code>A</code> tag, so that FancyBox can show captions.', 'mfbfw'); ?></em></p><br />
|
42 |
+
<p class="description"><em><?php _e('· You can use <code>jQuery(thumbnails)</code> like in the example expression to apply FancyBox to thumbnails that link to these extensions: BMP, GIF, JPG, JPEG, PNG (both lowercase and uppercase).', 'mfbfw'); ?></em></p><br />
|
43 |
+
<p class="description"><em><?php _e('· If you want to do it manually you can use something like <code>jQuery("a:has(img)[href$=\'.jpg\']")</code> or whatever works for you.', 'mfbfw'); ?></em></p><br />
|
44 |
+
<p class="description"><em><?php _e('See the <a href="http://docs.jquery.com/" target="_blank">jQuery Documentation</a> for more help.', 'mfbfw'); ?></em></p><br /><br />
|
45 |
+
<p class="description"><strong><em><?php _e('Examples:', 'mfbfw'); ?></em></strong></p><br />
|
46 |
+
<p class="description"><em><code>jQuery(thumbnails).addClass("fancybox").attr("rel","fancybox").getTitle();</code></em></p><br />
|
47 |
+
<p class="description"><em><code>jQuery"a:has(img)[href$='.jpg']").addClass"fancybox").attr("rel","fancybox").getTitle();</code></em></p><br /><br />
|
48 |
+
</div>
|
49 |
+
</fieldset>
|
50 |
+
</td>
|
51 |
+
</tr>
|
52 |
+
|
53 |
+
</tbody>
|
54 |
+
</table>
|
lib/admin-tab-other.php
CHANGED
@@ -1,199 +1,199 @@
|
|
1 |
-
<h3><?php _e( 'Other Settings <span style="color:red">(advanced)</span>', 'mfbfw' ); ?></h3>
|
2 |
-
<p><?php _e( 'These are additional settings for advanced users.', 'mfbfw' ); ?></p>
|
3 |
-
<table class="form-table fancy-table" style="clear:none;">
|
4 |
-
<tbody>
|
5 |
-
<tr valign="top">
|
6 |
-
<th scope="row"><?php _e( 'Dimensions', 'mfbfw' ); ?></th>
|
7 |
-
<td>
|
8 |
-
<fieldset>
|
9 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[autoDimensions]"
|
10 |
-
id="autoDimensions"<?php if ( isset( $settings['autoDimensions'] ) && $settings['autoDimensions'] ) {
|
11 |
-
echo ' checked="yes"';
|
12 |
-
} ?> />
|
13 |
-
<label for="autoDimensions" class="onoffswitch-label"></label>
|
14 |
-
<span class="switch-text"><?php _e( 'Auto detect dimensions (default: on)', 'mfbfw' ); ?></span>
|
15 |
-
<div class="cf"></div>
|
16 |
-
<p class="description">
|
17 |
-
<em><?php _e( 'Only works with <strong>Ajax</strong> and <strong>Inline</strong> content! Flash dimensions won\'t be autodetected so specify them below if necessary. If you want to insert several pieces of flash content with different dimensions you will have to use the <strong>Additional FancyBox Calls</strong> option.', 'mfbfw' ); ?></em>
|
18 |
-
</p>
|
19 |
-
<div class="line-spacer"></div>
|
20 |
-
<label for="frameWidth">
|
21 |
-
<input type="text" name="mfbfw[frameWidth]" id="frameWidth"
|
22 |
-
value="<?php echo $settings['frameWidth']; ?>" size="4" maxlength="4"/>
|
23 |
-
<?php _e( 'Width for iframe and swf content. Also set for inline content if <em>autoDimensions</em> is disabled (default: 560)', 'mfbfw' ); ?>
|
24 |
-
</label>
|
25 |
-
<label for="frameHeight">
|
26 |
-
<input type="text" name="mfbfw[frameHeight]" id="frameHeight"
|
27 |
-
value="<?php echo $settings['frameHeight']; ?>" size="4" maxlength="4"/>
|
28 |
-
<?php _e( 'Height for iframe and swf content. Also set for inline content if <em>autoDimensions</em> is disabled (default: 340)', 'mfbfw' ); ?>
|
29 |
-
</label>
|
30 |
-
</fieldset>
|
31 |
-
</td>
|
32 |
-
</tr>
|
33 |
-
<tr valign="top">
|
34 |
-
<th scope="row"><?php _e( 'Load JavaScript in Footer', 'mfbfw' ); ?></th>
|
35 |
-
<td>
|
36 |
-
<fieldset>
|
37 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[loadAtFooter]"
|
38 |
-
id="loadAtFooter"<?php if ( isset( $settings['loadAtFooter'] ) && $settings['loadAtFooter'] ) {
|
39 |
-
echo ' checked="yes"';
|
40 |
-
} ?> />
|
41 |
-
<label for="loadAtFooter" class="onoffswitch-label"></label>
|
42 |
-
<span class="switch-text"><?php _e( 'Loads JavaScript at the end of the blog\'s HTML (experimental) (default: off)', 'mfbfw' ); ?></span>
|
43 |
-
<div class="cf"></div>
|
44 |
-
<p class="description">
|
45 |
-
<em><?php _e( 'This option won\'t be recognized if you use <strong>Parallel Load</strong> plugin. In that case, you can do this from Parallel Load\'s options.', 'mfbfw' ); ?></em>
|
46 |
-
</p>
|
47 |
-
</fieldset>
|
48 |
-
</td>
|
49 |
-
</tr>
|
50 |
-
<tr valign="top">
|
51 |
-
<th scope="row"><?php _e( 'Callbacks', 'mfbfw' ); ?></th>
|
52 |
-
<td>
|
53 |
-
<fieldset>
|
54 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[callbackEnable]"
|
55 |
-
id="callbackEnable"<?php if ( isset( $settings['callbackEnable'] ) && $settings['callbackEnable'] ) {
|
56 |
-
echo ' checked="yes"';
|
57 |
-
} ?> />
|
58 |
-
<label for="callbackEnable" class="onoffswitch-label"></label>
|
59 |
-
<span class="switch-text"><?php _e( 'Enable callbacks (default: off)', 'mfbfw' ); ?></span>
|
60 |
-
<div class="cf"></div>
|
61 |
-
<p class="description"><em><?php _e( 'Enabling this will show additional settings.', 'mfbfw' ); ?></em>
|
62 |
-
</p>
|
63 |
-
<div class="line-spacer"></div>
|
64 |
-
<div id="callbackBlock">
|
65 |
-
<?php _e( 'Callback on <strong>Start</strong> event: Will be called right before attempting to load the content', 'mfbfw' ); ?>
|
66 |
-
<div class="line-spacer"></div>
|
67 |
-
<label for="callbackOnStart">
|
68 |
-
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
69 |
-
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnStart]"
|
70 |
-
wrap="physical"
|
71 |
-
id="callbackOnStart"><?php echo( $settings['callbackOnStart'] ); ?></textarea>
|
72 |
-
</label>
|
73 |
-
<?php _e( 'Callback on <strong>Cancel</strong> event: Will be called after loading is canceled', 'mfbfw' ); ?>
|
74 |
-
<div class="line-spacer"></div>
|
75 |
-
<label for="callbackOnCancel">
|
76 |
-
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
77 |
-
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnCancel]"
|
78 |
-
wrap="physical"
|
79 |
-
id="callbackOnCancel"><?php echo( $settings['callbackOnCancel'] ); ?></textarea>
|
80 |
-
</label>
|
81 |
-
<?php _e( 'Callback on <strong>Complete</strong> event: Will be called once the content is displayed', 'mfbfw' ); ?>
|
82 |
-
<div class="line-spacer"></div>
|
83 |
-
<label for="callbackOnComplete">
|
84 |
-
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
85 |
-
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnComplete]"
|
86 |
-
wrap="physical"
|
87 |
-
id="callbackOnComplete"><?php echo( $settings['callbackOnComplete'] ); ?></textarea>
|
88 |
-
</label>
|
89 |
-
<?php _e( 'Callback on <strong>CleanUp</strong> event: Will be called just before closing', 'mfbfw' ); ?>
|
90 |
-
<div class="line-spacer"></div>
|
91 |
-
<label for="callbackOnCleanup">
|
92 |
-
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
93 |
-
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnCleanup]"
|
94 |
-
wrap="physical"
|
95 |
-
id="callbackOnCleanup"><?php echo( $settings['callbackOnCleanup'] ); ?></textarea>
|
96 |
-
</label>
|
97 |
-
<?php _e( 'Callback on <strong>Closed</strong> event: Will be called once FancyBox is closed', 'mfbfw' ); ?>
|
98 |
-
<div class="line-spacer"></div>
|
99 |
-
<label for="callbackOnClosed">
|
100 |
-
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
101 |
-
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnClose]"
|
102 |
-
wrap="physical"
|
103 |
-
id="callbackOnClosed"><?php echo( $settings['callbackOnClose'] ); ?></textarea>
|
104 |
-
</label>
|
105 |
-
<p class="description"><strong><em><?php _e( 'Example:', 'mfbfw' ); ?></em></strong></p>
|
106 |
-
<p class="description"><em><code>function() { alert('Hello world!'); }</code></em></p>
|
107 |
-
<p class="description">
|
108 |
-
<em><?php _e( 'Leave empty any speciic callbacks you don\'t need to use.', 'mfbfw' ); ?></em>
|
109 |
-
</p>
|
110 |
-
</div>
|
111 |
-
</fieldset>
|
112 |
-
</td>
|
113 |
-
</tr>
|
114 |
-
</tbody>
|
115 |
-
</table>
|
116 |
-
<h3><?php _e( 'Extra FancyBox Calls <span style="color:red">(advanced)</span>', 'mfbfw' ); ?></h3>
|
117 |
-
<p><?php _e( 'Here you can add as many additional calls to fancybox as you want, with different settings. For example, if you want to use fancybox with iframes or ajax on any specific link, you can configure those calls here without affecting the settings for images.', 'mfbfw' ); ?></p>
|
118 |
-
<p><?php _e( 'For information on the options available you can use here see <a href="http://fancyapps.com/fancybox/3/">FancyBox\'s API & Options page</a>.', 'mfbfw' ); ?></p>
|
119 |
-
<table class="form-table fancy-table" style="clear:none;">
|
120 |
-
<tbody>
|
121 |
-
<tr valign="top">
|
122 |
-
<th scope="row"><?php _e( 'Additional FancyBox Calls', 'mfbfw' ); ?></th>
|
123 |
-
<td>
|
124 |
-
<fieldset>
|
125 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[extraCallsEnable]"
|
126 |
-
id="extraCallsEnable"<?php if ( isset( $settings['extraCallsEnable'] ) && $settings['extraCallsEnable'] ) {
|
127 |
-
echo ' checked="yes"';
|
128 |
-
} ?> />
|
129 |
-
<label for="extraCallsEnable" class="onoffswitch-label"></label>
|
130 |
-
<span class="switch-text"><?php _e( 'Additional FancyBox Calls (default: off)', 'mfbfw' ); ?></span>
|
131 |
-
<div class="cf"></div>
|
132 |
-
<div class="line-spacer"></div>
|
133 |
-
<div id="extraCallsBlock">
|
134 |
-
<label for="extraCalls">
|
135 |
-
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
136 |
-
<textarea rows="20" cols="50" class="large-text code" name="mfbfw[extraCallsData]"
|
137 |
-
wrap="physical"
|
138 |
-
id="extraCalls"><?php echo( $settings['extraCallsData'] ); ?></textarea>
|
139 |
-
</label>
|
140 |
-
<p class="description"><strong><em><?php _e( 'Example:', 'mfbfw' ); ?></em></strong></p><br/>
|
141 |
-
<p class="description"><em><code>
|
142 |
-
jQuery("#login a").fancybox({<br/>
|
143 |
-
'transitionIn': 'elastic',<br/>
|
144 |
-
'speedIn': 600,<br/>
|
145 |
-
'speedOut': 200,<br/>
|
146 |
-
'type': 'iframe'<br/>
|
147 |
-
});
|
148 |
-
</code></em></p>
|
149 |
-
</div>
|
150 |
-
</fieldset>
|
151 |
-
</td>
|
152 |
-
</tr>
|
153 |
-
</tbody>
|
154 |
-
</table>
|
155 |
-
<h3><?php _e( 'Troubleshooting Settings', 'mfbfw' ); ?></h3>
|
156 |
-
<p>
|
157 |
-
<span style="font-weight:bold;color:red;"><?php _e( 'Settings in this section should only be changed if you are having problems with the plugin!', 'mfbfw' ); ?></span>
|
158 |
-
</p>
|
159 |
-
<p><?php _e( 'If the plugin doesn\'t seem to work, first you should check for other plugins that may be conflicting with this one, especially other Lightbox, Slimbox, etc. Make sure all your plugins and WordPress itself are up to date (this plugin has only been tested in WordPress 2.7 and above).', 'mfbfw' ); ?></p>
|
160 |
-
<p><?php _e( 'Change them one at a time and test to see if they help. Remember that having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options.', 'mfbfw' ); ?></p>
|
161 |
-
<br/>
|
162 |
-
<table class="form-table fancy-table" style="clear:none;">
|
163 |
-
<tbody>
|
164 |
-
<tr valign="top">
|
165 |
-
<th scope="row"><?php _e( 'Do not call jQuery', 'mfbfw' ); ?></th>
|
166 |
-
<td>
|
167 |
-
<fieldset>
|
168 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[nojQuery]"
|
169 |
-
id="nojQuery"<?php if ( isset( $settings['nojQuery'] ) && $settings['nojQuery'] ) {
|
170 |
-
echo ' checked="yes"';
|
171 |
-
} ?> />
|
172 |
-
<label for="nojQuery" class="onoffswitch-label"></label>
|
173 |
-
<span class="switch-text"><?php _e( 'Skip jQuery call. Use this only if jQuery is being loaded twice (default: off)', 'mfbfw' ); ?></span>
|
174 |
-
<div class="cf"></div>
|
175 |
-
</fieldset>
|
176 |
-
</td>
|
177 |
-
</tr>
|
178 |
-
</tbody>
|
179 |
-
</table>
|
180 |
-
<h3><?php _e( 'Uninstall', 'mfbfw' ); ?></h3>
|
181 |
-
<p><?php _e( 'Like many other plugins, FancyBox for WordPress stores its settings on your WordPress\' options database table. Actually, these settings are not using more than a couple of kilobytes of space, but if you want to completely uninstall this plugin, check the option below, then save changes, and <strong>when you deactivate the plugin</strong>, all its settings will be removed from the database.', 'mfbfw' ); ?></p>
|
182 |
-
<table class="form-table fancy-table" style="clear:none;">
|
183 |
-
<tbody>
|
184 |
-
<tr valign="top">
|
185 |
-
<th scope="row"><?php _e( 'Remove settings', 'mfbfw' ); ?></th>
|
186 |
-
<td>
|
187 |
-
<fieldset>
|
188 |
-
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[uninstall]"
|
189 |
-
id="uninstall"<?php if ( isset( $settings['uninstall'] ) && $settings['uninstall'] ) {
|
190 |
-
echo ' checked="yes"';
|
191 |
-
} ?> />
|
192 |
-
<label for="uninstall" class="onoffswitch-label"></label>
|
193 |
-
<span class="switch-text"><?php _e( 'Remove Settings when plugin is deactivated from the "Manage Plugins" page. (default: off)', 'mfbfw' ); ?></span>
|
194 |
-
<div class="cf"></div>
|
195 |
-
</fieldset>
|
196 |
-
</td>
|
197 |
-
</tr>
|
198 |
-
</tbody>
|
199 |
</table>
|
1 |
+
<h3><?php _e( 'Other Settings <span style="color:red">(advanced)</span>', 'mfbfw' ); ?></h3>
|
2 |
+
<p><?php _e( 'These are additional settings for advanced users.', 'mfbfw' ); ?></p>
|
3 |
+
<table class="form-table fancy-table" style="clear:none;">
|
4 |
+
<tbody>
|
5 |
+
<tr valign="top">
|
6 |
+
<th scope="row"><?php _e( 'Dimensions', 'mfbfw' ); ?></th>
|
7 |
+
<td>
|
8 |
+
<fieldset>
|
9 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[autoDimensions]"
|
10 |
+
id="autoDimensions"<?php if ( isset( $settings['autoDimensions'] ) && $settings['autoDimensions'] ) {
|
11 |
+
echo ' checked="yes"';
|
12 |
+
} ?> />
|
13 |
+
<label for="autoDimensions" class="onoffswitch-label"></label>
|
14 |
+
<span class="switch-text"><?php _e( 'Auto detect dimensions (default: on)', 'mfbfw' ); ?></span>
|
15 |
+
<div class="cf"></div>
|
16 |
+
<p class="description">
|
17 |
+
<em><?php _e( 'Only works with <strong>Ajax</strong> and <strong>Inline</strong> content! Flash dimensions won\'t be autodetected so specify them below if necessary. If you want to insert several pieces of flash content with different dimensions you will have to use the <strong>Additional FancyBox Calls</strong> option.', 'mfbfw' ); ?></em>
|
18 |
+
</p>
|
19 |
+
<div class="line-spacer"></div>
|
20 |
+
<label for="frameWidth">
|
21 |
+
<input type="text" name="mfbfw[frameWidth]" id="frameWidth"
|
22 |
+
value="<?php echo $settings['frameWidth']; ?>" size="4" maxlength="4"/>
|
23 |
+
<?php _e( 'Width for iframe and swf content. Also set for inline content if <em>autoDimensions</em> is disabled (default: 560)', 'mfbfw' ); ?>
|
24 |
+
</label>
|
25 |
+
<label for="frameHeight">
|
26 |
+
<input type="text" name="mfbfw[frameHeight]" id="frameHeight"
|
27 |
+
value="<?php echo $settings['frameHeight']; ?>" size="4" maxlength="4"/>
|
28 |
+
<?php _e( 'Height for iframe and swf content. Also set for inline content if <em>autoDimensions</em> is disabled (default: 340)', 'mfbfw' ); ?>
|
29 |
+
</label>
|
30 |
+
</fieldset>
|
31 |
+
</td>
|
32 |
+
</tr>
|
33 |
+
<tr valign="top">
|
34 |
+
<th scope="row"><?php _e( 'Load JavaScript in Footer', 'mfbfw' ); ?></th>
|
35 |
+
<td>
|
36 |
+
<fieldset>
|
37 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[loadAtFooter]"
|
38 |
+
id="loadAtFooter"<?php if ( isset( $settings['loadAtFooter'] ) && $settings['loadAtFooter'] ) {
|
39 |
+
echo ' checked="yes"';
|
40 |
+
} ?> />
|
41 |
+
<label for="loadAtFooter" class="onoffswitch-label"></label>
|
42 |
+
<span class="switch-text"><?php _e( 'Loads JavaScript at the end of the blog\'s HTML (experimental) (default: off)', 'mfbfw' ); ?></span>
|
43 |
+
<div class="cf"></div>
|
44 |
+
<p class="description">
|
45 |
+
<em><?php _e( 'This option won\'t be recognized if you use <strong>Parallel Load</strong> plugin. In that case, you can do this from Parallel Load\'s options.', 'mfbfw' ); ?></em>
|
46 |
+
</p>
|
47 |
+
</fieldset>
|
48 |
+
</td>
|
49 |
+
</tr>
|
50 |
+
<tr valign="top">
|
51 |
+
<th scope="row"><?php _e( 'Callbacks', 'mfbfw' ); ?></th>
|
52 |
+
<td>
|
53 |
+
<fieldset>
|
54 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[callbackEnable]"
|
55 |
+
id="callbackEnable"<?php if ( isset( $settings['callbackEnable'] ) && $settings['callbackEnable'] ) {
|
56 |
+
echo ' checked="yes"';
|
57 |
+
} ?> />
|
58 |
+
<label for="callbackEnable" class="onoffswitch-label"></label>
|
59 |
+
<span class="switch-text"><?php _e( 'Enable callbacks (default: off)', 'mfbfw' ); ?></span>
|
60 |
+
<div class="cf"></div>
|
61 |
+
<p class="description"><em><?php _e( 'Enabling this will show additional settings.', 'mfbfw' ); ?></em>
|
62 |
+
</p>
|
63 |
+
<div class="line-spacer"></div>
|
64 |
+
<div id="callbackBlock">
|
65 |
+
<?php _e( 'Callback on <strong>Start</strong> event: Will be called right before attempting to load the content', 'mfbfw' ); ?>
|
66 |
+
<div class="line-spacer"></div>
|
67 |
+
<label for="callbackOnStart">
|
68 |
+
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
69 |
+
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnStart]"
|
70 |
+
wrap="physical"
|
71 |
+
id="callbackOnStart"><?php echo( $settings['callbackOnStart'] ); ?></textarea>
|
72 |
+
</label>
|
73 |
+
<?php _e( 'Callback on <strong>Cancel</strong> event: Will be called after loading is canceled', 'mfbfw' ); ?>
|
74 |
+
<div class="line-spacer"></div>
|
75 |
+
<label for="callbackOnCancel">
|
76 |
+
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
77 |
+
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnCancel]"
|
78 |
+
wrap="physical"
|
79 |
+
id="callbackOnCancel"><?php echo( $settings['callbackOnCancel'] ); ?></textarea>
|
80 |
+
</label>
|
81 |
+
<?php _e( 'Callback on <strong>Complete</strong> event: Will be called once the content is displayed', 'mfbfw' ); ?>
|
82 |
+
<div class="line-spacer"></div>
|
83 |
+
<label for="callbackOnComplete">
|
84 |
+
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
85 |
+
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnComplete]"
|
86 |
+
wrap="physical"
|
87 |
+
id="callbackOnComplete"><?php echo( $settings['callbackOnComplete'] ); ?></textarea>
|
88 |
+
</label>
|
89 |
+
<?php _e( 'Callback on <strong>CleanUp</strong> event: Will be called just before closing', 'mfbfw' ); ?>
|
90 |
+
<div class="line-spacer"></div>
|
91 |
+
<label for="callbackOnCleanup">
|
92 |
+
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
93 |
+
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnCleanup]"
|
94 |
+
wrap="physical"
|
95 |
+
id="callbackOnCleanup"><?php echo( $settings['callbackOnCleanup'] ); ?></textarea>
|
96 |
+
</label>
|
97 |
+
<?php _e( 'Callback on <strong>Closed</strong> event: Will be called once FancyBox is closed', 'mfbfw' ); ?>
|
98 |
+
<div class="line-spacer"></div>
|
99 |
+
<label for="callbackOnClosed">
|
100 |
+
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
101 |
+
<textarea rows="10" cols="50" class="large-text code" name="mfbfw[callbackOnClose]"
|
102 |
+
wrap="physical"
|
103 |
+
id="callbackOnClosed"><?php echo( $settings['callbackOnClose'] ); ?></textarea>
|
104 |
+
</label>
|
105 |
+
<p class="description"><strong><em><?php _e( 'Example:', 'mfbfw' ); ?></em></strong></p>
|
106 |
+
<p class="description"><em><code>function() { alert('Hello world!'); }</code></em></p>
|
107 |
+
<p class="description">
|
108 |
+
<em><?php _e( 'Leave empty any speciic callbacks you don\'t need to use.', 'mfbfw' ); ?></em>
|
109 |
+
</p>
|
110 |
+
</div>
|
111 |
+
</fieldset>
|
112 |
+
</td>
|
113 |
+
</tr>
|
114 |
+
</tbody>
|
115 |
+
</table>
|
116 |
+
<h3><?php _e( 'Extra FancyBox Calls <span style="color:red">(advanced)</span>', 'mfbfw' ); ?></h3>
|
117 |
+
<p><?php _e( 'Here you can add as many additional calls to fancybox as you want, with different settings. For example, if you want to use fancybox with iframes or ajax on any specific link, you can configure those calls here without affecting the settings for images.', 'mfbfw' ); ?></p>
|
118 |
+
<p><?php _e( 'For information on the options available you can use here see <a href="http://fancyapps.com/fancybox/3/">FancyBox\'s API & Options page</a>.', 'mfbfw' ); ?></p>
|
119 |
+
<table class="form-table fancy-table" style="clear:none;">
|
120 |
+
<tbody>
|
121 |
+
<tr valign="top">
|
122 |
+
<th scope="row"><?php _e( 'Additional FancyBox Calls', 'mfbfw' ); ?></th>
|
123 |
+
<td>
|
124 |
+
<fieldset>
|
125 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[extraCallsEnable]"
|
126 |
+
id="extraCallsEnable"<?php if ( isset( $settings['extraCallsEnable'] ) && $settings['extraCallsEnable'] ) {
|
127 |
+
echo ' checked="yes"';
|
128 |
+
} ?> />
|
129 |
+
<label for="extraCallsEnable" class="onoffswitch-label"></label>
|
130 |
+
<span class="switch-text"><?php _e( 'Additional FancyBox Calls (default: off)', 'mfbfw' ); ?></span>
|
131 |
+
<div class="cf"></div>
|
132 |
+
<div class="line-spacer"></div>
|
133 |
+
<div id="extraCallsBlock">
|
134 |
+
<label for="extraCalls">
|
135 |
+
<div class="start-editing"><p><?php _e( 'Click to start editing', 'mfbfw' ); ?></p></div>
|
136 |
+
<textarea rows="20" cols="50" class="large-text code" name="mfbfw[extraCallsData]"
|
137 |
+
wrap="physical"
|
138 |
+
id="extraCalls"><?php echo( $settings['extraCallsData'] ); ?></textarea>
|
139 |
+
</label>
|
140 |
+
<p class="description"><strong><em><?php _e( 'Example:', 'mfbfw' ); ?></em></strong></p><br/>
|
141 |
+
<p class="description"><em><code>
|
142 |
+
jQuery("#login a").fancybox({<br/>
|
143 |
+
'transitionIn': 'elastic',<br/>
|
144 |
+
'speedIn': 600,<br/>
|
145 |
+
'speedOut': 200,<br/>
|
146 |
+
'type': 'iframe'<br/>
|
147 |
+
});
|
148 |
+
</code></em></p>
|
149 |
+
</div>
|
150 |
+
</fieldset>
|
151 |
+
</td>
|
152 |
+
</tr>
|
153 |
+
</tbody>
|
154 |
+
</table>
|
155 |
+
<h3><?php _e( 'Troubleshooting Settings', 'mfbfw' ); ?></h3>
|
156 |
+
<p>
|
157 |
+
<span style="font-weight:bold;color:red;"><?php _e( 'Settings in this section should only be changed if you are having problems with the plugin!', 'mfbfw' ); ?></span>
|
158 |
+
</p>
|
159 |
+
<p><?php _e( 'If the plugin doesn\'t seem to work, first you should check for other plugins that may be conflicting with this one, especially other Lightbox, Slimbox, etc. Make sure all your plugins and WordPress itself are up to date (this plugin has only been tested in WordPress 2.7 and above).', 'mfbfw' ); ?></p>
|
160 |
+
<p><?php _e( 'Change them one at a time and test to see if they help. Remember that having a cache plugin may prevent changes from taking effect immidiately, so clear cache after saving changes here or deactivate cache until you finish editing these options.', 'mfbfw' ); ?></p>
|
161 |
+
<br/>
|
162 |
+
<table class="form-table fancy-table" style="clear:none;">
|
163 |
+
<tbody>
|
164 |
+
<tr valign="top">
|
165 |
+
<th scope="row"><?php _e( 'Do not call jQuery', 'mfbfw' ); ?></th>
|
166 |
+
<td>
|
167 |
+
<fieldset>
|
168 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[nojQuery]"
|
169 |
+
id="nojQuery"<?php if ( isset( $settings['nojQuery'] ) && $settings['nojQuery'] ) {
|
170 |
+
echo ' checked="yes"';
|
171 |
+
} ?> />
|
172 |
+
<label for="nojQuery" class="onoffswitch-label"></label>
|
173 |
+
<span class="switch-text"><?php _e( 'Skip jQuery call. Use this only if jQuery is being loaded twice (default: off)', 'mfbfw' ); ?></span>
|
174 |
+
<div class="cf"></div>
|
175 |
+
</fieldset>
|
176 |
+
</td>
|
177 |
+
</tr>
|
178 |
+
</tbody>
|
179 |
+
</table>
|
180 |
+
<h3><?php _e( 'Uninstall', 'mfbfw' ); ?></h3>
|
181 |
+
<p><?php _e( 'Like many other plugins, FancyBox for WordPress stores its settings on your WordPress\' options database table. Actually, these settings are not using more than a couple of kilobytes of space, but if you want to completely uninstall this plugin, check the option below, then save changes, and <strong>when you deactivate the plugin</strong>, all its settings will be removed from the database.', 'mfbfw' ); ?></p>
|
182 |
+
<table class="form-table fancy-table" style="clear:none;">
|
183 |
+
<tbody>
|
184 |
+
<tr valign="top">
|
185 |
+
<th scope="row"><?php _e( 'Remove settings', 'mfbfw' ); ?></th>
|
186 |
+
<td>
|
187 |
+
<fieldset>
|
188 |
+
<input type="checkbox" class="onoffswitch-checkbox" name="mfbfw[uninstall]"
|
189 |
+
id="uninstall"<?php if ( isset( $settings['uninstall'] ) && $settings['uninstall'] ) {
|
190 |
+
echo ' checked="yes"';
|
191 |
+
} ?> />
|
192 |
+
<label for="uninstall" class="onoffswitch-label"></label>
|
193 |
+
<span class="switch-text"><?php _e( 'Remove Settings when plugin is deactivated from the "Manage Plugins" page. (default: off)', 'mfbfw' ); ?></span>
|
194 |
+
<div class="cf"></div>
|
195 |
+
</fieldset>
|
196 |
+
</td>
|
197 |
+
</tr>
|
198 |
+
</tbody>
|
199 |
</table>
|
lib/admin-tab-support.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
-
<h3><?php _e( 'Help with Fancybox' ); ?></h3>
|
2 |
-
<ul style="list-style-type:disc;padding-left:15px;">
|
3 |
-
<li><?php _e( 'If you have problems or questions about FancyBox itself (and not this WordPress plugin), please start with these links: <a target="_blank" href="http://fancyapps.com/fancybox/3/">How-To</a> & <a target="_blank" href="http://fancyapps.com/fancybox/3/docs/">Documentation</a>.<br />If that does not help, go to <a target="_blank" href="http://groups.google.com/group/fancybox">the FancyBox Google Group</a>, use the <strong>Search</strong> option, and if necesary, post your question.', 'mfbfw' ); ?></li>
|
4 |
-
</ul>
|
5 |
-
|
6 |
-
<h3><?php _e( 'Help with Fancybox for WordPress plugin' ); ?></h3>
|
7 |
-
<ul style="list-style-type:disc;padding-left:15px;">
|
8 |
-
<li><?php _e( 'Try to localize the problem (switch your theme and deactivate plugins until you find the source of the problem). You can also try the Troubleshooting settings of this plugin if necesary.', 'mfbfw' ); ?></li>
|
9 |
-
<li><?php _e( "Try reverting the plugin's settings to their defaults with the button below.", 'mfbfw' ); ?></li>
|
10 |
-
<li><?php _e( 'If you still can not get the plugin to work, <a target="_blank" href="http://wordpress.org/support/plugin/fancybox-for-wordpress#postform">write a post in the WordPress Support forums</a> explaining the problem or take a look and the <a target="_blank" href="http://wordpress.org/support/plugin/fancybox-for-wordpress">already posted messages</a>.', 'mfbfw' ); ?></li>
|
11 |
-
</ul>
|
12 |
-
|
13 |
<p style="font-weight:bold;color:red"><span style="color:#333"><?php _e( 'IMPORTANT:' ); ?></span> <?php _e( 'When posting your problem please provide a link to your blog and the page where the error is found, and all relevant information you can, especially your theme, plugins, etc.' ); ?></p>
|
1 |
+
<h3><?php _e( 'Help with Fancybox' ); ?></h3>
|
2 |
+
<ul style="list-style-type:disc;padding-left:15px;">
|
3 |
+
<li><?php _e( 'If you have problems or questions about FancyBox itself (and not this WordPress plugin), please start with these links: <a target="_blank" href="http://fancyapps.com/fancybox/3/">How-To</a> & <a target="_blank" href="http://fancyapps.com/fancybox/3/docs/">Documentation</a>.<br />If that does not help, go to <a target="_blank" href="http://groups.google.com/group/fancybox">the FancyBox Google Group</a>, use the <strong>Search</strong> option, and if necesary, post your question.', 'mfbfw' ); ?></li>
|
4 |
+
</ul>
|
5 |
+
|
6 |
+
<h3><?php _e( 'Help with Fancybox for WordPress plugin' ); ?></h3>
|
7 |
+
<ul style="list-style-type:disc;padding-left:15px;">
|
8 |
+
<li><?php _e( 'Try to localize the problem (switch your theme and deactivate plugins until you find the source of the problem). You can also try the Troubleshooting settings of this plugin if necesary.', 'mfbfw' ); ?></li>
|
9 |
+
<li><?php _e( "Try reverting the plugin's settings to their defaults with the button below.", 'mfbfw' ); ?></li>
|
10 |
+
<li><?php _e( 'If you still can not get the plugin to work, <a target="_blank" href="http://wordpress.org/support/plugin/fancybox-for-wordpress#postform">write a post in the WordPress Support forums</a> explaining the problem or take a look and the <a target="_blank" href="http://wordpress.org/support/plugin/fancybox-for-wordpress">already posted messages</a>.', 'mfbfw' ); ?></li>
|
11 |
+
</ul>
|
12 |
+
|
13 |
<p style="font-weight:bold;color:red"><span style="color:#333"><?php _e( 'IMPORTANT:' ); ?></span> <?php _e( 'When posting your problem please provide a link to your blog and the page where the error is found, and all relevant information you can, especially your theme, plugins, etc.' ); ?></p>
|
lib/class-fbfw-plugin-rollback.php
CHANGED
@@ -1,71 +1,71 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class FBFW_Plugin_RollBack {
|
4 |
-
|
5 |
-
public function __construct() {
|
6 |
-
|
7 |
-
/**
|
8 |
-
* $_POST action hook
|
9 |
-
*
|
10 |
-
* @see: https://codex.wordpress.org/Plugin_API/Action_Reference/admin_post_(action)
|
11 |
-
*
|
12 |
-
*/
|
13 |
-
add_action( 'admin_post_fbfw_rollback', array( $this, 'post_fbfw_rollback' ) );
|
14 |
-
|
15 |
-
/**
|
16 |
-
* Hook responsible for loading our Rollback JS script
|
17 |
-
*/
|
18 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'rollback_scripts' ) );
|
19 |
-
|
20 |
-
}
|
21 |
-
|
22 |
-
/**
|
23 |
-
* FBFW version rollback.
|
24 |
-
*
|
25 |
-
* Rollback to previous {plugin} version.
|
26 |
-
*
|
27 |
-
* Fired by `admin_post_epfw_rollback` action.
|
28 |
-
*
|
29 |
-
* @since 1.5.0
|
30 |
-
* @access public
|
31 |
-
*/
|
32 |
-
public function post_fbfw_rollback() {
|
33 |
-
|
34 |
-
check_admin_referer( 'fbfw_rollback' );
|
35 |
-
|
36 |
-
$plugin_slug = basename( FBFW_FILE_, '.php' );
|
37 |
-
|
38 |
-
// check for const defines
|
39 |
-
if ( ! defined( 'FBFW_PREVIOUS_PLUGIN_VERSION' ) || ! defined( 'FBFW_PLUGIN_BASE' ) ) {
|
40 |
-
wp_die(
|
41 |
-
new WP_Error( 'broke', esc_html__( 'Previous plugin version or plugin basename CONST aren\'t defined.', 'epfw' ) )
|
42 |
-
);
|
43 |
-
}
|
44 |
-
|
45 |
-
if ( class_exists( 'FBFW_Rollback' ) ) {
|
46 |
-
$rollback = new FBFW_Rollback(
|
47 |
-
array(
|
48 |
-
'version' => FBFW_PREVIOUS_PLUGIN_VERSION,
|
49 |
-
'plugin_name' => FBFW_PLUGIN_BASE,
|
50 |
-
'plugin_slug' => $plugin_slug,
|
51 |
-
'package_url' => sprintf( 'https://downloads.wordpress.org/plugin/%s.%s.zip', PLUGIN_NAME, FBFW_PREVIOUS_PLUGIN_VERSION ),
|
52 |
-
)
|
53 |
-
);
|
54 |
-
$rollback->run();
|
55 |
-
}
|
56 |
-
|
57 |
-
wp_die(
|
58 |
-
'', __( 'Rollback to Previous Version', 'mfbfw' ), array(
|
59 |
-
'response' => 200,
|
60 |
-
)
|
61 |
-
);
|
62 |
-
}
|
63 |
-
|
64 |
-
public function rollback_scripts() {
|
65 |
-
wp_enqueue_script('rollback-script', FBFW_URL . 'assets/js/rollback.js', FBFW_VERSION); // Load Rollback script
|
66 |
-
wp_enqueue_script( 'rollback-script' );
|
67 |
-
}
|
68 |
-
|
69 |
-
}
|
70 |
-
|
71 |
-
new FBFW_Plugin_Rollback();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class FBFW_Plugin_RollBack {
|
4 |
+
|
5 |
+
public function __construct() {
|
6 |
+
|
7 |
+
/**
|
8 |
+
* $_POST action hook
|
9 |
+
*
|
10 |
+
* @see: https://codex.wordpress.org/Plugin_API/Action_Reference/admin_post_(action)
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
add_action( 'admin_post_fbfw_rollback', array( $this, 'post_fbfw_rollback' ) );
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Hook responsible for loading our Rollback JS script
|
17 |
+
*/
|
18 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'rollback_scripts' ) );
|
19 |
+
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* FBFW version rollback.
|
24 |
+
*
|
25 |
+
* Rollback to previous {plugin} version.
|
26 |
+
*
|
27 |
+
* Fired by `admin_post_epfw_rollback` action.
|
28 |
+
*
|
29 |
+
* @since 1.5.0
|
30 |
+
* @access public
|
31 |
+
*/
|
32 |
+
public function post_fbfw_rollback() {
|
33 |
+
|
34 |
+
check_admin_referer( 'fbfw_rollback' );
|
35 |
+
|
36 |
+
$plugin_slug = basename( FBFW_FILE_, '.php' );
|
37 |
+
|
38 |
+
// check for const defines
|
39 |
+
if ( ! defined( 'FBFW_PREVIOUS_PLUGIN_VERSION' ) || ! defined( 'FBFW_PLUGIN_BASE' ) ) {
|
40 |
+
wp_die(
|
41 |
+
new WP_Error( 'broke', esc_html__( 'Previous plugin version or plugin basename CONST aren\'t defined.', 'epfw' ) )
|
42 |
+
);
|
43 |
+
}
|
44 |
+
|
45 |
+
if ( class_exists( 'FBFW_Rollback' ) ) {
|
46 |
+
$rollback = new FBFW_Rollback(
|
47 |
+
array(
|
48 |
+
'version' => FBFW_PREVIOUS_PLUGIN_VERSION,
|
49 |
+
'plugin_name' => FBFW_PLUGIN_BASE,
|
50 |
+
'plugin_slug' => $plugin_slug,
|
51 |
+
'package_url' => sprintf( 'https://downloads.wordpress.org/plugin/%s.%s.zip', PLUGIN_NAME, FBFW_PREVIOUS_PLUGIN_VERSION ),
|
52 |
+
)
|
53 |
+
);
|
54 |
+
$rollback->run();
|
55 |
+
}
|
56 |
+
|
57 |
+
wp_die(
|
58 |
+
'', __( 'Rollback to Previous Version', 'mfbfw' ), array(
|
59 |
+
'response' => 200,
|
60 |
+
)
|
61 |
+
);
|
62 |
+
}
|
63 |
+
|
64 |
+
public function rollback_scripts() {
|
65 |
+
wp_enqueue_script('rollback-script', FBFW_URL . 'assets/js/rollback.js', FBFW_VERSION); // Load Rollback script
|
66 |
+
wp_enqueue_script( 'rollback-script' );
|
67 |
+
}
|
68 |
+
|
69 |
+
}
|
70 |
+
|
71 |
+
new FBFW_Plugin_Rollback();
|
lib/class-fbfw-rollback.php
CHANGED
@@ -1,178 +1,178 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
4 |
-
exit; // Exit if accessed directly.
|
5 |
-
}
|
6 |
-
|
7 |
-
/**
|
8 |
-
* EPFW rollback class.
|
9 |
-
*
|
10 |
-
* EPFW rollback handler class is responsible for rolling back EPFW to
|
11 |
-
* previous version.
|
12 |
-
*
|
13 |
-
* @since 1.0.0
|
14 |
-
*/
|
15 |
-
class FBFW_Rollback {
|
16 |
-
|
17 |
-
/**
|
18 |
-
* Package URL.
|
19 |
-
*
|
20 |
-
* Holds the package URL.
|
21 |
-
*
|
22 |
-
* @since 1.0.0
|
23 |
-
* @access protected
|
24 |
-
*
|
25 |
-
* @var string Package URL.
|
26 |
-
*/
|
27 |
-
protected $package_url;
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Version.
|
31 |
-
*
|
32 |
-
* Holds the version.
|
33 |
-
*
|
34 |
-
* @since 1.0.0
|
35 |
-
* @access protected
|
36 |
-
*
|
37 |
-
* @var string Package URL.
|
38 |
-
*/
|
39 |
-
protected $version;
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Plugin name.
|
43 |
-
*
|
44 |
-
* Holds the plugin name.
|
45 |
-
*
|
46 |
-
* @since 1.0.0
|
47 |
-
* @access protected
|
48 |
-
*
|
49 |
-
* @var string Plugin name.
|
50 |
-
*/
|
51 |
-
protected $plugin_name;
|
52 |
-
|
53 |
-
/**
|
54 |
-
* Plugin slug.
|
55 |
-
*
|
56 |
-
* Holds the plugin slug.
|
57 |
-
*
|
58 |
-
* @since 1.0.0
|
59 |
-
* @access protected
|
60 |
-
*
|
61 |
-
* @var string Plugin slug.
|
62 |
-
*/
|
63 |
-
protected $plugin_slug;
|
64 |
-
|
65 |
-
/**
|
66 |
-
* Rollback constructor.
|
67 |
-
*
|
68 |
-
* Initializing EPFW rollback.
|
69 |
-
*
|
70 |
-
* @since 1.0.0
|
71 |
-
* @access public
|
72 |
-
*
|
73 |
-
* @param array $args Optional. Rollback arguments. Default is an empty array.
|
74 |
-
*/
|
75 |
-
public function __construct( $args = array() ) {
|
76 |
-
foreach ( $args as $key => $value ) {
|
77 |
-
$this->{$key} = $value;
|
78 |
-
}
|
79 |
-
}
|
80 |
-
|
81 |
-
/**
|
82 |
-
* Print inline style.
|
83 |
-
*
|
84 |
-
* Add an inline CSS to the rollback page.
|
85 |
-
*
|
86 |
-
* @since 1.0.0
|
87 |
-
* @access private
|
88 |
-
*/
|
89 |
-
private function print_inline_style() {
|
90 |
-
?>
|
91 |
-
<style>
|
92 |
-
.wrap {
|
93 |
-
overflow: hidden;
|
94 |
-
}
|
95 |
-
|
96 |
-
h1 {
|
97 |
-
background: #9b0a46;
|
98 |
-
text-align: center;
|
99 |
-
color: #fff !important;
|
100 |
-
padding: 70px !important;
|
101 |
-
text-transform: uppercase;
|
102 |
-
letter-spacing: 1px;
|
103 |
-
}
|
104 |
-
|
105 |
-
h1 img {
|
106 |
-
max-width: 300px;
|
107 |
-
display: block;
|
108 |
-
margin: auto auto 50px;
|
109 |
-
}
|
110 |
-
</style>
|
111 |
-
<?php
|
112 |
-
}
|
113 |
-
|
114 |
-
/**
|
115 |
-
* Apply package.
|
116 |
-
*
|
117 |
-
* Change the plugin data when WordPress checks for updates. This method
|
118 |
-
* modifies package data to update the plugin from a specific URL containing
|
119 |
-
* the version package.
|
120 |
-
*
|
121 |
-
* @since 1.0.0
|
122 |
-
* @access protected
|
123 |
-
*/
|
124 |
-
protected function apply_package() {
|
125 |
-
$update_plugins = get_site_transient( 'update_plugins' );
|
126 |
-
if ( ! is_object( $update_plugins ) ) {
|
127 |
-
$update_plugins = new \stdClass();
|
128 |
-
}
|
129 |
-
|
130 |
-
$plugin_info = new \stdClass();
|
131 |
-
$plugin_info->new_version = $this->version;
|
132 |
-
$plugin_info->slug = $this->plugin_slug;
|
133 |
-
$plugin_info->package = $this->package_url;
|
134 |
-
|
135 |
-
$update_plugins->response[ $this->plugin_name ] = $plugin_info;
|
136 |
-
|
137 |
-
set_site_transient( 'update_plugins', $update_plugins );
|
138 |
-
}
|
139 |
-
|
140 |
-
/**
|
141 |
-
* Upgrade.
|
142 |
-
*
|
143 |
-
* Run WordPress upgrade to rollback EPFW to previous version.
|
144 |
-
*
|
145 |
-
* @since 1.0.0
|
146 |
-
* @access protected
|
147 |
-
*/
|
148 |
-
protected function upgrade() {
|
149 |
-
require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
|
150 |
-
|
151 |
-
$logo_url = FBFW_URL . 'assets/images/icon.jpg';
|
152 |
-
|
153 |
-
$upgrader_args = array(
|
154 |
-
'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ),
|
155 |
-
'plugin' => $this->plugin_name,
|
156 |
-
'nonce' => 'upgrade-plugin_' . $this->plugin_name,
|
157 |
-
'title' => '<img src="' . $logo_url . '" alt="FBFW logo">' . __( 'Rollback to Previous Version', 'epfw' ),
|
158 |
-
);
|
159 |
-
|
160 |
-
$this->print_inline_style();
|
161 |
-
|
162 |
-
$upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) );
|
163 |
-
$upgrader->upgrade( $this->plugin_name );
|
164 |
-
}
|
165 |
-
|
166 |
-
/**
|
167 |
-
* Run.
|
168 |
-
*
|
169 |
-
* Rollback EPFW to previous versions.
|
170 |
-
*
|
171 |
-
* @since 1.0.0
|
172 |
-
* @access public
|
173 |
-
*/
|
174 |
-
public function run() {
|
175 |
-
$this->apply_package();
|
176 |
-
$this->upgrade();
|
177 |
-
}
|
178 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
4 |
+
exit; // Exit if accessed directly.
|
5 |
+
}
|
6 |
+
|
7 |
+
/**
|
8 |
+
* EPFW rollback class.
|
9 |
+
*
|
10 |
+
* EPFW rollback handler class is responsible for rolling back EPFW to
|
11 |
+
* previous version.
|
12 |
+
*
|
13 |
+
* @since 1.0.0
|
14 |
+
*/
|
15 |
+
class FBFW_Rollback {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Package URL.
|
19 |
+
*
|
20 |
+
* Holds the package URL.
|
21 |
+
*
|
22 |
+
* @since 1.0.0
|
23 |
+
* @access protected
|
24 |
+
*
|
25 |
+
* @var string Package URL.
|
26 |
+
*/
|
27 |
+
protected $package_url;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Version.
|
31 |
+
*
|
32 |
+
* Holds the version.
|
33 |
+
*
|
34 |
+
* @since 1.0.0
|
35 |
+
* @access protected
|
36 |
+
*
|
37 |
+
* @var string Package URL.
|
38 |
+
*/
|
39 |
+
protected $version;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Plugin name.
|
43 |
+
*
|
44 |
+
* Holds the plugin name.
|
45 |
+
*
|
46 |
+
* @since 1.0.0
|
47 |
+
* @access protected
|
48 |
+
*
|
49 |
+
* @var string Plugin name.
|
50 |
+
*/
|
51 |
+
protected $plugin_name;
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Plugin slug.
|
55 |
+
*
|
56 |
+
* Holds the plugin slug.
|
57 |
+
*
|
58 |
+
* @since 1.0.0
|
59 |
+
* @access protected
|
60 |
+
*
|
61 |
+
* @var string Plugin slug.
|
62 |
+
*/
|
63 |
+
protected $plugin_slug;
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Rollback constructor.
|
67 |
+
*
|
68 |
+
* Initializing EPFW rollback.
|
69 |
+
*
|
70 |
+
* @since 1.0.0
|
71 |
+
* @access public
|
72 |
+
*
|
73 |
+
* @param array $args Optional. Rollback arguments. Default is an empty array.
|
74 |
+
*/
|
75 |
+
public function __construct( $args = array() ) {
|
76 |
+
foreach ( $args as $key => $value ) {
|
77 |
+
$this->{$key} = $value;
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Print inline style.
|
83 |
+
*
|
84 |
+
* Add an inline CSS to the rollback page.
|
85 |
+
*
|
86 |
+
* @since 1.0.0
|
87 |
+
* @access private
|
88 |
+
*/
|
89 |
+
private function print_inline_style() {
|
90 |
+
?>
|
91 |
+
<style>
|
92 |
+
.wrap {
|
93 |
+
overflow: hidden;
|
94 |
+
}
|
95 |
+
|
96 |
+
h1 {
|
97 |
+
background: #9b0a46;
|
98 |
+
text-align: center;
|
99 |
+
color: #fff !important;
|
100 |
+
padding: 70px !important;
|
101 |
+
text-transform: uppercase;
|
102 |
+
letter-spacing: 1px;
|
103 |
+
}
|
104 |
+
|
105 |
+
h1 img {
|
106 |
+
max-width: 300px;
|
107 |
+
display: block;
|
108 |
+
margin: auto auto 50px;
|
109 |
+
}
|
110 |
+
</style>
|
111 |
+
<?php
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Apply package.
|
116 |
+
*
|
117 |
+
* Change the plugin data when WordPress checks for updates. This method
|
118 |
+
* modifies package data to update the plugin from a specific URL containing
|
119 |
+
* the version package.
|
120 |
+
*
|
121 |
+
* @since 1.0.0
|
122 |
+
* @access protected
|
123 |
+
*/
|
124 |
+
protected function apply_package() {
|
125 |
+
$update_plugins = get_site_transient( 'update_plugins' );
|
126 |
+
if ( ! is_object( $update_plugins ) ) {
|
127 |
+
$update_plugins = new \stdClass();
|
128 |
+
}
|
129 |
+
|
130 |
+
$plugin_info = new \stdClass();
|
131 |
+
$plugin_info->new_version = $this->version;
|
132 |
+
$plugin_info->slug = $this->plugin_slug;
|
133 |
+
$plugin_info->package = $this->package_url;
|
134 |
+
|
135 |
+
$update_plugins->response[ $this->plugin_name ] = $plugin_info;
|
136 |
+
|
137 |
+
set_site_transient( 'update_plugins', $update_plugins );
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Upgrade.
|
142 |
+
*
|
143 |
+
* Run WordPress upgrade to rollback EPFW to previous version.
|
144 |
+
*
|
145 |
+
* @since 1.0.0
|
146 |
+
* @access protected
|
147 |
+
*/
|
148 |
+
protected function upgrade() {
|
149 |
+
require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
|
150 |
+
|
151 |
+
$logo_url = FBFW_URL . 'assets/images/icon.jpg';
|
152 |
+
|
153 |
+
$upgrader_args = array(
|
154 |
+
'url' => 'update.php?action=upgrade-plugin&plugin=' . rawurlencode( $this->plugin_name ),
|
155 |
+
'plugin' => $this->plugin_name,
|
156 |
+
'nonce' => 'upgrade-plugin_' . $this->plugin_name,
|
157 |
+
'title' => '<img src="' . $logo_url . '" alt="FBFW logo">' . __( 'Rollback to Previous Version', 'epfw' ),
|
158 |
+
);
|
159 |
+
|
160 |
+
$this->print_inline_style();
|
161 |
+
|
162 |
+
$upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) );
|
163 |
+
$upgrader->upgrade( $this->plugin_name );
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Run.
|
168 |
+
*
|
169 |
+
* Rollback EPFW to previous versions.
|
170 |
+
*
|
171 |
+
* @since 1.0.0
|
172 |
+
* @access public
|
173 |
+
*/
|
174 |
+
public function run() {
|
175 |
+
$this->apply_package();
|
176 |
+
$this->upgrade();
|
177 |
+
}
|
178 |
+
}
|
readme.txt
CHANGED
@@ -1,257 +1,260 @@
|
|
1 |
-
=== FancyBox for WordPress ===
|
2 |
-
Contributors: silkalns
|
3 |
-
Tags: fancybox, lightbox, jquery, gallery, image, images, photo, photos, picture, pictures, zoom
|
4 |
-
Requires at least: 3.4
|
5 |
-
Tested up to: 4.9
|
6 |
-
Stable tag: 3.1.
|
7 |
-
License: GPL/MIT
|
8 |
-
|
9 |
-
Seamlessly integrates FancyBox lightbox into your WordPress blog: Upload, activate, and you're done. Additional configuration optional.
|
10 |
-
|
11 |
-
|
12 |
-
== Description ==
|
13 |
-
|
14 |
-
Seamlessly integrates FancyBox into your blog: Upload, activate, and you're done. Additional configuration optional.
|
15 |
-
|
16 |
-
You can easily customize almost anything you can think about fancybox lightbox: the border, margin width and color, zoom speed, animation type, close button position, overlay color and opacity and even more advanced option like several options to group images into galleries, and more...
|
17 |
-
|
18 |
-
By default, the plugin will use jQuery to apply FancyBox to ANY thumbnails that link directly to an image. This includes posts, the sidebar, etc, so you can activate it and it will be applied automatically.
|
19 |
-
|
20 |
-
= Demo =
|
21 |
-
|
22 |
-
You can see the plugin working on a <a href="http://blog.moskis.net/2012/01/20/teclado-apple-en-windows-7/" target="_blank">this blog</a> although there's nothing amazing to see, just a FancyBox simple implementation, that's the point ;) You can take a look at the code if you're curious, though.
|
23 |
-
|
24 |
-
= Further Reading =
|
25 |
-
|
26 |
-
This plugin is developed and maintained by Colorlib. Which is well know for their free <a href="https://colorlib.com/wp/themes/" target="_blank"></a>WordPress themes. However, now they are looking to extend their presence in plugin development and believe that FancyBox lightbox is a great way to start.
|
27 |
-
|
28 |
-
If you are new to WordPress and want to lear more we have got you covered. Colorlib will teach you have to <a href="https://colorlib.com/">start a blog</a> or <a href="https://colorlib.com/wp/how-to-make-a-website/">create a website</a> and much more. If you are already familiar with WordPress you likely want to learn how to make it faster and more reliable. That's when you want to look into hosting and more specifically <a href="http://colorlib.com/wp/wordpress-hosting">WordPress hosting</a>.
|
29 |
-
|
30 |
-
If you enjoy using FancyBox lightbox for WordPress please leave a [positive feedback](https://wordpress.org/support/plugin/fancybox-for-wordpress/reviews/?filter=5). We are committed to make it the best lightbox plugin for WordPress.
|
31 |
-
|
32 |
-
== Changelog ==
|
33 |
-
|
34 |
-
= 3.1.
|
35 |
-
*
|
36 |
-
|
37 |
-
= 3.1.
|
38 |
-
*
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
* Fixed "
|
44 |
-
|
45 |
-
= 3.1.
|
46 |
-
*
|
47 |
-
|
48 |
-
= 3.1.
|
49 |
-
*
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
*
|
64 |
-
|
65 |
-
= 3.0.
|
66 |
-
*
|
67 |
-
|
68 |
-
|
69 |
-
*
|
70 |
-
*
|
71 |
-
* Updated
|
72 |
-
*
|
73 |
-
*
|
74 |
-
|
75 |
-
|
76 |
-
*
|
77 |
-
|
78 |
-
= 3.0.
|
79 |
-
*
|
80 |
-
|
81 |
-
= 3.0.
|
82 |
-
*
|
83 |
-
|
84 |
-
|
85 |
-
*
|
86 |
-
*
|
87 |
-
* Fixed
|
88 |
-
*
|
89 |
-
*
|
90 |
-
*
|
91 |
-
*
|
92 |
-
|
93 |
-
|
94 |
-
*
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
*
|
100 |
-
|
101 |
-
|
102 |
-
* New:
|
103 |
-
*
|
104 |
-
*
|
105 |
-
*
|
106 |
-
*
|
107 |
-
*
|
108 |
-
*
|
109 |
-
* Fixed:
|
110 |
-
* Fixed:
|
111 |
-
*
|
112 |
-
*
|
113 |
-
|
114 |
-
|
115 |
-
*
|
116 |
-
|
117 |
-
= 2.7.
|
118 |
-
* Fixed:
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
*
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
*
|
128 |
-
|
129 |
-
= 2.7.
|
130 |
-
* Fixed:
|
131 |
-
|
132 |
-
|
133 |
-
* Fixed:
|
134 |
-
|
135 |
-
|
136 |
-
*
|
137 |
-
|
138 |
-
|
139 |
-
*
|
140 |
-
*
|
141 |
-
* Added: Setting to
|
142 |
-
* Added: Setting to enable or disable
|
143 |
-
* Added:
|
144 |
-
* Added:
|
145 |
-
* Added:
|
146 |
-
* Added:
|
147 |
-
*
|
148 |
-
*
|
149 |
-
*
|
150 |
-
* Fixed:
|
151 |
-
* Fixed:
|
152 |
-
*
|
153 |
-
*
|
154 |
-
|
155 |
-
|
156 |
-
*
|
157 |
-
|
158 |
-
|
159 |
-
*
|
160 |
-
*
|
161 |
-
*
|
162 |
-
*
|
163 |
-
*
|
164 |
-
*
|
165 |
-
*
|
166 |
-
*
|
167 |
-
|
168 |
-
|
169 |
-
*
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
*
|
175 |
-
|
176 |
-
|
177 |
-
*
|
178 |
-
*
|
179 |
-
*
|
180 |
-
*
|
181 |
-
*
|
182 |
-
*
|
183 |
-
*
|
184 |
-
*
|
185 |
-
*
|
186 |
-
|
187 |
-
|
188 |
-
*
|
189 |
-
|
190 |
-
|
191 |
-
*
|
192 |
-
|
193 |
-
|
194 |
-
*
|
195 |
-
|
196 |
-
= 2.1 =
|
197 |
-
* Fixed a
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
*
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
*
|
208 |
-
|
209 |
-
= 1.
|
210 |
-
*
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
*
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
|
|
|
|
|
1 |
+
=== FancyBox for WordPress ===
|
2 |
+
Contributors: silkalns
|
3 |
+
Tags: fancybox, lightbox, jquery, gallery, image, images, photo, photos, picture, pictures, zoom
|
4 |
+
Requires at least: 3.4
|
5 |
+
Tested up to: 4.9
|
6 |
+
Stable tag: 3.1.5
|
7 |
+
License: GPL/MIT
|
8 |
+
|
9 |
+
Seamlessly integrates FancyBox lightbox into your WordPress blog: Upload, activate, and you're done. Additional configuration optional.
|
10 |
+
|
11 |
+
|
12 |
+
== Description ==
|
13 |
+
|
14 |
+
Seamlessly integrates FancyBox into your blog: Upload, activate, and you're done. Additional configuration optional.
|
15 |
+
|
16 |
+
You can easily customize almost anything you can think about fancybox lightbox: the border, margin width and color, zoom speed, animation type, close button position, overlay color and opacity and even more advanced option like several options to group images into galleries, and more...
|
17 |
+
|
18 |
+
By default, the plugin will use jQuery to apply FancyBox to ANY thumbnails that link directly to an image. This includes posts, the sidebar, etc, so you can activate it and it will be applied automatically.
|
19 |
+
|
20 |
+
= Demo =
|
21 |
+
|
22 |
+
You can see the plugin working on a <a href="http://blog.moskis.net/2012/01/20/teclado-apple-en-windows-7/" target="_blank">this blog</a> although there's nothing amazing to see, just a FancyBox simple implementation, that's the point ;) You can take a look at the code if you're curious, though.
|
23 |
+
|
24 |
+
= Further Reading =
|
25 |
+
|
26 |
+
This plugin is developed and maintained by Colorlib. Which is well know for their free <a href="https://colorlib.com/wp/themes/" target="_blank"></a>WordPress themes. However, now they are looking to extend their presence in plugin development and believe that FancyBox lightbox is a great way to start.
|
27 |
+
|
28 |
+
If you are new to WordPress and want to lear more we have got you covered. Colorlib will teach you have to <a href="https://colorlib.com/">start a blog</a> or <a href="https://colorlib.com/wp/how-to-make-a-website/">create a website</a> and much more. If you are already familiar with WordPress you likely want to learn how to make it faster and more reliable. That's when you want to look into hosting and more specifically <a href="http://colorlib.com/wp/wordpress-hosting">WordPress hosting</a>.
|
29 |
+
|
30 |
+
If you enjoy using FancyBox lightbox for WordPress please leave a [positive feedback](https://wordpress.org/support/plugin/fancybox-for-wordpress/reviews/?filter=5). We are committed to make it the best lightbox plugin for WordPress.
|
31 |
+
|
32 |
+
== Changelog ==
|
33 |
+
|
34 |
+
= 3.1.5 =
|
35 |
+
* Added support for mp4 and webp files
|
36 |
+
|
37 |
+
= 3.1.4 =
|
38 |
+
* Made it work with query string and without query strings.
|
39 |
+
|
40 |
+
= 3.1.3 =
|
41 |
+
* Fixed "Parse error" - https://wordpress.org/support/topic/no-backend-after-fancybox-update/
|
42 |
+
* Fixed "Breaks on query strings" - https://wordpress.org/support/topic/url-with-ssl1-fancybox-doesnt-open/
|
43 |
+
* Fixed "Caption problems" - https://wordpress.org/support/topic/border-not-fitting-and-strange-white-line/
|
44 |
+
|
45 |
+
= 3.1.2 =
|
46 |
+
* Fixed "All links get the fancybox class"
|
47 |
+
|
48 |
+
= 3.1.1 =
|
49 |
+
* Removed print_r from fancybox.php
|
50 |
+
|
51 |
+
= 3.1.0 =
|
52 |
+
* Updated FancyBox library to the latest version
|
53 |
+
* Changed Admin UI
|
54 |
+
|
55 |
+
= 3.0.12 =
|
56 |
+
|
57 |
+
Fixed errors causes by WordPress SVN.
|
58 |
+
|
59 |
+
= 3.0.7 =
|
60 |
+
|
61 |
+
* Updated Fancybox library
|
62 |
+
* Updated other libraries this plugins depends on such as jQuery easing and jQuery Mousewheel
|
63 |
+
* Tested plugin with WordPress 4.6
|
64 |
+
|
65 |
+
= 3.0.6 =
|
66 |
+
* Fixes to JavaScript code for showing and hiding elements as they are needed in Settings page. (Thanks to jono55 for reporting)
|
67 |
+
|
68 |
+
= 3.0.5 =
|
69 |
+
* Fixed the Revert Options button.
|
70 |
+
* Fixed wrong version number being shown on the plugin's settings page.
|
71 |
+
* Updated plugin and author links in readme and settings page.
|
72 |
+
* Updated localization catalog (POT file).
|
73 |
+
* Updated Spanish translation with minor updates.
|
74 |
+
* Updated Frequently Asked Questions in readme file.
|
75 |
+
* Removed version number from printed html source code.
|
76 |
+
* Removed outdated/incomplete translation binaries.
|
77 |
+
|
78 |
+
= 3.0.4 =
|
79 |
+
* Renamed the setting affected by the security issue mentioned in 3.0.3. This should stop the malicious code from appearing on sites where the plugin is updated without removing the malicious code.
|
80 |
+
|
81 |
+
= 3.0.3 =
|
82 |
+
* Fixed a security issue. (Thanks to mickaelb for reporting and Konstantin Kovshenin for providing the fix)
|
83 |
+
|
84 |
+
= 3.0.2 =
|
85 |
+
* Added support for disabling fancybox on individual hyperlinked images by adding class='nolightbox'. (Thanks to Artem Russakovskii)
|
86 |
+
* Added a link to the github project page in the info tab in the settings page.
|
87 |
+
* Fixed and cleaned the installation code, new installations of the plugin should work now without need to go to the settings page.
|
88 |
+
* Fixed false positives in filenames. (Thanks to Artem Russakovskii)
|
89 |
+
* Fixed incompatibility with wordpress installations where the wp-content directory had been renamed.
|
90 |
+
* Fixed an issue that could cause the version of the plugin to be removed from settings when deactivating the plugin.
|
91 |
+
* Improved HTTPS support by using better code to retrieve the plugin url and load files.
|
92 |
+
* Removed legacy code to suport upgrading settings from 2.x versions of the plugin. This was done to avoid possible issues with clean installations of the plugin.
|
93 |
+
* Updated some CSS rules in jQuery UI
|
94 |
+
* Some minor reformatting and cleanup of code (PHP comments, empty lines, )
|
95 |
+
|
96 |
+
= 3.0.1 =
|
97 |
+
* Updated: Localization catalog updated.
|
98 |
+
* Updated: Spanish localization.
|
99 |
+
* Fixed: Minor change in settings page that may fix options page being invisible in some cases.
|
100 |
+
|
101 |
+
= 3.0.0 =
|
102 |
+
* New: Fancybox v1.3.4 support This includes many new options, like title position.
|
103 |
+
* New: Additional FancyBox Calls option that lets the user write their own additional code to use FancyBox on specific areas of the blog, like email subscription buttons, login, etc.
|
104 |
+
* New: Revert settings button added to options page. When pressed, a confirmation dialog will appear.
|
105 |
+
* New: Improvements in options page, irrelevant settings (settings that depend on a disabled setting) will hide on real time, meaning a cleaner look in the options page.
|
106 |
+
* Updated: New cleaner code to select thumbnails on which to apply the fancbox script.
|
107 |
+
* Updated: Many parts of plugins rewriten with many improvements in code.
|
108 |
+
* Updated: Options are now serialized into a single row in the database.
|
109 |
+
* Fixed: Plugin should be SSL friendly from now on.
|
110 |
+
* Fixed: Do not call jQuery option in troubleshooting section didn't work if easing was enabled.
|
111 |
+
* Fixed: Load at footer options should work better now.
|
112 |
+
* Fixed: CSS external files now addded with wp_enqueue_style().
|
113 |
+
* Fixed: has_cap error: User level value for options page removed, using role now instead. Thanks to [vonkanehoffen](http://wordpress.org/support/topic/plugin-fancybox-for-wordpress-has_cap-fix).
|
114 |
+
* Removed: jQuery "noConflict" Mode option removed bacause jQuery bundled with WordPress always used noConflict.
|
115 |
+
* Removed: Base64 data ("data:image/gif;base64,AAAA") in left and right fancybox link's backgrounds: It didn't seem to be working and it is usually regarded as suspicious code, so it has been removed.
|
116 |
+
|
117 |
+
= 2.7.5 =
|
118 |
+
* Fixed: Callback arguments are no longer added as "null" when they are not set in options page.
|
119 |
+
|
120 |
+
= 2.7.4 =
|
121 |
+
* Fixed: Little error tagging 2.7.3, a file didn't upload and broke options page.
|
122 |
+
* Update: Language POT file
|
123 |
+
|
124 |
+
= 2.7.3 =
|
125 |
+
* Fixed: Settings not saving in some browsers. Thanks to [supertomate](http://wordpress.org/support/topic/plugin-fancybox-for-wordpress-save-changes-button-doesnt-submit-form?replies=7#post-1765041)
|
126 |
+
* Fixed: JS being added to other plugins' configuration pages. Thanks to [Brandon Dove](http://wordpress.org/support/topic/plugin-fancybox-for-wordpress-theres-a-problem-with-is_plugin_page?replies=1#post-1888828)
|
127 |
+
* Added: Support section in options page with better information
|
128 |
+
|
129 |
+
= 2.7.2 =
|
130 |
+
* Fixed: Layout problem in options page in WordPress 2.9
|
131 |
+
|
132 |
+
= 2.7.1 =
|
133 |
+
* Fixed: Z-index issue was left out in previus release
|
134 |
+
* Fixed: Setting to close fancybox when clicking on the overlay wasn't available in the menu
|
135 |
+
* Fixed: Frame width and height options are now in the "Other" tab
|
136 |
+
* Fixed: Tabs now translated in Spanish localization
|
137 |
+
|
138 |
+
= 2.7.0 =
|
139 |
+
* New: Fancybox v1.2.6 support
|
140 |
+
* New: New Admin page with tabs for better organization of all the options
|
141 |
+
* Added: Setting to change the speed of the animation when changing gallery items
|
142 |
+
* Added: Setting to enable or disable Escape key to close Fancybox
|
143 |
+
* Added: Setting to show or hide close button
|
144 |
+
* Added: Setting to close fancybox when clicking on the overlay
|
145 |
+
* Added: Setting to enable or disable callback function on start, show and close events
|
146 |
+
* Added: Italian translation
|
147 |
+
* Added: Russian translation
|
148 |
+
* Added: "Load JS at Footer" option
|
149 |
+
* Added: New Changelog tab in Wordpress Plugin Directory
|
150 |
+
* Fixed: Some typos in Spanish translation
|
151 |
+
* Fixed: FancyBox not showing above some elements (those with zindex higher than 90)
|
152 |
+
* Fixed: JavaScript code being included in all admin pages instead of just the plugin's options page.
|
153 |
+
* Fixed: noClonflict preventing frames to work in Fancybox
|
154 |
+
* Fixed: Custom frame width and height not being applied
|
155 |
+
* Updated: Japanese translation
|
156 |
+
* Updated: JS is now Minified instead of Packed
|
157 |
+
|
158 |
+
= 2.6.0 =
|
159 |
+
* Optimized the JavaScript code used to apply FancyBox
|
160 |
+
* Updated Custom Expression section in Options Page
|
161 |
+
* Fixed uppercase image extensions not being recognized
|
162 |
+
* CSS is now loaded before the JavaScript for better parallelization
|
163 |
+
* jquery.easing.1.3.js compressed (from 8,10kb to 3,47kb) and renamed to jquery.easing.1.3.pack.js
|
164 |
+
* Added Turkish translation (some strings missing)
|
165 |
+
* Added Japanese translation (some strings missing)
|
166 |
+
* Updated Spanish translation
|
167 |
+
* Updated to use new Plugin API in WP2.7 for better forward compatibility
|
168 |
+
* Removed /wp-content/ reference in fancybox.php for better WP2.8 support
|
169 |
+
* Optimized some code readability
|
170 |
+
|
171 |
+
= 2.5.1 =
|
172 |
+
* Fixed the plugin not working when selecting Gallery Type "By Post"
|
173 |
+
* Fixed a bug that would prevent the title in the IMG tag from being copied to the A tag in some cases
|
174 |
+
* Fixed the Custom Expression showing in the Admin panel when other gallery types are selected
|
175 |
+
|
176 |
+
= 2.5 =
|
177 |
+
* Support for localizations (Spanish and German localizations included)
|
178 |
+
* Some parts of the code completely rewritten
|
179 |
+
* Fixed fancybox files being loaded on the admin pages
|
180 |
+
* New options for close button position, custom jquery expressions, iframe content
|
181 |
+
* Options page mostly rewritten, better organized
|
182 |
+
* Medium/advanced, troubleshooting/uninstall options collapsable, hidden by default
|
183 |
+
* Better support guidelines and links on options page
|
184 |
+
* Settings link on the Manage plugins page
|
185 |
+
* Custom expression hidden when not used
|
186 |
+
* Title atribute on IMG tags is now copied to its parent A tag for better caption support
|
187 |
+
* New uninstall options and better handling of new options when installing/updating
|
188 |
+
* Cleans any old options no longer needed when plugin is activated/updated
|
189 |
+
|
190 |
+
= 2.2 =
|
191 |
+
* Updated to FancyBox 1.2.1
|
192 |
+
* Added new settings to Options Page: Easing, padding size, border color
|
193 |
+
* Tweaked CSS to prevent some themes from adding unwanted styles to fancybox (especially background colors and link outlines)
|
194 |
+
* Options Page reorganized in three sections: Appearance, Behaviour and Troubleshooting Settings, to make settings easier to find
|
195 |
+
|
196 |
+
= 2.1.1 =
|
197 |
+
* Fixed a new bug introduced in 2.1 that prevented options from being saved. Sorry about the mess :(
|
198 |
+
|
199 |
+
= 2.1 =
|
200 |
+
* Fixed a major bug in 2.0 that prevented it from working until plugin's options page was visited
|
201 |
+
* Added two options for troubleshooting that might help in some cases if the plugin doesn't work: disable jQuery noConflict and skip jQuery call
|
202 |
+
* Additional fixes to caption CSS: Captions should look better now in Hybrid theme, child themes, and other situations where general table elements are improperly styled
|
203 |
+
|
204 |
+
= 2.0 =
|
205 |
+
* Brand new Options Page in Admin Panel lets you easely customize many options: fancybox auto apply, image resize to fit, opacity fade while zooming, zoom speed, overlay on/off, overlay color, overlay opacity, close fancybox on image click, keep fancybox centered while scrolling
|
206 |
+
* CSS completely updated for FancyBox 1.2.0
|
207 |
+
* Captions fixed in IE
|
208 |
+
|
209 |
+
= 1.3 =
|
210 |
+
* Shadows and Close button should be fixed now
|
211 |
+
|
212 |
+
= 1.2 =
|
213 |
+
* Updated to FancyBox 1.2.0
|
214 |
+
* Uses packed version of the JavaScript file (8kb instead of 14kb)
|
215 |
+
|
216 |
+
= 1.1 =
|
217 |
+
* Fixed FancyBox not being applied to .jpeg files
|
218 |
+
* Fixed "Click to close" overlay text
|
219 |
+
* Moved images to /img/ folder
|
220 |
+
|
221 |
+
|
222 |
+
== Upgrade Notice ==
|
223 |
+
|
224 |
+
= 3.0.5 =
|
225 |
+
Fixes the Revert options button and wrong version number on settings page. Also updates links in settings page and readme file.
|
226 |
+
|
227 |
+
|
228 |
+
== Installation ==
|
229 |
+
|
230 |
+
1. Upload the `fancybox-for-wordpress` folder to the `/wp-content/plugins/` directory
|
231 |
+
2. Activate the plugin through the 'Plugins' menu in WordPress
|
232 |
+
3. That's it, FancyBox will be automatically applied to all your image links and galleries.
|
233 |
+
4. If you want to customize a bit the look and feel of FancyBox, go to the Options Page under General Options in the WordPress Admin panel
|
234 |
+
|
235 |
+
|
236 |
+
== Screenshots ==
|
237 |
+
|
238 |
+
1. Simple example of fancybox on a post. [Live demo here](http://blog.moskis.net/2012/01/20/teclado-apple-en-windows-7/)
|
239 |
+
2. Basic settings on Options Page in the Admin Panel. This makes it very easy to customize the plugin to your needs
|
240 |
+
|
241 |
+
|
242 |
+
== Frequently Asked Questions ==
|
243 |
+
|
244 |
+
**- There was a vulnerability detected in versions 3.0.2 and lower, is my site in danger?**
|
245 |
+
|
246 |
+
This vulnerability was patched in version 3.0.3.
|
247 |
+
|
248 |
+
An additional change was introduced in version 3.0.4 to make sure that the malicious code can't be printed to visitors even if it still remains in the database.
|
249 |
+
|
250 |
+
If you think your site might still be using a vulnerable version of the plugin please log in to your WordPress admin panel, disable the plugin and clear any cache if your site uses a cache system.
|
251 |
+
|
252 |
+
If you wish to continue using the plugin, check that the plugin is updated to the latest version from your admin panel and enable it. Then check the plugin's settings page and make sure there's no abnormal code in any of the fields, especially on the Extra Calls tab. If you are not sure about the code you see in the settings please use the Revert to Defaults button at the bottom of the settings page.
|
253 |
+
|
254 |
+
If you think your site might be compromised in any other way check this guide: [WordPress Codex - FAQ My site was hacked](http://codex.wordpress.org/FAQ_My_site_was_hacked).
|
255 |
+
|
256 |
+
**- Is the FancyBox script vulnerable or unsafe?**
|
257 |
+
|
258 |
+
No, there's nothing wrong with the actual FancyBox script that i know of.
|
259 |
+
|
260 |
+
The vulnerability detected in versions 3.0.2 and lower of the "FancyBox for WordPress" plugin was limited to the plugin itself. Other FancyBox plugins or manual implementations of FancyBox are unrelated to this issue.
|