Total Upkeep – WordPress Backup Plugin plus Restore & Migrate by BoldGrid - Version 1.9.3

Version Description

Release date: Apr 30th, 2019

  • Bug fix: Avoid "Cannot close ZIP archive file" error by skipping files that are unreadable.
  • Bug fix: Ensure adequate permissions before attempting any restoration.
  • Update: Add source to Get Premium nav item.
  • Update: Fixed FTP support (when using FTPES: Explicit FTP over SSL/TLS).
Download this release

Release Info

Developer boldgrid
Plugin Icon 128x128 Total Upkeep – WordPress Backup Plugin plus Restore & Migrate by BoldGrid
Version 1.9.3
Comparing to
See all releases

Code changes from version 1.9.2 to 1.9.3

admin/class-boldgrid-backup-admin-core.php CHANGED
@@ -868,7 +868,7 @@ class Boldgrid_Backup_Admin_Core {
868
  // Change the url (2 is key of the menu item's slug / url).
869
  foreach ( $submenu[ $main_slug ] as &$item ) {
870
  if ( $menu_slug === $item[2] ) {
871
- $item[2] = Boldgrid_Backup_Admin_Go_Pro::$url;
872
  }
873
  }
874
  }
@@ -2055,7 +2055,15 @@ class Boldgrid_Backup_Admin_Core {
2055
  */
2056
  do_action( 'boldgrid_backup_pre_restore', $info );
2057
 
2058
- $this->restore_helper->set_writable_permissions( $info['filepath'] );
 
 
 
 
 
 
 
 
2059
 
2060
  $unzip_status = ! $dryrun ? unzip_file( $info['filepath'], ABSPATH ) : null;
2061
 
868
  // Change the url (2 is key of the menu item's slug / url).
869
  foreach ( $submenu[ $main_slug ] as &$item ) {
870
  if ( $menu_slug === $item[2] ) {
871
+ $item[2] = $this->go_pro->get_premium_url( 'bgbkup-nav' );
872
  }
873
  }
874
  }
2055
  */
2056
  do_action( 'boldgrid_backup_pre_restore', $info );
2057
 
2058
+ /*
2059
+ * Attempt to fix any permissions related issues before the restoration begins. If we're
2060
+ * unable to, the restoration will not continue.
2061
+ */
2062
+ if ( ! $this->restore_helper->set_writable_permissions( $info['filepath'] ) ) {
2063
+ return array(
2064
+ 'error' => $this->restore_helper->get_last_error(),
2065
+ );
2066
+ }
2067
 
2068
  $unzip_status = ! $dryrun ? unzip_file( $info['filepath'], ABSPATH ) : null;
2069
 
admin/class-boldgrid-backup-admin-restore-helper.php CHANGED
@@ -18,6 +18,15 @@
18
  * @since 1.5.1
19
  */
20
  class Boldgrid_Backup_Admin_Restore_Helper {
 
 
 
 
 
 
 
 
 
21
  /**
22
  * Whether or not we are doing cron.
23
  *
@@ -60,6 +69,23 @@ class Boldgrid_Backup_Admin_Restore_Helper {
60
  $this->doing_cron = defined( 'DOING_CRON' ) && DOING_CRON;
61
  }
62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  /**
64
  * Action to take when a .htaccess file has been restored.
65
  *
@@ -197,7 +223,7 @@ class Boldgrid_Backup_Admin_Restore_Helper {
197
  /**
198
  * Update permissions so an archive is safe to restore.
199
  *
200
- * The most common failure thus for when extracting an archive is file
201
  * permissions related. If WordPress cannot restore a file because the current
202
  * file's permissions don't allow editing, then the restoration both (1) fails
203
  * and (2) gives us a half restored site.
@@ -208,6 +234,7 @@ class Boldgrid_Backup_Admin_Restore_Helper {
208
  * @since 1.6.0
209
  *
210
  * @param string $archive_filepath Full path to an archive file.
 
211
  */
212
  public function set_writable_permissions( $archive_filepath ) {
213
  global $wp_filesystem;
@@ -222,9 +249,25 @@ class Boldgrid_Backup_Admin_Restore_Helper {
222
  continue;
223
  }
224
 
225
- $wp_filesystem->chmod( ABSPATH . $data['name'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  }
227
  }
 
 
228
  }
229
 
230
  /**
18
  * @since 1.5.1
19
  */
20
  class Boldgrid_Backup_Admin_Restore_Helper {
21
+ /**
22
+ * An array of error messages.
23
+ *
24
+ * @since 1.9.3
25
+ * @access private
26
+ * @var array
27
+ */
28
+ private $errors;
29
+
30
  /**
31
  * Whether or not we are doing cron.
32
  *
69
  $this->doing_cron = defined( 'DOING_CRON' ) && DOING_CRON;
70
  }
71
 
72
+ /**
73
+ * Get the last error message.
74
+ *
75
+ * @since 1.9.3
76
+ *
77
+ * @return string
78
+ */
79
+ public function get_last_error() {
80
+ $last_error = '';
81
+
82
+ if ( ! empty( $this->errors ) ) {
83
+ $last_error = end( $this->errors );
84
+ }
85
+
86
+ return $last_error;
87
+ }
88
+
89
  /**
90
  * Action to take when a .htaccess file has been restored.
91
  *
223
  /**
224
  * Update permissions so an archive is safe to restore.
225
  *
226
+ * The most common failure thus far when extracting an archive is file
227
  * permissions related. If WordPress cannot restore a file because the current
228
  * file's permissions don't allow editing, then the restoration both (1) fails
229
  * and (2) gives us a half restored site.
234
  * @since 1.6.0
235
  *
236
  * @param string $archive_filepath Full path to an archive file.
237
+ * @return bool True if permissions were able to be updated successfully.
238
  */
239
  public function set_writable_permissions( $archive_filepath ) {
240
  global $wp_filesystem;
249
  continue;
250
  }
251
 
252
+ $full_path = ABSPATH . $data['name'];
253
+
254
+ // If the file does not exists, no need to check its permissions.
255
+ if ( ! $wp_filesystem->exists( $full_path ) ) {
256
+ continue;
257
+ }
258
+
259
+ if ( ! $wp_filesystem->chmod( $full_path ) ) {
260
+ $this->errors[] = sprintf(
261
+ // translators: 1 The path to a file that cannot be restored due to file permissions.
262
+ __( 'Permission denied. Unable to restore the following file: %1$s', 'boldgrid-backup' ),
263
+ $full_path
264
+ );
265
+ return false;
266
+ }
267
  }
268
  }
269
+
270
+ return true;
271
  }
272
 
273
  /**
admin/compressor/class-boldgrid-backup-admin-compressor-php-zip.php CHANGED
@@ -139,11 +139,23 @@ class Boldgrid_Backup_Admin_Compressor_Php_Zip extends Boldgrid_Backup_Admin_Com
139
  foreach ( $filelist as $fileinfo ) {
140
  $is_dir = ! empty( $fileinfo[3] ) && 'd' === $fileinfo[3];
141
 
142
- if ( $is_dir ) {
143
- $this->zip->addEmptyDir( $fileinfo[1] );
144
- } else {
145
- $this->zip->addFile( $fileinfo[0], $fileinfo[1] );
146
- $this->add_dir( $fileinfo[1] );
 
 
 
 
 
 
 
 
 
 
 
 
147
  }
148
 
149
  /*
139
  foreach ( $filelist as $fileinfo ) {
140
  $is_dir = ! empty( $fileinfo[3] ) && 'd' === $fileinfo[3];
141
 
142
+ switch ( $is_dir ) {
143
+ case true:
144
+ $this->zip->addEmptyDir( $fileinfo[1] );
145
+ break;
146
+ case false:
147
+ if ( ! is_readable( $fileinfo[0] ) ) {
148
+ $info['backup_errors'][] = sprintf(
149
+ // translators: 1 The path to a file that was unable to be added to the backup.
150
+ __( 'Permission defined. Unable to add the following file to your backup: %1$s', 'boldgrid-backup' ),
151
+ $fileinfo[0]
152
+ );
153
+ continue 2;
154
+ } else {
155
+ $this->zip->addFile( $fileinfo[0], $fileinfo[1] );
156
+ $this->add_dir( $fileinfo[1] );
157
+ }
158
+ break;
159
  }
160
 
161
  /*
admin/partials/remote/ftp.php CHANGED
@@ -17,9 +17,10 @@
17
  * @author BoldGrid <support@boldgrid.com>
18
  */
19
 
20
- $selected = 'selected="selected"';
21
- $ftp_selected = 'ftp' === $data['type'] ? $selected : '';
22
- $sftp_selected = 'sftp' === $data['type'] ? $selected : '';
 
23
  ?>
24
  <form method="post">
25
  <?php wp_nonce_field( 'bgb-settings-ftp', 'ftp_auth' ); ?>
@@ -47,6 +48,7 @@ $sftp_selected = 'sftp' === $data['type'] ? $selected : '';
47
  <?php esc_html_e( 'FTP / SFTP', 'boldgrid-backup' ); ?><br />
48
  <select name="type">
49
  <option value='ftp' <?php echo esc_attr( $ftp_selected ); ?> >FTP</option>
 
50
  <option value='sftp' <?php echo esc_attr( $sftp_selected ); ?> >SFTP</option>
51
  </select>
52
  </td>
17
  * @author BoldGrid <support@boldgrid.com>
18
  */
19
 
20
+ $selected = 'selected="selected"';
21
+ $ftp_selected = 'ftp' === $data['type'] ? $selected : '';
22
+ $ftpes_selected = 'ftpes' === $data['type'] ? $selected : '';
23
+ $sftp_selected = 'sftp' === $data['type'] ? $selected : '';
24
  ?>
25
  <form method="post">
26
  <?php wp_nonce_field( 'bgb-settings-ftp', 'ftp_auth' ); ?>
48
  <?php esc_html_e( 'FTP / SFTP', 'boldgrid-backup' ); ?><br />
49
  <select name="type">
50
  <option value='ftp' <?php echo esc_attr( $ftp_selected ); ?> >FTP</option>
51
+ <option value='ftpes' <?php echo esc_attr( $ftpes_selected ); ?> >FTPES</option>
52
  <option value='sftp' <?php echo esc_attr( $sftp_selected ); ?> >SFTP</option>
53
  </select>
54
  </td>
admin/remote/class-boldgrid-backup-admin-ftp.php CHANGED
@@ -20,24 +20,6 @@
20
  * @since 1.6.0
21
  */
