public function index() { $sort = input("request.sort", 'trim', 'ordid'); $order = input("request.order", 'trim', 'ASC'); $tree = new \Common\ORG\Tree(); $tree->icon = array('│ ', '├─ ', '└─ '); $tree->nbsp = ' '; $result = $this->_mod->order($sort . ' ' . $order)->select(); $array = array(); foreach ($result as $r) { $r['str_img'] = $r['img'] ? '<div class="img_border"><img src="' . attach($r['img'], 'article_cate') . '" width="26" height="26" class="J_preview" data-bimg="' . attach($r['img'], 'article_cate') . '"/></div>' : ''; $r['str_status'] = '<img data-tdtype="toggle" data-id="' . $r['id'] . '" data-field="status" data-value="' . $r['status'] . '" src="__STATIC__/images/admin/toggle_' . ($r['status'] == 0 ? 'disabled' : 'enabled') . '.gif" />'; $r['str_manage'] = '<a href="javascript:;" class="J_showdialog" data-uri="' . U('article_cate/add', array('pid' => $r['id'])) . '" data-title="' . L('add_article_cate') . '" data-id="add" data-width="500" data-height="360">' . L('add_article_subcate') . '</a> | <a href="javascript:;" class="J_showdialog" data-uri="' . U('article_cate/edit', array('id' => $r['id'])) . '" data-title="' . L('edit') . ' - ' . $r['name'] . '" data-id="edit" data-width="500" data-height="360">' . L('edit') . '</a> | <a href="javascript:;" data-acttype="ajax" class="J_confirmurl" data-uri="' . U('article_cate/delete', array('id' => $r['id'])) . '" data-msg="' . sprintf(L('confirm_delete_one'), $r['name']) . '">' . L('delete') . '</a>'; $r['parentid_node'] = $r['pid'] ? ' class="child-of-node-' . $r['pid'] . '"' : ''; $r['cate_type'] = $r['type'] ? '<span class="blue">' . L('article_cate_type_' . $r['type']) . '</span>' : L('article_cate_type_' . $r['type']); $array[] = $r; } $str = "<tr id='node-\$id' \$parentid_node>\n <td align='center'><input type='checkbox' value='\$id' class='J_checkitem'></td>\n <td>\$spacer<span data-tdtype='edit' data-field='name' data-id='\$id' class='tdedit'>\$name</span></td>\n <td align='center'>\$id</td>\n <td align='center'>\$cate_type</td>\n <td align='center'>\$str_img</td>\n <td align='center'><span data-tdtype='edit' data-field='ordid' data-id='\$id' class='tdedit'>\$ordid</span></td>\n\n <td align='center'>\$str_status</td>\n <td align='center'>\$str_manage</td>\n </tr>"; $tree->init($array); $list = $tree->get_tree(0, $str); $this->assign('list', $list); //bigmenu (标题,地址,弹窗ID,宽,高) $big_menu = array('title' => L('add_article_cate'), 'iframe' => U('article_cate/add'), 'id' => 'add', 'width' => '500', 'height' => '360'); $this->assign('big_menu', $big_menu); $this->assign('list_table', true); $this->display(); }
public function _before_edit() { $id = input('get.id', 'intval'); $info = $this->_mod->find($id); $this->assign('info', $info); $tree = new \Common\ORG\Tree(); $result = $this->_mod->select(); $array = array(); foreach ($result as $r) { $r['selected'] = $r['id'] == $info['pid'] ? 'selected' : ''; $array[] = $r; } $str = "<option value='\$id' \$selected>\$spacer \$name</option>"; $tree->init($array); $select_menus = $tree->get_tree(0, $str); $this->assign('select_menus', $select_menus); }
public function auth() { $menu_mod = D('menu'); $auth_mod = D('admin_auth'); if (isset($_POST['dosubmit'])) { $id = intval($_POST['id']); //清空权限 $auth_mod->where(array('role_id' => $id))->delete(); if (is_array($_POST['menu_id']) && count($_POST['menu_id']) > 0) { foreach ($_POST['menu_id'] as $menu_id) { $auth_mod->add(array('role_id' => $id, 'menu_id' => $menu_id)); } } $this->success(L('operation_success')); } else { $id = input('get.id', 'intval'); $tree = new \Common\ORG\Tree(); $tree->icon = array('│ ', '├─ ', '└─ '); $tree->nbsp = ' '; $result = $menu_mod->order('ordid')->select(); //获取被操作角色权限 $role_data = $this->_mod->relation('role_priv')->find($id); $priv_ids = array(); foreach ($role_data['role_priv'] as $val) { $priv_ids[] = $val['id']; } foreach ($result as $k => $v) { $result[$k]['level'] = $menu_mod->get_level($v['id'], $result); $result[$k]['checked'] = in_array($v['id'], $priv_ids) ? ' checked' : ''; $result[$k]['parentid_node'] = $v['pid'] ? ' class="child-of-node-' . $v['pid'] . '"' : ''; } $str = "<tr id='node-\$id' \$parentid_node>" . "<td style='padding-left:10px;'>\$spacer<input type='checkbox' name='menu_id[]' value='\$id' class='J_checkitem' level='\$level' \$checked> \$name</td>\n </tr>"; $tree->init($result); $menu_list = $tree->get_tree(0, $str); $this->assign('list', $menu_list); $this->assign('role', $role_data); $this->display(); } }
/** * 单页管理 */ public function page() { $prefix = C('DB_PREFIX'); $sort = I("request.sort", 'ordid', 'trim'); $order = I("request.order", 'DESC', 'trim'); $tree = new \Common\ORG\Tree(); $tree->icon = array(' │ ', ' ├─ ', ' └─ '); $tree->nbsp = ' '; $result = $this->_cate_mod->field('id,pid,name,last_time')->join('__article_page__ ON __article_page__.cate_id =__article_cate__.id', 'LEFT')->where(array('type' => 1))->order($sort . ' ' . $order)->select(); $array = array(); foreach ($result as $r) { //是否有下一级 if ($this->_cate_mod->where(array('pid' => $r['id']))->count('id')) { $r['str_manage'] = ''; } else { $r['str_manage'] = '<a href="' . U('article/page_edit', array('cate_id' => $r['id'])) . '">' . L('edit') . '</a>'; } $r['parentid_node'] = $r['pid'] ? ' class="child-of-node-' . $r['pid'] . '"' : ''; $r['last_time'] = $r['last_time'] ? date('Y-m-d H:i:s', $r['last_time']) : '-'; $array[] = $r; } $str = "<tr id='node-\$id' \$parentid_node>\n <td align='center'>\$id</td>\n <td>\$spacer\$name</td>\n <td align='center'>\$last_time</td>\n <td align='center'>\$str_manage</td>\n </tr>"; $tree->init($array); $list = $tree->get_tree(0, $str); $this->assign('list', $list); $this->assign('list_table', true); $this->display(); }