本文整理汇总了PHP中BackWPup_Job::read_logheader方法的典型用法代码示例。如果您正苦于以下问题:PHP BackWPup_Job::read_logheader方法的具体用法?PHP BackWPup_Job::read_logheader怎么用?PHP BackWPup_Job::read_logheader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BackWPup_Job
的用法示例。
在下文中一共展示了BackWPup_Job::read_logheader方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: prepare_items
/**
*
*/
function prepare_items()
{
$this->job_types = BackWPup::get_job_types();
$per_page = $this->get_items_per_page('backwpuplogs_per_page');
if (empty($per_page) || $per_page < 1) {
$per_page = 20;
}
//load logs
$logfiles = array();
if (is_readable($this->log_folder) && ($dir = opendir($this->log_folder))) {
while (($file = readdir($dir)) !== FALSE) {
$log_file = $this->log_folder . '/' . $file;
if (is_file($log_file) && is_readable($log_file) && FALSE !== strpos($file, 'backwpup_log_') && FALSE !== strpos($file, '.html')) {
$logfiles[] = $file;
}
}
closedir($dir);
}
//ordering
$order = isset($_GET['order']) ? $_GET['order'] : 'desc';
$orderby = isset($_GET['orderby']) ? $_GET['orderby'] : 'time';
if ($orderby == 'time') {
if ($order == 'asc') {
sort($logfiles);
} else {
rsort($logfiles);
}
}
//by page
$start = intval(($this->get_pagenum() - 1) * $per_page);
$end = $start + $per_page;
if ($end > count($logfiles)) {
$end = count($logfiles);
}
$this->items = array();
$i = -1;
foreach ($logfiles as $mtime => $logfile) {
$i++;
if ($i < $start) {
continue;
}
if ($i >= $end) {
break;
}
$this->items[$mtime] = BackWPup_Job::read_logheader($this->log_folder . '/' . $logfile);
$this->items[$mtime]['file'] = $logfile;
}
$this->set_pagination_args(array('total_items' => count($logfiles), 'per_page' => $per_page, 'orderby' => $orderby, 'order' => $order));
}
示例2: mb_last_logs
/**
* Displaying last logs
*/
private static function mb_last_logs()
{
if (!current_user_can('backwpup_logs')) {
return;
}
?>
<table class="wp-list-table widefat" cellspacing="0">
<caption><?php
_e('Last logs', 'backwpup');
?>
</caption>
<thead>
<tr><th style="width:30%"><?php
_e('Time', 'backwpup');
?>
</th><th style="width:55%"><?php
_e('Job', 'backwpup');
?>
</th><th style="width:20%"><?php
_e('Result', 'backwpup');
?>
</th></tr>
</thead>
<?php
//get log files
$logfiles = array();
$log_folder = get_site_option('backwpup_cfg_logfolder');
$log_folder = BackWPup_File::get_absolute_path($log_folder);
if (is_readable($log_folder) && ($dir = opendir($log_folder))) {
while (($file = readdir($dir)) !== FALSE) {
if (is_readable($log_folder . $file) && is_file($log_folder . $file) && FALSE !== strpos($file, 'backwpup_log_') && FALSE !== strpos($file, '.html')) {
$logfiles[filemtime($log_folder . $file)] = $file;
}
}
closedir($dir);
krsort($logfiles, SORT_NUMERIC);
}
if (count($logfiles) > 0) {
$count = 0;
$alternate = TRUE;
foreach ($logfiles as $logfile) {
$logdata = BackWPup_Job::read_logheader($log_folder . $logfile);
if (!$alternate) {
echo '<tr>';
$alternate = TRUE;
} else {
echo '<tr class="alternate">';
$alternate = FALSE;
}
echo '<td>' . sprintf(__('%1$s at %2$s', 'backwpup'), date_i18n(get_option('date_format'), $logdata['logtime']), date_i18n(get_option('time_format'), $logdata['logtime'])) . '</td>';
echo '<td><a class="thickbox" href="' . admin_url('admin-ajax.php') . '?&action=backwpup_view_log&logfile=' . basename($logfile) . '&_ajax_nonce=' . wp_create_nonce('view-logs') . '&TB_iframe=true&width=640&height=440" title="' . esc_attr(basename($logfile)) . '">' . $logdata['name'] . '</i></a></td>';
echo '<td>';
if ($logdata['errors'] > 0) {
printf('<span style="color:red;font-weight:bold;">' . _n("%d ERROR", "%d ERRORS", $logdata['errors'], 'backwpup') . '</span><br />', $logdata['errors']);
}
if ($logdata['warnings'] > 0) {
printf('<span style="color:#e66f00;font-weight:bold;">' . _n("%d WARNING", "%d WARNINGS", $logdata['warnings'], 'backwpup') . '</span><br />', $logdata['warnings']);
}
if ($logdata['errors'] == 0 && $logdata['warnings'] == 0) {
echo '<span style="color:green;font-weight:bold;">' . __('OK', 'backwpup') . '</span>';
}
echo '</td></tr>';
$count++;
if ($count >= 5) {
break;
}
}
} else {
echo '<tr><td colspan="3">' . __('none', 'backwpup') . '</td></tr>';
}
?>
</table>
<?php
}
示例3: ajax_working
/**
*
* Function to generate json data
*
*/
public static function ajax_working()
{
check_ajax_referer('backwpupworking_ajax_nonce');
if (!current_user_can('backwpup_jobs_start')) {
die('-1');
}
$log_folder = get_site_option('backwpup_cfg_logfolder');
$log_folder = BackWPup_File::get_absolute_path($log_folder);
$logfile = isset($_GET['logfile']) ? $log_folder . basename(trim($_GET['logfile'])) : NULL;
$logpos = isset($_GET['logpos']) ? absint($_GET['logpos']) : 0;
$restart_url = '';
//check if logfile renamed
if (file_exists($logfile . '.gz')) {
$logfile .= '.gz';
}
if (!is_readable($logfile) || strstr($_GET['logfile'], 'backwpup_log_') === false) {
die('0');
}
$job_object = BackWPup_Job::get_working_data();
$done = 0;
if (is_object($job_object)) {
$warnings = $job_object->warnings;
$errors = $job_object->errors;
$step_percent = $job_object->step_percent;
$substep_percent = $job_object->substep_percent;
$runtime = current_time('timestamp') - $job_object->start_time;
$onstep = $job_object->steps_data[$job_object->step_working]['NAME'];
$lastmsg = $job_object->lastmsg;
$lasterrormsg = $job_object->lasterrormsg;
} else {
$logheader = BackWPup_Job::read_logheader($logfile);
$warnings = $logheader['warnings'];
$runtime = $logheader['runtime'];
$errors = $logheader['errors'];
$step_percent = 100;
$substep_percent = 100;
$onstep = '<div class="backwpup-message backwpup-info"><p>' . esc_html__('Job completed', 'backwpup') . '</p></div>';
if ($errors > 0) {
$lastmsg = '<div class="error"><p>' . esc_html__('ERROR:', 'backwpup') . ' ' . sprintf(esc_html__('Job has ended with errors in %s seconds. You must resolve the errors for correct execution.', 'backwpup'), $logheader['runtime']) . '</p></div>';
} elseif ($warnings > 0) {
$lastmsg = '<div class="backwpup-message backwpup-warning"><p>' . esc_html__('WARNING:', 'backwpup') . ' ' . sprintf(esc_html__('Job has done with warnings in %s seconds. Please resolve them for correct execution.', 'backwpup'), $logheader['runtime']) . '</p></div>';
} else {
$lastmsg = '<div class="updated"><p>' . sprintf(esc_html__('Job done in %s seconds.', 'backwpup'), $logheader['runtime']) . '</p></div>';
}
$lasterrormsg = '';
$done = 1;
}
if ('.gz' == substr($logfile, -3)) {
$logfiledata = file_get_contents('compress.zlib://' . $logfile, FALSE, NULL, $logpos);
} else {
$logfiledata = file_get_contents($logfile, FALSE, NULL, $logpos);
}
preg_match('/<body[^>]*>/si', $logfiledata, $match);
if (!empty($match[0])) {
$startpos = strpos($logfiledata, $match[0]) + strlen($match[0]);
} else {
$startpos = 0;
}
$endpos = stripos($logfiledata, '</body>');
if (FALSE === $endpos) {
$endpos = strlen($logfiledata);
}
$length = strlen($logfiledata) - (strlen($logfiledata) - $endpos) - $startpos;
//check if restart must done on ALTERNATE_WP_CRON
if (is_object($job_object) && defined('ALTERNATE_WP_CRON') && ALTERNATE_WP_CRON) {
$restart = BackWPup_Job::get_jobrun_url('restartalt');
if ($job_object->pid === 0 && $job_object->uniqid === '') {
$restart_url = $restart['url'];
}
$last_update = microtime(TRUE) - $job_object->timestamp_last_update;
if (empty($job_object->pid) && $last_update > 10) {
$restart_url = $restart['url'];
}
}
wp_send_json(array('log_pos' => strlen($logfiledata) + $logpos, 'log_text' => substr($logfiledata, $startpos, $length), 'warning_count' => $warnings, 'error_count' => $errors, 'running_time' => $runtime, 'step_percent' => $step_percent, 'on_step' => $onstep, 'last_msg' => $lastmsg, 'last_error_msg' => $lasterrormsg, 'sub_step_percent' => $substep_percent, 'restart_url' => $restart_url, 'job_done' => $done));
}
示例4: ajax_working
/**
*
* Function to generate json data
*
*/
public static function ajax_working()
{
check_ajax_referer('backwpupworking_ajax_nonce');
$logfile = isset($_GET['logfile']) ? get_site_option('backwpup_cfg_logfolder') . trim($_GET['logfile']) : NULL;
$logpos = isset($_GET['logpos']) ? (int) $_GET['logpos'] : 0;
//check if logfile renamed
if (file_exists($logfile . '.gz')) {
$logfile .= '.gz';
}
if (!is_readable($logfile)) {
die('0');
}
$job_object = BackWPup_Job::get_working_data();
$done = 0;
if (is_object($job_object)) {
$warnings = $job_object->warnings;
$errors = $job_object->errors;
$step_percent = $job_object->step_percent;
$substep_percent = $job_object->substep_percent;
$runtime = current_time('timestamp') - $job_object->start_time;
$onstep = $job_object->steps_data[$job_object->step_working]['NAME'];
$lastmsg = $job_object->lastmsg;
$lasterrormsg = $job_object->lasterrormsg;
} else {
$logheader = BackWPup_Job::read_logheader($logfile);
$warnings = $logheader['warnings'];
$runtime = $logheader['runtime'];
$errors = $logheader['errors'];
$step_percent = 100;
$substep_percent = 100;
$onstep = '<div class="backwpup-message backwpup-info"><p>' . __('Job completed', 'backwpup') . '</p></div>';
if ($errors > 0) {
$lastmsg = '<div class="error"><p>' . __('ERROR:', 'backwpup') . ' ' . sprintf(__('Job has ended with errors in %s seconds. You must resolve the errors for correct execution.', 'backwpup'), $logheader['runtime']) . '</p></div>';
} elseif ($warnings > 0) {
$lastmsg = '<div class="backwpup-message backwpup-warning"><p>' . __('WARNING:', 'backwpup') . ' ' . sprintf(__('Job has done with warnings in %s seconds. Please resolve them for correct execution.', 'backwpup'), $logheader['runtime']) . '</p></div>';
} else {
$lastmsg = '<div class="updated"><p>' . sprintf(__('Job done in %s seconds.', 'backwpup'), $logheader['runtime']) . '</p></div>';
}
$lasterrormsg = '';
$done = 1;
}
if ('.gz' == substr($logfile, -3)) {
$logfiledata = file_get_contents('compress.zlib://' . $logfile, FALSE, NULL, $logpos);
} else {
$logfiledata = file_get_contents($logfile, FALSE, NULL, $logpos);
}
preg_match('/<body[^>]*>/si', $logfiledata, $match);
if (!empty($match[0])) {
$startpos = strpos($logfiledata, $match[0]) + strlen($match[0]);
} else {
$startpos = 0;
}
$endpos = stripos($logfiledata, '</body>');
if (FALSE === $endpos) {
$endpos = strlen($logfiledata);
}
$length = strlen($logfiledata) - (strlen($logfiledata) - $endpos) - $startpos;
wp_send_json(array('log_pos' => strlen($logfiledata) + $logpos, 'log_text' => substr($logfiledata, $startpos, $length), 'warning_count' => $warnings, 'error_count' => $errors, 'running_time' => $runtime, 'step_percent' => $step_percent, 'on_step' => $onstep, 'last_msg' => $lastmsg, 'last_error_msg' => $lasterrormsg, 'sub_step_percent' => $substep_percent, 'job_done' => $done));
}