Model or Library

#1
[eluser]drale2k[/eluser]
Hi, i wrote a Login Class but i am not sure if it is better for a Model or a Library. In this case it is a Model, should it be ?

Code:
class Login_Model extends Model
{
    function Login_Model()
    {
        parent::Model();
    }
    
    function verifyUser($u, $pw, $bool_escape_str = TRUE)
    {
        $this->db->select('id, username, email, last_login');

        // check if escape or not
        
        if ($bool_escape_str == FALSE)
        {
            $this->db->where('username', $u);
            $this->db->where('password', $pw);
        }
        
        else
        {
            $this->db->where('username', $this->db->escape_str($u));
            $this->db->where('password', $this->db->escape_str($pw));
        }
        
        
        
        $this->db->limit(1);
        
        $query = $this->db->get('users');
        if ($query->num_rows() > 0)
        {
            $user = $query->row_array();
            $_SESSION['active'] = TRUE;
            $_SESSION['userid'] = $user['id'];
            $_SESSION['username'] = $user['username'];
            $_SESSION['email'] = $user['email'];
            $_SESSION['lastlogin'] = $user['last_login'];
            
            // update last_login
            $date = date('Y-m-d h:m:s');
            $data = array('last_login' => $date);
            $this->db->update('users', $data);
            
            return TRUE;
        }
        
        else
        {
            return FALSE;
        }
    }    
    
    function verifyAdmin($uid)
    {
        if ($_SESSION['active'] == TRUE)
        {
            $uid = $_SESSION['userid'];
            
            $this->db->select('user_id');
            $this->db->where('user_id', $uid);
            $this->db->limit(1);
            
            $query = $this->db->get('admins');
            if ($query->num_rows() > 0)
            {
                $_SESSION['admin'] = TRUE;
                return TRUE;
            }
            
            else
            {
                return FALSE;
            }
        }
        
        else
        {
            return FALSE;
        }
    }

    function verifySession()
    {
        if ( ! isset($_SESSION['admin']) || ! isset($_SESSION['active']) )
            {
                redirect('welcome');
            }
    }
    
}

#2
[eluser]gullah[/eluser]
What I've seen from a lot of the auth systems out there is they are 1 part library and 1 part model. The DB stuff is kept strictly in the model where the session handling, management, etc is kept in the library. It seems to work pretty well and keeps you code separated.

#3
[eluser]drale2k[/eluser]
Ok thanks, i will see how to do it best.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.