? port_6.patch
? port_6x_1.patch
? user_delete.admin.inc
Index: user_delete.info
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_delete/user_delete.info,v
retrieving revision 1.1
diff -u -p -r1.1 user_delete.info
--- user_delete.info	8 Aug 2007 12:36:57 -0000	1.1
+++ user_delete.info	14 Feb 2009 18:31:11 -0000
@@ -1,3 +1,4 @@
 ; $Id: user_delete.info,v 1.1 2007/08/08 12:36:57 sanduhrs Exp $
 name         = User Delete
-description  = "Let users delete their account."
\ No newline at end of file
+description  = "Let users delete their account."
+core = 6.x
Index: user_delete.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_delete/user_delete.module,v
retrieving revision 1.3.2.7
diff -u -p -r1.3.2.7 user_delete.module
--- user_delete.module	5 Mar 2008 14:57:16 -0000	1.3.2.7
+++ user_delete.module	14 Feb 2009 18:31:11 -0000
@@ -21,68 +21,48 @@ function user_delete_perm() {
 /**
  * Implementation of hook_menu().
  */
-function user_delete_menu($may_cache) {
-  global $user;
-  $items = array();
-
-  if (!$may_cache) {
-    $items[] = array(
-      'path' => 'user/'. arg(1) .'/delete',
-      'title' => t('Delete'),
-      'callback' => 'user_edit',
-      'access' => (user_access('administer users') || (user_access('delete own account') && arg(1) == $user->uid)),
-      'type' => MENU_CALLBACK,
-    );
-    $items[] = array(
-      'path' => 'admin/user/user_delete',
-      'title' => t('User delete'),
-      'description' => t("Configure the user delete action."),
-      'callback' => 'drupal_get_form',
-      'callback arguments' => 'user_delete_settings',
-      'access' => user_access('administer users'),
-    );
-  }
+function user_delete_menu() {
+  $items['admin/user/user_delete'] = array(
+    'title' => 'User delete',
+    'description' => "Configure the user delete action.",
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('user_delete_settings'),
+    'access arguments' => array('administer users'),
+    'file' => 'user_delete.admin.inc',
+  );
 
   return $items;
 }
 
+/**
+  * Implementation of hook_menu_alter().
+ */
+function user_delete_menu_alter(&$callbacks) {
+  $callbacks['user/%user/delete']['access callback'] = 'user_delete_access';
+  $callbacks['user/%user/delete']['access arguments'] = array(1);
+  $callbacks['user/%user/delete']['type'] = MENU_LOCAL_TASK;
+}
 
 /**
- * Implementation of hook_form_alter().
+ * Checks wether a user can delete a account
  */
-function user_delete_form_alter($form_id, &$form) {
+function user_delete_access($account) {
   global $user;
-
-  if($form_id == 'user_edit') {
-    //access check
-    if(user_access('delete own account') && arg(1) == $user->uid) {
-      $form['delete'] = array(
-        '#type' => 'submit',
-        '#value' => t('Delete'),
-        '#weight' => 31,
-      );
-    }
-  }
+  return (user_access('administer users') || (user_access('delete own account') && $account->uid == $user->uid));
 }
 
 /**
- * Administrative settings page
- *
- * @return array
- *   a form array
+ * Implementation of hook_form_user_profile_form_alter().
  */
-function user_delete_settings() {
-  //TODO: add additional settings based on http://drupal.org/node/8#comment-628434
-  
-  $form['user_delete_redirect'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Redirection page'),
-    '#default_value' => variable_get('user_delete_redirect', '<front>'),
-    '#description' => t('Choose where to redirect your users after account deletion. Any valid Drupal path will do, e.g. %front or %node', array('%front' => '<front>', '%node' => 'node/1')),
-    '#required' => TRUE,
-  );
-  
-  return system_settings_form($form);
+function user_delete_form_user_profile_form_alter($form, &$form_state) {
+  global $user;
+  if (user_access('delete own account') && arg(1) == $user->uid) {
+    $form['delete'] = array(
+      '#type' => 'submit',
+      '#value' => t('Delete'),
+      '#weight' => 31,
+    );
+  }
 }
 
 /**
