diff options
Diffstat (limited to 'app/Controller/Doc.php')
-rw-r--r-- | app/Controller/Doc.php | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/app/Controller/Doc.php b/app/Controller/Doc.php index 19644b84..f9f0a675 100644 --- a/app/Controller/Doc.php +++ b/app/Controller/Doc.php @@ -16,7 +16,7 @@ class Doc extends Base { $url = $this->helper->url; $data = file_get_contents($filename); - list($title,, $content) = explode("\n", $data, 3); + list($title,) = explode("\n", $data, 2); $replaceUrl = function (array $matches) use ($url) { return '('.$url->to('doc', 'show', array('file' => str_replace('.markdown', '', $matches[1]))).')'; @@ -32,16 +32,24 @@ class Doc extends Base public function show() { - $filename = $this->request->getStringParam('file', 'index'); + $page = $this->request->getStringParam('file', 'index'); - if (! preg_match('/^[a-z0-9\-]+/', $filename)) { - $filename = 'index'; + if (! preg_match('/^[a-z0-9\-]+/', $page)) { + $page = 'index'; } - $filename = __DIR__.'/../../doc/'.$filename.'.markdown'; + $filenames = array(__DIR__.'/../../doc/'.$page.'.markdown'); + $filename = __DIR__.'/../../doc/index.markdown'; - if (! file_exists($filename)) { - $filename = __DIR__.'/../../doc/index.markdown'; + if ($this->config->getCurrentLanguage() === 'fr_FR') { + array_unshift($filenames, __DIR__.'/../../doc/fr/'.$page.'.markdown'); + } + + foreach ($filenames as $file) { + if (file_exists($file)) { + $filename = $file; + break; + } } $this->response->html($this->template->layout('doc/show', $this->readFile($filename) + array( |