Elgg
Version 1.10
|
Public Member Functions | |
__construct ($site_guid) | |
Constructor. More... | |
getAccessList ($user_guid=0, $site_guid=0, $flush=false) | |
Return a string of access_ids for $user_guid appropriate for inserting into an SQL IN clause. More... | |
getAccessArray ($user_guid=0, $site_guid=0, $flush=false) | |
Returns an array of access IDs a user is permitted to see. More... | |
getWhereSql (array $options=array()) | |
Returns the SQL where clause for enforcing read access to data. More... | |
hasAccessToEntity ($entity, $user=null) | |
Can a user access an entity. More... | |
getWriteAccessArray ($user_guid=0, $site_guid=0, $flush=false) | |
Returns an array of access permissions that the user is allowed to save content with. More... | |
canEdit ($collection_id, $user_guid=null) | |
Can the user change this access collection? More... | |
create ($name, $owner_guid=0, $site_guid=0) | |
Creates a new access collection. More... | |
update ($collection_id, $members) | |
Updates the membership in an access collection. More... | |
delete ($collection_id) | |
Deletes a specified access collection and its membership. More... | |
get ($collection_id) | |
Get a specified access collection. More... | |
addUser ($user_guid, $collection_id) | |
Adds a user to an access collection. More... | |
removeUser ($user_guid, $collection_id) | |
Removes a user from an access collection. More... | |
getUserCollections ($owner_guid, $site_guid=0) | |
Returns an array of database row objects of the access collections owned by $owner_guid. More... | |
getMembers ($collection, $idonly=false) | |
Get all of members of an access collection. More... | |
Definition at line 14 of file AccessCollections.php.
Elgg\Database\AccessCollections::__construct | ( | $site_guid | ) |
Constructor.
int | $site_guid | The GUID of the default Elgg site |
Definition at line 25 of file AccessCollections.php.
Elgg\Database\AccessCollections::addUser | ( | $user_guid, | |
$collection_id | |||
) |
Adds a user to an access collection.
Triggers the 'access:collections:add_user', 'collection' plugin hook.
int | $user_guid | The GUID of the user to add |
int | $collection_id | The ID of the collection to add them to |
Definition at line 628 of file AccessCollections.php.
Elgg\Database\AccessCollections::canEdit | ( | $collection_id, | |
$user_guid = null |
|||
) |
Can the user change this access collection?
Use the plugin hook of 'access:collections:write', 'user' to change this.
Respects access control disabling for admin users and elgg_set_ignore_access()
int | $collection_id | The collection id |
mixed | $user_guid | The user GUID to check for. Defaults to logged in user. |
Definition at line 444 of file AccessCollections.php.
Elgg\Database\AccessCollections::create | ( | $name, | |
$owner_guid = 0 , |
|||
$site_guid = 0 |
|||
) |
Creates a new access collection.
Access colletions allow plugins and users to create granular access for entities.
Triggers plugin hook 'access:collections:addcollection', 'collection'
Definition at line 484 of file AccessCollections.php.
Elgg\Database\AccessCollections::delete | ( | $collection_id | ) |
Deletes a specified access collection and its membership.
int | $collection_id | The collection ID |
Definition at line 570 of file AccessCollections.php.
Elgg\Database\AccessCollections::get | ( | $collection_id | ) |
Get a specified access collection.
int | $collection_id | The collection ID |
Definition at line 605 of file AccessCollections.php.
Elgg\Database\AccessCollections::getAccessArray | ( | $user_guid = 0 , |
|
$site_guid = 0 , |
|||
$flush = false |
|||
) |
Returns an array of access IDs a user is permitted to see.
Can be overridden with the 'access:collections:read', 'user' plugin hook.
This returns a list of all the collection ids a user owns or belongs to plus public and logged in access levels. If the user is an admin, it includes the private access level.
Definition at line 103 of file AccessCollections.php.
Elgg\Database\AccessCollections::getAccessList | ( | $user_guid = 0 , |
|
$site_guid = 0 , |
|||
$flush = false |
|||
) |
Return a string of access_ids for $user_guid appropriate for inserting into an SQL IN clause.
get_access_array
int | $user_guid | User ID; defaults to currently logged in user |
int | $site_guid | Site ID; defaults to current site |
bool | $flush | If set to true, will refresh the access list from the database rather than using this function's cache. |
Definition at line 44 of file AccessCollections.php.
Elgg\Database\AccessCollections::getMembers | ( | $collection, | |
$idonly = false |
|||
) |
Get all of members of an access collection.
int | $collection | The collection's ID |
bool | $idonly | If set to true, will only return the members' GUIDs (default: false) |
Definition at line 738 of file AccessCollections.php.
Elgg\Database\AccessCollections::getUserCollections | ( | $owner_guid, | |
$site_guid = 0 |
|||
) |
Returns an array of database row objects of the access collections owned by $owner_guid.
int | $owner_guid | The entity guid |
int | $site_guid | The GUID of the site (default: current site). |
Definition at line 709 of file AccessCollections.php.
Elgg\Database\AccessCollections::getWhereSql | ( | array | $options = array() | ) |
Returns the SQL where clause for enforcing read access to data.
Note that if this code is executed in privileged mode it will return (1=1).
Otherwise it returns a where clause to retrieve the data that a user has permission to read.
Plugin authors can hook into the 'get_sql', 'access' plugin hook to modify, remove, or add to the where clauses. The plugin hook will pass an array with the current ors and ands to the function in the form: array( 'ors' => array(), 'ands' => array() )
The results will be combined into an SQL where clause in the form: ((or1 OR or2 OR orN) AND (and1 AND and2 AND andN))
array | $options | Array in format: table_alias => STR Optional table alias. This is based on the select and join clauses. Default is 'e'. |
user_guid => INT Optional GUID for the user that we are retrieving data for. Defaults to the logged in user.
use_enabled_clause => BOOL Optional. Should we append the enabled clause? The default is set by access_show_hidden_entities().
access_column => STR Optional access column name. Default is 'access_id'.
owner_guid_column => STR Optional owner_guid column. Default is 'owner_guid'.
guid_column => STR Optional guid_column. Default is 'guid'.
Definition at line 225 of file AccessCollections.php.
Elgg\Database\AccessCollections::getWriteAccessArray | ( | $user_guid = 0 , |
|
$site_guid = 0 , |
|||
$flush = false |
|||
) |
Returns an array of access permissions that the user is allowed to save content with.
Permissions returned are of the form (id => 'name').
Example return value in English: array( 0 => 'Private', -2 => 'Friends', 1 => 'Logged in users', 2 => 'Public', 34 => 'My favorite friends', );
Plugin hook of 'access:collections:write', 'user'
int | $user_guid | The user's GUID. |
int | $site_guid | The current site. |
bool | $flush | If this is set to true, this will ignore a cached access array |
Definition at line 371 of file AccessCollections.php.
Elgg\Database\AccessCollections::hasAccessToEntity | ( | $entity, | |
$user = null |
|||
) |
Can a user access an entity.
This is mostly useful for checking if a user other than the logged in user has access to an entity that is currently loaded.
\ElggEntity | $entity | The entity to check access for. |
\ElggUser | $user | Optionally user to check access for. Defaults to logged in user (which is a useless default). |
Definition at line 319 of file AccessCollections.php.
Elgg\Database\AccessCollections::removeUser | ( | $user_guid, | |
$collection_id | |||
) |
Removes a user from an access collection.
Triggers the 'access:collections:remove_user', 'collection' plugin hook.
int | $user_guid | The user GUID |
int | $collection_id | The access collection ID |
Definition at line 671 of file AccessCollections.php.
Elgg\Database\AccessCollections::update | ( | $collection_id, | |
$members | |||
) |
Updates the membership in an access collection.
int | $collection_id | The ID of the collection. |
array | $members | Array of member GUIDs |
Definition at line 536 of file AccessCollections.php.