summaryrefslogtreecommitdiff
path: root/functions.php
diff options
context:
space:
mode:
Diffstat (limited to 'functions.php')
-rw-r--r--functions.php21
1 files changed, 21 insertions, 0 deletions
diff --git a/functions.php b/functions.php
index 7f24b4d06..a31e52e0b 100644
--- a/functions.php
+++ b/functions.php
@@ -2953,6 +2953,7 @@
* 0 - OK, Feed already exists
* 1 - OK, Feed added
* 2 - Invalid URL
+ * 3 - URL content is HTML, not a feed
*/
function subscribe_to_feed($link, $url, $cat_id = 0,
$auth_login = '', $auth_pass = '') {
@@ -2971,6 +2972,9 @@
WHERE feed_url = '$url' AND owner_uid = ".$_SESSION["uid"]);
if (db_num_rows($result) == 0) {
+ if (url_is_html($url)) {
+ return 3;
+ }
$result = db_query($link,
"INSERT INTO ttrss_feeds
@@ -7026,4 +7030,21 @@
return $feedUrls;
}
+ /**
+ * Checks if the content behind the given URL is a HTML file
+ *
+ * @param string $url URL to check
+ *
+ * @return boolean True if the URL contains HTML content
+ */
+ function url_is_html($url) {
+ $content = substr(fetch_file_contents($url, false), 0, 1000);
+ if (strpos($content, '<html>') === false
+ && strpos($content, '<html ') === false
+ ) {
+ return false;
+ }
+
+ return true;
+ }
?>