summaryrefslogtreecommitdiff
path: root/functions.php
diff options
context:
space:
mode:
authorChristian Weiske <[email protected]>2010-11-07 14:43:15 +0100
committerAndrew Dolgov <[email protected]>2010-11-08 23:30:10 +0300
commitf33479dab87b7e34692201db1c1016e4ffa7c990 (patch)
tree8474ff98d45ce1a1e041390ade73bc580d23b577 /functions.php
parent2b8290cd5b71e34904f6f0ce169d2ceaa07c3850 (diff)
part of #276: determine if the url contents are html
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;
+ }
?>