소스 검색

Update User\Model

Change the algorithm for calculating the email_normal property
Visman 4 년 전
부모
커밋
a29d6c1f16
2개의 변경된 파일13개의 추가작업 그리고 23개의 파일을 삭제
  1. 0 2
      app/Models/Post/Model.php
  2. 13 21
      app/Models/User/Model.php

+ 0 - 2
app/Models/Post/Model.php

@@ -59,8 +59,6 @@ class Model extends DataModel
         } elseif (1 === $this->poster_id) {
             $user = clone $user;
 
-            $user->setAttr('email_normal', false); // заблокировать вычисление в модели User
-
             $user->__email        = $this->poster_email;
             $user->__username     = $this->poster;
         }

+ 13 - 21
app/Models/User/Model.php

@@ -14,12 +14,6 @@ use function \ForkBB\__;
 
 class Model extends DataModel
 {
-    /**
-     * Типы аватарок
-     * @var array
-     */
-    protected $avatarTypes = ['jpg', 'gif', 'png'];
-
     public function __construct(Container $container)
     {
         parent::__construct($container);
@@ -31,6 +25,7 @@ class Model extends DataModel
             'show_sig'     => ['showSignature'],
             'show_avatars' => ['showAvatar'],
             'signature'    => ['isSignature'],
+            'email'        => ['email_normal'],
         ];
     }
 
@@ -346,25 +341,22 @@ class Model extends DataModel
     }
 
     /**
-     * Установка email и вычисление нормализованного email
+     * Вычисление нормализованного email
      */
-    protected function setemail(string $email): void
+    protected function getemail_normal(): string
     {
-        $this->setAttr('email', $email);
+        return $this->c->NormEmail->normalize($this->email);
+    }
 
-        if (
-            empty($email)
-            || false === $this->getAttr('email_normal')
-        ) {
-            return;
+    /**
+     * Возвращает значения свойств в массиве
+     */
+    public function getAttrs(): array
+    {
+        if (isset($this->zModFlags['email_normal'])) {
+            $this->setAttr('email_normal', $this->email_normal);
         }
 
-        $nEmail = $this->c->NormEmail->normalize($email);
-
-        if (isset($this->zTrackFlags['email'])) {
-            $this->email_normal = $nEmail;
-        } else {
-            $this->__email_normal = $nEmail; // ???? $this->setAttr('email_normal', $nEmail);
-        }
+        return parent::getAttrs();
     }
 }