summaryrefslogtreecommitdiff
path: root/opml.php
diff options
context:
space:
mode:
Diffstat (limited to 'opml.php')
-rw-r--r--opml.php37
1 files changed, 36 insertions, 1 deletions
diff --git a/opml.php b/opml.php
index 9adeb4025..590ba30a8 100644
--- a/opml.php
+++ b/opml.php
@@ -28,15 +28,50 @@
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>";
}