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/ecampus.ncriptech.com/application/controllers/admin/

[  Home  ][  C0mmand  ][  Upload File  ]

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


/**
 * 
 */
class Asessions  extends BaseAdminController
{
    protected $inst_id='';
    protected $inst_parent_id='';
    protected $inst_code='';
    protected $inst_type='';
    protected $user_id='';
    protected $user_type='';
    protected $hrms_access='';
    protected $course_add_access='';
    protected $session_edit_access='';
    protected $session_delete_access='';
    protected $session_course_add_access='';
    protected $session_course_edit_access='';
    protected $session_course_delete_access='';
    protected $session_course_view_access='';
    protected $user_permissions='';

    function __construct()
    {
        parent::__construct();

        $institute_data=check_institute($this->data['userdata']);

        $this->user_type=$this->data['userdata']->user_type;

        $this->user_id=$this->data['userdata']->user_id;

        //print_obj($institute_data);die;


        $this->inst_id=$institute_data['institute_id'];
        $this->inst_parent_id=$institute_data['inst_parent_id'];
        $this->inst_code=$institute_data['inst_code'];
        $this->inst_type=$institute_data['inst_type'];

        $this->session_upload_access=(in_array($this->user_type, array('institute','institute_branch')))?'yes':$institute_data['session_upload_access'];
        $this->session_edit_access=(in_array($this->user_type, array('institute','institute_branch')))?'yes':$institute_data['session_edit_access'];
        $this->session_delete_access=(in_array($this->user_type, array('institute','institute_branch')))?'yes':$institute_data['session_delete_access'];

        $this->session_course_add_access=(in_array($this->user_type, array('institute','institute_branch')))?'yes':$institute_data['session_add_course'];
        $this->session_course_edit_access=(in_array($this->user_type, array('institute','institute_branch')))?'yes':$institute_data['session_edit_course'];
        $this->session_course_delete_access=(in_array($this->user_type, array('institute','institute_branch')))?'yes':$institute_data['session_delete_course'];

        $this->session_course_view_access=$institute_data['session_view_course'];

        $this->course_add_access=$institute_data['cousre_upload_access'];

        //echo $institute_data['cousre_upload_access'];die;


        $this->user_permissions=$institute_data['user_permissions'];
    }

    function index(){
     //  print_obj(session_userdata());




       if($this->data['userdata']->user_type=='student'  ||  $this->data['userdata']->user_type=='agent' ){
         
        redirect($this->data['base_url']);

       }
    
       
        if(session_userdata('isAdminLoggedin')){

            $this->data['page_title']='Session';
            


            $p=array(
                'create_course','create_session','create_section','create_employee'
            );

            $permissions=$this->user_permissions;





            $this->data['can_add_course']=$this->course_add_access;
            $this->data['can_add_session']=$this->session_upload_access;
            $this->data['can_edit_session']=$this->session_edit_access;
            $this->data['can_add_session_course']=$this->session_course_add_access;
            $this->data['can_view_session_course']=$this->session_course_view_access;

            $this->data['courses']=$this->cm->get_course(array('course_inst_id'=>$this->inst_id),FALSE);

            $this->theme->title($this->data['page_title'])->load('master/vw_session', $this->data);
        }else{

            redirect($this->data['base_url']);
        }
    }


