createElement('item'); $description = $dom->createElement('description', $post_body); $link = $dom->createElement('link', "https://pics.jacobcasper.com/#post-{$post_id}"); $guid = $dom->createElement('guid', "https://pics.jacobcasper.com/#post-{$post_id}"); $pub_date = $dom->createElement('pubDate', date(DATE_RSS, $timestamp)); $enclosure = $dom->createElement('enclosure'); $enclosure->setAttribute('url', "https://pics.jacobcasper.com/pic/{$pic_id}"); $enclosure->setAttribute('length', $post_size); $enclosure->setAttribute('type', $mime_type); $item->appendChild($description); $item->appendChild($enclosure); $item->appendChild($link); $item->appendChild($guid); $item->appendChild($pub_date); return $item; } $now_rss = date(DATE_RSS); $rss_template = file_get_contents('rss.template.xml'); $rss_dom = new DOMDocument(); $rss_dom->formatOutput = true; $rss_dom->loadXML($rss_template); $channel_node = $rss_dom->firstChild->childNodes[1]; $channel_node->appendChild($rss_dom->createElement('pubDate', $now_rss)); $channel_node->appendChild($rss_dom->createElement('lastBuildDate', $now_rss)); $channel_node->appendChild($rss_dom->createElement('generator', 'https://git.jacobcasper.com/?p=pics.git;a=blob;f=rss.php;h=0312255783027646c3dd7a86636776dec82db03c;hb=HEAD')); $db = get_db(); $posts = $db->query('SELECT p.ID as POST_ID, pi.id as PIC_ID, p.TIMESTAMP, pi.MIME_TYPE, length(pi.PIC_B64) as SIZE, c.BODY FROM posts p JOIN pics pi on p.id = pi.post_id JOIN comments c on p.id = c.post_id ORDER BY p.TIMESTAMP DESC'); while ($post = $posts->fetchArray()) { $item = post_to_item($rss_dom, $post); $channel_node->appendChild($item); } file_put_contents('rss.xml', $rss_dom->saveXML());