<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Peripheral_OPDs_Model extends CI_Model {
	var $table = TBL_OPD_GALLERY;
	var $column_order = array('id','title','sequence_no','image','add_date','status'); 
	var $column_search = array('id','title','sequence_no','image','add_date','status');  
	var $order = array('id' => 'desc');  
	public function __construct()
	{
		parent::__construct();
		$this->load->database();
	}
	private function _get_datatables_query()
{
    $this->db->select('ig.*, dp.doc_name');
    $this->db->from($this->table . ' ig');
    $this->db->join('doc_profile dp', 'dp.id = ig.doctor_id', 'left');

    $i = 0;
    foreach ($this->column_search as $item)
    {
        if (!empty($_POST['search']['value']))
        {
            if ($i === 0)
            {
                $this->db->group_start();
                $this->db->like('ig.' . $item, $_POST['search']['value']);
            }
            else
            {
                $this->db->or_like('ig.' . $item, $_POST['search']['value']);
                $this->db->or_like('dp.doc_name', $_POST['search']['value']);
            }

            if (count($this->column_search) - 1 == $i)
                $this->db->group_end();
        }
        $i++;
    }

    if (isset($_POST['order']))
    {
        $this->db->order_by(
            $this->column_order[$_POST['order'][0]['column']],
            $_POST['order'][0]['dir']
        );
    }
    else
    {
        $this->db->order_by('ig.id', 'desc');
    }
}

public function get_doctors()
{
    $this->db->select('id, doc_name');
    $this->db->from('doc_profile');
    $this->db->where('status', '1');
    $this->db->where('publish', '1');
    $this->db->order_by('doc_name', 'ASC');
    return $this->db->get()->result();
}

function get_datatables()
{
    $this->_get_datatables_query();

    if ($_POST['length'] != -1)
        $this->db->limit($_POST['length'], $_POST['start']);

    $this->db->where('ig.publish', '1');  
    return $this->db->get()->result();
}

function count_filtered()
{
    $this->_get_datatables_query();
    $this->db->where('ig.publish', '1');
    return $this->db->get()->num_rows();
}

	public function count_all()
	{
		$this->db->from($this->table);
		$this->db->where('publish',"1");
		return $this->db->count_all_results();
	}
	public function get_by_id($id)
	{
		$this->db->from($this->table);
		$this->db->where('id',$id);
		$query = $this->db->get();
		return $query->row();
	}
	public function save($data)
	{
		$this->db->insert($this->table, $data);
		return $this->db->insert_id();
	}
	public function update($where, $data)
	{
		$this->db->update($this->table, $data, $where);
		return $this->db->affected_rows();
	}
	public function delete_by_id($id)
	{
		$this->db->where('id', $id);
		$this->db->delete($this->table);
	} 
	public function delete_data($where, $data)
	{
		$this->db->update($this->table, $data, $where);
		return $this->db->affected_rows();
	}
	 

    function get_quality_services($id) {

        $this->db->select("ig.*");
		$this->db->where('ig.id', $id);    
        $query = $this->db->get(TBL_OPD_GALLERY . ' ig');
        if ($query->num_rows() > 0) {
            return $query->row();
        }
        return FALSE;
    }
}