MMCT TEAM
Server IP : 103.191.208.50  /  Your IP : 216.73.216.53
Web Server : LiteSpeed
System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64
User : celkcksm ( 1031)
PHP Version : 7.4.33
Disable Function : show_source, system, shell_exec, passthru, popen, exec
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/celkcksm/cms.ncriptech.com/../ecampus.ncriptech.com/application/models/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/celkcksm/cms.ncriptech.com/../ecampus.ncriptech.com/application/models/Admission_model.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');


/**
 * 
 */
class Admission_model extends BaseModel
{
    function __constuct(){
        parent::__construct(); 
    }

    public function _get_admission_data($param,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_admissions';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }

    public function store_admission_data($data,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_admissions';
        return $this->store($data,FALSE,$return_query);
    }

    public function update_admission_data($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_admissions';
        return $this->modify($data,$param,$batch,$return_query);
    }

    public function delete_admission_data($param,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_admissions';
        return $this->remove($param,0,$return_query);
    }

    public function get_admission_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->_db->select('institute_admissions.*,institute_students.*,institute.user_profile_name as institute_name,institute_courses.course_name,institute_courses.course_code,institute_subjects.subject_name,institute_subjects.subject_id,institute_sessions.session_start_year,institute_sessions.session_end_year');
        $this->_db->join('institute_students','institute_students.stu_user_id=institute_admissions.admission_stu_id','LEFT');
        $this->_db->join('institute','institute.user_profile_id=institute_admissions.admission_inst_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_admissions.admission_course_id','LEFT');
        $this->_db->join('institute_subjects','institute_subjects.subject_id=institute_admissions.admission_subject_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_admissions.admission_sess_id','LEFT');
        
        if(!empty($param)){
            $this->_db->where($param);
        }        

        $query = $this->_db->get('institute_admissions');

        if($return_query==FALSE){
            if($single_row==TRUE){
                return $query->first_row();
            }else if($single_row==FALSE){
                return $query->result();
            }            
        }else if($return_query==TRUE){
            return $this->_db->last_query();
        }
    }


    public function __get_admission_data($param,$fields=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
         $this->_db->select('institute_admissions.*,institute_students.*,institute.user_profile_name as institute_name,institute_courses.course_name,institute_courses.course_code,institute_sessions.session_start_year,institute_sessions.session_end_year');
        $this->_db->join('institute_students','institute_students.stu_user_id=institute_admissions.admission_stu_id','LEFT');
        $this->_db->join('institute','institute.user_profile_id=institute_admissions.admission_inst_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_admissions.admission_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_admissions.admission_sess_id','LEFT');
        
        $this->_db->where($param);

        $query = $this->_db->get('institute_admissions');

        if($return_query==FALSE){
            if($single_row==TRUE){
                return $query->first_row();
            }else if($single_row==FALSE){
                return $query->result();
            }            
        }else if($return_query==TRUE){
            return $this->_db->last_query();
        }
    }

    public function get_total_admissions($param=null,$group_by=NULL,$find_in_set=NULL,$return_query=FALSE){
        $this->table='institute_admissions';
        return $this->get_total_count($param,$group_by,$find_in_set,$return_query);
    }

    public function _get_total_admissions($param=null,$or_param=null,$group_by=NULL,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_admissions';
        return $this->_get_total_count($param,$or_param,$group_by,$return_query);
    }


