PHP Class eZ\Publish\Core\Repository\UserService

Inheritance: implements eZ\Publish\API\Repository\UserService
Show file Open project: ezsystems/ezpublish-kernel

Protected Properties

Property Type Description
$repository eZ\Publish\API\Repository\Repository
$settings array
$userHandler eZ\Publish\SPI\Persistence\User\Handler

Public Methods

Method Description
__construct ( eZ\Publish\API\Repository\Repository $repository, eZ\Publish\SPI\Persistence\User\Handler $userHandler, array $settings = [] ) Setups service with reference to repository object that created it & corresponding handler.
assignUserToUserGroup ( eZ\Publish\API\Repository\Values\User\User $user, eZ\Publish\API\Repository\Values\User\UserGroup $userGroup ) Assigns a new user group to the user.
createUser ( eZ\Publish\API\Repository\Values\User\UserCreateStruct $userCreateStruct, array $parentGroups ) : eZ\Publish\API\Repository\Values\User\User Create a new user. The created user is published by this method.
createUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, eZ\Publish\API\Repository\Values\User\UserGroup $parentGroup ) : eZ\Publish\API\Repository\Values\User\UserGroup Creates a new user group using the data provided in the ContentCreateStruct parameter.
deleteUser ( eZ\Publish\API\Repository\Values\User\User $user ) This method deletes a user.
deleteUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup ) Removes a user group.
loadAnonymousUser ( ) : eZ\Publish\API\Repository\Values\User\User Loads anonymous user.
loadSubUserGroups ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, integer $offset, integer $limit = 25 ) : eZ\Publish\API\Repository\Values\User\UserGroup[] Loads the sub groups of a user group.
loadUser ( mixed $userId ) : eZ\Publish\API\Repository\Values\User\User Loads a user.
loadUserByCredentials ( string $login, string $password ) : eZ\Publish\API\Repository\Values\User\User Loads a user for the given login and password.
loadUserByLogin ( string $login ) : eZ\Publish\API\Repository\Values\User\User Loads a user for the given login.
loadUserGroup ( mixed $id ) : eZ\Publish\API\Repository\Values\User\UserGroup Loads a user group for the given id.
loadUserGroupsOfUser ( eZ\Publish\API\Repository\Values\User\User $user, integer $offset, integer $limit = 25 ) : eZ\Publish\API\Repository\Values\User\UserGroup[] Loads the user groups the user belongs to.
loadUsersByEmail ( string $email ) : eZ\Publish\API\Repository\Values\User\User[] Loads a user for the given email.
loadUsersOfUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, integer $offset, integer $limit = 25 ) : eZ\Publish\API\Repository\Values\User\User[] Loads the users of a user group.
moveUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, eZ\Publish\API\Repository\Values\User\UserGroup $newParent ) Moves the user group to another parent.
newUserCreateStruct ( string $login, string $email, string $password, string $mainLanguageCode, eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType = null ) : eZ\Publish\API\Repository\Values\User\UserCreateStruct Instantiate a user create class.
newUserGroupCreateStruct ( string $mainLanguageCode, null | eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType = null ) : eZ\Publish\API\Repository\Values\User\UserGroupCreateStruct Instantiate a user group create class.
newUserGroupUpdateStruct ( ) : eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct Instantiate a new user group update struct.
newUserUpdateStruct ( ) : eZ\Publish\API\Repository\Values\User\UserUpdateStruct Instantiate a new user update struct.
unAssignUserFromUserGroup ( eZ\Publish\API\Repository\Values\User\User $user, eZ\Publish\API\Repository\Values\User\UserGroup $userGroup ) Removes a user group from the user.
updateUser ( eZ\Publish\API\Repository\Values\User\User $user, eZ\Publish\API\Repository\Values\User\UserUpdateStruct $userUpdateStruct ) : eZ\Publish\API\Repository\Values\User\User Updates a user.
updateUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct ) : eZ\Publish\API\Repository\Values\User\UserGroup Updates the group profile with fields and meta data.

Protected Methods

Method Description
buildDomainUserGroupObject ( eZ\Publish\API\Repository\Values\Content\Content $content ) : eZ\Publish\API\Repository\Values\User\UserGroup Builds the domain UserGroup object from provided Content object.
buildDomainUserObject ( eZ\Publish\SPI\Persistence\User $spiUser, eZ\Publish\API\Repository\Values\Content\Content $content = null ) : eZ\Publish\API\Repository\Values\User\User Builds the domain user object from provided persistence user object.
createPasswordHash ( string $login, string $password, string $site, integer $type ) : string Returns password hash based on user data and site settings.
searchSubGroups ( eZ\Publish\API\Repository\Values\Content\Location $location, integer $offset, integer $limit = 25 ) : eZ\Publish\API\Repository\Values\Content\Search\SearchResult Returns (searches) subgroups of a user group described by its main location.

