同步操作将从 想天皮克斯/OpenCenter V3 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php// +----------------------------------------------------------------------// | OneThink [ WE CAN DO IT JUST THINK IT ]// +----------------------------------------------------------------------// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.// +----------------------------------------------------------------------// | Author: huajie <banhuajie@163.com>// +----------------------------------------------------------------------namespace Admin\Controller;use Admin\Model\AuthGroupModel;/*** 模型管理控制器* @author huajie <banhuajie@163.com>*/class ModelController extends AdminController {public function _initialize(){parent::_initialize();$this->getMenu();}/*** 显示左边菜单,进行权限控制* @author huajie <banhuajie@163.com>*/protected function getMenu(){//获取动态分类$cate_auth = AuthGroupModel::getAuthCategories(UID); //获取当前用户所有的内容权限节点// dump($cate_auth);exit;$cate_auth = $cate_auth == null ? array() : $cate_auth;$cate = M('Category')->where(array('status' => 1))->field('id,title,pid,allow_publish')->order('pid,sort')->select();//没有权限的分类则不显示if (!IS_ROOT) {foreach ($cate as $key => $value) {if (!in_array($value['id'], $cate_auth)) {unset($cate[$key]);}}}$cate = list_to_tree($cate); //生成分类树//获取分类id$cate_id = I('param.cate_id');$this->cate_id = $cate_id;//是否展开分类$hide_cate = true;//生成每个分类的urlforeach ($cate as $key => &$value) {$value['url'] = 'Article/index?cate_id=' . $value['id'];if ($cate_id == $value['id'] && $hide_cate) {$value['current'] = true;} else {$value['current'] = false;}if (!empty($value['_child'])) {$is_child = false;foreach ($value['_child'] as $ka => &$va) {$va['url'] = 'Article/index?cate_id=' . $va['id'];if (!empty($va['_child'])) {foreach ($va['_child'] as $k => &$v) {$v['url'] = 'Article/index?cate_id=' . $v['id'];$v['pid'] = $va['id'];$is_child = $v['id'] == $cate_id ? true : false;}}//展开子分类的父分类if ($va['id'] == $cate_id || $is_child) {$is_child = false;if ($hide_cate) {$value['current'] = true;$va['current'] = true;} else {$value['current'] = false;$va['current'] = false;}} else {$va['current'] = false;}}}}$this->assign('nodes', $cate);$this->assign('cate_id', $this->cate_id);//获取面包屑信息$nav = get_parent_category($cate_id);$this->assign('rightNav', $nav);//获取回收站权限$show_recycle = $this->checkRule('Admin/article/recycle');$this->assign('show_recycle', IS_ROOT || $show_recycle);//获取草稿箱权限$this->assign('show_draftbox', C('OPEN_DRAFTBOX'));}/*** 检测是否是需要动态判断的权限* @return boolean|null* 返回true则表示当前访问有权限* 返回false则表示当前访问无权限* 返回null,则会进入checkRule根据节点授权判断权限** @author 朱亚杰 <xcoolcc@gmail.com>*/protected function checkDynamic(){if(IS_ROOT){return true;//管理员允许访问任何页面}//模型权限业务检查逻辑////提供的工具方法://$AUTH_GROUP = D('AuthGroup');// $AUTH_GROUP->checkModelId($mid); //检查模型id列表是否全部存在// AuthGroupModel::getModelOfGroup($gid);//获取某个用户组拥有权限的模型id$model_ids = AuthGroupModel::getAuthModels(UID);$id = I('id');switch(strtolower(ACTION_NAME)){case 'edit': //编辑case 'update': //更新if ( in_array($id,$model_ids) ) {return true;}else{return false;}case 'setstatus': //更改状态if ( is_array($id) && array_intersect($id,(array)$model_ids)==$id ) {return true;}elseif( in_array($id,$model_ids) ){return true;}else{return false;}}return null;//不明,需checkRule}/*** 模型管理首页* @author huajie <banhuajie@163.com>*/public function index(){$map = array('status'=>array('gt',-1));$list = $this->lists('Model',$map);int_to_string($list);// 记录当前列表页的cookieCookie('__forward__',$_SERVER['REQUEST_URI']);$this->assign('_list', $list);$this->meta_title = '模型管理';$this->getMenu();$this->display();}/*** 新增页面初始化* @author huajie <banhuajie@163.com>*/public function add(){//获取所有的模型$models = M('Model')->where(array('extend'=>0))->field('id,title')->select();$this->assign('models', $models);$this->meta_title = '新增模型';$this->display();}/*** 编辑页面初始化* @author huajie <banhuajie@163.com>*/public function edit(){$id = I('get.id','');if(empty($id)){$this->error('参数不能为空!');}/*获取一条记录的详细数据*/$Model = M('Model');$data = $Model->field(true)->find($id);if(!$data){$this->error($Model->getError());}$fields = M('Attribute')->where(array('model_id'=>$data['id']))->field('id,name,title,is_show')->select();//是否继承了其他模型if($data['extend'] != 0){$extend_fields = M('Attribute')->where(array('model_id'=>$data['extend']))->field('id,name,title,is_show')->select();$fields = array_merge($fields, $extend_fields);}/* 获取模型排序字段 */$field_sort = json_decode($data['field_sort'], true);if(!empty($field_sort)){/* 对字段数组重新整理 */$fields_f = array();foreach($fields as $v){$fields_f[$v['id']] = $v;}$fields = array();foreach($field_sort as $key => $groups){foreach($groups as $group){$fields[$fields_f[$group]['id']] = array('id' => $fields_f[$group]['id'],'name' => $fields_f[$group]['name'],'title' => $fields_f[$group]['title'],'is_show' => $fields_f[$group]['is_show'],'group' => $key);}}/* 对新增字段进行处理 */$new_fields = array_diff_key($fields_f,$fields);foreach ($new_fields as $value){if($value['is_show'] == 1){array_unshift($fields, $value);}}}$this->assign('fields', $fields);$this->assign('info', $data);$this->meta_title = '编辑模型';$this->display();}/*** 删除一条数据* @author huajie <banhuajie@163.com>*/public function del(){$ids = I('get.ids');empty($ids) && $this->error('参数不能为空!');$ids = explode(',', $ids);foreach ($ids as $value){$res = D('Model')->del($value);if(!$res){break;}}if(!$res){$this->error(D('Model')->getError());}else{$this->success('删除模型成功!');}}/*** 更新一条数据* @author huajie <banhuajie@163.com>*/public function update(){$res = D('Model')->update();if(!$res){$this->error(D('Model')->getError());}else{$this->success($res['id']?'更新成功':'新增成功', Cookie('__forward__'));}}/*** 生成一个模型* @author huajie <banhuajie@163.com>*/public function generate(){if(!IS_POST){//获取所有的数据表$tables = D('Model')->getTables();$this->assign('tables', $tables);$this->meta_title = '生成模型';$this->display();}else{$table = I('post.table');empty($table) && $this->error('请选择要生成的数据表!');$res = D('Model')->generate($table);if($res){$this->success('生成模型成功!', U('index'));}else{$this->error(D('Model')->getError());}}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。