Exemplo n.º 1
0
/**
 * Rebuild the RSS feed associated with the news board (at rss.xml)
 */
function rebuild_rss()
{
    if (THnewsboard) {
        $sidelinks = fopen("rss.xml", "w") or die("Could not open rss.xml for writing.");
        fwrite($sidelinks, "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n");
        fwrite($sidelinks, "<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">\n");
        fwrite($sidelinks, "\t<channel>\n");
        fwrite($sidelinks, "\t" . '<atom:link href="' . THurl . 'rss.xml" rel="self" type="application/rss+xml" />' . "\n");
        fwrite($sidelinks, "\t\t<title>" . THname . "</title>\n");
        fwrite($sidelinks, "\t\t<description>" . THname . " drydock RSS feeder - " . THurl . "</description>\n");
        fwrite($sidelinks, "\t\t<language>en</language>\n");
        fwrite($sidelinks, "\t\t<link>" . THurl . "</link>\n");
        fwrite($sidelinks, "\t\t<generator>drydock rss feed generator</generator>\n");
        fwrite($sidelinks, "\t\t<copyright>tyam/ordog/kchan devs - http://573chan.org / http://drydock.googlecode.com/</copyright>\n");
        //pull everything from the news page
        $db = new ThornToolsDBI();
        $posts = $db->getnewsthreads();
        $newsboard = $db->getboardname(THnewsboard);
        //get the name of the board
        foreach ($posts as $news_post) {
            //set up our variables so we're not using raws
            if ($news_post['name']) {
                if ($news_post['trip']) {
                    $author = $news_post['name'] . "!" . $news_post['trip'];
                } else {
                    $author = $news_post['name'];
                }
                //tripcode check
            } else {
                $author = "Anonymous";
            }
            //name check
            $text = $news_post['body'];
            //no filters
            if ($news_post['title'] != NULL) {
                $subject = $news_post['title'];
            } else {
                $subject = "News post";
            }
            if (THuserewrite) {
                $link = THurl . $newsboard . '/thread/' . $news_post['globalid'];
            } else {
                $link = THurl . 'drydock.php?b=' . $newsboard . '&amp;i=' . $news_post['globalid'];
            }
            $guid = $news_post['globalid'];
            $body = replacewedge(nl2br($text)) . '&lt;br/&gt;~' . $author;
            //post template
            fwrite($sidelinks, "\n");
            fwrite($sidelinks, "\t\t<item>\n");
            fwrite($sidelinks, "\t\t<guid isPermaLink=\"false\">news {$guid}</guid>\n");
            fwrite($sidelinks, "\t\t\t<title>{$subject}</title>\n");
            fwrite($sidelinks, "\t\t\t<description>{$body}</description>\n");
            fwrite($sidelinks, "\t\t\t<link>{$link}</link>\n");
            fwrite($sidelinks, "\t\t\t<pubDate>" . date(DATE_RSS, $news_post['time']) . "</pubDate>\n");
            fwrite($sidelinks, "\t\t</item>\n");
            fwrite($sidelinks, "\n");
        }
        fwrite($sidelinks, "\t</channel>\n");
        fwrite($sidelinks, "</rss>\n");
        fclose($sidelinks);
    }
}