Subversion Repositories Applications.papyrus

Rev

Rev 226 | Rev 232 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 226 Rev 227
Line 19... Line 19...
19
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | You should have received a copy of the GNU Lesser General Public                                     |
20
// | License along with this library; if not, write to the Free Software                                  |
20
// | License along with this library; if not, write to the Free Software                                  |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// |                                                                                                      |
22
// |                                                                                                      |
23
// +------------------------------------------------------------------------------------------------------+
23
// +------------------------------------------------------------------------------------------------------+
24
// CVS : $Id: pap_initialise_auth.inc.php,v 1.10 2004-12-07 19:13:51 alex Exp $
24
// CVS : $Id: pap_initialise_auth.inc.php,v 1.11 2004-12-13 18:06:52 alex Exp $
25
/**
25
/**
26
* Initialisation de l'authentification.
26
* Initialisation de l'authentification.
27
*
27
*
28
* Suite à la recherche des informations depuis la base de données nous initialisons
28
* Suite à la recherche des informations depuis la base de données nous initialisons
29
* l'authentification des utilisateurs si le site l'utilise.
29
* l'authentification des utilisateurs si le site l'utilise.
Line 35... Line 35...
35
//Auteur original :
35
//Auteur original :
36
*@author            Alexandre GRANIER <alex@tela-botanica.org>
36
*@author            Alexandre GRANIER <alex@tela-botanica.org>
37
//Autres auteurs :
37
//Autres auteurs :
38
*@author            Jean-Pascal MILCENT <jpm@tela-botanica.org>
38
*@author            Jean-Pascal MILCENT <jpm@tela-botanica.org>
39
*@copyright         Tela-Botanica 2000-2004
39
*@copyright         Tela-Botanica 2000-2004
40
*@version           $Revision: 1.10 $ $Date: 2004-12-07 19:13:51 $
40
*@version           $Revision: 1.11 $ $Date: 2004-12-13 18:06:52 $
41
// +------------------------------------------------------------------------------------------------------+
41
// +------------------------------------------------------------------------------------------------------+
42
*/
42
*/
Line 43... Line 43...
43
 
43
 
44
// +------------------------------------------------------------------------------------------------------+
44
// +------------------------------------------------------------------------------------------------------+
Line 189... Line 189...
189
        $tab_parametre = explode (" ", $valeur['gsab_parametres']) ;
189
        $tab_parametre = explode (" ", $valeur['gsab_parametres']) ;
190
        foreach ($tab_parametre as $cle_param => $valeur_param) {
190
        foreach ($tab_parametre as $cle_param => $valeur_param) {
191
            $tab_valeur = explode ('=', $valeur_param) ;
191
            $tab_valeur = explode ('=', $valeur_param) ;
192
            if ($tab_valeur[0] == 'chemin_spip') $chemin_spip = $tab_valeur[1] ;
192
            if ($tab_valeur[0] == 'chemin_spip') $chemin_spip = $tab_valeur[1] ;
193
            if ($tab_valeur[0] == 'coauth') $coauth= $tab_valeur[1] ;
193
            if ($tab_valeur[0] == 'coauth') $coauth= $tab_valeur[1] ;
-
 
194
            if ($tab_valeur[0] == 'chemin_cookie_spip') $chemin_cookie_spip = $tab_valeur[1] ;
194
        }
195
        }
195
    }
196
    }
196
}
197
}
Line 202... Line 203...
202
}
203
}
Line 203... Line 204...
203
 
204
 
