]> git.mxchange.org Git - friendica.git/commitdiff
Add Model\Introduction class to DI registry
authornupplaPhil <admin@philipp.info>
Fri, 27 Dec 2019 14:20:09 +0000 (15:20 +0100)
committernupplaPhil <admin@philipp.info>
Sun, 29 Dec 2019 19:18:25 +0000 (20:18 +0100)
mod/notifications.php
src/BaseModel.php
src/DI.php
src/Module/Api/Mastodon/FollowRequests.php
src/Module/FollowConfirm.php

index 4db4a8a83edc3c6a16fc0eb8d656e5454d532db6..73730b50a52957e8ebaac07d7ce13c5d0753b3a0 100644 (file)
@@ -31,9 +31,7 @@ function notifications_post(App $a)
        }
 
        if ($request_id) {
-               /** @var Introduction $Intro */
-               $Intro = \Friendica\BaseObject::getClass(Introduction::class);
-               $Intro->fetch(['id' => $request_id, 'uid' => local_user()]);
+               $Intro = DI::intro()->fetch(['id' => $request_id, 'uid' => local_user()]);
 
                switch ($_POST['submit']) {
                        case L10n::t('Discard'):
index 32011c7db2f916189ab14245e3e16a1179b276df..f8cef0c13e707ee0d94b3971427d4271e027542a 100644 (file)
@@ -32,10 +32,11 @@ abstract class BaseModel
         */
        private $data = [];
 
-       public function __construct(Database $dba, LoggerInterface $logger)
+       public function __construct(Database $dba, LoggerInterface $logger, $data = [])
        {
                $this->dba = $dba;
                $this->logger = $logger;
+               $this->data = $data;
        }
 
        /**
@@ -71,15 +72,13 @@ abstract class BaseModel
         */
        public function fetch(array $condition)
        {
-               $intro = $this->dba->selectFirst(static::$table_name, [], $condition);
+               $data = $this->dba->selectFirst(static::$table_name, [], $condition);
 
-               if (!$intro) {
+               if (!$data) {
                        throw new HTTPException\NotFoundException(static::class . ' record not found.');
                }
 
-               $this->data = $intro;
-
-               return $this;
+               return new static($this->dba, $this->logger, $data);
        }
 
        /**
index 557e98a8018a2aadb68b3330c5f72ac76d0df647..e328a1fdd36fd33ab66b3c9816b88010f54b2e91 100644 (file)
@@ -29,6 +29,7 @@ use Psr\Log\LoggerInterface;
  * @method static Core\Session\ISession session()
  * @method static Database\Database dba()
  * @method static Model\Notify notify()
+ * @method static Model\Introduction intro()
  * @method static Protocol\Activity activity()
  * @method static Util\ACLFormatter aclFormatter()
  * @method static Util\DateTimeFormat dtFormat()
@@ -61,6 +62,7 @@ abstract class DI
                'session'      => Core\Session\ISession::class,
                'dba'          => Database\Database::class,
                'notify'       => Model\Notify::class,
+               'intro'        => Model\Introduction::class,
                'activity'     => Protocol\Activity::class,
                'aclFormatter' => Util\ACLFormatter::class,
                'dtFormat'     => Util\DateTimeFormat::class,
index a8d6cb52ea0a190b7e6ea90bdf5e7e7920e1e57d..6cafb44a667a9b422788ce23f821849fdc8cc1dc 100644 (file)
@@ -30,9 +30,7 @@ class FollowRequests extends Api
        {
                parent::post($parameters);
 
-               /** @var Introduction $Intro */
-               $Intro = self::getClass(Introduction::class);
-               $Intro->fetch(['id' => $parameters['id'], 'uid' => self::$current_user_id]);
+               $Intro = DI::intro()->fetch(['id' => $parameters['id'], 'uid' => self::$current_user_id]);
 
                $contactId = $Intro->{'contact-id'};
 
index b97b00944c3311e2f5848ed522fd55c6278eadad..e54032c85094ea71fa779074d19eba9e68728e0d 100644 (file)
@@ -23,9 +23,7 @@ class FollowConfirm extends BaseModule
                $duplex   = intval($_POST['duplex']     ?? 0);
                $hidden   = intval($_POST['hidden']     ?? 0);
 
-               /** @var Introduction $Intro */
-               $Intro = self::getClass(Introduction::class);
-               $Intro->fetch(['id' => $intro_id, 'uid' => local_user()]);
+               $Intro = DI::intro()->fetch(['id' => $intro_id, 'uid' => local_user()]);
 
                $cid = $Intro->{'contact-id'};