]> git.mxchange.org Git - friendica.git/commitdiff
Return early when inbox-status row couldn't be inserted in HTTPSignature->setInboxStatus
authorHypolite Petovan <hypolite@mrpetovan.com>
Fri, 30 Dec 2022 06:46:11 +0000 (01:46 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Fri, 30 Dec 2022 22:23:23 +0000 (17:23 -0500)
- Address https://github.com/friendica/friendica/issues/12488?notification_referrer_id=NT_kwDOAA4e57E1MTM1MzE3MjU2OjkyNTQxNQ#issuecomment-1366991471

src/Util/HTTPSignature.php

index 47000f5c7455686a21bfb6374dd07587bc9be6e2..84219b31148c499fdc2f1c52f97f3d3b6445dfdf 100644 (file)
@@ -332,6 +332,7 @@ class HTTPSignature
         * @param string  $url     The URL of the inbox
         * @param boolean $success Transmission status
         * @param boolean $shared  The inbox is a shared inbox
+        * @throws \Exception
         */
        static public function setInboxStatus(string $url, bool $success, bool $shared = false)
        {
@@ -339,7 +340,12 @@ class HTTPSignature
 
                $status = DBA::selectFirst('inbox-status', [], ['url' => $url]);
                if (!DBA::isResult($status)) {
-                       DBA::insert('inbox-status', ['url' => $url, 'uri-id' => ItemURI::getIdByURI($url), 'created' => $now, 'shared' => $shared], Database::INSERT_IGNORE);
+                       $insertFields = ['url' => $url, 'uri-id' => ItemURI::getIdByURI($url), 'created' => $now, 'shared' => $shared];
+                       if (!DBA::insert('inbox-status', $insertFields, Database::INSERT_IGNORE)) {
+                               Logger::warning('Unable to insert inbox-status row', $insertFields);
+                               return;
+                       }
+
                        $status = DBA::selectFirst('inbox-status', [], ['url' => $url]);
                }