$contact_id = $view_as_contact_id ?: $remote_contact_id ?: 0;
if ($is_owner && $contact_id === 0) {
- $profile_fields = DI::profileField()->selectByUserId($profile['uid']);
+ $profile_fields = DI::profileFieldNew()->selectByUserId($profile['uid']);
} else {
- $profile_fields = DI::profileField()->selectByContactId($contact_id, $profile['uid']);
+ $profile_fields = DI::profileFieldNew()->selectByContactId($contact_id, $profile['uid']);
}
foreach ($profile_fields as $profile_field) {
$homepage = 'http://' . $homepage;
}
- $profileFields = DI::profileField()->selectByUserId(local_user());
+ $profileFields = DI::profileFieldNew()->selectByUserId(local_user());
$profileFields = DI::profileField()->updateCollectionFromForm(
local_user(),
$custom_fields = [];
- $profileFields = DI::profileField()->selectByUserId(local_user());
+ $profileFields = DI::profileFieldNew()->selectByUserId(local_user());
foreach ($profileFields as $profileField) {
/** @var ProfileField $profileField */
$defaultPermissions = $profileField->permissionSet->withAllowedContacts(
use Friendica\Profile\ProfileField\Factory;
use Friendica\Profile\ProfileField\Entity;
use Friendica\Profile\ProfileField\Collection;
-use Friendica\Security\PermissionSet\Depository\PermissionSet;
+use Friendica\Security\PermissionSet\Depository\PermissionSet as PermissionSetDepository;
use Psr\Log\LoggerInterface;
class ProfileField extends BaseDepository
protected static $table_name = 'profile_field';
- public function __construct(Database $database, LoggerInterface $logger, Factory\ProfileField $factory)
+ /** @var PermissionSetDepository */
+ protected $permissionSetDepository;
+
+ public function __construct(Database $database, LoggerInterface $logger, Factory\ProfileField $factory, PermissionSetDepository $permissionSetDepository)
{
parent::__construct($database, $logger, $factory);
+
+ $this->permissionSetDepository = $this->permissionSetDepository;
}
/**
{
return $this->select([
'uid' => $uid,
- 'psid' => PermissionSet::PUBLIC,
+ 'psid' => PermissionSetDepository::PUBLIC,
]);
}
+
+ /**
+ * @param int $uid Field owner user Id
+ *
+ * @throws \Exception
+ */
+ public function selectByUserId(int $uid): Collection\ProfileFields
+ {
+ return $this->select(
+ ['uid' => $uid],
+ ['order' => ['order']]
+ );
+ }
+
+ /**
+ * Retrieve all custom profile field a given contact is able to access to, including public profile fields.
+ *
+ * @param int $cid Private contact id, must be owned by $uid
+ * @param int $uid Field owner user id
+ *
+ * @throws \Exception
+ */
+ public function selectByContactId(int $cid, int $uid): Collection\ProfileFields
+ {
+ $permissionSets = $this->permissionSetDepository->selectByContactId($cid, $uid);
+
+ $permissionSetIds = $permissionSets->column('id');
+
+ // Includes public custom fields
+ $permissionSetIds[] = PermissionSetDepository::PUBLIC;
+
+ return $this->select(
+ ['uid' => $uid, 'psid' => $permissionSetIds],
+ ['order' => ['order']]
+ );
+ }
}
$custom_fields = [];
- foreach (DI::profileField()->selectByContactId(0, $uid) as $profile_field) {
+ foreach (DI::profileFieldNew()->selectByContactId(0, $uid) as $profile_field) {
$custom_fields[] = [
'type' => 'PropertyValue',
'name' => $profile_field->label,
return parent::selectByBoundaries($condition, $params, $min_id, $max_id, $limit);
}
- /**
- * @param int $uid Field owner user Id
- *
- * @return \Friendica\Profile\ProfileField\Collection\ProfileFields
- * @throws \Exception
- */
- public function selectByUserId(int $uid)
- {
- return $this->select(
- ['uid' => $uid],
- ['order' => ['order']]
- );
- }
-
- /**
- * Retrieve all custom profile field a given contact is able to access to, including public profile fields.
- *
- * @param int $cid Private contact id, must be owned by $uid
- * @param int $uid Field owner user id
- *
- * @return \Friendica\Profile\ProfileField\Collection\ProfileFields
- * @throws \Exception
- */
- public function selectByContactId(int $cid, int $uid)
- {
- $permissionSets = $this->permissionSet->selectByContactId($cid, $uid);
-
- $psids = $permissionSets->column('id');
- // Includes public custom fields
- $psids[] = 0;
-
- return $this->select(
- ['uid' => $uid, 'psid' => $psids],
- ['order' => ['order']]
- );
- }
/**
* @param array $fields