本文整理汇总了PHP中BackWPup_Option::get_job方法的典型用法代码示例。如果您正苦于以下问题:PHP BackWPup_Option::get_job方法的具体用法?PHP BackWPup_Option::get_job怎么用?PHP BackWPup_Option::get_job使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BackWPup_Option
的用法示例。
在下文中一共展示了BackWPup_Option::get_job方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: create
/**
*
* This starts or restarts the job working
*
* @param string $start_type Start types are 'runnow', 'runnowalt', 'cronrun', 'runext', 'runcli'
* @param array|int $job_id The id of job of a job to start
*/
private function create($start_type, $job_id = 0)
{
global $wpdb;
/* @var wpdb $wpdb */
//check startype
if (!in_array($start_type, array('runnow', 'runnowalt', 'cronrun', 'runext', 'runcli'), true)) {
return;
}
if ($job_id) {
$this->job = BackWPup_Option::get_job($job_id);
} else {
return;
}
$this->start_time = current_time('timestamp');
$this->lastmsg = __('Starting job', 'backwpup');
//set Logfile
$log_folder = get_site_option('backwpup_cfg_logfolder');
$log_folder = BackWPup_File::get_absolute_path($log_folder);
$this->logfile = $log_folder . 'backwpup_log_' . BackWPup::get_plugin_data('hash') . '_' . date('Y-m-d_H-i-s', current_time('timestamp')) . '.html';
//write settings to job
BackWPup_Option::update($this->job['jobid'], 'lastrun', $this->start_time);
BackWPup_Option::update($this->job['jobid'], 'logfile', $this->logfile);
//Set current logfile
BackWPup_Option::update($this->job['jobid'], 'lastbackupdownloadurl', '');
//Set needed job values
$this->timestamp_last_update = microtime(true);
$this->exclude_from_backup = explode(',', trim($this->job['fileexclude']));
$this->exclude_from_backup = array_unique($this->exclude_from_backup);
//setup job steps
$this->steps_data['CREATE']['CALLBACK'] = '';
$this->steps_data['CREATE']['NAME'] = __('Job Start', 'backwpup');
$this->steps_data['CREATE']['STEP_TRY'] = 0;
//ADD Job types file
/* @var $job_type_class BackWPup_JobTypes */
$job_need_dest = false;
if ($job_types = BackWPup::get_job_types()) {
foreach ($job_types as $id => $job_type_class) {
if (in_array($id, $this->job['type'], true) && $job_type_class->creates_file()) {
$this->steps_todo[] = 'JOB_' . $id;
$this->steps_data['JOB_' . $id]['NAME'] = $job_type_class->info['description'];
$this->steps_data['JOB_' . $id]['STEP_TRY'] = 0;
$this->steps_data['JOB_' . $id]['SAVE_STEP_TRY'] = 0;
$job_need_dest = true;
}
}
}
//add destinations and create archive if a job where files to backup
if ($job_need_dest) {
//Create manifest file
$this->steps_todo[] = 'CREATE_MANIFEST';
$this->steps_data['CREATE_MANIFEST']['NAME'] = __('Creates manifest file', 'backwpup');
$this->steps_data['CREATE_MANIFEST']['STEP_TRY'] = 0;
$this->steps_data['CREATE_MANIFEST']['SAVE_STEP_TRY'] = 0;
//Add archive creation and backup filename on backup type archive
if ($this->job['backuptype'] == 'archive') {
//get Backup folder if destination folder set
if (in_array('FOLDER', $this->job['destinations'], true)) {
$this->backup_folder = $this->job['backupdir'];
//check backup folder
if (!empty($this->backup_folder)) {
$this->backup_folder = BackWPup_File::get_absolute_path($this->backup_folder);
$this->job['backupdir'] = $this->backup_folder;
}
}
//set temp folder to backup folder if not set because we need one
if (!$this->backup_folder || $this->backup_folder == '/') {
$this->backup_folder = BackWPup::get_plugin_data('TEMP');
}
//Create backup archive full file name
$this->backup_file = $this->generate_filename($this->job['archivename'], $this->job['archiveformat']);
//add archive create
$this->steps_todo[] = 'CREATE_ARCHIVE';
$this->steps_data['CREATE_ARCHIVE']['NAME'] = __('Creates archive', 'backwpup');
$this->steps_data['CREATE_ARCHIVE']['STEP_TRY'] = 0;
$this->steps_data['CREATE_ARCHIVE']['SAVE_STEP_TRY'] = 0;
}
//ADD Destinations
/* @var BackWPup_Destinations $dest_class */
foreach (BackWPup::get_registered_destinations() as $id => $dest) {
if (!in_array($id, $this->job['destinations'], true) || empty($dest['class'])) {
continue;
}
$dest_class = BackWPup::get_destination($id);
if ($dest_class->can_run($this->job)) {
if ($this->job['backuptype'] == 'sync') {
if ($dest['can_sync']) {
$this->steps_todo[] = 'DEST_SYNC_' . $id;
$this->steps_data['DEST_SYNC_' . $id]['NAME'] = $dest['info']['description'];
$this->steps_data['DEST_SYNC_' . $id]['STEP_TRY'] = 0;
$this->steps_data['DEST_SYNC_' . $id]['SAVE_STEP_TRY'] = 0;
}
} else {
$this->steps_todo[] = 'DEST_' . $id;
//.........这里部分代码省略.........
示例2: load
/**
*
*/
public static function load()
{
//Create Table
self::$listtable = new self();
switch (self::$listtable->current_action()) {
case 'delete':
//Delete Job
if (!current_user_can('backwpup_jobs_edit')) {
break;
}
if (is_array($_GET['jobs'])) {
check_admin_referer('bulk-jobs');
foreach ($_GET['jobs'] as $jobid) {
wp_clear_scheduled_hook('backwpup_cron', array('id' => absint($jobid)));
BackWPup_Option::delete_job(absint($jobid));
}
}
break;
case 'copy':
//Copy Job
if (!current_user_can('backwpup_jobs_edit')) {
break;
}
$old_job_id = absint($_GET['jobid']);
check_admin_referer('copy-job_' . $old_job_id);
//create new
$newjobid = BackWPup_Option::get_job_ids();
sort($newjobid);
$newjobid = end($newjobid) + 1;
$old_options = BackWPup_Option::get_job($old_job_id);
foreach ($old_options as $key => $option) {
if ($key === "jobid") {
$option = $newjobid;
}
if ($key === "name") {
$option = __('Copy of', 'backwpup') . ' ' . $option;
}
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');
//.........这里部分代码省略.........
示例3: load
/**
*
*/
public static function load()
{
//Create Table
self::$listtable = new self();
switch (self::$listtable->current_action()) {
case 'delete':
//Delete Job
if (!current_user_can('backwpup_jobs_edit')) {
break;
}
if (is_array($_GET['jobs'])) {
check_admin_referer('bulk-jobs');
foreach ($_GET['jobs'] as $jobid) {
wp_clear_scheduled_hook('backwpup_cron', array('id' => $jobid));
BackWPup_Option::delete_job($jobid);
}
}
break;
case 'copy':
//Copy Job
if (!current_user_can('backwpup_jobs_edit')) {
break;
}
$old_job_id = (int) $_GET['jobid'];
check_admin_referer('copy-job_' . $_GET['jobid']);
//create new
$newjobid = BackWPup_Option::get_job_ids();
sort($newjobid);
$newjobid = end($newjobid) + 1;
$old_options = BackWPup_Option::get_job($old_job_id);
foreach ($old_options as $key => $option) {
if ($key == "jobid") {
$option = $newjobid;
}
if ($key == "name") {
$option = __('Copy of', 'backwpup') . ' ' . $option;
}
if ($key == "activetype") {
$option = '';
}
if ($key == "archivename") {
$option = str_replace($_GET['jobid'], $newjobid, $option);
}
if ($key == "logfile" || $key == "lastbackupdownloadurl" || $key == "lastruntime" || $key == "lastrun") {
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));
}
//.........这里部分代码省略.........
示例4: load
/**
*
*/
public static function load()
{
//Create Table
self::$listtable = new self();
switch (self::$listtable->current_action()) {
case 'delete':
//Delete Job
if (!current_user_can('backwpup_jobs_edit')) {
break;
}
if (is_array($_GET['jobs'])) {
check_admin_referer('bulk-jobs');
foreach ($_GET['jobs'] as $jobid) {
wp_clear_scheduled_hook('backwpup_cron', array('id' => $jobid));
BackWPup_Option::delete_job($jobid);
}
}
break;
case 'copy':
//Copy Job
if (!current_user_can('backwpup_jobs_edit')) {
break;
}
$old_job_id = (int) $_GET['jobid'];
check_admin_referer('copy-job_' . $_GET['jobid']);
//create new
$newjobid = BackWPup_Option::get_job_ids();
sort($newjobid);
$newjobid = end($newjobid) + 1;
$old_options = BackWPup_Option::get_job($old_job_id);
foreach ($old_options as $key => $option) {
if ($key == "jobid") {
$option = $newjobid;
}
if ($key == "name") {
$option = __('Copy of', 'backwpup') . ' ' . $option;
}
if ($key == "activetype") {
$option = '';
}
if ($key == "archivename") {
$option = str_replace($_GET['jobid'], $newjobid, $option);
}
if ($key == "logfile" || $key == "lastbackupdownloadurl" || $key == "lastruntime" || $key == "lastrun") {
continue;
}
BackWPup_Option::update($newjobid, $key, $option);
}
break;
case 'runnow':
$_GET['jobid'] = (int) $_GET['jobid'];
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
$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)) {
//.........这里部分代码省略.........
示例5: create
/**
*
* This starts or restarts the job working
*
* @param string $start_type Start types are 'runnow', 'runnowalt', 'cronrun', 'runext', 'runcli'
* @param array|int $job_settings The id of job or the settings of a job to start
*/
private function create($start_type, $job_settings = 0)
{
global $wpdb;
/* @var wpdb $wpdb */
//check startype
if (!in_array($start_type, array('runnow', 'runnowalt', 'cronrun', 'runext', 'runcli'))) {
return;
}
if (is_int($job_settings)) {
$this->job = BackWPup_Option::get_job($job_settings);
} elseif (is_array($job_settings)) {
$this->job = $job_settings;
} else {
return;
}
$this->start_time = current_time('timestamp');
$this->lastmsg = '<samp>' . __('Starting job', 'backwpup') . '</samp>';
//set Logfile
$this->logfile = get_site_option('backwpup_cfg_logfolder') . 'backwpup_log_' . BackWPup::get_plugin_data('hash') . '_' . date_i18n('Y-m-d_H-i-s') . '.html';
//write settings to job
if (!empty($this->job['jobid'])) {
BackWPup_Option::update($this->job['jobid'], 'lastrun', $this->start_time);
BackWPup_Option::update($this->job['jobid'], 'logfile', $this->logfile);
//Set current logfile
BackWPup_Option::update($this->job['jobid'], 'lastbackupdownloadurl', '');
}
//Set needed job values
$this->timestamp_last_update = microtime(TRUE);
$this->exclude_from_backup = explode(',', trim($this->job['fileexclude']));
$this->exclude_from_backup = array_unique($this->exclude_from_backup);
//create path to remove
$this->remove_path = trailingslashit(str_replace('\\', '/', realpath(ABSPATH)));
if ($this->remove_path == '/') {
$this->remove_path = '';
}
//setup job steps
$this->steps_data['CREATE']['CALLBACK'] = '';
$this->steps_data['CREATE']['NAME'] = __('Job Start', 'backwpup');
$this->steps_data['CREATE']['STEP_TRY'] = 0;
//ADD Job types file
/* @var $job_type_class BackWPup_JobTypes */
$job_need_dest = FALSE;
if ($job_types = BackWPup::get_job_types()) {
foreach ($job_types as $id => $job_type_class) {
if (in_array($id, $this->job['type']) && $job_type_class->creates_file()) {
$this->steps_todo[] = 'JOB_' . $id;
$this->steps_data['JOB_' . $id]['NAME'] = $job_type_class->info['description'];
$this->steps_data['JOB_' . $id]['STEP_TRY'] = 0;
$this->steps_data['JOB_' . $id]['SAVE_STEP_TRY'] = 0;
$job_need_dest = TRUE;
}
}
}
//add destinations and create archive if a job where files to backup
if ($job_need_dest) {
//Create manifest file
$this->steps_todo[] = 'CREATE_MANIFEST';
$this->steps_data['CREATE_MANIFEST']['NAME'] = __('Creates manifest file', 'backwpup');
$this->steps_data['CREATE_MANIFEST']['STEP_TRY'] = 0;
$this->steps_data['CREATE_MANIFEST']['SAVE_STEP_TRY'] = 0;
//Add archive creation and backup filename on backup type archive
if ($this->job['backuptype'] == 'archive') {
//get Backup folder if destination folder set
if (in_array('FOLDER', $this->job['destinations'])) {
$this->backup_folder = $this->job['backupdir'];
//check backup folder
if (!empty($this->backup_folder)) {
self::check_folder($this->backup_folder, TRUE);
}
}
//set temp folder to backup folder if not set because we need one
if (!$this->backup_folder || $this->backup_folder == '/') {
$this->backup_folder = BackWPup::get_plugin_data('TEMP');
}
//Create backup archive full file name
$this->backup_file = $this->generate_filename($this->job['archivename'], $this->job['archiveformat']);
//add archive create
$this->steps_todo[] = 'CREATE_ARCHIVE';
$this->steps_data['CREATE_ARCHIVE']['NAME'] = __('Creates archive', 'backwpup');
$this->steps_data['CREATE_ARCHIVE']['STEP_TRY'] = 0;
$this->steps_data['CREATE_ARCHIVE']['SAVE_STEP_TRY'] = 0;
}
//ADD Destinations
/* @var BackWPup_Destinations $dest_class */
foreach (BackWPup::get_registered_destinations() as $id => $dest) {
if (!in_array($id, $this->job['destinations']) || empty($dest['class'])) {
continue;
}
$dest_class = BackWPup::get_destination($id);
if ($dest_class->can_run($this)) {
if ($this->job['backuptype'] == 'sync') {
if ($dest['can_sync']) {
$this->steps_todo[] = 'DEST_SYNC_' . $id;
//.........这里部分代码省略.........