//require('require.phtml');
class RSS
{
var $functionName = '';
var $id = '';
var $language = '';
public function RSS()
{
require_once('require.phtml');
}
public function getFeed()
{
//print "functionName: ". $this->functionName."
";
return $this->{$this->functionName}();
}
private function topten()
{
/* Om det första stycket i artikeln inte innehåller någon beskrivning kommer endast rubriken att visas i feedet */
mysql_query("CREATE TEMPORARY TABLE tmp (id smallint, onlinetime timestamp, overskrift varchar(255), beskrivning text, type varchar(255), company varchar(255))");
mysql_query("INSERT INTO tmp SELECT id, onlinetime, overskrift, beskrivning, 'comment', company FROM comments WHERE sida = 0 AND online=1");
mysql_query("INSERT INTO tmp SELECT id, onlinetime, overskrift, beskrivning, 'analysis', company FROM analysis WHERE sida = 0 AND online=1");
//mysql_query("INSERT IGNORE INTO tmp SELECT id, onlinetime, overskrift, beskrivning, 'technicalAnalysis', null FROM technicalAnalysis");
$strQuery = "SELECT * FROM tmp ORDER BY onlinetime DESC LIMIT 10";
$result = mysql_query($strQuery);
$details = $this->detailsStart(alias("RSS_TOP_TEN", $this->language));
while($row = mysql_fetch_object($result))
{
$link = $this->link($row);
$details .= $this->detailsContent($row->overskrift, $link, $row->beskrivning);
}
$details .= $this->detailsEnd();
return $details;
}
private function toptenTechAn()
{
$details = $this->detailsStart(htmlentities(alias("RSS_TOP_TEN_TECHAN", $this->language)));
$strQuery = "SELECT id, overskrift, intro, DATE_FORMAT(onlinetime, '%Y-%m-%d') AS onlinetime FROM technicalAnalysis where language = ".$this->language ." and online=1 ORDER BY entered DESC LIMIT 10";
$result = mysql_query($strQuery);
while($row = mysql_fetch_object($result))
{
$details .= $this->detailsContent(htmlentities($row->overskrift)." - ".$row->onlinetime, "http://".$_SERVER["SERVER_NAME"]."/technicalAnalysis/".$row->id."/", "");
}
$details .= $this->detailsEnd();
return $details;
}
private function toptenBlogg()
{
$details = $this->detailsStart(htmlentities(alias("RSS_TOP_TEN_BLOG", $this->language)));
$strQuery = "SELECT id, overskrift, intro FROM blog where language = ".$this->language ." ORDER BY entered DESC LIMIT 10";
$result = mysql_query($strQuery);
while($row = mysql_fetch_object($result))
{
$details .= $this->detailsContent(htmlentities($row->overskrift), "http://".$_SERVER["SERVER_NAME"]."/blog/".$row->id."/", $row->intro);
}
$details .= $this->detailsEnd();
return $details;
}
private function toptenChronicle()
{
$details = $this->detailsStart(htmlentities(alias("RSS_TOP_TEN_CHRONICLE", $this->language)));
$strQuery = "SELECT id, subject, intro FROM chronicles where language = ".$this->language ." and online=1 ORDER BY entered DESC LIMIT 10";
$result = mysql_query($strQuery);
while($row = mysql_fetch_object($result))
{
$details .= $this->detailsContent(htmlentities($row->subject), "http://".$_SERVER["SERVER_NAME"]."/chronicles/".$row->id."/", $row->intro);
}
$details .= $this->detailsEnd();
return $details;
}
private function company()
{
mysql_query("CREATE TEMPORARY TABLE tmp (id smallint, onlinetime timestamp, overskrift varchar(255), beskrivning text, type varchar(255), company varchar(255))");
mysql_query("INSERT INTO tmp SELECT id, onlinetime, overskrift, beskrivning, 'analysis', company FROM analysis WHERE sida = 0 AND company = " . $this->id);
mysql_query("INSERT INTO tmp SELECT id, onlinetime, overskrift, beskrivning, 'comment', company FROM comments WHERE sida = 0 AND company = " . $this->id);
$strQuery = "SELECT name FROM companies WHERE id = " . $this->id;
$resultHeading = mysql_query($strQuery);
$objHeading = mysql_fetch_object($resultHeading);
$strQuery = "SELECT * FROM tmp ORDER BY onlinetime";
$resultText = mysql_query($strQuery);
$details = $this->detailsStart(htmlentities($objHeading->name));
while($row = mysql_fetch_object($resultText))
{
$link = $this->link($row);
$details .= $this->detailsContent($row->overskrift, $link, $row->beskrivning);
}
$details .= $this->detailsEnd();
return $details;
}
private function link($row)
{
switch($row->type)
{
case 'comment':
return "http://".$_SERVER["SERVER_NAME"]."/company/".$row->company."/".$row->type."/".$row->id."/";
break;
case 'analysis':
return "http://".$_SERVER["SERVER_NAME"]."/company/".$row->company."/".$row->type."/".$row->id."/";
break;
case 'blogg':
return "http://".$_SERVER["SERVER_NAME"]."/blogg/".$row->company."/".$row->type."/".$row->id."/";
break;
default:
return "http://".$_SERVER["SERVER_NAME"]."/technicalAnalysis/".$row->id."/";
break;
}
}
private function detailsStart($heading)
{
$details = "
".html_entity_decode($heading)."
";
return $details;
}
private function detailsEnd()
{
$details = "
";
return $details;
}
private function detailsContent($heading, $link, $description)
{
$content = " -
".html_entity_decode($heading)."
".htmlentities($link)."
".htmlentities($description)."
";
return $content;
}
function setType($type)
{
$this->functionName = $type;
}
function setId($id)
{
$this->id = $id;
}
function setLanguage($lang)
{
$this->language = $lang;
}
}
?>