}
new_skinned_page('wiki.tpl');
+$perms = wiki_get_perms($n);
-switch (Env::get('action')) {
+switch (Env::v('action')) {
case '':
- list($r) = get_perms($n);
- wiki_apply_perms($r);
+ wiki_apply_perms($perms[0]);
break;
case 'edit':
- list(, $e) = get_perms($n);
- wiki_apply_perms($e);
+ wiki_apply_perms($perms[1]);
break;
default:
break;
}
+if ($p = Post::v('setrperms')) {
+ wiki_apply_perms('admin');
+ if (wiki_set_perms($n, $p, $perms[1])) {
+ $perms = wiki_get_perms($n);
+ $page->trig('Permissions mises à jour');
+ }
+}
+
+if ($p = Post::v('setwperms')) {
+ wiki_apply_perms('admin');
+ if (wiki_set_perms($n, $perms[0], $p)) {
+ $perms = wiki_get_perms($n);
+ $page->trig('Permissions mises à jour');
+ }
+}
+
$wiki_cache = wiki_work_dir().'/cache_'.$n.'.tpl';
$cache_exists = file_exists($wiki_cache);
-if (Env::get('action') || !$cache_exists) {
+if (Env::v('action') || !$cache_exists) {
@unlink($wiki_cache);
// we leave pmwiki do whatever it wants and store everything
$j = strpos($wikiAll, "<!--/PageLeftFmt-->", $i);
}
-if (Env::get('action')) {
+if (Env::v('action')) {
$page->assign('xorg_extra_header', substr($wikiAll, 0, $i));
$wikiAll = substr($wikiAll, $j);
} else {
if (!$cache_exists) {
- $f = fopen($wiki_cache, 'w');
$wikiAll = substr($wikiAll, $j);
- fputs($f, $wikiAll);
- fclose($f);
+ wiki_putfile($wiki_cache, $wikiAll);
} else {
$wikiAll = file_get_contents($wiki_cache);
}
}
+$page->assign('perms', $perms);
+$page->assign('perms_opts',
+ array('public' => 'Public', 'logged' => 'Connecté',
+ 'mdp' => 'Authentifié', 'admin' => 'Admin'));
+
+$page->assign('canedit', wiki_may_have_perms($perms[1]));
+$page->assign('has_perms', wiki_may_have_perms('admin'));
+
$page->assign('wikipage', str_replace('.', '/', $n));
-$page->assign('pmwiki', $wikiAll);
-$page->assign('has_perms', S::has_perms());
+$page->assign('pmwiki', $wikiAll);
+
$page->addCssLink('css/wiki.css');
+$page->addJsLink('javascript/wiki.js');
$page->run();
?>