Method Details

__construct() public method

Setups service with reference to repository object that created it & corresponding handler.
public __construct ( eZ\Publish\API\Repository\Repository $repository, eZ\Publish\SPI\Persistence\User\Handler $userHandler, array $settings = [] )
$repository eZ\Publish\API\Repository\Repository
$userHandler eZ\Publish\SPI\Persistence\User\Handler
$settings array

assignUserToUserGroup() public method

Assigns a new user group to the user.
public assignUserToUserGroup ( eZ\Publish\API\Repository\Values\User\User $user, eZ\Publish\API\Repository\Values\User\UserGroup $userGroup )
$user eZ\Publish\API\Repository\Values\User\User
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup

buildDomainUserGroupObject() protected method

Builds the domain UserGroup object from provided Content object.
protected buildDomainUserGroupObject ( eZ\Publish\API\Repository\Values\Content\Content $content ) : eZ\Publish\API\Repository\Values\User\UserGroup
$content eZ\Publish\API\Repository\Values\Content\Content
return eZ\Publish\API\Repository\Values\User\UserGroup

buildDomainUserObject() protected method

Builds the domain user object from provided persistence user object.
protected buildDomainUserObject ( eZ\Publish\SPI\Persistence\User $spiUser, eZ\Publish\API\Repository\Values\Content\Content $content = null ) : eZ\Publish\API\Repository\Values\User\User
$spiUser eZ\Publish\SPI\Persistence\User
$content eZ\Publish\API\Repository\Values\Content\Content
return eZ\Publish\API\Repository\Values\User\User

createPasswordHash() protected method

Returns password hash based on user data and site settings.
protected createPasswordHash ( string $login, string $password, string $site, integer $type ) : string
$login string User login
$password string User password
$site string The name of the site
$type integer Type of password to generate
return string Generated password hash

createUser() public method

Create a new user. The created user is published by this method.
public createUser ( eZ\Publish\API\Repository\Values\User\UserCreateStruct $userCreateStruct, array $parentGroups ) : eZ\Publish\API\Repository\Values\User\User
$userCreateStruct eZ\Publish\API\Repository\Values\User\UserCreateStruct the data used for creating the user
$parentGroups array the groups which are assigned to the user after creation
return eZ\Publish\API\Repository\Values\User\User

createUserGroup() public method

In 4.x in the content type parameter in the profile is ignored - the content type is determined via configuration and can be set to null. The returned version is published.
public createUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroupCreateStruct $userGroupCreateStruct, eZ\Publish\API\Repository\Values\User\UserGroup $parentGroup ) : eZ\Publish\API\Repository\Values\User\UserGroup
$userGroupCreateStruct eZ\Publish\API\Repository\Values\User\UserGroupCreateStruct a structure for setting all necessary data to create this user group
$parentGroup eZ\Publish\API\Repository\Values\User\UserGroup
return eZ\Publish\API\Repository\Values\User\UserGroup

deleteUser() public method

This method deletes a user.
public deleteUser ( eZ\Publish\API\Repository\Values\User\User $user )
$user eZ\Publish\API\Repository\Values\User\User

deleteUserGroup() public method

the users which are not assigned to other groups will be deleted.
public deleteUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup )
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup

loadAnonymousUser() public method

Loads anonymous user.
Deprecation: since 5.3, use loadUser( $anonymousUserId ) instead
public loadAnonymousUser ( ) : eZ\Publish\API\Repository\Values\User\User
return eZ\Publish\API\Repository\Values\User\User

loadSubUserGroups() public method

Loads the sub groups of a user group.
public loadSubUserGroups ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, integer $offset, integer $limit = 25 ) : eZ\Publish\API\Repository\Values\User\UserGroup[]
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup
$offset integer the start offset for paging
$limit integer the number of user groups returned
return eZ\Publish\API\Repository\Values\User\UserGroup[]

loadUser() public method

Loads a user.
public loadUser ( mixed $userId ) : eZ\Publish\API\Repository\Values\User\User
$userId mixed
return eZ\Publish\API\Repository\Values\User\User

loadUserByCredentials() public method

public loadUserByCredentials ( string $login, string $password ) : eZ\Publish\API\Repository\Values\User\User
$login string
$password string the plain password
return eZ\Publish\API\Repository\Values\User\User

loadUserByLogin() public method

public loadUserByLogin ( string $login ) : eZ\Publish\API\Repository\Values\User\User
$login string
return eZ\Publish\API\Repository\Values\User\User

loadUserGroup() public method

Loads a user group for the given id.
public loadUserGroup ( mixed $id ) : eZ\Publish\API\Repository\Values\User\UserGroup
$id mixed
return eZ\Publish\API\Repository\Values\User\UserGroup

loadUserGroupsOfUser() public method

