HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //var/www/html/qcr24/app/application/helpers/menu_permission_helper.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
	
	function getSidebarMenu($role_id = ''){
        $where = array('master_menu.parent_id'=> 0);
        if($role_id != 1){
        //    $where['user_permission.role_id'] = $role_id;
           $where['master_menu.is_active'] = 1;
        }
        $result = getMenuObject($where, $role_id, false);
        // echo '<pre>'; print_r($result); die;
        $CI =& get_instance();
        // echo $CI->db->last_query(); die;
        $menu_array = array();
        if(!empty($result)){
            foreach($result as $index => $res){
                $temp = $res;
                $where_submenu = array('master_menu.parent_id'=> $res['menu_id']);
                if($role_id != 1){
                    $where_submenu['user_permission.role_id'] = $role_id;
                    $where_submenu['user_permission.status'] = 1;
                 }
                $temp['child_menu'] = getMenuObject($where_submenu, $role_id, true);
                // if(count($temp['child_menu']) >0 ){
                    $menu_array[] = $temp;
                // }
            }
        }
        return $menu_array;
    }

    function getMenuObject($where = array(), $role_id = '', $check_user_permission){
        $CI =& get_instance();
        // $CI->load->model('Mmenu');
        // $result = $CI->Mmenu->get_menu_by_condition(array('master_menu.parent_id'=> 0));
        $CI->db->select('master_menu.*');
        $CI->db->from('master_menu');
        if($role_id != 1 && $check_user_permission){
            $CI->db->join('user_permission', 'user_permission.menu_id = master_menu.menu_id', 'LEFT');
        }
        if(!empty($where)){
            $CI->db->where($where);
        }
        $CI->db->where('master_menu.is_active', 1);
		$CI->db->order_by('master_menu.menu_rank', 'ASC');
        return $result=$CI->db->get()->result_array();
    }

    function check_user_permission($menu_id, $permission_for){
        $CI =& get_instance();
        if($CI->admin_session_data['role_id'] == ROLE_SUPERADMIN){
            return true;
        }else{
            $result = $CI->db->select('permission_id')
                                ->from('user_permission')
                                ->where('role_id', $CI->admin_session_data['role_id'])
                                ->where('menu_id', $menu_id)
                                ->where('status', 1)
                                ->where($permission_for, 1)
                                ->get()->num_rows();
            if($result >0 ){
                return true;
            }else{
                return false;
            }
        }
    }