You are here

function notifications_forum_node_view in Forum notifications 7

File

./notifications_forum.module, line 19

Code

function notifications_forum_node_view($node, $view_mode, $lang_code) {
  global $user;

  // user has no permission to create subscriptions, exit early.
  if (!_notifications_forum_access($user)) {
    return;
  }
  if ($node->type == 'forum') {
    $taxonomy_term = array(
      notifications_object('taxonomy_term', $node->taxonomy_forums['und'][0]['taxonomy_term']),
    );
    $subscription_list = Notifications_Subscription::object_subscriptions($taxonomy_term, $user)
      ->set_user($user)
      ->get_instances();
    foreach ($subscription_list as $key => $subscription) {
      $forum_name = $subscription
        ->get_field('term:tid')
        ->drupal_object()->name;
      $type = $subscription
        ->is_stored() ? 'Unsubscribe from' : 'Subscribe to';
      $link = $subscription
        ->element_link('subscription');
      $item = array(
        'title' => t($type . ': @name', array(
          '@name' => t('@forum forum', array(
            '@forum' => $forum_name,
          )),
        )),
        'href' => $link['#href'],
      ) + $link['#options'];
      $node->content['links']['notifications_content']['#links']['notifications-forum-' . $key] = $item;
    }
  }
}