/** * @param View $view */ protected function _renderJsonp(View $view) { $content = $this->getResponse()->setContentType('application/json')->setJsonContent($view->getParamsToView())->getContent(); $content = $this->request->get('callback') . '(' . $content . ')'; $this->response->setContent($content)->send(); $view->setRenderLevel(View::LEVEL_NO_RENDER); }
/** * Renders the uncaught exception for browser consumption. * * @param Phalcon\Http\Response $response * @param \Exception $exception * @return void */ protected function renderBrowser(Response $response, Exception $exception) { if ($this->config->debug) { $response->setContent($exception->getMessage() . ': ' . $exception->getTraceAsString()); } else { $response->setContent('Sorry, an error has occured.'); } }
/** * 发送响应消息 * * @param string $message 响应信息 * @param int $status 响应状态码 */ public static function send($message = '', $status = 200) { if (self::$response === null) { self::init(); } self::$response->setStatusCode(intval($status)); self::$response->setContent(strval($message)); self::$response->send(); }
public function reset() { static::$disableSession = false; static::$disableCsrfCheck = false; $this->cookies->reset(); $this->response->setContent('')->resetHeaders()->setStatusCode(200); }
public function rawAction() { $plain_response = new Response(); $plain_response->setHeader("Content-Type", "text/plain"); $plain_response->setContent($this->paste->content); return $plain_response; }
/** * Get CSRF token for Ajax request. * @return a HTTP response object with JSON */ public function getCsrfTokenAction() { $result = array('csrfTokenKey' => $this->security->getTokenKey(), 'csrfToken' => $this->security->getToken()); $response = new Response(); $response->setContent(json_encode($result)); return $response; }
/** * Exchange a request token for an access token. * The exchange is only succesful iff the request token has been authorized. * * Never returns, calls exit() when token is exchanged or when error is returned. */ public function accessToken() { try { $this->verifyRequest(self::TOKEN_TYPE_REQUEST); $options = array(); $ttl = $this->request->get('xoauth_token_ttl'); if ($ttl) { $options['token_ttl'] = $ttl; } $verifier = $this->request->get('oauth_verifier'); if ($verifier) { $options['verifier'] = $verifier; } $store = $this->store; $token = $store->exchangeConsumerRequestForAccessToken($this->request->getParam('oauth_token', true), $options); /** @var /Foundation/Oauth/Secrets $token */ $content = array("oauth_token" => $token->token, "oauth_token_secret" => $token->token_secret); if ($token->ttl) { $content['xoauth_token_ttl'] = $token->ttl; } $this->response->setContent(http_build_query($content)); $this->response->setStatusCode(200, ""); $this->response->setContentType("application/x-www-form-urlencoded"); } catch (OauthException $e) { $this->response->setStatusCode(401, "OAuth Verification Failed: " . $e->getMessage()); } return $this->response; }
/** * Default action. */ public function indexAction() { $this->view->disable(); $data = ['Hello', 'World']; $content = json_encode($data); $response = new Response(); $response->setContent($content); return $response; }
/** * Send response to client */ public function respond($data, $status = 200) { $response = new Response(); $response->setContentType('application/json'); $response->setStatusCode($status); $data = $data instanceof SimpleResultSet ? $data->toArray() : $data; $response->setContent(json_encode($data)); $response->send(); }
public function debugEnvAction() { //var_dump($_SERVER['REDIRECT_URL']);die(); $actual_route = $_SERVER['REDIRECT_URL']; $response = new Response(); $response->setStatusCode(404, "Not Found"); $response->setContent("Sorry, the route: <b>" . $actual_route . " </b> doesn't exist"); $response->send(); return $response; }
/** * 向Client发送响应的资源 */ public function send() { if (is_array($this->resource) || is_object($this->resource)) { $this->response->setHeader('Content-Type', 'text/json'); $this->response->setContent(json_encode($this->resource, true)); } else { $this->response->setContent($this->resource); } $this->response->send(); }
/** * @return Response */ public function previewAction() { $response = new Response(); if ($this->request->isPost()) { if ($this->session->get('identity')) { $content = $this->request->getPost('content'); $response->setContent($this->markdown->render($this->escaper->escapeHtml($content))); } } return $response; }
public function response($data = array(), $status = 200, $token = null) { $response = new Response(); $response->setStatusCode($status); $response->setContent(!empty($this->_statuses[$status]) ? $this->_statuses[$status] : null); $response->setHeader('Content-type', 'application/json'); $response->setHeader('api-version', '1.0'); $response->setHeader('singou-token', $token); $response->setJsonContent($data); return $response; }
/** * Выполняет все плагины по цепочке * * @param \Phalcon\Http\Request $request * @return string */ public function process(Request $request) { $response = new Response(); $pluginResult = new PluginResult(); foreach ($this->_arPlugins as $plugin) { $pluginResult = $plugin->process($request, $pluginResult); if ($pluginResult->terminate) { break; } } if ($pluginResult->error) { $response->setStatusCode($pluginResult->errorCode, $pluginResult->errorMessage); $response->setContent($pluginResult->errorMessage); return $response; } else { $response->setStatusCode(200, "OK"); } $callback = $request->getQuery('callback'); $result = ''; if ($callback) { $response->setHeader('Content-Type', 'application/javascript'); $result .= $callback . '('; } else { $response->setHeader('Content-Type', 'application/json'); } $result .= json_encode(array('searchContext' => $pluginResult->searchContext, 'result' => $pluginResult->result)); if ($callback) { $result .= ');'; } if ($pluginResult->fileToSend) { $response->setFileToSend($pluginResult->fileToSend, 'data.txt'); } else { $response->setContent($result); } return $response; }
/** * Generate the website robots.txt */ public function indexAction() { $response = new Response(); $expireDate = new \DateTime(); $expireDate->modify('+1 month'); $response->setExpires($expireDate); $response->setHeader('Content-Type', "text/plain; charset=UTF-8"); $baseUrl = rtrim($this->config->site->url, '/'); $content = <<<EOL User-agent: * Allow: / Sitemap: {$baseUrl}/sitemap EOL; $response->setContent($content); return $response; }
/** * Handles the RSS action. Constructs the rss feed of the latest posts. The * number of posts to return is stored in the configuration section * * @return Response */ public function rssAction() { $feed = new RSS2(); $feed->setEncoding('UTF-8'); $feed->setTitle($this->config->rss->title); $feed->setDescription($this->config->rss->description); $feed->setLink($this->getFullUrl()); $posts = $this->finder->getLatest(1); foreach ($posts as $post) { $feedItem = new Item(); $feedItem->setTitle($post->getTitle()); $feedItem->setLink($this->getFullUrl('/post/' . $post->getSlug())); $feedItem->setDescription($post->getContent()); $feedItem->setDate($post->getDate()); $feed->addItem($feedItem); } $response = new Response(); $response->setHeader('Content-Type', 'application/xml'); $response->setContent($feed->generateFeed()); return $response; }
/** * Generate the website sitemap */ public function indexAction() { $response = new Response(); $expireDate = new \DateTime(); $expireDate->modify('+1 day'); $response->setExpires($expireDate); $response->setHeader('Content-Type', "application/xml; charset=UTF-8"); $sitemap = new \DOMDocument("1.0", "UTF-8"); $urlset = $sitemap->createElement('urlset'); $urlset->setAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9'); $urlset->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); $baseUrl = $this->config->site->url; $url = $sitemap->createElement('url'); $url->appendChild($sitemap->createElement('loc', $baseUrl)); $url->appendChild($sitemap->createElement('changefreq', 'daily')); $url->appendChild($sitemap->createElement('priority', '1.0')); $urlset->appendChild($url); $karmaSql = 'number_views + ' . '((IF(votes_up IS NOT NULL, votes_up, 0) - IF(votes_down IS NOT NULL, votes_down, 0)) * 4) + ' . 'number_replies'; $parametersPosts = ['conditions' => 'deleted != 1', 'columns' => "id, slug, modified_at, {$karmaSql} AS karma", 'order' => 'karma DESC']; $posts = Posts::find($parametersPosts); $parametersKarma = ['column' => $karmaSql, 'conditions' => 'deleted != 1']; $karma = Posts::maximum($parametersKarma); $modifiedAt = new \DateTime(); $modifiedAt->setTimezone(new \DateTimeZone('UTC')); foreach ($posts as $post) { $modifiedAt->setTimestamp($post->modified_at); $postKarma = $post->karma / ($karma + 100); $url = $sitemap->createElement('url'); $href = trim($baseUrl, '/') . '/discussion/' . $post->id . '/' . $post->slug; $url->appendChild($sitemap->createElement('loc', $href)); $valuePriority = $postKarma > 0.7 ? sprintf("%0.1f", $postKarma) : sprintf("%0.1f", $postKarma + 0.25); $url->appendChild($sitemap->createElement('priority', $valuePriority)); $url->appendChild($sitemap->createElement('lastmod', $modifiedAt->format('Y-m-d\\TH:i:s\\Z'))); $urlset->appendChild($url); } $sitemap->appendChild($urlset); $response->setContent($sitemap->saveXML()); return $response; }
BaseController::run(new UserMetaController(), 'putUserMetaAction', array($uid, $meta_key, $meta_value)); }); $app->delete('/api/user/meta/{uid:[0-9]+}/{meta_key:[0-9a-zA-Z_]+}', function ($uid, $meta_key) { BaseController::auth(); BaseController::run(new UserMetaController(), 'deleteUserMetaAction', array($uid, $meta_key)); }); /** * SSO API */ $app->get('/api/sso/ticket', function () use($app) { $var_name = isset($_GET['var']) ? $_GET['var'] : 'il_passport_ticket'; $response = new Response(); $response->setHeader("Content-Type", "text/javascript"); if ($app->session->has("auth")) { $auth = $app->session->get("auth"); $response->setContent("; var {$var_name} = \"{$auth['ticket']}\";"); } else { $response->setContent("; var {$var_name} = null;"); } $response->send(); }); $app->get('/api/sso/status/{ticket:[0-9A-Z]+}', function ($ticket) { BaseController::auth(); BaseController::run(new SsoController(), 'getStatusAction', array($ticket)); }); $app->put('/api/sso/status/{ticket:[0-9A-Z]+}', function ($ticket) { }); $app->delete('/api/sso/status/{ticket:[0-9A-Z]+}', function ($ticket) { BaseController::auth(); BaseController::run(new SsoController(), 'deleteStatusAction', array($ticket)); });
/** * Export language translations. * * @param int $id Language identity. * * @return void|ResponseInterface * * @Route("/export/{id:[0-9]+}", methods={"GET", "POST"}, name="admin-languages-export") */ public function exportAction($id) { $item = Language::findFirst($id); if (!$item) { $this->flashSession->error($this->i18n->_('Language not found!')); return $this->response->redirect(['for' => "admin-languages"]); } $form = new Export($item); $this->view->form = $form; $this->disableFooter(); if (!$this->request->isPost()) { return; } $scope = $this->request->get('scope', null, []); header("Content-disposition: attachment; filename=language-{$item->language}-{$item->locale}.json"); header('Content - type: application / json'); $response = new Response(); $response->setContent($item->toJson($scope)); return $response; }
/** * @param array $data * @param int $status * @return Response */ public function response($data = array(), $status = 200) { $response = new Response(); $response->setStatusCode($status); $response->setContent(!empty($this->_statuses[$status]) ? $this->_statuses[$status] : null); $response->setHeader('Content-type', 'application/json'); $response->setHeader('api-version', '1.0'); $devDebug = $this->request->get('devDebug'); if (true == $devDebug) { $profiles = $this->getDI()->get('profiler')->getProfiles(); foreach ($profiles as $profile) { $data['SQL Statement'] = $profile->getSQLStatement(); $data['Start Time'] = $profile->getInitialTime(); $data['Final Time'] = $profile->getFinalTime(); $data['Total Elapsed Time'] = $profile->getTotalElapsedSeconds(); } } $response->setJsonContent($data, JSON_PRETTY_PRINT); return $response; }
/** * Create an issue of a product. * @param long $productId - the unique ID of the product * @return an HttpResponse contains data validation result */ public function createIssueAction($productId) { $issueTitle = $this->getFilteredContent(strip_tags($this->request->getPost('issueTitle'))); $issueCategorySlug = $this->getFilteredContent(strip_tags($this->request->getPost('issueCategory'))); $productVersion = $this->getFilteredContent(strip_tags($this->request->getPost('productVersion'))); $issueDescription = $this->getFilteredContent(strip_tags($this->request->getPost('issueDescription'))); $isTokenValid = $this->security->checkToken(); $productService = ServiceFactory::getService('ProductService'); $issueService = ServiceFactory::getService('IssueService'); $product = $productService->getProductObjectUsingId($productId); $hunter = $this->getCurrentUserObject($this->session); if ($product == NULL) { $this->forward('errors/resourceNotFound'); return; } $result = $issueService->createIssue($product, $productVersion, $issueCategorySlug, $hunter, $issueTitle, $issueDescription, $isTokenValid); if ($isTokenValid) { $result['csrfTokenKey'] = $this->security->getTokenKey(); $result['csrfToken'] = $this->security->getToken(); } if ($isSuccessful) { $issueId = $result['issueId']; $ipAddress = $this->request->getClientAddress(); $this->logger->log(sprintf('Issue #%d created by User[%s] at %s.', $issueId, $hunter, $ipAddress), Logger::INFO); } $response = new Response(); $response->setHeader('Content-Type', 'application/json'); $response->setContent(json_encode($result)); return $response; }
use Phalcon\Mvc\Micro; use Phalcon\Http\Response; use Phalcon\Loader; use Phalcon\DI\FactoryDefault; use Phalcon\Db\Adapter\Pdo\Mysql as PdoMysql; $loader = new Loader(); $loader->registerDirs(array(__DIR__ . '/models/'))->register(); $di = new FactoryDefault(); $di->set('db', function () { return new PdoMysql(array("host" => "localhost", "username" => "root", "password" => "", "dbname" => "classicmodels")); }); $app = new Micro($di); $app->get('/', function () { $response = new Response(); $response->setContent('<h1 style="text-align:center">Sorry, the page doesn\'t exist</h1>'); $response->send(); }); $app->get('/api/customers/top/{year}', function ($year) use($app) { $phql = "SELECT customers.customerNumber,customers.contactLastName, customers.contactFirstName, customers.customerName,SUM(orderdetails.quantityOrdered) FROM orders \n\t\t\t\t\t INNER JOIN customers on customers.customerNumber = orders.customerNumber\n\t\t\t\t\t INNER JOIN orderdetails on orderdetails.orderNumber = orders.orderNumber\n\t\t\t\t\t WHERE orders.orderDate BETWEEN :startDate: AND :endDate:\n\t\t\t\t\t AND orderdetails.quantityOrdered GROUP BY customers.customerNumber\n\t\t\t\t\t ORDER BY SUM(orderdetails.quantityOrdered) DESC LIMIT 5 "; $result = $app->modelsManager->executeQuery($phql, array('startDate' => $year . '-01-01', 'endDate' => $year . '-12-12')); $data = array(); foreach ($result as $customer) { $data[] = array('id' => utf8_encode($customer->customerNumber), 'name' => utf8_encode($customer->customerName), 'contact_lname' => utf8_encode($customer->contactLastName), 'contact_fname' => utf8_encode($customer->contactFirstName)); } echo json_encode($data); }); $app->get('/api/productline/top/{productLine}', function ($productLine) use($app) { $phql = "\n\t\t\t SELECT orderdetails.productCode,products.productName,products.productLine,products.buyPrice, SUM(orderdetails.quantityOrdered) \n\t\t\t FROM orderdetails \n\t\t\t INNER JOIN products on products.productCode = orderdetails.productCode \n\t\t\t INNER JOIN orders on orders.orderNumber = orderdetails.orderNumber \n\t\t\t WHERE orders.orderDate BETWEEN '2003-01-01' AND '2005-12-12' AND products.productLine = :productLine:\n\t\t\t GROUP BY orderdetails.productCode ORDER BY SUM(orderdetails.quantityOrdered) DESC LIMIT 5"; $results = $app->modelsManager->executeQuery($phql, array('productLine' => $productLine)); $data = array();
/** * Main run block that executes the micro application * */ public function run() { // Handle any routes not found $this->notFound(function () { $response = new Response(); $response->setStatusCode(404, 'Not Found')->sendHeaders(); $response->setContent('Page doesn\'t exist.'); $response->send(); }); $this->handle(); }
public function setContent($content) { return parent::setContent($content); }
/** * Sitemap generator */ public function sitemapAction() { $this->view->disable(); $cacheKey = 'post-sitemap.cache'; $sitemap = $this->utils->cacheGet($cacheKey); if (null === $sitemap) { /** * All posts */ $template = 'http://www.niden.net/post/%s'; $posts = $this->finder->getPosts(); $data = []; foreach ($posts as $post) { $data[] = ['location' => sprintf($template, $post['slug']), 'lastModified' => $post['date'], 'changeFrequency' => 'monthly', 'priority' => 0.5]; } $sitemap = $this->viewSimple->render('posts/sitemap', ['sitemap' => $data]); $this->cache->save($cacheKey, $sitemap); } $response = new Response(); $response->setHeader('Content-Type', 'application/xml'); $response->setContent($sitemap); return $response; }
/** * Injects the web debug toolbar into the given Response. * Based on https://github.com/symfony/WebProfilerBundle/blob/master/EventListener/WebDebugToolbarListener.php * * @param Response $response */ public function injectDebugbar(Response $response) { $content = $response->getContent(); $renderer = $this->getJavascriptRenderer(); if ($this->getStorage()) { $openHandlerUrl = $this->di['url']->get(array('for' => 'debugbar.openhandler')); $renderer->setOpenHandlerUrl($openHandlerUrl); } $renderedContent = $renderer->renderHead() . $renderer->render(); $pos = strripos($content, '</body>'); if (false !== $pos) { $content = substr($content, 0, $pos) . $renderedContent . substr($content, $pos); } else { $content = $content . $renderedContent; } $response->setContent($content); }
/** * 发送常规文本格式的Http响应 * * @param integer $statusCode Http状态码 * @param string $explain 状态描述 * @param string $content 内容 * @return Response */ protected function response($statusCode, $explain, $content = '') { $response = new Response(); $response->setStatusCode($statusCode, $explain); $response->setContent($content); return $response; }
/** * Create an invoice download response. * * @param array $data */ public function download(array $data) { $filename = $data['product'] . '_' . $this->date()->month . '_' . $this->date()->year . '.pdf'; $response = new Response(); $response->setHeader('Content-Description', 'File Transfer'); $response->setHeader('Content-Disposition', 'attachment; filename="' . $filename . '"'); $response->setStatusCode(200, 'OK'); $response->setContent($this->pdf($data)); $response->setContentType('application/pdf'); return $response->send(); }
/** * * @param type $fileName * @param type $fileTemp * @return type */ private function download($fileName, $fileTemp) { $this->view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_NO_RENDER); $response = new Response(); $response->setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); $response->setHeader('Content-Disposition', 'attachment;filename="' . $fileName . '"'); $response->setHeader('Cache-Control', 'max-age=0'); //$response->setHeader('Cache-Control', 'max-age=1'); $response->setContent(file_get_contents($fileTemp)); unlink($fileTemp); return $response->send(); }
<?php use Phalcon\Mvc\Micro, Phalcon\Http\Response; $app = new Micro(); //Return a response $app->get('/welcome/index', function () { $response = new Response(); $response->setStatusCode(401, "Unauthorized"); $response->setContent("Access is not authorized"); return $response; });