function nodequeue_menu in Nodequeue 5
Same name and namespace in other branches
- 5.2 nodequeue.module \nodequeue_menu()
- 6.2 nodequeue.module \nodequeue_menu()
- 7.3 nodequeue.module \nodequeue_menu()
- 7.2 nodequeue.module \nodequeue_menu()
Implementation of hook_menu
File
- ./
nodequeue.module, line 16
Code
function nodequeue_menu($may_cache) {
$items = array();
global $user;
if ($may_cache) {
// administrative items
$access = user_access('administer nodequeue');
$items[] = array(
'path' => 'admin/content/nodequeue',
'title' => t('Node queue'),
'access' => $access,
'callback' => 'nodequeue_admin_page',
'description' => t('Create and maintain simple node queues.'),
'type' => MENU_NORMAL_ITEM,
);
$items[] = array(
'path' => 'admin/content/nodequeue/list',
'title' => t('List'),
'access' => $access,
'callback' => 'nodequeue_admin_page',
'weight' => -1,
'type' => MENU_DEFAULT_LOCAL_TASK,
);
$items[] = array(
'path' => 'admin/content/nodequeue/add',
'title' => t('Add'),
'access' => $access,
'callback' => 'drupal_get_form',
'callback arguments' => array(
'nodequeue_queue_form',
),
'type' => MENU_LOCAL_TASK,
);
}
else {
if ($user && arg(0) == 'node' && is_numeric(arg(1)) && arg(1) > 0 && ($access = user_access('manipulate queues'))) {
$node = node_load(arg(1));
if (nodequeue_node_access($node->type)) {
$items[] = array(
'path' => 'node/' . arg(1) . '/nodequeue',
'title' => t('Node queue'),
'access' => $access,
'callback' => 'nodequeue_page',
'callback arguments' => array(
arg(1),
),
'type' => MENU_LOCAL_TASK,
'weight' => 5,
);
}
}
if ($access = user_access('administer nodequeue') && arg(0) == 'admin' && arg(1) == 'content' && arg(2) == 'nodequeue' && is_numeric(arg(3)) && ($queue = nodequeue_load(arg(3)))) {
drupal_set_title("Nodequeue '{$queue->title}'");
$items[] = array(
'path' => 'admin/content/nodequeue/' . arg(3),
'title' => t('View'),
'access' => $access,
'callback' => 'nodequeue_admin_view',
'callback arguments' => array(
$queue,
),
'type' => MENU_CALLBACK,
);
$items[] = array(
'path' => 'admin/content/nodequeue/' . arg(3) . '/view',
'title' => t('View'),
'access' => $access,
'callback' => 'nodequeue_admin_view',
'callback arguments' => array(
$queue,
),
'weight' => -10,
'type' => MENU_DEFAULT_LOCAL_TASK,
);
$items[] = array(
'path' => 'admin/content/nodequeue/' . arg(3) . '/edit',
'title' => t('Edit'),
'access' => $access,
'callback' => 'drupal_get_form',
'callback arguments' => array(
'nodequeue_queue_form',
$queue,
),
'type' => MENU_LOCAL_TASK,
);
$items[] = array(
'path' => 'admin/content/nodequeue/' . arg(3) . '/delete',
'title' => t('Delete'),
'access' => $access,
'callback' => 'drupal_get_form',
'callback arguments' => array(
'nodequeue_admin_delete',
$queue,
),
'weight' => 5,
'type' => MENU_CALLBACK,
);
$items[] = array(
'path' => 'admin/content/nodequeue/' . arg(3) . '/clear',
'title' => t('Clear'),
'access' => $access,
'callback' => 'drupal_get_form',
'callback arguments' => array(
'nodequeue_clear_confirm',
$queue,
),
'type' => MENU_CALLBACK,
);
$items[] = array(
'path' => 'admin/content/nodequeue/' . arg(3) . '/oper',
'title' => t('Operate'),
'access' => $access,
'callback' => 'nodequeue_admin_operate',
'callback arguments' => array(
$queue,
),
'type' => MENU_CALLBACK,
);
}
}
return $items;
}