Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
e4c2a578
Commit
e4c2a578
authored
Sep 01, 2012
by
Angie Byron
Browse files
Issue
#934714
by swentel, caiovlp, Coornail: Fixed Cannot add frontpage as shortcut.
parent
bea70831
Changes
3
Hide whitespace changes
Inline
Side-by-side
core/modules/shortcut/lib/Drupal/shortcut/Tests/ShortcutLinksTest.php
View file @
e4c2a578
...
...
@@ -35,6 +35,7 @@ function testShortcutLinkAdd() {
// 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"
),
...
...
@@ -52,7 +53,8 @@ function testShortcutLinkAdd() {
$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.'
);
}
}
...
...
core/modules/shortcut/shortcut.admin.inc
View file @
e4c2a578
...
...
@@ -409,7 +409,7 @@ function _shortcut_link_form_elements($shortcut_link = NULL) {
);
}
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
;
...
...
@@ -456,7 +456,11 @@ function shortcut_link_edit_validate($form, &$form_state) {
*/
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'
]);
...
...
@@ -493,6 +497,9 @@ function shortcut_link_add_submit($form, &$form_state) {
function
shortcut_admin_add_link
(
$shortcut_link
,
&
$shortcut_set
)
{
// 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
;
...
...
core/modules/shortcut/shortcut.module
View file @
e4c2a578
...
...
@@ -620,8 +620,8 @@ function shortcut_valid_link($path) {
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>'
;
}
/**
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment