BackWPup – WordPress Backup Plugin - Version 3.0.13

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 nullbyte
Plugin Icon 128x128 BackWPup – WordPress Backup Plugin
Version 3.0.13
Comparing to
See all releases

Code changes from version 3.0.12 to 3.0.13

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.12
9
  * Text Domain: backwpup
10
  * Domain Path: /languages/
11
  * Network: true
@@ -240,9 +240,6 @@ if ( ! class_exists( 'BackWPup' ) ) {
240
  if ( ! defined( 'DOING_CRON' ) && current_user_can( 'backwpup' ) && current_user_can( 'backwpup' ) && is_admin_bar_showing() && get_site_option( 'backwpup_cfg_showadminbar', FALSE ) )
241
  BackWPup_Adminbar::getInstance();
242
 
243
- //display about page after Update
244
- if ( ! get_site_option( 'backwpup_about_page', FALSE ) && $_REQUEST[ 'page' ] != 'backwpupabout' )
245
- wp_redirect( network_admin_url( 'admin.php' ) . '?page=backwpupabout' );
246
  }
247
 
248
  /**
5
  * Description: WordPress Backup and more...
6
  * Author: Inpsyde GmbH
7
  * Author URI: http://inpsyde.com
8
+ * Version: 3.0.13
9
  * Text Domain: backwpup
10
  * Domain Path: /languages/
11
  * Network: true
240
  if ( ! defined( 'DOING_CRON' ) && current_user_can( 'backwpup' ) && current_user_can( 'backwpup' ) && is_admin_bar_showing() && get_site_option( 'backwpup_cfg_showadminbar', FALSE ) )
241
  BackWPup_Adminbar::getInstance();
242
 
 
 
 
243
  }
244
 
245
  /**
css/general.css CHANGED
@@ -1 +1 @@
1
- #icon-backwpup{background:url('../images/BackWPup32.png') no-repeat}@media only screen and (-webkit-min-device-pixel-ratio:2){#icon-backwpup{background:url('../images/BackWPup64.png') no-repeat;-webkit-background-size:32px 32px;background-size:32px 32px}}img.help_tip{padding:0;margin:-4px 0 0 5px;vertical-align:middle;cursor:help;line-height:1}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_left{padding-right:5px}#tiptip_content{font-size:11px;color:#fff;text-shadow:0 0 2px #000;padding:4px 8px;border:1px solid rgba(255,255,255,0.25);background-color:#191919;background-color:rgba(25,25,25,0.92);background-image:-webkit-gradient(linear,0% 0,0% 100%,from(transparent),to(#000));border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 0 3px #555;-webkit-box-shadow:0 0 3px #555;-moz-box-shadow:0 0 3px #555}#tiptip_content code{background:#1d94cf;color:#fff;text-shadow:none;padding:2px;font-size:12px}#tiptip_content a{color:#0CF}#tiptip_content a:hover{color:#F93}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border:6px solid transparent;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow{border-top-color:#fff;border-top-color:rgba(255,255,255,0.35)}#tiptip_holder.tip_bottom #tiptip_arrow{border-bottom-color:#fff;border-bottom-color:rgba(255,255,255,0.35)}#tiptip_holder.tip_right #tiptip_arrow{border-right-color:#fff;border-right-color:rgba(255,255,255,0.35)}#tiptip_holder.tip_left #tiptip_arrow{border-left-color:#fff;border-left-color:rgba(255,255,255,0.35)}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}@media screen and (-webkit-min-device-pixel-ratio:0){#tiptip_content{padding:4px 8px 5px 8px;background-color:rgba(45,45,45,0.88)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{border-bottom-color:rgba(45,45,45,0.88)}#tiptip_holder.tip_top #tiptip_arrow_inner{border-top-color:rgba(20,20,20,0.92)}}.backwpup-welcome{font-family:sans-serif,"Arial";font-size:14px;position:relative}.backwpup-welcome p{line-height:28px;font-size:16px}.backwpup-welcome h3{font-family:sans-serif,"Arial";font-size:44px;font-weight:normal;color:#333;line-height:44px;margin:20px 0}.wizardbox{float:left;width:200px;margin:25px 25px 25px 0;padding:15px;height:200px;font-family:sans-serif,"Arial";font-size:14px;line-height:22px;position:relative;color:#fff;background:#1d94cf url(../images/hgbox.png) no-repeat right bottom}.wizardbox:hover{background-color:#0f79ae}.wizardbox input.button-primary-bwp{float:left;padding:5px 10px;font-size:14px;font-family:sans-serif,"Arial";text-decoration:none;background-color:#38b0eb;color:#fff;border:0;cursor:pointer}.wizardbox input.button-primary-bwp:hover{background-color:#064565;cursor:pointer}.wizardbox .wizardbox_name{font-size:22px;font-family:sans-serif,"Arial";margin-bottom:30px}.wizardbox .wizardbox_start{position:absolute;bottom:10px;left:10px}.wizardbox select{width:200px}.inpsyde{width:79px;height:119px;background:url(../images/inpsyde.png) no-repeat;position:absolute;top:0;right:10px;z-index:1}.inpsyde a{float:left;font-size:14px;color:#fff;text-decoration:none;padding:65px 15px 15px 15px;text-align:center}.mp_logo{margin-right:15px!important}#documentation_content p{font-size:14px;line-height:20px;color:#333}#documentation_content h3{padding:7px 0;font-size:22px}#documentation_content h4{padding:7px 0;font-size:18px}#documentation_content img.size-full{border:10px #f6f6f6 solid}
1
+ #icon-backwpup{background:url('../images/BackWPup32.png') no-repeat}@media only screen and (-webkit-min-device-pixel-ratio:2){#icon-backwpup{background:url('../images/BackWPup64.png') no-repeat;-webkit-background-size:32px 32px;background-size:32px 32px}}img.help_tip{padding:0;margin:-4px 0 0 5px;vertical-align:middle;cursor:help;line-height:1}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_left{padding-right:5px}#tiptip_content{font-size:11px;color:#fff;text-shadow:0 0 2px #000;padding:4px 8px;border:1px solid rgba(255,255,255,0.25);background-color:#191919;background-color:rgba(25,25,25,0.92);background-image:-webkit-gradient(linear,0% 0,0% 100%,from(transparent),to(#000));border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 0 3px #555;-webkit-box-shadow:0 0 3px #555;-moz-box-shadow:0 0 3px #555}#tiptip_content code{background:#1d94cf;color:#fff;text-shadow:none;padding:2px;font-size:12px}#tiptip_content a{color:#0CF}#tiptip_content a:hover{color:#F93}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border:6px solid transparent;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow{border-top-color:#fff;border-top-color:rgba(255,255,255,0.35)}#tiptip_holder.tip_bottom #tiptip_arrow{border-bottom-color:#fff;border-bottom-color:rgba(255,255,255,0.35)}#tiptip_holder.tip_right #tiptip_arrow{border-right-color:#fff;border-right-color:rgba(255,255,255,0.35)}#tiptip_holder.tip_left #tiptip_arrow{border-left-color:#fff;border-left-color:rgba(255,255,255,0.35)}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}@media screen and (-webkit-min-device-pixel-ratio:0){#tiptip_content{padding:4px 8px 5px 8px;background-color:rgba(45,45,45,0.88)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{border-bottom-color:rgba(45,45,45,0.88)}#tiptip_holder.tip_top #tiptip_arrow_inner{border-top-color:rgba(20,20,20,0.92)}}.backwpup-welcome{font-family:sans-serif,"Arial";font-size:14px;position:relative}.backwpup-welcome p{line-height:28px;font-size:16px}.backwpup-welcome h3{font-family:sans-serif,"Arial";font-size:44px;font-weight:normal;color:#333;line-height:44px;margin:20px 0}.wizardbox{float:left;width:200px;margin:25px 25px 25px 0;padding:15px;height:200px;font-family:sans-serif,"Arial";font-size:14px;line-height:22px;position:relative;color:#fff;background:#1d94cf url(../images/hgbox.png) no-repeat right bottom}.wizardbox:hover{background-color:#0f79ae}.wizardbox input.button-primary-bwp{float:left;padding:5px 10px;font-size:14px;font-family:sans-serif,"Arial";text-decoration:none;background-color:#38b0eb;color:#fff;border:0;cursor:pointer}.wizardbox input.button-primary-bwp:hover{background-color:#064565;cursor:pointer}.wizardbox .wizardbox_name{font-size:22px;font-family:sans-serif,"Arial";margin-bottom:30px}.wizardbox .wizardbox_start{position:absolute;bottom:10px;left:10px}.wizardbox select{width:200px}.inpsyde{width:79px;height:119px;background:url(../images/inpsyde.png) no-repeat;position:absolute;top:0;right:10px;z-index:1}.inpsyde a{float:left;font-size:14px;color:#fff;text-decoration:none;padding:65px 15px 15px 15px;text-align:center}.mp_logo{background:url(../images/mp_logo_small.png) no-repeat;margin-right:15px!important;height:25px;width:145px;display:inline-block;text-indent:9999em}#footer-left span{margin-right:15px!important}#documentation_content p{font-size:14px;line-height:20px;color:#333}#documentation_content h3{padding:7px 0;font-size:22px}#documentation_content h4{padding:7px 0;font-size:18px}#documentation_content img.size-full{border:10px #f6f6f6 solid}
css/general.dev.css CHANGED
@@ -224,6 +224,15 @@ img.help_tip {
224
  }
225
 
226
  .mp_logo {
 
 
 
 
 
 
 
 
 
227
  margin-right:15px !important;
228
  }
229
 
224
  }
225
 
226
  .mp_logo {
227
+ background: url(../images/mp_logo_small.png) no-repeat;
228
+ margin-right:15px !important;
229
+ height: 25px;
230
+ width: 145px;
231
+ display: inline-block;
232
+ text-indent: 9999em;
233
+ }
234
+
235
+ #footer-left span {
236
  margin-right:15px !important;
237
  }
238
 
inc/class-admin.php CHANGED
@@ -91,6 +91,13 @@ final class BackWPup_Admin {
91
  }
92
  }
93
  }
 
 
 
 
 
 
 
94
  }
95
 
96
  /**
@@ -383,10 +390,12 @@ final class BackWPup_Admin {
383
  */
