diff options
author | Andrew Dolgov <[email protected]> | 2011-04-20 18:39:30 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-04-20 18:39:30 +0400 |
commit | 6f907113ef20b09976b1fddbc698a49dbe283519 (patch) | |
tree | c926bb96ffcab108f739e56b43a905824e3c27c3 /modules | |
parent | 572d66c6ee10cd86c64416abf2200cd3abec20a1 (diff) |
feed browser: allow subscribing by url for linked feeds
Diffstat (limited to 'modules')
-rw-r--r-- | modules/backend-rpc.php | 48 | ||||
-rw-r--r-- | modules/pref-feeds.php | 11 |
2 files changed, 53 insertions, 6 deletions
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php index 75ce6886a..4f2465e73 100644 --- a/modules/backend-rpc.php +++ b/modules/backend-rpc.php @@ -514,9 +514,53 @@ // Silent if ($subop == "massSubscribe") { - $ids = split(",", db_escape_string($_REQUEST["ids"])); + $payload = json_decode($_REQUEST["payload"], false); $mode = $_REQUEST["mode"]; + if (!$payload || !is_array($payload)) return; + + if ($mode == 1) { + foreach ($payload as $feed) { + + $title = db_escape_string($feed[0]); + $feed_url = db_escape_string($feed[1]); + + $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,site_url) + VALUES ('".$_SESSION["uid"]."', + '$feed_url', '$title', NULL, '')"); + } + } + } else if ($mode == 2) { + // feed archive + foreach ($payload as $id) { + $result = db_query($link, "SELECT * FROM ttrss_archived_feeds + WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]); + + if (db_num_rows($result) != 0) { + $site_url = db_escape_string(db_fetch_result($result, 0, "site_url")); + $feed_url = db_escape_string(db_fetch_result($result, 0, "feed_url")); + $title = db_escape_string(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,site_url) + VALUES ('$id','".$_SESSION["uid"]."', + '$feed_url', '$title', NULL, '$site_url')"); + } + } + } + } + +/* $ids = split(",", db_escape_string($_REQUEST["ids"])); + $subscribed = array(); foreach ($ids as $id) { @@ -551,7 +595,7 @@ } array_push($subscribed, $title_orig); } - } + } */ return; } diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index 4baba572a..3211987ce 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -1607,13 +1607,16 @@ $site_url = ""; } - $feed_url = "<a target=\"_blank\" href=\"$feed_url\"><img + $feed_url = "<a class=\"fb_feedUrl\" target=\"_blank\" + href=\"$feed_url\"><img style='border-width : 0px; vertical-align : middle' src='images/feed-icon-12x12.png'></a>"; - $rv .= "<li title=\"".htmlspecialchars($details["site_url"])."\" - id=\"FBROW-".$details["id"]."\">$check_box". - "$feed_icon $feed_url " . htmlspecialchars($line["title"]) . + $rv .= "<li title=\"".htmlspecialchars($details["site_url"])."\"> + $check_box". + "$feed_icon $feed_url " . + "<span class=\"fb_feedTitle\">".htmlspecialchars($line["title"]). + "</span>". " <span class='subscribers'>($subscribers)</span> $site_url</li>"; |