summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorSteven Wittens <steven@10.no-reply.drupal.org>2005-03-03 20:51:27 +0000
committerSteven Wittens <steven@10.no-reply.drupal.org>2005-03-03 20:51:27 +0000
commit198ec98f756673da8c899bb0236a91808ed010ec (patch)
treee4527ed4574134a16683a9c6c665480e81f86e8e /modules
parent96211c616e6a71e208134272cb5266bac5edd31f (diff)
downloadbrdo-198ec98f756673da8c899bb0236a91808ed010ec.tar.gz
brdo-198ec98f756673da8c899bb0236a91808ed010ec.tar.bz2
#18329: Unify confirmation messages (and make them themable)
Diffstat (limited to 'modules')
-rw-r--r--modules/block.module24
-rw-r--r--modules/block/block.module24
-rw-r--r--modules/comment.module14
-rw-r--r--modules/comment/comment.module14
-rw-r--r--modules/filter.module17
-rw-r--r--modules/filter/filter.module17
-rw-r--r--modules/forum.module17
-rw-r--r--modules/forum/forum.module17
-rw-r--r--modules/locale.module78
-rw-r--r--modules/locale/locale.module78
-rw-r--r--modules/menu.module47
-rw-r--r--modules/menu/menu.module47
-rw-r--r--modules/node.module56
-rw-r--r--modules/node/node.module56
-rw-r--r--modules/taxonomy.module31
-rw-r--r--modules/taxonomy/taxonomy.module31
-rw-r--r--modules/user.module39
-rw-r--r--modules/user/user.module39
18 files changed, 404 insertions, 242 deletions
diff --git a/modules/block.module b/modules/block.module
index 495135941..359a78e6c 100644
--- a/modules/block.module
+++ b/modules/block.module
@@ -312,18 +312,20 @@ function block_box_add() {
function block_box_delete($bid = 0) {
$op = $_POST['op'];
$box = block_box_get($bid);
+ $info = $box['info'] ? $box['info'] : $box['title'];
- switch ($op) {
- case t('Delete'):
- db_query('DELETE FROM {boxes} WHERE bid = %d', $bid);
- drupal_set_message(t('The block %name has been deleted.', array('%name' => '<em>'. $box['info'] .'</em>')));
- cache_clear_all();
- drupal_goto('admin/block');
-
- default:
- $form = '<p>'. t('Are you sure you want to delete the block %name?', array('%name' => '<em>'. $box['info'] .'</em>')) ."</p>\n";
- $form .= form_submit(t('Delete'));
- $output = form($form);
+ if ($_POST['edit']['confirm']) {
+ db_query('DELETE FROM {boxes} WHERE bid = %d', $bid);
+ drupal_set_message(t('The block %name has been deleted.', array('%name' => '<em>'. $info .'</em>')));
+ cache_clear_all();
+ drupal_goto('admin/block');
+ }
+ else {
+ $output = theme('confirm',
+ t('Are you sure you want to delete the block %name?', array('%name' => '<em>'. $info .'</em>')),
+ 'admin/block',
+ NULL,
+ t('Delete'));
}
print theme('page', $output);
diff --git a/modules/block/block.module b/modules/block/block.module
index 495135941..359a78e6c 100644
--- a/modules/block/block.module
+++ b/modules/block/block.module
@@ -312,18 +312,20 @@ function block_box_add() {
function block_box_delete($bid = 0) {
$op = $_POST['op'];
$box = block_box_get($bid);
+ $info = $box['info'] ? $box['info'] : $box['title'];
- switch ($op) {
- case t('Delete'):
- db_query('DELETE FROM {boxes} WHERE bid = %d', $bid);
- drupal_set_message(t('The block %name has been deleted.', array('%name' => '<em>'. $box['info'] .'</em>')));
- cache_clear_all();
- drupal_goto('admin/block');
-
- default:
- $form = '<p>'. t('Are you sure you want to delete the block %name?', array('%name' => '<em>'. $box['info'] .'</em>')) ."</p>\n";
- $form .= form_submit(t('Delete'));
- $output = form($form);
+ if ($_POST['edit']['confirm']) {
+ db_query('DELETE FROM {boxes} WHERE bid = %d', $bid);
+ drupal_set_message(t('The block %name has been deleted.', array('%name' => '<em>'. $info .'</em>')));
+ cache_clear_all();
+ drupal_goto('admin/block');
+ }
+ else {
+ $output = theme('confirm',
+ t('Are you sure you want to delete the block %name?', array('%name' => '<em>'. $info .'</em>')),
+ 'admin/block',
+ NULL,
+ t('Delete'));
}
print theme('page', $output);
diff --git a/modules/comment.module b/modules/comment.module
index 7c8098b7c..2735c0ab5 100644
--- a/modules/comment.module
+++ b/modules/comment.module
@@ -951,7 +951,7 @@ function comment_delete($cid) {
// We'll only delete if the user has confirmed the
// deletion using the form in our else clause below.
- if ($comment->cid && $_POST['op'] == t('Delete')) {
+ if ($comment->cid && $_POST['edit']['confirm']) {
drupal_set_message(t('The comment and all its replies have been deleted.'));
// Delete comment and its replies.
@@ -966,11 +966,15 @@ function comment_delete($cid) {
}
else if ($comment->cid) {
- drupal_set_message(t('Do you want to delete this comment and all its replies?'));
+ $output = theme('confirm',
+ t('Are you sure you want to delete the comment %title?', array('%title' => '<em>'. $comment->subject .'</em>')),
+ 'node/'. $comment->nid,
+ t('Any replies to this comment will be lost. This action cannot be undone.'),
+ t('Delete'));
+ // Show comment that is being deleted
$comment->comment = check_output($comment->comment, $comment->format);
- $output = theme('comment', $comment);
- $output .= form_submit(t('Delete'));
- $output = form($output);
+ $output .= theme('comment', $comment);
+
}
else {
drupal_set_message(t('The comment no longer exists.'));
diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 7c8098b7c..2735c0ab5 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -951,7 +951,7 @@ function comment_delete($cid) {
// We'll only delete if the user has confirmed the
// deletion using the form in our else clause below.
- if ($comment->cid && $_POST['op'] == t('Delete')) {
+ if ($comment->cid && $_POST['edit']['confirm']) {
drupal_set_message(t('The comment and all its replies have been deleted.'));
// Delete comment and its replies.
@@ -966,11 +966,15 @@ function comment_delete($cid) {
}
else if ($comment->cid) {
- drupal_set_message(t('Do you want to delete this comment and all its replies?'));
+ $output = theme('confirm',
+ t('Are you sure you want to delete the comment %title?', array('%title' => '<em>'. $comment->subject .'</em>')),
+ 'node/'. $comment->nid,
+ t('Any replies to this comment will be lost. This action cannot be undone.'),
+ t('Delete'));
+ // Show comment that is being deleted
$comment->comment = check_output($comment->comment, $comment->format);
- $output = theme('comment', $comment);
- $output .= form_submit(t('Delete'));
- $output = form($output);
+ $output .= theme('comment', $comment);
+
}
else {
drupal_set_message(t('The comment no longer exists.'));
diff --git a/modules/filter.module b/modules/filter.module
index 9b618208d..f1408c945 100644
--- a/modules/filter.module
+++ b/modules/filter.module
@@ -377,7 +377,7 @@ function filter_admin_add() {
*/
function filter_admin_delete() {
$edit = $_POST['edit'];
- if ($_POST['op'] == t('Delete')) {
+ if ($edit['confirm']) {
if ($edit['format'] != variable_get('filter_default_format', 1)) {
db_query("DELETE FROM {filter_formats} WHERE format = %d", $edit['format']);
db_query("DELETE FROM {filters} WHERE format = %d", $edit['format']);
@@ -397,11 +397,16 @@ function filter_admin_delete() {
$format = arg(3);
$format = db_fetch_object(db_query('SELECT * FROM {filter_formats} WHERE format = %d', $format));
- $form .= form_hidden('format', $format->format);
- $form .= form_hidden('name', $format->name);
- $form .= '<p>'. t('Are you sure you want to delete the input format %format? If you have any content left in this input format, it will be switched to the default input format.', array('%format' => '<em>'. $format->name .'</em>')) ."</p>\n";
- $form .= form_submit(t('Delete'));
- print theme('page', form($form));
+ $extra = form_hidden('format', $format->format);
+ $extra .= form_hidden('name', $format->name);
+ $output = theme('confirm',
+ t('Are you sure you want to delete the input format %format?', array('%format' => '<em>'. $format->name .'</em>')),
+ 'admin/filters',
+ t('If you have any content left in this input format, it will be switched to the default input format. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
+ print theme('page', $output);
}
/**
diff --git a/modules/filter/filter.module b/modules/filter/filter.module
index 9b618208d..f1408c945 100644
--- a/modules/filter/filter.module
+++ b/modules/filter/filter.module
@@ -377,7 +377,7 @@ function filter_admin_add() {
*/
function filter_admin_delete() {
$edit = $_POST['edit'];
- if ($_POST['op'] == t('Delete')) {
+ if ($edit['confirm']) {
if ($edit['format'] != variable_get('filter_default_format', 1)) {
db_query("DELETE FROM {filter_formats} WHERE format = %d", $edit['format']);
db_query("DELETE FROM {filters} WHERE format = %d", $edit['format']);
@@ -397,11 +397,16 @@ function filter_admin_delete() {
$format = arg(3);
$format = db_fetch_object(db_query('SELECT * FROM {filter_formats} WHERE format = %d', $format));
- $form .= form_hidden('format', $format->format);
- $form .= form_hidden('name', $format->name);
- $form .= '<p>'. t('Are you sure you want to delete the input format %format? If you have any content left in this input format, it will be switched to the default input format.', array('%format' => '<em>'. $format->name .'</em>')) ."</p>\n";
- $form .= form_submit(t('Delete'));
- print theme('page', form($form));
+ $extra = form_hidden('format', $format->format);
+ $extra .= form_hidden('name', $format->name);
+ $output = theme('confirm',
+ t('Are you sure you want to delete the input format %format?', array('%format' => '<em>'. $format->name .'</em>')),
+ 'admin/filters',
+ t('If you have any content left in this input format, it will be switched to the default input format. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
+ print theme('page', $output);
}
/**
diff --git a/modules/forum.module b/modules/forum.module
index 77a4d82e5..06ed9b38a 100644
--- a/modules/forum.module
+++ b/modules/forum.module
@@ -126,14 +126,17 @@ function forum_taxonomy($op, $type, $object) {
* @param $tid ID of the term to be deleted
*/
function _forum_confirm_del($tid) {
- $term = taxonomy_get_term($tid);
-
- $form .= form_hidden('confirm', 1);
- $form .= form_hidden('tid', $tid);
- $form .= form_submit(t('Delete'));
- $form .= form_submit(t('Cancel'));
+ $term = taxonomy_get_term($tid);
- return form(form_item(t('Delete "%name"', array('%name' => $term->name)), $form, t('Deleteing a forum or container will delete all sub-forums as well. Are you sure you want to delete?')));
+ $extra = form_hidden('tid', $tid);
+ $output = theme('confirm',
+ t('Are you sure you want to delete the forum %name?', array('%name' => '<em>'. $term->name .'</em>')),
+ 'admin/forums',
+ t('Deleting a forum or container will delete all sub-forums as well. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
+ print theme('page', $output);
}
/**
diff --git a/modules/forum/forum.module b/modules/forum/forum.module
index 77a4d82e5..06ed9b38a 100644
--- a/modules/forum/forum.module
+++ b/modules/forum/forum.module
@@ -126,14 +126,17 @@ function forum_taxonomy($op, $type, $object) {
* @param $tid ID of the term to be deleted
*/
function _forum_confirm_del($tid) {
- $term = taxonomy_get_term($tid);
-
- $form .= form_hidden('confirm', 1);
- $form .= form_hidden('tid', $tid);
- $form .= form_submit(t('Delete'));
- $form .= form_submit(t('Cancel'));
+ $term = taxonomy_get_term($tid);
- return form(form_item(t('Delete "%name"', array('%name' => $term->name)), $form, t('Deleteing a forum or container will delete all sub-forums as well. Are you sure you want to delete?')));
+ $extra = form_hidden('tid', $tid);
+ $output = theme('confirm',
+ t('Are you sure you want to delete the forum %name?', array('%name' => '<em>'. $term->name .'</em>')),
+ 'admin/forums',
+ t('Deleting a forum or container will delete all sub-forums as well. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
+ print theme('page', $output);
}
/**
diff --git a/modules/locale.module b/modules/locale.module
index f9c6da115..3f31ff755 100644
--- a/modules/locale.module
+++ b/modules/locale.module
@@ -260,44 +260,28 @@ function locale_admin_manage() {
include_once 'includes/locale.inc';
$edit = &$_POST['edit'];
- switch ($_POST['op']) {
+ if ($_POST['op'] == t('Save configuration')) {
// Save changes to existing languages
- case t('Save configuration'):
- $languages = locale_supported_languages(FALSE, TRUE);
- foreach($languages['name'] as $key => $value) {
- if ($edit['sitedefault'] == $key) {
- $edit['enabled'][$key] = 1; // autoenable the default language
- }
- if ($key == 'en') {
- // Disallow name change for English locale
- db_query("UPDATE {locales_meta} SET isdefault = %d, enabled = %d WHERE locale = 'en'", ($edit['sitedefault'] == $key), $edit['enabled'][$key]);
- }
- else {
- db_query("UPDATE {locales_meta} SET name = '%s', isdefault = %d, enabled = %d WHERE locale = '%s'", $edit['name'][$key], ($edit['sitedefault'] == $key), $edit['enabled'][$key], $key);
- }
+ $languages = locale_supported_languages(FALSE, TRUE);
+ foreach($languages['name'] as $key => $value) {
+ if ($edit['sitedefault'] == $key) {
+ $edit['enabled'][$key] = 1; // autoenable the default language
}
-
- // Changing the locale settings impacts the interface:
- cache_clear_all();
-
- break;
-
- // Remove existing language
- case t('Delete'):
- $languages = locale_supported_languages(FALSE, TRUE);
- if (isset($languages['name'][$edit['langcode']])) {
- db_query("DELETE FROM {locales_meta} WHERE locale = '%s'", $edit['langcode']);
- db_query("DELETE FROM {locales_target} WHERE locale = '%s'", $edit['langcode']);
- $message = t('%locale language removed.', array('%locale' => '<em>'. t($languages['name'][$edit['langcode']]) .'</em>'));
- drupal_set_message($message);
- watchdog('locale', $message);
+ if ($key == 'en') {
+ // Disallow name change for English locale
+ db_query("UPDATE {locales_meta} SET isdefault = %d, enabled = %d WHERE locale = 'en'", ($edit['sitedefault'] == $key), $edit['enabled'][$key]);
+ }
+ else {
+ db_query("UPDATE {locales_meta} SET name = '%s', isdefault = %d, enabled = %d WHERE locale = '%s'", $edit['name'][$key], ($edit['sitedefault'] == $key), $edit['enabled'][$key], $key);
}
+ }
- // Changing the locale settings impacts the interface:
- cache_clear_all();
+ // Changing the locale settings impacts the interface:
+ cache_clear_all();
- break;
+ drupal_goto('admin/locale/language/overview');
}
+
print theme('page', _locale_admin_manage_screen());
}
@@ -307,6 +291,23 @@ function locale_admin_manage() {
function locale_admin_manage_delete_screen() {
include_once 'includes/locale.inc';
$langcode = arg(4);
+ $edit = $_POST['edit'];
+
+ // Check confirmation and if so, delete language
+ if ($edit['confirm']) {
+ $languages = locale_supported_languages(FALSE, TRUE);
+ if (isset($languages['name'][$edit['langcode']])) {
+ db_query("DELETE FROM {locales_meta} WHERE locale = '%s'", $edit['langcode']);
+ db_query("DELETE FROM {locales_target} WHERE locale = '%s'", $edit['langcode']);
+ $message = t('%locale language removed.', array('%locale' => '<em>'. t($languages['name'][$edit['langcode']]) .'</em>'));
+ drupal_set_message($message);
+ watchdog('locale', $message);
+ }
+
+ // Changing the locale settings impacts the interface:
+ cache_clear_all();
+ drupal_goto('admin/locale/language/overview');
+ }
// Do not allow deletion of English locale
if ($langcode == 'en') {
@@ -315,10 +316,17 @@ function locale_admin_manage_delete_screen() {
}
// For other locales, warn user that data loss is ahead
- $form = form_hidden('langcode', $langcode);
- $form .= form_submit(t('Delete'));
$languages = locale_supported_languages(FALSE, TRUE);
- print theme('page', form(form_item(t("Delete language '%name'", array('%name' => t($languages['name'][$langcode]))), $form, t('Are you sure you want to delete the language and all data associated with it?')), 'POST', url('admin/locale/language/overview')));
+
+ $extra = form_hidden('langcode', $langcode);
+ $output = theme('confirm',
+ t('Are you sure you want to delete the language %name?', array('%name' => '<em>'. t($languages['name'][$langcode]) .'</em>')),
+ 'admin/locale/language/overview',
+ t('Deleting a language will remove all data associated with it. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
+ print theme('page', $output);
}
/**
diff --git a/modules/locale/locale.module b/modules/locale/locale.module
index f9c6da115..3f31ff755 100644
--- a/modules/locale/locale.module
+++ b/modules/locale/locale.module
@@ -260,44 +260,28 @@ function locale_admin_manage() {
include_once 'includes/locale.inc';
$edit = &$_POST['edit'];
- switch ($_POST['op']) {
+ if ($_POST['op'] == t('Save configuration')) {
// Save changes to existing languages
- case t('Save configuration'):
- $languages = locale_supported_languages(FALSE, TRUE);
- foreach($languages['name'] as $key => $value) {
- if ($edit['sitedefault'] == $key) {
- $edit['enabled'][$key] = 1; // autoenable the default language
- }
- if ($key == 'en') {
- // Disallow name change for English locale
- db_query("UPDATE {locales_meta} SET isdefault = %d, enabled = %d WHERE locale = 'en'", ($edit['sitedefault'] == $key), $edit['enabled'][$key]);
- }
- else {
- db_query("UPDATE {locales_meta} SET name = '%s', isdefault = %d, enabled = %d WHERE locale = '%s'", $edit['name'][$key], ($edit['sitedefault'] == $key), $edit['enabled'][$key], $key);
- }
+ $languages = locale_supported_languages(FALSE, TRUE);
+ foreach($languages['name'] as $key => $value) {
+ if ($edit['sitedefault'] == $key) {
+ $edit['enabled'][$key] = 1; // autoenable the default language
}
-
- // Changing the locale settings impacts the interface:
- cache_clear_all();
-
- break;
-
- // Remove existing language
- case t('Delete'):
- $languages = locale_supported_languages(FALSE, TRUE);
- if (isset($languages['name'][$edit['langcode']])) {
- db_query("DELETE FROM {locales_meta} WHERE locale = '%s'", $edit['langcode']);
- db_query("DELETE FROM {locales_target} WHERE locale = '%s'", $edit['langcode']);
- $message = t('%locale language removed.', array('%locale' => '<em>'. t($languages['name'][$edit['langcode']]) .'</em>'));
- drupal_set_message($message);
- watchdog('locale', $message);
+ if ($key == 'en') {
+ // Disallow name change for English locale
+ db_query("UPDATE {locales_meta} SET isdefault = %d, enabled = %d WHERE locale = 'en'", ($edit['sitedefault'] == $key), $edit['enabled'][$key]);
+ }
+ else {
+ db_query("UPDATE {locales_meta} SET name = '%s', isdefault = %d, enabled = %d WHERE locale = '%s'", $edit['name'][$key], ($edit['sitedefault'] == $key), $edit['enabled'][$key], $key);
}
+ }
- // Changing the locale settings impacts the interface:
- cache_clear_all();
+ // Changing the locale settings impacts the interface:
+ cache_clear_all();
- break;
+ drupal_goto('admin/locale/language/overview');
}
+
print theme('page', _locale_admin_manage_screen());
}
@@ -307,6 +291,23 @@ function locale_admin_manage() {
function locale_admin_manage_delete_screen() {
include_once 'includes/locale.inc';
$langcode = arg(4);
+ $edit = $_POST['edit'];
+
+ // Check confirmation and if so, delete language
+ if ($edit['confirm']) {
+ $languages = locale_supported_languages(FALSE, TRUE);
+ if (isset($languages['name'][$edit['langcode']])) {
+ db_query("DELETE FROM {locales_meta} WHERE locale = '%s'", $edit['langcode']);
+ db_query("DELETE FROM {locales_target} WHERE locale = '%s'", $edit['langcode']);
+ $message = t('%locale language removed.', array('%locale' => '<em>'. t($languages['name'][$edit['langcode']]) .'</em>'));
+ drupal_set_message($message);
+ watchdog('locale', $message);
+ }
+
+ // Changing the locale settings impacts the interface:
+ cache_clear_all();
+ drupal_goto('admin/locale/language/overview');
+ }
// Do not allow deletion of English locale
if ($langcode == 'en') {
@@ -315,10 +316,17 @@ function locale_admin_manage_delete_screen() {
}
// For other locales, warn user that data loss is ahead
- $form = form_hidden('langcode', $langcode);
- $form .= form_submit(t('Delete'));
$languages = locale_supported_languages(FALSE, TRUE);
- print theme('page', form(form_item(t("Delete language '%name'", array('%name' => t($languages['name'][$langcode]))), $form, t('Are you sure you want to delete the language and all data associated with it?')), 'POST', url('admin/locale/language/overview')));
+
+ $extra = form_hidden('langcode', $langcode);
+ $output = theme('confirm',
+ t('Are you sure you want to delete the language %name?', array('%name' => '<em>'. t($languages['name'][$langcode]) .'</em>')),
+ 'admin/locale/language/overview',
+ t('Deleting a language will remove all data associated with it. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
+ print theme('page', $output);
}
/**
diff --git a/modules/menu.module b/modules/menu.module
index ab080700a..0a972ec39 100644
--- a/modules/menu.module
+++ b/modules/menu.module
@@ -113,17 +113,17 @@ function menu_overview() {
function menu_reset() {
$op = $_POST['op'];
switch ($op) {
- case t('Reset'):
+ case t('Reset all'):
db_query('DELETE FROM {menu}');
drupal_set_message(t('All menu items reset.'));
drupal_goto('admin/menu');
break;
- case t('Cancel'):
- drupal_goto('admin/menu');
- break;
default:
- $output = '<p>'. t('Are you sure you want to reset all menu items to their default settings? Any custom menu items will be lost.') .'</p>';
- $output .= form(form_submit(t('Reset')) . form_submit(t('Cancel')));
+ $output = theme('confirm',
+ t('Are you sure you want to reset all menu items to their default settings?', array('%item' => '<em>'. $title .'</em>')),
+ 'admin/menu',
+ t('Any custom additions or changes to the menu will be lost.'),
+ t('Reset all'));
print theme('page', $output);
}
}
@@ -164,12 +164,13 @@ function menu_reset_item($mid) {
drupal_set_message(t('Menu item reset.'));
drupal_goto('admin/menu');
break;
- case t('Cancel'):
- drupal_goto('admin/menu');
- break;
default:
- $output = '<p>'. t('Are you sure you want to reset this item to its default values?') .'</p>';
- $output .= form(form_submit(t('Reset')) . form_submit(t('Cancel')));
+ $title = db_result(db_query('SELECT title FROM {menu} WHERE mid = %d', $mid));
+ $output = theme('confirm',
+ t('Are you sure you want to reset the item %item to its default values?', array('%item' => '<em>'. $title .'</em>')),
+ 'admin/menu',
+ t('Any customizations will be lost. This action cannot be undone.'),
+ t('Reset'));
print theme('page', $output);
}
}
@@ -179,18 +180,30 @@ function menu_reset_item($mid) {
*/
function menu_delete_item($mid) {
$op = $_POST['op'];
+ $result = db_query('SELECT type, title FROM {menu} WHERE mid = %d', $mid);
+ $menu = db_fetch_object($result);
+ if (!$menu) {
+ drupal_goto('admin/menu');
+ }
switch ($op) {
case t('Delete'):
db_query('DELETE FROM {menu} WHERE mid = %d', $mid);
- drupal_set_message(t('Menu item deleted.'));
- drupal_goto('admin/menu');
- break;
- case t('Cancel'):
+ if ($menu->type & MENU_IS_ROOT) {
+ drupal_set_message(t('Menu deleted.'));
+ }
+ else {
+ drupal_set_message(t('Menu item deleted.'));
+ }
drupal_goto('admin/menu');
break;
default:
- $output = '<p>'. t('Are you sure you want to delete this custom menu item?') .'</p>';
- $output .= form(form_submit(t('Delete')) . form_submit(t('Cancel')));
+ if ($menu->type & MENU_IS_ROOT) {
+ $message = t('Are you sure you want to delete the menu %item?', array('%item' => '<em>'. $menu->title .'</em>'));
+ }
+ else {
+ $message = t('Are you sure you want to delete the custom menu item %item?', array('%item' => '<em>'. $menu->title .'</em>'));
+ }
+ $output = theme('confirm', $message, 'admin/menu', t('This action cannot be undone.'), t('Delete'));
print theme('page', $output);
}
}
diff --git a/modules/menu/menu.module b/modules/menu/menu.module
index ab080700a..0a972ec39 100644
--- a/modules/menu/menu.module
+++ b/modules/menu/menu.module
@@ -113,17 +113,17 @@ function menu_overview() {
function menu_reset() {
$op = $_POST['op'];
switch ($op) {
- case t('Reset'):
+ case t('Reset all'):
db_query('DELETE FROM {menu}');
drupal_set_message(t('All menu items reset.'));
drupal_goto('admin/menu');
break;
- case t('Cancel'):
- drupal_goto('admin/menu');
- break;
default:
- $output = '<p>'. t('Are you sure you want to reset all menu items to their default settings? Any custom menu items will be lost.') .'</p>';
- $output .= form(form_submit(t('Reset')) . form_submit(t('Cancel')));
+ $output = theme('confirm',
+ t('Are you sure you want to reset all menu items to their default settings?', array('%item' => '<em>'. $title .'</em>')),
+ 'admin/menu',
+ t('Any custom additions or changes to the menu will be lost.'),
+ t('Reset all'));
print theme('page', $output);
}
}
@@ -164,12 +164,13 @@ function menu_reset_item($mid) {
drupal_set_message(t('Menu item reset.'));
drupal_goto('admin/menu');
break;
- case t('Cancel'):
- drupal_goto('admin/menu');
- break;
default:
- $output = '<p>'. t('Are you sure you want to reset this item to its default values?') .'</p>';
- $output .= form(form_submit(t('Reset')) . form_submit(t('Cancel')));
+ $title = db_result(db_query('SELECT title FROM {menu} WHERE mid = %d', $mid));
+ $output = theme('confirm',
+ t('Are you sure you want to reset the item %item to its default values?', array('%item' => '<em>'. $title .'</em>')),
+ 'admin/menu',
+ t('Any customizations will be lost. This action cannot be undone.'),
+ t('Reset'));
print theme('page', $output);
}
}
@@ -179,18 +180,30 @@ function menu_reset_item($mid) {
*/
function menu_delete_item($mid) {
$op = $_POST['op'];
+ $result = db_query('SELECT type, title FROM {menu} WHERE mid = %d', $mid);
+ $menu = db_fetch_object($result);
+ if (!$menu) {
+ drupal_goto('admin/menu');
+ }
switch ($op) {
case t('Delete'):
db_query('DELETE FROM {menu} WHERE mid = %d', $mid);
- drupal_set_message(t('Menu item deleted.'));
- drupal_goto('admin/menu');
- break;
- case t('Cancel'):
+ if ($menu->type & MENU_IS_ROOT) {
+ drupal_set_message(t('Menu deleted.'));
+ }
+ else {
+ drupal_set_message(t('Menu item deleted.'));
+ }
drupal_goto('admin/menu');
break;
default:
- $output = '<p>'. t('Are you sure you want to delete this custom menu item?') .'</p>';
- $output .= form(form_submit(t('Delete')) . form_submit(t('Cancel')));
+ if ($menu->type & MENU_IS_ROOT) {
+ $message = t('Are you sure you want to delete the menu %item?', array('%item' => '<em>'. $menu->title .'</em>'));
+ }
+ else {
+ $message = t('Are you sure you want to delete the custom menu item %item?', array('%item' => '<em>'. $menu->title .'</em>'));
+ }
+ $output = theme('confirm', $message, 'admin/menu', t('This action cannot be undone.'), t('Delete'));
print theme('page', $output);
}
}
diff --git a/modules/node.module b/modules/node.module
index a28779ca7..78d2cad18 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -704,6 +704,11 @@ function node_menu($may_cache) {
'access' => node_access('update', $node),
'weight' => 1,
'type' => MENU_LOCAL_TASK);
+ $items[] = array('path' => 'node/'. arg(1) .'/delete', 'title' => t('delete'),
+ 'callback' => 'node_page',
+ 'access' => node_access('delete', $node),
+ 'weight' => 1,
+ 'type' => MENU_CALLBACK);
if ($node->revisions) {
$items[] = array('path' => 'node/'. arg(1) .'/revisions', 'title' => t('revisions'),
@@ -749,7 +754,7 @@ function node_admin_nodes() {
$op = $_POST['op'];
$edit = $_POST['edit'];
- if (($op == t('Update') || $op == t('Delete')) && isset($edit['operation']) && isset($edit['nodes'])) {
+ if (($op == t('Update') || $op == t('Delete all')) && isset($edit['operation']) && isset($edit['nodes'])) {
$edit['nodes'] = array_diff($edit['nodes'], array(0));
if (count($edit['nodes']) == 0) {
form_set_error('', t('Please select some items to perform the update on.'));
@@ -774,20 +779,23 @@ function node_admin_nodes() {
drupal_set_message(t('The items have been deleted.'));
}
else {
- $list = '<ul>';
+ $extra = '<ul>';
foreach ($edit['nodes'] as $nid => $value) {
if ($value) {
$title = db_result(db_query('SELECT title FROM {node} WHERE nid = %d', $nid));
- $list .= '<li>'. form_hidden('nodes]['. $nid, 1) . $title .'</li>';
+ $extra .= '<li>'. form_hidden('nodes]['. $nid, 1) . $title .'</li>';
}
}
- $list .= '</ul>';
-
- $output = '<h3>'. t('Are you sure you want to delete these items?') .'</h3>'. $list;
- $output .= form_hidden('operation', 'delete');
- $output .= form_hidden('confirm', 1);
- $output .= form_submit(t('Delete'));
- $output = form($output);
+ $extra .= '</ul>';
+ $extra .= form_hidden('operation', 'delete');
+
+ $output = theme('confirm',
+ t('Are you sure you want to delete these items?'),
+ 'admin/node',
+ t('This action cannot be undone.'),
+ t('Delete all'),
+ t('Cancel'),
+ $extra);
return $output;
}
}
@@ -1575,7 +1583,6 @@ function node_submit(&$node) {
* Ask for confirmation, and delete the node.
*/
function node_delete($edit) {
-
$node = node_load(array('nid' => $edit['nid']));
if (node_access('delete', $node)) {
@@ -1597,14 +1604,16 @@ function node_delete($edit) {
}
watchdog('content', t('%type: deleted %title.', array('%type' => '<em>'. t($node->type) .'</em>', '%title' => "<em>$node->title</em>")));
- $output = t('The node has been deleted.');
}
else {
- $output .= form_item(t('Confirm deletion'), $node->title);
- $output .= form_hidden('nid', $node->nid);
- $output .= form_hidden('confirm', 1);
- $output .= form_submit(t('Delete'));
- $output = form($output);
+ $extra = form_hidden('nid', $node->nid);
+ $output = theme('confirm',
+ t('Are you sure you want to delete %title?', array('%title' => '<em>'. $node->title .'</em>')),
+ $_GET['destination'] ? $_GET['destination'] : 'node/'. $node->nid,
+ t('This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
}
}
@@ -1699,8 +1708,19 @@ function node_page() {
print theme('page', node_preview($edit));
}
break;
+ case 'delete':
case t('Delete'):
- drupal_set_title(t('Delete'));
+ // Note: we redirect from node/uid/edit to node/uid/delete to make the tabs disappear.
+ if ($_GET['q'] == 'node/'. arg(1) .'/edit') {
+ unset($_REQUEST['destination']);
+ drupal_goto('node/'. arg(1) .'/delete');
+ }
+ $edit['nid'] = $edit['nid'] ? $edit['nid'] : arg(1);
+ $output = node_delete($edit);
+ if (!$output) {
+ drupal_set_message(t('The node has been deleted.'));
+ drupal_goto('admin/node');
+ }
print theme('page', node_delete($edit));
break;
default:
diff --git a/modules/node/node.module b/modules/node/node.module
index a28779ca7..78d2cad18 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -704,6 +704,11 @@ function node_menu($may_cache) {
'access' => node_access('update', $node),
'weight' => 1,
'type' => MENU_LOCAL_TASK);
+ $items[] = array('path' => 'node/'. arg(1) .'/delete', 'title' => t('delete'),
+ 'callback' => 'node_page',
+ 'access' => node_access('delete', $node),
+ 'weight' => 1,
+ 'type' => MENU_CALLBACK);
if ($node->revisions) {
$items[] = array('path' => 'node/'. arg(1) .'/revisions', 'title' => t('revisions'),
@@ -749,7 +754,7 @@ function node_admin_nodes() {
$op = $_POST['op'];
$edit = $_POST['edit'];
- if (($op == t('Update') || $op == t('Delete')) && isset($edit['operation']) && isset($edit['nodes'])) {
+ if (($op == t('Update') || $op == t('Delete all')) && isset($edit['operation']) && isset($edit['nodes'])) {
$edit['nodes'] = array_diff($edit['nodes'], array(0));
if (count($edit['nodes']) == 0) {
form_set_error('', t('Please select some items to perform the update on.'));
@@ -774,20 +779,23 @@ function node_admin_nodes() {
drupal_set_message(t('The items have been deleted.'));
}
else {
- $list = '<ul>';
+ $extra = '<ul>';
foreach ($edit['nodes'] as $nid => $value) {
if ($value) {
$title = db_result(db_query('SELECT title FROM {node} WHERE nid = %d', $nid));
- $list .= '<li>'. form_hidden('nodes]['. $nid, 1) . $title .'</li>';
+ $extra .= '<li>'. form_hidden('nodes]['. $nid, 1) . $title .'</li>';
}
}
- $list .= '</ul>';
-
- $output = '<h3>'. t('Are you sure you want to delete these items?') .'</h3>'. $list;
- $output .= form_hidden('operation', 'delete');
- $output .= form_hidden('confirm', 1);
- $output .= form_submit(t('Delete'));
- $output = form($output);
+ $extra .= '</ul>';
+ $extra .= form_hidden('operation', 'delete');
+
+ $output = theme('confirm',
+ t('Are you sure you want to delete these items?'),
+ 'admin/node',
+ t('This action cannot be undone.'),
+ t('Delete all'),
+ t('Cancel'),
+ $extra);
return $output;
}
}
@@ -1575,7 +1583,6 @@ function node_submit(&$node) {
* Ask for confirmation, and delete the node.
*/
function node_delete($edit) {
-
$node = node_load(array('nid' => $edit['nid']));
if (node_access('delete', $node)) {
@@ -1597,14 +1604,16 @@ function node_delete($edit) {
}
watchdog('content', t('%type: deleted %title.', array('%type' => '<em>'. t($node->type) .'</em>', '%title' => "<em>$node->title</em>")));
- $output = t('The node has been deleted.');
}
else {
- $output .= form_item(t('Confirm deletion'), $node->title);
- $output .= form_hidden('nid', $node->nid);
- $output .= form_hidden('confirm', 1);
- $output .= form_submit(t('Delete'));
- $output = form($output);
+ $extra = form_hidden('nid', $node->nid);
+ $output = theme('confirm',
+ t('Are you sure you want to delete %title?', array('%title' => '<em>'. $node->title .'</em>')),
+ $_GET['destination'] ? $_GET['destination'] : 'node/'. $node->nid,
+ t('This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
}
}
@@ -1699,8 +1708,19 @@ function node_page() {
print theme('page', node_preview($edit));
}
break;
+ case 'delete':
case t('Delete'):
- drupal_set_title(t('Delete'));
+ // Note: we redirect from node/uid/edit to node/uid/delete to make the tabs disappear.
+ if ($_GET['q'] == 'node/'. arg(1) .'/edit') {
+ unset($_REQUEST['destination']);
+ drupal_goto('node/'. arg(1) .'/delete');
+ }
+ $edit['nid'] = $edit['nid'] ? $edit['nid'] : arg(1);
+ $output = node_delete($edit);
+ if (!$output) {
+ drupal_set_message(t('The node has been deleted.'));
+ drupal_goto('admin/node');
+ }
print theme('page', node_delete($edit));
break;
default:
diff --git a/modules/taxonomy.module b/modules/taxonomy.module
index ffdc90a6a..a3f3c7983 100644
--- a/modules/taxonomy.module
+++ b/modules/taxonomy.module
@@ -172,12 +172,17 @@ function taxonomy_del_vocabulary($vid) {
function _taxonomy_confirm_del_vocabulary($vid) {
$vocabulary = taxonomy_get_vocabulary($vid);
- $form .= form_hidden('confirm', 1);
- $form .= form_hidden('type', 'vocabulary');
- $form .= form_hidden('vid', $vid);
- $form .= form_submit(t('Delete'));
-
- return form(form_item(t('Delete vocabulary "%name"', array('%name' => $vocabulary->name)), $form, t('Are you sure you want to delete the vocabulary and all its terms?')));
+ $extra = form_hidden('type', 'vocabulary');
+ $extra .= form_hidden('vid', $vid);
+
+ $output = theme('confirm',
+ t('Are you sure you want to delete the vocabulary %title?', array('%title' => $vocabulary->name)),
+ 'admin/taxonomy',
+ t('Deleting a vocabulary will delete all the terms in it. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
+ return $output;
}
function taxonomy_form_term($edit = array()) {
@@ -322,12 +327,16 @@ function taxonomy_del_term($tid) {
function _taxonomy_confirm_del_term($tid) {
$term = taxonomy_get_term($tid);
- $form .= form_hidden('confirm', 1);
- $form .= form_hidden('type', 'term');
- $form .= form_hidden('tid', $tid);
- $form .= form_submit(t('Delete'));
+ $extra = form_hidden('type', 'term');
+ $extra .= form_hidden('tid', $tid);
- $output = form(form_item(t('Delete term "%name" and all its children', array('%name' => $term->name)), $form, t('Are you sure you want to delete the term and all its children (if any)?')));
+ $output = theme('confirm',
+ t('Are you sure you want to delete the term %name?', array('%title' => '<em>'. $vocabulary->name .'</em>')),
+ 'admin/taxonomy',
+ t('Deleting a term will delete all its children if there are any. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
return $output;
}
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index ffdc90a6a..a3f3c7983 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -172,12 +172,17 @@ function taxonomy_del_vocabulary($vid) {
function _taxonomy_confirm_del_vocabulary($vid) {
$vocabulary = taxonomy_get_vocabulary($vid);
- $form .= form_hidden('confirm', 1);
- $form .= form_hidden('type', 'vocabulary');
- $form .= form_hidden('vid', $vid);
- $form .= form_submit(t('Delete'));
-
- return form(form_item(t('Delete vocabulary "%name"', array('%name' => $vocabulary->name)), $form, t('Are you sure you want to delete the vocabulary and all its terms?')));
+ $extra = form_hidden('type', 'vocabulary');
+ $extra .= form_hidden('vid', $vid);
+
+ $output = theme('confirm',
+ t('Are you sure you want to delete the vocabulary %title?', array('%title' => $vocabulary->name)),
+ 'admin/taxonomy',
+ t('Deleting a vocabulary will delete all the terms in it. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
+ return $output;
}
function taxonomy_form_term($edit = array()) {
@@ -322,12 +327,16 @@ function taxonomy_del_term($tid) {
function _taxonomy_confirm_del_term($tid) {
$term = taxonomy_get_term($tid);
- $form .= form_hidden('confirm', 1);
- $form .= form_hidden('type', 'term');
- $form .= form_hidden('tid', $tid);
- $form .= form_submit(t('Delete'));
+ $extra = form_hidden('type', 'term');
+ $extra .= form_hidden('tid', $tid);
- $output = form(form_item(t('Delete term "%name" and all its children', array('%name' => $term->name)), $form, t('Are you sure you want to delete the term and all its children (if any)?')));
+ $output = theme('confirm',
+ t('Are you sure you want to delete the term %name?', array('%title' => '<em>'. $vocabulary->name .'</em>')),
+ 'admin/taxonomy',
+ t('Deleting a term will delete all its children if there are any. This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
return $output;
}
diff --git a/modules/user.module b/modules/user.module
index f202ec326..41af5c94f 100644
--- a/modules/user.module
+++ b/modules/user.module
@@ -706,6 +706,9 @@ function user_menu($may_cache) {
$items[] = array('path' => 'user/'. arg(1) .'/edit', 'title' => t('edit'),
'callback' => 'user_edit', 'access' => $access || $user->uid == arg(1),
'type' => MENU_LOCAL_TASK);
+ $items[] = array('path' => 'user/'. arg(1) .'/delete', 'title' => t('delete'),
+ 'callback' => 'user_edit', 'access' => $access,
+ 'type' => MENU_CALLBACK);
if (arg(2) == 'edit') {
if (($categories = _user_categories()) && (count($categories) > 1)) {
@@ -1119,7 +1122,7 @@ function user_edit($category = 'account') {
$account = user_load(array('uid' => arg(1)));
$edit = $_POST['op'] ? $_POST['edit'] : object2array($account);
- if ($_POST['op'] == t('Save account')) {
+ if ($_POST['op'] == t('Submit')) {
user_module_invoke('validate', $edit, $account, $category);
if (!form_get_errors()) {
@@ -1136,8 +1139,8 @@ function user_edit($category = 'account') {
}
}
}
- else if ($_POST['op'] == t('Delete account')) {
- if ($account->status == 0) {
+ else if (arg(2) == 'delete') {
+ if ($edit['confirm']) {
db_query('DELETE FROM {users} WHERE uid = %d', $account->uid);
db_query('DELETE FROM {users_roles} WHERE uid = %d', $account->uid);
db_query('DELETE FROM {authmap} WHERE uid = %d', $account->uid);
@@ -1146,14 +1149,24 @@ function user_edit($category = 'account') {
drupal_goto('admin/user');
}
else {
- drupal_set_message(t('Failed to delete account: the account has to be blocked first.'), 'error');
- }
+ $output = theme('confirm',
+ t('Are you sure you want to delete the account %name?', array('%name' => '<em>'. $account->name .'</em>')),
+ 'user/'. $account->uid,
+ t('Deleting a user will remove all their submissions as well. This action cannot be undone.'),
+ t('Delete'));
+ print theme('page', $output);
+ return;
+ }
+ }
+ else if ($_POST['op'] == t('Delete')) {
+ // Note: we redirect from user/uid/edit to user/uid/delete to make the tabs disappear.
+ drupal_goto("user/$account->uid/delete");
}
$output = _user_forms($edit, $account, $category);
- $output .= form_submit(t('Save account'));
+ $output .= form_submit(t('Submit'));
if (user_access('administer users')) {
- $output .= form_submit(t('Delete account'));
+ $output .= form_submit(t('Delete'));
}
$output = form($output, 'post', 0, array('enctype' => 'multipart/form-data'));
@@ -1368,10 +1381,14 @@ function user_admin_access_delete($aid = 0) {
else {
$access_types = array('user' => t('username'), 'mail' => t('e-mail'));
$edit = db_fetch_object(db_query('SELECT aid, type, status, mask FROM {access} WHERE aid = %d', $aid));
- $output = '<p>'. t('Are you sure you want to delete the %type rule for %rule?', array('%type' => $access_types[$edit->type], '%rule' => '<em>'. $edit->mask .'</em>')) .'</p>';
- $output .= form_hidden('confirm', 1);
- $output .= form_submit(t('Delete'));
- $output = form($output);
+
+ $output = theme('confirm',
+ t('Are you sure you want to delete the %type rule for %rule?', array('%type' => $access_types[$edit->type], '%rule' => '<em>'. $edit->mask .'</em>')),
+ 'admin/access/rules',
+ t('This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
print theme('page', $output);
}
}
diff --git a/modules/user/user.module b/modules/user/user.module
index f202ec326..41af5c94f 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -706,6 +706,9 @@ function user_menu($may_cache) {
$items[] = array('path' => 'user/'. arg(1) .'/edit', 'title' => t('edit'),
'callback' => 'user_edit', 'access' => $access || $user->uid == arg(1),
'type' => MENU_LOCAL_TASK);
+ $items[] = array('path' => 'user/'. arg(1) .'/delete', 'title' => t('delete'),
+ 'callback' => 'user_edit', 'access' => $access,
+ 'type' => MENU_CALLBACK);
if (arg(2) == 'edit') {
if (($categories = _user_categories()) && (count($categories) > 1)) {
@@ -1119,7 +1122,7 @@ function user_edit($category = 'account') {
$account = user_load(array('uid' => arg(1)));
$edit = $_POST['op'] ? $_POST['edit'] : object2array($account);
- if ($_POST['op'] == t('Save account')) {
+ if ($_POST['op'] == t('Submit')) {
user_module_invoke('validate', $edit, $account, $category);
if (!form_get_errors()) {
@@ -1136,8 +1139,8 @@ function user_edit($category = 'account') {
}
}
}
- else if ($_POST['op'] == t('Delete account')) {
- if ($account->status == 0) {
+ else if (arg(2) == 'delete') {
+ if ($edit['confirm']) {
db_query('DELETE FROM {users} WHERE uid = %d', $account->uid);
db_query('DELETE FROM {users_roles} WHERE uid = %d', $account->uid);
db_query('DELETE FROM {authmap} WHERE uid = %d', $account->uid);
@@ -1146,14 +1149,24 @@ function user_edit($category = 'account') {
drupal_goto('admin/user');
}
else {
- drupal_set_message(t('Failed to delete account: the account has to be blocked first.'), 'error');
- }
+ $output = theme('confirm',
+ t('Are you sure you want to delete the account %name?', array('%name' => '<em>'. $account->name .'</em>')),
+ 'user/'. $account->uid,
+ t('Deleting a user will remove all their submissions as well. This action cannot be undone.'),
+ t('Delete'));
+ print theme('page', $output);
+ return;
+ }
+ }
+ else if ($_POST['op'] == t('Delete')) {
+ // Note: we redirect from user/uid/edit to user/uid/delete to make the tabs disappear.
+ drupal_goto("user/$account->uid/delete");
}
$output = _user_forms($edit, $account, $category);
- $output .= form_submit(t('Save account'));
+ $output .= form_submit(t('Submit'));
if (user_access('administer users')) {
- $output .= form_submit(t('Delete account'));
+ $output .= form_submit(t('Delete'));
}
$output = form($output, 'post', 0, array('enctype' => 'multipart/form-data'));
@@ -1368,10 +1381,14 @@ function user_admin_access_delete($aid = 0) {
else {
$access_types = array('user' => t('username'), 'mail' => t('e-mail'));
$edit = db_fetch_object(db_query('SELECT aid, type, status, mask FROM {access} WHERE aid = %d', $aid));
- $output = '<p>'. t('Are you sure you want to delete the %type rule for %rule?', array('%type' => $access_types[$edit->type], '%rule' => '<em>'. $edit->mask .'</em>')) .'</p>';
- $output .= form_hidden('confirm', 1);
- $output .= form_submit(t('Delete'));
- $output = form($output);
+
+ $output = theme('confirm',
+ t('Are you sure you want to delete the %type rule for %rule?', array('%type' => $access_types[$edit->type], '%rule' => '<em>'. $edit->mask .'</em>')),
+ 'admin/access/rules',
+ t('This action cannot be undone.'),
+ t('Delete'),
+ t('Cancel'),
+ $extra);
print theme('page', $output);
}
}