Esempio n. 1
0
 /**
  * 编辑菜单
  */
 public function edit()
 {
     parent::check_privilege();
     $menu_id = $this->uri->segment(3);
     $menu_id = !empty($menu_id) ? $menu_id : $_POST['menu_id'];
     /*
      * 提交编辑后处理
      */
     $data['error_code'] = 0;
     if (isset($_POST['submit']) && $_POST['submit'] == 'edit') {
         $this->form_validation->set_rules('menu_title', 'lang:menu_title', 'trim|required|min_length[2]|max_length[40]|xss_clean');
         $this->form_validation->set_rules('menu_url', 'lang:menu_url', 'trim|required|xss_clean');
         $this->form_validation->set_rules('display_order', 'lang:display_order', 'trim|required|integer');
         if ($this->form_validation->run() == FALSE) {
             $data['error_code'] = 'validation_error';
         } else {
             $data['error_code'] = 0;
             if ($this->input->post('parent_id') == $menu_id) {
                 $data['error_code'] = 2;
             } else {
                 $menu_level = $this->menu->get_level_by_parant_id($this->input->post('parent_id'));
                 $data = array('menu_level' => $menu_level, 'parent_id' => $this->input->post('parent_id'), 'menu_title' => $this->input->post('menu_title'), 'menu_url' => $this->input->post('menu_url'), 'menu_icon' => $this->input->post('menu_icon'), 'display_order' => $this->input->post('display_order'), 'status' => $this->input->post('status'));
                 $this->menu->update($data, $menu_id);
                 redirect(site_url('menu/index'));
             }
         }
     }
     $record = $this->menu->get_record_by_id($menu_id);
     if (!$menu_id || !$record) {
         show_404();
     } else {
         $data['record'] = $record;
     }
     $menu_record = $this->menu->get_total_record();
     $data['menu_record_tree'] = get_menu_record_tree($menu_record['datalist']);
     $data['parent_id'] = $this->menu->get_parent_id($menu_id);
     //echo $data['parent_id'];exit;
     $data["cur_nav"] = "menu_edit";
     $this->layout->view("menu/edit", $data);
 }
Esempio n. 2
0
function get_menu_record_tree($array, $parent_id = 0, $level = 1)
{
    $repeat = '     ';
    $str_repeat = '';
    for ($i = 0; $i < $level; $i++) {
        $str_repeat .= $repeat;
    }
    $str_repeat = $str_repeat . '&rarr;';
    $newarray = array();
    $temparray = array();
    foreach ((array) $array as $v) {
        if ($v['parent_id'] == $parent_id and $v['menu_level'] == $level) {
            $v['str_repeat'] = $str_repeat;
            $newarray[] = $v;
            $parent_id_v = $v['menu_id'];
            $level_v = $level + 1;
            $temparray = get_menu_record_tree($array, $parent_id_v, $level_v);
            if ($temparray) {
                $newarray = array_merge($newarray, $temparray);
            }
        }
    }
    return $newarray;
}
Esempio n. 3
0
 /**
  * 编辑权限节点
  */
 public function edit()
 {
     parent::check_privilege();
     $id = $this->uri->segment(3);
     $id = !empty($id) ? $id : $_POST['privilege_id'];
     /*
      * 提交编辑后处理
      */
     $data['error_code'] = 0;
     if (isset($_POST['submit']) && $_POST['submit'] == 'edit') {
         $this->form_validation->set_rules('privilege_title', 'lang:privilege_title', 'trim|required|xss_clean');
         $this->form_validation->set_rules('action', 'lang:action', 'trim|required');
         $this->form_validation->set_rules('display_order', 'lang:display_order', 'trim|required|integer');
         if ($this->form_validation->run() == FALSE) {
             $data['error_code'] = 'validation_error';
         } else {
             $data['error_code'] = 0;
             $data = array('privilege_title' => $this->input->post('privilege_title'), 'action' => $this->input->post('action'), 'menu_id' => $this->input->post('menu_id'), 'display_order' => $this->input->post('display_order'));
             $this->privilege->update($data, $id);
             redirect(site_url('privilege/index'));
         }
     }
     $record = $this->privilege->get_record_by_id($id);
     if (!$id || !$record) {
         show_404();
     } else {
         $data['record'] = $record;
     }
     $menu_record = $this->menu->get_total_record();
     $data['menu_record_tree'] = get_menu_record_tree($menu_record['datalist']);
     $this->layout->view("privilege/edit", $data);
 }