Пример #1
0
 /**
  * 菜单管理
  */
 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>&nbsp;&nbsp;';
                 $t['target'] = '';
             } else {
                 $t['option'] .= '<a class="add" style="background:none" href="javascript:;"></a>&nbsp;&nbsp;';
                 $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>&nbsp;&nbsp;';
                 $t['name'] = '<a title="' . lang('edit') . '" href="' . dr_dialog_url(dr_url('member/menu/edit', array('id' => $t['id'])), 'edit') . '">' . $t['name'] . '</a>&nbsp;&nbsp;';
             }
             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>&nbsp;&nbsp;';
             }
             $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' />&nbsp;</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');
 }
Пример #2
0
 /**
  * 后台操作界面中的顶部导航菜单
  *
  * @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);
 }
Пример #3
0
 /**
  * 规格属性
  */
 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('&nbsp;&nbsp;&nbsp;│ ', '&nbsp;&nbsp;&nbsp;├─ ', '&nbsp;&nbsp;&nbsp;└─ ');
     $this->dtree->nbsp = '&nbsp;&nbsp;&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>&nbsp;&nbsp;';
             }
             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>&nbsp;&nbsp;';
             }
             $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' />&nbsp;</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'>&nbsp;</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');
 }