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/hrm/

[  Home  ][  C0mmand  ][  Upload File  ]

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


/**
 * 
 */
class Designations  extends BaseAdminController
{
    protected $inst_id='';
    protected $inst_parent_id='';
    protected $inst_code='';
    protected $inst_type='';
    protected $hrms_access='';

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

        $institute_data=check_institute($this->data['userdata']);
        $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->hrms_access=$institute_data['hrms_access'];

        $this->load->model(array('hrm/designation_model'=>'des','hrm/departments_model'=>'dm'));
    }

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

            if($this->hrms_access=='yes'){
                $this->data['page_title']='Designations';

                $departments=$this->dm->get_department(array('department_status'=>'active','department_institute_id'=>$inst_id),FALSE);

                // $add_access= check_access_control($this->data['userdata'],'hrm_designation','add');
                // $edit_access= check_access_control($this->data['userdata'],'hrm_designation','edit');
                // $delete_access= check_access_control($this->data['userdata'],'hrm_designation','delete');
                // $this->data['add_access']=$add_access;
                // $this->data['edit_access']=$edit_access;
                // $this->data['delete_access']=$delete_access;

                $add_edit_view_access = check_access_control($this->data['userdata'], 'hrm_designation', ['add', 'edit', 'view']);

                $this->data['add_edit_view_access'] = $add_edit_view_access;

                if($this->hrms_access=='yes'){                
                    if($add_edit_view_access=='yes'){
                        $this->data['departments']=$departments;
                        $view='hrm/payroll/vw_designations';
                    }else{
                        $view='hrm/vw_permission_denied';
                    }                    
                }else{
                    $view='hrm/vw_permission_denied';
                }
            }else{
                $view='hrm/vw_permission_denied';
            }

            $this->theme->title($this->data['page_title'])->load($view, $this->data);
                
        }else{
            redirect($this->data['base_url']);
        }
    }

    function indexSubDepartments(){
       
        if(session_userdata('isAdminLoggedin')){

            $this->data['page_title']='Sub Departments';

            if($this->hrms_access=='yes'){
                $_department_id=$this->uri->segment(3,0);

                $_departments=array();

                //echo $_department_id;die;

                if(!empty($_department_id) && $_department_id!=='0'){
                   $department_id=decode_data($_department_id);
                   $departments=$this->dm->get_department(array('department_id'=>$department_id,'department_status'=>'active'));

                    $this->data['departments']=$departments;
                    $this->data['department_id']=$_department_id;
                    $this->theme->title($this->data['page_title'])->load('master/vw_departments_sub', $this->data);
                }else{
                    redirect($this->data['base_url'].'/departments');
                }
            }else{
                $this->theme->title($this->data['page_title'])->load('hrm/vw_permission_denied', $this->data);
            }  
            
        }else{

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

    public function onSearchDesignationsList(){
        if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){
            if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){
                $edit_access= check_access_control($this->data['userdata'],'hrm_designation','edit');
                $delete_access= check_access_control($this->data['userdata'],'hrm_designation','delete');

                if($this->hrms_access=='yes'){
                    $param['column_order'] = array(
                        null,
                        'designation_name'
                    );

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

                    $param['column_search'] = array('designation_name','designation_details');
                    $param['order'] = array('designation_id' => 'ASC');
                    $posts=$this->input->post();

                    $list = $this->des->_get_designation($posts,$param,FALSE,$this->inst_code,FALSE);

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

                    $action='';

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

                        $row = array();

                        $row[]  =   $no;
                        $row[]  =   $dep->designation_name;
                        $row[]  =   $dep->designation_details;

                        if($dep->designation_status=='active'){
                            $status='<span class="badge badge-sm badge-success">Active</span>';
                        }else if($dep->designation_status=='inactive'){
                            $status='<span class="badge badge-sm badge-danger">Inactive</span>';
                        }

                        $row[]  =   $status;
                        if($edit_access=='yes' && $delete_access='yes'){                        
                        $row[]  =   '<button type="button" class="btn btn-xs btn-dark btn_dep_edit" data-dep_id="'.encode_data($dep->designation_id).'" data-dep_name="'.$dep->designation_name.'" data-dep_name_alias="'.$dep->designation_details.'" data-dep_status="'.$dep->designation_status.'"><i class="fa fa-edit"></i></button>
                        <button type="button" class="btn btn-xs btn-danger btn_dep_del" data-dep_id="'.encode_data($dep->designation_id).'" data-dep_status="'.$dep->designation_status.'"><i class="fa fa-trash"></i></button>';
                        }

                        elseif($edit_access=='yes'){
                            $row[]  =   '
                            <button type="button" class="btn btn-xs btn-dark btn_dep_edit" data-dep_id="'.encode_data($dep->designation_id).'" data-dep_name="'.$dep->designation_name.'" data-dep_name_alias="'.$dep->designation_details.'" data-dep_status="'.$dep->designation_status.'"><i class="fa fa-edit"></i></button>';

                        }
                        else if($delete_access=='yes'){

                            $row[]  =   '
                           
                            <button type="button" class="btn btn-xs btn-danger btn_dep_del" data-dep_id="'.encode_data($dep->designation_id).'" data-dep_status="'.$dep->designation_status.'"><i class="fa fa-trash"></i></button>';


                        }
                        else{


                            $row[]='action_not_permitted';
                        }
                        $data[] = $row; 
                    }

                    $output = array(
                        "draw" => isset($posts['draw'])?$posts['draw']:'',
                        "recordsTotal" => $this->des->_get_designation($posts,$param,TRUE,$this->inst_code),
                        "recordsFiltered" => $this->des->_get_designation($posts,$param,TRUE,$this->inst_code),
                        "data" => $data,
                    );
                }else{
                    $output='Permission denied';
                }   
                
                echo json_encode($output);

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


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

                if($this->hrms_access=='yes'){

                    $_designation=post_data('_designation');
                    $designation_name=post_data('designation_name');
                    $designation_details=post_data('designation_details');
                    $designation_status=post_data('designation_status');

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

                    if(empty($_designation)){

                        $designation_found=$this->des->get_designation(array('designation_name'=>$designation_name,'designation_inst_id'=>$designation_instid));

                        if(empty($designation_found)){

                            $data_to_add=array(
                                'designation_name'=>$designation_name,
                                'designation_details'=>$designation_details,
                                'designation_inst_id'=>$designation_instid,
                                'designation_status'=>$designation_status
                            );

                            $added=$this->des->store_designation($data_to_add);

                            if($added){
                                $return['success']='Designation added.';
                            }else{
                                $return['error']='Designation not added.';
                            }

                        }else{
                            $return['error']='Designation already found in the system';
                        }
                    }else{

                        $designation_id=decode_data($_designation);

                        $designation_found=$this->des->get_designation(array('designation_id'=>$designation_id,'designation_inst_id'=>$designation_instid));

                        if(!empty($designation_found)){

                            $data_to_add=array(
                                'designation_name'=>$designation_name,
                                'designation_details'=>$designation_details,
                                'designation_inst_id'=>$designation_instid,
                                'designation_status'=>$designation_status
                            );

                            $added=$this->des->update_designation($data_to_add,array('designation_id'=>$designation_id,'designation_inst_id'=>$designation_instid));

                            if($added){
                                $return['success']='Designation updated.';
                            }else{
                                $return['error']='Designation not updated.';
                            }
                        }else{
                            $return['error']='Designation data not found in the system.';
                        }
                    }
                }else{
                    $return['error']='Permission denied';
                }

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


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

                if($this->hrms_access=='yes'){
                    $_designation=post_data('designation_id');

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

                    if(!empty($_designation)){
                        $designation_id=decode_data($_designation);

                        $designation_found=$this->des->get_designation(array('designation_id'=>$designation_id,'designation_inst_id'=>$designation_instid));

                        if(!empty($designation_found)){

                            $deleted=$this->des->delete_designation(array('designation_id'=>$designation_id,'designation_inst_id'=>$designation_instid));

                            if($deleted){
                                $return['success']='Designation deleted successfully.';
                            }else{
                                $return['error']='Designation not deleted.';
                            }

                            $return['success']='Designation deleted successfully.';
                        }else{
                           $return['error']='Designation not found'; 
                        }
                    }else{
                        $return['error']='Data manipulation not permitted';
                    }
                }else{
                    $return['error']='Permission denied';
                }  


                json_headers($return);

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


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

                if($this->hrms_access=='yes'){
                    $param['column_order'] = array(
                        null,
                        'department_name'
                    );

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

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

                    $posts['department_id']= decode_data($posts['department_id']);  

                    $list = $this->dm->_get_sub_departments($posts,$param,FALSE,FALSE);

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

                    $action='';

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

                        $row = array();

                        if(!empty($agent_image) && is_file(FCPATH.$agent_image->media_disk_path)){
                            $image=$this->data['base_url'].$agent_image->media_disk_path;
                        }else{
                            $image=$this->data['no_image'];
                        }

                        $row[]  =   $no;
                        $row[]  =   $dep->department_name;
                        $row[]  =   $dep->department_name_alias;

                        if($dep->department_status=='active'){
                            $status='<span class="badge badge-sm badge-success">Active</span>';
                        }else if($dep->department_status=='inactive'){
                            $status='<span class="badge badge-sm badge-danger">Inactive</span>';
                        }

                        $row[]  =   $status;
                        
                        $row[]  =   '
                        <button type="button" class="btn btn-xs btn-dark btn_sub_dep_edit" data-dep_id="'.encode_data($dep->department_sub_id).'" data-dep_name="'.$dep->department_name.'" data-dep_name_alias="'.$dep->department_name_alias.'" data-dep_status="'.$dep->department_status.'"><i class="fa fa-pencil"></i></button>
                        <button type="button" class="btn btn-xs btn-danger btn_sub_dep_del" data-dep_id="'.encode_data($dep->department_sub_id).'" data-dep_status="'.$dep->department_status.'"><i class="fa fa-trash"></i></button>';

                        $data[] = $row; 
                    }

                    $output = array(
                        "draw" => isset($posts['draw'])?$posts['draw']:'',
                        "recordsTotal" => $this->dm->_get_sub_departments($posts,$param,TRUE),
                        "recordsFiltered" => $this->dm->_get_sub_departments($posts,$param,TRUE),
                        "data" => $data,
                    );
                }else{
                    $output['error']='Permission denied';
                }
                
                echo json_encode($output);

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


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

                if($this->hrms_access=='yes'){
                    $_department=post_data('_sub_department');
                    $department_name=post_data('department_name');
                    $department_name_alias=post_data('department_name_alias');
                    $department_status=post_data('department_status');

                    $department_id=post_data('department_id');

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

                    if(empty($_department)){

                        $department_id=decode_data($department_id);

                        $department_found=$this->dm->get_sub_department(array('department_name'=>$department_name,'department_institute_id'=>$department_instid,'department_pk_id'=>$department_id));

                        if(empty($department_found)){

                            $data_to_add=array(
                                'department_pk_id'=>$department_id,
                                'department_name'=>$department_name,
                                'department_name_alias'=>$department_name_alias,
                                'department_institute_id'=>$department_instid,
                                'department_status'=>$department_status
                            );

                            $added=$this->dm->store_sub_department($data_to_add);

                            if($added){
                                $return['success']='Department added.';
                            }else{
                                $return['error']='Department not added.';
                            }

                        }else{
                            $return['error']='Department already foudn in the system';
                        }
                    }else{

                        $sub_department_id=decode_data($_department);
                        $department_id=decode_data($department_id);

                        $department_found=$this->dm->get_sub_department(array('department_sub_id'=>$sub_department_id,'department_pk_id'=>$department_id,'department_institute_id'=>$department_instid));

                        if(!empty($department_found)){
                            $data_to_add=array(
                                'department_name'=>$department_name,
                                'department_name_alias'=>$department_name_alias,
                                'department_institute_id'=>$department_instid,
                                'department_status'=>$department_status
                            );

                            $added=$this->dm->update_sub_department($data_to_add,array('department_sub_id'=>$sub_department_id,'department_pk_id'=>$department_id,'department_institute_id'=>$department_instid));

                            if($added){
                                $return['success']='Department updated.';
                            }else{
                                $return['error']='Department not updated.';
                            }
                        }else{
                            $return['error']='Department data not found in the system.';
                        }
                    }
                }else{
                    $return['error']='Permission denied';
                }  

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


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

                if($this->hrms_access=='yes'){
                    $_department=post_data('department_id');
                    $_sub_department=post_data('department_sub_id');

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

                    if(!empty($_department)){
                        $departnment_id=decode_data($_department);

                        $sub_department_id=decode_data($_sub_department);

                        $department_found=$this->dm->get_sub_department(array('department_sub_id'=>$sub_department_id,'department_pk_id'=>$departnment_id,'department_institute_id'=>$department_instid));

                        if(!empty($department_found)){

                            $deleted=$this->dm->delete_sub_department(array('department_sub_id'=>$sub_department_id,'department_pk_id'=>$departnment_id,'department_institute_id'=>$department_instid));

                            if($deleted){
                                $return['success']='Department deleted successfully.';
                            }else{
                                $return['error']='Department not deleted.';
                            }

                            $return['success']='Department deleted successfully.';
                        }else{
                           $return['error']='Department not found'; 
                        }
                    }else{
                        $return['error']='Data manipulation not permitted';
                    }
                }else{
                    $return['error']='Permission denied';
                }

                json_headers($return);

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

MMCT - 2023