function blog_menu_local_tasks_alter

Implements hook_menu_local_tasks_alter().

File

modules/blog/blog.module, line 140

Code

function blog_menu_local_tasks_alter(&$data, $router_item, $root_path) {
    global $user;
    // Add action link to 'node/add/blog' on 'blog' page.
    if ($root_path == 'blog') {
        $item = menu_get_item('node/add/blog');
        if ($item['access']) {
            $item['title'] = t('Create new blog entry');
            $data['actions']['output'][] = array(
                '#theme' => 'menu_local_action',
                '#link' => $item,
            );
        }
    }
    elseif ($root_path == 'blog/%' && isset($router_item['page_arguments'][0]->uid) && $router_item['page_arguments'][0]->uid == $user->uid) {
        $data['actions']['output']['blog'] = array(
            '#theme' => 'menu_local_action',
        );
        if (user_access('create blog content')) {
            $data['actions']['output']['blog']['#link']['title'] = t('Post new blog entry.');
            $data['actions']['output']['blog']['#link']['href'] = 'node/add/blog';
        }
        else {
            $data['actions']['output']['blog']['#link']['title'] = t('You are not allowed to post a new blog entry.');
        }
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.