X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fplwikipage.php;h=19cb73624604d116d721fea8128175da34da4fa8;hb=fa7ffd661d77b24cdb385aca7bdb04c938214061;hp=6f28191fc84eb8732ba70b173a020f7053d7236e;hpb=ec537891a3f18af89489062c0907523d3d57cced;p=platal.git diff --git a/classes/plwikipage.php b/classes/plwikipage.php index 6f28191..19cb736 100644 --- a/classes/plwikipage.php +++ b/classes/plwikipage.php @@ -1,6 +1,6 @@ name . '.tpl'; } + /** Remove the cache for the current page. + */ + public function removePageCache() + { + @unlink($this->cacheFilename()); + global $globals; + $page = glob($globals->spoolroot . '/spool/templates_c/*cache_' . $this->name . '.tpl.php'); + if (count($page) > 0) { + @unlink($page[0]); + } + } + /** Fetch the content of the wiki page. */ private function fetchContent() @@ -392,10 +404,11 @@ class PlWikiPage case 'public': return true; case 'logged': - case 'mdp': return S::logged(); + case 'mdp': + return S::identified(); case 'admin': - return S::has_perms(); + return S::admin(); default: return false; } @@ -409,11 +422,19 @@ class PlWikiPage case 'public': return; case 'logged': - Platal::session()->start(AUTH_PUBLIC + 1); - return; + $ok = Platal::session()->start(AUTH_PUBLIC + 1); + break; default: - Platal::session()->start(Platal::session()->sureLevel()); - return; + $ok = Platal::session()->start(Platal::session()->sureLevel()); + break; + } + if (!$ok) { + global $platal; + $page =& Platal::page(); + $platal->force_login($page); + } else if ($perm == 'admin' && !S::admin()) { + global $platal; + $platal->error403(); } } @@ -461,5 +482,5 @@ class PlWikiPage } } -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>