/tags/v1.2-autel/jrest/services/TestLoginMdp.php |
---|
New file |
0,0 → 1,36 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class TestLoginMdp extends JRestService { |
public function getElement($uid){ |
if (!isset($uid[0]) || $uid[0] == '' || !isset($uid[1]) || $uid[1] == '') { |
$this->envoyer(false); |
return; |
} |
$mail_utilisateur = $uid[0]; |
$pass = $uid[1]; |
// TODO vérifier que le mot de passe est crypté ! |
$id_annuaire = Config::get('annuaire_defaut'); |
$controleur = new AnnuaireControleur(); |
$id_match_pass = $controleur->comparerIdentifiantMotDePasse($id_annuaire,$mail_utilisateur, $pass, true, true); |
$this->envoyer($id_match_pass); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/Utilisateur.php |
---|
New file |
0,0 → 1,302 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service retournant les prénoms et nom d'un utilisateur en fonction de son courriel. |
* UNe liste de courriel peut être passé dans la ressource. |
* Exemple : |
* /utilisateur/Prenom-nom-par-courriel/jpm@tela-botanica.org,aurelien@tela-botanica.org |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class Utilisateur extends JRestService { |
private $donnees = null; |
private $idAnnuaire = null; |
private $utilisateurId = null; |
private $metadonneeModele = null; |
private $annuaireModele = null; |
private $messagerieModele = null; |
/*+----------------------------------------------------------------------------------------------------+*/ |
// GET : consultation |
public function getElement($ressources){ |
$this->ressources = $ressources; |
$this->idAnnuaire = Config::get('annuaire_defaut'); |
$infos = null; |
if (isset($this->ressources[0])) { |
$methode_demande = array_shift($this->ressources); |
$methode = $this->traiterNomMethodeGet($methode_demande); |
if (method_exists($this, $methode)) { |
$infos = $this->$methode(); |
} else { |
$this->messages[] = "Ce type de ressource '$methode_demande' n'est pas disponible pour la requete GET."; |
} |
} else { |
$this->messages[] = "Le premier paramêtre du chemin du service doit correspondre au type de ressource demandée."; |
} |
if (!is_null($infos)) { |
$this->envoyerJson($infos); |
} else { |
$info = 'Un problème est survenu : '.print_r($this->messages, true); |
$this->envoyerTxt($info); |
} |
} |
/** |
* Permet d'obtenir les prénoms et noms des courriels des utilisateurs indiqués dans la ressource. |
* RESSOURCE : /utilisateur/prenom-nom-par-courriel/[courriel,courriel,...] |
* PARAMÊTRES : aucun |
* RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur : |
* - id : identifiant numérique de l'utilisateur |
* - prenom : prénom |
* - nom : nom de famille. |
*/ |
public function getPrenomNomParCourriel() { |
$courriels = explode(',', $this->ressources[0]); |
$infos = $this->getAnnuaire()->obtenirPrenomNomParCourriel($this->idAnnuaire, $courriels); |
$infous_courriel_minuscule = array(); |
foreach ($infos as $courriel => $utilisateur) { |
$courriel = strtolower($courriel); |
$infous_courriel_minuscule[$courriel] = $utilisateur; |
} |
return $infos; |
} |
/** |
* Permet d'obtenir les identités des utilisateurs indiqués dans la ressource. |
* RESSOURCE : /utilisateur/identite-par-courriel/[courriel,courriel,...] |
* PARAMÊTRES : aucun |
* RÉPONSE : Tableau possédant un courriel de la ressource en clé et en valeur : |
* - id : identifiant numérique de l'utilisateur |
* - pseudoUtilise : indique si on doit utiliser le pseudo à la place de Prénom NOM |
* - pseudo : pseudo de l'utilisateur. |
* - prenom : prénom |
* - nom : nom de famille. |
*/ |
public function getIdentiteParCourriel() { |
$infos_utilisateurs = array(); |
$utilisateurs = $this->getPrenomNomParCourriel(); |
foreach ($utilisateurs as $courriel => $utilisateur) { |
$id = $utilisateur['id']; |
$utilisateur['pseudo'] = $this->obtenirPseudo($id); |
$utilisateur['pseudoUtilise'] = $this->obtenirPseudoUtilise($id); |
$utilisateur['intitule'] = $this->formaterIntitule($utilisateur); |
$infos_utilisateurs[$courriel] = $utilisateur; |
} |
return $infos_utilisateurs; |
} |
private function getAnnuaire() { |
if (!isset($this->annuaireModele)) { |
$this->annuaireModele = new AnnuaireModele(); |
} |
return $this->annuaireModele; |
} |
private function getMeta() { |
if (!isset($this->metadonneeModele)) { |
$this->metadonneeModele = new MetadonneeModele(); |
} |
return $this->metadonneeModele; |
} |
private function obtenirPseudo($id_utilisateur) { |
$pseudo = ''; |
$id_champ_pseudo = $this->getMeta()->renvoyerIdChampMetadonneeParAbreviation($this->idAnnuaire, 'pseudo'); |
if ($this->getMeta()->valeurExiste($id_champ_pseudo, $id_utilisateur)) { |
$pseudo = $this->getMeta()->obtenirValeurMetadonnee($id_champ_pseudo, $id_utilisateur); |
} |
return $pseudo; |
} |
private function obtenirPseudoUtilise($id_utilisateur) { |
$pseudo_utilise = false; |
$id_champ_utilise_pseudo = $this->getMeta()->renvoyerIdChampMetadonneeParAbreviation($this->idAnnuaire, 'utilise_pseudo'); |
if ($this->getMeta()->valeurExiste($id_champ_utilise_pseudo, $id_utilisateur)) { |
$booleen = $this->getMeta()->obtenirValeurMetadonnee($id_champ_utilise_pseudo, $id_utilisateur); |
$pseudo_utilise = ($booleen == 0) ? false : true; |
} |
return $pseudo_utilise; |
} |
private function formaterIntitule($utilisateur) { |
$intitule = ''; |
if ($utilisateur['pseudoUtilise'] && trim($utilisateur['pseudo']) != '') { |
$intitule = $utilisateur['pseudo']; |
} else { |
$intitule = $utilisateur['prenom'].' '.$utilisateur['nom']; |
} |
return $intitule; |
} |
/*+----------------------------------------------------------------------------------------------------+*/ |
// POST : mise à jour |
public function updateElement($ressources, $donnees) { |
$this->ressources = $ressources; |
$this->donnees = $donnees; |
$this->idAnnuaire = Config::get('annuaire_defaut'); |
$infos = null; |
if (isset($this->ressources[0])) { |
$this->utilisateurId = array_shift($this->ressources); |
if (isset($this->ressources[0])) { |
$methode_demande = array_shift($this->ressources); |
$methode = $this->traiterNomMethodePost($methode_demande); |
if (method_exists($this, $methode)) { |
$infos = $this->$methode(); |
} else { |
$this->messages[] = "Ce type de ressource '$methode_demande' n'est pas disponible pour la requete POST."; |
} |
} else { |
$this->messages[] = "La seconde ressource du service pour les requêtes POST doit correspondre au type de ressource demandée."; |
} |
} else { |
$this->messages[] = "La première ressource du service pour les requêtes POST doit être l'identifiant de l'utilisateur."; |
} |
if (!is_null($infos)) { |
$this->envoyerJson($infos); |
} else { |
$info = 'Un problème est survenu : '.print_r($this->messages, true); |
$this->envoyerTxt($info); |
} |
} |
/** |
* Permet d'envoyer un message à un utilisateur. |
* RESSOURCE : /utilisateur/[id]/message |
* POST : |
* - sujet : contient le sujet du message à envoyer. |
* - message : contient le contenu du message à envoyer. |
* - utilisateur_courriel : contient le courriel de l'utilisateur qui envoie le message (Il doit être |
* inscrit dans l'annuaire par défaut de Tela Botanica). |
* - copies : peut contenir une liste de courriels séparés par des virguels auxquels une copie du |
* message sera envoyée. |
* - format (optionnel) : text ou html |
* RÉPONSE : |
* - message : contient le message d'information concernant l'envoie. |
*/ |
private function updateMessage() { |
$destinataireId = $this->utilisateurId;//$this->donnees['destinataire_id']; |
$sujet = stripslashes($this->donnees['sujet']); |
$contenu = stripslashes($this->donnees['message']); |
$envoyeur = $this->donnees['utilisateur_courriel']; |
$copies = array_key_exists('copies', $this->donnees) ? explode(',', $this->donnees['copies']) : null; |
$format = isset($this->donnees['format']) ? $this->donnees['format'] : 'text'; |
$info = null; |
if ($this->estAutoriseMessagerie($envoyeur) || $this->getAnnuaire()->utilisateurExisteParMail($this->idAnnuaire, $envoyeur)) { |
// il est possible de passer directement un email ou bien un id utilisateur |
if(filter_var($destinataireId, FILTER_VALIDATE_EMAIL)) { |
$destinataire = $destinataireId; |
} else { |
$destinataire = $this->getAnnuaire()->obtenirMailParId($this->idAnnuaire, $destinataireId); |
} |
if ($destinataire) { |
if ($format == 'html') { |
$envoie = $this->getMessagerie()->envoyerMail($envoyeur, $destinataire, $sujet, $contenu); |
} else { |
$envoie = $this->getMessagerie()->envoyerMailText($envoyeur, $destinataire, $sujet, $contenu); |
} |
if ($envoie) { |
$info['message'] = "Votre message a bien été envoyé."; |
foreach ($copies as $copie) { |
$sujet = '[COPIE] '.$sujet; |
$contenu = "Message original envoyé par $envoyeur pour $destinataire.\n--\n".$contenu; |
$this->getMessagerie()->envoyerMailText($envoyeur, $copie, $sujet, $contenu); |
} |
} else { |
$info['message'] = "Le message n'a pas pu être envoyé."; |
} |
} else { |
$info['message'] = "Aucun courriel ne correspond à l'id du destinataire."; |
} |
} else { |
$info['message'] = "Vous n'êtes pas inscrit à Tela Botanica avec le courriel : $envoyeur.\n". |
"Veuillez saisir votre courriel d'inscription ou vous inscrire à Tela Botanica."; |
} |
return $info; |
} |
private function getMessagerie() { |
if (!isset($this->messagerieModele)) { |
$this->messagerieModele = new MessageControleur(); |
} |
return $this->messagerieModele; |
} |
/*+----------------------------------------------------------------------------------------------------+*/ |
// PUT : ajout |
public function createElement($donnees) { |
$this->donnees = $donnees; |
$this->idAnnuaire = Config::get('annuaire_defaut'); |
$infos = null; |
if (isset($this->donnees['methode'])) { |
$methode_demande = $this->donnees['methode']; |
$methode = $this->traiterNomMethodePut($methode_demande); |
if (method_exists($this, $methode)) { |
$infos = $this->$methode(); |
} else { |
$this->messages[] = "Ce type de méthode '$methode_demande' n'est pas disponible pour la requete PUT."; |
} |
} else { |
$this->messages[] = "Ce service n'est pas implémanté."; |
} |
if (!is_null($infos)) { |
$this->envoyerJson($infos); |
} else { |
$info = 'Un problème est survenu : '.print_r($this->messages, true); |
$this->envoyerTxt($info); |
} |
} |
/** |
* Permet d'identifier un utilisateur. |
* RESSOURCE : /utilisateur |
* POST : |
* - methode = 'connexion' : methode doit valoir 'connexion' pour connecter l'utilisateur. |
* - courriel : contient le courriel de l'utilisateur . |
* - mdp : le mot de passe de l'utilisateur. |
* - persistance : true si on veut laisser l'utilisateur connecté au delà de la session sinon false |
* RÉPONSE : |
* - identifie : indiquer si l'utilisateur a été identifié (true) ou pas (false) |
* - message : contient un message d'information complémentaire de l'état. |
*/ |
private function createConnexion() { |
$courriel = stripslashes($this->donnees['courriel']); |
$mdp = stripslashes($this->donnees['mdp']); |
$persistance = (stripslashes($this->donnees['persistance']) == 'true') ? true : false; |
$infos = null; |
$infos['persistance'] = $persistance; |
if ($this->verifierAcces($courriel, $mdp)) { |
$infos['identifie'] = true; |
$infos['message'] = "Bienvenu."; |
$dureeCookie = 0; |
if ($persistance === true) { |
$dureeCookie = time()+3600*24*30; |
$this->creerCookiePersistant($dureeCookie, $courriel, $mdp); |
} |
$this->creerCookieUtilisateur($dureeCookie, $courriel); |
$infos['message'] = $_COOKIE; |
} else { |
$infos['identifie'] = false; |
$infos['message'] = "Le courriel ou le mot de passe saisi est incorrect."; |
} |
return $infos; |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/UtilisateurExiste.php |
---|
New file |
0,0 → 1,27 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service vérifiant que l'utilisateur dont le courriel est passé en paramètre existe dans l'annuaire. |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class UtilisateurExiste extends JRestService { |
public function getElement($uid){ |
$mail_utilisateur = $uid[0]; |
$id_annuaire = Config::get('annuaire_defaut'); |
$controleur = new AnnuaireControleur(); |
$existe = $controleur->UtilisateurExiste($id_annuaire,$mail_utilisateur, true); |
$this->envoyer($existe); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/NbInscrits.php |
---|
New file |
0,0 → 1,51 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class NbInscrits extends JRestService { |
public function getRessource() { |
$this->getElement(array()); |
} |
public function getElement($uid){ |
$id_annuaire = Config::get('annuaire_defaut'); |
if (isset($uid[0])) { |
$id_annuaire = $uid[0]; |
} |
$json = true; |
if (isset($uid[1]) && $uid[1] == 'html') { |
$json = false; |
} |
$controleur = new AnnuaireControleur(); |
$valeurs = $controleur->chargerNombreAnnuaireListeInscrits($id_annuaire); |
if (!$json) { |
$valeurs = |
'<html>'."\n". |
' </head>'."\n". |
' <meta content="text/html; charset='.Config::get('sortie_encodage').'" http-equiv="Content-Type">'."\n". |
' </head>'."\n". |
' <body>'."\n". |
' <div id="contenu">'.$valeurs.'</div>'."\n". |
' </body>'."\n". |
'</html>'; |
} |
$this->envoyer($valeurs, 'text/html', Config::get('sortie_encodage'), $json); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/MiniLienProfil.php |
---|
New file |
0,0 → 1,46 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service renvoyant un lien vers le profil d'un utilisateur sous la forme de son nom' |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class MiniLienProfil extends JRestService { |
public function getRessource(){ |
if(!isset($_COOKIE['pap-annuaire_tela-utilisateur']) && isset($_COOKIE['pap-annuaire_tela-memo'])) { |
$_COOKIE['pap-annuaire_tela-utilisateur'] = $_COOKIE['pap-annuaire_tela-memo']; |
} |
if (isset($_COOKIE['pap-annuaire_tela-utilisateur'])) { |
$username = $_COOKIE['pap-annuaire_tela-utilisateur']; |
// le cookie de papyrus contient un md5 concaténé à l'email utilisateur |
$username = substr($username , 32, strlen($username)); |
$controleur = new AnnuaireControleur(); |
$valeurs = $controleur->obtenirInfosUtilisateur('1', $username, true); |
$nom_affiche_lien = $valeurs['fullname']; |
$tableau_nom_prenom = split(" ", $nom_affiche_lien, 2); |
if(strlen($nom_affiche_lien) > 20) { |
$nom_affiche_lien = substr($nom_affiche_lien,0,20).'...'; |
} |
$lien = 'Bienvenue <a href="http://www.tela-botanica.org/page:mon_inscription_au_reseau"> '.ucwords(strtolower($nom_affiche_lien)).'</a>'; |
echo json_encode($lien); |
} else { |
$lien = ''; |
echo json_encode($lien); |
} |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/ModificationsRss.php |
---|
New file |
0,0 → 1,28 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class ModificationsRss extends JRestService { |
public function getElement($uid){ |
$id_annuaire = (isset($uid[0])) ? $uid[0] : Config::get('annuaire_defaut'); |
$this->authentifier(); |
$controleur = new RSSControleur(); |
$modifications = $controleur->obtenirDernieresModificationsProfil($id_annuaire); |
$this->envoyer($modifications, 'text/xml',Config::get('sortie_encodage'), false); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/ExecuteurLien.php |
---|
New file |
0,0 → 1,46 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class ExecuteurLien extends JRestService { |
public function getElement($uid){ |
if (isset($uid[0])) { |
$lien_code = $uid[0]; |
$lien = base64_decode(str_replace('_', '/', $lien_code)); |
} else { |
return; |
} |
if (!isset($uid[1])) { |
$retour_ajax = true; |
} else { |
$adresse_retour = base64_decode(str_replace('_', '/', $uid[1])); |
} |
$requete = file_get_contents($lien); |
if ($retour_ajax) { |
if ($requete) { |
$resultat = 'ok'; |
} else { |
$resultat = false; |
} |
$this->envoyer($resultat); |
} else { |
header('Location: http://'.$adresse_retour); |
exit; |
} |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/InformationsUtilisateur.php |
---|
New file |
0,0 → 1,36 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service retournant des informations sur l'utilisateur. |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class InformationsUtilisateur extends JRestService { |
public function getElement($uid){ |
$mail_utilisateur = $uid[0]; |
$identificateur = new IdentificationControleur(); |
$login = $identificateur->obtenirLoginUtilisateurParCookie(); |
if ($mail_utilisateur != $login) { |
return; |
} |
$id_annuaire = Config::get('annuaire_defaut'); |
$controleur = new AnnuaireControleur(); |
$valeurs = $controleur->obtenirInfosUtilisateurOpenId($id_annuaire, $mail_utilisateur, true); |
$this->envoyer($valeurs); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/TelaUtilisateurs.php |
---|
New file |
0,0 → 1,41 |
<?php |
/** |
* Encodage en entrée : utf8 |
* Encodage en sortie : utf8 |
* |
* @author Grégoire Duché <jpm@tela-botanica.org> |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @version $Id$ |
* @copyright 2009 |
*/ |
class TelaUtilisateurs extends JRestService { |
/** |
* Méthode appelée quand aucun paramêtre n'est passée dans l'url et avec une requête de type GET. |
*/ |
public function getRessource() { |
$this->getElement(array()); |
} |
public function getElement($params = array()) { |
$id_annuaire = Config::get('annuaire_defaut'); |
if(isset($uid[0])) { |
$id_annuaire = $uid[0]; |
} |
$controleur = new AnnuaireControleur(); |
$nb_inscrits = $controleur->chargerNombreAnnuaireListeInscrits($id_annuaire); |
$info[] = $nb_inscrits; |
//TODO externaliser ceci |
$en_ligne = file_get_contents('/home/telabotap/www/nb_sessions_active.json'); |
$info[] = json_decode($en_ligne); |
$this->envoyer($info); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/EnvoiMessage.php |
---|
New file |
0,0 → 1,55 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service d'envoie de courriel. |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class EnvoiMessage extends JRestService { |
public function getElement($uid){ |
$identificateur = new IdentificationControleur(); |
$login = $identificateur->obtenirLoginUtilisateurParCookie(); |
$identification = $login; |
if (!$identification || trim($identification) == '') { |
print 'false'; |
} else { |
$id_annuaire = Config::get('annuaire_defaut'); |
$contenu_message = $_GET['contenu_message']; |
$sujet_message = $_GET['sujet_message']; |
$destinataire = $_GET['destinataire']; |
$redirect = $_GET['redirect']; |
$messagerie = new MessageControleur(); |
// Remplacement les identifiants par leurs destinataires |
$destinataire_mail = $messagerie->obtenirMailParTableauId($id_annuaire, array($destinataire)); |
if (empty($destinataire_mail)) { |
print 'false'; |
} else { |
$destinataire_mail = $destinataire_mail[0]; |
$retour = $messagerie->envoyerMail($identification, $destinataire_mail, $sujet_message, $contenu_message); |
if ($retour) { |
if ($redirect != null && $redirect != '') { |
header('Location: '.'http://'.$redirect); |
exit; |
} else { |
print 'OK'; |
} |
} else { |
print 'false'; |
} |
} |
} |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/GestionLettreActu.php |
---|
New file |
0,0 → 1,35 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service de gestion de la lettre d'actualité |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class GestionLettreActu extends JRestService { |
public function getElement($uid){ |
// TODO : rajouter controle d'accès ! |
$id_utilisateur = $uid[0]; |
$mail_utilisateur = $uid[1]; |
if (isset($uid[2])) { |
$id_annuaire = $uid[2]; |
} else { |
$id_annuaire = Config::get('annuaire_defaut'); |
} |
$controleur = new LettreControleur(); |
$est_abonne = $controleur->estAbonneLettreActualite($id_annuaire,$id_utilisateur); |
$changement = $controleur->abonnerDesabonnerLettreActualite($id_annuaire, $id_utilisateur, !$est_abonne); |
echo 'OK'; |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/StatistiquesAnnuaire.php |
---|
New file |
0,0 → 1,59 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class StatistiquesAnnuaire extends JRestService { |
public function getElement($uid){ |
if (!isset($uid[0])) { |
$id_annuaire = $uid[0]; |
} else { |
$id_annuaire = Config::get('annuaire_defaut'); |
} |
if (isset($uid[1])) { |
$type_stat = $uid[1]; |
} else { |
$type_stat = ''; |
} |
$controleur = new StatistiqueControleur(); |
switch($type_stat) { |
case 'annee' : |
$annee = isset($uid[2]) ? $uid[2] : null; |
$graph = $controleur->obtenirStatistiquesPourAnnee($id_annuaire, $annee); |
break; |
case 'annees' : |
$graph = $controleur->obtenirStatistiquesParAnnees($id_annuaire); |
break; |
case 'continents' : |
$graph = $controleur->obtenirStatistiquesInscritsParContinents($id_annuaire); |
break; |
case 'europe' : |
$graph = $controleur->obtenirStatistiquesInscritsEurope($id_annuaire); |
break; |
case 'modification' : |
$graph = $controleur->obtenirStatistiquesModificationsProfil($id_annuaire); |
break; |
default: |
$graph = $controleur->obtenirStatistiquesParCritere($id_annuaire,$type_stat, ''); |
} |
// Envoi d'une image png |
header("Content-type: image/png charset=utf-8\n\n"); |
imagepng($graph); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/InscritsRss.php |
---|
New file |
0,0 → 1,32 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class InscritsRss extends JRestService { |
public function getElement($uid){ |
$mail_utilisateur = $uid[0]; |
$admin = (isset($uid[1])) ? $uid[1] : false; |
$id_annuaire = Config::get('annuaire_defaut'); |
if ($admin) { |
$this->authentifier(); |
} |
$controleur = new RSSControleur(); |
$inscrits = $controleur->obtenirDerniersInscritsRSS($id_annuaire, $admin); |
$this->envoyer($inscrits, 'text/xml',Config::get('sortie_encodage'), false); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/IdUtilisateur.php |
---|
New file |
0,0 → 1,27 |
<?php |
/** |
* PHP Version 5 |
* |
* @category PHP |
* @package annuaire |
* @author aurelien <aurelien@tela-botanica.org> |
* @copyright 2010 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @version SVN: <svn_id> |
* @link /doc/annuaire/ |
*/ |
Class IdUtilisateur extends JRestService { |
public function getElement($uid){ |
$mail_utilisateur = $uid[0]; |
$id_annuaire = Config::get('annuaire_defaut'); |
$controleur = new AnnuaireControleur(); |
$id = $controleur->ObtenirIdParMail($id_annuaire,$mail_utilisateur); |
$this->envoyer($id); |
} |
} |
?> |
/tags/v1.2-autel/jrest/services/Gestion.php |
---|
New file |
0,0 → 1,54 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Service |
* |
* @category php 5.2 |
* @package Annuaire::Services |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class Gestion extends JRestService { |
public function getElement($uid){ |
$id_utilisateur = $uid[0]; |
$mail_utilisateur = $uid[1]; |
if (isset($uid[2])) { |
$id_annuaire = $uid[2]; |
} else { |
$id_annuaire = Config::get('annuaire_defaut'); |
} |
$controleur = new LettreControleur(); |
$est_abonne = $controleur->estAbonneLettreActualite($id_annuaire, $id_utilisateur); |
$resume['titre'] = 'Lettre d\'actualité'; |
if ($est_abonne == '1') { |
$message = "Vous êtes abonné à la lettre d'actualité"; |
$intitule_lien = 'Se desinscrire'; |
} else { |
$message = "Vous n'êtes pas abonné à la lettre d'actualité"; |
$intitule_lien = "S'inscrire"; |
} |
$base_url_application = $controleur->getUrlBaseComplete(); |
$cible_lien_desinscrire = $base_url_application.'/jrest/GestionLettreActu/'.$id_utilisateur.DS.$mail_utilisateur.DS.$id_annuaire; |
$cible_lien = $base_url_application.'/jrest/GestionLettreActu/'.$id_utilisateur.DS.$mail_utilisateur.DS.$id_annuaire; |
$resume_item = array( |
'element' => $message, |
'intitule_lien' => $intitule_lien, |
'lien_desinscrire' => $cible_lien_desinscrire, |
'lien' => $cible_lien); |
$resume['elements'][] = $resume_item; |
$this->envoyer($resume); |
} |
} |
?> |