Horde_Kolab_Storage_List_Query_Acl_Cache
extends Horde_Kolab_Storage_List_Query_Acl
in package
implements
Horde_Kolab_Storage_List_Manipulation_Listener, Horde_Kolab_Storage_List_Synchronization_Listener
Handles a cached list of folder acls.
Copyright 2011-2017 Horde LLC (http://www.horde.org/)
See the enclosed file LICENSE for license information (LGPL). If you did not receive this file, see http://www.horde.org/licenses/lgpl21.
Tags
Interfaces, Classes, Traits and Enums
- Horde_Kolab_Storage_List_Manipulation_Listener
- Describes a manipulation listener.
- Horde_Kolab_Storage_List_Synchronization_Listener
- Describes a synchronization listener.
Table of Contents
- ACL = 'ACL'
- The ACL query data
- ALLRIGHTS = 'ALLRIGHTS'
- All rights
- CAPABILITY = 'ACL'
- The acl support
- MYRIGHTS = 'MYRIGHTS'
- The user specific rights
- $_acl : array<string|int, mixed>
- The cached ACL data.
- $_all_rights : array<string|int, mixed>
- The cached rights.
- $_list_cache : Horde_Kolab_Storage_Cache_List
- The list cache.
- $_my_rights : array<string|int, mixed>
- The cached user rights.
- $_query : mixed
- The underlying ACL query.
- __construct() : mixed
- Constructor.
- deleteAcl() : null
- Delete the access rights for user on a folder.
- getAcl() : array<string|int, mixed>
- Retrieve the access rights for a folder. This method will use two calls to the backend. It will first get the individual user rights via getMyRights and will subsequently fetch all ACL if the user has admin rights on a folder. If you already know the user has admin rights on a folder it makes more sense to call getAllAcl() directly.
- getAllAcl() : string
- Retrieve the all access rights on a folder.
- getMyAcl() : string
- Retrieve the access rights the current user has on a folder.
- hasAclSupport() : bool
- Does the backend support ACL?
- setAcl() : null
- Set the access rights for a folder.
- synchronize() : null
- Synchronize the ACL information with the information from the backend.
- updateAfterCreateFolder() : null
- Update the listener after creating a new folder.
- updateAfterDeleteFolder() : null
- Update the listener after deleting folder.
- updateAfterRenameFolder() : null
- Update the listener after renaming a folder.
- _purgeFolder() : null
- Remove outdated folder data from the cache.
Constants
ACL
The ACL query data
public
mixed
ACL
= 'ACL'
ALLRIGHTS
All rights
public
mixed
ALLRIGHTS
= 'ALLRIGHTS'
CAPABILITY
The acl support
public
mixed
CAPABILITY
= 'ACL'
MYRIGHTS
The user specific rights
public
mixed
MYRIGHTS
= 'MYRIGHTS'
Properties
$_acl
The cached ACL data.
private
array<string|int, mixed>
$_acl
$_all_rights
The cached rights.
private
array<string|int, mixed>
$_all_rights
$_list_cache
The list cache.
private
Horde_Kolab_Storage_Cache_List
$_list_cache
$_my_rights
The cached user rights.
private
array<string|int, mixed>
$_my_rights
$_query
The underlying ACL query.
private
mixed
$_query
Methods
__construct()
Constructor.
public
__construct(Horde_Kolab_Storage_List_Query_Acl $query, Horde_Kolab_Storage_List_Cache $cache) : mixed
Parameters
- $query : Horde_Kolab_Storage_List_Query_Acl
- $cache : Horde_Kolab_Storage_List_Cache
-
The list cache.
Return values
mixed —deleteAcl()
Delete the access rights for user on a folder.
public
deleteAcl(string $folder, string $user) : null
Parameters
- $folder : string
-
The folder to act upon.
- $user : string
-
The user to delete the ACL for
Return values
null —getAcl()
Retrieve the access rights for a folder. This method will use two calls to the backend. It will first get the individual user rights via getMyRights and will subsequently fetch all ACL if the user has admin rights on a folder. If you already know the user has admin rights on a folder it makes more sense to call getAllAcl() directly.
public
getAcl(string $folder) : array<string|int, mixed>
Parameters
- $folder : string
-
The folder to retrieve the ACL for.
Return values
array<string|int, mixed> —An array of rights.
getAllAcl()
Retrieve the all access rights on a folder.
public
getAllAcl(string $folder) : string
Parameters
- $folder : string
-
The folder to retrieve the ACL for.
Return values
string —The folder rights.
getMyAcl()
Retrieve the access rights the current user has on a folder.
public
getMyAcl(string $folder) : string
Parameters
- $folder : string
-
The folder to retrieve the user ACL for.
Return values
string —The user rights.
hasAclSupport()
Does the backend support ACL?
public
hasAclSupport() : bool
Return values
bool —True if the backend supports ACLs.
setAcl()
Set the access rights for a folder.
public
setAcl(string $folder, string $user, string $acl) : null
Parameters
- $folder : string
-
The folder to act upon.
- $user : string
-
The user to set the ACL for.
- $acl : string
-
The ACL.
Return values
null —synchronize()
Synchronize the ACL information with the information from the backend.
public
synchronize() : null
Return values
null —updateAfterCreateFolder()
Update the listener after creating a new folder.
public
updateAfterCreateFolder(string $folder[, string $type = null ]) : null
Parameters
- $folder : string
-
The path of the folder that has been created.
- $type : string = null
-
An optional type for the folder.
Return values
null —updateAfterDeleteFolder()
Update the listener after deleting folder.
public
updateAfterDeleteFolder(string $folder) : null
Parameters
- $folder : string
-
The path of the folder that has been deleted.
Return values
null —updateAfterRenameFolder()
Update the listener after renaming a folder.
public
updateAfterRenameFolder(string $old, string $new) : null
Parameters
- $old : string
-
The old path of the folder.
- $new : string
-
The new path of the folder.
Return values
null —_purgeFolder()
Remove outdated folder data from the cache.
private
_purgeFolder(string $folder) : null
Parameters
- $folder : string
-
The folder name.