X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=mod%2Fpubsubhubbub.php;h=bfe553c44caf1e8c91b5ee7cc74f1e2167fe3408;hb=c43e9aa74ee1f68249ea2dd77f0553201fcb1239;hp=d6b9bf1e7ccd02f54204d33c6b3bcc4e27ff05bf;hpb=00180a746a6b17d1c235c685a1453075cc51d499;p=friendica.git diff --git a/mod/pubsubhubbub.php b/mod/pubsubhubbub.php index d6b9bf1e7c..bfe553c44c 100644 --- a/mod/pubsubhubbub.php +++ b/mod/pubsubhubbub.php @@ -39,7 +39,7 @@ function pubsubhubbub_init(&$a) { http_status_exit(404); } - logger("pubsubhubbub: $hub_mode request from " . + logger("pubsubhubbub: $hub_mode request from " . $_SERVER['REMOTE_ADDR']); // get the nick name from the topic, a bit hacky but needed @@ -52,10 +52,10 @@ function pubsubhubbub_init(&$a) { // fetch user from database given the nickname $r = q("SELECT * FROM `user` WHERE `nickname` = '%s'" . - " AND `account_expired` = 0 AND `account_removed` = 0 LIMIT 1", + " AND `account_expired` = 0 AND `account_removed` = 0 LIMIT 1", dbesc($nick)); - - if(!count($r)) { + + if (!dbm::is_result($r)) { logger('pubsubhubbub: local account not found: ' . $nick); http_status_exit(404); } @@ -70,10 +70,10 @@ function pubsubhubbub_init(&$a) { } // get corresponding row from contact table - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0" . - " AND `pending` = 0 LIMIT 1", + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND NOT `blocked`". + " AND NOT `pending` AND `self` LIMIT 1", intval($owner['uid'])); - if(!count($r)) { + if (!dbm::is_result($r)) { logger('pubsubhubbub: contact not found.'); http_status_exit(404); } @@ -82,20 +82,20 @@ function pubsubhubbub_init(&$a) { // sanity check that topic URLs are the same if(!link_compare($hub_topic, $contact['poll'])) { - logger('pubsubhubbub: hub topic ' . $hub_topic . ' != ' . + logger('pubsubhubbub: hub topic ' . $hub_topic . ' != ' . $contact['poll']); http_status_exit(404); } // do subscriber verification according to the PuSH protocol $hub_challenge = random_string(40); - $params = 'hub.mode=' . + $params = 'hub.mode=' . ($subscribe == 1 ? 'subscribe' : 'unsubscribe') . '&hub.topic=' . urlencode($hub_topic) . '&hub.challenge=' . $hub_challenge . '&hub.lease_seconds=604800' . '&hub.verify_token=' . $hub_verify_token; - + // lease time is hard coded to one week (in seconds) // we don't actually enforce the lease time because GNU // Social/StatusNet doesn't honour it (yet) @@ -132,7 +132,7 @@ function pubsubhubbub_init(&$a) { // if we are just updating an old subscription, keep the // old values for push and last_update - if (count($r)) { + if (dbm::is_result($r)) { $last_update = $r[0]['last_update']; $push_flag = $r[0]['push']; }