/[drupal]/contributions/modules/phpass/phpass.module
ViewVC logotype

Diff of /contributions/modules/phpass/phpass.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1.2.6, Wed Feb 13 16:43:53 2008 UTC revision 1.1.2.7, Wed May 21 13:49:21 2008 UTC
# Line 144  function _phpass_user_authenticate($user Line 144  function _phpass_user_authenticate($user
144        require_once(drupal_get_path('module', 'phpass') .'/PasswordHash.php');        require_once(drupal_get_path('module', 'phpass') .'/PasswordHash.php');
145        $phpass = new PasswordHash(variable_get('user_hash_strength', 8), variable_get('user_hash_portable', TRUE));        $phpass = new PasswordHash(variable_get('user_hash_strength', 8), variable_get('user_hash_portable', TRUE));
146        if ($phpass->CheckPassword($pass, $userpass->hash)) {        if ($phpass->CheckPassword($pass, $userpass->hash)) {
147            _phpass_load($userpass);
148          return $userpass;          return $userpass;
149        }        }
150      }      }
# Line 152  function _phpass_user_authenticate($user Line 153  function _phpass_user_authenticate($user
153      elseif ($userpass->pass) {      elseif ($userpass->pass) {
154        if ($userpass->pass == md5($pass)) {        if ($userpass->pass == md5($pass)) {
155          _phpass_save($userpass->uid, $pass);          _phpass_save($userpass->uid, $pass);
156            _phpass_load($userpass);
157          return $userpass;          return $userpass;
158        }        }
159      }      }
# Line 164  function _phpass_user_authenticate($user Line 166  function _phpass_user_authenticate($user
166          // convert the phpass hashes back to md5 hashes          // convert the phpass hashes back to md5 hashes
167          db_query("UPDATE {users} SET pass = '%s' WHERE uid = %d", md5($pass), $userpass->uid);          db_query("UPDATE {users} SET pass = '%s' WHERE uid = %d", md5($pass), $userpass->uid);
168          db_query("DELETE FROM {user_phpass} WHERE uid = %d", $userpass->uid);          db_query("DELETE FROM {user_phpass} WHERE uid = %d", $userpass->uid);
169            _phpass_load($userpass);
170          return $userpass;          return $userpass;
171        }        }
172      }      }
# Line 173  function _phpass_user_authenticate($user Line 176  function _phpass_user_authenticate($user
176    return user_authenticate($user, $pass);    return user_authenticate($user, $pass);
177  }  }
178    
179    function _phpass_load(&$user) {
180      $user->roles = array();
181      if ($user->uid) {
182        $user->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
183      }
184      else {
185        $user->roles[DRUPAL_ANONYMOUS_RID] = 'anonymous user';
186      }
187      $result = db_query('SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid = %d', $user->uid);
188      while ($role = db_fetch_object($result)) {
189        $user->roles[$role->rid] = $role->name;
190      }
191      $array = array();
192      user_module_invoke('load', $array, $user);
193    }
194    
195  /**  /**
196   * Save the password   * Save the password
197   */   */

Legend:
Removed from v.1.1.2.6  
changed lines
  Added in v.1.1.2.7

  ViewVC Help
Powered by ViewVC 1.1.2