/** * 菜单管理 */ public function index() { if (IS_POST) { $ids = $this->input->post('ids'); if (!$ids) { exit(dr_json(0, lang('013'))); } if ($this->input->post('action') == 'order') { $_data = $this->input->post('data'); foreach ($ids as $id) { $this->db->where('id', $id)->update('member_menu', array('displayorder' => (int) $_data[$id]['displayorder'])); } $this->member_menu_model->cache(); $this->system_log('排序会员中心菜单【#' . @implode(',', $ids) . '】'); // 记录日志 exit(dr_json(1, lang('339'))); } else { $this->db->where_in('id', $ids)->delete('member_menu'); $this->member_menu_model->cache(); $this->system_log('删除会员中心菜单【#' . @implode(',', $ids) . '】'); // 记录日志 exit(dr_json(1, lang('339'))); } } $this->load->library('dtree'); $this->dtree->icon = array(' │ ', ' ├─ ', ' └─ '); $this->dtree->nbsp = ' '; $left = $this->member_menu_model->get_left_id(); $data = $this->db->order_by('displayorder ASC,id ASC')->get('member_menu')->result_array(); $tree = array(); if ($data) { foreach ($data as $t) { $t['option'] = ''; if ($this->is_auth('member/admin/menu/add') && !@in_array($t['pid'], $left)) { $t['option'] .= '<a class="add" title="' . lang('add') . '" href="' . dr_dialog_url(dr_url('member/menu/add', array('pid' => $t['id'])), 'add') . '"></a> '; $t['target'] = ''; } else { $t['option'] .= '<a class="add" style="background:none" href="javascript:;"></a> '; $t['target'] = '<img src="' . SITE_URL . 'dayrui/statics/images/' . $t['target'] . '.gif" />'; } if ($this->is_auth('member/admin/menu/edit')) { $t['hidden'] = '<a href="javascript:;" onClick="return dr_dialog_set(\'' . ($t['hidden'] ? lang('html-161') : lang('html-162')) . '\',\'' . dr_url('member/menu/hidden', array('id' => $t['id'])) . '\');"><img src="/dayrui/statics/images/' . ($t['hidden'] ? 0 : 1) . '.gif"></a>'; } else { $t['hidden'] = '<img src="/dayrui/statics/images/' . ($t['hidden'] ? 0 : 1) . '.gif">'; } if ($this->is_auth('member/admin/menu/edit')) { $t['option'] .= '<a class="edit" title="' . lang('edit') . '" href="' . dr_dialog_url(dr_url('member/menu/edit', array('id' => $t['id'])), 'edit') . '"></a> '; $t['name'] = '<a title="' . lang('edit') . '" href="' . dr_dialog_url(dr_url('member/menu/edit', array('id' => $t['id'])), 'edit') . '">' . $t['name'] . '</a> '; } if ($this->is_auth('member/admin/menu/del')) { $t['option'] .= '<a class="del" title="' . lang('del') . '" href="javascript:;" onClick="return dr_dialog_del(\'' . lang('015') . '\',\'' . dr_url('member/menu/del', array('id' => $t['id'])) . '\');"></a> '; } $tree[$t['id']] = $t; } } $str = "<tr>\n\t\t\t\t\t<td align='right'><input name='ids[]' type='checkbox' class='dr_select' value='\$id' /> </td>\n\t\t\t\t\t<td align='center'><input class='input-text displayorder' type='text' name='data[\$id][displayorder]' value='\$displayorder' /></td>\n\t\t\t\t\t<td align='center'>\$hidden</td>\n\t\t\t\t\t<td>\$spacer\$name</td>\n\t\t\t\t\t<td align='center'>\$target</td>\n\t\t\t\t\t<td align='left'>\$option</td>\n\t\t\t\t</tr>"; $this->dtree->init($tree); $this->template->assign(array('list' => $this->dtree->get_tree(0, $str))); $this->template->display('menu_index.html'); }
/** * 后台操作界面中的顶部导航菜单 * * @param array $menu * @return string */ protected function get_menu($menu) { if (!$menu) { return NULL; } $_i = 0; $_str = ''; $_uri = $this->duri->uri(1); // 当前uri $_mark = TRUE; foreach ($menu as $name => $uri) { $uri = trim($uri, '/'); if (!$name && !$uri) { continue; } $class = ''; if (strpos($uri, '_js') !== FALSE) { $uri = substr($uri, 0, -3); $url = dr_dialog_url($this->duri->uri2url($uri), 'add'); } else { $url = $this->duri->uri2url($uri); $class = ' class="onloading"'; } if (!$this->is_auth($uri)) { continue; } $mark = $_i == 0 ? '{MARK}' : ''; // 判断选中 if ($this->get_menu_calss($menu, $uri, $_uri)) { $_mark = FALSE; $class = ' class="onloading on"'; } $_str .= '<a href="' . $url . '" ' . $class . $mark . '><em>' . $name . '</em></a><span>|</span>'; $_i++; } if ($_mark && $this->router->method == 'edit') { $_str .= '<a href="javascript:;" class="on"><em>' . lang('edit') . '</em></a><span>|</span>'; $_mark = FALSE; } return $_mark ? str_replace('{MARK}', ' class="on"', $_str) : str_replace('{MARK}', '', $_str); }
/** * 规格属性 */ public function data() { $fid = (int) $this->input->get('fid'); if (IS_POST && $this->input->post('action')) { $ids = $this->input->post('ids', TRUE); if (!$ids) { exit(dr_json(0, lang('013'))); } if ($this->input->post('action') == 'del') { if (!$this->is_auth(APP_DIR . 'admin/format/del')) { exit(dr_json(0, lang('160'))); } $this->link->where('fid', $fid)->where_in('id', $ids)->delete($this->format_model->dataname); $this->format_model->cache(); exit(dr_json(1, lang('000'))); } else { if (!$this->is_auth(APP_DIR . 'admin/format/edit')) { exit(dr_json(0, lang('160'))); } $_data = $this->input->post('data'); foreach ($ids as $id) { $this->link->where('id', $id)->update($this->format_model->dataname, $_data[$id]); } $this->format_model->cache(); exit(dr_json(1, lang('000'))); } } $this->load->library('dtree'); $this->dtree->icon = array(' │ ', ' ├─ ', ' └─ '); $this->dtree->nbsp = ' '; $data = $this->format_model->get_data($fid); $tree = array(); if ($data) { foreach ($data as $t) { $t['option'] = ''; if ($this->is_auth(APP_DIR . '/admin/format/adddata') && $t['pid'] == 0) { $t['option'] .= '<a class="add" title="' . lang('add') . '" href="' . dr_dialog_url(dr_url(APP_DIR . '/format/adddata', array('fid' => $fid, 'pid' => $t['id'])), 'add') . '"></a> '; } if ($this->is_auth(APP_DIR . '/admin/format/editdata')) { $t['option'] .= '<a class="edit" title="' . lang('edit') . '" href="' . dr_dialog_url(dr_url(APP_DIR . '/format/editdata', array('fid' => $fid, 'id' => $t['id'])), 'edit') . '"></a> '; } $tree[$t['id']] = $t; } } $str = "<tr>\n\t\t\t\t\t<td align='right'><input name='ids[]' type='checkbox' class='dr_select' value='\$id' /> </td>\n\t\t\t\t\t<td align='center'><input class='input-text displayorder' type='text' name='data[\$id][displayorder]' value='\$displayorder' /></td>\n\t\t\t\t\t<td align='left'> </td>\n\t\t\t\t\t<td>\$spacer\$name</td>\n\t\t\t\t\t<td align='left'>\$option</td>\n\t\t\t\t</tr>"; $this->dtree->init($tree); $this->template->assign(array('fid' => $fid, 'list' => $this->dtree->get_tree(0, $str), 'menu' => $this->get_menu(array(lang('back') => APP_DIR . '/admin/format/index', lang('mod-43') => APP_DIR . '/admin/format/data/fid/' . $fid, lang('001') => APP_DIR . '/admin/format/cache')))); $this->template->display('format_data.html'); }