| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654 |
- <?php
- namespace app\admin\controller;
- use cmf\controller\AdminBaseController;
- use think\Db;
- use tree\Tree;
- use app\admin\model\CategoryModel;
- class JiamengController extends AdminBaseController{
- public function initialize(){
- parent::initialize();
- $username = $_SESSION['think']['name'];
- $userid = $_SESSION['think']['ADMIN_ID'];
- //判断是否是编辑管理员
- $iseditor = 0;
- $iseditor = Db::name('role_user')->where('role_id',3)->where('user_id',$userid)->count();
- $this->iseditor = $iseditor;
- $this->uname = $username;
- $this->assign('iseditor',$iseditor);
- }
- public function index(){
- set_time_limit(0);
- $param = $this->request->param();
- //分类信息
- $cate_tree=$this->getAccessTreeData();
- $this->assign('cate_tree',json_encode($cate_tree));
- isset($param['cate_id']) or $param['cate_id']=0;
- $title = isset($param['title'])?trim($param['title']):'';
- $this->assign('title',$title);
- $this->assign('cate_id',$param['cate_id']);
- $lists = array();
- $map = array();
-
-
-
- if($param['cate_id']){
- //分类信息
- $cateinfo = Db::name('category')->where('id',$param['cate_id'])->find();
-
- if($cateinfo['parent_id']>0){
- $map['catid'] = $param['cate_id'];
- }else{
- $soncate = Db::name('category')->where('parent_id',$param['cate_id'])->select();
- $sonarr = array();
- foreach($soncate as $k=>$v){
- $sonarr[] = $v['id'];
- }
- $map['catid'] = $sonarr;
- }
-
- }
- //增加作者的条件进行区分只能是编辑员可以看到自己的发布
- if($this->iseditor){
- $map['author'] =$this->uname;
- }
- $query = array(
- 'cate_id' => $param['cate_id'],
- 'title' => $title
- );
- if($title!=''){
- $lists = Db::name('Jiameng')->where($map)->where('title','like','%'.$title.'%')->order('list_order asc,create_time desc')->paginate(20,false,['query'=>$query]);
- }else{
- $lists = Db::name('Jiameng')->where($map)->order('list_order asc,create_time desc')->paginate(20,false,['query'=>$query]);
- }
-
- $this->assign('lists',$lists);
- $cates = Db::name('category')->select();
- $catelist = array();
- foreach($cates as $k=>$v){
- $catelist[$v['id']] = $v['catname'];
- }
- $this->assign('catelist',$catelist);
- $this->assign('page','');
- return $this->fetch();
- }
- /**
- * 获取树的信息
- */
- public function getAccessTreeData(){
-
- $rs_array=[];
- $list=Db::name('category')->order(["list_order" => "ASC"])->select()->toArray();
- if(!empty($list)){
- foreach($list as $k=>$v){
- $rs_array[$v['id']]=$v;
- $parents=$this->getDeepParent($v);
- foreach($parents as $pv){
- $rs_array[$pv['id']]=$pv;
- }
- }
- }else{
- $rs_array=$list;
- }
- if(!empty($rs_array)){
- foreach($rs_array as $k=>$v){
- $rs_array[$k]['name']=$v['catname'];
- $rs_array[$k]['iconSkin']='dept';
- }
- }
- return array_values($rs_array);
- }
- /**
- * 父节点数据
- */
- public function getDeepParent($data){
- $temp_array=[];
- $parent_data_info=Db::name('category')->where('id',$data['parent_id'])->find();
- if(empty($parent_data_info)){
- return $temp_array;
- }
- if(!empty($parent_data_info)){
- $temp_array[$parent_data_info['id']]=$parent_data_info;
- $rs_array=$this->getDeepParent($parent_data_info);
- }
- return array_merge($temp_array,$rs_array);
- }
- /**
- * 添加加盟信息
- */
- public function add(){
- $touziarr = config('params.touziLevels');
- $this->assign('touziarr',$touziarr);
- $area_list = config('params.areaList');
- $this->assign('area_list',$area_list);
- $cates = Db::name('category')->where('parent_id',0)->order('list_order')->select();
- foreach($cates as $k=>$v){
- $son = Db::name('category')->where('parent_id',$v['id'])->order('list_order')->select();
- $v['son'] = $son;
- $cates[$k] = $v;
- }
- $this->assign('cates',$cates);
- return $this->fetch();
- }
- public function addPost(){
- $param = $this->request->param();
- isset($param['thumb'])&&$param['thumb']!='' or $this->error('请上传标题图片');
- isset($param['logo'])&&$param['logo']!='' or $this->error('请上传logo图片');
- isset($param['title'])&&$param['title']!='' or $this->error('请填写品牌名称');
- $param['create_time'] = time();
- $catinfo = Db::name('category')->where('id',$param['catid'])->find();
- $param['pcatid'] = $catinfo['parent_id'];
- $data = array(
- 'content' => isset($param['content'])?$param['content']:'',
- 'youshi' => isset($param['youshi'])?$param['youshi']:'',
- 'tiaojian' => isset($param['tiaojian'])?$param['tiaojian']:'',
- 'liucheng' => isset($param['liucheng'])?$param['liucheng']:''
- );
- unset($param['content']);
- unset($param['youshi']);
- unset($param['tiaojian']);
- unset($param['liucheng']);
- //2020-5-22 进行增加加盟支持
- $param['jm_support']=implode(',',$param['supports']);unset($param['supports']);
-
- //增加字段以便给与指定是谁的。显示列表
- if($this->iseditor){
- $param['author']=$this->uname;
- }
- $res = Db::name('Jiameng')->insertGetId($param);
- $data['id'] = $res;
- Db::name('Jiameng_data')->insert($data);
- if($res){
- $this->success('添加成功');
- }else{
- $this->error('添加失败');
- }
- }
- public function show(){
- $param = $this->request->param();
- isset($param['id']) or $this->error('非法访问');
- $info = Db::name('jiameng')->alias('a')->field('a.*,b.catname')->join('jm_category b','a.catid=b.id')->where('a.id',$param['id'])->find();
- $content = Db::name('jiameng_data')->where('id',$param['id'])->find();
- $info['content'] = $content['content'];
- $info['youshi'] = $content['youshi'];
- $info['tiaojian'] = $content['tiaojian'];
- $info['liucheng'] = $content['liucheng'];
- $this->assign('info',$info);
- return $this->fetch();
- }
- /**
- * 添加标签页面
- */
- public function cateAdd(){
- $param = $this->request->param();
- //上级分类
- isset($param['parent_id']) or $param['parent_id'] = 0;
- $shangji = array();
- if($param['parent_id']>0){
- $shangji = Db::name('category')->where('id',$param['parent_id'])->find();
- }
- $this->assign('shangji',$shangji);
-
- return $this->fetch();
- }
- public function listOrder(){
- $CateModel = new CategoryModel();
- parent::listOrders($CateModel);
- $this->success("排序更新成功!");
- }
- /**
- * 添加标签
- */
- public function cateAddPost(){
- $param = $this->request->param();
-
- isset($param['catname'])&&trim($param['catname'])!='' or $this->error('请填写分类名称');
- isset($param['parent_id']) or $param['parent_id'] = 0;
- $data = array(
- 'catname' => $param['catname'],
- 'enname' => $param['enname'],
- 'seo_title' => $param['seo_title'],
- 'seo_keywords' => $param['seo_keywords'],
- 'seo_desc' => $param['seo_desc'],
- 'parent_id' => $param['parent_id'],
- 'list_order' => $param['list_order'],
- 'status' => $param['status'],
- 'create_time' => time()
- );
-
- $res = Db::name('category')->insert($data);
- if($res){
- $this->success('添加成功');
- }else{
- $this->error('添加失败');
- }
- }
- /**
- * 标签列表
- */
- public function cateList(){
- $result = Db::name('Category')->order(["list_order" => "ASC"])->select()->toArray();
- $tree = new Tree();
- $tree->icon = [' │ ', ' ├─', ' └─ '];
- $tree->nbsp = ' ';
- $newJiamengs = [];
- foreach ($result as $m) {
- $newJiamengs[$m['id']] = $m;
- }
- foreach ($result as $key => $value) {
- $result[$key]['parent_id_node'] = ($value['parent_id']) ? ' class="child-of-node-' . $value['parent_id'] . '"' : '';
- $result[$key]['style'] = empty($value['parent_id']) ? '' : 'display:none;';
- $result[$key]['str_manage'] = '<a class="btn btn-xs btn-primary" href="' . url("Jiameng/cateAdd", ["parent_id" => $value['id'], "Jiameng_id" => $this->request->param("Jiameng_id")]) . '">' . lang('ADD_SUB_MENU') . '</a>
- <a class="btn btn-xs btn-primary" href="' . url("Jiameng/cateEdit", ["id" => $value['id'], "Jiameng_id" => $this->request->param("Jiameng_id")]) . '">' . lang('EDIT') . '</a>
- <a class="btn btn-xs btn-danger js-ajax-delete" href="' . url("Jiameng/cateDelete", ["id" => $value['id'], "Jiameng_id" => $this->request->param("Jiameng_id")]) . '">' . lang('DELETE') . '</a> ';
- $result[$key]['status'] = $value['status'] ? '<span class="label label-success">' . lang('DISPLAY') . '</span>' : '<span class="label label-warning">' . lang('HIDDEN') . '</span>';
-
- }
- $tree->init($result);
- $str = "<tr id='node-\$id' \$parent_id_node style='\$style'>
- <td style='padding-left:20px;'><input name='list_orders[\$id]' type='text' size='3' value='\$list_order' class='input input-order'></td>
- <td>\$id</td>
- <td>\$spacer\$catname</td>
- <td>\$status</td>
- <td width='300px'>\$str_manage</td>
- </tr>";
- $category = $tree->getTree(0, $str);
- $this->assign("category", $category);
- return $this->fetch();
- return $this->fetch();
- }
- public function cateDelete(){
- $param = $this->request->param();
- isset($param['id']) or $this->error('没有id');
- $res = Db::name('category')->where('id',$param['id'])->delete();
- if($res){
- $this->success('删除分类成功');
- }else{
- $this->error('删除分类失败');
- }
- }
- /**
- * 分类编辑
- */
- public function cateEdit(){
- $param = $this->request->param();
- isset($param['id']) or $this->error('没有id');
- $res = Db::name('category')->where('id',$param['id'])->find();
- $this->assign('info',$res);
- return $this->fetch();
- }
- public function cateEditPost(){
- $param = $this->request->param();
- isset($param['catname'])&&trim($param['catname'])!='' or $this->error('请填写分类名称');
- isset($param['parent_id']) or $param['parent_id'] = 0;
- $data = array(
- 'id' => $param['id'],
- 'catname' => $param['catname'],
- 'enname' => $param['enname'],
- 'seo_title' => $param['seo_title'],
- 'seo_keywords' => $param['seo_keywords'],
- 'seo_desc' => $param['seo_desc'],
- 'parent_id' => $param['parent_id'],
- 'list_order' => $param['list_order'],
- 'status' => $param['status'],
- 'update_time' => time()
- );
-
- $res = Db::name('category')->update($data);
- if($res){
- $this->success('编辑成功');
- }else{
- $this->error('编辑失败');
- }
- }
- /**
- * 编辑
- */
- public function edit(){
- $param = $this->request->param();
- isset($param['id']) or $this->error('非法访问');
- $touziarr = array(
- '1万元以下',
- '1~5万元',
- '5~10万元',
- '10~20万元',
- '20~50万元',
- '50~100万元',
- '100万元以上',
- '200万元以上',
- '300万元以上'
- );
- $this->assign('touziarr',$touziarr);
- $area_list = array('不限','北京','天津','上海','广州','重庆','浙江','江苏','广东','山东','山西','福建','安徽','河北','河南','湖北','湖南','吉林','江西','辽宁','四川','云南','陕西','广西','海南','贵州','黑龙江','内蒙古','宁夏','甘肃','西藏','青海','新疆');
- $this->assign('area_list',$area_list);
- $cates = Db::name('category')->where('parent_id',0)->order('list_order')->select();
- foreach($cates as $k=>$v){
- $son = Db::name('category')->where('parent_id',$v['id'])->order('list_order')->select();
- $v['son'] = $son;
- $cates[$k] = $v;
- }
- $this->assign('cates',$cates);
- $info = Db::name('jiameng')->where('id',$param['id'])->find();
- $content = Db::name('jiameng_data')->where('id',$param['id'])->find();
- $info['content'] = $content['content'];
- $info['youshi'] = $content['youshi'];
- $info['tiaojian'] = $content['tiaojian'];
- $info['liucheng'] = $content['liucheng'];
- $this->assign('info',$info);
- return $this->fetch();
- }
- /**
- * 处理编辑
- */
- public function editPost(){
- $param = $this->request->param();
- isset($param['thumb']) or $this->error('请上传标题图片');
- isset($param['title']) or $this->error('请填写品牌标题');
- $catinfo = Db::name('category')->where('id',$param['catid'])->find();
- $param['pcatid'] = $catinfo['parent_id'];
- $param['update_time'] = time();
- $data = array(
- 'content' => isset($param['content'])?$param['content']:'',
- 'youshi' => isset($param['youshi'])?$param['youshi']:'',
- 'tiaojian' => isset($param['tiaojian'])?$param['tiaojian']:'',
- 'liucheng' => isset($param['liucheng'])?$param['liucheng']:''
- );
- unset($param['content']);
- unset($param['youshi']);
- unset($param['tiaojian']);
- unset($param['liucheng']);
-
- //2020-5-22 进行编辑加盟支持
- $param['jm_support']=implode(',',$param['supports']);unset($param['supports']);
- $res = Db::name('Jiameng')->update($param);
- Db::name('Jiameng_data')->where('id',$param['id'])->update($data);
- if($res){
- $this->success('编辑成功');
- }else{
- $this->error('编辑失败');
- }
- }
- /**
- * 删除
- */
- public function delete(){
- $param = $this->request->param();
- isset($param['id']) or $this->error('需要id');
- $res = Db::name('Jiameng')->where('id',$param['id'])->delete();
- if($res){
- $this->success('删除成功');
- }else{
- $this->error('删除失败');
- }
- }
- /**
- * 编辑标签
- */
- public function editTag(){
- $param = $this->request->param();
- isset($param['id']) or $this->error('需要id');
- $info = Db::name('category')->where('id',$param['id'])->find();
- $this->assign('info',$info);
- return $this->fetch();
- }
- /**
- * 处理编辑标签
- */
- public function editTagPost(){
- $param = $this->request->param();
- isset($param['id']) or $this->error('需要id');
- $param['edittime'] = time();
- $res = Db::name('category')->update($param);
- if($res){
- $this->success('编辑成功');
- }else{
- $this->error('编辑失败');
- }
- }
-
- public function chongfu(){
- $param = $this->request->param();
-
- $title = isset($param['title'])?trim($param['title']):'';
- if($title==''){
- echo 0;
- }
- $res = Db::name('jiameng')->where('title',$title)->count();
- if($res>0){
- echo 1;
- }else{
- echo 0;
- }
- }
-
- public function seo(){
- $param = $this->request->param();
- $page = isset($param['page'])?$param['page']:1;
- $msg = $param['msg'];
- if(count($msg)==0){
- $this->error('请选择要提交的信息');
- }
- $str = implode(",",$msg);
- if(isset($param['pc'])){
- $this->baidu($str,$page);
- }
- if(isset($param['mobile'])){
- $this->shouji($str,$page);
- }
- if(isset($param['xiongzhang'])){
- $this->bear($str,$page);
- }
- $this->success('提交成功');
- }
- // 百度链接自动提交
- public function baidu($ids,$page){
- $where = [];
- $where[] = ['id','in', $ids];
- $artRes = Db::name('jiameng')->where($where)->select()->toArray();
-
-
- // print_r($artRes);die;
- $urls = array();
- $dataRes = array();
- $local = $_SERVER['SERVER_NAME'];
- foreach ($artRes as $k => &$v) {
-
- $v['arcurl'] = 'http://'.$local.'/b'.$v['id']."/";
- $urls[] = $v['arcurl'];
-
- }
- $site_info = cmf_get_option('site_info');
- // print_r($site_info);die;
- if($site_info['site_tj_pc'] == ''){
- $this->error("请设置百度提交参数!",'');
- }
- $site_baidu = $site_info['site_tj_pc'];
- $site_baidu = explode('&', $site_baidu);
- $site_baidu = implode('&', $site_baidu);
- $site_baidu = str_replace(PHP_EOL, '', $site_baidu);
- // dump($dataRes);die;
- if(count($urls)>0 && trim($site_baidu)!=''){
- $api = $site_baidu;
- $ch = curl_init();
- $options = array(
- CURLOPT_URL => $api,
- CURLOPT_POST => true,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_POSTFIELDS => implode("\n", $urls),
- CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
- );
- curl_setopt_array($ch, $options);
- $curlresult = curl_exec($ch);
- $cuarray = json_decode($curlresult,true);
- // dump($cuarray);die;
- if($cuarray['success']>0){
-
- $this->success("共提交".$cuarray['success']."条。今日自动提交剩余".$cuarray['remain'].'条','jiameng/index?page='.$page);
-
- }else{
- $this->error("今天提交已经到上线,明天再来吧!",'jiameng/index?page='.$page);
- }
- }else{
- $this->success("没有新百度Pc连接提交",'jiameng/index?page='.$page);
- }
- }
-
- // 百度手机链接自动提交
- public function shouji($ids,$page){
- $where = [];
- $where[] = ['id','in', $ids];
- $artRes = Db::name('jiameng')->where($where)->select()->toArray();
- $urls = array();
- $dataRes = array();
- $local = $_SERVER['SERVER_NAME'];
- $host = explode('.', $local);
- if(count($host)==3){
- $host = $host[1].'.'.$host[2];
- }else{
- $host = $host[1].'.'.$host[2].'.'.$host[3];
- }
- $local = 'm.'.$host;
-
- foreach ($artRes as $k => &$v) {
- $v['arcurl'] = 'http://'.$local.'/b'.$v['id']."/";
- $urls[] = $v['arcurl'];
-
- }
-
- $site_info = cmf_get_option('site_info');
-
- if($site_info['site_tj_mobile'] == ''){
- $this->error("请设置百度提交参数!",'jiameng/index?page='.$page);
- }
-
- $site_shouji = $site_info['site_tj_mobile'];
- $site_shouji = explode('&', $site_shouji);
- $site_shouji = implode('&', $site_shouji);
- $site_shouji = str_replace(PHP_EOL, '', $site_shouji);
- // print_r($urls);exit;
- if(count($urls)>0 && trim($site_shouji)!=''){
- $api = $site_shouji;
- $ch = curl_init();
- $options = array(
- CURLOPT_URL => $api,
- CURLOPT_POST => true,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_POSTFIELDS => implode("\n", $urls),
- CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
- );
- curl_setopt_array($ch, $options);
- $curlresult = curl_exec($ch);
- $cuarray = json_decode($curlresult,true);
- // dump($cuarray);die;
- if($cuarray['success']>0){
- //如果提交过并且成功的将其状态标记为1
- // foreach ($dataRes as $k => $v) {
- // Db::name('brand_post')->where('id',$k)->update(['shouji' => '1']);
- // }
- $this->success("<br/>共提交".$cuarray['success']."条。今日自动提交剩余".$cuarray['remain'].'条<br/>','jiameng/index?page='.$page);
-
- }else{
- $this->error("今天提交已经到上线,明天再来吧!",'jiameng/index?page='.$page);
- }
- }else{
- $this->success("没有新手机百度连接提交",'jiameng/index?page='.$page);
- }
- }
-
- // 百度链接自动提交
- public function bear($ids,$page){
- $where = [];
- $where[] = ['id','in', $ids];
- $artRes = Db::name('jiameng')->where($where)->select()->toArray();
- //dump($artRes);die;
- $urls = array();
- $dataRes = array();
- $local = $_SERVER['SERVER_NAME'];
- foreach ($artRes as $k => &$v) {
- $v['arcurl'] = 'http://'.$local.'/b'.$v['id']."/";
- $urls[] = $v['arcurl'];
- }
- // dump($urls);exit;
- $site_info = cmf_get_option('site_info');
-
- //dump($site_info);die;
- if($site_info['site_tj_xiongzhang'] == ''){
- $this->error("请设置熊掌号提交参数!",'jiameng/index?page='.$page);
- }
- $site_xiongzhang = $site_info['site_tj_xiongzhang'];
- $site_xiongzhang = explode('&', $site_xiongzhang);
- $site_xiongzhang = implode('&', $site_xiongzhang);
- $site_xiongzhang = str_replace(PHP_EOL, '', $site_xiongzhang);
-
- // dump($dataRes);die;
- if(count($urls)>0 && trim($site_xiongzhang)!=''){
- $api = trim($site_xiongzhang);
- $ch = curl_init();
- $options = array(
- CURLOPT_URL => $api,
- CURLOPT_POST => true,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_POSTFIELDS => implode("\n", $urls),
- CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
- );
- curl_setopt_array($ch, $options);
- $curlresult = curl_exec($ch);
- $cuarray = json_decode($curlresult,true);
- // dump($cuarray);die;
- if($cuarray['success']>0){
- //如果提交过并且成功的将其状态标记为1
- foreach ($dataRes as $k => $v) {
- Db::name('brand_post')->where('id',$k)->update(['xiongzhang' => '1']);
- }
- $this->success("<br/>共提交".$cuarray['success']."条。今日自动提交剩余".$cuarray['remain'].'条<br/>','jiameng/index?page='.$page);
-
- }else{
- $this->error("今天提交已经到上线,明天再来吧!",'jiameng/index?page='.$page);
- }
- }else{
- $this->success("没有新熊掌天级连接提交",'jiameng/index?page='.$page);
- }
- }
- //2020-05-06 显示类目分类。
- public function showcategory(){
-
- $cates = Db::name('category')->select();
- $catelist = array();
- foreach($cates as $k=>$v){
- $catelist[$v['id']] = $v['catname'];
- }
-
- $this->assign('catelist',$catelist);
- $this->assign('page','');
- return $this->fetch();
- }
- }
- ?>
|