X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FProfileField.php;h=180aae21c4849adfd5c343024a67330ce9464233;hb=c3d0ab56a560809f0d331f3f45f1f213a2094358;hp=51b43e33c8a838828d41c06715948cf46b9fe36c;hpb=3297d5c3e66675fff455ba31fc3fdbd5f683e1c5;p=friendica.git diff --git a/src/Model/ProfileField.php b/src/Model/ProfileField.php index 51b43e33c8..180aae21c4 100644 --- a/src/Model/ProfileField.php +++ b/src/Model/ProfileField.php @@ -1,8 +1,30 @@ . + * + */ namespace Friendica\Model; use Friendica\BaseModel; +use Friendica\Database\Database; +use Friendica\Network\HTTPException; +use Psr\Log\LoggerInterface; /** * Custom profile field model class. @@ -17,8 +39,40 @@ use Friendica\BaseModel; * @property string value * @property string created * @property string edited + * @property PermissionSet permissionset */ class ProfileField extends BaseModel { + /** @var PermissionSet */ + private $permissionset; + + /** @var \Friendica\Repository\PermissionSet */ + private $permissionSetRepository; + + public function __construct(Database $dba, LoggerInterface $logger, \Friendica\Repository\PermissionSet $permissionSetRepository, array $data = []) + { + parent::__construct($dba, $logger, $data); + + $this->permissionSetRepository = $permissionSetRepository; + } + + public function __get($name) + { + $this->checkValid(); + + switch ($name) { + case 'permissionset': + $this->permissionset = + $this->permissionset ?? + $this->permissionSetRepository->selectFirst(['id' => $this->psid, 'uid' => $this->uid]); + + $return = $this->permissionset; + break; + default: + $return = parent::__get($name); + break; + } + return $return; + } }