function _revisioning_generate_node_links_according_to_permissions in Revisioning 6.3
Same name and namespace in other branches
- 8 revisioning_theme.inc \_revisioning_generate_node_links_according_to_permissions()
- 6.4 revisioning_theme.inc \_revisioning_generate_node_links_according_to_permissions()
- 7 revisioning_theme.inc \_revisioning_generate_node_links_according_to_permissions()
Return an array of hyperlinks representing the operations the logged-in user is allowed to perform on the supplied node.
Parameters
$node:
$link_type: The type of link, e.g. MENU_IS_LOCAL_TASK, may affect the rendering via theme('menu_item_link'), if overridden (eg zen_theme_menu_item_link()).
Return value
array of themed hyperlinks
1 call to _revisioning_generate_node_links_according_to_permissions()
- theme_revisioning_revisions_summary in ./
revisioning_theme.inc - Theme the supplied form.
File
- ./
revisioning_theme.inc, line 287 - Include file for revisioning.module; deals with all theming aspects.
Code
function _revisioning_generate_node_links_according_to_permissions($node, $link_type = 0) {
$nid = $node->nid;
$links = array();
if (_revisioning_node_revision_access('publish revisions', $node)) {
$link['title'] = t('Publish');
$link['href'] = "node/{$nid}/revisions/{$node->vid}/publish";
//$link['localized_options']['query'] = drupal_get_destination();
$links[] = $link;
}
elseif (_revisioning_node_revision_access('unpublish current revision', $node)) {
$link['title'] = t('Unpublish current revision');
$link['href'] = "node/{$nid}/unpublish";
//$link['localized_options']['query'] = drupal_get_destination();
$links[] = $link;
}
if (_revisioning_node_revision_access('delete archived revisions', $node)) {
$num_archived = revisioning_get_number_of_archived_revisions($node);
if ($num_archived > 0) {
$link['title'] = t('Delete archived');
$link['href'] = "node/{$nid}/revisions/delete-archived";
$links[] = $link;
}
}
if (_revisioning_node_revision_access('delete node', $node)) {
$link['title'] = $node->num_revisions == 1 ? t('Delete') : ($node->num_revisions == 2 ? t('Delete both revisions') : t('Delete all @count revisions', array(
'@count' => $node->num_revisions,
)));
$link['href'] = "node/{$nid}/delete";
//$link['localized_options']['query'] = '';
$links[] = $link;
}
$themed_links = array();
foreach ($links as $link) {
$link['type'] = $link_type;
$themed_links[] = theme('menu_item_link', $link);
}
return $themed_links;
}