X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fpubsubhubbub.php;h=f3134308fb9fff24c1783fc0774df09a9a8e9168;hb=391c5913227c7f62f19b4f08906b0b1b0b618b33;hp=97f1c98209b1a30799a1ef7ad18cd8cad4c8707c;hpb=09851331a9dc8601919cd0c9200686b92843d235;p=friendica.git diff --git a/mod/pubsubhubbub.php b/mod/pubsubhubbub.php index 97f1c98209..f3134308fb 100644 --- a/mod/pubsubhubbub.php +++ b/mod/pubsubhubbub.php @@ -1,5 +1,9 @@ subscribe - // [hub_callback] => http://status.local/main/push/callback/1 - // [hub_verify] => sync - // [hub_verify_token] => af11... - // [hub_secret] => af11... - // [hub_topic] => http://friendica.local/dfrn_poll/sazius + // [hub_mode] => subscribe + // [hub_callback] => http://status.local/main/push/callback/1 + // [hub_verify] => sync + // [hub_verify_token] => af11... + // [hub_secret] => af11... + // [hub_topic] => http://friendica.local/dfrn_poll/sazius if ($_SERVER['REQUEST_METHOD'] === 'POST') { $hub_mode = post_var('hub_mode'); @@ -42,9 +46,14 @@ function pubsubhubbub_init(App $a) { logger("pubsubhubbub: $hub_mode request from " . $_SERVER['REMOTE_ADDR']); - // get the nick name from the topic, a bit hacky but needed + // get the nick name from the topic, a bit hacky but needed as a fallback $nick = substr(strrchr($hub_topic, "/"), 1); + // Normally the url should now contain the nick name as last part of the url + if ($a->argc > 1) { + $nick = $a->argv[1]; + } + if (!$nick) { logger('pubsubhubbub: bad hub_topic=$hub_topic, ignoring.'); http_status_exit(404); @@ -55,7 +64,7 @@ function pubsubhubbub_init(App $a) { " AND `account_expired` = 0 AND `account_removed` = 0 LIMIT 1", dbesc($nick)); - if (!dbm::is_result($r)) { + if (!DBM::is_result($r)) { logger('pubsubhubbub: local account not found: ' . $nick); http_status_exit(404); } @@ -73,7 +82,7 @@ function pubsubhubbub_init(App $a) { $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND NOT `blocked`". " AND NOT `pending` AND `self` LIMIT 1", intval($owner['uid'])); - if (!dbm::is_result($r)) { + if (!DBM::is_result($r)) { logger('pubsubhubbub: contact not found.'); http_status_exit(404); } @@ -132,7 +141,7 @@ function pubsubhubbub_init(App $a) { // if we are just updating an old subscription, keep the // old values for push and last_update - if (dbm::is_result($r)) { + if (DBM::is_result($r)) { $last_update = $r[0]['last_update']; $push_flag = $r[0]['push']; } @@ -158,5 +167,3 @@ function pubsubhubbub_init(App $a) { killme(); } - -?>