function nodequeue_queue_access in Nodequeue 5.2
Same name and namespace in other branches
- 6.2 nodequeue.module \nodequeue_queue_access()
- 7.3 nodequeue.module \nodequeue_queue_access()
- 7.2 nodequeue.module \nodequeue_queue_access()
Return TRUE If the specified account has access to manipulate this queue.
2 calls to nodequeue_queue_access()
- nodequeue_menu in ./
nodequeue.module - Implementation of hook_menu
- nodequeue_view_queues in ./
nodequeue.module - Display a list of queues and their status for the administrator.
File
- ./
nodequeue.module, line 1398
Code
function nodequeue_queue_access($queue, $account = NULL) {
if (!$account) {
global $user;
$account = $user;
}
// Automatically true if all queues.
if (user_access('manipulate all queues')) {
return TRUE;
}
// Automatically false if they can't manipulate queues at all.
if (!user_access('manipulate queues') || empty($queue->roles)) {
return FALSE;
}
// Return false if the queue's owner rejects access to the queue.
if (!nodequeue_api_queue_access($queue, $account)) {
return FALSE;
}
$roles = array_keys((array) $account->roles) + array(
DRUPAL_AUTHENTICATED_RID,
);
return (bool) array_intersect($roles, $queue->roles);
}