]> git.wh0rd.org - tt-rss.git/commitdiff
category support for OPML export
authorAndrew Dolgov <fox@madoka.spb.ru>
Fri, 25 Nov 2005 12:37:27 +0000 (13:37 +0100)
committerAndrew Dolgov <fox@madoka.spb.ru>
Fri, 25 Nov 2005 12:37:27 +0000 (13:37 +0100)
opml.php

index 9adeb4025ca99379d8df687e5ee78a50e6b36abc..590ba30a8f59ea82bec250a88fd5ce319c5f8fba 100644 (file)
--- a/opml.php
+++ b/opml.php
                print "<head><dateCreated>" . date("r", time()) . "</dateCreated></head>"; 
                print "<body>";
 
-               $result = db_query($link, "SELECT * FROM ttrss_feeds ORDER BY title");
+               $cat_mode = false;
+
+               if (get_pref($link, 'ENABLE_FEED_CATS')) {
+                       $cat_mode = true;
+                       $result = db_query($link, "SELECT 
+                                       ttrss_feeds.feed_url AS feed_url,
+                                       ttrss_feeds.title AS title,
+                                       ttrss_feed_categories.title AS cat_title
+                               FROM ttrss_feeds,ttrss_feed_categories 
+                               WHERE
+                                       cat_id = ttrss_feed_categories.id
+                               ORDER BY ttrss_feed_categories.title,ttrss_feeds.title");
+               } else {
+                       $result = db_query($link, "SELECT * FROM ttrss_feeds 
+                               ORDER BY title");
+               }
+
+               $old_cat_title = "";
 
                while ($line = db_fetch_assoc($result)) {
                        $title = htmlspecialchars($line["title"]);
                        $url = htmlspecialchars($line["feed_url"]);
 
+                       if ($cat_mode) {
+                               $cat_title = htmlspecialchars($line["cat_title"]);
+
+                               if ($old_cat_title != $cat_title) {
+                                       if ($old_cat_title) {
+                                               print "</outline>";     
+                                       }
+
+                                       print "<outline text=\"$cat_title\">";
+
+                                       $old_cat_title = $cat_title;
+                               }
+                       }
+
                        print "<outline text=\"$title\" xmlUrl=\"$url\"/>";
                }
 
+               if ($cat_mode && $old_cat_title) {
+                       print "</outline>";     
+               }
+
                print "</body></opml>";
        }