From 5eeb387497a6a35115d41a20a9a9f8f82531975b Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Tue, 9 Nov 2010 22:42:03 +0100 Subject: Implement the last part of #276: show the list of available feeds in the frontend and let the user select one of them (refs #276) --- functions.js | 24 +++++++++++++++++++++++- modules/popup-dialog.php | 8 ++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/functions.js b/functions.js index 62ecd135d..e4deab47a 100644 --- a/functions.js +++ b/functions.js @@ -1322,9 +1322,31 @@ function subscribeToFeed() { break; case 2: case 3: - case 4: alert(__("Can't subscribe to the specified URL.")); break; + case 4: + new Ajax.Request("backend.php", { + parameters: 'op=rpc&subop=extractfeedurls&url=' + encodeURIComponent(feed_url), + onComplete: function(transport) { + var result = transport.responseXML.getElementsByTagName('urls')[0]; + var feeds = JSON.parse(result.firstChild.nodeValue); + var select = document.getElementById("faad_feeds_container_select"); + + while (select.hasChildNodes()) { + select.removeChild(elem.firstChild); + } + var count = 0; + for (var feedUrl in feeds) { + select.insert(new Option(feeds[feedUrl], feedUrl, false)); + count++; + } + if (count > 5) count = 5; + select.size = count; + + Effect.Appear('fadd_feeds_container', {duration : 0.5}); + } + }); + break; case 0: alert(__("You are already subscribed to this feed.")); break; diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php index 28f954436..520c9f954 100644 --- a/modules/popup-dialog.php +++ b/modules/popup-dialog.php @@ -263,6 +263,14 @@ print ""; + print ''; + print "