commit c01ad4e4b1a812194c398643743e7363a3af37b7
Author: Alan Burke <alan@cycletraffic.com>
Date:   Thu Apr 14 16:58:29 2011 +0100

    Allow translators to be removed

diff --git a/modules/contrib-patched/translation_management/icl_translate/icl_translate.translator.inc b/modules/contrib-patched/translation_management/icl_translate/icl_translate.translator.inc
index 7eac909..1d7bfba 100644
--- a/modules/contrib-patched/translation_management/icl_translate/icl_translate.translator.inc
+++ b/modules/contrib-patched/translation_management/icl_translate/icl_translate.translator.inc
@@ -590,6 +590,12 @@ function _icl_translate_local_translator_form($action, $uid = 0) {
       '#name' => 'icl_translate_translator',
       '#default_value' => $uid
     );
+    // Add option to remove user as translator 
+    $form['icl_translate_jobs']['remove'] = array(
+      '#type' => 'checkbox',
+      '#name' => 'icl_translate_remove',
+      '#title' => t('Remove as Translator')
+    );
   }
   
   // Get languages lists
@@ -761,7 +767,16 @@ function icl_translate_add_translators_submit(&$form) {
  * Process submit translator's language pairs.
  */
 function icl_translate_translator_submit() {
-  if (user_access(ICL_TRANSLATE_MANAGE_JOBS)) {
+  //Remove Translator if necessary
+  if ($_POST['icl_translate_remove']) {
+    //Update Pairs, by sending empty array
+    _icl_translate_update_translator_pairs($_POST['icl_translate_translator'], array());
+    // Remove Role
+    _icl_translate_remove_role($_POST['icl_translate_translator']);
+
+    drupal_set_message(t('User removed as translator.'));
+  }
+  else  if (user_access(ICL_TRANSLATE_MANAGE_JOBS)) {
     if (isset($_POST['icl_translate_translator']) && isset($_POST['icl_translate_language_pairs'])) {
 
       // Create role is necessary
@@ -808,6 +823,15 @@ function _icl_translate_assign_role($uid) {
 }
 
 /**
+ * Remove 'translator' role to specified user.
+ * @todo Check if Drupal has this function (not found).
+ */
+function _icl_translate_remove_role($uid) {
+  $rid = variable_get('icl_translate_role', 0);
+  db_query("DELETE FROM {users_roles} WHERE uid = %d AND rid = %d", $uid, $rid);
+}
+
+/**
  * Checks if user has 'translator' role.
  * @todo Check if Drupal has this function (not found).
  * 
