loadCommon(); if($_SERVER['RR_MODE'] === 'jobs') { /* Jobs. */ while($task = $app->consumer->waitTask()) { if($task->getQueue() == 'crons') { $id = $task->getValue('id'); $type = $task->getValue('type'); $cmd = $task->getValue('command'); if(!$id || !$type || !$cmd) continue; $output = ''; $return = 0; if($type == 'zentao') { try { ob_start(); parse_str($cmd, $params); if(!isset($params['moduleName']) || !isset($params['methodName'])) continue; $app->initRequest(); $common->setUserConfig(); $app->moduleName = $params['moduleName']; $app->methodName = $params['methodName']; $app->rawModule = $params['moduleName']; $app->rawMethod = $params['methodName']; $app->setControlFile(); $app->loadModule(); $output = ob_get_clean(); $app->closeRequest(); } catch(EndResponseException $e) { $output = helper::removeUTF8Bom(ob_get_clean()); $output .= $e->getContent(); } catch(Exception $e) { $return = 1; $output = helper::removeUTF8Bom(ob_get_clean()); $output .= $e->getMessage(); } } elseif($type == 'system') { exec($cmd, $output, $return); if($output) $output = implode("\n", $output); } $log = date('H:m:s') . "task " . $id . " executed,\ncommand: $cmd.\nreturn : $return.\noutput : $output\n"; logCron($app->getLogRoot(), $log); } $task->complete(); } } else { /* HTTP. */ while(true) { try { $app->worker->waitRequest(); $body = ''; ob_start(); /* installed or not. */ if(!isset($config->installed) or !$config->installed) helper::header('location', 'install.php'); /* Check for need upgrade. */ $config->installedVersion = $app->getInstalledVersion(); if($config->version != $config->installedVersion) helper::header('location', 'upgrade.php'); $app->initRequest(); $common->setUserConfig(); /* Check the request is getconfig or not. */ if(isset($_GET['mode']) and $_GET['mode'] == 'getconfig') helper::end(helper::removeUTF8Bom($app->exportConfig())); /* Remove install.php and upgrade.php. */ if(file_exists('install.php') or file_exists('upgrade.php')) { $undeletedFiles = array(); if(file_exists('install.php')) $undeletedFiles[] = 'install.php'; if(file_exists('upgrade.php')) $undeletedFiles[] = 'upgrade.php'; $wwwDir = dirname(__FILE__); if($undeletedFiles) { echo "
| ";
echo " 安全起见,请删除 {$wwwDir} 目录下的 " . join(' 和 ', $undeletedFiles) . " 文件。 ";
echo "Please remove " . join(' and ', $undeletedFiles) . " under $wwwDir dir for security reason. ";
helper::end(" |