]> git.mxchange.org Git - friendica.git/blobdiff - mod/pubsubhubbub.php
Merge pull request #3769 from annando/show-forum-posts
[friendica.git] / mod / pubsubhubbub.php
index 97f1c98209b1a30799a1ef7ad18cd8cad4c8707c..477d1e2968f2053d00aba2021a412068e39357ef 100644 (file)
@@ -1,5 +1,7 @@
 <?php
 
+use Friendica\App;
+
 function post_var($name) {
        return (x($_POST, $name)) ? notags(trim($_POST[$name])) : '';
 }
@@ -14,12 +16,12 @@ function pubsubhubbub_init(App $a) {
        // Subscription request from subscriber
        // https://pubsubhubbub.googlecode.com/git/pubsubhubbub-core-0.4.html#anchor4
        // Example from GNU Social:
-    // [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
+       // [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 +44,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);
@@ -158,5 +165,3 @@ function pubsubhubbub_init(App $a) {
 
        killme();
 }
-
-?>