384
  public function admin_footer_text( $admin_footer_text ) {
385
 
386
- if ( isset( $_REQUEST[ 'page' ] ) && strstr( $_REQUEST[ 'page' ], 'backwpup') ) {
387
- $admin_footer_text = '<span class="mp_logo">' . sprintf( __( '<img src="%s"/> <a href="%s">Get BackWPup Pro now.</a>', 'backwpup' ), BackWPup::get_plugin_data( 'URL' ) . '/images/mp_logo_small.png', __( 'http://marketpress.com/product/backwpup-pro/', 'backwpup' ) ) . '</span>';
388
- $admin_footer_text .= sprintf( _x( 'Developer: %s', 'developer name, link text: Daniel Hüsken', 'backwpup' ), '<a href="http://danielhuesken.de">Daniel Hüsken</a>' );
389
-
 
 
390
  return $admin_footer_text;
391
  }
392
 
91
  }
92
  }
93
  }
94
+
95
+ //display about page after Update
96
+ if ( ! defined( 'DOING_AJAX' ) && ! get_site_option( 'backwpup_about_page', FALSE ) && ! isset( $_GET['activate-multi'] ) ) {
97
+ update_site_option( 'backwpup_about_page', TRUE );
98
+ wp_redirect( network_admin_url( 'admin.php' ) . '?page=backwpupabout' );
99
+ exit();
100
+ }
101
  }
