Вход Регистрация
Файл: application/models/Member_model.php
Строк: 234
<?php
/**
 * Model class
 *
 * Communicate with the member table in the database and profile controller (The middle guy)
 *
 * @package        ci_fullcalendar
 * @category    Models
 * @author        sirdre
 * @link        /profile
 */ 
 
class Member_model extends CI_Model 
{

    private 
$table_members 'users';
    private 
$table_members_groups 'users_groups';
    private 
$table_captcha 'captcha';

    function 
Member_model() {
    
parent::__construct();
    
$this->load->database();
    
    
$this->load->helper('security');
    
$this->load->helper('date');
    
    }
    
    
/**
    * captchaImage - Display new captcha image
    * captchaImage
    ****
    * @access public
    * @param array (cinfo), $expiration 
    * @return none
    */ 
    
function captchaImage($cinfo$expiration) {
 
        
$this->captchaClear($expiration);
        
        
$cap_data = array(
            
'captcha_time' => $cinfo['time'],
            
'ip_address' => $this->input->ip_address(),
            
'word' => $this->security->xss_clean($cinfo['word'])
        );
        
// insert temporary captcha data
        
$query $this->db->insert_string($this->table_captcha$cap_data);
        
$this->db->query($query);
        
        return 
$cinfo['image'];
    
    }
    
    
/**
    * captchaVerify - Verify a genuine user/memeber
    * captchaVerify
    ****
    * @access public
    * @param $captcha, $expiration 
    * @return none
    */ 
    
function captchaVerify($captcha$expiration) { 

        
$this->captchaClear($expiration);
    
        
$this->db->where('word'$captcha);
        
$this->db->limit(1);
        
$query $this->db->get($this->table_captcha);
        
        if (
$query->num_rows() > 0) { 
            
$result $query->result();
            return 
$result[0];
        }
        
// no result
        
return FALSE;  
    }    
    
    
/**
    * captchaClear - Purge obsolete captchas database records
    * register
    ****
    * @access public
    * @param $expiration 
    * @return none
    */ 
    
function captchaClear($expiration) {  
        
        if (
$expiration) {   
        
            
$this->db->where('captcha_time <'time() - $expirationFALSE); 
            return 
$this->db->delete($this->table_captcha);
        }
        
// no result
        
return FALSE;  
    }
    
   
/**
    * Update the user profile image from the member table of the database
    * updateImage
    ****
    * @access public
    * @param $userid, $image 
    * @return none
    */
    
function updateImage($userid$image) { 
        
        
$data['image'] = $image;
        
        
$this->db->where('id'$userid);
        
$this->db->update($this->table_members$data);
    
    }
    
    
/**
    * delete the user profile from the member table of the database
    * profile_del
    ****
    * @access public
    * @param int (id)  
    * @return none
    */
    
function profile_del($id) {  
        
$xid $this->security->xss_clean($id);
        
$this->db->where('id'$xid);
        
$this->db->delete($this->table_members);
    }

    
/**
    * Get result of the user profile by id from the member table of the database
    * getUserById
    ****
    * @access public
    * @param int (id)  
    * @return true/false
    */
    
function getUserById($id) {
         
        
$this->db->where('id'$id);
        
$this->db->limit(1);
        
$query $this->db->get($this->table_members);
        
        if (
$query->num_rows() > 0) {
            
$result $query->result();
            return 
$result[0];
        }
        
// no result
        
return FALSE;
    }
    
    
/**
    * Get result of the user profile by username from the member table of the database
    * getUserByUsername
    ****
    * @access public
    * @param varchar (uname)  
    * @return true/false
    */
    
function getUserByUsername($uname$id 0) {
        
        
$xusername $this->security->xss_clean($uname);
        
$xid $this->security->xss_clean($id);
        
        
$this->db->where('username'$xusername); 
        if (
$xid 0) {
            
$this->db->where('id !='$xid);
        }
        
$this->db->limit(1);
        
$query $this->db->get($this->table_members);
        
// return the user
        
if ($query->num_rows() > 0) {
            
$result $query->result();
            return 
$result[0];
        }
        
// no result
        
return FALSE;
    }
     
    
/**
    * Check against the database if image name exist in directory
    * userImageExists
    ****
    * @access public
    * @param varchar (image)  
    * @param int (id)  
    * @return true/false
    */
    
function userImageExists($image$id 0) {
        
        
$xid $this->security->xss_clean($id);
        
        
$this->db->where('image'$image);
        
// ignore a user id... this is optional and is used when you want to ignore the current user when editing
        
if ($xid 0) {
            
$this->db->where('id !='$xid);
        }
        
$this->db->limit(1);
        
$query $this->db->get($this->table_members);
        
// return number of users with this image
        
if ($query->num_rows() > 0) {
            return 
$query->row()->id;
        }
        
// no other users
        
return FALSE;
    }
     
    
/**
    * Check if member email address exists in users table... to prevent duplicates
    * userEmailExists
    ****
    * @access public
    * @param int (email)  
    * @param int (id)  
    * @return true/false
    */
    
function userEmailExists($email$id 0) {
        
        
$xemail $this->security->xss_clean($email);
        
$xid $this->security->xss_clean($id);
        
        
$this->db->where('email'$xemail);
        
// ignore a user id... this is optional and is used when you want to ignore the current user when editing
        
if ($xid 0) {
            
$this->db->where('id !='$xid);
        }
        
$this->db->limit(1);
        
$query $this->db->get($this->table_members);
        
// return number of users with this email address
        
if ($query->num_rows() > 0) {
            return 
$query->row()->id;
        }
        
// no other users
        
return FALSE;
    }
 
    
    
/**
    * Update the calendar settings by users 
    * fullCalendarSettings
    ****
    * @access public
    * @param $id, $language, $timezone, $defaultview, $header_left, $header_center, $header_right, $aspectratio, $hiddendays, $firstday, $businessdays, $businessstart, $businessend, $weeknumbers, $eventlimit, $alldayslot, $slotduration, $isrtl
    * @return none
    */
    
function fullCalendarSettings($id$language$timezone$defaultview$header_left$header_center$header_right$aspectratio$hiddendays$firstday$businessdays$businessstart$businessend$weeknumbers$eventlimit$alldayslot$slotlabeling$slotduration$isrtl) {
        
        
$xid $this->security->xss_clean($id);    
        
$data['lang'] = $language;
        
$data['cal_timezone'] = $timezone;
        
$data['cal_defaultview'] = $defaultview;
        
$data['cal_header_left'] = $header_left;
        
$data['cal_header_center'] = $header_center;
        
$data['cal_header_right'] = $header_right;
        
$data['cal_aspectratio'] = $aspectratio;
        
$data['cal_hiddendays'] = $hiddendays;
        
$data['cal_firstday'] = $firstday;
        
$data['cal_businessdays'] = $businessdays;
        
$data['cal_businessstart'] = $businessstart;
        
$data['cal_businessend'] = $businessend;
        
$data['cal_weeknumbers'] = $weeknumbers;
        
$data['cal_eventlimit'] = $eventlimit;
        
$data['cal_alldayslot'] = $alldayslot;
        
$data['cal_slotlabeling'] = $slotlabeling;
        
$data['cal_slotduration'] = $slotduration;
        
$data['cal_isrtl'] = $isrtl;
        
        
$this->db->where('id'$xid);
        
$this->db->update($this->table_members$data);
    }
    
    
/**
    * Get all result and return count amount of all members from the member table of the database
    * countUsers
    ****
    * @access public
    * @param none 
    * @return count results
    */
    
function countUsers() { 
        return 
$this->db->count_all_results($this->table_members);
    }
    
    
/**
    * Count the number of users for a particular group, default is 1
    * login
    ****
    * @access public
    * @param int (group)    
    * @return true/false
    */
    
function countUsersForLevel($group 1) {
        
// count the number of users for a particular group, default is 1
        
$this->db->where('group_id >='$group);
        
// return number of users
        
return $this->db->count_all_results($this->table_members_groups);
    }
}

/* End of file member_model.php */
/* Location: ./application/models/member_model.php */
Онлайн: 1
Реклама