Esempio n. 1
0
 public static function getZipMeta($file)
 {
     if (!isset(pb_backupbuddy::$classes['zipbuddy'])) {
         require_once pb_backupbuddy::plugin_path() . '/lib/zipbuddy/zipbuddy.php';
         pb_backupbuddy::$classes['zipbuddy'] = new pluginbuddy_zipbuddy(backupbuddy_core::getBackupDirectory());
     }
     $comment_meta = array();
     if (isset($file)) {
         $comment = pb_backupbuddy::$classes['zipbuddy']->get_comment($file);
         $comment = backupbuddy_core::normalize_comment_data($comment);
         $comment_meta = array();
         foreach ($comment as $comment_line_name => $comment_line_value) {
             // Loop through all meta fields in the comment array to display.
             if (false !== ($response = backupbuddy_core::pretty_meta_info($comment_line_name, $comment_line_value))) {
                 $response[0] = '<span title="' . $comment_line_name . '">' . $response[0] . '</span>';
                 $comment_meta[$comment_line_name] = $response;
             }
         }
     }
     if (count($comment_meta) > 0) {
         return $comment_meta;
     } else {
         return false;
     }
 }
Esempio n. 2
0
				</div>
				<div id="<?php 
                echo 'info_' . $file_hash;
                ?>
" style="display: none; height: 90%;">
					<div class="modal">
						<div class="modal_header">
							<a class="modal_close">&times;</a>
							<h2>Backup Meta Information</h2>
						</div>
						<div class="modal_content">
							<?php 
                $comment_meta = array();
                foreach ($backup_archive['comment'] as $comment_line_name => $comment_line_value) {
                    // Loop through all meta fields in the comment array to display.
                    if (false !== ($response = backupbuddy_core::pretty_meta_info($comment_line_name, $comment_line_value))) {
                        $comment_meta[] = $response;
                    }
                }
                if (count($comment_meta) > 0) {
                    pb_backupbuddy::$ui->list_table($comment_meta, array('columns' => array('Meta Information', 'Value'), 'css' => 'width: 100%; min-width: 200px;'));
                } else {
                    echo '<i>No meta data found in zip comment. Skipping meta information display.</i>';
                }
                ?>
						</div>
					</div>
				</div>
				<?php 
            }
            // end if type not blank.