102
 
103
  /**
390
  */
391
  public function admin_footer_text( $admin_footer_text ) {
392
 
393
+ if ( isset( $_REQUEST[ 'page' ] ) && strstr( $_REQUEST[ 'page' ], 'backwpup' ) ) {
394
+ $admin_footer_text = '<a href="' . __( 'http://marketpress.com', 'backwpup' ) . '" class="mp_logo" title="' . __( 'MarketPress', 'backwpup' ) . '">' . __( 'MarketPress', 'backwpup' ) . '</a>';
395
+ if ( ! class_exists( 'BackWPup_Features', FALSE ) )
396
+ $admin_footer_text .= '<span>'.sprintf( __( '<a href="%s">Get BackWPup Pro now.</a>', 'backwpup' ), __( 'http://marketpress.com/product/backwpup-pro/', 'backwpup' ) ). '</span>';
397
+ $admin_footer_text .= '<span>'.sprintf( _x( 'Developer: %s', 'developer name, link text: Daniel Hüsken', 'backwpup' ), '<a href="http://danielhuesken.de">Daniel Hüsken</a>' ) . '</span>';
398
+
399
  return $admin_footer_text;
400
  }
401
 
inc/class-destination-rsc.php CHANGED
@@ -71,6 +71,8 @@ class BackWPup_Destination_RSC extends BackWPup_Destinations {
71
  <select name="rscregion" id="rscregion" title="<?php _e( 'Rackspace Cloud Files Region', 'backwpup' ); ?>">
72
  <option value="DFW" <?php selected( 'DFW', BackWPup_Option::get( $jobid, 'rscregion' ), TRUE ) ?>><?php _e( 'Dallas (DFW)', 'backwpup' ); ?></option>
73
  <option value="ORD" <?php selected( 'ORD', BackWPup_Option::get( $jobid, 'rscregion' ), TRUE ) ?>><?php _e( 'Chicago (ORD)', 'backwpup' ); ?></option>
 
 
74
  </select><br/>
75
  </td>
76
  </tr>
71
  <select name="rscregion" id="rscregion" title="<?php _e( 'Rackspace Cloud Files Region', 'backwpup' ); ?>">
72
  <option value="DFW" <?php selected( 'DFW', BackWPup_Option::get( $jobid, 'rscregion' ), TRUE ) ?>><?php _e( 'Dallas (DFW)', 'backwpup' ); ?></option>
73
  <option value="ORD" <?php selected( 'ORD', BackWPup_Option::get( $jobid, 'rscregion' ), TRUE ) ?>><?php _e( 'Chicago (ORD)', 'backwpup' ); ?></option>
74
+ <option value="SYD" <?php selected( 'SYD', BackWPup_Option::get( $jobid, 'rscregion' ), TRUE ) ?>><?php _e( 'Sydney (SYD)', 'backwpup' ); ?></option>
75
+ <option value="LON" <?php selected( 'LON', BackWPup_Option::get( $jobid, 'rscregion' ), TRUE ) ?>><?php _e( 'London (LON)', 'backwpup' ); ?></option>
76
  </select><br/>
77
  </td>
78
  </tr>
inc/class-job.php CHANGED
@@ -267,6 +267,7 @@ final class BackWPup_Job {
267
  $info = '';
268
  $info .= sprintf( _x( '[INFO] %1$s version %2$s; WordPress version %3$s; A project of Inpsyde GmbH developed by Daniel Hüsken','Plugin name; Plugin Version; WordPress Version','backwpup' ), BackWPup::get_plugin_data( 'name' ) , BackWPup::get_plugin_data( 'Version' ), BackWPup::get_plugin_data( 'wp_version' ) ) . PHP_EOL;
269
  $info .= __( '[INFO] This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.', 'backwpup' ) . PHP_EOL;
 
270
  $info .= sprintf(__( '[INFO] BackWPup job: %1$s; %2$s', 'backwpup' ), esc_attr( $this->job[ 'name' ] ) , implode( '+', $this->job[ 'type' ] ) ) . PHP_EOL;
271
  if ( $this->job[ 'activetype' ] != '' )
272
  $info .= __( '[INFO] BackWPup cron:', 'backwpup' ) . ' ' . $this->job[ 'cron' ] . '; ' . date_i18n( 'D, j M Y @ H:i' ) . PHP_EOL;
267
  $info = '';
268
  $info .= sprintf( _x( '[INFO] %1$s version %2$s; WordPress version %3$s; A project of Inpsyde GmbH developed by Daniel Hüsken','Plugin name; Plugin Version; WordPress Version','backwpup' ), BackWPup::get_plugin_data( 'name' ) , BackWPup::get_plugin_data( 'Version' ), BackWPup::get_plugin_data( 'wp_version' ) ) . PHP_EOL;
269
  $info .= __( '[INFO] This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.', 'backwpup' ) . PHP_EOL;
270
+ $info .= sprintf(__( '[INFO] Blog url: %s', 'backwpup' ) , esc_attr( site_url( '/' ) ) ). PHP_EOL;
271
  $info .= sprintf(__( '[INFO] BackWPup job: %1$s; %2$s', 'backwpup' ), esc_attr( $this->job[ 'name' ] ) , implode( '+', $this->job[ 'type' ] ) ) . PHP_EOL;
272
  if ( $this->job[ 'activetype' ] != '' )
273
  $info .= __( '[INFO] BackWPup cron:', 'backwpup' ) . ' ' . $this->job[ 'cron' ] . '; ' . date_i18n( 'D, j M Y @ H:i' ) . PHP_EOL;
inc/class-page-about.php CHANGED
@@ -338,7 +338,6 @@ _e( 'The backup files can be used to save your whole installation including <cod
338
  </div>
339
  <?php
340
  endif;
341
- update_site_option( 'backwpup_about_page', TRUE );
342
  ?>
343
  </div>
344
  </div>
338
  </div>
339
  <?php
340
  endif;
 
341
  ?>
342
  </div>
343
  </div>
inc/class-page-editjob.php CHANGED
@@ -9,7 +9,14 @@ class BackWPup_Page_Editjob {
9
  */
10
  public static function auth() {
11
 
12
- if ( isset($_GET[ 'tab' ]) && strstr( $_GET[ 'tab' ], 'dest-' ) ) {
 
 
 
 
 
 
 
13
  $destinations = BackWPup::get_destinations();
14
  $jobid = (int)$_GET[ 'jobid' ];
15
  $id = strtoupper( str_replace( 'dest-', '', $_GET[ 'tab' ] ) );
@@ -190,10 +197,7 @@ class BackWPup_Page_Editjob {
190
  wp_enqueue_style('backwpupgeneral');
191
 
192
  //add css for the first tabs
193
- if ( empty($_GET[ 'tab' ]) || $_GET[ 'tab' ]=='job' ) {
194
- $_GET[ 'tab' ] = 'job';
195
- }
196
- elseif ( $_GET[ 'tab' ]=='cron' ) {
197
  if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
198
  wp_enqueue_style( 'backwpuptabcron', BackWPup::get_plugin_data( 'URL' ) . '/css/page_edit_tab_cron.dev.css', '', time(), 'screen' );
199
  } else {
@@ -201,12 +205,12 @@ class BackWPup_Page_Editjob {
201
  }
202
  }
203
  //add css for all other tabs
204
- elseif ( strstr( $_GET[ 'tab' ], 'dest-' ) ) {
205
  $destinations = BackWPup::get_destinations();
206
  $id = strtoupper( str_replace( 'dest-', '', $_GET[ 'tab' ] ) );
207
  $destinations[ $id ]->admin_print_styles();
208
  }
209
- elseif ( strstr( $_GET[ 'tab' ], 'jobtype-' ) ) {
210
  $job_type = BackWPup::get_job_types();
211
  $id = strtoupper( str_replace( 'jobtype-', '', $_GET[ 'tab' ] ) );
212
  $job_type[ $id ]->admin_print_styles( );
@@ -224,7 +228,7 @@ class BackWPup_Page_Editjob {
224
  wp_enqueue_script( 'backwpupgeneral' );
225
 
226
  //add js for the first tabs
227
- if ( empty($_GET[ 'tab' ]) || $_GET[ 'tab' ] == 'job' ) {
228
  if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
229
  wp_enqueue_script( 'backwpuptabjob', BackWPup::get_plugin_data( 'URL' ) . '/js/page_edit_tab_job.dev.js', array('jquery'), time(), TRUE );
230
  } else {
@@ -354,9 +358,6 @@ class BackWPup_Page_Editjob {
354
  $jobid = end( $newjobid ) + 1;
355
  }
356
 
357
- if ( empty( $_GET[ 'tab' ] ) )
358
- $_GET[ 'tab' ] = 'job';
359
-
360
  $destinations = BackWPup::get_destinations();
361
  $job_types = BackWPup::get_job_types();
362
 
@@ -836,11 +837,11 @@ class BackWPup_Page_Editjob {
836
  break;
837
  default:
838
  echo '<div class="table" id="info-tab-' . $_GET[ 'tab' ] . '">';
839
- if ( isset($_GET[ 'tab' ]) && strstr( $_GET[ 'tab' ], 'dest-' ) ) {
840
  $id = strtoupper( str_replace( 'dest-', '', $_GET[ 'tab' ] ) );
841
  call_user_func( array( $destinations[ $id ], 'edit_tab' ), $jobid );
842
  }
843
- if ( isset($_GET[ 'tab' ]) && strstr( $_GET[ 'tab' ], 'jobtype-' ) ) {
844
  $id = strtoupper( str_replace( 'jobtype-', '', $_GET[ 'tab' ] ) );
845
  call_user_func( array( $job_types[ $id ], 'edit_tab' ), $jobid );
846
  }
@@ -869,11 +870,11 @@ class BackWPup_Page_Editjob {
869
  });
870
  <?php
871
  //add inline js
872
- if ( isset($_GET[ 'tab' ]) && strstr( $_GET[ 'tab' ], 'dest-' ) ) {
873
  $id = strtoupper( str_replace( 'dest-', '', $_GET[ 'tab' ] ) );
874
  call_user_func( array( $destinations[ $id ], 'edit_inline_js' ) );
875
  }
876
- if ( isset($_GET[ 'tab' ]) && strstr( $_GET[ 'tab' ], 'jobtype-' ) ) {
877
  $id = strtoupper( str_replace( 'jobtype-', '', $_GET[ 'tab' ] ) );
878
  call_user_func( array( $job_types[ $id ], 'edit_inline_js' ) );
879
  }
9
  */
10
  public static function auth() {
11
 
12
+ //check $_GET[ 'tab' ]
13
+ if ( isset($_GET[ 'tab' ] ) ) {
14
+ $_GET[ 'tab' ] = sanitize_title_with_dashes( $_GET[ 'tab' ] );
15
+ if ( substr( $_GET[ 'tab' ], 0, 5 ) != 'dest-' && substr( $_GET[ 'tab' ], 0, 8 ) != 'jobtype-' && ! in_array( $_GET[ 'tab' ], array( 'job','cron' ) ) )
16
+ $_GET[ 'tab' ] = 'job';
17
+ }
18
+
19
+ if ( substr( $_GET[ 'tab' ], 0, 5 ) == 'dest-' ) {
20
  $destinations = BackWPup::get_destinations();
21
  $jobid = (int)$_GET[ 'jobid' ];
22
  $id = strtoupper( str_replace( 'dest-', '', $_GET[ 'tab' ] ) );
197
  wp_enqueue_style('backwpupgeneral');
198
 
199
  //add css for the first tabs
200
+ if ( $_GET[ 'tab' ] == 'cron' ) {
 
 
 
201
  if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
202
  wp_enqueue_style( 'backwpuptabcron', BackWPup::get_plugin_data( 'URL' ) . '/css/page_edit_tab_cron.dev.css', '', time(), 'screen' );
203
  } else {
205
  }
206
  }
207
  //add css for all other tabs
208
+ elseif ( substr( $_GET[ 'tab' ], 0, 5 ) == 'dest-' ) {
209
  $destinations = BackWPup::get_destinations();
210
  $id = strtoupper( str_replace( 'dest-', '', $_GET[ 'tab' ] ) );
211
  $destinations[ $id ]->admin_print_styles();
212
  }
213
+ elseif ( substr( $_GET[ 'tab' ], 0, 8 ) == 'jobtype-' ) {
214
  $job_type = BackWPup::get_job_types();
215
  $id = strtoupper( str_replace( 'jobtype-', '', $_GET[ 'tab' ] ) );
216
  $job_type[ $id ]->admin_print_styles( );
228
  wp_enqueue_script( 'backwpupgeneral' );
229
 
230
  //add js for the first tabs
231
+ if ( $_GET[ 'tab' ] == 'job' ) {
232
  if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
233
  wp_enqueue_script( 'backwpuptabjob', BackWPup::get_plugin_data( 'URL' ) . '/js/page_edit_tab_job.dev.js', array('jquery'), time(), TRUE );
234
  } else {
358
  $jobid = end( $newjobid ) + 1;
359
  }
360
 
 
 
 
361
  $destinations = BackWPup::get_destinations();
362
  $job_types = BackWPup::get_job_types();
363
 
837
  break;
838
  default:
839
  echo '<div class="table" id="info-tab-' . $_GET[ 'tab' ] . '">';
840
+ if ( strstr( $_GET[ 'tab' ], 'dest-' ) ) {
841
  $id = strtoupper( str_replace( 'dest-', '', $_GET[ 'tab' ] ) );
842
  call_user_func( array( $destinations[ $id ], 'edit_tab' ), $jobid );
843
  }
844
+ if ( strstr( $_GET[ 'tab' ], 'jobtype-' ) ) {
845
  $id = strtoupper( str_replace( 'jobtype-', '', $_GET[ 'tab' ] ) );
846
  call_user_func( array( $job_types[ $id ], 'edit_tab' ), $jobid );
847
  }
870
  });
871
  <?php
872
  //add inline js
873
+ if ( strstr( $_GET[ 'tab' ], 'dest-' ) ) {
874
  $id = strtoupper( str_replace( 'dest-', '', $_GET[ 'tab' ] ) );
875
  call_user_func( array( $destinations[ $id ], 'edit_inline_js' ) );
876
  }
877
+ if ( strstr( $_GET[ 'tab' ], 'jobtype-' ) ) {
878
  $id = strtoupper( str_replace( 'jobtype-', '', $_GET[ 'tab' ] ) );
879
  call_user_func( array( $job_types[ $id ], 'edit_inline_js' ) );
880
  }
inc/class-page-settings.php CHANGED
@@ -364,6 +364,7 @@ class BackWPup_Page_Settings {
364
  else {
365
  echo '<tr title=""><td>' . __( 'cURL version', 'backwpup' ) . '</td><td>' . __( 'unavailable', 'backwpup' ) . '</td></tr>';
366
  }
 
367
  //response test
368
  $wp_admin_user = get_users( array( 'role' => 'administrator' ) );
369
  $raw_response = wp_remote_get( site_url( 'wp-cron.php?backwpup_run=test' ), array(
364
  else {
365
  echo '<tr title=""><td>' . __( 'cURL version', 'backwpup' ) . '</td><td>' . __( 'unavailable', 'backwpup' ) . '</td></tr>';
366
  }
367
+ echo '<tr title=""><td>' . __( 'WP-Cron url:', 'backwpup' ) . '</td><td>' . site_url( 'wp-cron.php' ) . '</td></tr>';
368
  //response test
369
  $wp_admin_user = get_users( array( 'role' => 'administrator' ) );
370
  $raw_response = wp_remote_get( site_url( 'wp-cron.php?backwpup_run=test' ), array(
readme.txt CHANGED
@@ -1,19 +1,19 @@
1
- === BackWPup - WordPress Backup Plugin ===
2
  Contributors: inpsyde, danielhuesken, Bueltge, nullbyte
3
  Tags: Amazon, Amazon S3, back up, backup, chinese, cloud, cloud files, database, db backup, dropbox, dump, file, french, ftp, ftps, german, migrate, multisite, russian, schedule, sftp, storage, S3, time, upload, xml
4
  Requires at least: 3.2
5
  Tested up to: 3.5.1
6
- Stable tag: 3.0.12
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
10
- Schedule easy, and complete automatic backups for your WordPress installation. Decide which content will be stored where and when (Dropbox, S3, FTP).
11
 
12
  == Description ==
13
 
14
- The **backup plugin** **[BackWPup](http://marketpress.com/product/backwpup-pro/)** can be used to save your complete installation including /wp-content/ and push them to an external Backup Service, like **Dropbox**, **S3**, **FTP** and many more, see list below. With a single backup .zip file you are able to easily restore an installation.
15
 
16
- BackWPup is the number 1 backup-plugin for WordPress with more than 60.000 users, 750.000 downloads and in the top 50 of all WordPress Plugins (checked on rankwp.com)
17
 
18
  * Database Backup *(needs mysqli)*
19
  * WordPress XML Export
@@ -183,6 +183,14 @@ Please check all settings after the update:
183
 
184
 
185
  == Changelog ==
 
 
 
 
 
 
 
 
186
  = Version 3.0.12 =
187
  * Fixed: Redirect when accessing the WordPress backend
188
  * Added: Russian translation
1
+ === BackWPup Free - WordPress Backup Plugin ===
2
  Contributors: inpsyde, danielhuesken, Bueltge, nullbyte
3
  Tags: Amazon, Amazon S3, back up, backup, chinese, cloud, cloud files, database, db backup, dropbox, dump, file, french, ftp, ftps, german, migrate, multisite, russian, schedule, sftp, storage, S3, time, upload, xml
4
  Requires at least: 3.2
5
  Tested up to: 3.5.1
6
+ Stable tag: 3.0.13
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
10
+ Schedule complete automatic backups of your WordPress installation. Decide which content will be stored (Dropbox, S3). This is the free version
11
 
12
  == Description ==
13
 
14
+ The **backup plugin** **[BackWPup Free](http://marketpress.com/product/backwpup-pro/)** can be used to save your complete installation including /wp-content/ and push them to an external Backup Service, like **Dropbox**, **S3**, **FTP** and many more, see list below. With a single backup .zip file you are able to easily restore an installation. Please understand: this free version will not be supported as good as the [BackWPup Pro version](http://marketpress.com/product/backwpup-pro/).
15
 
16
+ BackWPup Free is the number 1 backup-plugin for WordPress with nearly 1.000.000 downloads and in the top 20 of all WordPress Plugins (checked on rankwp.com)
17
 
18
  * Database Backup *(needs mysqli)*
19
  * WordPress XML Export
183
 
184
 
185
  == Changelog ==
186
+ = Version 3.0.13 =
187
+ * Improved: Redirect when accessing the WordPress backend
188
+ * Added: Debug Informations to Logfile
189
+ * Added Sydney region for rackspace cloud
190
+ * Added London region for rackspace cloud
191
+ * Fixed: Cross-site scripting issue. Thanks to High-Tech Bridge for helping us: https://www.htbridge.com/advisory/HTB23161
192
+ * Fixed: Fatal error when uninstalling on WordPress 3.4.2 and older
193
+
194
  = Version 3.0.12 =
195
  * Fixed: Redirect when accessing the WordPress backend
196
  * Added: Russian translation
uninstall.php CHANGED
@@ -10,17 +10,17 @@ global $wpdb;
10
  if ( ! class_exists( 'BackWPup' ) ) {
11
  //remove roles from user
12
  /* @var WP_User $user */
13
- $users = get_users( array( 'role' => 'backwpup_admin' ) );
14
  foreach ( $users as $user ) {
15
  $user->remove_role( 'backwpup_admin' );
16
  }
17
  remove_role( 'backwpup_admin' );
18
- $users = get_users( array( 'role' => 'backwpup_helper' ) );
19
  foreach ( $users as $user ) {
20
  $user->remove_role( 'backwpup_helper' );
21
  }
22
  remove_role( 'backwpup_helper' );
23
- $users = get_users( array( 'role' => 'backwpup_check' ) );
24
  foreach ( $users as $user ) {
25
  $user->remove_role( 'backwpup_check' );
26
  }
10
  if ( ! class_exists( 'BackWPup' ) ) {
11
  //remove roles from user
12
  /* @var WP_User $user */
13
+ $users = get_users( array( 'role' => 'backwpup_admin', 'fields' => 'all_with_meta' ) );
14
  foreach ( $users as $user ) {
15
  $user->remove_role( 'backwpup_admin' );
16
  }
17
  remove_role( 'backwpup_admin' );
18
+ $users = get_users( array( 'role' => 'backwpup_helper', 'fields' => 'all_with_meta' ) );
19
  foreach ( $users as $user ) {
20
  $user->remove_role( 'backwpup_helper' );
21
  }
22
  remove_role( 'backwpup_helper' );
23
+ $users = get_users( array( 'role' => 'backwpup_check', 'fields' => 'all_with_meta' ) );
24
  foreach ( $users as $user ) {
25
  $user->remove_role( 'backwpup_check' );
26
  }