You are here

function _revisioning_generate_node_links_according_to_permissions in Revisioning 7

Same name and namespace in other branches
  1. 8 revisioning_theme.inc \_revisioning_generate_node_links_according_to_permissions()
  2. 6.4 revisioning_theme.inc \_revisioning_generate_node_links_according_to_permissions()
  3. 6.3 revisioning_theme.inc \_revisioning_generate_node_links_according_to_permissions()

Get link operations.

Return an array of hyperlinks representing the operations the logged-in user is allowed to perform on the supplied node.

Parameters

object $node: The node obkect

int $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 array of themed hyperlinks

1 call to _revisioning_generate_node_links_according_to_permissions()
theme_revisioning_revisions_summary in ./revisioning_theme.inc
Theme revision summary table.

File

./revisioning_theme.inc, line 339
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;
  $themed_links = array();
  if (!empty($node->revision_moderation)) {
    if (_revisioning_access_node_revision('publish revisions', $node)) {
      $themed_links[] = l(t('Publish'), "node/{$nid}/revisions/{$node->vid}/publish");
    }
    elseif (_revisioning_access_node_revision('unpublish current revision', $node)) {
      $themed_links[] = l(t('Unpublish current revision'), "node/{$nid}/unpublish-current");
    }
  }
  if (_revisioning_access_node_revision('delete archived revisions', $node)) {
    $num_archived = revisioning_get_number_of_archived_revisions($node);
    if ($num_archived > 0) {
      $themed_links[] = l(t('Delete archived'), "node/{$nid}/revisions/delete-archived");
    }
  }
  if (_revisioning_access_node_revision('delete node', $node)) {

    // Avoiding format_plural see [#557050].
    $text = empty($node->revision_moderation) || $node->num_revisions == 1 ? t('Delete') : t('Delete all');
    $themed_links[] = l($text, "node/{$nid}/delete");
  }
  return $themed_links;
}