if (is_numeric($rss_chanel))
{
$rssIndex[0] = $rss_chanel;
}
elseif (strpos($GLOBALS[RSS_CHANEL_INDEX],','))
{
$rssIndex = split(',',$GLOBALS[RSS_CHANEL_INDEX]);
}
else
{
$rssIndex[0] = $GLOBALS[RSS_CHANEL_INDEX];
}
foreach($rssIndex as $key => $value)
{
if (is_numeric($value))
{
//$rssQuery[$key] = "EXECUTE p_indexcontent($value,$rssLimit);";
//$rssQuery[$key] = "SELECT * FROM t_article A, t_article_key K WHERE K.id_article=A.id_article AND K.id_index=$value AND A.etat=1 ORDER BY A.date_article DESC, A.rank DESC, A.id_article DESC LIMIT $rssLimit;";
//$rssValue[$key] = $value;
unset($myRss);
$myRss = new rssFlow();
$myRss->render($value);
}
}
$myRss->render();
class rssFlow
{
var $xmlcontent='';
function rssFlow()
{
}
function render($id_index)
{
$rssLimit = ($GLOBALS[RSS_LIMIT] ? $GLOBALS[RSS_LIMIT] : $GLOBALS[LIMIT_INDEXCONTENT]);
$this->xmlcontent = '';
if (is_numeric($id_index))
{
$rssQuery = "SELECT * FROM t_article A, t_article_key K WHERE K.id_article=A.id_article AND K.id_index=$id_index AND A.etat=1 ORDER BY A.date_article DESC, A.rank DESC, A.id_article DESC LIMIT $rssLimit;";
//$rssQuery = "EXECUTE p_indexcontent($id_index,$rssLimit);"
}
else
{
$rssQuery = "SELECT * FROM v_article ".($GLOBALS[RSS_PATH] ? " WHERE path <@ '$GLOBALS[RSS_PATH]' ": '')."LIMIT $rssLimit;";
}
unset($rssTitle);
$cnx2 = new PostgreSql();
$rssTitle = $cnx2->queryValue("SELECT value FROM t_article_index WHERE id_index=$rssValue[$key]");
$rssTitle = ' : '.$rssTitle;
$cnx = new PostgreSql();
$cnx->query($localQuery);
$this->xmlcontent=" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">
".($GLOBALS[RSS_TITLE] ? stripslashes($GLOBALS[RSS_TITLE]) : $GLOBALS[PAGE_TITLE]."$rssTitle
$GLOBALS[RSS_URI]
".($GLOBALS[RSS_DESC} ? $GLOBALS[RSS_DESC] : $GLOBALS[SITE_DESC])."
$GLOBALS[HTML_LANGUAGE]
$GLOBALS[SERVER_URI]".$GLOBALS[DB_EXP]."/root/bank/tclass/rss.jpg
".date("D, j M Y G:i:s ").'GMT'.substr(date("O"),0,3).">";
while ($result = $cnx->next_record() )
{
$tpUrl = ac_link($result[id_article]);
if ($result[id_annu_auteur])
{
$c = new PostgreSql();
$c->query("SELECT textcat(annu_prenom, annu_nom) FROM t_annu WHERE id_annu = $result[id_annu_auteur];");
$creator = $c->next_record();
}
$this->xmlcontent.="\n\t-
".asciiEncode($result[nom])."
".$GLOBALS[RSS_URI],0,-1)."$tpUrl
".htmlentities($result[resume])."
".$result[date_article]."
".$result[last_modified]".
".substr($GLOBALS[RSS_URI],0,-1)."$tpUrl";
// $this->xmlcontent.="\t\t$creator[annu_prenom] $creator[annu_nom] \n\t\t$result[date_article]";
$this->xmlcontent.="\n\t
";
}
$this->xmlcontent.="\n\t\n";
$this->xmlcontent = utf8_encode(utf8_decode($this->xmlcontent));
$this->xmlcontent = ez_decode($this->xmlcontent);
$target = $GLOBALS[ITEM_LOCALPATH]."xml/rss".($id_index ? '_'.$id_index : '').".xml";
//print ("
writing $target");
$fp = fopen($target,"w");
fwrite($fp,$this->xmlcontent);
fclose($fp);
$target = $GLOBALS[ITEM_LOCALPATH]."xml/rss".($rssValue[$key] ? '_'.$rssValue[$key] : '').".rss";
//print (" writing $target");
$fp = fopen($target,"w");
fwrite($fp,$this->xmlcontent);
fclose($fp);
return ($this->xmlcontent);
}
function show()
{
set_nocaching();
//header('Content-type: application/rss+xml');
header('Content-type: application/xml');
header('Content-Length: '.strlen($this->xmlcontent));
print (''."\n");
print($this->xmlcontent);
ob_end_flush();
}
function purge($id_index)
{
unlink($ITEM_LOCALPATH."xml/rss".($id_index ? '_'.$id_index : '').".xml";);
unlink($ITEM_LOCALPATH."xml/rss".($id_index ? '_'.$id_index : '').".rss";);
}
}
?>