Bonjour,
j'aimerai que mon flux RSS global, géré par RSSFit et reprenant les flux des modules News, SmartSection et MyAlbum incorporent les images des topics(ou bien, s'il n'y en a pas, le logo du site) ou des miniatures(en ce qui concerne MyAlbum) et que, en cliquant sur l'image, celle ci mène à l'article ou à la page de la photo.
J'aimerai également que, dans tous les titres diffusés dans le flux RSS, ceux ci soient précédés du nom de la section à laquelle l'article ou l'image appartient.
Exemple : une news nommée
Quoi de neuf cette semaine ? #4 devrait s'appeler, dans le flux RSS :
News : Quoi de neuf cette semaine ? #4 ou bien encore, pour une photo qui se nommerai par exemple
Chiwawa contre Dog Allemand, il faudrait que celle ci soit nommée, dans le flux RSS :
Photo : Chiwawa contre Dog AllemandVoici les plugins que j'utilise pour RSSFit :
News
<?php
if( !defined('RSSFIT_ROOT_PATH') ){ exit(); }
class RssfitNews{
var $dirname = 'news';
var $modname;
var $grab;
function RssfitNews(){
}
function loadModule(){
$mod =& $GLOBALS['module_handler']->getByDirname($this->dirname);
if( !$mod || !$mod->getVar('isactive') ){
return false;
}
$this->modname = $mod->getVar('name');
$this->module =& $mod;
return $mod;
}
function &grabEntries(&$obj){
$ret = false;
@include_once XOOPS_ROOT_PATH.'/modules/news/class/class.newsstory.php';
$myts =& MyTextSanitizer::getInstance();
if( $this->module->getVar('version') >= 130 ){
@include_once XOOPS_ROOT_PATH.'/modules/news/include/functions.php';
$news = NewsStory::getAllPublished($this->grab, 0, news_getmoduleoption('restrictindex'));
}else{
$news = NewsStory::getAllPublished($this->grab, 0);
}
if( count($news) > 0 ){
for( $i=0; $i<count($news); $i++ ){
$ret[$i]['title'] = $myts->undoHtmlSpecialChars($news[$i]->title());
$ret[$i]['link'] = XOOPS_URL.'/modules/news/article.php?storyid='.$news[$i]->storyid();
$ret[$i]['guid'] = XOOPS_URL.'/modules/news/article.php?storyid='.$news[$i]->storyid();
$ret[$i]['timestamp'] = $news[$i]->published();
$desc = $news[$i]->hometext();
$ret[$i]['description'] = $news[$i]->hometext();
$ret[$i]['category'] = $this->modname;
$ret[$i]['domain'] = XOOPS_URL.'/modules/'.$this->dirname.'/';
}
}
return $ret;
}
}
?>
SmartSection
<?php
if( !defined('RSSFIT_ROOT_PATH') ){ exit(); }
class RssfitSmartsection{
var $dirname = 'smartsection';
var $modname;
var $grab;
function RssfitSmartsection(){
}
function loadModule(){
$mod =& $GLOBALS['module_handler']->getByDirname($this->dirname);
if( !$mod || !$mod->getVar('isactive') ){
return false;
}
$this->modname = $mod->getVar('name');
return $mod;
}
function &grabEntries(&$obj){
$ret = false;
include XOOPS_ROOT_PATH."/modules/smartsection/include/common.php";
$items = $smartsection_item_handler->getAllPublished($this->grab, 0);
if( false != $items && count($items) > 0 ){
for( $i=0; $i<count($items); $i++ ){
$ret[$i]['link'] = $ret[$i]['guid'] = $items[$i]->getItemUrl();
$ret[$i]['title'] = $items[$i]->getVar('title', 'n');
$ret[$i]['timestamp'] = $items[$i]->getVar('datesub');
$ret[$i]['description'] = $items[$i]->getVar('summary');
$ret[$i]['category'] = $this->modname;
$ret[$i]['domain'] = XOOPS_URL.'/modules/'.$this->dirname.'/';
}
}
return $ret;
}
}
?>
MyAlbum
<?php
if( !defined('RSSFIT_ROOT_PATH') ){ exit(); }
class RssfitMyalbum{
var $dirname = 'myalbum';
var $modname;
var $grab;
function RssfitMyalbum(){
}
function loadModule(){
$mod =& $GLOBALS['module_handler']->getByDirname($this->dirname);
if( !$mod || !$mod->getVar('isactive') ){
return false;
}
$this->modname = $mod->getVar('name');
return $mod;
}
function &grabEntries(&$obj){
global $xoopsDB;
$myts =& MyTextSanitizer::getInstance();
$ret = false;
$i = 0;
$sql = "SELECT l.lid, l.cid, l.title, l.ext, l.date, t.description FROM ".$xoopsDB->prefix("myalbum_photos")." l, ".$xoopsDB->prefix("myalbum_text")." t WHERE l.status>0 AND l.lid=t.lid ORDER BY date DESC";
$result = $xoopsDB->query($sql, $this->grab, 0);
while( $row = $xoopsDB->fetchArray($result) ){
$ret[$i]['title'] = $row['title'];
$link = XOOPS_URL.'/modules/'.$this->dirname.'/photo.php?lid='.$row['lid'];
$dot = ".";
$images = '<img src="'.XOOPS_URL.'/photos/thumbs/'.$row['lid'].$dot.$row['ext'].'"><br>';
$ret[$i]['link'] = $ret[$i]['guid'] = $link;
$ret[$i]['timestamp'] = $row['date'];
$ret[$i]['description'] = $images. $myts->displayTarea( $row['description']);
$ret[$i]['category'] = $this->modname;
$ret[$i]['domain'] = XOOPS_URL.'/modules/'.$this->dirname.'/';
$i++;
}
return $ret;
}
}
?>
Quelqu'un a une solution ? Tout en sachant que mon niveau en PHP est assez... mauvais