path;
$feed = false;
// Check user perms
switch (Env::v('action')) {
case 'rss': case 'atom': case 'sdf': case 'dc':
$wp->prepareFeed();
$feed = true;
case '': case 'search':
break;
case 'edit':
$wp->applyWritePerms();
break;
default:
$wp->applyReadPerms();
break;
}
if ($p = Post::v('setrperms')) {
$wp->applyPerms('admin');
if ($wp->setPerms($p, $wp->writePerms())) {
Platal::page()->trigSuccess('Permissions mises à jour');
}
}
if ($p = Post::v('setwperms')) {
$wp->applyPerms('admin');
if ($wp->setPerms($wp->readPerms(), $p)) {
Platal::page()->trigSuccess('Permissions mises à jour');
}
}
// Generate cache even if we don't have access rights
$wiki_cache = $wp->cacheFilename();
$cache_exists = file_exists($wiki_cache);
if (Env::v('action') || !$cache_exists) {
if ($cache_exists && !$feed) {
unlink($wiki_cache);
}
// we leave pmwiki do whatever it wants and store everything
ob_start();
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, "");
$j = strpos($wikiAll, "", $i);
}
$wiki_exists = file_exists($wp->filename());
$page =& Platal::page();
$page->coreTpl('wiki.tpl');
if ($feed) {
$wikiAll = str_replace('dc:contributor', 'author', $wikiAll);
$wikiAll = preg_replace('!
La page de wiki $n n'existe pas. " . "Il te suffit de l'éditer
"; } else { global $platal; $platal->error404(); } } // Check user perms $wp->applyReadPerms(); $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('wikipage', str_replace('.', '/', $n)); if (!$feed && $wp->writePerms() == 'admin' && !Env::v('action') && $wiki_exists) { $page->assign('pmwiki_cache', $wiki_cache); } else { $page->assign('pmwiki', $wikiAll); $page->assign('text', true); } $page->addCssLink('wiki.css'); $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'); } $page->setRssLink($n, $url); } $page->run(); // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>