use Friendica\Collection\Api\Mastodon\Fields;
use Friendica\Collection\ProfileFields;
use Friendica\Content\Text\BBCode;
-use Friendica\Model\ProfileField;
+use Friendica\Profile\ProfileField\Entity\ProfileField;
use Friendica\Network\HTTPException;
class Field extends BaseFactory
{
/**
- * @param ProfileField $profileField
+ * @param \Friendica\Profile\ProfileField\Entity\ProfileField $profileField
+ *
* @return \Friendica\Object\Api\Mastodon\Field
* @throws HTTPException\InternalServerErrorException
*/
+++ /dev/null
-<?php
-/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
- *
- * @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;
-
-use Friendica\BaseModel;
-use Friendica\Database\Database;
-use Friendica\Network\HTTPException\NotFoundException;
-use Friendica\Security\PermissionSet\Depository\PermissionSet as PermissionSetDepository;
-use Friendica\Security\PermissionSet\Entity\PermissionSet;
-use Psr\Log\LoggerInterface;
-
-/**
- * Custom profile field model class.
- *
- * Custom profile fields are user-created arbitrary profile fields that can be assigned a permission set to restrict its
- * display to specific Friendica contacts as it requires magic authentication to work.
- *
- * @property int uid
- * @property int order
- * @property int psid
- * @property string label
- * @property string value
- * @property string created
- * @property string edited
- * @property PermissionSet permissionSet
- */
-class ProfileField extends BaseModel
-{
- /** @var PermissionSet */
- private $permissionSet;
-
- /** @var PermissionSetDepository */
- private $permissionSetDepository;
-
- public function __construct(Database $dba, LoggerInterface $logger, PermissionSetDepository $permissionSetDepository, array $data = [])
- {
- parent::__construct($dba, $logger, $data);
-
- $this->permissionSetDepository = $permissionSetDepository;
- }
-
- public function __get($name)
- {
- $this->checkValid();
-
- switch ($name) {
- case 'permissionSet':
- if (empty($this->permissionSet)) {
- $permissionSet = $this->permissionSetDepository->selectOneById($this->psid, $this->uid);
- if ($permissionSet->uid !== $this->uid) {
- throw new NotFoundException(sprintf('PermissionSet %d (user-id: %d) for ProfileField %d (user-id: %d) is invalid.', $permissionSet->id, $permissionSet->uid, $this->id, $this->uid));
- }
-
- $this->permissionSet = $permissionSet;
- }
-
- $return = $this->permissionSet;
- break;
- default:
- $return = parent::__get($name);
- break;
- }
-
- return $return;
- }
-}
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Profile;
-use Friendica\Model\ProfileField;
+use Friendica\Profile\ProfileField\Entity\ProfileField;
use Friendica\Model\User;
use Friendica\Module\BaseSettings;
use Friendica\Module\Security\Login;
--- /dev/null
+<?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @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\Profile\ProfileField\Entity;
+
+use Friendica\BaseModel;
+use Friendica\Database\Database;
+use Friendica\Network\HTTPException\NotFoundException;
+use Friendica\Security\PermissionSet\Depository\PermissionSet as PermissionSetDepository;
+use Friendica\Security\PermissionSet\Entity\PermissionSet;
+use Psr\Log\LoggerInterface;
+
+/**
+ * Custom profile field model class.
+ *
+ * Custom profile fields are user-created arbitrary profile fields that can be assigned a permission set to restrict its
+ * display to specific Friendica contacts as it requires magic authentication to work.
+ *
+ * @property int uid
+ * @property int order
+ * @property int psid
+ * @property string label
+ * @property string value
+ * @property string created
+ * @property string edited
+ * @property PermissionSet permissionSet
+ */
+class ProfileField extends BaseModel
+{
+ /** @var PermissionSet */
+ private $permissionSet;
+
+ /** @var PermissionSetDepository */
+ private $permissionSetDepository;
+
+ public function __construct(Database $dba, LoggerInterface $logger, PermissionSetDepository $permissionSetDepository, array $data = [])
+ {
+ parent::__construct($dba, $logger, $data);
+
+ $this->permissionSetDepository = $permissionSetDepository;
+ }
+
+ public function __get($name)
+ {
+ $this->checkValid();
+
+ switch ($name) {
+ case 'permissionSet':
+ if (empty($this->permissionSet)) {
+ $permissionSet = $this->permissionSetDepository->selectOneById($this->psid, $this->uid);
+ if ($permissionSet->uid !== $this->uid) {
+ throw new NotFoundException(sprintf('PermissionSet %d (user-id: %d) for ProfileField %d (user-id: %d) is invalid.', $permissionSet->id, $permissionSet->uid, $this->id, $this->uid));
+ }
+
+ $this->permissionSet = $permissionSet;
+ }
+
+ $return = $this->permissionSet;
+ break;
+ default:
+ $return = parent::__get($name);
+ break;
+ }
+
+ return $return;
+ }
+}
{
protected static $table_name = 'profile_field';
- protected static $model_class = Model\ProfileField::class;
+ protected static $model_class = \Friendica\Profile\ProfileField\Entity\ProfileField::class;
protected static $collection_class = Collection\ProfileFields::class;
/**
* @param array $data
- * @return Model\ProfileField
+ *
+ * @return \Friendica\Profile\ProfileField\Entity\ProfileField
*/
protected function create(array $data)
{
/**
* @param array $condition
- * @return Model\ProfileField
+ *
+ * @return \Friendica\Profile\ProfileField\Entity\ProfileField
* @throws \Friendica\Network\HTTPException\NotFoundException
*/
public function selectFirst(array $condition)
/**
* @param array $fields
- * @return Model\ProfileField|bool
+ *
+ * @return \Friendica\Profile\ProfileField\Entity\ProfileField|bool
* @throws \Exception
*/
public function insert(array $fields)
}
/**
- * @param Model\ProfileField $model
+ * @param \Friendica\Profile\ProfileField\Entity\ProfileField $model
+ *
* @return bool
* @throws \Exception
*/
unset($profileFieldOrder['new']);
// Prunes profile field whose label has been emptied
- $profileFields = $profileFields->filter(function (Model\ProfileField $profileField) use (&$profileFieldInputs, &$profileFieldOrder) {
+ $profileFields = $profileFields->filter(function (\Friendica\Profile\ProfileField\Entity\ProfileField $profileField) use (&$profileFieldInputs, &$profileFieldOrder) {
$keepModel = !isset($profileFieldInputs[$profileField->id]) || !empty($profileFieldInputs[$profileField->id]['label']);
if (!$keepModel) {
$profileFieldOrder = array_flip(array_keys($profileFieldOrder));
// Update existing profile fields from form values
- $profileFields = $profileFields->map(function (Model\ProfileField $profileField) use ($uid, &$profileFieldInputs, &$profileFieldOrder) {
+ $profileFields = $profileFields->map(function (\Friendica\Profile\ProfileField\Entity\ProfileField $profileField) use ($uid, &$profileFieldInputs, &$profileFieldOrder) {
if (isset($profileFieldInputs[$profileField->id]) && isset($profileFieldOrder[$profileField->id])) {
$psid = $this->permissionSet->selectOrCreate($this->permissionSetFactory->createFromString(
$uid,