/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/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', '&', $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; |
} |
} |
?> |