function skinr_context_ui_menu_local_tasks_alter in Skinr 8.2
Same name and namespace in other branches
- 7.2 skinr_context/skinr_context_ui.module \skinr_context_ui_menu_local_tasks_alter()
Implements hook_menu_local_tasks_alter().
File
- skinr_context/
skinr_context_ui.module, line 110 - Administrative interface for Skinr Context. Without this module, you cannot edit your skins with context.
Code
function skinr_context_ui_menu_local_tasks_alter(&$data, $router_item, $root_path) {
$destination = array();
if (isset($_GET['destination'])) {
$path = $_GET['q'];
$query = drupal_http_build_query(drupal_get_query_parameters());
if ($query != '') {
$path .= '?' . $query;
}
$destination = array(
'destination' => $path,
);
}
if ($destination && $root_path == 'admin/structure/skinr/edit/%/%') {
foreach ($data['actions']['output'] as $key => $item) {
if ($item['#link']['path'] == 'admin/structure/skinr/edit/%/%/add') {
// Add destination query string to link to preserve it.
if (empty($data['actions']['output'][$key]['#link']['localized_options']['query'])) {
$data['actions']['output'][$key]['#link']['localized_options']['query'] = array();
}
$data['actions']['output'][$key]['#link']['localized_options']['query'] += $destination;
}
}
}
}