Backup and Restore WordPress – WPBackItUp Backup Plugin - Version 1.10.3

Version Description

  • Update: Add ticket id to support view.
  • Fix: Add UTF Encoding on file names being backed up and restored
  • Fix: Multiple new backup success messages after backup
  • Fix: Add wp_slash function to support Wordpress versions 3.6 and lower
Download this release

Release Info

Developer cssimmon
Plugin Icon 128x128 Backup and Restore WordPress – WPBackItUp Backup Plugin
Version 1.10.3
Comparing to
See all releases

Code changes from version 1.10.2 to 1.10.3

js/wpbackitup_admin.js CHANGED
@@ -259,6 +259,8 @@
259
  });
260
  }
261
 
 
 
262
  /* define backup response_reader function */
263
  function wpbackitup_get_backup_response() {
264
  //This function is required because of 504 gateway timeouts
@@ -278,6 +280,10 @@
278
  console.log("JSON Backup Status:" + jsonData.backupStatus);
279
  console.log("JSON Backup Message:" + jsonData.backupMessage);
280
 
 
 
 
 
281
  switch (jsonData.backupStatus) {
282
  case 'success':
283
  console.log("JSON success response received.");
@@ -470,6 +476,7 @@
470
 
471
  /* show backup status, backup errors */
472
  $('.backup-status').show();
 
473
  window.intervalDefine = setInterval(wpbackitup_get_backup_status, 5000);
474
  }
475
 
@@ -720,8 +727,8 @@
720
  $('#datatable').prepend(newRow);
721
  $('#datatable tr:first').hide().show('slow'); // just an animation to show newly added row
722
 
723
- if(total_rows >= data.backupRetained)
724
- $('#datatable tr:last').hide();
725
 
726
  wpbackitup_add_viewlog_onclick();
727
 
259
  });
260
  }
261
 
262
+ //global to track backup response.
263
+ var backup_response=false;
264
  /* define backup response_reader function */
265
  function wpbackitup_get_backup_response() {
266
  //This function is required because of 504 gateway timeouts
280
  console.log("JSON Backup Status:" + jsonData.backupStatus);
281
  console.log("JSON Backup Message:" + jsonData.backupMessage);
282
 
283
+ //If response aleady received
284
+ if (backup_response) return;
285
+ backup_response=true;
286
+
287
  switch (jsonData.backupStatus) {
288
  case 'success':
289
  console.log("JSON success response received.");
476
 
477
  /* show backup status, backup errors */
478
  $('.backup-status').show();
479
+ backup_response=false;
480
  window.intervalDefine = setInterval(wpbackitup_get_backup_status, 5000);
481
  }
482
 
727
  $('#datatable').prepend(newRow);
728
  $('#datatable tr:first').hide().show('slow'); // just an animation to show newly added row
729
 
730
+ //if(total_rows >= data.backupRetained)
731
+ // $('#datatable tr:last').hide();
732
 
733
  wpbackitup_add_viewlog_onclick();
734
 
lib/includes/class-job.php CHANGED
@@ -287,7 +287,53 @@ class WPBackItUp_Job {
287
  array_walk_recursive($meta_value, 'WPBackItUp_Utility::encode_items');
288
  }
289
 
290
- return update_post_meta( $this->job_id, $meta_name, $meta_value );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
291
  }
292
 