    public function _get_admissions_data($post=array(),$param=array(),$count=FALSE,$return_query=FALSE,$db_group=null){
        $db_group=!empty($db_group)?$db_group:DB_GROUP;
        $this->_db=$this->load->database($db_group, TRUE);
        $this->_db->select('institute_admissions.*,institute_students.*,institute.user_profile_name as institute_name,institute_courses.course_name,institute_courses.course_code,institute_sessions.session_start_year,institute_sessions.session_end_year,institute_agents.agent_name');
        $this->_db->join('institute_students','institute_students.stu_user_id=institute_admissions.admission_stu_id','LEFT');
        $this->_db->join('institute','institute.user_profile_id=institute_admissions.admission_inst_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_admissions.admission_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_admissions.admission_sess_id','LEFT');
        $this->_db->join('institute_agents','institute_agents.agent_id=institute_admissions.admission_agent_id','LEFT');

        $i = 0;

        if(isset($param['inst_id'])){
            $this->_db->where('admission_inst_id',$param['inst_id']);
        }

        if(isset($param['admission_session'])){
            $this->_db->where('admission_sess_id',$param['admission_session']);
        }

        if(isset($param['admission_course'])){
            $this->_db->where('admission_course_id',$param['admission_course']);
        }

        if(isset($param['admission_course'])){
            $this->_db->where('admission_course_id',$param['admission_course']);
        }

        if(isset($param['application_type'])){
            $this->_db->where('admission_application_type',$param['application_type']);
        }

        if(isset($param['column_search'])){
            foreach ($param['column_search'] as $item)
            {
                if(isset($post['search']['value']) && $post['search']['value'])
                {
                    
                    if($i===0)
                    {
                        $this->_db->group_start();
                        $this->_db->like($item, $post['search']['value']);
                    }
                    else
                    {
                        $this->_db->or_like($item, $post['search']['value']);
                    }

                    if(count($param['column_search']) - 1 == $i)
                        $this->_db->group_end();
                }
                
                $i++;
            }
        }

            
        if(isset($post['order']))
        {
            $column_order=$param['column_order'];
            $this->_db->order_by($column_order[$post['order']['0']['column']], $post['order']['0']['dir']);
        } 
        else if(isset($param['order']))
        {
            $order = $param['order'];
            $this->_db->order_by(key($order), $order[key($order)]);
        }

        if($count==FALSE){
            if(isset($post['length']) && $post['length'] != -1){
                $this->_db->limit($post['length'],$post['start']);   
            }
            
            $query = $this->_db->get('institute_admissions');

            if($return_query==FALSE){
                return $query->result();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }       
            
        }else if($count==TRUE){
            $query = $this->_db->get('institute_admissions');
            if($return_query==FALSE){
                return $query->num_rows();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }           
        }
    }


    //Admission payments
    public function store_payments_admission_fees_data($data,$return_query=FALSE){
        $this->table='institute_payments_admission_fees';
        return $this->store($data,FALSE,$return_query);
    }

    public function update_payments_admission_fees_data($data,$param,$batch=FALSE,$return_query=FALSE){
        $this->table='institute_payments_admission_fees';
        return $this->modify($data,$param,$batch,$return_query);
    }

    public function delete_payments_admission_fees_data($param,$return_query=FALSE){
        $this->table='institute_payments_admission_fees';
        return $this->remove($param,0,$return_query);
    }

    public function get_payments_admission_fees_data($param,$single_row=TRUE,$return_query=FALSE){
        $this->_db->select('institute_payments_admission_fees.*,institute_admissions.*,institute.user_profile_name,institute_courses.course_name,institute_fees_types.fees_type');
        $this->_db->join('institute_admissions','institute_admissions.admission_id=institute_payments_admission_fees.payment_admission_id','LEFT');
        $this->_db->join('institute_students','institute_students.stu_id=institute_payments_admission_fees.payment_stu_id','LEFT');
        $this->_db->join('institute','institute.user_profile_id=institute_payments_admission_fees.payment_inst_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_payments_admission_fees.payment_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_payments_admission_fees.payment_sess_id','LEFT');
        $this->_db->join('institute_fees_types','institute_fees_types.fees_type_id=institute_payments_admission_fees.payment_fees_type_id','LEFT');

        $this->_db->where($param);

        $query=$this->_db->get('institute_payments_admission_fees');

        if($return_query==FALSE){
            return $query->result();
        }else if($return_query==TRUE){
            return $this->_db->last_query();
        }    
    }


    public function get_institute_fees_types($param=null,$single_row=TRUE,$return_query=FALSE){
        $this->table='institute_fees_types';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }


    //Seat Booking
    public function store_seat_booking_data($data,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_seat_bookings';
        return $this->store($data,FALSE,$return_query);
    }

    public function update_seat_booking_data($data,$param,$batch=FALSE,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_seat_bookings';
        return $this->modify($data,$param,$batch,$return_query);
    }

    public function delete_seat_booking_data($param,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_seat_bookings';
        return $this->remove($param,0,$return_query);
    }

    public function get_seat_booking_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_seat_bookings';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }

    public function get_seat_booking_count($param=null,$group_by=NULL,$find_in_set=NULL,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_seat_bookings';
        return $this->get_total_count($param,$group_by,$find_in_set,$return_query);
    }