    public function onAddEditSessions(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

             
                    $session_start=post_data('session_start');
                    $session_end=post_data('session_end');
                    $session_id=post_data('_session_id');
                

                    $this->form_validation->set_rules('session_start', 'Session start required', 'trim|required|numeric|regex_match[/^\d{4}$/]');
                    $this->form_validation->set_rules('session_end', 'Session end required', 'trim|required|numeric|regex_match[/^\d{4}$/]');

                    if ($this->form_validation->run() == true){                        

                        if(empty($session_id)){

                            $session_data=$this->sessm->get_session(array('session_inst_id'=>$this->inst_id,'session_parent_inst_id'=>$this->inst_parent_id,'session_start_year'=>$session_start,'session_end_year'=>$session_end));

                            if(empty($session_data)){
                                $added=$this->sessm->store_session(array('session_inst_id'=>$this->inst_id,'session_parent_inst_id'=>$this->inst_parent_id,'session_start_year'=>$session_start,'session_end_year'=>$session_end));

                                if($added){
                                    $return['success']='Session added successfully';
                                }else{
                                    $return['error']='Session not added';
                                }
                            }else{
                                $return['error']='Session already exists';
                            }
                        }else if(!empty($session_id)){
                            $session_id=decode_data($session_id);

                            $session_data=$this->sessm->get_session(array('session_inst_id'=>$this->inst_id,'session_parent_inst_id'=>$this->inst_parent_id,'session_start_year'=>$session_start,'session_end_year'=>$session_end,'session_id!='=>$session_id));

                            if(empty($session_data)){
                                $updated=$this->sessm->update_session(array('session_inst_id'=>$this->inst_id,'session_parent_inst_id'=>$this->inst_parent_id,'session_start_year'=>$session_start,'session_end_year'=>$session_end),array('session_id'=>$session_id));

                                if($updated){
                                    $return['success']='Session updated successfully';
                                }else{
                                    $return['error']='Session not updated';
                                }
                            }else{
                                $return['error']='Session already exists';
                            }
                                
                        }
                    }else{
                        $return['error']='Error occurred';
                    }
                
                    
            }else{
                $return['error']='Action not allowed';
            }  

