MetaFox

UserPrivacyRepository extends AbstractRepository
in package
implements UserPrivacyRepositoryInterface Uses CollectItemPrivacySetting, CollectProfilePrivacySetting, CollectProfileMenuPrivacySetting

Class UserPrivacyRepository.

Table of Contents

Interfaces

UserPrivacyRepositoryInterface
Interface UserPrivacy.

Constants

CACHE_LIFETIME  = 3000
CACHE_NAME_USER_PRIVACY  = 'user_privacy'
CACHE_NAME_USER_PRIVACY_TYPES  = 'user_privacy_types'

Properties

$model  : UserPrivacy
$disableSponsor  : mixed
$skipPresenter  : mixed

Methods

buildQueryScopes()  : mixed
cleanContent()  : string|null
cleanTitle()  : string|null
collectItemPrivacySetting()  : array<string, mixed>
Collect {resource_name}.item_privacy.
collectProfileMenuSetting()  : array<string, mixed>
Collect {resource_name}.profile_menu.
collectProfilePrivacySettingByEntity()  : array<string|int, mixed>
convertPrivacySettingName()  : string
createMany()  : bool
deleteUserPrivacy()  : int
Delete user privacy when deleting a user.
getBirthdayOptionsForForm()  : array<string, mixed>
getBirthdaySetting()  : array<string, mixed>
Get Date of Birth setting of an user.
getItemPrivacySettings()  : array<int, mixed>
Get Item default privacy list of an user. [ setting_name => 0 ].
getItemPrivacySettingsForValidate()  : array<string, mixed>
getModel()  : UserPrivacy
getPrivacyTypes()  : array<string, mixed>
getPrivacyTypesByEntity()  : array<string, mixed>
getProfileMenuSettings()  : array<int, mixed>
Get profile menu setting of an user. [ setting_name => 0 ].
getProfileMenuSettingsForValidate()  : array<string, mixed>
getProfileSettings()  : array<int, mixed>
Get profile setting of an user. Support page/group/ v.v... [ setting_name => 0 ].
getProfileSettingsForValidate()  : array<string, mixed>
getUserContractMorphTypeColumns()  : array<string|int, string>
getUserPrivacy()  : array<string, mixed>
Get user privacy.
getUserPrivacyByName()  : UserPrivacy|null
hasSponsorView()  : bool
installPrivacyTypes()  : void
Install privacy types.
isNoSponsorView()  : bool
likeOperator()  : string
return the case-insensitive LIKE operator bases on the current database driver.
mapUserPrivacy()  : array<string, mixed>
1. Collect all app first.
model()  : string
updatePrivacyResourceValueByEntity()  : void
Update user privacy resource value by entity type.
updateUserPrivacy()  : array<string, mixed>
Update user privacy.
where()  : $this
withUserMorphTypeActiveScope()  : self
massCollect()  : array<string, array<string, mixed>>
Mass collect from all packages.
collectProfilePrivacySetting()  : array<string, mixed>
This method will help you collect all privacy belongs to a resource.
collectUserPrivacyType()  : array<string, mixed>
Collect raw data from app user privacy settings.
updatePrivacyResourceByName()  : void
updatePrivacyType()  : void

Constants

CACHE_NAME_USER_PRIVACY_TYPES

public mixed CACHE_NAME_USER_PRIVACY_TYPES = 'user_privacy_types'

Properties

Methods

buildQueryScopes()

public buildQueryScopes(mixed $query, mixed $model, mixed $criteria) : mixed
Parameters
$query : mixed
$model : mixed
$criteria : mixed

cleanContent()

public cleanContent(string|null $string) : string|null
Parameters
$string : string|null
Return values
string|null

cleanTitle()

public cleanTitle(string|null $string) : string|null
Parameters
$string : string|null
Return values
string|null

collectItemPrivacySetting()

Collect {resource_name}.item_privacy.

public collectItemPrivacySetting() : array<string, mixed>

[ 'privacy_name' => [ 'phrase' => 'abc', 'default' => 0, 'list' => [ 0 => Everyone, 1 => Friend, ] ] ].

Return values
array<string, mixed>

collectProfileMenuSetting()

Collect {resource_name}.profile_menu.

public collectProfileMenuSetting() : array<string, mixed>

[ 'privacy_name' => [ 'phrase' => 'abc', 'default' => 0, 'list' => [ 0 => Everyone, 1 => Friend, ] ] ].

Return values
array<string, mixed>

collectProfilePrivacySettingByEntity()

public collectProfilePrivacySettingByEntity(string $entityType) : array<string|int, mixed>
Parameters
$entityType : string
Return values
array<string|int, mixed>

convertPrivacySettingName()

public convertPrivacySettingName(string $privacyName) : string
Parameters
$privacyName : string
Return values
string

createMany()

public createMany(array<string|int, mixed> $items) : bool
Parameters
$items : array<string|int, mixed>
Return values
bool

deleteUserPrivacy()

Delete user privacy when deleting a user.

public deleteUserPrivacy(int $userId) : int
Parameters
$userId : int
Return values
int

getBirthdayOptionsForForm()