    public function _get_seat_booking_count($param=null,$or_param=null,$group_by=NULL,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_seat_bookings';
        return $this->_get_total_count($param,$or_param,$group_by,$return_query);
    }

    //Seat Booking Payment
    public function store_seat_booking_payment_data($data,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_payments_seat_bookings';
        return $this->store($data,FALSE,$return_query);
    }

    public function update_seat_booking_payment_data($data,$param,$batch=FALSE,$return_query=FALSE){
        $this->table='institute_payments_seat_bookings';
        return $this->modify($data,$param,$batch,$return_query);
    }

    public function delete_seat_booking_payment_data($param,$return_query=FALSE){
        $this->table='institute_payments_seat_bookings';
        return $this->remove($param,0,$return_query);
    }

    public function get_seat_booking_payment_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->table='institute_payments_seat_bookings';
        if($single_row==TRUE){
            return $this->get_one($param,'',$return_query);
        }else if($single_row==FALSE){
            return $this->get_many($param,null,null,$return_query);
        }       
    }

    public function __get_seat_booking_payment_data($param=array(),$single=FALSE,$return_query=FALSE){
        $this->_db->select('institute_seat_bookings.*,institute_seat_bookings.created_at as booking_date,institute_seat_bookings.updated_at as admission_date,institute_payments_seat_bookings.*,institute_students.*,institute_courses.course_name,institute_sessions.session_start_year,institute_sessions.session_end_year,institute_subjects.subject_name');
        $this->_db->join('institute_seat_bookings','institute_seat_bookings.booking_id=institute_payments_seat_bookings.booking_pk_id','LEFT');
        $this->_db->join('institute_students','institute_students.stu_user_id=institute_payments_seat_bookings.booking_stu_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_payments_seat_bookings.booking_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_payments_seat_bookings.booking_sess_id','LEFT');
        $this->_db->join('institute_subjects','institute_subjects.subject_id=institute_payments_seat_bookings.booking_subject_id','LEFT');

        $i = 0;


        if($single==FALSE){
            
            $query = $this->_db->get('institute_payments_seat_bookings');

            if($return_query==FALSE){
                print("$query");
                print_obj($query->result());
                die();
               // return $query->result();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }       
            
        }else if($single==TRUE){
            $query = $this->_db->get('institute_payments_seat_bookings');
            if($return_query==FALSE){
               // print("first_row");
               // print_obj($query->first_row());
               // die();
            return $query->first_row();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }           
        }
    }

    public function _get_seat_booking_payment_data($post=array(),$param=array(),$count=FALSE,$return_query=FALSE){
        $this->_db->select('institute_seat_bookings.*,institute_seat_bookings.created_at as booking_date,institute_seat_bookings.updated_at as admission_date,institute_payments_seat_bookings.*,institute_students.*,institute_courses.course_name,institute_sessions.session_start_year,institute_sessions.session_end_year,institute_subjects.subject_name,institute_payment_cheques_details.*');
        $this->_db->join('institute_seat_bookings','institute_seat_bookings.booking_id=institute_payments_seat_bookings.booking_pk_id','LEFT');
        $this->_db->join('institute_students','institute_students.stu_user_id=institute_payments_seat_bookings.booking_stu_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_payments_seat_bookings.booking_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_payments_seat_bookings.booking_sess_id','LEFT');
        $this->_db->join('institute_subjects','institute_subjects.subject_id=institute_payments_seat_bookings.booking_subject_id','LEFT');
        $this->_db->join('institute_payment_cheques_details','institute_payment_cheques_details.cheque_details_no=institute_payments_seat_bookings.booking_payment_checq_no','LEFT');


        $i = 0;

        if(isset($param['is_deleted'])){
            $this->_db->where('institute_seat_bookings.is_deleted',$param['is_deleted']);
        }

        if(isset($param['inst_id'])){
            $this->_db->where('institute_seat_bookings.booking_inst_id',$param['inst_id']);
        }

        if(isset($param['inst_parent_id'])){
            $this->_db->where('institute_seat_bookings.booking_inst_parent_id',$param['inst_parent_id']);
        }

        if(isset($param['inst_payment_paid'])){
            $this->_db->where('institute_payments_seat_bookings.booking_payment_paid',$param['inst_payment_paid']);
        }


        if(isset($param['inst_session_id'])){
            $this->_db->where('institute_seat_bookings.booking_sess_id',$param['inst_session_id']);
        }

        if(isset($param['inst_session_course_id'])){
            $this->_db->where('institute_seat_bookings.booking_course_id',$param['inst_session_course_id']);
        }

        if(isset($param['inst_booking_pay_mode'])){
            $this->_db->where('institute_payments_seat_bookings.booking_pay_mode',$param['inst_booking_pay_mode']);
        }

        if(isset($post['inst_pay_dates'])){
            if($post['inst_pay_dates']=='today'){
                $this->_db->where('DATE('.$this->_db->dbprefix.'institute_payments_seat_bookings.created_at)=CURDATE()');
            }else if($post['inst_pay_dates']=='yesterday'){
                $this->_db->where('DATE('.$this->_db->dbprefix.'institute_payments_seat_bookings.created_at)=DATE(DATE_SUB(NOW(), INTERVAL 1 DAY))');                
            }else if($post['inst_pay_dates']=='7days'){
                $this->_db->where(''.$this->_db->dbprefix.'institute_payments_seat_bookings.created_at>=DATE_SUB(NOW(), INTERVAL 7 DAY)');
            }else if($post['inst_pay_dates']=='30days'){
                $this->_db->where($this->_db->dbprefix.'institute_payments_seat_bookings.created_at>=DATE_SUB(NOW(), INTERVAL 30 DAY)');
            }else if($post['inst_pay_dates']=='90days'){
                $this->_db->where($this->_db->dbprefix.'institute_payments_seat_bookings.created_at>=DATE_SUB(NOW(), INTERVAL 90 DAY)');
            }else if($post['inst_pay_dates']=='180days'){
                $this->_db->where($this->_db->dbprefix.'institute_payments_seat_bookings.created_at>=DATE_SUB(NOW(), INTERVAL 180 DAY)');
            }else if($post['inst_pay_dates']=='custom'){
                
            }
        }

        if(isset($param['column_search'])){
            foreach ($param['column_search'] as $item)
            {
                if(isset($post['search']['value']) && $post['search']['value'])
                {
                    
                    if($i===0)
                    {
                        $this->_db->group_start();
                        $this->_db->like($item, $post['search']['value']);
                    }
                    else
                    {
                        $this->_db->or_like($item, $post['search']['value']);
                    }

                    if(count($param['column_search']) - 1 == $i)
                        $this->_db->group_end();
                }
                
                $i++;
            }
        }

            
        if(isset($post['order']))
        {
            $column_order=$param['column_order'];
            $this->_db->order_by($column_order[$post['order']['0']['column']], $post['order']['0']['dir']);
        } 
        else if(isset($param['order']))
        {
            $order = $param['order'];
            $this->_db->order_by(key($order), $order[key($order)]);
        }

        if($count==FALSE){
            if(isset($post['length']) && $post['length'] != -1){
                $this->_db->limit($post['length'],$post['start']);   
            }
            
            $query = $this->_db->get('institute_payments_seat_bookings');

            if($return_query==FALSE){
              //  print("query");
             //   print_obj($query->result());
              //  die();
                return $query->result();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }       
            
        }else if($count==TRUE){
            $query = $this->_db->get('institute_payments_seat_bookings');
            if($return_query==FALSE){
                return $query->num_rows();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }           
        }
    }

    public function get_seat_booking_payment_total($param,$return_query=FALSE){
        $this->table='institute_payments_seat_bookings';
        return $this->get_sum('booking_payment','total',$param,$return_query);//[0]->total;
    }


    public function get_seat_bookings_data_v2($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE)
    {
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->_db->select('institute_seat_bookings.*,institute_students.*,institute_courses.course_id,institute_courses.course_code,institute_courses.course_name,institute_sessions.session_id,institute_sessions.session_start_year,institute_sessions.session_end_year');
        // $this->_db->select('institute_seat_bookings.*,institute_payments_seat_bookings.*,institute_students.*,institute_courses.course_id,institute_courses.course_code,institute_courses.course_name,institute_sessions.session_id,institute_sessions.session_start_year,institute_sessions.session_end_year');

        // $this->_db->join('institute_payments_seat_bookings','institute_payments_seat_bookings.booking_pk_id=institute_seat_bookings.booking_id','LEFT');
        $this->_db->join('institute_students','institute_students.stu_id=institute_seat_bookings.booking_stu_profile_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_seat_bookings.booking_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_seat_bookings.booking_sess_id','LEFT');

        $this->_db->where($param);
        

        $query=$this->_db->get('institute_seat_bookings');

        if($single_row==FALSE){
            if($return_query==FALSE){
               return $query->result();
            }else{
                return $this->_db->last_query();
            }
        }else if($single_row==TRUE){
            if($return_query==FALSE){
                return $query->first_row();
            }else{
                return $this->_db->last_query();
            }
        }
    }

    public function get_seat_bookings_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE)
    {
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
       
         $this->_db->select('institute_seat_bookings.*,institute_payments_seat_bookings.*,institute_students.*,institute_courses.course_id,institute_courses.course_code,institute_courses.course_name,institute_sessions.session_id,institute_sessions.session_start_year,institute_sessions.session_end_year');

        $this->_db->join('institute_payments_seat_bookings','institute_payments_seat_bookings.booking_pk_id=institute_seat_bookings.booking_id','LEFT');
        $this->_db->join('institute_students','institute_students.stu_id=institute_seat_bookings.booking_stu_profile_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_seat_bookings.booking_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_seat_bookings.booking_sess_id','LEFT');

        $this->_db->where($param);
        

        $query=$this->_db->get('institute_seat_bookings');

        if($single_row==FALSE){
            if($return_query==FALSE){
               return $query->result();
            }else{
                return $this->_db->last_query();
            }
        }else if($single_row==TRUE){
            if($return_query==FALSE){
                return $query->first_row();
            }else{
                return $this->_db->last_query();
            }
        }
    }

    public function _____get_seat_bookings_data($param=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->_db->select('institute_seat_bookings.*,institute_payments_seat_bookings.*,institute_students.*,institute_courses.course_id,institute_courses.course_code,institute_courses.course_name,institute_sessions.session_id,institute_sessions.session_start_year,institute_sessions.session_end_year');
        $this->_db->join('institute_payments_seat_bookings','institute_payments_seat_bookings.booking_pk_id=institute_seat_bookings.booking_id','LEFT');
        $this->_db->join('institute_students','institute_students.stu_user_id=institute_seat_bookings.booking_stu_profile_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_payments_seat_bookings.booking_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_payments_seat_bookings.booking_sess_id','LEFT');

        $this->_db->where($param);

        $query=$this->_db->get('institute_seat_bookings');

        if($single_row==FALSE){
            if($return_query==FALSE){
                return $query->result();
            }else{
                return $this->_db->last_query();
            }
        }else if($single_row==TRUE){
            if($return_query==FALSE){
                return $query->first_row();
            }else{
                return $this->_db->last_query();
            }
        }
    }


    public function __get_seat_bookings_data($param=null,$fields=null,$single_row=TRUE,$db_group=null,$return_query=FALSE){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $fields=(!empty($fields))?'institute_seat_bookings.*,institute_payments_seat_bookings.*,institute_students.*,institute_courses.course_id,institute_courses.course_code,institute_courses.course_name,institute_sessions.session_id,institute_sessions.session_start_year,institute_sessions.session_end_year':$fields;
        $this->_db->select($fields);
        $this->_db->join('institute_payments_seat_bookings','institute_payments_seat_bookings.booking_pk_id=institute_seat_bookings.booking_id','LEFT');
        $this->_db->join('institute_students','institute_students.stu_id=institute_seat_bookings.booking_stu_profile_id','LEFT');
        $this->_db->join('institute_courses','institute_courses.course_id=institute_payments_seat_bookings.booking_course_id','LEFT');
        $this->_db->join('institute_sessions','institute_sessions.session_id=institute_payments_seat_bookings.booking_sess_id','LEFT');

        $this->_db->where($param);

        $query=$this->_db->get('institute_seat_bookings');

        if($single_row==FALSE){
            if($return_query==FALSE){
                return $query->result();
            }else{
                return $this->_db->last_query();
            }
        }else if($single_row==TRUE){
            if($return_query==FALSE){
                return $query->first_row();
            }else{
                return $this->_db->last_query();
            }
        }
    }


    public function _get_seat_bookings_data($post=array(),$param=array(),$count=FALSE,$return_query=FALSE,$db_group=null){
        if($db_group!==null){
            $this->_db=$this->load->database($db_group, TRUE);
        }
        $this->_db->select('institute_seat_bookings.*,institute_payments_seat_bookings.*,institute_students.*');
        $this->_db->join('institute_payments_seat_bookings','institute_payments_seat_bookings.booking_pk_id=institute_seat_bookings.booking_id','LEFT');
        $this->_db->join('institute_students','institute_students.stu_id=institute_seat_bookings.booking_stu_profile_id','LEFT');

        $i = 0;

        if(isset($param['inst_id'])){
            $this->_db->where('institute_seat_bookings.booking_inst_id',$param['inst_id']);
        }

        if(isset($param['inst_parent_id'])){
            $this->_db->where('institute_seat_bookings.booking_inst_parent_id',$param['inst_parent_id']);
        }

        if(isset($param['agent_user_id'])){
            $this->_db->where('institute_seat_bookings.created_by',$param['agent_user_id']);
        }

        if(isset($param['inst_session_id'])){
            $this->_db->where('institute_seat_bookings.booking_sess_id',$param['inst_session_id']);
        }

        if(isset($param['inst_session_course_id'])){
            $this->_db->where('institute_seat_bookings.booking_course_id',$param['inst_session_course_id']);
        }


        if(isset($param['inst_booking_conversion_status'])){
            $this->_db->where('institute_seat_bookings.booking_converted',$param['inst_booking_conversion_status']);
        }

        if(isset($param['is_deleted'])){
            $this->_db->where('institute_seat_bookings.is_deleted',$param['is_deleted']);
        }

        if(isset($post['inst_dates'])){
            if($post['inst_dates']=='today'){
                $this->_db->where('DATE('.$this->_db->dbprefix.'institute_seat_bookings.created_at)=CURDATE()');
            }else if($post['inst_dates']=='yesterday'){
                $this->_db->where('DATE('.$this->_db->dbprefix.'institute_seat_bookings.created_at)=DATE(DATE_SUB(NOW(), INTERVAL 1 DAY))');                
            }else if($post['inst_dates']=='7days'){
                $this->_db->where(''.$this->_db->dbprefix.'institute_seat_bookings.created_at>=DATE_SUB(NOW(), INTERVAL 7 DAY)');
            }else if($post['inst_dates']=='30days'){
                $this->_db->where($this->_db->dbprefix.'institute_seat_bookings.created_at>=DATE_SUB(NOW(), INTERVAL 30 DAY)');
            }else if($post['inst_dates']=='90days'){
                $this->_db->where($this->_db->dbprefix.'institute_seat_bookings.created_at>=DATE_SUB(NOW(), INTERVAL 90 DAY)');
            }else if($post['inst_dates']=='180days'){
                $this->_db->where($this->_db->dbprefix.'institute_seat_bookings.created_at>=DATE_SUB(NOW(), INTERVAL 180 DAY)');
            }else if($post['inst_dates']=='custom'){
                
            }
        }

        if(isset($param['column_search'])){
            foreach ($param['column_search'] as $item)
            {
                if(isset($post['search']['value']) && $post['search']['value'])
                {
                    
                    if($i===0)
                    {
                        $this->_db->group_start();
                        $this->_db->like($item, $post['search']['value']);
                    }
                    else
                    {
                        $this->_db->or_like($item, $post['search']['value']);
                    }

                    if(count($param['column_search']) - 1 == $i)
                        $this->_db->group_end();
                }
                
                $i++;
            }
        }

            
        if(isset($post['order']))
        {
            $column_order=$param['column_order'];
            $this->_db->order_by($column_order[$post['order']['0']['column']], $post['order']['0']['dir']);
        } 
        else if(isset($param['order']))
        {
            $order = $param['order'];
            $this->_db->order_by(key($order), $order[key($order)]);
        }

        if($count==FALSE){
            if(isset($post['length']) && $post['length'] != -1){
                $this->_db->limit($post['length'],$post['start']);   
            }
            
            $query = $this->_db->get('institute_seat_bookings');

            if($return_query==FALSE){
                return $query->result();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }       
            
        }else if($count==TRUE){
            $query = $this->_db->get('institute_seat_bookings');
            if($return_query==FALSE){
                return $query->num_rows();
            }else if($return_query==TRUE){
                return $this->_db->last_query();
            }           
        }
    }
}

MMCT - 2023