You are here

function fasttoggle_node_links_alter in Fasttoggle 8.3

Implements hook_node_links_alter().

File

./fasttoggle.module, line 114
Main file for the fasttoggle module.

Code

function fasttoggle_node_links_alter(array &$links, NodeInterface $entity, array &$context) {
  $user = \Drupal::currentUser();
  if ($user
    ->hasPermission('use fasttoggle')) {
    $node_type = NodeType::load($entity
      ->bundle());
    $status_toggle = $node_type
      ->getThirdPartySetting('fasttoggle', 'status', 0);
    $promote_toggle = $node_type
      ->getThirdPartySetting('fasttoggle', 'promote', 0);
    $sticky_toggle = $node_type
      ->getThirdPartySetting('fasttoggle', 'sticky', 0);
    if ($status_toggle) {
      $link_name = 'fasttoggle-' . $entity
        ->bundle() . '-status';
      $links['node']['#links'][$link_name] = _fasttoggle_create_node_link($entity, 'status', $link_name);
    }
    if ($promote_toggle) {
      $link_name = 'fasttoggle-' . $entity
        ->bundle() . '-promote';
      $links['node']['#links'][$link_name] = _fasttoggle_create_node_link($entity, 'promote', $link_name);
    }
    if ($sticky_toggle) {
      $link_name = 'fasttoggle-' . $entity
        ->bundle() . '-sticky';
      $links['node']['#links'][$link_name] = _fasttoggle_create_node_link($entity, 'sticky', $link_name);
    }
  }
}