summaryrefslogtreecommitdiff
path: root/backend.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-06-22 15:05:49 +0400
committerAndrew Dolgov <[email protected]>2011-06-22 15:05:49 +0400
commit97279fe6ece1453857e0031700854ddac2beaeac (patch)
tree71f4061ce913b4855e45c843dfdc7259d52a256e /backend.php
parentd0f73380099e5a258b73bb69304bc6146859d1ef (diff)
backend/pubsub: better 404 handling, do not cause PHP warning when invalid feed id is being requested
Diffstat (limited to 'backend.php')
-rw-r--r--backend.php37
1 files changed, 22 insertions, 15 deletions
diff --git a/backend.php b/backend.php
index ef2c42fb5..113c2832e 100644
--- a/backend.php
+++ b/backend.php
@@ -553,34 +553,41 @@
$result = db_query($link, "SELECT feed_url FROM ttrss_feeds
WHERE id = '$feed_id'");
- $check_feed_url = db_fetch_result($result, 0, "feed_url");
+ if (db_num_rows($result) != 0) {
- if ($check_feed_url && ($check_feed_url == $feed_url || !$feed_url)) {
- if ($mode == "subscribe") {
+ $check_feed_url = db_fetch_result($result, 0, "feed_url");
- db_query($link, "UPDATE ttrss_feeds SET pubsub_state = 2
- WHERE id = '$feed_id'");
+ if ($check_feed_url && ($check_feed_url == $feed_url || !$feed_url)) {
+ if ($mode == "subscribe") {
- print $_REQUEST['hub_challenge'];
- return;
+ db_query($link, "UPDATE ttrss_feeds SET pubsub_state = 2
+ WHERE id = '$feed_id'");
- } else if ($mode == "unsubscribe") {
+ print $_REQUEST['hub_challenge'];
+ return;
- db_query($link, "UPDATE ttrss_feeds SET pubsub_state = 0
- WHERE id = '$feed_id'");
+ } else if ($mode == "unsubscribe") {
- print $_REQUEST['hub_challenge'];
- return;
+ db_query($link, "UPDATE ttrss_feeds SET pubsub_state = 0
+ WHERE id = '$feed_id'");
- } else if (!$mode) {
+ print $_REQUEST['hub_challenge'];
+ return;
- // Received update ping, schedule feed update.
+ } else if (!$mode) {
- update_rss_feed($link, $feed_id, true, true);
+ // Received update ping, schedule feed update.
+ update_rss_feed($link, $feed_id, true, true);
+
+ }
+ } else {
+ header('HTTP/1.0 404 Not Found');
+ echo "404 Not found";
}
} else {
header('HTTP/1.0 404 Not Found');
+ echo "404 Not found";
}
break; // pubsub