Subversion Repositories Applications.papyrus

Rev

Rev 958 | Rev 2088 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 958 Rev 1016
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
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: admin_auth.php,v 1.5 2006-09-21 15:22:04 jp_milcent Exp $
22
// CVS : $Id: admin_auth.php,v 1.6 2006-10-06 10:40:51 florian Exp $
23
/**
23
/**
24
* Application gérant les authentifications de Papyrus
24
* Application gérant les authentifications de Papyrus
25
*
25
*
26
* Cette application permet de gérer les authentifications de papyrus
26
* Cette application permet de gérer les authentifications de papyrus
27
* elle permet de spécifier pour un monde quel annuaire utiliser
27
* elle permet de spécifier pour un monde quel annuaire utiliser
28
* et de gérer des authentifications de spip et ou wikini
28
* et de gérer des authentifications de spip et ou wikini
29
*
29
*
30
*@package Admin_auth
30
*@package Admin_auth
31
//Auteur original :
31
//Auteur original :
32
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
32
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
33
*@copyright     Tela-Botanica 2000-2004
33
*@copyright     Tela-Botanica 2000-2004
34
*@version       $Revision: 1.5 $
34
*@version       $Revision: 1.6 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
37
 
37
 
38
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
39
// |                                            ENTÊTE du PROGRAMME                                       |
39
// |                                            ENTÊTE du PROGRAMME                                       |
40
// +------------------------------------------------------------------------------------------------------+
40
// +------------------------------------------------------------------------------------------------------+
41
/** Inclusion du fichier de configuration de cette application.*/
41
/** Inclusion du fichier de configuration de cette application.*/
42
require_once GEN_CHEMIN_PAP.'applications/admin_auth/configuration/adau_configuration.inc.php';
42
require_once GEN_CHEMIN_PAP.'applications/admin_auth/configuration/adau_configuration.inc.php';
43
 
43
 
44
//Utilisation de la bibliothèque PEAR NET_URL
44
//Utilisation de la bibliothèque PEAR NET_URL
45
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/
45
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/
46
require_once ADAU_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php';
46
require_once ADAU_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php';
47
/** Inclusion de la bibliothèque PEAR de conception de formulaire : select.*/
47
/** Inclusion de la bibliothèque PEAR de conception de formulaire : select.*/
48
require_once ADAU_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/select.php';
48
require_once ADAU_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/select.php';
49
 
49
 
50
/** Inclusion de l'API de fonctions gérant les erreurs sql.*/
50
/** Inclusion de l'API de fonctions gérant les erreurs sql.*/
51
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'debogage/BOG_sql.fonct.php';
51
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'debogage/BOG_sql.fonct.php';
52
/** Inclusion des fonctions de manipulation du sql.
52
/** Inclusion des fonctions de manipulation du sql.
53
* Permet la récupération d'un nouvel identifiant d'une table.*/
53
* Permet la récupération d'un nouvel identifiant d'une table.*/
54
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php';
54
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php';
55
/** Inclusion de la bibliothèque premettant de créer des Tableau HTML fragmentés.*/
55
/** Inclusion de la bibliothèque premettant de créer des Tableau HTML fragmentés.*/
56
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'html/HTML_TableFragmenteur.php' ;
56
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'html/HTML_TableFragmenteur.php' ;
57
 
57
 
58
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/
58
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/
59
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php';
59
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php';
60
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.*/
60
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.*/
61
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php';
61
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php';
62
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_applications..." de Papyrus.*/
62
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_applications..." de Papyrus.*/
63
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_application.fonct.php';
63
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_application.fonct.php';
64
 
64
 
