3 namespace Friendica\Model;
5 use Friendica\BaseModel;
6 use Friendica\Database\Database;
7 use Friendica\Network\HTTPException;
8 use Psr\Log\LoggerInterface;
11 * Custom profile field model class.
13 * Custom profile fields are user-created arbitrary profile fields that can be assigned a permission set to restrict its
14 * display to specific Friendica contacts as it requires magic authentication to work.
19 * @property string label
20 * @property string value
21 * @property string created
22 * @property string edited
23 * @property PermissionSet permissionset
25 class ProfileField extends BaseModel
27 /** @var PermissionSet */
28 private $permissionset;
30 /** @var \Friendica\Repository\PermissionSet */
31 private $permissionSetRepository;
33 public function __construct(Database $dba, LoggerInterface $logger, \Friendica\Repository\PermissionSet $permissionSetRepository, array $data = [])
35 parent::__construct($dba, $logger, $data);
37 $this->permissionSetRepository = $permissionSetRepository;
40 public function __get($name)
46 $this->permissionset =
47 $this->permissionset ??
48 $this->permissionSetRepository->selectFirst(['id' => $this->psid, 'uid' => $this->uid]);
50 $return = $this->permissionset;
53 $return = parent::__get($name);