Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 82 → Rev 83

/trunk/exemple/modeles/ListeAdmin.php
1,5 → 1,4
<?php
 
/**
* Modèle d'accès à la base de données des administrateurs
* de papyrus
6,7 → 5,7
*/
class listeAdmin extends Modele {
var $config = array() ;
private $config = array();
/**
* Charge la liste complète des administrateurs
13,19 → 12,19
* return array un tableau contenant des objets d'informations sur les administrateurs
* @return array un tableau d'objets contenant la liste des administrateurs
*/
function chargerAdmin() {
$query = 'SELECT * FROM gen_annuaire ORDER BY ga_id_administrateur' ;
$res = $this->requete($query) ;
$admin = array() ;
foreach ($res->fetchAll() as $ligne)
{
if($ligne['ga_id_administrateur'] != 0) {
$admin[] = $ligne ;
public function chargerAdmin() {
$requete = 'SELECT * '.
'FROM gen_annuaire '.
'ORDER BY ga_id_administrateur';
$resultat = $this->requete($requete);
$admin = array();
foreach ($resultat->fetchAll() as $ligne) {
if ($ligne['ga_id_administrateur'] != 0) {
$admin[] = $ligne;
}
}
return $admin ;
return $admin;
}
/**
34,16 → 33,17
* @param int l'identifiant de l'administrateur.
* @return object un object contenant les informations de l'administrateur demandé
*/
function loadDetailsAdmin($id) {
$query = 'SELECT * FROM gen_annuaire where ga_id_administrateur="'.$id.'"' ;
$res = $this->requete($query) ;
$admin = array() ;
foreach ($res->fetchAll() as $ligne) {
$admin = $ligne ;
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 ;
return $admin;
}
59,23 → 59,24
* @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='') {
function modifDetailsAdmin($id, $nom, $prenom, $mail, $lang, $pass = '', $pass_conf = '') {
$res = array();
$nb_admin = 0;
$res = array() ;
$nb_admin = 0 ;
if(!$this->validerMail($mail)) {
$res['mail'] = 'Adresse mail invalide' ;
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)) {
$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 ;
return $res;
}
if($nb_admin != 0) {
109,8 → 110,7
$res['bdd'] = 'Erreur de la requête dans la base de données' ;
}
return $res ;
return $res;
}
/**
224,27 → 224,21
* @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
'@' . // 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
$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
// Test de l'adresse e-mail
if (preg_match($regex, $mail)) {
return true ;
return true;
} else {
return false ;
return false;
}
}
 
}
?>