Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2074 → Rev 2077

/trunk/services/modules/0.1/Utilisateurs.php
75,14 → 75,10
if (!isset($this->ressources) || empty($this->ressources)) {
$this->sousServiceNom = 'identification';
} else {
if (count($this->ressources) == 1 && ($this->ressources[0] == 'deconnecter')) {
$this->sousServiceNom = 'deconnecter';
} else if(count($this->ressources) == 2 && $this->ressources[1] == 'preferences') {
if(count($this->ressources) == 2 && $this->ressources[1] == 'preferences') {
$this->sousServiceNom = 'preferences';
} else if(count($this->ressources) == 2 && $this->ressources[1] == 'activite') {
$this->sousServiceNom = 'activite';
} else if (count($this->ressources) == 2) {
$this->sousServiceNom = 'connecter';
} else {
$this->sousServiceNom = 'identification';
}
/trunk/services/modules/0.1/determinations/ValiderDetermination.php
138,8 → 138,8
}
 
private function verifierDroitUtilisateur() {
$controleAcces = $this->conteneur->getControleAcces();
$utilisateurInfos = $controleAcces->getInfosUtilisateurConnecte();
$gestionUtilisateur = $this->conteneur->getUtilisateur();
$utilisateurInfos = $gestionUtilisateur->getUtilisateur();
$utilisateurId = $utilisateurInfos['id_utilisateur'];
 
// si l'utilisateur connecté n'est ni auteur de l'observation, ni au moins administrateur de niveau 1
166,8 → 166,8
private function avertirAuteurObservation() {
// le validateur est forcément celui qui est actuellement connecté
$controleAcces = $this->conteneur->getControleAcces();
$utilisateurInfos = $controleAcces->getInfosUtilisateurConnecte();
$gestionUtilisateur = $this->conteneur->getUtilisateur();
$utilisateurInfos = $gestionUtilisateur->getUtilisateur();
$infos_obs = $this->getInfosObs();
/trunk/services/modules/0.1/utilisateurs/Deconnecter.php
File deleted
\ No newline at end of file
/trunk/services/modules/0.1/utilisateurs/Connecter.php
File deleted
\ No newline at end of file
/trunk/services/modules/0.1/utilisateurs/Activite.php
15,22 → 15,21
class Activite extends GestionUtilisateur {
 
/**
* Méthode principale de la classe.
* Lance la récupération des images dans la base et les place dans un objet ResultatService
* pour l'afficher.
* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
* @param array $parametres les paramètres situés après le ? dans l'url
* Retourne l'activité de l'utilisateur en cours, ou false si aucun utilisateur connu
* n'est identifié (mode anonyme) @TODO retrouner un truc mieux
* */
public function consulter($ressources, $parametres) {
$utilisateur = $this->getUtilisateurIdentifie();
$id_utilisateur = $utilisateur['id_utilisateur'];
$activite = $this->getEvenements($id_utilisateur);
 
// Mettre en forme le résultat et l'envoyer pour affichage
$resultat = new ResultatService();
$resultat->corps = $activite;
return $resultat;
if ($this->utilisateur['connecte'] === true) {
$id_utilisateur = $this->utilisateur['id_utilisateur'];
$activite = $this->getEvenements($id_utilisateur);
 
// Mettre en forme le résultat et l'envoyer pour affichage
$resultat = new ResultatService();
$resultat->corps = $activite;
 
return $resultat;
}
return false;
}
}
/trunk/services/modules/0.1/utilisateurs/Identification.php
1,7 → 1,7
<?php
// declare(encoding='UTF-8');
/**
* Permt de gérer "l'identification" anonyme.
* Gestion de l'identification des utilisateurs
*
* @category DEL
* @package Services
16,24 → 16,15
*/
class Identification extends GestionUtilisateur {
 
/**
* Méthode principale de la classe.
* Lance la récupération des images dans la base et les place dans un objet ResultatService
* pour l'afficher.
* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
* @param array $parametres les paramètres situés après le ? dans l'url
* */
public function consulter($ressources, $parametres) {
$utilisateur = $this->getUtilisateurIdentifie();
if ($utilisateur != null) {
$utilisateur['connecte'] = true;
$utilisateur = $this->utilisateur;
if ($utilisateur['connecte'] === true) {
$this->ajouterEvenements($utilisateur);
} else {
$utilisateur = $this->getUtilisateurAnonyme();
}
 
$resultat = new ResultatService();
$resultat->corps = $utilisateur;
 
return $resultat;
}
}
/trunk/services/modules/0.1/utilisateurs/Preferences.php
1,7 → 1,7
<?php
// declare(encoding='UTF-8');
/**
* Permet la gestion des préférences utilisateur.
* Permet la gestion des préférences utilisateur
*
* @category DEL
* @package Services
15,40 → 15,30
* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org>
*/
 
class Preferences {
class Preferences extends GestionUtilisateur {
 
private $conteneur;
private $bdd;
 
public function __construct(Conteneur $conteneur) {
session_start();
$this->conteneur = $conteneur;
$this->bdd = $this->conteneur->getBdd();
}
 
/**
* Renvoie les préférences utilisateurs
* Renvoie les préférences d'un utilisateur
* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
* @param array $parametres les paramètres situés après le ? dans l'url
* */
public function consulter($ressources, $parametres) {
$id_utilisateur = $ressources[0];
 
$this->controleUtilisateurIdentifie($id_utilisateur);
// Mettre en forme le résultat et l'envoyer pour affichage
$resultat = new ResultatService();
$gestion_utilisateur = new GestionUtilisateur($this->conteneur);
$resultat->corps = $gestion_utilisateur->obtenirPreferencesUtilisateur($id_utilisateur);
$resultat->corps = $this->obtenirPreferencesUtilisateur($id_utilisateur);
return $resultat;
}
 
/**
* Méthode principale de la classe.
* Modifie les préférences utilisateurs
* Modifie les préférences de l'utilisateur
* @param array $ressources les ressources situées après l'url de base (ex : http://url/ressource1/ressource2)
* @param array $parametres les paramètres situés dans le post
* @param array $parametres les paramètres situés d ans le post
* */
public function modifier($ressources, $parametres) {
$id_utilisateur = $ressources[0];
$this->controleUtilisateurIdentifie($id_utilisateur);
$prefs = $this->modifierPreferencesUtilisateur($id_utilisateur, $parametres);
// Mettre en forme le résultat et l'envoyer pour affichage
$resultat = new ResultatService();
/trunk/services/modules/0.1/images/ListeImages.php
153,8 → 153,8
* @return mixed Chaine "OK" (en majuscule) en cas de succès, booléen "false" en cas d'échec
*/
public function supprimer($ressources) {
$controlAcces = $this->conteneur->getControleAcces();
$controlAcces->etreUtilisateurAvecDroitAdmin();
$gestionUtilisateurs = $this->conteneur->getUtilisateur();
$gestionUtilisateurs->etreUtilisateurAvecDroitAdmin();
 
$urlServiceBase = $this->conteneur->getParametre('urlServiceCelImage');
$idImage = $ressources[0];
/trunk/services/modules/0.1/images/VotesImage.php
171,6 → 171,7
$idImgP = $this->bdd->proteger($this->ressources[0]);
$idProtocoleP = $this->bdd->proteger($this->parametres['protocole']);
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']);
// @SECURE vérifier que l'utilisateur qui modifie son vote est bien celui qui est connecté
$requete = 'UPDATE del_image_vote '.
"SET valeur = $valeurP, date = NOW() ".
"WHERE ce_image = $idImgP AND ce_protocole = $idProtocoleP AND ce_utilisateur = $idUtilisateurP ".
242,12 → 243,12
}
 
private function verifierAutorisationSuppression($voteInfos) {
$controle_acces = $this->conteneur->getControleAcces();
$utilisateur = $controle_acces->getInfosUtilisateurConnecte();
 
$gestion_utilisateur = $this->conteneur->getUtilisateur();
$utilisateur = $gestion_utilisateur->getUtilisateur();
// @SECURE vérifier que l'utilisateur qui modifie son vote est bien celui qui est connecté
if (isset($utilisateur['id_utilisateur']) &&
$utilisateur['id_utilisateur'] != $voteInfos['id_utilisateur'] &&
$controle_acces->getIdAnonymeTemporaire() != $voteInfos['id_utilisateur']) {
$gestion_utilisateur->getIdAnonymeTemporaire() != $voteInfos['id_utilisateur']) {
$message = "Vous n'êtes pas autorisé à supprimer le vote : {$voteInfos['id_vote']}";
throw new Exception($message, RestServeur::HTTP_CODE_ACCES_NON_AUTORISE);
}
/trunk/services/modules/0.1/observations/ObservationDetails.php
185,8 → 185,8
* @return mixed Chaine "OK" (en majuscule) en cas de succès, booléen "false" en cas d'échec
*/
public function modifier($ressources, $parametres) {
$controlAcces = $this->conteneur->getControleAcces();
$controlAcces->etreUtilisateurAvecDroitAdmin();
$gestionUtilisateurs = $this->conteneur->getUtilisateur();
$gestionUtilisateurs->etreUtilisateurAvecDroitAdmin();
 
$retour = false;
if (isset($parametres['transmission'])) {
/trunk/services/modules/0.1/observations/VoteObservation.php
197,10 → 197,14
$msg = "Aucun identifiant de proposition n'est lié à cette observation.";
throw new Exception($msg, RestServeur::HTTP_CODE_MAUVAISE_REQUETE);
}
// protection anti-usurpateurs
/*$idUtilisateur = $this->parametres['utilisateur'];
$gestionUtilisateurs = $this->conteneur->getUtilisateur();
$gestionUtilisateurs->controleUtilisateurIdentifie($idUtilisateur);*/
 
$idObsP = $this->bdd->proteger($this->ressources[0]);
$idPropositionP = $this->bdd->proteger($idProposition);
$idUtilisateurP = $this->bdd->proteger($this->parametres['utilisateur']);
$idUtilisateurP = $this->bdd->proteger($idUtilisateur);
$valeurP = $this->bdd->proteger($this->parametres['valeur']);
$requete = 'UPDATE del_commentaire_vote '.
"SET valeur = $valeurP, date = NOW() ".
209,7 → 213,7
 
$resultat = $this->bdd->executer($requete);
if ($resultat === false) {
$msg = "Un erreur est survenu lors de la tentative de modification du vote.";
$msg = "Une erreur est survenue lors de la tentative de modification du vote.";
throw new Exception($msg, RestServeur::HTTP_CODE_ERREUR);
} else if ($resultat === 0) {
$msg = "Aucun vote ne correspond au critères fournis : ".
/trunk/services/modules/0.1/observations/ListeObservations.php
107,16 → 107,17
}
private function renvoyerRequeteSelonType() {
//TODO: interdire l'appel si l'on est pas connecté ?
if($this->monActiviteEstDemandee()) {
$gestion_utilisateur = new GestionUtilisateur($this->conteneur);
$utilisateur = $gestion_utilisateur->getUtilisateurIdentifie();
$id_utilisateur = $utilisateur['id_utilisateur'];
$requete = $this->sql->getRequeteIdObsMonactiviteTout($id_utilisateur, $this->sql->getLimit()).' -- '.__FILE__.':'.__LINE__;
// Enregistrement de la date de consultation pour ne pas réafficher des évènements déjà consultés
$gestion_utilisateur->setDerniereDateConsultationEvenements($id_utilisateur, date('Y-m-d H:i:s'));
$utilisateur = $gestion_utilisateur->getUtilisateur();
if ($utilisateur['connecte'] === true) {
$id_utilisateur = $utilisateur['id_utilisateur'];
$requete = $this->sql->getRequeteIdObsMonactiviteTout($id_utilisateur, $this->sql->getLimit()).' -- '.__FILE__.':'.__LINE__;
// Enregistrement de la date de consultation pour ne pas réafficher des événements déjà consultés
$gestion_utilisateur->setDerniereDateConsultationEvenements($id_utilisateur, date('Y-m-d H:i:s'));
} else {
//TODO: que faire si l'on n'est pas connecté ?
}
} else {
$requete = 'SELECT SQL_CALC_FOUND_ROWS id_observation '.
'FROM del_observation AS do '.
162,10 → 163,9
return $this->bdd->recupererTous($requete);
}
private function stockerEvenementsObs($idsObsConcat) {
private function stockerEvenementsObs($idsObsConcat) {
$gestion_utilisateur = new GestionUtilisateur($this->conteneur);
$utilisateur = $gestion_utilisateur->getUtilisateurIdentifie();
$utilisateur = $gestion_utilisateur->getUtilisateur();
$id_utilisateur = $utilisateur['id_utilisateur'];
$evenements = $this->sql->getEvenementsObs($idsObsConcat, $id_utilisateur);