/trunk/papyrus/applications/admin_administrateur/models/liste_admin_model.php |
---|
1,13 → 1,25 |
<?php |
/** |
* Modèle d'accès à la base de données des administrateurs |
* de papyrus |
*/ |
class liste_admin_model extends Model { |
var $config = array() ; |
/** |
* Constructeur sans arguments |
*/ |
function __construct() { |
parent::Model() ; |
} |
/** |
* Charge la liste complète des administrateurs |
* return array un tableau contenant des objets d'informations sur les administrateurs |
*/ |
function loadAdmin() { |
$this->load->database() ; |
16,12 → 28,19 |
$admin = array() ; |
foreach ($res->result() as $ligne) |
{ |
$admin[] = $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. |
*/ |
function loadDetailsAdmin($id) { |
$this->load->database() ; |
28,60 → 47,178 |
$query = 'SELECT * FROM gen_annuaire where ga_id_administrateur="'.$id.'"' ; |
$res = $this->db->query($query) ; |
$admin = array() ; |
foreach ($res->result() as $ligne) |
{ |
$admin[] = $ligne ; |
foreach ($res->result() as $ligne) { |
$admin = $ligne ; |
} |
return $admin ; |
} |
function modifDetailsAdmin($id,$nom,$prenom,$mail,$lang) { |
/** |
* 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) |
*/ |
function modifDetailsAdmin($id,$nom,$prenom,$mail,$lang,$pass='',$pass_conf='') { |
$res = array() ; |
if(!$this->validerMail($mail)) { |
$res['mail'] = 'adresse mail invalide' ; |
} |
$this->load->database() ; |
$query = 'UPDATE gen_annuaire SET ga_ce_i18n="'.$lang.'", ga_nom="'.$nom.'",ga_prenom="'.$prenom.'",ga_mail="'.$mail.'" |
WHERE ga_id_administrateur="'.$id.'"' ; |
$query = 'UPDATE gen_annuaire SET ga_ce_i18n='.$this->db->escape($lang).', ga_nom='.$this->db->escape($nom).',ga_prenom='. |
$this->db->escape($prenom).',ga_mail='.$this->db->escape($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->db->escape(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($res = $this->db->query($query)) { |
return true ; |
} else { |
return false ; |
$res['$bdd'] = 'Erreur de la requête dans la base de données' ; |
} |
return $res ; |
} |
/** |
* Supprime un administrateur ayant un id donnée |
* @param int l'identifiant de l'administrateur |
*/ |
function suppAdmin($id) { |
$nb_admin = 0 ; |
$res = '' ; |
$this->load->database() ; |
$query = 'DELETE FROM gen_annuaire WHERE ga_id_administrateur="'.$id.'"' ; |
$query_verif = 'SELECT COUNT(*) AS nb_admin FROM gen_annuaire' ; |
if($res_nb = $this->db->query($query_verif)) { |
$ligne = $res_nb->result() ; |
$nb_admin = $ligne[0]->nb_admin ; |
} else { |
$res = 'Erreur dans la base de données' ; |
return $res ; |
} |
if($res = $this->db->query($query)) { |
return true ; |
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->db->query($query)) { |
return $res ; |
} else { |
return false ; |
$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 |
*/ |
function ajoutAdmin($nom,$prenom,$mail,$lang,$pass,$pass_conf) { |
$this->load->database() ; |
$nouvel_id = 0 ; |
$res = array() ; |
if(!$this->validerMail($mail)) { |
$res['mail'] = 'adresse mail invalide' ; |
} |
if($pass != '' AND $pass_conf != '') { |
if($pass == $pass_conf) { |
} else { |
$res['pass'] = 'mot de passe invalide' ; |
} |
} |
$query = 'SELECT MAX(ga_id_administrateur) as nouvel_id FROM gen_annuaire' ; |
if($res = $this->db->query($query)) { |
if($res_requete_id = $this->db->query($query)) { |
$ligne = $res->result() ; |
$ligne = $res_requete_id->result() ; |
$nouvel_id = $ligne[0]->nouvel_id + 1 ; |
} else { |
return false ; |
return $res ; |
} |
$query = 'INSERT INTO gen_annuaire VALUES ("'.$nouvel_id.'","'.$lang.'","'.$nom.'","'.$prenom.'","'.md5($pass).'","'.$mail.'")' ; |
$query = 'INSERT INTO gen_annuaire VALUES ('.$nouvel_id.','.$this->db->escape($lang).','. |
$this->db->escape($nom).','.$this->db->escape($prenom).','.$this->db->escape(md5($pass)).','. |
$this->db->escape($mail).')' ; |
if(count($res) != 0) { |
return $res ; |
} |
if($res = $this->db->query($query)) { |
return true ; |
} else { |
return false ; |
$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. |
*/ |
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 ; |
} |
} |
} |
/trunk/papyrus/applications/admin_administrateur/config/database.php |
---|
37,10 → 37,10 |
$active_group = 'default'; |
$active_record = TRUE; |
$db['default']['hostname'] = 'localhost'; |
$db['default']['username'] = 'aurelien'; |
$db['default']['password'] = 'Canard'; |
$db['default']['database'] = 'tela_prod'; |
$db['default']['hostname'] = PAP_BDD_SERVEUR; |
$db['default']['username'] = PAP_BDD_UTILISATEUR; |
$db['default']['password'] = PAP_BDD_MOT_DE_PASSE; |
$db['default']['database'] = PAP_BDD_NOM; |
$db['default']['dbdriver'] = 'mysql'; |
$db['default']['dbprefix'] = ''; |
$db['default']['pconnect'] = FALSE; |
/trunk/papyrus/applications/admin_administrateur/controllers/admin_administrateur.php |
---|
13,11 → 13,12 |
$this->charger_admin() ; |
} |
function charger_admin() { |
function charger_admin($erreurs = array()) { |
$this->load->model('liste_admin_model') ; |
$data['erreurs'] = $erreurs ; |
$data['admin'] = $this->liste_admin_model->loadAdmin() ; |
$GLOBALS['retour'] = $this->load->view('liste_admin',$data,true); |
$GLOBALS['retour'] = $this->load->view('liste_admin',$data,true) ; |
} |
function modif_admin() { |
37,13 → 38,24 |
$prenom = $_POST['admin_prenom'] ; |
$mail = $_POST['admin_mail'] ; |
$lang = $_POST['admin_lang'] ; |
$pass = $_POST['admin_pass'] ; |
$pass_conf = $_POST['admin_pass_confirm'] ; |
$this->load->model('liste_admin_model') ; |
if($this->liste_admin_model->modifDetailsAdmin($id,$nom,$prenom,$mail,$lang)) { |
$res = $this->liste_admin_model->modifDetailsAdmin($id,$nom,$prenom,$mail,$lang,$pass,$pass_conf) ; |
if($res === true) { |
$this->charger_admin() ; |
} else { |
echo "Erreur dans la modification de la base de données" ; |
$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 ; |
$GLOBALS['retour'] = $this->load->view('modif_admin',$data,true); |
} |
} |
52,16 → 64,24 |
$id = $_GET['id_admin'] ; |
$this->load->model('liste_admin_model') ; |
if($this->liste_admin_model->suppAdmin($id)) { |
$res = $this->liste_admin_model->suppAdmin($id) ; |
if($res === true) { |
$this->charger_admin() ; |
} else { |
echo "Erreur dans la suppression de la base de données" ; |
$erreurs['supp'] = $res ; |
$this->charger_admin($erreurs) ; |
} |
} |
function ajout_admin() { |
$GLOBALS['retour'] = $this->load->view('ajout_admin',null,true); |
$admin->ga_id_administrateur = '' ; |
$admin->ga_nom = '' ; |
$admin->ga_prenom = '' ; |
$admin->ga_mail = '' ; |
$admin->ga_ce_i18n = '' ; |
$data['admin'] = $admin ; |
$GLOBALS['retour'] = $this->load->view('ajout_admin',$data,true); |
} |
function ajout_admin_va() { |
70,18 → 90,40 |
$prenom = $_POST['admin_prenom'] ; |
$mail = $_POST['admin_mail'] ; |
$lang = $_POST['admin_lang'] ; |
$pass = $_POST['password'] ; |
$pass_conf = $_POST['password_confirm'] ; |
$pass = $_POST['admin_pass'] ; |
$pass_conf = $_POST['admin_pass_confirm'] ; |
$this->load->model('liste_admin_model') ; |
if($this->liste_admin_model->ajoutAdmin($nom,$prenom,$mail,$lang,$pass,$pass_conf)) { |
$res = $this->liste_admin_model->ajoutAdmin($nom,$prenom,$mail,$lang,$pass,$pass_conf) ; |
if($res === true) { |
$this->charger_admin() ; |
} else { |
echo "Erreur dans l'ajout de la base de données" ; |
$admin->ga_nom = $nom ; |
$admin->ga_prenom = $prenom ; |
$admin->ga_mail = $mail ; |
$admin->ga_ce_i18n = $lang ; |
$data['admin'] = $admin ; |
$data['erreurs'] = $res ; |
$GLOBALS['retour'] = $this->load->view('ajout_admin',$data,true); |
} |
} |
function demander_ident() { |
$GLOBALS['retour'] = $this->load->view('ident_admin',null,true) ; |
} |
function admin_tete() { |
$GLOBALS['retour'] = '<div> la tête de page </div>' ; |
} |
function admin_pied() { |
$GLOBALS['retour'] = '<div> le pied de page </div>' ; |
} |
} |
?> |
/trunk/papyrus/applications/admin_administrateur/admin_administrateur.php |
---|
1,16 → 1,14 |
<?php |
/* |
* Created on 23 févr. 2009 |
* |
* To change the template for this generated file go to |
* Window - Preferences - PHPeclipse - PHP - Code Templates |
*/ |
require_once GEN_CHEMIN_BIBLIO.'ci_initialisation.fonct.php' ; |
function afficherContenuCorps() { |
return lancerCodeIgniter('admin_administrateur','index') ; |
if($GLOBALS['_GEN_commun']['pear_auth']->getAuth()) { |
return executerCodeIgniter('admin_administrateur') ; |
} else { |
return executerCodeIgniter('admin_administrateur','demander_ident') ; |
} |
} |
/* |
20,4 → 18,13 |
* afficherContenuPied() |
* |
*/ |
function afficherContenuTete() { |
// return executerCodeIgniter('admin_administrateur','admin_tete') ; |
} |
function afficherContenuPied() { |
} |
?> |
/trunk/papyrus/applications/admin_administrateur/views/modif_admin.php |
---|
1,31 → 1,28 |
<html> |
<head> |
<title>Modification d'un administrateur</title> |
</head> |
<body> |
<h1> Modification d'un administrateur</h1> |
<form id="modif_admin" action="<?=$GLOBALS['_GEN_commun']['url']->url.'?menu=18&m=modif_admin_va&id_admin='.$admin[0]->ga_id_administrateur ?>" method="post"> |
<form id="modif_admin" action="<?=$GLOBALS['_GEN_commun']['url']->getUrl().'?m=modif_admin_va&id_admin='.$admin->ga_id_administrateur ?>" method="post"> |
<fieldset> |
<label for="admin_nom">Nom : </label> |
<input type="text" id="admin_nom" name="admin_nom" maxlength="80" tabindex="1" value="<?=$admin[0]->ga_nom ?>" /> |
<input type="text" id="admin_nom" name="admin_nom" maxlength="80" tabindex="1" value="<?=$admin->ga_nom ?>" /> |
<label for="admin_prenom">Prénom : </label> |
<input type="text" id="admin_prenom" name="admin_prenom" maxlength="80" tabindex="2" value="<?=$admin[0]->ga_prenom ?>" /> |
<input type="text" id="admin_prenom" name="admin_prenom" maxlength="80" tabindex="2" value="<?=$admin->ga_prenom ?>" /> |
<label for="admin_mail">Mail : </label> |
<input type="text" id="admin_mail" name="admin_mail" maxlength="120" tabindex="3" value="<?=$admin[0]->ga_mail ?>" /> |
<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; ?> |
<label for="admin_lang">Langue : </label> |
<select id="admin_lang" name="admin_lang" tabindex="4"> |
<option <?=($admin[0]->ga_ce_i18n == "fr-FR") ? 'selected="selected"' : '';?> value="fr-FR"> Français </option> |
<option <?=($admin[0]->ga_ce_i18n == "en-EN") ? 'selected="selected"' : '';?> value="en-EN"> Anglais </option> |
<option <?=($admin->ga_ce_i18n == "fr-FR") ? 'selected="selected"' : '';?> value="fr-FR"> Français </option> |
<option <?=($admin->ga_ce_i18n == "en-EN") ? 'selected="selected"' : '';?> value="en-EN"> Anglais </option> |
</select> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="5" /> |
<input type="password" id="admin_pass" name="admin_pass" maxlength="80" tabindex="5" value="<?='' ?>" /> |
<label for="password_confirm">Confirmez le mot de passe : </label> |
<input type="password" id="password_confirm" name="password_confirm" maxlength="80" tabindex="6" /> |
<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; ?> |
</fieldset> |
<input type="submit" id="valider_modif_admin" name="valider_modif_admin" tabindex="7" value="Modifier" /> |
<a href="<?=$GLOBALS['_GEN_commun']['url']->getUrl() ?>"> annuler </a> |
</form> |
</body> |
</html> |
</form> |
/trunk/papyrus/applications/admin_administrateur/views/liste_admin.php |
---|
1,10 → 1,4 |
<html> |
<head> |
<title>Liste des admin du site Tela Botanica</title> |
</head> |
<body> |
<h1> Liste des aministrateurs</h1> |
<h1> Liste des administrateurs</h1> |
<table class="liste_admin"> |
<th> Identifiant d'admin </th> <th> Nom </th> <th> Prénom </th> <th> Langue </th> <th> </th> <th> </th> |
<?php foreach ($admin as $element) : ?> |
11,10 → 5,10 |
<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=<?=$GLOBALS['_GEN_commun']['url']->url.'?menu=18&m=modif_admin&id_admin='.$element->ga_id_administrateur ?>>Modifier</a></td><td><a href=<?=$GLOBALS['_GEN_commun']['url']->url.'?menu=18&m=suppr_admin&id_admin='.$element->ga_id_administrateur ?>>Supprimer</a></td></tr> |
<?php endforeach; ?> |
</table> |
<?php if (isset($erreurs['supp'])): ?> |
<span class="symbole_obligatoire"> <?=$erreurs['supp'] ?> </span> |
<?php endif; ?> |
<p> |
<a href="<?=$GLOBALS['_GEN_commun']['url']->url.'?menu=18&m=ajout_admin' ?>"> Ajouter un administrateur </a> |
</p> |
</body> |
</html> |
<a href="<?=$GLOBALS['_GEN_commun']['url']->getUrl().'?&m=ajout_admin' ?>"> Ajouter un administrateur </a> |
</p> |
/trunk/papyrus/applications/admin_administrateur/views/ajout_admin.php |
---|
1,31 → 1,28 |
<html> |
<head> |
<title>Ajout d'un administrateur</title> |
</head> |
<body> |
<h1> Ajout d'un administrateur</h1> |
<form id="modif_admin" action="<?=$GLOBALS['_GEN_commun']['url']->url.'?menu=18&m=ajout_admin_va' ?>" method="post"> |
<fieldset> |
<form id="modif_admin" action="<?=$GLOBALS['_GEN_commun']['url']->getUrl().'?&m=ajout_admin_va' ?>" method="post"> |
<fieldset> |
<label for="admin_nom">Nom : </label> |
<input type="text" id="admin_nom" name="admin_nom" maxlength="80" tabindex="1" /> |
<input type="text" id="admin_nom" name="admin_nom" maxlength="80" tabindex="1" value="<?=$admin->ga_nom ?>" /> |
<label for="admin_prenom">Prénom : </label> |
<input type="text" id="admin_prenom" name="admin_prenom" maxlength="80" tabindex="2" /> |
<input type="text" id="admin_prenom" name="admin_prenom" maxlength="80" tabindex="2" value="<?=$admin->ga_prenom ?>" /> |
<label for="admin_mail">Mail : </label> |
<input type="text" id="admin_mail" name="admin_mail" maxlength="120" tabindex="3" /> |
<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; ?> |
<label for="admin_lang">Langue : </label> |
<select id="admin_lang" name="admin_lang" tabindex="4"> |
<option value="fr-FR"> Français </option> |
<option value="en-EN"> Anglais </option> |
<option <?=($admin->ga_ce_i18n == "fr-FR") ? 'selected="selected"' : '';?> value="fr-FR"> Français </option> |
<option <?=($admin->ga_ce_i18n == "en-EN") ? 'selected="selected"' : '';?> value="en-EN"> Anglais </option> |
</select> |
<label for="password">Mot de passe : </label> |
<input type="password" id="password" name="password" maxlength="80" tabindex="5" /> |
<input type="password" id="admin_pass" name="admin_pass" maxlength="80" tabindex="5" value="<?='' ?>" /> |
<label for="password_confirm">Confirmez le mot de passe : </label> |
<input type="password" id="password_confirm" name="password_confirm" maxlength="80" tabindex="6" /> |
<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; ?> |
</fieldset> |
<input type="submit" id="valider_ajout_admin" name="valider_ajout_admin" tabindex="7" value="Ajouter" /> |
<a href="<?=$GLOBALS['_GEN_commun']['url']->getUrl() ?>"> annuler </a> |
</form> |
</body> |
</html> |
</form> |
/trunk/papyrus/applications/admin_administrateur/views/ident_admin.php |
---|
New file |
0,0 → 1,11 |
<p class="zone_alert">Identifiez-vous</p> |
<form id="form_connexion" style="clear:both;" class="form_identification" action="<?=$GLOBALS['_GEN_commun']['url']->getUrl() ?>" 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> |