本文整理汇总了PHP中BackWPup_Job::user_abort方法的典型用法代码示例。如果您正苦于以下问题:PHP BackWPup_Job::user_abort方法的具体用法?PHP BackWPup_Job::user_abort怎么用?PHP BackWPup_Job::user_abort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BackWPup_Job
的用法示例。
在下文中一共展示了BackWPup_Job::user_abort方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: abort
/**
* Abort a working BackWPup Job
*
* @synopsis abort
*/
public function abort($args, $assoc_args)
{
if (file_exists(BackWPup::get_plugin_data('running_file'))) {
WP_CLI::error(__('Nothing to abort!', 'backwpup'));
}
//abort
BackWPup_Job::user_abort();
WP_CLI::success(__('Job will be terminated.', 'backwpup'));
}
示例2: load
//.........这里部分代码省略.........
check_admin_referer('backwpup_job_run-runnowlink');
//check temp folder
$temp_folder_message = BackWPup_File::check_folder(BackWPup::get_plugin_data('TEMP'), TRUE);
BackWPup_Admin::message($temp_folder_message, TRUE);
//check log folder
$log_folder = get_site_option('backwpup_cfg_logfolder');
$log_folder = BackWPup_File::get_absolute_path($log_folder);
$log_folder_message = BackWPup_File::check_folder($log_folder);
BackWPup_Admin::message($log_folder_message, TRUE);
//check backup destinations
$job_types = BackWPup::get_job_types();
$job_conf_types = BackWPup_Option::get($_GET['jobid'], 'type');
$creates_file = FALSE;
foreach ($job_types as $id => $job_type_class) {
if (in_array($id, $job_conf_types) && $job_type_class->creates_file()) {
$creates_file = TRUE;
break;
}
}
if ($creates_file) {
$job_conf_dests = BackWPup_Option::get($_GET['jobid'], 'destinations');
$destinations = 0;
/* @var BackWPup_Destinations $dest_class */
foreach (BackWPup::get_registered_destinations() as $id => $dest) {
if (!in_array($id, $job_conf_dests) || empty($dest['class'])) {
continue;
}
$dest_class = BackWPup::get_destination($id);
$job_settings = BackWPup_Option::get_job($_GET['jobid']);
if (!$dest_class->can_run($job_settings)) {
BackWPup_Admin::message(sprintf(__('The job "%s" destination "%s" is not configured properly', 'backwpup'), esc_attr(BackWPup_Option::get($_GET['jobid'], 'name')), $id), TRUE);
}
$destinations++;
}
if ($destinations < 1) {
BackWPup_Admin::message(sprintf(__('The job "%s" needs properly configured destinations to run!', 'backwpup'), esc_attr(BackWPup_Option::get($_GET['jobid'], 'name'))), TRUE);
}
}
//check server callback
$raw_response = BackWPup_Job::get_jobrun_url('test');
$test_result = '';
if (is_wp_error($raw_response)) {
$test_result .= sprintf(__('The HTTP response test get an error "%s"', 'backwpup'), $raw_response->get_error_message());
}
$response_code = wp_remote_retrieve_response_code($raw_response);
if ($response_code < 200 && $response_code > 204) {
$test_result .= sprintf(__('The HTTP response test get a false http status (%s)', 'backwpup'), wp_remote_retrieve_response_code($raw_response));
} else {
$response_body = wp_remote_retrieve_body($raw_response);
if (FALSE === strstr($response_body, 'BackWPup Test')) {
$test_result .= sprintf(__('Not expected HTTP response body: %s', 'backwpup'), esc_attr(strip_tags($response_body)));
}
}
if (!empty($test_result)) {
BackWPup_Admin::message($test_result, TRUE);
}
//only start job if messages empty
$log_messages = BackWPup_Admin::get_messages();
if (empty($log_messages)) {
$old_log_file = BackWPup_Option::get($_GET['jobid'], 'logfile');
BackWPup_Job::get_jobrun_url('runnow', $_GET['jobid']);
usleep(250000);
//wait a quarter second
$new_log_file = BackWPup_Option::get($_GET['jobid'], 'logfile', NULL, FALSE);
//sleep as long as job not started
$i = 0;
while ($old_log_file == $new_log_file) {
usleep(250000);
//wait a quarter second for next try
$new_log_file = BackWPup_Option::get($_GET['jobid'], 'logfile', NULL, FALSE);
//wait maximal 10 sec.
if ($i >= 40) {
BackWPup_Admin::message(sprintf(__('Job “%s” has started, but not responded for 10 seconds.', 'backwpup'), esc_attr(BackWPup_Option::get($_GET['jobid'], 'name'))), TRUE);
break 2;
}
$i++;
}
BackWPup_Admin::message(sprintf(__('Job "%s" started.', 'backwpup'), esc_attr(BackWPup_Option::get($_GET['jobid'], 'name'))));
}
}
break;
case 'abort':
//Abort Job
if (!current_user_can('backwpup_jobs_start')) {
break;
}
check_admin_referer('abort-job');
if (!file_exists(BackWPup::get_plugin_data('running_file'))) {
break;
}
//abort
BackWPup_Job::user_abort();
BackWPup_Admin::message(__('Job will be terminated.', 'backwpup'));
break;
default:
do_action('backwpup_page_jobs_load', self::$listtable->current_action());
break;
}
self::$listtable->prepare_items();
}
示例3: load
//.........这里部分代码省略.........
if ($key === "activetype") {
$option = '';
}
if ($key === "archivename") {
$option = str_replace($old_job_id, $newjobid, $option);
}
if ($key === "logfile" || $key === "lastbackupdownloadurl" || $key === "lastruntime" || $key === "lastrun") {
continue;
}
BackWPup_Option::update($newjobid, $key, $option);
}
break;
case 'runnow':
$jobid = absint($_GET['jobid']);
if ($jobid) {
if (!current_user_can('backwpup_jobs_start')) {
wp_die(__('Sorry, you don\'t have permissions to do that.', 'backwpup'));
}
check_admin_referer('backwpup_job_run-runnowlink');
//check temp folder
$temp_folder_message = BackWPup_File::check_folder(BackWPup::get_plugin_data('TEMP'), TRUE);
BackWPup_Admin::message($temp_folder_message, TRUE);
//check log folder
$log_folder = get_site_option('backwpup_cfg_logfolder');
$log_folder = BackWPup_File::get_absolute_path($log_folder);
$log_folder_message = BackWPup_File::check_folder($log_folder);
BackWPup_Admin::message($log_folder_message, TRUE);
//check backup destinations
$job_types = BackWPup::get_job_types();
$job_conf_types = BackWPup_Option::get($jobid, 'type');
$creates_file = FALSE;
foreach ($job_types as $id => $job_type_class) {
if (in_array($id, $job_conf_types, true) && $job_type_class->creates_file()) {
$creates_file = TRUE;
break;
}
}
if ($creates_file) {
$job_conf_dests = BackWPup_Option::get($jobid, 'destinations');
$destinations = 0;
/* @var BackWPup_Destinations $dest_class */
foreach (BackWPup::get_registered_destinations() as $id => $dest) {
if (!in_array($id, $job_conf_dests, true) || empty($dest['class'])) {
continue;
}
$dest_class = BackWPup::get_destination($id);
$job_settings = BackWPup_Option::get_job($jobid);
if (!$dest_class->can_run($job_settings)) {
BackWPup_Admin::message(sprintf(__('The job "%s" destination "%s" is not configured properly', 'backwpup'), esc_attr(BackWPup_Option::get($jobid, 'name')), $id), TRUE);
}
$destinations++;
}
if ($destinations < 1) {
BackWPup_Admin::message(sprintf(__('The job "%s" needs properly configured destinations to run!', 'backwpup'), esc_attr(BackWPup_Option::get($jobid, 'name'))), TRUE);
}
}
//only start job if messages empty
$log_messages = BackWPup_Admin::get_messages();
if (empty($log_messages)) {
$old_log_file = BackWPup_Option::get($jobid, 'logfile');
BackWPup_Job::get_jobrun_url('runnow', $jobid);
usleep(250000);
//wait a quarter second
$new_log_file = BackWPup_Option::get($jobid, 'logfile', null, false);
//sleep as long as job not started
$i = 0;
while ($old_log_file === $new_log_file) {
usleep(250000);
//wait a quarter second for next try
$new_log_file = BackWPup_Option::get($jobid, 'logfile', null, false);
//wait maximal 10 sec.
if ($i >= 40) {
BackWPup_Admin::message(sprintf(__('Job "%s" has started, but not responded for 10 seconds. Please check <a href="%s">information</a>.', 'backwpup'), esc_attr(BackWPup_Option::get($jobid, 'name')), network_admin_url('admin.php') . '?page=backwpupsettings#backwpup-tab-information'), true);
break 2;
}
$i++;
}
BackWPup_Admin::message(sprintf(__('Job "%s" started.', 'backwpup'), esc_attr(BackWPup_Option::get($jobid, 'name'))));
}
}
break;
case 'abort':
//Abort Job
if (!current_user_can('backwpup_jobs_start')) {
break;
}
check_admin_referer('abort-job');
if (!file_exists(BackWPup::get_plugin_data('running_file'))) {
break;
}
//abort
BackWPup_Job::user_abort();
BackWPup_Admin::message(__('Job will be terminated.', 'backwpup'));
break;
default:
do_action('backwpup_page_jobs_load', self::$listtable->current_action());
break;
}
self::$listtable->prepare_items();
}
示例4: load
//.........这里部分代码省略.........
continue;
}
BackWPup_Option::update($newjobid, $key, $option);
}
break;
case 'start_cli':
//Get cmd start file
if (!current_user_can('backwpup_jobs_start')) {
break;
}
check_admin_referer('start_cli');
if (empty($_GET['jobid'])) {
break;
}
if (FALSE === strpos(PHP_OS, "WIN")) {
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=BackWPup_cmd_start_job_" . $_GET['jobid'] . ".sh;");
if (defined('PHP_BINDIR')) {
echo "#!/bin/sh" . PHP_EOL;
}
echo "@\$1php -c \"" . php_ini_loaded_file() . "\" -r \"\$_SERVER[ 'SERVER_ADDR' ] = '" . $_SERVER['SERVER_ADDR'] . "'; \$_SERVER[ 'REMOTE_ADDR' ] = '" . $_SERVER['REMOTE_ADDR'] . "'; \$_SERVER[ 'HTTP_HOST' ] = '" . $_SERVER['HTTP_HOST'] . "'; \$_SERVER[ 'HTTP_USER_AGENT' ] = '" . BackWPup::get_plugin_data('name') . "'; define( 'DOING_CRON', TRUE ); require '" . ABSPATH . "wp-load.php'; if( class_exists( 'BackWPup_Job' ) ) BackWPup_Job::start_cli( " . $_GET['jobid'] . " );\"";
die;
} else {
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=BackWPup_cmd_start_job_" . $_GET['jobid'] . ".cmd;");
echo "@%1php.exe -c \"" . php_ini_loaded_file() . "\" -r \"\$_SERVER[ 'SERVER_ADDR' ] = '" . $_SERVER['SERVER_ADDR'] . "'; \$_SERVER[ 'REMOTE_ADDR' ] = '" . $_SERVER['REMOTE_ADDR'] . "'; \$_SERVER[ 'HTTP_HOST' ] = '" . $_SERVER['HTTP_HOST'] . "'; \$_SERVER[ 'HTTP_USER_AGENT' ] = '" . BackWPup::get_plugin_data('name') . "'; define( 'DOING_CRON', TRUE ); require '" . ABSPATH . "wp-load.php'; if( class_exists( 'BackWPup_Job' ) ) BackWPup_Job::start_cli( " . $_GET['jobid'] . " );\"";
die;
}
break;
case 'runnow':
if (!empty($_GET['jobid'])) {
if (!current_user_can('backwpup_jobs_start')) {
wp_die(__('Sorry, you don\'t have permissions to do that.', 'backwpup'));
}
check_admin_referer('backwpup_job_run-runnowlink');
//check temp folder
BackWPup_Job::check_folder(BackWPup::get_plugin_data('TEMP'), TRUE);
//check log folder
BackWPup_Job::check_folder(get_site_option('backwpup_cfg_logfolder'));
//check server callback
$raw_response = BackWPup_Job::get_jobrun_url('test');
$test_result = '';
if (is_wp_error($raw_response)) {
$test_result .= sprintf(__('The HTTP response test get an error "%s"', 'backwpup'), $raw_response->get_error_message());
} elseif (200 != wp_remote_retrieve_response_code($raw_response) && 204 != wp_remote_retrieve_response_code($raw_response)) {
$test_result .= sprintf(__('The HTTP response test get a false http status (%s)', 'backwpup'), wp_remote_retrieve_response_code($raw_response));
}
if (!empty($test_result)) {
BackWPup_Admin::message($test_result, TRUE);
}
//only start job if messages empty
$log_messages = BackWPup_Admin::get_messages();
if (empty($log_messages)) {
$old_log_file = BackWPup_Option::get($_GET['jobid'], 'logfile');
BackWPup_Job::get_jobrun_url('runnow', $_GET['jobid']);
usleep(250000);
//wait a quarter second
$new_log_file = BackWPup_Option::get($_GET['jobid'], 'logfile', NULL, FALSE);
//sleep as long as job not started
$i = 0;
while ($old_log_file == $new_log_file) {
usleep(250000);
//wait a quarter second for next try
$new_log_file = BackWPup_Option::get($_GET['jobid'], 'logfile', NULL, FALSE);
//wait maximal 10 sec.
if ($i >= 40) {
BackWPup_Admin::message(sprintf(__('Job start for "%s" not answered after 10 seconds.', 'backwpup'), esc_attr(BackWPup_Option::get($_GET['jobid'], 'name'))), TRUE);
break 2;
}
$i++;
}
BackWPup_Admin::message(sprintf(__('Job "%s" started.', 'backwpup'), esc_attr(BackWPup_Option::get($_GET['jobid'], 'name'))));
}
}
break;
case 'abort':
//Abort Job
if (!current_user_can('backwpup_jobs_start')) {
break;
}
check_admin_referer('abort-job');
if (!file_exists(BackWPup::get_plugin_data('running_file'))) {
break;
}
//abort
BackWPup_Job::user_abort();
BackWPup_Admin::message(__('Job will be terminated.', 'backwpup'));
break;
default:
do_action('backwpup_page_jobs_load', self::$listtable->current_action());
break;
}
self::$listtable->prepare_items();
}