Esempio n. 3
0
 public function integrity_status()
 {
     $serial = pb_backupbuddy::_GET('serial');
     $serial = str_replace('/\\', '', $serial);
     pb_backupbuddy::load();
     pb_backupbuddy::$ui->ajax_header();
     // Backup overall status.
     /*
     echo 'Backup status: ';
     if ( $integrity['status'] == 'pass' ) { // Pass.
     	echo '<span class="pb_label pb_label-success">Good</span>';
     } else { // Fail.
     	echo '<span class="pb_label pb_label-important">Bad</span>';
     }
     echo '<br>';
     */
     require_once pb_backupbuddy::plugin_path() . '/classes/fileoptions.php';
     $backup_options = new pb_backupbuddy_fileoptions(backupbuddy_core::getLogDirectory() . 'fileoptions/' . $serial . '.txt', $read_only = true);
     if (true !== ($result = $backup_options->is_ok())) {
         pb_backupbuddy::alert(__('Unable to access fileoptions data file.', 'it-l10n-backupbuddy') . ' Error: ' . $result);
         die;
     }
     $integrity = $backup_options->options['integrity'];
     echo '<p><b>' . __('Backup File', 'it-l10n-backupbuddy') . '</b>: ' . $integrity['file'] . '</p>';
     $start_time = 'Unknown';
     $finish_time = 'Unknown';
     if (isset($backup_options->options['start_time'])) {
         $start_time = pb_backupbuddy::$format->date(pb_backupbuddy::$format->localize_time($backup_options->options['start_time'])) . ' <span class="description">(' . pb_backupbuddy::$format->time_ago($backup_options->options['finish_time']) . ' ago)</span>';
         if ($backup_options->options['finish_time'] > 0) {
             $finish_time = pb_backupbuddy::$format->date(pb_backupbuddy::$format->localize_time($backup_options->options['finish_time'])) . ' <span class="description">(' . pb_backupbuddy::$format->time_ago($backup_options->options['finish_time']) . ' ago)</span>';
         } else {
             // unfinished.
             $finish_time = '<i>Unfinished</i>';
         }
     }
     //***** BEGIN TESTS AND RESULTS.
     if (isset($integrity['status_details'])) {
         // $integrity['status_details'] is NOT array (old, pre-3.1.9).
         echo '<h3>Integrity Technical Details</h3>';
         echo '<textarea style="width: 100%; height: 175px;" wrap="off">';
         foreach ($integrity as $item_name => $item_value) {
             $item_value = str_replace('<br />', '<br>', $item_value);
             $item_value = str_replace('<br><br>', '<br>', $item_value);
             $item_value = str_replace('<br>', "\n     ", $item_value);
             echo $item_name . ' => ' . $item_value . "\n";
         }
         echo '</textarea><br><br><b>Note:</b> It is normal to see several "file not found" entries as BackupBuddy checks for expected files in multiple locations, expecting to only find each file once in one of those locations.';
     } else {
         // $integrity['status_details'] is array.
         echo '<br>';
         if (isset($integrity['status_details'])) {
             // PRE-v4.0 Tests.
             function pb_pretty_results($value)
             {
                 if ($value === true) {
                     return '<span class="pb_label pb_label-success">Pass</span>';
                 } else {
                     return '<span class="pb_label pb_label-important">Fail</span>';
                 }
             }
             // The tests & their status..
             $tests = array();
             $tests[] = array('BackupBackup data file exists', pb_pretty_results($integrity['status_details']['found_dat']));
             $tests[] = array('Database SQL file exists', pb_pretty_results($integrity['status_details']['found_sql']));
             if ($integrity['detected_type'] == 'full') {
                 // Full backup.
                 $tests[] = array('WordPress wp-config.php exists (full/files backups only)', pb_pretty_results($integrity['status_details']['found_wpconfig']));
             } elseif ($integrity['detected_type'] == 'files') {
                 // Files only backup.
                 $tests[] = array('WordPress wp-config.php exists (full/files backups only)', pb_pretty_results($integrity['status_details']['found_wpconfig']));
             } else {
                 // DB only.
                 $tests[] = array('WordPress wp-config.php exists (full/files backups only)', '<span class="pb_label pb_label-success">N/A</span>');
             }
         } else {
             // 4.0+ Tests.
             $tests = array();
             foreach ((array) $integrity['tests'] as $test) {
                 if (true === $test['pass']) {
                     $status_text = '<span class="pb_label pb_label-success">Pass</span>';
                 } else {
                     $status_text = '<span class="pb_label pb_label-important">Fail</span>';
                 }
                 $tests[] = array($test['test'], $status_text);
             }
         }
         $columns = array(__('Integrity Test', 'it-l10n-backupbuddy'), __('Status', 'it-l10n-backupbuddy'));
         pb_backupbuddy::$ui->list_table($tests, array('columns' => $columns, 'css' => 'width: 100%; min-width: 200px;'));
     }
     // end $integrity['status_details'] is an array.
     //***** END TESTS AND RESULTS.
     echo '<br><br>';
     //***** BEGIN STEPS.
     $steps = array();
     $steps[] = array('Start Time', $start_time, '');
     if (isset($backup_options->options['steps'])) {
         foreach ($backup_options->options['steps'] as $step) {
             if (isset($step['finish_time']) && $step['finish_time'] != 0) {
                 // Step name.
                 if ($step['function'] == 'backup_create_database_dump') {
                     if (count($step['args'][0]) == 1) {
                         $step_name = 'Database dump (breakout: ' . $step['args'][0][0] . ')';
                     } else {
                         $step_name = 'Database dump';
                     }
                 } elseif ($step['function'] == 'backup_zip_files') {
                     if (isset($backup_options->options['steps']['backup_zip_files'])) {
                         $zip_time = $backup_options->options['steps']['backup_zip_files'];
                     } else {
                         $zip_time = 0;
                     }
                     // Calculate write speed in MB/sec for this backup.
                     if ($zip_time == '0') {
                         // Took approx 0 seconds to backup so report this speed.
                         $write_speed = '> ' . pb_backupbuddy::$format->file_size($backup_options->options['integrity']['size']);
                     } else {
                         if ($zip_time == 0) {
                             $write_speed = '';
                         } else {
                             $write_speed = pb_backupbuddy::$format->file_size($backup_options->options['integrity']['size'] / $zip_time) . '/sec';
                         }
                     }
                     $step_name = 'Zip archive creation (Write speed: ' . $write_speed . ')';
                 } elseif ($step['function'] == 'post_backup') {
                     $step_name = 'Post-backup cleanup';
                 } elseif ($step['function'] == 'integrity_check') {
                     $step_name = 'Integrity Check';
                 } else {
                     $step_name = $step['function'];
                 }
                 // Step time taken.
                 $step_time = (string) ($step['finish_time'] - $step['start_time']) . ' seconds';
                 // Compile details for this step into array.
                 $steps[] = array($step_name, $step_time, $step['attempts']);
             }
         }
         // End foreach.
     } else {
         // End if serial in array is set.
         $step_times[] = 'unknown';
     }
     // End if serial in array is NOT set.
     // Total overall time from initiation to end.
     if (isset($backup_options->options['finish_time']) && isset($backup_options->options['start_time']) && $backup_options->options['finish_time'] != 0 && $backup_options->options['start_time'] != 0) {
         $total_time = $backup_options->options['finish_time'] - $backup_options->options['start_time'] . ' seconds';
     } else {
         $total_time = '<i>Unknown</i>';
     }
     $steps[] = array('Finish Time', $finish_time, '');
     $steps[] = array('<b>Total Overall Time</b>', $total_time, '');
     $columns = array(__('Backup', 'it-l10n-backupbuddy'), __('Time', 'it-l10n-backupbuddy'), __('Attempts', 'it-l10n-backupbuddy'));
     if (count($steps) == 0) {
         _e('No step statistics were found for this backup.', 'it-l10n-backupbuddy');
     } else {
         pb_backupbuddy::$ui->list_table($steps, array('columns' => $columns, 'css' => 'width: 100%; min-width: 200px;'));
     }
     echo '<br><br>';
     //***** END STEPS.
     //***** BEGIN COMMENT META.
     if (!isset(pb_backupbuddy::$classes['zipbuddy'])) {
         require_once pb_backupbuddy::plugin_path() . '/lib/zipbuddy/zipbuddy.php';
         pb_backupbuddy::$classes['zipbuddy'] = new pluginbuddy_zipbuddy(backupbuddy_core::getBackupDirectory());
     }
     $comment_meta = array();
     if (isset($backup_options->options['archive_file'])) {
         $comment = pb_backupbuddy::$classes['zipbuddy']->get_comment($backup_options->options['archive_file']);
         $comment = backupbuddy_core::normalize_comment_data($comment);
         $comment_meta = array();
         foreach ($comment as $comment_line_name => $comment_line_value) {
             // Loop through all meta fields in the comment array to display.
             if (false !== ($response = backupbuddy_core::pretty_meta_info($comment_line_name, $comment_line_value))) {
                 $comment_meta[] = $response;
             }
         }
     }
     if (count($comment_meta) > 0) {
         pb_backupbuddy::$ui->list_table($comment_meta, array('columns' => array('Meta Information', 'Value'), 'css' => 'width: 100%; min-width: 200px;'));
     } else {
         echo '<i>No meta data found in zip comment. Skipping meta information display.</i>';
     }
     //***** END COMMENT META.
     if (isset($backup_options->options['trigger'])) {
         $trigger = $backup_options->options['trigger'];
     } else {
         $trigger = 'Unknown trigger';
     }
     $scanned = pb_backupbuddy::$format->date($integrity['scan_time']);
     echo '<br><br>';
     echo ucfirst($trigger) . " backup {$integrity['file']} last scanned {$scanned}.";
     echo '<br><br><br>';
     echo '<a class="button secondary-button" onclick="jQuery(\'#pb_backupbuddy_advanced_debug\').slideToggle();">Display Advanced Debugging</a>';
     echo '<div id="pb_backupbuddy_advanced_debug" style="display: none;">';
     echo '<textarea style="width: 100%; height: 400px;" wrap="on">';
     echo print_r($backup_options->options, true);
     echo '</textarea><br><br>';
     echo '</div><br><br>';
     pb_backupbuddy::$ui->ajax_footer();
     die;
 }