From 0915772fe6735f6051c6b56a3b3e59dd3c44833b Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 24 Jan 2016 11:06:20 +0100 Subject: PubSubHubbub unsubscribe request https://github.com/FreshRSS/FreshRSS/issues/1058 --- p/api/pshb.php | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'p/api/pshb.php') diff --git a/p/api/pshb.php b/p/api/pshb.php index 4bb4694b3..7de4cc1a2 100644 --- a/p/api/pshb.php +++ b/p/api/pshb.php @@ -68,6 +68,15 @@ if (!empty($_REQUEST['hub_mode']) && $_REQUEST['hub_mode'] === 'subscribe') { exit(isset($_REQUEST['hub_challenge']) ? $_REQUEST['hub_challenge'] : ''); } +if (!empty($_REQUEST['hub_mode']) && $_REQUEST['hub_mode'] === 'unsubscribe') { + if (empty($hubJson['lease_end']) || $hubJson['lease_end'] < time()) { + exit(isset($_REQUEST['hub_challenge']) ? $_REQUEST['hub_challenge'] : ''); + } else { + header('HTTP/1.1 422 Unprocessable Entity'); + die('We did not ask to unsubscribe!'); + } +} + if ($ORIGINAL_INPUT == '') { header('HTTP/1.1 422 Unprocessable Entity'); die('Missing XML payload!'); -- cgit v1.2.3