Skip to content
Snippets Groups Projects
Commit 4c135457 authored by Dries Buytaert's avatar Dries Buytaert
Browse files

- Patch #41474 by spiderman: no confirmation when deleting a path alias.

parent 4f13fbb7
No related branches found
No related tags found
2 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!789Issue #3210310: Adjust Database API to remove deprecated Drupal 9 code in Drupal 10
......@@ -58,7 +58,7 @@ function path_menu($may_cache) {
'access' => user_access('administer url aliases'),
'type' => MENU_CALLBACK);
$items[] = array('path' => 'admin/path/delete', 'title' => t('delete alias'),
'callback' => 'path_admin_delete',
'callback' => 'path_admin_delete_confirm',
'access' => user_access('administer url aliases'),
'type' => MENU_CALLBACK);
$items[] = array('path' => 'admin/path/list', 'title' => t('list'),
......@@ -96,14 +96,41 @@ function path_admin_edit($pid = 0) {
}
/**
* Menu callback; handles deletion of an URL alias.
* Menu callback; confirms deleting an URL alias
**/
function path_admin_delete_confirm($pid) {
$path = path_load($pid);
if (user_access('administer path aliases')) {
$form['pid'] = array('#type' => 'value', '#value' => $pid);
$output = confirm_form('path_admin_delete_confirm', $form,
t('Are you sure you want to delete path alias %title?', array('%title' => theme('placeholder', $path['dst']))),
$_GET['destination'] ? $_GET['destination'] : 'admin/path', t('This action cannot be undone.'),
t('Delete'), t('Cancel') );
}
return $output;
}
/**
* Execute URL alias deletion
**/
function path_admin_delete_confirm_submit($form_id, $form_values) {
if ($form_values['confirm']) {
path_admin_delete($form_values['pid']);
drupal_goto('admin/path');
}
}
/**
* Post-confirmation; delete an URL alias.
*/
function path_admin_delete($pid = 0) {
db_query('DELETE FROM {url_alias} WHERE pid = %d', $pid);
drupal_set_message(t('The alias has been deleted.'));
drupal_goto('admin/path');
}
/**
* Set an aliased path for a given Drupal path, preventing duplicates.
*/
......
......@@ -58,7 +58,7 @@ function path_menu($may_cache) {
'access' => user_access('administer url aliases'),
'type' => MENU_CALLBACK);
$items[] = array('path' => 'admin/path/delete', 'title' => t('delete alias'),
'callback' => 'path_admin_delete',
'callback' => 'path_admin_delete_confirm',
'access' => user_access('administer url aliases'),
'type' => MENU_CALLBACK);
$items[] = array('path' => 'admin/path/list', 'title' => t('list'),
......@@ -96,14 +96,41 @@ function path_admin_edit($pid = 0) {
}
/**
* Menu callback; handles deletion of an URL alias.
* Menu callback; confirms deleting an URL alias
**/
function path_admin_delete_confirm($pid) {
$path = path_load($pid);
if (user_access('administer path aliases')) {
$form['pid'] = array('#type' => 'value', '#value' => $pid);
$output = confirm_form('path_admin_delete_confirm', $form,
t('Are you sure you want to delete path alias %title?', array('%title' => theme('placeholder', $path['dst']))),
$_GET['destination'] ? $_GET['destination'] : 'admin/path', t('This action cannot be undone.'),
t('Delete'), t('Cancel') );
}
return $output;
}
/**
* Execute URL alias deletion
**/
function path_admin_delete_confirm_submit($form_id, $form_values) {
if ($form_values['confirm']) {
path_admin_delete($form_values['pid']);
drupal_goto('admin/path');
}
}
/**
* Post-confirmation; delete an URL alias.
*/
function path_admin_delete($pid = 0) {
db_query('DELETE FROM {url_alias} WHERE pid = %d', $pid);
drupal_set_message(t('The alias has been deleted.'));
drupal_goto('admin/path');
}
/**
* Set an aliased path for a given Drupal path, preventing duplicates.
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment