forked from Chaospott/site
81 lines
2.8 KiB
PHP
81 lines
2.8 KiB
PHP
|
<?
|
||
|
if (! function_exists('title_for_post_callback')) {
|
||
|
|
||
|
// Feel free to edit these -------------------------------------------------
|
||
|
|
||
|
function title_for_post_callback($post)
|
||
|
{
|
||
|
if ($post['post-type'] == 'link') {
|
||
|
// For link posts, prepend a Unicode right-pointing-arrow (→)
|
||
|
return "\xE2\x86\x92 " . $post['post-title'];
|
||
|
} else {
|
||
|
return $post['post-title'];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function url_for_post_callback($post) { return $post['post-permalink-or-link']; }
|
||
|
|
||
|
function body_for_post_callback($post)
|
||
|
{
|
||
|
if ($post['post-type'] == 'link') {
|
||
|
// Insert little permalink infinity-symbol into RSS body for link posts
|
||
|
return $post['post-body'] . "\n\n<p><a href=\"http://www.YOURDOMAINHERE.com" . $post['post-permalink'] . "\">∞ Permalink</a></p>";
|
||
|
} else {
|
||
|
return $post['post-body'];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// You should probably stop editing here -----------------------------------
|
||
|
}
|
||
|
|
||
|
$dom = new DOMDocument('1.0', 'UTF-8');
|
||
|
$root = $dom->createElement('rss');
|
||
|
$root->setAttribute('version', '2.0');
|
||
|
$channel = $dom->createElement('channel');
|
||
|
|
||
|
$title_node = $dom->createElement('title');
|
||
|
$title_node->appendChild($dom->createTextNode($content['blog-title']));
|
||
|
$channel->appendChild($title_node);
|
||
|
|
||
|
$link_node = $dom->createElement('link');
|
||
|
$link_node->appendChild($dom->createTextNode($content['blog-url']));
|
||
|
$channel->appendChild($link_node);
|
||
|
|
||
|
$desc_node = $dom->createElement('description');
|
||
|
$desc_node->appendChild($dom->createTextNode($content['blog-description']));
|
||
|
$channel->appendChild($desc_node);
|
||
|
|
||
|
foreach ($content['posts'] as $post) {
|
||
|
$item_node = $dom->createElement('item');
|
||
|
|
||
|
$title_node = $dom->createElement('title');
|
||
|
$title_node->appendChild($dom->createTextNode(title_for_post_callback($post)));
|
||
|
$item_node->appendChild($title_node);
|
||
|
|
||
|
$link_node = $dom->createElement('link');
|
||
|
$link_url = url_for_post_callback($post);
|
||
|
if (! isset($link_url[0]) || $link_url[0] == '/') $link_url = rtrim($content['blog-url'], '/') . $link_url;
|
||
|
$link_node->appendChild($dom->createTextNode($link_url));
|
||
|
$item_node->appendChild($link_node);
|
||
|
|
||
|
$guid = $dom->createElement('guid');
|
||
|
$guid->setAttribute('isPermaLink', 'false');
|
||
|
$guid->appendChild($dom->createTextNode($post['post-permalink-or-link']));
|
||
|
$item_node->appendChild($guid);
|
||
|
|
||
|
$date_node = $dom->createElement('pubDate');
|
||
|
$date_node->appendChild($dom->createTextNode($post['post-rss-date']));
|
||
|
$item_node->appendChild($date_node);
|
||
|
|
||
|
$desc = $dom->createElement('description');
|
||
|
$desc->appendChild($dom->createTextNode(body_for_post_callback($post)));
|
||
|
$item_node->appendChild($desc);
|
||
|
|
||
|
$channel->appendChild($item_node);
|
||
|
}
|
||
|
|
||
|
$root->appendChild($channel);
|
||
|
$dom->appendChild($root);
|
||
|
echo $dom->saveXML();
|
||
|
|