Subversion Repositories Applications.papyrus

Rev

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

Rev 2079 Rev 2084
Line 1... Line 1...
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
Line 71... Line 71...
71
// +------------------------------------------------------------------------------------------------------+
71
// +------------------------------------------------------------------------------------------------------+
Line 72... Line 72...
72
 
72
 
73
// Si le site utilise une authentification.
73
// Si le site utilise une authentification.
74
if ($GLOBALS['_GEN_commun']['info_auth']->gsa_ce_type_auth == 1) {
74
if ($GLOBALS['_GEN_commun']['info_auth']->gsa_ce_type_auth == 1) {
-
 
75
	$cookie_persistant_nom = session_name().'-memo';
75
	$cookie_persistant_nom = session_name().'-memo';
76
	$cookie_utilisateur_nom = session_name().'-utilisateur';
76
    // Si un formulaire nous renvoie en POST une variable "deconnexion", nous délogons l'utilisateur.
77
    // Si un formulaire nous renvoie en POST une variable "deconnexion", nous délogons l'utilisateur.
77
    if ((isset($_REQUEST['deconnexion']) || isset($_REQUEST['logout']))) {
78
    if ((isset($_REQUEST['deconnexion']) || isset($_REQUEST['logout']))) {
78
		$GLOBALS['_GEN_commun']['pear_auth']->logout();
79
		$GLOBALS['_GEN_commun']['pear_auth']->logout();
79
		// Destruction du cookie de session de Papyrus : est ce utile?
80
		// Destruction du cookie de session de Papyrus : est ce utile?
80
		setcookie(session_name(), session_id(), time()-3600, '/');
81
		setcookie(session_name(), session_id(), time()-3600, '/');
81
		// Destruction du cookie de permanence de l'identitification de Papyrus
82
		// Destruction du cookie de permanence de l'identitification de Papyrus
82
		setcookie($cookie_persistant_nom, '', time()-3600, '/');
83
		setcookie($cookie_persistant_nom, '', time()-3600, '/');
83
		setcookie('pap-annuaire_tela-utilisateur', '', time()-3600, '/');
-
 
84
		//$GLOBALS['_GEN_commun']['pear_auth']->start();
-
 
85
    } else {
84
		setcookie($cookie_utilisateur_nom, '', time()-3600, '/');
86
    	if (isset($_REQUEST['connexion'])) {
85
    } else if (isset($_REQUEST['connexion'])) {
-
 
86
    	// Si un formulaire nous renvoie en POST une variable "connexion", nous logons l'utilisateur.
87
	    	// Si un formulaire nous renvoie en POST une variable "connexion", nous logons l'utilisateur.
87
    	$cookie_val = md5($_POST['password']).$_POST['username'];
88
			// Nous vérifions que l'utilisateur est coché "Mémoriser mon compte"
88
		// Nous vérifions que l'utilisateur est coché "Mémoriser mon compte"
89
			if (isset($_POST['persistant']) && $_POST['persistant'] == 'o' && IDEN_AUTH_SESSION_DUREE != 0) {
89
		if (isset($_POST['persistant']) && $_POST['persistant'] == 'o' && IDEN_AUTH_SESSION_DUREE != 0) {
90
		        // Expiration si l'utilisateur ne referme pas son navigateur
90
	        // Expiration si l'utilisateur ne referme pas son navigateur
91
				$GLOBALS['_GEN_commun']['pear_auth']->setExpire((int)IDEN_AUTH_SESSION_DUREE);
91
			$GLOBALS['_GEN_commun']['pear_auth']->setExpire((int)IDEN_AUTH_SESSION_DUREE);
92
				// Création d'un cookie pour rendre permanente l'identification de Papyrus
-
 
93
				$cookie_val = md5($_POST['password']).$_POST['username'];
92
			// Création d'un cookie pour rendre permanente l'identification de Papyrus
94
				setcookie($cookie_persistant_nom, $cookie_val, (int)IDEN_AUTH_SESSION_DUREE, '/');
-
 
95
				setcookie('pap-annuaire_tela-utilisateur', $_POST['username'],  (int)IDEN_AUTH_SESSION_DUREE, '/');
-
 
96
			}
93
			setcookie($cookie_persistant_nom, $cookie_val, (int)IDEN_AUTH_SESSION_DUREE, '/');
97
			else {
94
		} else {
98
				setcookie('pap-annuaire_tela-utilisateur', $_POST['username'], 0, '/');
95
			setcookie($cookie_utilisateur_nom, $cookie_val, 0, '/');
99
			}
-
 
100
			
96
		}
101
	    } else if (isset($_COOKIE[$cookie_persistant_nom])) {
97
	} else if (isset($_COOKIE[$cookie_persistant_nom])) {
102
			// Si un cookie existe, nous loggons l'utilisateur.
98
		// Si un cookie existe, nous loggons l'utilisateur.
103
			$GLOBALS['_GEN_commun']['pear_auth']->password = substr($_COOKIE[$cookie_persistant_nom], 0, 32 );
99
		$GLOBALS['_GEN_commun']['pear_auth']->password = substr($_COOKIE[$cookie_persistant_nom], 0, 32 );
-
 
100
		$GLOBALS['_GEN_commun']['pear_auth']->username = substr($_COOKIE[$cookie_persistant_nom], 32);
104
			$GLOBALS['_GEN_commun']['pear_auth']->username = substr($_COOKIE[$cookie_persistant_nom], 32);
101
 
105
			// Nous sommes obligés de crypter le mot de passe
102
		// Nous sommes obligés de crypter le mot de passe
106
			if (isset($GLOBALS['_GEN_commun']['pear_auth']->storage_options)) {
103
		if (isset($GLOBALS['_GEN_commun']['pear_auth']->storage_options)) {
107
				$GLOBALS['_GEN_commun']['pear_auth']->storage_options['cryptType'] = 'none';
104
			$GLOBALS['_GEN_commun']['pear_auth']->storage_options['cryptType'] = 'none';
108
    		}
105
		}
109
    		if (isset($GLOBALS['_GEN_commun']['pear_auth']->storage->options)) {
106
		if (isset($GLOBALS['_GEN_commun']['pear_auth']->storage->options)) {
110
				$GLOBALS['_GEN_commun']['pear_auth']->storage->options['cryptType'] = 'none';
107
			$GLOBALS['_GEN_commun']['pear_auth']->storage->options['cryptType'] = 'none';
-
 
108
		}
-
 
109
	} else if (isset($_COOKIE[$cookie_utilisateur_nom])) {
-
 
110
		$GLOBALS['_GEN_commun']['pear_auth']->password = substr($_COOKIE[$cookie_utilisateur_nom], 0, 32 );
111
			}
111
		$GLOBALS['_GEN_commun']['pear_auth']->username = substr($_COOKIE[$cookie_utilisateur_nom], 32);
-
 
112
 
-
 
113
		// Nous sommes obligés de crypter le mot de passe
-
 
114
		if (isset($GLOBALS['_GEN_commun']['pear_auth']->storage_options)) {
-
 
115
			$GLOBALS['_GEN_commun']['pear_auth']->storage_options['cryptType'] = 'none';
-
 
116
		}
-
 
117
		if (isset($GLOBALS['_GEN_commun']['pear_auth']->storage->options)) {
112
			
118
			$GLOBALS['_GEN_commun']['pear_auth']->storage->options['cryptType'] = 'none';
113
		}
-
 
114
		$GLOBALS['_GEN_commun']['pear_auth']->login();
-
 
115
		//echo '<pre>'.print_r($GLOBALS['_GEN_commun']['pear_auth'], true).'</pre>';
119
		}
-
 
120
    }
116
    }
121
    $GLOBALS['_GEN_commun']['pear_auth']->login();
Line 117... Line 122...
117
}
122
}
118
 
