rework sessions a little
authorPierre Habouzit (MadCoder <pierre.habouzit@m4x.org>
Sun, 17 Apr 2005 16:15:02 +0000 (16:15 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:28:33 +0000 (23:28 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-551

include/platal/session.inc.php [new file with mode: 0644]
include/xnet/exalead.inc.php [new file with mode: 0644]
include/xnet/session.inc.php
include/xorg/session.inc.php

diff --git a/include/platal/session.inc.php b/include/platal/session.inc.php
new file mode 100644 (file)
index 0000000..be9944e
--- /dev/null
@@ -0,0 +1,87 @@
+<?php
+/***************************************************************************
+ *  Copyright (C) 2003-2004 Polytechnique.org                              *
+ *  http://opensource.polytechnique.org/                                   *
+ *                                                                         *
+ *  This program is free software; you can redistribute it and/or modify   *
+ *  it under the terms of the GNU General Public License as published by   *
+ *  the Free Software Foundation; either version 2 of the License, or      *
+ *  (at your option) any later version.                                    *
+ *                                                                         *
+ *  This program is distributed in the hope that it will be useful,        *
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
+ *  GNU General Public License for more details.                           *
+ *                                                                         *
+ *  You should have received a copy of the GNU General Public License      *
+ *  along with this program; if not, write to the Free Software            *
+ *  Foundation, Inc.,                                                      *
+ *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
+ ***************************************************************************/
+
+require_once('diogenes/diogenes.core.session.inc.php');
+require_once('diogenes/diogenes.misc.inc.php');
+
+// {{{ function check_perms()
+
+/** verifie si un utilisateur a les droits pour voir une page
+ ** si ce n'est pas le cas, on affiche une erreur
+ * @return void
+ */
+function check_perms()
+{
+    global $page;
+    if (!has_perms()) {
+        if ($_SESSION['log']) {
+            require_once('diogenes/diogenes.core.logger.inc.php');
+            $_SESSION['log']->log("noperms",$_SERVER['PHP_SELF']);
+        }
+       $page->kill("Tu n'as pas les permissions nécessaires pour accéder à cette page.");
+    }
+}
+
+// }}}
+// {{{ function has_perms()
+
+/** verifie si un utilisateur a les droits pour voir une page
+ ** soit parce qu'il est admin, soit il est dans une liste
+ ** supplementaire de personnes utilisées
+ * @return BOOL
+ */
+    
+function has_perms()
+{
+    return logged() && Session::get('perms')==PERMS_ADMIN;
+}
+
+// }}}
+// {{{ function logged()
+
+/** renvoie true si la session existe et qu'on est loggué correctement
+ * false sinon
+ * @return bool vrai si loggué
+ * @see header2.inc.php
+ */
+function logged ()
+{
+    return Session::get('auth', AUTH_PUBLIC) >= AUTH_COOKIE;
+}
+
+// }}}
+// {{{ function identified()
+
+/** renvoie true si la session existe et qu'on est loggué correctement
+ * et qu'on a été identifié par un mot de passe depuis le début de la session
+ * false sinon
+ * @return bool vrai si loggué
+ * @see header2.inc.php
+ */
+function identified ()
+{
+    return Session::get('auth', AUTH_PUBLIC) >= AUTH_MDP;
+}
+
+// }}}
+
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
+?>
diff --git a/include/xnet/exalead.inc.php b/include/xnet/exalead.inc.php
new file mode 100644 (file)
index 0000000..9348843
--- /dev/null
@@ -0,0 +1,93 @@
+<?php
+
+require_once($globals->xnet->exalead.'/exalead.parser.inc.php');
+
+//Exemple de surclassement du parseur
+
+/*
+class OffreHit extends ExaleadHit{
+
+  var $titre = "";
+  var $description = "";
+  var $type_offre = "";
+  var $type_entr = "";
+  var $id = "";
+  var $zone = "";
+  var $pays = "";
+  var $entreprise = "";
+  var $entr_nom = "";
+  var $creation = "";
+  var $secteur = "";
+  var $fonction = "";
+  var $alumnus = "";
+  var $salaire = "";
+  var $experience = "";
+
+  function OffreHit(){
+    parent::ExaleadHit();
+  }
+
+  function clear(){
+    parent::clear();
+    $titre = "";
+    $description = "";
+    $type_offre = "";
+    $type_entr = "";
+    $id = "";
+    $id = "";
+    $zone = "";
+    $pays = "";
+    $entreprise = "";
+    $entr_nom = "";
+    $creation = "";
+    $secteur = "";
+    $fonction = "";
+    $alumnus = "";
+    $salaire = "";
+  }
+
+}
+
+class ExaleadOffre extends Exalead{
+
+  //var $currentOffreHit;
+  
+  function ExaleadOffre($base_cgi = ''){
+    parent::Exalead($base_cgi);
+    $this->currentHit = new OffreHit();
+  }
+
+  function endHit(){
+    $this->data->addHit($this->currentHit);
+    $this->currentHit->clear();
+  }
+
+  function endHitField(){
+  }
+
+  function startHit(&$attrs){
+    $res = explode('/', $attrs['URL']);
+    $this->currentHit->id = end($res);
+  }
+
+  function startHitField(&$attrs){
+    if(isset($attrs['VALUE'])){
+      if($attrs['NAME'] == 'creation'){
+        $date = utf8_decode($attrs['VALUE']);
+       $annee = substr($date, 0, 4);
+       $mois = substr($date, 5, 2);
+       $jour = substr($date, 8, 2);
+       $heure = substr($date, 11, 2);
+       $minute = substr($date, 14, 2);
+       $seconde = substr($date, 17, 2);
+        $this->currentHit->$attrs['NAME'] = mktime($heure, $minute, $seconde, $mois, $jour, $annee);
+      }
+      else
+        $this->currentHit->$attrs['NAME'] = utf8_decode($attrs['VALUE']);
+    }
+  }
+
+}
+*/
+
+?>
index bd395a3..add4dcc 100644 (file)
@@ -19,8 +19,7 @@
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-require_once('diogenes/diogenes.core.session.inc.php');
-require_once('diogenes/diogenes.misc.inc.php');
+require_once('platal/session.inc.php');
 
 // {{{ class XorgSession
 
@@ -28,13 +27,12 @@ class XnetSession extends DiogenesCoreSession
 {
     // {{{ function XorgSession()
 
-    function XorgSession()
+    function XnetSession()
     {
        $this->DiogenesCoreSession();
        if (!Session::has('uid')) {
            try_cookie();
         }
-       set_skin();
     }
 
     // }}}
@@ -43,7 +41,7 @@ class XnetSession extends DiogenesCoreSession
     function init() {
         @session_start();
         if (!Session::has('session')) {
-            $_SESSION['session'] = new XorgSession;
+            $_SESSION['session'] = new XnetSession;
         }
     }
     
@@ -53,7 +51,7 @@ class XnetSession extends DiogenesCoreSession
     function destroy() {
         @session_destroy();
         unset($_SESSION);
-        XorgSession::init();
+        XnetSession::init();
     }
     
     // }}}
index d9e9252..b3b8654 100644 (file)
@@ -19,8 +19,7 @@
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-require_once('diogenes/diogenes.core.session.inc.php');
-require_once('diogenes/diogenes.misc.inc.php');
+require_once('platal/session.inc.php');
 
 // {{{ class XorgSession
 
@@ -225,64 +224,6 @@ class XorgSession extends DiogenesCoreSession
 }
 
 // }}}
-// {{{ function check_perms()
-
-/** verifie si un utilisateur a les droits pour voir une page
- ** si ce n'est pas le cas, on affiche une erreur
- * @return void
- */
-function check_perms()
-{
-    global $page;
-    if (!has_perms()) {
-       require_once('diogenes/diogenes.core.logger.inc.php');
-       $_SESSION['log']->log("noperms",$_SERVER['PHP_SELF']);
-       $page->kill("Tu n'as pas les permissions nécessaires pour accéder à cette page.");
-    }
-}
-
-// }}}
-// {{{ function has_perms()
-
-/** verifie si un utilisateur a les droits pour voir une page
- ** soit parce qu'il est admin, soit il est dans une liste
- ** supplementaire de personnes utilisées
- * @return BOOL
- */
-    
-function has_perms()
-{
-    return logged() && Session::get('perms')==PERMS_ADMIN;
-}
-
-// }}}
-// {{{ function logged()
-
-/** renvoie true si la session existe et qu'on est loggué correctement
- * false sinon
- * @return bool vrai si loggué
- * @see header2.inc.php
- */
-function logged ()
-{
-    return Session::get('auth', AUTH_PUBLIC) >= AUTH_COOKIE;
-}
-
-// }}}
-// {{{ function identified()
-
-/** renvoie true si la session existe et qu'on est loggué correctement
- * et qu'on a été identifié par un mot de passe depuis le début de la session
- * false sinon
- * @return bool vrai si loggué
- * @see header2.inc.php
- */
-function identified ()
-{
-    return Session::get('auth', AUTH_PUBLIC) >= AUTH_MDP;
-}
-
-// }}}
 // {{{ function try_cookie()
 
 /** réalise la récupération de $_SESSION pour qqn avec cookie