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;
}
}
}