65
/** Inclusion de la bibliothèque de fonctions concernant l'affichage commun.*/
65
/** Inclusion de la bibliothèque de fonctions concernant l'affichage commun.*/
66
require_once ADAU_CHEMIN_BIBLIOTHEQUE.'adau_auth.fonct.php';
66
require_once ADAU_CHEMIN_BIBLIOTHEQUE.'adau_auth.fonct.php';
67
/** Inclusion de la classe créer les formulaire des l'appli.*/
67
/** Inclusion de la classe créer les formulaire des l'appli.*/
68
require_once ADAU_CHEMIN_BIBLIOTHEQUE.'HTML_formulaireAuth.class.php' ;
68
require_once ADAU_CHEMIN_BIBLIOTHEQUE.'HTML_formulaireAuth.class.php' ;
69
 
69
 
70
 
70
 
71
// Inclusion des fichiers de traduction de l'appli ADME dePapyrus
71
// Inclusion des fichiers de traduction de l'appli ADME dePapyrus
72
if (file_exists(ADAU_CHEMIN_LANGUE.'adau_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) {
72
if (file_exists(ADAU_CHEMIN_LANGUE.'adau_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php')) {
73
    /** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/
73
    /** Inclusion du fichier de traduction suite à la transaction avec le navigateur.*/
74
    require_once ADAU_CHEMIN_LANGUE.'adau_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php';
74
    require_once ADAU_CHEMIN_LANGUE.'adau_langue_'.$GLOBALS['_GEN_commun']['i18n'].'.inc.php';
75
} else {
75
} else {
76
    /** Inclusion du fichier de traduction par défaut.*/
76
    /** Inclusion du fichier de traduction par défaut.*/
77
    require_once ADAU_CHEMIN_LANGUE.'adau_langue_'.ADAU_I18N_DEFAUT.'.inc.php';
77
    require_once ADAU_CHEMIN_LANGUE.'adau_langue_'.ADAU_I18N_DEFAUT.'.inc.php';
78
}
78
}
79
 
79
 
80
// Stockage des styles de l'application
80
// Stockage des styles de l'application
81
GEN_stockerStyleExterne('adau_standard', ADAU_CHEMIN_STYLE.'adau_standard.css');
81
GEN_stockerStyleExterne('adau_standard', ADAU_CHEMIN_STYLE.'adau_standard.css');
82
 
82
 
83
// +------------------------------------------------------------------------------------------------------+
83
// +------------------------------------------------------------------------------------------------------+
84
// |                                            CORPS du PROGRAMME                                        |
84
// |                                            CORPS du PROGRAMME                                        |
85
// +------------------------------------------------------------------------------------------------------+
85
// +------------------------------------------------------------------------------------------------------+
86
 
86
 
87
function afficherContenuCorps()
87
function afficherContenuCorps()
88
{
88
{
89
    $db =& $GLOBALS['_GEN_commun']['pear_db'] ;
89
    $db =& $GLOBALS['_GEN_commun']['pear_db'] ;
90
    $url =& $GLOBALS['_GEN_commun']['url'] ;
90
    $url =& $GLOBALS['_GEN_commun']['url'] ;
91
    $auth =& $GLOBALS['_GEN_commun']['pear_auth'] ;
91
    $auth =& $GLOBALS['_GEN_commun']['pear_auth'] ;
92
    isset ($GLOBALS['action']) ? '' : $GLOBALS['action'] = '' ; // On déclare action si elle n'existe pas
92
    isset ($GLOBALS['action']) ? '' : $GLOBALS['action'] = '' ; // On déclare action si elle n'existe pas
-
 
93
    $res='';
93
    if (!$auth->getAuth()) {
94
    if (!$auth->getAuth()) {
-
 
95
    	$res .= '<p class="zone_alert">'.ADAU_IDENTIFIEZ_VOUS.'</p>'."\n" ;
-
 
96
		$res .= '<form id="form_connexion" style="clear:both;" class="form_identification" action="' ;		
-
 
97
		$res .= $url->getURL();
-
 
98
		$res .= '" method="post">
-
 
99
                <fieldset>
-
 
100
                    <legend>Identifiez vous</legend>                    
-
 
101
                        <label for="username">Courriel : </label>
-
 
102
                        <input type="text"  id="username" name="username" maxlength="80" tabindex="1" value="courriel" />                    
-
 
103
                        <label for="password">Mot de passe : </label>
-
 
104
                        <input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" />                    
-
 
105
                        <input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" />                    
-
 
106
                </fieldset>
-
 
107
                </form>';
94
        return 'Identifiez-vous' ;
108
        return $res ;
-
 
109
    } else {
-
 
110
	    // Le lien pour une nouvelle entrée
-
 
111
	    $res = '<a href="'.$url->getURL().'&amp;action=nouveau">'.ADAU_AJOUTER.'</a>'."\n".'<br />';
-
 
112
	    // traitement de la suppression
-
 
113
	    if (isset ($GLOBALS['action']) && $GLOBALS['action'] == 'supprimer') adau_supprimer_authentification($GLOBALS['id_auth'], $db);
-
 
114
	    
-
 
115
	    // Traitement de l'ajout
-
 
116
	    if (isset ($GLOBALS['action']) || isset ($GLOBALS['id_auth'])) {
-
 
117
	        $formulaire = new HTML_formulaireAuth('formulaire_auth', '', str_replace ('&amp;', '&', $url->getURL()));
-
 
118
	        $formulaire->construitFormulaire($url);
-
 
119
	        
-
 
120
	        // On ajoute un champs caché avec action=nouveau_v
-
 
121
	        if ($GLOBALS['action'] == 'nouveau') {
-
 
122
	            $formulaire->addElement ('hidden', 'action', 'nouveau_v');
-
 
123
	            return $formulaire->toHTML();
-
 
124
	        }
-
 
125
	        if (isset ($GLOBALS['id_auth']) && $GLOBALS['action'] != 'modifier_v' && $GLOBALS['action'] != 'supprimer') {
-
 
126
	            $formulaire->addElement ('hidden', 'action', 'modifier_v');
-
 
127
	            $formulaire->addElement ('hidden', 'id_auth', $GLOBALS['id_auth']);
-
 
128
	            $formulaire->setDefaults(adau_valeurs_par_defaut($GLOBALS['id_auth'], $db));
-
 
129
	            return $formulaire->toHTML();
-
 
130
	        }
-
 
131
	        if ($GLOBALS['action'] == 'modifier_v') {
-
 
132
	            if ($formulaire->validate()) {
-
 
133
	                mise_a_jour ($formulaire->getSubmitValues(), $db);
-
 
134
	            }
-
 
135
	        }
-
 
136
	        if ($GLOBALS['action'] == 'nouveau_v') {
-
 
137
	            if ($formulaire->validate()) {
-
 
138
	                insertion ($formulaire->getSubmitValues(), $db);
-
 
139
	            }
-
 
140
	        }
-
 
141
	        
-
 
142
	    }
-
 
143
	    // Comportement par défaut
-
 
144
	    // requete sur la table gen_site_auth
-
 
145
	    $requete =  'SELECT gsa_ce_auth_bdd, gsa_nom, gsab_nom_table '.
-
 
146
	                'FROM gen_site_auth, gen_site_auth_bdd '.
-
 
147
	                'WHERE gsa_id_auth <> 0 '.
-
 
148
	                'AND gsa_ce_auth_bdd = gsab_id_auth_bdd';
-
 
149
	    
-
 
150
	    $resultat = $db->query($requete);
-
 
151
	    if (DB::isError($resultat)) {
-
 
152
	        trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING);
-
 
153
	        return ;
-
 
154
	    }
-
 
155
	    $liste = new HTML_TableFragmenteur() ;
-
 
156
	    $liste->construireEntete(array (ADAU_NOM_AUTH, ADAU_NOM_TABLE, ADAU_MODIFIER, ADAU_SUPPRIMER));
-
 
157
	    $tableau_auth = array();
-
 
158
	    while ($ligne = $resultat->fetchRow()) {
-
 
159
	        $url->addQueryString('id_auth', $ligne[0]);
-
 
160
	        array_push ($tableau_auth, array ('<a href="'.$url->getURL().'">'.$ligne[1].'</a>'."\n",    // Première colonne, le nom de l'authentification
-
 
161
	                                            $ligne[2],  // deuxième colonne, le nom de la table d'annuaire
-
 
162
	                                            '<a href="'.$url->getURL().'">'.ADAU_MODIFIER.'</a>'."\n",   // Colonne modifier
-
 
163
	                                            '<a href="'.$url->getURL().'&amp;action=supprimer" onclick="javascript:return confirm(\''.ADAU_SUPPRIMER_MESSAGE.'\');">'.ADAU_SUPPRIMER.'</a>'."\n"
-
 
164
	                                            ));
-
 
165
			$url->removeQueryString('id_auth');
-
 
166
	    }
-
 
167
	    $liste->construireListe($tableau_auth);
-
 
168
	    $res .= $liste->toHTML();
-
 
169
	    return $res;
95
    }
170
    }
96
    // Le lien pour une nouvelle entrée
-
 
97
    $res = '<a href="'.$url->getURL().'&amp;action=nouveau">'.ADAU_AJOUTER.'</a>'."\n".'<br />';
-
 
98
    // traitement de la suppression
-
 
99
    if (isset ($GLOBALS['action']) && $GLOBALS['action'] == 'supprimer') adau_supprimer_authentification($GLOBALS['id_auth'], $db);
-
 
100
    
-
 
101
    // Traitement de l'ajout
-
 
102
    if (isset ($GLOBALS['action']) || isset ($GLOBALS['id_auth'])) {
-
 
103
        $formulaire = new HTML_formulaireAuth('formulaire_auth', '', str_replace ('&amp;', '&', $url->getURL()));
-
 
104
        $formulaire->construitFormulaire($url);
-
 
105
        
-
 
106
        // On ajoute un champs caché avec action=nouveau_v
-
 
107
        if ($GLOBALS['action'] == 'nouveau') {
-
 
108
            $formulaire->addElement ('hidden', 'action', 'nouveau_v');
-
 
109
            return $formulaire->toHTML();
-
 
110
        }
-
 
111
        if (isset ($GLOBALS['id_auth']) && $GLOBALS['action'] != 'modifier_v' && $GLOBALS['action'] != 'supprimer') {
-
 
112
            $formulaire->addElement ('hidden', 'action', 'modifier_v');
-
 
113
            $formulaire->addElement ('hidden', 'id_auth', $GLOBALS['id_auth']);
-
 
114
            $formulaire->setDefaults(adau_valeurs_par_defaut($GLOBALS['id_auth'], $db));
-
 
115
            return $formulaire->toHTML();
-
 
116
        }
-
 
117
        if ($GLOBALS['action'] == 'modifier_v') {
-
 
118
            if ($formulaire->validate()) {
-
 
119
                mise_a_jour ($formulaire->getSubmitValues(), $db);
-
 
120
            }
-
 
121
        }
-
 
122
        if ($GLOBALS['action'] == 'nouveau_v') {
-
 
123
            if ($formulaire->validate()) {
-
 
124
                insertion ($formulaire->getSubmitValues(), $db);
-
 
125
            }
-
 
126
        }
-
 
127
        
-
 
128
    }
-
 
129
    // Comportement par défaut
-
 
130
    // requete sur la table gen_site_auth
-
 
131
    $requete =  'SELECT gsa_ce_auth_bdd, gsa_nom, gsab_nom_table '.
-
 
132
                'FROM gen_site_auth, gen_site_auth_bdd '.
-
 
133
                'WHERE gsa_id_auth <> 0 '.
-
 
134
                'AND gsa_ce_auth_bdd = gsab_id_auth_bdd';
-
 
135
    
-
 
136
    $resultat = $db->query($requete);
-
 
137
    if (DB::isError($resultat)) {
-
 
138
        trigger_error('Échec de la requete : '.$requete.'<br />'.$resultat->getMessage(), E_USER_WARNING);
-
 
139
        return ;
-
 
140
    }
-
 
141
    $liste = new HTML_TableFragmenteur() ;
-
 
142
    $liste->construireEntete(array (ADAU_NOM_AUTH, ADAU_NOM_TABLE, ADAU_MODIFIER, ADAU_SUPPRIMER));
-
 
143
    $tableau_auth = array();
-
 
144
    while ($ligne = $resultat->fetchRow()) {
-
 
145
        $url->addQueryString('id_auth', $ligne[0]);
-
 
146
        array_push ($tableau_auth, array ('<a href="'.$url->getURL().'">'.$ligne[1].'</a>'."\n",    // Première colonne, le nom de l'authentification
-
 
147
                                            $ligne[2],  // deuxième colonne, le nom de la table d'annuaire
-
 
148
                                            '<a href="'.$url->getURL().'">'.ADAU_MODIFIER.'</a>'."\n",   // Colonne modifier
-
 
149
                                            '<a href="'.$url->getURL().'&amp;action=supprimer" onclick="javascript:return confirm(\''.ADAU_SUPPRIMER_MESSAGE.'\');">'.ADAU_SUPPRIMER.'</a>'."\n"
-
 
150
                                            ));
-
 
151
		$url->removeQueryString('id_auth');
-
 
152
    }
-
 
153
    $liste->construireListe($tableau_auth);
-
 
154
    $res .= $liste->toHTML();
-
 
155
    return $res;
-
 
156
}// Fin de la fonction afficherContenuCorps()
171
}// Fin de la fonction afficherContenuCorps()
157
 
