);
}
else {
- $shortcut_link['link_path'] = drupal_get_path_alias($shortcut_link['link_path']);
+ $shortcut_link['link_path'] = ($shortcut_link['link_path'] == '<front>') ? '' : drupal_get_path_alias($shortcut_link['link_path']);
}
$form['shortcut_link']['#tree'] = TRUE;
*/
function shortcut_link_edit_submit($form, &$form_state) {
// Normalize the path in case it is an alias.
- $form_state['values']['shortcut_link']['link_path'] = drupal_get_normal_path($form_state['values']['shortcut_link']['link_path']);
+ $shortcut_path = drupal_get_normal_path($form_state['values']['shortcut_link']['link_path']);
+ if (empty($shortcut_path)) {
+ $shortcut_path = '<front>';
+ }
+ $form_state['values']['shortcut_link']['link_path'] = $shortcut_path;
$shortcut_link = array_merge($form_state['values']['original_shortcut_link'], $form_state['values']['shortcut_link']);
// Normalize the path in case it is an alias.
$shortcut_link['link_path'] = drupal_get_normal_path($shortcut_link['link_path']);
+ if (empty($shortcut_link['link_path'])) {
+ $shortcut_link['link_path'] = '<front>';
+ }
// Add the link to the end of the list.
$shortcut_set->links[] = $shortcut_link;
if ($path != $normal_path) {
$path = $normal_path;
}
- // Only accept links that correspond to valid paths on the site itself.
- return !url_is_external($path) && menu_get_item($path);
+ // An empty path is valid too and will be converted to <front>.
+ return (!url_is_external($path) && menu_get_item($path)) || empty($path) || $path == '<front>';
}
/**
// Create some paths to test.
$test_cases = array(
+ array('path' => ''),
array('path' => 'admin'),
array('path' => 'admin/config/system/site-information'),
array('path' => "node/{$this->node->nid}/edit"),
$this->assertResponse(200);
$saved_set = shortcut_set_load($set->set_name);
$paths = $this->getShortcutInformation($saved_set, 'link_path');
- $this->assertTrue(in_array(drupal_get_normal_path($test['path']), $paths), 'Shortcut created: '. $test['path']);
+ $test_path = empty($test['path']) ? '<front>' : $test['path'];
+ $this->assertTrue(in_array(drupal_get_normal_path($test_path), $paths), 'Shortcut created: '. $test['path']);
$this->assertLink($title, 0, 'Shortcut link found on the page.');
}
}