Вход Регистрация
Файл: application/models/Gmaps_model.php
Строк: 181
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * Model class
 *
 * Communicate with the markers table in the database; the gmaps, category and home controllers (The middle guy)
 *
 * @package        ci_fullcalendar
 * @category    Models
 * @author        sirdre
 * @link        /gmaps
 */ 
class Gmaps_model extends CI_Model 
{
    
    private 
$table_markers 'markers';
    private 
$table_category 'category';
     
    function 
__construct()    {
    
parent::__construct();  
    
    
$this->load->helper('security');
    
$this->load->database();        
    }
    
    
/**
    * get - the event makers in the database
    *
    ****
    * @access public
    * @ Param events
    * @ Return string with the last query 
    */            
    
function get($category$username)
    {
        if(
$category != 'undefined'){
            
$this->db->where('markers_category_id'$category);
        }
        
        
$this->db->where('username'$username);
        
$query $this->db->get($this->table_markers);
        
$result $query->result_array();
        
        return 
$result;
    }
    
    
/**
    * get all - the event makers in the database
    *
    ****
    * @access public
    * @ Param events
    * @ Return string with the last query 
    */            
    
function get_all($category)
    {
        if(
$category != 'undefined'){
            
$this->db->where('markers_category_id'$category);
        }
     
        
$query $this->db->get($this->table_markers);
        
$result $query->result_array();
        
        return 
$result;
    }
    
    
/**
    * category - the event makers in the database
    *
    ****
    * @access public
    * @ Param events
    * @ Return string with the last query 
    */        
    
function category($username) {
        
        
$this->db->select(''.$this->table_category.'.category_id, '.$this->table_category.'.category_name, COUNT(markers_category_id) AS count');
        
$this->db->from($this->table_category);
        
$this->db->where(''.$this->table_category.'.username'$username);
        
$this->db->order_by('count''desc');

        
$this->db->join($this->table_markers''.$this->table_category.'.category_id = '.$this->table_markers.'.markers_category_id','left');
        
$this->db->group_by(''.$this->table_category.'.category_name');
         
        
$query $this->db->get();
        
        
$result $query->result_array();
        
        return 
$result;
    }
    
    
/**
    * get_events - the event makers in the database
    *
    ****
    * @access public
    * @ Param events
    * @ Return string with the last query 
    */            
    
function get_events($events)
    {
        if(
$events != 'undefined'){
            
$this->db->where('event_id'$events);
        } 
        
$query $this->db->get($this->table_markers);
        
$result $query->result_array();
        
        return 
$result;
    }

    
/**
    * get the markers by id the database
    *
    ****
    * @access public
    * @ Param id
    * @ Return results/false
    */        
    
public function get_markersById($id) {
        
// return the user
        
$this->db->where('event_id'$id);
        
$this->db->limit(1);
        
$query $this->db->get($this->table_markers);
        if (
$query->num_rows() > 0) {
            
$result $query->result();
            return 
$result[0];
        }
        
// no result
        
return FALSE;
    }
    
    
/**
    * add_marker - add the event makers in the database
    *
    ****
    * @access public
    * @ Param $marker_category, $event_id, $username, $title, $markers_logo, $location, $markers_lat, $markers_lng, $url, $description
    * @ Return string with the last query 
    */        
    
public function add_marker($marker_category$event_id$username$title$markers_logo$location$markers_lat$markers_lng$url$description ) {
                    
            
$xcategory $this->security->xss_clean($marker_category);
            
$xtitle $this->security->xss_clean($title);
     
           
$new_marker = array(
                
'markers_category_id' => $xcategory,
                
'event_id' => $event_id,
                
'username' => $username,
                
'markers_name' => $title,
                
'markers_logo' => $markers_logo,
                
'markers_address' => $location,  
                
'markers_lat' => $markers_lat,
                
'markers_lng' => $markers_lng,                
                
'markers_url' => $url,                
                
'markers_desc' => $description    
            
); 
            
        
$this->db->insert($this->table_markers$new_marker);
        return 
$this->db->last_query();

    }
     
    
/**
    * update_marker - update the event markers in the database
    *
    ****
    * @access public
    * @ Param $marker_category, $event, $title, $markers_logo, $location, $markers_lat, $markers_lng, $url, $description, $del
    * @ Return string with the last query (this should be overridden in production)
    */        
    
public function update_marker($marker_category$event$username$title$markers_logo$location$markers_lat$markers_lng$url$description) {
         
         
$xevent $this->security->xss_clean($event);
         
$xtitle $this->security->xss_clean($title);
           
$update_marker = array(
                
'markers_category_id' => $marker_category,
                
'username' => $username,
                
'markers_name' => $xtitle,
                
'markers_logo' => $markers_logo,
                
'markers_address' => $location,  
                
'markers_lat' => $markers_lat,
                
'markers_lng' => $markers_lng,                
                
'markers_url' => $url,                
                
'markers_desc' => $description    
            
);  
        
            
$this->db->where('event_id',$xevent);
            
$this->db->update($this->table_markers,$update_marker);
            return 
$this->db->last_query(); 
    }
    
    
/**
    * delete_marker - Delete a marker for the event in the database
    *
    ****
    * @access public
    * @ Param $id (event)
    * @ Return string with the last query
    */
    
public function delete_marker($id)  {
        
        
$xid $this->security->xss_clean($id);
        
$this->db->delete($this->table_markers,array('event_id'=>$xid));
        return 
$this->db->last_query();
    }    

    
/**
    * profile_del - Delete a marker for the event in the database
    *
    ****
    * @access public
    * @ Param $username (event)
    * @ Return string with the last query
    */
    
public function profile_del($username)  {
        
        
$xusername $this->security->xss_clean($username); 
        
$this->db->where('username'$xusername);
        
$this->db->delete($this->table_markers);
        return 
$this->db->last_query();
    }    
    
    
/**
    * countlocationMarkers - Admin reviews
    *
    ****
    * @access public
    * @ Param none
    * @ Return id
    */
    
public function countlocationMarkers() {  
        return 
$this->db->count_all_results($this->table_markers);
    }    
    
}

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