// +---------------------------------------------------------------------- namespace app\admin\controller; use think\Db; class News extends Base { protected $table_name='news'; protected $controller_name='news'; protected $has_img=true; protected $has_imgs=true; protected $has_source=true; public function _initialize() { parent::_initialize(); $this->assign('table_name',$this->table_name); $this->assign('controller',$this->controller_name); $this->assign('has_img',$this->has_img); $this->assign('has_imgs',$this->has_imgs); $this->assign('has_source',$this->has_source); } /** * 删除(单个) */ public function apply_del() { $page=input('page','','intval'); $this->assign('page',$page); $p=input('p'); $n_cid=input('cid','','intval'); $n_kind=input('kind','','intval'); $jumpParam=['p' => $p,'cid'=>$n_cid,'kind'=>$n_kind,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/apply_list',$jumpParam); $rst=Db::name('apply')->delete(input('n_id')); if($rst!==false){ $this->success('删除成功',$jump); }else{ $this -> error("删除失败!",$jump); } } /** * 删除(全选) */ public function apply_alldel() { $page=input('page','','intval'); $this->assign('page',$page); $p = input('p'); $ids = input('n_id/a'); $n_cid=input('cid',0,'intval'); $n_kind=input('kind','','intval'); $jumpParam=['kind'=>$n_kind,'p' => $p,'cid'=>$n_cid,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/apply_list',$jumpParam); if(empty($ids)){ $this -> error("请选择待删除数据",$jump); } if(is_array($ids)){ $where = 'id in('.implode(',',$ids).')'; }else{ $where = 'id='.$ids; } $rst=Db::name('apply')->where($where)->delete(); if($rst!==false){ $this->success("删除成功",$jump); }else{ $this -> error("删除失败!",$jump); } } /** * 编辑显示 */ public function apply_edit() { $page=input('page','','intval'); $this->assign('page',$page); $n_cid=input('cid','','intval'); $n_kind=input('kind','','intval'); $jumpParam=['kind'=>$n_kind,'cid'=>$n_cid,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/apply_list',$jumpParam); $n_id = input('id'); if (empty($n_id)) { $this->error('参数错误', $jump); } $this->assign('n_cid', $n_cid); $this->assign('n_kind', $n_kind); $news_list = Db::name('apply')->find($n_id); $poster=$news_list['cred_poster']; if($poster){ $news_list['cred_poster']=explode(';', $poster); } $this->assign('list', $news_list); return $this->fetch('apply/news_edit'); } public function apply_list(){ $n_cid=input('cid','','intval'); $n_kind=input('kind','','intval'); $page=input('page',1,'intval'); $postPage=input('post.page','','intval'); if($postPage)$page=$postPage; $this->assign('page',$page); $this->assign('n_kind',$n_kind); $where=[]; if($n_cid)$where['cid']=$n_cid; if($n_kind)$where['kind']=$n_kind; $news=Db::name('apply')->where($where)->order(['create_time'=>'desc'])->paginate(config('paginate.list_rows'),false,['query'=>get_query(),'page'=>$page]); $show = $news->render(); $this->assign('pageshow',$show); $this->assign('news',$news); $this->assign('n_cid',$n_cid); if(request()->isAjax()){ return $this->fetch('apply/ajax_news_list'.$n_cid); }else{ return $this->fetch('apply/news_list'.$n_cid); } } /** * 导出名单 */ public function export(){ $id=input('cid'); $kind=input('kind',1); if(empty($kind))$this->error("请选择平台"); $map=['cid'=>$id,'kind'=>$kind]; $applys=Db::name('apply')->where($map)->select(); $expTitle="古建收藏俱乐部申请表(机构)"; if($id==2)$expTitle="古建收藏俱乐部申请表(个人)"; $expCellName=[]; if($id==1){ array_push($expCellName,['org_name','机构名称']); array_push($expCellName,['org_code','机构信用代码']); array_push($expCellName,['address','联系地址']); array_push($expCellName,['username','法人代表人']); array_push($expCellName,['cred_num','身份证号码']); array_push($expCellName,['contact','联系人']); array_push($expCellName,['mobile','联系电话']); array_push($expCellName,['direction','古建收藏或意向投资方向']); array_push($expCellName,['org_desc','机构简介']); } if($id==2){ array_push($expCellName,['username','姓名']); array_push($expCellName,['cred_type','证件类型']); array_push($expCellName,['cred_num','证件号码']); array_push($expCellName,['address','联系地址']); array_push($expCellName,['contact','联系人']); array_push($expCellName,['mobile','联系电话']); array_push($expCellName,['join_year','古建收藏/投资经验']); array_push($expCellName,['infor','古建藏品介绍']); array_push($expCellName,['experience','个人简介']); } array_push($expCellName,['create_time','报名时间','','date']); foreach ($applys as &$row){ $ctype=$row['cred_type']; if($ctype==1)$ctype="身份证"; if($ctype==2)$ctype="护照"; if($ctype==3)$ctype="军人证"; $row['cred_type']=$ctype; } $expTableData=$applys; $res=exportExcel($expTitle,$expCellName,$expTableData); } /** * 删除(单个) */ public function buildapply_del() { $page=input('page','','intval'); $this->assign('page',$page); $p=input('p'); $jumpParam=['p' => $p,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/buildapply_list',$jumpParam); $rst=Db::name('buildapply')->delete(input('id')); if($rst!==false){ $this->success('删除成功',$jump); }else{ $this -> error("删除失败!",$jump); } } /** * 删除(全选) */ public function buildapply_alldel() { $page=input('page','','intval'); $this->assign('page',$page); $p = input('p'); $ids = input('n_id/a'); $jumpParam=['p' => $p,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/buildapply_list',$jumpParam); if(empty($ids)){ $this -> error("请选择待删除数据",$jump); } if(is_array($ids)){ $where = 'id in('.implode(',',$ids).')'; }else{ $where = 'id='.$ids; } $rst=Db::name('buildapply')->where($where)->delete(); if($rst!==false){ $this->success("删除成功",$jump); }else{ $this -> error("删除失败!",$jump); } } /** * 编辑显示 */ public function buildapply_edit() { $page=input('page','','intval'); $this->assign('page',$page); $jumpParam=['page'=>$page]; $jump=url('admin/'.$this->controller_name.'/buildapply_list',$jumpParam); $n_id = input('id'); if (empty($n_id)) { $this->error('参数错误', $jump); } $news_list = Db::name('buildapply')->find($n_id); $poster=$news_list['closepic']; if($poster){ $news_list['closepic']=explode(';', $poster); } $style=$news_list['style']; if($style){ $temp=['A'=>[],'B'=>[],'C'=>[],'D'=>[]]; try { $style=json_decode($style,true); } catch (Exception $e) { $style=array(); } if(!is_array($style))$style=[]; $temp=array_merge($temp,$style); $news_list['style']=$temp; }else{ $news_list['style']=['A'=>[],'B'=>[],'C'=>[],'D'=>[]]; } $poster=$news_list['visionpic']; if($poster){ $news_list['visionpic']=explode(';', $poster); } $poster=$news_list['allpic']; if($poster){ $news_list['allpic']=explode(';', $poster); } $poster=$news_list['planepic']; if($poster){ $news_list['planepic']=explode(';', $poster); } $service=$news_list['tgservice']; if($service){ $news_list['tgservice']=explode(';', $service); }else{ $news_list['tgservice']=[]; } $service=$news_list['mgservice']; if($service){ $news_list['mgservice']=explode(';', $service); }else{ $news_list['mgservice']=[]; } $service=$news_list['tfservice']; if($service){ $news_list['tfservice']=explode(';', $service); }else{ $news_list['tfservice']=[]; } $service=$news_list['useservice']; if($service){ $news_list['useservice']=explode(';', $service); }else{ $news_list['useservice']=[]; } $this->assign('list', $news_list); return $this->fetch('apply/build_edit'); } public function buildapply_list(){ $page=input('page',1,'intval'); $postPage=input('post.page','','intval'); if($postPage)$page=$postPage; $this->assign('page',$page); $where=[]; $news=Db::name('buildapply')->where($where)->order(['create_time'=>'desc'])->paginate(config('paginate.list_rows'),false,['query'=>get_query(),'page'=>$page]); $show = $news->render(); $this->assign('pageshow',$show); $this->assign('news',$news); if(request()->isAjax()){ return $this->fetch('apply/ajax_build_list'); }else{ return $this->fetch('apply/build_list'); } } /** * 删除(单个) */ public function cultureapply_del() { $page=input('page','','intval'); $this->assign('page',$page); $p=input('p'); $jumpParam=['p' => $p,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/cultureapply_list',$jumpParam); $rst=Db::name('cultureapply')->delete(input('id')); if($rst!==false){ $this->success('删除成功',$jump); }else{ $this -> error("删除失败!",$jump); } } /** * 删除(全选) */ public function cultureapply_alldel() { $page=input('page','','intval'); $this->assign('page',$page); $p = input('p'); $ids = input('n_id/a'); $jumpParam=['p' => $p,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/cultureapply_list',$jumpParam); if(empty($ids)){ $this -> error("请选择待删除数据",$jump); } if(is_array($ids)){ $where = 'id in('.implode(',',$ids).')'; }else{ $where = 'id='.$ids; } $rst=Db::name('cultureapply')->where($where)->delete(); if($rst!==false){ $this->success("删除成功",$jump); }else{ $this -> error("删除失败!",$jump); } } /** * 编辑显示 */ public function cultureapply_edit() { $page=input('page','','intval'); $this->assign('page',$page); $jumpParam=['page'=>$page]; $jump=url('admin/'.$this->controller_name.'/cultureapply_list',$jumpParam); $n_id = input('id'); if (empty($n_id)) { $this->error('参数错误', $jump); } $news_list = Db::name('cultureapply')->find($n_id); $legal=$news_list['legal']; if($legal){ $news_list['legal']=json_decode($legal); } $org=$news_list['org']; if($org){ $news_list['org']=json_decode($org); } $cont=$news_list['cont']; if($cont){ $news_list['cont']=json_decode($cont); } $this->assign('list', $news_list); return $this->fetch('apply/culture_edit'); } public function cultureapply_list(){ $page=input('page',1,'intval'); $postPage=input('post.page','','intval'); if($postPage)$page=$postPage; $this->assign('page',$page); $where=[]; $news=Db::name('cultureapply')->where($where)->order(['create_time'=>'desc'])->paginate(config('paginate.list_rows'),false,['query'=>get_query(),'page'=>$page]); $show = $news->render(); $this->assign('pageshow',$show); $this->assign('news',$news); if(request()->isAjax()){ return $this->fetch('apply/ajax_culture_list'); }else{ return $this->fetch('apply/culture_list'); } } /** * 列表 */ public function news_list() { //栏目 $search_name=input('search_name','','trim'); $n_cid=input('cid','','intval'); $n_kind=input('kind','','intval'); $page=input('page','','intval'); $postPage=input('post.page','','intval'); if($postPage)$page=$postPage; $this->assign('page',$page); $this->assign('n_kind',$n_kind); $this->assign('search_name',$search_name); $where=[]; if($n_cid)$where['n_cid']=$n_cid; if($n_kind)$where['n_kind']=$n_kind; if($search_name){ $where['n_title|n_content']=array('like',['%'.$search_name.'%','%'.$search_name,$search_name.'%',$search_name],'or'); } $order=['n_order'=>'asc','n_time'=>'desc']; if($this->table_name=='bsgg'||$this->table_name=='bsyw'){ $order=['n_top'=>'desc','n_order'=>'asc','n_time'=>'desc']; } $query=get_query(); if(isset($query)&&$page){ $query['page']=$page; } $news=Db::name($this->table_name)->where($where)->order($order)->paginate(config('paginate.list_rows'),false,['query'=>$query]); $show = $news->render(); $this->assign('pageshow',$show); $this->assign('news',$news); $this->assign('n_cid',$n_cid); if(request()->isAjax()){ return $this->fetch('news/ajax_news_list'); }else{ return $this->fetch('news/news_list'); } } /** * 添加显示 */ public function news_add() { $page=input('page','','intval'); $this->assign('page',$page); $n_cid=input('cid','','intval'); $n_kind=input('kind','','intval'); $this->assign('n_kind',$n_kind); if (!request()->isAjax()){ //栏目 $this->assign('n_cid',$n_cid); $source=Db::name('source')->select(); $this->assign('source',$source); $source=Db::name('finance')->field('c_id,c_name')->where(['c_status'=>1,'c_kind'=>4])->select(); $keys=array_column($source,'c_id'); $vals=array_column($source,'c_name'); $source=array_combine($keys, $vals); $this->assign('flist',$source); $this->assign('fjson',json_encode($source)); $this->assign('tablename',$this->table_name); return $this->fetch('news/news_add'); }else{ //上传图片部分 $img_one=''; $picall_url=''; $file = request()->file('pic_one'); $files = request()->file('pic_all'); $jumpParam=['cid'=>$n_cid,'page'=>$page]; if($this->table_name!='bsgg'){ $jumpParam['kind']=$n_kind; } $jump=url('admin/'.$this->controller_name.'/'.$this->table_name.'_list',$jumpParam); $n_time=input('n_time',''); if(empty($n_time))$n_time=time(); else $n_time=strtotime($n_time); $ret=$this->dealFile($file,$files); if(isset($ret['error'])){ $this->error($ret['error'],$jump); }else{ if(isset($ret['img_one'])&&$ret['img_one'])$img_one=$ret['img_one']; if(isset($ret['picall_url'])&&$ret['picall_url'])$picall_url=$ret['picall_url']; } $n_pids=isset($_POST['n_pids'])?$_POST['n_pids']:''; $n_order=input('n_order','','intval'); $ncid=input('n_cid','','intval'); if($ncid)$n_cid=$ncid; $sl_data=array( 'n_title'=>input('n_title'), 'n_cid'=>$n_cid, 'n_source'=>input('n_source',''), 'n_pics'=>$picall_url,//多图路径 'n_img'=>$img_one,//封面图片路径 'n_status'=>input('n_status',0), 'n_desc'=>input('n_desc',''), 'n_content'=>htmlspecialchars_decode(input('n_content')), 'n_uid'=>session('admin_auth.aid'), 'n_time'=>$n_time, 'n_order'=>$n_order, ); if($n_pids)$sl_data['n_pids']=is_array($n_pids)?implode(';',$n_pids):''; if($n_kind)$sl_data['n_kind']=$n_kind; $n_top=input('n_top',0,'intval'); if($n_top!=='')$sl_data['n_top']=$n_top; $rst=Db::name($this->table_name)->insert($sl_data); $this->assign('tablename',$this->table_name); if($rst){ if(empty($n_order)){ $lastId=Db::name($this->table_name)->getLastInsID(); Db::name($this->table_name)->where(['n_id'=>$lastId])->update(['n_order'=>$lastId]); } $this->success('添加成功',$jump); }else{ $this->error('添加失败',$jump); } } } /** * 编辑显示 */ public function news_edit() { $page=input('page','','intval'); $this->assign('page',$page); $n_cid=input('cid','','intval'); $n_kind=input('kind','','intval'); $this->assign('n_kind',$n_kind); $jumpParam=['cid'=>$n_cid,'page'=>$page]; if($this->table_name!='bsgg'){ $jumpParam['kind']=$n_kind; } $jump=url('admin/'.$this->controller_name.'/'.$this->table_name.'_list',$jumpParam); if (!request()->isAjax()) { $n_id = input('n_id'); if (empty($n_id)) { $this->error('参数错误', $jump); } $this->assign('n_cid', $n_cid); $source=Db::name('finance')->field('c_id,c_name')->where(['c_status'=>1,'c_kind'=>4])->select(); $keys=array_column($source,'c_id'); $vals=array_column($source,'c_name'); $source=array_combine($keys, $vals); $this->assign('flist',$source); $this->assign('fjson',json_encode($source)); $news_list = Db::name($this->table_name)->find($n_id); if(isset($news_list['n_pids'])){ $pids = array_filter(explode(";", $news_list['n_pids'])); $this->assign('pids',json_encode($pids)); }else{ $this->assign('pids',json_encode([])); } //多图字符串转换成数组 $pic_list = array_filter(explode(",", $news_list['n_pics'])); $this->assign('pic_list', $pic_list); $source = Db::name('source')->select();//来源 $this->assign('source', $source); $this->assign('news_list', $news_list); $this->assign('tablename',$this->table_name); return $this->fetch('news/news_edit'); }else{ $pic_oldlist=input('pic_oldlist');//老多图字符串 $img_one=''; $picall_url=''; $file = request()->file('pic_one'); $files = request()->file('pic_all'); //单图 $ret=$this->dealFile($file,$files); if(isset($ret['error'])){ $this->error($ret['error'],$jump); }else{ if(isset($ret['img_one'])&&$ret['img_one'])$img_one=$ret['img_one']; if(isset($ret['picall_url'])&&$ret['picall_url'])$picall_url=$ret['picall_url']; } $n_pids=isset($_POST['n_pids'])?$_POST['n_pids']:''; $sl_data=array( 'n_id'=>input('n_id'), 'n_title'=>input('n_title'), 'n_source'=>input('n_source',''), 'n_status'=>input('n_status',0), 'n_desc'=>input('n_desc',''), 'n_content'=>htmlspecialchars_decode(input('n_content')), 'n_order'=>input('n_order',50,'intval'), ); if($n_pids){ $sl_data['n_pids']=is_array($n_pids)?implode(';',$n_pids):''; } $ncid=input('n_cid','','intval'); if($ncid)$sl_data['n_cid']=$ncid; $n_time=input('n_time',''); if($n_time)$sl_data['n_time']=strtotime($n_time); if($n_kind)$sl_data['n_kind']=$n_kind; $n_top=input('n_top',0,'intval'); if($n_top!=='')$sl_data['n_top']=$n_top; //图片字段处理 if(!empty($img_one)){ $sl_data['n_img']=$img_one; } $sl_data['n_pics']=$pic_oldlist.$picall_url; $rst=Db::name($this->table_name)->update($sl_data); $this->assign('tablename',$this->table_name); if($rst!==false){ $this->success('修改成功',$jump); }else{ $this->error('修改失败',$jump); } } } /** * 排序 */ public function news_order() { $page=input('page','','intval'); $this->assign('page',$page); $n_cid=input('cid','','intval'); $n_kind=input('kind','','intval'); $this->assign('n_kind',$n_kind); $jumpParam=['cid'=>$n_cid,'kind'=>$n_kind,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/'.$this->table_name.'_list',$jumpParam); if (!request()->isAjax()){ $this->error('提交方式不正确',$jump); }else{ foreach (input('post.') as $n_id => $n_order){ Db::name($this->table_name)->update(['n_id'=>$n_id,'n_order'=>$n_order]); } $this->success('排序更新成功',$jump); } } /** * 删除(单个) */ public function news_del() { $page=input('page','','intval'); $this->assign('page',$page); $p=input('p'); $n_cid=input('cid','','intval'); $n_kind=input('kind','','intval'); $this->assign('n_kind',$n_kind); $jumpParam=['p' => $p,'cid'=>$n_cid,'kind'=>$n_kind,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/'.$this->table_name.'_list',$jumpParam); $rst=Db::name($this->table_name)->delete(input('n_id')); if($rst!==false){ $this->success('删除成功',$jump); }else{ $this -> error("删除失败!",$jump); } } /** * 删除(全选) */ public function news_alldel() { $page=input('page','','intval'); $this->assign('page',$page); $p = input('p'); $ids = input('n_id/a'); $n_cid=input('cid',0,'intval'); $n_kind=input('kind',0,'intval'); $this->assign('n_kind',$n_kind); $jumpParam=['p' => $p,'cid'=>$n_cid,'kind'=>$n_kind,'page'=>$page]; $jump=url('admin/'.$this->controller_name.'/'.$this->table_name.'_list',$jumpParam); if(empty($ids)){ $this -> error("请选择待删除数据",$jump); } if(is_array($ids)){ $where = 'n_id in('.implode(',',$ids).')'; }else{ $where = 'n_id='.$ids; } $rst=Db::name($this->table_name)->where($where)->delete(); if($rst!==false){ $this->success("删除成功",$jump); }else{ $this -> error("删除失败!",$jump); } } /** * 审核/取消审核 */ public function news_state() { $id=input('x'); $status=Db::name($this->table_name)->where(array('n_id'=>$id))->value('n_status'); if($status==1){ $statedata = array('n_status'=>0); Db::name($this->table_name)->where(array('n_id'=>$id))->setField($statedata); $this->success('未审'); }else{ $statedata = array('n_status'=>1); Db::name($this->table_name)->where(array('n_id'=>$id))->setField($statedata); $this->success('已审'); } } }