function nodequeue_queue_access in Nodequeue 6.2
Same name and namespace in other branches
- 5.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.
3 calls to nodequeue_queue_access()
- NodequeueAPIAccessUnitTest::testNodequeueQueueAccess in tests/
nodequeue.test - nodequeue_node_and_queue_access in ./
nodequeue.module - Used by menu system to determine access to the node and the queue in question.
- nodequeue_view_queues in includes/
nodequeue.admin.inc - Display a list of queues and their status for the administrator.
1 string reference to 'nodequeue_queue_access'
- nodequeue_menu in ./
nodequeue.module - Implementation of hook_menu
File
- ./
nodequeue.module, line 1786 - Maintains queues of nodes in arbitrary order.
Code
function nodequeue_queue_access($queue, $subqueue = NULL, $account = NULL) {
if (!$account) {
global $user;
$account = $user;
}
// Automatically true if all queues.
if (user_access('manipulate all queues', $account)) {
return TRUE;
}
// Automatically false if they can't manipulate queues at all.
if (!user_access('manipulate queues', $account) || empty($queue->roles)) {
return FALSE;
}
if ($subqueue) {
return nodequeue_api_subqueue_access($subqueue, $account);
}
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);
}