protected final function renderAjax($errorCode, $errorMessage = '', $otherParams = array()) { $otherParams['errorCode'] = $errorCode; $otherParams['errorMessage'] = $errorMessage; Response::output($otherParams, 'json', Router::$CALLBACK); // debug Debug::p('PHP End'); if (isset($_COOKIE['ajaxdebug']) && Router::$IS_AJAX) { Debug::show(); } exit; }
public static function logException($e) { // 如果不是BaseException,那么由handle捕获 if (!is_subclass_of($e, 'BaseException')) { Logger::error('handle', $e); } if (class_exists('Router', false) && Router::$IS_AJAX) { $content = array('errorCode' => E_USER_ERROR, 'errorMessage' => '服务器繁忙,请稍后再试!'); Response::output($content, 'json', Router::$CALLBACK); exit; } else { Url::redirect404(); } }
public function output() { if (!headers_sent()) { // Default content type. This may be overwritten in the superclass when the addHeader function is used to // add the Content-Type header. If the response body is empty this header will always be used because the // parent doesn't set any header when the output is empty. header('Content-Type: text/plain', true); if ($this->httpResponseCodeHeader) { // Response code header must be added here because parent output will only add headers if the output // isn't empty but we do allow empty output. header($this->httpResponseCodeHeader, true); } } parent::output(); }
public function watchAction() { $problemId = Request::getGET('problem-id'); $file = Request::getGET('file'); // 处理文件名 if (!$this->checkFile($file) || empty($problemId)) { Response::output('参数错误!', 'html'); return; } // 删除文件 $path = '/home/judge/data/' . $problemId . '/' . $file; // 是否存在 if (!is_file($path)) { Response::output('文件不存在!', 'html'); return; } $content = file_get_contents($path); $content = htmlspecialchars($content); $content = "<pre>{$content}</pre>"; Response::output($content, 'html'); }
public static function select($type, $sql, $params = array(), $single = false) { $response = new Response(); try { $db = PDO::getConnection(); $stmt = $db->prepare($sql); foreach ($params as $param => $paramValue) { $stmt->bindParam($param, $paramValue[0], $paramValue[1]); } $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_OBJ); $db = null; if ($single && is_array($result) && isset($result[0])) { $result = $result[0]; } $response->setData($type, $result); } catch (\Exception $e) { $response->setError($e->getCode(), $e->getMessage()); } $response->output(); }
/** * Get Lists a Subscriber is Member of. * * <p><strong>Parameters:</strong><br/> * [*subscriber_id] {integer} the Subscriber-ID. * <p><strong>Returns:</strong><br/> * Array of lists where the subscriber is assigned to. * </p> */ public static function listsSubscriber($subscriber_id = 0) { $response = new Response(); if ($subscriber_id == 0) { $subscriber_id = sprintf('%d', $_REQUEST['subscriber_id']); } $sql = 'SELECT * FROM ' . $GLOBALS['tables']['list'] . ' WHERE id IN (SELECT listid FROM ' . $GLOBALS['tables']['listuser'] . ' WHERE userid=:subscriber_id) ORDER BY listorder;'; if (!is_numeric($subscriber_id) || empty($subscriber_id)) { Response::outputErrorMessage('invalid call'); } try { $db = PDO::getConnection(); $stmt = $db->prepare($sql); $stmt->bindParam('subscriber_id', $subscriber_id, PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_OBJ); $db = null; $response->setData('Lists', $result); $response->output(); } catch (\Exception $e) { Response::outputError($e); } die(0); }
<?php require_once 'inc/init.php'; $task_id = $_POST['task-status-id']; $date = strtotime($_POST['task-status']); $task = new Task(); $task->load('id = ?', [$task_id]); $task->status = $_POST['task-status']; if ($task->save()) { Response::write('message', 'Task status updated'); } else { Response::write('status', false); Response::write('message', 'Task status failed to update.'); } Response::output();
if ($code) { $json['success'] = 1; $json['share_image'] = HTTP_SERVER . 'share/' . $code . '.jpg'; $json['share_url'] = HTTP_SERVER . '/share.php?share_id=' . $code . '&point=' . (int) $request->get['point']; } else { $json['error'] = 'ERROR DB'; } $response->addHeader('Content-Type: application/json'); $response->setOutput(json_encode($json)); } else { $share_id = $request->get['share_id']; $point = $request->get['point']; $template = new Template(); $template->base = HTTP_SERVER; $template->image = 'share/' . $share_id . '.jpg'; $template->share_url = HTTP_SERVER . 'share.php?share_id=' . $share_id . '&point=' . $point; if ((int) $point > 10) { $template->title = 'Я собрал ' . $point . ' ' . getNumEnding($point, array('услугу', 'услуги', 'услуг')); $template->description = 'А ты сможешь лучше?'; } elseif ((int) $point < 10 && (int) $point >= 5) { $template->title = 'Я собрал ' . $point . ' ' . getNumEnding($point, array('услугу', 'услуги', 'услуг')); $template->description = 'А ты сможешь лучше?'; } else { $template->title = 'Я собрал ' . $point . ' ' . getNumEnding($point, array('услугу', 'услуги', 'услуг')); $template->description = 'А ты сможешь лучше?'; } $out = $template->render(DIR_APPLICATION . '/template/share.tpl'); $response->setOutput($out); } $response->output();
/** * Convert this response into a valid HTML response */ function output() { $type = null; foreach ($this->request->accept as $accept) { foreach ($accept as $a) { switch ($a) { case "xml": $type = "xml"; break; case "json": default: $type = "json"; break; } if ($type != null) { break; } else { $type = "json"; break; } } } if ($this->error != null && $this->error_detail != null && is_array($this->error_detail)) { $this->body = array("error" => $this->error, "detail" => $this->error_detail); } else { if ($this->error != null && $this->error_detail != null && is_string($this->error_detail)) { $this->body = array("error" => $this->error, "detail" => array("code" => $this->error_detail)); } else { if ($this->error != null) { $this->body = array("error" => $this->error); } } } switch ($type) { case "json": default: $this->body = json_encode($this->body); $this->addHeader('Content-Type', 'application/json'); break; case "xml": $xmlnode = new XMLNode("response"); if (is_array($this->body)) { foreach ($this->body as $k => $v) { if (is_int($k)) { $k = "item"; } if (is_array($v)) { $n = new XMLNode($k); $n->addArray($v); $xmlnode->addValue(null, $n); } else { $xmlnode->addValue($k, $v); } } } else { if (is_object($this->body) && method_exists($this->body, "__toString")) { $xmlnode->addValue(get_class($this->body), $this->body->__toString()); } else { if (is_object($this->body)) { $xmlnode->addValue(get_class($this->body), "Object"); } else { $xmlnode->addValue(null, $this->body); } } } $this->body = $xmlnode->generate(); $this->addHeader('Content-Type', 'application/xml'); break; } parent::output(); }
public function run() { $response = null; list($route_mask, $service_name) = $this->findServiceRoute(); if (null !== $route_mask) { $response = $this->executeServiceRoute($route_mask, $service_name); if (null !== $response) { $response->generation_time = $this->getTimer(); $response->generation_mem = $this->getMemory(); if ($this->application->passport->is_auth()) { $response->setHeader('User access token: ' . $this->application->passport->getSessionToken()); } $response->output($service_name, $route_mask); $this->stop(); } } // Статичная страница /** @var \Service\Pages\Model_Factory $pages_factory */ $pages_factory = $this->service_factory->factoryPages; if (null !== $pages_factory) { $url = $this->request->url->toString(false); $page = $pages_factory->pages->getBySlug($url); if (null !== $page) { $service_name = 'Pages'; $route_mask = new \Service\Pages\Router_Client_Page(); $route_mask->found_variables[\Service\Pages\Model_Pages_Page::FIELD_SLUG] = $url; $response = $this->executeServiceRoute($route_mask, $service_name); if (null !== $response) { $response->generation_time = $this->getTimer(); $response->generation_mem = $this->getMemory(); $response->output($service_name, $route_mask); $this->stop(); } } } // Есть стандартная страница ошибки $this->request->url->path = '/404.html'; list($route_mask, $service_name) = $this->findServiceRoute(); if (null !== $route_mask) { $response = $this->executeServiceRoute($route_mask, $service_name); if (null !== $response) { $response->setStatus(Response::HTTP_404_Not_Found); $response->generation_time = $this->getTimer(); $response->generation_mem = $this->getMemory(); $response->output(); $this->stop(); } } // Нет стандартной страницы ошибки $response = new Response(); $response->setStatus(Response::HTTP_404_Not_Found); $response->setBody('Nothing found'); $response->generation_time = $this->getTimer(); $response->generation_mem = $this->getMemory(); $response->output(); $this->stop(); }
/** * @param $str * @param array $headers * @return bool */ public function rendarString($str, $headers = array()) { $headers = array_merge(array("Content-Type" => "text/html"), $headers); if (Application::DebugMode()) { $debug = new Debug(); $debug->appendRendarDebug($str); } $response = new Response($str); $response->setHeaders($headers); $response->output(); return true; }
public static function formtokenGet() { $key = md5(time() . mt_rand(0, 10000)); Sql_Query(sprintf('insert into %s (adminid,value,entered,expires) values(%d,"%s",%d,date_add(now(),interval 1 hour))', $GLOBALS['tables']['admintoken'], $_SESSION['logindetails']['id'], $key, time()), 1); $response = new Response(); $response->setData('formtoken', $key); $response->output(); }
/** * Generate and output a generic system message as a response * @param string $message System message */ static function outputMessage($message) { $response = new Response(); $response->setData('SystemMessage', $message); $response->output(); }