function end_backup($err = null, $success = null) { global $WPBackitup, $wp_backup, $logger, $backup_job; $logger->log_info(__METHOD__, "Begin"); $logger->log('Zip up all the logs.'); //Zip up all the logs in the log folder $logs_path = WPBACKITUP__PLUGIN_PATH . 'logs'; $zip_file_path = $wp_backup->backup_project_path . 'logs_' . $backup_job->backup_id . '.zip'; //copy/replace WP debug file $wpdebug_file_path = WPBACKITUP__CONTENT_PATH . '/debug.log'; $logger->log_info(__METHOD__, "Copy WP Debug: " . $wpdebug_file_path); if (file_exists($wpdebug_file_path)) { copy($wpdebug_file_path, $logs_path . '/wpdebug.log'); } $zip = new WPBackItUp_Zip($logger, $zip_file_path); $zip->zip_files_in_folder($logs_path, $backup_job->backup_id, '*.log'); $zip->close(); WPBackItUp_Backup::end(); //Release the lock $current_datetime = current_time('timestamp'); $WPBackitup->set_backup_lastrun_date($current_datetime); $util = new WPBackItUp_Utility($logger); $seconds = $util->timestamp_diff_seconds($backup_job->get_job_start_time(), $backup_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("Backup completed: SUCCESS"); } if (false === $success) { $logger->log("Backup completed: ERROR"); } $logger->log("*** END BACKUP ***"); //Send Notification email $logger->log('Send Email notification'); $logs_attachment = array($zip_file_path); send_backup_notification_email($err, $success, $logs_attachment); $logFileName = $logger->logFileName; $logFilePath = $logger->logFilePath; $logger->close_file(); //COPY the log if it exists $newlogFilePath = $wp_backup->backup_project_path . $logFileName; if (null != $success && file_exists($logFilePath)) { copy($logFilePath, $newlogFilePath); } echo 'Backup has completed'; exit(0); }
public function zip_logs() { $this->logger->log_info(__METHOD__, 'Begin'); //Zip up all the logs in the log folder $logs_path = WPBACKITUP__PLUGIN_PATH . 'logs'; $zip_file_path = $logs_path . '/Restore_Logs_' . $this->backup_id . '.zip'; //copy/replace WP debug file $wpdebug_file_path = WPBACKITUP__CONTENT_PATH . '/debug.log'; $this->logger->log_info(__METHOD__, "Copy WP Debug: " . $wpdebug_file_path); if (file_exists($wpdebug_file_path)) { copy($wpdebug_file_path, $logs_path . '/wpdebug.log'); } $zip = new WPBackItUp_Zip($this->logger, $zip_file_path); $zip->zip_files_in_folder($logs_path, $this->backup_id, '*.log'); $zip->close(); $this->logger->log_info(__METHOD__, 'End'); return $zip_file_path; }
/** * Send support request Schedule * */ public function _admin_send_support_request() { // Verify submission for processing using wp_nonce $url = str_replace('&s=1', '', $_REQUEST['_wp_http_referer']); $logger = new WPBackItUp_Logger(true, null, 'debug_support'); $logger->log_sysinfo(); $logger->log_info(__METHOD__, 'Send Support Request'); $error = false; if (wp_verify_nonce($_REQUEST['_wpnonce'], "{$this->namespace}-support-form")) { $logger->log_info(__METHOD__, "Send support request"); $logger->log_info(__METHOD__, $_POST); //save the email in place of transient $this->set_support_email($_POST['support_email']); // save the transients in case of error foreach ($_POST as $key => $val) { set_transient($key, __($val, $this->namespace), 60); } //validate form fields if (empty($_POST['support_email']) || !is_email($_POST['support_email'])) { $error = true; set_transient('error-support-email', __('Please enter a valid email', $this->namespace), 60); } if (empty($_POST['support_ticket_id'])) { $error = true; set_transient('error-support-ticket', __('Please enter your support ticket id', $this->namespace), 60); } else { if (!is_numeric($_POST['support_ticket_id'])) { $error = true; set_transient('error-support-ticket', __('Please only enter numbers in this field', $this->namespace), 60); } } // if(empty($_POST['support_subject'])) // { // $error=true; // set_transient('error-support-subject', __('Please enter a short description of your problem', $this->namespace), 60); // } // if(empty($_POST['support_body'])) // { // $error=true; // set_transient('error-support-body', __('Please enter your problem description', $this->namespace), 60); // } $include_logs = true; //always send logs // if(!empty($_POST['support_include_logs'])) // { // $include_logs=true; // } //Send if no errors if (!$error) { if (!class_exists('WPBackItUp_Zip')) { include_once 'class-zip.php'; } if (!class_exists('WPBackItUp_Utility')) { include_once 'class-utility.php'; } $support_request_id = time(); $logs_attachment = array(); //default to no logs if ($include_logs) { $logs_path = WPBACKITUP__PLUGIN_PATH . 'logs'; //copy/replace WP debug file $wpdebug_file_path = WPBACKITUP__CONTENT_PATH . '/debug.log'; $logger->log_info(__METHOD__, "Copy WP Debug: " . $wpdebug_file_path); if (file_exists($wpdebug_file_path)) { copy($wpdebug_file_path, $logs_path . '/wpdebug.log'); } $zip_file_path = $logs_path . '/logs_' . $support_request_id . '.zip'; $zip = new WPBackItUp_Zip($logger, $zip_file_path); $zip->zip_files_in_folder($logs_path, $support_request_id, '*.log'); $zip->close(); $logs_attachment = array($zip_file_path); } //Get registration name $utility = new WPBackItUp_Utility($logger); $support_to_address = WPBACKITUP__SUPPORT_EMAIL; //If we force registration then this will always be here. $from_name = $this->license_customer_name(); $support_from_email = $_POST['support_email']; $support_subject = '[#' . trim($_POST['support_ticket_id']) . ']'; $site_info = 'WordPress Site: <a href="' . home_url() . '" target="_blank">' . home_url() . '</a><br/>'; $site_info .= "WordPress Version: " . get_bloginfo('version') . ' <br />'; $site_info .= "WP BackItUp License Type: " . $this->license_type_description() . ' <br />'; $site_info .= "WP BackItUp Version: " . $this->version . ' <br />'; $support_body = $site_info . '<br/><br/><b>Customer Comments:</b><br/><br/>' . $_POST['support_body']; $utility->send_email_v2($support_to_address, $support_subject, $support_body, $logs_attachment, $from_name, $support_from_email, $support_from_email); // get rid of the transients foreach ($_POST as $key => $val) { delete_transient($key); } wp_safe_redirect($url . '&s=1'); exit; } } wp_safe_redirect($url); exit; }