Пример #1
0
 /**
  * Serve method to do step by step task for maintenance.
  *
  * @param	core	<b>dcCore</b>	dcCore instance
  * @param	get		<b>array</b>	cleaned $_GET
  * @param	post	<b>array</b>	cleaned $_POST
  *
  * @return	<b>xmlTag</b>	XML representation of response
  */
 public static function step($core, $get, $post)
 {
     if (!isset($post['task'])) {
         throw new Exception('No task ID');
     }
     if (!isset($post['code'])) {
         throw new Exception('No code ID');
     }
     $maintenance = new dcMaintenance($core);
     if (($task = $maintenance->getTask($post['task'])) === null) {
         throw new Exception('Unknow task ID');
     }
     $task->code((int) $post['code']);
     if (($code = $task->execute()) === true) {
         $maintenance->setLog($task->id());
         $code = 0;
     }
     $rsp = new xmlTag('step');
     $rsp->code = $code;
     $rsp->title = html::escapeHTML($task->success());
     return $rsp;
 }
Пример #2
0
if (!defined('DC_CONTEXT_ADMIN')) {
    return;
}
// Set env
$core->blog->settings->addNamespace('maintenance');
$maintenance = new dcMaintenance($core);
$tasks = $maintenance->getTasks();
$headers = '';
$p_url = $core->adminurl->get('admin.plugin.maintenance');
$task = null;
$expired = array();
$code = empty($_POST['code']) ? null : (int) $_POST['code'];
$tab = empty($_REQUEST['tab']) ? '' : $_REQUEST['tab'];
// Get task object
if (!empty($_REQUEST['task'])) {
    $task = $maintenance->getTask($_REQUEST['task']);
    if ($task === null) {
        $core->error->add('Unknow task ID');
    }
    $task->code($code);
}
// Execute task
if ($task && !empty($_POST['task']) && $task->id() == $_POST['task']) {
    try {
        $code = $task->execute();
        if (false === $code) {
            throw new Exception($task->error());
        }
        if (true === $code) {
            $maintenance->setLog($task->id());
            dcPage::addSuccessNotice($task->success());