172
 
158
// +------------------------------------------------------------------------------------------------------+
173
// +------------------------------------------------------------------------------------------------------+
159
// |                                            PIED du PROGRAMME                                         |
174
// |                                            PIED du PROGRAMME                                         |
160
// +------------------------------------------------------------------------------------------------------+
175
// +------------------------------------------------------------------------------------------------------+
161
 
176
 
162
 
177
 
163
 
178
 
164
/* +--Fin du code ----------------------------------------------------------------------------------------+
179
/* +--Fin du code ----------------------------------------------------------------------------------------+
165
*
180
*
166
* $Log: not supported by cvs2svn $
181
* $Log: not supported by cvs2svn $
-
 
182
* Revision 1.5  2006/09/21 15:22:04  jp_milcent
-
 
183
* Nettoyage dans l'url de la querystring id_auth.
-
 
184
*
167
* Revision 1.4  2005/04/14 13:54:51  jpm
185
* Revision 1.4  2005/04/14 13:54:51  jpm
168
* Amélioration de l'interface et mise en conformité.
186
* Amélioration de l'interface et mise en conformité.
169
*
187
*
170
* Revision 1.3  2005/03/09 10:50:08  jpm
188
* Revision 1.3  2005/03/09 10:50:08  jpm
171
* Changement d'un nom de fichier.
189
* Changement d'un nom de fichier.
172
*
190
*
173
* Revision 1.2  2005/02/28 10:32:37  jpm
191
* Revision 1.2  2005/02/28 10:32:37  jpm
174
* Changement de nom de dossier.
192
* Changement de nom de dossier.
175
*
193
*
176
* Revision 1.1  2004/12/06 11:31:59  alex
194
* Revision 1.1  2004/12/06 11:31:59  alex
177
* version initiale
195
* version initiale
178
*
196
*
179
*
197
*
180
* +-- Fin du code ----------------------------------------------------------------------------------------+
198
* +-- Fin du code ----------------------------------------------------------------------------------------+
181
*/
199
*/
182
?>
200
?>