summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-10 13:27:44 +0300
committerAndrew Dolgov <[email protected]>2010-11-10 13:27:44 +0300
commit5414ad4c80e5bb5c973d2299aa5500623ce07452 (patch)
tree887437341dcc2c2e31632873e0852bc9d0971906
parentfb0742394a2097a506a777f0bc7c285c07eb6a72 (diff)
subscribe_to_feed: do not subscribe to feeds which can't be downloaded
-rw-r--r--functions.js10
-rw-r--r--functions.php4
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);