--- /var/www/basemine/modules/user/user.module	2009-07-02 04:51:56.000000000 +0800
+++ /var/www/basemine/sites/all/modules/user/user.module	2009-07-09 14:09:02.000000000 +0800
@@ -2242,7 +2242,43 @@
       'configurable' => FALSE,
       'hooks' => array(),
     ),
+    'user_edit_user_role_action' => array(
+      'description' => t('Edit role of current user'),
+      'type' => 'user',
+      'configurable' => TRUE,
+      'hooks' => array(),
+    ),
+  );
+}
+
+function user_edit_user_role_action_form($context){
+  $form['operation'] = array(
+    '#type' => 'select',
+    '#options' => array(
+      'add_role' => t('add_role'),
+      'remove_role' => t('remove_role'),
+    ),
+    '#default_value' => $context['operation'],
+    '#title' => t('Operation'),
+    '#description' => t('Operation to this role.'),
+  );
+  $form['role'] = array(
+    '#type' => 'select',
+    '#options' => user_roles(TRUE, NUll),
+    '#default_value' => $context['role'],
+    '#title' => t('Role'),
+    '#description' => t('Change user to this role.'),
+  );
+  return $form;
+}
+
+function user_edit_user_role_submit($form, $form_state){
+  $form_values = $form_state['values'];
+  $params = array(
+    'operation' => $form_values['operation'],
+    'role' => $form_values['role'],
   );
+  return $params;
 }
 
 /**
