Subversion Repositories Applications.projet

Compare Revisions

Ignore whitespace Rev 388 → Rev 389

/trunk/jrest/services/ProjetService.php
86,6 → 86,28
return $listes_projets;
}
protected function obtenirListesExternesAssocieesAuProjet($id_projet) {
 
$requete_liste_projets = 'SELECT * FROM agora '.
'WHERE plle_id_liste IN '.
'(SELECT plle_id_liste from projet_lien_liste_externe '.
'WHERE plle_id_projet='.$id_projet.')' ;
 
try {
$listes_projets = $this->bdd->query($requete_liste_projets)->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
Log::getInstance()->ajouterEntree('projet','Fichier: '.$e->getFile().' Ligne: '.$e->getLine().' '.$e->getMessage());
return array();
}
 
 
if(!$listes_projets || count($listes_projets) <= 0) {
return array();
}
 
return $listes_projets;
}
protected function supprimerInscriptionAListeProjet($id_utilisateur, $id_liste) {
$requete_suppression_liste = 'DELETE FROM projet_inscription_liste '.
/trunk/jrest/services/DocumentsRss.php
New file
0,0 → 1,81
<?php
/**
* PHP Version 5
*
* @category PHP
* @package papyrus_bp
* @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/papyrus_bp/
*/
 
Class DocumentsRss extends ProjetService {
public function __construct($config, $demarrer_session= true) {
parent::__construct($config, $demarrer_session);
}
// TODO: gérer plusieurs format et utiliser les mêmes classes communes que
// celles du cel
public function getElement($uid){
$format = 'rss2';
 
// on selectionne les projets les plus actifs
$requete_docs_projets = 'SELECT * FROM projet_documents '.
'WHERE pd_ce_type != 0 AND pd_visibilite = "public" '.
'ORDER BY pd_date_de_mise_a_jour DESC '.
'LIMIT 0,5';
$resume = array();
 
$titre = htmlspecialchars('Derniers documents publics ');
$lien = 'http://www.tela-botanica.org/page:liste_projets';
 
$docs = $this->bdd->query($requete_docs_projets)->fetchAll();
$rss = '<?xml version="1.0" encoding="UTF-8"?>'.
'<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>'.$titre.'</title>
<link>'.$lien.'</link>
<atom:link href="" rel="self" type="application/rss+xml" />
<description>'.$titre.'</description>';
foreach($docs as $doc) {
$infos_projet = $this->obtenirInformationsProjet($doc['pd_ce_projet']);
$date_modification_timestamp = strtotime($doc['pd_date_de_mise_a_jour']);
$date_maj_doc = date(DATE_RSS, $date_modification_timestamp);
$nom_projet = 'Dans le projet '.$infos_projet[0]['p_titre'];
$id_doc = $doc['pd_id'];
$nom_doc = $doc['pd_nom'];
$description = preg_replace('/&(?!(a-z+|#0-9+|#x0-9a-f+);)/i', '&amp;', $nom_projet);
$description = preg_replace('/000null/i', '', $nom_projet);
$description = htmlspecialchars($description);
$lien_doc = 'http://www.tela-botanica.org/projets/'.$doc['pd_ce_projet'].'/telechargement/'.$doc['pd_id'];
$rss .='<item>
<guid>'.$id_doc.'</guid>
<title>'.$nom_doc.'</title>
<link>'.$lien_doc.'</link>
<description>'.$description.'</description>
<category>Document</category>
<pubDate>'.$date_maj_doc.'</pubDate>
</item>';
}
$rss .= '</channel>'.
'</rss>';
 
echo $rss;
}
}
?>
/trunk/jrest/services/Documents.php
New file
0,0 → 1,63
<?php
/**
* PHP Version 5
*
* @category PHP
* @package papyrus_bp
* @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/papyrus_bp/
*/
 
Class Documents extends ProjetService {
public function __construct($config, $demarrer_session= true) {
parent::__construct($config, $demarrer_session);
}
 
public function getElement($uid){
$id_utilisateur = $uid[1];
$mail_utilisateur = $uid[2];
if($id_utilisateur == "") {
return;
}
 
// on selectionne les projets les plus actifs
$requete_docs_projets = 'SELECT * FROM projet_documents WHERE pd_ce_utilisateur = '.$id_utilisateur.' '.
'AND pd_ce_type != 0 AND pd_visibilite = "public" '.
'ORDER BY pd_date_de_mise_a_jour DESC '.
'LIMIT 0,5';
$resume = array();
 
$resume['titre'] = 'Vos derniers documents déposés';
//$resume['lien_appli'] = '<a href="http://www.tela-botanica.org/page:liste_projets"> Voir tous les projets </a>';
 
$docs = $this->bdd->query($requete_docs_projets)->fetchAll();
 
if(!$docs) {
$resume['message'] = 'Vous n\'avez déposé aucun document';
} else {
foreach($docs as $doc) {
$infos_projet = $this->obtenirInformationsProjet($doc['pd_ce_projet']);
$nom_projet = $infos_projet[0]['p_titre'];
$date_formatee = strftime( "%d/%m/%Y" , strtotime( $doc['pd_date_de_mise_a_jour'] ) );
 
$infos_messages = ' ('.$nom_projet.' le '.$date_formatee.') ';
$cible_lien = 'http://www.tela-botanica.org/projets/'.$doc['pd_ce_projet'].'/telechargement/'.$doc['pd_id'];
$resume_item = array('element' => $doc['pd_nom'].$infos_messages, 'lien' => $cible_lien);
$resume['elements'][] = $resume_item;
}
}
 
$this->envoyer($resume);
}
}
?>
/trunk/jrest/services/Inscription.php
New file
0,0 → 1,21
<?php
/**
* PHP Version 5
*
* @category PHP
* @package papyrus_bp
* @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/papyrus_bp/
*/
 
Class Inscription extends JRestService {
 
public function getElement($uid){
 
$this->envoyer("OK");
}
}
?>
/trunk/jrest/jrest.ini.php
11,6 → 11,8
database = papyrus_bp
url_service_liste = vpopmail.tela-botanica.org/
domaine_service_liste = tela-botanica.org
adresse_appli_projet = http://www.tela-botanica.org/page:liste_projets
addresse_telechargement_docs = http://www.tela-botanica.org/projets/%s/telechargement/%s
 
; Identification
[database_ident]