Пример #1
0
 /**
  * 公用入口文件
  */
 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']);
     }
 }
Пример #2
0
 /**
  * @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]];
     }
 }
Пример #3
0
 /**
  * 显示编辑页面
  * @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);
 }