123
 
119
// +------------------------------------------------------------------------------------------------------+
124
// +------------------------------------------------------------------------------------------------------+
Line 123... Line 128...
123
/** Fonction afficherFormIdentification() - Retourne une formulaire pour s'identifier.
128
/** Fonction afficherFormIdentification() - Retourne une formulaire pour s'identifier.
124
*
129
*
125
* Retourne un formulaire d'identificatin ou de déconnexion suivant que l'utilisateur est
130
* Retourne un formulaire d'identificatin ou de déconnexion suivant que l'utilisateur est
126
* identifié ou pas.
131
* identifié ou pas.
127
*
132
*
128
* @param  array  tableau d'éventuel arguments présent dans la balise transmis à la fonction. 
133
* @param  array  tableau d'éventuel arguments présent dans la balise transmis à la fonction.
129
* @param  array  tableau global de Papyrus.
134
* @param  array  tableau global de Papyrus.
130
* @return string formulaire de connexion ou de déconnexion.
135
* @return string formulaire de connexion ou de déconnexion.
131
*/
136
*/
132
function afficherFormIdentification($tab_arguments, $_GEN_commun)
137
function afficherFormIdentification($tab_arguments, $_GEN_commun)
133
{
138
{
Line 160... Line 165...
160
    $url_deconnect = $objet_url->getURL();
165
    $url_deconnect = $objet_url->getURL();
161
    $objet_url->removeQueryString('logout');
166
    $objet_url->removeQueryString('logout');
162
    // Récupération des valeurs pour le login et le mot de passe
167
    // Récupération des valeurs pour le login et le mot de passe
163
    $mot_de_passe = (! isset($_POST['password']))    ? '' : $_POST['password'];
168
    $mot_de_passe = (! isset($_POST['password']))    ? '' : $_POST['password'];
164
    $login        = (! isset($_POST['username']))    ? '' : $_POST['username'];
169
    $login        = (! isset($_POST['username']))    ? '' : $_POST['username'];
165
    
170
 
166
    $url_inscription_aide = $InfoAuthBdd->url_erreur;
171
    $url_inscription_aide = $InfoAuthBdd->url_erreur;
167
    
172
 
168
    // ATTENTION : Partie à supprimer une fois les mise à jour effectué dans l'annuaire de Tela Botanica
173
    // ATTENTION : Partie à supprimer une fois les mise à jour effectué dans l'annuaire de Tela Botanica
169
    // Devrait être déplacer dans l'appli inscription de Tela.
174
    // Devrait être déplacer dans l'appli inscription de Tela.
170
    if (isset($InfoAuthBdd->gsab_nom_table) && $InfoAuthBdd->gsab_nom_table == 'annuaire_tela') {
175
    if (isset($InfoAuthBdd->gsab_nom_table) && $InfoAuthBdd->gsab_nom_table == 'annuaire_tela') {
171
        verification_mot_de_passe($objet_pear_db, $mot_de_passe, $login);
176
        verification_mot_de_passe($objet_pear_db, $mot_de_passe, $login);
172
        if (isset($_POST['connexion'])) {
177
        if (isset($_POST['connexion'])) {
173
            $objet_pear_auth->login();
178
            $objet_pear_auth->login();
174
        }
179
        }
175
    }
180
    }
176
        
181
 
177
	// L'utilisateur a essayé de s'identifier mais a échoué
182
	// L'utilisateur a essayé de s'identifier mais a échoué
178
	$url_erreur = false;
183
	$url_erreur = false;
179
	if ($login != '') {
184
	if ($login != '') {
180
		$url_erreur = '#';
185
		$url_erreur = '#';
181
		if (isset($InfoAuthBdd->url_erreur)) {
186
		if (isset($InfoAuthBdd->url_erreur)) {
Line 201... Line 206...
201
        $chp_personne_prenom = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_personne_prenom);
206
        $chp_personne_prenom = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_personne_prenom);
202
    }
207
    }
203
    $chp_personne_nom='';
208
    $chp_personne_nom='';
204
    if (isset($InfoAuthBdd->chp_personne_nom)) {
209
    if (isset($InfoAuthBdd->chp_personne_nom)) {
205
    	$chp_personne_nom = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_personne_nom);
210
    	$chp_personne_nom = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_personne_nom);
206
    }                
211
    }
