]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Introduction.php
Merge pull request #9620 from annando/worker-command
[friendica.git] / src / Model / Introduction.php
index ee4f0e71dcd7047275a2748ef4542baa5c825cb6..aab4a9a8e47667857b74034671c446b9127a81f3 100644 (file)
@@ -1,4 +1,23 @@
 <?php
+/**
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @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;
 
@@ -22,9 +41,9 @@ use Psr\Log\LoggerInterface;
  * @property string hash
  * @property string datetime
  * @property bool   blocked
- * @property bool   ignored
+ * @property bool   ignore
  */
-final class Introduction extends BaseModel
+class Introduction extends BaseModel
 {
        /** @var Repository\Introduction */
        protected $intro;
@@ -50,7 +69,7 @@ final class Introduction extends BaseModel
        {
                $this->logger->info('Confirming follower', ['cid' => $this->{'contact-id'}]);
 
-               $contact = Model\Contact::selectFirst([], ['id' => $this->{'contact-id'}, 'uid' => $this->uid]);
+               $contact = Contact::selectFirst([], ['id' => $this->{'contact-id'}, 'uid' => $this->uid]);
 
                if (!$contact) {
                        throw new HTTPException\NotFoundException('Contact record not found.');
@@ -71,12 +90,12 @@ final class Introduction extends BaseModel
 
                if (in_array($protocol, [Protocol::DIASPORA, Protocol::ACTIVITYPUB])) {
                        if ($duplex) {
-                               $newRelation = Model\Contact::FRIEND;
+                               $newRelation = Contact::FRIEND;
                        } else {
-                               $newRelation = Model\Contact::FOLLOWER;
+                               $newRelation = Contact::FOLLOWER;
                        }
 
-                       if ($newRelation != Model\Contact::FOLLOWER) {
+                       if ($newRelation != Contact::FOLLOWER) {
                                $writable = 1;
                        }
                }
@@ -95,9 +114,9 @@ final class Introduction extends BaseModel
 
                array_merge($contact, $fields);
 
-               if ($newRelation == Model\Contact::FRIEND) {
+               if ($newRelation == Contact::FRIEND) {
                        if ($protocol == Protocol::DIASPORA) {
-                               $ret = Diaspora::sendShare(Model\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']);
@@ -116,7 +135,7 @@ final class Introduction extends BaseModel
         */
        public function ignore()
        {
-               $this->ignored = true;
+               $this->ignore = true;
 
                return $this->intro->update($this);
        }
@@ -136,28 +155,25 @@ final class Introduction extends BaseModel
                if (!$this->fid) {
                        // When the contact entry had been created just for that intro, we want to get rid of it now
                        $condition = ['id' => $this->{'contact-id'}, 'uid' => $this->uid,
-                               'self' => false, 'pending' => true, 'rel' => [0, Model\Contact::FOLLOWER]];
+                               'self' => false, 'pending' => true, 'rel' => [0, Contact::FOLLOWER]];
                        if ($this->dba->exists('contact', $condition)) {
-                               Model\Contact::remove($this->{'contact-id'});
+                               Contact::remove($this->{'contact-id'});
                        } else {
                                $this->dba->update('contact', ['pending' => false], ['id' => $this->{'contact-id'}]);
                        }
                }
 
-               $contact = Model\Contact::selectFirst([], ['id' => $this->{'contact-id'}, 'uid' => $this->uid]);
-
-               if (!$contact) {
-                       throw new HTTPException\NotFoundException('Contact record not found.');
-               }
-
-               if (!empty($contact['protocol'])) {
-                       $protocol = $contact['protocol'];
-               } else {
-                       $protocol = $contact['network'];
-               }
+               $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 ($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);