X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=mdref%2FAction.php;h=df974b9f1f1595d9fb48f0ad2822475874ffbb1d;hb=80ea76521e2ccbbfac1ac0f33f91af1739ead561;hp=05e007fe37b0ea176dda8d9be8b738c2e273294e;hpb=904fc60f05894d6207e9ae85abda8c94283f7d28;p=mdref%2Fmdref diff --git a/mdref/Action.php b/mdref/Action.php index 05e007f..df974b9 100644 --- a/mdref/Action.php +++ b/mdref/Action.php @@ -29,7 +29,7 @@ class Action { * @var \http\Url */ private $baseUrl; - + /** * Initialize the reference */ @@ -44,7 +44,7 @@ class Action { function esc($txt) { return htmlspecialchars($txt); } - + /** * Create the view payload * @param \http\Controller $ctl @@ -52,8 +52,9 @@ class Action { */ private function createPayload() { $pld = new \stdClass; - + $pld->esc = "htmlspecialchars"; + $pld->anchor = [$this->reference, "formatAnchor"]; $pld->quick = [$this->reference, "formatString"]; $pld->file = [$this->reference, "formatFile"]; @@ -62,10 +63,10 @@ class Action { $pld->refs = $this->reference; $pld->baseUrl = $this->baseUrl; - + return $pld; } - + /** * Redirect to canononical url * @param string $cnn @@ -75,7 +76,7 @@ class Action { $this->response->setResponseCode(301); $this->response->send(); } - + /** * Serve index.css */ @@ -84,7 +85,7 @@ class Action { $this->response->setBody(new \http\Message\Body(fopen(ROOT."/public/index.css", "r"))); $this->response->send(); } - + /** * Serve index.js */ @@ -93,10 +94,11 @@ class Action { $this->response->setBody(new \http\Message\Body(fopen(ROOT."/public/index.js", "r"))); $this->response->send(); } - + /** * Serve a preset * @param \stdClass $pld + * @return true to continue serving the payload * @throws Exception */ private function servePreset($pld) { @@ -105,7 +107,7 @@ class Action { case "LICENSE": case "VERSION": $pld->text = file_get_contents(ROOT."/$pld->ref"); - break; + return true; case "index.css": $this->serveStylesheet(); break; @@ -115,6 +117,7 @@ class Action { default: throw new Exception(404, "$pld->ref not found"); } + return false; } private function serve() { @@ -122,7 +125,7 @@ class Action { include ROOT."/views/layout.phtml"; $this->response->send(); } - + public function handle() { try { @@ -138,15 +141,15 @@ class Action { /* direct match */ $pld->entry = $repo->getEntry($pld->ref); } - } else { - return $this->servePreset($pld); + } elseif (!$this->servePreset($pld)) { + return; } } - + } catch (\Exception $e) { $pld->exception = $e; } $this->serve($pld); } -} \ No newline at end of file +}