/** * Funktion zum generieren von einem RSS 2.0 feed */ function generateRSS($ype = "html") { //Einf�gen des Basiswertes include_once "lib/XPath/XPath.class.php"; include_once "ext/blog/blog.class.php"; $xml = new XPath(); $xml->importFromString($this->prepareXML()); //Konfiguration einf�gen foreach ($this->config['rss'] as $key => $value) { if (!empty($value)) { $data = "\n<{$key}>{$value}</{$key}>\n"; $xml->appendChild("/rss[1]/channel[1]", $data); } } //So nun die letzten 10 Eintr�ge aus dem Blog einf�gen $blog = new weblog($this->blog); $entryArray = $blog->getLastXEntries(10); foreach ($entryArray as $entry) { $item = "\n<item>\n <title>" . $entry['attributes']['title'] . "</title>\n <link>http://www.grundprinzip.de/blog/single/" . $entry['number'] . ".html</link>\n <author>" . $entry['attributes']['mail'] . "</author>\n <category>" . $entry['attributes']['category'] . "</category>\n <description>" . $entry['teaser'] . "</description>\n </item>\n"; $xml->appendChild("/rss[1]/channel[1]", $item); } return $xml->exportAsXml(); }
/** * generates the category menu from the menu data * of directory.xml */ function menuFromXml($xmlData, $catdir) { $html = ""; $subdir = substr($catdir, strlen("content/")); $xmlParser = new XPath(); $xmlParser->importFromString($xmlData); $i = 1; while ($xmlParser->match("/menu[1]/item[{$i}]")) { $html .= "<span class=\"menu\">\n"; if ($xmlParser->match("/menu[1]/item[{$i}]/file[1]")) { $filename = $xmlParser->getData("/menu[1]/item[{$i}]/file[1]"); $title = getTitle($catdir . "/" . $filename); $link = $subdir . "/" . $filename; $html .= "<a href=\"index.php?p={$link}\">{$title}</a>\n"; } elseif ($xmlParser->match("/menu[1]/item[{$i}]/raw_data[1]")) { $data = $xmlParser->exportAsXml("/menu[1]/item[{$i}]/raw_data[1]"); $data = stripTag("raw_data", $data); $html .= $data; } $html .= "</span>\n"; $i++; } return $html; }