diff --git a/index.php b/index.php
new file mode 100755
index 0000000..259aaf2
--- /dev/null
+++ b/index.php
@@ -0,0 +1,175 @@
+ $b) ? -1 : 1;
+}
+
+usort($allvids, 'cmp');
+
+// Fix to include CDATA (from http://stackoverflow.com/a/20511976)
+class SimpleXMLElementExtended extends SimpleXMLElement
+{
+ public function addChildWithCDATA($name, $value = null)
+ {
+ $new_child = $this->addChild($name);
+
+ if (isset($new_child)) {
+ $node = dom_import_simplexml($new_child);
+ $no = $node->ownerDocument;
+ $node->appendChild($no->createCDATASection($value));
+ }
+
+ return $new_child;
+ }
+}
+
+// build the rss
+$rss = new SimpleXMLElementExtended('');
+$channel = $rss->addChild('channel');
+$channel->title = 'Youtube subscriptions for ' . $username;
+$channel->link = 'http://www.youtube.com/';
+$channel->description = 'YouTube RSS feed generator by Xefir Destiny ; ported from python ytsubs by ali1234 https://github.com/ali1234/ytsubs';
+$atom = $channel->addChild('link', null, 'http://www.w3.org/2005/Atom');
+$atom->addAttribute('href', 'http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['REQUEST_URI']) . '/rss.xml');
+$atom->addAttribute('rel', 'self');
+
+// add the most recent
+for ($v = 0; $v < $nb_entries; $v++) {
+ $link = 'http://youtube.com/watch?v=' . $allvids[$v]['id'];
+ $item = $channel->addChild('item');
+ $item->link = $link;
+ $item->addChildWithCDATA('title', $allvids[$v]['snippet']['title']);
+ $item->addChildWithCDATA('description', '
+
+
+ |
+ ' . str_replace("\n", ' ', htmlentities($allvids[$v]['snippet']['description'])) . ' |
+
+
');
+ $item->guid = $link;
+ $item->pubDate = date(DATE_RSS, strtotime($allvids[$v]['snippet']['publishedAt']));
+ $item->addChild('dc:creator', $allvids[$v]['snippet']['channelTitle'], 'http://purl.org/dc/elements/1.1/');
+}
+
+$rss->saveXML('rss.xml');
+header('Content-Type: application/rss+xml');
+echo $rss->asXML();