Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 2008 → Rev 2009

/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>
/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 ;
}
}
 
}