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