            return json_headers($return);

        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onDeleteSession(){
         if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                if($this->session_delete_access=='yes'){
                    $session_id=post_data('session_id');

                    if(!empty($session_id)){
                        $session_id=decode_data($session_id);
                        $session_data=$this->sessm->get_session(array('session_inst_id'=>$this->inst_id,'session_id'=>$session_id));

                        if(!empty($session_data)){

                            $admission_data=$this->adm->get_admission_data(array('admission_inst_id'=>$this->inst_id,'admission_sess_id'=>$session_id));

                            $seat_bookingdata=$this->adm->get_seat_bookings_data(array('institute_seat_bookings.booking_sess_id'=>$session_id,'institute_seat_bookings.booking_inst_id'=>$this->inst_id));

                            if(empty($admission_data) && empty($seat_bookingdata)){
                                $deleted=$this->sessm->delete_session(array('session_inst_id'=>$this->inst_id,'session_id'=>$session_id));

                                if($deleted){
                                    $this->sessm->delete_session_year(array('year_session_id'=>$session_id));
                                    $this->sessm->delete_session_course(array('course_session_id'=>$session_id));
                                    $this->sm->delete_college_seat_settings(array('seats_inst_id'=>$this->inst_id,'seats_sess_id'=>$session_id));
                                    $return['success']='Session Deleted';
                                }else{
                                    $return['error']='Session  not deleted';
                                }
                            }else{
                                $return['error']='Session linked to another data can not be deleted now.';
                            }
                                
                        }else{
                            $return['error']='Session data not found';
                        }
                    }else{
                        $return['error']='Session not found';
                    }
                }else{
                    $return['error']='Permission denied.';
                }

                    

                return  json_headers($return);

            }else{
                redirect($this->data['base_url']);
            }
         }else{
             redirect($this->data['base_url']);
         }
    }

    public function onGetSessions(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){
                $_sessions=$this->sessm->get_session_specific('session_id,session_start_year,session_end_year',array('session_status'=>'active'),FALSE);

                if(!empty($_sessions)){
                    foreach ($_sessions as $key => $value) {
                        $sessions[]=array(
                            'session_id'=>$value->session_id,
                            'session_start_end_year'=>$value->session_start_year.'-'.$value->session_end_year,
                            'selected'=>''
                        );
                    }
                }
               
                json_headers($sessions);
            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onAddEditSessionTypes(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            $session_year=post_data('session_year');
            $session_year_id=post_data('_session_year');
            $session_id=post_data('_session');

            $session_type=post_data('session_type');

            $this->form_validation->set_rules('session_year', 'Session year required', 'trim|required');

            if($this->form_validation->run() == true){

                $session_id=decode_data($session_id);               

                if(empty($session_year_id)){

                    $session_data=$this->sessm->get_session_year(array('year_session_inst_id'=>$this->data['userdata']->user_id,'year_session_id'=>$session_id,'year_value'=>$session_year));

                    if(empty($session_data)){
                        $added=$this->sessm->store_session_year(array('year_session_inst_id'=>$this->data['userdata']->user_id,'year_session_id'=>$session_id,'year_value'=>$session_year));

                        if($added){
                            $return['success']='Session year added successfully';
                        }else{
                            $return['error']='Session year not added';
                        }
                    }else{
                        $return['error']='Session year already exists';
                    }
                        
                }else if(!empty($session_year_id)){
                    $session_year_id=decode_data($session_year_id);

                    //echo $session_year_id;die;

                    $session_data=$this->sessm->get_session_year(array('year_id'=>$session_year_id));

                    if(!empty($session_data)){
                        $session_data=$this->sessm->get_session_year(array('year_id!='=>$session_year_id,'year_session_inst_id'=>$this->data['userdata']->user_id,'year_session_id'=>$session_id,'year_value'=>$session_year));

                        if(empty($session_data)){
                            $updated=$this->sessm->update_session_year(array('year_session_inst_id'=>$this->data['userdata']->user_id,'year_session_id'=>$session_id,'year_value'=>$session_year),array('year_id'=>$session_year_id));

                            if($updated){
                                $return['success']='Session year updated successfully';
                            }else{
                                $return['error']='Session year not updated';
                            }
                        }else{
                            $return['error']='Session year already found';
                        }
                    }else{
                        $return['error']='Session year not found';
                    }       
                }
            }else{
                $return['error']='Error occurred';
            }
                

            json_headers($return);

        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onSearchSessionsList(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){
                $param['column_order'] = array(
                    null,
                    'session_start_year'
                );

                $param['column_search'] = array('session_start_year','session_end_year');
                $param['order'] = array('session_id' => 'DESC');
                $posts=$this->input->post();


                $param['inst_id']=$this->inst_id;

                $list = $this->sessm->_get_sessions($posts,$param,FALSE,FALSE);

                //print_obj($list);die;
                
                
                $data = array();
                $no = isset($posts['start'])?$posts['start']:0;

                $action='<span class="badge badge-danger">Not Permitted</span>';

                foreach ($list as $session){
                    $no++;

                    $row = array();
                    $_session=$session->session_start_year.'-'.$session->session_end_year; 

                    $row[]  =   $no;
                    $row[]  =   $_session;

                    if($this->session_course_add_access=='yes'){
                        $action='<button type="button" class="btn btn-xs btn-dark waves-effect waves-light btn_add_courses" data-toggle="modal" data-target="#sessionCourseModal" data-session_id="'.encode_data($session->session_id).'" data-sessions="'.$_session.'" data-session_start="'.$session->session_start_year.'" data-session_end="'.$session->session_end_year.'">Add Courses</button>';
                    }else if($this->session_course_view_access=='yes'){
                        $action='<button type="button" class="btn btn-xs btn-dark waves-effect waves-light btn_add_courses" data-toggle="modal" data-target="#sessionCourseModal" data-session_id="'.encode_data($session->session_id).'" data-sessions="'.$_session.'" data-session_start="'.$session->session_start_year.'" data-session_end="'.$session->session_end_year.'">View Courses</button>';
                    }
                    

                    if($this->session_edit_access=='yes'){
                        $action.=' <button type="button" class="btn btn-xs btn-dark waves-effect waves-light btn_edit_session" data-session_start="'.$session->session_start_year.'" data-session_end="'.$session->session_end_year.'" data-session="'.encode_data($session->session_id).'"><i class="fa fa-edit"></i></button>';
                    }

                    if($this->session_delete_access=='yes'){
                        $action.=' <button type="button" class="btn btn-xs btn-danger btn_del_session" data-session="'.encode_data($session->session_id).'"><i class="fa fa-trash"></i></button>';
                    }
                    
                    $row[]  =   $action;

                    $data[] = $row; 
                }

                $output = array(
                    "draw" => isset($posts['draw'])?$posts['draw']:'',
                    "recordsTotal" => $this->sessm->_get_sessions($posts,$param,TRUE),
                    "recordsFiltered" => $this->sessm->_get_sessions($posts,$param,TRUE),
                    "data" => $data,
                );
                
                echo json_encode($output);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onSearchSessionsYearsList(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){
                $param['column_order'] = array(
                    null,
                    'year_value'
                );

                $param['inst_id']=$this->data['userdata']->user_id;

                $param['column_search'] = array('year_value');
                $param['order'] = array('year_id' => 'ASC');
                $posts=$this->input->post();

                $_session=post_data('session_id');

                $posts['year_session_id']=decode_data($_session);

                $list = $this->sessm->_get_session_year($posts,$param,FALSE,FALSE);
                
                
                $data = array();
                $no = isset($posts['start'])?$posts['start']:0;

                $action='';

                foreach ($list as $sess_year){
                    $no++;

                    $row = array();

                    $sessions=  $sess_year->session_start_year.'-'.$sess_year->session_end_year;             

                    $row[]  =   $no;
                    $row[]  =   $sessions;
                    $row[]  =   $sess_year->year_value;
                    
                    $row[]  =   '<button type="button" class="btn btn-xs btn-info btn_edit_session_year" data-session="'.encode_data($sess_year->year_session_inst_id).'" data-session_year="'.encode_data($sess_year->year_id).'" data-session_year_value="'.$sess_year->year_value.'"><i class="fa fa-edit"></i></button>';
                    //<button type="button" class="btn btn-xs btn-danger" data-session="'.encode_data($sess_year->year_id).'"><i class="fa fa-trash"></i></button>';

                    $data[] = $row; 
                }

                $output = array(
                    "draw" => isset($posts['draw'])?$posts['draw']:'',
                    "recordsTotal" => $this->sessm->_get_session_year($posts,$param,TRUE),
                    "recordsFiltered" => $this->sessm->_get_session_year($posts,$param,TRUE),
                    "data" => $data,
                );
                
                echo json_encode($output);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }



    //Courses
    public function onSearchSessionsCoursesList(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $check_institute=check_institute($this->data['userdata']);

                $param['column_order'] = array(
                    null,
                    'course_name'
                );

                $param['inst_id']=$check_institute['institute_id'];

                $param['column_search'] = array('course_name');
                $param['order'] = array('course_session_id' => 'ASC');
                $posts=$this->input->post();

                $_session=post_data('session_id');

                $param['session_id']=decode_data($_session);

                $list = $this->sessm->_get_session_courses($posts,$param,FALSE,FALSE);                
                
                $data = array();
                $no = isset($posts['start'])?$posts['start']:0;

                $action='';

                foreach ($list as $sess_course){
                    $no++;

                    $row = array();

                    $sessions=  $sess_course->session_start_year.'-'.$sess_course->session_end_year;             

                    $row[]  =   $no;
                    $row[]  =   $sessions;
                    $row[]  =   $sess_course->course_code;
                    $row[]  =   number_format($sess_course->session_course_fees,2);
                    $row[]  =   number_format($sess_course->session_course_booking_fee,2);
                    $row[]  =   $sess_course->session_course_seats;

                    //$row[]  =   '';
                    if($this->session_course_edit_access!='yes' && $this->session_course_delete_access!='yes'){
                        $action='<span class="badge badge-danger">Not Permitted</span>';
                    }else{
                        $action='';
                    }

                    //$action=$this->session_course_edit_access;
                    

                    if($this->session_course_edit_access=='yes'){
                        $action.='<button type="button" class="btn btn-xs btn-info btn_edit_session_course" data-course_session_id="'.encode_data($sess_course->course_session_id).'" data-session_course="'.$sess_course->session_course_id.'" data-session_course_fees="'.$sess_course->session_course_fees.'" data-session_booking_fees="'.$sess_course->session_course_booking_fee.'" data-session_course_seats="'.$sess_course->session_course_seats.'"><i class="fa fa-edit"></i></button>';
                    }

                    if($this->session_course_delete_access=='yes'){
                        $action.=' <button type="button" class="btn btn-xs btn-danger btn_del_session_course" data-course_session_id="'.encode_data($sess_course->course_session_id).'" ><i class="fa fa-trash"></i></button>';
                    }
                    
                    $row[]  =   $action;

                    $data[] = $row; 
                }

                $output = array(
                    "draw" => isset($posts['draw'])?$posts['draw']:'',
                    "recordsTotal" => $this->sessm->_get_session_courses($posts,$param,TRUE),
                    "recordsFiltered" => $this->sessm->_get_session_courses($posts,$param,TRUE),
                    "data" => $data,
                );
                
                echo json_encode($output);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }

    public function onGetSessionCourses(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $userdata=$this->data['userdata'];
                $db_group=$userdata->user_code;

                $check_institute=check_institute($this->data['userdata']);

                // print_obj($check_institute);

                // print_obj($this->data['userdata']);die;

                $user_id=$check_institute['institute_id'];
                $session_id=post_data('session_id');
                $course_id=post_data('course_id');

                //echo $user_id;die;

                if($this->input->post('stu_id')){
                    $stu_id=$this->input->post('stu_id');
                }else{
                    $stu_id=0;
                }

                if($course_id>0){
                    
                    $courses=$this->sessm->get_session_courses(array('session_inst_id'=>$user_id,'session_course_id'=>$course_id,'session_id'=>$session_id),TRUE,'session_inst_id','ASC',$db_group);

                    if($stu_id>0){
                        $courses=$this->sessm->get_session_courses_student_wise(array('session_inst_id'=>$user_id,'session_course_id'=>$course_id,'session_id'=>$session_id,'session_stu_id'=>$stu_id),TRUE,'session_inst_id','ASC',$db_group);
                    }
                }else{
                    $courses=$this->sessm->get_session_courses(array('session_inst_id'=>$user_id,'session_id'=>$session_id),FALSE,'session_inst_id','ASC',$db_group);

                    if($stu_id>0){
                        $courses=$this->sessm->get_session_courses_student_wise(array('session_inst_id'=>$user_id,'session_id'=>$session_id,'session_stu_id'=>$stu_id),TRUE,'session_inst_id','ASC',$db_group);
                    }
                }                

                json_headers($courses);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }

    public function onGetSessionCourseFees(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $check_institute=check_institute($this->data['userdata']);

                $user_id=$check_institute['inst_id'];
                $session_id=post_data('session_id');
                $course_id=post_data('course_id');

                if($this->input->post('stu_id')){
                    $stu_id=$this->input->post('stu_id');
                }else{
                    $stu_id=0;
                }

                if($course_id>0){
                    $courses=$this->sessm->get_session_courses(array('session_inst_id'=>$user_id,'session_course_id'=>$course_id,'session_id'=>$session_id),TRUE);

                    if($stu_id>0){
                        $courses=$this->sessm->get_session_course_student_wise(array('session_inst_id'=>$user_id,'session_id'=>$session_id,'session_stu_id'=>$stu_id,'session_course_id'=>$course_id));
                    }

                    $return['course']=$courses;

                    
                }else{
                    $return['error']='Select course';
                }                

                json_headers($courses);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }

    public function onGetSessionYears(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $user_id=$this->data['userdata']->user_id;
                $session_id=post_data('session_id');

                $years=$this->sessm->get_session_year(array('year_session_id'=>$session_id,'year_session_inst_id'=>$user_id),FALSE);

                json_headers($years);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    //Branch Sessions
    public function onGetBranchSessions(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $user_id=$this->data['userdata']->user_id;
                $branch_id=post_data('branch_id');

                $sessions=$this->sessm->get_session_specific('session_id,session_inst_id,session_start_year,session_end_year',array('session_inst_id'=>$branch_id),FALSE);

                json_headers($sessions);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onAddEditSessionCourses(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $_session_id=post_data('_session');

                $_session=post_data('session_course_data_id');
                $session_course=post_data('session_course');
                $session_course_fees=post_data('session_course_fees');
                $session_booking_fees=post_data('session_booking_fees');
                $session_seats=post_data('session_course_seats');

                if(!empty($_session_id)){
                    $session_id=decode_data($_session_id);

                    $this->form_validation->set_rules('session_course_fees', 'Course Fees', 'trim|required|regex_match[/^[0-9]+(\.[0-9]+)?$/]');
                    $this->form_validation->set_rules('session_booking_fees', 'Booking Fees', 'trim|required|regex_match[/^[0-9]+(\.[0-9]+)?$/]');
                    $this->form_validation->set_rules('session_course_seats', 'Total Seats', 'trim|required|numeric');

                    if ($this->form_validation->run() == FALSE){
                        $validation_error_data = strip_tags($this->form_validation->error_string());
                        $return['error']=$validation_error_data;
                    }else{
                        if(is_numeric($session_id)){
                            $session_seats_settings=$this->sm->get_college_seat_settings(array('seats_sess_id'=>$session_id,'seats_inst_id'=>$this->inst_id,'seats_course_id'=>$session_course));

                            if(!empty($session_course_fees) && ((is_double($session_course_fees) || is_numeric($session_course_fees)) && $session_course_fees>0)){
                                //if(!empty($session_booking_fees) && (is_double($session_booking_fees) || is_numeric($session_booking_fees))){

                                    if(!empty($session_seats) && is_numeric($session_seats) && $session_seats>0){
                                        if(empty($_session)){

                                            if($this->session_course_add_access=='yes'){
                                                $data_found=$this->sessm->get_session_courses(array('session_inst_id'=>$this->inst_id,'session_id'=>$session_id,'session_course_id'=>$session_course));

                                                if(empty($data_found)){

                                                    $data_to_store=array(
                                                        'session_inst_id'=>$this->inst_id,
                                                        'session_id'=>$session_id,
                                                        'session_course_id'=>$session_course,
                                                        'session_course_fees'=>$session_course_fees,
                                                        'session_course_booking_fee'=>$session_booking_fees,
                                                        'session_course_seats'=>$session_seats,
                                                        'created_by'=>$this->user_id
                                                    );

                                                    $added=$this->sessm->store_session_course($data_to_store);

                                                    if($added){                                    

                                                        if(!empty($session_seats_settings)){
                                                            $this->sm->update_college_seat_settings(array('seats_count'=>$session_seats,'seats_available'=>$session_seats),array('seats_sess_id'=>$session_id,'seats_inst_id'=>$this->user_id,'seats_course_id'=>$session_course));
                                                        }else{
                                                            $this->sm->store_college_seat_settings(array('seats_sess_id'=>$session_id,'seats_inst_id'=>$this->inst_id,'seats_course_id'=>$session_course,'seats_count'=>$session_seats,'seats_available'=>$session_seats));
                                                        }


                                                        $return['success']='Course added successfully';
                                                    }else{
                                                        $return['error']='Course not added';
                                                    }

                                                }else{
                                                    $return['error']='Course already added';
                                                }
                                            }else{
                                                $return['error']='Permission denied';
                                            }
                                                
                                        }else{
                                            if($this->session_course_edit_access=='yes'){
                                                $course_session_id=decode_data($_session);

                                                $data_found=$this->sessm->get_session_courses(array('course_session_id'=>$course_session_id));

                                                if(!empty($data_found)){

                                                    $data_found2=$this->sessm->get_session_courses(array('course_session_id!='=>$course_session_id,'session_inst_id'=>$this->user_id,'session_id'=>$session_id,'session_course_id'=>$session_course));

                                                    if(empty($data_found2)){
                                                        $data_to_store=array(
                                                            'session_inst_id'=>$this->inst_id,
                                                            'session_id'=>$session_id,
                                                            'session_course_id'=>$session_course,
                                                            'session_course_fees'=>$session_course_fees,
                                                            'session_course_booking_fee'=>$session_booking_fees,
                                                            'session_course_seats'=>$session_seats,
                                                            'updated_at'=>date('Y-m-d'),
                                                            'updated_by'=>$this->user_id
                                                        );

                                                        $added=$this->sessm->update_session_course($data_to_store,array('course_session_id'=>$course_session_id));

                                                        if($added){
                                                            if(!empty($session_seats_settings)){

                                                                if($session_seats_settings->seats_available===$session_seats_settings->seats_count){
                                                                    $this->sm->update_college_seat_settings(array('seats_count'=>$session_seats,'seats_available'=>$session_seats),array('seats_sess_id'=>$session_id,'seats_inst_id'=>$this->inst_id,'seats_course_id'=>$session_course));
                                                                }

                                                                
                                                            }else{
                                                                $this->sm->store_college_seat_settings(array('seats_sess_id'=>$session_id,'seats_inst_id'=>$this->inst_id,'seats_course_id'=>$session_course,'seats_count'=>$session_seats,'seats_available'=>$session_seats));
                                                            }

                                                            $return['success']='Course updated successfully';
                                                        }else{
                                                            $return['error']='Course not updated';
                                                        }
                                                    }else{
                                                        $return['error']='Data already exists.';
                                                    }   
                                                }else{
                                                    $return['error']='Data not found to update';
                                                }
                                            }else{
                                                $return['error']='Permission denied';
                                            }

                                                
                                        }
                                    }else{
                                        $return['error']='Total Seats Available value is not valid.';
                                    }
                                        
                                // }else{
                                //     $return['error']='Seatcbooking amount is not valid';
                                // }
                                        
                            }else{
                                $return['error']='Course fees is not valid.';
                            }
                        }else{
                            $return['error']='Data manipulation is not allowed.';
                        }
                    }                        
                }else{
                    $return['error']='Data manipulation is not allowed.';
                }

                json_headers($return);
            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }


    public function onDeleteSessionCourses(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                if($this->session_course_delete_access=='yes'){
                    $_session_course_data_id=post_data('session_course_data_id');

                    $course_session_id=decode_data($_session_course_data_id);
                    
                    $data_found=$this->sessm->get_session_courses(array('course_session_id'=>$course_session_id));

                    //print_obj($data_found);die;

                    if(!empty($data_found)){

                        $session_course_data_id=decode_data($_session_course_data_id);

                        $course_id=$data_found->course_id;
                        $session_id=$data_found->session_id;
                        $inst_id=$this->inst_id;

                        //echo $course_id;die;

                        $admission_data=$this->adm->get_admission_data(array('admission_inst_id'=>$inst_id,'admission_sess_id'=>$session_id,'admission_course_id'=>$course_id));

                        $seat_bookingdata=$this->adm->get_seat_bookings_data(array('institute_seat_bookings.booking_course_id'=>$course_id,'institute_seat_bookings.booking_sess_id'=>$session_id,'institute_seat_bookings.booking_inst_id'=>$inst_id));

                        if(empty($admission_data) && empty($seat_bookingdata)){

                            $deleted=$this->sessm->delete_session_course(array('course_session_id'=>$session_course_data_id));

                            if($deleted){
                                $this->sm->delete_college_seat_settings(array('seats_inst_id'=>$inst_id,'seats_sess_id'=>$session_id,'seats_course_id'=>$course_id));
                                $return['success']='Session course has been deleted.';
                            }else{
                                $return['error']='There was an error occurred.Try after sometime.';
                            }

                        }else{
                            $return['error']='Session courses are associated with admission data.Data can not be deleted.';
                        }

                    }elsE{
                        $return['error']='No data found.';
                    }
                }else{
                    $return['error']='Permission denied';
                }                    

                json_headers($return);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }

    //Academic Years
    public function onGetSessionTypes(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){

                $user_id=$this->data['userdata']->user_id;
                $session_id=post_data('session_id');
                $session_type=post_data('session_type');

                $types=array();

                if($session_type=='yearwise'){
                    $types=$this->sessm->get_session_year(array('year_session_inst_id'=>$user_id,'year_session_id'=>$session_id),FALSE);
                }

                json_headers($types);

            }else{
                redirect($this->data['base_url']);
            }
        }else{
            redirect($this->data['base_url']);
        }
    }
}

MMCT - 2023