293
  public function get_job_meta($meta_name){
@@ -295,7 +341,7 @@ class WPBackItUp_Job {
295
 
296
  $job_meta = get_post_meta($this->job_id,$meta_name,true);
297
 
298
- //Encode the array values
299
  if (is_array($job_meta)){
300
  array_walk_recursive($job_meta, 'WPBackItUp_Utility::decode_items');
301
  }
287
  array_walk_recursive($meta_value, 'WPBackItUp_Utility::encode_items');
288
  }
289
 
290
+ return update_post_meta( $this->job_id, $meta_name,$this->wpb_slash($meta_value));
291
+ }
292
+
293
+ /**
294
+ * Add slashes to a string or array of strings.
295
+ *
296
+ * This should be used when preparing data for core API that expects slashed data.
297
+ * This should not be used to escape data going directly into an SQL query.
298
+ *
299
+ * @since 3.6.0
300
+ *
301
+ * @param string|array $value String or array of strings to slash.
302
+ * @return string|array Slashed $value
303
+ */
304
+ private function wpb_slash( $value ) {
305
+ //only available 3.6 or later
306
+ if (function_exists('wp_slash')) return wp_slash($value);
307
+
308
+ if ( is_array( $value ) ) {
309
+ foreach ( $value as $k => $v ) {
310
+ if ( is_array( $v ) ) {
311
+ $value[$k] = $this->wpb_slash( $v );
312
+ } else {
313
+ $value[$k] = addslashes( $v );
314
+ }
315
+ }
316
+ } else {
317
+ $value = addslashes( $value );
318
+ }
319
+
320
+ return $value;
321
+ }
322
+
323
+ /**
324
+ * Remove slashes from a string or array of strings.
325
+ *
326
+ * This should be used to remove slashes from data passed to core API that
327
+ * expects data to be unslashed.
328
+ *
329
+ * @since 3.6.0
330
+ *
331
+ * @param string|array $value String or array of strings to unslash.
332
+ * @return string|array Unslashed $value
333
+ */
334
+ function wpb_
335
+ ( $value ) {
336
+ return stripslashes_deep( $value );
337
  }
338
 
