diff --git a/opml.php b/opml.php
index 9adeb4025..590ba30a8 100644
--- a/opml.php
+++ b/opml.php
@@ -28,15 +28,50 @@
print "
" . date("r", time()) . "";
print "";
- $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 "";
+ }
+
+ print "";
+
+ $old_cat_title = $cat_title;
+ }
+ }
+
print "";
}
+ if ($cat_mode && $old_cat_title) {
+ print "";
+ }
+
print "";
}