Implements a dirty version of tokenAuth in XorgSession (waiting for hruid).
[platal.git] / include / wiki.inc.php
index ae81f03..0abf171 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,24 +122,19 @@ function wiki_apply_feed_perms($perm)
 
     require_once 'rss.inc.php';
     $uid = init_rss(null, Env::v('user'), Env::v('hash'));
-    $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()) {
+    if (is_null($uid)) {
         exit;
     }
-    $table = $res->fetchOneAssoc();
-    $_SESSION = array_merge($_SESSION, $table, array('forlife' => Env::v('user')));
-    require_once 'xorg/session.inc.php';
-    $_SESSION['perms'] =& XorgSession::make_perms($_SESSION['perms']);
-    if ($perm == 'logged' || $_SESSION['perms']->hasFlag('admin')) {
+    if ($perm == 'logged' || S::has_perms()) {
         return;
     }
     exit;
 }
 
-function wiki_apply_perms($perm) {
-    global $page, $platal, $globals;
+function wiki_apply_perms($perm)
+{
+    global $platal, $globals;
+    $page =& Platal::page();
 
     switch ($perm) {
       case 'public':
@@ -169,8 +164,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)