function render($request, $response) { $config = $this->import("Config"); $config = Util\array_delete_key("Pages", $config) ?: array(); $renderTextile = isset($config["render_textile"]) ? $config["render_textile"] : true; $page = $request->meta("page"); if (strpos($page, "_") === 0 or strpos($page, "/_") !== false) { throw new \Spark\Controller\Exception("Page is hidden", 404); } $page = Page::find($page); $page->setRenderTextile($renderTextile); $response->append($page->getContent()); }
function handle($token, $data, $view, array $options) { $escape = true; // Should we escape? switch ($token) { case Lexer::TOKEN_VARIABLE: break; case Lexer::TOKEN_VARIABLE_RAW: $escape = false; break; default: return; } $format = Util\array_delete_key("format", $options) ?: "Y-m-d H:i:s"; // Handle some predefined formats switch ($format) { case self::FORMAT_SHORT: $format = "j. M. y G:i"; break; case self::FORMAT_LONG: $format = "j. F Y G:i"; break; case self::FORMAT_SHORT_DATE: $format = "j. M. y"; break; default: // do nothing } try { $date = new DateTime($this->getRenderer()->getValue($data, $view)); } catch (\Exception $e) { return ""; } $formatted = $date->format($format); return $escape ? $this->getRenderer()->escape($formatted) : $formatted; }