22
  class Boldgrid_Backup_Admin_Ftp {
23
- /**
24
- * An FTP connection.
25
- *
26
- * @since 1.6.0
27
- * @access private
28
- * @var Resource
29
- */
30
- private $connection = null;
31
-
32
- /**
33
- * The core class object.
34
- *
35
- * @since 1.6.0
36
- * @access private
37
- * @var Boldgrid_Backup_Admin_Core
38
- */
39
- private $core;
40
-
41
  /**
42
  * Default folder name.
43
  *
@@ -52,19 +34,18 @@ class Boldgrid_Backup_Admin_Ftp {
52
  * Default port numbers.
53
  *
54
  * @since 1.6.0
55
- * @access public
56
  * @var array
57
  */
58
- public $default_port = array(
59
- 'ftp' => 21,
60
- 'sftp' => 22,
61
- );
 
62
 
63
  /**
64
  * Default type.
65
  *
66
  * @since 1.6.0
67
- * @access public
68
  * @var string
69
  */
70
  public $default_type = 'sftp';
@@ -73,10 +54,9 @@ class Boldgrid_Backup_Admin_Ftp {
73
  * Errors.
74
  *
75
  * @since 1.6.0
76
- * @access public
77
  * @var array
78
  */
79
- public $errors = array();
80
 
81
  /**
82
  * The folder on the remote FTP server where backups are stored.
@@ -92,25 +72,14 @@ class Boldgrid_Backup_Admin_Ftp {
92
  * Hooks class.
93
  *
94
  * @since 1.6.0
95
- * @access public
96
  * @var Boldgrid_Backup_Admin_Ftp_Hooks
97
  */
98
  public $hooks;
99
 
100
- /**
101
- * FTP host.
102
- *
103
- * @since 1.6.0
104
- * @access private
105
- * @var string
106
- */
107
- private $host = null;
108
-
109
  /**
110
  * Whether or not we have logged in.
111
  *
112
  * @since 1.6.0
113
- * @access public
114
  * @var bool
115
  */
116
  public $logged_in = false;
@@ -121,7 +90,6 @@ class Boldgrid_Backup_Admin_Ftp {
121
  * So the user can refer to their ftp account as something other than ftp.
122
  *
123
  * @since 1.6.0
124
- * @access public
125
  * @var string
126
  */
127
  public $nickname;
@@ -130,25 +98,14 @@ class Boldgrid_Backup_Admin_Ftp {
130
  * Our key / label for ftp.
131
  *
132
  * @since 1.6.0
133
- * @access public
134
  * @var string
135
  */
136
  public $key = 'ftp';
137
 
138
- /**
139
- * FTP password.
140
- *
141
- * @since 1.6.0
142
- * @access private
143
- * @var string
144
- */
145
- private $pass = null;
146
-
147
  /**
148
  * Retention count.
149
  *
150
  * @since 1.6.0
151
- * @access public
152
  * @var int $retention_count
153
  */
154
  public $retention_count = 5;
@@ -157,7 +114,6 @@ class Boldgrid_Backup_Admin_Ftp {
157
  * Settings class.
158
  *
159
  * @since 1.7.2
160
- * @access public
161
  * @var Boldgrid_Backup_Admin_Remote_Settings
162
  */
163
  public $settings;
@@ -166,7 +122,6 @@ class Boldgrid_Backup_Admin_Ftp {
166
  * Default timeout.
167
  *
168
  * @since 1.6.0
169
- * @access public
170
  * @var int
171
  */
172
  public $timeout = 10;
@@ -175,7 +130,6 @@ class Boldgrid_Backup_Admin_Ftp {
175
  * Our title / label for ftp.
176
  *
177
  * @since 1.6.0
178
- * @access public
179
  * @var string
180
  */
181
  public $title = 'FTP / SFTP';
@@ -187,7 +141,6 @@ class Boldgrid_Backup_Admin_Ftp {
187
  * more clear title.
188
  *
189
  * @since 1.6.0
190
- * @access public
191
  * @var string
192
  */
193
  public $title_attr;
@@ -196,11 +149,58 @@ class Boldgrid_Backup_Admin_Ftp {
196
  * Our FTP type, ftp or sftp.
197
  *
198
  * @since 1.6.0
199
- * @access public
200
  * @var string
201
  */
202
  public $type = null;
203
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
  /**
205
  * FTP username.
206
  *
@@ -211,13 +211,13 @@ class Boldgrid_Backup_Admin_Ftp {
211
  private $user = null;
212
 
213
  /**
214
- * Valid types.
215
  *
216
- * @since 1.6.0
217
- * @access public
218
- * @var array
219
  */
220
- public $valid_types = array( 'ftp', 'sftp' );
221
 
222
  /**
223
  * Constructor.
@@ -257,9 +257,14 @@ class Boldgrid_Backup_Admin_Ftp {
257
  case 'ftp':
258
  $this->connection = ftp_connect( $this->host, $this->port, $this->timeout );
259
  break;
 
 
 
260
  case 'sftp':
261
  $this->connection = new phpseclib\Net\SFTP( $this->host, $this->port );
262
  break;
 
 
263
  }
264
  }
265
 
@@ -287,11 +292,14 @@ class Boldgrid_Backup_Admin_Ftp {
287
 
288
  switch ( $this->type ) {
289
  case 'ftp':
 
290
  $created = ftp_mkdir( $this->connection, $this->get_folder_name() );
291
  break;
292
  case 'sftp':
293
  $created = $this->connection->mkdir( $this->get_folder_name() );
294
  break;
 
 
295
  }
296
 
297
  if ( ! $created ) {
@@ -314,7 +322,7 @@ class Boldgrid_Backup_Admin_Ftp {
314
  * @since 1.6.0
315
  */
316
  public function disconnect() {
317
- if ( 'ftp' === $this->type && is_resource( $this->connection ) ) {
318
  ftp_close( $this->connection );
319
  $this->connection = null;
320
  $this->logged_in = false;
@@ -340,11 +348,14 @@ class Boldgrid_Backup_Admin_Ftp {
340
 
341
  switch ( $this->type ) {
342
  case 'ftp':
 
343
  $success = ftp_get( $this->connection, $local_filepath, $server_filepath, FTP_BINARY );
344
  break;
345
  case 'sftp':
346
  $success = $this->connection->get( $server_filepath, $local_filepath );
347
  break;
 
 
348
  }
349
 
350
  if ( $success ) {
@@ -385,11 +396,14 @@ class Boldgrid_Backup_Admin_Ftp {
385
 
386
  switch ( $this->type ) {
387
  case 'ftp':
 
388
  ftp_delete( $this->connection, $path );
389
  break;
390
  case 'sftp':
391
  $this->connection->delete( $path, false );
392
  break;
 
 
393
  }
394
 
395
  /**
@@ -437,6 +451,8 @@ class Boldgrid_Backup_Admin_Ftp {
437
  case 2:
438
  $this->folder_name = $has_folder_set ? $settings['remote'][ $this->key ]['folder_name'] : $this->default_folder_name;
439
  break;
 
 
440
  }
441
 
442
  return $this->folder_name;
@@ -454,47 +470,47 @@ class Boldgrid_Backup_Admin_Ftp {
454
  public function get_from_post() {
455
  $settings = $this->core->settings->get_settings();
456
 
457
- $values = array(
458
- array(
459
  'key' => 'host',
460
  'default' => null,
461
  'callback' => 'sanitize_file_name',
462
- ),
463
- array(
464
  'key' => 'user',
465
  'default' => null,
466
  'callback' => 'sanitize_text_field',
467
- ),
468
- array(
469
  'key' => 'pass',
470
  'default' => null,
471
- ),
472
- array(
473
  'key' => 'folder_name',
474
  'default' => $this->get_folder_name(),
475
  'callback' => 'sanitize_file_name',
476
- ),
477
- array(
478
  'key' => 'type',
479
  'default' => $this->default_type,
480
  'callback' => 'sanitize_key',
481
- ),
482
- array(
483
  'key' => 'port',
484
  'default' => $this->default_port[ $this->default_type ],
485
  'callback' => 'intval',
486
- ),
487
- array(
488
  'key' => 'retention_count',
489
  'default' => $this->retention_count,
490
  'callback' => 'intval',
491
- ),
492
- array(
493
  'key' => 'nickname',
494
  'default' => '',
495
  'callback' => 'stripslashes',
496
- ),
497
- );
498
 
499
  // phpcs:disable WordPress.CSRF.NonceVerification.NoNonceVerification, WordPress.Security.NonceVerification.NoNonceVerification
500
 
@@ -543,8 +559,11 @@ class Boldgrid_Backup_Admin_Ftp {
543
  * }
544
  */
545
  public function format_raw_contents( $contents ) {
546
- $skips = array( '.', '..' );
547
- $backups = array();
 
 
 
548
 
549
  if ( ! is_array( $contents ) ) {
550
  return $backups;
@@ -558,11 +577,11 @@ class Boldgrid_Backup_Admin_Ftp {
558
  continue;
559
  }
560
 
561
- $backups[] = array(
562
  'time' => $item['mtime'],
563
  'filename' => $filename,
564
  'size' => $item['size'],
565
- );
566
  } else {
567
  // Before exploding by space, replace multiple spaces with one space.
568
  $item = preg_replace( '!\s+!', ' ', $item );
@@ -600,11 +619,11 @@ class Boldgrid_Backup_Admin_Ftp {
600
  $size = $exploded_item[ $count - 5 ];
601
  }
602
 
603
- $backups[] = array(
604
  'time' => $time,
605
  'filename' => $filename,
606
  'size' => $size,
607
- );
608
  }
609
  }
610
 
@@ -636,11 +655,12 @@ class Boldgrid_Backup_Admin_Ftp {
636
  $this->log_in();
637
  if ( ! $this->logged_in ) {
638
  $this->errors[] = __( 'Unable to log in to FTP server.', 'boldgrid-backup' );
639
- return array();
640
  }
641
 
642
  switch ( $this->type ) {
643
  case 'ftp':
 
644
  if ( $raw ) {
645
  $contents = ftp_rawlist( $this->connection, $dir );
646
  } else {
@@ -654,6 +674,8 @@ class Boldgrid_Backup_Admin_Ftp {
654
  $contents = $this->connection->nlist( $dir );
655
  }
656
  break;
 
 
657
  }
658
 
659
  /*
@@ -667,7 +689,8 @@ class Boldgrid_Backup_Admin_Ftp {
667
  }
668
  return $item;
669
  };
670
- if ( 'ftp' === $this->type && is_array( $contents ) ) {
 
671
  $contents = array_map( $fix_windows, $contents );
672
  }
673
 
@@ -687,13 +710,13 @@ class Boldgrid_Backup_Admin_Ftp {
687
 
688
  $settings = $this->core->settings->get_settings();
689
 
690
- return array(
691
  'title' => $this->title,
692
  'key' => $this->key,
693
  'configure' => 'admin.php?page=boldgrid-backup-ftp',
694
  'is_setup' => $is_setup,
695
  'enabled' => ! empty( $settings['remote'][ $this->key ]['enabled'] ) && $settings['remote'][ $this->key ]['enabled'] && $is_setup,
696
- );
697
  }
698
 
699
  /**
@@ -708,38 +731,46 @@ class Boldgrid_Backup_Admin_Ftp {
708
 
709
  $settings = $this->core->settings->get_settings();
710
 
711
- $labels = array( 'user', 'pass', 'host', 'port', 'type', 'retention_count', 'nickname' );
712
-
713
- $configs = array(
714
- array(
 
 
 
 
 
 
 
 
715
  'property' => 'user',
716
  'default' => null,
717
- ),
718
- array(
719
  'property' => 'pass',
720
  'default' => null,
721
- ),
722
- array(
723
  'property' => 'host',
724
  'default' => null,
725
- ),
726
- array(
727
  'property' => 'port',
728
  'default' => $this->default_port,
729
- ),
730
- array(
731
  'property' => 'type',
732
  'default' => $this->default_type,
733
- ),
734
- array(
735
  'property' => 'retention_count',
736
  'default' => $this->retention_count,
737
- ),
738
- array(
739
  'property' => 'nickname',
740
  'default' => $this->title,
741
- ),
742
- );
743
 
744
  foreach ( $configs as $config ) {
745
  $property = $config['property'];
@@ -817,9 +848,14 @@ class Boldgrid_Backup_Admin_Ftp {
817
  case 'ftp':
818
  $connection = @ftp_connect( $host, $port, $this->timeout ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
819
  break;
 
 
 
820
  case 'sftp':
821
  $connection = @new phpseclib\Net\SFTP( $host, $port, $this->timeout ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
822
  break;
 
 
823
  }
824
  if ( ! $connection ) {
825
  $this->errors[] = sprintf(
@@ -849,17 +885,25 @@ class Boldgrid_Backup_Admin_Ftp {
849
  */
850
  $error_caught = false;
851
 
852
- set_error_handler( array( 'Boldgrid_Backup_Admin_Utility', 'handle_error' ) ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_set_error_handler
 
 
 
 
 
853
 
854
  try {
855
  switch ( $type ) {
856
  case 'ftp':
 
857
  $logged_in = ftp_login( $connection, $user, $pass );
858
  ftp_close( $connection );
859
  break;
860
  case 'sftp':
861
  $logged_in = $connection->login( $user, $pass );
862
  break;
 
 
863
  }
864
  } catch ( Exception $e ) {
865
  $this->errors[] = $e->getMessage();
@@ -894,14 +938,17 @@ class Boldgrid_Backup_Admin_Ftp {
894
 
895
  switch ( $this->type ) {
896
  case 'ftp':
 
897
  $this->logged_in = @ftp_login( $this->connection, $this->user, $this->pass ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
898
  break;
899
  case 'sftp':
900
  $this->logged_in = $this->connection->login( $this->user, $this->pass );
901
  break;
 
 
902
  }
903
 
904
- if ( $this->logged_in ) {
905
  $this->maybe_passive();
906
 
907
  $this->settings->set_last_login();
@@ -917,10 +964,14 @@ class Boldgrid_Backup_Admin_Ftp {
917
  * @since 1.7.0
918
  */
919
  public function maybe_passive() {
920
- if ( 'ftp' === $this->type ) {
921
  $contents = $this->get_contents();
922
 
923
  if ( ! is_array( $contents ) ) {
 
 
 
 
924
  ftp_pasv( $this->connection, true );
925
  }
926
  }
@@ -1009,6 +1060,7 @@ class Boldgrid_Backup_Admin_Ftp {
1009
 
1010
  switch ( $this->type ) {
1011
  case 'ftp':
 
1012
  $uploaded = ftp_put( $this->connection, $remote_file, $filepath, FTP_BINARY );
1013
 
1014
  /*
@@ -1026,6 +1078,8 @@ class Boldgrid_Backup_Admin_Ftp {
1026
  // Adjust timestamp.
1027
  $this->connection->touch( $remote_file, $timestamp );
1028
  break;
 
 
1029
  }
1030
 
1031
  if ( ! $uploaded ) {
20
  * @since 1.6.0
21
  */
22
  class Boldgrid_Backup_Admin_Ftp {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  /**
24
  * Default folder name.
25
  *
34
  * Default port numbers.
35
  *
36
  * @since 1.6.0
 
37
  * @var array
38
  */
39
+ public $default_port = [
40
+ 'ftp' => 21,
41
+ 'ftpes' => 21,
42
+ 'sftp' => 22,
43
+ ];
44
 
45
  /**
46
  * Default type.
47
  *
48
  * @since 1.6.0
 
49
  * @var string
50
  */
51
  public $default_type = 'sftp';
54
  * Errors.
55
  *
56
  * @since 1.6.0
 
57
  * @var array
58
  */
59
+ public $errors = [];
60
 
61
  /**
62
  * The folder on the remote FTP server where backups are stored.
72
  * Hooks class.
73
  *
74
  * @since 1.6.0
 
75
  * @var Boldgrid_Backup_Admin_Ftp_Hooks
76
  */
77
  public $hooks;
78
 
 
 
 
 
 
 
 
 
 
79
  /**
80
  * Whether or not we have logged in.
81
  *
82
  * @since 1.6.0
 
83
  * @var bool
84
  */
85
  public $logged_in = false;
90
  * So the user can refer to their ftp account as something other than ftp.
91
  *
92
  * @since 1.6.0
 
93
  * @var string
94
  */
95
  public $nickname;
98
  * Our key / label for ftp.
99
  *
100
  * @since 1.6.0
 
101
  * @var string
102
  */
103
  public $key = 'ftp';
104
 
 
 
 
 
 
 
 
 
 
105
  /**
106
  * Retention count.
107
  *
108
  * @since 1.6.0
 
109
  * @var int $retention_count
110
  */
111
  public $retention_count = 5;
114
  * Settings class.
115
  *
116
  * @since 1.7.2
 
117
  * @var Boldgrid_Backup_Admin_Remote_Settings
118
  */
119
  public $settings;
122
  * Default timeout.
123
  *
124
  * @since 1.6.0
 
125
  * @var int
126
  */
127
  public $timeout = 10;
130
  * Our title / label for ftp.
131
  *
132
  * @since 1.6.0
 
133
  * @var string
134
  */
135
  public $title = 'FTP / SFTP';
141
  * more clear title.
142
  *
143
  * @since 1.6.0
 
144
  * @var string
145
  */
146
  public $title_attr;
149
  * Our FTP type, ftp or sftp.
150
  *
151
  * @since 1.6.0
 
152
  * @var string
153
  */
154
  public $type = null;
155
 
156
+ /**
157
+ * Valid types.
158
+ *
159
+ * @since 1.6.0
160
+ * @var array
161
+ */
162
+ public $valid_types = [
163
+ 'ftp',
164
+ 'ftpes',
165
+ 'sftp',
166
+ ];
167
+
168
+ /**
169
+ * An FTP connection.
170
+ *
171
+ * @since 1.6.0
172
+ * @access private
173
+ * @var Resource
174
+ */
175
+ private $connection = null;
176
+
177
+ /**
178
+ * The core class object.
179
+ *
180
+ * @since 1.6.0
181
+ * @access private
182
+ * @var Boldgrid_Backup_Admin_Core
183
+ */
184
+ private $core;
185
+
186
+ /**
187
+ * FTP host.
188
+ *
189
+ * @since 1.6.0
190
+ * @access private
191
+ * @var string
192
+ */
193
+ private $host = null;
194
+
195
+ /**
196
+ * FTP password.
197
+ *
198
+ * @since 1.6.0
199
+ * @access private
200
+ * @var string
201
+ */
202
+ private $pass = null;
203
+
204
  /**
205
  * FTP username.
206
  *
211
  private $user = null;
212
 
213
  /**
214
+ * Whether or not we have logged in.
215
  *
216
+ * @since 1.9.3
217
+ * @access private
218
+ * @var bool
219
  */
220
+ private $reconnected = false;
221
 
222
  /**
223
  * Constructor.
257
  case 'ftp':
258
  $this->connection = ftp_connect( $this->host, $this->port, $this->timeout );
259
  break;
260
+ case 'ftpes':
261
+ $this->connection = ftp_ssl_connect( $this->host, $this->port, $this->timeout );
262
+ break;
263
  case 'sftp':
264
  $this->connection = new phpseclib\Net\SFTP( $this->host, $this->port );
265
  break;
266
+ default:
267
+ break;
268
  }
269
  }
270
 
292
 
293
  switch ( $this->type ) {
294
  case 'ftp':
295
+ case 'ftpes':
296
  $created = ftp_mkdir( $this->connection, $this->get_folder_name() );
297
  break;
298
  case 'sftp':
299
  $created = $this->connection->mkdir( $this->get_folder_name() );
300
  break;
301
+ default:
302
+ break;
303
  }
304
 
305
  if ( ! $created ) {
322
  * @since 1.6.0
323
  */
324
  public function disconnect() {
325
+ if ( ( 'ftp' === $this->type || 'ftpes' === $this->type ) && is_resource( $this->connection ) ) {
326
  ftp_close( $this->connection );
327
  $this->connection = null;
328
  $this->logged_in = false;
348
 
349
  switch ( $this->type ) {
350
  case 'ftp':
351
+ case 'ftpes':
352
  $success = ftp_get( $this->connection, $local_filepath, $server_filepath, FTP_BINARY );
353
  break;
354
  case 'sftp':
355
  $success = $this->connection->get( $server_filepath, $local_filepath );
356
  break;
357
+ default:
358
+ break;
359
  }
360
 
361
  if ( $success ) {
396
 
397
  switch ( $this->type ) {
398
  case 'ftp':
399
+ case 'ftpes':
400
  ftp_delete( $this->connection, $path );
401
  break;
402
  case 'sftp':
403
  $this->connection->delete( $path, false );
404
  break;
405
+ default:
406
+ break;
407
  }
408
 
409
  /**
451
  case 2:
452
  $this->folder_name = $has_folder_set ? $settings['remote'][ $this->key ]['folder_name'] : $this->default_folder_name;
453
  break;
454
+ default:
455
+ break;
456
  }
457
 
458
  return $this->folder_name;
470
  public function get_from_post() {
471
  $settings = $this->core->settings->get_settings();
472
 
473
+ $values = [
474
+ [
475
  'key' => 'host',
476
  'default' => null,
477
  'callback' => 'sanitize_file_name',
478
+ ],
479
+ [
480
  'key' => 'user',
481
  'default' => null,
482
  'callback' => 'sanitize_text_field',
483
+ ],
484
+ [
485
  'key' => 'pass',
486
  'default' => null,
487
+ ],
488
+ [
489
  'key' => 'folder_name',
490
  'default' => $this->get_folder_name(),
491
  'callback' => 'sanitize_file_name',
492
+ ],
493
+ [
494
  'key' => 'type',
495
  'default' => $this->default_type,
496
  'callback' => 'sanitize_key',
497
+ ],
498
+ [
499
  'key' => 'port',
500
  'default' => $this->default_port[ $this->default_type ],
501
  'callback' => 'intval',
502
+ ],
503
+ [
504
  'key' => 'retention_count',
505
  'default' => $this->retention_count,
506
  'callback' => 'intval',
507
+ ],
508
+ [
509
  'key' => 'nickname',
510
  'default' => '',
511
  'callback' => 'stripslashes',
512
+ ],
513
+ ];
514
 
515
  // phpcs:disable WordPress.CSRF.NonceVerification.NoNonceVerification, WordPress.Security.NonceVerification.NoNonceVerification
516
 
559
  * }
560
  */
561
  public function format_raw_contents( $contents ) {
562
+ $skips = [
563
+ '.',
564
+ '..',
565
+ ];
566
+ $backups = [];
567
 
568
  if ( ! is_array( $contents ) ) {
569
  return $backups;
577
  continue;
578
  }
579
 
580
+ $backups[] = [
581
  'time' => $item['mtime'],
582
  'filename' => $filename,
583
  'size' => $item['size'],
584
+ ];
585
  } else {
586
  // Before exploding by space, replace multiple spaces with one space.
587
  $item = preg_replace( '!\s+!', ' ', $item );
619
  $size = $exploded_item[ $count - 5 ];
620
  }
621
 
622
+ $backups[] = [
623
  'time' => $time,
624
  'filename' => $filename,
625
  'size' => $size,
626
+ ];
627
  }
628
  }
629
 
655
  $this->log_in();
656
  if ( ! $this->logged_in ) {
657
  $this->errors[] = __( 'Unable to log in to FTP server.', 'boldgrid-backup' );
658
+ return [];
659
  }
660
 
661
  switch ( $this->type ) {
662
  case 'ftp':
663
+ case 'ftpes':
664
  if ( $raw ) {
665
  $contents = ftp_rawlist( $this->connection, $dir );
666
  } else {
674
  $contents = $this->connection->nlist( $dir );
675
  }
676
  break;
677
+ default:
678
+ break;
679
  }
680
 
681
  /*
689
  }
690
  return $item;
691
  };
692
+
693
+ if ( ( 'ftp' === $this->type || 'ftpes' === $this->type ) && is_array( $contents ) ) {
694
  $contents = array_map( $fix_windows, $contents );
695
  }
696
 
710
 
711
  $settings = $this->core->settings->get_settings();
712
 
713
+ return [
714
  'title' => $this->title,
715
  'key' => $this->key,
716
  'configure' => 'admin.php?page=boldgrid-backup-ftp',
717
  'is_setup' => $is_setup,
718
  'enabled' => ! empty( $settings['remote'][ $this->key ]['enabled'] ) && $settings['remote'][ $this->key ]['enabled'] && $is_setup,
719
+ ];
720
  }
721
 
722
  /**
731
 
732
  $settings = $this->core->settings->get_settings();
733
 
734
+ $labels = [
735
+ 'user',
736
+ 'pass',
737
+ 'host',
738
+ 'port',
739
+ 'type',
740
+ 'retention_count',
741
+ 'nickname',
742
+ ];
743
+
744
+ $configs = [
745
+ [
746
  'property' => 'user',
747
  'default' => null,
748
+ ],
749
+ [
750
  'property' => 'pass',
751
  'default' => null,
752
+ ],
753
+ [
754
  'property' => 'host',
755
  'default' => null,
756
+ ],
757
+ [
758
  'property' => 'port',
759
  'default' => $this->default_port,
760
+ ],
761
+ [
762
  'property' => 'type',
763
  'default' => $this->default_type,
764
+ ],
765
+ [
766
  'property' => 'retention_count',
767
  'default' => $this->retention_count,
768
+ ],
769
+ [
770
  'property' => 'nickname',
771
  'default' => $this->title,
772
+ ],
773
+ ];
774
 
775
  foreach ( $configs as $config ) {
776
  $property = $config['property'];
848
  case 'ftp':
849
  $connection = @ftp_connect( $host, $port, $this->timeout ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
850
  break;
851
+ case 'ftpes':
852
+ $connection = @ftp_ssl_connect( $host, $port, $this->timeout ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
853
+ break;
854
  case 'sftp':
855
  $connection = @new phpseclib\Net\SFTP( $host, $port, $this->timeout ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
856
  break;
857
+ default:
858
+ break;
859
  }
860
  if ( ! $connection ) {
861
  $this->errors[] = sprintf(
885
  */
886
  $error_caught = false;
887
 
888
+ set_error_handler( // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_set_error_handler
889
+ [
890
+ 'Boldgrid_Backup_Admin_Utility',
891
+ 'handle_error',
892
+ ]
893
+ );
894
 
895
  try {
896
  switch ( $type ) {
897
  case 'ftp':
898
+ case 'ftpes':
899
  $logged_in = ftp_login( $connection, $user, $pass );
900
  ftp_close( $connection );
901
  break;
902
  case 'sftp':
903
  $logged_in = $connection->login( $user, $pass );
904
  break;
905
+ default:
906
+ break;
907
  }
908
  } catch ( Exception $e ) {
909
  $this->errors[] = $e->getMessage();
938
 
939
  switch ( $this->type ) {
940
  case 'ftp':
941
+ case 'ftpes':
942
  $this->logged_in = @ftp_login( $this->connection, $this->user, $this->pass ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
943
  break;
944
  case 'sftp':
945
  $this->logged_in = $this->connection->login( $this->user, $this->pass );
946
  break;
947
+ default:
948
+ break;
949
  }
950
 
951
+ if ( $this->logged_in && ! $this->reconnected ) {
952
  $this->maybe_passive();
953
 
954
  $this->settings->set_last_login();
964
  * @since 1.7.0
965
  */
966
  public function maybe_passive() {
967
+ if ( 'ftp' === $this->type || 'ftpes' === $this->type ) {
968
  $contents = $this->get_contents();
969
 
970
  if ( ! is_array( $contents ) ) {
971
+ $this->reconnected = true;
972
+ $this->disconnect();
973
+ $this->connect();
974
+ $this->log_in();
975
  ftp_pasv( $this->connection, true );
976
  }
977
  }
1060
 
1061
  switch ( $this->type ) {
1062
  case 'ftp':
1063
+ case 'ftpes':
1064
  $uploaded = ftp_put( $this->connection, $remote_file, $filepath, FTP_BINARY );
1065
 
1066
  /*
1078
  // Adjust timestamp.
1079
  $this->connection->touch( $remote_file, $timestamp );
1080
  break;
1081
+ default:
1082
+ break;
1083
  }
1084
 
1085
  if ( ! $uploaded ) {
boldgrid-backup.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: BoldGrid Backup
17
  * Plugin URI: https://www.boldgrid.com/boldgrid-backup/
18
  * Description: BoldGrid Backup provides WordPress backup and restoration with update protection.
19
- * Version: 1.9.2
20
  * Author: BoldGrid
21
  * Author URI: https://www.boldgrid.com/
22
  * License: GPL-2.0+
16
  * Plugin Name: BoldGrid Backup
17
  * Plugin URI: https://www.boldgrid.com/boldgrid-backup/
18
  * Description: BoldGrid Backup provides WordPress backup and restoration with update protection.
19
+ * Version: 1.9.3
20
  * Author: BoldGrid
21
  * Author URI: https://www.boldgrid.com/
22
  * License: GPL-2.0+
coverage.xml CHANGED
@@ -1,6 +1,6 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1555439548">
3
- <project timestamp="1555439548">
4
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-archive-actions.php">
5
  <class name="Boldgrid_Backup_Admin_Archive_Actions" namespace="global" fullPackage="Boldgrid.Backup.Admin.Archive">
6
  <metrics complexity="15" methods="7" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="110" coveredstatements="2" elements="117" coveredelements="3"/>
@@ -1752,7 +1752,7 @@
1752
  </file>
1753
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-core.php">
1754
  <class name="Boldgrid_Backup_Admin_Core" namespace="global" fullPackage="Boldgrid.Backup.Admin">
1755
- <metrics complexity="220" methods="28" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="916" coveredstatements="101" elements="944" coveredelements="104"/>
1756
  </class>
1757
  <line num="500" type="method" name="__construct" visibility="public" complexity="7" crap="7.04" count="12"/>
1758
  <line num="501" type="stmt" count="12"/>
@@ -2390,7 +2390,7 @@
2390
  <line num="1948" type="stmt" count="0"/>
2391
  <line num="1950" type="stmt" count="0"/>
2392
  <line num="1953" type="stmt" count="0"/>
2393
- <line num="1966" type="method" name="restore_archive_file" visibility="public" complexity="24" crap="600" count="0"/>
2394
  <line num="1967" type="stmt" count="0"/>
2395
  <line num="1970" type="stmt" count="0"/>
2396
  <line num="1972" type="stmt" count="0"/>
@@ -2436,276 +2436,278 @@
2436
  <line num="2045" type="stmt" count="0"/>
2437
  <line num="2047" type="stmt" count="0"/>
2438
  <line num="2056" type="stmt" count="0"/>
2439
- <line num="2058" type="stmt" count="0"/>
2440
- <line num="2060" type="stmt" count="0"/>
2441
  <line num="2062" type="stmt" count="0"/>
2442
- <line num="2063" type="stmt" count="0"/>
2443
- <line num="2073" type="stmt" count="0"/>
2444
- <line num="2075" type="stmt" count="0"/>
2445
- <line num="2076" type="stmt" count="0"/>
2446
- <line num="2077" type="stmt" count="0"/>
2447
- <line num="2078" type="stmt" count="0"/>
2448
- <line num="2079" type="stmt" count="0"/>
2449
- <line num="2082" type="stmt" count="0"/>
2450
  <line num="2083" type="stmt" count="0"/>
2451
- <line num="2093" type="stmt" count="0"/>
2452
- <line num="2102" type="stmt" count="0"/>
2453
- <line num="2103" type="stmt" count="0"/>
2454
- <line num="2104" type="stmt" count="0"/>
2455
- <line num="2107" type="stmt" count="0"/>
2456
- <line num="2108" type="stmt" count="0"/>
2457
- <line num="2109" type="stmt" count="0"/>
 
2458
  <line num="2111" type="stmt" count="0"/>
2459
  <line num="2112" type="stmt" count="0"/>
2460
- <line num="2114" type="stmt" count="0"/>
2461
  <line num="2115" type="stmt" count="0"/>
2462
  <line num="2116" type="stmt" count="0"/>
2463
  <line num="2117" type="stmt" count="0"/>
 
2464
  <line num="2120" type="stmt" count="0"/>
2465
- <line num="2121" type="stmt" count="0"/>
 
2466
  <line num="2124" type="stmt" count="0"/>
2467
- <line num="2126" type="stmt" count="0"/>
2468
- <line num="2127" type="stmt" count="0"/>
2469
  <line num="2129" type="stmt" count="0"/>
2470
  <line num="2132" type="stmt" count="0"/>
 
2471
  <line num="2135" type="stmt" count="0"/>
2472
- <line num="2138" type="stmt" count="0"/>
2473
  <line num="2140" type="stmt" count="0"/>
2474
- <line num="2144" type="stmt" count="0"/>
2475
- <line num="2145" type="stmt" count="0"/>
2476
  <line num="2148" type="stmt" count="0"/>
2477
- <line num="2151" type="stmt" count="0"/>
2478
- <line num="2154" type="stmt" count="0"/>
2479
- <line num="2167" type="method" name="page_archives" visibility="public" complexity="5" crap="30" count="0"/>
2480
- <line num="2168" type="stmt" count="0"/>
2481
- <line num="2171" type="stmt" count="0"/>
2482
- <line num="2172" type="stmt" count="0"/>
2483
- <line num="2174" type="stmt" count="0"/>
2484
- <line num="2177" type="stmt" count="0"/>
2485
  <line num="2180" type="stmt" count="0"/>
2486
- <line num="2181" type="stmt" count="0"/>
2487
- <line num="2183" type="stmt" count="0"/>
2488
- <line num="2186" type="stmt" count="0"/>
2489
- <line num="2187" type="stmt" count="0"/>
2490
  <line num="2189" type="stmt" count="0"/>
2491
- <line num="2190" type="stmt" count="0"/>
2492
- <line num="2193" type="stmt" count="0"/>
2493
  <line num="2194" type="stmt" count="0"/>
2494
  <line num="2195" type="stmt" count="0"/>
 
2495
  <line num="2198" type="stmt" count="0"/>
2496
  <line num="2201" type="stmt" count="0"/>
2497
- <line num="2204" type="stmt" count="0"/>
 
2498
  <line num="2206" type="stmt" count="0"/>
2499
- <line num="2207" type="stmt" count="0"/>
2500
- <line num="2208" type="stmt" count="0"/>
2501
- <line num="2211" type="stmt" count="0"/>
2502
- <line num="2213" type="stmt" count="0"/>
2503
  <line num="2216" type="stmt" count="0"/>
2504
- <line num="2217" type="stmt" count="0"/>
2505
- <line num="2218" type="stmt" count="0"/>
2506
- <line num="2220" type="stmt" count="0"/>
2507
- <line num="2223" type="stmt" count="0"/>
2508
  <line num="2224" type="stmt" count="0"/>
2509
- <line num="2233" type="method" name="boldgrid_backup_now_callback" visibility="public" complexity="9" crap="90" count="0"/>
2510
- <line num="2236" type="stmt" count="0"/>
2511
- <line num="2237" type="stmt" count="0"/>
2512
- <line num="2238" type="stmt" count="0"/>
2513
- <line num="2240" type="stmt" count="0"/>
2514
- <line num="2241" type="stmt" count="0"/>
2515
- <line num="2242" type="stmt" count="0"/>
2516
  <line num="2245" type="stmt" count="0"/>
2517
  <line num="2246" type="stmt" count="0"/>
2518
- <line num="2247" type="stmt" count="0"/>
2519
  <line num="2249" type="stmt" count="0"/>
2520
  <line num="2250" type="stmt" count="0"/>
2521
- <line num="2251" type="stmt" count="0"/>
2522
  <line num="2253" type="stmt" count="0"/>
 
2523
  <line num="2255" type="stmt" count="0"/>
2524
- <line num="2256" type="stmt" count="0"/>
2525
  <line num="2257" type="stmt" count="0"/>
 
2526
  <line num="2259" type="stmt" count="0"/>
2527
- <line num="2260" type="stmt" count="0"/>
2528
- <line num="2262" type="stmt" count="0"/>
2529
  <line num="2264" type="stmt" count="0"/>
2530
  <line num="2265" type="stmt" count="0"/>
2531
- <line num="2266" type="stmt" count="0"/>
2532
  <line num="2267" type="stmt" count="0"/>
2533
- <line num="2269" type="stmt" count="0"/>
2534
- <line num="2271" type="stmt" count="0"/>
2535
  <line num="2272" type="stmt" count="0"/>
2536
  <line num="2273" type="stmt" count="0"/>
2537
  <line num="2274" type="stmt" count="0"/>
2538
- <line num="2276" type="stmt" count="0"/>
2539
- <line num="2278" type="stmt" count="0"/>
 
2540
  <line num="2280" type="stmt" count="0"/>
2541
- <line num="2292" type="method" name="download_archive_file_callback" visibility="public" complexity="10" crap="110" count="0"/>
2542
- <line num="2294" type="stmt" count="0"/>
2543
- <line num="2297" type="stmt" count="0"/>
2544
- <line num="2298" type="stmt" count="0"/>
2545
- <line num="2299" type="stmt" count="0"/>
2546
- <line num="2300" type="stmt" count="0"/>
2547
- <line num="2303" type="stmt" count="0"/>
2548
- <line num="2304" type="stmt" count="0"/>
2549
  <line num="2305" type="stmt" count="0"/>
2550
  <line num="2306" type="stmt" count="0"/>
2551
  <line num="2307" type="stmt" count="0"/>
 
2552
  <line num="2311" type="stmt" count="0"/>
2553
  <line num="2312" type="stmt" count="0"/>
2554
  <line num="2313" type="stmt" count="0"/>
2555
  <line num="2314" type="stmt" count="0"/>
2556
  <line num="2315" type="stmt" count="0"/>
2557
  <line num="2319" type="stmt" count="0"/>
 
 
2558
  <line num="2322" type="stmt" count="0"/>
2559
  <line num="2323" type="stmt" count="0"/>
2560
- <line num="2324" type="stmt" count="0"/>
2561
- <line num="2325" type="stmt" count="0"/>
2562
- <line num="2328" type="stmt" count="0"/>
2563
  <line num="2331" type="stmt" count="0"/>
2564
  <line num="2332" type="stmt" count="0"/>
2565
  <line num="2333" type="stmt" count="0"/>
2566
- <line num="2334" type="stmt" count="0"/>
2567
- <line num="2338" type="stmt" count="0"/>
2568
  <line num="2339" type="stmt" count="0"/>
2569
  <line num="2340" type="stmt" count="0"/>
2570
- <line num="2343" type="stmt" count="0"/>
2571
- <line num="2344" type="stmt" count="0"/>
2572
- <line num="2345" type="stmt" count="0"/>
2573
  <line num="2346" type="stmt" count="0"/>
 
2574
  <line num="2348" type="stmt" count="0"/>
2575
- <line num="2350" type="stmt" count="0"/>
2576
  <line num="2352" type="stmt" count="0"/>
2577
  <line num="2353" type="stmt" count="0"/>
2578
  <line num="2354" type="stmt" count="0"/>
2579
- <line num="2357" type="stmt" count="0"/>
2580
  <line num="2358" type="stmt" count="0"/>
2581
- <line num="2368" type="method" name="page_backup_test" visibility="public" complexity="6" crap="42" count="0"/>
2582
- <line num="2370" type="stmt" count="0"/>
2583
- <line num="2373" type="stmt" count="0"/>
2584
- <line num="2376" type="stmt" count="0"/>
2585
- <line num="2379" type="stmt" count="0"/>
2586
- <line num="2382" type="stmt" count="0"/>
 
 
2587
  <line num="2384" type="stmt" count="0"/>
2588
  <line num="2387" type="stmt" count="0"/>
2589
  <line num="2390" type="stmt" count="0"/>
2590
- <line num="2393" type="stmt" count="0"/>
2591
- <line num="2396" type="stmt" count="0"/>
2592
- <line num="2399" type="stmt" count="0"/>
2593
  <line num="2401" type="stmt" count="0"/>
 
 
2594
  <line num="2409" type="stmt" count="0"/>
2595
- <line num="2410" type="stmt" count="0"/>
2596
- <line num="2411" type="stmt" count="0"/>
2597
- <line num="2412" type="stmt" count="0"/>
2598
- <line num="2413" type="stmt" count="0"/>
2599
- <line num="2416" type="stmt" count="0"/>
2600
  <line num="2417" type="stmt" count="0"/>
2601
  <line num="2418" type="stmt" count="0"/>
2602
  <line num="2419" type="stmt" count="0"/>
2603
  <line num="2420" type="stmt" count="0"/>
2604
  <line num="2421" type="stmt" count="0"/>
2605
- <line num="2422" type="stmt" count="0"/>
2606
- <line num="2423" type="stmt" count="0"/>
2607
  <line num="2425" type="stmt" count="0"/>
 
 
2608
  <line num="2428" type="stmt" count="0"/>
2609
  <line num="2429" type="stmt" count="0"/>
2610
  <line num="2430" type="stmt" count="0"/>
2611
  <line num="2431" type="stmt" count="0"/>
2612
- <line num="2432" type="stmt" count="0"/>
2613
- <line num="2435" type="stmt" count="0"/>
2614
  <line num="2436" type="stmt" count="0"/>
2615
- <line num="2451" type="method" name="set_doing_cron" visibility="public" complexity="3" crap="3" count="12"/>
2616
- <line num="2452" type="stmt" count="12"/>
2617
- <line num="2453" type="stmt" count="12"/>
2618
- <line num="2460" type="method" name="set_lang" visibility="public" complexity="1" crap="1" count="12"/>
 
 
 
 
2619
  <line num="2461" type="stmt" count="12"/>
2620
- <line num="2463" type="stmt" count="12"/>
2621
- <line num="2464" type="stmt" count="12"/>
2622
- <line num="2465" type="stmt" count="12"/>
2623
- <line num="2466" type="stmt" count="12"/>
2624
- <line num="2467" type="stmt" count="12"/>
2625
- <line num="2468" type="stmt" count="12"/>
2626
  <line num="2469" type="stmt" count="12"/>
2627
  <line num="2471" type="stmt" count="12"/>
2628
  <line num="2472" type="stmt" count="12"/>
2629
  <line num="2473" type="stmt" count="12"/>
2630
  <line num="2474" type="stmt" count="12"/>
 
2631
  <line num="2476" type="stmt" count="12"/>
 
2632
  <line num="2479" type="stmt" count="12"/>
2633
  <line num="2480" type="stmt" count="12"/>
 
2634
  <line num="2482" type="stmt" count="12"/>
2635
  <line num="2484" type="stmt" count="12"/>
2636
- <line num="2496" type="method" name="set_time_limit" visibility="public" complexity="2" crap="6" count="0"/>
2637
- <line num="2497" type="stmt" count="0"/>
2638
- <line num="2499" type="stmt" count="0"/>
2639
- <line num="2500" type="stmt" count="0"/>
2640
- <line num="2507" type="method" name="wp_ajax_restore" visibility="public" complexity="6" crap="42" count="0"/>
 
 
2641
  <line num="2508" type="stmt" count="0"/>
2642
- <line num="2509" type="stmt" count="0"/>
2643
- <line num="2512" type="stmt" count="0"/>
2644
- <line num="2513" type="stmt" count="0"/>
2645
- <line num="2514" type="stmt" count="0"/>
2646
  <line num="2516" type="stmt" count="0"/>
2647
  <line num="2517" type="stmt" count="0"/>
2648
- <line num="2518" type="stmt" count="0"/>
2649
  <line num="2521" type="stmt" count="0"/>
2650
  <line num="2522" type="stmt" count="0"/>
2651
- <line num="2523" type="stmt" count="0"/>
2652
  <line num="2525" type="stmt" count="0"/>
2653
  <line num="2526" type="stmt" count="0"/>
2654
- <line num="2527" type="stmt" count="0"/>
2655
  <line num="2529" type="stmt" count="0"/>
2656
- <line num="2542" type="stmt" count="0"/>
2657
- <line num="2543" type="stmt" count="0"/>
2658
- <line num="2545" type="stmt" count="0"/>
2659
- <line num="2546" type="stmt" count="0"/>
2660
- <line num="2547" type="stmt" count="0"/>
2661
- <line num="2548" type="stmt" count="0"/>
2662
- <line num="2549" type="stmt" count="0"/>
2663
  <line num="2551" type="stmt" count="0"/>
2664
- <line num="2552" type="stmt" count="0"/>
2665
  <line num="2553" type="stmt" count="0"/>
2666
  <line num="2554" type="stmt" count="0"/>
 
2667
  <line num="2556" type="stmt" count="0"/>
2668
- <line num="2558" type="stmt" count="0"/>
 
2669
  <line num="2560" type="stmt" count="0"/>
 
2670
  <line num="2562" type="stmt" count="0"/>
2671
- <line num="2563" type="stmt" count="0"/>
2672
- <line num="2579" type="method" name="boldgrid_backup_now_auto" visibility="public" complexity="4" crap="20" count="0"/>
2673
- <line num="2581" type="stmt" count="0"/>
2674
- <line num="2584" type="stmt" count="0"/>
2675
- <line num="2585" type="stmt" count="0"/>
 
2676
  <line num="2589" type="stmt" count="0"/>
2677
  <line num="2592" type="stmt" count="0"/>
2678
  <line num="2593" type="stmt" count="0"/>
2679
  <line num="2597" type="stmt" count="0"/>
2680
- <line num="2598" type="stmt" count="0"/>
2681
- <line num="2609" type="method" name="enforce_retention" visibility="public" complexity="8" crap="72" count="0"/>
2682
- <line num="2611" type="stmt" count="0"/>
2683
- <line num="2613" type="stmt" count="0"/>
2684
- <line num="2616" type="stmt" count="0"/>
2685
- <line num="2617" type="stmt" count="0"/>
2686
- <line num="2618" type="stmt" count="0"/>
2687
  <line num="2619" type="stmt" count="0"/>
2688
- <line num="2620" type="stmt" count="0"/>
2689
  <line num="2621" type="stmt" count="0"/>
2690
- <line num="2622" type="stmt" count="0"/>
2691
  <line num="2625" type="stmt" count="0"/>
 
 
2692
  <line num="2628" type="stmt" count="0"/>
2693
  <line num="2629" type="stmt" count="0"/>
 
2694
  <line num="2633" type="stmt" count="0"/>
2695
  <line num="2636" type="stmt" count="0"/>
2696
- <line num="2639" type="stmt" count="0"/>
2697
- <line num="2642" type="stmt" count="0"/>
2698
- <line num="2643" type="stmt" count="0"/>
2699
  <line num="2644" type="stmt" count="0"/>
2700
  <line num="2647" type="stmt" count="0"/>
2701
- <line num="2648" type="stmt" count="0"/>
2702
  <line num="2650" type="stmt" count="0"/>
2703
- <line num="2660" type="stmt" count="0"/>
2704
- <line num="2663" type="stmt" count="0"/>
2705
- <line num="2666" type="stmt" count="0"/>
2706
- <line num="2667" type="stmt" count="0"/>
 
2707
  <line num="2668" type="stmt" count="0"/>
2708
- <metrics loc="2669" ncloc="1355" classes="1" methods="28" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="923" coveredstatements="101" elements="951" coveredelements="104"/>
 
 
 
 
2709
  </file>
2710
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-cron-log.php">
2711
  <class name="Boldgrid_Backup_Admin_Cron_Log" namespace="global" fullPackage="Boldgrid.Backup.Admin.Cron">
@@ -4374,50 +4376,44 @@
4374
  </file>
4375
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-restore-helper.php">
4376
  <class name="Boldgrid_Backup_Admin_Restore_Helper" namespace="global" fullPackage="Boldgrid.Backup.Admin.Restore">
4377
- <metrics complexity="40" methods="9" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="2" elements="100" coveredelements="3"/>
4378
  </class>
4379
- <line num="59" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="12"/>
4380
- <line num="60" type="stmt" count="12"/>
4381
- <line num="61" type="stmt" count="12"/>
4382
- <line num="68" type="method" name="post_restore_htaccess" visibility="public" complexity="1" crap="2" count="0"/>
4383
- <line num="69" type="stmt" count="0"/>
4384
- <line num="70" type="stmt" count="0"/>
4385
- <line num="79" type="method" name="post_restore_wpconfig" visibility="public" complexity="3" crap="12" count="0"/>
4386
  <line num="80" type="stmt" count="0"/>
4387
- <line num="81" type="stmt" count="0"/>
4388
  <line num="82" type="stmt" count="0"/>
4389
  <line num="83" type="stmt" count="0"/>
4390
  <line num="84" type="stmt" count="0"/>
4391
  <line num="86" type="stmt" count="0"/>
4392
- <line num="88" type="stmt" count="0"/>
4393
- <line num="89" type="stmt" count="0"/>
4394
- <line num="90" type="stmt" count="0"/>
4395
- <line num="101" type="method" name="post_restore" visibility="public" complexity="12" crap="156" count="0"/>
4396
- <line num="102" type="stmt" count="0"/>
4397
- <line num="103" type="stmt" count="0"/>
4398
  <line num="106" type="stmt" count="0"/>
 
4399
  <line num="108" type="stmt" count="0"/>
4400
  <line num="109" type="stmt" count="0"/>
4401
  <line num="110" type="stmt" count="0"/>
4402
- <line num="113" type="stmt" count="0"/>
4403
  <line num="114" type="stmt" count="0"/>
4404
  <line num="115" type="stmt" count="0"/>
4405
  <line num="116" type="stmt" count="0"/>
4406
- <line num="117" type="stmt" count="0"/>
4407
- <line num="118" type="stmt" count="0"/>
4408
- <line num="120" type="stmt" count="0"/>
4409
- <line num="126" type="stmt" count="0"/>
4410
- <line num="127" type="stmt" count="0"/>
4411
  <line num="129" type="stmt" count="0"/>
4412
- <line num="130" type="stmt" count="0"/>
4413
- <line num="131" type="stmt" count="0"/>
4414
  <line num="132" type="stmt" count="0"/>
4415
- <line num="133" type="stmt" count="0"/>
4416
- <line num="144" type="method" name="pre_restore" visibility="public" complexity="5" crap="30" count="0"/>
4417
- <line num="145" type="stmt" count="0"/>
 
 
 
 
 
 
4418
  <line num="146" type="stmt" count="0"/>
4419
- <line num="149" type="stmt" count="0"/>
4420
- <line num="151" type="stmt" count="0"/>
4421
  <line num="152" type="stmt" count="0"/>
4422
  <line num="153" type="stmt" count="0"/>
4423
  <line num="155" type="stmt" count="0"/>
@@ -4425,58 +4421,77 @@
4425
  <line num="157" type="stmt" count="0"/>
4426
  <line num="158" type="stmt" count="0"/>
4427
  <line num="159" type="stmt" count="0"/>
4428
- <line num="162" type="stmt" count="0"/>
4429
- <line num="163" type="stmt" count="0"/>
4430
- <line num="174" type="method" name="prepare_restore" visibility="public" complexity="6" crap="42" count="0"/>
4431
- <line num="176" type="stmt" count="0"/>
 
4432
  <line num="178" type="stmt" count="0"/>
4433
  <line num="179" type="stmt" count="0"/>
4434
- <line num="187" type="stmt" count="0"/>
 
 
 
 
4435
  <line num="188" type="stmt" count="0"/>
4436
  <line num="189" type="stmt" count="0"/>
4437
- <line num="190" type="stmt" count="0"/>
4438
- <line num="191" type="stmt" count="0"/>
4439
- <line num="194" type="stmt" count="0"/>
4440
- <line num="212" type="method" name="set_writable_permissions" visibility="public" complexity="4" crap="20" count="0"/>
4441
  <line num="213" type="stmt" count="0"/>
 
4442
  <line num="215" type="stmt" count="0"/>
 
4443
  <line num="217" type="stmt" count="0"/>
4444
- <line num="218" type="stmt" count="0"/>
4445
- <line num="219" type="stmt" count="0"/>
4446
- <line num="221" type="stmt" count="0"/>
4447
- <line num="222" type="stmt" count="0"/>
4448
- <line num="225" type="stmt" count="0"/>
4449
- <line num="226" type="stmt" count="0"/>
4450
- <line num="227" type="stmt" count="0"/>
4451
- <line num="228" type="stmt" count="0"/>
4452
- <line num="242" type="method" name="shutdown" visibility="public" complexity="4" crap="20" count="0"/>
4453
- <line num="243" type="stmt" count="0"/>
4454
  <line num="244" type="stmt" count="0"/>
4455
- <line num="247" type="stmt" count="0"/>
4456
- <line num="254" type="stmt" count="0"/>
 
 
 
4457
  <line num="255" type="stmt" count="0"/>
4458
- <line num="258" type="stmt" count="0"/>
4459
  <line num="259" type="stmt" count="0"/>
4460
  <line num="260" type="stmt" count="0"/>
4461
- <line num="261" type="stmt" count="0"/>
4462
  <line num="262" type="stmt" count="0"/>
4463
- <line num="263" type="stmt" count="0"/>
4464
  <line num="264" type="stmt" count="0"/>
4465
- <line num="266" type="stmt" count="0"/>
4466
- <line num="272" type="stmt" count="0"/>
4467
- <line num="273" type="stmt" count="0"/>
4468
- <line num="284" type="method" name="restore_fail" visibility="public" complexity="3" crap="12" count="0"/>
4469
- <line num="285" type="stmt" count="0"/>
 
4470
  <line num="287" type="stmt" count="0"/>
4471
- <line num="288" type="stmt" count="0"/>
4472
  <line num="290" type="stmt" count="0"/>
4473
- <line num="293" type="stmt" count="0"/>
4474
- <line num="294" type="stmt" count="0"/>
4475
- <line num="295" type="stmt" count="0"/>
4476
- <line num="296" type="stmt" count="0"/>
4477
  <line num="298" type="stmt" count="0"/>
4478
- <line num="300" type="stmt" count="0"/>
4479
- <metrics loc="302" ncloc="158" classes="1" methods="9" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="2" elements="100" coveredelements="3"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4480
  </file>
4481
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-scheduler.php">
4482
  <class name="Boldgrid_Backup_Admin_Scheduler" namespace="global" fullPackage="Boldgrid.Backup.Admin">
@@ -6568,7 +6583,7 @@
6568
  </file>
6569
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/compressor/class-boldgrid-backup-admin-compressor-php-zip.php">
6570
  <class name="Boldgrid_Backup_Admin_Compressor_Php_Zip" namespace="global" fullPackage="Boldgrid.Backup.Admin.Compressor.Php">
6571
- <metrics complexity="24" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="112" coveredstatements="0" elements="116" coveredelements="0"/>
6572
  </class>
6573
  <line num="69" type="method" name="add_dir" visibility="public" complexity="4" crap="20" count="0"/>
6574
  <line num="70" type="stmt" count="0"/>
@@ -6585,7 +6600,7 @@
6585
  <line num="83" type="stmt" count="0"/>
6586
  <line num="84" type="stmt" count="0"/>
6587
  <line num="85" type="stmt" count="0"/>
6588
- <line num="112" type="method" name="archive_files" visibility="public" complexity="14" crap="210" count="0"/>
6589
  <line num="113" type="stmt" count="0"/>
6590
  <line num="116" type="stmt" count="0"/>
6591
  <line num="117" type="stmt" count="0"/>
@@ -6612,81 +6627,92 @@
6612
  <line num="145" type="stmt" count="0"/>
6613
  <line num="146" type="stmt" count="0"/>
6614
  <line num="147" type="stmt" count="0"/>
 
 
 
 
 
 
 
6615
  <line num="156" type="stmt" count="0"/>
6616
  <line num="157" type="stmt" count="0"/>
6617
  <line num="158" type="stmt" count="0"/>
6618
  <line num="159" type="stmt" count="0"/>
6619
- <line num="160" type="stmt" count="0"/>
6620
- <line num="161" type="stmt" count="0"/>
6621
- <line num="162" type="stmt" count="0"/>
6622
- <line num="164" type="stmt" count="0"/>
6623
- <line num="165" type="stmt" count="0"/>
 
 
6624
  <line num="176" type="stmt" count="0"/>
6625
  <line num="177" type="stmt" count="0"/>
6626
- <line num="178" type="stmt" count="0"/>
6627
- <line num="179" type="stmt" count="0"/>
6628
- <line num="180" type="stmt" count="0"/>
6629
- <line num="181" type="stmt" count="0"/>
6630
  <line num="189" type="stmt" count="0"/>
6631
  <line num="190" type="stmt" count="0"/>
6632
  <line num="191" type="stmt" count="0"/>
6633
  <line num="192" type="stmt" count="0"/>
6634
  <line num="193" type="stmt" count="0"/>
6635
- <line num="194" type="stmt" count="0"/>
6636
- <line num="195" type="stmt" count="0"/>
6637
- <line num="196" type="stmt" count="0"/>
6638
- <line num="197" type="stmt" count="0"/>
6639
  <line num="204" type="stmt" count="0"/>
6640
  <line num="205" type="stmt" count="0"/>
 
6641
  <line num="207" type="stmt" count="0"/>
 
6642
  <line num="209" type="stmt" count="0"/>
6643
- <line num="211" type="stmt" count="0"/>
6644
- <line num="212" type="stmt" count="0"/>
6645
- <line num="213" type="stmt" count="0"/>
6646
- <line num="214" type="stmt" count="0"/>
6647
- <line num="215" type="stmt" count="0"/>
6648
  <line num="217" type="stmt" count="0"/>
6649
- <line num="218" type="stmt" count="0"/>
6650
- <line num="225" type="method" name="is_available" visibility="public" complexity="2" crap="6" count="0"/>
 
 
 
6651
  <line num="226" type="stmt" count="0"/>
6652
  <line num="227" type="stmt" count="0"/>
6653
- <line num="236" type="method" name="test" visibility="public" complexity="4" crap="20" count="0"/>
6654
- <line num="237" type="stmt" count="0"/>
 
6655
  <line num="238" type="stmt" count="0"/>
6656
  <line num="239" type="stmt" count="0"/>
6657
- <line num="241" type="stmt" count="0"/>
6658
- <line num="243" type="stmt" count="0"/>
6659
- <line num="244" type="stmt" count="0"/>
6660
- <line num="245" type="stmt" count="0"/>
6661
- <line num="246" type="stmt" count="0"/>
6662
  <line num="249" type="stmt" count="0"/>
6663
- <line num="252" type="stmt" count="0"/>
 
6664
  <line num="253" type="stmt" count="0"/>
6665
- <line num="254" type="stmt" count="0"/>
6666
  <line num="255" type="stmt" count="0"/>
6667
  <line num="256" type="stmt" count="0"/>
6668
  <line num="257" type="stmt" count="0"/>
6669
- <line num="259" type="stmt" count="0"/>
6670
- <line num="260" type="stmt" count="0"/>
6671
- <line num="262" type="stmt" count="0"/>
6672
- <line num="263" type="stmt" count="0"/>
6673
  <line num="264" type="stmt" count="0"/>
 
6674
  <line num="266" type="stmt" count="0"/>
6675
  <line num="267" type="stmt" count="0"/>
 
6676
  <line num="269" type="stmt" count="0"/>
6677
- <line num="270" type="stmt" count="0"/>
6678
  <line num="272" type="stmt" count="0"/>
6679
  <line num="274" type="stmt" count="0"/>
 
6680
  <line num="276" type="stmt" count="0"/>
6681
  <line num="278" type="stmt" count="0"/>
6682
  <line num="279" type="stmt" count="0"/>
6683
- <line num="280" type="stmt" count="0"/>
6684
  <line num="282" type="stmt" count="0"/>
6685
- <line num="283" type="stmt" count="0"/>
6686
- <line num="285" type="stmt" count="0"/>
6687
- <line num="287" type="stmt" count="0"/>
6688
  <line num="288" type="stmt" count="0"/>
6689
- <metrics loc="289" ncloc="160" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="112" coveredstatements="0" elements="116" coveredelements="0"/>
 
 
 
 
 
 
 
 
6690
  </file>
6691
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/index.php">
6692
  <metrics loc="8" ncloc="1" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
@@ -8085,12 +8111,12 @@
8085
  <line num="20" type="stmt" count="0"/>
8086
  <line num="21" type="stmt" count="0"/>
8087
  <line num="22" type="stmt" count="0"/>
8088
- <line num="24" type="stmt" count="0"/>
8089
- <line num="27" type="stmt" count="0"/>
8090
  <line num="28" type="stmt" count="0"/>
8091
  <line num="29" type="stmt" count="0"/>
8092
  <line num="30" type="stmt" count="0"/>
8093
- <line num="32" type="stmt" count="0"/>
8094
  <line num="33" type="stmt" count="0"/>
8095
  <line num="34" type="stmt" count="0"/>
8096
  <line num="35" type="stmt" count="0"/>
@@ -8099,51 +8125,52 @@
8099
  <line num="38" type="stmt" count="0"/>
8100
  <line num="39" type="stmt" count="0"/>
8101
  <line num="40" type="stmt" count="0"/>
8102
- <line num="42" type="stmt" count="0"/>
8103
  <line num="43" type="stmt" count="0"/>
8104
  <line num="44" type="stmt" count="0"/>
8105
  <line num="45" type="stmt" count="0"/>
8106
  <line num="46" type="stmt" count="0"/>
8107
- <line num="48" type="stmt" count="0"/>
8108
- <line num="51" type="stmt" count="0"/>
8109
- <line num="52" type="stmt" count="0"/>
8110
  <line num="53" type="stmt" count="0"/>
8111
- <line num="56" type="stmt" count="0"/>
8112
- <line num="57" type="stmt" count="0"/>
8113
  <line num="58" type="stmt" count="0"/>
8114
  <line num="59" type="stmt" count="0"/>
8115
- <line num="62" type="stmt" count="0"/>
8116
- <line num="63" type="stmt" count="0"/>
8117
- <line num="66" type="stmt" count="0"/>
8118
- <line num="67" type="stmt" count="0"/>
8119
  <line num="68" type="stmt" count="0"/>
8120
  <line num="69" type="stmt" count="0"/>
8121
- <line num="73" type="stmt" count="0"/>
8122
- <line num="74" type="stmt" count="0"/>
8123
  <line num="75" type="stmt" count="0"/>
8124
  <line num="76" type="stmt" count="0"/>
8125
- <line num="79" type="stmt" count="0"/>
8126
- <line num="80" type="stmt" count="0"/>
8127
  <line num="81" type="stmt" count="0"/>
8128
  <line num="82" type="stmt" count="0"/>
8129
  <line num="83" type="stmt" count="0"/>
8130
- <line num="86" type="stmt" count="0"/>
8131
- <line num="87" type="stmt" count="0"/>
8132
  <line num="88" type="stmt" count="0"/>
8133
  <line num="89" type="stmt" count="0"/>
8134
  <line num="90" type="stmt" count="0"/>
 
8135
  <line num="92" type="stmt" count="0"/>
8136
- <line num="93" type="stmt" count="0"/>
8137
  <line num="94" type="stmt" count="0"/>
8138
  <line num="95" type="stmt" count="0"/>
8139
  <line num="96" type="stmt" count="0"/>
 
8140
  <line num="98" type="stmt" count="0"/>
8141
- <line num="99" type="stmt" count="0"/>
8142
  <line num="100" type="stmt" count="0"/>
8143
- <line num="103" type="stmt" count="0"/>
8144
- <line num="104" type="stmt" count="0"/>
8145
  <line num="105" type="stmt" count="0"/>
8146
- <metrics loc="105" ncloc="86" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="0" elements="61" coveredelements="0"/>
 
 
8147
  </file>
8148
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/partials/remote/local.php">
8149
  <line num="21" type="stmt" count="0"/>
@@ -9410,7 +9437,7 @@
9410
  </file>
9411
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/remote/class-boldgrid-backup-admin-ftp.php">
9412
  <class name="Boldgrid_Backup_Admin_Ftp" namespace="global" fullPackage="Boldgrid.Backup.Admin">
9413
- <metrics complexity="113" methods="22" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="390" coveredstatements="14" elements="412" coveredelements="16"/>
9414
  </class>
9415
  <line num="229" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="12"/>
9416
  <line num="230" type="stmt" count="12"/>
@@ -9420,7 +9447,7 @@
9420
  <line num="235" type="stmt" count="12"/>
9421
  <line num="237" type="stmt" count="12"/>
9422
  <line num="238" type="stmt" count="12"/>
9423
- <line num="245" type="method" name="connect" visibility="public" complexity="9" crap="90" count="0"/>
9424
  <line num="246" type="stmt" count="0"/>
9425
  <line num="247" type="stmt" count="0"/>
9426
  <line num="250" type="stmt" count="0"/>
@@ -9435,400 +9462,452 @@
9435
  <line num="262" type="stmt" count="0"/>
9436
  <line num="263" type="stmt" count="0"/>
9437
  <line num="264" type="stmt" count="0"/>
9438
- <line num="273" type="method" name="create_backup_dir" visibility="public" complexity="8" crap="72" count="0"/>
9439
- <line num="274" type="stmt" count="0"/>
9440
- <line num="275" type="stmt" count="0"/>
9441
- <line num="276" type="stmt" count="0"/>
9442
- <line num="277" type="stmt" count="0"/>
 
 
9443
  <line num="280" type="stmt" count="0"/>
9444
  <line num="281" type="stmt" count="0"/>
9445
  <line num="282" type="stmt" count="0"/>
9446
- <line num="283" type="stmt" count="0"/>
9447
- <line num="284" type="stmt" count="0"/>
9448
  <line num="285" type="stmt" count="0"/>
 
 
9449
  <line num="288" type="stmt" count="0"/>
9450
  <line num="289" type="stmt" count="0"/>
9451
  <line num="290" type="stmt" count="0"/>
9452
- <line num="291" type="stmt" count="0"/>
9453
- <line num="292" type="stmt" count="0"/>
9454
  <line num="293" type="stmt" count="0"/>
9455
  <line num="294" type="stmt" count="0"/>
9456
  <line num="295" type="stmt" count="0"/>
 
9457
  <line num="297" type="stmt" count="0"/>
9458
  <line num="298" type="stmt" count="0"/>
 
9459
  <line num="300" type="stmt" count="0"/>
9460
  <line num="301" type="stmt" count="0"/>
 
9461
  <line num="303" type="stmt" count="0"/>
9462
- <line num="304" type="stmt" count="0"/>
9463
  <line num="305" type="stmt" count="0"/>
9464
  <line num="306" type="stmt" count="0"/>
9465
  <line num="308" type="stmt" count="0"/>
9466
- <line num="316" type="method" name="disconnect" visibility="public" complexity="3" crap="12" count="0"/>
9467
- <line num="317" type="stmt" count="0"/>
9468
- <line num="318" type="stmt" count="0"/>
9469
- <line num="319" type="stmt" count="0"/>
9470
- <line num="320" type="stmt" count="0"/>
9471
- <line num="321" type="stmt" count="0"/>
9472
- <line num="322" type="stmt" count="0"/>
9473
- <line num="332" type="method" name="download" visibility="public" complexity="4" crap="20" count="0"/>
9474
- <line num="333" type="stmt" count="0"/>
9475
- <line num="335" type="stmt" count="0"/>
9476
- <line num="336" type="stmt" count="0"/>
9477
- <line num="337" type="stmt" count="0"/>
9478
- <line num="339" type="stmt" count="0"/>
 
9479
  <line num="341" type="stmt" count="0"/>
9480
- <line num="342" type="stmt" count="0"/>
9481
  <line num="343" type="stmt" count="0"/>
9482
  <line num="344" type="stmt" count="0"/>
9483
  <line num="345" type="stmt" count="0"/>
9484
- <line num="346" type="stmt" count="0"/>
9485
  <line num="347" type="stmt" count="0"/>
9486
- <line num="348" type="stmt" count="0"/>
9487
  <line num="350" type="stmt" count="0"/>
9488
  <line num="351" type="stmt" count="0"/>
9489
  <line num="352" type="stmt" count="0"/>
 
9490
  <line num="354" type="stmt" count="0"/>
9491
- <line num="362" type="method" name="enforce_retention" visibility="public" complexity="8" crap="72" count="0"/>
 
 
 
 
 
 
9492
  <line num="363" type="stmt" count="0"/>
9493
- <line num="364" type="stmt" count="0"/>
9494
- <line num="367" type="stmt" count="0"/>
9495
- <line num="368" type="stmt" count="0"/>
9496
- <line num="370" type="stmt" count="0"/>
9497
- <line num="372" type="stmt" count="0"/>
9498
- <line num="373" type="stmt" count="0"/>
9499
- <line num="376" type="stmt" count="0"/>
9500
  <line num="378" type="stmt" count="0"/>
9501
- <line num="380" type="stmt" count="0"/>
9502
- <line num="382" type="stmt" count="0"/>
9503
  <line num="383" type="stmt" count="0"/>
9504
  <line num="384" type="stmt" count="0"/>
9505
- <line num="386" type="stmt" count="0"/>
9506
  <line num="387" type="stmt" count="0"/>
9507
- <line num="388" type="stmt" count="0"/>
9508
  <line num="389" type="stmt" count="0"/>
9509
- <line num="390" type="stmt" count="0"/>
9510
  <line num="391" type="stmt" count="0"/>
9511
- <line num="392" type="stmt" count="0"/>
9512
  <line num="393" type="stmt" count="0"/>
 
 
 
 
 
9513
  <line num="400" type="stmt" count="0"/>
9514
  <line num="401" type="stmt" count="0"/>
9515
  <line num="402" type="stmt" count="0"/>
 
9516
  <line num="404" type="stmt" count="0"/>
9517
  <line num="405" type="stmt" count="0"/>
9518
  <line num="406" type="stmt" count="0"/>
9519
- <line num="415" type="method" name="get_folder_name" visibility="public" complexity="7" crap="56" count="0"/>
 
 
9520
  <line num="416" type="stmt" count="0"/>
9521
- <line num="417" type="stmt" count="0"/>
 
9522
  <line num="420" type="stmt" count="0"/>
9523
- <line num="421" type="stmt" count="0"/>
9524
- <line num="422" type="stmt" count="0"/>
9525
  <line num="431" type="stmt" count="0"/>
9526
  <line num="434" type="stmt" count="0"/>
9527
  <line num="435" type="stmt" count="0"/>
9528
  <line num="436" type="stmt" count="0"/>
9529
- <line num="437" type="stmt" count="0"/>
9530
- <line num="438" type="stmt" count="0"/>
9531
- <line num="439" type="stmt" count="0"/>
9532
- <line num="442" type="stmt" count="0"/>
9533
- <line num="454" type="method" name="get_from_post" visibility="public" complexity="6" crap="42" count="0"/>
 
 
 
9534
  <line num="455" type="stmt" count="0"/>
9535
- <line num="459" type="stmt" count="0"/>
9536
- <line num="460" type="stmt" count="0"/>
9537
- <line num="461" type="stmt" count="0"/>
9538
- <line num="462" type="stmt" count="0"/>
9539
- <line num="464" type="stmt" count="0"/>
9540
- <line num="465" type="stmt" count="0"/>
9541
- <line num="466" type="stmt" count="0"/>
9542
- <line num="467" type="stmt" count="0"/>
9543
- <line num="469" type="stmt" count="0"/>
9544
- <line num="470" type="stmt" count="0"/>
9545
  <line num="471" type="stmt" count="0"/>
9546
- <line num="473" type="stmt" count="0"/>
9547
- <line num="474" type="stmt" count="0"/>
9548
  <line num="475" type="stmt" count="0"/>
9549
  <line num="476" type="stmt" count="0"/>
 
9550
  <line num="478" type="stmt" count="0"/>
9551
- <line num="479" type="stmt" count="0"/>
9552
  <line num="480" type="stmt" count="0"/>
9553
  <line num="481" type="stmt" count="0"/>
 
9554
  <line num="483" type="stmt" count="0"/>
9555
- <line num="484" type="stmt" count="0"/>
9556
  <line num="485" type="stmt" count="0"/>
9557
  <line num="486" type="stmt" count="0"/>
9558
- <line num="488" type="stmt" count="0"/>
9559
  <line num="489" type="stmt" count="0"/>
9560
  <line num="490" type="stmt" count="0"/>
9561
  <line num="491" type="stmt" count="0"/>
9562
- <line num="493" type="stmt" count="0"/>
9563
  <line num="494" type="stmt" count="0"/>
9564
  <line num="495" type="stmt" count="0"/>
9565
  <line num="496" type="stmt" count="0"/>
9566
  <line num="497" type="stmt" count="0"/>
 
 
9567
  <line num="501" type="stmt" count="0"/>
9568
  <line num="502" type="stmt" count="0"/>
9569
- <line num="503" type="stmt" count="0"/>
9570
  <line num="505" type="stmt" count="0"/>
9571
  <line num="506" type="stmt" count="0"/>
9572
  <line num="507" type="stmt" count="0"/>
9573
- <line num="508" type="stmt" count="0"/>
9574
  <line num="509" type="stmt" count="0"/>
9575
  <line num="510" type="stmt" count="0"/>
9576
- <line num="514" type="stmt" count="0"/>
9577
- <line num="515" type="stmt" count="0"/>
9578
- <line num="516" type="stmt" count="0"/>
9579
  <line num="517" type="stmt" count="0"/>
 
 
9580
  <line num="521" type="stmt" count="0"/>
9581
- <line num="545" type="method" name="format_raw_contents" visibility="public" complexity="9" crap="90" count="0"/>
9582
- <line num="546" type="stmt" count="0"/>
9583
- <line num="547" type="stmt" count="0"/>
9584
- <line num="549" type="stmt" count="0"/>
9585
- <line num="550" type="stmt" count="0"/>
9586
- <line num="553" type="stmt" count="0"/>
9587
- <line num="555" type="stmt" count="0"/>
9588
- <line num="556" type="stmt" count="0"/>
9589
- <line num="557" type="stmt" count="0"/>
9590
- <line num="558" type="stmt" count="0"/>
9591
- <line num="561" type="stmt" count="0"/>
9592
- <line num="562" type="stmt" count="0"/>
9593
  <line num="563" type="stmt" count="0"/>
9594
  <line num="564" type="stmt" count="0"/>
 
9595
  <line num="566" type="stmt" count="0"/>
9596
  <line num="568" type="stmt" count="0"/>
9597
- <line num="570" type="stmt" count="0"/>
9598
- <line num="571" type="stmt" count="0"/>
9599
- <line num="573" type="stmt" count="0"/>
9600
  <line num="574" type="stmt" count="0"/>
9601
  <line num="575" type="stmt" count="0"/>
9602
- <line num="588" type="stmt" count="0"/>
 
 
 
 
 
 
 
 
9603
  <line num="590" type="stmt" count="0"/>
9604
- <line num="591" type="stmt" count="0"/>
9605
  <line num="592" type="stmt" count="0"/>
9606
  <line num="593" type="stmt" count="0"/>
9607
- <line num="595" type="stmt" count="0"/>
9608
- <line num="596" type="stmt" count="0"/>
9609
- <line num="597" type="stmt" count="0"/>
9610
- <line num="598" type="stmt" count="0"/>
9611
- <line num="600" type="stmt" count="0"/>
9612
- <line num="603" type="stmt" count="0"/>
9613
- <line num="604" type="stmt" count="0"/>
9614
- <line num="605" type="stmt" count="0"/>
9615
- <line num="606" type="stmt" count="0"/>
9616
  <line num="609" type="stmt" count="0"/>
 
9617
  <line num="611" type="stmt" count="0"/>
9618
  <line num="612" type="stmt" count="0"/>
9619
- <line num="613" type="stmt" count="0"/>
9620
  <line num="614" type="stmt" count="0"/>
9621
  <line num="615" type="stmt" count="0"/>
9622
  <line num="616" type="stmt" count="0"/>
9623
- <line num="618" type="stmt" count="0"/>
9624
- <line num="634" type="method" name="get_contents" visibility="public" complexity="9" crap="90" count="0"/>
 
 
 
 
 
 
 
 
 
 
9625
  <line num="635" type="stmt" count="0"/>
9626
- <line num="636" type="stmt" count="0"/>
9627
  <line num="637" type="stmt" count="0"/>
9628
- <line num="638" type="stmt" count="0"/>
9629
- <line num="639" type="stmt" count="0"/>
9630
- <line num="642" type="stmt" count="0"/>
9631
- <line num="643" type="stmt" count="0"/>
9632
- <line num="644" type="stmt" count="0"/>
9633
- <line num="645" type="stmt" count="0"/>
9634
- <line num="646" type="stmt" count="0"/>
9635
- <line num="647" type="stmt" count="0"/>
9636
- <line num="649" type="stmt" count="0"/>
9637
- <line num="650" type="stmt" count="0"/>
9638
- <line num="651" type="stmt" count="0"/>
9639
- <line num="652" type="stmt" count="0"/>
9640
- <line num="653" type="stmt" count="0"/>
9641
  <line num="654" type="stmt" count="0"/>
 
9642
  <line num="656" type="stmt" count="0"/>
9643
  <line num="657" type="stmt" count="0"/>
9644
- <line num="664" type="method" name="anonymous function" complexity="2" crap="6" count="0"/>
 
 
 
 
9645
  <line num="665" type="stmt" count="0"/>
9646
  <line num="666" type="stmt" count="0"/>
9647
  <line num="667" type="stmt" count="0"/>
9648
- <line num="668" type="stmt" count="0"/>
9649
  <line num="669" type="stmt" count="0"/>
9650
  <line num="670" type="stmt" count="0"/>
9651
  <line num="671" type="stmt" count="0"/>
9652
  <line num="672" type="stmt" count="0"/>
 
9653
  <line num="674" type="stmt" count="0"/>
9654
- <line num="685" type="method" name="get_details" visibility="public" complexity="3" crap="12" count="0"/>
9655
- <line num="686" type="stmt" count="0"/>
 
 
 
 
9656
  <line num="688" type="stmt" count="0"/>
 
 
9657
  <line num="691" type="stmt" count="0"/>
9658
- <line num="692" type="stmt" count="0"/>
9659
  <line num="693" type="stmt" count="0"/>
9660
  <line num="694" type="stmt" count="0"/>
9661
  <line num="695" type="stmt" count="0"/>
9662
- <line num="696" type="stmt" count="0"/>
9663
- <line num="704" type="method" name="init" visibility="public" complexity="7" crap="56" count="0"/>
9664
- <line num="705" type="stmt" count="0"/>
9665
- <line num="706" type="stmt" count="0"/>
9666
  <line num="709" type="stmt" count="0"/>
9667
  <line num="711" type="stmt" count="0"/>
 
9668
  <line num="715" type="stmt" count="0"/>
9669
  <line num="716" type="stmt" count="0"/>
9670
  <line num="717" type="stmt" count="0"/>
 
9671
  <line num="719" type="stmt" count="0"/>
9672
- <line num="720" type="stmt" count="0"/>
9673
- <line num="721" type="stmt" count="0"/>
9674
- <line num="723" type="stmt" count="0"/>
9675
- <line num="724" type="stmt" count="0"/>
9676
- <line num="725" type="stmt" count="0"/>
9677
- <line num="727" type="stmt" count="0"/>
9678
  <line num="728" type="stmt" count="0"/>
9679
  <line num="729" type="stmt" count="0"/>
9680
- <line num="731" type="stmt" count="0"/>
9681
  <line num="732" type="stmt" count="0"/>
9682
- <line num="733" type="stmt" count="0"/>
9683
  <line num="735" type="stmt" count="0"/>
9684
  <line num="736" type="stmt" count="0"/>
9685
  <line num="737" type="stmt" count="0"/>
 
9686
  <line num="739" type="stmt" count="0"/>
9687
  <line num="740" type="stmt" count="0"/>
9688
  <line num="741" type="stmt" count="0"/>
9689
  <line num="742" type="stmt" count="0"/>
9690
- <line num="744" type="stmt" count="0"/>
9691
- <line num="745" type="stmt" count="0"/>
9692
  <line num="747" type="stmt" count="0"/>
9693
  <line num="748" type="stmt" count="0"/>
9694
- <line num="749" type="stmt" count="0"/>
9695
  <line num="750" type="stmt" count="0"/>
 
9696
  <line num="752" type="stmt" count="0"/>
9697
  <line num="754" type="stmt" count="0"/>
9698
  <line num="755" type="stmt" count="0"/>
9699
  <line num="756" type="stmt" count="0"/>
9700
- <line num="757" type="stmt" count="0"/>
9701
- <line num="770" type="method" name="is_setup" visibility="public" complexity="3" crap="12" count="0"/>
 
 
 
 
 
 
 
 
 
 
9702
  <line num="773" type="stmt" count="0"/>
9703
- <line num="774" type="stmt" count="0"/>
9704
- <line num="777" type="stmt" count="0"/>
9705
  <line num="778" type="stmt" count="0"/>
 
9706
  <line num="780" type="stmt" count="0"/>
9707
- <line num="782" type="stmt" count="0"/>
9708
- <line num="797" type="method" name="is_valid_credentials" visibility="public" complexity="11" crap="132" count="0"/>
9709
- <line num="798" type="stmt" count="0"/>
9710
- <line num="799" type="stmt" count="0"/>
9711
- <line num="800" type="stmt" count="0"/>
9712
- <line num="803" type="stmt" count="0"/>
 
9713
  <line num="804" type="stmt" count="0"/>
9714
- <line num="806" type="stmt" count="0"/>
9715
- <line num="807" type="stmt" count="0"/>
9716
  <line num="809" type="stmt" count="0"/>
9717
- <line num="810" type="stmt" count="0"/>
9718
- <line num="812" type="stmt" count="0"/>
9719
  <line num="813" type="stmt" count="0"/>
9720
- <line num="817" type="stmt" count="0"/>
9721
- <line num="818" type="stmt" count="0"/>
9722
- <line num="819" type="stmt" count="0"/>
9723
- <line num="820" type="stmt" count="0"/>
9724
- <line num="821" type="stmt" count="0"/>
9725
- <line num="822" type="stmt" count="0"/>
9726
- <line num="824" type="stmt" count="0"/>
9727
- <line num="825" type="stmt" count="0"/>
9728
- <line num="827" type="stmt" count="0"/>
9729
- <line num="828" type="stmt" count="0"/>
9730
  <line num="830" type="stmt" count="0"/>
9731
  <line num="831" type="stmt" count="0"/>
9732
- <line num="833" type="stmt" count="0"/>
9733
  <line num="834" type="stmt" count="0"/>
 
 
 
 
 
 
 
 
 
9734
  <line num="850" type="stmt" count="0"/>
 
9735
  <line num="852" type="stmt" count="0"/>
 
 
 
9736
  <line num="856" type="stmt" count="0"/>
9737
  <line num="857" type="stmt" count="0"/>
9738
  <line num="858" type="stmt" count="0"/>
9739
  <line num="859" type="stmt" count="0"/>
9740
  <line num="860" type="stmt" count="0"/>
9741
  <line num="861" type="stmt" count="0"/>
9742
- <line num="862" type="stmt" count="0"/>
9743
  <line num="864" type="stmt" count="0"/>
9744
- <line num="865" type="stmt" count="0"/>
9745
  <line num="866" type="stmt" count="0"/>
9746
- <line num="868" type="stmt" count="0"/>
 
9747
  <line num="870" type="stmt" count="0"/>
9748
- <line num="871" type="stmt" count="0"/>
9749
- <line num="872" type="stmt" count="0"/>
9750
- <line num="874" type="stmt" count="0"/>
9751
- <line num="884" type="method" name="log_in" visibility="public" complexity="6" crap="42" count="0"/>
9752
- <line num="885" type="stmt" count="0"/>
9753
  <line num="886" type="stmt" count="0"/>
 
9754
  <line num="890" type="stmt" count="0"/>
9755
  <line num="891" type="stmt" count="0"/>
9756
- <line num="892" type="stmt" count="0"/>
9757
- <line num="895" type="stmt" count="0"/>
9758
- <line num="896" type="stmt" count="0"/>
9759
  <line num="897" type="stmt" count="0"/>
9760
  <line num="898" type="stmt" count="0"/>
9761
  <line num="899" type="stmt" count="0"/>
9762
  <line num="900" type="stmt" count="0"/>
9763
  <line num="901" type="stmt" count="0"/>
9764
  <line num="902" type="stmt" count="0"/>
 
9765
  <line num="904" type="stmt" count="0"/>
9766
  <line num="905" type="stmt" count="0"/>
 
9767
  <line num="907" type="stmt" count="0"/>
9768
  <line num="908" type="stmt" count="0"/>
9769
  <line num="909" type="stmt" count="0"/>
9770
- <line num="919" type="method" name="maybe_passive" visibility="public" complexity="3" crap="12" count="0"/>
9771
- <line num="920" type="stmt" count="0"/>
9772
- <line num="921" type="stmt" count="0"/>
9773
- <line num="923" type="stmt" count="0"/>
9774
- <line num="924" type="stmt" count="0"/>
9775
- <line num="925" type="stmt" count="0"/>
9776
- <line num="926" type="stmt" count="0"/>
9777
- <line num="927" type="stmt" count="0"/>
9778
- <line num="937" type="method" name="reset" visibility="public" complexity="1" crap="2" count="0"/>
9779
- <line num="938" type="stmt" count="0"/>
 
 
9780
  <line num="939" type="stmt" count="0"/>
9781
  <line num="940" type="stmt" count="0"/>
9782
  <line num="941" type="stmt" count="0"/>
9783
  <line num="942" type="stmt" count="0"/>
9784
  <line num="943" type="stmt" count="0"/>
9785
  <line num="944" type="stmt" count="0"/>
9786
- <line num="951" type="method" name="set_default_folder_name" visibility="public" complexity="1" crap="1" count="12"/>
9787
- <line num="952" type="stmt" count="12"/>
9788
- <line num="953" type="stmt" count="12"/>
9789
- <line num="954" type="stmt" count="12"/>
9790
- <line num="955" type="stmt" count="12"/>
9791
- <line num="956" type="stmt" count="12"/>
9792
- <line num="958" type="stmt" count="12"/>
9793
- <line num="959" type="stmt" count="12"/>
9794
- <line num="968" type="method" name="set_pass" visibility="public" complexity="1" crap="2" count="0"/>
9795
- <line num="969" type="stmt" count="0"/>
 
 
 
9796
  <line num="970" type="stmt" count="0"/>
9797
- <line num="979" type="method" name="is_uploaded" visibility="public" complexity="2" crap="6" count="0"/>
9798
- <line num="980" type="stmt" count="0"/>
9799
- <line num="982" type="stmt" count="0"/>
9800
- <line num="993" type="method" name="upload" visibility="public" complexity="9" crap="90" count="0"/>
 
 
 
 
 
 
 
 
 
 
9801
  <line num="994" type="stmt" count="0"/>
9802
- <line num="996" type="stmt" count="0"/>
9803
- <line num="998" type="stmt" count="0"/>
9804
- <line num="999" type="stmt" count="0"/>
9805
- <line num="1000" type="stmt" count="0"/>
9806
- <line num="1001" type="stmt" count="0"/>
9807
- <line num="1002" type="stmt" count="0"/>
9808
- <line num="1005" type="stmt" count="0"/>
9809
- <line num="1006" type="stmt" count="0"/>
9810
- <line num="1007" type="stmt" count="0"/>
9811
- <line num="1010" type="stmt" count="0"/>
9812
- <line num="1011" type="stmt" count="0"/>
9813
- <line num="1012" type="stmt" count="0"/>
9814
  <line num="1020" type="stmt" count="0"/>
9815
  <line num="1021" type="stmt" count="0"/>
9816
- <line num="1022" type="stmt" count="0"/>
9817
- <line num="1023" type="stmt" count="0"/>
9818
- <line num="1024" type="stmt" count="0"/>
9819
- <line num="1027" type="stmt" count="0"/>
9820
- <line num="1028" type="stmt" count="0"/>
9821
- <line num="1029" type="stmt" count="0"/>
9822
  <line num="1031" type="stmt" count="0"/>
9823
- <line num="1032" type="stmt" count="0"/>
9824
- <line num="1034" type="stmt" count="0"/>
9825
- <line num="1041" type="stmt" count="0"/>
9826
- <line num="1042" type="stmt" count="0"/>
9827
- <line num="1043" type="stmt" count="0"/>
9828
  <line num="1045" type="stmt" count="0"/>
9829
- <line num="1048" type="stmt" count="0"/>
 
9830
  <line num="1050" type="stmt" count="0"/>
9831
- <metrics loc="1052" ncloc="623" classes="1" methods="22" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="394" coveredstatements="14" elements="416" coveredelements="16"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9832
  </file>
9833
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/remote/class-boldgrid-backup-admin-remote-settings.php">
9834
  <class name="Boldgrid_Backup_Admin_Remote_Settings" namespace="global" fullPackage="Boldgrid.Backup.Admin.Remote">
@@ -67257,7 +67336,7 @@
67257
  <metrics loc="445" ncloc="281" classes="1" methods="21" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="216" coveredstatements="0" elements="237" coveredelements="0"/>
67258
  </file>
67259
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/vendor/composer/autoload_static.php">
67260
- <class name="ComposerStaticInit4e4364d8de683c9782df8bf8f592dd34" namespace="Composer\Autoload">
67261
  <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
67262
  </class>
67263
  <line num="91" type="method" name="getInitializer" visibility="public" complexity="1" crap="2" count="0"/>
@@ -67349,7 +67428,7 @@
67349
  <metrics loc="12" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="7" coveredelements="0"/>
67350
  </file>
67351
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/vendor/composer/autoload_real.php">
67352
- <class name="ComposerAutoloaderInit4e4364d8de683c9782df8bf8f592dd34" namespace="global">
67353
  <metrics complexity="13" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="43" coveredelements="0"/>
67354
  </class>
67355
  <line num="9" type="method" name="loadClassLoader" visibility="public" complexity="2" crap="6" count="0"/>
@@ -86131,6 +86210,6 @@
86131
  <line num="16" type="stmt" count="0"/>
86132
  <metrics loc="16" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="8" coveredelements="0"/>
86133
  </file>
86134
- <metrics files="818" loc="170571" ncloc="104697" classes="743" methods="3131" coveredmethods="98" conditionals="0" coveredconditionals="0" statements="77944" coveredstatements="873" elements="81075" coveredelements="971"/>
86135
  </project>
86136
  </coverage>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <coverage generated="1556654359">
3
+ <project timestamp="1556654359">
4
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-archive-actions.php">
5
  <class name="Boldgrid_Backup_Admin_Archive_Actions" namespace="global" fullPackage="Boldgrid.Backup.Admin.Archive">
6
  <metrics complexity="15" methods="7" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="110" coveredstatements="2" elements="117" coveredelements="3"/>
1752
  </file>
1753
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-core.php">
1754
  <class name="Boldgrid_Backup_Admin_Core" namespace="global" fullPackage="Boldgrid.Backup.Admin">
1755
+ <metrics complexity="221" methods="28" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="918" coveredstatements="101" elements="946" coveredelements="104"/>
1756
  </class>
1757
  <line num="500" type="method" name="__construct" visibility="public" complexity="7" crap="7.04" count="12"/>
1758
  <line num="501" type="stmt" count="12"/>
2390
  <line num="1948" type="stmt" count="0"/>
2391
  <line num="1950" type="stmt" count="0"/>
2392
  <line num="1953" type="stmt" count="0"/>
2393
+ <line num="1966" type="method" name="restore_archive_file" visibility="public" complexity="25" crap="650" count="0"/>
2394
  <line num="1967" type="stmt" count="0"/>
2395
  <line num="1970" type="stmt" count="0"/>
2396
  <line num="1972" type="stmt" count="0"/>
2436
  <line num="2045" type="stmt" count="0"/>
2437
  <line num="2047" type="stmt" count="0"/>
2438
  <line num="2056" type="stmt" count="0"/>
 
 
2439
  <line num="2062" type="stmt" count="0"/>
2440
+ <line num="2064" type="stmt" count="0"/>
2441
+ <line num="2065" type="stmt" count="0"/>
2442
+ <line num="2068" type="stmt" count="0"/>
2443
+ <line num="2070" type="stmt" count="0"/>
2444
+ <line num="2071" type="stmt" count="0"/>
2445
+ <line num="2081" type="stmt" count="0"/>
 
 
2446
  <line num="2083" type="stmt" count="0"/>
2447
+ <line num="2084" type="stmt" count="0"/>
2448
+ <line num="2085" type="stmt" count="0"/>
2449
+ <line num="2086" type="stmt" count="0"/>
2450
+ <line num="2087" type="stmt" count="0"/>
2451
+ <line num="2090" type="stmt" count="0"/>
2452
+ <line num="2091" type="stmt" count="0"/>
2453
+ <line num="2101" type="stmt" count="0"/>
2454
+ <line num="2110" type="stmt" count="0"/>
2455
  <line num="2111" type="stmt" count="0"/>
2456
  <line num="2112" type="stmt" count="0"/>
 
2457
  <line num="2115" type="stmt" count="0"/>
2458
  <line num="2116" type="stmt" count="0"/>
2459
  <line num="2117" type="stmt" count="0"/>
2460
+ <line num="2119" type="stmt" count="0"/>
2461
  <line num="2120" type="stmt" count="0"/>
2462
+ <line num="2122" type="stmt" count="0"/>
2463
+ <line num="2123" type="stmt" count="0"/>
2464
  <line num="2124" type="stmt" count="0"/>
2465
+ <line num="2125" type="stmt" count="0"/>
2466
+ <line num="2128" type="stmt" count="0"/>
2467
  <line num="2129" type="stmt" count="0"/>
2468
  <line num="2132" type="stmt" count="0"/>
2469
+ <line num="2134" type="stmt" count="0"/>
2470
  <line num="2135" type="stmt" count="0"/>
2471
+ <line num="2137" type="stmt" count="0"/>
2472
  <line num="2140" type="stmt" count="0"/>
2473
+ <line num="2143" type="stmt" count="0"/>
2474
+ <line num="2146" type="stmt" count="0"/>
2475
  <line num="2148" type="stmt" count="0"/>
2476
+ <line num="2152" type="stmt" count="0"/>
2477
+ <line num="2153" type="stmt" count="0"/>
2478
+ <line num="2156" type="stmt" count="0"/>
2479
+ <line num="2159" type="stmt" count="0"/>
2480
+ <line num="2162" type="stmt" count="0"/>
2481
+ <line num="2175" type="method" name="page_archives" visibility="public" complexity="5" crap="30" count="0"/>
2482
+ <line num="2176" type="stmt" count="0"/>
2483
+ <line num="2179" type="stmt" count="0"/>
2484
  <line num="2180" type="stmt" count="0"/>
2485
+ <line num="2182" type="stmt" count="0"/>
2486
+ <line num="2185" type="stmt" count="0"/>
2487
+ <line num="2188" type="stmt" count="0"/>
 
2488
  <line num="2189" type="stmt" count="0"/>
2489
+ <line num="2191" type="stmt" count="0"/>
 
2490
  <line num="2194" type="stmt" count="0"/>
2491
  <line num="2195" type="stmt" count="0"/>
2492
+ <line num="2197" type="stmt" count="0"/>
2493
  <line num="2198" type="stmt" count="0"/>
2494
  <line num="2201" type="stmt" count="0"/>
2495
+ <line num="2202" type="stmt" count="0"/>
2496
+ <line num="2203" type="stmt" count="0"/>
2497
  <line num="2206" type="stmt" count="0"/>
2498
+ <line num="2209" type="stmt" count="0"/>
2499
+ <line num="2212" type="stmt" count="0"/>
2500
+ <line num="2214" type="stmt" count="0"/>
2501
+ <line num="2215" type="stmt" count="0"/>
2502
  <line num="2216" type="stmt" count="0"/>
2503
+ <line num="2219" type="stmt" count="0"/>
2504
+ <line num="2221" type="stmt" count="0"/>
 
 
2505
  <line num="2224" type="stmt" count="0"/>
2506
+ <line num="2225" type="stmt" count="0"/>
2507
+ <line num="2226" type="stmt" count="0"/>
2508
+ <line num="2228" type="stmt" count="0"/>
2509
+ <line num="2231" type="stmt" count="0"/>
2510
+ <line num="2232" type="stmt" count="0"/>
2511
+ <line num="2241" type="method" name="boldgrid_backup_now_callback" visibility="public" complexity="9" crap="90" count="0"/>
2512
+ <line num="2244" type="stmt" count="0"/>
2513
  <line num="2245" type="stmt" count="0"/>
2514
  <line num="2246" type="stmt" count="0"/>
2515
+ <line num="2248" type="stmt" count="0"/>
2516
  <line num="2249" type="stmt" count="0"/>
2517
  <line num="2250" type="stmt" count="0"/>
 
2518
  <line num="2253" type="stmt" count="0"/>
2519
+ <line num="2254" type="stmt" count="0"/>
2520
  <line num="2255" type="stmt" count="0"/>
 
2521
  <line num="2257" type="stmt" count="0"/>
2522
+ <line num="2258" type="stmt" count="0"/>
2523
  <line num="2259" type="stmt" count="0"/>
2524
+ <line num="2261" type="stmt" count="0"/>
2525
+ <line num="2263" type="stmt" count="0"/>
2526
  <line num="2264" type="stmt" count="0"/>
2527
  <line num="2265" type="stmt" count="0"/>
 
2528
  <line num="2267" type="stmt" count="0"/>
2529
+ <line num="2268" type="stmt" count="0"/>
2530
+ <line num="2270" type="stmt" count="0"/>
2531
  <line num="2272" type="stmt" count="0"/>
2532
  <line num="2273" type="stmt" count="0"/>
2533
  <line num="2274" type="stmt" count="0"/>
2534
+ <line num="2275" type="stmt" count="0"/>
2535
+ <line num="2277" type="stmt" count="0"/>
2536
+ <line num="2279" type="stmt" count="0"/>
2537
  <line num="2280" type="stmt" count="0"/>
2538
+ <line num="2281" type="stmt" count="0"/>
2539
+ <line num="2282" type="stmt" count="0"/>
2540
+ <line num="2284" type="stmt" count="0"/>
2541
+ <line num="2286" type="stmt" count="0"/>
2542
+ <line num="2288" type="stmt" count="0"/>
2543
+ <line num="2300" type="method" name="download_archive_file_callback" visibility="public" complexity="10" crap="110" count="0"/>
2544
+ <line num="2302" type="stmt" count="0"/>