Release plat/al core v1.1.13
[platal.git] / include / wiki.engine.inc.php
index 956d39c..b7f323b 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2008 Polytechnique.org                              *
+ *  Copyright (C) 2003-2011 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -43,14 +43,14 @@ switch (Env::v('action')) {
 if ($p = Post::v('setrperms')) {
     $wp->applyPerms('admin');
     if ($wp->setPerms($p, $wp->writePerms())) {
-        $page->trigSuccess('Permissions mises à jour');
+        Platal::page()->trigSuccess('Permissions mises à jour');
     }
 }
 
 if ($p = Post::v('setwperms')) {
     $wp->applyPerms('admin');
     if ($wp->setPerms($wp->readPerms(), $p)) {
-        $page->trigSuccess('Permissions mises à jour');
+        Platal::page()->trigSuccess('Permissions mises à jour');
     }
 }
 
@@ -59,7 +59,8 @@ $wiki_cache   = $wp->cacheFilename();
 $cache_exists = file_exists($wiki_cache);
 if (Env::v('action') || !$cache_exists) {
     if ($cache_exists && !$feed) {
-        unlink($wiki_cache);
+        $wp->removePageCache();
+        $cache_exists = false;
     }
 
     // we leave pmwiki do whatever it wants and store everything
@@ -67,7 +68,6 @@ if (Env::v('action') || !$cache_exists) {
     require_once($globals->spoolroot . '/wiki/pmwiki.php');
 
     $wikiAll = ob_get_clean();
-    pl_clear_errors();
 
     // the pmwiki skin we are using (almost empty) has these keywords:
     $i = strpos($wikiAll, "<!--/HeaderText-->");
@@ -77,14 +77,13 @@ if (Env::v('action') || !$cache_exists) {
 $wiki_exists = file_exists($wp->filename());
 
 $page =& Platal::page();
-$page->changeTpl('core/wiki.tpl');
+$page->coreTpl('wiki.tpl');
 
 if ($feed) {
     $wikiAll = str_replace('dc:contributor', 'author', $wikiAll);
     $wikiAll = preg_replace('!<author>.*?\..*?\.(\d{4})\|(.*?)</author>!u', '<author>$2 (X$1)</author>', $wikiAll);
     $wikiAll = str_replace('<link>./', '<link>' . $globals->baseurl . '/' . $platal->ns, $wikiAll);
     echo $wikiAll;
-    pl_clear_errors();
     exit;
 } elseif (Env::v('action')) {
     $page->assign('pl_extra_header', substr($wikiAll, 0, $i));
@@ -95,11 +94,12 @@ if ($feed) {
         file_put_contents($wiki_cache, $wikiAll);
     } elseif ($cache_exists) {
         $wikiAll = file_get_contents($wiki_cache);
-    } elseif (S::has_perms()) {
+    } elseif (S::admin()) {
         $wikiAll = "<p>La page de wiki $n n'existe pas. "
                  . "Il te suffit de <a href='" . str_replace('.', '/', $n) . "?action=edit'>l'éditer</a></p>";
     } else {
-        $page->changeTpl('core/404.tpl');
+        global $platal;
+        $platal->error404();
     }
 }
 
@@ -110,7 +110,7 @@ $page->assign('perms', array($wp->readPerms(), $wp->writePerms()));
 $page->assign('perms_opts', PlWikiPage::permOptions());
 
 $page->assign('canedit',    $wp->canWrite());
-$page->assign('has_perms',  S::has_perms());
+$page->assign('has_perms',  S::admin());
 
 $page->assign('wikipage', str_replace('.', '/', $n));
 if (!$feed && $wp->writePerms() == 'admin' && !Env::v('action') && $wiki_exists) {
@@ -124,12 +124,12 @@ $page->addJsLink('wiki.js');
 if (!Env::v('action')) {
     $url = '/' . str_replace('.', '/', $n) . '?action=rss';
     if (S::logged()) {
-        $url .= '&user=' . S::v('forlife') . '&hash=' . S::v('core_rss_hash');
+        $url .= '&user=' . S::user()->login() . '&hash=' . S::v('core_rss_hash');
     }
     $page->setRssLink($n, $url);
 }
 
 $page->run();
 
-// 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:
 ?>