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; |
} |
} |
?> |