public getBirthdayOptionsForForm([bool $isAdmin = false ]) : array<string, mixed>
Parameters
$isAdmin : bool = false
Return values
array<string, mixed>

getBirthdaySetting()

Get Date of Birth setting of an user.

public getBirthdaySetting(User $user) : array<string, mixed>
Parameters
$user : User
Tags
inheritDoc
Return values
array<string, mixed>

getItemPrivacySettings()

Get Item default privacy list of an user. [ setting_name => 0 ].

public getItemPrivacySettings(int $userId) : array<int, mixed>
Parameters
$userId : int
Return values
array<int, mixed>

getItemPrivacySettingsForValidate()

public getItemPrivacySettingsForValidate(int $userId) : array<string, mixed>
Parameters
$userId : int
Return values
array<string, mixed>

getPrivacyTypes()

public getPrivacyTypes() : array<string, mixed>
Return values
array<string, mixed>

getPrivacyTypesByEntity()

public getPrivacyTypesByEntity(string $entityType) : array<string, mixed>
Parameters
$entityType : string
Return values
array<string, mixed>

getProfileMenuSettings()

Get profile menu setting of an user. [ setting_name => 0 ].

public getProfileMenuSettings(int $userId) : array<int, mixed>
Parameters
$userId : int
Return values
array<int, mixed>

getProfileMenuSettingsForValidate()

public getProfileMenuSettingsForValidate(int $userId) : array<string, mixed>
Parameters
$userId : int
Return values
array<string, mixed>

getProfileSettings()

Get profile setting of an user. Support page/group/ v.v... [ setting_name => 0 ].

public getProfileSettings(int $userId) : array<int, mixed>
Parameters
$userId : int
Return values
array<int, mixed>

getProfileSettingsForValidate()

public getProfileSettingsForValidate(int $userId) : array<string, mixed>
Parameters
$userId : int
Return values
array<string, mixed>

getUserContractMorphTypeColumns()

public getUserContractMorphTypeColumns() : array<string|int, string>
Return values
array<string|int, string>

getUserPrivacy()

Get user privacy.

public getUserPrivacy(int $userId) : array<string, mixed>
Parameters
$userId : int
Return values
array<string, mixed>

hasSponsorView()

public hasSponsorView(array<string|int, mixed> $attributes) : bool
Parameters
$attributes : array<string|int, mixed>
Return values
bool

isNoSponsorView()

public isNoSponsorView(string|null $view) : bool
Parameters
$view : string|null
Return values
bool

likeOperator()

return the case-insensitive LIKE operator bases on the current database driver.

public likeOperator() : string
Return values
string

mapUserPrivacy()

1. Collect all app first.

public mapUserPrivacy(int $userId, string $userType, array<string, mixed> $privacyCollection) : array<string, mixed>
  1. Map to user setting (user_privacy_values).
  2. If not, use privacy_default in user_privacy_types.
Parameters
$userId : int
$userType : string
$privacyCollection : array<string, mixed>
Return values
array<string, mixed>

updatePrivacyResourceValueByEntity()

Update user privacy resource value by entity type.

public updatePrivacyResourceValueByEntity(string $entityType, int $value) : void
Parameters
$entityType : string
$value : int

updateUserPrivacy()

Update user privacy.

public updateUserPrivacy(int $userId, array<string|int, mixed> $params) : array<string, mixed>
Parameters
$userId : int
$params : array<string|int, mixed>

[profile.view_profile => 0, profile.profile_info => 0]

Return values
array<string, mixed>

[profile.view_profile => 1, profile.profile_info => 1]

where()

public where(array<string|int, mixed> $params) : $this
Parameters
$params : array<string|int, mixed>
Tags
throws
RepositoryException
Return values
$this

withUserMorphTypeActiveScope()

public withUserMorphTypeActiveScope() : self
Return values
self

massCollect()

Mass collect from all packages.

protected massCollect(string $name) : array<string, array<string, mixed>>
Parameters
$name : string
Return values
array<string, array<string, mixed>>

collectProfilePrivacySetting()

This method will help you collect all privacy belongs to a resource.

private collectProfilePrivacySetting() : array<string, mixed>

[ 'group' => [ 'privacy_name' => [ 'phrase' => 'abc', 'default' => 0, 'list' => [ MetaFoxPrivacy::EVERYONE, MetaFoxPrivacy::FRIENDS ], ], ], 'page' => [], 'user' => [], ].

Tags
SuppressWarnings

(PHPMD.CyclomaticComplexity)

Return values
array<string, mixed>

collectUserPrivacyType()

Collect raw data from app user privacy settings.

private collectUserPrivacyType() : array<string, mixed>

[ 'profile.view_profile' => [ 'phrase' => 'Who can view your profile page?', 'default' => 0, ], ].

Return values
array<string, mixed>

updatePrivacyResourceByName()

private updatePrivacyResourceByName(string $entityType, string $settingName, array<string, mixed> $value) : void
Parameters
$entityType : string
$settingName : string
$value : array<string, mixed>

updatePrivacyType()

private updatePrivacyType(string $name, int $value) : void
Parameters
$name : string
$value : int

        
On this page

Search results