i am afraid there is no easy way to do it
you need to modify the library Simplelogin.php to something like that
bare in mind you need to add the address field to the table
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
/*
SimpleLogin 0.0.3 https://launchpad.net/simplelogincodeigniter
A CodeIgniter 2.X library for do a login system simple
Author: costales http://launchpad.net/~costales
Based on Anthony Graddy & Alex Dunae & Hitesh Ubharani's versions
Licensed under LGPL3
*/
class Simplelogin {
private $CI;
private $user_table = 'users';
private $user_field = 'username';
private $email_field = 'email';
private $address_field = 'address'; // add the name of the field in the database
private $password_field = 'password';
private $salt = '$2a$07$R.gJbYU2N.FmA4hPp1y2CN$';
public function __construct() {
$this->CI = & get_instance();
}
/* Create a user account
*
* @access public
* @param string
* @param string
* @param string
* @param bool
* @return bool
*/
function create($user = '', $email = '', $password = '', $address = '', $auto_login = TRUE) {
// Check data is set
if ($user == '' || $password == '' || $email == '')
return FALSE;
// Email or User already exists
$this->CI->db->where($this->user_field, $user);
$this->CI->db->or_where($this->email_field, $email);
$query = $this->CI->db->get($this->user_table);
if ($query->num_rows() > 0)
return FALSE;
// Create user into the database
$data = array(
$this->user_field => $user,
$this->email_field => $email,
$this->address_field => $address,
$this->password_field => crypt($password, $this->salt)
);
if (!$this->CI->db->insert($this->user_table, $data))
return FALSE;
// Automatically login to created account
if ($auto_login) {
$this->CI->session->sess_destroy();
$this->CI->session->sess_create();
$this->CI->session->set_userdata(array(
'username' => $user,
'email' => $email,
'address' => $address
));
}
return TRUE; // Created!
}
/* Delete user
*
* @access public
* @param integer
* @return bool
*/
function delete($username = '') {
if ($username == '')
return FALSE;
$data = array($this->user_field => $username);
if ($this->CI->db->delete($this->user_table, $data))
return TRUE; // Deleted
else
return FALSE; // Not deleted
}
/* Login user
*
* @access public
* @param string
* @param string
* @return bool
*/
function login($user = '', $password = '') {
// Data was sent
if ($user == '' OR $password == '')
return FALSE;
// Check if already logged in
if ($this->CI->session->userdata('username') == $user)
return TRUE;
// Check user exists
$data = array($this->user_field => $user);
$query = $this->CI->db->get_where($this->user_table, $data);
if ($query->num_rows() != 1)
return FALSE;
// Check against password
$row = $query->row_array();
if (crypt($password, $this->salt) != $row[$this->password_field])
return FALSE;
$this->CI->session->sess_destroy(); // Destroy old session
$this->CI->session->sess_create(); // Create a fresh, brand new session
$this->CI->session->set_userdata(
array(
'username' => $row[$this->user_field],
'email' => $row[$this->email_field],
'address' => $row[$this->address_field]
)); // Set session data
return TRUE; // Login was successful
}
/* Logout user
*
* @access public
* @return void
*/
function logout() {
$this->CI->session->sess_destroy(); //Destroy session
}
/* Check if the user is logged
* @access public
* @return bool
*/
function is_logged() {
if ($this->CI->session->userdata('username'))
return TRUE;
else
return FALSE;
}
/* Get current username or email
* @access public
* @param string
* @return string
*/
function get_data_user($param = 'username') {
if ($param == 'username')
return $this->CI->session->userdata('username');
if ($param == 'email')
return $this->CI->session->userdata('email');
if ($param == 'address')
return $this->CI->session->userdata('address');
return '';
}
/* Change password for a user
* @access public
* @param string
* @param string
* @param string
* @return bool
*/
function change_password($user = '', $old_password = '', $new_password = '') {
// Check data is set
if ($user == '' || $old_password == '' || $new_password == '')
return FALSE;
// Check old password for this user
$data = array($this->user_field => $user, $this->password_field => crypt($old_password, $this->salt));
$query = $this->CI->db->get_where($this->user_table, $data);
if ($query->num_rows() != 1)
return FALSE;
// Update password
$data = array($this->password_field => crypt($new_password, $this->salt));
$this->CI->db->where($this->user_field, $user);
if (!$this->CI->db->update($this->user_table, $data))
return FALSE;
return TRUE;
}
/* Change email for a user
* @access public
* @param string
* @param string
* @return bool
*/
function change_email($user = '', $new_email = '') {
// Check data is set
if ($user == '' || $new_email == '')
return FALSE;
// Update email
$data = array($this->email_field => $new_email);
$this->CI->db->where($this->user_field, $user);
if (!$this->CI->db->update($this->user_table, $data))
return FALSE;
// Set new internal email
$this->CI->session->set_userdata(array('email' => $new_email));
return TRUE;
}
}