function send_backup_notification_email($err, $success, $logs = array()) { global $WPBackitup, $wp_backup, $logger, $status_array, $backup_job; $logger->log_info(__METHOD__, "Begin"); $start_timestamp = $backup_job->get_job_start_time(); $end_timestamp = $backup_job->get_job_end_time(); $utility = new WPBackItUp_Utility($logger); $seconds = $utility->timestamp_diff_seconds($start_timestamp, $end_timestamp); $processing_minutes = round($seconds / 60); $processing_seconds = $seconds % 60; $status_description = array('preparing' => 'Preparing for backup...Done', 'backupdb' => 'Backing up database...Done', 'infofile' => 'Creating backup information file...Done', 'backup_themes' => 'Backing up themes...Done', 'backup_plugins' => 'Backing up plugins...Done', 'backup_uploads' => 'Backing up uploads...Done', 'backup_other' => 'Backing up miscellaneous files...Done', 'finalize_backup' => 'Finalizing backup...Done', 'validate_backup' => 'Validating backup...Done', 'cleanup' => 'Cleaning up...Done'); if ($success) { //Don't send logs on success unless debug is on. if (WPBACKITUP__DEBUG !== true) { $logs = array(); } $subject = get_bloginfo() . ' - Backup completed successfully.'; $message = '<b>Your backup completed successfully.</b><br/><br/>'; } else { $subject = get_bloginfo() . ' - Backup did not complete successfully.'; $message = '<b>Your backup did not complete successfully.</b><br/><br/>'; } $local_start_datetime = get_date_from_gmt(date('Y-m-d H:i:s', $start_timestamp)); $local_end_datetime = get_date_from_gmt(date('Y-m-d H:i:s', $end_timestamp)); $message .= 'WordPress Site: <a href="' . home_url() . '" target="_blank">' . home_url() . '</a><br/>'; $message .= 'Backup date: ' . $local_start_datetime . '<br/>'; $message .= 'Number of backups completed with WP BackItUp: ' . $WPBackitup->backup_count() . '<br/>'; $message .= 'Completion Code: ' . $backup_job->backup_id . '-' . $processing_minutes . '-' . $processing_seconds . '<br/>'; $message .= 'WP BackItUp Version: ' . WPBACKITUP__VERSION . '<br/>'; $message .= '<br/>'; //Add the completed steps on success if ($success) { $message .= '<b>Steps Completed</b><br/>'; //Add the completed statuses foreach ($status_array as $status_key => $status_value) { if ($status_value == 2) { foreach ($status_description as $msg_key => $msg_value) { if ($status_key == $msg_key) { $message .= $msg_value . '<br/>'; break; } } } } } else { //Error occurred $message .= '<br/>'; $message .= 'Errors:<br/>' . get_error_message($err); } $term = 'success'; if (!$success) { $term = 'error'; } $message .= '<br/><br/>Checkout ' . $WPBackitup->get_anchor_with_utm('www.wpbackitup.com', '', 'notification+email', $term) . ' for info about WP BackItUp and our other products.<br/>'; $notification_email = $WPBackitup->get_option('notification_email'); if ($notification_email) { $utility->send_email($notification_email, $subject, $message, $logs); } $logger->log_info(__FUNCTION__, "End"); }
function end_job($err = null, $success = null) { global $WPBackitup, $logger, $cleanup_job; $logger->log_info(__METHOD__, "Begin"); WPBackItUp_Backup::end(); //Release the lock $current_datetime = current_time('timestamp'); $WPBackitup->set_cleanup_lastrun_date($current_datetime); $util = new WPBackItUp_Utility($logger); $seconds = $util->timestamp_diff_seconds($cleanup_job->get_job_start_time(), $cleanup_job->get_job_end_time()); $processing_minutes = round($seconds / 60); $processing_seconds = $seconds % 60; $logger->log('Script Processing Time:' . $processing_minutes . ' Minutes ' . $processing_seconds . ' Seconds'); if (true === $success) { $logger->log("Cleanup completed: SUCCESS"); } if (false === $success) { $logger->log("Cleanup completed: ERROR"); } $logger->log("*** END JOB ***"); $logger->close_file(); echo 'cleanup has completed'; exit(0); }