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

Version Description

Download this release

Release Info

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

Code changes from version 2.0.0.202101120840 to 2.0.0.202101190945

Files changed (34) hide show
  1. admin/class-boldgrid-backup-admin-archive.php +8 -0
  2. admin/class-boldgrid-backup-admin-core.php +21 -345
  3. admin/class-boldgrid-backup-admin-log.php +26 -3
  4. admin/class-boldgrid-backup-admin-restore-helper.php +0 -8
  5. admin/partials/boldgrid-backup-admin-mail-restore.php +3 -5
  6. boldgrid-backup-cron.php +1 -0
  7. cli/{verify-db16e91791975a3ef7fb2be0c23b2b63.php → verify-e6eeecf208664c73c9b32c22901272aa.php} +0 -0
  8. coverage.xml +2013 -1620
  9. includes/archive/class-factory.php +9 -0
  10. includes/class-boldgrid-backup-archiver.php +38 -8
  11. includes/class-boldgrid-backup-restorer.php +268 -13
  12. includes/class-boldgrid-backup.php +23 -0
  13. includes/config/config.cron.php +13 -4
  14. includes/option/class-option.php +64 -0
  15. includes/restorer/class-db.php +185 -0
  16. includes/v2/archive/class-archive.php +89 -0
  17. includes/v2/archive/class-dirlist.php +57 -0
  18. includes/v2/archive/class-factory.php +45 -0
  19. includes/v2/archiver/class-archiver.php +1 -0
  20. includes/v2/archiver/class-factory.php +0 -4
  21. includes/v2/archiver/steps/archive_files/class-part.php +19 -5
  22. includes/v2/archiver/steps/class-archive-files.php +41 -10
  23. includes/v2/archiver/steps/class-discovery.php +5 -2
  24. includes/v2/restorer/class-factory.php +53 -0
  25. includes/v2/restorer/class-restorer.php +94 -0
  26. includes/v2/restorer/class-resumer.php +106 -0
  27. includes/v2/restorer/class-utility.php +28 -0
  28. includes/v2/restorer/steps/class-db.php +39 -0
  29. includes/v2/restorer/steps/class-unzip.php +69 -0
  30. includes/v2/step/class-json-file.php +5 -0
  31. includes/v2/step/class-step.php +30 -0
  32. vendor/autoload.php +1 -1
  33. vendor/composer/autoload_real.php +7 -7
  34. vendor/composer/autoload_static.php +4 -4
admin/class-boldgrid-backup-admin-archive.php CHANGED
@@ -129,6 +129,11 @@ class Boldgrid_Backup_Admin_Archive {
129
  */
130
  public $view_details_url = '';
131
 
 
 
 
 
 
132
  /**
133
  * Archive id.
134
  *
@@ -361,6 +366,9 @@ class Boldgrid_Backup_Admin_Archive {
361
 
362
  $this->basename = wp_basename( $this->filename, '.zip' );
363
  $this->is_virtual = $this->core->backup_dir->exists( $this->basename );
 
 
 
364
 
365
  $this->log_filepath = $this->core->archive_log->path_from_zip( $this->filepath );
366
  $this->log_filename = basename( $this->log_filepath );
129
  */
130
  public $view_details_url = '';
131
 
132
+ /**
133
+ * @var \Boldgrid\Backup\V2\Archive\Archive
134
+ */
135
+ public $virtual;
136
+
137
  /**
138
  * Archive id.
139
  *
366
 
367
  $this->basename = wp_basename( $this->filename, '.zip' );
368
  $this->is_virtual = $this->core->backup_dir->exists( $this->basename );
369
+ if ( $this->is_virtual ) {
370
+ $this->virtual = \Boldgrid\Backup\V2\Archive\Factory::run_by_filename( $this->filename );
371
+ }
372
 
373
  $this->log_filepath = $this->core->archive_log->path_from_zip( $this->filepath );
374
  $this->log_filename = basename( $this->log_filepath );
admin/class-boldgrid-backup-admin-core.php CHANGED
@@ -1209,122 +1209,6 @@ class Boldgrid_Backup_Admin_Core {
1209
  return true;
1210
  }
1211
 
1212
- /**
1213
- * Restore the WordPress database from a dump file.
1214
- *
1215
- * @since 1.0
1216
- * @access private
1217
- *
1218
- * @see Boldgrid_Backup_Admin_Test::run_functionality_tests()
1219
- * @see Boldgrid_Backup_Admin_Backup_Dir::get()
1220
- * @see Boldgrid_Backup_Admin_Utility::update_siteurl()
1221
- * @global WP_Filesystem $wp_filesystem The WordPress Filesystem API global object.
1222
- * @global wpdb $wpdb The WordPress database class object.
1223
- *
1224
- * @param string $db_dump_filepath File path to the mysql dump file.
1225
- * @param string $db_prefix The database prefix to use, if restoring and it changed.
1226
- * @param bool $db_encrypted Is the database dump file encrypted.
1227
- * @return bool Status of the operation.
1228
- */
1229
- private function restore_database( $db_dump_filepath, $db_prefix = null, $db_encrypted = false ) {
1230
- // Check input.
1231
- if ( empty( $db_dump_filepath ) ) {
1232
- // Display an error notice.
1233
- do_action(
1234
- 'boldgrid_backup_notice',
1235
- esc_html__( 'The database dump file was not found.', 'boldgrid-backup' ),
1236
- 'notice notice-error is-dismissible'
1237
- );
1238
-
1239
- return false;
1240
- }
1241
-
1242
- // Check if functional.
1243
- if ( ! $this->test->run_functionality_tests() ) {
1244
- // Display an error notice.
1245
- $this->notice->functionality_fail_notice();
1246
-
1247
- return false;
1248
- }
1249
-
1250
- // Connect to the WordPress Filesystem API.
1251
- global $wp_filesystem;
1252
-
1253
- // Save the file path.
1254
- $this->db_dump_filepath = $db_dump_filepath;
1255
-
1256
- // Get the WP Options for "siteurl" and "home", to restore later.
1257
- $wp_siteurl = get_option( 'siteurl' );
1258
- $wp_home = get_option( 'home' );
1259
-
1260
- $this->set_time_limit();
1261
-
1262
- if ( $db_encrypted ) {
1263
- /**
1264
- * If BGBP is activated, then check for encryption and decrypt the file.
1265
- *
1266
- * @since 1.12.0
1267
- */
1268
- do_Action( 'boldgrid_backup_crypt_file', $db_dump_filepath, 'd' );
1269
- }
1270
-
1271
- // Import the dump file.
1272
- $importer = new Boldgrid_Backup_Admin_Db_Import();
1273
- $status = $importer->import( $db_dump_filepath );
1274
-
1275
- if ( ! empty( $status['error'] ) ) {
1276
- $this->db_restore_error = $status['error'];
1277
- do_action( 'boldgrid_backup_notice', $status['error'], 'notice notice-error is-dismissible' );
1278
- return false;
1279
- }
1280
-
1281
- // Set the database prefix, if supplied/changed.
1282
- if ( ! empty( $db_prefix ) ) {
1283
- // Connect to the WordPress database via $wpdb.
1284
- global $wpdb;
1285
-
1286
- // Set the database table prefix.
1287
- $wpdb->set_prefix( $db_prefix );
1288
- }
1289
-
1290
- // Clear the WordPress cache.
1291
- wp_cache_flush();
1292
-
1293
- // Get the restored "siteurl" and "home".
1294
- $restored_wp_siteurl = get_option( 'siteurl' );
1295
- $restored_wp_home = get_option( 'home' );
1296
-
1297
- // If changed, then update the siteurl in the database.
1298
- if ( $restored_wp_siteurl !== $wp_siteurl ) {
1299
- $update_siteurl_success =
1300
- Boldgrid_Backup_Admin_Utility::update_siteurl( $restored_wp_siteurl, $wp_siteurl );
1301
-
1302
- if ( ! $update_siteurl_success ) {
1303
- // Display an error notice.
1304
- do_action(
1305
- 'boldgrid_backup_notice',
1306
- esc_html__(
1307
- 'The WordPress siteurl has changed. There was an issue changing it back. You will have to fix the siteurl manually in the database, or use an override in your wp-config.php file.',
1308
- 'boldgrid-backup'
1309
- ),
1310
- 'notice notice-error is-dismissible'
1311
- );
1312
- }
1313
- }
1314
-
1315
- // If changed, then restore the WP Option for "home".
1316
- if ( $restored_wp_home !== $wp_home ) {
1317
-
1318
- // There may be a filter, so remove it.
1319
- remove_all_filters( 'pre_update_option_home' );
1320
-
1321
- update_option( 'home', untrailingslashit( $wp_home ) );
1322
- }
1323
-
1324
- // Return success.
1325
- return true;
1326
- }
1327
-
1328
  /**
1329
  * Get a single-dimension filelist array from a directory path.
1330
  *
@@ -1698,9 +1582,7 @@ class Boldgrid_Backup_Admin_Core {
1698
  );
1699
  $this->logger->add_memory();
1700
 
1701
- Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'status', esc_html__( 'Wrapping things up...', 'boldgrid-backup' ) );
1702
- Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'percentage', 100 );
1703
-
1704
  $info['total_size'] += $this->filelist->get_total_size( $filelist );
1705
 
1706
  if ( true === $status && ! $archive_exists ) {
@@ -1712,17 +1594,6 @@ class Boldgrid_Backup_Admin_Core {
1712
  return $status;
1713
  }
1714
 
1715
- $info['lastmodunix'] = $this->wp_filesystem->mtime( $info['filepath'] );
1716
-
1717
- // Modify the archive file permissions to help protect from public access.
1718
- $this->wp_filesystem->chmod( $info['filepath'], 0600 );
1719
-
1720
- // Add some statistics to the return.
1721
- $info['filesize'] = $this->wp_filesystem->size( $info['filepath'] );
1722
-
1723
- // Delete the temporary database dump file.
1724
- $this->wp_filesystem->delete( $this->db_dump_filepath, false, 'f' );
1725
-
1726
  return $info;
1727
  }
1728
 
@@ -1955,7 +1826,6 @@ class Boldgrid_Backup_Admin_Core {
1955
  * @return string File path to the database dump file.
1956
  */
1957
  public function get_dump_file( $filepath ) {
1958
-
1959
  if ( empty( $filepath ) || ! $this->wp_filesystem->exists( $filepath ) ) {
1960
  return '';
1961
  }
@@ -2042,151 +1912,15 @@ class Boldgrid_Backup_Admin_Core {
2042
  * }
2043
  * @return array An array of archive file information.
2044
  */
2045
- public function restore_archive_file( $dryrun = false, $args = [] ) {
2046
- $this->restoring_archive_file = true;
2047
 
2048
- $this->logger->init( 'restore-' . time() . '.log' );
2049
- $this->logger->add( 'Restoration process initialized.' );
2050
- $this->logger->add_memory();
2051
-
2052
- // Using pcl_zip (ZipArchive unavailable), a 400MB+ zip used over 500MB+ of memory to restore.
2053
- Boldgrid_Backup_Admin_Utility::bump_memory_limit( '1G' );
2054
-
2055
- $restore_ok = true;
2056
-
2057
- /*
2058
- * This is a generic method to restore an archive. Do not assume the request to restore is coming
2059
- * from a user directly via $_POST.
2060
- *
2061
- * Refer to check_ajax_referer usage below to help protect ajax requests.
2062
- */
2063
- $is_post_restore = isset( $_POST['action'] ) && 'boldgrid_backup_restore_archive' === $_POST['action']; // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
2064
-
2065
- // If a restoration was not requested, then abort.
2066
- if ( empty( $_POST['restore_now'] ) ) { // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
2067
- $error_message = esc_html__( 'Invalid restore_now value.', 'boldgrid-backup' );
2068
- $this->logger->add( $error_message );
2069
- return [ 'error' => $error_message ];
2070
- }
2071
-
2072
- if ( $is_post_restore && ! check_ajax_referer( 'boldgrid_backup_restore_archive', 'archive_auth', false ) ) {
2073
- $error_message = esc_html__( 'Invalid nonce.', 'boldgrid-backup' );
2074
- $this->logger->add( $error_message );
2075
- return [ 'error' => $error_message ];
2076
- }
2077
-
2078
- // Check if functional.
2079
- if ( ! $this->test->run_functionality_tests() ) {
2080
- $error_message = esc_html__( 'Functionality tests fail.', 'boldgrid-backup' );
2081
- $this->logger->add( $error_message );
2082
- return [ 'error' => $error_message ];
2083
- }
2084
-
2085
- /*
2086
- * Get our archive key.
2087
- *
2088
- * It can be passed in via $args or $_POST.
2089
- */
2090
- $archive_key = false;
2091
- if ( isset( $args['archive_key'] ) ) {
2092
- $archive_key = (int) $args['archive_key'];
2093
- } elseif ( isset( $_POST['archive_key'] ) && is_numeric( $_POST['archive_key'] ) ) { // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
2094
- $archive_key = (int) $_POST['archive_key'];
2095
- } else {
2096
- $error_message = esc_html__( 'Invalid key for the selected archive file.', 'boldgrid-backup' );
2097
- $this->logger->add( $error_message );
2098
- return [ 'error' => $error_message ];
2099
- }
2100
-
2101
- /*
2102
- * Get our archive filename.
2103
- *
2104
- * It can be passed in via $args or $_POST.
2105
- */
2106
- $archive_filename = false;
2107
- if ( ! empty( $args['archive_filename'] ) ) {
2108
- $archive_filename = sanitize_file_name( $args['archive_filename'] );
2109
- } elseif ( ! empty( $_POST['archive_filename'] ) ) { // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
2110
- $archive_filename = sanitize_file_name( $_POST['archive_filename'] );
2111
- } else {
2112
- $error_message = esc_html__( 'Invalid filename for the selected archive file.', 'boldgrid-backup' );
2113
- $this->logger->add( $error_message );
2114
- return [ 'error' => $error_message ];
2115
- }
2116
-
2117
- // Close any PHP session, so that another session can open during this restore operation.
2118
- session_write_close();
2119
-
2120
- $archives = $this->get_archive_list( $archive_filename );
2121
- if ( empty( $archives ) ) {
2122
- $error_message = esc_html__( 'No archive files were found.', 'boldgrid-backup' );
2123
- $this->logger->add( $error_message );
2124
- return [ 'error' => $error_message ];
2125
- }
2126
-
2127
- $filename = ! empty( $archives[ $archive_key ]['filename'] ) ? $archives[ $archive_key ]['filename'] : null;
2128
-
2129
- if ( $archive_filename !== $filename ) {
2130
- $error_message = esc_html__( 'The selected archive file was not found.', 'boldgrid-backup' );
2131
- $this->logger->add( $error_message );
2132
- return [ 'error' => $error_message ];
2133
- }
2134
-
2135
- $filepath = ! empty( $archives[ $archive_key ]['filepath'] ) ? $archives[ $archive_key ]['filepath'] : null;
2136
-
2137
- if ( ! empty( $filepath ) && $this->wp_filesystem->exists( $filepath ) ) {
2138
- $filesize = $this->wp_filesystem->size( $filepath );
2139
- } else {
2140
- $error_message = esc_html__( 'The selected archive file is empty.', 'boldgrid-backup' );
2141
- $this->logger->add( $error_message );
2142
- return [ 'error' => $error_message ];
2143
- }
2144
-
2145
- // Populate $info.
2146
- $info = [
2147
- 'mode' => 'restore',
2148
- 'dryrun' => $dryrun,
2149
- 'filename' => $archive_filename,
2150
- 'filepath' => $filepath,
2151
- 'filesize' => $filesize,
2152
- 'archive_key' => $archive_key,
2153
- 'restore_ok' => $restore_ok,
2154
- ];
2155
- $this->logger->add( 'Restore info: ' . print_r( $info, 1 ) ); // phpcs:ignore
2156
-
2157
- // Prevent this script from dying.
2158
- ignore_user_abort( true );
2159
-
2160
- $this->set_time_limit();
2161
-
2162
- /**
2163
- * Action to take before restoring an archive.
2164
- *
2165
- * @since 1.5.1
2166
- *
2167
- * @param array $info
2168
- */
2169
- do_action( 'boldgrid_backup_pre_restore', $info );
2170
-
2171
- /*
2172
- * Attempt to fix any permissions related issues before the restoration begins. If we're
2173
- * unable to, the restoration may not continue.
2174
- */
2175
- if ( class_exists( 'ZipArchive' ) ) {
2176
- if ( ! $this->restore_helper->set_writable_permissions( $info['filepath'] ) ) {
2177
- $error_message = $this->restore_helper->get_last_error();
2178
- $this->logger->add( $error_message );
2179
- return [ 'error' => $error_message ];
2180
- }
2181
- } else {
2182
- $this->logger->add( 'ZipArchive not available. Unable to set_writable_permissions. Trying restore anyways...' );
2183
- }
2184
-
2185
- $this->logger->add( 'Unzipping archive... filepath / ABSPATH: ' . $info['filepath'] . ' / ' . ABSPATH );
2186
- $this->logger->add_memory();
2187
- $unzip_status = ! $dryrun ? unzip_file( $info['filepath'], ABSPATH ) : null;
2188
- $this->logger->add( 'Unzip complete! Status: ' . print_r( $unzip_status, 1 ) ); // phpcs:ignore
2189
- $this->logger->add_memory();
2190
 
2191
  if ( is_wp_error( $unzip_status ) ) {
2192
  $error = false;
@@ -2209,7 +1943,9 @@ class Boldgrid_Backup_Admin_Core {
2209
 
2210
  return [ 'error' => $error ];
2211
  }
 
2212
 
 
2213
  /**
2214
  * Action to take after restoring an archive.
2215
  *
@@ -2217,7 +1953,7 @@ class Boldgrid_Backup_Admin_Core {
2217
  *
2218
  * @param array $info
2219
  */
2220
- do_action( 'boldgrid_backup_post_restore', $info );
2221
 
2222
  /*
2223
  * Restore database.
@@ -2226,75 +1962,15 @@ class Boldgrid_Backup_Admin_Core {
2226
  * database dump before running the below conditional. Not all archives
2227
  * will contain a database dump, so we may be able to skip this step.
2228
  */
2229
- $db_dump_filepath = $this->get_dump_file( $filepath );
2230
- $this->logger->add( 'Attempting database restoration... $db_dump_filepath = ' . $db_dump_filepath );
2231
- $this->logger->add_memory();
2232
- if ( ! $dryrun && ! empty( $db_dump_filepath ) ) {
2233
- $db_prefix = null;
2234
-
2235
- // Get the database table prefix from the new "wp-config.php" file, if exists.
2236
- if ( $this->wp_filesystem->exists( ABSPATH . 'wp-config.php' ) ) {
2237
- $wpcfg_contents = $this->wp_filesystem->get_contents( ABSPATH . 'wp-config.php' );
2238
- }
2239
-
2240
- if ( ! empty( $wpcfg_contents ) ) {
2241
- preg_match( '#\$table_prefix.*?=.*?' . "'" . '(.*?)' . "'" . ';#', $wpcfg_contents, $matches );
2242
-
2243
- if ( ! empty( $matches[1] ) ) {
2244
- $db_prefix = $matches[1];
2245
- }
2246
- }
2247
-
2248
- // Determine if the dump file is encrypted.
2249
- $this->archive->init( $filepath );
2250
- $db_encrypted = $this->archive->get_attribute( 'encrypt_db' );
2251
-
2252
- // Restore the database and then delete the dump.
2253
- $restore_ok = $this->restore_database( $db_dump_filepath, $db_prefix, $db_encrypted );
2254
- $this->wp_filesystem->delete( $db_dump_filepath, false, 'f' );
2255
-
2256
- // Display notice of deletion status.
2257
- if ( ! $restore_ok ) {
2258
- $error_message = $this->db_restore_error ? $this->db_restore_error : esc_html__( 'Could not restore database.', 'boldgrid-backup' );
2259
- $this->logger->add( $error_message );
2260
- return [ 'error' => $error_message ];
2261
- }
2262
- }
2263
- $this->logger->add( 'Database restoration complete.' );
2264
- $this->logger->add_memory();
2265
-
2266
- // Clear rollback information and restoration cron jobs that may be present.
2267
- $this->auto_rollback->cancel();
2268
-
2269
- // Get settings.
2270
- $settings = $this->settings->get_settings();
2271
-
2272
- // If enabled, send email notification for restoration completed.
2273
- if ( ! empty( $settings['notifications']['restore'] ) ) {
2274
- $this->logger->add( 'Sending "restoration complete" email notification...' );
2275
-
2276
- // Include the mail template.
2277
- include BOLDGRID_BACKUP_PATH . '/admin/partials/boldgrid-backup-admin-mail-restore.php';
2278
-
2279
- // Send the notification.
2280
- // Parameters come from the included mail template file.
2281
- $info['mail_success'] = $this->email->send( $subject, $body );
2282
-
2283
- $this->logger->add( 'Email sent. Status: ' . ( empty( $info['mail_success'] ) ? 'Fail' : 'Success' ) );
2284
- }
2285
-
2286
- // Update status.
2287
- $info['restore_ok'] = $restore_ok;
2288
-
2289
- // Check backup directory.
2290
- $info['backup_directory_set'] = $this->backup_dir->get();
2291
-
2292
- $this->logger->add( 'Restoration complete!' );
2293
-
2294
- $this->restoring_archive_file = false;
2295
-
2296
- // Return info array.
2297
- return $info;
2298
  }
2299
 
2300
  /**
1209
  return true;
1210
  }
1211
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1212
  /**
1213
  * Get a single-dimension filelist array from a directory path.
1214
  *
1582
  );
1583
  $this->logger->add_memory();
1584
 
1585
+ // Log size of all files archived. Also handled in V2\Archiver\Steps\Discovery::files().
 
 
1586
  $info['total_size'] += $this->filelist->get_total_size( $filelist );
1587
 
1588
  if ( true === $status && ! $archive_exists ) {
1594
  return $status;
1595
  }
1596
 
 
 
 
 
 
 
 
 
 
 
 
1597
  return $info;
1598
  }
1599
 
1826
  * @return string File path to the database dump file.
1827
  */
1828
  public function get_dump_file( $filepath ) {
 
1829
  if ( empty( $filepath ) || ! $this->wp_filesystem->exists( $filepath ) ) {
1830
  return '';
1831
  }
1912
  * }
1913
  * @return array An array of archive file information.
1914
  */
1915
+ public function restore_archive_file( $info, $args = [] ) {
1916
+ $logger = apply_filters( 'boldgrid_backup_get_restore_logger', null );
1917
 
1918
+ // Unzip handled in v2.
1919
+ $logger->add( 'Unzipping archive... filepath / ABSPATH: ' . $info->get_key( 'filepath' ) . ' / ' . ABSPATH );
1920
+ $logger->add_memory();
1921
+ $unzip_status = unzip_file( $info->get_key( 'filepath' ), ABSPATH );
1922
+ $logger->add( 'Unzip complete! Status: ' . print_r( $unzip_status, 1 ) ); // phpcs:ignore
1923
+ $logger->add_memory();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1924
 
1925
  if ( is_wp_error( $unzip_status ) ) {
1926
  $error = false;
1943
 
1944
  return [ 'error' => $error ];
1945
  }
1946
+ // unzip handled in v2.
1947
 
1948
+ // Added in v2.
1949
  /**
1950
  * Action to take after restoring an archive.
1951
  *
1953
  *
1954
  * @param array $info
1955
  */
1956
+ do_action( 'boldgrid_backup_post_restore', $info->get() );
1957
 
1958
  /*
1959
  * Restore database.
1962
  * database dump before running the below conditional. Not all archives
1963
  * will contain a database dump, so we may be able to skip this step.
1964
  */
1965
+ $db_dump_filepath = $this->get_dump_file( $info->get_key( 'filepath' ) );
1966
+ $logger->add( 'Attempting database restoration... $db_dump_filepath = ' . $db_dump_filepath );
1967
+ $logger->add_memory();
1968
+ if ( ! empty( $db_dump_filepath ) ) {
1969
+ $db_restorer = new \Boldgrid\Backup\Restorer\Db( $info->get_key( 'filepath' ), $db_dump_filepath );
1970
+ $db_restorer->run();
1971
+ }
1972
+ $logger->add( 'Database restoration complete.' );
1973
+ $logger->add_memory();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1974
  }
1975
 
1976
  /**
admin/class-boldgrid-backup-admin-log.php CHANGED
@@ -62,11 +62,14 @@ class Boldgrid_Backup_Admin_Log {
62
  /**
63
  * The last error, as per error_get_last().
64
  *
 
 
 
65
  * @since 1.13.5
66
  * @var array
67
  * @access private
68
  */
69
- private $last_error;
70
 
71
  /**
72
  * Constructor.
@@ -136,13 +139,33 @@ class Boldgrid_Backup_Admin_Log {
136
  public function add_last_error() {
137
  $current_error = error_get_last();
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  // Only new errors are logged.
140
- if ( $current_error !== $this->last_error ) {
141
  $this->add( 'Last error: ' . print_r( $current_error, 1 ), false ); // phpcs:ignore
142
  }
143
 
144
  // This method will be called often, so keep track of errors to avoid logging duplicates.
145
- $this->last_error = $current_error;
146
  }
147
 
148
 
62
  /**
63
  * The last error, as per error_get_last().
64
  *
65
+ * This is a static var because several different scripts could all be writing to the same log file.
66
+ * If this wasn't static, the same last_error would continually be written to the log.
67
+ *
68
  * @since 1.13.5
69
  * @var array
70
  * @access private
71
  */
72
+ private static $last_error;
73
 
74
  /**
75
  * Constructor.
139
  public function add_last_error() {
140
  $current_error = error_get_last();
141
 
142
+ /*
143
+ * Is this the 'mkdir(): File exists' error?
144
+ *
145
+ * Typically seen as:
146
+ * [type] => 2
147
+ * [message] => mkdir(): File exists
148
+ * [file] => wp-admin/includes/class-wp-filesystem-direct.php
149
+ *
150
+ * This error occurs because the mkdir() method in class-wp-filesystem-direct.php doesn't check
151
+ * to see if a directory exists before created it. It simply calls @mkdir( $path ).
152
+ */
153
+ $is_mkdir_error = is_array( $current_error ) && 2 === $current_error['type'] &&
154
+ 'mkdir(): File exists' === $current_error['message'] &&
155
+ 'class-wp-filesystem-direct.php' === basename( $current_error['file'] );
156
+
157
+ // The logging of this warning is unhelpful. Don't do it.
158
+ if ( $is_mkdir_error ) {
159
+ return;
160
+ }
161
+
162
  // Only new errors are logged.
163
+ if ( $current_error !== self::$last_error ) {
164
  $this->add( 'Last error: ' . print_r( $current_error, 1 ), false ); // phpcs:ignore
165
  }
166
 
167
  // This method will be called often, so keep track of errors to avoid logging duplicates.
168
+ self::$last_error = $current_error;
169
  }
170
 
171
 
admin/class-boldgrid-backup-admin-restore-helper.php CHANGED
@@ -125,10 +125,6 @@ class Boldgrid_Backup_Admin_Restore_Helper {
125
  * @param array $info Archive information.
126
  */
127
  public function post_restore( $info ) {
128
- if ( $info['dryrun'] ) {
129
- return;
130
- }
131
-
132
  global $wp_filesystem;
133
 
134
  foreach ( $this->monitor_files as $key => $file ) {
@@ -168,10 +164,6 @@ class Boldgrid_Backup_Admin_Restore_Helper {
168
  * @param array $info Archive information.
169
  */
170
  public function pre_restore( $info ) {
171
- if ( $info['dryrun'] ) {
172
- return;
173
- }
174
-
175
  global $wp_filesystem;
176
 
177
  foreach ( $this->monitor_files as $key => $file ) {
125
  * @param array $info Archive information.
126
  */
127
  public function post_restore( $info ) {
 
 
 
 
128
  global $wp_filesystem;
129
 
130
  foreach ( $this->monitor_files as $key => $file ) {
164
  * @param array $info Archive information.
165
  */
166
  public function pre_restore( $info ) {
 
 
 
 
167
  global $wp_filesystem;
168
 
169
  foreach ( $this->monitor_files as $key => $file ) {
admin/partials/boldgrid-backup-admin-mail-restore.php CHANGED
@@ -21,12 +21,14 @@ defined( 'WPINC' ) || die;
21
  *
22
  * @see Boldgrid_Backup_Admin_Utility::create_site_id()
23
  *
24
- * @param bool $dryrun Whether or not is a dry run.
25
  * @param bool $restore_ok Success of the restoration.
26
  * @param string $info['filepath'] The file path restored.
27
  */
28
  $site_id = Boldgrid_Backup_Admin_Utility::create_site_id();
29
 
 
 
 
30
  $subject = sprintf(
31
  // translators: 1: Site identifier.
32
  esc_html__( 'Restoration completed for %s', 'boldgrid-backup' ),
@@ -35,10 +37,6 @@ $subject = sprintf(
35
 
36
  $body = esc_html__( 'Hello', 'boldgrid-backup' ) . ",\n\n";
37
 
38
- if ( $dryrun ) {
39
- $body .= esc_html__( 'THIS OPERATION WAS A DRY-RUN TEST', 'boldgrid-backup' ) . ".\n\n";
40
- }
41
-
42
  if ( $restore_ok ) {
43
  $body .= esc_html__( 'A backup archive has been restored', 'boldgrid-backup' );
44
  } else {
21
  *
22
  * @see Boldgrid_Backup_Admin_Utility::create_site_id()
23
  *
 
24
  * @param bool $restore_ok Success of the restoration.
25
  * @param string $info['filepath'] The file path restored.
26
  */
27
  $site_id = Boldgrid_Backup_Admin_Utility::create_site_id();
28
 
29
+ // todo. fix this. Just hard coded for now.
30
+ $restore_ok = true;
31
+
32
  $subject = sprintf(
33
  // translators: 1: Site identifier.
34
  esc_html__( 'Restoration completed for %s', 'boldgrid-backup' ),
37
 
38
  $body = esc_html__( 'Hello', 'boldgrid-backup' ) . ",\n\n";
39
 
 
 
 
 
40
  if ( $restore_ok ) {
41
  $body .= esc_html__( 'A backup archive has been restored', 'boldgrid-backup' );
42
  } else {
boldgrid-backup-cron.php CHANGED
@@ -60,6 +60,7 @@ $valid_modes = array(
60
  'backup',
61
  'restore',
62
  'resume',
 
63
  );
64
 
65
  if ( ! in_array( $input['mode'], $valid_modes, true ) ) {
60
  'backup',
61
  'restore',
62
  'resume',
63
+ 'resume_restore',
64
  );
65
 
66
  if ( ! in_array( $input['mode'], $valid_modes, true ) ) {
cli/{verify-db16e91791975a3ef7fb2be0c23b2b63.php → verify-e6eeecf208664c73c9b32c22901272aa.php} RENAMED
File without changes
coverage.xml CHANGED
@@ -1,6 +1,6 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1610459268">
3
- <project timestamp="1610459268">
4
  <package name="Boldgrid\Backup\Admin\Card">
5
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/card/class-amazon-s3.php">
6
  <class name="Amazon_S3" namespace="Boldgrid\Backup\Admin\Card" fullPackage="Amazon">
@@ -1160,209 +1160,205 @@
1160
  </file>
1161
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-archive.php">
1162
  <class name="Boldgrid_Backup_Admin_Archive" namespace="global" fullPackage="Boldgrid.Backup.Admin">
1163
- <metrics complexity="78" methods="26" coveredmethods="17" conditionals="0" coveredconditionals="0" statements="216" coveredstatements="104" elements="242" coveredelements="121"/>
1164
  </class>
1165
- <line num="169" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="41"/>
1166
- <line num="170" type="stmt" count="41"/>
1167
- <line num="171" type="stmt" count="12"/>
1168
- <line num="172" type="stmt" count="12"/>
1169
- <line num="174" type="stmt" count="41"/>
1170
  <line num="175" type="stmt" count="41"/>
1171
- <line num="185" type="method" name="delete" visibility="public" complexity="1" crap="1" count="4"/>
1172
- <line num="186" type="stmt" count="4"/>
1173
- <line num="188" type="stmt" count="4"/>
1174
- <line num="190" type="stmt" count="4"/>
1175
- <line num="201" type="method" name="get_attribute" visibility="public" complexity="2" crap="2" count="9"/>
1176
- <line num="202" type="stmt" count="9"/>
1177
- <line num="224" type="method" name="get_by_name" visibility="public" complexity="3" crap="12" count="0"/>
1178
- <line num="225" type="stmt" count="0"/>
1179
- <line num="227" type="stmt" count="0"/>
1180
- <line num="229" type="stmt" count="0"/>
 
1181
  <line num="230" type="stmt" count="0"/>
1182
- <line num="231" type="stmt" count="0"/>
1183
  <line num="232" type="stmt" count="0"/>
1184
- <line num="233" type="stmt" count="0"/>
1185
  <line num="235" type="stmt" count="0"/>
 
1186
  <line num="237" type="stmt" count="0"/>
1187
- <line num="249" type="method" name="get_file" visibility="public" complexity="5" crap="15.55" count="1"/>
1188
- <line num="250" type="stmt" count="1"/>
1189
- <line num="251" type="stmt" count="1"/>
1190
- <line num="254" type="stmt" count="0"/>
1191
- <line num="256" type="stmt" count="0"/>
 
1192
  <line num="259" type="stmt" count="0"/>
1193
- <line num="260" type="stmt" count="0"/>
1194
  <line num="261" type="stmt" count="0"/>
1195
- <line num="263" type="stmt" count="0"/>
1196
- <line num="274" type="method" name="get_dump_file" visibility="public" complexity="1" crap="1" count="1"/>
1197
- <line num="280" type="stmt" count="1"/>
1198
- <line num="290" type="method" name="get_filesize" visibility="public" complexity="2" crap="2" count="9"/>
1199
- <line num="291" type="stmt" count="9"/>
1200
- <line num="292" type="stmt" count="4"/>
1201
- <line num="294" type="stmt" count="9"/>
1202
- <line num="305" type="method" name="get_id" visibility="public" complexity="1" crap="1" count="4"/>
1203
- <line num="306" type="stmt" count="4"/>
1204
- <line num="316" type="method" name="get_index" visibility="public" complexity="3" crap="3" count="13"/>
1205
- <line num="317" type="stmt" count="13"/>
1206
- <line num="319" type="stmt" count="13"/>
1207
- <line num="321" type="stmt" count="13"/>
1208
  <line num="322" type="stmt" count="13"/>
1209
- <line num="323" type="stmt" count="12"/>
1210
- <line num="324" type="stmt" count="12"/>
1211
  <line num="326" type="stmt" count="13"/>
1212
- <line num="328" type="stmt" count="13"/>
1213
- <line num="339" type="method" name="get_key" visibility="public" complexity="1" crap="1" count="1"/>
1214
- <line num="340" type="stmt" count="1"/>
1215
- <line num="350" type="method" name="init" visibility="public" complexity="7" crap="7" count="13"/>
1216
- <line num="351" type="stmt" count="13"/>
1217
- <line num="353" type="stmt" count="13"/>
1218
- <line num="354" type="stmt" count="1"/>
1219
- <line num="357" type="stmt" count="13"/>
1220
- <line num="359" type="stmt" count="13"/>
1221
- <line num="360" type="stmt" count="13"/>
 
1222
  <line num="362" type="stmt" count="13"/>
1223
- <line num="363" type="stmt" count="13"/>
1224
  <line num="365" type="stmt" count="13"/>
1225
- <line num="366" type="stmt" count="13"/>
 
1226
  <line num="369" type="stmt" count="13"/>
1227
- <line num="370" type="stmt" count="13"/>
1228
- <line num="371" type="stmt" count="2"/>
1229
- <line num="372" type="stmt" count="2"/>
1230
  <line num="374" type="stmt" count="13"/>
1231
- <line num="375" type="stmt" count="12"/>
1232
- <line num="377" type="stmt" count="12"/>
1233
- <line num="378" type="stmt" count="12"/>
1234
- <line num="386" type="stmt" count="13"/>
1235
- <line num="388" type="stmt" count="13"/>
1236
- <line num="390" type="stmt" count="13"/>
1237
- <line num="391" type="stmt" count="13"/>
1238
- <line num="403" type="method" name="init_by_filename" visibility="public" complexity="1" crap="1" count="12"/>
1239
- <line num="404" type="stmt" count="12"/>
1240
- <line num="406" type="stmt" count="12"/>
1241
- <line num="407" type="stmt" count="12"/>
1242
- <line num="417" type="method" name="init_by_key" visibility="public" complexity="3" crap="3" count="2"/>
1243
- <line num="418" type="stmt" count="2"/>
1244
- <line num="420" type="stmt" count="2"/>
1245
- <line num="422" type="stmt" count="2"/>
1246
- <line num="423" type="stmt" count="1"/>
 
1247
  <line num="426" type="stmt" count="2"/>
1248
  <line num="428" type="stmt" count="2"/>
1249
- <line num="429" type="stmt" count="2"/>
1250
  <line num="430" type="stmt" count="2"/>
 
 
1251
  <line num="436" type="stmt" count="2"/>
1252
- <line num="445" type="method" name="init_by_latest" visibility="public" complexity="2" crap="2" count="1"/>
1253
- <line num="446" type="stmt" count="1"/>
1254
- <line num="448" type="stmt" count="1"/>
1255
- <line num="449" type="stmt" count="1"/>
1256
- <line num="450" type="stmt" count="1"/>
1257
- <line num="451" type="stmt" count="1"/>
1258
- <line num="461" type="method" name="is_archive" visibility="public" complexity="3" crap="3" count="3"/>
1259
- <line num="462" type="stmt" count="3"/>
1260
- <line num="463" type="stmt" count="3"/>
1261
- <line num="464" type="stmt" count="3"/>
1262
- <line num="466" type="stmt" count="3"/>
1263
- <line num="467" type="stmt" count="3"/>
1264
- <line num="468" type="stmt" count="2"/>
1265
- <line num="469" type="stmt" count="2"/>
1266
  <line num="471" type="stmt" count="3"/>
1267
- <line num="473" type="stmt" count="3"/>
1268
- <line num="487" type="method" name="is_site_archive" visibility="public" complexity="4" crap="4.18" count="13"/>
1269
- <line num="488" type="stmt" count="13"/>
1270
- <line num="491" type="stmt" count="13"/>
1271
- <line num="492" type="stmt" count="13"/>
1272
- <line num="493" type="stmt" count="13"/>
1273
- <line num="497" type="stmt" count="13"/>
1274
- <line num="498" type="stmt" count="0"/>
1275
- <line num="502" type="stmt" count="13"/>
1276
- <line num="503" type="stmt" count="0"/>
1277
- <line num="506" type="stmt" count="13"/>
1278
- <line num="520" type="method" name="is_stored_locally" visibility="public" complexity="2" crap="2" count="1"/>
1279
- <line num="521" type="stmt" count="1"/>
1280
- <line num="523" type="stmt" count="1"/>
1281
- <line num="524" type="stmt" count="1"/>
1282
- <line num="537" type="method" name="is_stored_remotely" visibility="public" complexity="2" crap="2" count="1"/>
1283
- <line num="538" type="stmt" count="1"/>
1284
- <line num="540" type="stmt" count="1"/>
1285
- <line num="541" type="stmt" count="1"/>
1286
- <line num="549" type="method" name="reset" visibility="public" complexity="1" crap="1" count="13"/>
1287
- <line num="550" type="stmt" count="13"/>
1288
- <line num="551" type="stmt" count="13"/>
1289
- <line num="552" type="stmt" count="13"/>
1290
- <line num="553" type="stmt" count="13"/>
1291
- <line num="554" type="stmt" count="13"/>
1292
- <line num="555" type="stmt" count="13"/>
1293
- <line num="556" type="stmt" count="13"/>
1294
- <line num="567" type="method" name="set_attribute" visibility="public" complexity="3" crap="12" count="0"/>
1295
- <line num="568" type="stmt" count="0"/>
1296
- <line num="571" type="stmt" count="0"/>
1297
- <line num="572" type="stmt" count="0"/>
1298
- <line num="588" type="stmt" count="0"/>
1299
- <line num="590" type="stmt" count="0"/>
1300
- <line num="592" type="stmt" count="0"/>
1301
- <line num="602" type="method" name="set_id" visibility="public" complexity="1" crap="1" count="4"/>
1302
- <line num="603" type="stmt" count="4"/>
1303
- <line num="604" type="stmt" count="4"/>
1304
- <line num="615" type="method" name="update_timestamp" visibility="public" complexity="3" crap="12" count="0"/>
1305
- <line num="617" type="stmt" count="0"/>
1306
- <line num="618" type="stmt" count="0"/>
1307
- <line num="621" type="stmt" count="0"/>
1308
- <line num="634" type="method" name="validate_link_request" visibility="public" complexity="8" crap="72" count="0"/>
1309
- <line num="635" type="stmt" count="0"/>
1310
- <line num="638" type="stmt" count="0"/>
1311
- <line num="639" type="stmt" count="0"/>
1312
- <line num="640" type="stmt" count="0"/>
 
 
1313
  <line num="643" type="stmt" count="0"/>
1314
- <line num="644" type="stmt" count="0"/>
1315
- <line num="645" type="stmt" count="0"/>
1316
  <line num="648" type="stmt" count="0"/>
1317
- <line num="649" type="stmt" count="0"/>
1318
- <line num="650" type="stmt" count="0"/>
1319
  <line num="652" type="stmt" count="0"/>
1320
  <line num="653" type="stmt" count="0"/>
1321
  <line num="656" type="stmt" count="0"/>
1322
- <line num="659" type="stmt" count="0"/>
 
1323
  <line num="660" type="stmt" count="0"/>
1324
  <line num="661" type="stmt" count="0"/>
1325
- <line num="663" type="stmt" count="0"/>
1326
- <line num="665" type="stmt" count="0"/>
1327
- <line num="666" type="stmt" count="0"/>
1328
  <line num="667" type="stmt" count="0"/>
 
1329
  <line num="669" type="stmt" count="0"/>
1330
- <line num="670" type="stmt" count="0"/>
1331
- <line num="672" type="stmt" count="0"/>
1332
  <line num="673" type="stmt" count="0"/>
1333
  <line num="674" type="stmt" count="0"/>
1334
- <line num="676" type="stmt" count="0"/>
1335
- <line num="692" type="method" name="generate_download_link" visibility="public" complexity="2" crap="6" count="0"/>
1336
- <line num="693" type="stmt" count="0"/>
1337
- <line num="695" type="stmt" count="0"/>
1338
- <line num="696" type="stmt" count="0"/>
1339
- <line num="697" type="stmt" count="0"/>
1340
- <line num="699" type="stmt" count="0"/>
1341
- <line num="700" type="stmt" count="0"/>
1342
- <line num="702" type="stmt" count="0"/>
 
1343
  <line num="704" type="stmt" count="0"/>
1344
  <line num="705" type="stmt" count="0"/>
1345
- <line num="706" type="stmt" count="0"/>
1346
  <line num="707" type="stmt" count="0"/>
1347
  <line num="708" type="stmt" count="0"/>
1348
- <line num="709" type="stmt" count="0"/>
1349
  <line num="712" type="stmt" count="0"/>
1350
- <line num="747" type="method" name="write_results_file" visibility="public" complexity="6" crap="42" count="0"/>
1351
- <line num="748" type="stmt" count="0"/>
1352
- <line num="749" type="stmt" count="0"/>
1353
- <line num="750" type="stmt" count="0"/>
1354
- <line num="751" type="stmt" count="0"/>
1355
- <line num="753" type="stmt" count="0"/>
1356
- <line num="754" type="stmt" count="0"/>
1357
- <line num="755" type="stmt" count="0"/>
1358
  <line num="756" type="stmt" count="0"/>
1359
  <line num="757" type="stmt" count="0"/>
1360
  <line num="758" type="stmt" count="0"/>
1361
  <line num="759" type="stmt" count="0"/>
1362
- <line num="760" type="stmt" count="0"/>
1363
  <line num="761" type="stmt" count="0"/>
1364
  <line num="762" type="stmt" count="0"/>
1365
  <line num="763" type="stmt" count="0"/>
 
1366
  <line num="765" type="stmt" count="0"/>
1367
  <line num="766" type="stmt" count="0"/>
1368
  <line num="767" type="stmt" count="0"/>
@@ -1370,41 +1366,48 @@
1370
  <line num="769" type="stmt" count="0"/>
1371
  <line num="770" type="stmt" count="0"/>
1372
  <line num="771" type="stmt" count="0"/>
1373
- <line num="772" type="stmt" count="0"/>
1374
  <line num="773" type="stmt" count="0"/>
 
1375
  <line num="775" type="stmt" count="0"/>
 
 
1376
  <line num="778" type="stmt" count="0"/>
1377
  <line num="779" type="stmt" count="0"/>
1378
  <line num="780" type="stmt" count="0"/>
1379
  <line num="781" type="stmt" count="0"/>
1380
- <line num="782" type="stmt" count="0"/>
1381
  <line num="783" type="stmt" count="0"/>
1382
- <line num="784" type="stmt" count="0"/>
1383
- <line num="785" type="stmt" count="0"/>
1384
  <line num="786" type="stmt" count="0"/>
1385
  <line num="787" type="stmt" count="0"/>
 
1386
  <line num="789" type="stmt" count="0"/>
1387
  <line num="790" type="stmt" count="0"/>
1388
  <line num="791" type="stmt" count="0"/>
 
1389
  <line num="793" type="stmt" count="0"/>
1390
  <line num="794" type="stmt" count="0"/>
1391
- <line num="796" type="stmt" count="0"/>
1392
- <line num="808" type="method" name="delete_from_archive" visibility="public" complexity="9" crap="12.69" count="9"/>
1393
- <line num="809" type="stmt" count="9"/>
1394
- <line num="810" type="stmt" count="9"/>
1395
- <line num="811" type="stmt" count="9"/>
1396
- <line num="813" type="stmt" count="9"/>
1397
- <line num="814" type="stmt" count="9"/>
1398
- <line num="815" type="stmt" count="9"/>
1399
- <line num="816" type="stmt" count="0"/>
1400
- <line num="818" type="stmt" count="0"/>
1401
- <line num="819" type="stmt" count="0"/>
1402
- <line num="820" type="stmt" count="0"/>
1403
- <line num="821" type="stmt" count="0"/>
1404
  <line num="822" type="stmt" count="9"/>
1405
  <line num="823" type="stmt" count="9"/>
1406
- <line num="824" type="stmt" count="9"/>
1407
- <metrics loc="825" ncloc="389" classes="1" methods="26" coveredmethods="17" conditionals="0" coveredconditionals="0" statements="216" coveredstatements="104" elements="242" coveredelements="121"/>
 
 
 
 
 
 
 
1408
  </file>
1409
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-archiver-utility.php">
1410
  <class name="Boldgrid_Backup_Admin_Archiver_Utility" namespace="global" fullPackage="Boldgrid.Backup.Admin.Archiver">
@@ -2192,7 +2195,7 @@
2192
  </file>
2193
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-backup-dir.php">
2194
  <class name="Boldgrid_Backup_Admin_Backup_Dir" namespace="global" fullPackage="Boldgrid.Backup.Admin.Backup">
2195
- <metrics complexity="73" methods="17" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="217" coveredstatements="153" elements="234" coveredelements="162"/>
2196
  </class>
2197
  <line num="64" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="29"/>
2198
  <line num="65" type="stmt" count="29"/>
@@ -2264,14 +2267,14 @@
2264
  <line num="190" type="stmt" count="13"/>
2265
  <line num="191" type="stmt" count="13"/>
2266
  <line num="193" type="stmt" count="13"/>
2267
- <line num="208" type="method" name="dirlist_containing" visibility="public" complexity="5" crap="5.39" count="9"/>
2268
  <line num="209" type="stmt" count="9"/>
2269
  <line num="210" type="stmt" count="9"/>
2270
  <line num="213" type="stmt" count="9"/>
2271
  <line num="215" type="stmt" count="9"/>
2272
  <line num="217" type="stmt" count="9"/>
2273
- <line num="218" type="stmt" count="0"/>
2274
- <line num="219" type="stmt" count="0"/>
2275
  <line num="220" type="stmt" count="9"/>
2276
  <line num="221" type="stmt" count="9"/>
2277
  <line num="223" type="stmt" count="9"/>
@@ -2435,7 +2438,7 @@
2435
  <line num="647" type="stmt" count="3"/>
2436
  <line num="648" type="stmt" count="3"/>
2437
  <line num="649" type="stmt" count="3"/>
2438
- <metrics loc="650" ncloc="363" classes="1" methods="17" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="224" coveredstatements="160" elements="241" coveredelements="169"/>
2439
  </file>
2440
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-cli.php">
2441
  <class name="Boldgrid_Backup_Admin_Cli" namespace="global" fullPackage="Boldgrid.Backup.Admin">
@@ -2771,7 +2774,7 @@
2771
  </file>
2772
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-core.php">
2773
  <class name="Boldgrid_Backup_Admin_Core" namespace="global" fullPackage="Boldgrid.Backup.Admin">
2774
- <metrics complexity="211" methods="29" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="1036" coveredstatements="461" elements="1065" coveredelements="465"/>
2775
  </class>
2776
  <line num="588" type="method" name="__construct" visibility="public" complexity="8" crap="8.07" count="29"/>
2777
  <line num="593" type="stmt" count="29"/>
@@ -3084,768 +3087,614 @@
3084
  <line num="1202" type="stmt" count="0"/>
3085
  <line num="1206" type="stmt" count="9"/>
3086
  <line num="1209" type="stmt" count="9"/>
3087
- <line num="1229" type="method" name="restore_database" visibility="private" complexity="9" crap="27.27" count="1"/>
3088
- <line num="1231" type="stmt" count="1"/>
3089
- <line num="1233" type="stmt" count="0"/>
3090
- <line num="1234" type="stmt" count="0"/>
3091
- <line num="1235" type="stmt" count="0"/>
3092
- <line num="1237" type="stmt" count="0"/>
3093
- <line num="1239" type="stmt" count="0"/>
3094
- <line num="1243" type="stmt" count="1"/>
3095
- <line num="1245" type="stmt" count="0"/>
3096
- <line num="1247" type="stmt" count="0"/>
3097
- <line num="1251" type="stmt" count="1"/>
3098
- <line num="1254" type="stmt" count="1"/>
3099
- <line num="1257" type="stmt" count="1"/>
3100
- <line num="1258" type="stmt" count="1"/>
3101
- <line num="1260" type="stmt" count="1"/>
3102
- <line num="1262" type="stmt" count="1"/>
3103
- <line num="1268" type="stmt" count="0"/>
3104
- <line num="1269" type="stmt" count="0"/>
3105
- <line num="1272" type="stmt" count="1"/>
3106
- <line num="1273" type="stmt" count="1"/>
3107
- <line num="1275" type="stmt" count="1"/>
3108
- <line num="1276" type="stmt" count="0"/>
3109
- <line num="1277" type="stmt" count="0"/>
3110
- <line num="1278" type="stmt" count="0"/>
3111
- <line num="1282" type="stmt" count="1"/>
3112
- <line num="1284" type="stmt" count="0"/>
3113
- <line num="1287" type="stmt" count="0"/>
3114
- <line num="1288" type="stmt" count="0"/>
3115
- <line num="1291" type="stmt" count="1"/>
3116
- <line num="1294" type="stmt" count="1"/>
3117
- <line num="1295" type="stmt" count="1"/>
3118
- <line num="1298" type="stmt" count="1"/>
3119
- <line num="1300" type="stmt" count="0"/>
3120
- <line num="1302" type="stmt" count="0"/>
3121
- <line num="1304" type="stmt" count="0"/>
3122
- <line num="1305" type="stmt" count="0"/>
3123
- <line num="1306" type="stmt" count="0"/>
3124
- <line num="1307" type="stmt" count="0"/>
3125
- <line num="1309" type="stmt" count="0"/>
3126
- <line num="1311" type="stmt" count="0"/>
3127
- <line num="1312" type="stmt" count="0"/>
3128
- <line num="1313" type="stmt" count="0"/>
3129
- <line num="1316" type="stmt" count="1"/>
3130
- <line num="1319" type="stmt" count="0"/>
3131
- <line num="1321" type="stmt" count="0"/>
3132
- <line num="1322" type="stmt" count="0"/>
3133
- <line num="1325" type="stmt" count="1"/>
3134
- <line num="1336" type="method" name="get_filelist" visibility="public" complexity="10" crap="10.11" count="9"/>
3135
- <line num="1339" type="stmt" count="9"/>
3136
- <line num="1340" type="stmt" count="0"/>
3137
- <line num="1344" type="stmt" count="9"/>
3138
- <line num="1347" type="stmt" count="9"/>
3139
- <line num="1348" type="stmt" count="0"/>
3140
- <line num="1352" type="stmt" count="9"/>
3141
  <line num="1355" type="stmt" count="9"/>
3142
  <line num="1356" type="stmt" count="9"/>
3143
- <line num="1357" type="stmt" count="9"/>
3144
  <line num="1360" type="stmt" count="9"/>
3145
  <line num="1363" type="stmt" count="9"/>
3146
- <line num="1374" type="stmt" count="9"/>
3147
- <line num="1375" type="stmt" count="9"/>
3148
- <line num="1376" type="stmt" count="9"/>
3149
- <line num="1377" type="stmt" count="9"/>
3150
- <line num="1378" type="stmt" count="9"/>
3151
- <line num="1380" type="stmt" count="9"/>
3152
- <line num="1382" type="stmt" count="9"/>
3153
- <line num="1385" type="stmt" count="9"/>
3154
- <line num="1386" type="stmt" count="0"/>
3155
- <line num="1388" type="stmt" count="9"/>
3156
  <line num="1389" type="stmt" count="9"/>
3157
- <line num="1392" type="stmt" count="9"/>
3158
- <line num="1393" type="stmt" count="9"/>
3159
- <line num="1396" type="stmt" count="0"/>
3160
- <line num="1398" type="stmt" count="9"/>
 
3161
  <line num="1401" type="stmt" count="9"/>
 
3162
  <line num="1403" type="stmt" count="9"/>
3163
  <line num="1404" type="stmt" count="9"/>
3164
- <line num="1406" type="stmt" count="9"/>
3165
  <line num="1408" type="stmt" count="9"/>
3166
- <line num="1412" type="stmt" count="9"/>
 
3167
  <line num="1415" type="stmt" count="9"/>
 
3168
  <line num="1418" type="stmt" count="9"/>
3169
- <line num="1419" type="stmt" count="9"/>
3170
- <line num="1420" type="stmt" count="9"/>
3171
- <line num="1421" type="stmt" count="9"/>
3172
- <line num="1423" type="stmt" count="9"/>
3173
- <line num="1426" type="stmt" count="9"/>
3174
- <line num="1442" type="method" name="get_filtered_filelist" visibility="public" complexity="8" crap="8.30" count="9"/>
3175
- <line num="1445" type="stmt" count="9"/>
 
 
 
 
3176
  <line num="1446" type="stmt" count="0"/>
3177
  <line num="1450" type="stmt" count="9"/>
3178
  <line num="1453" type="stmt" count="9"/>
3179
- <line num="1454" type="stmt" count="0"/>
3180
- <line num="1458" type="stmt" count="9"/>
3181
- <line num="1461" type="stmt" count="9"/>
3182
- <line num="1464" type="stmt" count="9"/>
3183
- <line num="1465" type="stmt" count="9"/>
3184
- <line num="1467" type="stmt" count="9"/>
3185
- <line num="1468" type="stmt" count="0"/>
3186
- <line num="1471" type="stmt" count="9"/>
3187
  <line num="1472" type="stmt" count="9"/>
 
 
3188
  <line num="1475" type="stmt" count="9"/>
3189
- <line num="1476" type="stmt" count="9"/>
3190
  <line num="1479" type="stmt" count="9"/>
 
 
3191
  <line num="1482" type="stmt" count="9"/>
 
 
3192
  <line num="1485" type="stmt" count="9"/>
3193
- <line num="1497" type="method" name="generate_archive_path" visibility="public" complexity="3" crap="3.00" count="9"/>
3194
- <line num="1499" type="stmt" count="9"/>
3195
- <line num="1502" type="stmt" count="9"/>
3196
- <line num="1505" type="stmt" count="9"/>
3197
- <line num="1506" type="stmt" count="0"/>
3198
- <line num="1510" type="stmt" count="9"/>
 
 
 
 
3199
  <line num="1513" type="stmt" count="9"/>
3200
  <line num="1515" type="stmt" count="9"/>
3201
- <line num="1516" type="stmt" count="9"/>
3202
  <line num="1517" type="stmt" count="9"/>
3203
- <line num="1518" type="stmt" count="9"/>
3204
- <line num="1519" type="stmt" count="9"/>
3205
- <line num="1520" type="stmt" count="9"/>
3206
- <line num="1521" type="stmt" count="9"/>
3207
- <line num="1524" type="stmt" count="9"/>
3208
- <line num="1527" type="stmt" count="9"/>
3209
- <line num="1529" type="stmt" count="9"/>
3210
- <line num="1531" type="stmt" count="9"/>
3211
- <line num="1532" type="stmt" count="9"/>
3212
  <line num="1534" type="stmt" count="9"/>
3213
- <line num="1547" type="method" name="archive_files" visibility="public" complexity="21" crap="29.71" count="9"/>
3214
- <line num="1549" type="stmt" count="9"/>
3215
- <line num="1550" type="stmt" count="9"/>
3216
- <line num="1551" type="stmt" count="9"/>
3217
- <line num="1553" type="stmt" count="9"/>
3218
- <line num="1555" type="stmt" count="9"/>
3219
- <line num="1556" type="stmt" count="9"/>
3220
- <line num="1557" type="stmt" count="9"/>
3221
- <line num="1559" type="stmt" count="9"/>
3222
- <line num="1560" type="stmt" count="0"/>
3223
- <line num="1561" type="stmt" count="0"/>
 
 
 
 
 
 
 
 
 
 
 
 
3224
  <line num="1562" type="stmt" count="0"/>
3225
- <line num="1566" type="stmt" count="9"/>
3226
- <line num="1569" type="stmt" count="9"/>
 
 
 
 
3227
  <line num="1572" type="stmt" count="9"/>
 
 
3228
  <line num="1575" type="stmt" count="9"/>
 
 
3229
  <line num="1578" type="stmt" count="9"/>
3230
- <line num="1579" type="stmt" count="0"/>
3231
- <line num="1580" type="stmt" count="0"/>
3232
- <line num="1584" type="stmt" count="9"/>
3233
- <line num="1585" type="stmt" count="9"/>
 
 
3234
  <line num="1588" type="stmt" count="9"/>
3235
- <line num="1589" type="stmt" count="9"/>
3236
- <line num="1590" type="stmt" count="9"/>
3237
- <line num="1591" type="stmt" count="9"/>
3238
- <line num="1593" type="stmt" count="9"/>
3239
- <line num="1595" type="stmt" count="9"/>
3240
- <line num="1596" type="stmt" count="9"/>
3241
  <line num="1597" type="stmt" count="9"/>
3242
- <line num="1598" type="stmt" count="9"/>
3243
- <line num="1599" type="stmt" count="9"/>
3244
- <line num="1600" type="stmt" count="9"/>
3245
- <line num="1601" type="stmt" count="9"/>
3246
- <line num="1602" type="stmt" count="9"/>
3247
- <line num="1603" type="stmt" count="9"/>
3248
- <line num="1605" type="stmt" count="9"/>
3249
- <line num="1617" type="stmt" count="9"/>
3250
- <line num="1619" type="stmt" count="9"/>
3251
  <line num="1620" type="stmt" count="9"/>
3252
  <line num="1623" type="stmt" count="9"/>
3253
- <line num="1625" type="stmt" count="9"/>
3254
  <line num="1627" type="stmt" count="9"/>
3255
  <line num="1628" type="stmt" count="9"/>
3256
- <line num="1629" type="stmt" count="9"/>
3257
  <line num="1631" type="stmt" count="9"/>
3258
- <line num="1633" type="stmt" count="9"/>
3259
- <line num="1634" type="stmt" count="0"/>
3260
- <line num="1635" type="stmt" count="0"/>
3261
- <line num="1636" type="stmt" count="0"/>
3262
- <line num="1638" type="stmt" count="0"/>
3263
- <line num="1639" type="stmt" count="0"/>
3264
- <line num="1641" type="stmt" count="0"/>
3265
- <line num="1642" type="stmt" count="0"/>
3266
- <line num="1643" type="stmt" count="0"/>
3267
- <line num="1649" type="stmt" count="9"/>
3268
- <line num="1650" type="stmt" count="9"/>
3269
- <line num="1651" type="stmt" count="6"/>
3270
- <line num="1652" type="stmt" count="6"/>
3271
- <line num="1653" type="stmt" count="6"/>
3272
- <line num="1654" type="stmt" count="4"/>
3273
- <line num="1655" type="stmt" count="4"/>
3274
- <line num="1656" type="stmt" count="4"/>
3275
- <line num="1657" type="stmt" count="4"/>
3276
- <line num="1658" type="stmt" count="1"/>
3277
- <line num="1660" type="stmt" count="0"/>
3278
- <line num="1661" type="stmt" count="0"/>
3279
- <line num="1662" type="stmt" count="1"/>
3280
- <line num="1664" type="stmt" count="0"/>
3281
- <line num="1665" type="stmt" count="0"/>
3282
- <line num="1666" type="stmt" count="1"/>
3283
- <line num="1668" type="stmt" count="0"/>
3284
- <line num="1669" type="stmt" count="0"/>
3285
- <line num="1670" type="stmt" count="1"/>
3286
- <line num="1672" type="stmt" count="0"/>
3287
- <line num="1673" type="stmt" count="0"/>
3288
- <line num="1674" type="stmt" count="1"/>
3289
- <line num="1675" type="stmt" count="1"/>
3290
- <line num="1676" type="stmt" count="1"/>
3291
- <line num="1677" type="stmt" count="1"/>
3292
- <line num="1678" type="stmt" count="0"/>
3293
- <line num="1679" type="stmt" count="0"/>
3294
- <line num="1680" type="stmt" count="0"/>
3295
  <line num="1681" type="stmt" count="9"/>
 
3296
  <line num="1683" type="stmt" count="9"/>
3297
  <line num="1684" type="stmt" count="9"/>
3298
- <line num="1687" type="stmt" count="9"/>
3299
- <line num="1688" type="stmt" count="9"/>
3300
- <line num="1689" type="stmt" count="0"/>
3301
- <line num="1690" type="stmt" count="0"/>
3302
- <line num="1691" type="stmt" count="9"/>
3303
  <line num="1692" type="stmt" count="9"/>
3304
  <line num="1693" type="stmt" count="9"/>
3305
- <line num="1694" type="stmt" count="9"/>
3306
- <line num="1695" type="stmt" count="9"/>
3307
  <line num="1696" type="stmt" count="9"/>
3308
- <line num="1697" type="stmt" count="9"/>
3309
- <line num="1698" type="stmt" count="9"/>
3310
- <line num="1699" type="stmt" count="9"/>
3311
- <line num="1701" type="stmt" count="9"/>
3312
- <line num="1702" type="stmt" count="9"/>
3313
- <line num="1704" type="stmt" count="9"/>
3314
- <line num="1706" type="stmt" count="9"/>
3315
- <line num="1707" type="stmt" count="0"/>
3316
- <line num="1708" type="stmt" count="0"/>
3317
- <line num="1710" type="stmt" count="9"/>
3318
  <line num="1711" type="stmt" count="0"/>
3319
- <line num="1712" type="stmt" count="0"/>
3320
- <line num="1715" type="stmt" count="9"/>
3321
- <line num="1718" type="stmt" count="9"/>
3322
- <line num="1721" type="stmt" count="9"/>
3323
- <line num="1724" type="stmt" count="9"/>
3324
- <line num="1726" type="stmt" count="9"/>
3325
- <line num="1747" type="method" name="get_archive_list" visibility="public" complexity="11" crap="11.13" count="9"/>
3326
- <line num="1749" type="stmt" count="9"/>
3327
- <line num="1752" type="stmt" count="9"/>
3328
- <line num="1755" type="stmt" count="9"/>
3329
- <line num="1756" type="stmt" count="9"/>
3330
- <line num="1757" type="stmt" count="9"/>
3331
- <line num="1760" type="stmt" count="9"/>
 
 
 
 
 
 
 
 
 
 
 
3332
  <line num="1761" type="stmt" count="0"/>
3333
- <line num="1765" type="stmt" count="9"/>
3334
- <line num="1768" type="stmt" count="9"/>
3335
- <line num="1769" type="stmt" count="0"/>
3336
- <line num="1773" type="stmt" count="9"/>
3337
- <line num="1774" type="stmt" count="0"/>
3338
- <line num="1776" type="stmt" count="9"/>
3339
- <line num="1777" type="stmt" count="9"/>
3340
- <line num="1780" type="stmt" count="9"/>
3341
- <line num="1781" type="stmt" count="9"/>
3342
- <line num="1784" type="stmt" count="9"/>
3343
- <line num="1786" type="stmt" count="9"/>
3344
- <line num="1789" type="stmt" count="9"/>
3345
- <line num="1792" type="stmt" count="9"/>
3346
- <line num="1793" type="stmt" count="9"/>
3347
- <line num="1795" type="stmt" count="9"/>
3348
- <line num="1798" type="stmt" count="9"/>
 
 
 
3349
  <line num="1799" type="stmt" count="0"/>
3350
- <line num="1802" type="stmt" count="9"/>
3351
- <line num="1803" type="stmt" count="9"/>
3352
- <line num="1807" type="stmt" count="9"/>
3353
- <line num="1808" type="stmt" count="9"/>
3354
- <line num="1809" type="stmt" count="9"/>
3355
- <line num="1810" type="stmt" count="9"/>
3356
- <line num="1811" type="stmt" count="9"/>
3357
- <line num="1812" type="stmt" count="9"/>
3358
- <line num="1813" type="stmt" count="9"/>
3359
- <line num="1814" type="stmt" count="9"/>
3360
- <line num="1818" type="stmt" count="9"/>
3361
- <line num="1819" type="stmt" count="1"/>
3362
- <line num="1821" type="stmt" count="9"/>
3363
- <line num="1822" type="stmt" count="9"/>
3364
- <line num="1825" type="stmt" count="9"/>
3365
- <line num="1836" type="method" name="delete_archive_file" visibility="public" complexity="11" crap="132" count="0"/>
3366
- <line num="1839" type="stmt" count="0"/>
3367
- <line num="1840" type="stmt" count="0"/>
3368
- <line num="1844" type="stmt" count="0"/>
3369
- <line num="1847" type="stmt" count="0"/>
3370
- <line num="1850" type="stmt" count="0"/>
3371
- <line num="1851" type="stmt" count="0"/>
3372
- <line num="1852" type="stmt" count="0"/>
3373
- <line num="1853" type="stmt" count="0"/>
3374
- <line num="1855" type="stmt" count="0"/>
3375
- <line num="1856" type="stmt" count="0"/>
3376
  <line num="1857" type="stmt" count="0"/>
3377
- <line num="1859" type="stmt" count="0"/>
3378
- <line num="1861" type="stmt" count="0"/>
3379
- <line num="1865" type="stmt" count="0"/>
3380
- <line num="1866" type="stmt" count="0"/>
3381
- <line num="1867" type="stmt" count="0"/>
3382
  <line num="1869" type="stmt" count="0"/>
3383
- <line num="1870" type="stmt" count="0"/>
3384
  <line num="1871" type="stmt" count="0"/>
3385
- <line num="1873" type="stmt" count="0"/>
3386
  <line num="1875" type="stmt" count="0"/>
 
3387
  <line num="1879" type="stmt" count="0"/>
3388
- <line num="1880" type="stmt" count="0"/>
3389
- <line num="1884" type="stmt" count="0"/>
3390
- <line num="1887" type="stmt" count="0"/>
3391
  <line num="1889" type="stmt" count="0"/>
3392
  <line num="1890" type="stmt" count="0"/>
3393
  <line num="1891" type="stmt" count="0"/>
3394
  <line num="1893" type="stmt" count="0"/>
3395
- <line num="1895" type="stmt" count="0"/>
3396
- <line num="1900" type="stmt" count="0"/>
3397
- <line num="1901" type="stmt" count="0"/>
3398
- <line num="1902" type="stmt" count="0"/>
3399
- <line num="1905" type="stmt" count="0"/>
3400
- <line num="1907" type="stmt" count="0"/>
3401
- <line num="1908" type="stmt" count="0"/>
3402
- <line num="1909" type="stmt" count="0"/>
3403
- <line num="1911" type="stmt" count="0"/>
3404
- <line num="1913" type="stmt" count="0"/>
3405
- <line num="1918" type="stmt" count="0"/>
3406
- <line num="1919" type="stmt" count="0"/>
3407
- <line num="1920" type="stmt" count="0"/>
3408
- <line num="1922" type="stmt" count="0"/>
3409
- <line num="1925" type="stmt" count="0"/>
3410
  <line num="1926" type="stmt" count="0"/>
3411
- <line num="1927" type="stmt" count="0"/>
3412
- <line num="1928" type="stmt" count="0"/>
3413
- <line num="1930" type="stmt" count="0"/>
3414
- <line num="1931" type="stmt" count="0"/>
3415
  <line num="1941" type="stmt" count="0"/>
 
3416
  <line num="1944" type="stmt" count="0"/>
3417
- <line num="1957" type="method" name="get_dump_file" visibility="public" complexity="9" crap="25.08" count="1"/>
3418
- <line num="1959" type="stmt" count="1"/>
3419
- <line num="1960" type="stmt" count="0"/>
3420
- <line num="1980" type="stmt" count="1"/>
3421
- <line num="1981" type="stmt" count="1"/>
3422
- <line num="1982" type="stmt" count="1"/>
3423
- <line num="1983" type="stmt" count="1"/>
 
 
 
 
 
3424
  <line num="1987" type="stmt" count="0"/>
3425
  <line num="1990" type="stmt" count="0"/>
3426
- <line num="1993" type="stmt" count="0"/>
3427
- <line num="1994" type="stmt" count="0"/>
3428
  <line num="1998" type="stmt" count="0"/>
3429
  <line num="1999" type="stmt" count="0"/>
3430
- <line num="2000" type="method" name="anonymous function" complexity="3" crap="12" count="0"/>
3431
  <line num="2001" type="stmt" count="0"/>
3432
- <line num="2002" type="stmt" count="0"/>
3433
  <line num="2005" type="stmt" count="0"/>
3434
  <line num="2006" type="stmt" count="0"/>
 
3435
  <line num="2009" type="stmt" count="0"/>
3436
- <line num="2011" type="stmt" count="0"/>
 
3437
  <line num="2018" type="stmt" count="0"/>
3438
- <line num="2019" type="stmt" count="0"/>
3439
  <line num="2020" type="stmt" count="0"/>
3440
  <line num="2021" type="stmt" count="0"/>
3441
- <line num="2023" type="stmt" count="0"/>
3442
- <line num="2026" type="stmt" count="0"/>
3443
- <line num="2045" type="method" name="restore_archive_file" visibility="public" complexity="33" crap="91.80" count="1"/>
3444
- <line num="2046" type="stmt" count="1"/>
3445
- <line num="2048" type="stmt" count="1"/>
3446
- <line num="2049" type="stmt" count="1"/>
3447
- <line num="2050" type="stmt" count="1"/>
3448
- <line num="2053" type="stmt" count="1"/>
3449
- <line num="2055" type="stmt" count="1"/>
3450
- <line num="2063" type="stmt" count="1"/>
3451
- <line num="2066" type="stmt" count="1"/>
 
 
 
 
 
 
 
 
 
 
 
3452
  <line num="2067" type="stmt" count="0"/>
3453
- <line num="2068" type="stmt" count="0"/>
3454
  <line num="2069" type="stmt" count="0"/>
3455
- <line num="2072" type="stmt" count="1"/>
 
3456
  <line num="2073" type="stmt" count="0"/>
3457
  <line num="2074" type="stmt" count="0"/>
3458
- <line num="2075" type="stmt" count="0"/>
3459
- <line num="2079" type="stmt" count="1"/>
3460
- <line num="2080" type="stmt" count="0"/>
3461
- <line num="2081" type="stmt" count="0"/>
3462
  <line num="2082" type="stmt" count="0"/>
3463
- <line num="2090" type="stmt" count="1"/>
3464
- <line num="2091" type="stmt" count="1"/>
 
 
 
 
 
3465
  <line num="2092" type="stmt" count="0"/>
3466
- <line num="2093" type="stmt" count="1"/>
3467
- <line num="2094" type="stmt" count="1"/>
3468
- <line num="2095" type="stmt" count="1"/>
3469
- <line num="2096" type="stmt" count="0"/>
3470
- <line num="2097" type="stmt" count="0"/>
3471
- <line num="2098" type="stmt" count="0"/>
3472
- <line num="2106" type="stmt" count="1"/>
3473
- <line num="2107" type="stmt" count="1"/>
3474
- <line num="2108" type="stmt" count="0"/>
3475
- <line num="2109" type="stmt" count="1"/>
3476
- <line num="2110" type="stmt" count="1"/>
3477
- <line num="2111" type="stmt" count="1"/>
3478
- <line num="2112" type="stmt" count="0"/>
3479
- <line num="2113" type="stmt" count="0"/>
3480
- <line num="2114" type="stmt" count="0"/>
3481
- <line num="2118" type="stmt" count="1"/>
3482
- <line num="2120" type="stmt" count="1"/>
3483
- <line num="2121" type="stmt" count="1"/>
3484
  <line num="2122" type="stmt" count="0"/>
3485
  <line num="2123" type="stmt" count="0"/>
3486
- <line num="2124" type="stmt" count="0"/>
3487
- <line num="2127" type="stmt" count="1"/>
3488
- <line num="2129" type="stmt" count="1"/>
 
3489
  <line num="2130" type="stmt" count="0"/>
3490
- <line num="2131" type="stmt" count="0"/>
3491
- <line num="2132" type="stmt" count="0"/>
3492
- <line num="2135" type="stmt" count="1"/>
3493
- <line num="2137" type="stmt" count="1"/>
3494
- <line num="2138" type="stmt" count="1"/>
3495
- <line num="2139" type="stmt" count="1"/>
3496
- <line num="2140" type="stmt" count="0"/>
3497
- <line num="2141" type="stmt" count="0"/>
3498
  <line num="2142" type="stmt" count="0"/>
3499
- <line num="2147" type="stmt" count="1"/>
3500
- <line num="2148" type="stmt" count="1"/>
3501
- <line num="2149" type="stmt" count="1"/>
3502
- <line num="2150" type="stmt" count="1"/>
3503
- <line num="2151" type="stmt" count="1"/>
3504
- <line num="2152" type="stmt" count="1"/>
3505
- <line num="2153" type="stmt" count="1"/>
3506
- <line num="2154" type="stmt" count="1"/>
3507
- <line num="2155" type="stmt" count="1"/>
3508
- <line num="2158" type="stmt" count="1"/>
3509
- <line num="2160" type="stmt" count="1"/>
3510
- <line num="2169" type="stmt" count="1"/>
3511
- <line num="2175" type="stmt" count="1"/>
3512
- <line num="2176" type="stmt" count="1"/>
 
 
 
 
 
 
3513
  <line num="2177" type="stmt" count="0"/>
3514
- <line num="2178" type="stmt" count="0"/>
3515
- <line num="2179" type="stmt" count="0"/>
3516
- <line num="2181" type="stmt" count="1"/>
3517
- <line num="2182" type="stmt" count="0"/>
3518
- <line num="2185" type="stmt" count="1"/>
3519
- <line num="2186" type="stmt" count="1"/>
3520
- <line num="2187" type="stmt" count="1"/>
3521
- <line num="2188" type="stmt" count="1"/>
3522
- <line num="2189" type="stmt" count="1"/>
3523
- <line num="2191" type="stmt" count="1"/>
3524
- <line num="2192" type="stmt" count="0"/>
3525
  <line num="2202" type="stmt" count="0"/>
3526
- <line num="2204" type="stmt" count="0"/>
3527
  <line num="2205" type="stmt" count="0"/>
3528
- <line num="2206" type="stmt" count="0"/>
3529
  <line num="2207" type="stmt" count="0"/>
3530
- <line num="2208" type="stmt" count="0"/>
3531
  <line num="2210" type="stmt" count="0"/>
3532
- <line num="2220" type="stmt" count="1"/>
3533
- <line num="2229" type="stmt" count="1"/>
3534
- <line num="2230" type="stmt" count="1"/>
3535
- <line num="2231" type="stmt" count="1"/>
3536
- <line num="2232" type="stmt" count="1"/>
3537
- <line num="2233" type="stmt" count="1"/>
3538
- <line num="2236" type="stmt" count="1"/>
3539
- <line num="2237" type="stmt" count="0"/>
3540
- <line num="2238" type="stmt" count="0"/>
3541
- <line num="2240" type="stmt" count="1"/>
 
 
3542
  <line num="2241" type="stmt" count="0"/>
 
3543
  <line num="2243" type="stmt" count="0"/>
3544
  <line num="2244" type="stmt" count="0"/>
3545
  <line num="2245" type="stmt" count="0"/>
3546
  <line num="2246" type="stmt" count="0"/>
3547
- <line num="2249" type="stmt" count="1"/>
3548
- <line num="2250" type="stmt" count="1"/>
3549
- <line num="2253" type="stmt" count="1"/>
3550
- <line num="2254" type="stmt" count="1"/>
3551
- <line num="2257" type="stmt" count="1"/>
 
 
3552
  <line num="2258" type="stmt" count="0"/>
3553
  <line num="2259" type="stmt" count="0"/>
3554
  <line num="2260" type="stmt" count="0"/>
3555
- <line num="2262" type="stmt" count="1"/>
3556
- <line num="2263" type="stmt" count="1"/>
3557
- <line num="2264" type="stmt" count="1"/>
3558
- <line num="2267" type="stmt" count="1"/>
3559
- <line num="2270" type="stmt" count="1"/>
3560
- <line num="2273" type="stmt" count="1"/>
3561
- <line num="2274" type="stmt" count="1"/>
3562
- <line num="2277" type="stmt" count="1"/>
3563
- <line num="2281" type="stmt" count="1"/>
3564
- <line num="2283" type="stmt" count="1"/>
3565
- <line num="2284" type="stmt" count="1"/>
3566
- <line num="2287" type="stmt" count="1"/>
3567
- <line num="2290" type="stmt" count="1"/>
3568
- <line num="2292" type="stmt" count="1"/>
3569
- <line num="2294" type="stmt" count="1"/>
3570
- <line num="2297" type="stmt" count="1"/>
3571
- <line num="2310" type="method" name="page_archives" visibility="public" complexity="4" crap="20" count="0"/>
3572
- <line num="2311" type="stmt" count="0"/>
3573
- <line num="2314" type="stmt" count="0"/>
3574
- <line num="2316" type="stmt" count="0"/>
3575
- <line num="2319" type="stmt" count="0"/>
3576
- <line num="2322" type="stmt" count="0"/>
3577
- <line num="2323" type="stmt" count="0"/>
3578
- <line num="2325" type="stmt" count="0"/>
3579
- <line num="2328" type="stmt" count="0"/>
3580
- <line num="2329" type="stmt" count="0"/>
3581
- <line num="2330" type="stmt" count="0"/>
3582
- <line num="2332" type="stmt" count="0"/>
3583
- <line num="2333" type="stmt" count="0"/>
3584
- <line num="2336" type="stmt" count="0"/>
3585
- <line num="2339" type="stmt" count="0"/>
3586
- <line num="2342" type="stmt" count="0"/>
3587
- <line num="2344" type="stmt" count="0"/>
3588
- <line num="2345" type="stmt" count="0"/>
3589
- <line num="2346" type="stmt" count="0"/>
3590
- <line num="2349" type="stmt" count="0"/>
3591
- <line num="2351" type="stmt" count="0"/>
3592
- <line num="2354" type="stmt" count="0"/>
3593
- <line num="2355" type="stmt" count="0"/>
3594
- <line num="2356" type="stmt" count="0"/>
3595
- <line num="2358" type="stmt" count="0"/>
3596
- <line num="2361" type="stmt" count="0"/>
3597
- <line num="2362" type="stmt" count="0"/>
3598
- <line num="2371" type="method" name="boldgrid_backup_now_callback" visibility="public" complexity="10" crap="110" count="0"/>
3599
- <line num="2374" type="stmt" count="0"/>
3600
- <line num="2375" type="stmt" count="0"/>
3601
- <line num="2376" type="stmt" count="0"/>
3602
- <line num="2378" type="stmt" count="0"/>
3603
- <line num="2379" type="stmt" count="0"/>
3604
- <line num="2380" type="stmt" count="0"/>
3605
- <line num="2383" type="stmt" count="0"/>
3606
- <line num="2384" type="stmt" count="0"/>
3607
- <line num="2385" type="stmt" count="0"/>
3608
- <line num="2387" type="stmt" count="0"/>
3609
- <line num="2388" type="stmt" count="0"/>
3610
- <line num="2389" type="stmt" count="0"/>
3611
  <line num="2391" type="stmt" count="0"/>
3612
- <line num="2393" type="stmt" count="0"/>
3613
- <line num="2394" type="stmt" count="0"/>
3614
  <line num="2395" type="stmt" count="0"/>
 
3615
  <line num="2397" type="stmt" count="0"/>
3616
- <line num="2398" type="stmt" count="0"/>
3617
  <line num="2400" type="stmt" count="0"/>
3618
  <line num="2401" type="stmt" count="0"/>
3619
- <line num="2403" type="stmt" count="0"/>
 
3620
  <line num="2406" type="stmt" count="0"/>
3621
- <line num="2407" type="stmt" count="0"/>
3622
  <line num="2408" type="stmt" count="0"/>
3623
  <line num="2409" type="stmt" count="0"/>
3624
  <line num="2410" type="stmt" count="0"/>
3625
- <line num="2412" type="stmt" count="0"/>
3626
  <line num="2413" type="stmt" count="0"/>
3627
- <line num="2415" type="stmt" count="0"/>
3628
  <line num="2416" type="stmt" count="0"/>
3629
- <line num="2417" type="stmt" count="0"/>
3630
- <line num="2426" type="stmt" count="0"/>
3631
- <line num="2427" type="stmt" count="0"/>
3632
- <line num="2439" type="method" name="download_archive_file_callback" visibility="public" complexity="10" crap="110" count="0"/>
 
 
 
 
 
 
3633
  <line num="2441" type="stmt" count="0"/>
3634
- <line num="2444" type="stmt" count="0"/>
3635
  <line num="2445" type="stmt" count="0"/>
3636
  <line num="2446" type="stmt" count="0"/>
3637
- <line num="2447" type="stmt" count="0"/>
3638
- <line num="2450" type="stmt" count="0"/>
3639
- <line num="2451" type="stmt" count="0"/>
3640
- <line num="2452" type="stmt" count="0"/>
3641
- <line num="2453" type="stmt" count="0"/>
3642
- <line num="2454" type="stmt" count="0"/>
3643
- <line num="2458" type="stmt" count="0"/>
3644
- <line num="2459" type="stmt" count="0"/>
3645
- <line num="2460" type="stmt" count="0"/>
3646
- <line num="2461" type="stmt" count="0"/>
3647
- <line num="2462" type="stmt" count="0"/>
3648
  <line num="2466" type="stmt" count="0"/>
3649
- <line num="2469" type="stmt" count="0"/>
3650
- <line num="2470" type="stmt" count="0"/>
3651
  <line num="2471" type="stmt" count="0"/>
3652
- <line num="2472" type="stmt" count="0"/>
3653
  <line num="2475" type="stmt" count="0"/>
3654
- <line num="2478" type="stmt" count="0"/>
3655
  <line num="2479" type="stmt" count="0"/>
3656
  <line num="2480" type="stmt" count="0"/>
3657
  <line num="2481" type="stmt" count="0"/>
3658
- <line num="2485" type="stmt" count="0"/>
3659
- <line num="2486" type="stmt" count="0"/>
3660
- <line num="2487" type="stmt" count="0"/>
3661
- <line num="2490" type="stmt" count="0"/>
3662
- <line num="2491" type="stmt" count="0"/>
3663
- <line num="2492" type="stmt" count="0"/>
3664
- <line num="2493" type="stmt" count="0"/>
3665
- <line num="2495" type="stmt" count="0"/>
3666
- <line num="2497" type="stmt" count="0"/>
3667
- <line num="2499" type="stmt" count="0"/>
3668
- <line num="2500" type="stmt" count="0"/>
3669
- <line num="2501" type="stmt" count="0"/>
3670
- <line num="2504" type="stmt" count="0"/>
3671
- <line num="2505" type="stmt" count="0"/>
3672
- <line num="2515" type="method" name="page_backup_test" visibility="public" complexity="6" crap="42" count="0"/>
3673
- <line num="2517" type="stmt" count="0"/>
3674
- <line num="2520" type="stmt" count="0"/>
3675
- <line num="2523" type="stmt" count="0"/>
3676
- <line num="2526" type="stmt" count="0"/>
3677
- <line num="2529" type="stmt" count="0"/>
3678
- <line num="2531" type="stmt" count="0"/>
3679
- <line num="2534" type="stmt" count="0"/>
3680
- <line num="2537" type="stmt" count="0"/>
3681
- <line num="2540" type="stmt" count="0"/>
3682
- <line num="2543" type="stmt" count="0"/>
3683
- <line num="2546" type="stmt" count="0"/>
3684
- <line num="2548" type="stmt" count="0"/>
 
 
 
 
 
 
 
3685
  <line num="2556" type="stmt" count="0"/>
3686
- <line num="2557" type="stmt" count="0"/>
3687
- <line num="2558" type="stmt" count="0"/>
3688
- <line num="2559" type="stmt" count="0"/>
3689
- <line num="2560" type="stmt" count="0"/>
3690
- <line num="2563" type="stmt" count="0"/>
3691
- <line num="2564" type="stmt" count="0"/>
3692
- <line num="2565" type="stmt" count="0"/>
3693
- <line num="2566" type="stmt" count="0"/>
3694
- <line num="2567" type="stmt" count="0"/>
3695
- <line num="2568" type="stmt" count="0"/>
3696
- <line num="2569" type="stmt" count="0"/>
3697
  <line num="2570" type="stmt" count="0"/>
 
3698
  <line num="2572" type="stmt" count="0"/>
3699
- <line num="2575" type="stmt" count="0"/>
3700
- <line num="2576" type="stmt" count="0"/>
3701
- <line num="2577" type="stmt" count="0"/>
3702
- <line num="2578" type="stmt" count="0"/>
3703
- <line num="2579" type="stmt" count="0"/>
3704
- <line num="2580" type="stmt" count="0"/>
3705
- <line num="2582" type="stmt" count="0"/>
3706
- <line num="2583" type="stmt" count="0"/>
3707
- <line num="2584" type="stmt" count="0"/>
3708
- <line num="2586" type="stmt" count="0"/>
3709
- <line num="2587" type="stmt" count="0"/>
3710
- <line num="2588" type="stmt" count="0"/>
3711
- <line num="2590" type="stmt" count="0"/>
3712
- <line num="2591" type="stmt" count="0"/>
3713
- <line num="2593" type="stmt" count="0"/>
3714
- <line num="2594" type="stmt" count="0"/>
3715
- <line num="2595" type="stmt" count="0"/>
3716
- <line num="2602" type="stmt" count="0"/>
3717
- <line num="2604" type="stmt" count="0"/>
3718
- <line num="2605" type="stmt" count="0"/>
3719
- <line num="2607" type="stmt" count="0"/>
3720
- <line num="2612" type="stmt" count="0"/>
3721
- <line num="2613" type="stmt" count="0"/>
3722
- <line num="2614" type="stmt" count="0"/>
3723
- <line num="2618" type="stmt" count="0"/>
3724
- <line num="2619" type="stmt" count="0"/>
3725
- <line num="2634" type="method" name="set_doing_cron" visibility="public" complexity="3" crap="3" count="29"/>
3726
- <line num="2635" type="stmt" count="29"/>
3727
- <line num="2636" type="stmt" count="29"/>
3728
- <line num="2643" type="method" name="set_lang" visibility="public" complexity="1" crap="1" count="29"/>
3729
- <line num="2648" type="stmt" count="29"/>
3730
- <line num="2650" type="stmt" count="29"/>
3731
- <line num="2651" type="stmt" count="29"/>
3732
- <line num="2652" type="stmt" count="29"/>
3733
- <line num="2653" type="stmt" count="29"/>
3734
- <line num="2654" type="stmt" count="29"/>
3735
- <line num="2655" type="stmt" count="29"/>
3736
- <line num="2657" type="stmt" count="29"/>
3737
- <line num="2658" type="stmt" count="29"/>
3738
- <line num="2660" type="stmt" count="29"/>
3739
- <line num="2661" type="stmt" count="29"/>
3740
- <line num="2662" type="stmt" count="29"/>
3741
- <line num="2663" type="stmt" count="29"/>
3742
- <line num="2664" type="stmt" count="29"/>
3743
- <line num="2665" type="stmt" count="29"/>
3744
- <line num="2667" type="stmt" count="29"/>
3745
- <line num="2668" type="stmt" count="29"/>
3746
- <line num="2669" type="stmt" count="29"/>
3747
- <line num="2675" type="stmt" count="29"/>
3748
- <line num="2677" type="stmt" count="29"/>
3749
- <line num="2678" type="stmt" count="29"/>
3750
- <line num="2679" type="stmt" count="29"/>
3751
- <line num="2680" type="stmt" count="29"/>
3752
- <line num="2681" type="stmt" count="29"/>
3753
- <line num="2683" type="stmt" count="29"/>
3754
- <line num="2686" type="stmt" count="29"/>
3755
- <line num="2687" type="stmt" count="29"/>
3756
- <line num="2689" type="stmt" count="29"/>
3757
- <line num="2691" type="stmt" count="29"/>
3758
- <line num="2703" type="method" name="set_time_limit" visibility="public" complexity="2" crap="2" count="9"/>
3759
- <line num="2704" type="stmt" count="9"/>
3760
- <line num="2706" type="stmt" count="9"/>
3761
- <line num="2707" type="stmt" count="9"/>
3762
- <line num="2714" type="method" name="wp_ajax_restore" visibility="public" complexity="6" crap="42" count="0"/>
3763
- <line num="2715" type="stmt" count="0"/>
3764
- <line num="2716" type="stmt" count="0"/>
3765
- <line num="2719" type="stmt" count="0"/>
3766
- <line num="2720" type="stmt" count="0"/>
3767
- <line num="2721" type="stmt" count="0"/>
3768
- <line num="2723" type="stmt" count="0"/>
3769
- <line num="2724" type="stmt" count="0"/>
3770
- <line num="2725" type="stmt" count="0"/>
3771
- <line num="2728" type="stmt" count="0"/>
3772
- <line num="2729" type="stmt" count="0"/>
3773
- <line num="2730" type="stmt" count="0"/>
3774
- <line num="2732" type="stmt" count="0"/>
3775
- <line num="2733" type="stmt" count="0"/>
3776
- <line num="2734" type="stmt" count="0"/>
3777
- <line num="2737" type="stmt" count="0"/>
3778
- <line num="2738" type="stmt" count="0"/>
3779
- <line num="2740" type="stmt" count="0"/>
3780
- <line num="2753" type="stmt" count="0"/>
3781
- <line num="2754" type="stmt" count="0"/>
3782
- <line num="2756" type="stmt" count="0"/>
3783
- <line num="2757" type="stmt" count="0"/>
3784
- <line num="2758" type="stmt" count="0"/>
3785
- <line num="2759" type="stmt" count="0"/>
3786
- <line num="2760" type="stmt" count="0"/>
3787
- <line num="2762" type="stmt" count="0"/>
3788
- <line num="2763" type="stmt" count="0"/>
3789
- <line num="2764" type="stmt" count="0"/>
3790
- <line num="2765" type="stmt" count="0"/>
3791
- <line num="2767" type="stmt" count="0"/>
3792
- <line num="2769" type="stmt" count="0"/>
3793
- <line num="2770" type="stmt" count="0"/>
3794
- <line num="2786" type="method" name="boldgrid_backup_now_auto" visibility="public" complexity="4" crap="20" count="0"/>
3795
- <line num="2788" type="stmt" count="0"/>
3796
- <line num="2790" type="stmt" count="0"/>
3797
- <line num="2791" type="stmt" count="0"/>
3798
- <line num="2795" type="stmt" count="0"/>
3799
- <line num="2798" type="stmt" count="0"/>
3800
- <line num="2799" type="stmt" count="0"/>
3801
- <line num="2803" type="stmt" count="0"/>
3802
- <line num="2804" type="stmt" count="0"/>
3803
- <line num="2805" type="stmt" count="0"/>
3804
- <line num="2816" type="method" name="enforce_retention" visibility="public" complexity="8" crap="8.07" count="9"/>
3805
- <line num="2817" type="stmt" count="9"/>
3806
- <line num="2818" type="stmt" count="9"/>
3807
- <line num="2819" type="stmt" count="9"/>
3808
- <line num="2821" type="stmt" count="9"/>
3809
- <line num="2822" type="stmt" count="9"/>
3810
- <line num="2824" type="stmt" count="9"/>
3811
- <line num="2825" type="stmt" count="9"/>
3812
- <line num="2828" type="stmt" count="9"/>
3813
- <line num="2829" type="stmt" count="9"/>
3814
- <line num="2830" type="stmt" count="9"/>
3815
- <line num="2831" type="stmt" count="9"/>
3816
- <line num="2832" type="stmt" count="0"/>
3817
- <line num="2833" type="stmt" count="0"/>
3818
- <line num="2834" type="stmt" count="0"/>
3819
- <line num="2835" type="stmt" count="9"/>
3820
- <line num="2836" type="stmt" count="9"/>
3821
- <line num="2837" type="stmt" count="9"/>
3822
- <line num="2840" type="stmt" count="9"/>
3823
- <line num="2843" type="stmt" count="9"/>
3824
- <line num="2844" type="stmt" count="9"/>
3825
- <line num="2845" type="stmt" count="9"/>
3826
- <line num="2849" type="stmt" count="4"/>
3827
- <line num="2852" type="stmt" count="4"/>
3828
- <line num="2855" type="stmt" count="4"/>
3829
- <line num="2856" type="stmt" count="4"/>
3830
- <line num="2857" type="stmt" count="4"/>
3831
- <line num="2860" type="stmt" count="4"/>
3832
- <line num="2863" type="stmt" count="4"/>
3833
- <line num="2866" type="stmt" count="4"/>
3834
- <line num="2868" type="stmt" count="4"/>
3835
- <line num="2869" type="stmt" count="4"/>
3836
- <line num="2878" type="stmt" count="4"/>
3837
- <line num="2879" type="stmt" count="4"/>
3838
- <line num="2880" type="stmt" count="0"/>
3839
- <line num="2882" type="stmt" count="4"/>
3840
- <line num="2884" type="stmt" count="4"/>
3841
- <line num="2885" type="stmt" count="4"/>
3842
- <line num="2886" type="stmt" count="4"/>
3843
- <line num="2893" type="method" name="add_thickbox" visibility="public" complexity="2" crap="6" count="0"/>
3844
- <line num="2894" type="stmt" count="0"/>
3845
- <line num="2895" type="stmt" count="0"/>
3846
- <line num="2896" type="stmt" count="0"/>
3847
- <line num="2897" type="stmt" count="0"/>
3848
- <metrics loc="2898" ncloc="1517" classes="1" methods="29" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="1043" coveredstatements="461" elements="1072" coveredelements="465"/>
3849
  </file>
3850
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-cron-log.php">
3851
  <class name="Boldgrid_Backup_Admin_Cron_Log" namespace="global" fullPackage="Boldgrid.Backup.Admin.Cron">
@@ -5914,103 +5763,108 @@
5914
  </file>
5915
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-log.php">
5916
  <class name="Boldgrid_Backup_Admin_Log" namespace="global" fullPackage="Boldgrid.Backup.Admin">
5917
- <metrics complexity="24" methods="11" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="83" coveredstatements="60" elements="94" coveredelements="67"/>
5918
  </class>
5919
- <line num="78" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="38"/>
5920
- <line num="79" type="stmt" count="38"/>
5921
- <line num="80" type="stmt" count="38"/>
5922
- <line num="91" type="method" name="add" visibility="public" complexity="2" crap="2" count="9"/>
5923
- <line num="97" type="stmt" count="9"/>
5924
- <line num="98" type="stmt" count="9"/>
5925
- <line num="99" type="stmt" count="9"/>
5926
  <line num="102" type="stmt" count="9"/>
5927
- <line num="110" type="stmt" count="9"/>
5928
- <line num="111" type="stmt" count="9"/>
5929
- <line num="112" type="stmt" count="9"/>
5930
  <line num="113" type="stmt" count="9"/>
5931
- <line num="120" type="method" name="add_generic" visibility="public" complexity="2" crap="2" count="9"/>
5932
- <line num="121" type="stmt" count="9"/>
5933
- <line num="123" type="stmt" count="9"/>
5934
- <line num="125" type="stmt" count="9"/>
 
5935
  <line num="126" type="stmt" count="9"/>
5936
- <line num="127" type="stmt" count="9"/>
5937
- <line num="136" type="method" name="add_last_error" visibility="public" complexity="2" crap="2" count="9"/>
5938
- <line num="137" type="stmt" count="9"/>
 
5939
  <line num="140" type="stmt" count="9"/>
5940
- <line num="141" type="stmt" count="4"/>
5941
- <line num="142" type="stmt" count="4"/>
5942
- <line num="145" type="stmt" count="9"/>
5943
- <line num="146" type="stmt" count="9"/>
5944
- <line num="154" type="method" name="add_memory" visibility="public" complexity="1" crap="1" count="9"/>
5945
  <line num="155" type="stmt" count="9"/>
5946
- <line num="156" type="stmt" count="9"/>
5947
- <line num="157" type="stmt" count="9"/>
5948
- <line num="159" type="stmt" count="9"/>
5949
- <line num="160" type="stmt" count="9"/>
5950
- <line num="161" type="stmt" count="9"/>
5951
- <line num="162" type="stmt" count="9"/>
5952
- <line num="163" type="stmt" count="9"/>
5953
- <line num="164" type="stmt" count="9"/>
5954
- <line num="165" type="stmt" count="9"/>
5955
- <line num="166" type="stmt" count="9"/>
5956
- <line num="168" type="stmt" count="9"/>
5957
- <line num="169" type="stmt" count="9"/>
5958
- <line num="176" type="method" name="add_separator" visibility="public" complexity="1" crap="1" count="9"/>
5959
- <line num="177" type="stmt" count="9"/>
5960
  <line num="178" type="stmt" count="9"/>
5961
- <line num="185" type="method" name="clean_up" visibility="public" complexity="4" crap="4.25" count="9"/>
 
 
 
 
 
 
5962
  <line num="187" type="stmt" count="9"/>
5963
  <line num="188" type="stmt" count="9"/>
5964
- <line num="190" type="stmt" count="9"/>
 
5965
  <line num="192" type="stmt" count="9"/>
5966
- <line num="193" type="stmt" count="0"/>
5967
- <line num="197" type="stmt" count="9"/>
5968
- <line num="198" type="stmt" count="9"/>
5969
- <line num="199" type="stmt" count="9"/>
5970
- <line num="202" type="stmt" count="0"/>
5971
- <line num="204" type="stmt" count="0"/>
5972
- <line num="205" type="stmt" count="9"/>
5973
- <line num="206" type="stmt" count="9"/>
5974
- <line num="216" type="method" name="init" visibility="public" complexity="4" crap="4" count="9"/>
5975
- <line num="218" type="stmt" count="9"/>
5976
  <line num="220" type="stmt" count="9"/>
 
5977
  <line num="222" type="stmt" count="9"/>
5978
- <line num="224" type="stmt" count="9"/>
5979
- <line num="226" type="stmt" count="9"/>
5980
  <line num="228" type="stmt" count="9"/>
5981
  <line num="229" type="stmt" count="9"/>
5982
- <line num="231" type="stmt" count="9"/>
5983
- <line num="232" type="stmt" count="9"/>
5984
- <line num="233" type="stmt" count="9"/>
5985
- <line num="234" type="stmt" count="9"/>
5986
- <line num="235" type="stmt" count="9"/>
5987
- <line num="237" type="stmt" count="9"/>
5988
- <line num="247" type="method" name="init_signal_handler" visibility="private" complexity="4" crap="14.72" count="9"/>
 
 
 
5989
  <line num="256" type="stmt" count="9"/>
5990
  <line num="257" type="stmt" count="9"/>
5991
- <line num="260" type="stmt" count="0"/>
5992
- <line num="261" type="stmt" count="0"/>
5993
- <line num="262" type="stmt" count="0"/>
5994
- <line num="266" type="stmt" count="0"/>
5995
- <line num="270" type="stmt" count="0"/>
5996
- <line num="272" type="stmt" count="0"/>
5997
- <line num="274" type="stmt" count="0"/>
5998
- <line num="276" type="stmt" count="0"/>
5999
- <line num="282" type="stmt" count="0"/>
6000
  <line num="283" type="stmt" count="0"/>
 
6001
  <line num="285" type="stmt" count="0"/>
6002
- <line num="286" type="stmt" count="0"/>
6003
- <line num="287" type="stmt" count="0"/>
6004
- <line num="288" type="stmt" count="0"/>
6005
- <line num="295" type="method" name="shutdown" visibility="public" complexity="2" crap="6" count="0"/>
6006
- <line num="300" type="stmt" count="0"/>
6007
- <line num="301" type="stmt" count="0"/>
6008
- <line num="302" type="stmt" count="0"/>
6009
- <line num="303" type="stmt" count="0"/>
6010
- <line num="313" type="method" name="signal_handler" visibility="public" complexity="1" crap="2" count="0"/>
6011
- <line num="314" type="stmt" count="0"/>
6012
- <line num="316" type="stmt" count="0"/>
6013
- <metrics loc="318" ncloc="136" classes="1" methods="11" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="83" coveredstatements="60" elements="94" coveredelements="67"/>
 
 
 
 
 
 
 
 
6014
  </file>
6015
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-nopriv.php">
6016
  <class name="Boldgrid_Backup_Admin_Nopriv" namespace="global" fullPackage="Boldgrid.Backup.Admin">
@@ -6380,7 +6234,7 @@
6380
  </file>
6381
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-restore-helper.php">
6382
  <class name="Boldgrid_Backup_Admin_Restore_Helper" namespace="global" fullPackage="Boldgrid.Backup.Admin.Restore">
6383
- <metrics complexity="44" methods="10" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="103" coveredstatements="15" elements="113" coveredelements="16"/>
6384
  </class>
6385
  <line num="68" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="29"/>
6386
  <line num="69" type="stmt" count="29"/>
@@ -6404,98 +6258,94 @@
6404
  <line num="114" type="stmt" count="0"/>
6405
  <line num="115" type="stmt" count="0"/>
6406
  <line num="116" type="stmt" count="0"/>
6407
- <line num="127" type="method" name="post_restore" visibility="public" complexity="12" crap="156" count="0"/>
6408
  <line num="128" type="stmt" count="0"/>
6409
- <line num="129" type="stmt" count="0"/>
 
6410
  <line num="132" type="stmt" count="0"/>
6411
- <line num="134" type="stmt" count="0"/>
6412
  <line num="135" type="stmt" count="0"/>
6413
  <line num="136" type="stmt" count="0"/>
 
 
6414
  <line num="139" type="stmt" count="0"/>
6415
  <line num="140" type="stmt" count="0"/>
6416
- <line num="141" type="stmt" count="0"/>
6417
  <line num="142" type="stmt" count="0"/>
6418
- <line num="143" type="stmt" count="0"/>
6419
- <line num="144" type="stmt" count="0"/>
6420
- <line num="146" type="stmt" count="0"/>
6421
  <line num="152" type="stmt" count="0"/>
6422
  <line num="153" type="stmt" count="0"/>
 
6423
  <line num="155" type="stmt" count="0"/>
6424
- <line num="156" type="stmt" count="0"/>
6425
- <line num="157" type="stmt" count="0"/>
6426
- <line num="158" type="stmt" count="0"/>
6427
- <line num="159" type="stmt" count="0"/>
6428
- <line num="170" type="method" name="pre_restore" visibility="public" complexity="5" crap="30" count="0"/>
6429
  <line num="171" type="stmt" count="0"/>
6430
- <line num="172" type="stmt" count="0"/>
 
6431
  <line num="175" type="stmt" count="0"/>
 
6432
  <line num="177" type="stmt" count="0"/>
6433
- <line num="178" type="stmt" count="0"/>
6434
- <line num="179" type="stmt" count="0"/>
6435
  <line num="181" type="stmt" count="0"/>
6436
- <line num="182" type="stmt" count="0"/>
6437
- <line num="183" type="stmt" count="0"/>
6438
- <line num="184" type="stmt" count="0"/>
6439
- <line num="185" type="stmt" count="0"/>
6440
- <line num="188" type="stmt" count="0"/>
6441
- <line num="189" type="stmt" count="0"/>
6442
- <line num="200" type="method" name="prepare_restore" visibility="public" complexity="6" crap="42" count="0"/>
6443
- <line num="202" type="stmt" count="0"/>
6444
- <line num="204" type="stmt" count="0"/>
6445
  <line num="205" type="stmt" count="0"/>
6446
- <line num="213" type="stmt" count="0"/>
6447
- <line num="214" type="stmt" count="0"/>
6448
- <line num="215" type="stmt" count="0"/>
6449
- <line num="216" type="stmt" count="0"/>
6450
- <line num="217" type="stmt" count="0"/>
6451
- <line num="220" type="stmt" count="0"/>
6452
- <line num="239" type="method" name="set_writable_permissions" visibility="public" complexity="6" crap="6.77" count="1"/>
 
 
 
 
6453
  <line num="240" type="stmt" count="1"/>
6454
- <line num="242" type="stmt" count="1"/>
6455
  <line num="244" type="stmt" count="1"/>
6456
- <line num="245" type="stmt" count="1"/>
6457
- <line num="246" type="stmt" count="1"/>
6458
  <line num="248" type="stmt" count="1"/>
6459
- <line num="249" type="stmt" count="0"/>
6460
- <line num="252" type="stmt" count="1"/>
6461
- <line num="255" type="stmt" count="1"/>
6462
- <line num="256" type="stmt" count="1"/>
 
6463
  <line num="259" type="stmt" count="1"/>
6464
- <line num="260" type="stmt" count="0"/>
6465
- <line num="262" type="stmt" count="0"/>
6466
- <line num="264" type="stmt" count="0"/>
6467
- <line num="265" type="stmt" count="0"/>
6468
- <line num="267" type="stmt" count="1"/>
6469
- <line num="268" type="stmt" count="1"/>
6470
- <line num="270" type="stmt" count="1"/>
6471
- <line num="285" type="method" name="shutdown" visibility="public" complexity="4" crap="20" count="0"/>
6472
- <line num="286" type="stmt" count="0"/>
6473
- <line num="287" type="stmt" count="0"/>
6474
  <line num="290" type="stmt" count="0"/>
 
 
 
 
6475
  <line num="297" type="stmt" count="0"/>
6476
  <line num="298" type="stmt" count="0"/>
 
6477
  <line num="301" type="stmt" count="0"/>
6478
- <line num="302" type="stmt" count="0"/>
6479
- <line num="303" type="stmt" count="0"/>
6480
- <line num="304" type="stmt" count="0"/>
6481
- <line num="305" type="stmt" count="0"/>
6482
- <line num="306" type="stmt" count="0"/>
6483
  <line num="307" type="stmt" count="0"/>
6484
- <line num="309" type="stmt" count="0"/>
6485
- <line num="315" type="stmt" count="0"/>
6486
- <line num="316" type="stmt" count="0"/>
6487
- <line num="327" type="method" name="restore_fail" visibility="public" complexity="3" crap="12" count="0"/>
 
 
6488
  <line num="328" type="stmt" count="0"/>
 
6489
  <line num="330" type="stmt" count="0"/>
6490
  <line num="331" type="stmt" count="0"/>
6491
  <line num="333" type="stmt" count="0"/>
6492
- <line num="336" type="stmt" count="0"/>
6493
- <line num="337" type="stmt" count="0"/>
6494
- <line num="338" type="stmt" count="0"/>
6495
- <line num="339" type="stmt" count="0"/>
6496
- <line num="341" type="stmt" count="0"/>
6497
- <line num="343" type="stmt" count="0"/>
6498
- <metrics loc="345" ncloc="182" classes="1" methods="10" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="103" coveredstatements="15" elements="113" coveredelements="16"/>
6499
  </file>
6500
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-scheduler.php">
6501
  <class name="Boldgrid_Backup_Admin_Scheduler" namespace="global" fullPackage="Boldgrid.Backup.Admin">
@@ -7199,8 +7049,8 @@
7199
  <line num="45" type="stmt" count="13"/>
7200
  <line num="47" type="stmt" count="13"/>
7201
  <line num="48" type="stmt" count="13"/>
7202
- <line num="49" type="stmt" count="13"/>
7203
- <line num="50" type="stmt" count="13"/>
7204
  <line num="52" type="stmt" count="13"/>
7205
  <line num="54" type="stmt" count="13"/>
7206
  <line num="64" type="method" name="get_tasks" visibility="public" complexity="1" crap="1" count="13"/>
@@ -7211,14 +7061,14 @@
7211
  <line num="82" type="stmt" count="13"/>
7212
  <line num="84" type="stmt" count="13"/>
7213
  <line num="91" type="stmt" count="13"/>
7214
- <line num="92" type="stmt" count="13"/>
7215
- <line num="94" type="stmt" count="13"/>
7216
- <line num="95" type="stmt" count="8"/>
7217
- <line num="99" type="stmt" count="13"/>
7218
- <line num="100" type="stmt" count="13"/>
7219
- <line num="101" type="stmt" count="13"/>
7220
- <line num="102" type="stmt" count="13"/>
7221
- <line num="104" type="stmt" count="10"/>
7222
  <line num="107" type="stmt" count="13"/>
7223
  <line num="117" type="method" name="update_tasks" visibility="public" complexity="2" crap="2.06" count="13"/>
7224
  <line num="118" type="stmt" count="13"/>
@@ -7253,8 +7103,8 @@
7253
  <line num="140" type="stmt" count="13"/>
7254
  <line num="152" type="method" name="get_data" visibility="public" complexity="2" crap="2" count="1"/>
7255
  <line num="153" type="stmt" count="1"/>
7256
- <line num="163" type="method" name="get_id" visibility="public" complexity="1" crap="1" count="2"/>
7257
- <line num="164" type="stmt" count="2"/>
7258
  <line num="174" type="method" name="get_status" visibility="public" complexity="3" crap="3" count="13"/>
7259
  <line num="175" type="stmt" count="13"/>
7260
  <line num="176" type="stmt" count="4"/>
@@ -9507,23 +9357,23 @@
9507
  </file>
9508
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/orphan/class-finder.php">
9509
  <class name="Finder" namespace="Boldgrid\Backup\Admin\Orphan">
9510
- <metrics complexity="9" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="13" elements="26" coveredelements="15"/>
9511
  </class>
9512
  <line num="47" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
9513
  <line num="48" type="stmt" count="9"/>
9514
  <line num="49" type="stmt" count="9"/>
9515
- <line num="63" type="method" name="is_file_old" visibility="public" complexity="2" crap="6" count="0"/>
9516
- <line num="65" type="stmt" count="0"/>
9517
- <line num="67" type="stmt" count="0"/>
9518
  <line num="79" type="method" name="run" visibility="public" complexity="1" crap="1" count="9"/>
9519
  <line num="80" type="stmt" count="9"/>
9520
  <line num="82" type="stmt" count="9"/>
9521
- <line num="90" type="method" name="set_filelist" visibility="public" complexity="5" crap="7.09" count="9"/>
9522
  <line num="92" type="stmt" count="9"/>
9523
  <line num="93" type="stmt" count="9"/>
9524
  <line num="94" type="stmt" count="9"/>
9525
  <line num="95" type="stmt" count="9"/>
9526
- <line num="96" type="stmt" count="0"/>
9527
  <line num="97" type="stmt" count="0"/>
9528
  <line num="98" type="stmt" count="0"/>
9529
  <line num="99" type="stmt" count="0"/>
@@ -9535,7 +9385,7 @@
9535
  <line num="107" type="stmt" count="0"/>
9536
  <line num="108" type="stmt" count="9"/>
9537
  <line num="109" type="stmt" count="9"/>
9538
- <metrics loc="110" ncloc="41" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="13" elements="26" coveredelements="15"/>
9539
  </file>
9540
  </package>
9541
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/partials/archive-details/browser-entry.php">
@@ -10625,47 +10475,45 @@
10625
  </file>
10626
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/partials/boldgrid-backup-admin-mail-restore.php">
10627
  <line num="17" type="stmt" count="1"/>
10628
- <line num="28" type="stmt" count="1"/>
10629
  <line num="30" type="stmt" count="1"/>
10630
  <line num="32" type="stmt" count="1"/>
10631
  <line num="34" type="stmt" count="1"/>
10632
  <line num="36" type="stmt" count="1"/>
10633
  <line num="38" type="stmt" count="1"/>
10634
- <line num="39" type="stmt" count="0"/>
10635
- <line num="40" type="stmt" count="0"/>
10636
  <line num="42" type="stmt" count="1"/>
10637
- <line num="43" type="stmt" count="1"/>
10638
- <line num="44" type="stmt" count="1"/>
10639
- <line num="45" type="stmt" count="0"/>
10640
  <line num="46" type="stmt" count="0"/>
10641
- <line num="48" type="stmt" count="0"/>
10642
  <line num="51" type="stmt" count="1"/>
10643
  <line num="53" type="stmt" count="1"/>
10644
  <line num="55" type="stmt" count="1"/>
10645
  <line num="57" type="stmt" count="1"/>
10646
  <line num="59" type="stmt" count="1"/>
 
10647
  <line num="61" type="stmt" count="1"/>
10648
- <line num="62" type="stmt" count="1"/>
10649
  <line num="63" type="stmt" count="1"/>
10650
  <line num="65" type="stmt" count="1"/>
 
10651
  <line num="67" type="stmt" count="1"/>
10652
- <line num="68" type="stmt" count="1"/>
10653
  <line num="69" type="stmt" count="1"/>
10654
- <line num="71" type="stmt" count="1"/>
10655
- <line num="72" type="stmt" count="0"/>
10656
  <line num="73" type="stmt" count="0"/>
10657
- <line num="75" type="stmt" count="0"/>
10658
- <line num="76" type="stmt" count="0"/>
10659
  <line num="78" type="stmt" count="1"/>
10660
- <line num="80" type="stmt" count="1"/>
10661
  <line num="81" type="stmt" count="1"/>
10662
  <line num="83" type="stmt" count="1"/>
10663
  <line num="85" type="stmt" count="1"/>
10664
  <line num="87" type="stmt" count="1"/>
10665
  <line num="89" type="stmt" count="1"/>
10666
  <line num="91" type="stmt" count="1"/>
10667
- <line num="93" type="stmt" count="1"/>
10668
- <metrics loc="93" ncloc="58" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="32" elements="41" coveredelements="32"/>
10669
  </file>
10670
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/partials/boldgrid-backup-admin-nav.php">
10671
  <line num="19" type="stmt" count="1"/>
@@ -14387,36 +14235,37 @@
14387
  <line num="61" type="stmt" count="0"/>
14388
  <line num="62" type="stmt" count="0"/>
14389
  <line num="63" type="stmt" count="0"/>
14390
- <line num="65" type="stmt" count="0"/>
14391
  <line num="66" type="stmt" count="0"/>
14392
  <line num="67" type="stmt" count="0"/>
14393
  <line num="68" type="stmt" count="0"/>
14394
  <line num="69" type="stmt" count="0"/>
14395
- <line num="72" type="stmt" count="0"/>
14396
  <line num="73" type="stmt" count="0"/>
14397
  <line num="74" type="stmt" count="0"/>
14398
  <line num="75" type="stmt" count="0"/>
14399
  <line num="76" type="stmt" count="0"/>
14400
  <line num="77" type="stmt" count="0"/>
14401
- <line num="79" type="stmt" count="0"/>
14402
  <line num="80" type="stmt" count="0"/>
14403
  <line num="81" type="stmt" count="0"/>
14404
- <line num="83" type="stmt" count="0"/>
14405
  <line num="84" type="stmt" count="0"/>
14406
  <line num="85" type="stmt" count="0"/>
14407
- <line num="87" type="stmt" count="0"/>
14408
- <line num="90" type="stmt" count="0"/>
14409
  <line num="91" type="stmt" count="0"/>
14410
  <line num="92" type="stmt" count="0"/>
14411
- <line num="94" type="stmt" count="0"/>
14412
  <line num="95" type="stmt" count="0"/>
14413
  <line num="96" type="stmt" count="0"/>
14414
  <line num="97" type="stmt" count="0"/>
14415
  <line num="98" type="stmt" count="0"/>
14416
  <line num="99" type="stmt" count="0"/>
14417
  <line num="100" type="stmt" count="0"/>
14418
- <line num="102" type="stmt" count="0"/>
14419
- <metrics loc="102" ncloc="71" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="0" elements="60" coveredelements="0"/>
 
14420
  </file>
14421
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/boldgrid-backup.php">
14422
  <line num="29" type="stmt" count="0"/>
@@ -15481,75 +15330,78 @@
15481
  <package name="Boldgrid\Backup\Archive">
15482
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/archive/class-factory.php">
15483
  <class name="Factory" namespace="Boldgrid\Backup\Archive">
15484
- <metrics complexity="7" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="21" elements="26" coveredelements="23"/>
15485
  </class>
15486
- <line num="32" type="method" name="get_by_filename" visibility="public" complexity="1" crap="1" count="4"/>
15487
- <line num="33" type="stmt" count="4"/>
15488
- <line num="35" type="stmt" count="4"/>
15489
- <line num="37" type="stmt" count="4"/>
15490
- <line num="39" type="stmt" count="4"/>
15491
- <line num="50" type="method" name="get_by_id" visibility="public" complexity="3" crap="3" count="1"/>
15492
- <line num="51" type="stmt" count="1"/>
15493
- <line num="54" type="stmt" count="1"/>
15494
- <line num="55" type="stmt" count="1"/>
15495
- <line num="56" type="stmt" count="1"/>
15496
- <line num="58" type="stmt" count="1"/>
15497
- <line num="59" type="stmt" count="1"/>
15498
  <line num="60" type="stmt" count="1"/>
15499
- <line num="62" type="stmt" count="1"/>
15500
- <line num="73" type="method" name="set_id" visibility="private" complexity="3" crap="3.05" count="4"/>
15501
- <line num="74" type="stmt" count="4"/>
15502
- <line num="76" type="stmt" count="4"/>
15503
- <line num="78" type="stmt" count="4"/>
15504
- <line num="79" type="stmt" count="4"/>
15505
- <line num="80" type="stmt" count="4"/>
15506
- <line num="82" type="stmt" count="4"/>
15507
- <line num="83" type="stmt" count="0"/>
15508
- <line num="84" type="stmt" count="0"/>
15509
- <line num="85" type="stmt" count="4"/>
15510
- <line num="87" type="stmt" count="4"/>
15511
- <line num="90" type="stmt" count="4"/>
15512
- <metrics loc="92" ncloc="48" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="21" elements="26" coveredelements="23"/>
 
 
 
 
 
 
15513
  </file>
15514
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/archive/class-option.php">
15515
  <class name="Option" namespace="Boldgrid\Backup\Archive">
15516
  <metrics complexity="14" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="31" elements="35" coveredelements="35"/>
15517
  </class>
15518
- <line num="43" type="method" name="get_all" visibility="public" complexity="1" crap="1" count="4"/>
15519
- <line num="44" type="stmt" count="4"/>
15520
- <line num="55" type="method" name="get_by_key" visibility="public" complexity="4" crap="4" count="4"/>
15521
- <line num="56" type="stmt" count="4"/>
15522
- <line num="58" type="stmt" count="4"/>
15523
- <line num="60" type="stmt" count="4"/>
15524
  <line num="61" type="stmt" count="1"/>
15525
  <line num="62" type="stmt" count="1"/>
15526
  <line num="63" type="stmt" count="1"/>
15527
- <line num="65" type="stmt" count="4"/>
15528
- <line num="67" type="stmt" count="4"/>
15529
- <line num="77" type="method" name="get_next_id" visibility="public" complexity="4" crap="4" count="4"/>
15530
- <line num="78" type="stmt" count="4"/>
15531
- <line num="80" type="stmt" count="4"/>
15532
- <line num="82" type="stmt" count="4"/>
15533
  <line num="83" type="stmt" count="1"/>
15534
  <line num="85" type="stmt" count="1"/>
15535
- <line num="86" type="stmt" count="4"/>
15536
- <line num="88" type="stmt" count="4"/>
15537
- <line num="100" type="method" name="update_by_filename" visibility="public" complexity="5" crap="5" count="4"/>
15538
- <line num="101" type="stmt" count="4"/>
15539
- <line num="103" type="stmt" count="4"/>
15540
- <line num="106" type="stmt" count="4"/>
15541
  <line num="107" type="stmt" count="1"/>
15542
  <line num="108" type="stmt" count="1"/>
15543
  <line num="110" type="stmt" count="1"/>
15544
  <line num="112" type="stmt" count="1"/>
15545
- <line num="114" type="stmt" count="4"/>
15546
- <line num="117" type="stmt" count="4"/>
15547
- <line num="118" type="stmt" count="4"/>
15548
- <line num="119" type="stmt" count="4"/>
15549
- <line num="120" type="stmt" count="4"/>
15550
- <line num="122" type="stmt" count="4"/>
15551
- <line num="124" type="stmt" count="4"/>
15552
- <line num="125" type="stmt" count="4"/>
15553
  <metrics loc="126" ncloc="63" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="31" elements="35" coveredelements="35"/>
15554
  </file>
15555
  </package>
@@ -15769,156 +15621,171 @@
15769
  </file>
15770
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/class-boldgrid-backup-archiver.php">
15771
  <class name="Boldgrid_Backup_Archiver" namespace="global" fullPackage="Boldgrid.Backup">
15772
- <metrics complexity="34" methods="7" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="140" coveredstatements="117" elements="147" coveredelements="120"/>
15773
  </class>
15774
- <line num="77" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="9"/>
15775
- <line num="78" type="stmt" count="9"/>
15776
- <line num="79" type="stmt" count="9"/>
15777
- <line num="81" type="stmt" count="9"/>
15778
- <line num="82" type="stmt" count="9"/>
15779
  <line num="83" type="stmt" count="9"/>
15780
- <line num="84" type="stmt" count="1"/>
15781
- <line num="85" type="stmt" count="1"/>
15782
- <line num="86" type="stmt" count="1"/>
15783
  <line num="88" type="stmt" count="9"/>
15784
- <line num="95" type="method" name="complete" visibility="public" complexity="6" crap="6.09" count="9"/>
15785
- <line num="97" type="stmt" count="9"/>
15786
- <line num="98" type="stmt" count="9"/>
15787
- <line num="131" type="stmt" count="9"/>
15788
- <line num="142" type="stmt" count="9"/>
15789
- <line num="143" type="stmt" count="9"/>
15790
- <line num="145" type="stmt" count="9"/>
15791
- <line num="146" type="stmt" count="9"/>
15792
- <line num="147" type="stmt" count="9"/>
15793
- <line num="148" type="stmt" count="9"/>
15794
- <line num="150" type="stmt" count="9"/>
15795
- <line num="151" type="stmt" count="9"/>
15796
- <line num="154" type="stmt" count="9"/>
15797
- <line num="156" type="stmt" count="9"/>
15798
- <line num="159" type="stmt" count="9"/>
 
 
 
 
 
15799
  <line num="161" type="stmt" count="9"/>
15800
- <line num="164" type="stmt" count="9"/>
15801
- <line num="165" type="stmt" count="0"/>
15802
- <line num="166" type="stmt" count="0"/>
15803
- <line num="168" type="stmt" count="9"/>
15804
- <line num="170" type="stmt" count="9"/>
15805
- <line num="171" type="stmt" count="0"/>
15806
- <line num="172" type="stmt" count="0"/>
15807
- <line num="174" type="stmt" count="9"/>
15808
- <line num="175" type="stmt" count="1"/>
15809
- <line num="176" type="stmt" count="1"/>
15810
  <line num="178" type="stmt" count="9"/>
15811
- <line num="179" type="stmt" count="9"/>
15812
  <line num="181" type="stmt" count="9"/>
15813
- <line num="183" type="stmt" count="9"/>
15814
  <line num="184" type="stmt" count="9"/>
15815
- <line num="193" type="method" name="get_info" visibility="public" complexity="1" crap="1" count="9"/>
 
 
15816
  <line num="194" type="stmt" count="9"/>
15817
- <line num="204" type="method" name="init" visibility="public" complexity="18" crap="20.41" count="9"/>
15818
- <line num="206" type="stmt" count="9"/>
15819
- <line num="207" type="stmt" count="9"/>
 
 
 
 
 
 
15820
  <line num="208" type="stmt" count="9"/>
15821
- <line num="210" type="stmt" count="9"/>
15822
  <line num="211" type="stmt" count="9"/>
 
15823
  <line num="214" type="stmt" count="9"/>
15824
- <line num="215" type="stmt" count="9"/>
15825
- <line num="216" type="stmt" count="0"/>
15826
- <line num="217" type="stmt" count="0"/>
15827
- <line num="218" type="stmt" count="9"/>
15828
- <line num="220" type="stmt" count="9"/>
15829
- <line num="222" type="stmt" count="9"/>
15830
  <line num="224" type="stmt" count="9"/>
15831
- <line num="225" type="stmt" count="1"/>
15832
- <line num="226" type="stmt" count="1"/>
15833
- <line num="228" type="stmt" count="9"/>
15834
- <line num="230" type="stmt" count="9"/>
15835
- <line num="232" type="stmt" count="9"/>
15836
  <line num="238" type="stmt" count="9"/>
15837
- <line num="239" type="stmt" count="9"/>
15838
  <line num="241" type="stmt" count="9"/>
15839
- <line num="242" type="stmt" count="9"/>
15840
- <line num="243" type="stmt" count="9"/>
 
 
 
15841
  <line num="250" type="stmt" count="9"/>
15842
- <line num="252" type="stmt" count="9"/>
 
 
 
 
 
 
15843
  <line num="263" type="stmt" count="9"/>
15844
- <line num="264" type="stmt" count="0"/>
15845
- <line num="265" type="stmt" count="0"/>
15846
- <line num="266" type="stmt" count="0"/>
15847
  <line num="270" type="stmt" count="9"/>
15848
- <line num="272" type="stmt" count="0"/>
15849
- <line num="274" type="stmt" count="0"/>
15850
- <line num="275" type="stmt" count="0"/>
15851
- <line num="277" type="stmt" count="0"/>
15852
- <line num="285" type="stmt" count="9"/>
15853
- <line num="286" type="stmt" count="9"/>
15854
- <line num="287" type="stmt" count="9"/>
15855
- <line num="288" type="stmt" count="9"/>
15856
- <line num="289" type="stmt" count="9"/>
15857
- <line num="290" type="stmt" count="9"/>
15858
- <line num="291" type="stmt" count="9"/>
15859
- <line num="292" type="stmt" count="9"/>
15860
- <line num="293" type="stmt" count="9"/>
15861
  <line num="294" type="stmt" count="9"/>
15862
- <line num="295" type="stmt" count="9"/>
15863
- <line num="297" type="stmt" count="9"/>
15864
- <line num="298" type="stmt" count="9"/>
15865
- <line num="299" type="stmt" count="9"/>
15866
- <line num="300" type="stmt" count="9"/>
15867
- <line num="302" type="stmt" count="9"/>
15868
- <line num="303" type="stmt" count="9"/>
15869
- <line num="304" type="stmt" count="9"/>
15870
- <line num="305" type="stmt" count="9"/>
15871
- <line num="306" type="stmt" count="9"/>
15872
- <line num="307" type="stmt" count="9"/>
15873
- <line num="308" type="stmt" count="9"/>
15874
- <line num="309" type="stmt" count="9"/>
15875
- <line num="310" type="stmt" count="9"/>
15876
- <line num="311" type="stmt" count="9"/>
15877
- <line num="312" type="stmt" count="9"/>
15878
- <line num="313" type="stmt" count="9"/>
15879
- <line num="314" type="stmt" count="9"/>
15880
  <line num="317" type="stmt" count="9"/>
15881
- <line num="318" type="stmt" count="0"/>
15882
  <line num="319" type="stmt" count="9"/>
15883
- <line num="320" type="stmt" count="0"/>
15884
- <line num="321" type="stmt" count="0"/>
15885
  <line num="322" type="stmt" count="9"/>
15886
- <line num="323" type="stmt" count="0"/>
15887
  <line num="324" type="stmt" count="9"/>
15888
- <line num="325" type="stmt" count="0"/>
15889
- <line num="326" type="stmt" count="0"/>
15890
- <line num="327" type="stmt" count="9"/>
 
 
15891
  <line num="331" type="stmt" count="9"/>
15892
- <line num="332" type="stmt" count="9"/>
15893
  <line num="333" type="stmt" count="9"/>
15894
- <line num="334" type="stmt" count="0"/>
 
 
 
15895
  <line num="338" type="stmt" count="9"/>
15896
  <line num="339" type="stmt" count="9"/>
15897
  <line num="340" type="stmt" count="9"/>
 
15898
  <line num="342" type="stmt" count="9"/>
15899
  <line num="343" type="stmt" count="9"/>
15900
- <line num="351" type="method" name="is_archiving" visibility="public" complexity="1" crap="2" count="0"/>
 
 
 
 
 
15901
  <line num="352" type="stmt" count="0"/>
15902
- <line num="358" type="method" name="is_init_incomplete" visibility="public" complexity="2" crap="2" count="9"/>
15903
- <line num="359" type="stmt" count="9"/>
15904
- <line num="360" type="stmt" count="9"/>
 
 
 
15905
  <line num="362" type="stmt" count="9"/>
15906
- <line num="372" type="method" name="run" visibility="public" complexity="4" crap="4.05" count="9"/>
 
 
 
 
 
 
15907
  <line num="374" type="stmt" count="9"/>
15908
- <line num="375" type="stmt" count="0"/>
15909
- <line num="376" type="stmt" count="0"/>
15910
- <line num="377" type="stmt" count="9"/>
15911
- <line num="380" type="stmt" count="9"/>
15912
- <line num="381" type="stmt" count="9"/>
15913
- <line num="382" type="stmt" count="9"/>
15914
- <line num="383" type="stmt" count="9"/>
15915
- <line num="384" type="stmt" count="9"/>
15916
- <line num="385" type="stmt" count="9"/>
15917
- <line num="386" type="stmt" count="1"/>
15918
- <line num="388" type="stmt" count="9"/>
15919
- <line num="390" type="stmt" count="9"/>
15920
- <line num="392" type="stmt" count="9"/>
15921
- <metrics loc="394" ncloc="191" classes="1" methods="7" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="140" coveredstatements="117" elements="147" coveredelements="120"/>
 
 
 
 
 
 
 
 
 
15922
  </file>
15923
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/class-boldgrid-backup-authentication.php">
15924
  <class name="Boldgrid_Backup_Authentication" namespace="global" fullPackage="Boldgrid.Backup">
@@ -16074,84 +15941,202 @@
16074
  </file>
16075
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/class-boldgrid-backup-restorer.php">
16076
  <class name="Boldgrid_Backup_Restorer" namespace="global" fullPackage="Boldgrid.Backup">
16077
- <metrics complexity="17" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="71" coveredelements="0"/>
16078
  </class>
16079
- <line num="56" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
16080
- <line num="57" type="stmt" count="0"/>
16081
- <line num="58" type="stmt" count="0"/>
16082
- <line num="65" type="method" name="complete" visibility="public" complexity="2" crap="6" count="0"/>
16083
- <line num="67" type="stmt" count="0"/>
16084
- <line num="68" type="stmt" count="0"/>
16085
- <line num="70" type="stmt" count="0"/>
16086
- <line num="71" type="stmt" count="0"/>
16087
- <line num="72" type="stmt" count="0"/>
16088
- <line num="75" type="stmt" count="0"/>
16089
- <line num="76" type="stmt" count="0"/>
16090
- <line num="85" type="method" name="get_error" visibility="private" complexity="2" crap="6" count="0"/>
16091
- <line num="86" type="stmt" count="0"/>
16092
- <line num="87" type="stmt" count="0"/>
16093
- <line num="96" type="method" name="get_info" visibility="public" complexity="1" crap="2" count="0"/>
16094
- <line num="97" type="stmt" count="0"/>
16095
- <line num="98" type="stmt" count="0"/>
16096
- <line num="107" type="method" name="has_error" visibility="private" complexity="1" crap="2" count="0"/>
16097
- <line num="108" type="stmt" count="0"/>
16098
- <line num="109" type="stmt" count="0"/>
16099
- <line num="116" type="method" name="init" visibility="public" complexity="2" crap="6" count="0"/>
16100
- <line num="118" type="stmt" count="0"/>
16101
- <line num="119" type="stmt" count="0"/>
16102
- <line num="120" type="stmt" count="0"/>
 
16103
  <line num="127" type="stmt" count="0"/>
16104
  <line num="128" type="stmt" count="0"/>
16105
- <line num="129" type="stmt" count="0"/>
16106
- <line num="130" type="stmt" count="0"/>
16107
- <line num="131" type="stmt" count="0"/>
16108
- <line num="132" type="stmt" count="0"/>
16109
- <line num="133" type="stmt" count="0"/>
16110
  <line num="134" type="stmt" count="0"/>
16111
- <line num="143" type="method" name="restore_by_id" visibility="public" complexity="1" crap="2" count="0"/>
16112
- <line num="144" type="stmt" count="0"/>
16113
- <line num="146" type="stmt" count="0"/>
16114
- <line num="147" type="stmt" count="0"/>
16115
- <line num="157" type="method" name="restore_by_key" visibility="public" complexity="1" crap="2" count="0"/>
16116
- <line num="158" type="stmt" count="0"/>
16117
  <line num="159" type="stmt" count="0"/>
16118
- <line num="160" type="stmt" count="0"/>
16119
- <line num="161" type="stmt" count="0"/>
16120
- <line num="163" type="stmt" count="0"/>
16121
- <line num="164" type="stmt" count="0"/>
16122
- <line num="173" type="method" name="restore_by_url" visibility="public" complexity="2" crap="6" count="0"/>
16123
- <line num="175" type="stmt" count="0"/>
16124
- <line num="176" type="stmt" count="0"/>
16125
- <line num="179" type="stmt" count="0"/>
16126
- <line num="180" type="stmt" count="0"/>
16127
- <line num="181" type="stmt" count="0"/>
16128
- <line num="182" type="stmt" count="0"/>
16129
- <line num="185" type="stmt" count="0"/>
16130
- <line num="186" type="stmt" count="0"/>
16131
- <line num="187" type="stmt" count="0"/>
16132
- <line num="197" type="method" name="run" visibility="public" complexity="1" crap="2" count="0"/>
16133
- <line num="198" type="stmt" count="0"/>
16134
- <line num="200" type="stmt" count="0"/>
16135
- <line num="202" type="stmt" count="0"/>
16136
- <line num="203" type="stmt" count="0"/>
16137
- <line num="215" type="method" name="run_by_id" visibility="public" complexity="1" crap="2" count="0"/>
16138
- <line num="216" type="stmt" count="0"/>
16139
- <line num="218" type="stmt" count="0"/>
16140
- <line num="220" type="stmt" count="0"/>
16141
- <line num="221" type="stmt" count="0"/>
16142
- <line num="233" type="method" name="run_by_url" visibility="public" complexity="1" crap="2" count="0"/>
16143
- <line num="234" type="stmt" count="0"/>
16144
  <line num="236" type="stmt" count="0"/>
 
16145
  <line num="238" type="stmt" count="0"/>
16146
- <line num="239" type="stmt" count="0"/>
16147
- <line num="248" type="method" name="set_error" visibility="private" complexity="1" crap="2" count="0"/>
 
 
 
16148
  <line num="249" type="stmt" count="0"/>
16149
  <line num="250" type="stmt" count="0"/>
16150
- <metrics loc="251" ncloc="96" classes="1" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="71" coveredelements="0"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16151
  </file>
16152
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/class-boldgrid-backup.php">
16153
  <class name="Boldgrid_Backup" namespace="global" fullPackage="Boldgrid">
16154
- <metrics complexity="19" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="304" coveredstatements="0" elements="313" coveredelements="0"/>
16155
  </class>
16156
  <line num="66" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
16157
  <line num="67" type="stmt" count="0"/>
@@ -16285,81 +16270,78 @@
16285
  <line num="313" type="stmt" count="0"/>
16286
  <line num="316" type="stmt" count="0"/>
16287
  <line num="317" type="stmt" count="0"/>
16288
- <line num="319" type="stmt" count="0"/>
16289
- <line num="322" type="stmt" count="0"/>
16290
  <line num="323" type="stmt" count="0"/>
16291
- <line num="325" type="stmt" count="0"/>
16292
- <line num="328" type="stmt" count="0"/>
16293
  <line num="329" type="stmt" count="0"/>
16294
- <line num="331" type="stmt" count="0"/>
16295
- <line num="333" type="stmt" count="0"/>
16296
- <line num="335" type="stmt" count="0"/>
16297
- <line num="342" type="stmt" count="0"/>
16298
- <line num="343" type="stmt" count="0"/>
16299
- <line num="344" type="stmt" count="0"/>
16300
- <line num="345" type="stmt" count="0"/>
16301
  <line num="346" type="stmt" count="0"/>
16302
- <line num="347" type="stmt" count="0"/>
16303
- <line num="348" type="stmt" count="0"/>
16304
  <line num="349" type="stmt" count="0"/>
16305
  <line num="350" type="stmt" count="0"/>
16306
  <line num="351" type="stmt" count="0"/>
16307
- <line num="352" type="stmt" count="0"/>
16308
- <line num="353" type="stmt" count="0"/>
16309
  <line num="355" type="stmt" count="0"/>
16310
  <line num="356" type="stmt" count="0"/>
16311
- <line num="367" type="method" name="set_locale" visibility="private" complexity="1" crap="2" count="0"/>
 
 
 
 
 
 
 
 
16312
  <line num="368" type="stmt" count="0"/>
16313
- <line num="370" type="stmt" count="0"/>
16314
- <line num="371" type="stmt" count="0"/>
16315
- <line num="379" type="method" name="define_admin_hooks" visibility="private" complexity="7" crap="56" count="0"/>
16316
- <line num="381" type="stmt" count="0"/>
16317
- <line num="383" type="stmt" count="0"/>
16318
- <line num="386" type="stmt" count="0"/>
16319
- <line num="387" type="stmt" count="0"/>
16320
- <line num="390" type="stmt" count="0"/>
16321
  <line num="391" type="stmt" count="0"/>
16322
  <line num="392" type="stmt" count="0"/>
16323
- <line num="394" type="stmt" count="0"/>
16324
- <line num="395" type="stmt" count="0"/>
16325
- <line num="396" type="stmt" count="0"/>
16326
- <line num="399" type="stmt" count="0"/>
16327
- <line num="400" type="stmt" count="0"/>
16328
- <line num="401" type="stmt" count="0"/>
16329
  <line num="402" type="stmt" count="0"/>
16330
- <line num="405" type="stmt" count="0"/>
16331
- <line num="406" type="stmt" count="0"/>
16332
  <line num="407" type="stmt" count="0"/>
16333
  <line num="408" type="stmt" count="0"/>
16334
- <line num="410" type="stmt" count="0"/>
16335
- <line num="411" type="stmt" count="0"/>
16336
  <line num="412" type="stmt" count="0"/>
16337
  <line num="413" type="stmt" count="0"/>
16338
  <line num="414" type="stmt" count="0"/>
 
16339
  <line num="417" type="stmt" count="0"/>
16340
  <line num="418" type="stmt" count="0"/>
16341
- <line num="419" type="stmt" count="0"/>
16342
- <line num="420" type="stmt" count="0"/>
16343
  <line num="423" type="stmt" count="0"/>
16344
  <line num="424" type="stmt" count="0"/>
16345
- <line num="425" type="stmt" count="0"/>
16346
- <line num="426" type="stmt" count="0"/>
16347
  <line num="429" type="stmt" count="0"/>
16348
  <line num="430" type="stmt" count="0"/>
16349
- <line num="431" type="stmt" count="0"/>
16350
  <line num="432" type="stmt" count="0"/>
 
 
16351
  <line num="435" type="stmt" count="0"/>
16352
  <line num="436" type="stmt" count="0"/>
16353
- <line num="437" type="stmt" count="0"/>
16354
- <line num="438" type="stmt" count="0"/>
16355
  <line num="441" type="stmt" count="0"/>
16356
  <line num="442" type="stmt" count="0"/>
16357
- <line num="443" type="stmt" count="0"/>
16358
- <line num="444" type="stmt" count="0"/>
16359
  <line num="447" type="stmt" count="0"/>
16360
  <line num="448" type="stmt" count="0"/>
16361
- <line num="449" type="stmt" count="0"/>
16362
- <line num="450" type="stmt" count="0"/>
16363
  <line num="452" type="stmt" count="0"/>
16364
  <line num="453" type="stmt" count="0"/>
16365
  <line num="454" type="stmt" count="0"/>
@@ -16371,123 +16353,139 @@
16371
  <line num="464" type="stmt" count="0"/>
16372
  <line num="465" type="stmt" count="0"/>
16373
  <line num="466" type="stmt" count="0"/>
16374
- <line num="468" type="stmt" count="0"/>
16375
  <line num="469" type="stmt" count="0"/>
16376
  <line num="470" type="stmt" count="0"/>
16377
  <line num="471" type="stmt" count="0"/>
16378
  <line num="472" type="stmt" count="0"/>
16379
- <line num="473" type="stmt" count="0"/>
16380
  <line num="475" type="stmt" count="0"/>
16381
- <line num="477" type="stmt" count="0"/>
16382
  <line num="479" type="stmt" count="0"/>
 
16383
  <line num="481" type="stmt" count="0"/>
16384
  <line num="482" type="stmt" count="0"/>
16385
- <line num="483" type="stmt" count="0"/>
16386
  <line num="485" type="stmt" count="0"/>
16387
  <line num="486" type="stmt" count="0"/>
 
16388
  <line num="488" type="stmt" count="0"/>
16389
  <line num="490" type="stmt" count="0"/>
 
16390
  <line num="492" type="stmt" count="0"/>
 
16391
  <line num="494" type="stmt" count="0"/>
16392
- <line num="496" type="stmt" count="0"/>
16393
  <line num="497" type="stmt" count="0"/>
16394
- <line num="498" type="stmt" count="0"/>
16395
- <line num="500" type="stmt" count="0"/>
16396
- <line num="502" type="stmt" count="0"/>
16397
  <line num="503" type="stmt" count="0"/>
16398
  <line num="504" type="stmt" count="0"/>
16399
  <line num="505" type="stmt" count="0"/>
16400
  <line num="507" type="stmt" count="0"/>
16401
- <line num="509" type="stmt" count="0"/>
16402
- <line num="511" type="stmt" count="0"/>
16403
- <line num="513" type="stmt" count="0"/>
16404
- <line num="515" type="stmt" count="0"/>
16405
- <line num="517" type="stmt" count="0"/>
 
 
 
16406
  <line num="522" type="stmt" count="0"/>
16407
  <line num="524" type="stmt" count="0"/>
 
16408
  <line num="526" type="stmt" count="0"/>
16409
- <line num="528" type="stmt" count="0"/>
16410
- <line num="530" type="stmt" count="0"/>
16411
- <line num="532" type="stmt" count="0"/>
16412
- <line num="534" type="stmt" count="0"/>
16413
- <line num="536" type="stmt" count="0"/>
16414
  <line num="537" type="stmt" count="0"/>
16415
  <line num="539" type="stmt" count="0"/>
16416
- <line num="540" type="stmt" count="0"/>
16417
- <line num="542" type="stmt" count="0"/>
16418
  <line num="544" type="stmt" count="0"/>
16419
- <line num="545" type="stmt" count="0"/>
16420
  <line num="546" type="stmt" count="0"/>
16421
  <line num="548" type="stmt" count="0"/>
16422
  <line num="550" type="stmt" count="0"/>
16423
- <line num="551" type="stmt" count="0"/>
16424
  <line num="554" type="stmt" count="0"/>
16425
- <line num="555" type="stmt" count="0"/>
16426
  <line num="556" type="stmt" count="0"/>
16427
- <line num="557" type="stmt" count="0"/>
16428
- <line num="560" type="stmt" count="0"/>
16429
  <line num="561" type="stmt" count="0"/>
 
16430
  <line num="564" type="stmt" count="0"/>
 
16431
  <line num="567" type="stmt" count="0"/>
 
16432
  <line num="570" type="stmt" count="0"/>
 
16433
  <line num="573" type="stmt" count="0"/>
16434
- <line num="575" type="stmt" count="0"/>
16435
  <line num="577" type="stmt" count="0"/>
 
16436
  <line num="579" type="stmt" count="0"/>
16437
- <line num="581" type="stmt" count="0"/>
 
16438
  <line num="584" type="stmt" count="0"/>
16439
- <line num="585" type="stmt" count="0"/>
16440
- <line num="586" type="stmt" count="0"/>
16441
  <line num="587" type="stmt" count="0"/>
16442
- <line num="588" type="stmt" count="0"/>
16443
- <line num="589" type="stmt" count="0"/>
16444
- <line num="592" type="stmt" count="0"/>
16445
- <line num="595" type="stmt" count="0"/>
16446
  <line num="596" type="stmt" count="0"/>
16447
- <line num="599" type="method" name="anonymous function" complexity="1" crap="2" count="0"/>
16448
  <line num="600" type="stmt" count="0"/>
16449
- <line num="601" type="stmt" count="0"/>
16450
- <line num="603" type="stmt" count="0"/>
16451
  <line num="604" type="stmt" count="0"/>
16452
- <line num="606" type="stmt" count="0"/>
16453
  <line num="607" type="stmt" count="0"/>
 
16454
  <line num="609" type="stmt" count="0"/>
16455
  <line num="610" type="stmt" count="0"/>
16456
  <line num="611" type="stmt" count="0"/>
16457
- <line num="613" type="stmt" count="0"/>
16458
  <line num="615" type="stmt" count="0"/>
16459
- <line num="616" type="stmt" count="0"/>
16460
- <line num="617" type="stmt" count="0"/>
16461
  <line num="618" type="stmt" count="0"/>
16462
  <line num="619" type="stmt" count="0"/>
16463
- <line num="620" type="stmt" count="0"/>
16464
  <line num="623" type="stmt" count="0"/>
16465
  <line num="624" type="stmt" count="0"/>
16466
- <line num="625" type="stmt" count="0"/>
16467
- <line num="628" type="stmt" count="0"/>
16468
- <line num="635" type="stmt" count="0"/>
 
 
 
 
16469
  <line num="636" type="stmt" count="0"/>
16470
- <line num="637" type="stmt" count="0"/>
16471
  <line num="639" type="stmt" count="0"/>
16472
  <line num="640" type="stmt" count="0"/>
 
16473
  <line num="642" type="stmt" count="0"/>
16474
- <line num="649" type="stmt" count="0"/>
16475
- <line num="650" type="stmt" count="0"/>
 
 
16476
  <line num="651" type="stmt" count="0"/>
16477
- <line num="652" type="stmt" count="0"/>
16478
- <line num="659" type="method" name="run" visibility="public" complexity="1" crap="2" count="0"/>
16479
  <line num="660" type="stmt" count="0"/>
16480
- <line num="661" type="stmt" count="0"/>
16481
- <line num="670" type="method" name="get_plugin_name" visibility="public" complexity="1" crap="2" count="0"/>
16482
- <line num="671" type="stmt" count="0"/>
16483
  <line num="672" type="stmt" count="0"/>
16484
- <line num="680" type="method" name="get_loader" visibility="public" complexity="1" crap="2" count="0"/>
16485
- <line num="681" type="stmt" count="0"/>
16486
- <line num="682" type="stmt" count="0"/>
16487
- <line num="690" type="method" name="get_version" visibility="public" complexity="1" crap="2" count="0"/>
16488
- <line num="691" type="stmt" count="0"/>
16489
- <line num="692" type="stmt" count="0"/>
16490
- <metrics loc="693" ncloc="433" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="325" coveredstatements="0" elements="334" coveredelements="0"/>
 
 
 
 
 
 
 
 
 
16491
  </file>
16492
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/config/config.cron.php">
16493
  <line num="17" type="stmt" count="1"/>
@@ -16508,11 +16506,16 @@
16508
  <line num="53" type="stmt" count="1"/>
16509
  <line num="55" type="stmt" count="1"/>
16510
  <line num="56" type="stmt" count="1"/>
16511
- <line num="57" type="stmt" count="1"/>
16512
- <line num="58" type="stmt" count="1"/>
16513
  <line num="60" type="stmt" count="1"/>
 
16514
  <line num="62" type="stmt" count="1"/>
16515
- <metrics loc="62" ncloc="36" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="19" elements="22" coveredelements="19"/>
 
 
 
 
 
 
16516
  </file>
16517
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/config/config.plugin.php">
16518
  <line num="17" type="stmt" count="1"/>
@@ -16694,12 +16697,189 @@
16694
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/index.php">
16695
  <metrics loc="8" ncloc="1" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
16696
  </file>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16697
  <package name="Boldgrid\Backup\V2\Archiver">
16698
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/class-archiver.php">
16699
  <class name="Archiver" namespace="Boldgrid\Backup\V2\Archiver">
16700
- <metrics complexity="5" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="33" elements="35" coveredelements="33"/>
16701
  </class>
16702
- <line num="33" type="method" name="run" visibility="public" complexity="5" crap="5" count="1"/>
16703
  <line num="34" type="stmt" count="1"/>
16704
  <line num="36" type="stmt" count="1"/>
16705
  <line num="39" type="stmt" count="1"/>
@@ -16729,35 +16909,33 @@
16729
  <line num="74" type="stmt" count="1"/>
16730
  <line num="76" type="stmt" count="1"/>
16731
  <line num="78" type="stmt" count="0"/>
16732
- <line num="80" type="stmt" count="1"/>
16733
  <line num="81" type="stmt" count="1"/>
16734
- <line num="83" type="stmt" count="1"/>
16735
- <line num="85" type="stmt" count="1"/>
16736
  <line num="86" type="stmt" count="1"/>
16737
- <metrics loc="87" ncloc="61" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="33" elements="35" coveredelements="33"/>
 
16738
  </file>
16739
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/class-factory.php">
16740
  <class name="Factory" namespace="Boldgrid\Backup\V2\Archiver">
16741
- <metrics complexity="4" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="17" coveredelements="17"/>
16742
  </class>
16743
- <line num="25" type="method" name="run" visibility="public" complexity="4" crap="4" count="1"/>
16744
  <line num="26" type="stmt" count="1"/>
16745
  <line num="29" type="stmt" count="1"/>
16746
  <line num="30" type="stmt" count="1"/>
16747
  <line num="31" type="stmt" count="1"/>
16748
  <line num="33" type="stmt" count="1"/>
16749
- <line num="36" type="stmt" count="1"/>
16750
- <line num="37" type="stmt" count="1"/>
16751
  <line num="38" type="stmt" count="1"/>
16752
  <line num="39" type="stmt" count="1"/>
16753
- <line num="42" type="stmt" count="1"/>
 
16754
  <line num="43" type="stmt" count="1"/>
16755
  <line num="44" type="stmt" count="1"/>
16756
- <line num="45" type="stmt" count="1"/>
16757
- <line num="47" type="stmt" count="1"/>
16758
- <line num="48" type="stmt" count="1"/>
16759
- <line num="50" type="stmt" count="1"/>
16760
- <metrics loc="52" ncloc="27" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="17" coveredelements="17"/>
16761
  </file>
16762
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/class-resumer.php">
16763
  <class name="Resumer" namespace="Boldgrid\Backup\V2\Archiver">
@@ -16810,7 +16988,7 @@
16810
  <package name="Boldgrid\Backup\V2\Archiver\Steps\Archive_Files">
16811
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/steps/archive_files/class-part.php">
16812
  <class name="Part" namespace="Boldgrid\Backup\V2\Archiver\Steps\Archive_Files">
16813
- <metrics complexity="12" methods="10" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="30" elements="42" coveredelements="38"/>
16814
  </class>
16815
  <line num="95" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
16816
  <line num="96" type="stmt" count="1"/>
@@ -16819,42 +16997,51 @@
16819
  <line num="100" type="stmt" count="1"/>
16820
  <line num="101" type="stmt" count="1"/>
16821
  <line num="102" type="stmt" count="1"/>
16822
- <line num="115" type="method" name="add_batch" visibility="public" complexity="3" crap="3" count="1"/>
16823
  <line num="116" type="stmt" count="1"/>
16824
  <line num="117" type="stmt" count="1"/>
16825
  <line num="119" type="stmt" count="1"/>
16826
  <line num="121" type="stmt" count="1"/>
16827
  <line num="123" type="stmt" count="1"/>
 
16828
  <line num="127" type="stmt" count="1"/>
16829
  <line num="129" type="stmt" count="1"/>
16830
- <line num="131" type="stmt" count="1"/>
16831
- <line num="141" type="method" name="complete" visibility="public" complexity="1" crap="1" count="1"/>
16832
- <line num="142" type="stmt" count="1"/>
16833
- <line num="143" type="stmt" count="1"/>
16834
  <line num="144" type="stmt" count="1"/>
16835
- <line num="153" type="method" name="get_max_size" visibility="public" complexity="1" crap="2" count="0"/>
16836
- <line num="154" type="stmt" count="0"/>
16837
- <line num="164" type="method" name="get_number" visibility="public" complexity="1" crap="2" count="0"/>
16838
- <line num="165" type="stmt" count="0"/>
16839
- <line num="177" type="method" name="get_remaining_size" visibility="public" complexity="1" crap="1" count="1"/>
16840
- <line num="178" type="stmt" count="1"/>
16841
- <line num="188" type="method" name="get_size" visibility="public" complexity="1" crap="1" count="1"/>
16842
- <line num="190" type="stmt" count="1"/>
16843
- <line num="192" type="stmt" count="1"/>
16844
- <line num="204" type="method" name="is_empty" visibility="public" complexity="1" crap="1" count="1"/>
16845
- <line num="205" type="stmt" count="1"/>
16846
- <line num="207" type="stmt" count="1"/>
16847
- <line num="213" type="method" name="set_configs" visibility="public" complexity="1" crap="1" count="1"/>
16848
- <line num="215" type="stmt" count="1"/>
16849
- <line num="216" type="stmt" count="1"/>
16850
- <line num="218" type="stmt" count="1"/>
 
 
16851
  <line num="219" type="stmt" count="1"/>
16852
- <line num="233" type="method" name="set_key" visibility="public" complexity="1" crap="1" count="1"/>
16853
- <line num="234" type="stmt" count="1"/>
16854
- <line num="236" type="stmt" count="1"/>
16855
- <line num="238" type="stmt" count="1"/>
16856
- <line num="239" type="stmt" count="1"/>
16857
- <metrics loc="240" ncloc="87" classes="1" methods="10" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="30" elements="42" coveredelements="38"/>
 
 
 
 
 
 
16858
  </file>
16859
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/steps/archive_files/class-parts.php">
16860
  <class name="Parts" namespace="Boldgrid\Backup\V2\Archiver\Steps\Archive_Files">
@@ -16947,111 +17134,112 @@
16947
  </file>
16948
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/steps/class-archive-files.php">
16949
  <class name="Archive_Files" namespace="Boldgrid\Backup\V2\Archiver\Steps" fullPackage="Archive">
16950
- <metrics complexity="26" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="75" elements="98" coveredelements="79"/>
16951
  </class>
16952
- <line num="83" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
16953
- <line num="84" type="stmt" count="1"/>
16954
  <line num="86" type="stmt" count="1"/>
16955
- <line num="87" type="stmt" count="1"/>
16956
- <line num="100" type="method" name="get_next_batch" visibility="private" complexity="13" crap="14.35" count="1"/>
16957
- <line num="102" type="stmt" count="1"/>
16958
  <line num="104" type="stmt" count="1"/>
16959
  <line num="106" type="stmt" count="1"/>
16960
  <line num="108" type="stmt" count="1"/>
16961
  <line num="110" type="stmt" count="1"/>
16962
- <line num="111" type="stmt" count="1"/>
16963
  <line num="112" type="stmt" count="1"/>
16964
- <line num="115" type="stmt" count="1"/>
16965
- <line num="116" type="stmt" count="1"/>
16966
- <line num="117" type="stmt" count="1"/>
16967
- <line num="120" type="stmt" count="1"/>
16968
- <line num="121" type="stmt" count="0"/>
16969
- <line num="122" type="stmt" count="0"/>
16970
- <line num="125" type="stmt" count="0"/>
16971
- <line num="126" type="stmt" count="0"/>
16972
- <line num="127" type="stmt" count="0"/>
16973
- <line num="128" type="stmt" count="0"/>
16974
- <line num="131" type="stmt" count="1"/>
16975
- <line num="132" type="stmt" count="1"/>
16976
- <line num="133" type="stmt" count="1"/>
16977
- <line num="136" type="stmt" count="1"/>
16978
- <line num="137" type="stmt" count="1"/>
16979
- <line num="139" type="stmt" count="1"/>
16980
  <line num="140" type="stmt" count="1"/>
16981
  <line num="141" type="stmt" count="1"/>
16982
  <line num="142" type="stmt" count="1"/>
16983
- <line num="143" type="stmt" count="1"/>
16984
- <line num="144" type="stmt" count="1"/>
16985
  <line num="145" type="stmt" count="1"/>
16986
- <line num="147" type="stmt" count="1"/>
 
 
16987
  <line num="150" type="stmt" count="1"/>
16988
  <line num="151" type="stmt" count="1"/>
 
16989
  <line num="153" type="stmt" count="1"/>
16990
- <line num="154" type="stmt" count="0"/>
16991
- <line num="155" type="stmt" count="0"/>
16992
- <line num="158" type="stmt" count="1"/>
16993
- <line num="161" type="stmt" count="1"/>
16994
  <line num="162" type="stmt" count="1"/>
16995
- <line num="163" type="stmt" count="1"/>
16996
- <line num="165" type="stmt" count="1"/>
16997
- <line num="175" type="method" name="get_configs" visibility="public" complexity="1" crap="1" count="1"/>
16998
- <line num="176" type="stmt" count="1"/>
16999
- <line num="184" type="method" name="run" visibility="public" complexity="9" crap="9.92" count="1"/>
17000
- <line num="187" type="stmt" count="1"/>
17001
- <line num="189" type="stmt" count="1"/>
17002
- <line num="197" type="stmt" count="1"/>
17003
  <line num="198" type="stmt" count="1"/>
17004
- <line num="199" type="stmt" count="0"/>
17005
- <line num="200" type="stmt" count="0"/>
17006
- <line num="203" type="stmt" count="1"/>
17007
- <line num="204" type="stmt" count="1"/>
17008
- <line num="205" type="stmt" count="1"/>
17009
- <line num="207" type="stmt" count="1"/>
17010
- <line num="208" type="stmt" count="1"/>
17011
- <line num="210" type="stmt" count="1"/>
17012
- <line num="216" type="stmt" count="1"/>
17013
- <line num="217" type="stmt" count="1"/>
17014
  <line num="218" type="stmt" count="1"/>
17015
- <line num="219" type="stmt" count="1"/>
17016
- <line num="221" type="stmt" count="1"/>
17017
- <line num="222" type="stmt" count="1"/>
17018
- <line num="224" type="stmt" count="1"/>
17019
- <line num="226" type="stmt" count="1"/>
17020
  <line num="228" type="stmt" count="1"/>
17021
- <line num="229" type="stmt" count="0"/>
17022
  <line num="230" type="stmt" count="0"/>
17023
  <line num="231" type="stmt" count="0"/>
17024
- <line num="232" type="stmt" count="1"/>
17025
- <line num="234" type="stmt" count="1"/>
17026
  <line num="236" type="stmt" count="1"/>
 
17027
  <line num="239" type="stmt" count="1"/>
17028
  <line num="240" type="stmt" count="1"/>
17029
- <line num="241" type="stmt" count="1"/>
17030
  <line num="242" type="stmt" count="1"/>
17031
- <line num="243" type="stmt" count="0"/>
17032
- <line num="244" type="stmt" count="0"/>
17033
- <line num="246" type="stmt" count="1"/>
17034
- <line num="247" type="stmt" count="0"/>
17035
- <line num="248" type="stmt" count="0"/>
17036
  <line num="251" type="stmt" count="1"/>
17037
- <line num="252" type="stmt" count="1"/>
17038
  <line num="254" type="stmt" count="1"/>
17039
  <line num="256" type="stmt" count="1"/>
17040
- <line num="262" type="method" name="set_configs" visibility="public" complexity="1" crap="1" count="1"/>
17041
- <line num="264" type="stmt" count="1"/>
 
 
 
 
17042
  <line num="265" type="stmt" count="1"/>
17043
  <line num="267" type="stmt" count="1"/>
17044
- <line num="268" type="stmt" count="1"/>
17045
- <line num="275" type="method" name="set_filelist" visibility="private" complexity="1" crap="1" count="1"/>
17046
- <line num="276" type="stmt" count="1"/>
 
 
 
17047
  <line num="277" type="stmt" count="1"/>
17048
- <line num="279" type="stmt" count="1"/>
17049
- <line num="280" type="stmt" count="1"/>
17050
- <metrics loc="281" ncloc="151" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="75" elements="98" coveredelements="79"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17051
  </file>
17052
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/steps/class-discovery.php">
17053
  <class name="Discovery" namespace="Boldgrid\Backup\V2\Archiver\Steps">
17054
- <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="20" elements="23" coveredelements="23"/>
17055
  </class>
17056
  <line num="29" type="method" name="run" visibility="public" complexity="1" crap="1" count="1"/>
17057
  <line num="30" type="stmt" count="1"/>
@@ -17066,17 +17254,19 @@
17066
  <line num="56" type="method" name="files" visibility="private" complexity="2" crap="2" count="1"/>
17067
  <line num="57" type="stmt" count="1"/>
17068
  <line num="58" type="stmt" count="1"/>
17069
- <line num="60" type="stmt" count="1"/>
17070
  <line num="61" type="stmt" count="1"/>
17071
- <line num="63" type="stmt" count="1"/>
17072
- <line num="65" type="stmt" count="1"/>
17073
  <line num="66" type="stmt" count="1"/>
17074
- <line num="67" type="stmt" count="1"/>
17075
  <line num="69" type="stmt" count="1"/>
17076
  <line num="70" type="stmt" count="1"/>
17077
  <line num="72" type="stmt" count="1"/>
17078
  <line num="73" type="stmt" count="1"/>
17079
- <metrics loc="74" ncloc="41" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="20" elements="23" coveredelements="23"/>
 
 
17080
  </file>
17081
  </package>
17082
  <package name="Boldgrid\Backup\V2\Filelist">
@@ -17108,6 +17298,189 @@
17108
  <metrics loc="110" ncloc="44" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="21" coveredelements="21"/>
17109
  </file>
17110
  </package>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17111
  <package name="Boldgrid\Backup\V2\Step">
17112
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/step/class-data.php">
17113
  <class name="Data" namespace="Boldgrid\Backup\V2\Step">
@@ -17131,139 +17504,158 @@
17131
  </file>
17132
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/step/class-json-file.php">
17133
  <class name="Json_File" namespace="Boldgrid\Backup\V2\Step" fullPackage="Json">
17134
- <metrics complexity="9" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="15" elements="25" coveredelements="20"/>
17135
  </class>
17136
- <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
17137
  <line num="36" type="stmt" count="1"/>
17138
  <line num="38" type="stmt" count="1"/>
17139
- <line num="39" type="stmt" count="1"/>
17140
- <line num="44" type="method" name="get" visibility="public" complexity="2" crap="2" count="1"/>
17141
- <line num="45" type="stmt" count="1"/>
17142
- <line num="47" type="stmt" count="1"/>
17143
- <line num="48" type="stmt" count="1"/>
17144
  <line num="50" type="stmt" count="1"/>
17145
- <line num="56" type="method" name="get_key" visibility="public" complexity="2" crap="2" count="1"/>
17146
- <line num="57" type="stmt" count="1"/>
17147
- <line num="59" type="stmt" count="1"/>
17148
- <line num="65" type="method" name="set_key" visibility="public" complexity="1" crap="1" count="1"/>
17149
- <line num="66" type="stmt" count="1"/>
17150
- <line num="68" type="stmt" count="1"/>
17151
- <line num="70" type="stmt" count="1"/>
17152
  <line num="71" type="stmt" count="1"/>
17153
- <line num="76" type="method" name="set_keys" visibility="public" complexity="2" crap="6" count="0"/>
17154
- <line num="77" type="stmt" count="0"/>
17155
- <line num="78" type="stmt" count="0"/>
17156
- <line num="79" type="stmt" count="0"/>
17157
- <line num="80" type="stmt" count="0"/>
17158
- <line num="85" type="method" name="write" visibility="public" complexity="1" crap="1" count="1"/>
17159
- <line num="86" type="stmt" count="1"/>
17160
- <line num="87" type="stmt" count="1"/>
17161
- <metrics loc="88" ncloc="46" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="15" elements="25" coveredelements="20"/>
 
 
 
17162
  </file>
17163
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/step/class-step.php">
17164
  <class name="Step" namespace="Boldgrid\Backup\V2\Step">
17165
- <metrics complexity="32" methods="22" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="66" elements="99" coveredelements="85"/>
17166
  </class>
17167
- <line num="112" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
17168
- <line num="113" type="stmt" count="1"/>
17169
  <line num="115" type="stmt" count="1"/>
17170
- <line num="116" type="stmt" count="1"/>
17171
  <line num="117" type="stmt" count="1"/>
17172
  <line num="118" type="stmt" count="1"/>
17173
  <line num="119" type="stmt" count="1"/>
17174
  <line num="121" type="stmt" count="1"/>
17175
  <line num="122" type="stmt" count="1"/>
 
17176
  <line num="124" type="stmt" count="1"/>
17177
- <line num="126" type="stmt" count="1"/>
17178
  <line num="127" type="stmt" count="1"/>
17179
- <line num="134" type="method" name="add_attempt" visibility="public" complexity="1" crap="1" count="1"/>
17180
- <line num="135" type="stmt" count="1"/>
17181
- <line num="136" type="stmt" count="1"/>
17182
- <line num="138" type="stmt" count="1"/>
17183
- <line num="139" type="stmt" count="1"/>
17184
- <line num="140" type="stmt" count="1"/>
17185
  <line num="141" type="stmt" count="1"/>
17186
  <line num="142" type="stmt" count="1"/>
17187
- <line num="151" type="method" name="check_in" visibility="public" complexity="2" crap="2" count="1"/>
17188
- <line num="152" type="stmt" count="1"/>
17189
- <line num="155" type="stmt" count="1"/>
17190
- <line num="156" type="stmt" count="1"/>
17191
- <line num="157" type="stmt" count="1"/>
17192
- <line num="158" type="stmt" count="1"/>
17193
- <line num="159" type="stmt" count="1"/>
17194
- <line num="166" type="method" name="complete" visibility="public" complexity="1" crap="1" count="1"/>
 
 
 
 
17195
  <line num="167" type="stmt" count="1"/>
17196
- <line num="168" type="stmt" count="1"/>
17197
- <line num="170" type="stmt" count="1"/>
17198
- <line num="171" type="stmt" count="1"/>
17199
- <line num="173" type="stmt" count="1"/>
17200
- <line num="174" type="stmt" count="1"/>
17201
  <line num="176" type="stmt" count="1"/>
17202
- <line num="177" type="stmt" count="1"/>
17203
  <line num="178" type="stmt" count="1"/>
17204
- <line num="183" type="method" name="fail" visibility="public" complexity="1" crap="2" count="0"/>
17205
- <line num="184" type="stmt" count="0"/>
17206
- <line num="185" type="stmt" count="0"/>
17207
- <line num="187" type="stmt" count="0"/>
17208
- <line num="189" type="stmt" count="0"/>
17209
- <line num="190" type="stmt" count="0"/>
17210
- <line num="199" type="method" name="get_core" visibility="public" complexity="1" crap="1" count="1"/>
17211
- <line num="200" type="stmt" count="1"/>
17212
- <line num="210" type="method" name="get_contents" visibility="public" complexity="3" crap="3" count="1"/>
17213
- <line num="211" type="stmt" count="1"/>
17214
- <line num="213" type="stmt" count="1"/>
17215
- <line num="214" type="stmt" count="1"/>
17216
- <line num="215" type="stmt" count="1"/>
17217
- <line num="216" type="stmt" count="1"/>
17218
- <line num="217" type="stmt" count="1"/>
17219
- <line num="219" type="stmt" count="1"/>
17220
- <line num="232" type="method" name="get_data_type" visibility="public" complexity="1" crap="1" count="1"/>
17221
- <line num="233" type="stmt" count="1"/>
17222
- <line num="243" type="method" name="get_dir" visibility="public" complexity="1" crap="1" count="1"/>
17223
- <line num="244" type="stmt" count="1"/>
17224
- <line num="250" type="method" name="get_info" visibility="public" complexity="1" crap="1" count="1"/>
17225
- <line num="251" type="stmt" count="1"/>
17226
- <line num="257" type="method" name="get_parent" visibility="public" complexity="1" crap="1" count="1"/>
17227
- <line num="258" type="stmt" count="1"/>
17228
- <line num="269" type="method" name="get_path_to" visibility="public" complexity="1" crap="1" count="1"/>
 
 
 
 
 
 
17229
  <line num="270" type="stmt" count="1"/>
17230
- <line num="276" type="method" name="get_this" visibility="public" complexity="1" crap="1" count="1"/>
17231
- <line num="277" type="stmt" count="1"/>
17232
- <line num="283" type="method" name="get_step" visibility="public" complexity="1" crap="1" count="1"/>
17233
- <line num="284" type="stmt" count="1"/>
17234
- <line num="294" type="method" name="is_complete" visibility="public" complexity="1" crap="1" count="1"/>
17235
- <line num="295" type="stmt" count="1"/>
17236
- <line num="297" type="stmt" count="1"/>
17237
- <line num="307" type="method" name="is_fail" visibility="public" complexity="1" crap="1" count="1"/>
17238
- <line num="308" type="stmt" count="1"/>
17239
- <line num="310" type="stmt" count="1"/>
17240
- <line num="320" type="method" name="is_in_progress" visibility="public" complexity="2" crap="2" count="1"/>
17241
- <line num="321" type="stmt" count="1"/>
17242
- <line num="324" type="stmt" count="1"/>
17243
- <line num="334" type="method" name="is_max_attemps" visibility="public" complexity="1" crap="1" count="1"/>
17244
- <line num="335" type="stmt" count="1"/>
17245
- <line num="345" type="method" name="is_unresponsive" visibility="public" complexity="2" crap="6" count="0"/>
17246
- <line num="346" type="stmt" count="0"/>
17247
- <line num="348" type="stmt" count="0"/>
17248
- <line num="358" type="method" name="maybe_run" visibility="public" complexity="6" crap="9.16" count="1"/>
17249
- <line num="360" type="stmt" count="1"/>
17250
- <line num="361" type="stmt" count="0"/>
17251
- <line num="364" type="stmt" count="1"/>
17252
- <line num="365" type="stmt" count="0"/>
17253
  <line num="368" type="stmt" count="1"/>
17254
- <line num="369" type="stmt" count="0"/>
17255
- <line num="372" type="stmt" count="1"/>
17256
- <line num="373" type="stmt" count="0"/>
 
17257
  <line num="376" type="stmt" count="1"/>
17258
- <line num="388" type="method" name="write_contents" visibility="public" complexity="1" crap="1" count="1"/>
17259
- <line num="389" type="stmt" count="1"/>
17260
- <line num="391" type="stmt" count="1"/>
17261
- <line num="402" type="method" name="write_key" visibility="public" complexity="1" crap="1" count="1"/>
17262
- <line num="403" type="stmt" count="1"/>
17263
- <line num="404" type="stmt" count="1"/>
17264
- <line num="408" type="stmt" count="1"/>
17265
- <line num="411" type="stmt" count="1"/>
17266
- <metrics loc="412" ncloc="184" classes="1" methods="22" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="66" elements="99" coveredelements="85"/>
 
 
 
 
 
 
 
 
 
 
 
 
17267
  </file>
17268
  </package>
17269
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/index.php">
@@ -73310,7 +73702,7 @@
73310
  </file>
73311
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/tests/admin/test-class-boldgrid-backup-admin-core.php">
73312
  <class name="Test_Boldgrid_Backup_Admin_Core" namespace="global" fullPackage="Test.Boldgrid.Backup.Admin">
73313
- <metrics complexity="23" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="124" coveredstatements="121" elements="133" coveredelements="129"/>
73314
  </class>
73315
  <line num="41" type="method" name="assertDirNotEmpty" visibility="public" complexity="5" crap="5" count="1"/>
73316
  <line num="42" type="stmt" count="1"/>
@@ -73429,23 +73821,24 @@
73429
  <line num="324" type="stmt" count="1"/>
73430
  <line num="325" type="stmt" count="1"/>
73431
  <line num="327" type="stmt" count="1"/>
73432
- <line num="329" type="stmt" count="1"/>
73433
- <line num="330" type="stmt" count="1"/>
73434
- <line num="340" type="method" name="test_restore_cli" visibility="public" complexity="2" crap="2" count="1"/>
73435
- <line num="341" type="stmt" count="1"/>
73436
  <line num="343" type="stmt" count="1"/>
73437
- <line num="344" type="stmt" count="1"/>
73438
  <line num="345" type="stmt" count="1"/>
 
73439
  <line num="347" type="stmt" count="1"/>
73440
- <line num="348" type="stmt" count="1"/>
73441
  <line num="350" type="stmt" count="1"/>
73442
- <line num="353" type="stmt" count="1"/>
73443
- <line num="354" type="stmt" count="1"/>
73444
  <line num="355" type="stmt" count="1"/>
73445
- <line num="358" type="stmt" count="1"/>
 
73446
  <line num="360" type="stmt" count="1"/>
73447
- <line num="361" type="stmt" count="1"/>
73448
- <metrics loc="362" ncloc="185" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="124" coveredstatements="121" elements="133" coveredelements="129"/>
 
73449
  </file>
73450
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/tests/admin/test-class-boldgrid-backup-admin-cron.php">
73451
  <class name="Test_Boldgrid_Backup_Admin_Cron" namespace="global" fullPackage="Test.Boldgrid.Backup.Admin">
@@ -74096,12 +74489,12 @@
74096
  <metrics loc="135" ncloc="76" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="51" elements="55" coveredelements="55"/>
74097
  </file>
74098
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/tests/bootstrap.php">
74099
- <line num="169" type="stmt" count="0"/>
74100
- <line num="170" type="stmt" count="0"/>
74101
- <line num="172" type="stmt" count="0"/>
74102
- <line num="174" type="stmt" count="0"/>
74103
- <line num="175" type="stmt" count="0"/>
74104
- <metrics loc="177" ncloc="133" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="5" coveredelements="0"/>
74105
  </file>
74106
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/tests/cli/test-class-info.php">
74107
  <class name="Test_Boldgrid_Backup_Cli_Info" namespace="global" fullPackage="Test.Boldgrid.Backup.Cli">
@@ -78835,7 +79228,7 @@
78835
  <metrics loc="445" ncloc="281" classes="1" methods="21" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="216" coveredstatements="0" elements="237" coveredelements="0"/>
78836
  </file>
78837
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/vendor/composer/autoload_static.php">
78838
- <class name="ComposerStaticInit330c6d37f1f7d1e9db9dd0b27407636e" namespace="Composer\Autoload">
78839
  <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
78840
  </class>
78841
  <line num="91" type="method" name="getInitializer" visibility="public" complexity="1" crap="2" count="0"/>
@@ -78927,7 +79320,7 @@
78927
  <metrics loc="12" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="7" coveredelements="0"/>
78928
  </file>
78929
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/vendor/composer/autoload_real.php">
78930
- <class name="ComposerAutoloaderInit330c6d37f1f7d1e9db9dd0b27407636e" namespace="global">
78931
  <metrics complexity="13" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="43" coveredelements="0"/>
78932
  </class>
78933
  <line num="9" type="method" name="loadClassLoader" visibility="public" complexity="2" crap="6" count="0"/>
@@ -98172,6 +98565,6 @@
98172
  <line num="16" type="stmt" count="0"/>
98173
  <metrics loc="16" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="8" coveredelements="0"/>
98174
  </file>
98175
- <metrics files="996" loc="198737" ncloc="120502" classes="902" methods="3796" coveredmethods="432" conditionals="0" coveredconditionals="0" statements="88253" coveredstatements="5440" elements="92049" coveredelements="5872"/>
98176
  </project>
98177
  </coverage>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
+ <coverage generated="1611068116">
3
+ <project timestamp="1611068116">
4
  <package name="Boldgrid\Backup\Admin\Card">
5
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/card/class-amazon-s3.php">
6
  <class name="Amazon_S3" namespace="Boldgrid\Backup\Admin\Card" fullPackage="Amazon">
1160
  </file>
1161
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-archive.php">
1162
  <class name="Boldgrid_Backup_Admin_Archive" namespace="global" fullPackage="Boldgrid.Backup.Admin">
1163
+ <metrics complexity="79" methods="26" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="219" coveredstatements="106" elements="245" coveredelements="122"/>
1164
  </class>
1165
+ <line num="174" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="41"/>
 
 
 
 
1166
  <line num="175" type="stmt" count="41"/>
1167
+ <line num="176" type="stmt" count="12"/>
1168
+ <line num="177" type="stmt" count="12"/>
1169
+ <line num="179" type="stmt" count="41"/>
1170
+ <line num="180" type="stmt" count="41"/>
1171
+ <line num="190" type="method" name="delete" visibility="public" complexity="1" crap="1" count="4"/>
1172
+ <line num="191" type="stmt" count="4"/>
1173
+ <line num="193" type="stmt" count="4"/>
1174
+ <line num="195" type="stmt" count="4"/>
1175
+ <line num="206" type="method" name="get_attribute" visibility="public" complexity="2" crap="2" count="9"/>
1176
+ <line num="207" type="stmt" count="9"/>
1177
+ <line num="229" type="method" name="get_by_name" visibility="public" complexity="3" crap="12" count="0"/>
1178
  <line num="230" type="stmt" count="0"/>
 
1179
  <line num="232" type="stmt" count="0"/>
1180
+ <line num="234" type="stmt" count="0"/>
1181
  <line num="235" type="stmt" count="0"/>
1182
+ <line num="236" type="stmt" count="0"/>
1183
  <line num="237" type="stmt" count="0"/>
1184
+ <line num="238" type="stmt" count="0"/>
1185
+ <line num="240" type="stmt" count="0"/>
1186
+ <line num="242" type="stmt" count="0"/>
1187
+ <line num="254" type="method" name="get_file" visibility="public" complexity="5" crap="15.55" count="1"/>
1188
+ <line num="255" type="stmt" count="1"/>
1189
+ <line num="256" type="stmt" count="1"/>
1190
  <line num="259" type="stmt" count="0"/>
 
1191
  <line num="261" type="stmt" count="0"/>
1192
+ <line num="264" type="stmt" count="0"/>
1193
+ <line num="265" type="stmt" count="0"/>
1194
+ <line num="266" type="stmt" count="0"/>
1195
+ <line num="268" type="stmt" count="0"/>
1196
+ <line num="279" type="method" name="get_dump_file" visibility="public" complexity="1" crap="1" count="1"/>
1197
+ <line num="285" type="stmt" count="1"/>
1198
+ <line num="295" type="method" name="get_filesize" visibility="public" complexity="2" crap="2" count="9"/>
1199
+ <line num="296" type="stmt" count="9"/>
1200
+ <line num="297" type="stmt" count="4"/>
1201
+ <line num="299" type="stmt" count="9"/>
1202
+ <line num="310" type="method" name="get_id" visibility="public" complexity="1" crap="1" count="5"/>
1203
+ <line num="311" type="stmt" count="5"/>
1204
+ <line num="321" type="method" name="get_index" visibility="public" complexity="3" crap="3" count="13"/>
1205
  <line num="322" type="stmt" count="13"/>
1206
+ <line num="324" type="stmt" count="13"/>
 
1207
  <line num="326" type="stmt" count="13"/>
1208
+ <line num="327" type="stmt" count="13"/>
1209
+ <line num="328" type="stmt" count="12"/>
1210
+ <line num="329" type="stmt" count="12"/>
1211
+ <line num="331" type="stmt" count="13"/>
1212
+ <line num="333" type="stmt" count="13"/>
1213
+ <line num="344" type="method" name="get_key" visibility="public" complexity="1" crap="1" count="1"/>
1214
+ <line num="345" type="stmt" count="1"/>
1215
+ <line num="355" type="method" name="init" visibility="public" complexity="8" crap="8" count="13"/>
1216
+ <line num="356" type="stmt" count="13"/>
1217
+ <line num="358" type="stmt" count="13"/>
1218
+ <line num="359" type="stmt" count="0"/>
1219
  <line num="362" type="stmt" count="13"/>
1220
+ <line num="364" type="stmt" count="13"/>
1221
  <line num="365" type="stmt" count="13"/>
1222
+ <line num="367" type="stmt" count="13"/>
1223
+ <line num="368" type="stmt" count="13"/>
1224
  <line num="369" type="stmt" count="13"/>
1225
+ <line num="370" type="stmt" count="4"/>
1226
+ <line num="371" type="stmt" count="4"/>
1227
+ <line num="373" type="stmt" count="13"/>
1228
  <line num="374" type="stmt" count="13"/>
1229
+ <line num="377" type="stmt" count="13"/>
1230
+ <line num="378" type="stmt" count="13"/>
1231
+ <line num="379" type="stmt" count="2"/>
1232
+ <line num="380" type="stmt" count="2"/>
1233
+ <line num="382" type="stmt" count="13"/>
1234
+ <line num="383" type="stmt" count="12"/>
1235
+ <line num="385" type="stmt" count="12"/>
1236
+ <line num="386" type="stmt" count="12"/>
1237
+ <line num="394" type="stmt" count="13"/>
1238
+ <line num="396" type="stmt" count="13"/>
1239
+ <line num="398" type="stmt" count="13"/>
1240
+ <line num="399" type="stmt" count="13"/>
1241
+ <line num="411" type="method" name="init_by_filename" visibility="public" complexity="1" crap="1" count="12"/>
1242
+ <line num="412" type="stmt" count="12"/>
1243
+ <line num="414" type="stmt" count="12"/>
1244
+ <line num="415" type="stmt" count="12"/>
1245
+ <line num="425" type="method" name="init_by_key" visibility="public" complexity="3" crap="3" count="2"/>
1246
  <line num="426" type="stmt" count="2"/>
1247
  <line num="428" type="stmt" count="2"/>
 
1248
  <line num="430" type="stmt" count="2"/>
1249
+ <line num="431" type="stmt" count="1"/>
1250
+ <line num="434" type="stmt" count="2"/>
1251
  <line num="436" type="stmt" count="2"/>
1252
+ <line num="437" type="stmt" count="2"/>
1253
+ <line num="438" type="stmt" count="2"/>
1254
+ <line num="444" type="stmt" count="2"/>
1255
+ <line num="453" type="method" name="init_by_latest" visibility="public" complexity="2" crap="2" count="1"/>
1256
+ <line num="454" type="stmt" count="1"/>
1257
+ <line num="456" type="stmt" count="1"/>
1258
+ <line num="457" type="stmt" count="1"/>
1259
+ <line num="458" type="stmt" count="1"/>
1260
+ <line num="459" type="stmt" count="1"/>
1261
+ <line num="469" type="method" name="is_archive" visibility="public" complexity="3" crap="3" count="3"/>
1262
+ <line num="470" type="stmt" count="3"/>
 
 
 
1263
  <line num="471" type="stmt" count="3"/>
1264
+ <line num="472" type="stmt" count="3"/>
1265
+ <line num="474" type="stmt" count="3"/>
1266
+ <line num="475" type="stmt" count="3"/>
1267
+ <line num="476" type="stmt" count="2"/>
1268
+ <line num="477" type="stmt" count="2"/>
1269
+ <line num="479" type="stmt" count="3"/>
1270
+ <line num="481" type="stmt" count="3"/>
1271
+ <line num="495" type="method" name="is_site_archive" visibility="public" complexity="4" crap="4.18" count="13"/>
1272
+ <line num="496" type="stmt" count="13"/>
1273
+ <line num="499" type="stmt" count="13"/>
1274
+ <line num="500" type="stmt" count="13"/>
1275
+ <line num="501" type="stmt" count="13"/>
1276
+ <line num="505" type="stmt" count="13"/>
1277
+ <line num="506" type="stmt" count="0"/>
1278
+ <line num="510" type="stmt" count="13"/>
1279
+ <line num="511" type="stmt" count="0"/>
1280
+ <line num="514" type="stmt" count="13"/>
1281
+ <line num="528" type="method" name="is_stored_locally" visibility="public" complexity="2" crap="2" count="1"/>
1282
+ <line num="529" type="stmt" count="1"/>
1283
+ <line num="531" type="stmt" count="1"/>
1284
+ <line num="532" type="stmt" count="1"/>
1285
+ <line num="545" type="method" name="is_stored_remotely" visibility="public" complexity="2" crap="2" count="1"/>
1286
+ <line num="546" type="stmt" count="1"/>
1287
+ <line num="548" type="stmt" count="1"/>
1288
+ <line num="549" type="stmt" count="1"/>
1289
+ <line num="557" type="method" name="reset" visibility="public" complexity="1" crap="1" count="13"/>
1290
+ <line num="558" type="stmt" count="13"/>
1291
+ <line num="559" type="stmt" count="13"/>
1292
+ <line num="560" type="stmt" count="13"/>
1293
+ <line num="561" type="stmt" count="13"/>
1294
+ <line num="562" type="stmt" count="13"/>
1295
+ <line num="563" type="stmt" count="13"/>
1296
+ <line num="564" type="stmt" count="13"/>
1297
+ <line num="575" type="method" name="set_attribute" visibility="public" complexity="3" crap="12" count="0"/>
1298
+ <line num="576" type="stmt" count="0"/>
1299
+ <line num="579" type="stmt" count="0"/>
1300
+ <line num="580" type="stmt" count="0"/>
1301
+ <line num="596" type="stmt" count="0"/>
1302
+ <line num="598" type="stmt" count="0"/>
1303
+ <line num="600" type="stmt" count="0"/>
1304
+ <line num="610" type="method" name="set_id" visibility="public" complexity="1" crap="1" count="5"/>
1305
+ <line num="611" type="stmt" count="5"/>
1306
+ <line num="612" type="stmt" count="5"/>
1307
+ <line num="623" type="method" name="update_timestamp" visibility="public" complexity="3" crap="12" count="0"/>
1308
+ <line num="625" type="stmt" count="0"/>
1309
+ <line num="626" type="stmt" count="0"/>
1310
+ <line num="629" type="stmt" count="0"/>
1311
+ <line num="642" type="method" name="validate_link_request" visibility="public" complexity="8" crap="72" count="0"/>
1312
  <line num="643" type="stmt" count="0"/>
1313
+ <line num="646" type="stmt" count="0"/>
1314
+ <line num="647" type="stmt" count="0"/>
1315
  <line num="648" type="stmt" count="0"/>
1316
+ <line num="651" type="stmt" count="0"/>
 
1317
  <line num="652" type="stmt" count="0"/>
1318
  <line num="653" type="stmt" count="0"/>
1319
  <line num="656" type="stmt" count="0"/>
1320
+ <line num="657" type="stmt" count="0"/>
1321
+ <line num="658" type="stmt" count="0"/>
1322
  <line num="660" type="stmt" count="0"/>
1323
  <line num="661" type="stmt" count="0"/>
1324
+ <line num="664" type="stmt" count="0"/>
 
 
1325
  <line num="667" type="stmt" count="0"/>
1326
+ <line num="668" type="stmt" count="0"/>
1327
  <line num="669" type="stmt" count="0"/>
1328
+ <line num="671" type="stmt" count="0"/>
 
1329
  <line num="673" type="stmt" count="0"/>
1330
  <line num="674" type="stmt" count="0"/>
1331
+ <line num="675" type="stmt" count="0"/>
1332
+ <line num="677" type="stmt" count="0"/>
1333
+ <line num="678" type="stmt" count="0"/>
1334
+ <line num="680" type="stmt" count="0"/>
1335
+ <line num="681" type="stmt" count="0"/>
1336
+ <line num="682" type="stmt" count="0"/>
1337
+ <line num="684" type="stmt" count="0"/>
1338
+ <line num="700" type="method" name="generate_download_link" visibility="public" complexity="2" crap="6" count="0"/>
1339
+ <line num="701" type="stmt" count="0"/>
1340
+ <line num="703" type="stmt" count="0"/>
1341
  <line num="704" type="stmt" count="0"/>
1342
  <line num="705" type="stmt" count="0"/>
 
1343
  <line num="707" type="stmt" count="0"/>
1344
  <line num="708" type="stmt" count="0"/>
1345
+ <line num="710" type="stmt" count="0"/>
1346
  <line num="712" type="stmt" count="0"/>
1347
+ <line num="713" type="stmt" count="0"/>
1348
+ <line num="714" type="stmt" count="0"/>
1349
+ <line num="715" type="stmt" count="0"/>
1350
+ <line num="716" type="stmt" count="0"/>
1351
+ <line num="717" type="stmt" count="0"/>
1352
+ <line num="720" type="stmt" count="0"/>
1353
+ <line num="755" type="method" name="write_results_file" visibility="public" complexity="6" crap="42" count="0"/>
 
1354
  <line num="756" type="stmt" count="0"/>
1355
  <line num="757" type="stmt" count="0"/>
1356
  <line num="758" type="stmt" count="0"/>
1357
  <line num="759" type="stmt" count="0"/>
 
1358
  <line num="761" type="stmt" count="0"/>
1359
  <line num="762" type="stmt" count="0"/>
1360
  <line num="763" type="stmt" count="0"/>
1361
+ <line num="764" type="stmt" count="0"/>
1362
  <line num="765" type="stmt" count="0"/>
1363
  <line num="766" type="stmt" count="0"/>
1364
  <line num="767" type="stmt" count="0"/>
1366
  <line num="769" type="stmt" count="0"/>
1367
  <line num="770" type="stmt" count="0"/>
1368
  <line num="771" type="stmt" count="0"/>
 
1369
  <line num="773" type="stmt" count="0"/>
1370
+ <line num="774" type="stmt" count="0"/>
1371
  <line num="775" type="stmt" count="0"/>
1372
+ <line num="776" type="stmt" count="0"/>
1373
+ <line num="777" type="stmt" count="0"/>
1374
  <line num="778" type="stmt" count="0"/>
1375
  <line num="779" type="stmt" count="0"/>
1376
  <line num="780" type="stmt" count="0"/>
1377
  <line num="781" type="stmt" count="0"/>
 
1378
  <line num="783" type="stmt" count="0"/>
 
 
1379
  <line num="786" type="stmt" count="0"/>
1380
  <line num="787" type="stmt" count="0"/>
1381
+ <line num="788" type="stmt" count="0"/>
1382
  <line num="789" type="stmt" count="0"/>
1383
  <line num="790" type="stmt" count="0"/>
1384
  <line num="791" type="stmt" count="0"/>
1385
+ <line num="792" type="stmt" count="0"/>
1386
  <line num="793" type="stmt" count="0"/>
1387
  <line num="794" type="stmt" count="0"/>
1388
+ <line num="795" type="stmt" count="0"/>
1389
+ <line num="797" type="stmt" count="0"/>
1390
+ <line num="798" type="stmt" count="0"/>
1391
+ <line num="799" type="stmt" count="0"/>
1392
+ <line num="801" type="stmt" count="0"/>
1393
+ <line num="802" type="stmt" count="0"/>
1394
+ <line num="804" type="stmt" count="0"/>
1395
+ <line num="816" type="method" name="delete_from_archive" visibility="public" complexity="9" crap="12.69" count="9"/>
1396
+ <line num="817" type="stmt" count="9"/>
1397
+ <line num="818" type="stmt" count="9"/>
1398
+ <line num="819" type="stmt" count="9"/>
1399
+ <line num="821" type="stmt" count="9"/>
 
1400
  <line num="822" type="stmt" count="9"/>
1401
  <line num="823" type="stmt" count="9"/>
1402
+ <line num="824" type="stmt" count="0"/>
1403
+ <line num="826" type="stmt" count="0"/>
1404
+ <line num="827" type="stmt" count="0"/>
1405
+ <line num="828" type="stmt" count="0"/>
1406
+ <line num="829" type="stmt" count="0"/>
1407
+ <line num="830" type="stmt" count="9"/>
1408
+ <line num="831" type="stmt" count="9"/>
1409
+ <line num="832" type="stmt" count="9"/>
1410
+ <metrics loc="833" ncloc="394" classes="1" methods="26" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="219" coveredstatements="106" elements="245" coveredelements="122"/>
1411
  </file>
1412
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-archiver-utility.php">
1413
  <class name="Boldgrid_Backup_Admin_Archiver_Utility" namespace="global" fullPackage="Boldgrid.Backup.Admin.Archiver">
2195
  </file>
2196
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-backup-dir.php">
2197
  <class name="Boldgrid_Backup_Admin_Backup_Dir" namespace="global" fullPackage="Boldgrid.Backup.Admin.Backup">
2198
+ <metrics complexity="73" methods="17" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="217" coveredstatements="155" elements="234" coveredelements="164"/>
2199
  </class>
2200
  <line num="64" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="29"/>
2201
  <line num="65" type="stmt" count="29"/>
2267
  <line num="190" type="stmt" count="13"/>
2268
  <line num="191" type="stmt" count="13"/>
2269
  <line num="193" type="stmt" count="13"/>
2270
+ <line num="208" type="method" name="dirlist_containing" visibility="public" complexity="5" crap="5.05" count="9"/>
2271
  <line num="209" type="stmt" count="9"/>
2272
  <line num="210" type="stmt" count="9"/>
2273
  <line num="213" type="stmt" count="9"/>
2274
  <line num="215" type="stmt" count="9"/>
2275
  <line num="217" type="stmt" count="9"/>
2276
+ <line num="218" type="stmt" count="8"/>
2277
+ <line num="219" type="stmt" count="8"/>
2278
  <line num="220" type="stmt" count="9"/>
2279
  <line num="221" type="stmt" count="9"/>
2280
  <line num="223" type="stmt" count="9"/>
2438
  <line num="647" type="stmt" count="3"/>
2439
  <line num="648" type="stmt" count="3"/>
2440
  <line num="649" type="stmt" count="3"/>
2441
+ <metrics loc="650" ncloc="363" classes="1" methods="17" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="224" coveredstatements="162" elements="241" coveredelements="171"/>
2442
  </file>
2443
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-cli.php">
2444
  <class name="Boldgrid_Backup_Admin_Cli" namespace="global" fullPackage="Boldgrid.Backup.Admin">
2774
  </file>
2775
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-core.php">
2776
  <class name="Boldgrid_Backup_Admin_Core" namespace="global" fullPackage="Boldgrid.Backup.Admin">
2777
+ <metrics complexity="175" methods="28" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="883" coveredstatements="376" elements="911" coveredelements="380"/>
2778
  </class>
2779
  <line num="588" type="method" name="__construct" visibility="public" complexity="8" crap="8.07" count="29"/>
2780
  <line num="593" type="stmt" count="29"/>
3087
  <line num="1202" type="stmt" count="0"/>
3088
  <line num="1206" type="stmt" count="9"/>
3089
  <line num="1209" type="stmt" count="9"/>
3090
+ <line num="1220" type="method" name="get_filelist" visibility="public" complexity="10" crap="10.11" count="9"/>
3091
+ <line num="1223" type="stmt" count="9"/>
3092
+ <line num="1224" type="stmt" count="0"/>
3093
+ <line num="1228" type="stmt" count="9"/>
3094
+ <line num="1231" type="stmt" count="9"/>
3095
+ <line num="1232" type="stmt" count="0"/>
3096
+ <line num="1236" type="stmt" count="9"/>
3097
+ <line num="1239" type="stmt" count="9"/>
3098
+ <line num="1240" type="stmt" count="9"/>
3099
+ <line num="1241" type="stmt" count="9"/>
3100
+ <line num="1244" type="stmt" count="9"/>
3101
+ <line num="1247" type="stmt" count="9"/>
3102
+ <line num="1258" type="stmt" count="9"/>
3103
+ <line num="1259" type="stmt" count="9"/>
3104
+ <line num="1260" type="stmt" count="9"/>
3105
+ <line num="1261" type="stmt" count="9"/>
3106
+ <line num="1262" type="stmt" count="9"/>
3107
+ <line num="1264" type="stmt" count="9"/>
3108
+ <line num="1266" type="stmt" count="9"/>
3109
+ <line num="1269" type="stmt" count="9"/>
3110
+ <line num="1270" type="stmt" count="0"/>
3111
+ <line num="1272" type="stmt" count="9"/>
3112
+ <line num="1273" type="stmt" count="9"/>
3113
+ <line num="1276" type="stmt" count="9"/>
3114
+ <line num="1277" type="stmt" count="9"/>
3115
+ <line num="1280" type="stmt" count="0"/>
3116
+ <line num="1282" type="stmt" count="9"/>
3117
+ <line num="1285" type="stmt" count="9"/>
3118
+ <line num="1287" type="stmt" count="9"/>
3119
+ <line num="1288" type="stmt" count="9"/>
3120
+ <line num="1290" type="stmt" count="9"/>
3121
+ <line num="1292" type="stmt" count="9"/>
3122
+ <line num="1296" type="stmt" count="9"/>
3123
+ <line num="1299" type="stmt" count="9"/>
3124
+ <line num="1302" type="stmt" count="9"/>
3125
+ <line num="1303" type="stmt" count="9"/>
3126
+ <line num="1304" type="stmt" count="9"/>
3127
+ <line num="1305" type="stmt" count="9"/>
3128
+ <line num="1307" type="stmt" count="9"/>
3129
+ <line num="1310" type="stmt" count="9"/>
3130
+ <line num="1326" type="method" name="get_filtered_filelist" visibility="public" complexity="8" crap="8.30" count="9"/>
3131
+ <line num="1329" type="stmt" count="9"/>
3132
+ <line num="1330" type="stmt" count="0"/>
3133
+ <line num="1334" type="stmt" count="9"/>
3134
+ <line num="1337" type="stmt" count="9"/>
3135
+ <line num="1338" type="stmt" count="0"/>
3136
+ <line num="1342" type="stmt" count="9"/>
3137
+ <line num="1345" type="stmt" count="9"/>
3138
+ <line num="1348" type="stmt" count="9"/>
3139
+ <line num="1349" type="stmt" count="9"/>
3140
+ <line num="1351" type="stmt" count="9"/>
3141
+ <line num="1352" type="stmt" count="0"/>
 
 
3142
  <line num="1355" type="stmt" count="9"/>
3143
  <line num="1356" type="stmt" count="9"/>
3144
+ <line num="1359" type="stmt" count="9"/>
3145
  <line num="1360" type="stmt" count="9"/>
3146
  <line num="1363" type="stmt" count="9"/>
3147
+ <line num="1366" type="stmt" count="9"/>
3148
+ <line num="1369" type="stmt" count="9"/>
3149
+ <line num="1381" type="method" name="generate_archive_path" visibility="public" complexity="3" crap="3.00" count="9"/>
3150
+ <line num="1383" type="stmt" count="9"/>
3151
+ <line num="1386" type="stmt" count="9"/>
 
 
 
 
 
3152
  <line num="1389" type="stmt" count="9"/>
3153
+ <line num="1390" type="stmt" count="0"/>
3154
+ <line num="1394" type="stmt" count="9"/>
3155
+ <line num="1397" type="stmt" count="9"/>
3156
+ <line num="1399" type="stmt" count="9"/>
3157
+ <line num="1400" type="stmt" count="9"/>
3158
  <line num="1401" type="stmt" count="9"/>
3159
+ <line num="1402" type="stmt" count="9"/>
3160
  <line num="1403" type="stmt" count="9"/>
3161
  <line num="1404" type="stmt" count="9"/>
3162
+ <line num="1405" type="stmt" count="9"/>
3163
  <line num="1408" type="stmt" count="9"/>
3164
+ <line num="1411" type="stmt" count="9"/>
3165
+ <line num="1413" type="stmt" count="9"/>
3166
  <line num="1415" type="stmt" count="9"/>
3167
+ <line num="1416" type="stmt" count="9"/>
3168
  <line num="1418" type="stmt" count="9"/>
3169
+ <line num="1431" type="method" name="archive_files" visibility="public" complexity="21" crap="31.29" count="9"/>
3170
+ <line num="1433" type="stmt" count="9"/>
3171
+ <line num="1434" type="stmt" count="9"/>
3172
+ <line num="1435" type="stmt" count="9"/>
3173
+ <line num="1437" type="stmt" count="9"/>
3174
+ <line num="1439" type="stmt" count="9"/>
3175
+ <line num="1440" type="stmt" count="9"/>
3176
+ <line num="1441" type="stmt" count="9"/>
3177
+ <line num="1443" type="stmt" count="9"/>
3178
+ <line num="1444" type="stmt" count="0"/>
3179
+ <line num="1445" type="stmt" count="0"/>
3180
  <line num="1446" type="stmt" count="0"/>
3181
  <line num="1450" type="stmt" count="9"/>
3182
  <line num="1453" type="stmt" count="9"/>
3183
+ <line num="1456" type="stmt" count="9"/>
3184
+ <line num="1459" type="stmt" count="9"/>
3185
+ <line num="1462" type="stmt" count="9"/>
3186
+ <line num="1463" type="stmt" count="0"/>
3187
+ <line num="1464" type="stmt" count="0"/>
3188
+ <line num="1468" type="stmt" count="9"/>
3189
+ <line num="1469" type="stmt" count="9"/>
 
3190
  <line num="1472" type="stmt" count="9"/>
3191
+ <line num="1473" type="stmt" count="9"/>
3192
+ <line num="1474" type="stmt" count="9"/>
3193
  <line num="1475" type="stmt" count="9"/>
3194
+ <line num="1477" type="stmt" count="9"/>
3195
  <line num="1479" type="stmt" count="9"/>
3196
+ <line num="1480" type="stmt" count="9"/>
3197
+ <line num="1481" type="stmt" count="9"/>
3198
  <line num="1482" type="stmt" count="9"/>
3199
+ <line num="1483" type="stmt" count="9"/>
3200
+ <line num="1484" type="stmt" count="9"/>
3201
  <line num="1485" type="stmt" count="9"/>
3202
+ <line num="1486" type="stmt" count="9"/>
3203
+ <line num="1487" type="stmt" count="9"/>
3204
+ <line num="1489" type="stmt" count="9"/>
3205
+ <line num="1501" type="stmt" count="9"/>
3206
+ <line num="1503" type="stmt" count="9"/>
3207
+ <line num="1504" type="stmt" count="9"/>
3208
+ <line num="1507" type="stmt" count="9"/>
3209
+ <line num="1509" type="stmt" count="9"/>
3210
+ <line num="1511" type="stmt" count="9"/>
3211
+ <line num="1512" type="stmt" count="9"/>
3212
  <line num="1513" type="stmt" count="9"/>
3213
  <line num="1515" type="stmt" count="9"/>
 
3214
  <line num="1517" type="stmt" count="9"/>
3215
+ <line num="1518" type="stmt" count="0"/>
3216
+ <line num="1519" type="stmt" count="0"/>
3217
+ <line num="1520" type="stmt" count="0"/>
3218
+ <line num="1522" type="stmt" count="0"/>
3219
+ <line num="1523" type="stmt" count="0"/>
3220
+ <line num="1525" type="stmt" count="0"/>
3221
+ <line num="1526" type="stmt" count="0"/>
3222
+ <line num="1527" type="stmt" count="0"/>
3223
+ <line num="1533" type="stmt" count="9"/>
3224
  <line num="1534" type="stmt" count="9"/>
3225
+ <line num="1535" type="stmt" count="6"/>
3226
+ <line num="1536" type="stmt" count="6"/>
3227
+ <line num="1537" type="stmt" count="6"/>
3228
+ <line num="1538" type="stmt" count="4"/>
3229
+ <line num="1539" type="stmt" count="4"/>
3230
+ <line num="1540" type="stmt" count="4"/>
3231
+ <line num="1541" type="stmt" count="4"/>
3232
+ <line num="1542" type="stmt" count="1"/>
3233
+ <line num="1544" type="stmt" count="0"/>
3234
+ <line num="1545" type="stmt" count="0"/>
3235
+ <line num="1546" type="stmt" count="1"/>
3236
+ <line num="1548" type="stmt" count="0"/>
3237
+ <line num="1549" type="stmt" count="0"/>
3238
+ <line num="1550" type="stmt" count="1"/>
3239
+ <line num="1552" type="stmt" count="0"/>
3240
+ <line num="1553" type="stmt" count="0"/>
3241
+ <line num="1554" type="stmt" count="1"/>
3242
+ <line num="1556" type="stmt" count="0"/>
3243
+ <line num="1557" type="stmt" count="0"/>
3244
+ <line num="1558" type="stmt" count="1"/>
3245
+ <line num="1559" type="stmt" count="1"/>
3246
+ <line num="1560" type="stmt" count="1"/>
3247
+ <line num="1561" type="stmt" count="1"/>
3248
  <line num="1562" type="stmt" count="0"/>
3249
+ <line num="1563" type="stmt" count="0"/>
3250
+ <line num="1564" type="stmt" count="0"/>
3251
+ <line num="1565" type="stmt" count="9"/>
3252
+ <line num="1567" type="stmt" count="9"/>
3253
+ <line num="1568" type="stmt" count="9"/>
3254
+ <line num="1571" type="stmt" count="9"/>
3255
  <line num="1572" type="stmt" count="9"/>
3256
+ <line num="1573" type="stmt" count="0"/>
3257
+ <line num="1574" type="stmt" count="0"/>
3258
  <line num="1575" type="stmt" count="9"/>
3259
+ <line num="1576" type="stmt" count="9"/>
3260
+ <line num="1577" type="stmt" count="9"/>
3261
  <line num="1578" type="stmt" count="9"/>
3262
+ <line num="1579" type="stmt" count="9"/>
3263
+ <line num="1580" type="stmt" count="9"/>
3264
+ <line num="1581" type="stmt" count="9"/>
3265
+ <line num="1582" type="stmt" count="9"/>
3266
+ <line num="1583" type="stmt" count="9"/>
3267
+ <line num="1586" type="stmt" count="9"/>
3268
  <line num="1588" type="stmt" count="9"/>
3269
+ <line num="1589" type="stmt" count="0"/>
3270
+ <line num="1590" type="stmt" count="0"/>
3271
+ <line num="1592" type="stmt" count="9"/>
3272
+ <line num="1593" type="stmt" count="0"/>
3273
+ <line num="1594" type="stmt" count="0"/>
 
3274
  <line num="1597" type="stmt" count="9"/>
3275
+ <line num="1618" type="method" name="get_archive_list" visibility="public" complexity="11" crap="11.13" count="9"/>
 
 
 
 
 
 
 
 
3276
  <line num="1620" type="stmt" count="9"/>
3277
  <line num="1623" type="stmt" count="9"/>
3278
+ <line num="1626" type="stmt" count="9"/>
3279
  <line num="1627" type="stmt" count="9"/>
3280
  <line num="1628" type="stmt" count="9"/>
 
3281
  <line num="1631" type="stmt" count="9"/>
3282
+ <line num="1632" type="stmt" count="0"/>
3283
+ <line num="1636" type="stmt" count="9"/>
3284
+ <line num="1639" type="stmt" count="9"/>
3285
+ <line num="1640" type="stmt" count="0"/>
3286
+ <line num="1644" type="stmt" count="9"/>
3287
+ <line num="1645" type="stmt" count="0"/>
3288
+ <line num="1647" type="stmt" count="9"/>
3289
+ <line num="1648" type="stmt" count="9"/>
3290
+ <line num="1651" type="stmt" count="9"/>
3291
+ <line num="1652" type="stmt" count="9"/>
3292
+ <line num="1655" type="stmt" count="9"/>
3293
+ <line num="1657" type="stmt" count="9"/>
3294
+ <line num="1660" type="stmt" count="9"/>
3295
+ <line num="1663" type="stmt" count="9"/>
3296
+ <line num="1664" type="stmt" count="9"/>
3297
+ <line num="1666" type="stmt" count="9"/>
3298
+ <line num="1669" type="stmt" count="9"/>
3299
+ <line num="1670" type="stmt" count="0"/>
3300
+ <line num="1673" type="stmt" count="9"/>
3301
+ <line num="1674" type="stmt" count="9"/>
3302
+ <line num="1678" type="stmt" count="9"/>
3303
+ <line num="1679" type="stmt" count="9"/>
3304
+ <line num="1680" type="stmt" count="9"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3305
  <line num="1681" type="stmt" count="9"/>
3306
+ <line num="1682" type="stmt" count="9"/>
3307
  <line num="1683" type="stmt" count="9"/>
3308
  <line num="1684" type="stmt" count="9"/>
3309
+ <line num="1685" type="stmt" count="9"/>
3310
+ <line num="1689" type="stmt" count="9"/>
3311
+ <line num="1690" type="stmt" count="1"/>
 
 
3312
  <line num="1692" type="stmt" count="9"/>
3313
  <line num="1693" type="stmt" count="9"/>
 
 
3314
  <line num="1696" type="stmt" count="9"/>
3315
+ <line num="1707" type="method" name="delete_archive_file" visibility="public" complexity="11" crap="132" count="0"/>
3316
+ <line num="1710" type="stmt" count="0"/>
 
 
 
 
 
 
 
 
3317
  <line num="1711" type="stmt" count="0"/>
3318
+ <line num="1715" type="stmt" count="0"/>
3319
+ <line num="1718" type="stmt" count="0"/>
3320
+ <line num="1721" type="stmt" count="0"/>
3321
+ <line num="1722" type="stmt" count="0"/>
3322
+ <line num="1723" type="stmt" count="0"/>
3323
+ <line num="1724" type="stmt" count="0"/>
3324
+ <line num="1726" type="stmt" count="0"/>
3325
+ <line num="1727" type="stmt" count="0"/>
3326
+ <line num="1728" type="stmt" count="0"/>
3327
+ <line num="1730" type="stmt" count="0"/>
3328
+ <line num="1732" type="stmt" count="0"/>
3329
+ <line num="1736" type="stmt" count="0"/>
3330
+ <line num="1737" type="stmt" count="0"/>
3331
+ <line num="1738" type="stmt" count="0"/>
3332
+ <line num="1740" type="stmt" count="0"/>
3333
+ <line num="1741" type="stmt" count="0"/>
3334
+ <line num="1742" type="stmt" count="0"/>
3335
+ <line num="1744" type="stmt" count="0"/>
3336
+ <line num="1746" type="stmt" count="0"/>
3337
+ <line num="1750" type="stmt" count="0"/>
3338
+ <line num="1751" type="stmt" count="0"/>
3339
+ <line num="1755" type="stmt" count="0"/>
3340
+ <line num="1758" type="stmt" count="0"/>
3341
+ <line num="1760" type="stmt" count="0"/>
3342
  <line num="1761" type="stmt" count="0"/>
3343
+ <line num="1762" type="stmt" count="0"/>
3344
+ <line num="1764" type="stmt" count="0"/>
3345
+ <line num="1766" type="stmt" count="0"/>
3346
+ <line num="1771" type="stmt" count="0"/>
3347
+ <line num="1772" type="stmt" count="0"/>
3348
+ <line num="1773" type="stmt" count="0"/>
3349
+ <line num="1776" type="stmt" count="0"/>
3350
+ <line num="1778" type="stmt" count="0"/>
3351
+ <line num="1779" type="stmt" count="0"/>
3352
+ <line num="1780" type="stmt" count="0"/>
3353
+ <line num="1782" type="stmt" count="0"/>
3354
+ <line num="1784" type="stmt" count="0"/>
3355
+ <line num="1789" type="stmt" count="0"/>
3356
+ <line num="1790" type="stmt" count="0"/>
3357
+ <line num="1791" type="stmt" count="0"/>
3358
+ <line num="1793" type="stmt" count="0"/>
3359
+ <line num="1796" type="stmt" count="0"/>
3360
+ <line num="1797" type="stmt" count="0"/>
3361
+ <line num="1798" type="stmt" count="0"/>
3362
  <line num="1799" type="stmt" count="0"/>
3363
+ <line num="1801" type="stmt" count="0"/>
3364
+ <line num="1802" type="stmt" count="0"/>
3365
+ <line num="1812" type="stmt" count="0"/>
3366
+ <line num="1815" type="stmt" count="0"/>
3367
+ <line num="1828" type="method" name="get_dump_file" visibility="public" complexity="9" crap="25.08" count="1"/>
3368
+ <line num="1829" type="stmt" count="1"/>
3369
+ <line num="1830" type="stmt" count="0"/>
3370
+ <line num="1850" type="stmt" count="1"/>
3371
+ <line num="1851" type="stmt" count="1"/>
3372
+ <line num="1852" type="stmt" count="1"/>
3373
+ <line num="1853" type="stmt" count="1"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3374
  <line num="1857" type="stmt" count="0"/>
3375
+ <line num="1860" type="stmt" count="0"/>
3376
+ <line num="1863" type="stmt" count="0"/>
3377
+ <line num="1864" type="stmt" count="0"/>
3378
+ <line num="1868" type="stmt" count="0"/>
 
3379
  <line num="1869" type="stmt" count="0"/>
3380
+ <line num="1870" type="method" name="anonymous function" complexity="3" crap="12" count="0"/>
3381
  <line num="1871" type="stmt" count="0"/>
3382
+ <line num="1872" type="stmt" count="0"/>
3383
  <line num="1875" type="stmt" count="0"/>
3384
+ <line num="1876" type="stmt" count="0"/>
3385
  <line num="1879" type="stmt" count="0"/>
3386
+ <line num="1881" type="stmt" count="0"/>
3387
+ <line num="1888" type="stmt" count="0"/>
 
3388
  <line num="1889" type="stmt" count="0"/>
3389
  <line num="1890" type="stmt" count="0"/>
3390
  <line num="1891" type="stmt" count="0"/>
3391
  <line num="1893" type="stmt" count="0"/>
3392
+ <line num="1896" type="stmt" count="0"/>
3393
+ <line num="1915" type="method" name="restore_archive_file" visibility="public" complexity="6" crap="7.05" count="1"/>
3394
+ <line num="1916" type="stmt" count="1"/>
3395
+ <line num="1919" type="stmt" count="1"/>
3396
+ <line num="1920" type="stmt" count="1"/>
3397
+ <line num="1921" type="stmt" count="1"/>
3398
+ <line num="1922" type="stmt" count="1"/>
3399
+ <line num="1923" type="stmt" count="1"/>
3400
+ <line num="1925" type="stmt" count="1"/>
 
 
 
 
 
 
3401
  <line num="1926" type="stmt" count="0"/>
3402
+ <line num="1936" type="stmt" count="0"/>
3403
+ <line num="1938" type="stmt" count="0"/>
3404
+ <line num="1939" type="stmt" count="0"/>
3405
+ <line num="1940" type="stmt" count="0"/>
3406
  <line num="1941" type="stmt" count="0"/>
3407
+ <line num="1942" type="stmt" count="0"/>
3408
  <line num="1944" type="stmt" count="0"/>
3409
+ <line num="1956" type="stmt" count="1"/>
3410
+ <line num="1965" type="stmt" count="1"/>
3411
+ <line num="1966" type="stmt" count="1"/>
3412
+ <line num="1967" type="stmt" count="1"/>
3413
+ <line num="1968" type="stmt" count="1"/>
3414
+ <line num="1969" type="stmt" count="1"/>
3415
+ <line num="1970" type="stmt" count="1"/>
3416
+ <line num="1971" type="stmt" count="1"/>
3417
+ <line num="1972" type="stmt" count="1"/>
3418
+ <line num="1973" type="stmt" count="1"/>
3419
+ <line num="1974" type="stmt" count="1"/>
3420
+ <line num="1986" type="method" name="page_archives" visibility="public" complexity="4" crap="20" count="0"/>
3421
  <line num="1987" type="stmt" count="0"/>
3422
  <line num="1990" type="stmt" count="0"/>
3423
+ <line num="1992" type="stmt" count="0"/>
3424
+ <line num="1995" type="stmt" count="0"/>
3425
  <line num="1998" type="stmt" count="0"/>
3426
  <line num="1999" type="stmt" count="0"/>
 
3427
  <line num="2001" type="stmt" count="0"/>
3428
+ <line num="2004" type="stmt" count="0"/>
3429
  <line num="2005" type="stmt" count="0"/>
3430
  <line num="2006" type="stmt" count="0"/>
3431
+ <line num="2008" type="stmt" count="0"/>
3432
  <line num="2009" type="stmt" count="0"/>
3433
+ <line num="2012" type="stmt" count="0"/>
3434
+ <line num="2015" type="stmt" count="0"/>
3435
  <line num="2018" type="stmt" count="0"/>
 
3436
  <line num="2020" type="stmt" count="0"/>
3437
  <line num="2021" type="stmt" count="0"/>
3438
+ <line num="2022" type="stmt" count="0"/>
3439
+ <line num="2025" type="stmt" count="0"/>
3440
+ <line num="2027" type="stmt" count="0"/>
3441
+ <line num="2030" type="stmt" count="0"/>
3442
+ <line num="2031" type="stmt" count="0"/>
3443
+ <line num="2032" type="stmt" count="0"/>
3444
+ <line num="2034" type="stmt" count="0"/>
3445
+ <line num="2037" type="stmt" count="0"/>
3446
+ <line num="2038" type="stmt" count="0"/>
3447
+ <line num="2047" type="method" name="boldgrid_backup_now_callback" visibility="public" complexity="10" crap="110" count="0"/>
3448
+ <line num="2050" type="stmt" count="0"/>
3449
+ <line num="2051" type="stmt" count="0"/>
3450
+ <line num="2052" type="stmt" count="0"/>
3451
+ <line num="2054" type="stmt" count="0"/>
3452
+ <line num="2055" type="stmt" count="0"/>
3453
+ <line num="2056" type="stmt" count="0"/>
3454
+ <line num="2059" type="stmt" count="0"/>
3455
+ <line num="2060" type="stmt" count="0"/>
3456
+ <line num="2061" type="stmt" count="0"/>
3457
+ <line num="2063" type="stmt" count="0"/>
3458
+ <line num="2064" type="stmt" count="0"/>
3459
+ <line num="2065" type="stmt" count="0"/>
3460
  <line num="2067" type="stmt" count="0"/>
 
3461
  <line num="2069" type="stmt" count="0"/>
3462
+ <line num="2070" type="stmt" count="0"/>
3463
+ <line num="2071" type="stmt" count="0"/>
3464
  <line num="2073" type="stmt" count="0"/>
3465
  <line num="2074" type="stmt" count="0"/>
3466
+ <line num="2076" type="stmt" count="0"/>
3467
+ <line num="2077" type="stmt" count="0"/>
3468
+ <line num="2079" type="stmt" count="0"/>
 
3469
  <line num="2082" type="stmt" count="0"/>
3470
+ <line num="2083" type="stmt" count="0"/>
3471
+ <line num="2084" type="stmt" count="0"/>
3472
+ <line num="2085" type="stmt" count="0"/>
3473
+ <line num="2086" type="stmt" count="0"/>
3474
+ <line num="2088" type="stmt" count="0"/>
3475
+ <line num="2089" type="stmt" count="0"/>
3476
+ <line num="2091" type="stmt" count="0"/>
3477
  <line num="2092" type="stmt" count="0"/>
3478
+ <line num="2093" type="stmt" count="0"/>
3479
+ <line num="2102" type="stmt" count="0"/>
3480
+ <line num="2103" type="stmt" count="0"/>
3481
+ <line num="2115" type="method" name="download_archive_file_callback" visibility="public" complexity="10" crap="110" count="0"/>
3482
+ <line num="2117" type="stmt" count="0"/>
3483
+ <line num="2120" type="stmt" count="0"/>
3484
+ <line num="2121" type="stmt" count="0"/>
 
 
 
 
 
 
 
 
 
 
 
3485
  <line num="2122" type="stmt" count="0"/>
3486
  <line num="2123" type="stmt" count="0"/>
3487
+ <line num="2126" type="stmt" count="0"/>
3488
+ <line num="2127" type="stmt" count="0"/>
3489
+ <line num="2128" type="stmt" count="0"/>
3490
+ <line num="2129" type="stmt" count="0"/>
3491
  <line num="2130" type="stmt" count="0"/>
3492
+ <line num="2134" type="stmt" count="0"/>
3493
+ <line num="2135" type="stmt" count="0"/>
3494
+ <line num="2136" type="stmt" count="0"/>
3495
+ <line num="2137" type="stmt" count="0"/>
3496
+ <line num="2138" type="stmt" count="0"/>
 
 
 
3497
  <line num="2142" type="stmt" count="0"/>
3498
+ <line num="2145" type="stmt" count="0"/>
3499
+ <line num="2146" type="stmt" count="0"/>
3500
+ <line num="2147" type="stmt" count="0"/>
3501
+ <line num="2148" type="stmt" count="0"/>
3502
+ <line num="2151" type="stmt" count="0"/>
3503
+ <line num="2154" type="stmt" count="0"/>
3504
+ <line num="2155" type="stmt" count="0"/>
3505
+ <line num="2156" type="stmt" count="0"/>
3506
+ <line num="2157" type="stmt" count="0"/>
3507
+ <line num="2161" type="stmt" count="0"/>
3508
+ <line num="2162" type="stmt" count="0"/>
3509
+ <line num="2163" type="stmt" count="0"/>
3510
+ <line num="2166" type="stmt" count="0"/>
3511
+ <line num="2167" type="stmt" count="0"/>
3512
+ <line num="2168" type="stmt" count="0"/>
3513
+ <line num="2169" type="stmt" count="0"/>
3514
+ <line num="2171" type="stmt" count="0"/>
3515
+ <line num="2173" type="stmt" count="0"/>
3516
+ <line num="2175" type="stmt" count="0"/>
3517
+ <line num="2176" type="stmt" count="0"/>
3518
  <line num="2177" type="stmt" count="0"/>
3519
+ <line num="2180" type="stmt" count="0"/>
3520
+ <line num="2181" type="stmt" count="0"/>
3521
+ <line num="2191" type="method" name="page_backup_test" visibility="public" complexity="6" crap="42" count="0"/>
3522
+ <line num="2193" type="stmt" count="0"/>
3523
+ <line num="2196" type="stmt" count="0"/>
3524
+ <line num="2199" type="stmt" count="0"/>
 
 
 
 
 
3525
  <line num="2202" type="stmt" count="0"/>
 
3526
  <line num="2205" type="stmt" count="0"/>
 
3527
  <line num="2207" type="stmt" count="0"/>
 
3528
  <line num="2210" type="stmt" count="0"/>
3529
+ <line num="2213" type="stmt" count="0"/>
3530
+ <line num="2216" type="stmt" count="0"/>
3531
+ <line num="2219" type="stmt" count="0"/>
3532
+ <line num="2222" type="stmt" count="0"/>
3533
+ <line num="2224" type="stmt" count="0"/>
3534
+ <line num="2232" type="stmt" count="0"/>
3535
+ <line num="2233" type="stmt" count="0"/>
3536
+ <line num="2234" type="stmt" count="0"/>
3537
+ <line num="2235" type="stmt" count="0"/>
3538
+ <line num="2236" type="stmt" count="0"/>
3539
+ <line num="2239" type="stmt" count="0"/>
3540
+ <line num="2240" type="stmt" count="0"/>
3541
  <line num="2241" type="stmt" count="0"/>
3542
+ <line num="2242" type="stmt" count="0"/>
3543
  <line num="2243" type="stmt" count="0"/>
3544
  <line num="2244" type="stmt" count="0"/>
3545
  <line num="2245" type="stmt" count="0"/>
3546
  <line num="2246" type="stmt" count="0"/>
3547
+ <line num="2248" type="stmt" count="0"/>
3548
+ <line num="2251" type="stmt" count="0"/>
3549
+ <line num="2252" type="stmt" count="0"/>
3550
+ <line num="2253" type="stmt" count="0"/>
3551
+ <line num="2254" type="stmt" count="0"/>
3552
+ <line num="2255" type="stmt" count="0"/>
3553
+ <line num="2256" type="stmt" count="0"/>
3554
  <line num="2258" type="stmt" count="0"/>
3555
  <line num="2259" type="stmt" count="0"/>
3556
  <line num="2260" type="stmt" count="0"/>
3557
+ <line num="2262" type="stmt" count="0"/>
3558
+ <line num="2263" type="stmt" count="0"/>
3559
+ <line num="2264" type="stmt" count="0"/>
3560
+ <line num="2266" type="stmt" count="0"/>
3561
+ <line num="2267" type="stmt" count="0"/>
3562
+ <line num="2269" type="stmt" count="0"/>
3563
+ <line num="2270" type="stmt" count="0"/>
3564
+ <line num="2271" type="stmt" count="0"/>
3565
+ <line num="2278" type="stmt" count="0"/>
3566
+ <line num="2280" type="stmt" count="0"/>
3567
+ <line num="2281" type="stmt" count="0"/>
3568
+ <line num="2283" type="stmt" count="0"/>
3569
+ <line num="2288" type="stmt" count="0"/>
3570
+ <line num="2289" type="stmt" count="0"/>
3571
+ <line num="2290" type="stmt" count="0"/>
3572
+ <line num="2294" type="stmt" count="0"/>
3573
+ <line num="2295" type="stmt" count="0"/>
3574
+ <line num="2310" type="method" name="set_doing_cron" visibility="public" complexity="3" crap="3" count="29"/>
3575
+ <line num="2311" type="stmt" count="29"/>
3576
+ <line num="2312" type="stmt" count="29"/>
3577
+ <line num="2319" type="method" name="set_lang" visibility="public" complexity="1" crap="1" count="29"/>
3578
+ <line num="2324" type="stmt" count="29"/>
3579
+ <line num="2326" type="stmt" count="29"/>
3580
+ <line num="2327" type="stmt" count="29"/>
3581
+ <line num="2328" type="stmt" count="29"/>
3582
+ <line num="2329" type="stmt" count="29"/>
3583
+ <line num="2330" type="stmt" count="29"/>
3584
+ <line num="2331" type="stmt" count="29"/>
3585
+ <line num="2333" type="stmt" count="29"/>
3586
+ <line num="2334" type="stmt" count="29"/>
3587
+ <line num="2336" type="stmt" count="29"/>
3588
+ <line num="2337" type="stmt" count="29"/>
3589
+ <line num="2338" type="stmt" count="29"/>
3590
+ <line num="2339" type="stmt" count="29"/>
3591
+ <line num="2340" type="stmt" count="29"/>
3592
+ <line num="2341" type="stmt" count="29"/>
3593
+ <line num="2343" type="stmt" count="29"/>
3594
+ <line num="2344" type="stmt" count="29"/>
3595
+ <line num="2345" type="stmt" count="29"/>
3596
+ <line num="2351" type="stmt" count="29"/>
3597
+ <line num="2353" type="stmt" count="29"/>
3598
+ <line num="2354" type="stmt" count="29"/>
3599
+ <line num="2355" type="stmt" count="29"/>
3600
+ <line num="2356" type="stmt" count="29"/>
3601
+ <line num="2357" type="stmt" count="29"/>
3602
+ <line num="2359" type="stmt" count="29"/>
3603
+ <line num="2362" type="stmt" count="29"/>
3604
+ <line num="2363" type="stmt" count="29"/>
3605
+ <line num="2365" type="stmt" count="29"/>
3606
+ <line num="2367" type="stmt" count="29"/>
3607
+ <line num="2379" type="method" name="set_time_limit" visibility="public" complexity="2" crap="2" count="9"/>
3608
+ <line num="2380" type="stmt" count="9"/>
3609
+ <line num="2382" type="stmt" count="9"/>
3610
+ <line num="2383" type="stmt" count="9"/>
3611
+ <line num="2390" type="method" name="wp_ajax_restore" visibility="public" complexity="6" crap="42" count="0"/>
 
3612
  <line num="2391" type="stmt" count="0"/>
3613
+ <line num="2392" type="stmt" count="0"/>
 
3614
  <line num="2395" type="stmt" count="0"/>
3615
+ <line num="2396" type="stmt" count="0"/>
3616
  <line num="2397" type="stmt" count="0"/>
3617
+ <line num="2399" type="stmt" count="0"/>
3618
  <line num="2400" type="stmt" count="0"/>
3619
  <line num="2401" type="stmt" count="0"/>
3620
+ <line num="2404" type="stmt" count="0"/>
3621
+ <line num="2405" type="stmt" count="0"/>
3622
  <line num="2406" type="stmt" count="0"/>
 
3623
  <line num="2408" type="stmt" count="0"/>
3624
  <line num="2409" type="stmt" count="0"/>
3625
  <line num="2410" type="stmt" count="0"/>
 
3626
  <line num="2413" type="stmt" count="0"/>
3627
+ <line num="2414" type="stmt" count="0"/>
3628
  <line num="2416" type="stmt" count="0"/>
3629
+ <line num="2429" type="stmt" count="0"/>
3630
+ <line num="2430" type="stmt" count="0"/>
3631
+ <line num="2432" type="stmt" count="0"/>
3632
+ <line num="2433" type="stmt" count="0"/>
3633
+ <line num="2434" type="stmt" count="0"/>
3634
+ <line num="2435" type="stmt" count="0"/>
3635
+ <line num="2436" type="stmt" count="0"/>
3636
+ <line num="2438" type="stmt" count="0"/>
3637
+ <line num="2439" type="stmt" count="0"/>
3638
+ <line num="2440" type="stmt" count="0"/>
3639
  <line num="2441" type="stmt" count="0"/>
3640
+ <line num="2443" type="stmt" count="0"/>
3641
  <line num="2445" type="stmt" count="0"/>
3642
  <line num="2446" type="stmt" count="0"/>
3643
+ <line num="2462" type="method" name="boldgrid_backup_now_auto" visibility="public" complexity="4" crap="20" count="0"/>
3644
+ <line num="2464" type="stmt" count="0"/>
 
 
 
 
 
 
 
 
 
3645
  <line num="2466" type="stmt" count="0"/>
3646
+ <line num="2467" type="stmt" count="0"/>
 
3647
  <line num="2471" type="stmt" count="0"/>
3648
+ <line num="2474" type="stmt" count="0"/>
3649
  <line num="2475" type="stmt" count="0"/>
 
3650
  <line num="2479" type="stmt" count="0"/>
3651
  <line num="2480" type="stmt" count="0"/>
3652
  <line num="2481" type="stmt" count="0"/>
3653
+ <line num="2492" type="method" name="enforce_retention" visibility="public" complexity="8" crap="8.07" count="9"/>
3654
+ <line num="2493" type="stmt" count="9"/>
3655
+ <line num="2494" type="stmt" count="9"/>
3656
+ <line num="2495" type="stmt" count="9"/>
3657
+ <line num="2497" type="stmt" count="9"/>
3658
+ <line num="2498" type="stmt" count="9"/>
3659
+ <line num="2500" type="stmt" count="9"/>
3660
+ <line num="2501" type="stmt" count="9"/>
3661
+ <line num="2504" type="stmt" count="9"/>
3662
+ <line num="2505" type="stmt" count="9"/>
3663
+ <line num="2506" type="stmt" count="9"/>
3664
+ <line num="2507" type="stmt" count="9"/>
3665
+ <line num="2508" type="stmt" count="0"/>
3666
+ <line num="2509" type="stmt" count="0"/>
3667
+ <line num="2510" type="stmt" count="0"/>
3668
+ <line num="2511" type="stmt" count="9"/>
3669
+ <line num="2512" type="stmt" count="9"/>
3670
+ <line num="2513" type="stmt" count="9"/>
3671
+ <line num="2516" type="stmt" count="9"/>
3672
+ <line num="2519" type="stmt" count="9"/>
3673
+ <line num="2520" type="stmt" count="9"/>
3674
+ <line num="2521" type="stmt" count="9"/>
3675
+ <line num="2525" type="stmt" count="4"/>
3676
+ <line num="2528" type="stmt" count="4"/>
3677
+ <line num="2531" type="stmt" count="4"/>
3678
+ <line num="2532" type="stmt" count="4"/>
3679
+ <line num="2533" type="stmt" count="4"/>
3680
+ <line num="2536" type="stmt" count="4"/>
3681
+ <line num="2539" type="stmt" count="4"/>
3682
+ <line num="2542" type="stmt" count="4"/>
3683
+ <line num="2544" type="stmt" count="4"/>
3684
+ <line num="2545" type="stmt" count="4"/>
3685
+ <line num="2554" type="stmt" count="4"/>
3686
+ <line num="2555" type="stmt" count="4"/>
3687
  <line num="2556" type="stmt" count="0"/>
3688
+ <line num="2558" type="stmt" count="4"/>
3689
+ <line num="2560" type="stmt" count="4"/>
3690
+ <line num="2561" type="stmt" count="4"/>
3691
+ <line num="2562" type="stmt" count="4"/>
3692
+ <line num="2569" type="method" name="add_thickbox" visibility="public" complexity="2" crap="6" count="0"/>
 
 
 
 
 
 
3693
  <line num="2570" type="stmt" count="0"/>
3694
+ <line num="2571" type="stmt" count="0"/>
3695
  <line num="2572" type="stmt" count="0"/>
3696
+ <line num="2573" type="stmt" count="0"/>
3697
+ <metrics loc="2574" ncloc="1324" classes="1" methods="28" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="890" coveredstatements="376" elements="918" coveredelements="380"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3698
  </file>
3699
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-cron-log.php">
3700
  <class name="Boldgrid_Backup_Admin_Cron_Log" namespace="global" fullPackage="Boldgrid.Backup.Admin.Cron">
5763
  </file>
5764
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-log.php">
5765
  <class name="Boldgrid_Backup_Admin_Log" namespace="global" fullPackage="Boldgrid.Backup.Admin">
5766
+ <metrics complexity="28" methods="11" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="88" coveredstatements="63" elements="99" coveredelements="69"/>
5767
  </class>
5768
+ <line num="81" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="38"/>
5769
+ <line num="82" type="stmt" count="38"/>
5770
+ <line num="83" type="stmt" count="38"/>
5771
+ <line num="94" type="method" name="add" visibility="public" complexity="2" crap="2" count="9"/>
5772
+ <line num="100" type="stmt" count="9"/>
5773
+ <line num="101" type="stmt" count="9"/>
 
5774
  <line num="102" type="stmt" count="9"/>
5775
+ <line num="105" type="stmt" count="9"/>
 
 
5776
  <line num="113" type="stmt" count="9"/>
5777
+ <line num="114" type="stmt" count="9"/>
5778
+ <line num="115" type="stmt" count="9"/>
5779
+ <line num="116" type="stmt" count="9"/>
5780
+ <line num="123" type="method" name="add_generic" visibility="public" complexity="2" crap="2" count="9"/>
5781
+ <line num="124" type="stmt" count="9"/>
5782
  <line num="126" type="stmt" count="9"/>
5783
+ <line num="128" type="stmt" count="9"/>
5784
+ <line num="129" type="stmt" count="9"/>
5785
+ <line num="130" type="stmt" count="9"/>
5786
+ <line num="139" type="method" name="add_last_error" visibility="public" complexity="6" crap="6.22" count="9"/>
5787
  <line num="140" type="stmt" count="9"/>
5788
+ <line num="153" type="stmt" count="9"/>
5789
+ <line num="154" type="stmt" count="9"/>
 
 
 
5790
  <line num="155" type="stmt" count="9"/>
5791
+ <line num="158" type="stmt" count="9"/>
5792
+ <line num="159" type="stmt" count="2"/>
5793
+ <line num="163" type="stmt" count="8"/>
5794
+ <line num="164" type="stmt" count="0"/>
5795
+ <line num="165" type="stmt" count="0"/>
5796
+ <line num="168" type="stmt" count="8"/>
5797
+ <line num="169" type="stmt" count="8"/>
5798
+ <line num="177" type="method" name="add_memory" visibility="public" complexity="1" crap="1" count="9"/>
 
 
 
 
 
 
5799
  <line num="178" type="stmt" count="9"/>
5800
+ <line num="179" type="stmt" count="9"/>
5801
+ <line num="180" type="stmt" count="9"/>
5802
+ <line num="182" type="stmt" count="9"/>
5803
+ <line num="183" type="stmt" count="9"/>
5804
+ <line num="184" type="stmt" count="9"/>
5805
+ <line num="185" type="stmt" count="9"/>
5806
+ <line num="186" type="stmt" count="9"/>
5807
  <line num="187" type="stmt" count="9"/>
5808
  <line num="188" type="stmt" count="9"/>
5809
+ <line num="189" type="stmt" count="9"/>
5810
+ <line num="191" type="stmt" count="9"/>
5811
  <line num="192" type="stmt" count="9"/>
5812
+ <line num="199" type="method" name="add_separator" visibility="public" complexity="1" crap="1" count="9"/>
5813
+ <line num="200" type="stmt" count="9"/>
5814
+ <line num="201" type="stmt" count="9"/>
5815
+ <line num="208" type="method" name="clean_up" visibility="public" complexity="4" crap="4.25" count="9"/>
5816
+ <line num="210" type="stmt" count="9"/>
5817
+ <line num="211" type="stmt" count="9"/>
5818
+ <line num="213" type="stmt" count="9"/>
5819
+ <line num="215" type="stmt" count="9"/>
5820
+ <line num="216" type="stmt" count="0"/>
 
5821
  <line num="220" type="stmt" count="9"/>
5822
+ <line num="221" type="stmt" count="9"/>
5823
  <line num="222" type="stmt" count="9"/>
5824
+ <line num="225" type="stmt" count="0"/>
5825
+ <line num="227" type="stmt" count="0"/>
5826
  <line num="228" type="stmt" count="9"/>
5827
  <line num="229" type="stmt" count="9"/>
5828
+ <line num="239" type="method" name="init" visibility="public" complexity="4" crap="4" count="9"/>
5829
+ <line num="241" type="stmt" count="9"/>
5830
+ <line num="243" type="stmt" count="9"/>
5831
+ <line num="245" type="stmt" count="9"/>
5832
+ <line num="247" type="stmt" count="9"/>
5833
+ <line num="249" type="stmt" count="9"/>
5834
+ <line num="251" type="stmt" count="9"/>
5835
+ <line num="252" type="stmt" count="9"/>
5836
+ <line num="254" type="stmt" count="9"/>
5837
+ <line num="255" type="stmt" count="9"/>
5838
  <line num="256" type="stmt" count="9"/>
5839
  <line num="257" type="stmt" count="9"/>
5840
+ <line num="258" type="stmt" count="9"/>
5841
+ <line num="260" type="stmt" count="9"/>
5842
+ <line num="270" type="method" name="init_signal_handler" visibility="private" complexity="4" crap="14.72" count="9"/>
5843
+ <line num="279" type="stmt" count="9"/>
5844
+ <line num="280" type="stmt" count="9"/>
 
 
 
 
5845
  <line num="283" type="stmt" count="0"/>
5846
+ <line num="284" type="stmt" count="0"/>
5847
  <line num="285" type="stmt" count="0"/>
5848
+ <line num="289" type="stmt" count="0"/>
5849
+ <line num="293" type="stmt" count="0"/>
5850
+ <line num="295" type="stmt" count="0"/>
5851
+ <line num="297" type="stmt" count="0"/>
5852
+ <line num="299" type="stmt" count="0"/>
5853
+ <line num="305" type="stmt" count="0"/>
5854
+ <line num="306" type="stmt" count="0"/>
5855
+ <line num="308" type="stmt" count="0"/>
5856
+ <line num="309" type="stmt" count="0"/>
5857
+ <line num="310" type="stmt" count="0"/>
5858
+ <line num="311" type="stmt" count="0"/>
5859
+ <line num="318" type="method" name="shutdown" visibility="public" complexity="2" crap="6" count="0"/>
5860
+ <line num="323" type="stmt" count="0"/>
5861
+ <line num="324" type="stmt" count="0"/>
5862
+ <line num="325" type="stmt" count="0"/>
5863
+ <line num="326" type="stmt" count="0"/>
5864
+ <line num="336" type="method" name="signal_handler" visibility="public" complexity="1" crap="2" count="0"/>
5865
+ <line num="337" type="stmt" count="0"/>
5866
+ <line num="339" type="stmt" count="0"/>
5867
+ <metrics loc="341" ncloc="143" classes="1" methods="11" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="88" coveredstatements="63" elements="99" coveredelements="69"/>
5868
  </file>
5869
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-nopriv.php">
5870
  <class name="Boldgrid_Backup_Admin_Nopriv" namespace="global" fullPackage="Boldgrid.Backup.Admin">
6234
  </file>
6235
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-restore-helper.php">
6236
  <class name="Boldgrid_Backup_Admin_Restore_Helper" namespace="global" fullPackage="Boldgrid.Backup.Admin.Restore">
6237
+ <metrics complexity="42" methods="10" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="15" elements="109" coveredelements="16"/>
6238
  </class>
6239
  <line num="68" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="29"/>
6240
  <line num="69" type="stmt" count="29"/>
6258
  <line num="114" type="stmt" count="0"/>
6259
  <line num="115" type="stmt" count="0"/>
6260
  <line num="116" type="stmt" count="0"/>
6261
+ <line num="127" type="method" name="post_restore" visibility="public" complexity="11" crap="132" count="0"/>
6262
  <line num="128" type="stmt" count="0"/>
6263
+ <line num="130" type="stmt" count="0"/>
6264
+ <line num="131" type="stmt" count="0"/>
6265
  <line num="132" type="stmt" count="0"/>
 
6266
  <line num="135" type="stmt" count="0"/>
6267
  <line num="136" type="stmt" count="0"/>
6268
+ <line num="137" type="stmt" count="0"/>
6269
+ <line num="138" type="stmt" count="0"/>
6270
  <line num="139" type="stmt" count="0"/>
6271
  <line num="140" type="stmt" count="0"/>
 
6272
  <line num="142" type="stmt" count="0"/>
6273
+ <line num="148" type="stmt" count="0"/>
6274
+ <line num="149" type="stmt" count="0"/>
6275
+ <line num="151" type="stmt" count="0"/>
6276
  <line num="152" type="stmt" count="0"/>
6277
  <line num="153" type="stmt" count="0"/>
6278
+ <line num="154" type="stmt" count="0"/>
6279
  <line num="155" type="stmt" count="0"/>
6280
+ <line num="166" type="method" name="pre_restore" visibility="public" complexity="4" crap="20" count="0"/>
6281
+ <line num="167" type="stmt" count="0"/>
6282
+ <line num="169" type="stmt" count="0"/>
6283
+ <line num="170" type="stmt" count="0"/>
 
6284
  <line num="171" type="stmt" count="0"/>
6285
+ <line num="173" type="stmt" count="0"/>
6286
+ <line num="174" type="stmt" count="0"/>
6287
  <line num="175" type="stmt" count="0"/>
6288
+ <line num="176" type="stmt" count="0"/>
6289
  <line num="177" type="stmt" count="0"/>
6290
+ <line num="180" type="stmt" count="0"/>
 
6291
  <line num="181" type="stmt" count="0"/>
6292
+ <line num="192" type="method" name="prepare_restore" visibility="public" complexity="6" crap="42" count="0"/>
6293
+ <line num="194" type="stmt" count="0"/>
6294
+ <line num="196" type="stmt" count="0"/>
6295
+ <line num="197" type="stmt" count="0"/>
 
 
 
 
 
6296
  <line num="205" type="stmt" count="0"/>
6297
+ <line num="206" type="stmt" count="0"/>
6298
+ <line num="207" type="stmt" count="0"/>
6299
+ <line num="208" type="stmt" count="0"/>
6300
+ <line num="209" type="stmt" count="0"/>
6301
+ <line num="212" type="stmt" count="0"/>
6302
+ <line num="231" type="method" name="set_writable_permissions" visibility="public" complexity="6" crap="6.77" count="1"/>
6303
+ <line num="232" type="stmt" count="1"/>
6304
+ <line num="234" type="stmt" count="1"/>
6305
+ <line num="236" type="stmt" count="1"/>
6306
+ <line num="237" type="stmt" count="1"/>
6307
+ <line num="238" type="stmt" count="1"/>
6308
  <line num="240" type="stmt" count="1"/>
6309
+ <line num="241" type="stmt" count="0"/>
6310
  <line num="244" type="stmt" count="1"/>
6311
+ <line num="247" type="stmt" count="1"/>
 
6312
  <line num="248" type="stmt" count="1"/>
6313
+ <line num="251" type="stmt" count="1"/>
6314
+ <line num="252" type="stmt" count="0"/>
6315
+ <line num="254" type="stmt" count="0"/>
6316
+ <line num="256" type="stmt" count="0"/>
6317
+ <line num="257" type="stmt" count="0"/>
6318
  <line num="259" type="stmt" count="1"/>
6319
+ <line num="260" type="stmt" count="1"/>
6320
+ <line num="262" type="stmt" count="1"/>
6321
+ <line num="277" type="method" name="shutdown" visibility="public" complexity="4" crap="20" count="0"/>
6322
+ <line num="278" type="stmt" count="0"/>
6323
+ <line num="279" type="stmt" count="0"/>
6324
+ <line num="282" type="stmt" count="0"/>
6325
+ <line num="289" type="stmt" count="0"/>
 
 
 
6326
  <line num="290" type="stmt" count="0"/>
6327
+ <line num="293" type="stmt" count="0"/>
6328
+ <line num="294" type="stmt" count="0"/>
6329
+ <line num="295" type="stmt" count="0"/>
6330
+ <line num="296" type="stmt" count="0"/>
6331
  <line num="297" type="stmt" count="0"/>
6332
  <line num="298" type="stmt" count="0"/>
6333
+ <line num="299" type="stmt" count="0"/>
6334
  <line num="301" type="stmt" count="0"/>
 
 
 
 
 
6335
  <line num="307" type="stmt" count="0"/>
6336
+ <line num="308" type="stmt" count="0"/>
6337
+ <line num="319" type="method" name="restore_fail" visibility="public" complexity="3" crap="12" count="0"/>
6338
+ <line num="320" type="stmt" count="0"/>
6339
+ <line num="322" type="stmt" count="0"/>
6340
+ <line num="323" type="stmt" count="0"/>
6341
+ <line num="325" type="stmt" count="0"/>
6342
  <line num="328" type="stmt" count="0"/>
6343
+ <line num="329" type="stmt" count="0"/>
6344
  <line num="330" type="stmt" count="0"/>
6345
  <line num="331" type="stmt" count="0"/>
6346
  <line num="333" type="stmt" count="0"/>
6347
+ <line num="335" type="stmt" count="0"/>
6348
+ <metrics loc="337" ncloc="174" classes="1" methods="10" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="15" elements="109" coveredelements="16"/>
 
 
 
 
 
6349
  </file>
6350
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/class-boldgrid-backup-admin-scheduler.php">
6351
  <class name="Boldgrid_Backup_Admin_Scheduler" namespace="global" fullPackage="Boldgrid.Backup.Admin">
7049
  <line num="45" type="stmt" count="13"/>
7050
  <line num="47" type="stmt" count="13"/>
7051
  <line num="48" type="stmt" count="13"/>
7052
+ <line num="49" type="stmt" count="12"/>
7053
+ <line num="50" type="stmt" count="12"/>
7054
  <line num="52" type="stmt" count="13"/>
7055
  <line num="54" type="stmt" count="13"/>
7056
  <line num="64" type="method" name="get_tasks" visibility="public" complexity="1" crap="1" count="13"/>
7061
  <line num="82" type="stmt" count="13"/>
7062
  <line num="84" type="stmt" count="13"/>
7063
  <line num="91" type="stmt" count="13"/>
7064
+ <line num="92" type="stmt" count="12"/>
7065
+ <line num="94" type="stmt" count="12"/>
7066
+ <line num="95" type="stmt" count="7"/>
7067
+ <line num="99" type="stmt" count="12"/>
7068
+ <line num="100" type="stmt" count="12"/>
7069
+ <line num="101" type="stmt" count="12"/>
7070
+ <line num="102" type="stmt" count="12"/>
7071
+ <line num="104" type="stmt" count="11"/>
7072
  <line num="107" type="stmt" count="13"/>
7073
  <line num="117" type="method" name="update_tasks" visibility="public" complexity="2" crap="2.06" count="13"/>
7074
  <line num="118" type="stmt" count="13"/>
7103
  <line num="140" type="stmt" count="13"/>
7104
  <line num="152" type="method" name="get_data" visibility="public" complexity="2" crap="2" count="1"/>
7105
  <line num="153" type="stmt" count="1"/>
7106
+ <line num="163" type="method" name="get_id" visibility="public" complexity="1" crap="1" count="11"/>
7107
+ <line num="164" type="stmt" count="11"/>
7108
  <line num="174" type="method" name="get_status" visibility="public" complexity="3" crap="3" count="13"/>
7109
  <line num="175" type="stmt" count="13"/>
7110
  <line num="176" type="stmt" count="4"/>
9357
  </file>
9358
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/orphan/class-finder.php">
9359
  <class name="Finder" namespace="Boldgrid\Backup\Admin\Orphan">
9360
+ <metrics complexity="9" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="16" elements="26" coveredelements="19"/>
9361
  </class>
9362
  <line num="47" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
9363
  <line num="48" type="stmt" count="9"/>
9364
  <line num="49" type="stmt" count="9"/>
9365
+ <line num="63" type="method" name="is_file_old" visibility="public" complexity="2" crap="2" count="8"/>
9366
+ <line num="65" type="stmt" count="8"/>
9367
+ <line num="67" type="stmt" count="8"/>
9368
  <line num="79" type="method" name="run" visibility="public" complexity="1" crap="1" count="9"/>
9369
  <line num="80" type="stmt" count="9"/>
9370
  <line num="82" type="stmt" count="9"/>
9371
+ <line num="90" type="method" name="set_filelist" visibility="public" complexity="5" crap="6.32" count="9"/>
9372
  <line num="92" type="stmt" count="9"/>
9373
  <line num="93" type="stmt" count="9"/>
9374
  <line num="94" type="stmt" count="9"/>
9375
  <line num="95" type="stmt" count="9"/>
9376
+ <line num="96" type="stmt" count="8"/>
9377
  <line num="97" type="stmt" count="0"/>
9378
  <line num="98" type="stmt" count="0"/>
9379
  <line num="99" type="stmt" count="0"/>
9385
  <line num="107" type="stmt" count="0"/>
9386
  <line num="108" type="stmt" count="9"/>
9387
  <line num="109" type="stmt" count="9"/>
9388
+ <metrics loc="110" ncloc="41" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="16" elements="26" coveredelements="19"/>
9389
  </file>
9390
  </package>
9391
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/partials/archive-details/browser-entry.php">
10475
  </file>
10476
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/partials/boldgrid-backup-admin-mail-restore.php">
10477
  <line num="17" type="stmt" count="1"/>
10478
+ <line num="27" type="stmt" count="1"/>
10479
  <line num="30" type="stmt" count="1"/>
10480
  <line num="32" type="stmt" count="1"/>
10481
  <line num="34" type="stmt" count="1"/>
10482
  <line num="36" type="stmt" count="1"/>
10483
  <line num="38" type="stmt" count="1"/>
10484
+ <line num="40" type="stmt" count="1"/>
10485
+ <line num="41" type="stmt" count="1"/>
10486
  <line num="42" type="stmt" count="1"/>
10487
+ <line num="43" type="stmt" count="0"/>
10488
+ <line num="44" type="stmt" count="0"/>
 
10489
  <line num="46" type="stmt" count="0"/>
10490
+ <line num="49" type="stmt" count="1"/>
10491
  <line num="51" type="stmt" count="1"/>
10492
  <line num="53" type="stmt" count="1"/>
10493
  <line num="55" type="stmt" count="1"/>
10494
  <line num="57" type="stmt" count="1"/>
10495
  <line num="59" type="stmt" count="1"/>
10496
+ <line num="60" type="stmt" count="1"/>
10497
  <line num="61" type="stmt" count="1"/>
 
10498
  <line num="63" type="stmt" count="1"/>
10499
  <line num="65" type="stmt" count="1"/>
10500
+ <line num="66" type="stmt" count="1"/>
10501
  <line num="67" type="stmt" count="1"/>
 
10502
  <line num="69" type="stmt" count="1"/>
10503
+ <line num="70" type="stmt" count="0"/>
10504
+ <line num="71" type="stmt" count="0"/>
10505
  <line num="73" type="stmt" count="0"/>
10506
+ <line num="74" type="stmt" count="0"/>
10507
+ <line num="76" type="stmt" count="1"/>
10508
  <line num="78" type="stmt" count="1"/>
10509
+ <line num="79" type="stmt" count="1"/>
10510
  <line num="81" type="stmt" count="1"/>
10511
  <line num="83" type="stmt" count="1"/>
10512
  <line num="85" type="stmt" count="1"/>
10513
  <line num="87" type="stmt" count="1"/>
10514
  <line num="89" type="stmt" count="1"/>
10515
  <line num="91" type="stmt" count="1"/>
10516
+ <metrics loc="91" ncloc="55" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="32" elements="39" coveredelements="32"/>
 
10517
  </file>
10518
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/admin/partials/boldgrid-backup-admin-nav.php">
10519
  <line num="19" type="stmt" count="1"/>
14235
  <line num="61" type="stmt" count="0"/>
14236
  <line num="62" type="stmt" count="0"/>
14237
  <line num="63" type="stmt" count="0"/>
14238
+ <line num="64" type="stmt" count="0"/>
14239
  <line num="66" type="stmt" count="0"/>
14240
  <line num="67" type="stmt" count="0"/>
14241
  <line num="68" type="stmt" count="0"/>
14242
  <line num="69" type="stmt" count="0"/>
14243
+ <line num="70" type="stmt" count="0"/>
14244
  <line num="73" type="stmt" count="0"/>
14245
  <line num="74" type="stmt" count="0"/>
14246
  <line num="75" type="stmt" count="0"/>
14247
  <line num="76" type="stmt" count="0"/>
14248
  <line num="77" type="stmt" count="0"/>
14249
+ <line num="78" type="stmt" count="0"/>
14250
  <line num="80" type="stmt" count="0"/>
14251
  <line num="81" type="stmt" count="0"/>
14252
+ <line num="82" type="stmt" count="0"/>
14253
  <line num="84" type="stmt" count="0"/>
14254
  <line num="85" type="stmt" count="0"/>
14255
+ <line num="86" type="stmt" count="0"/>
14256
+ <line num="88" type="stmt" count="0"/>
14257
  <line num="91" type="stmt" count="0"/>
14258
  <line num="92" type="stmt" count="0"/>
14259
+ <line num="93" type="stmt" count="0"/>
14260
  <line num="95" type="stmt" count="0"/>
14261
  <line num="96" type="stmt" count="0"/>
14262
  <line num="97" type="stmt" count="0"/>
14263
  <line num="98" type="stmt" count="0"/>
14264
  <line num="99" type="stmt" count="0"/>
14265
  <line num="100" type="stmt" count="0"/>
14266
+ <line num="101" type="stmt" count="0"/>
14267
+ <line num="103" type="stmt" count="0"/>
14268
+ <metrics loc="103" ncloc="72" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="0" elements="61" coveredelements="0"/>
14269
  </file>
14270
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/boldgrid-backup.php">
14271
  <line num="29" type="stmt" count="0"/>
15330
  <package name="Boldgrid\Backup\Archive">
15331
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/archive/class-factory.php">
15332
  <class name="Factory" namespace="Boldgrid\Backup\Archive">
15333
+ <metrics complexity="8" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="21" elements="29" coveredelements="23"/>
15334
  </class>
15335
+ <line num="27" type="method" name="get_by_dir" visibility="public" complexity="1" crap="2" count="0"/>
15336
+ <line num="28" type="stmt" count="0"/>
15337
+ <line num="30" type="stmt" count="0"/>
15338
+ <line num="41" type="method" name="get_by_filename" visibility="public" complexity="1" crap="1" count="5"/>
15339
+ <line num="42" type="stmt" count="5"/>
15340
+ <line num="44" type="stmt" count="5"/>
15341
+ <line num="46" type="stmt" count="5"/>
15342
+ <line num="48" type="stmt" count="5"/>
15343
+ <line num="59" type="method" name="get_by_id" visibility="public" complexity="3" crap="3" count="1"/>
 
 
 
15344
  <line num="60" type="stmt" count="1"/>
15345
+ <line num="63" type="stmt" count="1"/>
15346
+ <line num="64" type="stmt" count="1"/>
15347
+ <line num="65" type="stmt" count="1"/>
15348
+ <line num="67" type="stmt" count="1"/>
15349
+ <line num="68" type="stmt" count="1"/>
15350
+ <line num="69" type="stmt" count="1"/>
15351
+ <line num="71" type="stmt" count="1"/>
15352
+ <line num="82" type="method" name="set_id" visibility="private" complexity="3" crap="3.05" count="5"/>
15353
+ <line num="83" type="stmt" count="5"/>
15354
+ <line num="85" type="stmt" count="5"/>
15355
+ <line num="87" type="stmt" count="5"/>
15356
+ <line num="88" type="stmt" count="5"/>
15357
+ <line num="89" type="stmt" count="5"/>
15358
+ <line num="91" type="stmt" count="5"/>
15359
+ <line num="92" type="stmt" count="0"/>
15360
+ <line num="93" type="stmt" count="0"/>
15361
+ <line num="94" type="stmt" count="5"/>
15362
+ <line num="96" type="stmt" count="5"/>
15363
+ <line num="99" type="stmt" count="5"/>
15364
+ <metrics loc="101" ncloc="54" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="21" elements="29" coveredelements="23"/>
15365
  </file>
15366
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/archive/class-option.php">
15367
  <class name="Option" namespace="Boldgrid\Backup\Archive">
15368
  <metrics complexity="14" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="31" elements="35" coveredelements="35"/>
15369
  </class>
15370
+ <line num="43" type="method" name="get_all" visibility="public" complexity="1" crap="1" count="5"/>
15371
+ <line num="44" type="stmt" count="5"/>
15372
+ <line num="55" type="method" name="get_by_key" visibility="public" complexity="4" crap="4" count="5"/>
15373
+ <line num="56" type="stmt" count="5"/>
15374
+ <line num="58" type="stmt" count="5"/>
15375
+ <line num="60" type="stmt" count="5"/>
15376
  <line num="61" type="stmt" count="1"/>
15377
  <line num="62" type="stmt" count="1"/>
15378
  <line num="63" type="stmt" count="1"/>
15379
+ <line num="65" type="stmt" count="5"/>
15380
+ <line num="67" type="stmt" count="5"/>
15381
+ <line num="77" type="method" name="get_next_id" visibility="public" complexity="4" crap="4" count="5"/>
15382
+ <line num="78" type="stmt" count="5"/>
15383
+ <line num="80" type="stmt" count="5"/>
15384
+ <line num="82" type="stmt" count="5"/>
15385
  <line num="83" type="stmt" count="1"/>
15386
  <line num="85" type="stmt" count="1"/>
15387
+ <line num="86" type="stmt" count="5"/>
15388
+ <line num="88" type="stmt" count="5"/>
15389
+ <line num="100" type="method" name="update_by_filename" visibility="public" complexity="5" crap="5" count="5"/>
15390
+ <line num="101" type="stmt" count="5"/>
15391
+ <line num="103" type="stmt" count="5"/>
15392
+ <line num="106" type="stmt" count="5"/>
15393
  <line num="107" type="stmt" count="1"/>
15394
  <line num="108" type="stmt" count="1"/>
15395
  <line num="110" type="stmt" count="1"/>
15396
  <line num="112" type="stmt" count="1"/>
15397
+ <line num="114" type="stmt" count="5"/>
15398
+ <line num="117" type="stmt" count="5"/>
15399
+ <line num="118" type="stmt" count="5"/>
15400
+ <line num="119" type="stmt" count="5"/>
15401
+ <line num="120" type="stmt" count="5"/>
15402
+ <line num="122" type="stmt" count="5"/>
15403
+ <line num="124" type="stmt" count="5"/>
15404
+ <line num="125" type="stmt" count="5"/>
15405
  <metrics loc="126" ncloc="63" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="31" elements="35" coveredelements="35"/>
15406
  </file>
15407
  </package>
15621
  </file>
15622
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/class-boldgrid-backup-archiver.php">
15623
  <class name="Boldgrid_Backup_Archiver" namespace="global" fullPackage="Boldgrid.Backup">
15624
+ <metrics complexity="36" methods="7" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="155" coveredstatements="125" elements="162" coveredelements="126"/>
15625
  </class>
15626
+ <line num="82" type="method" name="__construct" visibility="public" complexity="3" crap="3.17" count="9"/>
 
 
 
 
15627
  <line num="83" type="stmt" count="9"/>
15628
+ <line num="84" type="stmt" count="9"/>
15629
+ <line num="85" type="stmt" count="9"/>
15630
+ <line num="87" type="stmt" count="9"/>
15631
  <line num="88" type="stmt" count="9"/>
15632
+ <line num="89" type="stmt" count="9"/>
15633
+ <line num="90" type="stmt" count="1"/>
15634
+ <line num="91" type="stmt" count="1"/>
15635
+ <line num="92" type="stmt" count="1"/>
15636
+ <line num="94" type="stmt" count="1"/>
15637
+ <line num="96" type="stmt" count="0"/>
15638
+ <line num="97" type="stmt" count="0"/>
15639
+ <line num="100" type="stmt" count="0"/>
15640
+ <line num="101" type="stmt" count="0"/>
15641
+ <line num="103" type="stmt" count="9"/>
15642
+ <line num="110" type="method" name="complete" visibility="public" complexity="6" crap="6.05" count="9"/>
15643
+ <line num="111" type="stmt" count="9"/>
15644
+ <line num="112" type="stmt" count="9"/>
15645
+ <line num="114" type="stmt" count="9"/>
15646
+ <line num="117" type="stmt" count="9"/>
15647
+ <line num="118" type="stmt" count="9"/>
15648
+ <line num="121" type="stmt" count="9"/>
15649
+ <line num="124" type="stmt" count="9"/>
15650
+ <line num="127" type="stmt" count="9"/>
15651
+ <line num="128" type="stmt" count="9"/>
15652
  <line num="161" type="stmt" count="9"/>
15653
+ <line num="172" type="stmt" count="9"/>
15654
+ <line num="173" type="stmt" count="9"/>
15655
+ <line num="175" type="stmt" count="9"/>
15656
+ <line num="176" type="stmt" count="9"/>
15657
+ <line num="177" type="stmt" count="9"/>
 
 
 
 
 
15658
  <line num="178" type="stmt" count="9"/>
15659
+ <line num="180" type="stmt" count="9"/>
15660
  <line num="181" type="stmt" count="9"/>
 
15661
  <line num="184" type="stmt" count="9"/>
15662
+ <line num="186" type="stmt" count="9"/>
15663
+ <line num="189" type="stmt" count="9"/>
15664
+ <line num="191" type="stmt" count="9"/>
15665
  <line num="194" type="stmt" count="9"/>
15666
+ <line num="195" type="stmt" count="0"/>
15667
+ <line num="196" type="stmt" count="0"/>
15668
+ <line num="198" type="stmt" count="9"/>
15669
+ <line num="200" type="stmt" count="9"/>
15670
+ <line num="201" type="stmt" count="0"/>
15671
+ <line num="202" type="stmt" count="0"/>
15672
+ <line num="204" type="stmt" count="9"/>
15673
+ <line num="205" type="stmt" count="1"/>
15674
+ <line num="206" type="stmt" count="1"/>
15675
  <line num="208" type="stmt" count="9"/>
15676
+ <line num="209" type="stmt" count="9"/>
15677
  <line num="211" type="stmt" count="9"/>
15678
+ <line num="213" type="stmt" count="9"/>
15679
  <line num="214" type="stmt" count="9"/>
15680
+ <line num="223" type="method" name="get_info" visibility="public" complexity="1" crap="1" count="9"/>
 
 
 
 
 
15681
  <line num="224" type="stmt" count="9"/>
15682
+ <line num="234" type="method" name="init" visibility="public" complexity="18" crap="20.32" count="9"/>
15683
+ <line num="236" type="stmt" count="9"/>
15684
+ <line num="237" type="stmt" count="9"/>
 
 
15685
  <line num="238" type="stmt" count="9"/>
15686
+ <line num="240" type="stmt" count="9"/>
15687
  <line num="241" type="stmt" count="9"/>
15688
+ <line num="244" type="stmt" count="9"/>
15689
+ <line num="245" type="stmt" count="9"/>
15690
+ <line num="246" type="stmt" count="0"/>
15691
+ <line num="247" type="stmt" count="0"/>
15692
+ <line num="248" type="stmt" count="9"/>
15693
  <line num="250" type="stmt" count="9"/>
15694
+ <line num="251" type="stmt" count="9"/>
15695
+ <line num="253" type="stmt" count="9"/>
15696
+ <line num="255" type="stmt" count="9"/>
15697
+ <line num="256" type="stmt" count="1"/>
15698
+ <line num="257" type="stmt" count="1"/>
15699
+ <line num="259" type="stmt" count="9"/>
15700
+ <line num="261" type="stmt" count="9"/>
15701
  <line num="263" type="stmt" count="9"/>
15702
+ <line num="269" type="stmt" count="9"/>
 
 
15703
  <line num="270" type="stmt" count="9"/>
15704
+ <line num="272" type="stmt" count="9"/>
15705
+ <line num="273" type="stmt" count="9"/>
15706
+ <line num="274" type="stmt" count="9"/>
15707
+ <line num="281" type="stmt" count="9"/>
15708
+ <line num="283" type="stmt" count="9"/>
 
 
 
 
 
 
 
 
15709
  <line num="294" type="stmt" count="9"/>
15710
+ <line num="295" type="stmt" count="0"/>
15711
+ <line num="296" type="stmt" count="0"/>
15712
+ <line num="297" type="stmt" count="0"/>
15713
+ <line num="301" type="stmt" count="9"/>
15714
+ <line num="303" type="stmt" count="0"/>
15715
+ <line num="305" type="stmt" count="0"/>
15716
+ <line num="306" type="stmt" count="0"/>
15717
+ <line num="308" type="stmt" count="0"/>
15718
+ <line num="316" type="stmt" count="9"/>
 
 
 
 
 
 
 
 
 
15719
  <line num="317" type="stmt" count="9"/>
15720
+ <line num="318" type="stmt" count="9"/>
15721
  <line num="319" type="stmt" count="9"/>
15722
+ <line num="320" type="stmt" count="9"/>
15723
+ <line num="321" type="stmt" count="9"/>
15724
  <line num="322" type="stmt" count="9"/>
15725
+ <line num="323" type="stmt" count="9"/>
15726
  <line num="324" type="stmt" count="9"/>
15727
+ <line num="325" type="stmt" count="9"/>
15728
+ <line num="326" type="stmt" count="9"/>
15729
+ <line num="328" type="stmt" count="9"/>
15730
+ <line num="329" type="stmt" count="9"/>
15731
+ <line num="330" type="stmt" count="9"/>
15732
  <line num="331" type="stmt" count="9"/>
 
15733
  <line num="333" type="stmt" count="9"/>
15734
+ <line num="334" type="stmt" count="9"/>
15735
+ <line num="335" type="stmt" count="9"/>
15736
+ <line num="336" type="stmt" count="9"/>
15737
+ <line num="337" type="stmt" count="9"/>
15738
  <line num="338" type="stmt" count="9"/>
15739
  <line num="339" type="stmt" count="9"/>
15740
  <line num="340" type="stmt" count="9"/>
15741
+ <line num="341" type="stmt" count="9"/>
15742
  <line num="342" type="stmt" count="9"/>
15743
  <line num="343" type="stmt" count="9"/>
15744
+ <line num="344" type="stmt" count="9"/>
15745
+ <line num="345" type="stmt" count="9"/>
15746
+ <line num="348" type="stmt" count="9"/>
15747
+ <line num="349" type="stmt" count="0"/>
15748
+ <line num="350" type="stmt" count="9"/>
15749
+ <line num="351" type="stmt" count="0"/>
15750
  <line num="352" type="stmt" count="0"/>
15751
+ <line num="353" type="stmt" count="9"/>
15752
+ <line num="354" type="stmt" count="0"/>
15753
+ <line num="355" type="stmt" count="9"/>
15754
+ <line num="356" type="stmt" count="0"/>
15755
+ <line num="357" type="stmt" count="0"/>
15756
+ <line num="358" type="stmt" count="9"/>
15757
  <line num="362" type="stmt" count="9"/>
15758
+ <line num="363" type="stmt" count="9"/>
15759
+ <line num="364" type="stmt" count="9"/>
15760
+ <line num="365" type="stmt" count="0"/>
15761
+ <line num="369" type="stmt" count="9"/>
15762
+ <line num="370" type="stmt" count="9"/>
15763
+ <line num="371" type="stmt" count="9"/>
15764
+ <line num="373" type="stmt" count="9"/>
15765
  <line num="374" type="stmt" count="9"/>
15766
+ <line num="382" type="method" name="is_archiving" visibility="public" complexity="1" crap="2" count="0"/>
15767
+ <line num="383" type="stmt" count="0"/>
15768
+ <line num="389" type="method" name="is_init_complete" visibility="public" complexity="2" crap="6" count="0"/>
15769
+ <line num="390" type="stmt" count="0"/>
15770
+ <line num="391" type="stmt" count="0"/>
15771
+ <line num="393" type="stmt" count="0"/>
15772
+ <line num="403" type="method" name="run" visibility="public" complexity="5" crap="5.06" count="9"/>
15773
+ <line num="404" type="stmt" count="9"/>
15774
+ <line num="405" type="stmt" count="9"/>
15775
+ <line num="406" type="stmt" count="9"/>
15776
+ <line num="407" type="stmt" count="0"/>
15777
+ <line num="408" type="stmt" count="0"/>
15778
+ <line num="410" type="stmt" count="9"/>
15779
+ <line num="411" type="stmt" count="9"/>
15780
+ <line num="412" type="stmt" count="9"/>
15781
+ <line num="413" type="stmt" count="9"/>
15782
+ <line num="414" type="stmt" count="9"/>
15783
+ <line num="415" type="stmt" count="9"/>
15784
+ <line num="416" type="stmt" count="1"/>
15785
+ <line num="418" type="stmt" count="9"/>
15786
+ <line num="420" type="stmt" count="9"/>
15787
+ <line num="422" type="stmt" count="9"/>
15788
+ <metrics loc="424" ncloc="210" classes="1" methods="7" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="155" coveredstatements="125" elements="162" coveredelements="126"/>
15789
  </file>
15790
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/class-boldgrid-backup-authentication.php">
15791
  <class name="Boldgrid_Backup_Authentication" namespace="global" fullPackage="Boldgrid.Backup">
15941
  </file>
15942
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/class-boldgrid-backup-restorer.php">
15943
  <class name="Boldgrid_Backup_Restorer" namespace="global" fullPackage="Boldgrid.Backup">
15944
+ <metrics complexity="43" methods="14" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="175" coveredstatements="89" elements="189" coveredelements="92"/>
15945
  </class>
15946
+ <line num="77" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="1"/>
15947
+ <line num="78" type="stmt" count="1"/>
15948
+ <line num="79" type="stmt" count="1"/>
15949
+ <line num="81" type="stmt" count="1"/>
15950
+ <line num="82" type="stmt" count="1"/>
15951
+ <line num="83" type="stmt" count="1"/>
15952
+ <line num="84" type="stmt" count="1"/>
15953
+ <line num="86" type="stmt" count="1"/>
15954
+ <line num="87" type="stmt" count="1"/>
15955
+ <line num="94" type="method" name="complete" visibility="public" complexity="5" crap="5.13" count="1"/>
15956
+ <line num="96" type="stmt" count="1"/>
15957
+ <line num="99" type="stmt" count="1"/>
15958
+ <line num="102" type="stmt" count="1"/>
15959
+ <line num="103" type="stmt" count="1"/>
15960
+ <line num="106" type="stmt" count="1"/>
15961
+ <line num="107" type="stmt" count="1"/>
15962
+ <line num="111" type="stmt" count="1"/>
15963
+ <line num="112" type="stmt" count="1"/>
15964
+ <line num="114" type="stmt" count="1"/>
15965
+ <line num="115" type="stmt" count="1"/>
15966
+ <line num="118" type="stmt" count="1"/>
15967
+ <line num="120" type="stmt" count="1"/>
15968
+ <line num="123" type="stmt" count="1"/>
15969
+ <line num="124" type="stmt" count="1"/>
15970
+ <line num="126" type="stmt" count="1"/>
15971
  <line num="127" type="stmt" count="0"/>
15972
  <line num="128" type="stmt" count="0"/>
15973
+ <line num="131" type="stmt" count="1"/>
15974
+ <line num="133" type="stmt" count="1"/>
 
 
 
15975
  <line num="134" type="stmt" count="0"/>
15976
+ <line num="135" type="stmt" count="0"/>
15977
+ <line num="137" type="stmt" count="1"/>
15978
+ <line num="138" type="stmt" count="1"/>
15979
+ <line num="147" type="method" name="get_error" visibility="private" complexity="2" crap="6" count="0"/>
15980
+ <line num="148" type="stmt" count="0"/>
15981
+ <line num="158" type="method" name="get_info" visibility="public" complexity="1" crap="2" count="0"/>
15982
  <line num="159" type="stmt" count="0"/>
15983
+ <line num="165" type="method" name="get_logger" visibility="public" complexity="1" crap="1" count="1"/>
15984
+ <line num="166" type="stmt" count="1"/>
15985
+ <line num="176" type="method" name="has_error" visibility="private" complexity="1" crap="1" count="1"/>
15986
+ <line num="177" type="stmt" count="1"/>
15987
+ <line num="178" type="stmt" count="1"/>
15988
+ <line num="193" type="method" name="init" visibility="public" complexity="21" crap="50.73" count="1"/>
15989
+ <line num="195" type="stmt" count="1"/>
15990
+ <line num="196" type="stmt" count="1"/>
15991
+ <line num="197" type="stmt" count="1"/>
15992
+ <line num="198" type="stmt" count="1"/>
15993
+ <line num="205" type="stmt" count="1"/>
15994
+ <line num="206" type="stmt" count="1"/>
15995
+ <line num="207" type="stmt" count="0"/>
15996
+ <line num="208" type="stmt" count="0"/>
15997
+ <line num="209" type="stmt" count="1"/>
15998
+ <line num="211" type="stmt" count="1"/>
15999
+ <line num="213" type="stmt" count="1"/>
16000
+ <line num="216" type="stmt" count="1"/>
16001
+ <line num="219" type="stmt" count="1"/>
16002
+ <line num="222" type="stmt" count="1"/>
16003
+ <line num="224" type="stmt" count="1"/>
16004
+ <line num="232" type="stmt" count="1"/>
16005
+ <line num="235" type="stmt" count="1"/>
 
 
 
16006
  <line num="236" type="stmt" count="0"/>
16007
+ <line num="237" type="stmt" count="0"/>
16008
  <line num="238" type="stmt" count="0"/>
16009
+ <line num="241" type="stmt" count="1"/>
16010
+ <line num="242" type="stmt" count="0"/>
16011
+ <line num="243" type="stmt" count="0"/>
16012
+ <line num="244" type="stmt" count="0"/>
16013
+ <line num="248" type="stmt" count="1"/>
16014
  <line num="249" type="stmt" count="0"/>
16015
  <line num="250" type="stmt" count="0"/>
16016
+ <line num="251" type="stmt" count="0"/>
16017
+ <line num="259" type="stmt" count="1"/>
16018
+ <line num="260" type="stmt" count="1"/>
16019
+ <line num="261" type="stmt" count="0"/>
16020
+ <line num="262" type="stmt" count="1"/>
16021
+ <line num="263" type="stmt" count="1"/>
16022
+ <line num="264" type="stmt" count="1"/>
16023
+ <line num="265" type="stmt" count="0"/>
16024
+ <line num="266" type="stmt" count="0"/>
16025
+ <line num="267" type="stmt" count="0"/>
16026
+ <line num="275" type="stmt" count="1"/>
16027
+ <line num="276" type="stmt" count="1"/>
16028
+ <line num="277" type="stmt" count="0"/>
16029
+ <line num="278" type="stmt" count="1"/>
16030
+ <line num="279" type="stmt" count="1"/>
16031
+ <line num="280" type="stmt" count="1"/>
16032
+ <line num="281" type="stmt" count="0"/>
16033
+ <line num="282" type="stmt" count="0"/>
16034
+ <line num="283" type="stmt" count="0"/>
16035
+ <line num="286" type="stmt" count="1"/>
16036
+ <line num="287" type="stmt" count="1"/>
16037
+ <line num="288" type="stmt" count="0"/>
16038
+ <line num="289" type="stmt" count="0"/>
16039
+ <line num="290" type="stmt" count="0"/>
16040
+ <line num="293" type="stmt" count="1"/>
16041
+ <line num="295" type="stmt" count="1"/>
16042
+ <line num="296" type="stmt" count="0"/>
16043
+ <line num="297" type="stmt" count="0"/>
16044
+ <line num="298" type="stmt" count="0"/>
16045
+ <line num="301" type="stmt" count="1"/>
16046
+ <line num="303" type="stmt" count="1"/>
16047
+ <line num="304" type="stmt" count="1"/>
16048
+ <line num="305" type="stmt" count="1"/>
16049
+ <line num="306" type="stmt" count="0"/>
16050
+ <line num="307" type="stmt" count="0"/>
16051
+ <line num="308" type="stmt" count="0"/>
16052
+ <line num="313" type="stmt" count="1"/>
16053
+ <line num="314" type="stmt" count="1"/>
16054
+ <line num="315" type="stmt" count="1"/>
16055
+ <line num="316" type="stmt" count="1"/>
16056
+ <line num="317" type="stmt" count="1"/>
16057
+ <line num="318" type="stmt" count="1"/>
16058
+ <line num="319" type="stmt" count="1"/>
16059
+ <line num="320" type="stmt" count="1"/>
16060
+ <line num="321" type="stmt" count="1"/>
16061
+ <line num="323" type="stmt" count="1"/>
16062
+ <line num="324" type="stmt" count="1"/>
16063
+ <line num="325" type="stmt" count="0"/>
16064
+ <line num="326" type="stmt" count="0"/>
16065
+ <line num="327" type="stmt" count="0"/>
16066
+ <line num="337" type="stmt" count="1"/>
16067
+ <line num="343" type="stmt" count="1"/>
16068
+ <line num="344" type="stmt" count="1"/>
16069
+ <line num="345" type="stmt" count="0"/>
16070
+ <line num="346" type="stmt" count="0"/>
16071
+ <line num="347" type="stmt" count="0"/>
16072
+ <line num="349" type="stmt" count="1"/>
16073
+ <line num="350" type="stmt" count="0"/>
16074
+ <line num="353" type="stmt" count="1"/>
16075
+ <line num="363" type="method" name="restore_by_id" visibility="public" complexity="1" crap="2" count="0"/>
16076
+ <line num="364" type="stmt" count="0"/>
16077
+ <line num="366" type="stmt" count="0"/>
16078
+ <line num="367" type="stmt" count="0"/>
16079
+ <line num="377" type="method" name="restore_by_key" visibility="public" complexity="1" crap="2" count="0"/>
16080
+ <line num="379" type="stmt" count="0"/>
16081
+ <line num="380" type="stmt" count="0"/>
16082
+ <line num="381" type="stmt" count="0"/>
16083
+ <line num="383" type="stmt" count="0"/>
16084
+ <line num="384" type="stmt" count="0"/>
16085
+ <line num="393" type="method" name="restore_by_url" visibility="public" complexity="2" crap="6" count="0"/>
16086
+ <line num="395" type="stmt" count="0"/>
16087
+ <line num="396" type="stmt" count="0"/>
16088
+ <line num="399" type="stmt" count="0"/>
16089
+ <line num="400" type="stmt" count="0"/>
16090
+ <line num="401" type="stmt" count="0"/>
16091
+ <line num="405" type="stmt" count="0"/>
16092
+ <line num="406" type="stmt" count="0"/>
16093
+ <line num="407" type="stmt" count="0"/>
16094
+ <line num="417" type="method" name="run" visibility="public" complexity="3" crap="6.14" count="1"/>
16095
+ <line num="418" type="stmt" count="1"/>
16096
+ <line num="419" type="stmt" count="0"/>
16097
+ <line num="421" type="stmt" count="0"/>
16098
+ <line num="423" type="stmt" count="0"/>
16099
+ <line num="424" type="stmt" count="0"/>
16100
+ <line num="426" type="stmt" count="0"/>
16101
+ <line num="428" type="stmt" count="0"/>
16102
+ <line num="430" type="stmt" count="0"/>
16103
+ <line num="431" type="stmt" count="0"/>
16104
+ <line num="432" type="stmt" count="1"/>
16105
+ <line num="434" type="stmt" count="1"/>
16106
+ <line num="435" type="stmt" count="0"/>
16107
+ <line num="436" type="stmt" count="0"/>
16108
+ <line num="437" type="stmt" count="0"/>
16109
+ <line num="440" type="stmt" count="0"/>
16110
+ <line num="441" type="stmt" count="0"/>
16111
+ <line num="443" type="stmt" count="0"/>
16112
+ <line num="444" type="stmt" count="0"/>
16113
+ <line num="446" type="stmt" count="0"/>
16114
+ <line num="447" type="stmt" count="0"/>
16115
+ <line num="449" type="stmt" count="0"/>
16116
+ <line num="450" type="stmt" count="0"/>
16117
+ <line num="451" type="stmt" count="1"/>
16118
+ <line num="452" type="stmt" count="1"/>
16119
+ <line num="453" type="stmt" count="1"/>
16120
+ <line num="457" type="stmt" count="1"/>
16121
+ <line num="458" type="stmt" count="1"/>
16122
+ <line num="470" type="method" name="run_by_id" visibility="public" complexity="1" crap="2" count="0"/>
16123
+ <line num="471" type="stmt" count="0"/>
16124
+ <line num="473" type="stmt" count="0"/>
16125
+ <line num="475" type="stmt" count="0"/>
16126
+ <line num="476" type="stmt" count="0"/>
16127
+ <line num="488" type="method" name="run_by_url" visibility="public" complexity="1" crap="2" count="0"/>
16128
+ <line num="489" type="stmt" count="0"/>
16129
+ <line num="491" type="stmt" count="0"/>
16130
+ <line num="493" type="stmt" count="0"/>
16131
+ <line num="494" type="stmt" count="0"/>
16132
+ <line num="503" type="method" name="set_error" visibility="private" complexity="1" crap="2" count="0"/>
16133
+ <line num="504" type="stmt" count="0"/>
16134
+ <line num="505" type="stmt" count="0"/>
16135
+ <metrics loc="506" ncloc="265" classes="1" methods="14" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="175" coveredstatements="89" elements="189" coveredelements="92"/>
16136
  </file>
16137
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/class-boldgrid-backup.php">
16138
  <class name="Boldgrid_Backup" namespace="global" fullPackage="Boldgrid">
16139
+ <metrics complexity="19" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="317" coveredstatements="0" elements="326" coveredelements="0"/>
16140
  </class>
16141
  <line num="66" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
16142
  <line num="67" type="stmt" count="0"/>
16270
  <line num="313" type="stmt" count="0"/>
16271
  <line num="316" type="stmt" count="0"/>
16272
  <line num="317" type="stmt" count="0"/>
16273
+ <line num="318" type="stmt" count="0"/>
16274
+ <line num="320" type="stmt" count="0"/>
16275
  <line num="323" type="stmt" count="0"/>
16276
+ <line num="324" type="stmt" count="0"/>
16277
+ <line num="326" type="stmt" count="0"/>
16278
  <line num="329" type="stmt" count="0"/>
16279
+ <line num="330" type="stmt" count="0"/>
16280
+ <line num="332" type="stmt" count="0"/>
16281
+ <line num="334" type="stmt" count="0"/>
16282
+ <line num="336" type="stmt" count="0"/>
16283
+ <line num="339" type="stmt" count="0"/>
 
 
16284
  <line num="346" type="stmt" count="0"/>
 
 
16285
  <line num="349" type="stmt" count="0"/>
16286
  <line num="350" type="stmt" count="0"/>
16287
  <line num="351" type="stmt" count="0"/>
16288
+ <line num="354" type="stmt" count="0"/>
 
16289
  <line num="355" type="stmt" count="0"/>
16290
  <line num="356" type="stmt" count="0"/>
16291
+ <line num="357" type="stmt" count="0"/>
16292
+ <line num="358" type="stmt" count="0"/>
16293
+ <line num="359" type="stmt" count="0"/>
16294
+ <line num="360" type="stmt" count="0"/>
16295
+ <line num="361" type="stmt" count="0"/>
16296
+ <line num="364" type="stmt" count="0"/>
16297
+ <line num="365" type="stmt" count="0"/>
16298
+ <line num="366" type="stmt" count="0"/>
16299
+ <line num="367" type="stmt" count="0"/>
16300
  <line num="368" type="stmt" count="0"/>
16301
+ <line num="369" type="stmt" count="0"/>
16302
+ <line num="372" type="stmt" count="0"/>
16303
+ <line num="373" type="stmt" count="0"/>
16304
+ <line num="374" type="stmt" count="0"/>
16305
+ <line num="376" type="stmt" count="0"/>
16306
+ <line num="377" type="stmt" count="0"/>
16307
+ <line num="388" type="method" name="set_locale" visibility="private" complexity="1" crap="2" count="0"/>
16308
+ <line num="389" type="stmt" count="0"/>
16309
  <line num="391" type="stmt" count="0"/>
16310
  <line num="392" type="stmt" count="0"/>
16311
+ <line num="400" type="method" name="define_admin_hooks" visibility="private" complexity="7" crap="56" count="0"/>
 
 
 
 
 
16312
  <line num="402" type="stmt" count="0"/>
16313
+ <line num="404" type="stmt" count="0"/>
 
16314
  <line num="407" type="stmt" count="0"/>
16315
  <line num="408" type="stmt" count="0"/>
16316
+ <line num="409" type="stmt" count="0"/>
 
16317
  <line num="412" type="stmt" count="0"/>
16318
  <line num="413" type="stmt" count="0"/>
16319
  <line num="414" type="stmt" count="0"/>
16320
+ <line num="416" type="stmt" count="0"/>
16321
  <line num="417" type="stmt" count="0"/>
16322
  <line num="418" type="stmt" count="0"/>
16323
+ <line num="421" type="stmt" count="0"/>
16324
+ <line num="422" type="stmt" count="0"/>
16325
  <line num="423" type="stmt" count="0"/>
16326
  <line num="424" type="stmt" count="0"/>
16327
+ <line num="427" type="stmt" count="0"/>
16328
+ <line num="428" type="stmt" count="0"/>
16329
  <line num="429" type="stmt" count="0"/>
16330
  <line num="430" type="stmt" count="0"/>
 
16331
  <line num="432" type="stmt" count="0"/>
16332
+ <line num="433" type="stmt" count="0"/>
16333
+ <line num="434" type="stmt" count="0"/>
16334
  <line num="435" type="stmt" count="0"/>
16335
  <line num="436" type="stmt" count="0"/>
16336
+ <line num="439" type="stmt" count="0"/>
16337
+ <line num="440" type="stmt" count="0"/>
16338
  <line num="441" type="stmt" count="0"/>
16339
  <line num="442" type="stmt" count="0"/>
16340
+ <line num="445" type="stmt" count="0"/>
16341
+ <line num="446" type="stmt" count="0"/>
16342
  <line num="447" type="stmt" count="0"/>
16343
  <line num="448" type="stmt" count="0"/>
16344
+ <line num="451" type="stmt" count="0"/>
 
16345
  <line num="452" type="stmt" count="0"/>
16346
  <line num="453" type="stmt" count="0"/>
16347
  <line num="454" type="stmt" count="0"/>
16353
  <line num="464" type="stmt" count="0"/>
16354
  <line num="465" type="stmt" count="0"/>
16355
  <line num="466" type="stmt" count="0"/>
 
16356
  <line num="469" type="stmt" count="0"/>
16357
  <line num="470" type="stmt" count="0"/>
16358
  <line num="471" type="stmt" count="0"/>
16359
  <line num="472" type="stmt" count="0"/>
16360
+ <line num="474" type="stmt" count="0"/>
16361
  <line num="475" type="stmt" count="0"/>
16362
+ <line num="476" type="stmt" count="0"/>
16363
  <line num="479" type="stmt" count="0"/>
16364
+ <line num="480" type="stmt" count="0"/>
16365
  <line num="481" type="stmt" count="0"/>
16366
  <line num="482" type="stmt" count="0"/>
 
16367
  <line num="485" type="stmt" count="0"/>
16368
  <line num="486" type="stmt" count="0"/>
16369
+ <line num="487" type="stmt" count="0"/>
16370
  <line num="488" type="stmt" count="0"/>
16371
  <line num="490" type="stmt" count="0"/>
16372
+ <line num="491" type="stmt" count="0"/>
16373
  <line num="492" type="stmt" count="0"/>
16374
+ <line num="493" type="stmt" count="0"/>
16375
  <line num="494" type="stmt" count="0"/>
16376
+ <line num="495" type="stmt" count="0"/>
16377
  <line num="497" type="stmt" count="0"/>
16378
+ <line num="499" type="stmt" count="0"/>
16379
+ <line num="501" type="stmt" count="0"/>
 
16380
  <line num="503" type="stmt" count="0"/>
16381
  <line num="504" type="stmt" count="0"/>
16382
  <line num="505" type="stmt" count="0"/>
16383
  <line num="507" type="stmt" count="0"/>
16384
+ <line num="508" type="stmt" count="0"/>
16385
+ <line num="510" type="stmt" count="0"/>
16386
+ <line num="512" type="stmt" count="0"/>
16387
+ <line num="514" type="stmt" count="0"/>
16388
+ <line num="516" type="stmt" count="0"/>
16389
+ <line num="518" type="stmt" count="0"/>
16390
+ <line num="519" type="stmt" count="0"/>
16391
+ <line num="520" type="stmt" count="0"/>
16392
  <line num="522" type="stmt" count="0"/>
16393
  <line num="524" type="stmt" count="0"/>
16394
+ <line num="525" type="stmt" count="0"/>
16395
  <line num="526" type="stmt" count="0"/>
16396
+ <line num="527" type="stmt" count="0"/>
16397
+ <line num="529" type="stmt" count="0"/>
16398
+ <line num="531" type="stmt" count="0"/>
16399
+ <line num="533" type="stmt" count="0"/>
16400
+ <line num="535" type="stmt" count="0"/>
16401
  <line num="537" type="stmt" count="0"/>
16402
  <line num="539" type="stmt" count="0"/>
 
 
16403
  <line num="544" type="stmt" count="0"/>
 
16404
  <line num="546" type="stmt" count="0"/>
16405
  <line num="548" type="stmt" count="0"/>
16406
  <line num="550" type="stmt" count="0"/>
16407
+ <line num="552" type="stmt" count="0"/>
16408
  <line num="554" type="stmt" count="0"/>
 
16409
  <line num="556" type="stmt" count="0"/>
16410
+ <line num="558" type="stmt" count="0"/>
16411
+ <line num="559" type="stmt" count="0"/>
16412
  <line num="561" type="stmt" count="0"/>
16413
+ <line num="562" type="stmt" count="0"/>
16414
  <line num="564" type="stmt" count="0"/>
16415
+ <line num="566" type="stmt" count="0"/>
16416
  <line num="567" type="stmt" count="0"/>
16417
+ <line num="568" type="stmt" count="0"/>
16418
  <line num="570" type="stmt" count="0"/>
16419
+ <line num="572" type="stmt" count="0"/>
16420
  <line num="573" type="stmt" count="0"/>
16421
+ <line num="576" type="stmt" count="0"/>
16422
  <line num="577" type="stmt" count="0"/>
16423
+ <line num="578" type="stmt" count="0"/>
16424
  <line num="579" type="stmt" count="0"/>
16425
+ <line num="580" type="stmt" count="0"/>
16426
+ <line num="583" type="stmt" count="0"/>
16427
  <line num="584" type="stmt" count="0"/>
 
 
16428
  <line num="587" type="stmt" count="0"/>
16429
+ <line num="590" type="stmt" count="0"/>
16430
+ <line num="593" type="stmt" count="0"/>
 
 
16431
  <line num="596" type="stmt" count="0"/>
16432
+ <line num="598" type="stmt" count="0"/>
16433
  <line num="600" type="stmt" count="0"/>
16434
+ <line num="602" type="stmt" count="0"/>
 
16435
  <line num="604" type="stmt" count="0"/>
 
16436
  <line num="607" type="stmt" count="0"/>
16437
+ <line num="608" type="stmt" count="0"/>
16438
  <line num="609" type="stmt" count="0"/>
16439
  <line num="610" type="stmt" count="0"/>
16440
  <line num="611" type="stmt" count="0"/>
16441
+ <line num="612" type="stmt" count="0"/>
16442
  <line num="615" type="stmt" count="0"/>
 
 
16443
  <line num="618" type="stmt" count="0"/>
16444
  <line num="619" type="stmt" count="0"/>
16445
+ <line num="622" type="method" name="anonymous function" complexity="1" crap="2" count="0"/>
16446
  <line num="623" type="stmt" count="0"/>
16447
  <line num="624" type="stmt" count="0"/>
16448
+ <line num="626" type="stmt" count="0"/>
16449
+ <line num="627" type="stmt" count="0"/>
16450
+ <line num="629" type="stmt" count="0"/>
16451
+ <line num="630" type="stmt" count="0"/>
16452
+ <line num="632" type="stmt" count="0"/>
16453
+ <line num="633" type="stmt" count="0"/>
16454
+ <line num="634" type="stmt" count="0"/>
16455
  <line num="636" type="stmt" count="0"/>
16456
+ <line num="638" type="stmt" count="0"/>
16457
  <line num="639" type="stmt" count="0"/>
16458
  <line num="640" type="stmt" count="0"/>
16459
+ <line num="641" type="stmt" count="0"/>
16460
  <line num="642" type="stmt" count="0"/>
16461
+ <line num="643" type="stmt" count="0"/>
16462
+ <line num="646" type="stmt" count="0"/>
16463
+ <line num="647" type="stmt" count="0"/>
16464
+ <line num="648" type="stmt" count="0"/>
16465
  <line num="651" type="stmt" count="0"/>
16466
+ <line num="658" type="stmt" count="0"/>
16467
+ <line num="659" type="stmt" count="0"/>
16468
  <line num="660" type="stmt" count="0"/>
16469
+ <line num="662" type="stmt" count="0"/>
16470
+ <line num="663" type="stmt" count="0"/>
16471
+ <line num="665" type="stmt" count="0"/>
16472
  <line num="672" type="stmt" count="0"/>
16473
+ <line num="673" type="stmt" count="0"/>
16474
+ <line num="674" type="stmt" count="0"/>
16475
+ <line num="675" type="stmt" count="0"/>
16476
+ <line num="682" type="method" name="run" visibility="public" complexity="1" crap="2" count="0"/>
16477
+ <line num="683" type="stmt" count="0"/>
16478
+ <line num="684" type="stmt" count="0"/>
16479
+ <line num="693" type="method" name="get_plugin_name" visibility="public" complexity="1" crap="2" count="0"/>
16480
+ <line num="694" type="stmt" count="0"/>
16481
+ <line num="695" type="stmt" count="0"/>
16482
+ <line num="703" type="method" name="get_loader" visibility="public" complexity="1" crap="2" count="0"/>
16483
+ <line num="704" type="stmt" count="0"/>
16484
+ <line num="705" type="stmt" count="0"/>
16485
+ <line num="713" type="method" name="get_version" visibility="public" complexity="1" crap="2" count="0"/>
16486
+ <line num="714" type="stmt" count="0"/>
16487
+ <line num="715" type="stmt" count="0"/>
16488
+ <metrics loc="716" ncloc="446" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="338" coveredstatements="0" elements="347" coveredelements="0"/>
16489
  </file>
16490
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/config/config.cron.php">
16491
  <line num="17" type="stmt" count="1"/>
16506
  <line num="53" type="stmt" count="1"/>
16507
  <line num="55" type="stmt" count="1"/>
16508
  <line num="56" type="stmt" count="1"/>
 
 
16509
  <line num="60" type="stmt" count="1"/>
16510
+ <line num="61" type="stmt" count="1"/>
16511
  <line num="62" type="stmt" count="1"/>
16512
+ <line num="64" type="stmt" count="1"/>
16513
+ <line num="65" type="stmt" count="1"/>
16514
+ <line num="66" type="stmt" count="1"/>
16515
+ <line num="67" type="stmt" count="1"/>
16516
+ <line num="69" type="stmt" count="1"/>
16517
+ <line num="71" type="stmt" count="1"/>
16518
+ <metrics loc="71" ncloc="43" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="24" elements="27" coveredelements="24"/>
16519
  </file>
16520
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/config/config.plugin.php">
16521
  <line num="17" type="stmt" count="1"/>
16697
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/index.php">
16698
  <metrics loc="8" ncloc="1" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
16699
  </file>
16700
+ <package name="Boldgrid\Backup\Option">
16701
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/option/class-option.php">
16702
+ <class name="Option" namespace="Boldgrid\Backup\Option">
16703
+ <metrics complexity="6" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="4" elements="16" coveredelements="6"/>
16704
+ </class>
16705
+ <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
16706
+ <line num="28" type="stmt" count="1"/>
16707
+ <line num="29" type="stmt" count="1"/>
16708
+ <line num="34" type="method" name="delete" visibility="public" complexity="1" crap="1" count="1"/>
16709
+ <line num="35" type="stmt" count="1"/>
16710
+ <line num="36" type="stmt" count="1"/>
16711
+ <line num="41" type="method" name="get" visibility="public" complexity="1" crap="2" count="0"/>
16712
+ <line num="42" type="stmt" count="0"/>
16713
+ <line num="48" type="method" name="get_key" visibility="public" complexity="2" crap="6" count="0"/>
16714
+ <line num="49" type="stmt" count="0"/>
16715
+ <line num="51" type="stmt" count="0"/>
16716
+ <line num="57" type="method" name="set_key" visibility="public" complexity="1" crap="2" count="0"/>
16717
+ <line num="58" type="stmt" count="0"/>
16718
+ <line num="60" type="stmt" count="0"/>
16719
+ <line num="62" type="stmt" count="0"/>
16720
+ <line num="63" type="stmt" count="0"/>
16721
+ <metrics loc="64" ncloc="33" classes="1" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="4" elements="16" coveredelements="6"/>
16722
+ </file>
16723
+ </package>
16724
+ <package name="Boldgrid\Backup\Restorer">
16725
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/restorer/class-db.php">
16726
+ <class name="Db" namespace="Boldgrid\Backup\Restorer">
16727
+ <metrics complexity="16" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="39" elements="80" coveredelements="42"/>
16728
+ </class>
16729
+ <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
16730
+ <line num="31" type="stmt" count="1"/>
16731
+ <line num="32" type="stmt" count="1"/>
16732
+ <line num="33" type="stmt" count="1"/>
16733
+ <line num="34" type="stmt" count="1"/>
16734
+ <line num="36" type="stmt" count="1"/>
16735
+ <line num="37" type="stmt" count="1"/>
16736
+ <line num="38" type="stmt" count="1"/>
16737
+ <line num="43" type="method" name="get_prefix" visibility="private" complexity="4" crap="8.12" count="1"/>
16738
+ <line num="44" type="stmt" count="1"/>
16739
+ <line num="47" type="stmt" count="1"/>
16740
+ <line num="48" type="stmt" count="0"/>
16741
+ <line num="49" type="stmt" count="0"/>
16742
+ <line num="51" type="stmt" count="1"/>
16743
+ <line num="52" type="stmt" count="0"/>
16744
+ <line num="54" type="stmt" count="0"/>
16745
+ <line num="55" type="stmt" count="0"/>
16746
+ <line num="56" type="stmt" count="0"/>
16747
+ <line num="57" type="stmt" count="0"/>
16748
+ <line num="59" type="stmt" count="1"/>
16749
+ <line num="65" type="method" name="is_encrypted" visibility="private" complexity="1" crap="1" count="1"/>
16750
+ <line num="67" type="stmt" count="1"/>
16751
+ <line num="77" type="method" name="log" visibility="private" complexity="1" crap="1" count="1"/>
16752
+ <line num="78" type="stmt" count="1"/>
16753
+ <line num="79" type="stmt" count="1"/>
16754
+ <line num="84" type="method" name="run" visibility="public" complexity="9" crap="21.55" count="1"/>
16755
+ <line num="86" type="stmt" count="1"/>
16756
+ <line num="87" type="stmt" count="0"/>
16757
+ <line num="89" type="stmt" count="0"/>
16758
+ <line num="90" type="stmt" count="0"/>
16759
+ <line num="92" type="stmt" count="0"/>
16760
+ <line num="96" type="stmt" count="1"/>
16761
+ <line num="97" type="stmt" count="0"/>
16762
+ <line num="98" type="stmt" count="0"/>
16763
+ <line num="101" type="stmt" count="1"/>
16764
+ <line num="103" type="stmt" count="1"/>
16765
+ <line num="104" type="stmt" count="1"/>
16766
+ <line num="107" type="stmt" count="1"/>
16767
+ <line num="108" type="stmt" count="1"/>
16768
+ <line num="110" type="stmt" count="1"/>
16769
+ <line num="111" type="stmt" count="1"/>
16770
+ <line num="112" type="stmt" count="1"/>
16771
+ <line num="118" type="stmt" count="0"/>
16772
+ <line num="119" type="stmt" count="0"/>
16773
+ <line num="122" type="stmt" count="1"/>
16774
+ <line num="123" type="stmt" count="1"/>
16775
+ <line num="124" type="stmt" count="1"/>
16776
+ <line num="126" type="stmt" count="1"/>
16777
+ <line num="127" type="stmt" count="0"/>
16778
+ <line num="129" type="stmt" count="0"/>
16779
+ <line num="130" type="stmt" count="0"/>
16780
+ <line num="132" type="stmt" count="0"/>
16781
+ <line num="134" type="stmt" count="1"/>
16782
+ <line num="138" type="stmt" count="1"/>
16783
+ <line num="139" type="stmt" count="0"/>
16784
+ <line num="140" type="stmt" count="0"/>
16785
+ <line num="141" type="stmt" count="0"/>
16786
+ <line num="144" type="stmt" count="1"/>
16787
+ <line num="147" type="stmt" count="1"/>
16788
+ <line num="148" type="stmt" count="1"/>
16789
+ <line num="151" type="stmt" count="1"/>
16790
+ <line num="152" type="stmt" count="0"/>
16791
+ <line num="154" type="stmt" count="0"/>
16792
+ <line num="156" type="stmt" count="0"/>
16793
+ <line num="157" type="stmt" count="0"/>
16794
+ <line num="158" type="stmt" count="0"/>
16795
+ <line num="160" type="stmt" count="0"/>
16796
+ <line num="162" type="stmt" count="0"/>
16797
+ <line num="163" type="stmt" count="0"/>
16798
+ <line num="164" type="stmt" count="0"/>
16799
+ <line num="165" type="stmt" count="0"/>
16800
+ <line num="166" type="stmt" count="1"/>
16801
+ <line num="170" type="stmt" count="1"/>
16802
+ <line num="171" type="stmt" count="0"/>
16803
+ <line num="174" type="stmt" count="0"/>
16804
+ <line num="176" type="stmt" count="0"/>
16805
+ <line num="177" type="stmt" count="0"/>
16806
+ <line num="178" type="stmt" count="1"/>
16807
+ <line num="181" type="stmt" count="1"/>
16808
+ <line num="183" type="stmt" count="1"/>
16809
+ <metrics loc="185" ncloc="118" classes="1" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="39" elements="80" coveredelements="42"/>
16810
+ </file>
16811
+ </package>
16812
+ <package name="Boldgrid\Backup\V2\Archive">
16813
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archive/class-archive.php">
16814
+ <class name="Archive" namespace="Boldgrid\Backup\V2\Archive">
16815
+ <metrics complexity="7" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="9" elements="19" coveredelements="11"/>
16816
+ </class>
16817
+ <line num="44" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
16818
+ <line num="45" type="stmt" count="4"/>
16819
+ <line num="46" type="stmt" count="4"/>
16820
+ <line num="51" type="method" name="get_dir" visibility="public" complexity="1" crap="2" count="0"/>
16821
+ <line num="52" type="stmt" count="0"/>
16822
+ <line num="58" type="method" name="get_dirlist" visibility="public" complexity="1" crap="2" count="0"/>
16823
+ <line num="59" type="stmt" count="0"/>
16824
+ <line num="65" type="method" name="get_id" visibility="public" complexity="1" crap="2" count="0"/>
16825
+ <line num="66" type="stmt" count="0"/>
16826
+ <line num="72" type="method" name="set_dir" visibility="public" complexity="1" crap="1" count="4"/>
16827
+ <line num="73" type="stmt" count="4"/>
16828
+ <line num="74" type="stmt" count="4"/>
16829
+ <line num="79" type="method" name="set_filename" visibility="public" complexity="2" crap="2.02" count="4"/>
16830
+ <line num="81" type="stmt" count="4"/>
16831
+ <line num="82" type="stmt" count="4"/>
16832
+ <line num="83" type="stmt" count="0"/>
16833
+ <line num="85" type="stmt" count="4"/>
16834
+ <line num="87" type="stmt" count="4"/>
16835
+ <line num="88" type="stmt" count="4"/>
16836
+ <metrics loc="89" ncloc="42" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="9" elements="19" coveredelements="11"/>
16837
+ </file>
16838
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archive/class-dirlist.php">
16839
+ <class name="Dirlist" namespace="Boldgrid\Backup\V2\Archive">
16840
+ <metrics complexity="5" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="3" elements="15" coveredelements="4"/>
16841
+ </class>
16842
+ <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
16843
+ <line num="34" type="stmt" count="4"/>
16844
+ <line num="35" type="stmt" count="4"/>
16845
+ <line num="36" type="stmt" count="4"/>
16846
+ <line num="41" type="method" name="get" visibility="public" complexity="1" crap="2" count="0"/>
16847
+ <line num="42" type="stmt" count="0"/>
16848
+ <line num="45" type="method" name="get_by_extension" visibility="public" complexity="3" crap="12" count="0"/>
16849
+ <line num="46" type="stmt" count="0"/>
16850
+ <line num="48" type="stmt" count="0"/>
16851
+ <line num="49" type="stmt" count="0"/>
16852
+ <line num="50" type="stmt" count="0"/>
16853
+ <line num="51" type="stmt" count="0"/>
16854
+ <line num="52" type="stmt" count="0"/>
16855
+ <line num="53" type="stmt" count="0"/>
16856
+ <line num="55" type="stmt" count="0"/>
16857
+ <metrics loc="57" ncloc="31" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="3" elements="15" coveredelements="4"/>
16858
+ </file>
16859
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archive/class-factory.php">
16860
+ <class name="Factory" namespace="Boldgrid\Backup\V2\Archive">
16861
+ <metrics complexity="3" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="8" elements="11" coveredelements="8"/>
16862
+ </class>
16863
+ <line num="25" type="method" name="run_by_filename" visibility="public" complexity="3" crap="3.07" count="4"/>
16864
+ <line num="26" type="stmt" count="4"/>
16865
+ <line num="29" type="stmt" count="4"/>
16866
+ <line num="30" type="stmt" count="0"/>
16867
+ <line num="34" type="stmt" count="4"/>
16868
+ <line num="35" type="stmt" count="4"/>
16869
+ <line num="36" type="stmt" count="0"/>
16870
+ <line num="39" type="stmt" count="4"/>
16871
+ <line num="40" type="stmt" count="4"/>
16872
+ <line num="41" type="stmt" count="4"/>
16873
+ <line num="43" type="stmt" count="4"/>
16874
+ <metrics loc="45" ncloc="22" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="8" elements="11" coveredelements="8"/>
16875
+ </file>
16876
+ </package>
16877
  <package name="Boldgrid\Backup\V2\Archiver">
16878
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/class-archiver.php">
16879
  <class name="Archiver" namespace="Boldgrid\Backup\V2\Archiver">
16880
+ <metrics complexity="5" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="33" elements="36" coveredelements="33"/>
16881
  </class>
16882
+ <line num="33" type="method" name="run" visibility="public" complexity="5" crap="5.00" count="1"/>
16883
  <line num="34" type="stmt" count="1"/>
16884
  <line num="36" type="stmt" count="1"/>
16885
  <line num="39" type="stmt" count="1"/>
16909
  <line num="74" type="stmt" count="1"/>
16910
  <line num="76" type="stmt" count="1"/>
16911
  <line num="78" type="stmt" count="0"/>
16912
+ <line num="79" type="stmt" count="0"/>
16913
  <line num="81" type="stmt" count="1"/>
16914
+ <line num="82" type="stmt" count="1"/>
16915
+ <line num="84" type="stmt" count="1"/>
16916
  <line num="86" type="stmt" count="1"/>
16917
+ <line num="87" type="stmt" count="1"/>
16918
+ <metrics loc="88" ncloc="62" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="33" elements="36" coveredelements="33"/>
16919
  </file>
16920
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/class-factory.php">
16921
  <class name="Factory" namespace="Boldgrid\Backup\V2\Archiver">
16922
+ <metrics complexity="3" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="14" coveredelements="14"/>
16923
  </class>
16924
+ <line num="25" type="method" name="run" visibility="public" complexity="3" crap="3" count="1"/>
16925
  <line num="26" type="stmt" count="1"/>
16926
  <line num="29" type="stmt" count="1"/>
16927
  <line num="30" type="stmt" count="1"/>
16928
  <line num="31" type="stmt" count="1"/>
16929
  <line num="33" type="stmt" count="1"/>
16930
+ <line num="35" type="stmt" count="1"/>
 
16931
  <line num="38" type="stmt" count="1"/>
16932
  <line num="39" type="stmt" count="1"/>
16933
+ <line num="40" type="stmt" count="1"/>
16934
+ <line num="41" type="stmt" count="1"/>
16935
  <line num="43" type="stmt" count="1"/>
16936
  <line num="44" type="stmt" count="1"/>
16937
+ <line num="46" type="stmt" count="1"/>
16938
+ <metrics loc="48" ncloc="25" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="14" coveredelements="14"/>
 
 
 
16939
  </file>
16940
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/class-resumer.php">
16941
  <class name="Resumer" namespace="Boldgrid\Backup\V2\Archiver">
16988
  <package name="Boldgrid\Backup\V2\Archiver\Steps\Archive_Files">
16989
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/steps/archive_files/class-part.php">
16990
  <class name="Part" namespace="Boldgrid\Backup\V2\Archiver\Steps\Archive_Files">
16991
+ <metrics complexity="15" methods="11" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="35" elements="51" coveredelements="42"/>
16992
  </class>
16993
  <line num="95" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
16994
  <line num="96" type="stmt" count="1"/>
16997
  <line num="100" type="stmt" count="1"/>
16998
  <line num="101" type="stmt" count="1"/>
16999
  <line num="102" type="stmt" count="1"/>
17000
+ <line num="115" type="method" name="add_batch" visibility="public" complexity="4" crap="4.10" count="1"/>
17001
  <line num="116" type="stmt" count="1"/>
17002
  <line num="117" type="stmt" count="1"/>
17003
  <line num="119" type="stmt" count="1"/>
17004
  <line num="121" type="stmt" count="1"/>
17005
  <line num="123" type="stmt" count="1"/>
17006
+ <line num="125" type="stmt" count="1"/>
17007
  <line num="127" type="stmt" count="1"/>
17008
  <line num="129" type="stmt" count="1"/>
17009
+ <line num="130" type="stmt" count="0"/>
17010
+ <line num="131" type="stmt" count="0"/>
17011
+ <line num="133" type="stmt" count="1"/>
17012
+ <line num="143" type="method" name="complete" visibility="public" complexity="1" crap="1" count="1"/>
17013
  <line num="144" type="stmt" count="1"/>
17014
+ <line num="145" type="stmt" count="1"/>
17015
+ <line num="146" type="stmt" count="1"/>
17016
+ <line num="151" type="method" name="get_filename" visibility="public" complexity="1" crap="2" count="0"/>
17017
+ <line num="152" type="stmt" count="0"/>
17018
+ <line num="162" type="method" name="get_max_size" visibility="public" complexity="1" crap="2" count="0"/>
17019
+ <line num="163" type="stmt" count="0"/>
17020
+ <line num="173" type="method" name="get_number" visibility="public" complexity="1" crap="2" count="0"/>
17021
+ <line num="174" type="stmt" count="0"/>
17022
+ <line num="186" type="method" name="get_remaining_size" visibility="public" complexity="1" crap="1" count="1"/>
17023
+ <line num="187" type="stmt" count="1"/>
17024
+ <line num="197" type="method" name="get_size" visibility="public" complexity="2" crap="2" count="1"/>
17025
+ <line num="199" type="stmt" count="1"/>
17026
+ <line num="201" type="stmt" count="1"/>
17027
+ <line num="202" type="stmt" count="1"/>
17028
+ <line num="203" type="stmt" count="1"/>
17029
+ <line num="204" type="stmt" count="1"/>
17030
+ <line num="206" type="stmt" count="1"/>
17031
+ <line num="218" type="method" name="is_empty" visibility="public" complexity="1" crap="1" count="1"/>
17032
  <line num="219" type="stmt" count="1"/>
17033
+ <line num="221" type="stmt" count="1"/>
17034
+ <line num="227" type="method" name="set_configs" visibility="public" complexity="1" crap="1" count="1"/>
17035
+ <line num="229" type="stmt" count="1"/>
17036
+ <line num="230" type="stmt" count="1"/>
17037
+ <line num="232" type="stmt" count="1"/>
17038
+ <line num="233" type="stmt" count="1"/>
17039
+ <line num="247" type="method" name="set_key" visibility="public" complexity="1" crap="1" count="1"/>
17040
+ <line num="248" type="stmt" count="1"/>
17041
+ <line num="250" type="stmt" count="1"/>
17042
+ <line num="252" type="stmt" count="1"/>
17043
+ <line num="253" type="stmt" count="1"/>
17044
+ <metrics loc="254" ncloc="100" classes="1" methods="11" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="35" elements="51" coveredelements="42"/>
17045
  </file>
17046
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/steps/archive_files/class-parts.php">
17047
  <class name="Parts" namespace="Boldgrid\Backup\V2\Archiver\Steps\Archive_Files">
17134
  </file>
17135
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/steps/class-archive-files.php">
17136
  <class name="Archive_Files" namespace="Boldgrid\Backup\V2\Archiver\Steps" fullPackage="Archive">
17137
+ <metrics complexity="26" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="93" coveredstatements="74" elements="99" coveredelements="78"/>
17138
  </class>
17139
+ <line num="85" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
 
17140
  <line num="86" type="stmt" count="1"/>
17141
+ <line num="88" type="stmt" count="1"/>
17142
+ <line num="89" type="stmt" count="1"/>
17143
+ <line num="102" type="method" name="get_next_batch" visibility="private" complexity="13" crap="14.35" count="1"/>
17144
  <line num="104" type="stmt" count="1"/>
17145
  <line num="106" type="stmt" count="1"/>
17146
  <line num="108" type="stmt" count="1"/>
17147
  <line num="110" type="stmt" count="1"/>
 
17148
  <line num="112" type="stmt" count="1"/>
17149
+ <line num="113" type="stmt" count="1"/>
17150
+ <line num="114" type="stmt" count="1"/>
17151
+ <line num="124" type="stmt" count="1"/>
17152
+ <line num="125" type="stmt" count="1"/>
17153
+ <line num="126" type="stmt" count="1"/>
17154
+ <line num="129" type="stmt" count="1"/>
17155
+ <line num="130" type="stmt" count="0"/>
17156
+ <line num="131" type="stmt" count="0"/>
17157
+ <line num="134" type="stmt" count="0"/>
17158
+ <line num="135" type="stmt" count="0"/>
17159
+ <line num="136" type="stmt" count="0"/>
17160
+ <line num="137" type="stmt" count="0"/>
 
 
 
 
17161
  <line num="140" type="stmt" count="1"/>
17162
  <line num="141" type="stmt" count="1"/>
17163
  <line num="142" type="stmt" count="1"/>
 
 
17164
  <line num="145" type="stmt" count="1"/>
17165
+ <line num="146" type="stmt" count="1"/>
17166
+ <line num="148" type="stmt" count="1"/>
17167
+ <line num="149" type="stmt" count="1"/>
17168
  <line num="150" type="stmt" count="1"/>
17169
  <line num="151" type="stmt" count="1"/>
17170
+ <line num="152" type="stmt" count="1"/>
17171
  <line num="153" type="stmt" count="1"/>
17172
+ <line num="154" type="stmt" count="1"/>
17173
+ <line num="156" type="stmt" count="1"/>
17174
+ <line num="159" type="stmt" count="1"/>
17175
+ <line num="160" type="stmt" count="1"/>
17176
  <line num="162" type="stmt" count="1"/>
17177
+ <line num="163" type="stmt" count="0"/>
17178
+ <line num="164" type="stmt" count="0"/>
17179
+ <line num="167" type="stmt" count="1"/>
17180
+ <line num="170" type="stmt" count="1"/>
17181
+ <line num="171" type="stmt" count="1"/>
17182
+ <line num="172" type="stmt" count="1"/>
 
 
17183
  <line num="198" type="stmt" count="1"/>
17184
+ <line num="208" type="method" name="get_configs" visibility="public" complexity="1" crap="1" count="1"/>
17185
+ <line num="209" type="stmt" count="1"/>
17186
+ <line num="217" type="method" name="run" visibility="public" complexity="9" crap="10.56" count="1"/>
 
 
 
 
 
 
 
17187
  <line num="218" type="stmt" count="1"/>
17188
+ <line num="220" type="stmt" count="1"/>
 
 
 
 
17189
  <line num="228" type="stmt" count="1"/>
17190
+ <line num="229" type="stmt" count="1"/>
17191
  <line num="230" type="stmt" count="0"/>
17192
  <line num="231" type="stmt" count="0"/>
17193
+ <line num="232" type="stmt" count="0"/>
17194
+ <line num="235" type="stmt" count="1"/>
17195
  <line num="236" type="stmt" count="1"/>
17196
+ <line num="237" type="stmt" count="1"/>
17197
  <line num="239" type="stmt" count="1"/>
17198
  <line num="240" type="stmt" count="1"/>
 
17199
  <line num="242" type="stmt" count="1"/>
17200
+ <line num="248" type="stmt" count="1"/>
17201
+ <line num="249" type="stmt" count="1"/>
17202
+ <line num="250" type="stmt" count="1"/>
 
 
17203
  <line num="251" type="stmt" count="1"/>
17204
+ <line num="253" type="stmt" count="1"/>
17205
  <line num="254" type="stmt" count="1"/>
17206
  <line num="256" type="stmt" count="1"/>
17207
+ <line num="258" type="stmt" count="1"/>
17208
+ <line num="259" type="stmt" count="0"/>
17209
+ <line num="260" type="stmt" count="0"/>
17210
+ <line num="261" type="stmt" count="0"/>
17211
+ <line num="262" type="stmt" count="0"/>
17212
+ <line num="263" type="stmt" count="1"/>
17213
  <line num="265" type="stmt" count="1"/>
17214
  <line num="267" type="stmt" count="1"/>
17215
+ <line num="270" type="stmt" count="1"/>
17216
+ <line num="271" type="stmt" count="1"/>
17217
+ <line num="272" type="stmt" count="1"/>
17218
+ <line num="273" type="stmt" count="1"/>
17219
+ <line num="274" type="stmt" count="0"/>
17220
+ <line num="275" type="stmt" count="0"/>
17221
  <line num="277" type="stmt" count="1"/>
17222
+ <line num="278" type="stmt" count="0"/>
17223
+ <line num="279" type="stmt" count="0"/>
17224
+ <line num="282" type="stmt" count="1"/>
17225
+ <line num="283" type="stmt" count="1"/>
17226
+ <line num="285" type="stmt" count="1"/>
17227
+ <line num="287" type="stmt" count="1"/>
17228
+ <line num="293" type="method" name="set_configs" visibility="public" complexity="1" crap="1" count="1"/>
17229
+ <line num="295" type="stmt" count="1"/>
17230
+ <line num="296" type="stmt" count="1"/>
17231
+ <line num="298" type="stmt" count="1"/>
17232
+ <line num="299" type="stmt" count="1"/>
17233
+ <line num="306" type="method" name="set_filelist" visibility="private" complexity="1" crap="1" count="1"/>
17234
+ <line num="307" type="stmt" count="1"/>
17235
+ <line num="308" type="stmt" count="1"/>
17236
+ <line num="310" type="stmt" count="1"/>
17237
+ <line num="311" type="stmt" count="1"/>
17238
+ <metrics loc="312" ncloc="158" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="93" coveredstatements="74" elements="99" coveredelements="78"/>
17239
  </file>
17240
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/archiver/steps/class-discovery.php">
17241
  <class name="Discovery" namespace="Boldgrid\Backup\V2\Archiver\Steps">
17242
+ <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="25" coveredelements="25"/>
17243
  </class>
17244
  <line num="29" type="method" name="run" visibility="public" complexity="1" crap="1" count="1"/>
17245
  <line num="30" type="stmt" count="1"/>
17254
  <line num="56" type="method" name="files" visibility="private" complexity="2" crap="2" count="1"/>
17255
  <line num="57" type="stmt" count="1"/>
17256
  <line num="58" type="stmt" count="1"/>
17257
+ <line num="59" type="stmt" count="1"/>
17258
  <line num="61" type="stmt" count="1"/>
17259
+ <line num="62" type="stmt" count="1"/>
17260
+ <line num="64" type="stmt" count="1"/>
17261
  <line num="66" type="stmt" count="1"/>
17262
+ <line num="68" type="stmt" count="1"/>
17263
  <line num="69" type="stmt" count="1"/>
17264
  <line num="70" type="stmt" count="1"/>
17265
  <line num="72" type="stmt" count="1"/>
17266
  <line num="73" type="stmt" count="1"/>
17267
+ <line num="75" type="stmt" count="1"/>
17268
+ <line num="76" type="stmt" count="1"/>
17269
+ <metrics loc="77" ncloc="44" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="25" coveredelements="25"/>
17270
  </file>
17271
  </package>
17272
  <package name="Boldgrid\Backup\V2\Filelist">
17298
  <metrics loc="110" ncloc="44" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="21" coveredelements="21"/>
17299
  </file>
17300
  </package>
17301
+ <package name="Boldgrid\Backup\V2\Restorer">
17302
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/restorer/class-factory.php">
17303
+ <class name="Factory" namespace="Boldgrid\Backup\V2\Restorer">
17304
+ <metrics complexity="4" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="19" coveredelements="0"/>
17305
+ </class>
17306
+ <line num="25" type="method" name="run" visibility="public" complexity="4" crap="20" count="0"/>
17307
+ <line num="26" type="stmt" count="0"/>
17308
+ <line num="29" type="stmt" count="0"/>
17309
+ <line num="30" type="stmt" count="0"/>
17310
+ <line num="31" type="stmt" count="0"/>
17311
+ <line num="34" type="stmt" count="0"/>
17312
+ <line num="35" type="stmt" count="0"/>
17313
+ <line num="36" type="stmt" count="0"/>
17314
+ <line num="38" type="stmt" count="0"/>
17315
+ <line num="39" type="stmt" count="0"/>
17316
+ <line num="40" type="stmt" count="0"/>
17317
+ <line num="42" type="stmt" count="0"/>
17318
+ <line num="43" type="stmt" count="0"/>
17319
+ <line num="44" type="stmt" count="0"/>
17320
+ <line num="46" type="stmt" count="0"/>
17321
+ <line num="48" type="stmt" count="0"/>
17322
+ <line num="49" type="stmt" count="0"/>
17323
+ <line num="51" type="stmt" count="0"/>
17324
+ <line num="52" type="stmt" count="0"/>
17325
+ <metrics loc="53" ncloc="30" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="19" coveredelements="0"/>
17326
+ </file>
17327
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/restorer/class-restorer.php">
17328
+ <class name="Restorer" namespace="Boldgrid\Backup\V2\Restorer">
17329
+ <metrics complexity="10" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="42" coveredelements="0"/>
17330
+ </class>
17331
+ <line num="28" type="method" name="run" visibility="public" complexity="10" crap="110" count="0"/>
17332
+ <line num="29" type="stmt" count="0"/>
17333
+ <line num="31" type="stmt" count="0"/>
17334
+ <line num="32" type="stmt" count="0"/>
17335
+ <line num="33" type="stmt" count="0"/>
17336
+ <line num="34" type="stmt" count="0"/>
17337
+ <line num="35" type="stmt" count="0"/>
17338
+ <line num="37" type="stmt" count="0"/>
17339
+ <line num="39" type="stmt" count="0"/>
17340
+ <line num="41" type="stmt" count="0"/>
17341
+ <line num="43" type="stmt" count="0"/>
17342
+ <line num="44" type="stmt" count="0"/>
17343
+ <line num="47" type="stmt" count="0"/>
17344
+ <line num="48" type="stmt" count="0"/>
17345
+ <line num="50" type="stmt" count="0"/>
17346
+ <line num="51" type="stmt" count="0"/>
17347
+ <line num="53" type="stmt" count="0"/>
17348
+ <line num="54" type="stmt" count="0"/>
17349
+ <line num="56" type="stmt" count="0"/>
17350
+ <line num="57" type="stmt" count="0"/>
17351
+ <line num="59" type="stmt" count="0"/>
17352
+ <line num="60" type="stmt" count="0"/>
17353
+ <line num="61" type="stmt" count="0"/>
17354
+ <line num="62" type="stmt" count="0"/>
17355
+ <line num="63" type="stmt" count="0"/>
17356
+ <line num="65" type="stmt" count="0"/>
17357
+ <line num="66" type="stmt" count="0"/>
17358
+ <line num="74" type="stmt" count="0"/>
17359
+ <line num="75" type="stmt" count="0"/>
17360
+ <line num="76" type="stmt" count="0"/>
17361
+ <line num="79" type="stmt" count="0"/>
17362
+ <line num="80" type="stmt" count="0"/>
17363
+ <line num="81" type="stmt" count="0"/>
17364
+ <line num="82" type="stmt" count="0"/>
17365
+ <line num="83" type="stmt" count="0"/>
17366
+ <line num="85" type="stmt" count="0"/>
17367
+ <line num="86" type="stmt" count="0"/>
17368
+ <line num="87" type="stmt" count="0"/>
17369
+ <line num="88" type="stmt" count="0"/>
17370
+ <line num="90" type="stmt" count="0"/>
17371
+ <line num="92" type="stmt" count="0"/>
17372
+ <line num="93" type="stmt" count="0"/>
17373
+ <metrics loc="94" ncloc="60" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="42" coveredelements="0"/>
17374
+ </file>
17375
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/restorer/class-resumer.php">
17376
+ <class name="Resumer" namespace="Boldgrid\Backup\V2\Restorer">
17377
+ <metrics complexity="11" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="0" elements="52" coveredelements="0"/>
17378
+ </class>
17379
+ <line num="27" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
17380
+ <line num="28" type="stmt" count="0"/>
17381
+ <line num="29" type="stmt" count="0"/>
17382
+ <line num="34" type="method" name="add_cron_command" visibility="private" complexity="1" crap="2" count="0"/>
17383
+ <line num="35" type="stmt" count="0"/>
17384
+ <line num="37" type="stmt" count="0"/>
17385
+ <line num="38" type="stmt" count="0"/>
17386
+ <line num="43" type="method" name="get_cron_command" visibility="private" complexity="1" crap="2" count="0"/>
17387
+ <line num="44" type="stmt" count="0"/>
17388
+ <line num="45" type="stmt" count="0"/>
17389
+ <line num="46" type="stmt" count="0"/>
17390
+ <line num="47" type="stmt" count="0"/>
17391
+ <line num="48" type="stmt" count="0"/>
17392
+ <line num="49" type="stmt" count="0"/>
17393
+ <line num="50" type="stmt" count="0"/>
17394
+ <line num="51" type="stmt" count="0"/>
17395
+ <line num="52" type="stmt" count="0"/>
17396
+ <line num="54" type="stmt" count="0"/>
17397
+ <line num="55" type="stmt" count="0"/>
17398
+ <line num="60" type="method" name="maybe_add_cron" visibility="public" complexity="2" crap="6" count="0"/>
17399
+ <line num="61" type="stmt" count="0"/>
17400
+ <line num="62" type="stmt" count="0"/>
17401
+ <line num="64" type="stmt" count="0"/>
17402
+ <line num="65" type="stmt" count="0"/>
17403
+ <line num="66" type="stmt" count="0"/>
17404
+ <line num="67" type="stmt" count="0"/>
17405
+ <line num="72" type="method" name="remove_cron" visibility="public" complexity="1" crap="2" count="0"/>
17406
+ <line num="73" type="stmt" count="0"/>
17407
+ <line num="75" type="stmt" count="0"/>
17408
+ <line num="76" type="stmt" count="0"/>
17409
+ <line num="81" type="method" name="run" visibility="public" complexity="4" crap="20" count="0"/>
17410
+ <line num="82" type="stmt" count="0"/>
17411
+ <line num="84" type="stmt" count="0"/>
17412
+ <line num="85" type="stmt" count="0"/>
17413
+ <line num="86" type="stmt" count="0"/>
17414
+ <line num="87" type="stmt" count="0"/>
17415
+ <line num="89" type="stmt" count="0"/>
17416
+ <line num="90" type="stmt" count="0"/>
17417
+ <line num="91" type="stmt" count="0"/>
17418
+ <line num="92" type="stmt" count="0"/>
17419
+ <line num="93" type="stmt" count="0"/>
17420
+ <line num="95" type="stmt" count="0"/>
17421
+ <line num="96" type="stmt" count="0"/>
17422
+ <line num="97" type="stmt" count="0"/>
17423
+ <line num="98" type="stmt" count="0"/>
17424
+ <line num="99" type="stmt" count="0"/>
17425
+ <line num="100" type="stmt" count="0"/>
17426
+ <line num="101" type="stmt" count="0"/>
17427
+ <line num="102" type="stmt" count="0"/>
17428
+ <line num="103" type="stmt" count="0"/>
17429
+ <line num="104" type="stmt" count="0"/>
17430
+ <line num="105" type="stmt" count="0"/>
17431
+ <metrics loc="106" ncloc="64" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="0" elements="52" coveredelements="0"/>
17432
+ </file>
17433
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/restorer/class-utility.php">
17434
+ <class name="Utility" namespace="Boldgrid\Backup\V2\Restorer">
17435
+ <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
17436
+ </class>
17437
+ <line num="25" type="method" name="get_option" visibility="public" complexity="1" crap="1" count="1"/>
17438
+ <line num="26" type="stmt" count="1"/>
17439
+ <metrics loc="28" ncloc="9" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
17440
+ </file>
17441
+ </package>
17442
+ <package name="Boldgrid\Backup\V2\Restorer\Steps">
17443
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/restorer/steps/class-db.php">
17444
+ <class name="Db" namespace="Boldgrid\Backup\V2\Restorer\Steps">
17445
+ <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
17446
+ </class>
17447
+ <line num="29" type="method" name="run" visibility="public" complexity="1" crap="2" count="0"/>
17448
+ <line num="30" type="stmt" count="0"/>
17449
+ <line num="32" type="stmt" count="0"/>
17450
+ <line num="33" type="stmt" count="0"/>
17451
+ <line num="35" type="stmt" count="0"/>
17452
+ <line num="37" type="stmt" count="0"/>
17453
+ <line num="38" type="stmt" count="0"/>
17454
+ <metrics loc="39" ncloc="16" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
17455
+ </file>
17456
+ <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/restorer/steps/class-unzip.php">
17457
+ <class name="Unzip" namespace="Boldgrid\Backup\V2\Restorer\Steps">
17458
+ <metrics complexity="5" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="0" elements="21" coveredelements="0"/>
17459
+ </class>
17460
+ <line num="29" type="method" name="run" visibility="public" complexity="5" crap="30" count="0"/>
17461
+ <line num="30" type="stmt" count="0"/>
17462
+ <line num="33" type="stmt" count="0"/>
17463
+ <line num="34" type="stmt" count="0"/>
17464
+ <line num="37" type="stmt" count="0"/>
17465
+ <line num="38" type="stmt" count="0"/>
17466
+ <line num="39" type="stmt" count="0"/>
17467
+ <line num="41" type="stmt" count="0"/>
17468
+ <line num="42" type="stmt" count="0"/>
17469
+ <line num="52" type="stmt" count="0"/>
17470
+ <line num="54" type="stmt" count="0"/>
17471
+ <line num="55" type="stmt" count="0"/>
17472
+ <line num="56" type="stmt" count="0"/>
17473
+ <line num="57" type="stmt" count="0"/>
17474
+ <line num="58" type="stmt" count="0"/>
17475
+ <line num="61" type="stmt" count="0"/>
17476
+ <line num="62" type="stmt" count="0"/>
17477
+ <line num="63" type="stmt" count="0"/>
17478
+ <line num="65" type="stmt" count="0"/>
17479
+ <line num="67" type="stmt" count="0"/>
17480
+ <line num="68" type="stmt" count="0"/>
17481
+ <metrics loc="69" ncloc="30" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="0" elements="21" coveredelements="0"/>
17482
+ </file>
17483
+ </package>
17484
  <package name="Boldgrid\Backup\V2\Step">
17485
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/step/class-data.php">
17486
  <class name="Data" namespace="Boldgrid\Backup\V2\Step">
17504
  </file>
17505
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/step/class-json-file.php">
17506
  <class name="Json_File" namespace="Boldgrid\Backup\V2\Step" fullPackage="Json">
17507
+ <metrics complexity="10" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="18" elements="28" coveredelements="23"/>
17508
  </class>
17509
+ <line num="35" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="1"/>
17510
  <line num="36" type="stmt" count="1"/>
17511
  <line num="38" type="stmt" count="1"/>
17512
+ <line num="41" type="stmt" count="1"/>
17513
+ <line num="42" type="stmt" count="1"/>
17514
+ <line num="43" type="stmt" count="1"/>
17515
+ <line num="44" type="stmt" count="1"/>
17516
+ <line num="49" type="method" name="get" visibility="public" complexity="2" crap="2" count="1"/>
17517
  <line num="50" type="stmt" count="1"/>
17518
+ <line num="52" type="stmt" count="1"/>
17519
+ <line num="53" type="stmt" count="1"/>
17520
+ <line num="55" type="stmt" count="1"/>
17521
+ <line num="61" type="method" name="get_key" visibility="public" complexity="2" crap="2" count="1"/>
17522
+ <line num="62" type="stmt" count="1"/>
17523
+ <line num="64" type="stmt" count="1"/>
17524
+ <line num="70" type="method" name="set_key" visibility="public" complexity="1" crap="1" count="1"/>
17525
  <line num="71" type="stmt" count="1"/>
17526
+ <line num="73" type="stmt" count="1"/>
17527
+ <line num="75" type="stmt" count="1"/>
17528
+ <line num="76" type="stmt" count="1"/>
17529
+ <line num="81" type="method" name="set_keys" visibility="public" complexity="2" crap="6" count="0"/>
17530
+ <line num="82" type="stmt" count="0"/>
17531
+ <line num="83" type="stmt" count="0"/>
17532
+ <line num="84" type="stmt" count="0"/>
17533
+ <line num="85" type="stmt" count="0"/>
17534
+ <line num="90" type="method" name="write" visibility="public" complexity="1" crap="1" count="1"/>
17535
+ <line num="91" type="stmt" count="1"/>
17536
+ <line num="92" type="stmt" count="1"/>
17537
+ <metrics loc="93" ncloc="49" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="18" elements="28" coveredelements="23"/>
17538
  </file>
17539
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/includes/v2/step/class-step.php">
17540
  <class name="Step" namespace="Boldgrid\Backup\V2\Step">
17541
+ <metrics complexity="36" methods="23" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="79" elements="115" coveredelements="98"/>
17542
  </class>
17543
+ <line num="114" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="1"/>
 
17544
  <line num="115" type="stmt" count="1"/>
 
17545
  <line num="117" type="stmt" count="1"/>
17546
  <line num="118" type="stmt" count="1"/>
17547
  <line num="119" type="stmt" count="1"/>
17548
  <line num="121" type="stmt" count="1"/>
17549
  <line num="122" type="stmt" count="1"/>
17550
+ <line num="123" type="stmt" count="1"/>
17551
  <line num="124" type="stmt" count="1"/>
17552
+ <line num="125" type="stmt" count="1"/>
17553
  <line num="127" type="stmt" count="1"/>
17554
+ <line num="128" type="stmt" count="1"/>
17555
+ <line num="130" type="stmt" count="1"/>
17556
+ <line num="132" type="stmt" count="1"/>
17557
+ <line num="133" type="stmt" count="1"/>
17558
+ <line num="140" type="method" name="add_attempt" visibility="public" complexity="1" crap="1" count="1"/>
 
17559
  <line num="141" type="stmt" count="1"/>
17560
  <line num="142" type="stmt" count="1"/>
17561
+ <line num="144" type="stmt" count="1"/>
17562
+ <line num="146" type="stmt" count="1"/>
17563
+ <line num="147" type="stmt" count="1"/>
17564
+ <line num="148" type="stmt" count="1"/>
17565
+ <line num="149" type="stmt" count="1"/>
17566
+ <line num="150" type="stmt" count="1"/>
17567
+ <line num="159" type="method" name="check_in" visibility="public" complexity="2" crap="2" count="1"/>
17568
+ <line num="160" type="stmt" count="1"/>
17569
+ <line num="163" type="stmt" count="1"/>
17570
+ <line num="164" type="stmt" count="1"/>
17571
+ <line num="165" type="stmt" count="1"/>
17572
+ <line num="166" type="stmt" count="1"/>
17573
  <line num="167" type="stmt" count="1"/>
17574
+ <line num="174" type="method" name="complete" visibility="public" complexity="1" crap="1" count="1"/>
17575
+ <line num="175" type="stmt" count="1"/>
 
 
 
17576
  <line num="176" type="stmt" count="1"/>
 
17577
  <line num="178" type="stmt" count="1"/>
17578
+ <line num="179" type="stmt" count="1"/>
17579
+ <line num="181" type="stmt" count="1"/>
17580
+ <line num="182" type="stmt" count="1"/>
17581
+ <line num="184" type="stmt" count="1"/>
17582
+ <line num="185" type="stmt" count="1"/>
17583
+ <line num="187" type="stmt" count="1"/>
17584
+ <line num="188" type="stmt" count="1"/>
17585
+ <line num="193" type="method" name="fail" visibility="public" complexity="1" crap="2" count="0"/>
17586
+ <line num="194" type="stmt" count="0"/>
17587
+ <line num="195" type="stmt" count="0"/>
17588
+ <line num="197" type="stmt" count="0"/>
17589
+ <line num="199" type="stmt" count="0"/>
17590
+ <line num="201" type="stmt" count="0"/>
17591
+ <line num="202" type="stmt" count="0"/>
17592
+ <line num="211" type="method" name="get_core" visibility="public" complexity="1" crap="1" count="1"/>
17593
+ <line num="212" type="stmt" count="1"/>
17594
+ <line num="222" type="method" name="get_contents" visibility="public" complexity="3" crap="3" count="1"/>
17595
+ <line num="223" type="stmt" count="1"/>
17596
+ <line num="225" type="stmt" count="1"/>
17597
+ <line num="226" type="stmt" count="1"/>
17598
+ <line num="227" type="stmt" count="1"/>
17599
+ <line num="228" type="stmt" count="1"/>
17600
+ <line num="229" type="stmt" count="1"/>
17601
+ <line num="231" type="stmt" count="1"/>
17602
+ <line num="244" type="method" name="get_data_type" visibility="public" complexity="1" crap="1" count="1"/>
17603
+ <line num="245" type="stmt" count="1"/>
17604
+ <line num="255" type="method" name="get_dir" visibility="public" complexity="1" crap="1" count="1"/>
17605
+ <line num="256" type="stmt" count="1"/>
17606
+ <line num="262" type="method" name="get_info" visibility="public" complexity="1" crap="1" count="1"/>
17607
+ <line num="263" type="stmt" count="1"/>
17608
+ <line num="269" type="method" name="get_parent" visibility="public" complexity="1" crap="1" count="1"/>
17609
  <line num="270" type="stmt" count="1"/>
17610
+ <line num="281" type="method" name="get_path_to" visibility="public" complexity="1" crap="1" count="1"/>
17611
+ <line num="282" type="stmt" count="1"/>
17612
+ <line num="288" type="method" name="get_this" visibility="public" complexity="1" crap="1" count="1"/>
17613
+ <line num="289" type="stmt" count="1"/>
17614
+ <line num="295" type="method" name="get_step" visibility="public" complexity="1" crap="1" count="1"/>
17615
+ <line num="296" type="stmt" count="1"/>
17616
+ <line num="306" type="method" name="is_complete" visibility="public" complexity="1" crap="1" count="1"/>
17617
+ <line num="307" type="stmt" count="1"/>
17618
+ <line num="309" type="stmt" count="1"/>
17619
+ <line num="319" type="method" name="is_fail" visibility="public" complexity="1" crap="1" count="1"/>
17620
+ <line num="320" type="stmt" count="1"/>
17621
+ <line num="322" type="stmt" count="1"/>
17622
+ <line num="332" type="method" name="is_in_progress" visibility="public" complexity="2" crap="2" count="1"/>
17623
+ <line num="333" type="stmt" count="1"/>
17624
+ <line num="336" type="stmt" count="1"/>
17625
+ <line num="346" type="method" name="is_max_attemps" visibility="public" complexity="1" crap="1" count="1"/>
17626
+ <line num="347" type="stmt" count="1"/>
17627
+ <line num="357" type="method" name="is_unresponsive" visibility="public" complexity="2" crap="6" count="0"/>
17628
+ <line num="358" type="stmt" count="0"/>
17629
+ <line num="360" type="stmt" count="0"/>
17630
+ <line num="366" type="method" name="log" visibility="public" complexity="3" crap="3.01" count="1"/>
17631
+ <line num="367" type="stmt" count="1"/>
 
17632
  <line num="368" type="stmt" count="1"/>
17633
+ <line num="370" type="stmt" count="1"/>
17634
+ <line num="371" type="stmt" count="0"/>
17635
+ <line num="374" type="stmt" count="1"/>
17636
+ <line num="375" type="stmt" count="1"/>
17637
  <line num="376" type="stmt" count="1"/>
17638
+ <line num="378" type="stmt" count="1"/>
17639
+ <line num="379" type="stmt" count="1"/>
17640
+ <line num="388" type="method" name="maybe_run" visibility="public" complexity="6" crap="9.16" count="1"/>
17641
+ <line num="390" type="stmt" count="1"/>
17642
+ <line num="391" type="stmt" count="0"/>
17643
+ <line num="394" type="stmt" count="1"/>
17644
+ <line num="395" type="stmt" count="0"/>
17645
+ <line num="398" type="stmt" count="1"/>
17646
+ <line num="399" type="stmt" count="0"/>
17647
+ <line num="402" type="stmt" count="1"/>
17648
+ <line num="403" type="stmt" count="0"/>
17649
+ <line num="406" type="stmt" count="1"/>
17650
+ <line num="418" type="method" name="write_contents" visibility="public" complexity="1" crap="1" count="1"/>
17651
+ <line num="419" type="stmt" count="1"/>
17652
+ <line num="421" type="stmt" count="1"/>
17653
+ <line num="432" type="method" name="write_key" visibility="public" complexity="1" crap="1" count="1"/>
17654
+ <line num="433" type="stmt" count="1"/>
17655
+ <line num="434" type="stmt" count="1"/>
17656
+ <line num="438" type="stmt" count="1"/>
17657
+ <line num="441" type="stmt" count="1"/>
17658
+ <metrics loc="442" ncloc="211" classes="1" methods="23" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="79" elements="115" coveredelements="98"/>
17659
  </file>
17660
  </package>
17661
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/index.php">
73702
  </file>
73703
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/tests/admin/test-class-boldgrid-backup-admin-core.php">
73704
  <class name="Test_Boldgrid_Backup_Admin_Core" namespace="global" fullPackage="Test.Boldgrid.Backup.Admin">
73705
+ <metrics complexity="23" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="122" elements="134" coveredelements="130"/>
73706
  </class>
73707
  <line num="41" type="method" name="assertDirNotEmpty" visibility="public" complexity="5" crap="5" count="1"/>
73708
  <line num="42" type="stmt" count="1"/>
73821
  <line num="324" type="stmt" count="1"/>
73822
  <line num="325" type="stmt" count="1"/>
73823
  <line num="327" type="stmt" count="1"/>
73824
+ <line num="328" type="stmt" count="1"/>
73825
+ <line num="331" type="stmt" count="1"/>
73826
+ <line num="332" type="stmt" count="1"/>
73827
+ <line num="342" type="method" name="test_restore_cli" visibility="public" complexity="2" crap="2" count="1"/>
73828
  <line num="343" type="stmt" count="1"/>
 
73829
  <line num="345" type="stmt" count="1"/>
73830
+ <line num="346" type="stmt" count="1"/>
73831
  <line num="347" type="stmt" count="1"/>
73832
+ <line num="349" type="stmt" count="1"/>
73833
  <line num="350" type="stmt" count="1"/>
73834
+ <line num="352" type="stmt" count="1"/>
 
73835
  <line num="355" type="stmt" count="1"/>
73836
+ <line num="356" type="stmt" count="1"/>
73837
+ <line num="357" type="stmt" count="1"/>
73838
  <line num="360" type="stmt" count="1"/>
73839
+ <line num="362" type="stmt" count="1"/>
73840
+ <line num="363" type="stmt" count="1"/>
73841
+ <metrics loc="364" ncloc="185" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="122" elements="134" coveredelements="130"/>
73842
  </file>
73843
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/tests/admin/test-class-boldgrid-backup-admin-cron.php">
73844
  <class name="Test_Boldgrid_Backup_Admin_Cron" namespace="global" fullPackage="Test.Boldgrid.Backup.Admin">
74489
  <metrics loc="135" ncloc="76" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="51" elements="55" coveredelements="55"/>
74490
  </file>
74491
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/tests/bootstrap.php">
74492
+ <line num="179" type="stmt" count="0"/>
74493
+ <line num="180" type="stmt" count="0"/>
74494
+ <line num="182" type="stmt" count="0"/>
74495
+ <line num="184" type="stmt" count="0"/>
74496
+ <line num="185" type="stmt" count="0"/>
74497
+ <metrics loc="187" ncloc="137" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="5" coveredelements="0"/>
74498
  </file>
74499
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/tests/cli/test-class-info.php">
74500
  <class name="Test_Boldgrid_Backup_Cli_Info" namespace="global" fullPackage="Test.Boldgrid.Backup.Cli">
79228
  <metrics loc="445" ncloc="281" classes="1" methods="21" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="216" coveredstatements="0" elements="237" coveredelements="0"/>
79229
  </file>
79230
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/vendor/composer/autoload_static.php">
79231
+ <class name="ComposerStaticInitb1f5af037fce92093b4769cf19c0b864" namespace="Composer\Autoload">
79232
  <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
79233
  </class>
79234
  <line num="91" type="method" name="getInitializer" visibility="public" complexity="1" crap="2" count="0"/>
79320
  <metrics loc="12" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="7" coveredelements="0"/>
79321
  </file>
79322
  <file name="/home/travis/build/BoldGrid/boldgrid-backup/vendor/composer/autoload_real.php">
79323
+ <class name="ComposerAutoloaderInitb1f5af037fce92093b4769cf19c0b864" namespace="global">
79324
  <metrics complexity="13" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="43" coveredelements="0"/>
79325
  </class>
79326
  <line num="9" type="method" name="loadClassLoader" visibility="public" complexity="2" crap="6" count="0"/>
98565
  <line num="16" type="stmt" count="0"/>
98566
  <metrics loc="16" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="8" coveredelements="0"/>
98567
  </file>
98568
+ <metrics files="1007" loc="199682" ncloc="121036" classes="913" methods="3830" coveredmethods="440" conditionals="0" coveredconditionals="0" statements="88536" coveredstatements="5551" elements="92366" coveredelements="5991"/>
98569
  </project>
98570
  </coverage>
includes/archive/class-factory.php CHANGED
@@ -21,6 +21,15 @@ namespace Boldgrid\Backup\Archive;
21
  * @since SINCEVERSION
22
  */
23
  class Factory {
 
 
 
 
 
 
 
 
 
24
  /**
25
  * Get an archive by filename.
26
  *
21
  * @since SINCEVERSION
22
  */
23
  class Factory {
24
+ /**
25
+ * The dir of a virtual archive.
26
+ */
27
+ public static function get_by_dir( $dir ) {
28
+ $filename = untrailingslashit( $dir ) . '.zip';
29
+
30
+ return self::get_by_filename( $filename );
31
+ }
32
+
33
  /**
34
  * Get an archive by filename.
35
  *
includes/class-boldgrid-backup-archiver.php CHANGED
@@ -55,6 +55,11 @@ class Boldgrid_Backup_Archiver {
55
  */
56
  private static $is_archiving = false;
57
 
 
 
 
 
 
58
  /**
59
  * An instance of Boldgrid_Backup_Admin_Task.
60
  *
@@ -75,8 +80,9 @@ class Boldgrid_Backup_Archiver {
75
  * @since SINCEVERSION
76
  */
77
  public function __construct( $id = null ) {
78
- $this->core = apply_filters( 'boldgrid_backup_get_core', null );
79
- $this->format = $this->core->settings->get_setting( 'format' );
 
80
 
81
  if ( 'one' === $this->format ) {
82
  $this->info = new \Boldgrid\Backup\Archiver\Info( 'one', array() );
@@ -84,6 +90,15 @@ class Boldgrid_Backup_Archiver {
84
  $this->backup_process = \BoldGrid\Backup\V2\Archiver\Factory::run( $id );
85
  $this->info = new \Boldgrid\Backup\Archiver\Info( 'many', $this->backup_process );
86
  $this->resumer = new \Boldgrid\Backup\V2\Archiver\Resumer();
 
 
 
 
 
 
 
 
 
87
  }
88
  }
89
 
@@ -93,6 +108,21 @@ class Boldgrid_Backup_Archiver {
93
  * @since SINCEVERSION
94
  */
95
  public function complete() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  // Calculate duration.
97
  $this->info->set_key( 'duration', number_format( ( microtime( true ) - $this->info->get_key( 'time_start' ) ), 2, '.', '' ) );
98
  $this->info->set_key( 'db_duration', number_format( ( $this->info->get_key( 'db_time_stop' ) - $this->info->get_key( 'time_start' ) ), 2, '.', '' ) );
@@ -218,6 +248,7 @@ class Boldgrid_Backup_Archiver {
218
  $this->task->init( [ 'type' => 'backup' ] );
219
  }
220
  $this->task->start();
 
221
 
222
  self::$is_archiving = true;
223
 
@@ -355,11 +386,11 @@ class Boldgrid_Backup_Archiver {
355
  /**
356
  *
357
  */
358
- public function is_init_incomplete() {
359
  $start = $this->info->get_key( 'time_start' );
360
  $end = $this->info->get_key( 'init_time_end' );
361
 
362
- return ! empty( $start ) && empty( $end );
363
  }
364
 
365
  /**
@@ -370,11 +401,10 @@ class Boldgrid_Backup_Archiver {
370
  * @since SINCEVERSION
371
  */
372
  public function run() {
373
- // Todo. If resuming, do we run init again?
374
- if ( $this->is_init_incomplete() ) {
375
- $this->info->set_key( 'error', __( 'Unable to initialize backup. Previous init was incomplete.', 'boldgrid-backup' ) );
376
- } else {
377
  $this->init();
 
 
378
  }
379
 
380
  if ( empty( $this->info->get_key( 'error' ) ) ) {
55
  */
56
  private static $is_archiving = false;
57
 
58
+ /**
59
+ *
60
+ */
61
+ private $is_resuming = false;
62
+
63
  /**
64
  * An instance of Boldgrid_Backup_Admin_Task.
65
  *
80
  * @since SINCEVERSION
81
  */
82
  public function __construct( $id = null ) {
83
+ $this->is_resuming = ! is_null( $id );
84
+ $this->core = apply_filters( 'boldgrid_backup_get_core', null );
85
+ $this->format = $this->core->settings->get_setting( 'format' );
86
 
87
  if ( 'one' === $this->format ) {
88
  $this->info = new \Boldgrid\Backup\Archiver\Info( 'one', array() );
90
  $this->backup_process = \BoldGrid\Backup\V2\Archiver\Factory::run( $id );
91
  $this->info = new \Boldgrid\Backup\Archiver\Info( 'many', $this->backup_process );
92
  $this->resumer = new \Boldgrid\Backup\V2\Archiver\Resumer();
93
+
94
+ if ( $this->is_resuming ) {
95
+ // Normally, task is initialized in init(). Initialize task now as init() won't be ran.
96
+ $this->task = new Boldgrid_Backup_Admin_Task();
97
+ $this->task->init_by_id( $this->info->get_key( 'task_id' ) );
98
+
99
+ // Initialize the logger. Mainly for logging done within self::complete().
100
+ $this->core->logger->init( $this->info->get_key( 'log_filename' ) );
101
+ }
102
  }
103
  }
104
 
108
  * @since SINCEVERSION
109
  */
110
  public function complete() {
111
+ Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'status', esc_html__( 'Wrapping things up...', 'boldgrid-backup' ) );
112
+ Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'percentage', 100 );
113
+
114
+ $filepath = $this->info->get_key( 'filepath' );
115
+
116
+ // Add some statistics to the return.
117
+ $this->info->set_key( 'lastmodunix', $this->core->wp_filesystem->mtime( $filepath ) );
118
+ $this->info->set_key( 'filesize', $this->core->wp_filesystem->size( $filepath ) );
119
+
120
+ // Modify the archive file permissions to help protect from public access.
121
+ $this->core->wp_filesystem->chmod( $filepath, 0600 );
122
+
123
+ // Delete the temporary database dump file.
124
+ $this->core->wp_filesystem->delete( $this->info->get_key( 'db_dump_filepath' ), false, 'f' );
125
+
126
  // Calculate duration.
127
  $this->info->set_key( 'duration', number_format( ( microtime( true ) - $this->info->get_key( 'time_start' ) ), 2, '.', '' ) );
128
  $this->info->set_key( 'db_duration', number_format( ( $this->info->get_key( 'db_time_stop' ) - $this->info->get_key( 'time_start' ) ), 2, '.', '' ) );
248
  $this->task->init( [ 'type' => 'backup' ] );
249
  }
250
  $this->task->start();
251
+ $this->info->set_key( 'task_id', $this->task->get_id() );
252
 
253
  self::$is_archiving = true;
254
 
386
  /**
387
  *
388
  */
389
+ public function is_init_complete() {
390
  $start = $this->info->get_key( 'time_start' );
391
  $end = $this->info->get_key( 'init_time_end' );
392
 
393
+ return ! empty( $start ) && ! empty( $end );
394
  }
395
 
396
  /**
401
  * @since SINCEVERSION
402
  */
403
  public function run() {
404
+ if ( ! $this->is_resuming ) {
 
 
 
405
  $this->init();
406
+ } elseif ( ! $this->is_init_complete() ) {
407
+ $this->info->set_key( 'error', __( 'Unable to initialize backup. Previous init was incomplete.', 'boldgrid-backup' ) );
408
  }
409
 
410
  if ( empty( $this->info->get_key( 'error' ) ) ) {
includes/class-boldgrid-backup-restorer.php CHANGED
@@ -21,6 +21,15 @@
21
  * @since SINCEVERSION
22
  */
23
  class Boldgrid_Backup_Restorer {
 
 
 
 
 
 
 
 
 
24
  /**
25
  * Admin core.
26
  *
@@ -39,6 +48,18 @@ class Boldgrid_Backup_Restorer {
39
  */
40
  private $info;
41
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  /**
43
  * An instance of Boldgrid_Backup_Admin_Task.
44
  *
@@ -53,8 +74,16 @@ class Boldgrid_Backup_Restorer {
53
  *
54
  * @since SINCEVERSION
55
  */
56
- public function __construct() {
57
- $this->core = apply_filters( 'boldgrid_backup_get_core', null );
 
 
 
 
 
 
 
 
58
  }
59
 
60
  /**
@@ -63,16 +92,49 @@ class Boldgrid_Backup_Restorer {
63
  * @since SINCEVERSION
64
  */
65
  public function complete() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  // Update the log.
67
- $this->core->logger->add( 'Restoration complete!' );
68
- $this->core->logger->add_memory();
69
 
70
  if ( $this->has_error() ) {
71
- $this->core->logger->add( 'Error during restoration: ' . $this->get_error() );
72
  }
73
 
74
  // End the task.
75
  $this->task->end();
 
 
 
 
 
 
76
  }
77
 
78
  /**
@@ -94,7 +156,14 @@ class Boldgrid_Backup_Restorer {
94
  * @return array
95
  */
96
  public function get_info() {
97
- return $this->info;
 
 
 
 
 
 
 
98
  }
99
 
100
  /**
@@ -105,19 +174,28 @@ class Boldgrid_Backup_Restorer {
105
  * @return bool
106
  */
107
  private function has_error() {
108
- return ! empty( $this->info['error'] );
 
109
  }
110
 
111
  /**
112
  * Steps to take before an archive is started.
113
  *
114
  * @since SINCEVERSION
 
 
 
 
 
 
 
115
  */
116
- public function init() {
117
  // Init our logger.
118
- $this->core->logger->init( 'restore-' . time() . '.log' );
119
- $this->core->logger->add( 'Restore process initialized.' );
120
- $this->core->logger->add_memory();
 
121
 
122
  /*
123
  * Setup our task.
@@ -131,6 +209,148 @@ class Boldgrid_Backup_Restorer {
131
  $this->task->init( [ 'type' => 'restore' ] );
132
  }
133
  $this->task->start();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  }
135
 
136
  /**
@@ -195,9 +415,44 @@ class Boldgrid_Backup_Restorer {
195
  * @since SINCEVERSION
196
  */
197
  public function run() {
198
- $this->init();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
 
200
- $this->info = $this->core->restore_archive_file();
 
 
 
 
 
 
 
 
 
 
 
 
201
 
202
  $this->complete();
203
  }
21
  * @since SINCEVERSION
22
  */
23
  class Boldgrid_Backup_Restorer {
24
+ /**
25
+ * @since SINCEVERSION
26
+ * @access private
27
+ * @var Boldgrid_Backup_Admin_Archive
28
+ */
29
+ private $archive;
30
+
31
+ private $backup_id;
32
+
33
  /**
34
  * Admin core.
35
  *
48
  */
49
  private $info;
50
 
51
+ /**
52
+ * @var \Boldgrid\Backup\Option\Option
53
+ */
54
+ private $option;
55
+
56
+ private $restore_id;
57
+
58
+ /**
59
+ * @var \Boldgrid\Backup\V2\Restorer\Resumer
60
+ */
61
+ private $resumer;
62
+
63
  /**
64
  * An instance of Boldgrid_Backup_Admin_Task.
65
  *
74
  *
75
  * @since SINCEVERSION
76
  */
77
+ public function __construct( $backup_id = null, $restore_id = null ) {
78
+ $this->backup_id = $backup_id;
79
+ $this->restore_id = $restore_id;
80
+
81
+ $this->core = apply_filters( 'boldgrid_backup_get_core', null );
82
+ $this->logger = new Boldgrid_Backup_Admin_Log( $this->core );
83
+ $this->option = \Boldgrid\Backup\V2\Restorer\Utility::get_option();
84
+ $this->is_resuming = ! empty( $this->backup_id ) && ! empty( $this->restore_id );
85
+
86
+ add_filter( 'boldgrid_backup_get_restore_logger', array( $this, 'get_logger' ) );
87
  }
88
 
89
  /**
92
  * @since SINCEVERSION
93
  */
94
  public function complete() {
95
+ // Clear rollback information and restoration cron jobs that may be present.
96
+ $this->core->auto_rollback->cancel();
97
+
98
+ // Get settings.
99
+ $settings = $this->core->settings->get_settings();
100
+
101
+ // If enabled, send email notification for restoration completed.
102
+ if ( ! empty( $settings['notifications']['restore'] ) ) {
103
+ $this->logger->add( 'Sending "restoration complete" email notification...' );
104
+
105
+ // Include the mail template - it requires $info.
106
+ $info = $this->info->get();
107
+ include BOLDGRID_BACKUP_PATH . '/admin/partials/boldgrid-backup-admin-mail-restore.php';
108
+
109
+ // Send the notification.
110
+ // Parameters come from the included mail template file.
111
+ $mail_success = $this->core->email->send( $subject, $body );
112
+ $this->info->set_key( 'mail_success', $mail_success );
113
+
114
+ $this->logger->add( 'Email sent. Status: ' . ( empty( $mail_success ) ? 'Fail' : 'Success' ) );
115
+ }
116
+
117
+ // Check backup directory.
118
+ $this->info->set_key( 'backup_directory_set', $this->core->backup_dir->get() );
119
+
120
+ $this->core->restoring_archive_file = false;
121
+
122
  // Update the log.
123
+ $this->logger->add( 'Restoration complete!' );
124
+ $this->logger->add_memory();
125
 
126
  if ( $this->has_error() ) {
127
+ $this->logger->add( 'Error during restoration: ' . $this->get_error() );
128
  }
129
 
130
  // End the task.
131
  $this->task->end();
132
+
133
+ if ( ! empty( $this->resumer ) ) {
134
+ $this->resumer->remove_cron();
135
+ }
136
+
137
+ $this->option->delete();
138
  }
139
 
140
  /**
156
  * @return array
157
  */
158
  public function get_info() {
159
+ return $this->info->get();
160
+ }
161
+
162
+ /**
163
+ *
164
+ */
165
+ public function get_logger() {
166
+ return $this->logger;
167
  }
168
 
169
  /**
174
  * @return bool
175
  */
176
  private function has_error() {
177
+ $error = $this->info->get_key( 'error' );
178
+ return ! empty( $error );
179
  }
180
 
181
  /**
182
  * Steps to take before an archive is started.
183
  *
184
  * @since SINCEVERSION
185
+ *
186
+ * @param array $args {
187
+ * An optional array of args.
188
+ *
189
+ * @type int $archive_key An archive key.
190
+ * @type string $archive_filename An archive filename.
191
+ * }
192
  */
193
+ public function init( $args = array() ) {
194
  // Init our logger.
195
+ $log_filename = 'restore-' . time() . '.log';
196
+ $this->logger->init( $log_filename );
197
+ $this->logger->add( 'Restore process initialized.' );
198
+ $this->logger->add_memory();
199
 
200
  /*
201
  * Setup our task.
209
  $this->task->init( [ 'type' => 'restore' ] );
210
  }
211
  $this->task->start();
212
+
213
+ $this->core->restoring_archive_file = true;
214
+
215
+ // Using pcl_zip (ZipArchive unavailable), a 400MB+ zip used over 500MB+ of memory to restore.
216
+ Boldgrid_Backup_Admin_Utility::bump_memory_limit( '1G' );
217
+
218
+ // Close any PHP session, so that another session can open during this restore operation.
219
+ session_write_close();
220
+
221
+ // Prevent this script from dying.
222
+ ignore_user_abort( true );
223
+
224
+ $this->core->set_time_limit();
225
+
226
+ /*
227
+ * This is a generic method to restore an archive. Do not assume the request to restore is coming
228
+ * from a user directly via $_POST.
229
+ *
230
+ * Refer to check_ajax_referer usage below to help protect ajax requests.
231
+ */
232
+ $is_post_restore = isset( $_POST['action'] ) && 'boldgrid_backup_restore_archive' === $_POST['action']; // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
233
+
234
+ // If a restoration was not requested, then abort.
235
+ if ( empty( $_POST['restore_now'] ) ) { // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
236
+ $error_message = esc_html__( 'Invalid restore_now value.', 'boldgrid-backup' );
237
+ $this->logger->add( $error_message );
238
+ return [ 'error' => $error_message ];
239
+ }
240
+
241
+ if ( $is_post_restore && ! check_ajax_referer( 'boldgrid_backup_restore_archive', 'archive_auth', false ) ) {
242
+ $error_message = esc_html__( 'Invalid nonce.', 'boldgrid-backup' );
243
+ $this->logger->add( $error_message );
244
+ return [ 'error' => $error_message ];
245
+ }
246
+
247
+ // Check if functional.
248
+ if ( ! $this->core->test->run_functionality_tests() ) {
249
+ $error_message = esc_html__( 'Functionality tests fail.', 'boldgrid-backup' );
250
+ $this->logger->add( $error_message );
251
+ return [ 'error' => $error_message ];
252
+ }
253
+
254
+ /*
255
+ * Get our archive key.
256
+ *
257
+ * It can be passed in via $args or $_POST.
258
+ */
259
+ $archive_key = false;
260
+ if ( isset( $args['archive_key'] ) ) {
261
+ $archive_key = (int) $args['archive_key'];
262
+ } elseif ( isset( $_POST['archive_key'] ) && is_numeric( $_POST['archive_key'] ) ) { // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
263
+ $archive_key = (int) $_POST['archive_key'];
264
+ } else {
265
+ $error_message = esc_html__( 'Invalid key for the selected archive file.', 'boldgrid-backup' );
266
+ $this->logger->add( $error_message );
267
+ return [ 'error' => $error_message ];
268
+ }
269
+
270
+ /*
271
+ * Get our archive filename.
272
+ *
273
+ * It can be passed in via $args or $_POST.
274
+ */
275
+ $archive_filename = false;
276
+ if ( ! empty( $args['archive_filename'] ) ) {
277
+ $archive_filename = sanitize_file_name( $args['archive_filename'] );
278
+ } elseif ( ! empty( $_POST['archive_filename'] ) ) { // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
279
+ $archive_filename = sanitize_file_name( $_POST['archive_filename'] );
280
+ } else {
281
+ $error_message = esc_html__( 'Invalid filename for the selected archive file.', 'boldgrid-backup' );
282
+ $this->logger->add( $error_message );
283
+ return [ 'error' => $error_message ];
284
+ }
285
+
286
+ $archives = $this->core->get_archive_list( $archive_filename );
287
+ if ( empty( $archives ) ) {
288
+ $error_message = esc_html__( 'No archive files were found.', 'boldgrid-backup' );
289
+ $this->logger->add( $error_message );
290
+ return [ 'error' => $error_message ];
291
+ }
292
+
293
+ $filename = ! empty( $archives[ $archive_key ]['filename'] ) ? $archives[ $archive_key ]['filename'] : null;
294
+
295
+ if ( $archive_filename !== $filename ) {
296
+ $error_message = esc_html__( 'The selected archive file was not found.', 'boldgrid-backup' );
297
+ $this->logger->add( $error_message );
298
+ return [ 'error' => $error_message ];
299
+ }
300
+
301
+ $filepath = ! empty( $archives[ $archive_key ]['filepath'] ) ? $archives[ $archive_key ]['filepath'] : null;
302
+
303
+ if ( ! empty( $filepath ) && $this->core->wp_filesystem->exists( $filepath ) ) {
304
+ $filesize = $this->core->wp_filesystem->size( $filepath );
305
+ } else {
306
+ $error_message = esc_html__( 'The selected archive file is empty.', 'boldgrid-backup' );
307
+ $this->logger->add( $error_message );
308
+ return [ 'error' => $error_message ];
309
+ }
310
+
311
+ // Populate $info.
312
+ $info = [
313
+ 'mode' => 'restore',
314
+ 'filename' => $archive_filename,
315
+ 'filepath' => $filepath,
316
+ 'filesize' => $filesize,
317
+ 'archive_key' => $archive_key,
318
+ 'restore_ok' => true,
319
+ 'log_filename' => $log_filename,
320
+ 'task_id' => $this->task->get_id(),
321
+ ];
322
+
323
+ $this->archive = \Boldgrid\Backup\Archive\Factory::get_by_filename( $info['filename'] );
324
+ if ( empty( $this->archive ) ) {
325
+ $error_message = esc_html__( 'Unable to get archive by filename.', 'boldgrid-backup' );
326
+ $this->logger->add( $error_message );
327
+ return [ 'error' => $error_message ];
328
+ }
329
+
330
+ /**
331
+ * Action to take before restoring an archive.
332
+ *
333
+ * @since 1.5.1
334
+ *
335
+ * @param array $info
336
+ */
337
+ do_action( 'boldgrid_backup_pre_restore', $info );
338
+
339
+ /*
340
+ * Attempt to fix any permissions related issues before the restoration begins. If we're
341
+ * unable to, the restoration may not continue.
342
+ */
343
+ if ( class_exists( 'ZipArchive' ) ) {
344
+ if ( ! $this->core->restore_helper->set_writable_permissions( $info['filepath'] ) ) {
345
+ $error_message = $this->core->restore_helper->get_last_error();
346
+ $this->logger->add( $error_message );
347
+ return [ 'error' => $error_message ];
348
+ }
349
+ } else {
350
+ $this->logger->add( 'ZipArchive not available. Unable to set_writable_permissions. Trying restore anyways...' );
351
+ }
352
+
353
+ return $info;
354
  }
355
 
356
  /**
415
  * @since SINCEVERSION
416
  */
417
  public function run() {
418
+ if ( $this->is_resuming ) {
419
+ $restorer = \Boldgrid\Backup\V2\Restorer\Factory::run( $this->backup_id, $this->restore_id );
420
+
421
+ $this->info = new \Boldgrid\Backup\Archiver\Info( 'many', $restorer );
422
+
423
+ $this->task = new Boldgrid_Backup_Admin_Task();
424
+ $this->task->init_by_id( $this->info->get_key( 'task_id' ) ); // phpcs:ignore
425
+
426
+ $this->logger->init( $this->info->get_key( 'log_filename' ) );
427
+
428
+ $this->resumer = new \Boldgrid\Backup\V2\Restorer\Resumer();
429
+
430
+ $restorer->run();
431
+ } else {
432
+ $info = $this->init();
433
+
434
+ if ( $this->archive->is_virtual ) {
435
+ $backup_id = $this->archive->virtual->get_id();
436
+ $restorer = \Boldgrid\Backup\V2\Restorer\Factory::run( $backup_id, null );
437
+ $restore_id = $restorer->get_data_type( 'step' )->get_key( 'restore_id' );
438
+
439
+ // Save some in progress data. This is for our restore resumer.
440
+ $this->option->set_key( 'backup_id', $backup_id );
441
+ $this->option->set_key( 'restore_id', $restore_id );
442
 
443
+ $this->resumer = new \Boldgrid\Backup\V2\Restorer\Resumer();
444
+ $this->resumer->maybe_add_cron();
445
+
446
+ $this->info = new \Boldgrid\Backup\Archiver\Info( 'many', $restorer );
447
+ $this->info->set_keys( $info );
448
+
449
+ $restorer->run();
450
+ } else {
451
+ $this->info = new \Boldgrid\Backup\Archiver\Info( 'one', array() );
452
+ $this->info->set_keys( $info );
453
+ $this->core->restore_archive_file( $this->info );
454
+ }
455
+ }
456
 
457
  $this->complete();
458
  }
includes/class-boldgrid-backup.php CHANGED
@@ -315,6 +315,7 @@ class Boldgrid_Backup {
315
  // Archiver and Restorer classes.
316
  require_once BOLDGRID_BACKUP_PATH . '/includes/class-boldgrid-backup-archiver.php';
317
  require_once BOLDGRID_BACKUP_PATH . '/includes/class-boldgrid-backup-restorer.php';
 
318
 
319
  require_once BOLDGRID_BACKUP_PATH . '/includes/class-boldgrid-backup-archive-fetcher.php';
320
 
@@ -334,15 +335,22 @@ class Boldgrid_Backup {
334
 
335
  require_once BOLDGRID_BACKUP_PATH . '/cli/class-info.php';
336
 
 
 
 
337
  /*
338
  * Include v2 files.
339
  *
340
  * V2 is the beginning of split / resumable backups.
341
  */
342
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/filelist/class-create.php';
 
 
343
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/step/class-step.php';
344
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/step/class-data.php';
345
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/step/class-json-file.php';
 
 
346
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/class-factory.php';
347
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/class-archiver.php';
348
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/class-resumer.php';
@@ -352,6 +360,19 @@ class Boldgrid_Backup {
352
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/steps/archive_files/class-part.php';
353
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/steps/archive_files/class-parts.php';
354
 
 
 
 
 
 
 
 
 
 
 
 
 
 
355
  $this->loader = new Boldgrid_Backup_Loader();
356
  }
357
 
@@ -385,6 +406,7 @@ class Boldgrid_Backup {
385
  // Instantiate the admin core.
386
  $plugin_admin_core = new Boldgrid_Backup_Admin_Core();
387
  $resumer = new \Boldgrid\Backup\V2\Archiver\Resumer( $plugin_admin_core );
 
388
 
389
  // WP-CLI support.
390
  if ( defined( 'WP_CLI' ) && WP_CLI ) {
@@ -555,6 +577,7 @@ class Boldgrid_Backup {
555
  $this->loader->add_action( 'wp_ajax_nopriv_boldgrid_backup_run_backup', $plugin_admin_core->cron, 'backup' );
556
  $this->loader->add_action( 'wp_ajax_nopriv_boldgrid_backup_run_restore', $plugin_admin_core->cron, 'restore' );
557
  $this->loader->add_action( 'wp_ajax_nopriv_boldgrid_backup_run_resume', $resumer, 'run' );
 
558
 
559
  // For public downloads.
560
  $this->loader->add_action( 'wp_ajax_boldgrid_backup_download', $plugin_admin_core->download, 'public_download' );
315
  // Archiver and Restorer classes.
316
  require_once BOLDGRID_BACKUP_PATH . '/includes/class-boldgrid-backup-archiver.php';
317
  require_once BOLDGRID_BACKUP_PATH . '/includes/class-boldgrid-backup-restorer.php';
318
+ require_once BOLDGRID_BACKUP_PATH . '/includes/restorer/class-db.php';
319
 
320
  require_once BOLDGRID_BACKUP_PATH . '/includes/class-boldgrid-backup-archive-fetcher.php';
321
 
335
 
336
  require_once BOLDGRID_BACKUP_PATH . '/cli/class-info.php';
337
 
338
+ // Options.
339
+ require_once BOLDGRID_BACKUP_PATH . '/includes/option/class-option.php';
340
+
341
  /*
342
  * Include v2 files.
343
  *
344
  * V2 is the beginning of split / resumable backups.
345
  */
346
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/filelist/class-create.php';
347
+
348
+ // V2 Step.
349
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/step/class-step.php';
350
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/step/class-data.php';
351
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/step/class-json-file.php';
352
+
353
+ // V2 Archiver.
354
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/class-factory.php';
355
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/class-archiver.php';
356
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/class-resumer.php';
360
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/steps/archive_files/class-part.php';
361
  require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archiver/steps/archive_files/class-parts.php';
362
 
363
+ // V2 Restorer.
364
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/restorer/class-restorer.php';
365
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/restorer/class-factory.php';
366
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/restorer/class-resumer.php';
367
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/restorer/class-utility.php';
368
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/restorer/steps/class-unzip.php';
369
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/restorer/steps/class-db.php';
370
+
371
+ // V2 Archive.
372
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archive/class-archive.php';
373
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archive/class-dirlist.php';
374
+ require_once BOLDGRID_BACKUP_PATH . '/includes/v2/archive/class-factory.php';
375
+
376
  $this->loader = new Boldgrid_Backup_Loader();
377
  }
378
 
406
  // Instantiate the admin core.
407
  $plugin_admin_core = new Boldgrid_Backup_Admin_Core();
408
  $resumer = new \Boldgrid\Backup\V2\Archiver\Resumer( $plugin_admin_core );
409
+ $restore_resumer = new \Boldgrid\Backup\V2\Restorer\Resumer( $plugin_admin_core );
410
 
411
  // WP-CLI support.
412
  if ( defined( 'WP_CLI' ) && WP_CLI ) {
577
  $this->loader->add_action( 'wp_ajax_nopriv_boldgrid_backup_run_backup', $plugin_admin_core->cron, 'backup' );
578
  $this->loader->add_action( 'wp_ajax_nopriv_boldgrid_backup_run_restore', $plugin_admin_core->cron, 'restore' );
579
  $this->loader->add_action( 'wp_ajax_nopriv_boldgrid_backup_run_resume', $resumer, 'run' );
580
+ $this->loader->add_action( 'wp_ajax_nopriv_boldgrid_backup_run_resume_restore', $restore_resumer, 'run' );
581
 
582
  // For public downloads.
583
  $this->loader->add_action( 'wp_ajax_boldgrid_backup_download', $plugin_admin_core->download, 'public_download' );
includes/config/config.cron.php CHANGED
@@ -34,10 +34,10 @@ $site_url = site_url();
34
  // Only defined cron entries can be found.
35
  $config = [
36
  'entries' => [
37
- 'backup' => [
38
  'search' => [
39
  'cron' => [
40
- 'mode=backup',
41
  'siteurl=' . $site_url . ' ',
42
  ],
43
  'wp-cron' => [
@@ -45,10 +45,19 @@ $config = [
45
  ],
46
  ],
47
  ],
48
- 'resume' => [
49
  'search' => [
50
  'cron' => [
51
- 'mode=resume',
 
 
 
 
 
 
 
 
 
52
  'siteurl=' . $site_url . ' ',
53
  ],
54
  // todo add wp-cron
34
  // Only defined cron entries can be found.
35
  $config = [
36
  'entries' => [
37
+ 'backup' => [
38
  'search' => [
39
  'cron' => [
40
+ 'mode=backup ',
41
  'siteurl=' . $site_url . ' ',
42
  ],
43
  'wp-cron' => [
45
  ],
46
  ],
47
  ],
48
+ 'resume' => [
49
  'search' => [
50
  'cron' => [
51
+ 'mode=resume ',
52
+ 'siteurl=' . $site_url . ' ',
53
+ ],
54
+ // todo add wp-cron
55
+ ],
56
+ ],
57
+ 'resume_restore' => [
58
+ 'search' => [
59
+ 'cron' => [
60
+ 'mode=resume_restore ',
61
  'siteurl=' . $site_url . ' ',
62
  ],
63
  // todo add wp-cron
includes/option/class-option.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Option class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\Option;
15
+
16
+ /**
17
+ * Class: Option
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Option {
22
+ private $name;
23
+
24
+ /**
25
+ *
26
+ */
27
+ public function __construct( $name ) {
28
+ $this->name = $name;
29
+ }
30
+
31
+ /**
32
+ *
33
+ */
34
+ public function delete() {
35
+ delete_option( $this->name );
36
+ }
37
+
38
+ /**
39
+ *
40
+ */
41
+ public function get() {
42
+ return get_option( $this->name, array() );
43
+ }
44
+
45
+ /**
46
+ *
47
+ */
48
+ public function get_key( $key, $default = false ) {
49
+ $option = $this->get();
50
+
51
+ return isset( $option[ $key ] ) ? $option[ $key ] : $default;
52
+ }
53
+
54
+ /**
55
+ *
56
+ */
57
+ public function set_key( $key, $value ) {
58
+ $option = $this->get();
59
+
60
+ $option[ $key ] = $value;
61
+
62
+ update_option( $this->name, $option );
63
+ }
64
+ }
includes/restorer/class-db.php ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * File: class-info.php
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid_Backup
9
+ * @subpackage Boldgrid_Backup/includes
10
+ * @copyright BoldGrid
11
+ * @version $Id$
12
+ * @author BoldGrid <support@boldgrid.com>
13
+ */
14
+
15
+ namespace Boldgrid\Backup\Restorer;
16
+
17
+ /**
18
+ * Class: Info
19
+ *
20
+ * @since SINCEVERSION
21
+ */
22
+ class Db {
23
+ private $error;
24
+
25
+ private $db_dump_filepath;
26
+
27
+ /**
28
+ *
29
+ */
30
+ public function __construct( $zip_filepath, $db_dump_filepath ) {
31
+ $this->core = apply_filters( 'boldgrid_backup_get_core', null );
32
+ $this->zip_filepath = $zip_filepath;
33
+ $this->db_dump_filepath = $db_dump_filepath;
34
+ $this->logger = apply_filters( 'boldgrid_backup_get_restore_logger', null );
35
+
36
+ $this->log( '$db_dump_filepath = ' . $db_dump_filepath );
37
+ $this->log( '$zip_filepath = ' . $zip_filepath );
38
+ }
39
+
40
+ /**
41
+ *
42
+ */
43
+ private function get_prefix() {
44
+ $db_prefix = null;
45
+
46
+ // Get the database table prefix from the new "wp-config.php" file, if exists.
47
+ if ( $this->core->wp_filesystem->exists( ABSPATH . 'wp-config.php' ) ) {
48
+ $wpcfg_contents = $this->core->wp_filesystem->get_contents( ABSPATH . 'wp-config.php' );
49
+ }
50
+
51
+ if ( ! empty( $wpcfg_contents ) ) {
52
+ preg_match( '#\$table_prefix.*?=.*?' . "'" . '(.*?)' . "'" . ';#', $wpcfg_contents, $matches );
53
+
54
+ if ( ! empty( $matches[1] ) ) {
55
+ $db_prefix = $matches[1];
56
+ }
57
+ }
58
+
59
+ return $db_prefix;
60
+ }
61
+
62
+ /**
63
+ *
64
+ */
65
+ private function is_encrypted() {
66
+ // todo. Fix this. We have the sql.zip filepath, but not the main zip.
67
+ return false;
68
+
69
+ // remove ignore statements when we update this method.
70
+ $this->core->archive->init( $this->filepath ); // phpcs:ignore Squiz.PHP.NonExecutableCode.Unreachable
71
+ return $this->core->archive->get_attribute( 'encrypt_db' ); // phpcs:ignore Squiz.PHP.NonExecutableCode.Unreachable
72
+ }
73
+
74
+ /**
75
+ *
76
+ */
77
+ private function log( $message ) {
78
+ $this->logger->add( 'DB Restorer: ' . $message );
79
+ }
80
+
81
+ /**
82
+ *
83
+ */
84
+ public function run() {
85
+ // Check input.
86
+ if ( empty( $this->db_dump_filepath ) ) {
87
+ $this->error = esc_html__( 'The database dump file was not found.', 'boldgrid-backup' );
88
+
89
+ $this->log( $this->error );
90
+ do_action( 'boldgrid_backup_notice', $this->error, 'notice notice-error is-dismissible' );
91
+
92
+ return false;
93
+ }
94
+
95
+ // Check if functional.
96
+ if ( ! $this->core->test->run_functionality_tests() ) {
97
+ $this->core->notice->functionality_fail_notice();
98
+ return false;
99
+ }
100
+
101
+ $this->core->set_time_limit();
102
+
103
+ $db_prefix = $this->get_prefix();
104
+ $this->log( '$db_prefix = ' . $db_prefix );
105
+
106
+ // Get the WP Options for "siteurl" and "home", to restore later.
107
+ $wp_siteurl = get_option( 'siteurl' );
108
+ $wp_home = get_option( 'home' );
109
+
110
+ $is_encrypted = $this->is_encrypted();
111
+ $this->log( '$is_encrypted = ' . $is_encrypted );
112
+ if ( $is_encrypted ) {
113
+ /**
114
+ * If BGBP is activated, then check for encryption and decrypt the file.
115
+ *
116
+ * @since 1.12.0
117
+ */
118
+ do_action( 'boldgrid_backup_crypt_file', $this->db_dump_filepath, 'd' );
119
+ }
120
+
121
+ // Import the dump file.
122
+ $this->log( 'Running import() method...' );
123
+ $importer = new \Boldgrid_Backup_Admin_Db_Import();
124
+ $status = $importer->import( $this->db_dump_filepath );
125
+
126
+ if ( ! empty( $status['error'] ) ) {
127
+ $this->error = $status['error'];
128
+
129
+ $this->log( 'import() method failed: ' . $this->error );
130
+ do_action( 'boldgrid_backup_notice', $status['error'], 'notice notice-error is-dismissible' );
131
+
132
+ return false;
133
+ } else {
134
+ $this->log( 'import() method successful.' );
135
+ }
136
+
137
+ // Set the database prefix, if supplied/changed.
138
+ if ( ! empty( $db_prefix ) ) {
139
+ global $wpdb;
140
+ $wpdb->set_prefix( $db_prefix );
141
+ }
142
+
143
+ // Clear the WordPress cache.
144
+ wp_cache_flush();
145
+
146
+ // Get the restored "siteurl" and "home".
147
+ $restored_wp_siteurl = get_option( 'siteurl' );
148
+ $restored_wp_home = get_option( 'home' );
149
+
150
+ // If changed, then update the siteurl in the database.
151
+ if ( $restored_wp_siteurl !== $wp_siteurl ) {
152
+ $this->log( 'siteurl has changed.' );
153
+
154
+ $update_siteurl_success = \Boldgrid_Backup_Admin_Utility::update_siteurl( $restored_wp_siteurl, $wp_siteurl );
155
+
156
+ if ( ! $update_siteurl_success ) {
157
+ $this->error = esc_html__(
158
+ 'The WordPress siteurl has changed. There was an issue changing it back. You will have to fix the siteurl manually in the database, or use an override in your wp-config.php file.',
159
+ 'boldgrid-backup'
160
+ );
161
+
162
+ $this->log( $this->error );
163
+ do_action( 'boldgrid_backup_notice', $this->error, 'notice notice-error is-dismissible' );
164
+ }
165
+ } else {
166
+ $this->log( 'siteurl has not changed.' );
167
+ }
168
+
169
+ // If changed, then restore the WP Option for "home".
170
+ if ( $restored_wp_home !== $wp_home ) {
171
+ $this->log( 'home has changed.' );
172
+
173
+ // There may be a filter, so remove it.
174
+ remove_all_filters( 'pre_update_option_home' );
175
+
176
+ update_option( 'home', untrailingslashit( $wp_home ) );
177
+ } else {
178
+ $this->log( 'home has not changed.' );
179
+ }
180
+
181
+ $this->core->wp_filesystem->delete( $this->db_dump_filepath, false, 'f' );
182
+
183
+ return true;
184
+ }
185
+ }
includes/v2/archive/class-archive.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Archive class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Archive;
15
+
16
+ /**
17
+ * Class: Archive
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Archive {
22
+ private $dir;
23
+
24
+ /**
25
+ *
26
+ * @var Boldgrid\Backup\V2\Archive\Dirlist
27
+ */
28
+ private $dirlist;
29
+
30
+ private $filename;
31
+
32
+ /**
33
+ * The id of this backup.
34
+ *
35
+ * IE the "53cb12ab25591dc9" in "boldgrid-backup-2cc84b67-53cb12ab25591dc9".
36
+ *
37
+ * @var string
38
+ */
39
+ private $id;
40
+
41
+ /**
42
+ *
43
+ */
44
+ public function __construct() {
45
+ $this->dirlist = new \Boldgrid\Backup\V2\Archive\Dirlist( $this );
46
+ }
47
+
48
+ /**
49
+ *
50
+ */
51
+ public function get_dir() {
52
+ return $this->dir;
53
+ }
54
+
55
+ /**
56
+ *
57
+ */
58
+ public function get_dirlist() {
59
+ return $this->dirlist;
60
+ }
61
+
62
+ /**
63
+ *
64
+ */
65
+ public function get_id() {
66
+ return $this->id;
67
+ }
68
+
69
+ /**
70
+ *
71
+ */
72
+ public function set_dir( $dir ) {
73
+ $this->dir = $dir;
74
+ }
75
+
76
+ /**
77
+ *
78
+ */
79
+ public function set_filename( $filename ) {
80
+ // Grab our id from the filename.
81
+ preg_match( '/boldgrid-backup-(.+)-(.{16})/', $filename, $matches );
82
+ if ( empty( $matches[2] ) ) {
83
+ return false;
84
+ }
85
+ $this->id = $matches[2];
86
+
87
+ $this->filename = $filename;
88
+ }
89
+ }
includes/v2/archive/class-dirlist.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Dir class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Archive;
15
+
16
+ /**
17
+ * Class: Archive
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Dirlist {
22
+ /**
23
+ *
24
+ * @var Boldgrid\Backup\V2\Archive\Archive
25
+ */
26
+ private $archive;
27
+
28
+ private $core;
29
+
30
+ /**
31
+ *
32
+ */
33
+ public function __construct( $archive ) {
34
+ $this->core = apply_filters( 'boldgrid_backup_get_core', null );
35
+ $this->archive = $archive;
36
+ }
37
+
38
+ /**
39
+ *
40
+ */
41
+ public function get() {
42
+ return $this->core->wp_filesystem->dirlist( $this->archive->get_dir() );
43
+ }
44
+
45
+ public function get_by_extension( $extension ) {
46
+ $files = array();
47
+
48
+ $dirlist = $this->get();
49
+ foreach ( $dirlist as $key => $data ) {
50
+ if ( pathinfo( $key, PATHINFO_EXTENSION ) === $extension ) {
51
+ $files[] = $data;
52
+ }
53
+ }
54
+
55
+ return $files;
56
+ }
57
+ }
includes/v2/archive/class-factory.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Factory class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Archive;
15
+
16
+ /**
17
+ * Class: Factory
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Factory {
22
+ /**
23
+ *
24
+ */
25
+ public static function run_by_filename( $filename ) {
26
+ $core = apply_filters( 'boldgrid_backup_get_core', null );
27
+
28
+ // Make sure the .zip exists.
29
+ if ( ! $core->backup_dir->exists( $filename ) ) {
30
+ return false;
31
+ }
32
+
33
+ // Make sure the folder exists.
34
+ $dir = $core->backup_dir->get_path_to( wp_basename( $filename, '.zip' ) );
35
+ if ( ! $core->wp_filesystem->exists( $dir ) ) {
36
+ return false;
37
+ }
38
+
39
+ $archive = new \Boldgrid\Backup\V2\Archive\Archive();
40
+ $archive->set_dir( $dir );
41
+ $archive->set_filename( $filename );
42
+
43
+ return $archive;
44
+ }
45
+ }
includes/v2/archiver/class-archiver.php CHANGED
@@ -75,6 +75,7 @@ class Archiver extends \Boldgrid\Backup\V2\Step\Step {
75
 
76
  if ( ! $step_success ) {
77
  // Failed to create zip. todo: cleanup?
 
78
  return false;
79
  }
80
  }
75
 
76
  if ( ! $step_success ) {
77
  // Failed to create zip. todo: cleanup?
78
+ $this->log( 'ERROR: Step failed.' );
79
  return false;
80
  }
81
  }
includes/v2/archiver/class-factory.php CHANGED
@@ -32,11 +32,7 @@ class Factory {
32
 
33
  $name = 'boldgrid-backup-' . $core->get_backup_identifier() . '-' . $id;
34
 
35
- // Create the folder if it does not exist.
36
  $backup_folder_path = $core->backup_dir->get_path_to( $name );
37
- if ( ! $core->wp_filesystem->exists( $backup_folder_path ) ) {
38
- $core->wp_filesystem->mkdir( $backup_folder_path );
39
- }
40
 
41
  // Create the zip placeholder.
42
  $zip_filepath = $core->backup_dir->get_path_to( $name . '.zip' );
32
 
33
  $name = 'boldgrid-backup-' . $core->get_backup_identifier() . '-' . $id;
34
 
 
35
  $backup_folder_path = $core->backup_dir->get_path_to( $name );
 
 
 
36
 
37
  // Create the zip placeholder.
38
  $zip_filepath = $core->backup_dir->get_path_to( $name . '.zip' );
includes/v2/archiver/steps/archive_files/class-part.php CHANGED
@@ -71,7 +71,7 @@ class Part {
71
  * @access private
72
  * @var int
73
  */
74
- private $max_size = 100 * 1000000;
75
 
76
  /**
77
  * This part's number.
@@ -122,13 +122,15 @@ class Part {
122
 
123
  $archive_command = 'cd ' . ABSPATH . '; zip ' . $this->filepath . ' ' . $j . ' -@ < ' . $batch_filelist_filepath;
124
 
125
- // error_log( '$archive_command = ' . getmypid() . ' ' . $archive_command );
126
-
127
  $this->archive_files->get_core()->execute_command( $archive_command, $success, $return );
128
 
129
  $new_size = $this->get_size();
130
 
131
- return ( $original_size !== $new_size ) && $success;
 
 
 
 
132
  }
133
 
134
  /**
@@ -143,6 +145,13 @@ class Part {
143
  $this->set_key( 'filename', basename( $this->filepath ) );
144
  }
145
 
 
 
 
 
 
 
 
146
  /**
147
  * Get the max size for this part.
148
  *
@@ -189,7 +198,12 @@ class Part {
189
  // PHP will cache the size. Clear the cache.
190
  clearstatcache();
191
 
192
- return $this->archive_files->get_core()->wp_filesystem->size( $this->filepath );
 
 
 
 
 
193
  }
194
 
195
  /**
71
  * @access private
72
  * @var int
73
  */
74
+ private $max_size = 100 * 1024 * 1024;
75
 
76
  /**
77
  * This part's number.
122
 
123
  $archive_command = 'cd ' . ABSPATH . '; zip ' . $this->filepath . ' ' . $j . ' -@ < ' . $batch_filelist_filepath;
124
 
 
 
125
  $this->archive_files->get_core()->execute_command( $archive_command, $success, $return );
126
 
127
  $new_size = $this->get_size();
128
 
129
+ if ( $success && $original_size === $new_size ) {
130
+ $this->archive_files->log( 'WARNING: Archive filesize did not change after adding files. It could be that this is not the first attempt, but the first attempt DID finish archiving but DID NOT finish completing the step.' );
131
+ }
132
+
133
+ return $success;
134
  }
135
 
136
  /**
145
  $this->set_key( 'filename', basename( $this->filepath ) );
146
  }
147
 
148
+ /**
149
+ *
150
+ */
151
+ public function get_filename() {
152
+ return basename( $this->filepath );
153
+ }
154
+
155
  /**
156
  * Get the max size for this part.
157
  *
198
  // PHP will cache the size. Clear the cache.
199
  clearstatcache();
200
 
201
+ $size = 0;
202
+ if ( $this->archive_files->get_core()->wp_filesystem->exists( $this->filepath ) ) {
203
+ $size = $this->archive_files->get_core()->wp_filesystem->size( $this->filepath );
204
+ }
205
+
206
+ return $size;
207
  }
208
 
209
  /**
includes/v2/archiver/steps/class-archive-files.php CHANGED
@@ -53,6 +53,8 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
53
  */
54
  private $last_archived_key;
55
 
 
 
56
  /**
57
  * The max batch size.
58
  *
@@ -60,7 +62,7 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
60
  * @access private
61
  * @var int
62
  */
63
- private $max_batch_size = 25 * 1000000;
64
 
65
  /**
66
  * Our parts class.
@@ -111,7 +113,14 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
111
  $part->set_configs( $this->configs['part_configs'] );
112
  }
113
 
114
- // Determine the max size to archive during this batch.
 
 
 
 
 
 
 
115
  $max_batch_size = min( $part->get_remaining_size(), $this->max_batch_size );
116
  $remaining_size = $max_batch_size;
117
  $is_part_empty = $part->is_empty();
@@ -162,6 +171,30 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
162
  'part' => $part,
163
  );
164
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  return $success ? $batch_info : false;
166
  }
167
 
@@ -182,8 +215,6 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
182
  * @since SINCEVERSION
183
  */
184
  public function run() {
185
- // error_log( 'archive files configs = ' . print_r( $this->configs,1) );
186
-
187
  \Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'step', 3 );
188
 
189
  $this->add_attempt();
@@ -196,11 +227,12 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
196
  */
197
  $this->set_filelist();
198
  if ( empty( $this->filelist ) ) {
 
199
  $this->complete();
200
  return;
201
  }
202
 
203
- $last_key = count( $this->filelist ) - 1;
204
  $this->last_archived_key = $this->get_data_type( 'step' )->get_key( 'last_archived_key', 0 );
205
  $archived_all_keys = false;
206
 
@@ -221,12 +253,11 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
221
  while ( ! $zip_success && ( $zip_attempts < $zip_max_attempts ) ) {
222
  $zip_attempts++;
223
 
224
- error_log( 'Zip attempt ' . $zip_attempts ); // phpcs:ignore
225
-
226
  $zip_success = $batch_info['part']->add_batch( $batch_info['batch_filelist_filepath'] );
227
 
228
  if ( ! $zip_success ) {
229
- error_log( 'Zipping failed. Sleeping...' ); // phpcs:ignore
 
230
  sleep( $zip_sleep );
231
  }
232
  }
@@ -236,7 +267,7 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
236
  $this->get_data_type( 'step' )->set_key( 'last_archived_key', $this->last_archived_key );
237
 
238
  // If we've archived all the files, flag the last part as complete.
239
- if ( $this->last_archived_key === $last_key ) {
240
  $batch_info['part']->complete();
241
  }
242
  } else {
@@ -248,7 +279,7 @@ class Archive_Files extends \Boldgrid\Backup\V2\Step\Step {
248
  return false;
249
  }
250
 
251
- $archived_all_keys = $this->last_archived_key === $last_key;
252
  }
253
 
254
  $this->complete();
53
  */
54
  private $last_archived_key;
55
 
56
+ private $last_key;
57
+
58
  /**
59
  * The max batch size.
60
  *
62
  * @access private
63
  * @var int
64
  */
65
+ private $max_batch_size = 25 * 1024 * 1024;
66
 
67
  /**
68
  * Our parts class.
113
  $part->set_configs( $this->configs['part_configs'] );
114
  }
115
 
116
+ /*
117
+ * Determine the max size to archive during this batch.
118
+ *
119
+ * When determining how large to make this batch:
120
+ * If we're trying to add 10MB to the part and we loop through and find 10MB of files, after
121
+ * compression it may only be 3MB. So instead of adding 10MB to the file, we only added 3MB.
122
+ * This can account for more itterations than needed. @todo Account for this in logic below.
123
+ */
124
  $max_batch_size = min( $part->get_remaining_size(), $this->max_batch_size );
125
  $remaining_size = $max_batch_size;
126
  $is_part_empty = $part->is_empty();
171
  'part' => $part,
172
  );
173
 
174
+ /*
175
+ * Log data.
176
+ *
177
+ * The additional spacing added to make it easier to read in the log.
178
+ */
179
+ // Additional log data availalbe if needed.
180
+ /*
181
+ $part_size = $part->get_size();
182
+ $batch_zize = $max_batch_size - $remaining_size;
183
+ $log_data = array(
184
+ '$batch_filelist_filename' => $batch_filelist_filename,
185
+ '$start_key ' => $start_key,
186
+ '$files_added ' => $files_added,
187
+ '$last_archived_key ' => $this->last_archived_key,
188
+ 'last key ' => $this->last_key,
189
+ 'batch size ' => size_format( $batch_zize, 2 ) . ' / ' . $batch_zize,
190
+ 'batch size max ' => size_format( $max_batch_size, 2 ) . ' / ' . $max_batch_size,
191
+ 'part filename ' => $part->get_filename(),
192
+ 'part size ' => size_format( $part_size, 2 ) . ' / ' . $part_size,
193
+ 'part remaining size ' => size_format( $remaining_size, 2 ) . ' / ' . $remaining_size,
194
+ );
195
+ $this->log( 'New batch created and needs processing: ' . print_r( $log_data, 1 ) ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r
196
+ */
197
+
198
  return $success ? $batch_info : false;
199
  }
200
 
215
  * @since SINCEVERSION
216
  */
217
  public function run() {
 
 
218
  \Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'step', 3 );
219
 
220
  $this->add_attempt();
227
  */
228
  $this->set_filelist();
229
  if ( empty( $this->filelist ) ) {
230
+ $this->log( 'No files in filelist.' );
231
  $this->complete();
232
  return;
233
  }
234
 
235
+ $this->last_key = count( $this->filelist ) - 1;
236
  $this->last_archived_key = $this->get_data_type( 'step' )->get_key( 'last_archived_key', 0 );
237
  $archived_all_keys = false;
238
 
253
  while ( ! $zip_success && ( $zip_attempts < $zip_max_attempts ) ) {
254
  $zip_attempts++;
255
 
 
 
256
  $zip_success = $batch_info['part']->add_batch( $batch_info['batch_filelist_filepath'] );
257
 
258
  if ( ! $zip_success ) {
259
+ $this->log( 'Zipping failed.' );
260
+ $this->unresponsive_time += $this->unresponsive_time;
261
  sleep( $zip_sleep );
262
  }
263
  }
267
  $this->get_data_type( 'step' )->set_key( 'last_archived_key', $this->last_archived_key );
268
 
269
  // If we've archived all the files, flag the last part as complete.
270
+ if ( $this->last_archived_key === $this->last_key ) {
271
  $batch_info['part']->complete();
272
  }
273
  } else {
279
  return false;
280
  }
281
 
282
+ $archived_all_keys = $this->last_archived_key === $this->last_key;
283
  }
284
 
285
  $this->complete();
includes/v2/archiver/steps/class-discovery.php CHANGED
@@ -56,9 +56,12 @@ class Discovery extends \Boldgrid\Backup\V2\Step\Step {
56
  private function files() {
57
  $filelist_creator = new \Boldgrid\Backup\V2\Filelist\Create();
58
  $files = $filelist_creator->run();
 
59
 
60
- \Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'total_size_archived', $filelist_creator->get_total_size() );
61
- \Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'total_size_archived_size_format', size_format( $filelist_creator->get_total_size(), 2 ) );
 
 
62
 
63
  $filelists = array();
64
 
56
  private function files() {
57
  $filelist_creator = new \Boldgrid\Backup\V2\Filelist\Create();
58
  $files = $filelist_creator->run();
59
+ $total_size = $filelist_creator->get_total_size();
60
 
61
+ \Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'total_size_archived', $total_size );
62
+ \Boldgrid_Backup_Admin_In_Progress_Data::set_arg( 'total_size_archived_size_format', size_format( $total_size, 2 ) );
63
+
64
+ $this->info->set_key( 'total_size', $total_size );
65
 
66
  $filelists = array();
67
 
includes/v2/restorer/class-factory.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Restorer Process Factory class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Restorer;
15
+
16
+ /**
17
+ * Class: Factory
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Factory {
22
+ /**
23
+ *
24
+ */
25
+ public static function run( $backup_id, $id = null ) {
26
+ $core = apply_filters( 'boldgrid_backup_get_core', false );
27
+
28
+ // This is the id of the backup.
29
+ if ( empty( $backup_id ) ) {
30
+ return false;
31
+ }
32
+
33
+ // Create a 16 digit id for this restoration process.
34
+ if ( empty( $id ) ) {
35
+ $id = substr( md5( time() ), -16 );
36
+ }
37
+
38
+ $backup_folder_name = 'boldgrid-backup-' . $core->get_backup_identifier() . '-' . $backup_id;
39
+ $backup_folder_path = $core->backup_dir->get_path_to( $backup_folder_name );
40
+ $restore_folder_path = $backup_folder_path . '/restore-' . $id;
41
+
42
+ if ( ! $core->wp_filesystem->exists( $backup_folder_path ) ) {
43
+ return false;
44
+ }
45
+
46
+ $restorer = new \Boldgrid\Backup\V2\Restorer\Restorer( 'restorer', false, $restore_folder_path );
47
+
48
+ $restorer->get_data_type( 'step' )->set_key( 'backup_folder_path', $backup_folder_path );
49
+ $restorer->get_data_type( 'step' )->set_key( 'restore_id', $id );
50
+
51
+ return $restorer;
52
+ }
53
+ }
includes/v2/restorer/class-restorer.php ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Restorer class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Restorer;
15
+
16
+ /**
17
+ * Class: Restorer
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Restorer extends \Boldgrid\Backup\V2\Step\Step {
22
+
23
+ /**
24
+ * Run the restoration process.
25
+ *
26
+ * @since SINCEVERSION
27
+ */
28
+ public function run() {
29
+ $this->add_attempt();
30
+
31
+ $archive = \Boldgrid\Backup\Archive\Factory::get_by_dir( $this->get_data_type( 'step' )->get_key( 'backup_folder_path' ) );
32
+ if ( ! $archive->is_virtual ) {
33
+ $this->fail( 'Unable to get archive by directory.' );
34
+ return array( 'error' => 'Unable to get archive by directory.' );
35
+ }
36
+
37
+ $zips = $archive->virtual->get_dirlist()->get_by_extension( 'zip' );
38
+
39
+ $steps = array();
40
+
41
+ foreach ( $zips as $data ) {
42
+ // Create the step.
43
+ $step_id = 'step_restore_' . $data['name'];
44
+ $step = new \Boldgrid\Backup\V2\Restorer\Steps\Unzip( $step_id, $this->id, $this->get_dir() );
45
+
46
+ // Tell the new Unzip step the full path to the zip file it will unzip.
47
+ $zip_filepath = trailingslashit( $this->get_data_type( 'step' )->get_key( 'backup_folder_path' ) ) . $data['name'];
48
+ $step->get_data_type( 'step' )->set_key( 'zip_filepath', $zip_filepath );
49
+
50
+ $steps[] = $step;
51
+ }
52
+
53
+ foreach ( $steps as $step ) {
54
+ $this->check_in();
55
+
56
+ if ( $step->maybe_run() ) {
57
+ $step->run();
58
+
59
+ if ( $step->is_fail() ) {
60
+ return false;
61
+ }
62
+ }
63
+ }
64
+
65
+ $is_post_restore = $this->get_data_type( 'step' )->get_key( 'is_post_restore' );
66
+ if ( ! $is_post_restore ) {
67
+ /**
68
+ * Action to take after restoring an archive.
69
+ *
70
+ * @since 1.5.1
71
+ *
72
+ * @param array $info
73
+ */
74
+ do_action( 'boldgrid_backup_post_restore', $this->info->get() );
75
+ }
76
+ $this->get_data_type( 'step' )->set_key( 'is_post_restore', true );
77
+
78
+ // After unzipping all the files, find the sql file and restore it.
79
+ $db_step = new \Boldgrid\Backup\V2\Restorer\Steps\Db( 'step_restore_db', $this->id, $this->get_dir() );
80
+ $zip_filepath = trailingslashit( $this->get_data_type( 'step' )->get_key( 'backup_folder_path' ) ) . 'zip-sql-1.zip';
81
+ $db_dump_filepath = $this->get_core()->get_dump_file( $zip_filepath );
82
+ if ( ! empty( $db_dump_filepath ) && $db_step->maybe_run() ) {
83
+ $db_step->run( $zip_filepath, $db_dump_filepath );
84
+
85
+ if ( $db_step->is_fail() ) {
86
+ return false;
87
+ }
88
+ }
89
+
90
+ $this->complete();
91
+
92
+ return true;
93
+ }
94
+ }
includes/v2/restorer/class-resumer.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Resume class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Restorer;
15
+
16
+ /**
17
+ * Class: Resumer
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Resumer {
22
+ private $core;
23
+
24
+ /**
25
+ *
26
+ */
27
+ public function __construct( $core = null ) {
28
+ $this->core = empty( $core ) ? apply_filters( 'boldgrid_backup_get_core', null ) : $core;
29
+ }
30
+
31
+ /**
32
+ *
33
+ */
34
+ private function add_cron_command() {
35
+ $command = $this->get_cron_command();
36
+
37
+ return $this->core->cron->update_cron( $command );
38
+ }
39
+
40
+ /**
41
+ *
42
+ */
43
+ private function get_cron_command() {
44
+ $command = array(
45
+ '* * * * *',
46
+ $this->core->cron->get_cron_command(),
47
+ '"' . BOLDGRID_BACKUP_PATH . '/boldgrid-backup-cron.php"',
48
+ 'mode=resume_restore',
49
+ 'siteurl=' . get_site_url(),
50
+ 'id=' . $this->core->get_backup_identifier(),
51
+ 'secret=' . $this->core->cron->get_cron_secret(),
52
+ );
53
+
54
+ return implode( ' ', $command );
55
+ }
56
+
57
+ /**
58
+ *
59
+ */
60
+ public function maybe_add_cron() {
61
+ $cron = new \Boldgrid\Backup\Admin\Cron();
62
+ $entry = $cron->get_entry( 'resume_restore' );
63
+
64
+ if ( ! $entry->is_set() ) {
65
+ $this->add_cron_command();
66
+ }
67
+ }
68
+
69
+ /**
70
+ *
71
+ */
72
+ public function remove_cron() {
73
+ $command = $this->get_cron_command();
74
+
75
+ return $this->core->cron->entry_delete( $command );
76
+ }
77
+
78
+ /**
79
+ *
80
+ */
81
+ public function run() {
82
+ error_log( 'RUNNING RESTORE RESUMER...' ); // phpcs:ignore
83
+
84
+ $option = \Boldgrid\Backup\V2\Restorer\Utility::get_option();
85
+ $backup_id = $option->get_key( 'backup_id' );
86
+ $restore_id = $option->get_key( 'restore_id' );
87
+ $restore_in_progress = ! empty( $backup_id ) && ! empty( $restore_id );
88
+
89
+ if ( $restore_in_progress ) {
90
+ $step = \BoldGrid\Backup\V2\Restorer\Factory::run( $backup_id, $restore_id );
91
+ if ( $step->is_unresponsive() ) {
92
+ error_log( 'RESUMING RESTORE!' ); // phpcs:ignore
93
+ $step->log( 'Resuming restoration...' );
94
+
95
+ $restorer = new \Boldgrid_Backup_Restorer( $backup_id, $restore_id );
96
+ $restorer->run();
97
+ } else {
98
+ $step->log( 'Not resuming restoration. Not unresponsive.' );
99
+ error_log( 'NOT RESUMING RESTORE - NOT UNRESONSIVE' ); // phpcs:ignore
100
+ }
101
+ } else {
102
+ $this->remove_cron();
103
+ error_log( 'NOT RESUMING - NO backup_id and restore_id FOUND' ); // phpcs:ignore
104
+ }
105
+ }
106
+ }
includes/v2/restorer/class-utility.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Utility class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Restorer;
15
+
16
+ /**
17
+ * Class: Utility
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Utility {
22
+ /**
23
+ *
24
+ */
25
+ public static function get_option() {
26
+ return new \Boldgrid\Backup\Option\Option( 'boldgrid_backup_restore_data' );
27
+ }
28
+ }
includes/v2/restorer/steps/class-db.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Db class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Restorer\Steps;
15
+
16
+ /**
17
+ * Class: Db
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Db extends \Boldgrid\Backup\V2\Step\Step {
22
+ /**
23
+ * Run the discovery scripts.
24
+ *
25
+ * Used to determine what needs to be backed up.
26
+ *
27
+ * @since SINCEVERSION
28
+ */
29
+ public function run( $zip_filepath, $db_dump_filepath ) {
30
+ $this->add_attempt();
31
+
32
+ $db_restorer = new \Boldgrid\Backup\Restorer\Db( $zip_filepath, $db_dump_filepath );
33
+ $db_restorer->run();
34
+
35
+ $this->complete();
36
+
37
+ return true;
38
+ }
39
+ }
includes/v2/restorer/steps/class-unzip.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Unzip class.
4
+ *
5
+ * @link https://www.boldgrid.com
6
+ * @since SINCEVERSION
7
+ *
8
+ * @package Boldgrid\Backup
9
+ * @subpackage Boldgrid\Backup\Archive
10
+ * @copyright BoldGrid
11
+ * @author BoldGrid <support@boldgrid.com>
12
+ */
13
+
14
+ namespace Boldgrid\Backup\V2\Restorer\Steps;
15
+
16
+ /**
17
+ * Class: Unzip
18
+ *
19
+ * @since SINCEVERSION
20
+ */
21
+ class Unzip extends \Boldgrid\Backup\V2\Step\Step {
22
+ /**
23
+ * Run the discovery scripts.
24
+ *
25
+ * Used to determine what needs to be backed up.
26
+ *
27
+ * @since SINCEVERSION
28
+ */
29
+ public function run() {
30
+ $this->add_attempt();
31
+
32
+ // Unzip the backup.
33
+ $zip_filepath = $this->get_data_type( 'step' )->get_key( 'zip_filepath' );
34
+ $unzip_status = unzip_file( $zip_filepath, ABSPATH );
35
+
36
+ // Log our success.
37
+ $zip_filesize = $this->get_core()->wp_filesystem->size( $zip_filepath );
38
+ $this->log( 'Archive: ' . $zip_filepath . ' / ' . size_format( $zip_filesize ) );
39
+ $this->log( 'Unzip status: ' . print_r( $unzip_status, 1 ) ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r
40
+
41
+ if ( is_wp_error( $unzip_status ) ) {
42
+ $error = false;
43
+
44
+ /**
45
+ * Take action when a restoration fails.
46
+ *
47
+ * Those actions may return a custom error message, such as:
48
+ * "Your restoration failed, but we did XYZ. Please try again".
49
+ *
50
+ * @param WP_Error $unzip_status
51
+ */
52
+ $error = apply_filters( 'boldgrid_backup_restore_fail', $unzip_status );
53
+
54
+ if ( empty( $error ) ) {
55
+ $message = $unzip_status->get_error_message();
56
+ $data = $unzip_status->get_error_data();
57
+ $error = sprintf( '%1$s%2$s', $message, is_string( $data ) && ! empty( $data ) ? ': ' . $data : '' );
58
+ }
59
+
60
+ // return [ 'error' => $error ];
61
+ $this->fail( $error );
62
+ return false;
63
+ }
64
+
65
+ $this->complete();
66
+
67
+ return true;
68
+ }
69
+ }
includes/v2/step/class-json-file.php CHANGED
@@ -36,6 +36,11 @@ class Json_File {
36
  $this->filepath = $filepath;
37
 
38
  $this->core = apply_filters( 'boldgrid_backup_get_core', null );
 
 
 
 
 
39
  }
40
 
41
  /**
36
  $this->filepath = $filepath;
37
 
38
  $this->core = apply_filters( 'boldgrid_backup_get_core', null );
39
+
40
+ // If the info.json file does not exist, create it.
41
+ if ( ! $this->core->wp_filesystem->exists( $this->filepath ) ) {
42
+ $this->core->wp_filesystem->touch( $this->filepath );
43
+ }
44
  }
45
 
46
  /**
includes/v2/step/class-step.php CHANGED
@@ -92,6 +92,8 @@ class Step {
92
  */
93
  protected $info;
94
 
 
 
95
  /**
96
  * The number of seconds until a step is seen as unresonsive.
97
  *
@@ -112,6 +114,10 @@ class Step {
112
  public function __construct( $id, $parent_id, $dir ) {
113
  $this->core = apply_filters( 'boldgrid_backup_get_core', false );
114
 
 
 
 
 
115
  $this->id = $id;
116
  $this->parent_id = $parent_id;
117
  $this->dir = trailingslashit( $dir );
@@ -135,6 +141,8 @@ class Step {
135
  $attempts = $this->get_data_type( 'run' )->get_key( 'attempts', 0 );
136
  $attempts++;
137
 
 
 
138
  $this->get_data_type( 'run' )->set_key( 'attempts', $attempts );
139
  $this->get_data_type( 'run' )->set_key( 'start_time', time() );
140
  $this->get_data_type( 'run' )->set_key( 'memory_peak_start', memory_get_peak_usage() );
@@ -175,6 +183,8 @@ class Step {
175
 
176
  $this->get_data_type( 'run' )->set_key( 'memory_peak_end', $memory_peak_end );
177
  $this->get_data_type( 'run' )->set_key( 'memory_peak_change', $memory_peak_change );
 
 
178
  }
179
 
180
  /**
@@ -186,6 +196,8 @@ class Step {
186
 
187
  $this->info->set_key( 'error', $message );
188
 
 
 
189
  $this->complete();
190
  }
191
 
@@ -348,6 +360,24 @@ class Step {
348
  return ! $this->is_complete() && $time_since_checkin >= $this->unresponsive_time;
349
  }
350
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  /**
352
  * Determine whether or not we should run this step.
353
  *
92
  */
93
  protected $info;
94
 
95
+ protected $logger;
96
+
97
  /**
98
  * The number of seconds until a step is seen as unresonsive.
99
  *
114
  public function __construct( $id, $parent_id, $dir ) {
115
  $this->core = apply_filters( 'boldgrid_backup_get_core', false );
116
 
117
+ if ( ! $this->core->wp_filesystem->exists( $dir ) ) {
118
+ $this->core->wp_filesystem->mkdir( $dir );
119
+ }
120
+
121
  $this->id = $id;
122
  $this->parent_id = $parent_id;
123
  $this->dir = trailingslashit( $dir );
141
  $attempts = $this->get_data_type( 'run' )->get_key( 'attempts', 0 );
142
  $attempts++;
143
 
144
+ $this->log( 'Beginning attempt ' . $attempts . '...' );
145
+
146
  $this->get_data_type( 'run' )->set_key( 'attempts', $attempts );
147
  $this->get_data_type( 'run' )->set_key( 'start_time', time() );
148
  $this->get_data_type( 'run' )->set_key( 'memory_peak_start', memory_get_peak_usage() );
183
 
184
  $this->get_data_type( 'run' )->set_key( 'memory_peak_end', $memory_peak_end );
185
  $this->get_data_type( 'run' )->set_key( 'memory_peak_change', $memory_peak_change );
186
+
187
+ $this->log( 'Attempt completed.' );
188
  }
189
 
190
  /**
196
 
197
  $this->info->set_key( 'error', $message );
198
 
199
+ $this->log( 'Attempt failed: ' . $message );
200
+
201
  $this->complete();
202
  }
203
 
360
  return ! $this->is_complete() && $time_since_checkin >= $this->unresponsive_time;
361
  }
362
 
363
+ /**
364
+ *
365
+ */
366
+ public function log( $message ) {
367
+ if ( is_null( $this->logger ) ) {
368
+ $log_filename = $this->info->get_key( 'log_filename' );
369
+
370
+ if ( empty( $log_filename ) ) {
371
+ return false;
372
+ }
373
+
374
+ $this->logger = new \Boldgrid_Backup_Admin_Log( $this->get_core() );
375
+ $this->logger->init( $log_filename );
376
+ }
377
+
378
+ $this->logger->add( 'pid:' . getmypid() . ' step:' . $this->id . ' ' . $message );
379
+ }
380
+
381
  /**
382
  * Determine whether or not we should run this step.
383
  *
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit330c6d37f1f7d1e9db9dd0b27407636e::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitb1f5af037fce92093b4769cf19c0b864::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit330c6d37f1f7d1e9db9dd0b27407636e
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit330c6d37f1f7d1e9db9dd0b27407636e
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit330c6d37f1f7d1e9db9dd0b27407636e', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit330c6d37f1f7d1e9db9dd0b27407636e', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInit330c6d37f1f7d1e9db9dd0b27407636e::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
@@ -51,19 +51,19 @@ class ComposerAutoloaderInit330c6d37f1f7d1e9db9dd0b27407636e
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
- $includeFiles = Composer\Autoload\ComposerStaticInit330c6d37f1f7d1e9db9dd0b27407636e::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
- composerRequire330c6d37f1f7d1e9db9dd0b27407636e($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
- function composerRequire330c6d37f1f7d1e9db9dd0b27407636e($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitb1f5af037fce92093b4769cf19c0b864
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInitb1f5af037fce92093b4769cf19c0b864', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInitb1f5af037fce92093b4769cf19c0b864', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInitb1f5af037fce92093b4769cf19c0b864::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
+ $includeFiles = Composer\Autoload\ComposerStaticInitb1f5af037fce92093b4769cf19c0b864::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
+ composerRequireb1f5af037fce92093b4769cf19c0b864($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
+ function composerRequireb1f5af037fce92093b4769cf19c0b864($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit330c6d37f1f7d1e9db9dd0b27407636e
8
  {
9
  public static $files = array (
10
  'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
@@ -91,9 +91,9 @@ class ComposerStaticInit330c6d37f1f7d1e9db9dd0b27407636e
91
  public static function getInitializer(ClassLoader $loader)
92
  {
93
  return \Closure::bind(function () use ($loader) {
94
- $loader->prefixLengthsPsr4 = ComposerStaticInit330c6d37f1f7d1e9db9dd0b27407636e::$prefixLengthsPsr4;
95
- $loader->prefixDirsPsr4 = ComposerStaticInit330c6d37f1f7d1e9db9dd0b27407636e::$prefixDirsPsr4;
96
- $loader->classMap = ComposerStaticInit330c6d37f1f7d1e9db9dd0b27407636e::$classMap;
97
 
98
  }, null, ClassLoader::class);
99
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitb1f5af037fce92093b4769cf19c0b864
8
  {
9
  public static $files = array (
10
  'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
91
  public static function getInitializer(ClassLoader $loader)
92
  {
93
  return \Closure::bind(function () use ($loader) {
94
+ $loader->prefixLengthsPsr4 = ComposerStaticInitb1f5af037fce92093b4769cf19c0b864::$prefixLengthsPsr4;
95
+ $loader->prefixDirsPsr4 = ComposerStaticInitb1f5af037fce92093b4769cf19c0b864::$prefixDirsPsr4;
96
+ $loader->classMap = ComposerStaticInitb1f5af037fce92093b4769cf19c0b864::$classMap;
97
 
98
  }, null, ClassLoader::class);
99
  }