/** * 公用入口文件 */ public function entrance() { $classId = intval(I('get.ctgClassID')); //获取栏目的国家id //模型-栏目数据 $modData = get_mod_data(); $gid_map = C('GID_CLASS_MAP'); $cityID = session('CityID'); $cityGid = get_city_gid(); $gid = $cityGid[$cityID]; if ($modData[$classId]['mark'] != $gid_map[$gid]) { $this->redirect('Home/Class/index'); } //获取文件夹名称 $tplInfo = M('CtgClass')->field('level,index_tpl,list_tpl')->where(array('ctgClassID' => $classId))->find(); if ($tplInfo['level'] == 1) { $this->index($classId); $this->theme('bootstrap')->display($tplInfo['index_tpl'] . '/index'); } else { $this->lists($classId); $this->theme('bootstrap')->display($tplInfo['list_tpl']); } }
/** * @Author: 段涛 * @分类信息分类导航 * @return $return 表示是否返回数据,true表示返回数据不赋值 * @function name classMenu */ protected function classMenu($return = false) { //输出导航 $menuList = S('menuList'); if (empty($menuList)) { $menuListArr = M('sq_class')->field('id, name')->select(); foreach ($menuListArr as $k => $v) { $menuList[] = ['name' => $v['name'], 'url' => U('Home/Sq/Sqlist/', ['id' => $v['id']]), 'id' => $v['id']]; } $menuList[] = ['name' => '留学生招聘', 'url' => U('/Home/Student/index', ['id' => 'student']), 'id' => 'student']; S('menuList', $menuList, 24 * 60 * 60); } $menuArr = S('menu'); if (empty($menuArr)) { $allData = get_mod_data(); foreach ($allData as $k => $v) { $tmp['ctgClassID'] = $v['ctgClassID']; $tmp['fctgClassID'] = $v['fctgClassID']; $tmp['ctgClassName'] = $v['ctgClassName']; $tmp['index_tpl'] = $v['index_tpl']; $classGidArr[$v['mark']][$v['ctgClassID']] = $tmp; } foreach ($classGidArr as $k => $v) { $menuArr[$k] = list_to_tree($v, 'ctgClassID', 'fctgClassID', 'son'); } S('menu', $menuArr, 24 * 60 * 60); } $gid_map = C('GID_CLASS_MAP'); $gid = session('gid'); if ($return == false) { $this->assign('menuList', $menuList); $this->assign('classList', $menuArr[$gid_map[$gid]]); } else { return $menuArr[$gid_map[$gid]]; } }
/** * 显示编辑页面 * @author liuxiaolin <*****@*****.**> * @param int $dataID 信息的ID编号 * @param int $bool 1表示复制 * @return void */ public function edit($dataID, $bool = 0) { $dataID = (int) $dataID; if (empty($dataID)) { $errorTpl = '信息ID不正确'; $this->error($errorTpl); } //检测新注册用户 $checkUserInfo = $this->checkNewUserPost(); if ($checkUserInfo['status'] == false) { $this->error($checkUserInfo['msg'], '', 10); } //检测发贴是否超过限制 $check = $this->checkPostTimes(); if ($check['status'] == false) { $this->error($check['msg'], '', 10); } //检测发帖间隔 $message = $this->checkTimesInterval(); if ($message['status'] == false) { $this->error($message['msg'], '', 10); } //实例化ctg_data表,获得主表数据,同时得到模型ID $model = M('ctgData'); $data = $model->where(array('dataID' => $dataID))->find(); //是否有编辑权限 //if ($_SESSION['userName'] !== $data['userName'] && $_SESSION['adminUserName'] !== 'admin') { // $errorTpl = '你没有权限编辑'; // $this->error($errorTpl, U('Home/Class/index')); //} //$groupID = M('user')->where(array('userID' => session('userID')))->getField('groupID'); //if ($groupID == 4) { // $this->error('你已被加入黑名单,不允许编辑'); //} //如果有图片,处理图片 if (!empty($data['picUrl'])) { $picData = explode('|', $data['picUrl']); } else { $picData = []; } //获得副表数据 $fmodel = M('ctgData' . $data['modID']); $fdata = $fmodel->where(array('dataID' => $dataID))->find(); //处理副表数据, 如果是数组,则转换成字符串 foreach ($fdata as $key => $value) { if ($key != 'content_txt') { if (strpos($value, ',')) { $fdata[$key] = explode(',', $value); } } } //合并主表和副表数据 $rsdb = array_merge($data, $fdata); //模型-栏目数据 $modData = get_mod_data(); //模型ID $modID = $data['modID']; //取得模板地址 $file = T('Ucenter@default/Post/postTpl/postTpl' . $modID); //如果用户模板不存在,就使用系统模板 if (!file_exists($file)) { $errorTpl = '模板文件不存在,无法显示,请联系管理员'; $this->error($errorTpl, U('Ucenter/Post/showPost')); } //取得基本模板文件 $content = file_get_contents(T('Ucenter@default/Post/postBase')); //取得副表模板 $form = file_get_contents($file); //如果模型允许上传图片,取得图片上传基本模板 if ($modData[$data['ctgClassID']]['isPic'] == 1) { $picTpl = file_get_contents(T('Ucenter@default/Post/picTpl')); } else { $picTpl = ''; } //替换上传图片模板 $content = str_replace('{$picTpl}', $picTpl, $content); //替换副表模板文件 $content = str_replace('{$postTpl}', $form, $content); //城市数据 $cityData = get_city_data(); //加密数据,其中type=1表示编辑 if ($bool == 1) { $tokenArr = ['mid' => $modID, 'ctgClassID' => $data['ctgClassID'], 'type' => 0]; } else { $tokenArr = ['mid' => $modID, 'dataID' => $dataID, 'type' => 1]; } $token = authcode(serialize($tokenArr), 'ENCODE', C('AUTH_TOKEN')); //生成令牌防止重复提交 session('token', $token); //一级栏目名字 $fclassName = $modData[$modData[$data['ctgClassID']]['fctgClassID']]['ctgClassName']; //二级栏目名字 $className = $modData[$data['ctgClassID']]['ctgClassName']; //变量赋值 $this->assign('token', $token); $this->assign('cityList', $cityData[$data['gid']]); $this->assign('fclassName', $fclassName); $this->assign('className', $className); $this->assign('cityID', $data['cityID']); $this->assign('countryName', $cityData[$data['gid']][$data['cityID']]['countryName']); $this->assign('rsdb', $rsdb); $this->assign('picArr', $picData); $this->assign('picNum', count($picData)); $this->show($content); }