Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 104 → Rev 105

/trunk/exemple/modeles/ListeAdmin.php
1,6 → 1,7
<?php
// declare(encoding='UTF-8');
/**
* Modèle d'accès à la base de données des administrateurs
* Modèle d'accès à la base de données des administrateurs
* de papyrus
*/
class listeAdmin extends Modele {
8,7 → 9,7
private $config = array();
/**
* Charge la liste complète des administrateurs
* 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
*/
27,10 → 28,10
}
/**
* Charge les informations liées à un administrateur
* grâce à son id
* 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é
* @return object un object contenant les informations de l'administrateur demandé
*/
public function loadDetailsAdmin($id) {
$requete = 'SELECT * '.
47,8 → 48,8
/**
* 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é
* 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
74,20 → 75,20
$ligne = $res_nb->fetch();
$nb_admin = $ligne['nb_admin'] ;
} else {
$res['bdd'] = 'Erreur dans la base de données' ;
$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' ;
$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
// 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
// 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)) ;
106,7 → 107,7
if($req_maj = $this->requete($query)) {
} else {
$res['bdd'] = 'Erreur de la requête dans la base de données' ;
$res['bdd'] = 'Erreur de la requête dans la base de données' ;
}
return $res;
113,7 → 114,7
}
/**
* Supprime un administrateur ayant un id donnée
* 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
*/
127,7 → 128,7
$ligne = $res_nb->fetch();
$nb_admin = $ligne['nb_admin'] ;
} else {
$res = 'Erreur dans la base de données' ;
$res = 'Erreur dans la base de donn�es' ;
return $res ;
}
141,13 → 142,13
if($res_supp = $this->requete($query)) {
return $res ;
} else {
$res = 'Erreur dans la base de données' ;
$res = 'Erreur dans la base de données' ;
return $res ;
}
}
/**
* Ajoute un administrateur dans la base de données
* Ajoute un administrateur dans la base de données
* @param string nom
* @param string prenom
* @param string le mail
171,16 → 172,16
$ligne = $res_nb->fetch() ;
$nb_admin = $ligne['nb_admin'] ;
} else {
$res['bdd'] = 'Erreur dans la base de données' ;
$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' ;
$res['mail'] = 'Cet email est déjà utilisé par un autre utilisateur' ;
}
if($pass != '' || $pass_conf != '') {
// on vérifie si les deux concordent
// on vérifie si les deux concordent
if($pass == $pass_conf) {
} else {
210,7 → 211,7
if($res_ajout = $this->requete($query)) {
} else {
$res['bdd'] = 'Erreur de la requête dans la base de données' ;
$res['bdd'] = 'Erreur de la requête dans la base de données' ;
}
return $res ;
217,20 → 218,20
}
/**
* Fonction qui prend une chaine en paramètre et renvoie vrai
* 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
* @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)
$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
$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
'('.$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)) {