#485: can moderate pure-HTML mails
[platal.git] / include / wiki.inc.php
index 3b441bc..cd506e6 100644 (file)
  ***************************************************************************/
 
 function wiki_pagename() {
-    if (!Get::get('n')) {
+    if (!Get::v('n')) {
         return null;
     }
 
-    $words = explode('/', trim(Get::get('n'), '/'));
+    $words = explode('/', trim(Get::v('n'), '/'));
     if (count($words) == 2) {
         return join('.', $words);
     }
@@ -46,12 +46,17 @@ function wiki_clear_all_cache()
     system('rm -f '.wiki_work_dir().'/cache_*');
 }
 
+function wiki_perms_options() {
+    return array('public' => 'Public', 'logged' => 'Connecté',
+                  'mdp' => 'Authentifié', 'admin' => 'Admin');
+}
+
 function wiki_get_perms($n)
 {
     $file  = wiki_work_dir().'/'.str_replace('/', '.', $n);
     $lines = explode("\n", @file_get_contents($file));
     foreach ($lines as $line) {
-        list($k, $v) = explode('=', $line, 2);
+        @list($k, $v) = explode('=', $line, 2);
         if ($k == 'platal_perms') {
             return explode(':', $v);
         }
@@ -99,22 +104,22 @@ function wiki_may_have_perms($perm) {
 }
 
 function wiki_apply_perms($perm) {
-    global $page, $platal;
+    global $page, $platal, $globals;
 
     switch ($perm) {
       case 'public':
         return;
 
       case 'logged':
-        if (!XorgSession::doAuthCookie()) {
+        if (!call_user_func(array($globals->session, 'doAuthCookie'))) {
             $platal = new Platal();
             $platal->force_login($page);
         }
         return;
 
       default:
-        if (!XorgSession::doAuth()) {
-            $platal = new Platal();
+        if (!call_user_func(array($globals->session, 'doAuth'))) {
+            $platal = empty($GLOBALS['IS_XNET_SITE']) ? new Platal() : new Xnet();
             $platal->force_login($page);
         }
         if ($perm == 'admin') {
@@ -124,4 +129,13 @@ function wiki_apply_perms($perm) {
     }
 }
 
+function wiki_require_page($pagename)
+{
+    global $globals;
+    $pagename_slashes = str_replace('.','/',$pagename);
+    $pagename_dots = str_replace('/','.',$pagename);
+    if (is_file(wiki_work_dir().'/cache_'.$pagename_dots.'.tpl')) return;
+    system('wget '.$globals->baseurl.'/'.$pagename_slashes.' -O /dev/null');
+}
+
 ?>