Subversion Repositories Applications.projet

Compare Revisions

Ignore whitespace Rev 369 → Rev 370

/trunk/jrest/services/Suppression.php
24,7 → 24,7
 
// on selectionne la liste des projets auxquel on est inscrit
$projets = $this->obtenirProjetsPourParticipant($id_utilisateur);
 
// si pas de projets, rien à faire
if(count($projets) <= 0) {
$this->envoyer("OK");
31,16 → 31,18
return;
}
 
// sinon on itère sur chaque projet
foreach($projets as $projet) {
 
$id_projet = $projet['p_id'];
 
// et on le supprime du projet
$suppression_participant = $this->supprimerParticipantAProjet($id_utilisateur, $id_projet);
 
// ainsi que des listes associées
if($mail) {
$id_projet = $projet['p_id'];
$listes = $this->obtenirListesAssocieesAuProjet($id_projet);
 
// si pas de liste, rien à faire
if(count($listes) <= 0) {
continue;
47,8 → 49,11
}
 
$nom_liste = $listes[0]['pl_nom_liste'];
$id_liste = $listes[0]['pl_id_liste'];
$suppression_liste = $this->supprimerInscriptionAListeProjet($id_utilisateur, $id_liste);
 
// on modifie l'abonnement
// on supprime l'abonnement
if($this->estAbonneAListe($nom_liste, $mail)) {
if(!$this->desinscriptionListe($nom_liste, $mail)) {
$this->envoyer("false");
/trunk/jrest/services/Resume.php
11,7 → 11,11
* @link /doc/papyrus_bp/
*/
 
Class Resume extends JRestService {
Class Resume extends ProjetService {
public function __construct($config, $demarrer_session= true) {
parent::__construct($config, $demarrer_session);
}
 
public function getElement($uid){
 
20,18 → 24,19
 
// on selectionne les projets les plus actifs
$requete_projets = 'SELECT DISTINCT *'.
' FROM papyrus_bp.projet_statistiques'.
' FROM projet_statistiques'.
' WHERE ps_ce_projet'.
' IN '.
'(SELECT psu_id_projet FROM papyrus_bp.projet_statut_utilisateurs'.
'(SELECT psu_id_projet FROM projet_statut_utilisateurs'.
' WHERE psu_id_utilisateur = '.$id_utilisateur.')'.
' GROUP BY ps_ce_projet'.
' ORDER BY ps_msg_derniere_semaine DESC'.
' LIMIT 0,5';
 
$resume = array();
 
$resume['titre'] = 'Vos projets les plus actifs';
$resume['lien_appli'] = '<a href="http://www.tela-botanica.org/page:liste_projets"> Voir tous les projets </a>';
 
$projets = $this->bdd->query($requete_projets)->fetchAll();
 
41,7 → 46,7
foreach($projets as $projet) {
 
$requete_info_projet = 'SELECT p_titre'.
' FROM papyrus_bp.projet'.
' FROM projet'.
' WHERE p_id = '.$projet['ps_ce_projet'];
 
$projet_infos = $this->bdd->query($requete_info_projet)->fetchAll();
51,7 → 56,7
if($projet['ps_msg_derniere_semaine'] > 0) {
$infos_messages = ' (+ '.$projet['ps_msg_derniere_semaine'].' nouveaux messages) ';
} else {
$infos_messages = 'aucun nouveau message';
$infos_messages = ' (aucun nouveau message) ';
}
 
$cible_lien = 'http://www.tela-botanica.org/page:liste_projets?id_projet='.$projet['ps_ce_projet'];
65,7 → 70,7
 
public function gererInscription($id_utilisateur, $mail_utilisateur) {
 
$requete_projets_utilisateur = 'SELECT * FROM papyrus_bp.projet_statut_utilisateurs'.
$requete_projets_utilisateur = 'SELECT * FROM projet_statut_utilisateurs'.
' WHERE psu_id_utilisateur = '.$id_utilisateur;
 
$resume = '';
79,7 → 84,7
foreach($projets as $projet) {
 
$requete_info_projet = 'SELECT *'.
' FROM papyrus_bp.projet'.
' FROM projet'.
' WHERE p_id = '.$projet['psu_id_projet'];
 
$projet_infos = $this->requeteUn($requete_info_projet);
/trunk/jrest/services/ProjetService.php
11,7 → 11,11
* @link /doc/projet_bp/
*/
 
abstract class ProjetService extends JRestService {
class ProjetService extends JRestService {
public function __construct($config, $demarrer_session= true) {
parent::__construct($config, $demarrer_session);
}
 
protected function obtenirProjetsPourParticipant($id_utilisateur) {
 
38,7 → 42,28
 
return $projets;
}
protected function obtenirInformationsProjet($id_projet) {
$requete_informations_projet = 'SELECT DISTINCT *'.
' FROM projet'.
' WHERE p_id = '.$id_projet ;
try {
$projet = $this->bdd->query($requete_informations_projet)->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
Log::getInstance()->ajouterEntree('projet','Fichier: '.$e->getFile().' Ligne: '.$e->getLine().' '.$e->getMessage());
return false;
}
 
// pas de projets ? alors c'est fait !
if(!$projet) {
return false;
}
 
return $projet;
}
 
protected function obtenirListesAssocieesAuProjet($id_projet) {
 
$requete_liste_projets = 'SELECT * FROM projet_liste '.
60,7 → 85,21
 
return $listes_projets;
}
protected function supprimerInscriptionAListeProjet($id_utilisateur, $id_liste) {
$requete_suppression_liste = 'DELETE FROM projet_inscription_liste '.
'WHERE pil_id_utilisateur='.$id_utilisateur.' and pil_id_liste='.$id_liste ;
 
try {
$requete_suppression_liste = $this->bdd->query($requete_suppression_liste);
} catch (PDOException $e) {
Log::getInstance()->ajouterEntree('projet','Fichier: '.$e->getFile().' Ligne: '.$e->getLine().' '.$e->getMessage().' '.$requete_suppression_liste);
return false;
}
}
 
protected function supprimerParticipantAProjet($id_utilisateur, $id_projet) {
$requete_suppression_projets = 'DELETE FROM projet_statut_utilisateurs '.
'WHERE psu_id_utilisateur='.$id_utilisateur.' and psu_id_projet='.$id_projet ;
71,7 → 110,7
Log::getInstance()->ajouterEntree('projet','Fichier: '.$e->getFile().' Ligne: '.$e->getLine().' '.$e->getMessage().' '.$requete_suppression_projets);
return false;
}
 
return true;
}
 
79,11 → 118,9
 
try {
$est_abonne = '0' ;
//$xml_abonne = new SimpleXMLElement(file_get_contents('http://vpopmail.tela-botanica.org/est_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.$mail)) ;
$est_abonne = 1;//$xml_abonne[0] ;
$xml_abonne = new SimpleXMLElement(file_get_contents('http://vpopmail.tela-botanica.org/est_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.$mail)) ;
$est_abonne = $xml_abonne[0] ;
 
Log::getInstance()->ajouterEntree('projet','appel de http://vpopmail.tela-botanica.org/est_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.$mail);
 
if($est_abonne == '1') {
return true;
} else {
102,16 → 139,11
}
 
protected function inscriptionListe($nom_liste, $mail) {
 
Log::getInstance()->ajouterEntree('projet','appel de http://vpopmail.tela-botanica.org/ajout_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.$mail);
return true;
//return $inscription_abonne = file_get_contents('http://vpopmail.tela-botanica.org/ajout_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.$mail) ;
return $inscription_abonne = file_get_contents('http://vpopmail.tela-botanica.org/ajout_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.$mail) ;
}
 
protected function desinscriptionListe($nom_liste, $mail) {
Log::getInstance()->ajouterEntree('projet','appel de http://vpopmail.tela-botanica.org/suppression_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.$mail);
return true;
//return $suppression_abonne = file_get_contents('http://vpopmail.tela-botanica.org/suppression_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.mail) ;
return $suppression_abonne = file_get_contents('http://vpopmail.tela-botanica.org/suppression_abonne.php?domaine=tela-botanica.org&liste='.$nom_liste.'&mail='.$mail) ;
}
}
?>
/trunk/jrest/services/Gestion.php
20,10 → 20,10
 
// on selectionne la liste des projets auxquel on est inscrit
$requete_projets = 'SELECT DISTINCT *'.
' FROM papyrus_bp.projet'.
' FROM projet'.
' WHERE p_id'.
' IN '.
'(SELECT psu_id_projet FROM papyrus_bp.projet_statut_utilisateurs'.
'(SELECT psu_id_projet FROM projet_statut_utilisateurs'.
' WHERE psu_id_utilisateur = '.$id_utilisateur.')'.
' GROUP BY p_id';
 
30,17 → 30,18
$resume = array();
 
$resume['titre'] = 'Gestion de mes projets';
$resume['info'] = 'Vous souhaitez vous inscrire à d\'autres projets ? <a href="http://www.tela-botanica.org/page:liste_projets" > Consultez la liste des projets et forums </a>';
 
$projets = $this->bdd->query($requete_projets)->fetchAll();
 
if(!$projets) {
$resume['message'] = 'Vous n\'êtes inscrit à aucun projet';
$resume['message'] = 'Vous n\'&ecirc;tes inscrit &agrave; aucun projet';
} else {
foreach($projets as $projet) {
 
$cible_lien_desinscrire = 'http://www.tela-botanica.org/page:mes_preferences_des_projets?id_projet='.$projet['p_id'].'&act=26';
$cible_lien_desinscrire = 'http://www.tela-botanica.org/client/projet/jrest/DesinscriptionProjet/?id_projet='.$projet['p_id'].'&id_utilisateur='.$id_utilisateur.'&mail='.$mail_utilisateur;
$cible_lien = 'http://www.tela-botanica.org/page:liste_projets?id_projet='.$projet['p_id'];
$resume_item = array('element' => $projet['p_titre'], 'lien_desinscrire' => $cible_lien_desinscrire, 'lien' => $cible_lien);
$resume_item = array('element' => $projet['p_titre'], 'lien_desinscrire' => $cible_lien_desinscrire, 'lien' => $cible_lien, 'intitule_lien' => 'Se d&eacute;sinscrire');
$resume['elements'][] = $resume_item;
}
}