]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Introduction.php
Fix overly strict return value for revokeFollow methods
[friendica.git] / src / Model / Introduction.php
index 68d598e3441b49e8bef6b2e96e60161169d76d3d..aa718912143dc520f71a1e80db9de22e51189560 100644 (file)
@@ -1,4 +1,23 @@
 <?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
 
 namespace Friendica\Model;
 
@@ -24,7 +43,7 @@ use Psr\Log\LoggerInterface;
  * @property bool   blocked
  * @property bool   ignore
  */
-final class Introduction extends BaseModel
+class Introduction extends BaseModel
 {
        /** @var Repository\Introduction */
        protected $intro;
@@ -91,13 +110,13 @@ final class Introduction extends BaseModel
                        'hidden'    => $hidden ?? $contact['hidden'],
                        'rel'       => $newRelation,
                ];
-               $this->dba->update('contact', $fields, ['id' => $contact['id']]);
+               Contact::update($fields, ['id' => $contact['id']]);
 
                array_merge($contact, $fields);
 
                if ($newRelation == Contact::FRIEND) {
                        if ($protocol == Protocol::DIASPORA) {
-                               $ret = Diaspora::sendShare(Contact::getById($contact['uid']), $contact);
+                               $ret = Diaspora::sendShare(User::getById($contact['uid']), $contact);
                                $this->logger->info('share returns', ['return' => $ret]);
                        } elseif ($protocol == Protocol::ACTIVITYPUB) {
                                ActivityPub\Transmitter::sendActivity('Follow', $contact['url'], $contact['uid']);
@@ -140,24 +159,21 @@ final class Introduction extends BaseModel
                        if ($this->dba->exists('contact', $condition)) {
                                Contact::remove($this->{'contact-id'});
                        } else {
-                               $this->dba->update('contact', ['pending' => false], ['id' => $this->{'contact-id'}]);
+                               Contact::update(['pending' => false], ['id' => $this->{'contact-id'}]);
                        }
                }
 
                $contact = Contact::selectFirst([], ['id' => $this->{'contact-id'}, 'uid' => $this->uid]);
+               if (!empty($contact)) {
+                       if (!empty($contact['protocol'])) {
+                               $protocol = $contact['protocol'];
+                       } else {
+                               $protocol = $contact['network'];
+                       }
 
-               if (!$contact) {
-                       throw new HTTPException\NotFoundException('Contact record not found.');
-               }
-
-               if (!empty($contact['protocol'])) {
-                       $protocol = $contact['protocol'];
-               } else {
-                       $protocol = $contact['network'];
-               }
-
-               if ($protocol == Protocol::ACTIVITYPUB) {
-                       ActivityPub\Transmitter::sendContactReject($contact['url'], $contact['hub-verify'], $contact['uid']);
+                       if ($protocol == Protocol::ACTIVITYPUB) {
+                               ActivityPub\Transmitter::sendContactReject($contact['url'], $contact['hub-verify'], $contact['uid']);
+                       }
                }
 
                return $this->intro->delete($this);