diff options
author | Christian Weiske <[email protected]> | 2010-11-07 14:43:15 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2010-11-08 23:30:10 +0300 |
commit | f33479dab87b7e34692201db1c1016e4ffa7c990 (patch) | |
tree | 8474ff98d45ce1a1e041390ade73bc580d23b577 /functions.php | |
parent | 2b8290cd5b71e34904f6f0ce169d2ceaa07c3850 (diff) |
part of #276: determine if the url contents are html
Diffstat (limited to 'functions.php')
-rw-r--r-- | functions.php | 21 |
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; + } ?> |