]> git.mxchange.org Git - friendica.git/commitdiff
Issue 6128: Websub could work now
authorMichael <heluecht@pirati.ca>
Tue, 13 Nov 2018 22:23:16 +0000 (22:23 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 13 Nov 2018 22:23:16 +0000 (22:23 +0000)
include/api.php
mod/pubsubhubbub.php

index 267ba0c067806e4e827fcfa0b6f76f4770f117a8..f4d7c5f5a6c549b80f894bf3396821678455fb84 100644 (file)
@@ -1649,6 +1649,7 @@ function api_statuses_home_timeline($type)
        $data = ['status' => $ret];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
                        break;
@@ -1731,6 +1732,7 @@ function api_statuses_public_timeline($type)
        $data = ['status' => $ret];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
                        break;
@@ -1787,6 +1789,7 @@ function api_statuses_networkpublic_timeline($type)
        $data = ['status' => $ret];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
                        break;
@@ -2108,6 +2111,7 @@ function api_statuses_mentions($type)
        $data = ['status' => $ret];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
                        break;
@@ -2188,6 +2192,7 @@ function api_statuses_user_timeline($type)
        $data = ['status' => $ret];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
                        break;
@@ -2263,8 +2268,10 @@ function api_favorites_create_destroy($type)
        $data = ['status' => $ret];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
+                       break;
        }
 
        return api_format_data("status", $type, $data);
@@ -2330,8 +2337,10 @@ function api_favorites($type)
        $data = ['status' => $ret];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
+                       break;
        }
 
        return api_format_data("statuses", $type, $data);
@@ -3145,6 +3154,7 @@ function api_lists_statuses($type)
        $data = ['status' => $items];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
                        break;
@@ -3541,8 +3551,10 @@ function api_direct_messages_new($type)
 
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $sender);
+                       break;
        }
 
        return api_format_data("direct-messages", $type, $data);
@@ -3807,8 +3819,10 @@ function api_direct_messages_box($type, $box, $verbose)
        $data = ['direct_message' => $ret];
        switch ($type) {
                case "atom":
+                       break;
                case "rss":
                        $data = api_rss_extra($a, $data, $user_info);
+                       break;
        }
 
        return api_format_data("direct-messages", $type, $data);
index d38cbe227d5eac6e935d08e05ce6ffcc5936f733..59fd458f7a6cc08cfe32c616763bd70a3f88bb59 100644 (file)
@@ -65,7 +65,7 @@ function pubsubhubbub_init(App $a) {
 
                // fetch user from database given the nickname
                $condition = ['nickname' => $nick, 'account_expired' => false, 'account_removed' => false];
-               $owner = DBA::selectFirst('user', ['uid', 'hidewall'], $condition);
+               $owner = DBA::selectFirst('user', ['uid', 'hidewall', 'nickname'], $condition);
                if (!DBA::isResult($owner)) {
                        Logger::log('Local account not found: ' . $nick . ' - topic: ' . $hub_topic . ' - callback: ' . $hub_callback);
                        System::httpExit(404);
@@ -88,7 +88,9 @@ function pubsubhubbub_init(App $a) {
 
                // sanity check that topic URLs are the same
                $hub_topic2 = str_replace('/feed/', '/dfrn_poll/', $hub_topic);
-               if (!Strings::compareLink($hub_topic, $contact['poll']) && !Strings::compareLink($hub_topic2, $contact['poll'])) {
+               $self = System::baseUrl() . '/api/statuses/user_timeline/' . $owner['nickname'] . '.atom';
+
+               if (!Strings::compareLink($hub_topic, $contact['poll']) && !Strings::compareLink($hub_topic2, $contact['poll']) && !Strings::compareLink($hub_topic, $self)) {
                        Logger::log('Hub topic ' . $hub_topic . ' != ' . $contact['poll']);
                        System::httpExit(404);
                }