Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : RSS Feed Creator Pics
* Author(s) : Markus Grampp Eventspezialeinheit.info
* Created : 19.04.2008
************************************************/
# Initialization
$bDebug = false;
$iDataStart = 20;
$lCount = 0;
unset ($aData);
$aData = array();
# Base settings
unset ($aSettings);
$aSettings = array();
$aSettings["SortBy"] = "CMS_VALUE[2]";
$aSettings["SortDir"] = "CMS_VALUE[3]";
$aSettings["ShowStart"] = "CMS_VALUE[4]";
$aSettings["Category"] = "CMS_VALUE[5]";
$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";
$aSettings["HeadlineLength"] = "CMS_VALUE[8]";
$aSettings["Elements"] = "CMS_VALUE[9]";
$aSettings["CatTypeSel"] = "CMS_VALUE[10]";
$aSettings["AddCats"] = "CMS_VALUE[11]";
$aSettings["DateType"] = "CMS_VALUE[97]";
$aSettings["Date"] = "CMS_VALUE[98]";
$rss_title = "CMS_VALUE[104]";
$rss_link = "CMS_VALUE[105]";
$rss_description = "CMS_VALUE[106]";
$rss_language = "CMS_VALUE[107]";
$rss_copyright = "CMS_VALUE[108]";
$rss_image_title = "CMS_VALUE[109]";
$rss_image_url = "CMS_VALUE[1010]";
$rss_image_link = "CMS_VALUE[1011]";
$rss_managingEditor = "CMS_VALUE[1012]";
$rss_webMaster = "CMS_VALUE[1013]";
$rss_maxCount = "CMS_VALUE[1014]";
$rss_ttl = "CMS_VALUE[1015]";
$author = '';
#Output feed header
//header("Content-type: text/xml");
cInclude('classes', 'class.article.php');
$OutputRSS .= "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";
$OutputRSS .= "<rss version=\"2.0\">";
$OutputRSS .= "<channel>";
#Get feed image
if ($rss_image_link != '') {
if (substr(strtolower($rss_image_link), 0, 7) != 'http://') {
$rss_image_link = 'http://'.$rss_image_link;
}
}
if ($rss_image_url != '') {
$sql = "SELECT * FROM ".$cfg['tab']['upl']." WHERE idupl = ".$rss_image_url;
$db->query($sql);
if ($db->next_record()) {
$rss_image_url = $cfgClient[$client]['path']['htmlpath'].$cfgClient[$client]['upl']['frontendpath'].$db->f("dirname").$db->f("filename");
$rss_image_fs = $cfgClient[$client]['path']['frontend'].$cfgClient[$client]['upl']['frontendpath'].$db->f("dirname").$db->f("filename");
}
}
$OutputRSS .= "<title>".prepareStringForOutput($rss_title)."</title>";
$OutputRSS .= "<copyright>".prepareStringForOutput($rss_copyright)."</copyright>";
$OutputRSS .= "<link>".prepareStringForOutput($rss_link)."</link>";
$OutputRSS .= "<description>".prepareStringForOutput($rss_description)."</description>";
$OutputRSS .= "<language>".prepareStringForOutput($rss_language)."</language>";
$OutputRSS .= "<lastBuildDate>".date('D, d M Y H:i:s T')."</lastBuildDate>";
$OutputRSS .= "<pubDate>".date('D, d M Y H:i:s T')."</pubDate>";
$OutputRSS .= "<generator>Contenido CMS</generator>";
$OutputRSS .= "<managingEditor>".$rss_managingEditor."</managingEditor>";
$OutputRSS .= "<webMaster>".$rss_webMaster."</webMaster>";
$OutputRSS .= "<ttl>".$rss_ttl."</ttl>";
$OutputRSS .= "<image>";
$OutputRSS .= "<title>".prepareStringForOutput($rss_image_title)."</title>";
list ($width, $height, $type, $attr) = getimagesize($rss_image_fs);
$OutputRSS .= "<width>".$width."</width>";
$OutputRSS .= "<height>".$height."</height>";
$OutputRSS .= "<url>".prepareStringForOutput($rss_image_url)."</url>";
$OutputRSS .= "<link>".prepareStringForOutput($rss_image_link)."</link>";
$OutputRSS .= "</image>";
// Daten für RSS
$RSS_OptionArray[Channel][Title] = "[Freiwillige Feuerwehr Rheinau] - Termine";
$RSS_OptionArray[Channel][Link] = "http://www.eventspezialeinheit.info/FFW/Final/FFW_Rheinau/";
$RSS_OptionArray[Channel][DeepLink] = $RSS_OptionArray[Channel][Link]."front_content.php";
$RSS_OptionArray[Channel][Description] = "Freiwillige Feuerwehr Rheinau news";
$RSS_OptionArray[Channel][Language] = "de-de";
$RSS_OptionArray[Channel][Copyright] = "Freiwillige Feuerwehr Rheinau";
$RSS_OptionArray[Channel][Image][URL] = "http://www.eventspezialeinheit.info/FFW/Final/FFW_Rheinau/upload/images/RssHeader.jpg";
$RSS_OptionArray[Channel][Image][Title] = "Freiwillige Feuerwehr Rheinau";
$RSS_OptionArray[Channel][Image][Link] = "http://www.eventspezialeinheit.info/FFW/Final/FFW_Rheinau/";
$RSS_OptionArray[Channel][webMaster] = "webmaster@feuerwehr-rheinau.de";
$RSS_OptionArray[Channel][managingEditor] = "webmaster@feuerwehr-rheinau.de";
$RSS_OptionArray[Channel][category] = "Firefighter";
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {
$aSettings["Category"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50) {
$aSettings["HeadlineIdentifier"] = "";
}
if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) {
$aSettings["HeadlineLength"] = 0;
}
if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) {
$aSettings["Elements"] = 0;
}
if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) {
$aSettings["CatTypeSel"] = "none";
}
# Detail settings
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$iElementPadding = $iElementType + 4;
$iElementImgAlign = $iElementType + 5;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage
$aSettings["k".$i]["Identifier"] = "CMS_VALUE[$iElementIdentifier]";
$aSettings["k".$i]["ElementWidth"] = "CMS_VALUE[$iElementWidth]"; // Textlength or ImageWidth
$aSettings["k".$i]["ElementHeight"] = "CMS_VALUE[$iElementHeight]";
$aSettings["k".$i]["ElementPadding"] = "CMS_VALUE[$iElementPadding]";
$aSettings["k".$i]["ElementImgAlign"]= "CMS_VALUE[$iElementImgAlign]";
# Check detail settings
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "Text";
}
if ($aSettings["k".$i]["ElementType"] == "Text") {
$aSettings["ElementHeight"] = 0;
if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0) {
$aSettings["k".$i]["ElementWidth"] = 50;
}
} else if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] <= 0 ||
!is_numeric($aSettings["k".$i]["ElementHeight"]) || $aSettings["k".$i]["ElementHeight"] <= 0) {
$aSettings["k".$i]["ElementWidth"] = 0;
$aSettings["k".$i]["ElementHeight"] = 0;
}
if (strlen($aSettings["Identifier"]) > 50) {
$aSettings["Identifier"] = "";
}
}
}
unset ($iDataStart);
unset ($iElementType);
unset ($iElementIdentifier);
unset ($iElementWidth);
unset ($iElementHeight);
if ($aSettings["Category"] !== "0" && $aSettings["HeadlineIdentifier"] !== "") {
if (!is_object($db2)) {
$db2 = new DB_Contenido;
}
# Nur nicht gesperrte Kategorieen anzeigen
cInclude("frontend", "includes/functions.navigation.php");
# Specifying search categories
$sSelCats = "'".$aSettings["Category"]."'";
# Adding categories "below" primary category
switch ($aSettings["CatTypeSel"]) {
case "below":
$lCatLevel = -1;
$sql = "SELECT a.idcat AS idcat, b.level AS level, c.idcatlang AS idcatlang, c.public AS public FROM ".$cfg["tab"]["cat"]." a, ".$cfg["tab"]["cat_tree"]." b, ".$cfg["tab"]["cat_lang"]." c ";
$sql .= "WHERE a.idcat = b.idcat AND c.idcat = a.idcat AND c.idlang = '".$lang."' ORDER BY b.idtree";
$db2->query($sql);
while($db2->next_record()) {
if ($db2->f("idcat") == $aSettings["Category"]) {
$lCatLevel = $db2->f("level");
} else if ($lCatLevel > -1 && $db2->f("level") > $lCatLevel) {
if (checkCatPermission($db2->f("idcatlang"), $db2->f("public"))) {
$sSelCats .= ",'".$db2->f("idcat")."'";
}
} else if ($db2->f("level") <= $lCatLevel) {
break;
}
}
break;
case "selected":
$sql = "SELECT a.idcat AS idcat, b.idcatlang AS idcatlang, b.public AS public FROM ".$cfg["tab"]["cat"]." a, ".$cfg["tab"]["cat_lang"]." b ";
$sql .= "WHERE a.idcat = b.idcat AND b.idlang = '".$lang."' AND a.idcat IN ('".implode("', '", explode(",",$aSettings["AddCats"]))."')";
$db2->query($sql);
while($db2->next_record()) {
if (checkCatPermission($db2->f("idcatlang"), $db2->f("public"))) {
$sSelCats .= ",'".$db2->f("idcat")."'";
}
}
break;
default:
}
$sql = "SELECT tblData.value AS headline, ARTLANG.pagetitle AS pagetitle, ARTLANG.summary AS summary,ARTLANG.author AS Author, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, " ;
$sql .= "ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ";
$sql .= "ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart FROM ";
$sql .= $cfg["tab"]["cat_art"]." AS CATART, ";
$sql .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
$sql .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
$sql .= $cfg["tab"]["content"]." AS tblData ";
$sql .= "WHERE CATART.idcat IN (".$sSelCats.") AND ARTLANG.idlang = '".$lang."' ";
$sql .= "AND tblData.idartlang = ARTLANG.idartlang ";
$sql .= "AND CATLANG.idlang = ARTLANG.idlang ";
$sql .= "AND CATLANG.idcat = CATART.idcat ";
$sql .= "AND ARTLANG.idart = CATART.idart ";
if ($aSettings["ShowStart"] != "enabled") {
if ($cfg["is_start_compatible"] == true) {
$sql .= "AND CATART.is_start = '0' ";
} else {
$sql .= "AND tblData.idartlang != CATLANG.startidartlang ";
}
}
$sql .= "AND ARTLANG.online = '1' ";
$sql .= "AND ".$aSettings["HeadlineIdentifier"]." ";
// Sort by
$sql .= "ORDER BY ";
$sql .= $aSettings["SortBy"]." ".$aSettings["SortDir"]." ";
// execute query
$db2->query($sql);
$lCount = $db2->num_rows();
if ($lCount > 0) {
if (!is_object($db3)) {
$db3 = new DB_Contenido;
}
if (!is_object($db4)) {
$db4 = new DB_Contenido;
}
$lStartCount = 0;
$lEndCount = $lCount;
$lRow = 0;
$i = 0;
while ($db2->next_record()) {
if ( $aSettings["ShowStart"] == "enabled" ||
($aSettings["ShowStart"] != "enabled" && $db2->f("idartlang") != $lStartIDArtLang)) {
if ($lRow >= $lStartCount && $lRow < $lEndCount) {
$aData[$i] = array();
$aData[$i]["Category"] = urldecode($db2->f("category"));
$aData[$i]["idart"] = $db2->f("id");
$aData[$i]["idcat"] = $db2->f("idcat");
$aData[$i]["Link"] = $sess->url("front_content.php?idart=".$db2->f("id"));
$aData[$i]["LastModified"] = $db2->f("lastmodified");
$aData[$i]["Created"] = $db2->f("created");
$aData[$i]["Published"] = $db2->f("published");
$aData[$i]["Author"] = $db2->f("Author");
# nachstehende Daten Summary eingefügt
$aData[$i]["Summary"] = $db2->f("summary");
# nachstehende Daten pagetitle eingefügt
$aData[$i]["Pagetitle"] = $db2->f("pagetitle");
$sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('headline'))));
if ($aSettings["HeadlineLength"] > 0 && strlen($sTmpValue) > $aSettings["HeadlineLength"]) {
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["HeadlineLength"])."...");
}
$aData[$i]["Headline"] = $sTmpValue;
if ($aSettings["Elements"] > 0) {
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
$aData[$i]["i".$k] = array();
$aData[$i]["i".$k]["Value"] = "";
$aData[$i]["i".$k]["ServerPath"] = "";
$aData[$i]["i".$k]["WebPath"] = "";
$aData[$i]["i".$k]["Width"] = 0;
$aData[$i]["i".$k]["Height"] = 0;
}
$sql = "SELECT tblData.value AS value, tblData.idtype AS idtype, tblData.typeid AS typeid FROM ";
$sql .= $cfg["tab"]["cat_art"]." AS tblCatArt, ";
$sql .= $cfg["tab"]["art_lang"]." AS tblArtLang, ";
$sql .= $cfg["tab"]["content"]." AS tblData ";
$sql .= "WHERE tblData.idartlang = tblArtLang.idartlang AND ";
$sql .= "tblArtLang.idlang = '".$lang."' AND ";
$sql .= "tblArtLang.idart = tblCatArt.idart AND ";
$sql .= "tblCatArt.idcatart = '".$db2->f("idcatart")."' AND (";
$sql_items = "";
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
if ($aSettings["k".$k]["Identifier"] != "") {
if ($sql_items != "") {
$sql_items .= " OR (".$aSettings["k".$k]["Identifier"].")";
} else {
$sql_items = "(".$aSettings["k".$k]["Identifier"].")";
}
}
}
$sql .= $sql_items.")";
if ($bDebug) {
echo "<pre>".$sql."</pre>", chr(10);
}
// execute query
$db3->query($sql);
while ($db3->next_record()) {
$sTypeIdentifier = "tblData.idtype = '".$db3->f('idtype')."' AND tblData.typeid = '".$db3->f('typeid')."'";
# Note: The TypeIdentifier for one item may be the same as for another item.
# Therefore, we are storing the content everywhere as needed
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
if ($sTypeIdentifier == $aSettings["k".$k]["Identifier"]) {
switch (TRUE) {
case ($aSettings["k".$k]["ElementType"] == "Image" || $aSettings["k".$k]["ElementType"] == "ExtractedImage"):
$sql = "";
if ($aSettings["k".$k]["ElementType"] == "Image") {
$sql = "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
$sql .= "WHERE idupl = '".$db3->f('value')."'";
} else {
$sTmpValue = urldecode($db3->f('value'));
$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $sTmpValue, $match);
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0], $img);
$img_src = preg_split("/\//", $img[0]);
$img_name = $img_src[count($img_src) - 1];
$img_name = preg_replace("/\"/", "", $img_name);
#Don't know what is happening here, exactly...
# $img_split = preg_split("/\./", $img_name);
# $img_type = $img_split[count($img_split) - 1];
# $img_split2 = preg_split("/_/", $img_split[0]);
$name = strtolower($img_name);
#Don't know what is happening here, exactly...
#if (count($img_split2) > 1) {
# $img_x = $img_split2[count($img_split2) - 1];
# $img_y = $img_split2[count($img_split2) - 2];
# if (is_numeric($img_x) AND is_numeric($img_y)) {
# $suffix = "_".$img_x."_".$img_y.".".$img_type;
# $name = preg_replace("/$suffix/", "", $img_name);
# $name = $name.".[a-zA-Z]{3}";
# }
#}
if (strlen($name) > 0) {
$sql = "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
$sql .= "WHERE LOWER(filename) = '$name'";
// $sql .= "WHERE filename REGEXP '$name'"; // Old: for 'banner.jpg' 'merlin_banner.jpg' is also returned
}
}
if ($bDebug) {
echo "<pre>".$sql."</pre>";
}
// execute query
if ($sql != "") {
$db4->query($sql);
if ($db4->next_record()) {
$aData[$i]["i".$k]["ServerPath"] = $cfgClient[$client]["upl"]["path"].$db4->f('dirname').$db4->f('filename');
$aData[$i]["i".$k]["WebPath"] = $cfgClient[$client]["upl"]["htmlpath"].$db4->f('dirname').$db4->f('filename');
###
list ($width, $height, $type, $attr) = getimagesize($aData[$i]["i".$k]["ServerPath"]);
$aData[$i]["i".$k]["Width"] = $width;
$aData[$i]["i".$k]["Height"] = $height;
}
}
break;
default:
$sTmpValue = html_entity_decode(strip_tags(urldecode($db3->f('value'))));
if ($aSettings["k".$k]["ElementWidth"] > 0 && strlen($sTmpValue) > $aSettings["k".$k]["ElementWidth"]) {
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["k".$k]["ElementWidth"])."...");
}
$aData[$i]["i".$k]["Value"] = $sTmpValue;
}
}
}
}
}
$i++;
} else if ($lRow == $lEndCount) {
break;
}
$lRow++;
}
}
# Clearing memory
unset ($db2);
unset ($db3);
unset ($db4);
unset ($sql);
unset ($lStartIDArtLang);
unset ($lStartCount);
unset ($lEndCount);
# Output data
# Every output manipulation should be done here...
#
# Base information:
# $aSettings["Elements"]: Number of expected, additional elements from each article
# $aSettings["ArticlePerPage"]: Number of articles per page (0: show all)
# $aSettings["k".$i]["ElementType"]: Per Element: Type of Element: Text, Image or ExtractedImage
# $aSettings["k".$i]["ElementWidth"]: Per Element: Text length or image width (-> recycling ...)
# $aSettings["k".$i]["ElementHeight"]: Per Element: Image width
#
# Per article:
# $aValue["Headline"]: Content of article element specified as containing the headline information
# $aValue["Link"]: Relative link to get to the listed article
# $aValue["LastModified"]: Last modified date of the article
# $aValue["Created"]: Created date of the article
# $aValue["Published"]: Published date of the article
# $aValue["Category"]: Category name
# $aValue["Summary"]: summary Zusammenfassung
# $aValue["Pagetitle"]: Seitentitel pagetitle
#
# Per article additional element:
# $aValue["i".$i]["Value"]: Text (only for text elements, otherwise "")
# $aValue["i".$i]["WebPath"]: HTTP... path to image
# $aValue["i".$i]["ServerPath"]: /server/... path to image
# $aValue["i".$i]["Width"]: >Original< image width
# $aValue["i".$i]["Height"]: >Original< image height
/* Init Template
*/
if ($i >= 1) {
foreach ($aData as $aValue) {
$artlist_headline = '<a href="'.$aValue["Link"].'">'.$aValue["Headline"].'</a>';
$artlist_pagetitel = $aValue["Pagetitle"];
$artlist_summary = $aValue["Summary"];
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
switch (TRUE) {
case ($aSettings["k".$i]["ElementType"] == "Image" || $aSettings["k".$i]["ElementType"] == "ExtractedImage"):
$image = $aValue["i".$i]["WebPath"];
$width = $aValue["i".$i]["Width"];
$height = $aValue["i".$i]["Height"];
if ($aSettings["k".$i]["ElementWidth"] > 0 && $aSettings["k".$i]["ElementHeight"] > 0) {
# Check, if resize necessary
if ($aValue["i".$i]["ServerPath"] != "" && file_exists($aValue["i".$i]["ServerPath"]) &&
($aValue["i".$i]["Width"] > $aSettings["k".$i]["ElementWidth"] ||
$aValue["i".$i]["Height"] > $aSettings["k".$i]["ElementHeight"])) {
# Scale image
$image = capiImgScale($aValue["i".$i]["ServerPath"], $aSettings["k".$i]["ElementWidth"], $aSettings["k".$i]["ElementHeight"], false, false, 10, false);
### #Get dimensions of the image
list ($width, $height, $type, $attr) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image));
} else {
$image = $aValue["i".$i]["WebPath"];
$width = $aValue["i".$i]["Width"];
$height = $aValue["i".$i]["Height"];
}
}
if ($image != "") {
#####
$artlist_image[URL] = trim($image);
$artlist_image[width] = $width;
$artlist_image[height] = $height;
#####
}else $artlist_image ="";
break;
default: // Everything else is treated as "Text"
if ($artlist_summary == "") {
$artlist_text = $aValue["i".$i]["Value"];
} else {
$artlist_text = $artlist_summary;
}
}
}
}
$artlist_more = '<a href="'.$aValue["Link"].'">'.mi18n("More...").'</a>';
if("CMS_VALUE[97]"=="create") {
$tmp_artlist_Date = strtotime($aValue["Created"]);
} else {
$tmp_artlist_Date = strtotime($aValue["Published"]);
}
if("CMS_VALUE[98]"!="-1") {
$artlist_lastmod = date('CMS_VALUE[98]', $tmp_artlist_Date);
if(strlen($artlist_lastmod)>12)$artlist_lastmod=$artlist_lastmod." Uhr";
} else {
$artlist_lastmod = "";
}
$OutputRSS .= "<item>";
$OutputRSS .= "<title>".prepareStringForOutput($aValue["Headline"])."</title>";
if ($artlist_image[URL] =="") {
$OutputRSS .='<description>'.prepareStringForOutput($artlist_text).'</description>';
} else {
$OutputRSS .= '<description><img src="'.$artlist_image[URL].'",templateId=renderScaled,property=Bild,width='.$artlist_image[width].'.jpg" alt="" align="left" style="padding-right:5px;" /> <br />'.prepareStringForOutput($artlist_text).'<br</description>';
}
$OutputRSS .= "<link>".$aValue["Link"]."</link>";
//$OutputRSS .= "<pubDate>".date('D, d M Y H:i:s T')."</pubDate>";
$OutputRSS .= "<pubDate>".$artlist_lastmod."</pubDate>";
$idart = $aValue["idart"];
$t1 = $cfg["tab"]["art_lang"];
$t2 = $cfg["tab"]["phplib_auth_user_md5"];
$sql = "SELECT ".$t2.".realname FROM ".$t1." INNER JOIN ".$t2." ON ".$t1.".author = ".$t2.".username WHERE (".$t1.".idart=$idart) AND (".$t1.".idlang=$lang)";
$db->query($sql);
if ($db->next_record()) {
$author = prepareStringForOutput($db->f("realname"));
}
$OutputRSS .= "<author>".$author."</author>";
$OutputRSS .= "</item>";
}
}
}
}
$OutputRSS .= "</channel>";
$OutputRSS .= "</rss>";
echo $OutputRSS;
# Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
function prepareStringForOutput($sIn) {
$sIn = str_replace(' ',' ',$sIn);
$sIn = str_replace(' ',' ',$sIn);
return str_replace('&','&',htmlnumericalentities($sIn));
}
function htmlnumericalentities($str) {
return preg_replace('/[^!-%\x27-;=?-~ ]/e', '"&#".ord("$0").chr(59)', $str);
}
?>