204
if (isset ($chemin_spip) && isset ($coauth) && $coauth == $auth_courante['gsab_id_auth_bdd']&& $_GEN_commun['pear_auth']->getAuth()) {
205
if (isset ($chemin_spip) && isset ($coauth) && $coauth == $auth_courante['gsab_id_auth_bdd']&& $_GEN_commun['pear_auth']->getAuth()) {
Line 205... Line 206...
205
    $login = $_GEN_commun['pear_auth']->getUsername() ;
206
    $login = $_GEN_commun['pear_auth']->getUsername() ;
206
    
-
 
Line 207... Line -...
207
    setcookie("spip_admin", "@".$login, time()+3600*24*30, "/$chemin_spip/") ;
-
 
208
        set_include_path(get_include_path().":".$chemin_spip) ;
-
 
209
 
-
 
210
    include_once 'ecrire/inc_db_mysql.php3' ;
-
 
211
    
-
 
212
    include_once ("ecrire/inc_version.php3");
-
 
213
    ob_flush() ;
-
 
214
 
-
 
215
    include_ecrire ("inc_meta.php3");
207
    
216
    include_ecrire ("inc_session.php3");
208
    setcookie("spip_admin", "@".$login, time()+3600*24*30, "/$chemin_cookie_spip/") ;
217
    
209
 
218
    $query = "SELECT * FROM spip_auteurs WHERE login='".$login."'";
210
    $query = "SELECT * FROM spip_auteurs WHERE login='".$login."'";
219
    $result = mysql_query($query);
211
    $result = $db->query($query);
Line -... Line 212...
-
 
212
    $GLOBALS['auteur_session'] = $result->fetchRow(DB_FETCHMODE_ASSOC) ;
-
 
213
    $GLOBALS['auteur_session']['statut'] = "1comite" ;
220
    $GLOBALS['auteur_session'] = mysql_fetch_array($result) ;
214
    $GLOBALS['auteur_session']['lang'] = "fr" ;
221
    $GLOBALS['auteur_session']['statut'] = "1comite" ;
215
 
222
    $GLOBALS['auteur_session']['lang'] = "fr" ;
216
    $userid = $GLOBALS['auteur_session']['id_auteur'] ;
Line 223... Line 217...
223
 
217
    $GLOBALS['__auteur_session__'] = $GLOBALS['auteur_session'] ;
224
    if (!$HTTP_COOKIE_VARS["spip_session"]) {
218
    if (!$HTTP_COOKIE_VARS["spip_session"]) {
225
        $id_session = $GLOBALS['auteur_session']['id_auteur']."_".(md5 (uniqid (rand ())));
219
        $id_session = $GLOBALS['auteur_session']['id_auteur']."_".(md5 (uniqid (rand ())));
226
        setcookie("spip_session", $id_session, time()+3600*24*30, "/$chemin_spip/") ;
220
        setcookie("spip_session", $id_session, time()+3600*24*30, "/$chemin_cookie_spip/") ;
-
 
221
 
-
 
222
    } else {
-
 
223
        $id_session = preg_replace("/[0-9]+_/", $userid."_", $HTTP_COOKIE_VARS["spip_session"]) ;
-
 
224
        setcookie("spip_session", $id_session, time()+3600*24*30, "/$chemin_cookie_spip/") ;
-
 
225
    }
-
 
226
    
-
 
227
    set_include_path(get_include_path().":".$chemin_spip) ;
-
 
228
 
-
 
229
    include_once 'ecrire/inc_db_mysql.php3' ;
-
 
230
    
-
 
231
    include_once ("ecrire/inc_version.php3");
-
 
232
    ob_flush() ;    // Nécessaire car spip utilise un ob_start() et cela cause un plantage
Line 227... Line 233...
227
 
233
    
228
    } else {
234
    include_ecrire ("inc_meta.php3");
Line 229... Line 235...
229
        $id_session = preg_replace("/[0-9]+_/", $userid."_", $HTTP_COOKIE_VARS["spip_session"]) ;
235
    include_ecrire ("inc_session.php3");
230
        setcookie("spip_session", $id_session, time()+3600*24*30, "/$chemin_spip/") ;
236
    
231
    }
237
 
232
 
-
 
233
    $fichier_session = fichier_session($id_session, lire_meta('alea_ephemere'));
238
 
234
    $fichier_session = $chemin_spip."/ecrire/".$fichier_session ;
239
    $fichier_session = fichier_session($id_session, lire_meta('alea_ephemere'));
235
 
240
    $fichier_session = $chemin_spip."/ecrire/".$fichier_session ;
-
 
241
 
236
    $vars = array('id_auteur', 'nom', 'login', 'email', 'statut', 'lang', 'ip_change', 'hash_env');
242
    $vars = array('id_auteur', 'nom', 'login', 'email', 'statut', 'lang', 'ip_change', 'hash_env');
Line 237... Line 243...
237
 
243
    
238
    $texte = "<"."?php\n";
244
    $texte = "<"."?php\n";
239
    reset($vars);
245
    foreach ($vars as $var) {
240
    while (list(, $var) = each($vars)) {
246
        $texte .= "\$GLOBALS['auteur_session']['$var'] = '".addslashes($GLOBALS['__auteur_session__'][$var])."';\n";
241
        $texte .= "\$GLOBALS['auteur_session']['$var'] = '".addslashes($auteur[$var])."';\n";
247
    }
242
    }
-
 
243
    $texte .= "?".">\n";
-
 
244
 
248
    
Line 245... Line 249...
245
    if ($f = fopen($fichier_session, "wb")) {
249
    $texte .= "?".">\n";
Line 246... Line 250...
246
        fputs($f, $texte);
250
 
Line 247... Line 251...
247
        fclose($f);
251
    if ($f = fopen($fichier_session, "wb")) {
248
    } else {die ('gnac');
252
        fputs($f, $texte);
-
 
253
        fclose($f);
-
 
254
    } else {
-
 
255
        echo 'erreur dans l ecriture de la session SPIP' ;
249
        $dir = $GLOBALS['flag_ecrire'] ? '../' : '';
256
    }
250
         @header("Location: ${dir}spip_test_dirs.php3");
257
 
251
        exit;
258
        //ajouter_session($GLOBALS['auteur_session'], $id_session) ;
252
    }
259
 
253
 
260
}