function mb_extra_menu_local_tasks_alter in More Buttons 7
Alter the local tasks to use an destination parameter.
File
- mb_extra/
mb_extra.module, line 42 - Provides various functions for the expansion of core modules.
Code
function mb_extra_menu_local_tasks_alter(&$data, $router_item, $root_path) {
if (module_exists('overlay')) {
return;
}
global $base_url;
$module = 'mb_extra';
if ($router_item['tab_root'] == 'node/%') {
if (variable_get($module . '_destination_tabs', 0) == TRUE && count($data['tabs']) > 0) {
$destination = drupal_get_destination();
foreach (element_children($data['tabs'][0]['output']) as $key) {
if ($data['tabs'][0]['output'][$key]['#link']['tab_root_href'] != $destination['destination'] && !stristr($destination['destination'], $data['tabs'][0]['output'][$key]['#link']['tab_root_href'])) {
$params = $data['tabs'][0]['output'][$key]['#link'];
$data['tabs'][0]['output'][$key]['#link']['href'] = $base_url . '/' . $params['href'] . '?destination=' . $destination['destination'];
//$data['tabs'][0]['output'][$key]['#link']['tab_root_href'] = $base_url . '/' . $params['tab_root_href'] . '?destination=' . $destination['destination'];
//$data['tabs'][0]['output'][$key]['#link']['tab_parent_href'] = $base_url . '/' . $params['tab_parent_href'] . '?destination=' . $destination['destination'];
}
}
// Children tabs level 1.
if (isset($data['tabs'][1])) {
foreach (element_children($data['tabs'][1]['output']) as $key) {
if ($data['tabs'][1]['output'][$key]['#link']['tab_root_href'] != $destination['destination']) {
$params = $data['tabs'][1]['output'][$key]['#link'];
$data['tabs'][1]['output'][$key]['#link']['href'] = $base_url . '/' . $params['href'] . '?destination=' . $destination['destination'];
//$data['tabs'][0]['output'][$key]['#link']['tab_root_href'] = $base_url . '/' . $params['tab_root_href'] . '?destination=' . $destination['destination'];
//$data['tabs'][0]['output'][$key]['#link']['tab_parent_href'] = $base_url . '/' . $params['tab_parent_href'] . '?destination=' . $destination['destination'];
if (isset($data['tabs'][1]['output'][$key]['#active'])) {
$data['tabs'][1]['output'][$key]['#link']['localized_options'] = array(
'attributes' => array(
'class' => 'active',
),
);
}
}
}
}
}
}
}