From 5414ad4c80e5bb5c973d2299aa5500623ce07452 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Nov 2010 13:27:44 +0300 Subject: subscribe_to_feed: do not subscribe to feeds which can't be downloaded --- functions.js | 10 +++++++++- functions.php | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/functions.js b/functions.js index 926fda2bb..a0092f932 100644 --- a/functions.js +++ b/functions.js @@ -1304,6 +1304,9 @@ function subscribeToFeed() { try { + if (!transport.responseXML) + console.log(transport.responseText); + var result = transport.responseXML.getElementsByTagName('result')[0]; var rc = parseInt(result.getAttribute('code')); @@ -1323,8 +1326,10 @@ function subscribeToFeed() { } break; case 2: + alert(__("Specified URL seems to be invalid.")); + break; case 3: - alert(__("Can't subscribe to the specified URL.")); + alert(__("Specified URL doesn't seem to contain any feeds.")); break; case 4: new Ajax.Request("backend.php", { @@ -1349,6 +1354,9 @@ function subscribeToFeed() { } }); break; + case 5: + alert(__("Couldn't download the specified URL.")); + break; case 0: alert(__("You are already subscribed to this feed.")); break; diff --git a/functions.php b/functions.php index 73fd93682..835398cd6 100644 --- a/functions.php +++ b/functions.php @@ -351,7 +351,7 @@ } } - function fetch_file_contents($url, $type) { + function fetch_file_contents($url, $type = false) { if (USE_CURL_FOR_ICONS) { $ch = curl_init($url); @@ -2917,12 +2917,14 @@ * 4 - URL content is HTML which contains multiple feeds. * Here you should call extractfeedurls in rpc-backend * to get all possible feeds. + * 5 - Couldn't download the URL content. */ function subscribe_to_feed($link, $url, $cat_id = 0, $auth_login = '', $auth_pass = '') { $url = fix_url($url); if (!validate_feed_url($url)) return 2; + if (!fetch_file_contents($url)) return 5; if (url_is_html($url)) { $feedUrls = get_feeds_from_html($url); -- cgit v1.2.3