/** * get user avalible menu */ public static function get_avalible_menu() { //all menus $menus = Mymenu::instance()->get_level_menus(); //账号的资源列表 $action_ids = role::get_action_ids(); //无权限的菜单删除 foreach ($menus as $menus_key => $menus_value) { $sub_menu = $menus_value['children']; foreach ($sub_menu as $key => $value) { //if ($value ['action_id'] > 0){ if (!in_array($value['action_id'], $action_ids)) { unset($menus[$menus_key]['children'][$key]); } //} } } return $menus; }
/** * 设定菜单的排序 */ public function set_order() { //初始化返回数组 $return_struct = array('status' => 0, 'code' => 501, 'msg' => 'Not Implemented', 'content' => array()); $request_data = $this->input->get(); $id = isset($request_data['id']) ? $request_data['id'] : ''; $order = isset($request_data['order']) ? $request_data['order'] : ''; if (empty($id) || empty($order) && $order != 0) { $return_struct['msg'] = Kohana::lang('o_global.bad_request'); exit(json_encode($return_struct)); } if (!is_numeric($order) || $order < 0) { $return_struct['msg'] = Kohana::lang('o_global.position_rule'); exit(json_encode($return_struct)); } if (Mymenu::instance()->set_order($id, $order)) { $return_struct = array('status' => 1, 'code' => 200, 'msg' => Kohana::lang('o_global.position_success'), 'content' => array('order' => $order)); } else { $return_struct['msg'] = Kohana::lang('o_global.position_error'); } exit(json_encode($return_struct)); }