Subversion Repositories Applications.papyrus

Rev

Rev 2088 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
206 alex 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
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                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
1016 florian 22
// CVS : $Id: admin_auth.php,v 1.6 2006-10-06 10:40:51 florian Exp $
206 alex 23
/**
24
* Application gérant les authentifications de Papyrus
25
*
26
* Cette application permet de gérer les authentifications de papyrus
27
* elle permet de spécifier pour un monde quel annuaire utiliser
28
* et de gérer des authentifications de spip et ou wikini
29
*
30
*@package Admin_auth
31
//Auteur original :
32
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
33
*@copyright     Tela-Botanica 2000-2004
1016 florian 34
*@version       $Revision: 1.6 $
206 alex 35
// +------------------------------------------------------------------------------------------------------+
36
*/
37
 
38
// +------------------------------------------------------------------------------------------------------+
39
// |                                            ENTÊTE du PROGRAMME                                       |
40
// +------------------------------------------------------------------------------------------------------+
41
/** Inclusion du fichier de configuration de cette application.*/
42
require_once GEN_CHEMIN_PAP.'applications/admin_auth/configuration/adau_configuration.inc.php';
43
 
44
//Utilisation de la bibliothèque PEAR NET_URL
45
/** Inclusion de la bibliothèque PEAR de conception de formulaire.*/
46
require_once ADAU_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm.php';
332 jpm 47
/** Inclusion de la bibliothèque PEAR de conception de formulaire : select.*/
206 alex 48
require_once ADAU_CHEMIN_BIBLIOTHEQUE_PEAR.'HTML/QuickForm/select.php';
49
 
50
/** Inclusion de l'API de fonctions gérant les erreurs sql.*/
276 jpm 51
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'debogage/BOG_sql.fonct.php';
206 alex 52
/** Inclusion des fonctions de manipulation du sql.
53
* Permet la récupération d'un nouvel identifiant d'une table.*/
276 jpm 54
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'sql/SQL_manipulation.fonct.php';
332 jpm 55
/** Inclusion de la bibliothèque premettant de créer des Tableau HTML fragmentés.*/
206 alex 56
require_once ADAU_CHEMIN_BIBLIOTHEQUE_API.'html/HTML_TableFragmenteur.php' ;
57
 
332 jpm 58
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_site..." de Papyrus.*/
206 alex 59
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_site.fonct.php';
332 jpm 60
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_menu..." de Papyrus.*/
206 alex 61
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_menu.fonct.php';
332 jpm 62
/** Inclusion de la bibliothèque de fonctions concernant les tables "gen_applications..." de Papyrus.*/
206 alex 63
require_once ADAU_CHEMIN_BIBLIOTHEQUE_GEN.'pap_application.fonct.php';
64
 
332 jpm 65
/** Inclusion de la bibliothèque de fonctions concernant l'affichage commun.*/
302 jpm 66
require_once ADAU_CHEMIN_BIBLIOTHEQUE.'adau_auth.fonct.php';
332 jpm 67
/** Inclusion de la classe créer les formulaire des l'appli.*/
206 alex 68
require_once ADAU_CHEMIN_BIBLIOTHEQUE.'HTML_formulaireAuth.class.php' ;
69
 
70
 
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')) {
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';
75
} else {
76
    /** Inclusion du fichier de traduction par défaut.*/
77
    require_once ADAU_CHEMIN_LANGUE.'adau_langue_'.ADAU_I18N_DEFAUT.'.inc.php';
78
}
79
 
80
// Stockage des styles de l'application
81
GEN_stockerStyleExterne('adau_standard', ADAU_CHEMIN_STYLE.'adau_standard.css');
82
 
83
// +------------------------------------------------------------------------------------------------------+
84
// |                                            CORPS du PROGRAMME                                        |
85
// +------------------------------------------------------------------------------------------------------+
86
 
87
function afficherContenuCorps()
88
{
332 jpm 89
    $db =& $GLOBALS['_GEN_commun']['pear_db'] ;
90
    $url =& $GLOBALS['_GEN_commun']['url'] ;
91
    $auth =& $GLOBALS['_GEN_commun']['pear_auth'] ;
206 alex 92
    isset ($GLOBALS['action']) ? '' : $GLOBALS['action'] = '' ; // On déclare action si elle n'existe pas
1016 florian 93
    $res='';
206 alex 94
    if (!$auth->getAuth()) {
1016 florian 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>
2150 mathias 102
                        <input type="text"  id="username" name="username" maxlength="80" tabindex="1" value="courriel" />
1016 florian 103
                        <label for="password">Mot de passe : </label>
2150 mathias 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" />
1016 florian 106
                </fieldset>
107
                </form>';
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
 
2150 mathias 150
	    $resultat = $db->query($requete);
1016 florian 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;
206 alex 170
    }
171
}// Fin de la fonction afficherContenuCorps()
172
 
173
// +------------------------------------------------------------------------------------------------------+
174
// |                                            PIED du PROGRAMME                                         |
175
// +------------------------------------------------------------------------------------------------------+
176
 
177
 
178
 
179
/* +--Fin du code ----------------------------------------------------------------------------------------+
180
*
2150 mathias 181
* $Log: admin_auth.php,v $
182
* Revision 1.6  2006-10-06 10:40:51  florian
183
* harmonisation des messages d'erreur de l'authentification
184
*
1016 florian 185
* Revision 1.5  2006/09/21 15:22:04  jp_milcent
186
* Nettoyage dans l'url de la querystring id_auth.
187
*
958 jp_milcent 188
* Revision 1.4  2005/04/14 13:54:51  jpm
189
* Amélioration de l'interface et mise en conformité.
190
*
332 jpm 191
* Revision 1.3  2005/03/09 10:50:08  jpm
192
* Changement d'un nom de fichier.
193
*
302 jpm 194
* Revision 1.2  2005/02/28 10:32:37  jpm
195
* Changement de nom de dossier.
196
*
276 jpm 197
* Revision 1.1  2004/12/06 11:31:59  alex
198
* version initiale
206 alex 199
*
276 jpm 200
*
206 alex 201
* +-- Fin du code ----------------------------------------------------------------------------------------+
202
*/
203
?>