"; else return "<$tagName>$content"; } } class RssChannel { private $title; private $link; private $description; // private $items; public function __construct($title, $link, $description) { $this->items = array(); $this->SetTitle($title); $this->SetLink($link); $this->SetDescription($description); } public function SetTitle($value) { $this->title = $value; } public function GetTitle() { return $this->title; } public function SetLink($value) { $this->link = $value; } public function GetLink() { return $this->link; } public function SetDescription($value) { $this->description = $value; } public function GetDescription() { return $this->description; } public function GetItems() { return $this->items; } public function AddItem(RssItem $rssItem) { $this->items[] = $rssItem; } private function GenerateItemRss(RssItem $rssItem) { $result = ''; AddStr($result, ''); AddStr($result, RssUtils::CreateTag('title', StringUtils::EscapeXmlString($rssItem->GetTitle()))); AddStr($result, RssUtils::CreateTag('link', StringUtils::EscapeXmlString($rssItem->GetLink()))); AddStr($result, RssUtils::CreateTag('description', $rssItem->GetDescription(), true)); if ($rssItem->GetPublicationDate() != null) AddStr($result, RssUtils::CreateTag( 'pubDate', StringUtils::EscapeXmlString($rssItem->GetPublicationDate()->ToRfc822String()) ) ); AddStr($result, ''); return $result; } public function GenerateRss() { $result = ''; AddStr($result, ''); AddStr($result, ''); AddStr($result, RssUtils::CreateTag('title', StringUtils::EscapeXmlString($this->GetTitle()))); AddStr($result, RssUtils::CreateTag('link', StringUtils::EscapeXmlString($this->GetLink()))); AddStr($result, RssUtils::CreateTag('description', $this->GetDescription())); foreach($this->GetItems() as $item) AddStr($result, $this->GenerateItemRss($item)); AddStr($result, ''); AddStr($result, ''); return $result; } } class RssItem { private $title; private $link; private $description; public function __construct($title, $link, $description) { $this->SetTitle($title); $this->SetLink($link); $this->SetDescription($description); $this->SetPublicationDate(null); } public function SetTitle($value) { $this->title = $value; } public function GetTitle() { return $this->title; } public function SetLink($value) { $this->link = $value; } public function GetLink() { return $this->link; } public function SetDescription($value) { $this->description = $value; } public function GetDescription() { return $this->description; } public function SetPublicationDate(SMDateTime $value = null) { $this->publicationDate = $value; } public function GetPublicationDate() { return $this->publicationDate; } } ?>