339
  public function get_job_meta($meta_name){
341
 
342
  $job_meta = get_post_meta($this->job_id,$meta_name,true);
343
 
344
+ //Decode the array values
345
  if (is_array($job_meta)){
346
  array_walk_recursive($job_meta, 'WPBackItUp_Utility::decode_items');
347
  }
lib/includes/class-logger.php CHANGED
@@ -130,7 +130,18 @@ class WPBackItUp_Logger {
130
  try{
131
  if (true===$this->logging){
132
 
133
- $this->log("**SYSTEM INFO**");
 
 
 
 
 
 
 
 
 
 
 
134
 
135
  $this->log("\n--Site Info--");
136
  $this->log('Site URL:' . site_url());
@@ -144,7 +155,6 @@ class WPBackItUp_Logger {
144
  $this->log('WP_DEBUG:' . ( defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' : 'Disabled' : 'Not set' ));
145
  $this->log('Memory Limit:' . WP_MEMORY_LIMIT );
146
 
147
-
148
  $this->log("\n--WordPress Active Plugins--");
149
  // Check if get_plugins() function exists. This is required on the front end of the
150
  // site, since it is in a file that is normally only loaded in the admin.
@@ -175,7 +185,6 @@ class WPBackItUp_Logger {
175
  $this->log('Webserver Info:' . $_SERVER['SERVER_SOFTWARE']);
176
  $this->log('MySQL Version:' . $wpdb->db_version());
177
 
178
-
179
  $this->log("\n--PHP Info--");
180
  $this->log("PHP Info:" . phpversion());
181
  $this->log("Operating System:" . php_uname());
@@ -198,18 +207,9 @@ class WPBackItUp_Logger {
198
  $this->log('Upload Max Filesize:' . ini_get( 'upload_max_filesize' ));
199
  $this->log('Max Input Vars:' . ini_get( 'max_input_vars' ));
200
  $this->log('Display Errors:' . ( ini_get( 'display_errors' ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A' ));
 
201
 
202
-
203
- $this->log("\n--WP BackItUp Info--");
204
- $this->log("WPBACKITUP License Active: " . ($WPBackitup->license_active() ? 'true' : 'false'));
205
- $prefix='WPBACKITUP';
206
- foreach (get_defined_constants() as $key=>$value)
207
- {
208
- if (substr($key,0,strlen($prefix))==$prefix) {
209
- $this->log($key . ':' . $value);
210
- }
211
- }
212
- $this->log("**END SYSTEM INFO**");
213
  }
214
  } catch(Exception $e) {
215
  //Dont do anything
130
  try{
131
  if (true===$this->logging){
132
 
133
+ $this->log("\n**SYSTEM INFO**");
134
+
135
+ $this->log("\n--WP BackItUp Info--");
136
+
137
+ $this->log("WPBACKITUP License Active: " . ($WPBackitup->license_active() ? 'true' : 'false'));
138
+ $prefix='WPBACKITUP';
139
+ foreach (get_defined_constants() as $key=>$value)
140
+ {
141
+ if (substr($key,0,strlen($prefix))==$prefix) {
142
+ $this->log($key . ':' . $value);
143
+ }
144
+ }
145
 
146
  $this->log("\n--Site Info--");
147
  $this->log('Site URL:' . site_url());
155
  $this->log('WP_DEBUG:' . ( defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' : 'Disabled' : 'Not set' ));
156
  $this->log('Memory Limit:' . WP_MEMORY_LIMIT );
157
 
 
158
  $this->log("\n--WordPress Active Plugins--");
159
  // Check if get_plugins() function exists. This is required on the front end of the
160
  // site, since it is in a file that is normally only loaded in the admin.
185
  $this->log('Webserver Info:' . $_SERVER['SERVER_SOFTWARE']);
186
  $this->log('MySQL Version:' . $wpdb->db_version());
187
 
 
188
  $this->log("\n--PHP Info--");
189
  $this->log("PHP Info:" . phpversion());
190
  $this->log("Operating System:" . php_uname());
207
  $this->log('Upload Max Filesize:' . ini_get( 'upload_max_filesize' ));
208
  $this->log('Max Input Vars:' . ini_get( 'max_input_vars' ));
209
  $this->log('Display Errors:' . ( ini_get( 'display_errors' ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A' ));
210
+ $this->log('Curl Installed:' . (function_exists('curl_version') ?'True' : 'False'));
211
 
212
+ $this->log("\n**END SYSTEM INFO**");
 
 
 
 
 
 
 
 
 
 
213
  }
214
  } catch(Exception $e) {
215
  //Dont do anything
lib/includes/class-wpbackitup-admin.php CHANGED
@@ -841,17 +841,30 @@ class WPBackitup_Admin {
841
  set_transient('error-support-email', __('Please enter a valid email', $this->namespace), 60);
842
  }
843
 
844
- if(empty($_POST['support_subject']))
845
- {
846
- $error=true;
847
- set_transient('error-support-subject', __('Please enter a short description of your problem', $this->namespace), 60);
848
- }
849
 
850
- if(empty($_POST['support_body']))
851
- {
852
- $error=true;
853
- set_transient('error-support-body', __('Please enter your problem description', $this->namespace), 60);
854
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
855
 
856
  $include_logs=false;
857
  if(!empty($_POST['support_include_logs']))
@@ -895,13 +908,12 @@ class WPBackitup_Admin {
895
  $utility = new WPBackItUp_Utility($logger);
896
  $support_to_address = WPBACKITUP__SUPPORT_EMAIL;
897
  $support_from_email=$_POST['support_email'];
898
- $support_subject = 'Support Request (' .$support_request_id .'): ' .$_POST['support_subject'];
899
-
900
 
901
  $site_info = 'WordPress Site: <a href="' . home_url() . '" target="_blank">' . home_url() .'</a><br/>';
902
  $site_info .="WP BackItUp License Type: " . $this->license_type_description() .' <br />';
903
 
904
- $support_body=$site_info . '<br/><br/>' . $_POST['support_body'];
905
 
906
 
907
  $utility->send_email($support_to_address,$support_subject,$support_body,$logs_attachment,$support_from_email);
841
  set_transient('error-support-email', __('Please enter a valid email', $this->namespace), 60);
842
  }
843
 
 
 
 
 
 
844
 
845
+ if(empty($_POST['support_ticket_id']))
846
+ {
847
+ $error=true;
848
+ set_transient('error-support-ticket', __('Please enter your support ticket id', $this->namespace), 60);
849
+ }else {
850
+ if(!is_numeric($_POST['support_ticket_id']))
851
+ {
852
+ $error=true;
853
+ set_transient('error-support-ticket', __('Please only enter numbers in this field', $this->namespace), 60);
854
+ }
855
+ }
856
+
857
+ // if(empty($_POST['support_subject']))
858
+ // {
859
+ // $error=true;
860
+ // set_transient('error-support-subject', __('Please enter a short description of your problem', $this->namespace), 60);
861
+ // }
862
+
863
+ // if(empty($_POST['support_body']))
864
+ // {
865
+ // $error=true;
866
+ // set_transient('error-support-body', __('Please enter your problem description', $this->namespace), 60);
867
+ // }
868
 
869
  $include_logs=false;
870
  if(!empty($_POST['support_include_logs']))
908
  $utility = new WPBackItUp_Utility($logger);
909
  $support_to_address = WPBACKITUP__SUPPORT_EMAIL;
910
  $support_from_email=$_POST['support_email'];
911
+ $support_subject = '[#' .trim($_POST['support_ticket_id']) .']';
 
912
 
913
  $site_info = 'WordPress Site: <a href="' . home_url() . '" target="_blank">' . home_url() .'</a><br/>';
914
  $site_info .="WP BackItUp License Type: " . $this->license_type_description() .' <br />';
915
 
916
+ $support_body=$site_info . '<br/><br/><b>Customer Comments:</b><br/><br/>' . $_POST['support_body'];
917
 
918
 
919
  $utility->send_email($support_to_address,$support_subject,$support_body,$logs_attachment,$support_from_email);
lib/includes/job_backup.php CHANGED
@@ -291,22 +291,22 @@ if ('task_preparing'==$current_task) {
291
  //Generate the list of files to be backed up and update the tasks info
292
 
293
  $plugins_file_list = $wp_backup->get_plugins_file_list();
294
- $backup_job->update_job_meta('backup_plugins_filelist',wp_slash($plugins_file_list));
295
- $backup_job->update_job_meta('backup_plugins_filelist_remaining',wp_slash($plugins_file_list));
296
 
297
  $themes_file_list = $wp_backup->get_themes_file_list();
298
- $backup_job->update_job_meta('backup_themes_filelist',wp_slash($themes_file_list));
299
- $backup_job->update_job_meta('backup_themes_filelist_remaining',wp_slash($themes_file_list));
300
 
301
  //some folders excluded
302
  $uploads_file_list = $wp_backup->get_uploads_file_list();
303
- $backup_job->update_job_meta('backup_uploads_filelist',wp_slash($uploads_file_list));
304
- $backup_job->update_job_meta('backup_uploads_filelist_remaining',wp_slash($uploads_file_list));
305
 
306
  //some folders excluded
307
  $others_file_list = $wp_backup->get_other_file_list();
308
- $backup_job->update_job_meta('backup_others_filelist',wp_slash($others_file_list));
309
- $backup_job->update_job_meta('backup_others_filelist_remaining',wp_slash($others_file_list));
310
 
311
 
312
  set_status('preparing',$complete,false);
@@ -403,7 +403,7 @@ if ('task_backup_themes'==$current_task) {
403
  end_backup( 120, false );
404
  }else{
405
  //update the file list with remaining files
406
- $backup_job->update_job_meta('backup_themes_filelist_remaining',wp_slash($themes_remaining_files));
407
 
408
  $themes_remaining_files_count= count($themes_remaining_files);
409
  $themes_batch_count = $themes_file_list_count-$themes_remaining_files_count;
@@ -450,7 +450,7 @@ if ('task_backup_plugins'==$current_task) {
450
  end_backup( 121, false );
451
  } else {
452
  //update the file list with remaining files
453
- $backup_job->update_job_meta('backup_plugins_filelist_remaining',wp_slash($plugins_remaining_files));
454
 
455
  $plugins_remaining_files_count= count($plugins_remaining_files);
456
  $plugins_batch_count = $plugins_file_list_count-$plugins_remaining_files_count;
@@ -501,7 +501,7 @@ if ('task_backup_uploads'==$current_task) {
501
  end_backup( 122, false );
502
  } else {
503
  //update the file list with remaining files
504
- $backup_job->update_job_meta( 'backup_uploads_filelist_remaining', wp_slash($uploads_remaining_files) );
505
 
506
  $uploads_remaining_files_count = count( $uploads_remaining_files );
507
  $uploads_batch_count = $uploads_file_list_count - $uploads_remaining_files_count;
@@ -551,7 +551,7 @@ if ('task_backup_other'==$current_task) {
551
  end_backup( 123, false );
552
  } else {
553
  //update the file list with remaining files
554
- $backup_job->update_job_meta( 'backup_others_filelist_remaining', wp_slash($others_remaining_files) );
555
 
556
  $others_remaining_files_count = count( $others_remaining_files );
557
  $others_batch_count = $others_file_list_count - $others_remaining_files_count;
291
  //Generate the list of files to be backed up and update the tasks info
292
 
293
  $plugins_file_list = $wp_backup->get_plugins_file_list();
294
+ $backup_job->update_job_meta('backup_plugins_filelist',$plugins_file_list);
295
+ $backup_job->update_job_meta('backup_plugins_filelist_remaining',$plugins_file_list);
296
 
297
  $themes_file_list = $wp_backup->get_themes_file_list();
298
+ $backup_job->update_job_meta('backup_themes_filelist',$themes_file_list);
299
+ $backup_job->update_job_meta('backup_themes_filelist_remaining',$themes_file_list);
300
 
301
  //some folders excluded
302
  $uploads_file_list = $wp_backup->get_uploads_file_list();
303
+ $backup_job->update_job_meta('backup_uploads_filelist',$uploads_file_list);
304
+ $backup_job->update_job_meta('backup_uploads_filelist_remaining',$uploads_file_list);
305
 
306
  //some folders excluded
307
  $others_file_list = $wp_backup->get_other_file_list();
308
+ $backup_job->update_job_meta('backup_others_filelist',$others_file_list);
309
+ $backup_job->update_job_meta('backup_others_filelist_remaining',$others_file_list);
310
 
311
 
312
  set_status('preparing',$complete,false);
403
  end_backup( 120, false );
404
  }else{
405
  //update the file list with remaining files
406
+ $backup_job->update_job_meta('backup_themes_filelist_remaining',$themes_remaining_files);
407
 
408
  $themes_remaining_files_count= count($themes_remaining_files);
409
  $themes_batch_count = $themes_file_list_count-$themes_remaining_files_count;
450
  end_backup( 121, false );
451
  } else {
452
  //update the file list with remaining files
453
+ $backup_job->update_job_meta('backup_plugins_filelist_remaining',$plugins_remaining_files);
454
 
455
  $plugins_remaining_files_count= count($plugins_remaining_files);
456
  $plugins_batch_count = $plugins_file_list_count-$plugins_remaining_files_count;
501
  end_backup( 122, false );
502
  } else {
503
  //update the file list with remaining files
504
+ $backup_job->update_job_meta( 'backup_uploads_filelist_remaining',$uploads_remaining_files);
505
 
506
  $uploads_remaining_files_count = count( $uploads_remaining_files );
507
  $uploads_batch_count = $uploads_file_list_count - $uploads_remaining_files_count;
551
  end_backup( 123, false );
552
  } else {
553
  //update the file list with remaining files
554
+ $backup_job->update_job_meta( 'backup_others_filelist_remaining', $others_remaining_files );
555
 
556
  $others_remaining_files_count = count( $others_remaining_files );
557
  $others_batch_count = $others_file_list_count - $others_remaining_files_count;
lib/includes/job_restore.php CHANGED
@@ -247,8 +247,8 @@ if ('task_preparing'==$current_task) {
247
  $logger->log_info(__METHOD__,'Fetch backups pattern:' .$backup_path_pattern);
248
  $backup_set = glob( $backup_path_pattern);
249
  if ( is_array($backup_set) && count($backup_set)>0){
250
- $restore_job->update_job_meta('backup_set',wp_slash($backup_set));
251
- $restore_job->update_job_meta('backup_set_remaining',wp_slash($backup_set));
252
  }else{
253
  fatal_error($task,'222','No zip files found (pattern):' . $backup_path_pattern);
254
  }
@@ -316,7 +316,7 @@ if ('task_unzip_backup_set'==$current_task) {
316
  } else {
317
 
318
  array_shift( $backup_set_list ); //remove from list
319
- $restore_job->update_job_meta('backup_set_remaining',wp_slash($backup_set_list));
320
 
321
  if (is_array($backup_set_list) && count($backup_set_list)>0){
322
  //CONTINUE
247
  $logger->log_info(__METHOD__,'Fetch backups pattern:' .$backup_path_pattern);
248
  $backup_set = glob( $backup_path_pattern);
249
  if ( is_array($backup_set) && count($backup_set)>0){
250
+ $restore_job->update_job_meta('backup_set',$backup_set);
251
+ $restore_job->update_job_meta('backup_set_remaining',$backup_set);
252
  }else{
253
  fatal_error($task,'222','No zip files found (pattern):' . $backup_path_pattern);
254
  }
316
  } else {
317
 
318
  array_shift( $backup_set_list ); //remove from list
319
+ $restore_job->update_job_meta('backup_set_remaining',$backup_set_list);
320
 
321
  if (is_array($backup_set_list) && count($backup_set_list)>0){
322
  //CONTINUE
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.wpbackitup.com
4
  Tags: backup, back up, backups, backup wordpress, backup database, backup plugin, backup and restore, database, database backup, database restore, db, db backup, db restore, download database, full backup, mysql backup, restore, restore database,restore wordpress, restore wordpress backup,restoring wordpress, website backup, wordpress backup, wordpress restore, plugin, backup buddy
5
  Requires at least: 3.8.0
6
  Tested up to: 4.1
7
- Stable tag: 1.10.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -151,6 +151,12 @@ Our online documentation and full list of FAQs can be found at [www.wpbackitup.c
151
 
152
 
153
  == Changelog ==
 
 
 
 
 
 
154
  = 1.10.2 =
155
  * Update: Display backup file set name instead of date
156
  * Fix: Backup plugins error when no files on last folder
4
  Tags: backup, back up, backups, backup wordpress, backup database, backup plugin, backup and restore, database, database backup, database restore, db, db backup, db restore, download database, full backup, mysql backup, restore, restore database,restore wordpress, restore wordpress backup,restoring wordpress, website backup, wordpress backup, wordpress restore, plugin, backup buddy
5
  Requires at least: 3.8.0
6
  Tested up to: 4.1
7
+ Stable tag: 1.10.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
151
 
152
 
153
  == Changelog ==
154
+ = 1.10.3 =
155
+ * Update: Add ticket id to support view.
156
+ * Fix: Add UTF Encoding on file names being backed up and restored
157
+ * Fix: Multiple new backup success messages after backup
158
+ * Fix: Add wp_slash function to support Wordpress versions 3.6 and lower
159
+
160
  = 1.10.2 =
161
  * Update: Display backup file set name instead of date
162
  * Fix: Backup plugins error when no files on last folder
views/support.php CHANGED
@@ -39,8 +39,9 @@
39
  <?php wp_nonce_field($namespace . "-support-form"); ?>
40
  <div class="widget">
41
  <h3 class="promo"><i class="fa fa-envelope"></i> Email Logs to Support</h3>
42
- <p><b>Please use this form to send your log files to support. You may also use this form to open a support ticket.</b></p>
43
- <p><?php _e('We will respond to this request via email using the email address you enter below.', $namespace); ?></p>
 
44
  <p><input <?php echo($disabled) ; ?> type="text" name="support_email" value="<?php echo $support_email; ?>" size="30" placeholder="your email address">
45
  <?php
46
  if ( false !== ( $msg = get_transient('error-support-email') ) && $msg)
@@ -51,18 +52,17 @@
51
  ?>
52
  </p>
53
 
54
- <p><input <?php echo($disabled) ; ?> type="text" name="support_subject" value="<?php echo get_transient('support_subject'); ?>" size="30" placeholder="problem subject">
55
- <?php
56
- if ( false !== ( $msg = get_transient('error-support-subject') ) && $msg)
57
- {
58
- echo '<span class="error">'.$msg.'</span>';
59
- delete_transient('error-support-subject');
60
- }
61
- ?>
62
-
63
  </p>
64
 
65
- <p><textarea <?php echo($disabled) ; ?> name="support_body" rows="4" cols="50" style="width:450px;height:150px;" placeholder="problem description"><?php echo get_transient('support_body'); ?></textarea>
66
  <?php
67
  if ( false !== ( $msg = get_transient('error-support-body') ) && $msg)
68
  {
39
  <?php wp_nonce_field($namespace . "-support-form"); ?>
40
  <div class="widget">
41
  <h3 class="promo"><i class="fa fa-envelope"></i> Email Logs to Support</h3>
42
+ <p><b>This form should be used to send log files to support only.</b></p>
43
+ <p>Please make sure to open a support ticket via WP BackItUp <a href="https://www.wpbackitup.com/support" target="_blank">support portal.</a> before using this form.</p>
44
+ <p><em><?php _e('The ticket id you receive from your support request should be entered in the ticket id field below.', $namespace); ?></em></p>
45
  <p><input <?php echo($disabled) ; ?> type="text" name="support_email" value="<?php echo $support_email; ?>" size="30" placeholder="your email address">
46
  <?php
47
  if ( false !== ( $msg = get_transient('error-support-email') ) && $msg)
52
  ?>
53
  </p>
54
 
55
+ <p><input <?php echo($disabled) ; ?> type="text" name="support_ticket_id" value="" size="30" placeholder="support ticket id">
56
+ <?php
57
+ if ( false !== ( $msg = get_transient('error-support-ticket') ) && $msg)
58
+ {
59
+ echo '<span class="error">'.$msg.'</span>';
60
+ delete_transient('error-support-ticket');
61
+ }
62
+ ?>
 
63
  </p>
64
 
65
+ <p><textarea <?php echo($disabled) ; ?> name="support_body" rows="4" cols="50" style="width:450px;height:150px;" placeholder="problem description or additional information"><?php echo get_transient('support_body'); ?></textarea>
66
  <?php
67
  if ( false !== ( $msg = get_transient('error-support-body') ) && $msg)
68
  {
wp-backitup.php CHANGED
@@ -13,7 +13,7 @@
13
  Plugin Name: WP Backitup
14
  Plugin URI: http://www.wpbackitup.com
15
  Description: Backup your content, settings, themes, plugins and media in just a few simple clicks.
16
- Version: 1.10.2
17
  Author: Chris Simmons
18
  Author URI: http://www.wpbackitup.com
19
  License: GPL3
@@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
35
  */
36
 
37
  define( 'WPBACKITUP__NAMESPACE', 'wp-backitup' );
38
- define( 'WPBACKITUP__VERSION', '1.10.2');
39
  define( 'WPBACKITUP__DEBUG', false );
40
  define( 'WPBACKITUP__MINIMUM_WP_VERSION', '3.0' );
41
  define( 'WPBACKITUP__ITEM_NAME', 'WP Backitup' );
13
  Plugin Name: WP Backitup
14
  Plugin URI: http://www.wpbackitup.com
15
  Description: Backup your content, settings, themes, plugins and media in just a few simple clicks.
16
+ Version: 1.10.3
17
  Author: Chris Simmons
18
  Author URI: http://www.wpbackitup.com
19
  License: GPL3
35
  */
36
 
37
  define( 'WPBACKITUP__NAMESPACE', 'wp-backitup' );
38
+ define( 'WPBACKITUP__VERSION', '1.10.3');
39
  define( 'WPBACKITUP__DEBUG', false );
40
  define( 'WPBACKITUP__MINIMUM_WP_VERSION', '3.0' );
41
  define( 'WPBACKITUP__ITEM_NAME', 'WP Backitup' );