207
    $chp_structure='';           
212
    $chp_structure='';
208
    if (isset($InfoAuthBdd->chp_structure_nom)) {
213
    if (isset($InfoAuthBdd->chp_structure_nom)) {
209
    	$chp_structure = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_structure_nom);
214
    	$chp_structure = $objet_pear_auth->getAuthData($InfoAuthBdd->chp_structure_nom);
210
    }
215
    }
211
    if ($objet_pear_auth->getAuth()) { $loggue = true; } else { $loggue = false; }
216
    if ($objet_pear_auth->getAuth()) { $loggue = true; } else { $loggue = false; }
212
    
217
 
213
    /** Compteur sert a compter le nombre de fois qu est appele l applet
218
    /** Compteur sert a compter le nombre de fois qu est appele l applet
214
     * et ce afin que les tabindex du formulaire soient correct
219
     * et ce afin que les tabindex du formulaire soient correct
215
     */  
220
     */
216
    
221
 
217
    static $compteur = 0;
222
    static $compteur = 0;
218
	ob_start();
223
	ob_start();
219
	include $options['template'];
224
	include $options['template'];
220
	$retour = ob_get_contents();
225
	$retour = ob_get_contents();
221
	// Arrete et detruit le buffer
226
	// Arrete et detruit le buffer
222
	ob_end_clean();		 
227
	ob_end_clean();
223
	      
228
 
224
	$compteur++;
229
	$compteur++;
225
	
230
 
226
    return $retour;
231
    return $retour;
227
}
232
}
Line 228... Line 233...
228
 
233
 
229
// +------------------------------------------------------------------------------------------------------+
234
// +------------------------------------------------------------------------------------------------------+