Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2341 → Rev 2342

/trunk/jrest/services/CelWidgetSaisie.php
50,6 → 50,11
$this->debug[] = 'Utilisateur : '.print_r($requeteDonnees['utilisateur'], true);
$utilisateur = $requeteDonnees['utilisateur'];
if (array_key_exists('courriel', $utilisateur)) {
// début transaction car si insertions par le même utilisateur en parallèle,
// le getMaxOrdre et le INSERT sont en concurrence et risquent de foirer
//Cel::db()->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
Cel::db()->beginTransaction();
 
$this->debug[] = 'Courriel : '.$utilisateur['courriel'];
$utilisateur = $this->affecterChampsManquantsUtilisateur($utilisateur);
extract($utilisateur);
167,6 → 172,7
} else {
$this->messages[] = "Un nouveau numéro d'ordre d'observation n'a pu être généré.";
}
Cel::db()->commit();
} else {
$this->messages[] = "L'identifiant de l'utilisateur (courriel) n'a pas été transmis.";
}
/trunk/jrest/lib/Bdd2.php
25,10 → 25,10
try {
// Création de la connexion en UTF-8 à la BDD
parent::__construct($dsn, $cfg['username'], $cfg['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));
// Affiche les erreurs détectées par PDO (sinon mode silencieux => aucune erreur affiché)
// Affiche les erreurs détectées par PDO (sinon mode silencieux => aucune erreur affichée)
parent::setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'La connexion à la base de donnée via PDO a échouée : ' .$dsn . "\n". $e->getMessage();
echo 'La connexion à la base de donnée via PDO a échoué : ' .$dsn . "\n". $e->getMessage();
}
}
 
/trunk/jrest/lib/Cel.php
52,7 → 52,9
date_default_timezone_set($this->config['settings']['fuseauHoraire']);
 
// Connection à la base de données
self::$bdd = new Bdd2($this->config, 'database_cel');
if (self::$bdd === null) { // singleton à l'arrache
self::$bdd = new Bdd2($this->config, 'database_cel');
}
 
// Nettoyage du _GET (sécurité)
$this->collecterParametres();// Récupération de tous les parametres de _GET, nettoyage et mise dans $this->parametres
345,19 → 347,19
}
public function etreAdminCelParId($id) {
// si l'utilisateur s'est déjà identifié, alors les infos
// sur le fait qu'il est admin ou non sont déjà disponibles
if(isset($_SESSION['user']) && isset($_SESSION['user']['admin']) && $_SESSION['user']['id_utilisateur'] == $id) {
$admin = $_SESSION['user']['admin'];
} else {
$requete = "SELECT admin FROM cel_utilisateurs WHERE id_utilisateur = ".Cel::db()->proteger($id);
$resultat = Cel::db()->requeter($requete);
$admin = false;
if ($resultat && count($resultat) > 0) {
$admin = ($resultat[0]['admin'] == 1);
}
}
// si l'utilisateur s'est déjà identifié, alors les infos
// sur le fait qu'il est admin ou non sont déjà disponibles
if(isset($_SESSION['user']) && isset($_SESSION['user']['admin']) && $_SESSION['user']['id_utilisateur'] == $id) {
$admin = $_SESSION['user']['admin'];
} else {
$requete = "SELECT admin FROM cel_utilisateurs WHERE id_utilisateur = ".Cel::db()->proteger($id);
$resultat = Cel::db()->requeter($requete);
$admin = false;
if ($resultat && count($resultat) > 0) {
$admin = ($resultat[0]['admin'] == 1);
}
}
return $admin;
}
 
673,9 → 675,9
}
return $urlEflore;
}
protected function nePasInterpreterXml($txt) {
return '<![CDATA['.$txt.']]>';
protected function nePasInterpreterXml($txt) {
return '<![CDATA['.$txt.']]>';
}
 
//+----------------------------------------------------------------------------------------------------------------+