diff options
author | Andrew Dolgov <[email protected]> | 2005-12-29 19:25:07 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2005-12-29 19:25:07 +0100 |
commit | a0476535ef78964322f28dc6643e97923f0688f1 (patch) | |
tree | 0a409eb108243543426d8e4eabf7f241d318bf49 | |
parent | eadcf397db297594d807604a504f90ec3abeac16 (diff) |
feed browser now works
-rw-r--r-- | backend.php | 27 | ||||
-rw-r--r-- | prefs.js | 34 |
2 files changed, 59 insertions, 2 deletions
diff --git a/backend.php b/backend.php index 626df1d06..14e911449 100644 --- a/backend.php +++ b/backend.php @@ -1501,6 +1501,27 @@ $subop = $_REQUEST["subop"]; $quiet = $_REQUEST["quiet"]; + if ($subop == "massSubscribe") { + $ids = split(",", db_escape_string($_GET["ids"])); + + foreach ($ids as $id) { + $result = db_query($link, "SELECT feed_url,title FROM ttrss_feeds + WHERE id = '$id'"); + + $feed_url = db_fetch_result($result, 0, "feed_url"); + $title = db_fetch_result($result, 0, "title"); + + $result = db_query($link, "SELECT id FROM ttrss_feeds WHERE + feed_url = '$feed_url' AND owner_uid = " . $_SESSION["uid"]); + + if (db_num_rows($result) == 0) { + $result = db_query($link, + "INSERT INTO ttrss_feeds (owner_uid,feed_url,title,cat_id) + VALUES ('".$_SESSION["uid"]."', '$feed_url', '$title', NULL)"); + } + } + } + if ($subop == "browse") { print "<div class=\"infoBoxContents\">"; @@ -1533,9 +1554,11 @@ $feed_icon = "<img class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\">"; } - $check_box = "<input class='feedBrowseCB' type=\"checkbox\" id=\"BFCHK-" . $details["id"] . "\">"; + $check_box = "<input class='feedBrowseCB' type=\"checkbox\" id=\"FBCHK-" . + $details["id"] . "\">"; - print "<li>$check_box $feed_icon" . $details["title"] . + print "<li id=\"FBROW-".$details["id"]."\">$check_box $feed_icon" . + $details["title"] . " <span class='subscribers'>($subscribers)</span></li>"; } @@ -1293,3 +1293,37 @@ function browseFeeds() { xmlhttp.send(null); } + +function feedBrowserSubscribe() { + try { + var list = document.getElementById("browseFeedList"); + + var selected = new Array(); + + for (i = 0; i < list.childNodes.length; i++) { + var child = list.childNodes[i]; + if (child.id && child.id.match("FBROW-")) { + var id = child.id.replace("FBROW-", ""); + + var cb = document.getElementById("FBCHK-" + id); + + if (cb.checked) { + selected.push(id); + } + } + } + + if (selected.length > 0) { + closeInfoBox(); + xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=massSubscribe&ids="+ + param_escape(selected.toString()), true); + xmlhttp.onreadystatechange=feedlist_callback; + xmlhttp.send(null); + } else { + alert("No feeds are selected."); + } + + } catch (e) { + exception_error("feedBrowserSubscribe", e); + } +} |