Rename CoreLogger to PlLogger
[platal.git] / include / wiki.inc.php
index de810be..906c0e1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2007 Polytechnique.org                              *
+ *  Copyright (C) 2003-2008 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -122,10 +122,7 @@ function wiki_apply_feed_perms($perm)
 
     require_once 'rss.inc.php';
     $uid = init_rss(null, Env::v('user'), Env::v('hash'));
-    if (!$uid) {
-        exit;
-    }
-    $res = XDB::query('SELECT user_id, IF (nom_usage <> \'\', nom_usage, nom) AS nom, prenom, perms
+    $res = XDB::query('SELECT user_id AS uid, IF (nom_usage <> \'\', nom_usage, nom) AS nom, prenom, perms
                          FROM auth_user_md5
                         WHERE user_id = {?}', $uid);
     if (!$res->numRows()) {
@@ -133,7 +130,9 @@ function wiki_apply_feed_perms($perm)
     }
     $table = $res->fetchOneAssoc();
     $_SESSION = array_merge($_SESSION, $table, array('forlife' => Env::v('user')));
-    if ($perm == 'logged' || S::has_perms()) {
+    require_once 'xorg/session.inc.php';
+    $_SESSION['perms'] =& XorgSession::make_perms($_SESSION['perms']);
+    if ($perm == 'logged' || $_SESSION['perms']->hasFlag('admin')) {
         return;
     }
     exit;
@@ -170,8 +169,10 @@ 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');
+    if (is_file(wiki_work_dir().'/cache_'.$pagename_dots.'.tpl')) {
+        return;
+    }
+    system('wget --no-check-certificate '. escapeshellarg($globals->baseurl.'/'.$pagename_slashes) . ' -O /dev/null');
 }
 
 function wiki_delete_page($pagename)
@@ -181,7 +182,7 @@ function wiki_delete_page($pagename)
         return false;
     }
     $file  = wiki_work_dir().'/'.wiki_filename($pagename_dots);
-    $cachefile = wiki_work_dir().'/cache_'.$pagename_dots.'.tpl'; 
+    $cachefile = wiki_work_dir().'/cache_'.$pagename_dots.'.tpl';
     if (is_file($cachefile)) {
         unlink($cachefile);
     }
@@ -228,7 +229,7 @@ function wiki_rename_page($pagename, $newname, $changeLinks = true)
     }
     $groupname = substr($pagename_dots, 0, strpos($pagename_dots,'.'));
     $newgroupname = substr($newname_dots, 0, strpos($pagename_dots,'.'));
-    
+
     $file  = wiki_work_dir().'/'.wiki_filename($pagename_dots);
     $newfile  = wiki_work_dir().'/'.wiki_filename($newname_dots);
     if (!is_file($file)) {