# This patch file was generated by NetBeans IDE
# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
# It uses platform neutral UTF-8 encoding.
# Above lines and this line are ignored by the patching process.
--- W:\talentcurve\publish\sites\all\modules\role_expire\role_expire.module
+++ W:\talentcurve\publish\sites\all\modules\role_expire\role_expire.module.original
@@ -112,8 +112,8 @@
  *  Int storing the default duration days of the role or an empty string if not set.
  */
 function role_expire_get_default_duration($rid) {
-  $result = db_query("SELECT duration, new_role FROM {role_expire_length} WHERE rid = :rid", array(':rid' => $rid));
-  return $result->fetchAssoc();
+  $result = db_query("SELECT duration FROM {role_expire_length} WHERE rid = :rid", array(':rid' => $rid))->fetchField();
+  return (!empty($result)) ? $result : '';
 }
 
 
@@ -125,26 +125,21 @@
  * @param $duration
  *   The duration integer (days).
  */
-function role_expire_set_default_duration($rid, $duration, $new_role = 0) {
+function role_expire_set_default_duration($rid, $duration) {
 
   if (isset($duration) && is_numeric($duration) && $duration > 0) {
-    $query = db_select('role_expire_length', 'rel')->condition('rid', $rid);
-    $num_rows = $query->countQuery()->execute()->fetchField();
-
-    if($num_rows > 0){
-      db_update('role_expire_length')
+    $result =  db_update('role_expire_length')
          ->fields(array(
            'duration' => $duration,
-           'new_role' => $new_role,
          ))
          ->condition('rid', $rid)
          ->execute();
-    } else {
+
+    if (!$result) {
       $id = db_insert('role_expire_length')
         ->fields(array(
           'rid' => $rid,
           'duration' => $duration,
-          'new_role' => $new_role,
         ))
         ->execute();
     }
@@ -235,15 +230,12 @@
  * Implements hook_form_FORM-ID_alter().
  */
 function role_expire_form_user_admin_role_alter(&$form, $form_state) {
-
-  $defaults = role_expire_get_default_duration($form['rid']['#value']);
-
   $form['role_expire'] = array(
     '#title' => t("Default duration for the role %role",
       array('%role' => drupal_ucfirst($form['name']['#default_value']))),
     '#type' => 'textfield',
     '#size' => 8,
-    '#default_value' => $defaults['duration'],
+    '#default_value' => role_expire_get_default_duration($form['rid']['#value']),
     '#maxlength' => 5,
     '#attributes' => array('class' => array('role-expire-role-expiry')),
     '#description' => t("Default number of days this role should be active. Leave blank for no limit.")
@@ -255,7 +247,6 @@
     '#options' => _role_expire_get_role(),
     '#empty_option' => t('---select---'),
     '#empty_value' => 0,
-    '#default_value' => $defaults['new_role'],
   );
 
   // Reposition the submit button and delete.
@@ -296,16 +287,15 @@
     // If the form doesn't specify a default duration, then delete default duration.
     // Otherwise, set the default duration to what's specified.
     $new_default_duration = $form_state['values']['role_expire'];
-    $new_role = $form_state['values']['role_expire_new_role'];
-
     if (is_numeric($new_default_duration) && $new_default_duration > 0) {
-      role_expire_set_default_duration($form_state['values']['rid'], $form_state['values']['role_expire'], $new_role);
+      role_expire_set_default_duration($form_state['values']['rid'], $form_state['values']['role_expire']);
       drupal_set_message('New default role expiration set.');
     }
     else {
       role_expire_delete_default_duration($form_state['values']['rid']);
     }
 
+    debug($form_state['values']['role_expire_new_role']);
   }
 }
 
@@ -432,8 +422,6 @@
     $roles = _role_expire_get_role();
     foreach ($expires as $expire) {
 
-      // Get Role Expire Information from the role_expire_length table
-      $role_info = role_expire_get_default_duration($expire->rid);
       // Remove the role expiration record from the role_expires table.
       role_expire_delete_record($expire->uid, $expire->rid);
 
@@ -445,17 +433,12 @@
 
       // If the account *does* exist, update it.
       if (!empty($account)) {
-        $edit = array();
-        $edit['roles'] = $account->roles;
-        unset($edit['roles'][$expire->rid]);
-        if($role_info['new_role'] !== 0){
-          $edit['roles'][$role_info['new_role']] = $roles[$role_info['new_role']];
-        }
-
+        $edit = $account->roles;
+        unset($edit[$expire->rid]);
         // In the documentation for the role_expire implementation of hook_user we
         // state to use $category = 'account'.  We don't do that here because
         // that would cause the delete to occur twice.
-        user_save($account, $edit, NULL);
+        user_save($account, array('roles' => $edit), NULL);
 
         // Handle the bizarre case of role_expire not being a valid role.
         $role_name = (isset($roles[$expire->rid])) ? $roles[$expire->rid] : t('-unset-');
