/trunk/exemple/interfaces/modeles/ListeAdmin.php |
---|
New file |
0,0 → 1,254 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Modèle d'accès à la base de données des administrateurs |
* de papyrus |
* |
* PHP Version 5 |
* |
* @package Framework |
* @category Class |
* @author aurelien <aurelien@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id$$ |
* @link /doc/framework/ |
* |
*/ |
class listeAdmin extends Modele { |
private $config = array(); |
/** |
* Charge la liste complète des administrateurs |
* return array un tableau contenant des objets d'informations sur les administrateurs |
* @return array un tableau d'objets contenant la liste des administrateurs |
*/ |
public function chargerAdmin() { |
$requete = 'SELECT * '. |
'FROM gen_annuaire '. |
'ORDER BY ga_id_administrateur'; |
$resultat = $this->requeteTous($requete); |
$admin = array(); |
if ($resultat !== false) { |
foreach ($resultat as $ligne) { |
if ($ligne['ga_id_administrateur'] != 0) { |
$admin[] = $ligne; |
} |
} |
} |
return $admin; |
} |
/** |
* Charge les informations liées à un administrateur |
* grâce à son id |
* @param int l'identifiant de l'administrateur. |
* @return object un object contenant les informations de l'administrateur demandé |
*/ |
public function loadDetailsAdmin($id) { |
$requete = 'SELECT * '. |
'FROM gen_annuaire '. |
"WHERE ga_id_administrateur = '$id' "; |
$resultat = $this->requete($requete); |
$admin = array(); |
foreach ($resultat->fetchAll() as $ligne) { |
$admin = $ligne; |
} |
return $admin; |
} |
/** |
* Modifie les informations liées à un administrateur dans la base de données |
* Si le mot de passe n'est pas renseigné, il n'est pas changé |
* @param int identifiant de l'admiistrateur |
* @param string nom |
* @param string prenom |
* @param string le mail |
* @param string le code de langue |
* @param string le mot de passe (optionnel) |
* @param string la confirmation du mot de passe (optionnel) |
* @return array un tableau contenant les erreurs s'il y en a, vide sinon |
*/ |
function modifDetailsAdmin($id, $nom, $prenom, $mail, $lang, $pass = '', $pass_conf = '') { |
$res = array(); |
$nb_admin = 0; |
if (!$this->validerMail($mail)) { |
$res['mail'] = 'Adresse mail invalide'; |
} |
$query_verif_mail = 'SELECT COUNT(*) AS nb_admin '. |
'FROM gen_annuaire '. |
"WHERE ga_mail = '{$this->proteger($mail)}'". |
" AND ga_id_administrateur != $id "; |
if ($res_nb = $this->requete($query_verif_mail)) { |
$ligne = $res_nb->fetch(); |
$nb_admin = $ligne['nb_admin']; |
} else { |
$res['bdd'] = 'Erreur dans la base de données'; |
return $res; |
} |
if($nb_admin != 0) { |
$res['mail'] = 'Cet email est déjà utilisé par un autre utilisateur'; |
} |
$query = 'UPDATE gen_annuaire SET ga_ce_i18n='.$this->proteger($lang).', ga_nom='.$this->proteger($nom).',ga_prenom='. |
$this->proteger($prenom).',ga_mail='.$this->proteger($mail); |
// si on a entré quelque chose dans les deux champs de mot de passe |
if($pass != '' || $pass_conf != '') { |
// on vérifie si les deux concordent |
if($pass == $pass_conf) { |
// si oui, on les modifie |
$query .= ',ga_mot_de_passe='.$this->proteger(md5($pass)); |
} else { |
// si non, on notifiera l'utilisateur |
$res['pass'] = 'mot de passe invalide'; |
} |
} |
$query .= ' WHERE ga_id_administrateur='.$id; |
if(count($res) != 0) { |
return $res; |
} |
if($req_maj = $this->requete($query)) { |
} else { |
$res['bdd'] = 'Erreur de la requête dans la base de données'; |
} |
return $res; |
} |
/** |
* Supprime un administrateur ayant un id donné |
* @param int l'identifiant de l'administrateur |
* @return array un tableau contenant les erreurs s'il y en a, vide sinon |
*/ |
function suppAdmin($id) { |
$nb_admin = 0; |
$res = ''; |
$query_verif = 'SELECT COUNT(*) AS nb_admin FROM gen_annuaire'; |
if($res_nb = $this->requete($query_verif)) { |
$ligne = $res_nb->fetch(); |
$nb_admin = $ligne['nb_admin']; |
} else { |
$res = 'Erreur dans la base de donn�es'; |
return $res ; |
} |
if($nb_admin == 2) { |
$res = 'Impossible de supprimer le dernier administrateur'; |
return $res ; |
} |
$query = 'DELETE FROM gen_annuaire WHERE ga_id_administrateur='.$id; |
if($res_supp = $this->requete($query)) { |
return $res ; |
} else { |
$res = 'Erreur dans la base de données' ; |
return $res ; |
} |
} |
/** |
* Ajoute un administrateur dans la base de données |
* @param string nom |
* @param string prenom |
* @param string le mail |
* @param string le code de langue |
* @param string le mot de passe |
* @param string la confirmation du mot de passe |
* @return array un tableau contenant les erreurs s'il y en a, vide sinon |
*/ |
function ajoutAdmin($nom, $prenom, $mail, $lang, $pass, $pass_conf) { |
$nouvel_id = 0; |
$nb_admin = 0; |
$res = array(); |
Debug::printr('pppppppppp'); |
if (!$this->validerMail($mail)) { |
$res['mail'] = 'Adresse mail invalide.'; |
} |
$query_verif_mail = 'SELECT COUNT(*) AS nb_admin '. |
'FROM gen_annuaire '. |
'WHERE ga_mail = '.$this->proteger($mail); |
if ($res_nb = $this->requete($query_verif_mail)) { |
$ligne = $res_nb->fetch(); |
$nb_admin = $ligne['nb_admin']; |
} else { |
$res['bdd'] = 'Erreur dans la base de données.'; |
return $res; |
} |
if ($nb_admin != 0) { |
$res['mail'] = 'Cet email est déjà utilisé par un autre utilisateur.'; |
} |
if ($pass != '' || $pass_conf != '') { |
// on vérifie si les deux concordent |
if ($pass != $pass_conf) { |
// si non, on notifiera l'utilisateur |
$res['pass'] = 'mot de passe invalide'; |
} |
} |
$query = 'SELECT MAX(ga_id_administrateur) as nouvel_id '. |
'FROM gen_annuaire'; |
if ($res_requete_id = $this->requete($query)) { |
$ligne = $res_requete_id->fetch() ; |
$nouvel_id = $ligne['nouvel_id'] + 1; |
} else { |
return $res ; |
} |
$query = 'INSERT INTO gen_annuaire '. |
'VALUES ('.$nouvel_id.','.$this->proteger($lang).','. |
$this->proteger($nom).','.$this->proteger($prenom).','.$this->proteger(md5($pass)).','. |
$this->proteger($mail).')'; |
if (count($res) != 0) { |
return $res; |
} |
if (!$res_ajout = $this->requete($query)) { |
$res['bdd'] = 'Erreur de la requête dans la base de données'; |
} |
return $res; |
} |
/** |
* Fonction qui prend une chaine en paramètre et renvoie vrai |
* si elle constitue un email syntaxiquement valide, faux sinon. |
* @param string le mail à valider |
* @return bool true si le mail est valide, false sinon |
*/ |
function validerMail($mail) { |
$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // Caractères autorisés avant l'arobase |
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // Caractères autorisés après l'arobase (nom de domaine) |
$regex = '/^'.$atom.'+'. // Une ou plusieurs fois les caractères autorisés avant l'arobase |
'(\.'.$atom.'+)*'. // Suivis par zéro point ou plus, séparés par des caractères autorisés avant l'arobase |
'@'.// Suivis d'un arobase |
'('.$domain .'{1,63}\.)+'.// Suivis par 1 à 63 caractères autorisés pour le nom de domaine, séparés par des points |
$domain.'{2,63}$/i';// Suivi de 2 à 63 caractères autorisés pour le nom de domaine |
// Test de l'adresse e-mail |
if (preg_match($regex, $mail)) { |
return true; |
} else { |
return false; |
} |
} |
} |
?> |
Property changes: |
Added: svn:keywords |
+Id Author Date Revision HeadURL |
\ No newline at end of property |
/trunk/exemple/interfaces/admin_administrateur.php |
---|
New file |
0,0 → 1,115 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Ceci est un exemple d'application qui permet d'illustrer le fonctionnement du framework, il montre comment |
* une application peut être dans papyrus, ou bien utilisée en stand alone. |
* |
* PHP version 5 |
* |
* @category PHP |
* @package Framework |
* @author Aurelien PERONNET <aurelien@tela-botanica.org> |
* @copyright Tela-Botanica 2009 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id$$ |
* @link /doc/framework/ |
*/ |
// Le fichier Framework.php du Framework de Tela Botanica doit être appelé avant tout autre chose dans l'application. |
// Sinon, rien ne sera chargé. |
// L'emplacement du Framework peut varier en fonction de l'environnement (test, prod...). Afin de faciliter la configuration |
// de l'emplacement du Framework, un fichier framework.defaut.php doit être renommé et configuré pour chaque installation de |
// l'application. |
// Chemin du fichier chargeant le framework requis |
$framework = dirname(__FILE__).'/framework.php'; |
if (!file_exists($framework)) { |
$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework"; |
trigger_error($e, E_USER_ERROR); |
} else { |
// Inclusion du Framework |
require_once $framework; |
// Ajout d'information concernant cette application |
Framework::setCheminAppli(__FILE__);// Obligatoire |
Framework::setInfoAppli(Config::get('info'));// Optionnel |
// Lancement du débogage si nécessaire |
if (Config::get('chronometrage')) { |
Chronometre::chrono(basename(__FILE__).' - début'); |
} |
/** |
* Fonction d'affichage de Papyrus, pour le corps de page |
*/ |
function afficherContenuCorps() { |
// Si l'utilisateur est authentifié |
if (Config::get('identification')) { |
// on renvoie la vue principale de l'application |
$methode = ''; |
if (isset($_GET['m'])) { |
$methode = $_GET['m']; |
Debug::printr($methode); |
} |
$controlleur = new AdminAdministrateur(); |
switch ($methode) { |
case 'ajout_admin': |
return $controlleur->ajoutAdmin(); |
break; |
case 'ajout_admin_va': |
$nom = $_POST['admin_nom']; |
$prenom = $_POST['admin_prenom']; |
$mail = $_POST['admin_mail']; |
$lang = $_POST['admin_lang']; |
$pass = $_POST['admin_pass']; |
$pass_conf = $_POST['admin_pass_confirm']; |
Debug::printr($_POST); |
return $controlleur->ajoutAdminVa($nom, $prenom, $mail, $lang, $pass, $pass_conf); |
break; |
case 'modif_admin': |
$id = $_GET['id_admin']; |
return $controlleur->modifAdmin($id); |
break; |
case 'modif_admin_va': |
$id = $_GET['id_admin']; |
$nom = $_POST['admin_nom']; |
$prenom = $_POST['admin_prenom']; |
$mail = $_POST['admin_mail']; |
$lang = $_POST['admin_lang']; |
$pass = $_POST['admin_pass']; |
$pass_conf = $_POST['admin_pass_confirm']; |
return $controlleur->modifAdminVa($id, $nom, $prenom, $mail, $lang, $pass, $pass_conf); |
break; |
case 'suppr_admin': |
$id = $_GET['id_admin']; |
return $controlleur->supprAdmin($id); |
break; |
default: |
return $controlleur->chargerAdmin(); |
break; |
} |
} else { |
// sinon on lui demande de s'identifier |
$controlleur = new AdminAdministrateur(); |
return $controlleur->demanderIdent(); |
} |
} |
function afficherContenuTete() { |
$controlleur = new AdminAdministrateur(); |
return $controlleur->adminTete(); |
} |
function afficherContenuPied() { |
$controlleur = new AdminAdministrateur(); |
return $controlleur->adminPied(); |
} |
function afficherContenuNavigation() { |
return ''; |
} |
function afficherContenuMenu() { |
return ''; |
} |
} |
?> |
/trunk/exemple/interfaces/configurations/config.ini |
---|
New file |
0,0 → 1,9 |
; Info sur l'application |
info.nom = Gestion des administrateurs de Papyrus |
info.abr = AA |
;Encodage de l'application |
appli_encodage = "UTF8" |
; URL de base de l'application, si elle est laissée vide, l'application fonctionnera en Stand-alone |
url_base = "" |
; Mettre à true si l'application nécessite de s'identifier. |
identification = true |
/trunk/exemple/interfaces/configurations/config_papyrus.ini |
---|
New file |
0,0 → 1,6 |
;Encodage de l'application |
appli_encodage = "UTF8" |
; URL de base de l'application, si elle est laissée vide, l'application fonctionnera en Stand-alone |
url_base = "php:$GLOBALS['_GEN_commun']['url']->getUrl()" |
; Mettre à true si l'application nécessite de s'identifier. |
identification = "php:$GLOBALS['_GEN_commun']['pear_auth']->getAuth()" |
/trunk/exemple/interfaces/framework.defaut.php |
---|
New file |
0,0 → 1,6 |
<?php |
// Inclusion du Framework |
// Renomer ce fichier en "framework.php" |
// Indiquyer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework |
require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'framework'.DIRECTORY_SEPARATOR.'Framework.php'; |
?> |
/trunk/exemple/interfaces/index.php |
---|
New file |
0,0 → 1,103 |
<?php |
/** Inclusion du fichier principal de l'application (administrations des administrateurs)*/ |
require_once 'admin_administrateur.php'; |
$contenu_navigation = afficherContenuNavigation(); |
$contenu_tete = afficherContenuTete(); |
$contenu_corps = afficherContenuCorps(); |
$titre = ""; |
$contenu_pied = afficherContenuPied(); |
$contenu_menu = afficherContenuMenu(); |
$erreurs = GestionnaireException::getExceptions(); |
?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml" > |
<head xml:lang="fr" lang="fr"> |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
<meta http-equiv="Content-style-type" content="text/css" /> |
<meta http-equiv="Content-script-type" content="text/javascript" /> |
<meta http-equiv="Content-language" content="fr" /> |
<title><?php echo $titre; ?></title> |
<meta name="revisit-after" content="15 days" /> |
<meta name="robots" content="index,follow" /> |
<meta name="author" content="Tela Botanica" /> |
<style type="text/css" media="screen"> |
/*--------------------------------------------------------------------------------------------------------------*/ |
/* Tableau du chronométrage du programme */ |
#pied_texte #chrono { |
text-align: center; |
margin:0 auto;} |
#chrono table { |
display:block; |
border:3px solid #6495ed; |
border-collapse:collapse;} |
#chrono thead, tfoot { |
background-color:#D0E3FA; |
border:1px solid #6495ed;} |
#chrono tbody { |
background-color:#FFFFFF; |
border:1px solid #6495ed;} |
#chrono th { |
font-family:monospace; |
border:1px dotted #6495ed; |
padding:5px; |
background-color:#EFF6FF; |
width:25%;} |
#chrono td { |
font-family:sans-serif; |
font-size:80%; |
border:1px solid #6495ed; |
padding:5px; |
text-align:center;} |
#chrono caption { |
font-family:sans-serif; |
text-align: center; |
width:90%; |
margin:auto;} |
.debogage{ |
color:black; |
border:3px solid #6495ed;} |
.debogage_fichier, .debogage_ligne{ |
font-size:10px; |
color:#A9A9A9;} |
</style> |
<link rel="shortcut icon" type="image/x-icon" href="http://www.tela-botanica.org/sites/commun/generique/images/favicones/favicon.ico" /> |
<link rel="icon" type="image/png" href="http://www.tela-botanica.org/sites/commun/generique/images/favicones/tela_botanica.png" /> |
</head> |
<body xml:lang="fr" lang="fr"> |
<div id="reducteur"> |
<div id="logo_tela"> |
<a href="/" title="Retour à l'accueil du site"> |
<img src="http://www.tela-botanica.org/sites/accueil/generique/images/graphisme/logo_tela_fond_blanc.png" alt="le logo de Tela Botanica"/> |
</a> |
</div> |
<div id="droite"> |
<div id="onglets"> |
<?php echo $contenu_navigation; ?> |
</div> |
<div id="contenu"> |
<div id="entete"> |
<?php echo $contenu_tete; ?> |
</div> |
<div id="texte"> |
<?php echo $contenu_corps; ?> |
</div> |
<div id="pied_texte"> |
<?php |
echo $contenu_pied; |
?> |
</div> |
</div> |
</div> |
<div> |
<?php echo $erreurs; ?> |
</div> |
<div id="pied"> |
<p> ©<a href="http://www.tela-botanica.org/" accesskey="1">Tela Botanica</a> / 2000-2004 - Le réseau des Botanistes Francophones</p> |
</div> |
</div> |
</body> |
</html> |
/trunk/exemple/interfaces/squelettes/ident_admin.tpl.html |
---|
New file |
0,0 → 1,11 |
<p class="zone_alert">Identifiez-vous</p> |
<form id="form_connexion" style="clear: both;" class="form_identification" action="<?=$base_url ?>" method="post"> |
<fieldset> |
<legend>Identifiez vous</legend> |
<label for="username">Courriel :</label> |
<input type="text" id="username" name="username" maxlength="80" tabindex="1" value="courriel" /> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="2" value="mot de passe" /> |
<input type="submit" id="connexion" name="connexion" tabindex="3" value="ok" /> |
</fieldset> |
</form> |
Property changes: |
Added: svn:keywords |
+Id Author Date Revision HeadURL |
\ No newline at end of property |
/trunk/exemple/interfaces/squelettes/modif_admin.tpl.html |
---|
New file |
0,0 → 1,44 |
<h2>Modification d'un administrateur</h2> |
<form id="modif_admin" action="<? $url_form = clone($base_url); |
$url_form->setVariablesRequete(array('m'=>'modif_admin','id_admin'=>$admin['ga_id_administrateur'])); |
echo $url_form; ?>" method="post"> |
<fieldset> |
<ul> |
<li> |
<label for="admin_nom">Nom :</label> |
<input type="text" id="admin_nom" name="admin_nom" maxlength="80" tabindex="1" value="<?=$admin['ga_nom'];?>" /> |
</li> |
<li> |
<label for="admin_prenom">Prénom :</label> |
<input type="text" id="admin_prenom" name="admin_prenom" maxlength="80" tabindex="2" value="<?=$admin['ga_prenom'];?>" /> |
</li> |
<li> |
<label for="admin_mail">Mail :</label> |
<input type="text" id="admin_mail" name="admin_mail" maxlength="120" tabindex="3" value="<?=$admin['ga_mail'];?>" /> |
<?php if (isset($erreurs['mail'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['mail'] ?> </span> |
<?php endif; ?> |
</li> |
<li> |
<label for="admin_lang">Langue :</label> |
<select id="admin_lang" name="admin_lang" tabindex="4"> |
<option value="fr-FR" <?=($admin['ga_ce_i18n'] == "fr-FR") ? 'selected="selected"' : '';?> >Français</option> |
<option value="en-EN" <?=($admin['ga_ce_i18n'] == "en-EN") ? 'selected="selected"' : '';?>>Anglais</option> |
</select> |
</li> |
<li> |
<label for="password">Mot de passe :</label> |
<input type="password" id="admin_pass" name="admin_pass" maxlength="80" tabindex="5" value="" /> |
</li> |
<li> |
<label for="password_confirm">Confirmez le mot de passe :</label> |
<input type="password" id="admin_pass_confirm" name="admin_pass_confirm" maxlength="80" tabindex="6" value="" /> |
<?php if (isset($erreurs['pass'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['pass'];?> </span> |
<?php endif; ?> |
</li> |
</ul> |
</fieldset> |
<input type="submit" id="valider_modif_admin" name="valider_modif_admin" tabindex="7" value="Modifier" /> |
<a href="<? $url_annul = clone($base_url); $url_annul->setVariableRequete('m','liste_admin'); echo $url_annul; ?>">Annuler</a> |
</form> |
Property changes: |
Added: svn:keywords |
+Id Author Date Revision HeadURL |
\ No newline at end of property |
/trunk/exemple/interfaces/squelettes/liste_admin.tpl.html |
---|
New file |
0,0 → 1,33 |
<h2>Liste des administrateurs</h2> |
<?php if (isset($admin)) : ?> |
<table class="liste_admin"> |
<thead> |
<tr> |
<th>Identifiant d'admin</th> |
<th>Nom</th> |
<th>Prénom</th> |
<th>Langue</th> |
<th></th> |
<th></th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($admin as $element) : ?> |
<tr> |
<td><?=$element['ga_id_administrateur'] ?></td> |
<td><?=$element['ga_nom'] ?></td> |
<td><?=$element['ga_prenom'] ?></td> |
<td><?=$element['ga_ce_i18n'] ?></td> |
<td><a href="<?php $url->setVariablesRequete(array('m' => 'modif_admin', 'id_admin' => $element['ga_id_administrateur'])); |
echo $url; ?>">Modifier</a></td> |
<td><a href="<?php $url->setVariableRequete('m','supp_admin'); |
echo $url; ?>">Supprimer</a></td> |
</tr> |
<?php endforeach; ?> |
</tbody> |
</table> |
<?php if (isset($erreurs['supp'])): ?> |
<p><span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span></p> |
<?php endif; ?> |
<?php endif; ?> |
<p><a href="<?php $url->setVariableRequete('m','ajout_admin') ; echo $url ;?>"> Ajouter un administrateur </a></p> |
Property changes: |
Added: svn:keywords |
+Id Author Date Revision HeadURL |
\ No newline at end of property |
/trunk/exemple/interfaces/squelettes/ajout_admin.tpl.html |
---|
New file |
0,0 → 1,50 |
<h2>Ajout d'un administrateur</h2> |
<form id="modif_admin" method="post" action="<? $url->setVariableRequete('m','ajout_admin_va'); |
echo $url; ?>"> |
<?php if (isset($erreurs)): ?> |
<?php foreach ($erreurs as $cle => $erreur): ?> |
<p class="symbole_obligatoire"> <?=$cle ?> : <?=$erreur ?> </p> |
<?php endforeach; ?> |
<?php endif; ?> |
<fieldset> |
<ul> |
<li> |
<label for="admin_nom">Nom :</label> |
<input type="text" id="admin_nom" name="admin_nom" maxlength="80" tabindex="1" value="<?=$admin['ga_nom'];?>" /> |
</li> |
<li> |
<label for="admin_prenom">Prénom :</label> |
<input type="text" id="admin_prenom" name="admin_prenom" maxlength="80" tabindex="2" value="<?=$admin['ga_prenom'];?>" /> |
</li> |
<li> |
<label for="admin_mail">Mail :</label> |
<input type="text" id="admin_mail" name="admin_mail" maxlength="120" tabindex="3" value="<?=$admin['ga_mail'];?>" /> |
<?php if (isset($erreurs['mail'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['mail'] ?> </span> |
<?php endif; ?> |
</li> |
<li> |
<label for="admin_lang">Langue : </label> |
<select id="admin_lang" name="admin_lang" tabindex="4"> |
<option value="fr-FR" <?=($admin['ga_ce_i18n'] == "fr-FR") ? 'selected="selected"' : '';?>>Français</option> |
<option value="en-EN" <?=($admin['ga_ce_i18n'] == "en-EN") ? 'selected="selected"' : '';?>>Anglais</option> |
</select> |
</li> |
<li> |
<label for="password">Mot de passe :</label> |
<input type="password" id="admin_pass" name="admin_pass" maxlength="80" tabindex="5" value="" /> |
</li> |
<li> |
<label for="password_confirm">Confirmez le mot de passe :</label> |
<input type="password" id="admin_pass_confirm" name="admin_pass_confirm" maxlength="80" tabindex="6" value="" /> |
<?php if (isset($erreurs['pass'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['pass'] ?> </span> |
<?php endif; ?> |
</li> |
</ul> |
</fieldset> |
<p> |
<input type="submit" id="valider_ajout_admin" name="valider_ajout_admin" tabindex="7" value="Ajouter" /> |
<a href="<? $url->setVariableRequete('m','liste_admin'); echo $url; ?>">Annuler</a> |
</p> |
</form> |
Property changes: |
Added: svn:keywords |
+Id Author Date Revision HeadURL |
\ No newline at end of property |
/trunk/exemple/interfaces/controleurs/AdminAdministrateur.php |
---|
New file |
0,0 → 1,193 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* classe Controleur, pour l'application d'administration des administrateurs |
* |
* PHP Version 5 |
* |
* @package Framework |
* @category Class |
* @author aurelien <aurelien@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id$$ |
* @link /doc/framework/ |
* |
*/ |
class AdminAdministrateur extends Controleur { |
/** |
* Fonction d'affichage par défaut, elle appelle la liste des administrateurs |
*/ |
public function index() { |
$this->charger_admin(); |
} |
/** |
* Charge la liste des administrateurs et l'envoie à la vue |
* @param array un tableau contenant les erreurs à afficher s'il y en a |
* @return string la vue correspondante |
*/ |
public function chargerAdmin($erreurs = array()) { |
$this->chargerModele('ListeAdmin'); |
$data['url'] = new Url(Config::get('url_base')); |
$data['erreurs'] = $erreurs; |
$data['admin'] = $this->ListeAdmin->chargerAdmin(); |
$html = $this->getVue('liste_admin', $data); |
return $html; |
} |
/** |
* Charge les détails d'un administrateur demandé et l'envoi à la |
* vue qui permet de les modifier |
* @id string l'id de l'administrateur à modifier |
* @return string la vue correspondante |
*/ |
public function modifAdmin($id) { |
$this->chargerModele('ListeAdmin'); |
$data['admin'] = $this->ListeAdmin->loadDetailsAdmin($id); |
$html = $this->getVue('modif_admin',$data); |
return $html; |
} |
/** |
* Fonction appelée lors de la validation du formulaire de modification |
* des détails d'un administrateurs. Elle modifie les détails dans la base |
* de données. S'il y a une erreur et rappelle la formulaire et notifie l'erreur, |
* sinon elle charge la liste des administrateurs |
* @param string l'identifiant de l'administrateur |
* @param string le nom |
* @param string le prénom |
* @param string le mail |
* @param string le mot de passe |
* @param string la confirmation du mot de passe |
* @return string la vue correspondante |
*/ |
public function modifAdminVa($id, $nom, $prenom, $mail, $lang, $pass, $pass_conf) { |
$this->chargerModele('ListeAdmin') ; |
$res = $this->ListeAdmin->modifDetailsAdmin($id, $nom, $prenom, $mail, $lang, $pass, $pass_conf); |
if (count($res) == 0) { |
return $this->chargerAdmin(); |
} else { |
$admin['ga_id_administrateur'] = $id; |
$admin['ga_nom'] = $nom; |
$admin['ga_prenom'] = $prenom; |
$admin['ga_mail'] = $mail; |
$admin['ga_ce_i18n'] = $lang; |
$data['admin'] = $admin; |
$data['erreurs'] = $res; |
$html = $this->getVue('modif_admin', $data); |
return $html; |
} |
} |
/** |
* Supprime un administrateur dans la base de données, |
* renvoie la liste des administrateurs, en affichant des erreurs |
* s'il y en a. |
* @return string la vue contenant la liste des administrateurs |
* |
*/ |
public function supprAdmin($id) { |
$this->chargerModele('ListeAdmin'); |
$res = $this->ListeAdmin->suppAdmin($id); |
if ($res == '') { |
return $this->chargerAdmin(); |
} else { |
$erreurs['supp'] = $res; |
return $this->chargerAdmin($erreurs); |
} |
} |
/** |
* Appelle la vue contenant le formulaire d'ajout d'un administrateur |
* @return string la vue contenant le formulaire d'ajout |
*/ |
function ajoutAdmin() { |
$admin['ga_id_administrateur'] = ''; |
$admin['ga_nom'] = ''; |
$admin['ga_prenom'] = ''; |
$admin['ga_mail'] = ''; |
$admin['ga_ce_i18n'] = ''; |
$data['admin'] = $admin; |
$data['url'] = new Url(Config::get('url_base')); |
$html = $this->getVue('ajout_admin', $data); |
return $html; |
} |
/** |
* Fonction appelée lors de la validation du formulaire d'ajout d'un administrateur. |
* Elle ajoute celui-ci les dans la base de données |
* S'il y a une erreur et rappelle la formulaire et notifie l'erreur, |
* sinon elle charge la liste des administrateurs |
* @param string le nom |
* @param string le prénom |
* @param string le mail |
* @param string le mot de passe |
* @param string la confirmation du mot de passe |
* @return string la vue correspondante |
*/ |
public function ajoutAdminVa($nom, $prenom, $mail, $lang, $pass, $pass_conf) { |
if (empty($nom) || empty($prenom) || empty($mail) || empty($pass) || empty($pass_conf)) { |
$data['url'] = new Url(Config::get('url_base')); |
$data['erreurs'] = array('champs' => 'Tous les champs sont obligatoires'); |
$admin['ga_nom'] = $nom; |
$admin['ga_prenom'] = $prenom; |
$admin['ga_mail'] = $mail; |
$admin['ga_ce_i18n'] = $lang; |
$data['admin'] = $admin; |
$html = $this->getVue('ajout_admin', $data); |
return $html; |
} else { |
$this->chargerModele('ListeAdmin'); |
$res = $this->ListeAdmin->ajoutAdmin($nom, $prenom, $mail, $lang, $pass, $pass_conf); |
if (count($res) == 0) { |
return $this->chargerAdmin(); |
} else { |
$admin['ga_nom'] = $nom; |
$admin['ga_prenom'] = $prenom; |
$admin['ga_mail'] = $mail; |
$admin['ga_ce_i18n'] = $lang; |
$data['url'] = new Url(Config::get('url_base')); |
$data['admin'] = $admin; |
$data['erreurs'] = $res; |
$html = $this->getVue('ajout_admin', $data); |
return $html; |
} |
} |
} |
/** Apelle le formulaire d'identification (dans le cas où l'utilisateur n'est pas identifié) |
* @return string la vue permettant de s'identifier |
*/ |
public function demanderIdent() { |
$html = $this->getVue('ident_admin', null); |
return $html; |
} |
/** |
* Renvoie la tête de page de l'application |
* @return string la tete de page de l'application |
*/ |
public function adminTete() { |
$tete = '<h1>Gestion des administrateurs de Papyrus</h1>'; |
return $tete; |
} |
/** |
* Renvoie le pied de page de l'application |
* @return string le pied de page de l'application |
*/ |
public function adminPied() { |
$pied = ''; |
return $pied; |
} |
} |
?> |
Property changes: |
Added: svn:keywords |
+Id Author Date Revision HeadURL |
\ No newline at end of property |
/trunk/exemple/interfaces/framework.php |
---|
New file |
0,0 → 1,6 |
<?php |
// Inclusion du Framework |
// Renomer ce fichier en "framework.php" |
// Indiquyer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework |
require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'framework'.DIRECTORY_SEPARATOR.'Framework.php'; |
?> |
/trunk/exemple/interfaces/logs |
---|
New file |
Property changes: |
Added: svn:ignore |
+bdd |
+erreurs |
+vues |