Version Description
= After an upgrade from version 2 =
Please check all settings after the update:
- Dropbox authentication must be done again
- SugarSync authentication must be done again
- S3 Settings
- Google Storage is now in S3
- Check all your passwords
Download this release
Release Info
Developer | danielhuesken |
Plugin | BackWPup – WordPress Backup Plugin |
Version | 3.0.3 |
Comparing to | |
See all releases |
Code changes from version 3.0.2 to 3.0.3
- backwpup.php +1 -1
- css/page_jobs.css +1 -1
- css/page_jobs.dev.css +4 -8
- inc/class-admin.php +8 -11
- inc/class-create-archive.php +206 -94
- inc/class-destination-folder.php +0 -2
- inc/class-destination-msazure.php +0 -2
- inc/class-destination-rsc.php +0 -2
- inc/class-destination-s3.php +4 -6
- inc/class-destination-sugarsync.php +0 -2
- inc/class-job.php +19 -9
- inc/class-jobtype-file.php +10 -8
- inc/class-mysqldump.php +1 -1
- inc/class-page-backwpup.php +1 -1
- inc/class-page-jobs.php +55 -18
- inc/class-page-logs.php +2 -2
- js/fancybox/blank.gif +0 -0
- js/fancybox/fancybox_loading.gif +0 -0
- js/fancybox/fancybox_overlay.png +0 -0
- js/fancybox/fancybox_sprite.png +0 -0
- js/fancybox/helpers/fancybox_buttons.png +0 -0
- js/fancybox/helpers/jquery.fancybox-buttons.css +0 -96
- js/fancybox/helpers/jquery.fancybox-buttons.js +0 -121
- js/fancybox/helpers/jquery.fancybox-media.js +0 -196
- js/fancybox/helpers/jquery.fancybox-thumbs.css +0 -54
- js/fancybox/helpers/jquery.fancybox-thumbs.js +0 -162
- js/fancybox/jquery.fancybox.css +0 -249
- js/fancybox/jquery.fancybox.js +0 -1983
- js/fancybox/jquery.fancybox.pack.js +0 -45
- js/general.dev.js +0 -11
- js/general.js +1 -1
- languages/backwpup-de_DE.mo +0 -0
- languages/backwpup-de_DE.po +256 -195
- readme.txt +11 -2
backwpup.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Description: WordPress Backup and more...
|
6 |
* Author: Inpsyde GmbH
|
7 |
* Author URI: http://inpsyde.com
|
8 |
-
* Version: 3.0.
|
9 |
* Text Domain: backwpup
|
10 |
* Domain Path: /languages/
|
11 |
* Network: true
|
5 |
* Description: WordPress Backup and more...
|
6 |
* Author: Inpsyde GmbH
|
7 |
* Author URI: http://inpsyde.com
|
8 |
+
* Version: 3.0.3
|
9 |
* Text Domain: backwpup
|
10 |
* Domain Path: /languages/
|
11 |
* Network: true
|
css/page_jobs.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.column-id{width:3%;text-align:center}.column-last,.column-next,.column-type,.column-dest{width:15%}#
|
1 |
+
.column-id{width:3%;text-align:center}.column-last,.column-next,.column-type,.column-dest{width:15%}#TB_ajaxContent{background-color:black;color:white}#showworking{font-family:Fixedsys,Courier,monospace;line-height:15px;font-size:12px;white-space:pre;display:block;width:100%}#runningjob{padding:10px;background-image:url(../images/progresshg.jpg);position:relative;margin:15px 0 25px 0;padding-bottom:25px}#runniginfos{font-size:14px;font-family:sans-serif,"Arial"}h2#runnigtitle{font-size:18px;margin-bottom:15px;padding:0}#warningsid{margin-right:10px}#errorid{margin-left:10px}.infobuttons{position:absolute;right:10px;bottom:10px}a#showworkingbutton{float:left;padding:10px;font-size:12px;font-family:sans-serif,"Arial";text-decoration:none;background-color:#93b509;color:#fff;border:0}a#abortbutton,a#showworkingclose{float:left;margin-left:10px;padding:10px;font-size:12px;font-family:sans-serif,"Arial";text-decoration:none;background-color:#cd1212;color:#fff;border:0}.progressbar{margin-top:20px;height:auto;background-color:#f6f6f6;background-image:url(../images/progressbarhg.jpg)}#lastmsg,#onstep{text-align:center;margin-bottom:20px}#progressstep{background-color:#1d94cf;color:#fff;padding:5px 0;text-align:center;font-size:14px;font-family:sans-serif,"Arial"}#progresssteps{background-color:#007fb6;color:#fff;padding:5px 0;text-align:center;font-size:14px;font-family:sans-serif,"Arial"}
|
css/page_jobs.dev.css
CHANGED
@@ -7,21 +7,17 @@
|
|
7 |
width: 15%;
|
8 |
}
|
9 |
|
10 |
-
#
|
11 |
-
margin-top: 10px;
|
12 |
background-color: black;
|
13 |
color: white;
|
|
|
|
|
14 |
font-family: Fixedsys, Courier, monospace;
|
15 |
line-height: 15px;
|
16 |
font-size: 12px;
|
17 |
-
border-color: #CEE1EF;
|
18 |
-
border-style: solid;
|
19 |
-
border-width: 5px;
|
20 |
-
height: 95%;
|
21 |
-
padding: 2px;
|
22 |
-
overflow: auto;
|
23 |
white-space: pre;
|
24 |
display: block;
|
|
|
25 |
}
|
26 |
#runningjob {
|
27 |
padding:10px;
|
7 |
width: 15%;
|
8 |
}
|
9 |
|
10 |
+
#TB_ajaxContent {
|
|
|
11 |
background-color: black;
|
12 |
color: white;
|
13 |
+
}
|
14 |
+
#showworking {
|
15 |
font-family: Fixedsys, Courier, monospace;
|
16 |
line-height: 15px;
|
17 |
font-size: 12px;
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
white-space: pre;
|
19 |
display: block;
|
20 |
+
width: 100%;
|
21 |
}
|
22 |
#runningjob {
|
23 |
padding:10px;
|
inc/class-admin.php
CHANGED
@@ -248,21 +248,19 @@ final class BackWPup_Admin {
|
|
248 |
|
249 |
//start using sessions
|
250 |
session_start();
|
|
|
|
|
251 |
|
252 |
//register js from tipTip
|
253 |
wp_register_script( 'tiptip', BackWPup::get_plugin_data( 'URL' ) . '/js/jquery.tipTip.minified.js', array( 'jquery' ), '1.3', TRUE );
|
254 |
|
255 |
-
//register fancybox
|
256 |
-
wp_register_style( 'fancybox2', BackWPup::get_plugin_data( 'URL' ) . '/js/fancybox/jquery.fancybox.css', '', '2.1.4', 'screen' );
|
257 |
-
wp_register_script( 'fancybox2', BackWPup::get_plugin_data( 'URL' ) . '/js/fancybox/jquery.fancybox.pack.js', array( 'jquery' ), '2.1.4', TRUE );
|
258 |
-
|
259 |
//register js and css for BackWPup
|
260 |
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
|
261 |
-
wp_register_script( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/js/general.dev.js', array( 'jquery', 'tiptip'
|
262 |
-
wp_register_style( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/css/general.dev.css', array(
|
263 |
} else {
|
264 |
-
wp_register_script( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/js/general.js', array( 'jquery', 'tiptip'
|
265 |
-
wp_register_style( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/css/general.css', array(
|
266 |
}
|
267 |
|
268 |
//add Help
|
@@ -337,12 +335,11 @@ final class BackWPup_Admin {
|
|
337 |
*/
|
338 |
public static function message( $message ) {
|
339 |
|
340 |
-
|
341 |
-
if( ! isset( $_SESSION[ 'backwpup_messages' ] ) )
|
342 |
$_SESSION[ 'backwpup_messages' ] = array();
|
343 |
|
344 |
if ( is_array( $message ) )
|
345 |
-
$_SESSION[ 'backwpup_messages' ] = array_merge( $_SESSION[ 'backwpup_messages' ], $message);
|
346 |
else
|
347 |
$_SESSION[ 'backwpup_messages' ][] = $message;
|
348 |
|
248 |
|
249 |
//start using sessions
|
250 |
session_start();
|
251 |
+
|
252 |
+
add_thickbox();
|
253 |
|
254 |
//register js from tipTip
|
255 |
wp_register_script( 'tiptip', BackWPup::get_plugin_data( 'URL' ) . '/js/jquery.tipTip.minified.js', array( 'jquery' ), '1.3', TRUE );
|
256 |
|
|
|
|
|
|
|
|
|
257 |
//register js and css for BackWPup
|
258 |
if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
|
259 |
+
wp_register_script( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/js/general.dev.js', array( 'jquery', 'tiptip' ), time(), TRUE );
|
260 |
+
wp_register_style( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/css/general.dev.css', array( ), time(), 'screen' );
|
261 |
} else {
|
262 |
+
wp_register_script( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/js/general.js', array( 'jquery', 'tiptip' ), BackWPup::get_plugin_data( 'Version' ), TRUE );
|
263 |
+
wp_register_style( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/css/general.css', array( ), BackWPup::get_plugin_data( 'Version' ), 'screen' );
|
264 |
}
|
265 |
|
266 |
//add Help
|
335 |
*/
|
336 |
public static function message( $message ) {
|
337 |
|
338 |
+
if( empty( $_SESSION[ 'backwpup_messages' ] ) )
|
|
|
339 |
$_SESSION[ 'backwpup_messages' ] = array();
|
340 |
|
341 |
if ( is_array( $message ) )
|
342 |
+
$_SESSION[ 'backwpup_messages' ] = array_merge( $_SESSION[ 'backwpup_messages' ], $message );
|
343 |
else
|
344 |
$_SESSION[ 'backwpup_messages' ][] = $message;
|
345 |
|
inc/class-create-archive.php
CHANGED
@@ -77,31 +77,39 @@ class BackWPup_Create_Archive {
|
|
77 |
if ( ! function_exists( 'gzencode' ) )
|
78 |
throw new BackWPup_Create_Archive_Exception( __( 'Functions for gz compression not available', 'backwpup' ) );
|
79 |
$this->method = 'TarGz';
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
$last_blocs = fread( $this->filehandel, strlen( $eof_compressed ) );
|
86 |
-
//overwrite tar end of file
|
87 |
-
if ( $last_blocs == $eof_compressed )
|
88 |
fseek( $this->filehandel, - strlen( $eof_compressed ), SEEK_END );
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
}
|
|
|
90 |
}
|
91 |
elseif ( strtolower( substr( $this->file, -8 ) ) == '.tar.bz2' ) {
|
92 |
if ( ! function_exists( 'bzcompress' ) )
|
93 |
throw new BackWPup_Create_Archive_Exception( __( 'Functions for bz2 compression not available', 'backwpup' ) );
|
94 |
$this->method = 'TarBz2';
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
$last_blocs = fread( $this->filehandel, strlen( $eof_compressed ) );
|
101 |
-
//overwrite tar end of file
|
102 |
-
if ( $last_blocs == $eof_compressed )
|
103 |
fseek( $this->filehandel, - strlen( $eof_compressed ), SEEK_END );
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
}
|
|
|
105 |
}
|
106 |
elseif ( strtolower( substr( $this->file, -4 ) ) == '.tar' ) {
|
107 |
$this->method = 'Tar';
|
@@ -120,9 +128,11 @@ class BackWPup_Create_Archive {
|
|
120 |
if ( class_exists( 'ZipArchive' ) ) {
|
121 |
$this->method = 'ZipArchive';
|
122 |
$this->ziparchive = new ZipArchive();
|
123 |
-
$
|
124 |
-
if ( $
|
125 |
-
|
|
|
|
|
126 |
}
|
127 |
if ( $this->get_method() == 'PclZip' && ! function_exists( 'gzencode' ) )
|
128 |
throw new BackWPup_Create_Archive_Exception( __( 'Functions for gz compression not available', 'backwpup' ) );
|
@@ -173,9 +183,13 @@ class BackWPup_Create_Archive {
|
|
173 |
fwrite( $this->filehandel, pack( "a1024", "" ) );
|
174 |
}
|
175 |
elseif ( $this->get_method() == 'TarGz' ) {
|
|
|
|
|
176 |
fwrite( $this->filehandel, gzencode( pack( "a1024", "" ) ) );
|
177 |
}
|
178 |
elseif ( $this->get_method() == 'TarBz2' ) {
|
|
|
|
|
179 |
fwrite( $this->filehandel, bzcompress( pack( "a1024", "" ) ) );
|
180 |
}
|
181 |
|
@@ -186,7 +200,7 @@ class BackWPup_Create_Archive {
|
|
186 |
|
187 |
//close PclZip Class
|
188 |
if ( is_object( $this->ziparchive ) ) {
|
189 |
-
$this->ziparchive_status();
|
190 |
$this->ziparchive->close();
|
191 |
unset( $this->ziparchive );
|
192 |
}
|
@@ -223,7 +237,7 @@ class BackWPup_Create_Archive {
|
|
223 |
|
224 |
if ( ! is_file( $file_name ) || ! is_readable( $file_name ) ) {
|
225 |
trigger_error( sprintf( _x( 'File %s does not exist or is not readable', 'File path to add to archive', 'backwpup' ), $file_name ), E_USER_WARNING );
|
226 |
-
return
|
227 |
}
|
228 |
|
229 |
if ( empty( $name_in_archive ) )
|
@@ -233,12 +247,12 @@ class BackWPup_Create_Archive {
|
|
233 |
case 'gz':
|
234 |
if ( $this->file_count > 0 ) {
|
235 |
trigger_error( __( 'This archive method can only add one file', 'backwpup' ), E_USER_WARNING );
|
236 |
-
return
|
237 |
}
|
238 |
//add file to archive
|
239 |
if ( ! ( $fd = fopen( $file_name, 'rb' ) ) ) {
|
240 |
trigger_error( sprintf( __( 'Can not open source file %s to archive', 'backwpup' ), $file_name ), E_USER_WARNING );
|
241 |
-
return
|
242 |
}
|
243 |
while ( ! feof( $fd ) )
|
244 |
fwrite( $this->filehandel, fread( $fd, 8192 ) );
|
@@ -247,12 +261,12 @@ class BackWPup_Create_Archive {
|
|
247 |
case 'bz':
|
248 |
if ( $this->file_count > 0 ) {
|
249 |
trigger_error( __( 'This archive method can only add one file', 'backwpup' ), E_USER_WARNING );
|
250 |
-
return
|
251 |
}
|
252 |
//add file to archive
|
253 |
if ( ! ( $fd = fopen( $file_name, 'rb' ) ) ) {
|
254 |
trigger_error( sprintf( __( 'Can not open source file %s to archive', 'backwpup' ), $file_name ), E_USER_WARNING );
|
255 |
-
return
|
256 |
}
|
257 |
while ( ! feof( $fd ) )
|
258 |
fwrite( $this->filehandel, bzcompress( fread( $fd, 8192 ) ) );
|
@@ -266,15 +280,19 @@ class BackWPup_Create_Archive {
|
|
266 |
break;
|
267 |
case 'ZipArchive':
|
268 |
//close and reopen, all added files are open on fs
|
269 |
-
if ( $this->file_count >=
|
270 |
-
$this->ziparchive_status();
|
271 |
$this->ziparchive->close();
|
272 |
-
$this->ziparchive->open( $this->file, ZipArchive::CREATE );
|
|
|
|
|
|
|
|
|
273 |
$this->file_count = 0;
|
274 |
}
|
275 |
if ( ! $this->ziparchive->addFile( $file_name, $name_in_archive ) ) {
|
276 |
trigger_error( sprintf( __( 'Can not add "%s" to zip archive!', 'backwpup' ), $name_in_archive ), E_USER_ERROR );
|
277 |
-
return
|
278 |
}
|
279 |
break;
|
280 |
case 'PclZip':
|
@@ -284,7 +302,7 @@ class BackWPup_Create_Archive {
|
|
284 |
) ) )
|
285 |
) {
|
286 |
trigger_error( sprintf( __( 'PclZip archive add error: %s', 'backwpup' ), $this->pclzip->errorInfo( TRUE ) ), E_USER_ERROR );
|
287 |
-
return
|
288 |
}
|
289 |
break;
|
290 |
}
|
@@ -294,62 +312,99 @@ class BackWPup_Create_Archive {
|
|
294 |
return TRUE;
|
295 |
}
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
|
298 |
/**
|
299 |
* Output status of ZipArchive
|
|
|
|
|
|
|
300 |
*/
|
301 |
-
private function ziparchive_status() {
|
302 |
-
|
303 |
-
if ( $
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
$zip_error = __( '(ER_EOF) Premature EOF', 'backwpup' );
|
339 |
-
if ( $this->ziparchive->status == 18 )
|
340 |
-
$zip_error = __( '(ER_INVAL) Invalid argument', 'backwpup' );
|
341 |
-
if ( $this->ziparchive->status == 19 )
|
342 |
-
$zip_error = __( '(ER_NOZIP) Not a zip archive', 'backwpup' );
|
343 |
-
if ( $this->ziparchive->status == 20 )
|
344 |
-
$zip_error = __( '(ER_INTERNAL) Internal error', 'backwpup' );
|
345 |
-
if ( $this->ziparchive->status == 21 )
|
346 |
-
$zip_error = __( '(ER_INCONS) Zip archive inconsistent', 'backwpup' );
|
347 |
-
if ( $this->ziparchive->status == 22 )
|
348 |
-
$zip_error = __( '(ER_REMOVE) Can\'t remove file', 'backwpup' );
|
349 |
-
if ( $this->ziparchive->status == 23 )
|
350 |
-
$zip_error = __( '(ER_DELETED) Entry has been deleted', 'backwpup' );
|
351 |
-
trigger_error( sprintf( _x( 'ZipArchive returns status: %s','Text of ZipArchive status Massage', 'backwpup' ), $zip_error ), E_USER_WARNING );
|
352 |
-
}
|
353 |
}
|
354 |
|
355 |
/**
|
@@ -416,29 +471,86 @@ class BackWPup_Create_Archive {
|
|
416 |
$checksum = pack( "a8", sprintf( "%07o", $checksum ) );
|
417 |
$header = substr_replace( $header, $checksum, 148, 8 );
|
418 |
//write header
|
419 |
-
|
420 |
-
fwrite( $this->filehandel, bzcompress( $header ) );
|
421 |
-
elseif( $this->get_method() == 'TarGz' )
|
422 |
-
fwrite( $this->filehandel, gzencode( $header ) );
|
423 |
-
else
|
424 |
-
fwrite( $this->filehandel, $header );
|
425 |
|
426 |
// read/write files in 512K Blocks
|
427 |
while ( ! feof( $fd ) ) {
|
428 |
$file_data = fread( $fd, 512 );
|
429 |
if ( strlen( $file_data ) > 0 ) {
|
430 |
-
|
431 |
-
fwrite( $this->filehandel, bzcompress( pack( "a512", $file_data ) ) );
|
432 |
-
elseif( $this->get_method() == 'TarGz' )
|
433 |
-
fwrite( $this->filehandel, gzencode( pack( "a512", $file_data ) ) );
|
434 |
-
else
|
435 |
-
fwrite( $this->filehandel, pack( "a512", $file_data ) );
|
436 |
}
|
437 |
}
|
438 |
fclose( $fd );
|
439 |
|
440 |
return TRUE;
|
441 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
442 |
}
|
443 |
|
444 |
/**
|
77 |
if ( ! function_exists( 'gzencode' ) )
|
78 |
throw new BackWPup_Create_Archive_Exception( __( 'Functions for gz compression not available', 'backwpup' ) );
|
79 |
$this->method = 'TarGz';
|
80 |
+
if ( is_file( $this->file ) ) {
|
81 |
+
$this->filehandel = fopen( $this->file, 'c+b');
|
82 |
+
$eof_compressed = gzencode( pack( "a1024", "" ) );
|
83 |
+
//remove tar end of file
|
84 |
+
if ( filesize( $this->file ) > strlen( $eof_compressed ) ) {
|
|
|
|
|
|
|
85 |
fseek( $this->filehandel, - strlen( $eof_compressed ), SEEK_END );
|
86 |
+
$last_blocs = fread( $this->filehandel, strlen( $eof_compressed ) );
|
87 |
+
//overwrite tar end of file
|
88 |
+
if ( $last_blocs == $eof_compressed )
|
89 |
+
fseek( $this->filehandel, - strlen( $eof_compressed ), SEEK_END );
|
90 |
+
}
|
91 |
+
fclose( $this->filehandel );
|
92 |
}
|
93 |
+
$this->filehandel = fopen( 'compress.zlib://'. $this->file, 'wb');
|
94 |
}
|
95 |
elseif ( strtolower( substr( $this->file, -8 ) ) == '.tar.bz2' ) {
|
96 |
if ( ! function_exists( 'bzcompress' ) )
|
97 |
throw new BackWPup_Create_Archive_Exception( __( 'Functions for bz2 compression not available', 'backwpup' ) );
|
98 |
$this->method = 'TarBz2';
|
99 |
+
if ( is_file( $this->file ) ) {
|
100 |
+
$this->filehandel = fopen( $this->file, 'c+b');
|
101 |
+
$eof_compressed = bzcompress( pack( "a1024", "" ) );
|
102 |
+
//remove tar end of file
|
103 |
+
if ( filesize( $this->file ) > strlen( $eof_compressed ) ) {
|
|
|
|
|
|
|
104 |
fseek( $this->filehandel, - strlen( $eof_compressed ), SEEK_END );
|
105 |
+
$last_blocs = fread( $this->filehandel, strlen( $eof_compressed ) );
|
106 |
+
//overwrite tar end of file
|
107 |
+
if ( $last_blocs == $eof_compressed )
|
108 |
+
fseek( $this->filehandel, - strlen( $eof_compressed ), SEEK_END );
|
109 |
+
}
|
110 |
+
fclose( $this->filehandel );
|
111 |
}
|
112 |
+
$this->filehandel = fopen( 'compress.bzip2://'. $this->file, 'wb');
|
113 |
}
|
114 |
elseif ( strtolower( substr( $this->file, -4 ) ) == '.tar' ) {
|
115 |
$this->method = 'Tar';
|
128 |
if ( class_exists( 'ZipArchive' ) ) {
|
129 |
$this->method = 'ZipArchive';
|
130 |
$this->ziparchive = new ZipArchive();
|
131 |
+
$ziparchive_open = $this->ziparchive->open( $this->file, ZipArchive::CREATE );
|
132 |
+
if ( $ziparchive_open !== TRUE ) {
|
133 |
+
$this->ziparchive_status( $ziparchive_open );
|
134 |
+
throw new BackWPup_Create_Archive_Exception( sprintf( _x( 'Can not create zip archive: %d','ZipArchive open() result', 'backwpup' ), $ziparchive_open ) );
|
135 |
+
}
|
136 |
}
|
137 |
if ( $this->get_method() == 'PclZip' && ! function_exists( 'gzencode' ) )
|
138 |
throw new BackWPup_Create_Archive_Exception( __( 'Functions for gz compression not available', 'backwpup' ) );
|
183 |
fwrite( $this->filehandel, pack( "a1024", "" ) );
|
184 |
}
|
185 |
elseif ( $this->get_method() == 'TarGz' ) {
|
186 |
+
fclose( $this->filehandel );
|
187 |
+
$this->filehandel = fopen( $this->file, 'a');
|
188 |
fwrite( $this->filehandel, gzencode( pack( "a1024", "" ) ) );
|
189 |
}
|
190 |
elseif ( $this->get_method() == 'TarBz2' ) {
|
191 |
+
fclose( $this->filehandel );
|
192 |
+
$this->filehandel = fopen( $this->file, 'a');
|
193 |
fwrite( $this->filehandel, bzcompress( pack( "a1024", "" ) ) );
|
194 |
}
|
195 |
|
200 |
|
201 |
//close PclZip Class
|
202 |
if ( is_object( $this->ziparchive ) ) {
|
203 |
+
$this->ziparchive_status( $this->ziparchive->status );
|
204 |
$this->ziparchive->close();
|
205 |
unset( $this->ziparchive );
|
206 |
}
|
237 |
|
238 |
if ( ! is_file( $file_name ) || ! is_readable( $file_name ) ) {
|
239 |
trigger_error( sprintf( _x( 'File %s does not exist or is not readable', 'File path to add to archive', 'backwpup' ), $file_name ), E_USER_WARNING );
|
240 |
+
return FALSE;
|
241 |
}
|
242 |
|
243 |
if ( empty( $name_in_archive ) )
|
247 |
case 'gz':
|
248 |
if ( $this->file_count > 0 ) {
|
249 |
trigger_error( __( 'This archive method can only add one file', 'backwpup' ), E_USER_WARNING );
|
250 |
+
return FALSE;
|
251 |
}
|
252 |
//add file to archive
|
253 |
if ( ! ( $fd = fopen( $file_name, 'rb' ) ) ) {
|
254 |
trigger_error( sprintf( __( 'Can not open source file %s to archive', 'backwpup' ), $file_name ), E_USER_WARNING );
|
255 |
+
return FALSE;
|
256 |
}
|
257 |
while ( ! feof( $fd ) )
|
258 |
fwrite( $this->filehandel, fread( $fd, 8192 ) );
|
261 |
case 'bz':
|
262 |
if ( $this->file_count > 0 ) {
|
263 |
trigger_error( __( 'This archive method can only add one file', 'backwpup' ), E_USER_WARNING );
|
264 |
+
return FALSE;
|
265 |
}
|
266 |
//add file to archive
|
267 |
if ( ! ( $fd = fopen( $file_name, 'rb' ) ) ) {
|
268 |
trigger_error( sprintf( __( 'Can not open source file %s to archive', 'backwpup' ), $file_name ), E_USER_WARNING );
|
269 |
+
return FALSE;
|
270 |
}
|
271 |
while ( ! feof( $fd ) )
|
272 |
fwrite( $this->filehandel, bzcompress( fread( $fd, 8192 ) ) );
|
280 |
break;
|
281 |
case 'ZipArchive':
|
282 |
//close and reopen, all added files are open on fs
|
283 |
+
if ( $this->file_count >= 30 ) { //35 works with PHP 5.2.4 on win
|
284 |
+
$this->ziparchive_status( $this->ziparchive->status );
|
285 |
$this->ziparchive->close();
|
286 |
+
$ziparchive_open = $this->ziparchive->open( $this->file, ZipArchive::CREATE );
|
287 |
+
if ( $ziparchive_open !== TRUE ) {
|
288 |
+
$this->ziparchive_status( $ziparchive_open );
|
289 |
+
return FALSE;
|
290 |
+
}
|
291 |
$this->file_count = 0;
|
292 |
}
|
293 |
if ( ! $this->ziparchive->addFile( $file_name, $name_in_archive ) ) {
|
294 |
trigger_error( sprintf( __( 'Can not add "%s" to zip archive!', 'backwpup' ), $name_in_archive ), E_USER_ERROR );
|
295 |
+
return FALSE;
|
296 |
}
|
297 |
break;
|
298 |
case 'PclZip':
|
302 |
) ) )
|
303 |
) {
|
304 |
trigger_error( sprintf( __( 'PclZip archive add error: %s', 'backwpup' ), $this->pclzip->errorInfo( TRUE ) ), E_USER_ERROR );
|
305 |
+
return FALSE;
|
306 |
}
|
307 |
break;
|
308 |
}
|
312 |
return TRUE;
|
313 |
}
|
314 |
|
315 |
+
/**
|
316 |
+
* Add a empty Folder to archive
|
317 |
+
*
|
318 |
+
* @param $folder_name string Name of folder to add to archive
|
319 |
+
* @throws BackWPup_Create_Archive_Exception
|
320 |
+
* @return bool
|
321 |
+
*/
|
322 |
+
public function add_empty_folder( $folder_name, $name_in_archive = '' ) {
|
323 |
+
|
324 |
+
//check param
|
325 |
+
if ( empty( $folder_name ) )
|
326 |
+
throw new BackWPup_Create_Archive_Exception( __( 'Folder name cannot be empty', 'backwpup' ) );
|
327 |
+
|
328 |
+
if ( ! is_dir( $folder_name ) || ! is_readable( $folder_name ) ) {
|
329 |
+
trigger_error( sprintf( _x( 'Folder %s does not exist or is not readable', 'Folder path to add to archive', 'backwpup' ), $folder_name ), E_USER_WARNING );
|
330 |
+
return FALSE;
|
331 |
+
}
|
332 |
+
|
333 |
+
if ( empty( $name_in_archive ) )
|
334 |
+
return FALSE;
|
335 |
+
|
336 |
+
switch ( $this->get_method() ) {
|
337 |
+
case 'gz':
|
338 |
+
trigger_error( __( 'This archive method can only add one file', 'backwpup' ), E_USER_WARNING );
|
339 |
+
return FALSE;
|
340 |
+
break;
|
341 |
+
case 'bz':
|
342 |
+
trigger_error( __( 'This archive method can only add one file', 'backwpup' ), E_USER_WARNING );
|
343 |
+
return FALSE;
|
344 |
+
break;
|
345 |
+
case 'Tar':
|
346 |
+
case 'TarGz':
|
347 |
+
case 'TarBz2':
|
348 |
+
if ( ! $this->tar_empty_folder( $folder_name, $name_in_archive ) );
|
349 |
+
return FALSE;
|
350 |
+
break;
|
351 |
+
case 'ZipArchive':
|
352 |
+
if ( ! $this->ziparchive->addEmptyDir( $name_in_archive ) ) {
|
353 |
+
trigger_error( sprintf( __( 'Can not add "%s" to zip archive!', 'backwpup' ), $name_in_archive ), E_USER_ERROR );
|
354 |
+
return FALSE;
|
355 |
+
}
|
356 |
+
break;
|
357 |
+
case 'PclZip':
|
358 |
+
return TRUE;
|
359 |
+
break;
|
360 |
+
}
|
361 |
+
|
362 |
+
return TRUE;
|
363 |
+
}
|
364 |
|
365 |
/**
|
366 |
* Output status of ZipArchive
|
367 |
+
*
|
368 |
+
* @param $code int ZipArchive Error code
|
369 |
+
* @return bool
|
370 |
*/
|
371 |
+
private function ziparchive_status( $code ) {
|
372 |
+
|
373 |
+
if ( $code == 0 )
|
374 |
+
return TRUE;
|
375 |
+
|
376 |
+
//define error messages
|
377 |
+
$zip_errors[ ZipArchive::ER_MULTIDISK ] = __( '(ER_MULTIDISK) Multi-disk zip archives not supported', 'backwpup' );
|
378 |
+
$zip_errors[ ZipArchive::ER_RENAME ] = __( '(ER_RENAME) Renaming temporary file failed', 'backwpup' );
|
379 |
+
$zip_errors[ ZipArchive::ER_CLOSE ] = __( '(ER_CLOSE) Closing zip archive failed', 'backwpup' );
|
380 |
+
$zip_errors[ ZipArchive::ER_SEEK ] = __( '(ER_SEEK) Seek error', 'backwpup' );
|
381 |
+
$zip_errors[ ZipArchive::ER_READ ] = __( '(ER_READ) Read error', 'backwpup' );
|
382 |
+
$zip_errors[ ZipArchive::ER_WRITE ] = __( '(ER_WRITE) Write error', 'backwpup' );
|
383 |
+
$zip_errors[ ZipArchive::ER_CRC ] = __( '(ER_CRC) CRC error', 'backwpup' );
|
384 |
+
$zip_errors[ ZipArchive::ER_ZIPCLOSED ] = __( '(ER_ZIPCLOSED) Containing zip archive was closed', 'backwpup' );
|
385 |
+
$zip_errors[ ZipArchive::ER_NOENT ] = __( '(ER_NOENT) No such file', 'backwpup' );
|
386 |
+
$zip_errors[ ZipArchive::ER_EXISTS ] = __( '(ER_EXISTS) File already exists', 'backwpup' );
|
387 |
+
$zip_errors[ ZipArchive::ER_OPEN ] = __( '(ER_OPEN) Can\'t open file', 'backwpup' );
|
388 |
+
$zip_errors[ ZipArchive::ER_TMPOPEN ] = __( '(ER_TMPOPEN) Failure to create temporary file', 'backwpup' );
|
389 |
+
$zip_errors[ ZipArchive::ER_ZLIB ] = __( '(ER_ZLIB) Zlib error', 'backwpup' );
|
390 |
+
$zip_errors[ ZipArchive::ER_MEMORY ] = __( '(ER_MEMORY) Malloc failure', 'backwpup' );
|
391 |
+
$zip_errors[ ZipArchive::ER_MULTIDISK ] = __( '(ER_CHANGED) Entry has been changed', 'backwpup' );
|
392 |
+
$zip_errors[ ZipArchive::ER_CHANGED ] = __( '(ER_COMPNOTSUPP) Compression method not supported', 'backwpup' );
|
393 |
+
$zip_errors[ ZipArchive::ER_EOF ] = __( '(ER_EOF) Premature EOF', 'backwpup' );
|
394 |
+
$zip_errors[ ZipArchive::ER_INVAL ] = __( '(ER_INVAL) Invalid argument', 'backwpup' );
|
395 |
+
$zip_errors[ ZipArchive::ER_NOZIP ] = __( '(ER_NOZIP) Not a zip archive', 'backwpup' );
|
396 |
+
$zip_errors[ ZipArchive::ER_INTERNAL ] = __( '(ER_INTERNAL) Internal error', 'backwpup' );
|
397 |
+
$zip_errors[ ZipArchive::ER_INCONS ] = __( '(ER_INCONS) Zip archive inconsistent', 'backwpup' );
|
398 |
+
$zip_errors[ ZipArchive::ER_REMOVE ] = __( '(ER_REMOVE) Can\'t remove file', 'backwpup' );
|
399 |
+
$zip_errors[ ZipArchive::ER_DELETED ] = __( '(ER_DELETED) Entry has been deleted', 'backwpup' );
|
400 |
+
|
401 |
+
//ste error massage
|
402 |
+
$zip_error = $code;
|
403 |
+
if ( isset( $zip_errors[ $zip_error ] ) )
|
404 |
+
$zip_error = $zip_errors[ $zip_error ];
|
405 |
+
|
406 |
+
trigger_error( sprintf( _x( 'ZipArchive returns status: %s','Text of ZipArchive status Massage', 'backwpup' ), $zip_error ), E_USER_ERROR );
|
407 |
+
return FALSE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
408 |
}
|
409 |
|
410 |
/**
|
471 |
$checksum = pack( "a8", sprintf( "%07o", $checksum ) );
|
472 |
$header = substr_replace( $header, $checksum, 148, 8 );
|
473 |
//write header
|
474 |
+
fwrite( $this->filehandel, $header );
|
|
|
|
|
|
|
|
|
|
|
475 |
|
476 |
// read/write files in 512K Blocks
|
477 |
while ( ! feof( $fd ) ) {
|
478 |
$file_data = fread( $fd, 512 );
|
479 |
if ( strlen( $file_data ) > 0 ) {
|
480 |
+
fwrite( $this->filehandel, pack( "a512", $file_data ) );
|
|
|
|
|
|
|
|
|
|
|
481 |
}
|
482 |
}
|
483 |
fclose( $fd );
|
484 |
|
485 |
return TRUE;
|
486 |
}
|
487 |
+
|
488 |
+
|
489 |
+
/**
|
490 |
+
* Tar a empty Folder to archive
|
491 |
+
*/
|
492 |
+
private function tar_empty_folder( $folder_name, $name_in_archive ) {
|
493 |
+
|
494 |
+
$name_in_archive = trailingslashit( $name_in_archive );
|
495 |
+
|
496 |
+
//split filename larger than 100 chars
|
497 |
+
if ( strlen( $name_in_archive ) <= 100 ) {
|
498 |
+
$tar_filename = $name_in_archive;
|
499 |
+
$tar_filename_prefix = "";
|
500 |
+
}
|
501 |
+
else {
|
502 |
+
$filename_offset = strlen( $name_in_archive ) - 100;
|
503 |
+
$split_pos = strpos( $name_in_archive, '/', $filename_offset );
|
504 |
+
$tar_filename = substr( $name_in_archive, $split_pos + 1 );
|
505 |
+
$tar_filename_prefix = substr( $name_in_archive, 0, $split_pos );
|
506 |
+
if ( strlen( $tar_filename ) > 100 )
|
507 |
+
trigger_error( sprintf( __( 'Folder name "%1$s" too long to be saved correctly in %2$s archive!', 'backwpup' ), $name_in_archive, $this->get_method() ), E_USER_WARNING );
|
508 |
+
if ( strlen( $tar_filename_prefix ) > 155 )
|
509 |
+
trigger_error( sprintf( __( 'Folder path "%1$s" too long to be saved correctly in %2$s archive!', 'backwpup' ), $name_in_archive, $this->get_method() ), E_USER_WARNING );
|
510 |
+
}
|
511 |
+
//get file stat
|
512 |
+
$file_stat = @stat( $folder_name );
|
513 |
+
//Set file user/group name if linux
|
514 |
+
$fileowner = __( "Unknown", "backwpup" );
|
515 |
+
$filegroup = __( "Unknown", "backwpup" );
|
516 |
+
if ( function_exists( 'posix_getpwuid' ) ) {
|
517 |
+
$info = posix_getpwuid( $file_stat[ 'uid' ] );
|
518 |
+
$fileowner = $info[ 'name' ];
|
519 |
+
$info = posix_getgrgid( $file_stat[ 'gid' ] );
|
520 |
+
$filegroup = $info[ 'name' ];
|
521 |
+
}
|
522 |
+
// Generate the TAR header for this file
|
523 |
+
$header = pack( "a100a8a8a8a12a12a8a1a100a6a2a32a32a8a8a155a12",
|
524 |
+
$tar_filename, //name of file 100
|
525 |
+
sprintf( "%07o", $file_stat[ 'mode' ] ), //file mode 8
|
526 |
+
sprintf( "%07o", $file_stat[ 'uid' ] ), //owner user ID 8
|
527 |
+
sprintf( "%07o", $file_stat[ 'gid' ] ), //owner group ID 8
|
528 |
+
sprintf( "%011o", 0 ), //length of file in bytes 12
|
529 |
+
sprintf( "%011o", $file_stat[ 'mtime' ] ), //modify time of file 12
|
530 |
+
" ", //checksum for header 8
|
531 |
+
5, //type of file 0 or null = File, 5=Dir
|
532 |
+
"", //name of linked file 100
|
533 |
+
"ustar", //USTAR indicator 6
|
534 |
+
"00", //USTAR version 2
|
535 |
+
$fileowner, //owner user name 32
|
536 |
+
$filegroup, //owner group name 32
|
537 |
+
"", //device major number 8
|
538 |
+
"", //device minor number 8
|
539 |
+
$tar_filename_prefix, //prefix for file name 155
|
540 |
+
"" ); //fill block 12
|
541 |
+
|
542 |
+
// Computes the unsigned Checksum of a file's header
|
543 |
+
$checksum = 0;
|
544 |
+
for ( $i = 0; $i < 512; $i ++ )
|
545 |
+
$checksum += ord( substr( $header, $i, 1 ) );
|
546 |
+
|
547 |
+
$checksum = pack( "a8", sprintf( "%07o", $checksum ) );
|
548 |
+
$header = substr_replace( $header, $checksum, 148, 8 );
|
549 |
+
//write header
|
550 |
+
fwrite( $this->filehandel, $header );
|
551 |
+
|
552 |
+
return TRUE;
|
553 |
+
}
|
554 |
}
|
555 |
|
556 |
/**
|
inc/class-destination-folder.php
CHANGED
@@ -110,8 +110,6 @@ class BackWPup_Destination_Folder extends BackWPup_Destinations {
|
|
110 |
public function file_download( $jobid, $get_file ) {
|
111 |
|
112 |
if ( is_file( $get_file ) ) {
|
113 |
-
@apache_setenv( 'no-gzip', 1 );
|
114 |
-
@ini_set( 'zlib.output_compression', 0 );
|
115 |
header( "Pragma: public" );
|
116 |
header( "Expires: 0" );
|
117 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
|
110 |
public function file_download( $jobid, $get_file ) {
|
111 |
|
112 |
if ( is_file( $get_file ) ) {
|
|
|
|
|
113 |
header( "Pragma: public" );
|
114 |
header( "Expires: 0" );
|
115 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
|
inc/class-destination-msazure.php
CHANGED
@@ -186,8 +186,6 @@ class BackWPup_Destination_MSAzure extends BackWPup_Destinations {
|
|
186 |
try {
|
187 |
$blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . BackWPup_Option::get( $jobid, 'msazureaccname' ) . ';AccountKey=' . BackWPup_Encryption::decrypt( BackWPup_Option::get( $jobid, 'msazurekey' ) ) );
|
188 |
$blob = $blobRestProxy->getBlob( BackWPup_Option::get( $jobid, 'msazurecontainer' ), $get_file );
|
189 |
-
@apache_setenv( 'no-gzip', 1 );
|
190 |
-
@ini_set( 'zlib.output_compression', 0 );
|
191 |
header( "Pragma: public" );
|
192 |
header( "Expires: 0" );
|
193 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
|
186 |
try {
|
187 |
$blobRestProxy = WindowsAzure\Common\ServicesBuilder::getInstance()->createBlobService( 'DefaultEndpointsProtocol=https;AccountName=' . BackWPup_Option::get( $jobid, 'msazureaccname' ) . ';AccountKey=' . BackWPup_Encryption::decrypt( BackWPup_Option::get( $jobid, 'msazurekey' ) ) );
|
188 |
$blob = $blobRestProxy->getBlob( BackWPup_Option::get( $jobid, 'msazurecontainer' ), $get_file );
|
|
|
|
|
189 |
header( "Pragma: public" );
|
190 |
header( "Expires: 0" );
|
191 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
|
inc/class-destination-rsc.php
CHANGED
@@ -214,8 +214,6 @@ class BackWPup_Destination_RSC extends BackWPup_Destinations {
|
|
214 |
$ostore = $conn->ObjectStore( 'cloudFiles' , BackWPup_Option::get( $jobid, 'rscregion' ), 'publicURL');
|
215 |
$container = $ostore->Container( BackWPup_Option::get( $jobid, 'rsccontainer' ) );
|
216 |
$backupfile = $container->DataObject( $get_file );
|
217 |
-
@apache_setenv( 'no-gzip', 1 );
|
218 |
-
@ini_set( 'zlib.output_compression', 0 );
|
219 |
header( "Pragma: public" );
|
220 |
header( "Expires: 0" );
|
221 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
|
214 |
$ostore = $conn->ObjectStore( 'cloudFiles' , BackWPup_Option::get( $jobid, 'rscregion' ), 'publicURL');
|
215 |
$container = $ostore->Container( BackWPup_Option::get( $jobid, 'rsccontainer' ) );
|
216 |
$backupfile = $container->DataObject( $get_file );
|
|
|
|
|
217 |
header( "Pragma: public" );
|
218 |
header( "Expires: 0" );
|
219 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
|
inc/class-destination-s3.php
CHANGED
@@ -344,8 +344,6 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
344 |
}
|
345 |
|
346 |
if ( $s3file[ 'ContentLength' ] > 0 && ! empty( $s3file[ 'ContentType' ] ) ) {
|
347 |
-
@apache_setenv( 'no-gzip', 1 );
|
348 |
-
@ini_set( 'zlib.output_compression', 0 );
|
349 |
header( "Pragma: public" );
|
350 |
header( "Expires: 0" );
|
351 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );;
|
@@ -379,7 +377,7 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
379 |
|
380 |
$job_object->substeps_todo = 2 + $job_object->backup_filesize;
|
381 |
$job_object->log( sprintf( __( '%d. Trying to send backup file to S3 Service …', 'backwpup' ), $job_object->steps_data[ $job_object->step_working ][ 'STEP_TRY' ] ), E_USER_NOTICE );
|
382 |
-
|
383 |
try {
|
384 |
$s3 = Aws\S3\S3Client::factory( array( 'key' => $job_object->job[ 's3accesskey' ],
|
385 |
'secret' => BackWPup_Encryption::decrypt( $job_object->job[ 's3secretkey' ] ),
|
@@ -482,11 +480,11 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
482 |
try {
|
483 |
$backupfilelist = array();
|
484 |
$filecounter = 0;
|
485 |
-
$files = array();
|
486 |
$args = array(
|
487 |
'Bucket' => $job_object->job[ 's3bucket' ],
|
488 |
-
'Prefix' =>
|
489 |
-
);
|
490 |
$objects = $s3->getIterator('ListObjects', $args );
|
491 |
if ( is_object( $objects ) ) {
|
492 |
foreach ( $objects as $object ) {
|
344 |
}
|
345 |
|
346 |
if ( $s3file[ 'ContentLength' ] > 0 && ! empty( $s3file[ 'ContentType' ] ) ) {
|
|
|
|
|
347 |
header( "Pragma: public" );
|
348 |
header( "Expires: 0" );
|
349 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );;
|
377 |
|
378 |
$job_object->substeps_todo = 2 + $job_object->backup_filesize;
|
379 |
$job_object->log( sprintf( __( '%d. Trying to send backup file to S3 Service …', 'backwpup' ), $job_object->steps_data[ $job_object->step_working ][ 'STEP_TRY' ] ), E_USER_NOTICE );
|
380 |
+
|
381 |
try {
|
382 |
$s3 = Aws\S3\S3Client::factory( array( 'key' => $job_object->job[ 's3accesskey' ],
|
383 |
'secret' => BackWPup_Encryption::decrypt( $job_object->job[ 's3secretkey' ] ),
|
480 |
try {
|
481 |
$backupfilelist = array();
|
482 |
$filecounter = 0;
|
483 |
+
$files = array();
|
484 |
$args = array(
|
485 |
'Bucket' => $job_object->job[ 's3bucket' ],
|
486 |
+
'Prefix' => (string) $job_object->job[ 's3dir' ]
|
487 |
+
);
|
488 |
$objects = $s3->getIterator('ListObjects', $args );
|
489 |
if ( is_object( $objects ) ) {
|
490 |
foreach ( $objects as $object ) {
|
inc/class-destination-sugarsync.php
CHANGED
@@ -208,8 +208,6 @@ class BackWPup_Destination_SugarSync extends BackWPup_Destinations {
|
|
208 |
try {
|
209 |
$sugarsync = new BackWPup_Destination_SugarSync_API( BackWPup_Option::get( $jobid, 'sugarrefreshtoken' ) );
|
210 |
$response = $sugarsync->get( urldecode( $get_file ) );
|
211 |
-
@apache_setenv( 'no-gzip', 1 );
|
212 |
-
@ini_set( 'zlib.output_compression', 0 );
|
213 |
header( "Pragma: public" );
|
214 |
header( "Expires: 0" );
|
215 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
|
208 |
try {
|
209 |
$sugarsync = new BackWPup_Destination_SugarSync_API( BackWPup_Option::get( $jobid, 'sugarrefreshtoken' ) );
|
210 |
$response = $sugarsync->get( urldecode( $get_file ) );
|
|
|
|
|
211 |
header( "Pragma: public" );
|
212 |
header( "Expires: 0" );
|
213 |
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
|
inc/class-job.php
CHANGED
@@ -452,6 +452,11 @@ final class BackWPup_Job {
|
|
452 |
trigger_error( __( 'Temp folder does not exist or is not writable for BackWPup', 'backwpup' ), E_USER_ERROR );
|
453 |
wp_die( __( 'Temp folder does not exist or is not writable for BackWPup', 'backwpup' ), __( 'Temp folder does not exist or is not writable for BackWPup', 'backwpup' ), array( 'response' => 500 ) );
|
454 |
}
|
|
|
|
|
|
|
|
|
|
|
455 |
//check running job
|
456 |
$backwpup_job_object = self::get_working_data();
|
457 |
if ( $starttype == 'restart' && ! $backwpup_job_object ) {
|
@@ -622,8 +627,16 @@ final class BackWPup_Job {
|
|
622 |
@ini_set( 'display_errors', 'Off' );
|
623 |
@ini_set( 'log_errors', 'On' );
|
624 |
//set temp folder
|
625 |
-
$
|
626 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
627 |
//increase MySQL timeout
|
628 |
@ini_set( 'mysql.connect_timeout', '60' );
|
629 |
$wpdb->query( "SET session wait_timeout = 60" );
|
@@ -1559,9 +1572,6 @@ final class BackWPup_Job {
|
|
1559 |
* @return array files to backup
|
1560 |
*/
|
1561 |
public function get_files_in_folder( $folder ) {
|
1562 |
-
|
1563 |
-
//clear cache of files in php
|
1564 |
-
clearstatcache();
|
1565 |
|
1566 |
$files = array();
|
1567 |
|
@@ -1585,7 +1595,7 @@ final class BackWPup_Job {
|
|
1585 |
}
|
1586 |
if ( $this->job[ 'backupexcludethumbs' ] && strpos( $folder, BackWPup_File::get_upload_dir() ) !== FALSE && preg_match( "/\-[0-9]{2,4}x[0-9]{2,4}\.(jpg|png|gif)$/i", $file ) )
|
1587 |
continue;
|
1588 |
-
if ( ! is_readable( $folder . $file ) )
|
1589 |
$this->log( sprintf( __( 'File "%s" is not readable!', 'backwpup' ), $folder . $file ), E_USER_WARNING );
|
1590 |
elseif ( is_link( $folder . $file ) )
|
1591 |
$this->log( sprintf( __( 'Link "%s" not followed.', 'backwpup' ), $folder . $file ), E_USER_WARNING );
|
@@ -1615,9 +1625,8 @@ final class BackWPup_Job {
|
|
1615 |
try {
|
1616 |
$backup_archive = new BackWPup_Create_Archive( $this->backup_folder . $this->backup_file );
|
1617 |
|
1618 |
-
//
|
1619 |
-
|
1620 |
-
$this->log( sprintf( _x( 'Compression method is %s', 'Archive compression method', 'backwpup'), $backup_archive->get_method() ) );
|
1621 |
|
1622 |
//add extra files
|
1623 |
if ( $this->substeps_done == 0 ) {
|
@@ -1634,6 +1643,7 @@ final class BackWPup_Job {
|
|
1634 |
//add normal files
|
1635 |
for ( $i = $this->substeps_done - 1; $i < $this->substeps_todo - 1; $i ++ ) {
|
1636 |
$files = $this->get_files_in_folder( $folders_to_backup[ $i ] );
|
|
|
1637 |
if ( count( $files ) > 0 ) {
|
1638 |
foreach ( $files as $file ) {
|
1639 |
$in_archive_filename = ltrim( str_replace( $this->remove_path, '', $file ), '/' );
|
452 |
trigger_error( __( 'Temp folder does not exist or is not writable for BackWPup', 'backwpup' ), E_USER_ERROR );
|
453 |
wp_die( __( 'Temp folder does not exist or is not writable for BackWPup', 'backwpup' ), __( 'Temp folder does not exist or is not writable for BackWPup', 'backwpup' ), array( 'response' => 500 ) );
|
454 |
}
|
455 |
+
$backups_folder = BackWPup_Option::get( $jobid, 'backupdir' );
|
456 |
+
if ( ! empty( $backups_folder ) && ! self::check_folder( $backups_folder ) ) {
|
457 |
+
trigger_error( __( 'Backups folder does not exist or is not writable for BackWPup', 'backwpup' ), E_USER_ERROR );
|
458 |
+
wp_die( __( 'Backups folder does not exist or is not writable for BackWPup', 'backwpup' ), __( 'Backups folder does not exist or is not writable for BackWPup', 'backwpup' ), array( 'response' => 500 ) );
|
459 |
+
}
|
460 |
//check running job
|
461 |
$backwpup_job_object = self::get_working_data();
|
462 |
if ( $starttype == 'restart' && ! $backwpup_job_object ) {
|
627 |
@ini_set( 'display_errors', 'Off' );
|
628 |
@ini_set( 'log_errors', 'On' );
|
629 |
//set temp folder
|
630 |
+
$can_set_temp_env = TRUE;
|
631 |
+
$protected_env_vars = explode( ',', ini_get( 'safe_mode_protected_env_vars') );
|
632 |
+
foreach( $protected_env_vars as $protected_env ) {
|
633 |
+
if ( strtoupper( trim( $protected_env ) ) == 'TMPDIR' )
|
634 |
+
$can_set_temp_env = FALSE;
|
635 |
+
}
|
636 |
+
if ( $can_set_temp_env ) {
|
637 |
+
$this->temp[ 'PHP' ][ 'ENV' ][ 'TEMPDIR' ] = getenv( 'TMPDIR' );
|
638 |
+
@putenv( 'TMPDIR='.BackWPup::get_plugin_data( 'TEMP') );
|
639 |
+
}
|
640 |
//increase MySQL timeout
|
641 |
@ini_set( 'mysql.connect_timeout', '60' );
|
642 |
$wpdb->query( "SET session wait_timeout = 60" );
|
1572 |
* @return array files to backup
|
1573 |
*/
|
1574 |
public function get_files_in_folder( $folder ) {
|
|
|
|
|
|
|
1575 |
|
1576 |
$files = array();
|
1577 |
|
1595 |
}
|
1596 |
if ( $this->job[ 'backupexcludethumbs' ] && strpos( $folder, BackWPup_File::get_upload_dir() ) !== FALSE && preg_match( "/\-[0-9]{2,4}x[0-9]{2,4}\.(jpg|png|gif)$/i", $file ) )
|
1597 |
continue;
|
1598 |
+
if ( ! is_dir( $folder . $file ) && ! is_readable( $folder . $file ) )
|
1599 |
$this->log( sprintf( __( 'File "%s" is not readable!', 'backwpup' ), $folder . $file ), E_USER_WARNING );
|
1600 |
elseif ( is_link( $folder . $file ) )
|
1601 |
$this->log( sprintf( __( 'Link "%s" not followed.', 'backwpup' ), $folder . $file ), E_USER_WARNING );
|
1625 |
try {
|
1626 |
$backup_archive = new BackWPup_Create_Archive( $this->backup_folder . $this->backup_file );
|
1627 |
|
1628 |
+
//show method for creation
|
1629 |
+
$this->log( sprintf( _x( 'Compression method is %s', 'Archive compression method', 'backwpup'), $backup_archive->get_method() ) );
|
|
|
1630 |
|
1631 |
//add extra files
|
1632 |
if ( $this->substeps_done == 0 ) {
|
1643 |
//add normal files
|
1644 |
for ( $i = $this->substeps_done - 1; $i < $this->substeps_todo - 1; $i ++ ) {
|
1645 |
$files = $this->get_files_in_folder( $folders_to_backup[ $i ] );
|
1646 |
+
$backup_archive->add_empty_folder( $folders_to_backup[ $i ], ltrim( str_replace( $this->remove_path, '', $folders_to_backup[ $i ] ), '/' ) );
|
1647 |
if ( count( $files ) > 0 ) {
|
1648 |
foreach ( $files as $file ) {
|
1649 |
$in_archive_filename = ltrim( str_replace( $this->remove_path, '', $file ), '/' );
|
inc/class-jobtype-file.php
CHANGED
@@ -398,11 +398,13 @@ class BackWPup_JobType_File extends BackWPup_JobTypes {
|
|
398 |
$job_object->count_filesize = $job_object->count_filesize + @filesize( ABSPATH . 'wp-config.php' );
|
399 |
trigger_error( sprintf( __( 'Added "%s" to backup file list', 'backwpup' ), 'wp-config.php' ), E_USER_NOTICE );
|
400 |
}
|
401 |
-
elseif (
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
|
|
|
|
406 |
}
|
407 |
if ( is_file( ABSPATH . '.htaccess' ) && empty( $job_object->job[ 'backuproot' ] ) ) {
|
408 |
$job_object->additional_files_to_backup[ ] = str_replace( '\\', '/', ABSPATH . '.htaccess' );
|
@@ -431,7 +433,7 @@ class BackWPup_JobType_File extends BackWPup_JobTypes {
|
|
431 |
}
|
432 |
|
433 |
if ( empty( $job_object->count_folder ) )
|
434 |
-
trigger_error( __( 'No folder to back up.', 'backwpup' ),
|
435 |
else
|
436 |
trigger_error( sprintf( __( '%1$d folders to back up.', 'backwpup' ), $job_object->count_folder ), E_USER_NOTICE );
|
437 |
|
@@ -469,12 +471,12 @@ class BackWPup_JobType_File extends BackWPup_JobTypes {
|
|
469 |
continue 2;
|
470 |
}
|
471 |
if ( is_dir( $folder . $file ) ) {
|
|
|
|
|
472 |
if ( ! is_readable( $folder . $file ) ) {
|
473 |
trigger_error( sprintf( __( 'Folder "%s" is not readable!', 'backwpup' ), $folder . $file ), E_USER_WARNING );
|
474 |
continue;
|
475 |
}
|
476 |
-
if ( in_array( trailingslashit( $folder . $file ), $excludedirs ) )
|
477 |
-
continue;
|
478 |
$this->get_folder_list( $job_object, trailingslashit( $folder . $file ), $excludedirs );
|
479 |
}
|
480 |
}
|
398 |
$job_object->count_filesize = $job_object->count_filesize + @filesize( ABSPATH . 'wp-config.php' );
|
399 |
trigger_error( sprintf( __( 'Added "%s" to backup file list', 'backwpup' ), 'wp-config.php' ), E_USER_NOTICE );
|
400 |
}
|
401 |
+
elseif ( BackWPup_File::is_in_open_basedir( dirname( ABSPATH ) . '/wp-config.php' ) ) {
|
402 |
+
if ( is_file( dirname( ABSPATH ) . '/wp-config.php' ) && ! is_file( dirname( ABSPATH ) . '/wp-settings.php' ) ) {
|
403 |
+
$job_object->additional_files_to_backup[ ] = str_replace( '\\', '/', dirname( ABSPATH ) . '/wp-config.php' );
|
404 |
+
$job_object->count_files ++;
|
405 |
+
$job_object->count_filesize = $job_object->count_filesize + @filesize( dirname( ABSPATH ) . '/wp-config.php' );
|
406 |
+
trigger_error( sprintf( __( 'Added "%s" to backup file list', 'backwpup' ), 'wp-config.php' ), E_USER_NOTICE );
|
407 |
+
}
|
408 |
}
|
409 |
if ( is_file( ABSPATH . '.htaccess' ) && empty( $job_object->job[ 'backuproot' ] ) ) {
|
410 |
$job_object->additional_files_to_backup[ ] = str_replace( '\\', '/', ABSPATH . '.htaccess' );
|
433 |
}
|
434 |
|
435 |
if ( empty( $job_object->count_folder ) )
|
436 |
+
trigger_error( __( 'No folder to back up.', 'backwpup' ), E_USER_WARNING );
|
437 |
else
|
438 |
trigger_error( sprintf( __( '%1$d folders to back up.', 'backwpup' ), $job_object->count_folder ), E_USER_NOTICE );
|
439 |
|
471 |
continue 2;
|
472 |
}
|
473 |
if ( is_dir( $folder . $file ) ) {
|
474 |
+
if ( in_array( trailingslashit( $folder . $file ), $excludedirs ) )
|
475 |
+
continue;
|
476 |
if ( ! is_readable( $folder . $file ) ) {
|
477 |
trigger_error( sprintf( __( 'Folder "%s" is not readable!', 'backwpup' ), $folder . $file ), E_USER_WARNING );
|
478 |
continue;
|
479 |
}
|
|
|
|
|
480 |
$this->get_folder_list( $job_object, trailingslashit( $folder . $file ), $excludedirs );
|
481 |
}
|
482 |
}
|
inc/class-mysqldump.php
CHANGED
@@ -89,7 +89,7 @@ class BackWPup_MySQLDump {
|
|
89 |
throw new BackWPup_MySQLDump_Exception( sprintf( __( 'Can not connect to MySQL Database %1$d: %2$s', 'backwpup' ), $this->mysqli->connect_errno, $this->mysqli->connect_error ) );
|
90 |
|
91 |
//set charset
|
92 |
-
if ( ! empty( $args[ 'dbcharset' ] ) ) {
|
93 |
$res = $this->mysqli->set_charset( $args[ 'dbcharset' ] );
|
94 |
if ( ! $res )
|
95 |
throw new BackWPup_MySQLDump_Exception( sprintf( _x( 'Can not set DB charset to %s','Database Charset', 'backwpup' ), $args[ 'dbcharset' ] ) );
|
89 |
throw new BackWPup_MySQLDump_Exception( sprintf( __( 'Can not connect to MySQL Database %1$d: %2$s', 'backwpup' ), $this->mysqli->connect_errno, $this->mysqli->connect_error ) );
|
90 |
|
91 |
//set charset
|
92 |
+
if ( ! empty( $args[ 'dbcharset' ] ) && method_exists($this->mysqli, 'set_charset' ) ) {
|
93 |
$res = $this->mysqli->set_charset( $args[ 'dbcharset' ] );
|
94 |
if ( ! $res )
|
95 |
throw new BackWPup_MySQLDump_Exception( sprintf( _x( 'Can not set DB charset to %s','Database Charset', 'backwpup' ), $args[ 'dbcharset' ] ) );
|
inc/class-page-backwpup.php
CHANGED
@@ -199,7 +199,7 @@ class BackWPup_Page_BackWPup {
|
|
199 |
$alternate = FALSE;
|
200 |
}
|
201 |
echo '<td>' . date_i18n( get_option( 'date_format' ) , $logdata[ 'logtime' ] ). '<br />' . date_i18n( get_option( 'time_format' ), $logdata[ 'logtime' ] ) . '</td>';
|
202 |
-
echo '<td><a class="
|
203 |
echo '<td>';
|
204 |
if ( $logdata[ 'errors' ] > 0 )
|
205 |
printf( '<span style="color:red;font-weight:bold;">' . _n( "%d ERROR", "%d ERRORS", $logdata[ 'errors' ], 'backwpup' ) . '</span><br />', $logdata[ 'errors' ] );
|
199 |
$alternate = FALSE;
|
200 |
}
|
201 |
echo '<td>' . date_i18n( get_option( 'date_format' ) , $logdata[ 'logtime' ] ). '<br />' . date_i18n( get_option( 'time_format' ), $logdata[ 'logtime' ] ) . '</td>';
|
202 |
+
echo '<td><a class="thickbox" href="' . admin_url( 'admin-ajax.php' ) . '?&action=backwpup_view_log&logfile=' . basename( $logfile ) .'&_ajax_nonce=' . wp_create_nonce( 'view-logs' ) . '&height=440&width=630&TB_iframe=true" title="' . esc_attr( basename( $logfile ) ) . '">' . $logdata[ 'name' ] . '</i></a></td>';
|
203 |
echo '<td>';
|
204 |
if ( $logdata[ 'errors' ] > 0 )
|
205 |
printf( '<span style="color:red;font-weight:bold;">' . _n( "%d ERROR", "%d ERRORS", $logdata[ 'errors' ], 'backwpup' ) . '</span><br />', $logdata[ 'errors' ] );
|
inc/class-page-jobs.php
CHANGED
@@ -224,7 +224,7 @@ class BackWPup_Page_Jobs extends WP_List_Table {
|
|
224 |
$logfile = basename( BackWPup_Option::get( $jobid, 'logfile' ) );
|
225 |
if ( is_object( $job_object ) && $job_object->job[ 'jobid'] == $jobid )
|
226 |
$logfile = basename( $job_object->logfile );
|
227 |
-
$r .= '<a class="
|
228 |
|
229 |
}
|
230 |
$r .= "</td>";
|
@@ -314,20 +314,56 @@ class BackWPup_Page_Jobs extends WP_List_Table {
|
|
314 |
if ( ! current_user_can( 'backwpup_jobs_start' ) )
|
315 |
wp_die( __( 'Not allowed!', 'backwpup') );
|
316 |
check_admin_referer( 'backwup_job_run-runnowlink' );
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
}
|
330 |
-
self::$logfile = BackWPup_Option::get( $_GET[ 'jobid' ], 'logfile', NULL, FALSE );
|
331 |
}
|
332 |
break;
|
333 |
case 'abort': //Abort Job
|
@@ -432,7 +468,7 @@ class BackWPup_Page_Jobs extends WP_List_Table {
|
|
432 |
echo '<h2 id="runningtitle">' . sprintf( __('Job currently working: %s','backwpup'), $job_object->job[ 'name' ] ) . '</h2>';
|
433 |
echo '<span id="warningsid">' . __( 'Warnings:', 'backwpup' ) . ' <span id="warnings">' . $job_object->warnings . '</span></span>';
|
434 |
echo '<span id="errorid">' . __( 'Errors:', 'backwpup' ) . ' <span id="errors">' . $job_object->errors . '</span></span>';
|
435 |
-
echo '<div class="infobuttons"><a href="#showworking" id="showworkingbutton" class="backwpup
|
436 |
echo '<a href="' . wp_nonce_url( network_admin_url( 'admin.php' ) . '?page=backwpupjobs&action=abort', 'abort-job' ) . '" id="abortbutton" class="backwpup-fancybox">' . __( 'Abort', 'backwpup' ) . '</a>';
|
437 |
echo '<a href="#" id="showworkingclose" title="' . __( 'Close working screen', 'backwpup') .'" style="display:none" >' . __( 'close', 'backwpup' ) . '</a></div>';
|
438 |
echo '</div>';
|
@@ -442,9 +478,9 @@ class BackWPup_Page_Jobs extends WP_List_Table {
|
|
442 |
echo '<div id="onstep"><samp>' . $job_object->steps_data[ $job_object->step_working ][ 'NAME' ] . '</samp></div>';
|
443 |
echo '<div class="progressbar"><div id="progresssteps" style="width:' . $job_object->substep_percent . '%;">' . $job_object->substep_percent . '%</div></div>';
|
444 |
echo '<div id="lastmsg">' . $job_object->lastmsg . '</div>';
|
445 |
-
echo '<div id="showworking" style="display:none;">';
|
446 |
echo substr( $logfiledata, $startpos, $length );
|
447 |
-
echo '</div>';
|
448 |
echo '</div>';
|
449 |
}
|
450 |
//display jos Table
|
@@ -475,7 +511,8 @@ class BackWPup_Page_Jobs extends WP_List_Table {
|
|
475 |
success:function (rundata) {
|
476 |
$('#logpos').val(rundata.logpos);
|
477 |
if ('' != rundata.logtext) {
|
478 |
-
$('#showworking').append(rundata.logtext)
|
|
|
479 |
}
|
480 |
if (0 < rundata.errors) {
|
481 |
$('#errors').replaceWith('<span id="errors">' + rundata.errors + '</span>');
|
224 |
$logfile = basename( BackWPup_Option::get( $jobid, 'logfile' ) );
|
225 |
if ( is_object( $job_object ) && $job_object->job[ 'jobid'] == $jobid )
|
226 |
$logfile = basename( $job_object->logfile );
|
227 |
+
$r .= '<a class="thickbox" href="' . admin_url( 'admin-ajax.php' ) . '?&action=backwpup_view_log&logfile=' . $logfile .'&_ajax_nonce=' . wp_create_nonce( 'view-logs' ) . '&height=440&width=630&TB_iframe=true" title="' . esc_attr( $logfile ) . '">' . __( 'Log', 'backwpup' ) . '</a>';
|
228 |
|
229 |
}
|
230 |
$r .= "</td>";
|
314 |
if ( ! current_user_can( 'backwpup_jobs_start' ) )
|
315 |
wp_die( __( 'Not allowed!', 'backwpup') );
|
316 |
check_admin_referer( 'backwup_job_run-runnowlink' );
|
317 |
+
|
318 |
+
//check temp folder
|
319 |
+
BackWPup_Job::check_folder( BackWPup::get_plugin_data( 'TEMP' ) );
|
320 |
+
if ( is_dir( BackWPup::get_plugin_data( 'TEMP' ) ) ) {
|
321 |
+
if ( ! is_writable( BackWPup::get_plugin_data( 'TEMP' ) ) || ! is_readable( BackWPup::get_plugin_data( 'TEMP' ) ) ) {
|
322 |
+
BackWPup_Admin::message( sprintf( __( 'Temp folder %s not read or writable. Please set proper write permissions.','backwpup' ), BackWPup::get_plugin_data( 'TEMP' ) ) );
|
323 |
+
}
|
324 |
+
} else {
|
325 |
+
BackWPup_Admin::message( sprintf( __( 'Temp folder %s does not exist and cannot be created. Please create it and set proper write permissions.','backwpup' ), BackWPup::get_plugin_data( 'TEMP' ) ) );
|
326 |
+
}
|
327 |
+
//check log folder
|
328 |
+
BackWPup_Job::check_folder( BackWPup_Option::get( 'cfg', 'logfolder' ) );
|
329 |
+
if ( is_dir( BackWPup_Option::get( 'cfg', 'logfolder' ) ) ) {
|
330 |
+
if ( ! is_writable( BackWPup_Option::get( 'cfg', 'logfolder' ) ) || ! is_readable( BackWPup_Option::get( 'cfg', 'logfolder' ) ) ) {
|
331 |
+
BackWPup_Admin::message( sprintf( __( 'Logs folder %s is not read or writable. Please set proper write permissions.','backwpup' ), BackWPup_Option::get( 'cfg', 'logfolder' ) ) );
|
332 |
+
}
|
333 |
+
} else {
|
334 |
+
BackWPup_Admin::message( sprintf( __( 'Logs folder %s does not exist and cannot be created. Please create it and set proper write permissions.','backwpup' ), BackWPup_Option::get( 'cfg', 'logfolder' ) ) );
|
335 |
+
}
|
336 |
+
//check backups folder
|
337 |
+
$backups_folder = BackWPup_Option::get( $_GET[ 'jobid' ], 'backupdir' );
|
338 |
+
if ( ! empty( $backups_folder ) ) {
|
339 |
+
BackWPup_Job::check_folder( $backups_folder );
|
340 |
+
if ( is_dir( $backups_folder ) ) {
|
341 |
+
if ( ! is_writable( $backups_folder ) || ! is_readable( $backups_folder ) ) {
|
342 |
+
BackWPup_Admin::message( sprintf( __( 'Backups folder %s is not read or writable. Please set proper write permissions.','backwpup' ), $backups_folder ) );
|
343 |
+
}
|
344 |
+
} else {
|
345 |
+
BackWPup_Admin::message( sprintf( __( 'Backups folder %s does not exist and cannot be created. Please create it and set proper write permissions.','backwpup' ), $backups_folder ) );
|
346 |
+
}
|
347 |
+
}
|
348 |
+
|
349 |
+
//only start job if massages empty
|
350 |
+
$log_messages = BackWPup_Admin::get_message();
|
351 |
+
if ( empty ( $log_messages ) ) {
|
352 |
+
$last_log = BackWPup_Option::get( $_GET[ 'jobid' ], 'logfile', NULL, FALSE );
|
353 |
+
BackWPup_Admin::message( sprintf( __( 'Job "%s" started.', 'backwpup' ), esc_attr( BackWPup_Option::get( $_GET[ 'jobid' ], 'name' ) ) ) );
|
354 |
+
BackWPup_Job::get_jobrun_url( 'runnow', $_GET[ 'jobid' ] );
|
355 |
+
//sleep as long as jon not started
|
356 |
+
$i=0;
|
357 |
+
while ( $last_log == BackWPup_Option::get( $_GET[ 'jobid' ], 'logfile', NULL, FALSE ) ) {
|
358 |
+
usleep( 250000 ); //wait a half second for net try
|
359 |
+
clearstatcache();
|
360 |
+
//wait maximal 5 sec.
|
361 |
+
if ( $i >= 20 )
|
362 |
+
break;
|
363 |
+
$i++;
|
364 |
+
}
|
365 |
+
self::$logfile = BackWPup_Option::get( $_GET[ 'jobid' ], 'logfile', NULL, FALSE );
|
366 |
}
|
|
|
367 |
}
|
368 |
break;
|
369 |
case 'abort': //Abort Job
|
468 |
echo '<h2 id="runningtitle">' . sprintf( __('Job currently working: %s','backwpup'), $job_object->job[ 'name' ] ) . '</h2>';
|
469 |
echo '<span id="warningsid">' . __( 'Warnings:', 'backwpup' ) . ' <span id="warnings">' . $job_object->warnings . '</span></span>';
|
470 |
echo '<span id="errorid">' . __( 'Errors:', 'backwpup' ) . ' <span id="errors">' . $job_object->errors . '</span></span>';
|
471 |
+
echo '<div class="infobuttons"><a href="#TB_inline?height=440&width=630&inlineId=tb-showworking" id="showworkingbutton" class="thickbox" title="' . __( 'Working job log', 'backwpup') . '">' . __( 'Display working log', 'backwpup' ) . '</a>';
|
472 |
echo '<a href="' . wp_nonce_url( network_admin_url( 'admin.php' ) . '?page=backwpupjobs&action=abort', 'abort-job' ) . '" id="abortbutton" class="backwpup-fancybox">' . __( 'Abort', 'backwpup' ) . '</a>';
|
473 |
echo '<a href="#" id="showworkingclose" title="' . __( 'Close working screen', 'backwpup') .'" style="display:none" >' . __( 'close', 'backwpup' ) . '</a></div>';
|
474 |
echo '</div>';
|
478 |
echo '<div id="onstep"><samp>' . $job_object->steps_data[ $job_object->step_working ][ 'NAME' ] . '</samp></div>';
|
479 |
echo '<div class="progressbar"><div id="progresssteps" style="width:' . $job_object->substep_percent . '%;">' . $job_object->substep_percent . '%</div></div>';
|
480 |
echo '<div id="lastmsg">' . $job_object->lastmsg . '</div>';
|
481 |
+
echo '<div id="tb-showworking" style="display:none;"><div id="showworking">';
|
482 |
echo substr( $logfiledata, $startpos, $length );
|
483 |
+
echo '</div></div>';
|
484 |
echo '</div>';
|
485 |
}
|
486 |
//display jos Table
|
511 |
success:function (rundata) {
|
512 |
$('#logpos').val(rundata.logpos);
|
513 |
if ('' != rundata.logtext) {
|
514 |
+
$('#showworking').append(rundata.logtext);
|
515 |
+
$('#TB_ajaxContent').scrollTop(rundata.logpos * 15);
|
516 |
}
|
517 |
if (0 < rundata.errors) {
|
518 |
$('#errors').replaceWith('<span id="errors">' + rundata.errors + '</span>');
|
inc/class-page-logs.php
CHANGED
@@ -178,9 +178,9 @@ class BackWPup_Page_Logs extends WP_List_Table {
|
|
178 |
$r .= "</td>";
|
179 |
break;
|
180 |
case 'log':
|
181 |
-
$r .= "<td $attributes><strong><a class=\"
|
182 |
$actions = array();
|
183 |
-
$actions[ 'view' ] = '<a class="
|
184 |
if ( current_user_can( 'backwpup_logs_delete' ) )
|
185 |
$actions[ 'delete' ] = "<a class=\"submitdelete\" href=\"" . wp_nonce_url( network_admin_url( 'admin.php' ) . '?page=backwpuplogs&action=delete&paged=' . $this->get_pagenum() . '&logfiles[]=' . basename( $logfile ), 'bulk-logs' ) . "\" onclick=\"return showNotice.warn();\">" . __( 'Delete', 'backwpup' ) . "</a>";
|
186 |
$actions[ 'download' ] = "<a href=\"" . wp_nonce_url( network_admin_url( 'admin.php' ) . '?page=backwpuplogs&action=download&file=' . $logfile, 'download-backup_' . basename( $logfile ) ) . "\">" . __( 'Download', 'backwpup' ) . "</a>";
|
178 |
$r .= "</td>";
|
179 |
break;
|
180 |
case 'log':
|
181 |
+
$r .= "<td $attributes><strong><a class=\"thickbox\" href=\"" . admin_url( 'admin-ajax.php' ) . '?&action=backwpup_view_log&logfile=' . basename( $logfile ) .'&_ajax_nonce=' . wp_create_nonce( 'view-logs' ) . "&height=440&width=630&TB_iframe=true\" title=\"" . basename( $logfile ) . "\">" . sprintf( __( '%1$s at %2$s', 'backwpup' ), date_i18n( get_option( 'date_format' ) , $logdata[ 'logtime' ], TRUE ), date_i18n( get_option( 'time_format' ), $logdata[ 'logtime' ], TRUE ) ) . ": <i>" . $logdata[ 'name' ] . "</i></a></strong>";
|
182 |
$actions = array();
|
183 |
+
$actions[ 'view' ] = '<a class="thickbox" href="' . admin_url( 'admin-ajax.php' ) . '?&action=backwpup_view_log&logfile=' . basename( $logfile ) .'&_ajax_nonce=' . wp_create_nonce( 'view-logs' ) . '&height=440&width=630&TB_iframe=true" title="' . basename( $logfile ) . '">' . __( 'View', 'backwpup' ) . '</a>';
|
184 |
if ( current_user_can( 'backwpup_logs_delete' ) )
|
185 |
$actions[ 'delete' ] = "<a class=\"submitdelete\" href=\"" . wp_nonce_url( network_admin_url( 'admin.php' ) . '?page=backwpuplogs&action=delete&paged=' . $this->get_pagenum() . '&logfiles[]=' . basename( $logfile ), 'bulk-logs' ) . "\" onclick=\"return showNotice.warn();\">" . __( 'Delete', 'backwpup' ) . "</a>";
|
186 |
$actions[ 'download' ] = "<a href=\"" . wp_nonce_url( network_admin_url( 'admin.php' ) . '?page=backwpuplogs&action=download&file=' . $logfile, 'download-backup_' . basename( $logfile ) ) . "\">" . __( 'Download', 'backwpup' ) . "</a>";
|
js/fancybox/blank.gif
DELETED
Binary file
|
js/fancybox/fancybox_loading.gif
DELETED
Binary file
|
js/fancybox/fancybox_overlay.png
DELETED
Binary file
|
js/fancybox/fancybox_sprite.png
DELETED
Binary file
|
js/fancybox/helpers/fancybox_buttons.png
DELETED
Binary file
|
js/fancybox/helpers/jquery.fancybox-buttons.css
DELETED
@@ -1,96 +0,0 @@
|
|
1 |
-
#fancybox-buttons {
|
2 |
-
position: fixed;
|
3 |
-
left: 0;
|
4 |
-
width: 100%;
|
5 |
-
z-index: 8050;
|
6 |
-
}
|
7 |
-
|
8 |
-
#fancybox-buttons.top {
|
9 |
-
top: 10px;
|
10 |
-
}
|
11 |
-
|
12 |
-
#fancybox-buttons.bottom {
|
13 |
-
bottom: 10px;
|
14 |
-
}
|
15 |
-
|
16 |
-
#fancybox-buttons ul {
|
17 |
-
display: block;
|
18 |
-
width: 166px;
|
19 |
-
height: 30px;
|
20 |
-
margin: 0 auto;
|
21 |
-
padding: 0;
|
22 |
-
list-style: none;
|
23 |
-
border: 1px solid #111;
|
24 |
-
border-radius: 3px;
|
25 |
-
-webkit-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
26 |
-
-moz-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
27 |
-
box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
28 |
-
background: rgb(50,50,50);
|
29 |
-
background: -moz-linear-gradient(top, rgb(68,68,68) 0%, rgb(52,52,52) 50%, rgb(41,41,41) 50%, rgb(51,51,51) 100%);
|
30 |
-
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(68,68,68)), color-stop(50%,rgb(52,52,52)), color-stop(50%,rgb(41,41,41)), color-stop(100%,rgb(51,51,51)));
|
31 |
-
background: -webkit-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
32 |
-
background: -o-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
33 |
-
background: -ms-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
34 |
-
background: linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
35 |
-
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 );
|
36 |
-
}
|
37 |
-
|
38 |
-
#fancybox-buttons ul li {
|
39 |
-
float: left;
|
40 |
-
margin: 0;
|
41 |
-
padding: 0;
|
42 |
-
}
|
43 |
-
|
44 |
-
#fancybox-buttons a {
|
45 |
-
display: block;
|
46 |
-
width: 30px;
|
47 |
-
height: 30px;
|
48 |
-
text-indent: -9999px;
|
49 |
-
background-image: url('fancybox_buttons.png');
|
50 |
-
background-repeat: no-repeat;
|
51 |
-
outline: none;
|
52 |
-
opacity: 0.8;
|
53 |
-
}
|
54 |
-
|
55 |
-
#fancybox-buttons a:hover {
|
56 |
-
opacity: 1;
|
57 |
-
}
|
58 |
-
|
59 |
-
#fancybox-buttons a.btnPrev {
|
60 |
-
background-position: 5px 0;
|
61 |
-
}
|
62 |
-
|
63 |
-
#fancybox-buttons a.btnNext {
|
64 |
-
background-position: -33px 0;
|
65 |
-
border-right: 1px solid #3e3e3e;
|
66 |
-
}
|
67 |
-
|
68 |
-
#fancybox-buttons a.btnPlay {
|
69 |
-
background-position: 0 -30px;
|
70 |
-
}
|
71 |
-
|
72 |
-
#fancybox-buttons a.btnPlayOn {
|
73 |
-
background-position: -30px -30px;
|
74 |
-
}
|
75 |
-
|
76 |
-
#fancybox-buttons a.btnToggle {
|
77 |
-
background-position: 3px -60px;
|
78 |
-
border-left: 1px solid #111;
|
79 |
-
border-right: 1px solid #3e3e3e;
|
80 |
-
width: 35px
|
81 |
-
}
|
82 |
-
|
83 |
-
#fancybox-buttons a.btnToggleOn {
|
84 |
-
background-position: -27px -60px;
|
85 |
-
}
|
86 |
-
|
87 |
-
#fancybox-buttons a.btnClose {
|
88 |
-
border-left: 1px solid #111;
|
89 |
-
width: 35px;
|
90 |
-
background-position: -56px 0px;
|
91 |
-
}
|
92 |
-
|
93 |
-
#fancybox-buttons a.btnDisabled {
|
94 |
-
opacity : 0.4;
|
95 |
-
cursor: default;
|
96 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/fancybox/helpers/jquery.fancybox-buttons.js
DELETED
@@ -1,121 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Buttons helper for fancyBox
|
3 |
-
* version: 1.0.5 (Mon, 15 Oct 2012)
|
4 |
-
* @requires fancyBox v2.0 or later
|
5 |
-
*
|
6 |
-
* Usage:
|
7 |
-
* $(".fancybox").fancybox({
|
8 |
-
* helpers : {
|
9 |
-
* buttons: {
|
10 |
-
* position : 'top'
|
11 |
-
* }
|
12 |
-
* }
|
13 |
-
* });
|
14 |
-
*
|
15 |
-
*/
|
16 |
-
(function ($) {
|
17 |
-
//Shortcut for fancyBox object
|
18 |
-
var F = $.fancybox;
|
19 |
-
|
20 |
-
//Add helper object
|
21 |
-
F.helpers.buttons = {
|
22 |
-
defaults : {
|
23 |
-
skipSingle : false, // disables if gallery contains single image
|
24 |
-
position : 'top', // 'top' or 'bottom'
|
25 |
-
tpl : '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:jQuery.fancybox.close();"></a></li></ul></div>'
|
26 |
-
},
|
27 |
-
|
28 |
-
list : null,
|
29 |
-
buttons: null,
|
30 |
-
|
31 |
-
beforeLoad: function (opts, obj) {
|
32 |
-
//Remove self if gallery do not have at least two items
|
33 |
-
|
34 |
-
if (opts.skipSingle && obj.group.length < 2) {
|
35 |
-
obj.helpers.buttons = false;
|
36 |
-
obj.closeBtn = true;
|
37 |
-
|
38 |
-
return;
|
39 |
-
}
|
40 |
-
|
41 |
-
//Increase top margin to give space for buttons
|
42 |
-
obj.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30;
|
43 |
-
},
|
44 |
-
|
45 |
-
onPlayStart: function () {
|
46 |
-
if (this.buttons) {
|
47 |
-
this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn');
|
48 |
-
}
|
49 |
-
},
|
50 |
-
|
51 |
-
onPlayEnd: function () {
|
52 |
-
if (this.buttons) {
|
53 |
-
this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn');
|
54 |
-
}
|
55 |
-
},
|
56 |
-
|
57 |
-
afterShow: function (opts, obj) {
|
58 |
-
var buttons = this.buttons;
|
59 |
-
|
60 |
-
if (!buttons) {
|
61 |
-
this.list = $(opts.tpl).addClass(opts.position).appendTo('body');
|
62 |
-
|
63 |
-
buttons = {
|
64 |
-
prev : this.list.find('.btnPrev').click( F.prev ),
|
65 |
-
next : this.list.find('.btnNext').click( F.next ),
|
66 |
-
play : this.list.find('.btnPlay').click( F.play ),
|
67 |
-
toggle : this.list.find('.btnToggle').click( F.toggle )
|
68 |
-
}
|
69 |
-
}
|
70 |
-
|
71 |
-
//Prev
|
72 |
-
if (obj.index > 0 || obj.loop) {
|
73 |
-
buttons.prev.removeClass('btnDisabled');
|
74 |
-
} else {
|
75 |
-
buttons.prev.addClass('btnDisabled');
|
76 |
-
}
|
77 |
-
|
78 |
-
//Next / Play
|
79 |
-
if (obj.loop || obj.index < obj.group.length - 1) {
|
80 |
-
buttons.next.removeClass('btnDisabled');
|
81 |
-
buttons.play.removeClass('btnDisabled');
|
82 |
-
|
83 |
-
} else {
|
84 |
-
buttons.next.addClass('btnDisabled');
|
85 |
-
buttons.play.addClass('btnDisabled');
|
86 |
-
}
|
87 |
-
|
88 |
-
this.buttons = buttons;
|
89 |
-
|
90 |
-
this.onUpdate(opts, obj);
|
91 |
-
},
|
92 |
-
|
93 |
-
onUpdate: function (opts, obj) {
|
94 |
-
var toggle;
|
95 |
-
|
96 |
-
if (!this.buttons) {
|
97 |
-
return;
|
98 |
-
}
|
99 |
-
|
100 |
-
toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn');
|
101 |
-
|
102 |
-
//Size toggle button
|
103 |
-
if (obj.canShrink) {
|
104 |
-
toggle.addClass('btnToggleOn');
|
105 |
-
|
106 |
-
} else if (!obj.canExpand) {
|
107 |
-
toggle.addClass('btnDisabled');
|
108 |
-
}
|
109 |
-
},
|
110 |
-
|
111 |
-
beforeClose: function () {
|
112 |
-
if (this.list) {
|
113 |
-
this.list.remove();
|
114 |
-
}
|
115 |
-
|
116 |
-
this.list = null;
|
117 |
-
this.buttons = null;
|
118 |
-
}
|
119 |
-
};
|
120 |
-
|
121 |
-
}(jQuery));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/fancybox/helpers/jquery.fancybox-media.js
DELETED
@@ -1,196 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Media helper for fancyBox
|
3 |
-
* version: 1.0.5 (Tue, 23 Oct 2012)
|
4 |
-
* @requires fancyBox v2.0 or later
|
5 |
-
*
|
6 |
-
* Usage:
|
7 |
-
* $(".fancybox").fancybox({
|
8 |
-
* helpers : {
|
9 |
-
* media: true
|
10 |
-
* }
|
11 |
-
* });
|
12 |
-
*
|
13 |
-
* Set custom URL parameters:
|
14 |
-
* $(".fancybox").fancybox({
|
15 |
-
* helpers : {
|
16 |
-
* media: {
|
17 |
-
* youtube : {
|
18 |
-
* params : {
|
19 |
-
* autoplay : 0
|
20 |
-
* }
|
21 |
-
* }
|
22 |
-
* }
|
23 |
-
* }
|
24 |
-
* });
|
25 |
-
*
|
26 |
-
* Or:
|
27 |
-
* $(".fancybox").fancybox({,
|
28 |
-
* helpers : {
|
29 |
-
* media: true
|
30 |
-
* },
|
31 |
-
* youtube : {
|
32 |
-
* autoplay: 0
|
33 |
-
* }
|
34 |
-
* });
|
35 |
-
*
|
36 |
-
* Supports:
|
37 |
-
*
|
38 |
-
* Youtube
|
39 |
-
* http://www.youtube.com/watch?v=opj24KnzrWo
|
40 |
-
* http://www.youtube.com/embed/opj24KnzrWo
|
41 |
-
* http://youtu.be/opj24KnzrWo
|
42 |
-
* Vimeo
|
43 |
-
* http://vimeo.com/40648169
|
44 |
-
* http://vimeo.com/channels/staffpicks/38843628
|
45 |
-
* http://vimeo.com/groups/surrealism/videos/36516384
|
46 |
-
* http://player.vimeo.com/video/45074303
|
47 |
-
* Metacafe
|
48 |
-
* http://www.metacafe.com/watch/7635964/dr_seuss_the_lorax_movie_trailer/
|
49 |
-
* http://www.metacafe.com/watch/7635964/
|
50 |
-
* Dailymotion
|
51 |
-
* http://www.dailymotion.com/video/xoytqh_dr-seuss-the-lorax-premiere_people
|
52 |
-
* Twitvid
|
53 |
-
* http://twitvid.com/QY7MD
|
54 |
-
* Twitpic
|
55 |
-
* http://twitpic.com/7p93st
|
56 |
-
* Instagram
|
57 |
-
* http://instagr.am/p/IejkuUGxQn/
|
58 |
-
* http://instagram.com/p/IejkuUGxQn/
|
59 |
-
* Google maps
|
60 |
-
* http://maps.google.com/maps?q=Eiffel+Tower,+Avenue+Gustave+Eiffel,+Paris,+France&t=h&z=17
|
61 |
-
* http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
|
62 |
-
* http://maps.google.com/?ll=48.859463,2.292626&spn=0.000965,0.002642&t=m&z=19&layer=c&cbll=48.859524,2.292532&panoid=YJ0lq28OOy3VT2IqIuVY0g&cbp=12,151.58,,0,-15.56
|
63 |
-
*/
|
64 |
-
(function ($) {
|
65 |
-
"use strict";
|
66 |
-
|
67 |
-
//Shortcut for fancyBox object
|
68 |
-
var F = $.fancybox,
|
69 |
-
format = function( url, rez, params ) {
|
70 |
-
params = params || '';
|
71 |
-
|
72 |
-
if ( $.type( params ) === "object" ) {
|
73 |
-
params = $.param(params, true);
|
74 |
-
}
|
75 |
-
|
76 |
-
$.each(rez, function(key, value) {
|
77 |
-
url = url.replace( '$' + key, value || '' );
|
78 |
-
});
|
79 |
-
|
80 |
-
if (params.length) {
|
81 |
-
url += ( url.indexOf('?') > 0 ? '&' : '?' ) + params;
|
82 |
-
}
|
83 |
-
|
84 |
-
return url;
|
85 |
-
};
|
86 |
-
|
87 |
-
//Add helper object
|
88 |
-
F.helpers.media = {
|
89 |
-
defaults : {
|
90 |
-
youtube : {
|
91 |
-
matcher : /(youtube\.com|youtu\.be)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i,
|
92 |
-
params : {
|
93 |
-
autoplay : 1,
|
94 |
-
autohide : 1,
|
95 |
-
fs : 1,
|
96 |
-
rel : 0,
|
97 |
-
hd : 1,
|
98 |
-
wmode : 'opaque',
|
99 |
-
enablejsapi : 1
|
100 |
-
},
|
101 |
-
type : 'iframe',
|
102 |
-
url : '//www.youtube.com/embed/$3'
|
103 |
-
},
|
104 |
-
vimeo : {
|
105 |
-
matcher : /(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/,
|
106 |
-
params : {
|
107 |
-
autoplay : 1,
|
108 |
-
hd : 1,
|
109 |
-
show_title : 1,
|
110 |
-
show_byline : 1,
|
111 |
-
show_portrait : 0,
|
112 |
-
fullscreen : 1
|
113 |
-
},
|
114 |
-
type : 'iframe',
|
115 |
-
url : '//player.vimeo.com/video/$1'
|
116 |
-
},
|
117 |
-
metacafe : {
|
118 |
-
matcher : /metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/,
|
119 |
-
params : {
|
120 |
-
autoPlay : 'yes'
|
121 |
-
},
|
122 |
-
type : 'swf',
|
123 |
-
url : function( rez, params, obj ) {
|
124 |
-
obj.swf.flashVars = 'playerVars=' + $.param( params, true );
|
125 |
-
|
126 |
-
return '//www.metacafe.com/fplayer/' + rez[1] + '/.swf';
|
127 |
-
}
|
128 |
-
},
|
129 |
-
dailymotion : {
|
130 |
-
matcher : /dailymotion.com\/video\/(.*)\/?(.*)/,
|
131 |
-
params : {
|
132 |
-
additionalInfos : 0,
|
133 |
-
autoStart : 1
|
134 |
-
},
|
135 |
-
type : 'swf',
|
136 |
-
url : '//www.dailymotion.com/swf/video/$1'
|
137 |
-
},
|
138 |
-
twitvid : {
|
139 |
-
matcher : /twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i,
|
140 |
-
params : {
|
141 |
-
autoplay : 0
|
142 |
-
},
|
143 |
-
type : 'iframe',
|
144 |
-
url : '//www.twitvid.com/embed.php?guid=$1'
|
145 |
-
},
|
146 |
-
twitpic : {
|
147 |
-
matcher : /twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i,
|
148 |
-
type : 'image',
|
149 |
-
url : '//twitpic.com/show/full/$1/'
|
150 |
-
},
|
151 |
-
instagram : {
|
152 |
-
matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
|
153 |
-
type : 'image',
|
154 |
-
url : '//$1/p/$2/media/'
|
155 |
-
},
|
156 |
-
google_maps : {
|
157 |
-
matcher : /maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i,
|
158 |
-
type : 'iframe',
|
159 |
-
url : function( rez ) {
|
160 |
-
return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed');
|
161 |
-
}
|
162 |
-
}
|
163 |
-
},
|
164 |
-
|
165 |
-
beforeLoad : function(opts, obj) {
|
166 |
-
var url = obj.href || '',
|
167 |
-
type = false,
|
168 |
-
what,
|
169 |
-
item,
|
170 |
-
rez,
|
171 |
-
params;
|
172 |
-
|
173 |
-
for (what in opts) {
|
174 |
-
item = opts[ what ];
|
175 |
-
rez = url.match( item.matcher );
|
176 |
-
|
177 |
-
if (rez) {
|
178 |
-
type = item.type;
|
179 |
-
params = $.extend(true, {}, item.params, obj[ what ] || ($.isPlainObject(opts[ what ]) ? opts[ what ].params : null));
|
180 |
-
|
181 |
-
url = $.type( item.url ) === "function" ? item.url.call( this, rez, params, obj ) : format( item.url, rez, params );
|
182 |
-
|
183 |
-
break;
|
184 |
-
}
|
185 |
-
}
|
186 |
-
|
187 |
-
if (type) {
|
188 |
-
obj.href = url;
|
189 |
-
obj.type = type;
|
190 |
-
|
191 |
-
obj.autoHeight = false;
|
192 |
-
}
|
193 |
-
}
|
194 |
-
};
|
195 |
-
|
196 |
-
}(jQuery));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/fancybox/helpers/jquery.fancybox-thumbs.css
DELETED
@@ -1,54 +0,0 @@
|
|
1 |
-
#fancybox-thumbs {
|
2 |
-
position: fixed;
|
3 |
-
left: 0;
|
4 |
-
width: 100%;
|
5 |
-
overflow: hidden;
|
6 |
-
z-index: 8050;
|
7 |
-
}
|
8 |
-
|
9 |
-
#fancybox-thumbs.bottom {
|
10 |
-
bottom: 2px;
|
11 |
-
}
|
12 |
-
|
13 |
-
#fancybox-thumbs.top {
|
14 |
-
top: 2px;
|
15 |
-
}
|
16 |
-
|
17 |
-
#fancybox-thumbs ul {
|
18 |
-
position: relative;
|
19 |
-
list-style: none;
|
20 |
-
margin: 0;
|
21 |
-
padding: 0;
|
22 |
-
}
|
23 |
-
|
24 |
-
#fancybox-thumbs ul li {
|
25 |
-
float: left;
|
26 |
-
padding: 1px;
|
27 |
-
opacity: 0.5;
|
28 |
-
}
|
29 |
-
|
30 |
-
#fancybox-thumbs ul li.active {
|
31 |
-
opacity: 0.75;
|
32 |
-
padding: 0;
|
33 |
-
border: 1px solid #fff;
|
34 |
-
}
|
35 |
-
|
36 |
-
#fancybox-thumbs ul li:hover {
|
37 |
-
opacity: 1;
|
38 |
-
}
|
39 |
-
|
40 |
-
#fancybox-thumbs ul li a {
|
41 |
-
display: block;
|
42 |
-
position: relative;
|
43 |
-
overflow: hidden;
|
44 |
-
border: 1px solid #222;
|
45 |
-
background: #111;
|
46 |
-
outline: none;
|
47 |
-
}
|
48 |
-
|
49 |
-
#fancybox-thumbs ul li img {
|
50 |
-
display: block;
|
51 |
-
position: relative;
|
52 |
-
border: 0;
|
53 |
-
padding: 0;
|
54 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/fancybox/helpers/jquery.fancybox-thumbs.js
DELETED
@@ -1,162 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Thumbnail helper for fancyBox
|
3 |
-
* version: 1.0.7 (Mon, 01 Oct 2012)
|
4 |
-
* @requires fancyBox v2.0 or later
|
5 |
-
*
|
6 |
-
* Usage:
|
7 |
-
* $(".fancybox").fancybox({
|
8 |
-
* helpers : {
|
9 |
-
* thumbs: {
|
10 |
-
* width : 50,
|
11 |
-
* height : 50
|
12 |
-
* }
|
13 |
-
* }
|
14 |
-
* });
|
15 |
-
*
|
16 |
-
*/
|
17 |
-
(function ($) {
|
18 |
-
//Shortcut for fancyBox object
|
19 |
-
var F = $.fancybox;
|
20 |
-
|
21 |
-
//Add helper object
|
22 |
-
F.helpers.thumbs = {
|
23 |
-
defaults : {
|
24 |
-
width : 50, // thumbnail width
|
25 |
-
height : 50, // thumbnail height
|
26 |
-
position : 'bottom', // 'top' or 'bottom'
|
27 |
-
source : function ( item ) { // function to obtain the URL of the thumbnail image
|
28 |
-
var href;
|
29 |
-
|
30 |
-
if (item.element) {
|
31 |
-
href = $(item.element).find('img').attr('src');
|
32 |
-
}
|
33 |
-
|
34 |
-
if (!href && item.type === 'image' && item.href) {
|
35 |
-
href = item.href;
|
36 |
-
}
|
37 |
-
|
38 |
-
return href;
|
39 |
-
}
|
40 |
-
},
|
41 |
-
|
42 |
-
wrap : null,
|
43 |
-
list : null,
|
44 |
-
width : 0,
|
45 |
-
|
46 |
-
init: function (opts, obj) {
|
47 |
-
var that = this,
|
48 |
-
list,
|
49 |
-
thumbWidth = opts.width,
|
50 |
-
thumbHeight = opts.height,
|
51 |
-
thumbSource = opts.source;
|
52 |
-
|
53 |
-
//Build list structure
|
54 |
-
list = '';
|
55 |
-
|
56 |
-
for (var n = 0; n < obj.group.length; n++) {
|
57 |
-
list += '<li><a style="width:' + thumbWidth + 'px;height:' + thumbHeight + 'px;" href="javascript:jQuery.fancybox.jumpto(' + n + ');"></a></li>';
|
58 |
-
}
|
59 |
-
|
60 |
-
this.wrap = $('<div id="fancybox-thumbs"></div>').addClass(opts.position).appendTo('body');
|
61 |
-
this.list = $('<ul>' + list + '</ul>').appendTo(this.wrap);
|
62 |
-
|
63 |
-
//Load each thumbnail
|
64 |
-
$.each(obj.group, function (i) {
|
65 |
-
var href = thumbSource( obj.group[ i ] );
|
66 |
-
|
67 |
-
if (!href) {
|
68 |
-
return;
|
69 |
-
}
|
70 |
-
|
71 |
-
$("<img />").load(function () {
|
72 |
-
var width = this.width,
|
73 |
-
height = this.height,
|
74 |
-
widthRatio, heightRatio, parent;
|
75 |
-
|
76 |
-
if (!that.list || !width || !height) {
|
77 |
-
return;
|
78 |
-
}
|
79 |
-
|
80 |
-
//Calculate thumbnail width/height and center it
|
81 |
-
widthRatio = width / thumbWidth;
|
82 |
-
heightRatio = height / thumbHeight;
|
83 |
-
|
84 |
-
parent = that.list.children().eq(i).find('a');
|
85 |
-
|
86 |
-
if (widthRatio >= 1 && heightRatio >= 1) {
|
87 |
-
if (widthRatio > heightRatio) {
|
88 |
-
width = Math.floor(width / heightRatio);
|
89 |
-
height = thumbHeight;
|
90 |
-
|
91 |
-
} else {
|
92 |
-
width = thumbWidth;
|
93 |
-
height = Math.floor(height / widthRatio);
|
94 |
-
}
|
95 |
-
}
|
96 |
-
|
97 |
-
$(this).css({
|
98 |
-
width : width,
|
99 |
-
height : height,
|
100 |
-
top : Math.floor(thumbHeight / 2 - height / 2),
|
101 |
-
left : Math.floor(thumbWidth / 2 - width / 2)
|
102 |
-
});
|
103 |
-
|
104 |
-
parent.width(thumbWidth).height(thumbHeight);
|
105 |
-
|
106 |
-
$(this).hide().appendTo(parent).fadeIn(300);
|
107 |
-
|
108 |
-
}).attr('src', href);
|
109 |
-
});
|
110 |
-
|
111 |
-
//Set initial width
|
112 |
-
this.width = this.list.children().eq(0).outerWidth(true);
|
113 |
-
|
114 |
-
this.list.width(this.width * (obj.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5)));
|
115 |
-
},
|
116 |
-
|
117 |
-
beforeLoad: function (opts, obj) {
|
118 |
-
//Remove self if gallery do not have at least two items
|
119 |
-
if (obj.group.length < 2) {
|
120 |
-
obj.helpers.thumbs = false;
|
121 |
-
|
122 |
-
return;
|
123 |
-
}
|
124 |
-
|
125 |
-
//Increase bottom margin to give space for thumbs
|
126 |
-
obj.margin[ opts.position === 'top' ? 0 : 2 ] += ((opts.height) + 15);
|
127 |
-
},
|
128 |
-
|
129 |
-
afterShow: function (opts, obj) {
|
130 |
-
//Check if exists and create or update list
|
131 |
-
if (this.list) {
|
132 |
-
this.onUpdate(opts, obj);
|
133 |
-
|
134 |
-
} else {
|
135 |
-
this.init(opts, obj);
|
136 |
-
}
|
137 |
-
|
138 |
-
//Set active element
|
139 |
-
this.list.children().removeClass('active').eq(obj.index).addClass('active');
|
140 |
-
},
|
141 |
-
|
142 |
-
//Center list
|
143 |
-
onUpdate: function (opts, obj) {
|
144 |
-
if (this.list) {
|
145 |
-
this.list.stop(true).animate({
|
146 |
-
'left': Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5))
|
147 |
-
}, 150);
|
148 |
-
}
|
149 |
-
},
|
150 |
-
|
151 |
-
beforeClose: function () {
|
152 |
-
if (this.wrap) {
|
153 |
-
this.wrap.remove();
|
154 |
-
}
|
155 |
-
|
156 |
-
this.wrap = null;
|
157 |
-
this.list = null;
|
158 |
-
this.width = 0;
|
159 |
-
}
|
160 |
-
}
|
161 |
-
|
162 |
-
}(jQuery));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/fancybox/jquery.fancybox.css
DELETED
@@ -1,249 +0,0 @@
|
|
1 |
-
/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */
|
2 |
-
.fancybox-wrap,
|
3 |
-
.fancybox-skin,
|
4 |
-
.fancybox-outer,
|
5 |
-
.fancybox-inner,
|
6 |
-
.fancybox-image,
|
7 |
-
.fancybox-wrap iframe,
|
8 |
-
.fancybox-wrap object,
|
9 |
-
.fancybox-nav,
|
10 |
-
.fancybox-nav span,
|
11 |
-
.fancybox-tmp
|
12 |
-
{
|
13 |
-
padding: 0;
|
14 |
-
margin: 0;
|
15 |
-
border: 0;
|
16 |
-
outline: none;
|
17 |
-
vertical-align: top;
|
18 |
-
}
|
19 |
-
|
20 |
-
.fancybox-wrap {
|
21 |
-
position: absolute;
|
22 |
-
top: 0;
|
23 |
-
left: 0;
|
24 |
-
z-index: 8020;
|
25 |
-
}
|
26 |
-
|
27 |
-
.fancybox-skin {
|
28 |
-
position: relative;
|
29 |
-
background: #f9f9f9;
|
30 |
-
color: #444;
|
31 |
-
text-shadow: none;
|
32 |
-
-webkit-border-radius: 4px;
|
33 |
-
-moz-border-radius: 4px;
|
34 |
-
border-radius: 4px;
|
35 |
-
}
|
36 |
-
|
37 |
-
.fancybox-opened {
|
38 |
-
z-index: 8030;
|
39 |
-
}
|
40 |
-
|
41 |
-
.fancybox-opened .fancybox-skin {
|
42 |
-
-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
43 |
-
-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
44 |
-
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
45 |
-
}
|
46 |
-
|
47 |
-
.fancybox-outer, .fancybox-inner {
|
48 |
-
position: relative;
|
49 |
-
}
|
50 |
-
|
51 |
-
.fancybox-inner {
|
52 |
-
overflow: hidden;
|
53 |
-
}
|
54 |
-
|
55 |
-
.fancybox-type-iframe .fancybox-inner {
|
56 |
-
-webkit-overflow-scrolling: touch;
|
57 |
-
}
|
58 |
-
|
59 |
-
.fancybox-error {
|
60 |
-
color: #444;
|
61 |
-
font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
|
62 |
-
margin: 0;
|
63 |
-
padding: 15px;
|
64 |
-
white-space: nowrap;
|
65 |
-
}
|
66 |
-
|
67 |
-
.fancybox-image, .fancybox-iframe {
|
68 |
-
display: block;
|
69 |
-
width: 100%;
|
70 |
-
height: 100%;
|
71 |
-
}
|
72 |
-
|
73 |
-
.fancybox-image {
|
74 |
-
max-width: 100%;
|
75 |
-
max-height: 100%;
|
76 |
-
}
|
77 |
-
|
78 |
-
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
|
79 |
-
background-image: url('fancybox_sprite.png');
|
80 |
-
}
|
81 |
-
|
82 |
-
#fancybox-loading {
|
83 |
-
position: fixed;
|
84 |
-
top: 50%;
|
85 |
-
left: 50%;
|
86 |
-
margin-top: -22px;
|
87 |
-
margin-left: -22px;
|
88 |
-
background-position: 0 -108px;
|
89 |
-
opacity: 0.8;
|
90 |
-
cursor: pointer;
|
91 |
-
z-index: 8060;
|
92 |
-
}
|
93 |
-
|
94 |
-
#fancybox-loading div {
|
95 |
-
width: 44px;
|
96 |
-
height: 44px;
|
97 |
-
background: url('fancybox_loading.gif') center center no-repeat;
|
98 |
-
}
|
99 |
-
|
100 |
-
.fancybox-close {
|
101 |
-
position: absolute;
|
102 |
-
top: -18px;
|
103 |
-
right: -18px;
|
104 |
-
width: 36px;
|
105 |
-
height: 36px;
|
106 |
-
cursor: pointer;
|
107 |
-
z-index: 8040;
|
108 |
-
}
|
109 |
-
|
110 |
-
.fancybox-nav {
|
111 |
-
position: absolute;
|
112 |
-
top: 0;
|
113 |
-
width: 40%;
|
114 |
-
height: 100%;
|
115 |
-
cursor: pointer;
|
116 |
-
text-decoration: none;
|
117 |
-
background: transparent url('blank.gif'); /* helps IE */
|
118 |
-
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
119 |
-
z-index: 8040;
|
120 |
-
}
|
121 |
-
|
122 |
-
.fancybox-prev {
|
123 |
-
left: 0;
|
124 |
-
}
|
125 |
-
|
126 |
-
.fancybox-next {
|
127 |
-
right: 0;
|
128 |
-
}
|
129 |
-
|
130 |
-
.fancybox-nav span {
|
131 |
-
position: absolute;
|
132 |
-
top: 50%;
|
133 |
-
width: 36px;
|
134 |
-
height: 34px;
|
135 |
-
margin-top: -18px;
|
136 |
-
cursor: pointer;
|
137 |
-
z-index: 8040;
|
138 |
-
visibility: hidden;
|
139 |
-
}
|
140 |
-
|
141 |
-
.fancybox-prev span {
|
142 |
-
left: 10px;
|
143 |
-
background-position: 0 -36px;
|
144 |
-
}
|
145 |
-
|
146 |
-
.fancybox-next span {
|
147 |
-
right: 10px;
|
148 |
-
background-position: 0 -72px;
|
149 |
-
}
|
150 |
-
|
151 |
-
.fancybox-nav:hover span {
|
152 |
-
visibility: visible;
|
153 |
-
}
|
154 |
-
|
155 |
-
.fancybox-tmp {
|
156 |
-
position: absolute;
|
157 |
-
top: -99999px;
|
158 |
-
left: -99999px;
|
159 |
-
visibility: hidden;
|
160 |
-
max-width: 99999px;
|
161 |
-
max-height: 99999px;
|
162 |
-
overflow: visible !important;
|
163 |
-
}
|
164 |
-
|
165 |
-
/* Overlay helper */
|
166 |
-
|
167 |
-
.fancybox-lock {
|
168 |
-
overflow: hidden;
|
169 |
-
}
|
170 |
-
|
171 |
-
.fancybox-overlay {
|
172 |
-
position: absolute;
|
173 |
-
top: 0;
|
174 |
-
left: 0;
|
175 |
-
overflow: hidden;
|
176 |
-
display: none;
|
177 |
-
z-index: 8010;
|
178 |
-
background: url('fancybox_overlay.png');
|
179 |
-
}
|
180 |
-
|
181 |
-
.fancybox-overlay-fixed {
|
182 |
-
position: fixed;
|
183 |
-
bottom: 0;
|
184 |
-
right: 0;
|
185 |
-
}
|
186 |
-
|
187 |
-
.fancybox-lock .fancybox-overlay {
|
188 |
-
overflow: auto;
|
189 |
-
overflow-y: scroll;
|
190 |
-
}
|
191 |
-
|
192 |
-
/* Title helper */
|
193 |
-
|
194 |
-
.fancybox-title {
|
195 |
-
visibility: hidden;
|
196 |
-
font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
|
197 |
-
position: relative;
|
198 |
-
text-shadow: none;
|
199 |
-
z-index: 8050;
|
200 |
-
}
|
201 |
-
|
202 |
-
.fancybox-opened .fancybox-title {
|
203 |
-
visibility: visible;
|
204 |
-
}
|
205 |
-
|
206 |
-
.fancybox-title-float-wrap {
|
207 |
-
position: absolute;
|
208 |
-
bottom: 0;
|
209 |
-
right: 50%;
|
210 |
-
margin-bottom: -35px;
|
211 |
-
z-index: 8050;
|
212 |
-
text-align: center;
|
213 |
-
}
|
214 |
-
|
215 |
-
.fancybox-title-float-wrap .child {
|
216 |
-
display: inline-block;
|
217 |
-
margin-right: -100%;
|
218 |
-
padding: 2px 20px;
|
219 |
-
background: transparent; /* Fallback for web browsers that doesn't support RGBa */
|
220 |
-
background: rgba(0, 0, 0, 0.8);
|
221 |
-
-webkit-border-radius: 15px;
|
222 |
-
-moz-border-radius: 15px;
|
223 |
-
border-radius: 15px;
|
224 |
-
text-shadow: 0 1px 2px #222;
|
225 |
-
color: #FFF;
|
226 |
-
font-weight: bold;
|
227 |
-
line-height: 24px;
|
228 |
-
white-space: nowrap;
|
229 |
-
}
|
230 |
-
|
231 |
-
.fancybox-title-outside-wrap {
|
232 |
-
position: relative;
|
233 |
-
margin-top: 10px;
|
234 |
-
color: #fff;
|
235 |
-
}
|
236 |
-
|
237 |
-
.fancybox-title-inside-wrap {
|
238 |
-
padding-top: 10px;
|
239 |
-
}
|
240 |
-
|
241 |
-
.fancybox-title-over-wrap {
|
242 |
-
position: absolute;
|
243 |
-
bottom: 0;
|
244 |
-
left: 0;
|
245 |
-
color: #fff;
|
246 |
-
padding: 10px;
|
247 |
-
background: #000;
|
248 |
-
background: rgba(0, 0, 0, .8);
|
249 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/fancybox/jquery.fancybox.js
DELETED
@@ -1,1983 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* fancyBox - jQuery Plugin
|
3 |
-
* version: 2.1.4 (Thu, 10 Jan 2013)
|
4 |
-
* @requires jQuery v1.6 or later
|
5 |
-
*
|
6 |
-
* Examples at http://fancyapps.com/fancybox/
|
7 |
-
* License: www.fancyapps.com/fancybox/#license
|
8 |
-
*
|
9 |
-
* Copyright 2012 Janis Skarnelis - janis@fancyapps.com
|
10 |
-
*
|
11 |
-
*/
|
12 |
-
|
13 |
-
(function (window, document, $, undefined) {
|
14 |
-
"use strict";
|
15 |
-
|
16 |
-
var W = $(window),
|
17 |
-
D = $(document),
|
18 |
-
F = $.fancybox = function () {
|
19 |
-
F.open.apply( this, arguments );
|
20 |
-
},
|
21 |
-
IE = navigator.userAgent.match(/msie/),
|
22 |
-
didUpdate = null,
|
23 |
-
isTouch = document.createTouch !== undefined,
|
24 |
-
|
25 |
-
isQuery = function(obj) {
|
26 |
-
return obj && obj.hasOwnProperty && obj instanceof $;
|
27 |
-
},
|
28 |
-
isString = function(str) {
|
29 |
-
return str && $.type(str) === "string";
|
30 |
-
},
|
31 |
-
isPercentage = function(str) {
|
32 |
-
return isString(str) && str.indexOf('%') > 0;
|
33 |
-
},
|
34 |
-
isScrollable = function(el) {
|
35 |
-
return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight)));
|
36 |
-
},
|
37 |
-
getScalar = function(orig, dim) {
|
38 |
-
var value = parseInt(orig, 10) || 0;
|
39 |
-
|
40 |
-
if (dim && isPercentage(orig)) {
|
41 |
-
value = F.getViewport()[ dim ] / 100 * value;
|
42 |
-
}
|
43 |
-
|
44 |
-
return Math.ceil(value);
|
45 |
-
},
|
46 |
-
getValue = function(value, dim) {
|
47 |
-
return getScalar(value, dim) + 'px';
|
48 |
-
};
|
49 |
-
|
50 |
-
$.extend(F, {
|
51 |
-
// The current version of fancyBox
|
52 |
-
version: '2.1.4',
|
53 |
-
|
54 |
-
defaults: {
|
55 |
-
padding : 15,
|
56 |
-
margin : 20,
|
57 |
-
|
58 |
-
width : 800,
|
59 |
-
height : 600,
|
60 |
-
minWidth : 100,
|
61 |
-
minHeight : 100,
|
62 |
-
maxWidth : 9999,
|
63 |
-
maxHeight : 9999,
|
64 |
-
|
65 |
-
autoSize : true,
|
66 |
-
autoHeight : false,
|
67 |
-
autoWidth : false,
|
68 |
-
|
69 |
-
autoResize : true,
|
70 |
-
autoCenter : !isTouch,
|
71 |
-
fitToView : true,
|
72 |
-
aspectRatio : false,
|
73 |
-
topRatio : 0.5,
|
74 |
-
leftRatio : 0.5,
|
75 |
-
|
76 |
-
scrolling : 'auto', // 'auto', 'yes' or 'no'
|
77 |
-
wrapCSS : '',
|
78 |
-
|
79 |
-
arrows : true,
|
80 |
-
closeBtn : true,
|
81 |
-
closeClick : false,
|
82 |
-
nextClick : false,
|
83 |
-
mouseWheel : true,
|
84 |
-
autoPlay : false,
|
85 |
-
playSpeed : 3000,
|
86 |
-
preload : 3,
|
87 |
-
modal : false,
|
88 |
-
loop : true,
|
89 |
-
|
90 |
-
ajax : {
|
91 |
-
dataType : 'html',
|
92 |
-
headers : { 'X-fancyBox': true }
|
93 |
-
},
|
94 |
-
iframe : {
|
95 |
-
scrolling : 'auto',
|
96 |
-
preload : true
|
97 |
-
},
|
98 |
-
swf : {
|
99 |
-
wmode: 'transparent',
|
100 |
-
allowfullscreen : 'true',
|
101 |
-
allowscriptaccess : 'always'
|
102 |
-
},
|
103 |
-
|
104 |
-
keys : {
|
105 |
-
next : {
|
106 |
-
13 : 'left', // enter
|
107 |
-
34 : 'up', // page down
|
108 |
-
39 : 'left', // right arrow
|
109 |
-
40 : 'up' // down arrow
|
110 |
-
},
|
111 |
-
prev : {
|
112 |
-
8 : 'right', // backspace
|
113 |
-
33 : 'down', // page up
|
114 |
-
37 : 'right', // left arrow
|
115 |
-
38 : 'down' // up arrow
|
116 |
-
},
|
117 |
-
close : [27], // escape key
|
118 |
-
play : [32], // space - start/stop slideshow
|
119 |
-
toggle : [70] // letter "f" - toggle fullscreen
|
120 |
-
},
|
121 |
-
|
122 |
-
direction : {
|
123 |
-
next : 'left',
|
124 |
-
prev : 'right'
|
125 |
-
},
|
126 |
-
|
127 |
-
scrollOutside : true,
|
128 |
-
|
129 |
-
// Override some properties
|
130 |
-
index : 0,
|
131 |
-
type : null,
|
132 |
-
href : null,
|
133 |
-
content : null,
|
134 |
-
title : null,
|
135 |
-
|
136 |
-
// HTML templates
|
137 |
-
tpl: {
|
138 |
-
wrap : '<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
|
139 |
-
image : '<img class="fancybox-image" src="{href}" alt="" />',
|
140 |
-
iframe : '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (IE ? ' allowtransparency="true"' : '') + '></iframe>',
|
141 |
-
error : '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
|
142 |
-
closeBtn : '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',
|
143 |
-
next : '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
|
144 |
-
prev : '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
|
145 |
-
},
|
146 |
-
|
147 |
-
// Properties for each animation type
|
148 |
-
// Opening fancyBox
|
149 |
-
openEffect : 'fade', // 'elastic', 'fade' or 'none'
|
150 |
-
openSpeed : 250,
|
151 |
-
openEasing : 'swing',
|
152 |
-
openOpacity : true,
|
153 |
-
openMethod : 'zoomIn',
|
154 |
-
|
155 |
-
// Closing fancyBox
|
156 |
-
closeEffect : 'fade', // 'elastic', 'fade' or 'none'
|
157 |
-
closeSpeed : 250,
|
158 |
-
closeEasing : 'swing',
|
159 |
-
closeOpacity : true,
|
160 |
-
closeMethod : 'zoomOut',
|
161 |
-
|
162 |
-
// Changing next gallery item
|
163 |
-
nextEffect : 'elastic', // 'elastic', 'fade' or 'none'
|
164 |
-
nextSpeed : 250,
|
165 |
-
nextEasing : 'swing',
|
166 |
-
nextMethod : 'changeIn',
|
167 |
-
|
168 |
-
// Changing previous gallery item
|
169 |
-
prevEffect : 'elastic', // 'elastic', 'fade' or 'none'
|
170 |
-
prevSpeed : 250,
|
171 |
-
prevEasing : 'swing',
|
172 |
-
prevMethod : 'changeOut',
|
173 |
-
|
174 |
-
// Enable default helpers
|
175 |
-
helpers : {
|
176 |
-
overlay : true,
|
177 |
-
title : true
|
178 |
-
},
|
179 |
-
|
180 |
-
// Callbacks
|
181 |
-
onCancel : $.noop, // If canceling
|
182 |
-
beforeLoad : $.noop, // Before loading
|
183 |
-
afterLoad : $.noop, // After loading
|
184 |
-
beforeShow : $.noop, // Before changing in current item
|
185 |
-
afterShow : $.noop, // After opening
|
186 |
-
beforeChange : $.noop, // Before changing gallery item
|
187 |
-
beforeClose : $.noop, // Before closing
|
188 |
-
afterClose : $.noop // After closing
|
189 |
-
},
|
190 |
-
|
191 |
-
//Current state
|
192 |
-
group : {}, // Selected group
|
193 |
-
opts : {}, // Group options
|
194 |
-
previous : null, // Previous element
|
195 |
-
coming : null, // Element being loaded
|
196 |
-
current : null, // Currently loaded element
|
197 |
-
isActive : false, // Is activated
|
198 |
-
isOpen : false, // Is currently open
|
199 |
-
isOpened : false, // Have been fully opened at least once
|
200 |
-
|
201 |
-
wrap : null,
|
202 |
-
skin : null,
|
203 |
-
outer : null,
|
204 |
-
inner : null,
|
205 |
-
|
206 |
-
player : {
|
207 |
-
timer : null,
|
208 |
-
isActive : false
|
209 |
-
},
|
210 |
-
|
211 |
-
// Loaders
|
212 |
-
ajaxLoad : null,
|
213 |
-
imgPreload : null,
|
214 |
-
|
215 |
-
// Some collections
|
216 |
-
transitions : {},
|
217 |
-
helpers : {},
|
218 |
-
|
219 |
-
/*
|
220 |
-
* Static methods
|
221 |
-
*/
|
222 |
-
|
223 |
-
open: function (group, opts) {
|
224 |
-
if (!group) {
|
225 |
-
return;
|
226 |
-
}
|
227 |
-
|
228 |
-
if (!$.isPlainObject(opts)) {
|
229 |
-
opts = {};
|
230 |
-
}
|
231 |
-
|
232 |
-
// Close if already active
|
233 |
-
if (false === F.close(true)) {
|
234 |
-
return;
|
235 |
-
}
|
236 |
-
|
237 |
-
// Normalize group
|
238 |
-
if (!$.isArray(group)) {
|
239 |
-
group = isQuery(group) ? $(group).get() : [group];
|
240 |
-
}
|
241 |
-
|
242 |
-
// Recheck if the type of each element is `object` and set content type (image, ajax, etc)
|
243 |
-
$.each(group, function(i, element) {
|
244 |
-
var obj = {},
|
245 |
-
href,
|
246 |
-
title,
|
247 |
-
content,
|
248 |
-
type,
|
249 |
-
rez,
|
250 |
-
hrefParts,
|
251 |
-
selector;
|
252 |
-
|
253 |
-
if ($.type(element) === "object") {
|
254 |
-
// Check if is DOM element
|
255 |
-
if (element.nodeType) {
|
256 |
-
element = $(element);
|
257 |
-
}
|
258 |
-
|
259 |
-
if (isQuery(element)) {
|
260 |
-
obj = {
|
261 |
-
href : element.data('fancybox-href') || element.attr('href'),
|
262 |
-
title : element.data('fancybox-title') || element.attr('title'),
|
263 |
-
isDom : true,
|
264 |
-
element : element
|
265 |
-
};
|
266 |
-
|
267 |
-
if ($.metadata) {
|
268 |
-
$.extend(true, obj, element.metadata());
|
269 |
-
}
|
270 |
-
|
271 |
-
} else {
|
272 |
-
obj = element;
|
273 |
-
}
|
274 |
-
}
|
275 |
-
|
276 |
-
href = opts.href || obj.href || (isString(element) ? element : null);
|
277 |
-
title = opts.title !== undefined ? opts.title : obj.title || '';
|
278 |
-
|
279 |
-
content = opts.content || obj.content;
|
280 |
-
type = content ? 'html' : (opts.type || obj.type);
|
281 |
-
|
282 |
-
if (!type && obj.isDom) {
|
283 |
-
type = element.data('fancybox-type');
|
284 |
-
|
285 |
-
if (!type) {
|
286 |
-
rez = element.prop('class').match(/fancybox\.(\w+)/);
|
287 |
-
type = rez ? rez[1] : null;
|
288 |
-
}
|
289 |
-
}
|
290 |
-
|
291 |
-
if (isString(href)) {
|
292 |
-
// Try to guess the content type
|
293 |
-
if (!type) {
|
294 |
-
if (F.isImage(href)) {
|
295 |
-
type = 'image';
|
296 |
-
|
297 |
-
} else if (F.isSWF(href)) {
|
298 |
-
type = 'swf';
|
299 |
-
|
300 |
-
} else if (href.charAt(0) === '#') {
|
301 |
-
type = 'inline';
|
302 |
-
|
303 |
-
} else if (isString(element)) {
|
304 |
-
type = 'html';
|
305 |
-
content = element;
|
306 |
-
}
|
307 |
-
}
|
308 |
-
|
309 |
-
// Split url into two pieces with source url and content selector, e.g,
|
310 |
-
// "/mypage.html #my_id" will load "/mypage.html" and display element having id "my_id"
|
311 |
-
if (type === 'ajax') {
|
312 |
-
hrefParts = href.split(/\s+/, 2);
|
313 |
-
href = hrefParts.shift();
|
314 |
-
selector = hrefParts.shift();
|
315 |
-
}
|
316 |
-
}
|
317 |
-
|
318 |
-
if (!content) {
|
319 |
-
if (type === 'inline') {
|
320 |
-
if (href) {
|
321 |
-
content = $( isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href ); //strip for ie7
|
322 |
-
|
323 |
-
} else if (obj.isDom) {
|
324 |
-
content = element;
|
325 |
-
}
|
326 |
-
|
327 |
-
} else if (type === 'html') {
|
328 |
-
content = href;
|
329 |
-
|
330 |
-
} else if (!type && !href && obj.isDom) {
|
331 |
-
type = 'inline';
|
332 |
-
content = element;
|
333 |
-
}
|
334 |
-
}
|
335 |
-
|
336 |
-
$.extend(obj, {
|
337 |
-
href : href,
|
338 |
-
type : type,
|
339 |
-
content : content,
|
340 |
-
title : title,
|
341 |
-
selector : selector
|
342 |
-
});
|
343 |
-
|
344 |
-
group[ i ] = obj;
|
345 |
-
});
|
346 |
-
|
347 |
-
// Extend the defaults
|
348 |
-
F.opts = $.extend(true, {}, F.defaults, opts);
|
349 |
-
|
350 |
-
// All options are merged recursive except keys
|
351 |
-
if (opts.keys !== undefined) {
|
352 |
-
F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : false;
|
353 |
-
}
|
354 |
-
|
355 |
-
F.group = group;
|
356 |
-
|
357 |
-
return F._start(F.opts.index);
|
358 |
-
},
|
359 |
-
|
360 |
-
// Cancel image loading or abort ajax request
|
361 |
-
cancel: function () {
|
362 |
-
var coming = F.coming;
|
363 |
-
|
364 |
-
if (!coming || false === F.trigger('onCancel')) {
|
365 |
-
return;
|
366 |
-
}
|
367 |
-
|
368 |
-
F.hideLoading();
|
369 |
-
|
370 |
-
if (F.ajaxLoad) {
|
371 |
-
F.ajaxLoad.abort();
|
372 |
-
}
|
373 |
-
|
374 |
-
F.ajaxLoad = null;
|
375 |
-
|
376 |
-
if (F.imgPreload) {
|
377 |
-
F.imgPreload.onload = F.imgPreload.onerror = null;
|
378 |
-
}
|
379 |
-
|
380 |
-
if (coming.wrap) {
|
381 |
-
coming.wrap.stop(true, true).trigger('onReset').remove();
|
382 |
-
}
|
383 |
-
|
384 |
-
F.coming = null;
|
385 |
-
|
386 |
-
// If the first item has been canceled, then clear everything
|
387 |
-
if (!F.current) {
|
388 |
-
F._afterZoomOut( coming );
|
389 |
-
}
|
390 |
-
},
|
391 |
-
|
392 |
-
// Start closing animation if is open; remove immediately if opening/closing
|
393 |
-
close: function (event) {
|
394 |
-
F.cancel();
|
395 |
-
|
396 |
-
if (false === F.trigger('beforeClose')) {
|
397 |
-
return;
|
398 |
-
}
|
399 |
-
|
400 |
-
F.unbindEvents();
|
401 |
-
|
402 |
-
if (!F.isActive) {
|
403 |
-
return;
|
404 |
-
}
|
405 |
-
|
406 |
-
if (!F.isOpen || event === true) {
|
407 |
-
$('.fancybox-wrap').stop(true).trigger('onReset').remove();
|
408 |
-
|
409 |
-
F._afterZoomOut();
|
410 |
-
|
411 |
-
} else {
|
412 |
-
F.isOpen = F.isOpened = false;
|
413 |
-
F.isClosing = true;
|
414 |
-
|
415 |
-
$('.fancybox-item, .fancybox-nav').remove();
|
416 |
-
|
417 |
-
F.wrap.stop(true, true).removeClass('fancybox-opened');
|
418 |
-
|
419 |
-
F.transitions[ F.current.closeMethod ]();
|
420 |
-
}
|
421 |
-
},
|
422 |
-
|
423 |
-
// Manage slideshow:
|
424 |
-
// $.fancybox.play(); - toggle slideshow
|
425 |
-
// $.fancybox.play( true ); - start
|
426 |
-
// $.fancybox.play( false ); - stop
|
427 |
-
play: function ( action ) {
|
428 |
-
var clear = function () {
|
429 |
-
clearTimeout(F.player.timer);
|
430 |
-
},
|
431 |
-
set = function () {
|
432 |
-
clear();
|
433 |
-
|
434 |
-
if (F.current && F.player.isActive) {
|
435 |
-
F.player.timer = setTimeout(F.next, F.current.playSpeed);
|
436 |
-
}
|
437 |
-
},
|
438 |
-
stop = function () {
|
439 |
-
clear();
|
440 |
-
|
441 |
-
$('body').unbind('.player');
|
442 |
-
|
443 |
-
F.player.isActive = false;
|
444 |
-
|
445 |
-
F.trigger('onPlayEnd');
|
446 |
-
},
|
447 |
-
start = function () {
|
448 |
-
if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) {
|
449 |
-
F.player.isActive = true;
|
450 |
-
|
451 |
-
$('body').bind({
|
452 |
-
'afterShow.player onUpdate.player' : set,
|
453 |
-
'onCancel.player beforeClose.player' : stop,
|
454 |
-
'beforeLoad.player' : clear
|
455 |
-
});
|
456 |
-
|
457 |
-
set();
|
458 |
-
|
459 |
-
F.trigger('onPlayStart');
|
460 |
-
}
|
461 |
-
};
|
462 |
-
|
463 |
-
if (action === true || (!F.player.isActive && action !== false)) {
|
464 |
-
start();
|
465 |
-
} else {
|
466 |
-
stop();
|
467 |
-
}
|
468 |
-
},
|
469 |
-
|
470 |
-
// Navigate to next gallery item
|
471 |
-
next: function ( direction ) {
|
472 |
-
var current = F.current;
|
473 |
-
|
474 |
-
if (current) {
|
475 |
-
if (!isString(direction)) {
|
476 |
-
direction = current.direction.next;
|
477 |
-
}
|
478 |
-
|
479 |
-
F.jumpto(current.index + 1, direction, 'next');
|
480 |
-
}
|
481 |
-
},
|
482 |
-
|
483 |
-
// Navigate to previous gallery item
|
484 |
-
prev: function ( direction ) {
|
485 |
-
var current = F.current;
|
486 |
-
|
487 |
-
if (current) {
|
488 |
-
if (!isString(direction)) {
|
489 |
-
direction = current.direction.prev;
|
490 |
-
}
|
491 |
-
|
492 |
-
F.jumpto(current.index - 1, direction, 'prev');
|
493 |
-
}
|
494 |
-
},
|
495 |
-
|
496 |
-
// Navigate to gallery item by index
|
497 |
-
jumpto: function ( index, direction, router ) {
|
498 |
-
var current = F.current;
|
499 |
-
|
500 |
-
if (!current) {
|
501 |
-
return;
|
502 |
-
}
|
503 |
-
|
504 |
-
index = getScalar(index);
|
505 |
-
|
506 |
-
F.direction = direction || current.direction[ (index >= current.index ? 'next' : 'prev') ];
|
507 |
-
F.router = router || 'jumpto';
|
508 |
-
|
509 |
-
if (current.loop) {
|
510 |
-
if (index < 0) {
|
511 |
-
index = current.group.length + (index % current.group.length);
|
512 |
-
}
|
513 |
-
|
514 |
-
index = index % current.group.length;
|
515 |
-
}
|
516 |
-
|
517 |
-
if (current.group[ index ] !== undefined) {
|
518 |
-
F.cancel();
|
519 |
-
|
520 |
-
F._start(index);
|
521 |
-
}
|
522 |
-
},
|
523 |
-
|
524 |
-
// Center inside viewport and toggle position type to fixed or absolute if needed
|
525 |
-
reposition: function (e, onlyAbsolute) {
|
526 |
-
var current = F.current,
|
527 |
-
wrap = current ? current.wrap : null,
|
528 |
-
pos;
|
529 |
-
|
530 |
-
if (wrap) {
|
531 |
-
pos = F._getPosition(onlyAbsolute);
|
532 |
-
|
533 |
-
if (e && e.type === 'scroll') {
|
534 |
-
delete pos.position;
|
535 |
-
|
536 |
-
wrap.stop(true, true).animate(pos, 200);
|
537 |
-
|
538 |
-
} else {
|
539 |
-
wrap.css(pos);
|
540 |
-
|
541 |
-
current.pos = $.extend({}, current.dim, pos);
|
542 |
-
}
|
543 |
-
}
|
544 |
-
},
|
545 |
-
|
546 |
-
update: function (e) {
|
547 |
-
var type = (e && e.type),
|
548 |
-
anyway = !type || type === 'orientationchange';
|
549 |
-
|
550 |
-
if (anyway) {
|
551 |
-
clearTimeout(didUpdate);
|
552 |
-
|
553 |
-
didUpdate = null;
|
554 |
-
}
|
555 |
-
|
556 |
-
if (!F.isOpen || didUpdate) {
|
557 |
-
return;
|
558 |
-
}
|
559 |
-
|
560 |
-
didUpdate = setTimeout(function() {
|
561 |
-
var current = F.current;
|
562 |
-
|
563 |
-
if (!current || F.isClosing) {
|
564 |
-
return;
|
565 |
-
}
|
566 |
-
|
567 |
-
F.wrap.removeClass('fancybox-tmp');
|
568 |
-
|
569 |
-
if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) {
|
570 |
-
F._setDimension();
|
571 |
-
}
|
572 |
-
|
573 |
-
if (!(type === 'scroll' && current.canShrink)) {
|
574 |
-
F.reposition(e);
|
575 |
-
}
|
576 |
-
|
577 |
-
F.trigger('onUpdate');
|
578 |
-
|
579 |
-
didUpdate = null;
|
580 |
-
|
581 |
-
}, (anyway && !isTouch ? 0 : 300));
|
582 |
-
},
|
583 |
-
|
584 |
-
// Shrink content to fit inside viewport or restore if resized
|
585 |
-
toggle: function ( action ) {
|
586 |
-
if (F.isOpen) {
|
587 |
-
F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView;
|
588 |
-
|
589 |
-
// Help browser to restore document dimensions
|
590 |
-
if (isTouch) {
|
591 |
-
F.wrap.removeAttr('style').addClass('fancybox-tmp');
|
592 |
-
|
593 |
-
F.trigger('onUpdate');
|
594 |
-
}
|
595 |
-
|
596 |
-
F.update();
|
597 |
-
}
|
598 |
-
},
|
599 |
-
|
600 |
-
hideLoading: function () {
|
601 |
-
D.unbind('.loading');
|
602 |
-
|
603 |
-
$('#fancybox-loading').remove();
|
604 |
-
},
|
605 |
-
|
606 |
-
showLoading: function () {
|
607 |
-
var el, viewport;
|
608 |
-
|
609 |
-
F.hideLoading();
|
610 |
-
|
611 |
-
el = $('<div id="fancybox-loading"><div></div></div>').click(F.cancel).appendTo('body');
|
612 |
-
|
613 |
-
// If user will press the escape-button, the request will be canceled
|
614 |
-
D.bind('keydown.loading', function(e) {
|
615 |
-
if ((e.which || e.keyCode) === 27) {
|
616 |
-
e.preventDefault();
|
617 |
-
|
618 |
-
F.cancel();
|
619 |
-
}
|
620 |
-
});
|
621 |
-
|
622 |
-
if (!F.defaults.fixed) {
|
623 |
-
viewport = F.getViewport();
|
624 |
-
|
625 |
-
el.css({
|
626 |
-
position : 'absolute',
|
627 |
-
top : (viewport.h * 0.5) + viewport.y,
|
628 |
-
left : (viewport.w * 0.5) + viewport.x
|
629 |
-
});
|
630 |
-
}
|
631 |
-
},
|
632 |
-
|
633 |
-
getViewport: function () {
|
634 |
-
var locked = (F.current && F.current.locked) || false,
|
635 |
-
rez = {
|
636 |
-
x: W.scrollLeft(),
|
637 |
-
y: W.scrollTop()
|
638 |
-
};
|
639 |
-
|
640 |
-
if (locked) {
|
641 |
-
rez.w = locked[0].clientWidth;
|
642 |
-
rez.h = locked[0].clientHeight;
|
643 |
-
|
644 |
-
} else {
|
645 |
-
// See http://bugs.jquery.com/ticket/6724
|
646 |
-
rez.w = isTouch && window.innerWidth ? window.innerWidth : W.width();
|
647 |
-
rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height();
|
648 |
-
}
|
649 |
-
|
650 |
-
return rez;
|
651 |
-
},
|
652 |
-
|
653 |
-
// Unbind the keyboard / clicking actions
|
654 |
-
unbindEvents: function () {
|
655 |
-
if (F.wrap && isQuery(F.wrap)) {
|
656 |
-
F.wrap.unbind('.fb');
|
657 |
-
}
|
658 |
-
|
659 |
-
D.unbind('.fb');
|
660 |
-
W.unbind('.fb');
|
661 |
-
},
|
662 |
-
|
663 |
-
bindEvents: function () {
|
664 |
-
var current = F.current,
|
665 |
-
keys;
|
666 |
-
|
667 |
-
if (!current) {
|
668 |
-
return;
|
669 |
-
}
|
670 |
-
|
671 |
-
// Changing document height on iOS devices triggers a 'resize' event,
|
672 |
-
// that can change document height... repeating infinitely
|
673 |
-
W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update);
|
674 |
-
|
675 |
-
keys = current.keys;
|
676 |
-
|
677 |
-
if (keys) {
|
678 |
-
D.bind('keydown.fb', function (e) {
|
679 |
-
var code = e.which || e.keyCode,
|
680 |
-
target = e.target || e.srcElement;
|
681 |
-
|
682 |
-
// Skip esc key if loading, because showLoading will cancel preloading
|
683 |
-
if (code === 27 && F.coming) {
|
684 |
-
return false;
|
685 |
-
}
|
686 |
-
|
687 |
-
// Ignore key combinations and key events within form elements
|
688 |
-
if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) {
|
689 |
-
$.each(keys, function(i, val) {
|
690 |
-
if (current.group.length > 1 && val[ code ] !== undefined) {
|
691 |
-
F[ i ]( val[ code ] );
|
692 |
-
|
693 |
-
e.preventDefault();
|
694 |
-
return false;
|
695 |
-
}
|
696 |
-
|
697 |
-
if ($.inArray(code, val) > -1) {
|
698 |
-
F[ i ] ();
|
699 |
-
|
700 |
-
e.preventDefault();
|
701 |
-
return false;
|
702 |
-
}
|
703 |
-
});
|
704 |
-
}
|
705 |
-
});
|
706 |
-
}
|
707 |
-
|
708 |
-
if ($.fn.mousewheel && current.mouseWheel) {
|
709 |
-
F.wrap.bind('mousewheel.fb', function (e, delta, deltaX, deltaY) {
|
710 |
-
var target = e.target || null,
|
711 |
-
parent = $(target),
|
712 |
-
canScroll = false;
|
713 |
-
|
714 |
-
while (parent.length) {
|
715 |
-
if (canScroll || parent.is('.fancybox-skin') || parent.is('.fancybox-wrap')) {
|
716 |
-
break;
|
717 |
-
}
|
718 |
-
|
719 |
-
canScroll = isScrollable( parent[0] );
|
720 |
-
parent = $(parent).parent();
|
721 |
-
}
|
722 |
-
|
723 |
-
if (delta !== 0 && !canScroll) {
|
724 |
-
if (F.group.length > 1 && !current.canShrink) {
|
725 |
-
if (deltaY > 0 || deltaX > 0) {
|
726 |
-
F.prev( deltaY > 0 ? 'down' : 'left' );
|
727 |
-
|
728 |
-
} else if (deltaY < 0 || deltaX < 0) {
|
729 |
-
F.next( deltaY < 0 ? 'up' : 'right' );
|
730 |
-
}
|
731 |
-
|
732 |
-
e.preventDefault();
|
733 |
-
}
|
734 |
-
}
|
735 |
-
});
|
736 |
-
}
|
737 |
-
},
|
738 |
-
|
739 |
-
trigger: function (event, o) {
|
740 |
-
var ret, obj = o || F.coming || F.current;
|
741 |
-
|
742 |
-
if (!obj) {
|
743 |
-
return;
|
744 |
-
}
|
745 |
-
|
746 |
-
if ($.isFunction( obj[event] )) {
|
747 |
-
ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1));
|
748 |
-
}
|
749 |
-
|
750 |
-
if (ret === false) {
|
751 |
-
return false;
|
752 |
-
}
|
753 |
-
|
754 |
-
if (obj.helpers) {
|
755 |
-
$.each(obj.helpers, function (helper, opts) {
|
756 |
-
if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) {
|
757 |
-
opts = $.extend(true, {}, F.helpers[helper].defaults, opts);
|
758 |
-
|
759 |
-
F.helpers[helper][event](opts, obj);
|
760 |
-
}
|
761 |
-
});
|
762 |
-
}
|
763 |
-
|
764 |
-
$.event.trigger(event + '.fb');
|
765 |
-
},
|
766 |
-
|
767 |
-
isImage: function (str) {
|
768 |
-
return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp)((\?|#).*)?$)/i);
|
769 |
-
},
|
770 |
-
|
771 |
-
isSWF: function (str) {
|
772 |
-
return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i);
|
773 |
-
},
|
774 |
-
|
775 |
-
_start: function (index) {
|
776 |
-
var coming = {},
|
777 |
-
obj,
|
778 |
-
href,
|
779 |
-
type,
|
780 |
-
margin,
|
781 |
-
padding;
|
782 |
-
|
783 |
-
index = getScalar( index );
|
784 |
-
obj = F.group[ index ] || null;
|
785 |
-
|
786 |
-
if (!obj) {
|
787 |
-
return false;
|
788 |
-
}
|
789 |
-
|
790 |
-
coming = $.extend(true, {}, F.opts, obj);
|
791 |
-
|
792 |
-
// Convert margin and padding properties to array - top, right, bottom, left
|
793 |
-
margin = coming.margin;
|
794 |
-
padding = coming.padding;
|
795 |
-
|
796 |
-
if ($.type(margin) === 'number') {
|
797 |
-
coming.margin = [margin, margin, margin, margin];
|
798 |
-
}
|
799 |
-
|
800 |
-
if ($.type(padding) === 'number') {
|
801 |
-
coming.padding = [padding, padding, padding, padding];
|
802 |
-
}
|
803 |
-
|
804 |
-
// 'modal' propery is just a shortcut
|
805 |
-
if (coming.modal) {
|
806 |
-
$.extend(true, coming, {
|
807 |
-
closeBtn : false,
|
808 |
-
closeClick : false,
|
809 |
-
nextClick : false,
|
810 |
-
arrows : false,
|
811 |
-
mouseWheel : false,
|
812 |
-
keys : null,
|
813 |
-
helpers: {
|
814 |
-
overlay : {
|
815 |
-
closeClick : false
|
816 |
-
}
|
817 |
-
}
|
818 |
-
});
|
819 |
-
}
|
820 |
-
|
821 |
-
// 'autoSize' property is a shortcut, too
|
822 |
-
if (coming.autoSize) {
|
823 |
-
coming.autoWidth = coming.autoHeight = true;
|
824 |
-
}
|
825 |
-
|
826 |
-
if (coming.width === 'auto') {
|
827 |
-
coming.autoWidth = true;
|
828 |
-
}
|
829 |
-
|
830 |
-
if (coming.height === 'auto') {
|
831 |
-
coming.autoHeight = true;
|
832 |
-
}
|
833 |
-
|
834 |
-
/*
|
835 |
-
* Add reference to the group, so it`s possible to access from callbacks, example:
|
836 |
-
* afterLoad : function() {
|
837 |
-
* this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
|
838 |
-
* }
|
839 |
-
*/
|
840 |
-
|
841 |
-
coming.group = F.group;
|
842 |
-
coming.index = index;
|
843 |
-
|
844 |
-
// Give a chance for callback or helpers to update coming item (type, title, etc)
|
845 |
-
F.coming = coming;
|
846 |
-
|
847 |
-
if (false === F.trigger('beforeLoad')) {
|
848 |
-
F.coming = null;
|
849 |
-
|
850 |
-
return;
|
851 |
-
}
|
852 |
-
|
853 |
-
type = coming.type;
|
854 |
-
href = coming.href;
|
855 |
-
|
856 |
-
if (!type) {
|
857 |
-
F.coming = null;
|
858 |
-
|
859 |
-
//If we can not determine content type then drop silently or display next/prev item if looping through gallery
|
860 |
-
if (F.current && F.router && F.router !== 'jumpto') {
|
861 |
-
F.current.index = index;
|
862 |
-
|
863 |
-
return F[ F.router ]( F.direction );
|
864 |
-
}
|
865 |
-
|
866 |
-
return false;
|
867 |
-
}
|
868 |
-
|
869 |
-
F.isActive = true;
|
870 |
-
|
871 |
-
if (type === 'image' || type === 'swf') {
|
872 |
-
coming.autoHeight = coming.autoWidth = false;
|
873 |
-
coming.scrolling = 'visible';
|
874 |
-
}
|
875 |
-
|
876 |
-
if (type === 'image') {
|
877 |
-
coming.aspectRatio = true;
|
878 |
-
}
|
879 |
-
|
880 |
-
if (type === 'iframe' && isTouch) {
|
881 |
-
coming.scrolling = 'scroll';
|
882 |
-
}
|
883 |
-
|
884 |
-
// Build the neccessary markup
|
885 |
-
coming.wrap = $(coming.tpl.wrap).addClass('fancybox-' + (isTouch ? 'mobile' : 'desktop') + ' fancybox-type-' + type + ' fancybox-tmp ' + coming.wrapCSS).appendTo( coming.parent || 'body' );
|
886 |
-
|
887 |
-
$.extend(coming, {
|
888 |
-
skin : $('.fancybox-skin', coming.wrap),
|
889 |
-
outer : $('.fancybox-outer', coming.wrap),
|
890 |
-
inner : $('.fancybox-inner', coming.wrap)
|
891 |
-
});
|
892 |
-
|
893 |
-
$.each(["Top", "Right", "Bottom", "Left"], function(i, v) {
|
894 |
-
coming.skin.css('padding' + v, getValue(coming.padding[ i ]));
|
895 |
-
});
|
896 |
-
|
897 |
-
F.trigger('onReady');
|
898 |
-
|
899 |
-
// Check before try to load; 'inline' and 'html' types need content, others - href
|
900 |
-
if (type === 'inline' || type === 'html') {
|
901 |
-
if (!coming.content || !coming.content.length) {
|
902 |
-
return F._error( 'content' );
|
903 |
-
}
|
904 |
-
|
905 |
-
} else if (!href) {
|
906 |
-
return F._error( 'href' );
|
907 |
-
}
|
908 |
-
|
909 |
-
if (type === 'image') {
|
910 |
-
F._loadImage();
|
911 |
-
|
912 |
-
} else if (type === 'ajax') {
|
913 |
-
F._loadAjax();
|
914 |
-
|
915 |
-
} else if (type === 'iframe') {
|
916 |
-
F._loadIframe();
|
917 |
-
|
918 |
-
} else {
|
919 |
-
F._afterLoad();
|
920 |
-
}
|
921 |
-
},
|
922 |
-
|
923 |
-
_error: function ( type ) {
|
924 |
-
$.extend(F.coming, {
|
925 |
-
type : 'html',
|
926 |
-
autoWidth : true,
|
927 |
-
autoHeight : true,
|
928 |
-
minWidth : 0,
|
929 |
-
minHeight : 0,
|
930 |
-
scrolling : 'no',
|
931 |
-
hasError : type,
|
932 |
-
content : F.coming.tpl.error
|
933 |
-
});
|
934 |
-
|
935 |
-
F._afterLoad();
|
936 |
-
},
|
937 |
-
|
938 |
-
_loadImage: function () {
|
939 |
-
// Reset preload image so it is later possible to check "complete" property
|
940 |
-
var img = F.imgPreload = new Image();
|
941 |
-
|
942 |
-
img.onload = function () {
|
943 |
-
this.onload = this.onerror = null;
|
944 |
-
|
945 |
-
F.coming.width = this.width;
|
946 |
-
F.coming.height = this.height;
|
947 |
-
|
948 |
-
F._afterLoad();
|
949 |
-
};
|
950 |
-
|
951 |
-
img.onerror = function () {
|
952 |
-
this.onload = this.onerror = null;
|
953 |
-
|
954 |
-
F._error( 'image' );
|
955 |
-
};
|
956 |
-
|
957 |
-
img.src = F.coming.href;
|
958 |
-
|
959 |
-
if (img.complete !== true) {
|
960 |
-
F.showLoading();
|
961 |
-
}
|
962 |
-
},
|
963 |
-
|
964 |
-
_loadAjax: function () {
|
965 |
-
var coming = F.coming;
|
966 |
-
|
967 |
-
F.showLoading();
|
968 |
-
|
969 |
-
F.ajaxLoad = $.ajax($.extend({}, coming.ajax, {
|
970 |
-
url: coming.href,
|
971 |
-
error: function (jqXHR, textStatus) {
|
972 |
-
if (F.coming && textStatus !== 'abort') {
|
973 |
-
F._error( 'ajax', jqXHR );
|
974 |
-
|
975 |
-
} else {
|
976 |
-
F.hideLoading();
|
977 |
-
}
|
978 |
-
},
|
979 |
-
success: function (data, textStatus) {
|
980 |
-
if (textStatus === 'success') {
|
981 |
-
coming.content = data;
|
982 |
-
|
983 |
-
F._afterLoad();
|
984 |
-
}
|
985 |
-
}
|
986 |
-
}));
|
987 |
-
},
|
988 |
-
|
989 |
-
_loadIframe: function() {
|
990 |
-
var coming = F.coming,
|
991 |
-
iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime()))
|
992 |
-
.attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling)
|
993 |
-
.attr('src', coming.href);
|
994 |
-
|
995 |
-
// This helps IE
|
996 |
-
$(coming.wrap).bind('onReset', function () {
|
997 |
-
try {
|
998 |
-
$(this).find('iframe').hide().attr('src', '//about:blank').end().empty();
|
999 |
-
} catch (e) {}
|
1000 |
-
});
|
1001 |
-
|
1002 |
-
if (coming.iframe.preload) {
|
1003 |
-
F.showLoading();
|
1004 |
-
|
1005 |
-
iframe.one('load', function() {
|
1006 |
-
$(this).data('ready', 1);
|
1007 |
-
|
1008 |
-
// iOS will lose scrolling if we resize
|
1009 |
-
if (!isTouch) {
|
1010 |
-
$(this).bind('load.fb', F.update);
|
1011 |
-
}
|
1012 |
-
|
1013 |
-
// Without this trick:
|
1014 |
-
// - iframe won't scroll on iOS devices
|
1015 |
-
// - IE7 sometimes displays empty iframe
|
1016 |
-
$(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show();
|
1017 |
-
|
1018 |
-
F._afterLoad();
|
1019 |
-
});
|
1020 |
-
}
|
1021 |
-
|
1022 |
-
coming.content = iframe.appendTo( coming.inner );
|
1023 |
-
|
1024 |
-
if (!coming.iframe.preload) {
|
1025 |
-
F._afterLoad();
|
1026 |
-
}
|
1027 |
-
},
|
1028 |
-
|
1029 |
-
_preloadImages: function() {
|
1030 |
-
var group = F.group,
|
1031 |
-
current = F.current,
|
1032 |
-
len = group.length,
|
1033 |
-
cnt = current.preload ? Math.min(current.preload, len - 1) : 0,
|
1034 |
-
item,
|
1035 |
-
i;
|
1036 |
-
|
1037 |
-
for (i = 1; i <= cnt; i += 1) {
|
1038 |
-
item = group[ (current.index + i ) % len ];
|
1039 |
-
|
1040 |
-
if (item.type === 'image' && item.href) {
|
1041 |
-
new Image().src = item.href;
|
1042 |
-
}
|
1043 |
-
}
|
1044 |
-
},
|
1045 |
-
|
1046 |
-
_afterLoad: function () {
|
1047 |
-
var coming = F.coming,
|
1048 |
-
previous = F.current,
|
1049 |
-
placeholder = 'fancybox-placeholder',
|
1050 |
-
current,
|
1051 |
-
content,
|
1052 |
-
type,
|
1053 |
-
scrolling,
|
1054 |
-
href,
|
1055 |
-
embed;
|
1056 |
-
|
1057 |
-
F.hideLoading();
|
1058 |
-
|
1059 |
-
if (!coming || F.isActive === false) {
|
1060 |
-
return;
|
1061 |
-
}
|
1062 |
-
|
1063 |
-
if (false === F.trigger('afterLoad', coming, previous)) {
|
1064 |
-
coming.wrap.stop(true).trigger('onReset').remove();
|
1065 |
-
|
1066 |
-
F.coming = null;
|
1067 |
-
|
1068 |
-
return;
|
1069 |
-
}
|
1070 |
-
|
1071 |
-
if (previous) {
|
1072 |
-
F.trigger('beforeChange', previous);
|
1073 |
-
|
1074 |
-
previous.wrap.stop(true).removeClass('fancybox-opened')
|
1075 |
-
.find('.fancybox-item, .fancybox-nav')
|
1076 |
-
.remove();
|
1077 |
-
}
|
1078 |
-
|
1079 |
-
F.unbindEvents();
|
1080 |
-
|
1081 |
-
current = coming;
|
1082 |
-
content = coming.content;
|
1083 |
-
type = coming.type;
|
1084 |
-
scrolling = coming.scrolling;
|
1085 |
-
|
1086 |
-
$.extend(F, {
|
1087 |
-
wrap : current.wrap,
|
1088 |
-
skin : current.skin,
|
1089 |
-
outer : current.outer,
|
1090 |
-
inner : current.inner,
|
1091 |
-
current : current,
|
1092 |
-
previous : previous
|
1093 |
-
});
|
1094 |
-
|
1095 |
-
href = current.href;
|
1096 |
-
|
1097 |
-
switch (type) {
|
1098 |
-
case 'inline':
|
1099 |
-
case 'ajax':
|
1100 |
-
case 'html':
|
1101 |
-
if (current.selector) {
|
1102 |
-
content = $('<div>').html(content).find(current.selector);
|
1103 |
-
|
1104 |
-
} else if (isQuery(content)) {
|
1105 |
-
if (!content.data(placeholder)) {
|
1106 |
-
content.data(placeholder, $('<div class="' + placeholder + '"></div>').insertAfter( content ).hide() );
|
1107 |
-
}
|
1108 |
-
|
1109 |
-
content = content.show().detach();
|
1110 |
-
|
1111 |
-
current.wrap.bind('onReset', function () {
|
1112 |
-
if ($(this).find(content).length) {
|
1113 |
-
content.hide().replaceAll( content.data(placeholder) ).data(placeholder, false);
|
1114 |
-
}
|
1115 |
-
});
|
1116 |
-
}
|
1117 |
-
break;
|
1118 |
-
|
1119 |
-
case 'image':
|
1120 |
-
content = current.tpl.image.replace('{href}', href);
|
1121 |
-
break;
|
1122 |
-
|
1123 |
-
case 'swf':
|
1124 |
-
content = '<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + href + '"></param>';
|
1125 |
-
embed = '';
|
1126 |
-
|
1127 |
-
$.each(current.swf, function(name, val) {
|
1128 |
-
content += '<param name="' + name + '" value="' + val + '"></param>';
|
1129 |
-
embed += ' ' + name + '="' + val + '"';
|
1130 |
-
});
|
1131 |
-
|
1132 |
-
content += '<embed src="' + href + '" type="application/x-shockwave-flash" width="100%" height="100%"' + embed + '></embed></object>';
|
1133 |
-
break;
|
1134 |
-
}
|
1135 |
-
|
1136 |
-
if (!(isQuery(content) && content.parent().is(current.inner))) {
|
1137 |
-
current.inner.append( content );
|
1138 |
-
}
|
1139 |
-
|
1140 |
-
// Give a chance for helpers or callbacks to update elements
|
1141 |
-
F.trigger('beforeShow');
|
1142 |
-
|
1143 |
-
// Set scrolling before calculating dimensions
|
1144 |
-
current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling));
|
1145 |
-
|
1146 |
-
// Set initial dimensions and start position
|
1147 |
-
F._setDimension();
|
1148 |
-
|
1149 |
-
F.reposition();
|
1150 |
-
|
1151 |
-
F.isOpen = false;
|
1152 |
-
F.coming = null;
|
1153 |
-
|
1154 |
-
F.bindEvents();
|
1155 |
-
|
1156 |
-
if (!F.isOpened) {
|
1157 |
-
$('.fancybox-wrap').not( current.wrap ).stop(true).trigger('onReset').remove();
|
1158 |
-
|
1159 |
-
} else if (previous.prevMethod) {
|
1160 |
-
F.transitions[ previous.prevMethod ]();
|
1161 |
-
}
|
1162 |
-
|
1163 |
-
F.transitions[ F.isOpened ? current.nextMethod : current.openMethod ]();
|
1164 |
-
|
1165 |
-
F._preloadImages();
|
1166 |
-
},
|
1167 |
-
|
1168 |
-
_setDimension: function () {
|
1169 |
-
var viewport = F.getViewport(),
|
1170 |
-
steps = 0,
|
1171 |
-
canShrink = false,
|
1172 |
-
canExpand = false,
|
1173 |
-
wrap = F.wrap,
|
1174 |
-
skin = F.skin,
|
1175 |
-
inner = F.inner,
|
1176 |
-
current = F.current,
|
1177 |
-
width = current.width,
|
1178 |
-
height = current.height,
|
1179 |
-
minWidth = current.minWidth,
|
1180 |
-
minHeight = current.minHeight,
|
1181 |
-
maxWidth = current.maxWidth,
|
1182 |
-
maxHeight = current.maxHeight,
|
1183 |
-
scrolling = current.scrolling,
|
1184 |
-
scrollOut = current.scrollOutside ? current.scrollbarWidth : 0,
|
1185 |
-
margin = current.margin,
|
1186 |
-
wMargin = getScalar(margin[1] + margin[3]),
|
1187 |
-
hMargin = getScalar(margin[0] + margin[2]),
|
1188 |
-
wPadding,
|
1189 |
-
hPadding,
|
1190 |
-
wSpace,
|
1191 |
-
hSpace,
|
1192 |
-
origWidth,
|
1193 |
-
origHeight,
|
1194 |
-
origMaxWidth,
|
1195 |
-
origMaxHeight,
|
1196 |
-
ratio,
|
1197 |
-
width_,
|
1198 |
-
height_,
|
1199 |
-
maxWidth_,
|
1200 |
-
maxHeight_,
|
1201 |
-
iframe,
|
1202 |
-
body;
|
1203 |
-
|
1204 |
-
// Reset dimensions so we could re-check actual size
|
1205 |
-
wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp');
|
1206 |
-
|
1207 |
-
wPadding = getScalar(skin.outerWidth(true) - skin.width());
|
1208 |
-
hPadding = getScalar(skin.outerHeight(true) - skin.height());
|
1209 |
-
|
1210 |
-
// Any space between content and viewport (margin, padding, border, title)
|
1211 |
-
wSpace = wMargin + wPadding;
|
1212 |
-
hSpace = hMargin + hPadding;
|
1213 |
-
|
1214 |
-
origWidth = isPercentage(width) ? (viewport.w - wSpace) * getScalar(width) / 100 : width;
|
1215 |
-
origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height;
|
1216 |
-
|
1217 |
-
if (current.type === 'iframe') {
|
1218 |
-
iframe = current.content;
|
1219 |
-
|
1220 |
-
if (current.autoHeight && iframe.data('ready') === 1) {
|
1221 |
-
try {
|
1222 |
-
if (iframe[0].contentWindow.document.location) {
|
1223 |
-
inner.width( origWidth ).height(9999);
|
1224 |
-
|
1225 |
-
body = iframe.contents().find('body');
|
1226 |
-
|
1227 |
-
if (scrollOut) {
|
1228 |
-
body.css('overflow-x', 'hidden');
|
1229 |
-
}
|
1230 |
-
|
1231 |
-
origHeight = body.height();
|
1232 |
-
}
|
1233 |
-
|
1234 |
-
} catch (e) {}
|
1235 |
-
}
|
1236 |
-
|
1237 |
-
} else if (current.autoWidth || current.autoHeight) {
|
1238 |
-
inner.addClass( 'fancybox-tmp' );
|
1239 |
-
|
1240 |
-
// Set width or height in case we need to calculate only one dimension
|
1241 |
-
if (!current.autoWidth) {
|
1242 |
-
inner.width( origWidth );
|
1243 |
-
}
|
1244 |
-
|
1245 |
-
if (!current.autoHeight) {
|
1246 |
-
inner.height( origHeight );
|
1247 |
-
}
|
1248 |
-
|
1249 |
-
if (current.autoWidth) {
|
1250 |
-
origWidth = inner.width();
|
1251 |
-
}
|
1252 |
-
|
1253 |
-
if (current.autoHeight) {
|
1254 |
-
origHeight = inner.height();
|
1255 |
-
}
|
1256 |
-
|
1257 |
-
inner.removeClass( 'fancybox-tmp' );
|
1258 |
-
}
|
1259 |
-
|
1260 |
-
width = getScalar( origWidth );
|
1261 |
-
height = getScalar( origHeight );
|
1262 |
-
|
1263 |
-
ratio = origWidth / origHeight;
|
1264 |
-
|
1265 |
-
// Calculations for the content
|
1266 |
-
minWidth = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth);
|
1267 |
-
maxWidth = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth);
|
1268 |
-
|
1269 |
-
minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight);
|
1270 |
-
maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight);
|
1271 |
-
|
1272 |
-
// These will be used to determine if wrap can fit in the viewport
|
1273 |
-
origMaxWidth = maxWidth;
|
1274 |
-
origMaxHeight = maxHeight;
|
1275 |
-
|
1276 |
-
if (current.fitToView) {
|
1277 |
-
maxWidth = Math.min(viewport.w - wSpace, maxWidth);
|
1278 |
-
maxHeight = Math.min(viewport.h - hSpace, maxHeight);
|
1279 |
-
}
|
1280 |
-
|
1281 |
-
maxWidth_ = viewport.w - wMargin;
|
1282 |
-
maxHeight_ = viewport.h - hMargin;
|
1283 |
-
|
1284 |
-
if (current.aspectRatio) {
|
1285 |
-
if (width > maxWidth) {
|
1286 |
-
width = maxWidth;
|
1287 |
-
height = getScalar(width / ratio);
|
1288 |
-
}
|
1289 |
-
|
1290 |
-
if (height > maxHeight) {
|
1291 |
-
height = maxHeight;
|
1292 |
-
width = getScalar(height * ratio);
|
1293 |
-
}
|
1294 |
-
|
1295 |
-
if (width < minWidth) {
|
1296 |
-
width = minWidth;
|
1297 |
-
height = getScalar(width / ratio);
|
1298 |
-
}
|
1299 |
-
|
1300 |
-
if (height < minHeight) {
|
1301 |
-
height = minHeight;
|
1302 |
-
width = getScalar(height * ratio);
|
1303 |
-
}
|
1304 |
-
|
1305 |
-
} else {
|
1306 |
-
width = Math.max(minWidth, Math.min(width, maxWidth));
|
1307 |
-
|
1308 |
-
if (current.autoHeight && current.type !== 'iframe') {
|
1309 |
-
inner.width( width );
|
1310 |
-
|
1311 |
-
height = inner.height();
|
1312 |
-
}
|
1313 |
-
|
1314 |
-
height = Math.max(minHeight, Math.min(height, maxHeight));
|
1315 |
-
}
|
1316 |
-
|
1317 |
-
// Try to fit inside viewport (including the title)
|
1318 |
-
if (current.fitToView) {
|
1319 |
-
inner.width( width ).height( height );
|
1320 |
-
|
1321 |
-
wrap.width( width + wPadding );
|
1322 |
-
|
1323 |
-
// Real wrap dimensions
|
1324 |
-
width_ = wrap.width();
|
1325 |
-
height_ = wrap.height();
|
1326 |
-
|
1327 |
-
if (current.aspectRatio) {
|
1328 |
-
while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) {
|
1329 |
-
if (steps++ > 19) {
|
1330 |
-
break;
|
1331 |
-
}
|
1332 |
-
|
1333 |
-
height = Math.max(minHeight, Math.min(maxHeight, height - 10));
|
1334 |
-
width = getScalar(height * ratio);
|
1335 |
-
|
1336 |
-
if (width < minWidth) {
|
1337 |
-
width = minWidth;
|
1338 |
-
height = getScalar(width / ratio);
|
1339 |
-
}
|
1340 |
-
|
1341 |
-
if (width > maxWidth) {
|
1342 |
-
width = maxWidth;
|
1343 |
-
height = getScalar(width / ratio);
|
1344 |
-
}
|
1345 |
-
|
1346 |
-
inner.width( width ).height( height );
|
1347 |
-
|
1348 |
-
wrap.width( width + wPadding );
|
1349 |
-
|
1350 |
-
width_ = wrap.width();
|
1351 |
-
height_ = wrap.height();
|
1352 |
-
}
|
1353 |
-
|
1354 |
-
} else {
|
1355 |
-
width = Math.max(minWidth, Math.min(width, width - (width_ - maxWidth_)));
|
1356 |
-
height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_)));
|
1357 |
-
}
|
1358 |
-
}
|
1359 |
-
|
1360 |
-
if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) {
|
1361 |
-
width += scrollOut;
|
1362 |
-
}
|
1363 |
-
|
1364 |
-
inner.width( width ).height( height );
|
1365 |
-
|
1366 |
-
wrap.width( width + wPadding );
|
1367 |
-
|
1368 |
-
width_ = wrap.width();
|
1369 |
-
height_ = wrap.height();
|
1370 |
-
|
1371 |
-
canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight;
|
1372 |
-
canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight));
|
1373 |
-
|
1374 |
-
$.extend(current, {
|
1375 |
-
dim : {
|
1376 |
-
width : getValue( width_ ),
|
1377 |
-
height : getValue( height_ )
|
1378 |
-
},
|
1379 |
-
origWidth : origWidth,
|
1380 |
-
origHeight : origHeight,
|
1381 |
-
canShrink : canShrink,
|
1382 |
-
canExpand : canExpand,
|
1383 |
-
wPadding : wPadding,
|
1384 |
-
hPadding : hPadding,
|
1385 |
-
wrapSpace : height_ - skin.outerHeight(true),
|
1386 |
-
skinSpace : skin.height() - height
|
1387 |
-
});
|
1388 |
-
|
1389 |
-
if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) {
|
1390 |
-
inner.height('auto');
|
1391 |
-
}
|
1392 |
-
},
|
1393 |
-
|
1394 |
-
_getPosition: function (onlyAbsolute) {
|
1395 |
-
var current = F.current,
|
1396 |
-
viewport = F.getViewport(),
|
1397 |
-
margin = current.margin,
|
1398 |
-
width = F.wrap.width() + margin[1] + margin[3],
|
1399 |
-
height = F.wrap.height() + margin[0] + margin[2],
|
1400 |
-
rez = {
|
1401 |
-
position: 'absolute',
|
1402 |
-
top : margin[0],
|
1403 |
-
left : margin[3]
|
1404 |
-
};
|
1405 |
-
|
1406 |
-
if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) {
|
1407 |
-
rez.position = 'fixed';
|
1408 |
-
|
1409 |
-
} else if (!current.locked) {
|
1410 |
-
rez.top += viewport.y;
|
1411 |
-
rez.left += viewport.x;
|
1412 |
-
}
|
1413 |
-
|
1414 |
-
rez.top = getValue(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio)));
|
1415 |
-
rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width) * current.leftRatio)));
|
1416 |
-
|
1417 |
-
return rez;
|
1418 |
-
},
|
1419 |
-
|
1420 |
-
_afterZoomIn: function () {
|
1421 |
-
var current = F.current;
|
1422 |
-
|
1423 |
-
if (!current) {
|
1424 |
-
return;
|
1425 |
-
}
|
1426 |
-
|
1427 |
-
F.isOpen = F.isOpened = true;
|
1428 |
-
|
1429 |
-
F.wrap.css('overflow', 'visible').addClass('fancybox-opened');
|
1430 |
-
|
1431 |
-
F.update();
|
1432 |
-
|
1433 |
-
// Assign a click event
|
1434 |
-
if ( current.closeClick || (current.nextClick && F.group.length > 1) ) {
|
1435 |
-
F.inner.css('cursor', 'pointer').bind('click.fb', function(e) {
|
1436 |
-
if (!$(e.target).is('a') && !$(e.target).parent().is('a')) {
|
1437 |
-
e.preventDefault();
|
1438 |
-
|
1439 |
-
F[ current.closeClick ? 'close' : 'next' ]();
|
1440 |
-
}
|
1441 |
-
});
|
1442 |
-
}
|
1443 |
-
|
1444 |
-
// Create a close button
|
1445 |
-
if (current.closeBtn) {
|
1446 |
-
$(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) {
|
1447 |
-
e.preventDefault();
|
1448 |
-
|
1449 |
-
F.close();
|
1450 |
-
});
|
1451 |
-
}
|
1452 |
-
|
1453 |
-
// Create navigation arrows
|
1454 |
-
if (current.arrows && F.group.length > 1) {
|
1455 |
-
if (current.loop || current.index > 0) {
|
1456 |
-
$(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev);
|
1457 |
-
}
|
1458 |
-
|
1459 |
-
if (current.loop || current.index < F.group.length - 1) {
|
1460 |
-
$(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next);
|
1461 |
-
}
|
1462 |
-
}
|
1463 |
-
|
1464 |
-
F.trigger('afterShow');
|
1465 |
-
|
1466 |
-
// Stop the slideshow if this is the last item
|
1467 |
-
if (!current.loop && current.index === current.group.length - 1) {
|
1468 |
-
F.play( false );
|
1469 |
-
|
1470 |
-
} else if (F.opts.autoPlay && !F.player.isActive) {
|
1471 |
-
F.opts.autoPlay = false;
|
1472 |
-
|
1473 |
-
F.play();
|
1474 |
-
}
|
1475 |
-
},
|
1476 |
-
|
1477 |
-
_afterZoomOut: function ( obj ) {
|
1478 |
-
obj = obj || F.current;
|
1479 |
-
|
1480 |
-
$('.fancybox-wrap').trigger('onReset').remove();
|
1481 |
-
|
1482 |
-
$.extend(F, {
|
1483 |
-
group : {},
|
1484 |
-
opts : {},
|
1485 |
-
router : false,
|
1486 |
-
current : null,
|
1487 |
-
isActive : false,
|
1488 |
-
isOpened : false,
|
1489 |
-
isOpen : false,
|
1490 |
-
isClosing : false,
|
1491 |
-
wrap : null,
|
1492 |
-
skin : null,
|
1493 |
-
outer : null,
|
1494 |
-
inner : null
|
1495 |
-
});
|
1496 |
-
|
1497 |
-
F.trigger('afterClose', obj);
|
1498 |
-
}
|
1499 |
-
});
|
1500 |
-
|
1501 |
-
/*
|
1502 |
-
* Default transitions
|
1503 |
-
*/
|
1504 |
-
|
1505 |
-
F.transitions = {
|
1506 |
-
getOrigPosition: function () {
|
1507 |
-
var current = F.current,
|
1508 |
-
element = current.element,
|
1509 |
-
orig = current.orig,
|
1510 |
-
pos = {},
|
1511 |
-
width = 50,
|
1512 |
-
height = 50,
|
1513 |
-
hPadding = current.hPadding,
|
1514 |
-
wPadding = current.wPadding,
|
1515 |
-
viewport = F.getViewport();
|
1516 |
-
|
1517 |
-
if (!orig && current.isDom && element.is(':visible')) {
|
1518 |
-
orig = element.find('img:first');
|
1519 |
-
|
1520 |
-
if (!orig.length) {
|
1521 |
-
orig = element;
|
1522 |
-
}
|
1523 |
-
}
|
1524 |
-
|
1525 |
-
if (isQuery(orig)) {
|
1526 |
-
pos = orig.offset();
|
1527 |
-
|
1528 |
-
if (orig.is('img')) {
|
1529 |
-
width = orig.outerWidth();
|
1530 |
-
height = orig.outerHeight();
|
1531 |
-
}
|
1532 |
-
|
1533 |
-
} else {
|
1534 |
-
pos.top = viewport.y + (viewport.h - height) * current.topRatio;
|
1535 |
-
pos.left = viewport.x + (viewport.w - width) * current.leftRatio;
|
1536 |
-
}
|
1537 |
-
|
1538 |
-
if (F.wrap.css('position') === 'fixed' || current.locked) {
|
1539 |
-
pos.top -= viewport.y;
|
1540 |
-
pos.left -= viewport.x;
|
1541 |
-
}
|
1542 |
-
|
1543 |
-
pos = {
|
1544 |
-
top : getValue(pos.top - hPadding * current.topRatio),
|
1545 |
-
left : getValue(pos.left - wPadding * current.leftRatio),
|
1546 |
-
width : getValue(width + wPadding),
|
1547 |
-
height : getValue(height + hPadding)
|
1548 |
-
};
|
1549 |
-
|
1550 |
-
return pos;
|
1551 |
-
},
|
1552 |
-
|
1553 |
-
step: function (now, fx) {
|
1554 |
-
var ratio,
|
1555 |
-
padding,
|
1556 |
-
value,
|
1557 |
-
prop = fx.prop,
|
1558 |
-
current = F.current,
|
1559 |
-
wrapSpace = current.wrapSpace,
|
1560 |
-
skinSpace = current.skinSpace;
|
1561 |
-
|
1562 |
-
if (prop === 'width' || prop === 'height') {
|
1563 |
-
ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start);
|
1564 |
-
|
1565 |
-
if (F.isClosing) {
|
1566 |
-
ratio = 1 - ratio;
|
1567 |
-
}
|
1568 |
-
|
1569 |
-
padding = prop === 'width' ? current.wPadding : current.hPadding;
|
1570 |
-
value = now - padding;
|
1571 |
-
|
1572 |
-
F.skin[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) ) );
|
1573 |
-
F.inner[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) - (skinSpace * ratio) ) );
|
1574 |
-
}
|
1575 |
-
},
|
1576 |
-
|
1577 |
-
zoomIn: function () {
|
1578 |
-
var current = F.current,
|
1579 |
-
startPos = current.pos,
|
1580 |
-
effect = current.openEffect,
|
1581 |
-
elastic = effect === 'elastic',
|
1582 |
-
endPos = $.extend({opacity : 1}, startPos);
|
1583 |
-
|
1584 |
-
// Remove "position" property that breaks older IE
|
1585 |
-
delete endPos.position;
|
1586 |
-
|
1587 |
-
if (elastic) {
|
1588 |
-
startPos = this.getOrigPosition();
|
1589 |
-
|
1590 |
-
if (current.openOpacity) {
|
1591 |
-
startPos.opacity = 0.1;
|
1592 |
-
}
|
1593 |
-
|
1594 |
-
} else if (effect === 'fade') {
|
1595 |
-
startPos.opacity = 0.1;
|
1596 |
-
}
|
1597 |
-
|
1598 |
-
F.wrap.css(startPos).animate(endPos, {
|
1599 |
-
duration : effect === 'none' ? 0 : current.openSpeed,
|
1600 |
-
easing : current.openEasing,
|
1601 |
-
step : elastic ? this.step : null,
|
1602 |
-
complete : F._afterZoomIn
|
1603 |
-
});
|
1604 |
-
},
|
1605 |
-
|
1606 |
-
zoomOut: function () {
|
1607 |
-
var current = F.current,
|
1608 |
-
effect = current.closeEffect,
|
1609 |
-
elastic = effect === 'elastic',
|
1610 |
-
endPos = {opacity : 0.1};
|
1611 |
-
|
1612 |
-
if (elastic) {
|
1613 |
-
endPos = this.getOrigPosition();
|
1614 |
-
|
1615 |
-
if (current.closeOpacity) {
|
1616 |
-
endPos.opacity = 0.1;
|
1617 |
-
}
|
1618 |
-
}
|
1619 |
-
|
1620 |
-
F.wrap.animate(endPos, {
|
1621 |
-
duration : effect === 'none' ? 0 : current.closeSpeed,
|
1622 |
-
easing : current.closeEasing,
|
1623 |
-
step : elastic ? this.step : null,
|
1624 |
-
complete : F._afterZoomOut
|
1625 |
-
});
|
1626 |
-
},
|
1627 |
-
|
1628 |
-
changeIn: function () {
|
1629 |
-
var current = F.current,
|
1630 |
-
effect = current.nextEffect,
|
1631 |
-
startPos = current.pos,
|
1632 |
-
endPos = { opacity : 1 },
|
1633 |
-
direction = F.direction,
|
1634 |
-
distance = 200,
|
1635 |
-
field;
|
1636 |
-
|
1637 |
-
startPos.opacity = 0.1;
|
1638 |
-
|
1639 |
-
if (effect === 'elastic') {
|
1640 |
-
field = direction === 'down' || direction === 'up' ? 'top' : 'left';
|
1641 |
-
|
1642 |
-
if (direction === 'down' || direction === 'right') {
|
1643 |
-
startPos[ field ] = getValue(getScalar(startPos[ field ]) - distance);
|
1644 |
-
endPos[ field ] = '+=' + distance + 'px';
|
1645 |
-
|
1646 |
-
} else {
|
1647 |
-
startPos[ field ] = getValue(getScalar(startPos[ field ]) + distance);
|
1648 |
-
endPos[ field ] = '-=' + distance + 'px';
|
1649 |
-
}
|
1650 |
-
}
|
1651 |
-
|
1652 |
-
// Workaround for http://bugs.jquery.com/ticket/12273
|
1653 |
-
if (effect === 'none') {
|
1654 |
-
F._afterZoomIn();
|
1655 |
-
|
1656 |
-
} else {
|
1657 |
-
F.wrap.css(startPos).animate(endPos, {
|
1658 |
-
duration : current.nextSpeed,
|
1659 |
-
easing : current.nextEasing,
|
1660 |
-
complete : F._afterZoomIn
|
1661 |
-
});
|
1662 |
-
}
|
1663 |
-
},
|
1664 |
-
|
1665 |
-
changeOut: function () {
|
1666 |
-
var previous = F.previous,
|
1667 |
-
effect = previous.prevEffect,
|
1668 |
-
endPos = { opacity : 0.1 },
|
1669 |
-
direction = F.direction,
|
1670 |
-
distance = 200;
|
1671 |
-
|
1672 |
-
if (effect === 'elastic') {
|
1673 |
-
endPos[ direction === 'down' || direction === 'up' ? 'top' : 'left' ] = ( direction === 'up' || direction === 'left' ? '-' : '+' ) + '=' + distance + 'px';
|
1674 |
-
}
|
1675 |
-
|
1676 |
-
previous.wrap.animate(endPos, {
|
1677 |
-
duration : effect === 'none' ? 0 : previous.prevSpeed,
|
1678 |
-
easing : previous.prevEasing,
|
1679 |
-
complete : function () {
|
1680 |
-
$(this).trigger('onReset').remove();
|
1681 |
-
}
|
1682 |
-
});
|
1683 |
-
}
|
1684 |
-
};
|
1685 |
-
|
1686 |
-
/*
|
1687 |
-
* Overlay helper
|
1688 |
-
*/
|
1689 |
-
|
1690 |
-
F.helpers.overlay = {
|
1691 |
-
defaults : {
|
1692 |
-
closeClick : true, // if true, fancyBox will be closed when user clicks on the overlay
|
1693 |
-
speedOut : 200, // duration of fadeOut animation
|
1694 |
-
showEarly : true, // indicates if should be opened immediately or wait until the content is ready
|
1695 |
-
css : {}, // custom CSS properties
|
1696 |
-
locked : !isTouch, // if true, the content will be locked into overlay
|
1697 |
-
fixed : true // if false, the overlay CSS position property will not be set to "fixed"
|
1698 |
-
},
|
1699 |
-
|
1700 |
-
overlay : null, // current handle
|
1701 |
-
fixed : false, // indicates if the overlay has position "fixed"
|
1702 |
-
|
1703 |
-
// Public methods
|
1704 |
-
create : function(opts) {
|
1705 |
-
opts = $.extend({}, this.defaults, opts);
|
1706 |
-
|
1707 |
-
if (this.overlay) {
|
1708 |
-
this.close();
|
1709 |
-
}
|
1710 |
-
|
1711 |
-
this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( 'body' );
|
1712 |
-
this.fixed = false;
|
1713 |
-
|
1714 |
-
if (opts.fixed && F.defaults.fixed) {
|
1715 |
-
this.overlay.addClass('fancybox-overlay-fixed');
|
1716 |
-
|
1717 |
-
this.fixed = true;
|
1718 |
-
}
|
1719 |
-
},
|
1720 |
-
|
1721 |
-
open : function(opts) {
|
1722 |
-
var that = this;
|
1723 |
-
|
1724 |
-
opts = $.extend({}, this.defaults, opts);
|
1725 |
-
|
1726 |
-
if (this.overlay) {
|
1727 |
-
this.overlay.unbind('.overlay').width('auto').height('auto');
|
1728 |
-
|
1729 |
-
} else {
|
1730 |
-
this.create(opts);
|
1731 |
-
}
|
1732 |
-
|
1733 |
-
if (!this.fixed) {
|
1734 |
-
W.bind('resize.overlay', $.proxy( this.update, this) );
|
1735 |
-
|
1736 |
-
this.update();
|
1737 |
-
}
|
1738 |
-
|
1739 |
-
if (opts.closeClick) {
|
1740 |
-
this.overlay.bind('click.overlay', function(e) {
|
1741 |
-
if ($(e.target).hasClass('fancybox-overlay')) {
|
1742 |
-
if (F.isActive) {
|
1743 |
-
F.close();
|
1744 |
-
} else {
|
1745 |
-
that.close();
|
1746 |
-
}
|
1747 |
-
}
|
1748 |
-
});
|
1749 |
-
}
|
1750 |
-
|
1751 |
-
this.overlay.css( opts.css ).show();
|
1752 |
-
},
|
1753 |
-
|
1754 |
-
close : function() {
|
1755 |
-
$('.fancybox-overlay').remove();
|
1756 |
-
|
1757 |
-
W.unbind('resize.overlay');
|
1758 |
-
|
1759 |
-
this.overlay = null;
|
1760 |
-
|
1761 |
-
if (this.margin !== false) {
|
1762 |
-
$('body').css('margin-right', this.margin);
|
1763 |
-
|
1764 |
-
this.margin = false;
|
1765 |
-
}
|
1766 |
-
|
1767 |
-
if (this.el) {
|
1768 |
-
this.el.removeClass('fancybox-lock');
|
1769 |
-
}
|
1770 |
-
},
|
1771 |
-
|
1772 |
-
// Private, callbacks
|
1773 |
-
|
1774 |
-
update : function () {
|
1775 |
-
var width = '100%', offsetWidth;
|
1776 |
-
|
1777 |
-
// Reset width/height so it will not mess
|
1778 |
-
this.overlay.width(width).height('100%');
|
1779 |
-
|
1780 |
-
// jQuery does not return reliable result for IE
|
1781 |
-
if (IE) {
|
1782 |
-
offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth);
|
1783 |
-
|
1784 |
-
if (D.width() > offsetWidth) {
|
1785 |
-
width = D.width();
|
1786 |
-
}
|
1787 |
-
|
1788 |
-
} else if (D.width() > W.width()) {
|
1789 |
-
width = D.width();
|
1790 |
-
}
|
1791 |
-
|
1792 |
-
this.overlay.width(width).height(D.height());
|
1793 |
-
},
|
1794 |
-
|
1795 |
-
// This is where we can manipulate DOM, because later it would cause iframes to reload
|
1796 |
-
onReady : function (opts, obj) {
|
1797 |
-
$('.fancybox-overlay').stop(true, true);
|
1798 |
-
|
1799 |
-
if (!this.overlay) {
|
1800 |
-
this.margin = D.height() > W.height() || $('body').css('overflow-y') === 'scroll' ? $('body').css('margin-right') : false;
|
1801 |
-
this.el = document.all && !document.querySelector ? $('html') : $('body');
|
1802 |
-
|
1803 |
-
this.create(opts);
|
1804 |
-
}
|
1805 |
-
|
1806 |
-
if (opts.locked && this.fixed) {
|
1807 |
-
obj.locked = this.overlay.append( obj.wrap );
|
1808 |
-
obj.fixed = false;
|
1809 |
-
}
|
1810 |
-
|
1811 |
-
if (opts.showEarly === true) {
|
1812 |
-
this.beforeShow.apply(this, arguments);
|
1813 |
-
}
|
1814 |
-
},
|
1815 |
-
|
1816 |
-
beforeShow : function(opts, obj) {
|
1817 |
-
if (obj.locked) {
|
1818 |
-
this.el.addClass('fancybox-lock');
|
1819 |
-
|
1820 |
-
if (this.margin !== false) {
|
1821 |
-
$('body').css('margin-right', getScalar( this.margin ) + obj.scrollbarWidth);
|
1822 |
-
}
|
1823 |
-
}
|
1824 |
-
|
1825 |
-
this.open(opts);
|
1826 |
-
},
|
1827 |
-
|
1828 |
-
onUpdate : function() {
|
1829 |
-
if (!this.fixed) {
|
1830 |
-
this.update();
|
1831 |
-
}
|
1832 |
-
},
|
1833 |
-
|
1834 |
-
afterClose: function (opts) {
|
1835 |
-
// Remove overlay if exists and fancyBox is not opening
|
1836 |
-
// (e.g., it is not being open using afterClose callback)
|
1837 |
-
if (this.overlay && !F.isActive) {
|
1838 |
-
this.overlay.fadeOut(opts.speedOut, $.proxy( this.close, this ));
|
1839 |
-
}
|
1840 |
-
}
|
1841 |
-
};
|
1842 |
-
|
1843 |
-
/*
|
1844 |
-
* Title helper
|
1845 |
-
*/
|
1846 |
-
|
1847 |
-
F.helpers.title = {
|
1848 |
-
defaults : {
|
1849 |
-
type : 'float', // 'float', 'inside', 'outside' or 'over',
|
1850 |
-
position : 'bottom' // 'top' or 'bottom'
|
1851 |
-
},
|
1852 |
-
|
1853 |
-
beforeShow: function (opts) {
|
1854 |
-
var current = F.current,
|
1855 |
-
text = current.title,
|
1856 |
-
type = opts.type,
|
1857 |
-
title,
|
1858 |
-
target;
|
1859 |
-
|
1860 |
-
if ($.isFunction(text)) {
|
1861 |
-
text = text.call(current.element, current);
|
1862 |
-
}
|
1863 |
-
|
1864 |
-
if (!isString(text) || $.trim(text) === '') {
|
1865 |
-
return;
|
1866 |
-
}
|
1867 |
-
|
1868 |
-
title = $('<div class="fancybox-title fancybox-title-' + type + '-wrap">' + text + '</div>');
|
1869 |
-
|
1870 |
-
switch (type) {
|
1871 |
-
case 'inside':
|
1872 |
-
target = F.skin;
|
1873 |
-
break;
|
1874 |
-
|
1875 |
-
case 'outside':
|
1876 |
-
target = F.wrap;
|
1877 |
-
break;
|
1878 |
-
|
1879 |
-
case 'over':
|
1880 |
-
target = F.inner;
|
1881 |
-
break;
|
1882 |
-
|
1883 |
-
default: // 'float'
|
1884 |
-
target = F.skin;
|
1885 |
-
|
1886 |
-
title.appendTo('body');
|
1887 |
-
|
1888 |
-
if (IE) {
|
1889 |
-
title.width( title.width() );
|
1890 |
-
}
|
1891 |
-
|
1892 |
-
title.wrapInner('<span class="child"></span>');
|
1893 |
-
|
1894 |
-
//Increase bottom margin so this title will also fit into viewport
|
1895 |
-
F.current.margin[2] += Math.abs( getScalar(title.css('margin-bottom')) );
|
1896 |
-
break;
|
1897 |
-
}
|
1898 |
-
|
1899 |
-
title[ (opts.position === 'top' ? 'prependTo' : 'appendTo') ](target);
|
1900 |
-
}
|
1901 |
-
};
|
1902 |
-
|
1903 |
-
// jQuery plugin initialization
|
1904 |
-
$.fn.fancybox = function (options) {
|
1905 |
-
var index,
|
1906 |
-
that = $(this),
|
1907 |
-
selector = this.selector || '',
|
1908 |
-
run = function(e) {
|
1909 |
-
var what = $(this).blur(), idx = index, relType, relVal;
|
1910 |
-
|
1911 |
-
if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) {
|
1912 |
-
relType = options.groupAttr || 'data-fancybox-group';
|
1913 |
-
relVal = what.attr(relType);
|
1914 |
-
|
1915 |
-
if (!relVal) {
|
1916 |
-
relType = 'rel';
|
1917 |
-
relVal = what.get(0)[ relType ];
|
1918 |
-
}
|
1919 |
-
|
1920 |
-
if (relVal && relVal !== '' && relVal !== 'nofollow') {
|
1921 |
-
what = selector.length ? $(selector) : that;
|
1922 |
-
what = what.filter('[' + relType + '="' + relVal + '"]');
|
1923 |
-
idx = what.index(this);
|
1924 |
-
}
|
1925 |
-
|
1926 |
-
options.index = idx;
|
1927 |
-
|
1928 |
-
// Stop an event from bubbling if everything is fine
|
1929 |
-
if (F.open(what, options) !== false) {
|
1930 |
-
e.preventDefault();
|
1931 |
-
}
|
1932 |
-
}
|
1933 |
-
};
|
1934 |
-
|
1935 |
-
options = options || {};
|
1936 |
-
index = options.index || 0;
|
1937 |
-
|
1938 |
-
if (!selector || options.live === false) {
|
1939 |
-
that.unbind('click.fb-start').bind('click.fb-start', run);
|
1940 |
-
|
1941 |
-
} else {
|
1942 |
-
D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run);
|
1943 |
-
}
|
1944 |
-
|
1945 |
-
this.filter('[data-fancybox-start=1]').trigger('click');
|
1946 |
-
|
1947 |
-
return this;
|
1948 |
-
};
|
1949 |
-
|
1950 |
-
// Tests that need a body at doc ready
|
1951 |
-
D.ready(function() {
|
1952 |
-
if ( $.scrollbarWidth === undefined ) {
|
1953 |
-
// http://benalman.com/projects/jquery-misc-plugins/#scrollbarwidth
|
1954 |
-
$.scrollbarWidth = function() {
|
1955 |
-
var parent = $('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body'),
|
1956 |
-
child = parent.children(),
|
1957 |
-
width = child.innerWidth() - child.height( 99 ).innerWidth();
|
1958 |
-
|
1959 |
-
parent.remove();
|
1960 |
-
|
1961 |
-
return width;
|
1962 |
-
};
|
1963 |
-
}
|
1964 |
-
|
1965 |
-
if ( $.support.fixedPosition === undefined ) {
|
1966 |
-
$.support.fixedPosition = (function() {
|
1967 |
-
var elem = $('<div style="position:fixed;top:20px;"></div>').appendTo('body'),
|
1968 |
-
fixed = ( elem[0].offsetTop === 20 || elem[0].offsetTop === 15 );
|
1969 |
-
|
1970 |
-
elem.remove();
|
1971 |
-
|
1972 |
-
return fixed;
|
1973 |
-
}());
|
1974 |
-
}
|
1975 |
-
|
1976 |
-
$.extend(F.defaults, {
|
1977 |
-
scrollbarWidth : $.scrollbarWidth(),
|
1978 |
-
fixed : $.support.fixedPosition,
|
1979 |
-
parent : $('body')
|
1980 |
-
});
|
1981 |
-
});
|
1982 |
-
|
1983 |
-
}(window, document, jQuery));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/fancybox/jquery.fancybox.pack.js
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */
|
2 |
-
(function(C,z,f,r){var q=f(C),n=f(z),b=f.fancybox=function(){b.open.apply(this,arguments)},H=navigator.userAgent.match(/msie/),w=null,s=z.createTouch!==r,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},p=function(a){return a&&"string"===f.type(a)},F=function(a){return p(a)&&0<a.indexOf("%")},l=function(a,d){var e=parseInt(a,10)||0;d&&F(a)&&(e*=b.getViewport()[d]/100);return Math.ceil(e)},x=function(a,b){return l(a,b)+"px"};f.extend(b,{version:"2.1.4",defaults:{padding:15,margin:20,width:800,
|
3 |
-
height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!s,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},keys:{next:{13:"left",
|
4 |
-
34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+
|
5 |
-
(H?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,
|
6 |
-
openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,
|
7 |
-
isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k,
|
8 |
-
c.metadata())):k=c);g=d.href||k.href||(p(c)?c:null);h=d.title!==r?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));p(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":p(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(p(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&&
|
9 |
-
k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==r&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current||
|
10 |
-
b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer=
|
11 |
-
setTimeout(b.next,b.current.playSpeed))},c=function(){d();f("body").unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index<b.group.length-1))b.player.isActive=!0,f("body").bind({"afterShow.player onUpdate.player":e,"onCancel.player beforeClose.player":c,"beforeLoad.player":d}),e(),b.trigger("onPlayStart")}else c()},next:function(a){var d=b.current;d&&(p(a)||(a=d.direction.next),b.jumpto(d.index+1,a,"next"))},
|
12 |
-
prev:function(a){var d=b.current;d&&(p(a)||(a=d.direction.prev),b.jumpto(d.index-1,a,"prev"))},jumpto:function(a,d,e){var c=b.current;c&&(a=l(a),b.direction=d||c.direction[a>=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==r&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},
|
13 |
-
e.dim,k)))},update:function(a){var d=a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(w),w=null);b.isOpen&&!w&&(w=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),w=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),
|
14 |
-
b.trigger("onUpdate")),b.update())},hideLoading:function(){n.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");n.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||
|
15 |
-
!1,d={x:q.scrollLeft(),y:q.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&C.innerWidth?C.innerWidth:q.width(),d.h=s&&C.innerHeight?C.innerHeight:q.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");n.unbind(".fb");q.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(q.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&n.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=
|
16 |
-
e.target||e.srcElement;if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1<a.group.length&&k[c]!==r)return b[d](k[c]),e.preventDefault(),!1;if(-1<f.inArray(c,k))return b[d](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(d,c,k,g){for(var h=f(d.target||null),j=!1;h.length&&!j&&!h.is(".fancybox-skin")&&!h.is(".fancybox-wrap");)j=h[0]&&!(h[0].style.overflow&&
|
17 |
-
"hidden"===h[0].style.overflow)&&(h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1<b.group.length&&!a.canShrink){if(0<g||0<k)b.prev(0<g?"down":"left");else if(0>g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,
|
18 |
-
e){e&&(b.helpers[d]&&f.isFunction(b.helpers[d][a]))&&(e=f.extend(!0,{},b.helpers[d].defaults,e),b.helpers[d][a](e,c))});f.event.trigger(a+".fb")}},isImage:function(a){return p(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp)((\?|#).*)?$)/i)},isSWF:function(a){return p(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&
|
19 |
-
(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=
|
20 |
-
!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=!0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,x(d.padding[a]))});b.trigger("onReady");
|
21 |
-
if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");"image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=
|
22 |
-
this.width;b.coming.height=this.height;b._afterLoad()};a.onerror=function(){this.onload=this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,
|
23 |
-
(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href);f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=
|
24 |
-
b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();
|
25 |
-
e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",
|
26 |
-
!1)}));break;case "image":e=a.tpl.image.replace("{href}",g);break;case "swf":e='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e+='<param name="'+a+'" value="'+b+'"></param>';h+=" "+a+'="'+b+'"'}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");
|
27 |
-
a.inner.css("overflow","yes"===k?"scroll":"no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,
|
28 |
-
v=h.maxHeight,s=h.scrolling,q=h.scrollOutside?h.scrollbarWidth:0,y=h.margin,p=l(y[1]+y[3]),r=l(y[0]+y[2]),z,A,t,D,B,G,C,E,w;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");y=l(k.outerWidth(!0)-k.width());z=l(k.outerHeight(!0)-k.height());A=p+y;t=r+z;D=F(c)?(a.w-A)*l(c)/100:c;B=F(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(w=h.content,h.autoHeight&&1===w.data("ready"))try{w[0].contentWindow.document.location&&(g.width(D).height(9999),G=w.contents().find("body"),q&&G.css("overflow-x",
|
29 |
-
"hidden"),B=G.height())}catch(H){}}else if(h.autoWidth||h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(D),h.autoHeight||g.height(B),h.autoWidth&&(D=g.width()),h.autoHeight&&(B=g.height()),g.removeClass("fancybox-tmp");c=l(D);j=l(B);E=D/B;m=l(F(m)?l(m,"w")-A:m);n=l(F(n)?l(n,"w")-A:n);u=l(F(u)?l(u,"h")-t:u);v=l(F(v)?l(v,"h")-t:v);G=n;C=v;h.fitToView&&(n=Math.min(a.w-A,n),v=Math.min(a.h-t,v));A=a.w-p;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/E)),j>v&&(j=v,c=l(j*E)),c<m&&(c=m,j=l(c/E)),j<u&&
|
30 |
-
(j=u,c=l(j*E))):(c=Math.max(m,Math.min(c,n)),h.autoHeight&&"iframe"!==h.type&&(g.width(c),j=g.height()),j=Math.max(u,Math.min(j,v)));if(h.fitToView)if(g.width(c).height(j),e.width(c+y),a=e.width(),p=e.height(),h.aspectRatio)for(;(a>A||p>r)&&(c>m&&j>u)&&!(19<d++);)j=Math.max(u,Math.min(v,j-10)),c=l(j*E),c<m&&(c=m,j=l(c/E)),c>n&&(c=n,j=l(c/E)),g.width(c).height(j),e.width(c+y),a=e.width(),p=e.height();else c=Math.max(m,Math.min(c,c-(a-A))),j=Math.max(u,Math.min(j,j-(p-r)));q&&("auto"===s&&j<B&&c+y+
|
31 |
-
q<A)&&(c+=q);g.width(c).height(j);e.width(c+y);a=e.width();p=e.height();e=(a>A||p>r)&&c>m&&j>u;c=h.aspectRatio?c<G&&j<C&&c<D&&j<B:(c<G||j<C)&&(c<D||j<B);f.extend(h,{dim:{width:x(a),height:x(p)},origWidth:D,origHeight:B,canShrink:e,canExpand:c,wPadding:y,hPadding:z,wrapSpace:p-k.outerHeight(!0),skinSpace:k.height()-j});!w&&(h.autoHeight&&j>u&&j<v&&!c)&&g.height("auto")},_getPosition:function(a){var d=b.current,e=b.getViewport(),c=d.margin,f=b.wrap.width()+c[1]+c[3],g=b.wrap.height()+c[0]+c[2],c={position:"absolute",
|
32 |
-
top:c[0],left:c[3]};d.autoCenter&&d.fixed&&!a&&g<=e.h&&f<=e.w?c.position="fixed":d.locked||(c.top+=e.y,c.left+=e.x);c.top=x(Math.max(c.top,c.top+(e.h-g)*d.topRatio));c.left=x(Math.max(c.left,c.left+(e.w-f)*d.leftRatio));return c},_afterZoomIn:function(){var a=b.current;a&&(b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened"),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(d){!f(d.target).is("a")&&!f(d.target).parent().is("a")&&
|
33 |
-
(d.preventDefault(),b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),!a.loop&&a.index===a.group.length-1?b.play(!1):b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play()))},_afterZoomOut:function(a){a=
|
34 |
-
a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,d=a.element,e=a.orig,c={},f=50,g=50,h=a.hPadding,j=a.wPadding,m=b.getViewport();!e&&(a.isDom&&d.is(":visible"))&&(e=d.find("img:first"),e.length||(e=d));t(e)?(c=e.offset(),e.is("img")&&(f=e.outerWidth(),g=e.outerHeight())):
|
35 |
-
(c.top=m.y+(m.h-g)*a.topRatio,c.left=m.x+(m.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)c.top-=m.y,c.left-=m.x;return c={top:x(c.top-h*a.topRatio),left:x(c.left-j*a.leftRatio),width:x(f+j),height:x(g+h)}},step:function(a,d){var e,c,f=d.prop;c=b.current;var g=c.wrapSpace,h=c.skinSpace;if("width"===f||"height"===f)e=d.end===d.start?1:(a-d.start)/(d.end-d.start),b.isClosing&&(e=1-e),c="width"===f?c.wPadding:c.hPadding,c=a-c,b.skin[f](l("width"===f?c:c-g*e)),b.inner[f](l("width"===
|
36 |
-
f?c:c-g*e-h*e))},zoomIn:function(){var a=b.current,d=a.pos,e=a.openEffect,c="elastic"===e,k=f.extend({opacity:1},d);delete k.position;c?(d=this.getOrigPosition(),a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);b.wrap.css(d).animate(k,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:c?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,d=a.closeEffect,e="elastic"===d,c={opacity:0.1};e&&(c=this.getOrigPosition(),a.closeOpacity&&(c.opacity=0.1));b.wrap.animate(c,
|
37 |
-
{duration:"none"===d?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,d=a.nextEffect,e=a.pos,c={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===d&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=x(l(e[g])-200),c[g]="+=200px"):(e[g]=x(l(e[g])+200),c[g]="-=200px"));"none"===d?b._afterZoomIn():b.wrap.css(e).animate(c,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},changeOut:function(){var a=
|
38 |
-
b.previous,d=a.prevEffect,e={opacity:0.1},c=b.direction;"elastic"===d&&(e["down"===c||"up"===c?"top":"left"]=("up"===c||"left"===c?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===d?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!s,fixed:!0},overlay:null,fixed:!1,create:function(a){a=f.extend({},this.defaults,a);this.overlay&&this.close();this.overlay=f('<div class="fancybox-overlay"></div>').appendTo("body");
|
39 |
-
this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(q.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay",function(a){f(a.target).hasClass("fancybox-overlay")&&(b.isActive?b.close():d.close())});this.overlay.css(a.css).show()},
|
40 |
-
close:function(){f(".fancybox-overlay").remove();q.unbind("resize.overlay");this.overlay=null;!1!==this.margin&&(f("body").css("margin-right",this.margin),this.margin=!1);this.el&&this.el.removeClass("fancybox-lock")},update:function(){var a="100%",b;this.overlay.width(a).height("100%");H?(b=Math.max(z.documentElement.offsetWidth,z.body.offsetWidth),n.width()>b&&(a=n.width())):n.width()>q.width()&&(a=n.width());this.overlay.width(a).height(n.height())},onReady:function(a,b){f(".fancybox-overlay").stop(!0,
|
41 |
-
!0);this.overlay||(this.margin=n.height()>q.height()||"scroll"===f("body").css("overflow-y")?f("body").css("margin-right"):!1,this.el=z.all&&!z.querySelector?f("html"):f("body"),this.create(a));a.locked&&this.fixed&&(b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){b.locked&&(this.el.addClass("fancybox-lock"),!1!==this.margin&&f("body").css("margin-right",l(this.margin)+b.scrollbarWidth));this.open(a)},onUpdate:function(){this.fixed||
|
42 |
-
this.update()},afterClose:function(a){this.overlay&&!b.isActive&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d=b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(p(e)&&""!==f.trim(e)){d=f('<div class="fancybox-title fancybox-title-'+c+'-wrap">'+e+"</div>");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),
|
43 |
-
H&&d.width(d.width()),d.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d,e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+
|
44 |
-
'"]'),j=h.index(this)),a.index=j,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):n.undelegate(c,"click.fb-start").delegate(c+":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};n.ready(function(){f.scrollbarWidth===r&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),
|
45 |
-
b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===r){var a=f.support,d=f('<div style="position:fixed;top:20px;"></div>').appendTo("body"),e=20===d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")})})})(window,document,jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/general.dev.js
CHANGED
@@ -6,15 +6,4 @@ jQuery(document).ready(function ($) {
|
|
6 |
'keepAlive': true,
|
7 |
'activation': 'hover'
|
8 |
});
|
9 |
-
$(".backwpup-fancybox").fancybox({
|
10 |
-
maxWidth : 800,
|
11 |
-
maxHeight : 600,
|
12 |
-
fitToView : false,
|
13 |
-
width : '70%',
|
14 |
-
height : '80%',
|
15 |
-
autoSize : false,
|
16 |
-
closeClick : false,
|
17 |
-
openEffect : 'none',
|
18 |
-
closeEffect : 'none'
|
19 |
-
});
|
20 |
});
|
6 |
'keepAlive': true,
|
7 |
'activation': 'hover'
|
8 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
});
|
js/general.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function($){$(".help_tip").tipTip({attribute:"title",fadeIn:50,fadeOut:50,keepAlive:true,activation:"hover"})
|
1 |
+
jQuery(document).ready(function($){$(".help_tip").tipTip({attribute:"title",fadeIn:50,fadeOut:50,keepAlive:true,activation:"hover"});});
|
languages/backwpup-de_DE.mo
CHANGED
Binary file
|
languages/backwpup-de_DE.po
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: BackWPup Pro v3.0.
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2013-02-06 17:42+0100\n"
|
6 |
-
"PO-Revision-Date: 2013-
|
7 |
"Last-Translator: Frank Bueltge <frank@bueltge.de>\n"
|
8 |
"Language-Team: INPSYDE <info@inpsyde.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -72,24 +72,24 @@ msgstr "Datensicherungen"
|
|
72 |
msgid "Settings"
|
73 |
msgstr "Einstellungen"
|
74 |
|
75 |
-
#: inc/class-admin.php:
|
76 |
-
#: inc/class-admin.php:
|
77 |
#@ backwpup
|
78 |
msgid "Cheating Huh?"
|
79 |
msgstr "Schummeln, was?"
|
80 |
|
81 |
-
#: inc/class-admin.php:
|
82 |
#@ backwpup
|
83 |
msgid "Jobs overview"
|
84 |
msgstr "Auftragsübersicht"
|
85 |
|
86 |
-
#: inc/class-admin.php:
|
87 |
#: inc/class-page-jobs.php:134
|
88 |
#@ backwpup
|
89 |
msgid "Run now"
|
90 |
msgstr "Jetzt starten"
|
91 |
|
92 |
-
#: inc/class-admin.php:
|
93 |
#, php-format
|
94 |
#@ backwpup
|
95 |
msgid "version %s"
|
@@ -111,7 +111,7 @@ msgid "Abort!"
|
|
111 |
msgstr "Abbrechen!"
|
112 |
|
113 |
#: inc/class-adminbar.php:91
|
114 |
-
#: inc/class-page-jobs.php:
|
115 |
#@ backwpupadminbar
|
116 |
#@ backwpup
|
117 |
msgid "Add New"
|
@@ -130,8 +130,8 @@ msgid "Run Now"
|
|
130 |
msgstr "Jetzt starten"
|
131 |
|
132 |
#: inc/class-cron.php:53
|
133 |
-
#: inc/class-job.php:
|
134 |
-
#: inc/class-page-jobs.php:
|
135 |
#: inc/class-wp-cli.php:47
|
136 |
#@ backwpup
|
137 |
msgid "ERROR:"
|
@@ -143,14 +143,14 @@ msgid "Aborted, because 2 hours no progress!"
|
|
143 |
msgstr "Abgebrochen, da seit 2 Stunden kein Fortschritt!"
|
144 |
|
145 |
#: inc/class-cron.php:84
|
146 |
-
#: inc/class-job.php:
|
147 |
#, php-format
|
148 |
#@ backwpup
|
149 |
msgid "[%3$s] BackWPup log %1$s: %2$s"
|
150 |
msgstr "[%3$s] BackWPup Log %1$s: %2$s"
|
151 |
|
152 |
#: inc/class-cron.php:84
|
153 |
-
#: inc/class-job.php:
|
154 |
#@ backwpup
|
155 |
msgid "ERROR"
|
156 |
msgstr "FEHLER"
|
@@ -337,8 +337,8 @@ msgid "Upload to Dropbox now started …"
|
|
337 |
msgstr "Hochladen zur Dropbox hat begonnen …"
|
338 |
|
339 |
#: inc/class-destination-dropbox.php:265
|
340 |
-
#: inc/class-destination-msazure.php:
|
341 |
-
#: inc/class-destination-sugarsync.php:
|
342 |
#, php-format
|
343 |
#@ backwpup
|
344 |
msgid "Backup transferred to %s"
|
@@ -385,7 +385,7 @@ msgstr "Datensicherung in Ordner"
|
|
385 |
msgid "Folder to store the backups in"
|
386 |
msgstr "Ordner für Backups"
|
387 |
|
388 |
-
#: inc/class-destination-folder.php:
|
389 |
#, php-format
|
390 |
#@ backwpup
|
391 |
msgid "One backup file deleted"
|
@@ -819,32 +819,32 @@ msgstr "MS Azure Container \"%s\" erstellt."
|
|
819 |
msgid "MS Azure container create: %s"
|
820 |
msgstr "MS Azure Container erstellen: %s"
|
821 |
|
822 |
-
#: inc/class-destination-msazure.php:
|
823 |
#, php-format
|
824 |
#@ backwpup
|
825 |
msgid "%d. Try sending backup to a Microsoft Azure (Blob) …"
|
826 |
msgstr "%d. Versuche, das Backup zu Microsoft Azure (Blob) zu senden …"
|
827 |
|
828 |
-
#: inc/class-destination-msazure.php:
|
829 |
#: inc/features/class-destination-msazure-pro.php:108
|
830 |
#, php-format
|
831 |
#@ backwpup
|
832 |
msgid "MS Azure container \"%s\" does not exist!"
|
833 |
msgstr "MS Azure Container \"%s\" existiert nicht!"
|
834 |
|
835 |
-
#: inc/class-destination-msazure.php:
|
836 |
#: inc/features/class-destination-msazure-pro.php:112
|
837 |
#, php-format
|
838 |
#@ backwpup
|
839 |
msgid "Connected to MS Azure container \"%s\"."
|
840 |
msgstr "Verbunden mit MS Azure container \"%s\""
|
841 |
|
842 |
-
#: inc/class-destination-msazure.php:
|
843 |
#@ backwpup
|
844 |
msgid "Upload to MS Azure now started …"
|
845 |
msgstr "Hochladen zu MS Azure hat begonnen …"
|
846 |
|
847 |
-
#: inc/class-destination-msazure.php:
|
848 |
#, php-format
|
849 |
#@ backwpup
|
850 |
msgid "One file deleted on Microsoft Azure container."
|
@@ -852,24 +852,24 @@ msgid_plural "%d files deleted on Microsoft Azure container."
|
|
852 |
msgstr[0] "Eine Datei im Microsoft-Azure-Container gelöscht"
|
853 |
msgstr[1] "%d Dateien im Microsoft-Azure-Container gelöscht"
|
854 |
|
855 |
-
#: inc/class-destination-msazure.php:
|
856 |
#: inc/features/class-destination-msazure-pro.php:172
|
857 |
#, php-format
|
858 |
#@ backwpup
|
859 |
msgid "Microsoft Azure API: %s"
|
860 |
msgstr "Microsoft Azure API: %s"
|
861 |
|
862 |
-
#: inc/class-destination-msazure.php:
|
863 |
#@ backwpup
|
864 |
msgid "Missing Account Name!"
|
865 |
msgstr "Kontoname (Benutzername) nicht angegeben!"
|
866 |
|
867 |
-
#: inc/class-destination-msazure.php:
|
868 |
#@ backwpup
|
869 |
msgid "Missing Access Key!"
|
870 |
msgstr "Zugangsschlüssel (Access Key) nicht angegeben!"
|
871 |
|
872 |
-
#: inc/class-destination-msazure.php:
|
873 |
#@ backwpup
|
874 |
msgid "No Container found!"
|
875 |
msgstr "Kein Container gefunden!"
|
@@ -939,9 +939,9 @@ msgid "Rackspace Cloud container \"%s\" created."
|
|
939 |
msgstr "Rackspace Cloud Container \"%s\" erstellt."
|
940 |
|
941 |
#: inc/class-destination-rsc.php:160
|
942 |
-
#: inc/class-destination-rsc.php:
|
943 |
-
#: inc/class-destination-rsc.php:
|
944 |
-
#: inc/class-destination-rsc.php:
|
945 |
#: inc/features/class-destination-rsc-pro.php:104
|
946 |
#: inc/features/class-destination-rsc-pro.php:147
|
947 |
#: inc/features/class-destination-rsc-pro.php:220
|
@@ -950,34 +950,34 @@ msgstr "Rackspace Cloud Container \"%s\" erstellt."
|
|
950 |
msgid "Rackspace Cloud API: %s"
|
951 |
msgstr "Rackspace Cloud API: %s"
|
952 |
|
953 |
-
#: inc/class-destination-rsc.php:
|
954 |
#, php-format
|
955 |
#@ backwpup
|
956 |
msgid "%d. Trying to send backup file to Rackspace cloud …"
|
957 |
msgstr "%d. Versuche, ein Backup zur Rackspace Cloud zu senden …"
|
958 |
|
959 |
-
#: inc/class-destination-rsc.php:
|
960 |
#, php-format
|
961 |
#@ backwpup
|
962 |
msgid "Connected to Rackspace cloud files container %s"
|
963 |
msgstr "Verbunden mit Rackspace Cloud Container %s"
|
964 |
|
965 |
-
#: inc/class-destination-rsc.php:
|
966 |
#@ backwpup
|
967 |
msgid "Upload to Rackspace cloud started …"
|
968 |
msgstr "Upload zur Rackspace Cloud nun gestartet …"
|
969 |
|
970 |
-
#: inc/class-destination-rsc.php:
|
971 |
#@ backwpup
|
972 |
msgid "Backup File transferred to RSC://"
|
973 |
msgstr "Datensicherungsdatei übertragen zu RSC://"
|
974 |
|
975 |
-
#: inc/class-destination-rsc.php:
|
976 |
#@ backwpup
|
977 |
msgid "Can not transfer backup to Rackspace cloud."
|
978 |
msgstr "Kann das Backup nicht zur Rackspace Cloud transferieren"
|
979 |
|
980 |
-
#: inc/class-destination-rsc.php:
|
981 |
#, php-format
|
982 |
#@ backwpup
|
983 |
msgid "One file deleted on Rackspace cloud container."
|
@@ -985,17 +985,17 @@ msgid_plural "%d files deleted on Rackspace cloud container."
|
|
985 |
msgstr[0] "Eine Datei im Rackspace-Container gelöscht"
|
986 |
msgstr[1] "%d Dateien im Rackspace-Container gelöscht"
|
987 |
|
988 |
-
#: inc/class-destination-rsc.php:
|
989 |
#@ backwpup
|
990 |
msgid "Missing Username!"
|
991 |
msgstr "Falscher Benutzername!"
|
992 |
|
993 |
-
#: inc/class-destination-rsc.php:
|
994 |
#@ backwpup
|
995 |
msgid "Missing API Key!"
|
996 |
msgstr "API-Schlüssel wird fehlt!"
|
997 |
|
998 |
-
#: inc/class-destination-rsc.php:
|
999 |
#@ backwpup
|
1000 |
msgid "No Container's found!"
|
1001 |
msgstr "Keine Container gefunden!"
|
@@ -1170,53 +1170,53 @@ msgid " %s is not a valid bucket name."
|
|
1170 |
msgstr "%s ist kein gültiger Bucket Name"
|
1171 |
|
1172 |
#: inc/class-destination-s3.php:317
|
1173 |
-
#: inc/class-destination-s3.php:
|
1174 |
-
#: inc/class-destination-s3.php:
|
1175 |
-
#: inc/class-destination-s3.php:
|
1176 |
-
#: inc/class-destination-s3.php:
|
1177 |
#: inc/features/class-destination-s3-pro.php:280
|
1178 |
#, php-format
|
1179 |
#@ backwpup
|
1180 |
msgid "S3 Service API: %s"
|
1181 |
msgstr "S3 Service API: %s"
|
1182 |
|
1183 |
-
#: inc/class-destination-s3.php:
|
1184 |
#, php-format
|
1185 |
#@ backwpup
|
1186 |
msgid "%d. Trying to send backup file to S3 Service …"
|
1187 |
msgstr "%d. Versuche, ein Backup zum S3-Service zu senden …"
|
1188 |
|
1189 |
-
#: inc/class-destination-s3.php:
|
1190 |
#: inc/features/class-destination-s3-pro.php:168
|
1191 |
#, php-format
|
1192 |
#@ backwpup
|
1193 |
msgid "S3 Bucket \"%s\" does not exist!"
|
1194 |
msgstr "Amazon S3 Bucket \"%s\" existiert nicht!"
|
1195 |
|
1196 |
-
#: inc/class-destination-s3.php:
|
1197 |
#@ backwpup
|
1198 |
msgid "Upload to S3 Service started …"
|
1199 |
msgstr "Upload zum S3 Service jetzt gestartet …"
|
1200 |
|
1201 |
-
#: inc/class-destination-s3.php:
|
1202 |
#, php-format
|
1203 |
#@ backwpup
|
1204 |
msgid "Backup transferred to %s."
|
1205 |
msgstr "Datensicherung übertragen zu %s"
|
1206 |
|
1207 |
-
#: inc/class-destination-s3.php:
|
1208 |
#, php-format
|
1209 |
#@ backwpup
|
1210 |
msgid "Can not transfer backup to S3! (%1$d) %2$s"
|
1211 |
msgstr "Datensicherung kann nicht zu Amazon S3 übertragen werden! (%1$d) %2$s"
|
1212 |
|
1213 |
-
#: inc/class-destination-s3.php:
|
1214 |
#, php-format
|
1215 |
#@ backwpup
|
1216 |
msgid "Can not delete backup on %s."
|
1217 |
msgstr "Kann das Backup auf %s nicht löschen"
|
1218 |
|
1219 |
-
#: inc/class-destination-s3.php:
|
1220 |
#, php-format
|
1221 |
#@ backwpup
|
1222 |
msgid "One file deleted on S3 Bucket."
|
@@ -1224,17 +1224,17 @@ msgid_plural "%d files deleted on S3 Bucket"
|
|
1224 |
msgstr[0] "Eine Datei im S3-Bucket gelöscht"
|
1225 |
msgstr[1] "%d Dateien im S3-Bucket gelöscht"
|
1226 |
|
1227 |
-
#: inc/class-destination-s3.php:
|
1228 |
#@ backwpup
|
1229 |
msgid "Missing access key!"
|
1230 |
msgstr "Der Zugangsschlüssel (Access Key) fehlt!"
|
1231 |
|
1232 |
-
#: inc/class-destination-s3.php:
|
1233 |
#@ backwpup
|
1234 |
msgid "Missing secret access key!"
|
1235 |
msgstr "Der geheime Zugangsschlüssel (Secret Access Key) fehlt!"
|
1236 |
|
1237 |
-
#: inc/class-destination-s3.php:
|
1238 |
#@ backwpup
|
1239 |
msgid "No bucket found!"
|
1240 |
msgstr "Kein Bucket gefunden!"
|
@@ -1322,24 +1322,24 @@ msgstr "Keine Sync-Ordner gefunden!"
|
|
1322 |
msgid "Folder in root"
|
1323 |
msgstr "Ordner im Wurzelverzeichnis"
|
1324 |
|
1325 |
-
#: inc/class-destination-sugarsync.php:
|
1326 |
#, php-format
|
1327 |
#@ backwpup
|
1328 |
msgid "Authed to SugarSync with Nick %s"
|
1329 |
msgstr "Authentifiziert mit SugarSync, mit dem Namen %s"
|
1330 |
|
1331 |
-
#: inc/class-destination-sugarsync.php:
|
1332 |
#, php-format
|
1333 |
#@ backwpup
|
1334 |
msgid "%s free on SugarSync"
|
1335 |
msgstr "%s frei bei SugarSync"
|
1336 |
|
1337 |
-
#: inc/class-destination-sugarsync.php:
|
1338 |
#@ backwpup
|
1339 |
msgid "Can not transfer backup to SugarSync!"
|
1340 |
msgstr "Datensicherung kann nicht zu SugarSync übertragen werden!"
|
1341 |
|
1342 |
-
#: inc/class-destination-sugarsync.php:
|
1343 |
#, php-format
|
1344 |
#@ backwpup
|
1345 |
msgid "One file deleted on SugarSync folder"
|
@@ -1347,7 +1347,7 @@ msgid_plural "%d files deleted on SugarSync folder"
|
|
1347 |
msgstr[0] "Eine Datei im SugarSync-Ordner gelöscht"
|
1348 |
msgstr[1] "%d Dateien im SugarSync-Ordner gelöscht"
|
1349 |
|
1350 |
-
#: inc/class-destination-sugarsync.php:
|
1351 |
#, php-format
|
1352 |
#@ backwpup
|
1353 |
msgid "SugarSync API: %s"
|
@@ -1488,115 +1488,115 @@ msgstr "[INFO] Backup Datei ist: %s"
|
|
1488 |
|
1489 |
#: inc/class-job.php:443
|
1490 |
#: inc/class-job.php:444
|
1491 |
-
#: inc/class-job.php:
|
1492 |
-
#: inc/class-job.php:
|
1493 |
-
#: inc/class-job.php:
|
1494 |
#@ backwpup
|
1495 |
msgid "Wrong BackWPup JobID"
|
1496 |
msgstr "Falsche BackWPup JobID"
|
1497 |
|
1498 |
#: inc/class-job.php:448
|
1499 |
#: inc/class-job.php:449
|
1500 |
-
#: inc/class-job.php:
|
1501 |
-
#: inc/class-job.php:
|
1502 |
#@ backwpup
|
1503 |
msgid "Log folder does not exist or is not writable for BackWPup"
|
1504 |
msgstr "Log-Ordner existiert nicht oder ist nicht beschreibbar für BackWPup"
|
1505 |
|
1506 |
#: inc/class-job.php:452
|
1507 |
#: inc/class-job.php:453
|
1508 |
-
#: inc/class-job.php:
|
1509 |
-
#: inc/class-job.php:
|
1510 |
#@ backwpup
|
1511 |
msgid "Temp folder does not exist or is not writable for BackWPup"
|
1512 |
msgstr "Temp Ordner existiert nicht oder ist nicht beschreibbar für BackWPup!"
|
1513 |
|
1514 |
-
#: inc/class-job.php:
|
1515 |
-
#: inc/class-job.php:
|
1516 |
#@ backwpup
|
1517 |
msgid "No BackWPup job running"
|
1518 |
msgstr "Kein aktiver BackWPup-Auftrag"
|
1519 |
|
1520 |
-
#: inc/class-job.php:
|
1521 |
-
#: inc/class-job.php:
|
1522 |
-
#: inc/class-job.php:
|
1523 |
-
#: inc/class-job.php:
|
1524 |
-
#: inc/class-job.php:
|
1525 |
#@ backwpup
|
1526 |
msgid "A BackWPup job is already running"
|
1527 |
msgstr "Es läuft bereits ein BackWPup-Auftrag"
|
1528 |
|
1529 |
-
#: inc/class-job.php:
|
1530 |
#@ backwpup
|
1531 |
msgid "Log folder does not exist or is not writable"
|
1532 |
msgstr "Log-Ordner existiert nicht oder ist nicht beschreibbar"
|
1533 |
|
1534 |
-
#: inc/class-job.php:
|
1535 |
#@ backwpup
|
1536 |
msgid "Temp folder does not exist or is not writable"
|
1537 |
msgstr "Temp Ordner existiert nicht oder ist nicht beschreibbar"
|
1538 |
|
1539 |
-
#: inc/class-job.php:
|
1540 |
#@ backwpup
|
1541 |
msgid "Job restart due to inactivity for more than 5 minutes."
|
1542 |
msgstr "Auftrag durch Inaktivität von mehr als 5 Minuten neu gestartet"
|
1543 |
|
1544 |
-
#: inc/class-job.php:
|
1545 |
#@ backwpup
|
1546 |
msgid "Step aborted: too many attempts!"
|
1547 |
msgstr "Schritt abgebrochen durch zu viele Versuche!"
|
1548 |
|
1549 |
-
#: inc/class-job.php:
|
1550 |
#, php-format
|
1551 |
#@ backwpup
|
1552 |
msgid "%d. Script stopped! Will start again."
|
1553 |
msgstr "%d. Script stoppt! Wird neu gestartet"
|
1554 |
|
1555 |
-
#: inc/class-job.php:
|
1556 |
#, php-format
|
1557 |
#@ backwpup
|
1558 |
msgid "Please use another folder: %1$s"
|
1559 |
msgstr "Bitte einen anderen Ordner auswählen: %1$s"
|
1560 |
|
1561 |
-
#: inc/class-job.php:
|
1562 |
#, php-format
|
1563 |
#@ backwpup
|
1564 |
msgid "Can not create folder: %1$s"
|
1565 |
msgstr "Kann keinen Ordner erstellen: %1$s"
|
1566 |
|
1567 |
-
#: inc/class-job.php:
|
1568 |
#, php-format
|
1569 |
#@ backwpup
|
1570 |
msgid "Folder \"%1$s\" is not writable"
|
1571 |
msgstr "Ordner \"%1$s\" ist nicht beschreibbar"
|
1572 |
|
1573 |
-
#: inc/class-job.php:
|
1574 |
#, php-format
|
1575 |
#@ backwpup
|
1576 |
msgid "Exception caught in %1$s: %2$s"
|
1577 |
msgstr "Ausnahme eingefangen in %1$s: %2$s"
|
1578 |
|
1579 |
-
#: inc/class-job.php:
|
1580 |
#@ backwpup
|
1581 |
msgid "WARNING:"
|
1582 |
msgstr "WARNUNG:"
|
1583 |
|
1584 |
-
#: inc/class-job.php:
|
1585 |
#@ backwpup
|
1586 |
msgid "DEPRECATED:"
|
1587 |
msgstr "ABGELEHNT:"
|
1588 |
|
1589 |
-
#: inc/class-job.php:
|
1590 |
#@ backwpup
|
1591 |
msgid "STRICT NOTICE:"
|
1592 |
msgstr "EXAKTE NOTIZ:"
|
1593 |
|
1594 |
-
#: inc/class-job.php:
|
1595 |
#@ backwpup
|
1596 |
msgid "RECOVERABLE ERROR:"
|
1597 |
msgstr "WIEDERHERSTELLUNGS FEHLER:"
|
1598 |
|
1599 |
-
#: inc/class-job.php:
|
1600 |
#, php-format
|
1601 |
#@ backwpup
|
1602 |
msgid "One old log deleted"
|
@@ -1604,209 +1604,212 @@ msgid_plural "%d old logs deleted"
|
|
1604 |
msgstr[0] "Eine alte Log-Datei gelöscht"
|
1605 |
msgstr[1] "%d alte Log-Dateien gelöscht"
|
1606 |
|
1607 |
-
#: inc/class-job.php:
|
1608 |
-
#: inc/class-page-jobs.php:
|
1609 |
#, php-format
|
1610 |
#@ backwpup
|
1611 |
msgid "Job done in %s seconds."
|
1612 |
msgstr "Auftrag erledigt in %s Sekunden."
|
1613 |
|
1614 |
-
#: inc/class-job.php:
|
1615 |
#@ backwpup
|
1616 |
msgid "SUCCESSFUL"
|
1617 |
msgstr "ERFOLGREICH"
|
1618 |
|
1619 |
-
#: inc/class-job.php:
|
1620 |
#@ backwpup
|
1621 |
msgid "WARNING"
|
1622 |
msgstr "WARNUNG"
|
1623 |
|
1624 |
-
#: inc/class-job.php:
|
1625 |
#@ backwpup
|
1626 |
msgid "Set blog into maintenance mode"
|
1627 |
msgstr "Webseite / Blog in den Wartungsmodus versetzen"
|
1628 |
|
1629 |
-
#: inc/class-job.php:
|
1630 |
#@ backwpup
|
1631 |
msgid "Cannot set blog into maintenance mode! .maintenance is not writable!"
|
1632 |
msgstr "Die Webseite kann nicht in den Wartungsmodus gesetzt werden! Das Root-Verzeichnis ist nicht beschreibbar!"
|
1633 |
|
1634 |
-
#: inc/class-job.php:
|
1635 |
#@ backwpup
|
1636 |
msgid "Set blog to normal mode"
|
1637 |
msgstr "Setze Webseite / Blog zurück in den Normalmodus"
|
1638 |
|
1639 |
-
#: inc/class-job.php:
|
1640 |
#, php-format
|
1641 |
#@ backwpup
|
1642 |
msgid "Memory increased from %1$s to %2$s"
|
1643 |
msgstr "Speicher(limit) erhöht von %1$s auf %2$s"
|
1644 |
|
1645 |
-
#: inc/class-job.php:
|
1646 |
#, php-format
|
1647 |
#@ backwpup
|
1648 |
msgid "Can not increase memory limit. The current value is %1$s"
|
1649 |
msgstr "Das PHP-Speicherlimit kann nicht erhöht werden, es beträgt derzeit %1$s "
|
1650 |
|
1651 |
-
#: inc/class-job.php:
|
1652 |
#, php-format
|
1653 |
#@ backwpup
|
1654 |
msgid "File \"%s\" is not readable!"
|
1655 |
msgstr "Datei \"%s\" ist nicht lesbar!"
|
1656 |
|
1657 |
-
#: inc/class-job.php:
|
1658 |
#, php-format
|
1659 |
#@ backwpup
|
1660 |
msgid "Link \"%s\" not followed."
|
1661 |
msgstr "Link \"%s\" wird nicht gefolgt"
|
1662 |
|
1663 |
-
#: inc/class-create-archive.php:
|
|
|
1664 |
#, php-format
|
1665 |
#@ backwpup
|
1666 |
msgid "Can not add \"%s\" to zip archive!"
|
1667 |
msgstr "\"%s\" kann dem ZIP-Archiv nicht hinzugefügt werden!"
|
1668 |
|
1669 |
-
#: inc/class-create-archive.php:
|
1670 |
#@ backwpup
|
1671 |
msgid "(ER_MULTIDISK) Multi-disk zip archives not supported"
|
1672 |
msgstr "(ER_MULTIDISK) Multi-Disk .zip Archive werden nicht unterstützt"
|
1673 |
|
1674 |
-
#: inc/class-create-archive.php:
|
1675 |
#@ backwpup
|
1676 |
msgid "(ER_RENAME) Renaming temporary file failed"
|
1677 |
msgstr "(ER_RENAME) Umbenennen der temporärern Dateien gescheitert."
|
1678 |
|
1679 |
-
#: inc/class-create-archive.php:
|
1680 |
#@ backwpup
|
1681 |
msgid "(ER_CLOSE) Closing zip archive failed"
|
1682 |
msgstr "(ER_CLOSE) Schließen der .zip Archive gescheitert"
|
1683 |
|
1684 |
-
#: inc/class-create-archive.php:
|
1685 |
#@ backwpup
|
1686 |
msgid "(ER_SEEK) Seek error"
|
1687 |
msgstr "(ER_SEEK) Such-Fehler"
|
1688 |
|
1689 |
-
#: inc/class-create-archive.php:
|
1690 |
#@ backwpup
|
1691 |
msgid "(ER_READ) Read error"
|
1692 |
msgstr "(ER_READ) Lese-Fehler"
|
1693 |
|
1694 |
-
#: inc/class-create-archive.php:
|
1695 |
#@ backwpup
|
1696 |
msgid "(ER_WRITE) Write error"
|
1697 |
msgstr "(ER_WRITE) Schreib-Fehler"
|
1698 |
|
1699 |
-
#: inc/class-create-archive.php:
|
1700 |
#@ backwpup
|
1701 |
msgid "(ER_CRC) CRC error"
|
1702 |
msgstr "(ER_CRC) CRC Fehler"
|
1703 |
|
1704 |
-
#: inc/class-create-archive.php:
|
1705 |
#@ backwpup
|
1706 |
msgid "(ER_ZIPCLOSED) Containing zip archive was closed"
|
1707 |
msgstr "(ER_ZIPCLOSED) beinhaltetendes .zip Archiv war geschlossen"
|
1708 |
|
1709 |
-
#: inc/class-create-archive.php:
|
1710 |
#@ backwpup
|
1711 |
msgid "(ER_NOENT) No such file"
|
1712 |
msgstr "(ER_NOENT) keine passende Datei"
|
1713 |
|
1714 |
-
#: inc/class-create-archive.php:
|
1715 |
#@ backwpup
|
1716 |
msgid "(ER_EXISTS) File already exists"
|
1717 |
msgstr "(ER_EXISTS) Datei exisitiert bereits"
|
1718 |
|
1719 |
-
#: inc/class-create-archive.php:
|
1720 |
#@ backwpup
|
1721 |
msgid "(ER_OPEN) Can't open file"
|
1722 |
msgstr "(ER_OPEN) Kann die Datei nicht öffnen"
|
1723 |
|
1724 |
-
#: inc/class-create-archive.php:
|
1725 |
#@ backwpup
|
1726 |
msgid "(ER_TMPOPEN) Failure to create temporary file"
|
1727 |
msgstr "(ER_TMPOPEN) Erstellen einer temporären Datei fehlgeschlagen"
|
1728 |
|
1729 |
-
#: inc/class-create-archive.php:
|
1730 |
#@ backwpup
|
1731 |
msgid "(ER_ZLIB) Zlib error"
|
1732 |
msgstr "(ER_ZLIB) Zlib Fehler"
|
1733 |
|
1734 |
-
#: inc/class-create-archive.php:
|
1735 |
#@ backwpup
|
1736 |
msgid "(ER_MEMORY) Malloc failure"
|
1737 |
msgstr "(ER_MEMORY) Malloc Fehler"
|
1738 |
|
1739 |
-
#: inc/class-create-archive.php:
|
1740 |
#@ backwpup
|
1741 |
msgid "(ER_CHANGED) Entry has been changed"
|
1742 |
msgstr "(ER_CHANGED) Eintrag wurde geändert"
|
1743 |
|
1744 |
-
#: inc/class-create-archive.php:
|
1745 |
#@ backwpup
|
1746 |
msgid "(ER_COMPNOTSUPP) Compression method not supported"
|
1747 |
msgstr "(ER_COMPNOTSUPP) Kompressionsmethode nicht unterstützt"
|
1748 |
|
1749 |
-
#: inc/class-create-archive.php:
|
1750 |
#@ backwpup
|
1751 |
msgid "(ER_EOF) Premature EOF"
|
1752 |
msgstr "(ER_EOF) verfrühtes EOF"
|
1753 |
|
1754 |
-
#: inc/class-create-archive.php:
|
1755 |
#@ backwpup
|
1756 |
msgid "(ER_INVAL) Invalid argument"
|
1757 |
msgstr "(ER_INVAL) ungültiges Argument"
|
1758 |
|
1759 |
-
#: inc/class-create-archive.php:
|
1760 |
#@ backwpup
|
1761 |
msgid "(ER_NOZIP) Not a zip archive"
|
1762 |
msgstr "(ER_NOZIP) kein .zip Archiv"
|
1763 |
|
1764 |
-
#: inc/class-create-archive.php:
|
1765 |
#@ backwpup
|
1766 |
msgid "(ER_INTERNAL) Internal error"
|
1767 |
msgstr "(ER_INTERNAL) Interner Fehler"
|
1768 |
|
1769 |
-
#: inc/class-create-archive.php:
|
1770 |
#@ backwpup
|
1771 |
msgid "(ER_INCONS) Zip archive inconsistent"
|
1772 |
msgstr "(ER_INCONS) .zip Archiv inkonsistent"
|
1773 |
|
1774 |
-
#: inc/class-create-archive.php:
|
1775 |
#@ backwpup
|
1776 |
msgid "(ER_REMOVE) Can't remove file"
|
1777 |
msgstr "(ER_REMOVE) Datei kann nicht entfernt werden"
|
1778 |
|
1779 |
-
#: inc/class-create-archive.php:
|
1780 |
#@ backwpup
|
1781 |
msgid "(ER_DELETED) Entry has been deleted"
|
1782 |
msgstr "(ER_DELETED) Eintrag wurde gelöscht"
|
1783 |
|
1784 |
-
#: inc/class-job.php:
|
1785 |
#, php-format
|
1786 |
#@ backwpup
|
1787 |
msgid "Archive size is %s."
|
1788 |
msgstr "Archivgröße ist %s"
|
1789 |
|
1790 |
-
#: inc/class-job.php:
|
1791 |
#, php-format
|
1792 |
#@ backwpup
|
1793 |
msgid "%1$d Files with %2$s in Archive."
|
1794 |
msgstr "%1$d Dateien mit %2$s in Archiven."
|
1795 |
|
1796 |
-
#: inc/class-create-archive.php:
|
1797 |
#, php-format
|
1798 |
#@ backwpup
|
1799 |
msgid "File name \"%1$s\" too long to be saved correctly in %2$s archive!"
|
1800 |
msgstr "Dateiname \"%1$s\" ist zu lang, um korrekt im %2$s Archiv zu speichern."
|
1801 |
|
1802 |
-
#: inc/class-create-archive.php:
|
1803 |
#, php-format
|
1804 |
#@ backwpup
|
1805 |
msgid "File path \"%1$s\" too long to be saved correctly in %2$s archive!"
|
1806 |
msgstr "Dateipfad \"%1$s\" ist zu lang, um korrekt in %2$s Archiv zu speichern"
|
1807 |
|
1808 |
-
#: inc/class-create-archive.php:
|
1809 |
-
#: inc/class-create-archive.php:
|
|
|
|
|
1810 |
#@ backwpup
|
1811 |
msgid "Unknown"
|
1812 |
msgstr "Unbekannt"
|
@@ -1979,7 +1982,7 @@ msgstr "GZip"
|
|
1979 |
msgid "BZip2"
|
1980 |
msgstr "BZip2"
|
1981 |
|
1982 |
-
#: inc/class-mysqldump.php:
|
1983 |
#: inc/features/class-jobtype-dbdump-pro.php:700
|
1984 |
#, php-format
|
1985 |
#@ backwpup
|
@@ -1994,15 +1997,15 @@ msgstr "Kann keine Verbindung zur Datenbank %1$d herstellen: %2$s"
|
|
1994 |
msgid "Connected to database %1$s on %2$s"
|
1995 |
msgstr "Mit Datenbank %1$s auf %2$s verbunden"
|
1996 |
|
1997 |
-
#: inc/class-mysqldump.php:
|
1998 |
-
#: inc/class-mysqldump.php:
|
1999 |
-
#: inc/class-mysqldump.php:
|
2000 |
-
#: inc/class-mysqldump.php:
|
2001 |
-
#: inc/class-mysqldump.php:
|
2002 |
-
#: inc/class-mysqldump.php:
|
2003 |
-
#: inc/class-mysqldump.php:
|
2004 |
-
#: inc/class-mysqldump.php:
|
2005 |
-
#: inc/class-mysqldump.php:
|
2006 |
#: inc/features/class-jobtype-dbdump-pro.php:713
|
2007 |
#: inc/features/class-jobtype-dbdump-pro.php:727
|
2008 |
#: inc/features/class-jobtype-dbdump-pro.php:776
|
@@ -2168,28 +2171,28 @@ msgid "%d. Trying to make a list of folders to back up …"
|
|
2168 |
msgstr "%d. Versuche, eine Liste der Ordner für das Backup zu erstellen …"
|
2169 |
|
2170 |
#: inc/class-jobtype-file.php:399
|
2171 |
-
#: inc/class-jobtype-file.php:
|
2172 |
-
#: inc/class-jobtype-file.php:
|
2173 |
-
#: inc/class-jobtype-file.php:
|
2174 |
-
#: inc/class-jobtype-file.php:
|
2175 |
-
#: inc/class-jobtype-file.php:
|
2176 |
#, php-format
|
2177 |
#@ backwpup
|
2178 |
msgid "Added \"%s\" to backup file list"
|
2179 |
msgstr "\"%s\" zur Backup Datei-Liste hinzugefügt."
|
2180 |
|
2181 |
-
#: inc/class-jobtype-file.php:
|
2182 |
#@ backwpup
|
2183 |
msgid "No folder to back up."
|
2184 |
msgstr "Keine Ordner zum Sichern"
|
2185 |
|
2186 |
-
#: inc/class-jobtype-file.php:
|
2187 |
#, php-format
|
2188 |
#@ backwpup
|
2189 |
msgid "%1$d folders to back up."
|
2190 |
msgstr "%1$d Ordner zu sichern"
|
2191 |
|
2192 |
-
#: inc/class-jobtype-file.php:
|
2193 |
#, php-format
|
2194 |
#@ backwpup
|
2195 |
msgid "Folder \"%s\" is not readable!"
|
@@ -2412,7 +2415,7 @@ msgid "working since %d seconds"
|
|
2412 |
msgstr "in Arbeit seit %d Sek."
|
2413 |
|
2414 |
#: inc/class-page-backwpup.php:262
|
2415 |
-
#: inc/class-page-jobs.php:
|
2416 |
#@ backwpup
|
2417 |
msgid "Abort"
|
2418 |
msgstr "Abbrechen"
|
@@ -2971,62 +2974,62 @@ msgstr "Protokoll"
|
|
2971 |
msgid "Copy of"
|
2972 |
msgstr "Kopie von"
|
2973 |
|
2974 |
-
#: inc/class-page-jobs.php:
|
2975 |
#, php-format
|
2976 |
#@ backwpup
|
2977 |
msgid "Job \"%s\" started."
|
2978 |
msgstr "Auftrag \"%s\" wurde gestartet."
|
2979 |
|
2980 |
-
#: inc/class-page-jobs.php:
|
2981 |
#: inc/class-wp-cli.php:47
|
2982 |
#@ backwpup
|
2983 |
msgid "Aborted by user!"
|
2984 |
msgstr "Abgebrochen vom Benutzer!"
|
2985 |
|
2986 |
-
#: inc/class-page-jobs.php:
|
2987 |
#: inc/class-wp-cli.php:77
|
2988 |
#@ backwpup
|
2989 |
msgid "Job will be terminated."
|
2990 |
msgstr "Auftrag wird beendet."
|
2991 |
|
2992 |
-
#: inc/class-page-jobs.php:
|
2993 |
#, php-format
|
2994 |
#@ backwpup
|
2995 |
msgid "%s Jobs"
|
2996 |
msgstr "%s Aufträge"
|
2997 |
|
2998 |
-
#: inc/class-page-jobs.php:
|
2999 |
#, php-format
|
3000 |
#@ backwpup
|
3001 |
msgid "Job currently working: %s"
|
3002 |
msgstr "Aktueller Auftrag wird bearbeitet: %s"
|
3003 |
|
3004 |
-
#: inc/class-page-jobs.php:
|
3005 |
#@ backwpup
|
3006 |
msgid "Warnings:"
|
3007 |
msgstr "Warnungen:"
|
3008 |
|
3009 |
-
#: inc/class-page-jobs.php:
|
3010 |
#@ backwpup
|
3011 |
msgid "Errors:"
|
3012 |
msgstr "Fehler:"
|
3013 |
|
3014 |
-
#: inc/class-page-jobs.php:
|
3015 |
#@ backwpup
|
3016 |
msgid "Display working log"
|
3017 |
msgstr "Zeige Auftragslog"
|
3018 |
|
3019 |
-
#: inc/class-page-jobs.php:
|
3020 |
#@ backwpup
|
3021 |
msgid "Close working screen"
|
3022 |
msgstr "Arbeitsfläche schließen"
|
3023 |
|
3024 |
-
#: inc/class-page-jobs.php:
|
3025 |
#@ backwpup
|
3026 |
msgid "close"
|
3027 |
msgstr "schließen"
|
3028 |
|
3029 |
-
#: inc/class-page-jobs.php:
|
3030 |
#@ backwpup
|
3031 |
msgid "Job end"
|
3032 |
msgstr "Auftragsende"
|
@@ -4404,7 +4407,7 @@ msgstr "Inpsyde GmbH"
|
|
4404 |
msgid "http://inpsyde.com"
|
4405 |
msgstr "http://inpsyde.com"
|
4406 |
|
4407 |
-
#: inc/class-admin.php:
|
4408 |
#, php-format
|
4409 |
#@ backwpup
|
4410 |
msgid "You have activatetd or updated BackWPup please check <a href=\"%s\">here</a>."
|
@@ -4415,7 +4418,7 @@ msgstr "Du hast BackWPup aktiviert oder aktualisiert. Bitte siehe <a href=\"%s\"
|
|
4415 |
msgid "running"
|
4416 |
msgstr "läuft"
|
4417 |
|
4418 |
-
#: inc/class-destination-sugarsync.php:
|
4419 |
#@ backwpup
|
4420 |
msgid "Upload to SugarSync now started …"
|
4421 |
msgstr "Der Upload zu SugarSync wird jetzt gestartet …"
|
@@ -4430,7 +4433,7 @@ msgstr "Auftragsstart"
|
|
4430 |
msgid "No destination correctly defined for backup! Please correct job settings."
|
4431 |
msgstr "Es wurde kein korrektes Backupziel definiert! Bitte überprüfe die Auftragseinstellungen."
|
4432 |
|
4433 |
-
#: inc/class-job.php:
|
4434 |
#@ backwpup
|
4435 |
msgid "WordPress Maintenance mode not activated on Manual run. Because it disappears displaying of working progress."
|
4436 |
msgstr "Der WordPress-Wartungsmodus wurde nicht aktiviert, da der Auftrag manuell gestartet wurde. Dies würde die Fortschrittsanzeige behindern."
|
@@ -4678,12 +4681,12 @@ msgstr "[INFO] Maximale Script ausführungszeit ist %1$d Sekunden"
|
|
4678 |
msgid "Runtime: %d seconds"
|
4679 |
msgstr "Ausführungszeit: %d Sekunden"
|
4680 |
|
4681 |
-
#: inc/class-job.php:
|
4682 |
#@ backwpup
|
4683 |
msgid "Second process start terminated, because a other job is already running!"
|
4684 |
msgstr "Ein zweiter Prozess start wurde abgebrochen, weil der alte Auftrag noch läuft!"
|
4685 |
|
4686 |
-
#: inc/class-job.php:
|
4687 |
#, php-format
|
4688 |
#@ backwpup
|
4689 |
msgid "Signal %d is sent to script!"
|
@@ -4718,7 +4721,7 @@ msgstr "Handbuch"
|
|
4718 |
msgid "[INFO] BackWPup job started form commandline interface"
|
4719 |
msgstr "[INFO] BackWPup-Auftrag per Kommandozeile gestartet"
|
4720 |
|
4721 |
-
#: inc/class-job.php:
|
4722 |
#@ default
|
4723 |
msgid "Job Started"
|
4724 |
msgstr ""
|
@@ -4887,12 +4890,14 @@ msgstr "Bitte deaktiviere den veralteten <a href=\"%s\">PHP-safe-mode</a>."
|
|
4887 |
msgid "We recommend to install the PHP FTP extension to use the FTP backup destination."
|
4888 |
msgstr "Wir empfehlen, die PHP-Erweiterung FTP zu installieren, um das Speicherziel FTP zu verwenden."
|
4889 |
|
|
|
4890 |
#: inc/features/class-wizard-systemtest.php:153
|
4891 |
#, php-format
|
4892 |
#@ backwpup
|
4893 |
msgid "Temp folder %s does not exist and cannot be created. Please create it and set proper write permissions."
|
4894 |
msgstr "Das temporäre Verzeichnis %s existiert nicht, und es kann auch nicht erstellt werden. Bitte erstellen Sie es, und setzen Sie die passenden Schreibrechte."
|
4895 |
|
|
|
4896 |
#: inc/features/class-wizard-systemtest.php:164
|
4897 |
#, php-format
|
4898 |
#@ backwpup
|
@@ -4960,13 +4965,13 @@ msgstr "FTP-Einstellungen"
|
|
4960 |
msgid "%d. Try to send backup file to a FTP Server …"
|
4961 |
msgstr "%d. Versuche, Backup zum FTP-Server zu schicken …"
|
4962 |
|
4963 |
-
#: inc/class-destination-sugarsync.php:
|
4964 |
#, php-format
|
4965 |
#@ backwpup
|
4966 |
msgid "%d. Try to send backup to SugarSync …"
|
4967 |
msgstr "%d. Versuche, Backup an SugarSync zu schicken …"
|
4968 |
|
4969 |
-
#: inc/class-destination-sugarsync.php:
|
4970 |
#@ backwpup
|
4971 |
msgid "No free space left on SugarSync!"
|
4972 |
msgstr "Kein Platz mehr frei bei SugarSync!"
|
@@ -5116,14 +5121,14 @@ msgstr "Bei Schritt: %s"
|
|
5116 |
msgid "Last message: %s"
|
5117 |
msgstr "Letzte Nachricht: %s"
|
5118 |
|
5119 |
-
#: inc/class-admin.php:
|
5120 |
#, php-format
|
5121 |
#@ backwpup
|
5122 |
msgctxt "link to Inpsyde.com, link text: Inpsyde GmbH"
|
5123 |
msgid "A project of %s"
|
5124 |
msgstr "Ein Projekt der %s"
|
5125 |
|
5126 |
-
#: inc/class-admin.php:
|
5127 |
#, php-format
|
5128 |
#@ backwpup
|
5129 |
msgctxt "developer name, link text: Daniel Hüsken"
|
@@ -5414,70 +5419,70 @@ msgid "BackWPup requires PHP version 5.2.6 or greater and WordPress 3.2 or great
|
|
5414 |
msgstr "BackWPup Braucht PHP in der Version 5.2.6 oder höher und WordPress in der Version 3.2 oder höher."
|
5415 |
|
5416 |
#: inc/class-create-archive.php:78
|
5417 |
-
#: inc/class-create-archive.php:
|
5418 |
-
#: inc/class-create-archive.php:
|
5419 |
-
#: inc/class-mysqldump.php:
|
5420 |
#@ backwpup
|
5421 |
msgid "Functions for gz compression not available"
|
5422 |
msgstr "Die Funktionen für die Gzip-Kompression sind nicht verfügbar."
|
5423 |
|
5424 |
-
#: inc/class-create-archive.php:
|
5425 |
-
#: inc/class-create-archive.php:
|
5426 |
-
#: inc/class-mysqldump.php:
|
5427 |
#@ backwpup
|
5428 |
msgid "Functions for bz2 compression not available"
|
5429 |
msgstr "Die Funktionen für die Bz2-Kompression sind nicht verfügbar."
|
5430 |
|
5431 |
-
#: inc/class-create-archive.php:
|
5432 |
#@ backwpup
|
5433 |
msgid "Can not open archive file"
|
5434 |
msgstr "Kann Archivdatei nicht öffnen"
|
5435 |
|
5436 |
-
#: inc/class-create-archive.php:240
|
5437 |
#: inc/class-create-archive.php:254
|
5438 |
-
#: inc/class-create-archive.php:
|
|
|
5439 |
#, php-format
|
5440 |
#@ backwpup
|
5441 |
msgid "Can not open source file %s to archive"
|
5442 |
msgstr "Konnte Quelle %s zum Archivieren nicht öffnen"
|
5443 |
|
5444 |
-
#: inc/class-create-archive.php:
|
5445 |
#, php-format
|
5446 |
#@ backwpup
|
5447 |
msgid "PclZip archive add error: %s"
|
5448 |
msgstr "Fehler beim Hinzufügen zum PclZip-Archive: %s"
|
5449 |
|
5450 |
-
#: inc/class-create-archive.php:
|
5451 |
#, php-format
|
5452 |
#@ backwpup
|
5453 |
msgctxt "Text of ZipArchive status Massage"
|
5454 |
msgid "ZipArchive returns status: %s"
|
5455 |
msgstr "Das Zip-Archive liefert den Status: %s"
|
5456 |
|
5457 |
-
#: inc/class-job.php:
|
5458 |
#, php-format
|
5459 |
#@ backwpup
|
5460 |
msgid "%d. Trying to create backup archive …"
|
5461 |
msgstr "%d. Versuche, Backup zu erstellen …"
|
5462 |
|
5463 |
-
#: inc/class-job.php:
|
5464 |
#, php-format
|
5465 |
#@ backwpup
|
5466 |
msgctxt "Archive compression method"
|
5467 |
msgid "Compression method is %s"
|
5468 |
msgstr "Komprimierungsmethode ist %s"
|
5469 |
|
5470 |
-
#: inc/class-job.php:
|
5471 |
#@ backwpup
|
5472 |
msgid "Backup archive created."
|
5473 |
msgstr "Backup wurde erstellt."
|
5474 |
|
5475 |
-
#: inc/class-mysqldump.php:
|
5476 |
#@ backwpup
|
5477 |
msgid "Can not open dump file"
|
5478 |
msgstr "Konnte Backup nicht öffnen"
|
5479 |
|
5480 |
-
#: inc/class-mysqldump.php:
|
5481 |
#@ backwpup
|
5482 |
msgid "Error on writing to file!"
|
5483 |
msgstr "Fehler beim Schreiben!"
|
@@ -5530,32 +5535,34 @@ msgctxt "%s = Folder name"
|
|
5530 |
msgid "Folder %s for the archive not found"
|
5531 |
msgstr "Verzeichnis %s für das Archiv nicht gefunden"
|
5532 |
|
5533 |
-
#: inc/class-create-archive.php:
|
5534 |
#, php-format
|
5535 |
#@ backwpup
|
5536 |
msgctxt "ZipArchive open() result"
|
5537 |
msgid "Can not create zip archive: %d"
|
5538 |
msgstr "Konte ZIP-Datei %s nicht erstellen"
|
5539 |
|
5540 |
-
#: inc/class-create-archive.php:
|
5541 |
#, php-format
|
5542 |
#@ backwpup
|
5543 |
msgctxt "%s = file name"
|
5544 |
msgid "Method to archive file %s not detected"
|
5545 |
msgstr "Methode zum Archivieren der Datei %s nicht gefunden"
|
5546 |
|
5547 |
-
#: inc/class-create-archive.php:
|
5548 |
#@ backwpup
|
5549 |
msgid "File name cannot be empty"
|
5550 |
msgstr "Der Dateiname kann nicht leer sein."
|
5551 |
|
5552 |
-
#: inc/class-create-archive.php:235
|
5553 |
#: inc/class-create-archive.php:249
|
|
|
|
|
|
|
5554 |
#@ backwpup
|
5555 |
msgid "This archive method can only add one file"
|
5556 |
msgstr "Diese Archive-Methode kann nur eine einziges Datei sichern."
|
5557 |
|
5558 |
-
#: inc/class-mysqldump.php:
|
5559 |
#, php-format
|
5560 |
#@ backwpup
|
5561 |
msgctxt "Database Charset"
|
@@ -5585,7 +5592,7 @@ msgctxt "%s = Remote Code"
|
|
5585 |
msgid "Could not connect to remote host, code %d. Please try again later."
|
5586 |
msgstr "Konnte nicht zum Remote-Host verbinden, code: %s. Bitte versuchen Sie es später."
|
5587 |
|
5588 |
-
#: inc/class-create-archive.php:
|
5589 |
#, php-format
|
5590 |
#@ backwpup
|
5591 |
msgctxt "File path to add to archive"
|
@@ -5652,26 +5659,28 @@ msgstr "%1$s Version %2$s. Ein Projekt der <a href=\"http://inpsyde.com\">Inpsyd
|
|
5652 |
msgid "Plugin on wordpress.org"
|
5653 |
msgstr "Plugin auf wordpress.org"
|
5654 |
|
5655 |
-
#: inc/class-job.php:
|
5656 |
#, php-format
|
5657 |
#@ backwpup
|
5658 |
msgctxt "Folder name"
|
5659 |
msgid "Folder %s not exists"
|
5660 |
msgstr "Verzeichnis %s existiert nicht"
|
5661 |
|
5662 |
-
#: inc/class-job.php:
|
5663 |
#, php-format
|
5664 |
#@ backwpup
|
5665 |
msgctxt "Folder name"
|
5666 |
msgid "Folder %s not readable"
|
5667 |
msgstr "Verzeichnis %s ist nicht lesbar"
|
5668 |
|
|
|
5669 |
#: inc/features/class-wizard-systemtest.php:148
|
5670 |
#, php-format
|
5671 |
#@ backwpup
|
5672 |
msgid "Temp folder %s not read or writable. Please set proper write permissions."
|
5673 |
msgstr "Das Temporäre Verzeichnis %s ist nicht lesbar oder schreibbar. Bitte setze Schreibberechtigung."
|
5674 |
|
|
|
5675 |
#: inc/features/class-wizard-systemtest.php:160
|
5676 |
#, php-format
|
5677 |
#@ backwpup
|
@@ -5853,12 +5862,6 @@ msgstr "http://marketpress.de/product/backwpup-pro/"
|
|
5853 |
msgid "GET PRO"
|
5854 |
msgstr "GET PRO"
|
5855 |
|
5856 |
-
#. translators: plugin header field 'Version'
|
5857 |
-
#: backwpup.php:0
|
5858 |
-
#@ backwpup
|
5859 |
-
msgid "3.0.1"
|
5860 |
-
msgstr ""
|
5861 |
-
|
5862 |
#: inc/class-destination-s3.php:187
|
5863 |
#@ backwpup
|
5864 |
msgid "Multipart Upload"
|
@@ -5874,7 +5877,7 @@ msgstr "Benutze Multipart Upload zu hochladen der Datei"
|
|
5874 |
msgid "Mutipart split the file into peaces of chucks while uploading. It is needed for displaying upload process and can transfer bigger files. Im moment there are problems on Google storage with this option"
|
5875 |
msgstr "Multipart splittet den Upload in mehrere teile auf. Das wird benötigt um die Fortschrittsanzeige zu machen und um groß Dateien hochzuladen. Im moment gibt es mit dieser Option Probleme bei Google Storage"
|
5876 |
|
5877 |
-
#: inc/class-destination-s3.php:
|
5878 |
#, php-format
|
5879 |
#@ backwpup
|
5880 |
msgid "Connected to S3 Bucket \"%1$s\" in %2$s"
|
@@ -5905,3 +5908,61 @@ msgstr "E-Mail Absender Name"
|
|
5905 |
msgid "Name and email of email sender in the mail formant. Name <emailadress>"
|
5906 |
msgstr "Name des E-Mail Senders im E-MAil formart. <code>Name <E-Mail-Adresse></code>"
|
5907 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: BackWPup Pro v3.0.2\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2013-02-06 17:42+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-03-01 13:51:45-0600\n"
|
7 |
"Last-Translator: Frank Bueltge <frank@bueltge.de>\n"
|
8 |
"Language-Team: INPSYDE <info@inpsyde.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
72 |
msgid "Settings"
|
73 |
msgstr "Einstellungen"
|
74 |
|
75 |
+
#: inc/class-admin.php:281
|
76 |
+
#: inc/class-admin.php:287
|
77 |
#@ backwpup
|
78 |
msgid "Cheating Huh?"
|
79 |
msgstr "Schummeln, was?"
|
80 |
|
81 |
+
#: inc/class-admin.php:321
|
82 |
#@ backwpup
|
83 |
msgid "Jobs overview"
|
84 |
msgstr "Auftragsübersicht"
|
85 |
|
86 |
+
#: inc/class-admin.php:321
|
87 |
#: inc/class-page-jobs.php:134
|
88 |
#@ backwpup
|
89 |
msgid "Run now"
|
90 |
msgstr "Jetzt starten"
|
91 |
|
92 |
+
#: inc/class-admin.php:411
|
93 |
#, php-format
|
94 |
#@ backwpup
|
95 |
msgid "version %s"
|
111 |
msgstr "Abbrechen!"
|
112 |
|
113 |
#: inc/class-adminbar.php:91
|
114 |
+
#: inc/class-page-jobs.php:450
|
115 |
#@ backwpupadminbar
|
116 |
#@ backwpup
|
117 |
msgid "Add New"
|
130 |
msgstr "Jetzt starten"
|
131 |
|
132 |
#: inc/class-cron.php:53
|
133 |
+
#: inc/class-job.php:994
|
134 |
+
#: inc/class-page-jobs.php:381
|
135 |
#: inc/class-wp-cli.php:47
|
136 |
#@ backwpup
|
137 |
msgid "ERROR:"
|
143 |
msgstr "Abgebrochen, da seit 2 Stunden kein Fortschritt!"
|
144 |
|
145 |
#: inc/class-cron.php:84
|
146 |
+
#: inc/class-job.php:1221
|
147 |
#, php-format
|
148 |
#@ backwpup
|
149 |
msgid "[%3$s] BackWPup log %1$s: %2$s"
|
150 |
msgstr "[%3$s] BackWPup Log %1$s: %2$s"
|
151 |
|
152 |
#: inc/class-cron.php:84
|
153 |
+
#: inc/class-job.php:1217
|
154 |
#@ backwpup
|
155 |
msgid "ERROR"
|
156 |
msgstr "FEHLER"
|
337 |
msgstr "Hochladen zur Dropbox hat begonnen …"
|
338 |
|
339 |
#: inc/class-destination-dropbox.php:265
|
340 |
+
#: inc/class-destination-msazure.php:249
|
341 |
+
#: inc/class-destination-sugarsync.php:272
|
342 |
#, php-format
|
343 |
#@ backwpup
|
344 |
msgid "Backup transferred to %s"
|
385 |
msgid "Folder to store the backups in"
|
386 |
msgstr "Ordner für Backups"
|
387 |
|
388 |
+
#: inc/class-destination-folder.php:205
|
389 |
#, php-format
|
390 |
#@ backwpup
|
391 |
msgid "One backup file deleted"
|
819 |
msgid "MS Azure container create: %s"
|
820 |
msgstr "MS Azure Container erstellen: %s"
|
821 |
|
822 |
+
#: inc/class-destination-msazure.php:221
|
823 |
#, php-format
|
824 |
#@ backwpup
|
825 |
msgid "%d. Try sending backup to a Microsoft Azure (Blob) …"
|
826 |
msgstr "%d. Versuche, das Backup zu Microsoft Azure (Blob) zu senden …"
|
827 |
|
828 |
+
#: inc/class-destination-msazure.php:238
|
829 |
#: inc/features/class-destination-msazure-pro.php:108
|
830 |
#, php-format
|
831 |
#@ backwpup
|
832 |
msgid "MS Azure container \"%s\" does not exist!"
|
833 |
msgstr "MS Azure Container \"%s\" existiert nicht!"
|
834 |
|
835 |
+
#: inc/class-destination-msazure.php:242
|
836 |
#: inc/features/class-destination-msazure-pro.php:112
|
837 |
#, php-format
|
838 |
#@ backwpup
|
839 |
msgid "Connected to MS Azure container \"%s\"."
|
840 |
msgstr "Verbunden mit MS Azure container \"%s\""
|
841 |
|
842 |
+
#: inc/class-destination-msazure.php:246
|
843 |
#@ backwpup
|
844 |
msgid "Upload to MS Azure now started …"
|
845 |
msgstr "Hochladen zu MS Azure hat begonnen …"
|
846 |
|
847 |
+
#: inc/class-destination-msazure.php:291
|
848 |
#, php-format
|
849 |
#@ backwpup
|
850 |
msgid "One file deleted on Microsoft Azure container."
|
852 |
msgstr[0] "Eine Datei im Microsoft-Azure-Container gelöscht"
|
853 |
msgstr[1] "%d Dateien im Microsoft-Azure-Container gelöscht"
|
854 |
|
855 |
+
#: inc/class-destination-msazure.php:297
|
856 |
#: inc/features/class-destination-msazure-pro.php:172
|
857 |
#, php-format
|
858 |
#@ backwpup
|
859 |
msgid "Microsoft Azure API: %s"
|
860 |
msgstr "Microsoft Azure API: %s"
|
861 |
|
862 |
+
#: inc/class-destination-msazure.php:379
|
863 |
#@ backwpup
|
864 |
msgid "Missing Account Name!"
|
865 |
msgstr "Kontoname (Benutzername) nicht angegeben!"
|
866 |
|
867 |
+
#: inc/class-destination-msazure.php:381
|
868 |
#@ backwpup
|
869 |
msgid "Missing Access Key!"
|
870 |
msgstr "Zugangsschlüssel (Access Key) nicht angegeben!"
|
871 |
|
872 |
+
#: inc/class-destination-msazure.php:385
|
873 |
#@ backwpup
|
874 |
msgid "No Container found!"
|
875 |
msgstr "Kein Container gefunden!"
|
939 |
msgstr "Rackspace Cloud Container \"%s\" erstellt."
|
940 |
|
941 |
#: inc/class-destination-rsc.php:160
|
942 |
+
#: inc/class-destination-rsc.php:269
|
943 |
+
#: inc/class-destination-rsc.php:297
|
944 |
+
#: inc/class-destination-rsc.php:345
|
945 |
#: inc/features/class-destination-rsc-pro.php:104
|
946 |
#: inc/features/class-destination-rsc-pro.php:147
|
947 |
#: inc/features/class-destination-rsc-pro.php:220
|
950 |
msgid "Rackspace Cloud API: %s"
|
951 |
msgstr "Rackspace Cloud API: %s"
|
952 |
|
953 |
+
#: inc/class-destination-rsc.php:250
|
954 |
#, php-format
|
955 |
#@ backwpup
|
956 |
msgid "%d. Trying to send backup file to Rackspace cloud …"
|
957 |
msgstr "%d. Versuche, ein Backup zur Rackspace Cloud zu senden …"
|
958 |
|
959 |
+
#: inc/class-destination-rsc.php:266
|
960 |
#, php-format
|
961 |
#@ backwpup
|
962 |
msgid "Connected to Rackspace cloud files container %s"
|
963 |
msgstr "Verbunden mit Rackspace Cloud Container %s"
|
964 |
|
965 |
+
#: inc/class-destination-rsc.php:278
|
966 |
#@ backwpup
|
967 |
msgid "Upload to Rackspace cloud started …"
|
968 |
msgstr "Upload zur Rackspace Cloud nun gestartet …"
|
969 |
|
970 |
+
#: inc/class-destination-rsc.php:287
|
971 |
#@ backwpup
|
972 |
msgid "Backup File transferred to RSC://"
|
973 |
msgstr "Datensicherungsdatei übertragen zu RSC://"
|
974 |
|
975 |
+
#: inc/class-destination-rsc.php:291
|
976 |
#@ backwpup
|
977 |
msgid "Can not transfer backup to Rackspace cloud."
|
978 |
msgstr "Kann das Backup nicht zur Rackspace Cloud transferieren"
|
979 |
|
980 |
+
#: inc/class-destination-rsc.php:339
|
981 |
#, php-format
|
982 |
#@ backwpup
|
983 |
msgid "One file deleted on Rackspace cloud container."
|
985 |
msgstr[0] "Eine Datei im Rackspace-Container gelöscht"
|
986 |
msgstr[1] "%d Dateien im Rackspace-Container gelöscht"
|
987 |
|
988 |
+
#: inc/class-destination-rsc.php:449
|
989 |
#@ backwpup
|
990 |
msgid "Missing Username!"
|
991 |
msgstr "Falscher Benutzername!"
|
992 |
|
993 |
+
#: inc/class-destination-rsc.php:451
|
994 |
#@ backwpup
|
995 |
msgid "Missing API Key!"
|
996 |
msgstr "API-Schlüssel wird fehlt!"
|
997 |
|
998 |
+
#: inc/class-destination-rsc.php:455
|
999 |
#@ backwpup
|
1000 |
msgid "No Container's found!"
|
1001 |
msgstr "Keine Container gefunden!"
|
1170 |
msgstr "%s ist kein gültiger Bucket Name"
|
1171 |
|
1172 |
#: inc/class-destination-s3.php:317
|
1173 |
+
#: inc/class-destination-s3.php:423
|
1174 |
+
#: inc/class-destination-s3.php:454
|
1175 |
+
#: inc/class-destination-s3.php:475
|
1176 |
+
#: inc/class-destination-s3.php:534
|
1177 |
#: inc/features/class-destination-s3-pro.php:280
|
1178 |
#, php-format
|
1179 |
#@ backwpup
|
1180 |
msgid "S3 Service API: %s"
|
1181 |
msgstr "S3 Service API: %s"
|
1182 |
|
1183 |
+
#: inc/class-destination-s3.php:379
|
1184 |
#, php-format
|
1185 |
#@ backwpup
|
1186 |
msgid "%d. Trying to send backup file to S3 Service …"
|
1187 |
msgstr "%d. Versuche, ein Backup zum S3-Service zu senden …"
|
1188 |
|
1189 |
+
#: inc/class-destination-s3.php:394
|
1190 |
#: inc/features/class-destination-s3-pro.php:168
|
1191 |
#, php-format
|
1192 |
#@ backwpup
|
1193 |
msgid "S3 Bucket \"%s\" does not exist!"
|
1194 |
msgstr "Amazon S3 Bucket \"%s\" existiert nicht!"
|
1195 |
|
1196 |
+
#: inc/class-destination-s3.php:400
|
1197 |
#@ backwpup
|
1198 |
msgid "Upload to S3 Service started …"
|
1199 |
msgstr "Upload zum S3 Service jetzt gestartet …"
|
1200 |
|
1201 |
+
#: inc/class-destination-s3.php:466
|
1202 |
#, php-format
|
1203 |
#@ backwpup
|
1204 |
msgid "Backup transferred to %s."
|
1205 |
msgstr "Datensicherung übertragen zu %s"
|
1206 |
|
1207 |
+
#: inc/class-destination-s3.php:471
|
1208 |
#, php-format
|
1209 |
#@ backwpup
|
1210 |
msgid "Can not transfer backup to S3! (%1$d) %2$s"
|
1211 |
msgstr "Datensicherung kann nicht zu Amazon S3 übertragen werden! (%1$d) %2$s"
|
1212 |
|
1213 |
+
#: inc/class-destination-s3.php:524
|
1214 |
#, php-format
|
1215 |
#@ backwpup
|
1216 |
msgid "Can not delete backup on %s."
|
1217 |
msgstr "Kann das Backup auf %s nicht löschen"
|
1218 |
|
1219 |
+
#: inc/class-destination-s3.php:528
|
1220 |
#, php-format
|
1221 |
#@ backwpup
|
1222 |
msgid "One file deleted on S3 Bucket."
|
1224 |
msgstr[0] "Eine Datei im S3-Bucket gelöscht"
|
1225 |
msgstr[1] "%d Dateien im S3-Bucket gelöscht"
|
1226 |
|
1227 |
+
#: inc/class-destination-s3.php:631
|
1228 |
#@ backwpup
|
1229 |
msgid "Missing access key!"
|
1230 |
msgstr "Der Zugangsschlüssel (Access Key) fehlt!"
|
1231 |
|
1232 |
+
#: inc/class-destination-s3.php:633
|
1233 |
#@ backwpup
|
1234 |
msgid "Missing secret access key!"
|
1235 |
msgstr "Der geheime Zugangsschlüssel (Secret Access Key) fehlt!"
|
1236 |
|
1237 |
+
#: inc/class-destination-s3.php:637
|
1238 |
#@ backwpup
|
1239 |
msgid "No bucket found!"
|
1240 |
msgstr "Kein Bucket gefunden!"
|
1322 |
msgid "Folder in root"
|
1323 |
msgstr "Ordner im Wurzelverzeichnis"
|
1324 |
|
1325 |
+
#: inc/class-destination-sugarsync.php:250
|
1326 |
#, php-format
|
1327 |
#@ backwpup
|
1328 |
msgid "Authed to SugarSync with Nick %s"
|
1329 |
msgstr "Authentifiziert mit SugarSync, mit dem Namen %s"
|
1330 |
|
1331 |
+
#: inc/class-destination-sugarsync.php:259
|
1332 |
#, php-format
|
1333 |
#@ backwpup
|
1334 |
msgid "%s free on SugarSync"
|
1335 |
msgstr "%s frei bei SugarSync"
|
1336 |
|
1337 |
+
#: inc/class-destination-sugarsync.php:275
|
1338 |
#@ backwpup
|
1339 |
msgid "Can not transfer backup to SugarSync!"
|
1340 |
msgstr "Datensicherung kann nicht zu SugarSync übertragen werden!"
|
1341 |
|
1342 |
+
#: inc/class-destination-sugarsync.php:314
|
1343 |
#, php-format
|
1344 |
#@ backwpup
|
1345 |
msgid "One file deleted on SugarSync folder"
|
1347 |
msgstr[0] "Eine Datei im SugarSync-Ordner gelöscht"
|
1348 |
msgstr[1] "%d Dateien im SugarSync-Ordner gelöscht"
|
1349 |
|
1350 |
+
#: inc/class-destination-sugarsync.php:320
|
1351 |
#, php-format
|
1352 |
#@ backwpup
|
1353 |
msgid "SugarSync API: %s"
|
1488 |
|
1489 |
#: inc/class-job.php:443
|
1490 |
#: inc/class-job.php:444
|
1491 |
+
#: inc/class-job.php:518
|
1492 |
+
#: inc/class-job.php:519
|
1493 |
+
#: inc/class-job.php:567
|
1494 |
#@ backwpup
|
1495 |
msgid "Wrong BackWPup JobID"
|
1496 |
msgstr "Falsche BackWPup JobID"
|
1497 |
|
1498 |
#: inc/class-job.php:448
|
1499 |
#: inc/class-job.php:449
|
1500 |
+
#: inc/class-job.php:524
|
1501 |
+
#: inc/class-job.php:573
|
1502 |
#@ backwpup
|
1503 |
msgid "Log folder does not exist or is not writable for BackWPup"
|
1504 |
msgstr "Log-Ordner existiert nicht oder ist nicht beschreibbar für BackWPup"
|
1505 |
|
1506 |
#: inc/class-job.php:452
|
1507 |
#: inc/class-job.php:453
|
1508 |
+
#: inc/class-job.php:528
|
1509 |
+
#: inc/class-job.php:578
|
1510 |
#@ backwpup
|
1511 |
msgid "Temp folder does not exist or is not writable for BackWPup"
|
1512 |
msgstr "Temp Ordner existiert nicht oder ist nicht beschreibbar für BackWPup!"
|
1513 |
|
1514 |
+
#: inc/class-job.php:463
|
1515 |
+
#: inc/class-job.php:464
|
1516 |
#@ backwpup
|
1517 |
msgid "No BackWPup job running"
|
1518 |
msgstr "Kein aktiver BackWPup-Auftrag"
|
1519 |
|
1520 |
+
#: inc/class-job.php:467
|
1521 |
+
#: inc/class-job.php:468
|
1522 |
+
#: inc/class-job.php:532
|
1523 |
+
#: inc/class-job.php:533
|
1524 |
+
#: inc/class-job.php:585
|
1525 |
#@ backwpup
|
1526 |
msgid "A BackWPup job is already running"
|
1527 |
msgstr "Es läuft bereits ein BackWPup-Auftrag"
|
1528 |
|
1529 |
+
#: inc/class-job.php:523
|
1530 |
#@ backwpup
|
1531 |
msgid "Log folder does not exist or is not writable"
|
1532 |
msgstr "Log-Ordner existiert nicht oder ist nicht beschreibbar"
|
1533 |
|
1534 |
+
#: inc/class-job.php:527
|
1535 |
#@ backwpup
|
1536 |
msgid "Temp folder does not exist or is not writable"
|
1537 |
msgstr "Temp Ordner existiert nicht oder ist nicht beschreibbar"
|
1538 |
|
1539 |
+
#: inc/class-job.php:613
|
1540 |
#@ backwpup
|
1541 |
msgid "Job restart due to inactivity for more than 5 minutes."
|
1542 |
msgstr "Auftrag durch Inaktivität von mehr als 5 Minuten neu gestartet"
|
1543 |
|
1544 |
+
#: inc/class-job.php:733
|
1545 |
#@ backwpup
|
1546 |
msgid "Step aborted: too many attempts!"
|
1547 |
msgstr "Schritt abgebrochen durch zu viele Versuche!"
|
1548 |
|
1549 |
+
#: inc/class-job.php:858
|
1550 |
#, php-format
|
1551 |
#@ backwpup
|
1552 |
msgid "%d. Script stopped! Will start again."
|
1553 |
msgstr "%d. Script stoppt! Wird neu gestartet"
|
1554 |
|
1555 |
+
#: inc/class-job.php:887
|
1556 |
#, php-format
|
1557 |
#@ backwpup
|
1558 |
msgid "Please use another folder: %1$s"
|
1559 |
msgstr "Bitte einen anderen Ordner auswählen: %1$s"
|
1560 |
|
1561 |
+
#: inc/class-job.php:894
|
1562 |
#, php-format
|
1563 |
#@ backwpup
|
1564 |
msgid "Can not create folder: %1$s"
|
1565 |
msgstr "Kann keinen Ordner erstellen: %1$s"
|
1566 |
|
1567 |
+
#: inc/class-job.php:902
|
1568 |
#, php-format
|
1569 |
#@ backwpup
|
1570 |
msgid "Folder \"%1$s\" is not writable"
|
1571 |
msgstr "Ordner \"%1$s\" ist nicht beschreibbar"
|
1572 |
|
1573 |
+
#: inc/class-job.php:927
|
1574 |
#, php-format
|
1575 |
#@ backwpup
|
1576 |
msgid "Exception caught in %1$s: %2$s"
|
1577 |
msgstr "Ausnahme eingefangen in %1$s: %2$s"
|
1578 |
|
1579 |
+
#: inc/class-job.php:985
|
1580 |
#@ backwpup
|
1581 |
msgid "WARNING:"
|
1582 |
msgstr "WARNUNG:"
|
1583 |
|
1584 |
+
#: inc/class-job.php:998
|
1585 |
#@ backwpup
|
1586 |
msgid "DEPRECATED:"
|
1587 |
msgstr "ABGELEHNT:"
|
1588 |
|
1589 |
+
#: inc/class-job.php:1001
|
1590 |
#@ backwpup
|
1591 |
msgid "STRICT NOTICE:"
|
1592 |
msgstr "EXAKTE NOTIZ:"
|
1593 |
|
1594 |
+
#: inc/class-job.php:1004
|
1595 |
#@ backwpup
|
1596 |
msgid "RECOVERABLE ERROR:"
|
1597 |
msgstr "WIEDERHERSTELLUNGS FEHLER:"
|
1598 |
|
1599 |
+
#: inc/class-job.php:1140
|
1600 |
#, php-format
|
1601 |
#@ backwpup
|
1602 |
msgid "One old log deleted"
|
1604 |
msgstr[0] "Eine alte Log-Datei gelöscht"
|
1605 |
msgstr[1] "%d alte Log-Dateien gelöscht"
|
1606 |
|
1607 |
+
#: inc/class-job.php:1145
|
1608 |
+
#: inc/class-page-jobs.php:603
|
1609 |
#, php-format
|
1610 |
#@ backwpup
|
1611 |
msgid "Job done in %s seconds."
|
1612 |
msgstr "Auftrag erledigt in %s Sekunden."
|
1613 |
|
1614 |
+
#: inc/class-job.php:1210
|
1615 |
#@ backwpup
|
1616 |
msgid "SUCCESSFUL"
|
1617 |
msgstr "ERFOLGREICH"
|
1618 |
|
1619 |
+
#: inc/class-job.php:1213
|
1620 |
#@ backwpup
|
1621 |
msgid "WARNING"
|
1622 |
msgstr "WARNUNG"
|
1623 |
|
1624 |
+
#: inc/class-job.php:1256
|
1625 |
#@ backwpup
|
1626 |
msgid "Set blog into maintenance mode"
|
1627 |
msgstr "Webseite / Blog in den Wartungsmodus versetzen"
|
1628 |
|
1629 |
+
#: inc/class-job.php:1269
|
1630 |
#@ backwpup
|
1631 |
msgid "Cannot set blog into maintenance mode! .maintenance is not writable!"
|
1632 |
msgstr "Die Webseite kann nicht in den Wartungsmodus gesetzt werden! Das Root-Verzeichnis ist nicht beschreibbar!"
|
1633 |
|
1634 |
+
#: inc/class-job.php:1274
|
1635 |
#@ backwpup
|
1636 |
msgid "Set blog to normal mode"
|
1637 |
msgstr "Setze Webseite / Blog zurück in den Normalmodus"
|
1638 |
|
1639 |
+
#: inc/class-job.php:1304
|
1640 |
#, php-format
|
1641 |
#@ backwpup
|
1642 |
msgid "Memory increased from %1$s to %2$s"
|
1643 |
msgstr "Speicher(limit) erhöht von %1$s auf %2$s"
|
1644 |
|
1645 |
+
#: inc/class-job.php:1306
|
1646 |
#, php-format
|
1647 |
#@ backwpup
|
1648 |
msgid "Can not increase memory limit. The current value is %1$s"
|
1649 |
msgstr "Das PHP-Speicherlimit kann nicht erhöht werden, es beträgt derzeit %1$s "
|
1650 |
|
1651 |
+
#: inc/class-job.php:1599
|
1652 |
#, php-format
|
1653 |
#@ backwpup
|
1654 |
msgid "File \"%s\" is not readable!"
|
1655 |
msgstr "Datei \"%s\" ist nicht lesbar!"
|
1656 |
|
1657 |
+
#: inc/class-job.php:1601
|
1658 |
#, php-format
|
1659 |
#@ backwpup
|
1660 |
msgid "Link \"%s\" not followed."
|
1661 |
msgstr "Link \"%s\" wird nicht gefolgt"
|
1662 |
|
1663 |
+
#: inc/class-create-archive.php:294
|
1664 |
+
#: inc/class-create-archive.php:353
|
1665 |
#, php-format
|
1666 |
#@ backwpup
|
1667 |
msgid "Can not add \"%s\" to zip archive!"
|
1668 |
msgstr "\"%s\" kann dem ZIP-Archiv nicht hinzugefügt werden!"
|
1669 |
|
1670 |
+
#: inc/class-create-archive.php:377
|
1671 |
#@ backwpup
|
1672 |
msgid "(ER_MULTIDISK) Multi-disk zip archives not supported"
|
1673 |
msgstr "(ER_MULTIDISK) Multi-Disk .zip Archive werden nicht unterstützt"
|
1674 |
|
1675 |
+
#: inc/class-create-archive.php:378
|
1676 |
#@ backwpup
|
1677 |
msgid "(ER_RENAME) Renaming temporary file failed"
|
1678 |
msgstr "(ER_RENAME) Umbenennen der temporärern Dateien gescheitert."
|
1679 |
|
1680 |
+
#: inc/class-create-archive.php:379
|
1681 |
#@ backwpup
|
1682 |
msgid "(ER_CLOSE) Closing zip archive failed"
|
1683 |
msgstr "(ER_CLOSE) Schließen der .zip Archive gescheitert"
|
1684 |
|
1685 |
+
#: inc/class-create-archive.php:380
|
1686 |
#@ backwpup
|
1687 |
msgid "(ER_SEEK) Seek error"
|
1688 |
msgstr "(ER_SEEK) Such-Fehler"
|
1689 |
|
1690 |
+
#: inc/class-create-archive.php:381
|
1691 |
#@ backwpup
|
1692 |
msgid "(ER_READ) Read error"
|
1693 |
msgstr "(ER_READ) Lese-Fehler"
|
1694 |
|
1695 |
+
#: inc/class-create-archive.php:382
|
1696 |
#@ backwpup
|
1697 |
msgid "(ER_WRITE) Write error"
|
1698 |
msgstr "(ER_WRITE) Schreib-Fehler"
|
1699 |
|
1700 |
+
#: inc/class-create-archive.php:383
|
1701 |
#@ backwpup
|
1702 |
msgid "(ER_CRC) CRC error"
|
1703 |
msgstr "(ER_CRC) CRC Fehler"
|
1704 |
|
1705 |
+
#: inc/class-create-archive.php:384
|
1706 |
#@ backwpup
|
1707 |
msgid "(ER_ZIPCLOSED) Containing zip archive was closed"
|
1708 |
msgstr "(ER_ZIPCLOSED) beinhaltetendes .zip Archiv war geschlossen"
|
1709 |
|
1710 |
+
#: inc/class-create-archive.php:385
|
1711 |
#@ backwpup
|
1712 |
msgid "(ER_NOENT) No such file"
|
1713 |
msgstr "(ER_NOENT) keine passende Datei"
|
1714 |
|
1715 |
+
#: inc/class-create-archive.php:386
|
1716 |
#@ backwpup
|
1717 |
msgid "(ER_EXISTS) File already exists"
|
1718 |
msgstr "(ER_EXISTS) Datei exisitiert bereits"
|
1719 |
|
1720 |
+
#: inc/class-create-archive.php:387
|
1721 |
#@ backwpup
|
1722 |
msgid "(ER_OPEN) Can't open file"
|
1723 |
msgstr "(ER_OPEN) Kann die Datei nicht öffnen"
|
1724 |
|
1725 |
+
#: inc/class-create-archive.php:388
|
1726 |
#@ backwpup
|
1727 |
msgid "(ER_TMPOPEN) Failure to create temporary file"
|
1728 |
msgstr "(ER_TMPOPEN) Erstellen einer temporären Datei fehlgeschlagen"
|
1729 |
|
1730 |
+
#: inc/class-create-archive.php:389
|
1731 |
#@ backwpup
|
1732 |
msgid "(ER_ZLIB) Zlib error"
|
1733 |
msgstr "(ER_ZLIB) Zlib Fehler"
|
1734 |
|
1735 |
+
#: inc/class-create-archive.php:390
|
1736 |
#@ backwpup
|
1737 |
msgid "(ER_MEMORY) Malloc failure"
|
1738 |
msgstr "(ER_MEMORY) Malloc Fehler"
|
1739 |
|
1740 |
+
#: inc/class-create-archive.php:391
|
1741 |
#@ backwpup
|
1742 |
msgid "(ER_CHANGED) Entry has been changed"
|
1743 |
msgstr "(ER_CHANGED) Eintrag wurde geändert"
|
1744 |
|
1745 |
+
#: inc/class-create-archive.php:392
|
1746 |
#@ backwpup
|
1747 |
msgid "(ER_COMPNOTSUPP) Compression method not supported"
|
1748 |
msgstr "(ER_COMPNOTSUPP) Kompressionsmethode nicht unterstützt"
|
1749 |
|
1750 |
+
#: inc/class-create-archive.php:393
|
1751 |
#@ backwpup
|
1752 |
msgid "(ER_EOF) Premature EOF"
|
1753 |
msgstr "(ER_EOF) verfrühtes EOF"
|
1754 |
|
1755 |
+
#: inc/class-create-archive.php:394
|
1756 |
#@ backwpup
|
1757 |
msgid "(ER_INVAL) Invalid argument"
|
1758 |
msgstr "(ER_INVAL) ungültiges Argument"
|
1759 |
|
1760 |
+
#: inc/class-create-archive.php:395
|
1761 |
#@ backwpup
|
1762 |
msgid "(ER_NOZIP) Not a zip archive"
|
1763 |
msgstr "(ER_NOZIP) kein .zip Archiv"
|
1764 |
|
1765 |
+
#: inc/class-create-archive.php:396
|
1766 |
#@ backwpup
|
1767 |
msgid "(ER_INTERNAL) Internal error"
|
1768 |
msgstr "(ER_INTERNAL) Interner Fehler"
|
1769 |
|
1770 |
+
#: inc/class-create-archive.php:397
|
1771 |
#@ backwpup
|
1772 |
msgid "(ER_INCONS) Zip archive inconsistent"
|
1773 |
msgstr "(ER_INCONS) .zip Archiv inkonsistent"
|
1774 |
|
1775 |
+
#: inc/class-create-archive.php:398
|
1776 |
#@ backwpup
|
1777 |
msgid "(ER_REMOVE) Can't remove file"
|
1778 |
msgstr "(ER_REMOVE) Datei kann nicht entfernt werden"
|
1779 |
|
1780 |
+
#: inc/class-create-archive.php:399
|
1781 |
#@ backwpup
|
1782 |
msgid "(ER_DELETED) Entry has been deleted"
|
1783 |
msgstr "(ER_DELETED) Eintrag wurde gelöscht"
|
1784 |
|
1785 |
+
#: inc/class-job.php:1666
|
1786 |
#, php-format
|
1787 |
#@ backwpup
|
1788 |
msgid "Archive size is %s."
|
1789 |
msgstr "Archivgröße ist %s"
|
1790 |
|
1791 |
+
#: inc/class-job.php:1667
|
1792 |
#, php-format
|
1793 |
#@ backwpup
|
1794 |
msgid "%1$d Files with %2$s in Archive."
|
1795 |
msgstr "%1$d Dateien mit %2$s in Archiven."
|
1796 |
|
1797 |
+
#: inc/class-create-archive.php:426
|
1798 |
#, php-format
|
1799 |
#@ backwpup
|
1800 |
msgid "File name \"%1$s\" too long to be saved correctly in %2$s archive!"
|
1801 |
msgstr "Dateiname \"%1$s\" ist zu lang, um korrekt im %2$s Archiv zu speichern."
|
1802 |
|
1803 |
+
#: inc/class-create-archive.php:428
|
1804 |
#, php-format
|
1805 |
#@ backwpup
|
1806 |
msgid "File path \"%1$s\" too long to be saved correctly in %2$s archive!"
|
1807 |
msgstr "Dateipfad \"%1$s\" ist zu lang, um korrekt in %2$s Archiv zu speichern"
|
1808 |
|
1809 |
+
#: inc/class-create-archive.php:438
|
1810 |
+
#: inc/class-create-archive.php:439
|
1811 |
+
#: inc/class-create-archive.php:514
|
1812 |
+
#: inc/class-create-archive.php:515
|
1813 |
#@ backwpup
|
1814 |
msgid "Unknown"
|
1815 |
msgstr "Unbekannt"
|
1982 |
msgid "BZip2"
|
1983 |
msgstr "BZip2"
|
1984 |
|
1985 |
+
#: inc/class-mysqldump.php:89
|
1986 |
#: inc/features/class-jobtype-dbdump-pro.php:700
|
1987 |
#, php-format
|
1988 |
#@ backwpup
|
1997 |
msgid "Connected to database %1$s on %2$s"
|
1998 |
msgstr "Mit Datenbank %1$s auf %2$s verbunden"
|
1999 |
|
2000 |
+
#: inc/class-mysqldump.php:130
|
2001 |
+
#: inc/class-mysqldump.php:140
|
2002 |
+
#: inc/class-mysqldump.php:217
|
2003 |
+
#: inc/class-mysqldump.php:228
|
2004 |
+
#: inc/class-mysqldump.php:240
|
2005 |
+
#: inc/class-mysqldump.php:251
|
2006 |
+
#: inc/class-mysqldump.php:289
|
2007 |
+
#: inc/class-mysqldump.php:310
|
2008 |
+
#: inc/class-mysqldump.php:324
|
2009 |
#: inc/features/class-jobtype-dbdump-pro.php:713
|
2010 |
#: inc/features/class-jobtype-dbdump-pro.php:727
|
2011 |
#: inc/features/class-jobtype-dbdump-pro.php:776
|
2171 |
msgstr "%d. Versuche, eine Liste der Ordner für das Backup zu erstellen …"
|
2172 |
|
2173 |
#: inc/class-jobtype-file.php:399
|
2174 |
+
#: inc/class-jobtype-file.php:406
|
2175 |
+
#: inc/class-jobtype-file.php:413
|
2176 |
+
#: inc/class-jobtype-file.php:419
|
2177 |
+
#: inc/class-jobtype-file.php:425
|
2178 |
+
#: inc/class-jobtype-file.php:431
|
2179 |
#, php-format
|
2180 |
#@ backwpup
|
2181 |
msgid "Added \"%s\" to backup file list"
|
2182 |
msgstr "\"%s\" zur Backup Datei-Liste hinzugefügt."
|
2183 |
|
2184 |
+
#: inc/class-jobtype-file.php:436
|
2185 |
#@ backwpup
|
2186 |
msgid "No folder to back up."
|
2187 |
msgstr "Keine Ordner zum Sichern"
|
2188 |
|
2189 |
+
#: inc/class-jobtype-file.php:438
|
2190 |
#, php-format
|
2191 |
#@ backwpup
|
2192 |
msgid "%1$d folders to back up."
|
2193 |
msgstr "%1$d Ordner zu sichern"
|
2194 |
|
2195 |
+
#: inc/class-jobtype-file.php:477
|
2196 |
#, php-format
|
2197 |
#@ backwpup
|
2198 |
msgid "Folder \"%s\" is not readable!"
|
2415 |
msgstr "in Arbeit seit %d Sek."
|
2416 |
|
2417 |
#: inc/class-page-backwpup.php:262
|
2418 |
+
#: inc/class-page-jobs.php:472
|
2419 |
#@ backwpup
|
2420 |
msgid "Abort"
|
2421 |
msgstr "Abbrechen"
|
2974 |
msgid "Copy of"
|
2975 |
msgstr "Kopie von"
|
2976 |
|
2977 |
+
#: inc/class-page-jobs.php:353
|
2978 |
#, php-format
|
2979 |
#@ backwpup
|
2980 |
msgid "Job \"%s\" started."
|
2981 |
msgstr "Auftrag \"%s\" wurde gestartet."
|
2982 |
|
2983 |
+
#: inc/class-page-jobs.php:381
|
2984 |
#: inc/class-wp-cli.php:47
|
2985 |
#@ backwpup
|
2986 |
msgid "Aborted by user!"
|
2987 |
msgstr "Abgebrochen vom Benutzer!"
|
2988 |
|
2989 |
+
#: inc/class-page-jobs.php:410
|
2990 |
#: inc/class-wp-cli.php:77
|
2991 |
#@ backwpup
|
2992 |
msgid "Job will be terminated."
|
2993 |
msgstr "Auftrag wird beendet."
|
2994 |
|
2995 |
+
#: inc/class-page-jobs.php:450
|
2996 |
#, php-format
|
2997 |
#@ backwpup
|
2998 |
msgid "%s Jobs"
|
2999 |
msgstr "%s Aufträge"
|
3000 |
|
3001 |
+
#: inc/class-page-jobs.php:468
|
3002 |
#, php-format
|
3003 |
#@ backwpup
|
3004 |
msgid "Job currently working: %s"
|
3005 |
msgstr "Aktueller Auftrag wird bearbeitet: %s"
|
3006 |
|
3007 |
+
#: inc/class-page-jobs.php:469
|
3008 |
#@ backwpup
|
3009 |
msgid "Warnings:"
|
3010 |
msgstr "Warnungen:"
|
3011 |
|
3012 |
+
#: inc/class-page-jobs.php:470
|
3013 |
#@ backwpup
|
3014 |
msgid "Errors:"
|
3015 |
msgstr "Fehler:"
|
3016 |
|
3017 |
+
#: inc/class-page-jobs.php:471
|
3018 |
#@ backwpup
|
3019 |
msgid "Display working log"
|
3020 |
msgstr "Zeige Auftragslog"
|
3021 |
|
3022 |
+
#: inc/class-page-jobs.php:473
|
3023 |
#@ backwpup
|
3024 |
msgid "Close working screen"
|
3025 |
msgstr "Arbeitsfläche schließen"
|
3026 |
|
3027 |
+
#: inc/class-page-jobs.php:473
|
3028 |
#@ backwpup
|
3029 |
msgid "close"
|
3030 |
msgstr "schließen"
|
3031 |
|
3032 |
+
#: inc/class-page-jobs.php:602
|
3033 |
#@ backwpup
|
3034 |
msgid "Job end"
|
3035 |
msgstr "Auftragsende"
|
4407 |
msgid "http://inpsyde.com"
|
4408 |
msgstr "http://inpsyde.com"
|
4409 |
|
4410 |
+
#: inc/class-admin.php:427
|
4411 |
#, php-format
|
4412 |
#@ backwpup
|
4413 |
msgid "You have activatetd or updated BackWPup please check <a href=\"%s\">here</a>."
|
4418 |
msgid "running"
|
4419 |
msgstr "läuft"
|
4420 |
|
4421 |
+
#: inc/class-destination-sugarsync.php:266
|
4422 |
#@ backwpup
|
4423 |
msgid "Upload to SugarSync now started …"
|
4424 |
msgstr "Der Upload zu SugarSync wird jetzt gestartet …"
|
4433 |
msgid "No destination correctly defined for backup! Please correct job settings."
|
4434 |
msgstr "Es wurde kein korrektes Backupziel definiert! Bitte überprüfe die Auftragseinstellungen."
|
4435 |
|
4436 |
+
#: inc/class-job.php:1265
|
4437 |
#@ backwpup
|
4438 |
msgid "WordPress Maintenance mode not activated on Manual run. Because it disappears displaying of working progress."
|
4439 |
msgstr "Der WordPress-Wartungsmodus wurde nicht aktiviert, da der Auftrag manuell gestartet wurde. Dies würde die Fortschrittsanzeige behindern."
|
4681 |
msgid "Runtime: %d seconds"
|
4682 |
msgstr "Ausführungszeit: %d Sekunden"
|
4683 |
|
4684 |
+
#: inc/class-job.php:616
|
4685 |
#@ backwpup
|
4686 |
msgid "Second process start terminated, because a other job is already running!"
|
4687 |
msgstr "Ein zweiter Prozess start wurde abgebrochen, weil der alte Auftrag noch läuft!"
|
4688 |
|
4689 |
+
#: inc/class-job.php:842
|
4690 |
#, php-format
|
4691 |
#@ backwpup
|
4692 |
msgid "Signal %d is sent to script!"
|
4721 |
msgid "[INFO] BackWPup job started form commandline interface"
|
4722 |
msgstr "[INFO] BackWPup-Auftrag per Kommandozeile gestartet"
|
4723 |
|
4724 |
+
#: inc/class-job.php:536
|
4725 |
#@ default
|
4726 |
msgid "Job Started"
|
4727 |
msgstr ""
|
4890 |
msgid "We recommend to install the PHP FTP extension to use the FTP backup destination."
|
4891 |
msgstr "Wir empfehlen, die PHP-Erweiterung FTP zu installieren, um das Speicherziel FTP zu verwenden."
|
4892 |
|
4893 |
+
#: inc/class-page-jobs.php:325
|
4894 |
#: inc/features/class-wizard-systemtest.php:153
|
4895 |
#, php-format
|
4896 |
#@ backwpup
|
4897 |
msgid "Temp folder %s does not exist and cannot be created. Please create it and set proper write permissions."
|
4898 |
msgstr "Das temporäre Verzeichnis %s existiert nicht, und es kann auch nicht erstellt werden. Bitte erstellen Sie es, und setzen Sie die passenden Schreibrechte."
|
4899 |
|
4900 |
+
#: inc/class-page-jobs.php:334
|
4901 |
#: inc/features/class-wizard-systemtest.php:164
|
4902 |
#, php-format
|
4903 |
#@ backwpup
|
4965 |
msgid "%d. Try to send backup file to a FTP Server …"
|
4966 |
msgstr "%d. Versuche, Backup zum FTP-Server zu schicken …"
|
4967 |
|
4968 |
+
#: inc/class-destination-sugarsync.php:243
|
4969 |
#, php-format
|
4970 |
#@ backwpup
|
4971 |
msgid "%d. Try to send backup to SugarSync …"
|
4972 |
msgstr "%d. Versuche, Backup an SugarSync zu schicken …"
|
4973 |
|
4974 |
+
#: inc/class-destination-sugarsync.php:253
|
4975 |
#@ backwpup
|
4976 |
msgid "No free space left on SugarSync!"
|
4977 |
msgstr "Kein Platz mehr frei bei SugarSync!"
|
5121 |
msgid "Last message: %s"
|
5122 |
msgstr "Letzte Nachricht: %s"
|
5123 |
|
5124 |
+
#: inc/class-admin.php:393
|
5125 |
#, php-format
|
5126 |
#@ backwpup
|
5127 |
msgctxt "link to Inpsyde.com, link text: Inpsyde GmbH"
|
5128 |
msgid "A project of %s"
|
5129 |
msgstr "Ein Projekt der %s"
|
5130 |
|
5131 |
+
#: inc/class-admin.php:394
|
5132 |
#, php-format
|
5133 |
#@ backwpup
|
5134 |
msgctxt "developer name, link text: Daniel Hüsken"
|
5419 |
msgstr "BackWPup Braucht PHP in der Version 5.2.6 oder höher und WordPress in der Version 3.2 oder höher."
|
5420 |
|
5421 |
#: inc/class-create-archive.php:78
|
5422 |
+
#: inc/class-create-archive.php:138
|
5423 |
+
#: inc/class-create-archive.php:151
|
5424 |
+
#: inc/class-mysqldump.php:109
|
5425 |
#@ backwpup
|
5426 |
msgid "Functions for gz compression not available"
|
5427 |
msgstr "Die Funktionen für die Gzip-Kompression sind nicht verfügbar."
|
5428 |
|
5429 |
+
#: inc/class-create-archive.php:97
|
5430 |
+
#: inc/class-create-archive.php:157
|
5431 |
+
#: inc/class-mysqldump.php:113
|
5432 |
#@ backwpup
|
5433 |
msgid "Functions for bz2 compression not available"
|
5434 |
msgstr "Die Funktionen für die Bz2-Kompression sind nicht verfügbar."
|
5435 |
|
5436 |
+
#: inc/class-create-archive.php:167
|
5437 |
#@ backwpup
|
5438 |
msgid "Can not open archive file"
|
5439 |
msgstr "Kann Archivdatei nicht öffnen"
|
5440 |
|
|
|
5441 |
#: inc/class-create-archive.php:254
|
5442 |
+
#: inc/class-create-archive.php:268
|
5443 |
+
#: inc/class-create-archive.php:434
|
5444 |
#, php-format
|
5445 |
#@ backwpup
|
5446 |
msgid "Can not open source file %s to archive"
|
5447 |
msgstr "Konnte Quelle %s zum Archivieren nicht öffnen"
|
5448 |
|
5449 |
+
#: inc/class-create-archive.php:304
|
5450 |
#, php-format
|
5451 |
#@ backwpup
|
5452 |
msgid "PclZip archive add error: %s"
|
5453 |
msgstr "Fehler beim Hinzufügen zum PclZip-Archive: %s"
|
5454 |
|
5455 |
+
#: inc/class-create-archive.php:406
|
5456 |
#, php-format
|
5457 |
#@ backwpup
|
5458 |
msgctxt "Text of ZipArchive status Massage"
|
5459 |
msgid "ZipArchive returns status: %s"
|
5460 |
msgstr "Das Zip-Archive liefert den Status: %s"
|
5461 |
|
5462 |
+
#: inc/class-job.php:1623
|
5463 |
#, php-format
|
5464 |
#@ backwpup
|
5465 |
msgid "%d. Trying to create backup archive …"
|
5466 |
msgstr "%d. Versuche, Backup zu erstellen …"
|
5467 |
|
5468 |
+
#: inc/class-job.php:1629
|
5469 |
#, php-format
|
5470 |
#@ backwpup
|
5471 |
msgctxt "Archive compression method"
|
5472 |
msgid "Compression method is %s"
|
5473 |
msgstr "Komprimierungsmethode ist %s"
|
5474 |
|
5475 |
+
#: inc/class-job.php:1657
|
5476 |
#@ backwpup
|
5477 |
msgid "Backup archive created."
|
5478 |
msgstr "Backup wurde erstellt."
|
5479 |
|
5480 |
+
#: inc/class-mysqldump.php:125
|
5481 |
#@ backwpup
|
5482 |
msgid "Can not open dump file"
|
5483 |
msgstr "Konnte Backup nicht öffnen"
|
5484 |
|
5485 |
+
#: inc/class-mysqldump.php:386
|
5486 |
#@ backwpup
|
5487 |
msgid "Error on writing to file!"
|
5488 |
msgstr "Fehler beim Schreiben!"
|
5535 |
msgid "Folder %s for the archive not found"
|
5536 |
msgstr "Verzeichnis %s für das Archiv nicht gefunden"
|
5537 |
|
5538 |
+
#: inc/class-create-archive.php:134
|
5539 |
#, php-format
|
5540 |
#@ backwpup
|
5541 |
msgctxt "ZipArchive open() result"
|
5542 |
msgid "Can not create zip archive: %d"
|
5543 |
msgstr "Konte ZIP-Datei %s nicht erstellen"
|
5544 |
|
5545 |
+
#: inc/class-create-archive.php:162
|
5546 |
#, php-format
|
5547 |
#@ backwpup
|
5548 |
msgctxt "%s = file name"
|
5549 |
msgid "Method to archive file %s not detected"
|
5550 |
msgstr "Methode zum Archivieren der Datei %s nicht gefunden"
|
5551 |
|
5552 |
+
#: inc/class-create-archive.php:236
|
5553 |
#@ backwpup
|
5554 |
msgid "File name cannot be empty"
|
5555 |
msgstr "Der Dateiname kann nicht leer sein."
|
5556 |
|
|
|
5557 |
#: inc/class-create-archive.php:249
|
5558 |
+
#: inc/class-create-archive.php:263
|
5559 |
+
#: inc/class-create-archive.php:338
|
5560 |
+
#: inc/class-create-archive.php:342
|
5561 |
#@ backwpup
|
5562 |
msgid "This archive method can only add one file"
|
5563 |
msgstr "Diese Archive-Methode kann nur eine einziges Datei sichern."
|
5564 |
|
5565 |
+
#: inc/class-mysqldump.php:95
|
5566 |
#, php-format
|
5567 |
#@ backwpup
|
5568 |
msgctxt "Database Charset"
|
5592 |
msgid "Could not connect to remote host, code %d. Please try again later."
|
5593 |
msgstr "Konnte nicht zum Remote-Host verbinden, code: %s. Bitte versuchen Sie es später."
|
5594 |
|
5595 |
+
#: inc/class-create-archive.php:239
|
5596 |
#, php-format
|
5597 |
#@ backwpup
|
5598 |
msgctxt "File path to add to archive"
|
5659 |
msgid "Plugin on wordpress.org"
|
5660 |
msgstr "Plugin auf wordpress.org"
|
5661 |
|
5662 |
+
#: inc/class-job.php:1579
|
5663 |
#, php-format
|
5664 |
#@ backwpup
|
5665 |
msgctxt "Folder name"
|
5666 |
msgid "Folder %s not exists"
|
5667 |
msgstr "Verzeichnis %s existiert nicht"
|
5668 |
|
5669 |
+
#: inc/class-job.php:1583
|
5670 |
#, php-format
|
5671 |
#@ backwpup
|
5672 |
msgctxt "Folder name"
|
5673 |
msgid "Folder %s not readable"
|
5674 |
msgstr "Verzeichnis %s ist nicht lesbar"
|
5675 |
|
5676 |
+
#: inc/class-page-jobs.php:322
|
5677 |
#: inc/features/class-wizard-systemtest.php:148
|
5678 |
#, php-format
|
5679 |
#@ backwpup
|
5680 |
msgid "Temp folder %s not read or writable. Please set proper write permissions."
|
5681 |
msgstr "Das Temporäre Verzeichnis %s ist nicht lesbar oder schreibbar. Bitte setze Schreibberechtigung."
|
5682 |
|
5683 |
+
#: inc/class-page-jobs.php:331
|
5684 |
#: inc/features/class-wizard-systemtest.php:160
|
5685 |
#, php-format
|
5686 |
#@ backwpup
|
5862 |
msgid "GET PRO"
|
5863 |
msgstr "GET PRO"
|
5864 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5865 |
#: inc/class-destination-s3.php:187
|
5866 |
#@ backwpup
|
5867 |
msgid "Multipart Upload"
|
5877 |
msgid "Mutipart split the file into peaces of chucks while uploading. It is needed for displaying upload process and can transfer bigger files. Im moment there are problems on Google storage with this option"
|
5878 |
msgstr "Multipart splittet den Upload in mehrere teile auf. Das wird benötigt um die Fortschrittsanzeige zu machen und um groß Dateien hochzuladen. Im moment gibt es mit dieser Option Probleme bei Google Storage"
|
5879 |
|
5880 |
+
#: inc/class-destination-s3.php:391
|
5881 |
#, php-format
|
5882 |
#@ backwpup
|
5883 |
msgid "Connected to S3 Bucket \"%1$s\" in %2$s"
|
5908 |
msgid "Name and email of email sender in the mail formant. Name <emailadress>"
|
5909 |
msgstr "Name des E-Mail Senders im E-MAil formart. <code>Name <E-Mail-Adresse></code>"
|
5910 |
|
5911 |
+
#. translators: plugin header field 'Version'
|
5912 |
+
#: backwpup.php:0
|
5913 |
+
#@ backwpup
|
5914 |
+
msgid "3.0.2"
|
5915 |
+
msgstr ""
|
5916 |
+
|
5917 |
+
#: inc/class-create-archive.php:326
|
5918 |
+
#@ backwpup
|
5919 |
+
msgid "Folder name cannot be empty"
|
5920 |
+
msgstr "Der Verzeichnis Name darf nicht leer sein"
|
5921 |
+
|
5922 |
+
#: inc/class-create-archive.php:329
|
5923 |
+
#, php-format
|
5924 |
+
#@ backwpup
|
5925 |
+
msgctxt "Folder path to add to archive"
|
5926 |
+
msgid "Folder %s does not exist or is not readable"
|
5927 |
+
msgstr "Verzeichnis %s existiert nicht oder ist nicht lesbar"
|
5928 |
+
|
5929 |
+
#: inc/class-create-archive.php:507
|
5930 |
+
#, php-format
|
5931 |
+
#@ backwpup
|
5932 |
+
msgid "Folder name \"%1$s\" too long to be saved correctly in %2$s archive!"
|
5933 |
+
msgstr "Verzeichnis Name \"%1$s\" ist zu lang um ihn koreckt zu speichern im %2$s Archiv"
|
5934 |
+
|
5935 |
+
#: inc/class-create-archive.php:509
|
5936 |
+
#, php-format
|
5937 |
+
#@ backwpup
|
5938 |
+
msgid "Folder path \"%1$s\" too long to be saved correctly in %2$s archive!"
|
5939 |
+
msgstr "Verzeichnis Pfad \"%1$s\" ist zu lang um ihn koreckt zu speichern im %2$s Archiv"
|
5940 |
+
|
5941 |
+
#: inc/class-job.php:457
|
5942 |
+
#: inc/class-job.php:458
|
5943 |
+
#@ backwpup
|
5944 |
+
msgid "Backups folder does not exist or is not writable for BackWPup"
|
5945 |
+
msgstr "Backups Verzeichnis existiert nicht oder ist nicht beschreibbar von BackWPup"
|
5946 |
+
|
5947 |
+
#: inc/class-mysqldump.php:57
|
5948 |
+
#@ backwpup
|
5949 |
+
msgid "No MySQLi extension found. Please install it."
|
5950 |
+
msgstr "Keine MySQLi Erweiterung gefunden. Bitte installieren Sie diese"
|
5951 |
+
|
5952 |
+
#: inc/class-page-jobs.php:342
|
5953 |
+
#, php-format
|
5954 |
+
#@ backwpup
|
5955 |
+
msgid "Backups folder %s is not read or writable. Please set proper write permissions."
|
5956 |
+
msgstr "Backups Verzeichnis nicht lesbar oder nicht beschreibbar. Bitte die richtigen Berechtigungen setzen."
|
5957 |
+
|
5958 |
+
#: inc/class-page-jobs.php:345
|
5959 |
+
#, php-format
|
5960 |
+
#@ backwpup
|
5961 |
+
msgid "Backups folder %s does not exist and cannot be created. Please create it and set proper write permissions."
|
5962 |
+
msgstr "Backups Verzeichnis %s existiert nicht und kann nicht angelegt werden. Bitte überprüfen Sie die Berechtigungen."
|
5963 |
+
|
5964 |
+
#: inc/class-page-jobs.php:471
|
5965 |
+
#@ backwpup
|
5966 |
+
msgid "Working job log"
|
5967 |
+
msgstr "Auftrags lLog"
|
5968 |
+
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
=== BackWPup ===
|
2 |
Contributors: inpsyde, danielhuesken, Bueltge, nullbyte
|
3 |
Tags: backup, dump, database, file, ftp, xml, time, upload, multisite, cloud, dropbox, storage, S3
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 3.5.1
|
6 |
-
Stable tag: 3.0.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -81,6 +81,14 @@ Please check all settings after the update:
|
|
81 |
|
82 |
|
83 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
|
85 |
= Version 3.0.2 =
|
86 |
* Fixed: Warnings on job edit tab files
|
@@ -137,3 +145,4 @@ Please check all settings after the update:
|
|
137 |
* Use your own API keys for Dropbox and SugarSync
|
138 |
* Premium Support
|
139 |
* Automatic updates
|
|
1 |
+
=== BackWPup ===
|
2 |
Contributors: inpsyde, danielhuesken, Bueltge, nullbyte
|
3 |
Tags: backup, dump, database, file, ftp, xml, time, upload, multisite, cloud, dropbox, storage, S3
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 3.5.1
|
6 |
+
Stable tag: 3.0.3
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
81 |
|
82 |
|
83 |
== Changelog ==
|
84 |
+
= Version 3.0.3 =
|
85 |
+
* Improved: Archive creation performance
|
86 |
+
* Fixed: Problem with S3 Prefix
|
87 |
+
* Fixed: warnings on excluded folders
|
88 |
+
* Fixed: message from putenv
|
89 |
+
* Fixed: not working downloads
|
90 |
+
* Changed: removed fancybox and uses thickbox because plugin compatibility
|
91 |
+
* Added: folder checking on run now
|
92 |
|
93 |
= Version 3.0.2 =
|
94 |
* Fixed: Warnings on job edit tab files
|
145 |
* Use your own API keys for Dropbox and SugarSync
|
146 |
* Premium Support
|
147 |
* Automatic updates
|
148 |
+
|