From 9c4837460c168b248e7f4a45d5b020e878bc3f91 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 4 Oct 2006 06:40:00 +0100 Subject: infobox-based feed category editor --- modules/pref-feeds.php | 238 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 229 insertions(+), 9 deletions(-) (limited to 'modules/pref-feeds.php') diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index c46057274..46b03e891 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -391,14 +391,14 @@ } } - if ($subop == "saveCat") { +/* if ($subop == "saveCat") { $cat_title = db_escape_string(trim($_GET["title"])); $cat_id = db_escape_string($_GET["id"]); $result = db_query($link, "UPDATE ttrss_feed_categories SET title = '$cat_title' WHERE id = '$cat_id' AND owner_uid = ".$_SESSION["uid"]); - } +} */ if ($subop == "remove") { @@ -446,7 +446,7 @@ } } - if ($subop == "addCat") { +/* if ($subop == "addCat") { if (!WEB_DEMO_MODE) { @@ -471,7 +471,7 @@ } - } + } if ($subop == "removeCats") { @@ -502,7 +502,7 @@ db_query($link, "COMMIT"); } } - } + } */ if ($subop == "categorize") { @@ -538,6 +538,215 @@ } + if ($subop == "editCats") { + + print "
Category editor
"; + + print "
"; + + $action = $_REQUEST["action"]; + + if ($action == "save") { + + $cat_title = db_escape_string(trim($_GET["title"])); + $cat_id = db_escape_string($_GET["id"]); + + $result = db_query($link, "UPDATE ttrss_feed_categories SET + title = '$cat_title' WHERE id = '$cat_id' AND owner_uid = ".$_SESSION["uid"]); + + } + + if ($action == "add") { + + if (!WEB_DEMO_MODE) { + + $feed_cat = db_escape_string(trim($_GET["cat"])); + + $result = db_query($link, + "SELECT id FROM ttrss_feed_categories + WHERE title = '$feed_cat' AND owner_uid = ".$_SESSION["uid"]); + + if (db_num_rows($result) == 0) { + + $result = db_query($link, + "INSERT INTO ttrss_feed_categories (owner_uid,title) + VALUES ('".$_SESSION["uid"]."', '$feed_cat')"); + + } else { + + print "
+ Category $feed_cat already exists in the database. +
"; + } + + } + } + + if ($action == "remove") { + + if (!WEB_DEMO_MODE) { + + $ids = split(",", db_escape_string($_GET["ids"])); + + foreach ($ids as $id) { + + db_query($link, "BEGIN"); + + $result = db_query($link, + "SELECT count(id) as num_feeds FROM ttrss_feeds + WHERE cat_id = '$id'"); + + $num_feeds = db_fetch_result($result, 0, "num_feeds"); + + if ($num_feeds == 0) { + db_query($link, "DELETE FROM ttrss_feed_categories + WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]); + } else { + + print "
+ Unable to delete non empty feed categories.
"; + + } + + db_query($link, "COMMIT"); + } + } + } + + print "
+   +
"; + + $result = db_query($link, "SELECT title,id FROM ttrss_feed_categories + WHERE owner_uid = ".$_SESSION["uid"]." + ORDER BY title"); + + print "

"; + + if (db_num_rows($result) != 0) { + + print ""; + + print ""; + + print "
+ Select: + All, + None +
"; + + print "

"; + + print "
"; + + print ""; + +/* print " + + "; */ + + $lnum = 0; + + while ($line = db_fetch_assoc($result)) { + + $class = ($lnum % 2) ? "even" : "odd"; + + $cat_id = $line["id"]; + + $edit_cat_id = $_GET["id"]; + + if ($action == "edit" && $cat_id != $edit_cat_id) { + $class .= "Grayed"; + $this_row_id = ""; + } else { + $this_row_id = "id=\"FCATR-$cat_id\""; + } + + print ""; + + $edit_title = htmlspecialchars(db_unescape_string($line["title"])); + + if (!$edit_cat_id || $action != "edit") { + + print ""; + + print ""; + + } else if ($cat_id != $edit_cat_id) { + + print ""; + + print ""; + + } else { + + print ""; + + print ""; + + } + + print ""; + + ++$lnum; + } + + print "
 Title
" . + $edit_title . "$edit_title"; + + print ""; + print ""; + print ""; + print ""; + + print "
"; + + print "
"; + + print "
"; + + print "
+
"; + + print "
"; + + if ($action == "edit") { + print " + "; + } else { + + print " + + "; + + } + + print "
"; + + } else { + print "

No feed categories defined.

"; + } + + print "
"; + + return; + + } + if ($quiet) return; // print "

Edit Feeds

"; @@ -810,8 +1019,18 @@ } - print " -  All feeds: "; + + if (get_pref($link, 'ENABLE_FEED_CATS')) { + + print " "; + + print " | "; + + } + + print "All feeds: "; } @@ -821,7 +1040,8 @@ } - if (get_pref($link, 'ENABLE_FEED_CATS')) { + +/* if (get_pref($link, 'ENABLE_FEED_CATS')) { print "

Edit Categories

"; @@ -936,7 +1156,7 @@ } else { print "

No feed categories defined.

"; } - } + } */ print "

Import OPML

-- cgit v1.2.3