]> git.mxchange.org Git - friendica.git/blobdiff - mod/dfrn_poll.php
Merge pull request #5780 from annando/fix-relocation
[friendica.git] / mod / dfrn_poll.php
index 943ddddecc53623fe1b10c23f3e8f28fbd55c7f9..54539ee03d7bd4cc580bb7845b9fa34b59734488 100644 (file)
@@ -32,7 +32,8 @@ function dfrn_poll_init(App $a)
        $quiet                   = x($_GET, 'quiet');
 
        // Possibly it is an OStatus compatible server that requests a user feed
-       if (($a->argc > 1) && ($dfrn_id == '') && !strstr($_SERVER["HTTP_USER_AGENT"], 'Friendica')) {
+       $user_agent = defaults($_SERVER, 'HTTP_USER_AGENT', '');
+       if (($a->argc > 1) && ($dfrn_id == '') && !strstr($user_agent, 'Friendica')) {
                $nickname = $a->argv[1];
                header("Content-type: application/atom+xml");
                echo OStatus::feed($nickname, $last_update, 10);
@@ -479,6 +480,12 @@ function dfrn_poll_content(App $a)
                }
 
                if (($type === 'profile') && (strlen($sec))) {
+                       // heluecht: I don't know why we don't fail immediately when the user or contact hadn't been found.
+                       // Since it doesn't make sense to continue from this point on, we now fail here. This should be safe.
+                       if (!DBA::isResult($r)) {
+                               System::httpExit(404, ["title" => L10n::t('Page not found.')]);
+                       }
+
                        // URL reply
                        if ($dfrn_version < 2.2) {
                                $s = Network::fetchUrl($r[0]['poll']