Loads the user groups the user belongs to.
public loadUserGroupsOfUser ( eZ\Publish\API\Repository\Values\User\User $user, integer $offset, integer $limit = 25 ) : eZ\Publish\API\Repository\Values\User\UserGroup[]
$user eZ\Publish\API\Repository\Values\User\User
$offset integer the start offset for paging
$limit integer the number of user groups returned
return eZ\Publish\API\Repository\Values\User\UserGroup[]

loadUsersByEmail() public method

public loadUsersByEmail ( string $email ) : eZ\Publish\API\Repository\Values\User\User[]
$email string
return eZ\Publish\API\Repository\Values\User\User[]

loadUsersOfUserGroup() public method

Loads the users of a user group.
public loadUsersOfUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, integer $offset, integer $limit = 25 ) : eZ\Publish\API\Repository\Values\User\User[]
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup
$offset integer the start offset for paging
$limit integer the number of users returned
return eZ\Publish\API\Repository\Values\User\User[]

moveUserGroup() public method

Moves the user group to another parent.
public moveUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, eZ\Publish\API\Repository\Values\User\UserGroup $newParent )
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup
$newParent eZ\Publish\API\Repository\Values\User\UserGroup

newUserCreateStruct() public method

Instantiate a user create class.
public newUserCreateStruct ( string $login, string $email, string $password, string $mainLanguageCode, eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType = null ) : eZ\Publish\API\Repository\Values\User\UserCreateStruct
$login string the login of the new user
$email string the email of the new user
$password string the plain password of the new user
$mainLanguageCode string the main language for the underlying content object
$contentType eZ\Publish\API\Repository\Values\ContentType\ContentType 5.x the content type for the underlying content object. In 4.x it is ignored and taken from the configuration
return eZ\Publish\API\Repository\Values\User\UserCreateStruct

newUserGroupCreateStruct() public method

Instantiate a user group create class.
public newUserGroupCreateStruct ( string $mainLanguageCode, null | eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType = null ) : eZ\Publish\API\Repository\Values\User\UserGroupCreateStruct
$mainLanguageCode string The main language for the underlying content object
$contentType null | eZ\Publish\API\Repository\Values\ContentType\ContentType 5.x the content type for the underlying content object. In 4.x it is ignored and taken from the configuration
return eZ\Publish\API\Repository\Values\User\UserGroupCreateStruct

newUserGroupUpdateStruct() public method

Instantiate a new user group update struct.
public newUserGroupUpdateStruct ( ) : eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct
return eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct

newUserUpdateStruct() public method

Instantiate a new user update struct.
public newUserUpdateStruct ( ) : eZ\Publish\API\Repository\Values\User\UserUpdateStruct
return eZ\Publish\API\Repository\Values\User\UserUpdateStruct

searchSubGroups() protected method

Returns (searches) subgroups of a user group described by its main location.
protected searchSubGroups ( eZ\Publish\API\Repository\Values\Content\Location $location, integer $offset, integer $limit = 25 ) : eZ\Publish\API\Repository\Values\Content\Search\SearchResult
$location eZ\Publish\API\Repository\Values\Content\Location
$offset integer
$limit integer
return eZ\Publish\API\Repository\Values\Content\Search\SearchResult

unAssignUserFromUserGroup() public method

Removes a user group from the user.
public unAssignUserFromUserGroup ( eZ\Publish\API\Repository\Values\User\User $user, eZ\Publish\API\Repository\Values\User\UserGroup $userGroup )
$user eZ\Publish\API\Repository\Values\User\User
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup

updateUser() public method

4.x: If the versionUpdateStruct is set in the user update structure, this method internally creates a content draft, updates ts with the provided data and publishes the draft. If a draft is explicitly required, the user group can be updated via the content service methods.
public updateUser ( eZ\Publish\API\Repository\Values\User\User $user, eZ\Publish\API\Repository\Values\User\UserUpdateStruct $userUpdateStruct ) : eZ\Publish\API\Repository\Values\User\User
$user eZ\Publish\API\Repository\Values\User\User
$userUpdateStruct eZ\Publish\API\Repository\Values\User\UserUpdateStruct
return eZ\Publish\API\Repository\Values\User\User

updateUserGroup() public method

4.x: If the versionUpdateStruct is set in $userGroupUpdateStruct, this method internally creates a content draft, updates ts with the provided data and publishes the draft. If a draft is explicitly required, the user group can be updated via the content service methods.
public updateUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct ) : eZ\Publish\API\Repository\Values\User\UserGroup
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup
$userGroupUpdateStruct eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct
return eZ\Publish\API\Repository\Values\User\UserGroup

Property Details

$repository protected property

protected Repository,eZ\Publish\API\Repository $repository
return eZ\Publish\API\Repository\Repository

$settings protected property

protected array $settings
return array

$userHandler protected property

protected Handler,eZ\Publish\SPI\Persistence\User $userHandler
return eZ\Publish\SPI\Persistence\User\Handler