protected function _change_password($password, $password2, $user_id, $recovery_code) {
// User ID check
if (isset($user_id) && $user_id !== FALSE) {
$query = $this->db->select('user_id')
->from($this->db_table('user_table'))
->where('user_id', $user_id)
->where('passwd_recovery_code', $recovery_code)
->get();
// If above query indicates a match, change the password
if ($query->num_rows() == 1) {
$user_data = $query->row();
$data = array(
'passwd' => $this->authentication->hash_passwd($password),
'passwd_recovery_code' => NULL,
'passwd_recovery_date' => NULL
);
$this->db->where('user_id', $user_data->user_id)
->update($this->db_table('user_table'), $data);
log_message('debug', "\n password stored in DB = " . $data['passwd']);
log_message('debug', "\n Password Validation = " . (password_verify($password, $data['passwd']) ? "Passed" : "Failed"));
}
}
}