You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
5.6 KiB
135 lines
5.6 KiB
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class Event_sponsor_assignee_model extends CI_Model {
|
|
|
|
var $column_order = array('esa.date_added','esa.sponsor_assignee_id','es.sponsor_id',null); //set column field database for datatable orderable
|
|
var $column_search = array('es.sponsor'); //set column field database for datatable searchable just firstname , lastname , address are searchable
|
|
var $order = array('esa.sponsor_assignee_id' => 'desc'); // default order
|
|
|
|
public function __construct() {
|
|
parent::__construct();
|
|
}
|
|
|
|
private function _get_datatables_query($data_source, $event_id){
|
|
$this->db->select("
|
|
esa.sponsor_assignee_id,
|
|
esa.sponsor_id,
|
|
esa.event_id,
|
|
es.sponsor_name,
|
|
es.file as file_name,
|
|
es.file_size")
|
|
->select("(CASE
|
|
WHEN esa.added_by IS NULL THEN 'Unknown'
|
|
ELSE (SELECT CONCAT(first_name,' ',last_name) as added_by FROM user WHERE user_id = esa.added_by)
|
|
END) AS added_by", FALSE)
|
|
->select("DATE_FORMAT(esa.date_added, '%d/%m/%Y %Hh%i') AS date_added", FALSE)
|
|
->from("event_sponsor_assignee esa")
|
|
->join('event_sponsor es', 'es.sponsor_id = esa.sponsor_id', 'left')
|
|
->where("esa.event_id", $event_id)
|
|
->where("esa.status", 1)
|
|
->where("es.status", 1);
|
|
|
|
$i = 0;
|
|
foreach ($this->column_search as $item) {// loop column
|
|
if ($data_source['search']['value']) { // if datatable send POST for search
|
|
if ($i === 0) { // first loop
|
|
$this->db->like($item, $data_source['search']['value']);
|
|
} else {
|
|
$this->db->or_like($item, $data_source['search']['value']);
|
|
}
|
|
}
|
|
$i++;
|
|
}
|
|
|
|
if(isset($data_source['order'])) { // here order processing
|
|
if(isset($data_source['order']['0']['dir']) && !empty($data_source['order']['0']['dir'])) {
|
|
$this->db->order_by($this->column_order[$data_source['order']['0']['column']], $data_source['order']['0']['dir']);
|
|
}
|
|
} else if(isset($this->order)) {
|
|
$order = $this->order;
|
|
$this->db->order_by(key($order), $order[key($order)]);
|
|
}
|
|
}
|
|
|
|
public function get_events_list_export($data_source,$event_id){
|
|
$this->_get_datatables_query($data_source, $event_id);
|
|
$query = $this->db->get();
|
|
$res = $query->result();
|
|
return $res;
|
|
}
|
|
|
|
public function get_datatables($data_source, $event_id){
|
|
$this->_get_datatables_query($data_source, $event_id);
|
|
if($data_source['length'] != -1)
|
|
$this->db->limit($data_source['length'], $data_source['start']);
|
|
$query = $this->db->get();
|
|
return $query->result();
|
|
}
|
|
|
|
public function count_filtered($data_source, $event_id){
|
|
$this->_get_datatables_query($data_source, $event_id);
|
|
$query = $this->db->get();
|
|
return $query->num_rows();
|
|
}
|
|
|
|
public function count_all($data_source, $event_id){
|
|
$this->_get_datatables_query($data_source, $event_id);
|
|
return $this->db->count_all_results();
|
|
}
|
|
|
|
public function add_event_sponsor_assignee($data){
|
|
$this->db->insert("event_sponsor_assignee", $data);
|
|
return $this->db->insert_id();
|
|
}
|
|
|
|
public function update_event_sponsor_assignee($sponsor_assignee_id=0, $data=array()){
|
|
|
|
if($sponsor_assignee_id && sizeof($data) > 0){
|
|
$this->db->update("event_sponsor_assignee", $data, array("sponsor_assignee_id" => $sponsor_assignee_id));
|
|
$updated = $this->db->affected_rows();
|
|
return $updated;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function delete_event_sponsor_assignee($sponsor_assignee_id=0){
|
|
|
|
if($sponsor_assignee_id) {
|
|
|
|
$this->db->where("sponsor_assignee_id", $sponsor_assignee_id);
|
|
$this->db->update("event_sponsor_assignee", array("status" => 0));
|
|
return $this->db->affected_rows();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function event_details($user_id, $event_id)
|
|
{
|
|
$query = $this->db->select('`event_sponsor_assignee`.`sponsor_assignee_id`, `event_sponsor_assignee`.`sponsor_id`, `event_sponsor`.`sponsor_name`, `event_sponsor`.`file`, `event_sponsor`.`status`, `event_sponsor_assignee`.`event_id`, `event_sponsor_assignee`.`status`')
|
|
->from('event_sponsor_assignee')
|
|
->join('event_sponsor', 'event_sponsor.sponsor_id=event_sponsor_assignee.sponsor_id')
|
|
->where('event_sponsor_assignee.status', 1)
|
|
->where('event_sponsor.status', 1)
|
|
->where('event_sponsor_assignee.event_id', $event_id)
|
|
->get()
|
|
->result();
|
|
|
|
return $query;
|
|
}
|
|
|
|
public function event_details_preview($event_id)
|
|
{
|
|
$query = $this->db->select('`event_sponsor_assignee`.`sponsor_assignee_id`, `event_sponsor_assignee`.`sponsor_id`, `event_sponsor`.`sponsor_name`, `event_sponsor`.`file`, `event_sponsor`.`status`, `event_sponsor_assignee`.`event_id`, `event_sponsor_assignee`.`status`')
|
|
->from('event_sponsor_assignee')
|
|
->join('event_sponsor', 'event_sponsor.sponsor_id=event_sponsor_assignee.sponsor_id')
|
|
->where('event_sponsor_assignee.status', 1)
|
|
->where('event_sponsor.status', 1)
|
|
->where('event_sponsor_assignee.event_id', $event_id)
|
|
->get()
|
|
->result();
|
|
|
|
return $query;
|
|
}
|
|
}
|