You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
462 lines
17 KiB
462 lines
17 KiB
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | YFCMF [ WE CAN DO IT MORE SIMPLE ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2015-2016 http://www.rainfer.cn All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Author: rainfer <81818832@qq.com>
|
|
// +----------------------------------------------------------------------
|
|
namespace app\admin\controller;
|
|
|
|
use think\Db;
|
|
use think\Request;
|
|
use app\admin\model\Asklog;
|
|
|
|
class Bbs extends Base{
|
|
protected $table='bbslist';
|
|
protected $tablelog='bbslog';
|
|
protected $tablecate='bbstype';
|
|
|
|
protected function getWeekMyActionAndEnd($time = '', $first = 1){
|
|
//当前日期
|
|
if (!$time) $time = time();
|
|
$sdefaultDate = date("Y-m-d", $time);
|
|
//$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
|
|
//获取当前周的第几天 周日是 0 周一到周六是 1 - 6
|
|
$w = date('w', strtotime($sdefaultDate));
|
|
//获取本周开始日期,如果$w是0,则表示周日,减去 6 天
|
|
$week_start = date('Y-m-d', strtotime("$sdefaultDate -" . ($w ? $w - $first : 6) . ' days'));
|
|
//本周结束日期
|
|
$week_end = date('Y-m-d', strtotime("$week_start +6 days"));
|
|
return array("week_start" => $week_start, "week_end" => $week_end);
|
|
}
|
|
/**
|
|
* 首页数据展示
|
|
* @return mixed|string
|
|
*/
|
|
public function index(Request $request){
|
|
$search_name=input('search_name','');
|
|
$this->assign('search_name',$search_name);
|
|
|
|
$page=$request->param('page');
|
|
|
|
|
|
$db=Db::name($this->table)->alias("a")->field("a.*,m.member_list_username as uname,m.member_list_nickname as nickname")->join(config('database.prefix').'member_list m','a.mid =m.member_list_id','left');
|
|
if($search_name){
|
|
$db->where('name','like','%'.$search_name.'%');
|
|
}
|
|
$gp_list=$db->order('create_time desc')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
$total=$gp_list->total();
|
|
$this->assign('total',$total);
|
|
$show = $gp_list->render();
|
|
$this->assign('page',$page);
|
|
$this->assign('pageshow',$show);
|
|
$this->assign('showlist',$gp_list);
|
|
|
|
|
|
$count=Db::name($this->table)->sum('comment');
|
|
$this->assign("comment",$count);
|
|
$count=Db::name($this->table)->sum('viewnum');
|
|
$this->assign("viewnum",$count);
|
|
|
|
$count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y%m")'=>date("Ym")])->sum('comment');
|
|
$this->assign("mcomment",$count);
|
|
$count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y%m")'=>date("Ym")])->sum('viewnum');
|
|
$this->assign("mviewnum",$count);
|
|
|
|
$dates=$this->getWeekMyActionAndEnd();
|
|
$start=$dates['week_start'];
|
|
$end=$dates['week_end'];
|
|
|
|
$count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y-%m-%d")'=>['between',[$start,$end]]])->sum('comment');
|
|
$this->assign("wcomment",$count);
|
|
$count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y-%m-%d")'=>['between',[$start,$end]]])->sum('viewnum');
|
|
$this->assign("wviewnum",$count);
|
|
|
|
|
|
$count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y-%m-%d")'=>date("%Y-%m-%d")])->sum('comment');
|
|
$this->assign("dcomment",$count);
|
|
$count=Db::name($this->table)->where(['from_unixtime(update_time,"%Y-%m-%d")'=>date("%Y-%m-%d")])->sum('viewnum');
|
|
$this->assign("dviewnum",$count);
|
|
if(request()->isAjax()){
|
|
return $this->fetch('ajax_show_list');
|
|
}else{
|
|
return $this->fetch();
|
|
}
|
|
}
|
|
/**
|
|
* 首页数据展示
|
|
* @return mixed|string
|
|
*/
|
|
public function log(Request $request){
|
|
$search_name=input('search_name','');
|
|
$this->assign('search_name',$search_name);
|
|
|
|
$page=$request->param('page');
|
|
|
|
$db=Db::name($this->tablelog)->alias("a")->field("a.*,m.member_list_username as uname,l.name")->join(config('database.prefix').'member_list m','a.mid =m.member_list_id','left')->join(config('database.prefix').'bbslist l','a.list_id =l.id','left');
|
|
if($search_name){
|
|
$db->where('a.content','like','%'.$search_name.'%');
|
|
}
|
|
$gp_list=$db->order('id desc')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
|
|
$show = $gp_list->render();
|
|
$this->assign('page',$page);
|
|
$this->assign('pageshow',$show);
|
|
$this->assign('showlist',$gp_list);
|
|
|
|
if(request()->isAjax()){
|
|
return $this->fetch('ajax_log_list');
|
|
}else{
|
|
return $this->fetch();
|
|
}
|
|
}
|
|
public function category(Request $request){
|
|
$search_name=input('search_name','');
|
|
$this->assign('search_name',$search_name);
|
|
|
|
$db=Db::name($this->tablecate);
|
|
if($search_name){
|
|
$db->where('name','like','%'.$search_name.'%');
|
|
}
|
|
|
|
$data=$db->order('id desc,create_time desc')->select();
|
|
|
|
$tree=new \Tree();
|
|
$tree->init($data,['child'=>'sub','parentid'=>'parentid']);
|
|
$rst=$tree->get_arraylist($data);
|
|
|
|
$this->assign('showlist',$rst);
|
|
|
|
if(request()->isAjax()){
|
|
return $this->fetch('ajax_cate_list');
|
|
}else{
|
|
return $this->fetch();
|
|
}
|
|
}
|
|
public function add(){
|
|
|
|
$page=input('page');
|
|
$this->assign('page',$page);
|
|
|
|
if(request()->isPost()){
|
|
$jump=url('index');
|
|
$data=[];
|
|
$data['name']=input('name');
|
|
$data['content']=input('content');
|
|
$data['parent_id']=input('parent_id');
|
|
$data['child_id']=input('child_id');
|
|
$data['mid']=input('mid');
|
|
$data['top']=input('top');
|
|
$data['marrow']=input('marrow');
|
|
$data['link']=input('link');
|
|
$data['open']=input('open');
|
|
$data['status']=input('status');
|
|
$data['update_time']=time();
|
|
$data['create_time']=time();
|
|
$rst=Db::name($this->table)->insert($data);
|
|
if($rst!==false){
|
|
$this->success('添加成功',$jump);
|
|
}else{
|
|
$this->error('添加失败',$jump);
|
|
}
|
|
}
|
|
$cates=Db::name($this->tablecate)->where('status',1)->select();
|
|
$tree=new \Tree();
|
|
$tree->init($cates,['child'=>'sub','parentid'=>'parentid']);
|
|
$rst=$tree->get_arraylist($cates);
|
|
$this->assign("cates",$rst);
|
|
$mems=Db::name("member_list")->field('member_list_id,member_list_username,member_list_nickname')->where(['member_list_groupid'=>['in',[7,10]],'user_status'=>1,'member_list_open'=>1])->select();
|
|
$this->assign("mems",$mems);
|
|
return $this->fetch();
|
|
}
|
|
public function edit(){
|
|
|
|
$page=input('page');
|
|
$this->assign('page',$page);
|
|
$id=input('id');
|
|
|
|
if(request()->isPost()){
|
|
$jump=url('index');
|
|
$data=[];
|
|
$data['name']=input('name');
|
|
$data['content']=input('content');
|
|
$data['parent_id']=input('parent_id');
|
|
$data['child_id']=input('child_id');
|
|
$data['mid']=input('mid');
|
|
$data['top']=input('top');
|
|
$data['marrow']=input('marrow');
|
|
$data['open']=input('open');
|
|
$data['link']=input('link');
|
|
$data['status']=input('status');
|
|
$data['update_time']=time();
|
|
$rst=Db::name($this->table)->where('id',$id)->update($data);
|
|
if($rst!==false){
|
|
$this->success('编辑成功',$jump);
|
|
}else{
|
|
$this->error('编辑失败',$jump);
|
|
}
|
|
}
|
|
$cates=Db::name($this->tablecate)->where('status',1)->select();
|
|
$tree=new \Tree();
|
|
$tree->init($cates,['child'=>'sub','parentid'=>'parentid']);
|
|
$rst=$tree->get_arraylist($cates);
|
|
$this->assign("cates",$rst);
|
|
|
|
$list=Db::name($this->table)->where('id',$id)->find();
|
|
$this->assign("list",$list);
|
|
|
|
$mems=Db::name("member_list")->field('member_list_id,member_list_username,member_list_nickname')->where(['member_list_groupid'=>['in',[7,10]],'user_status'=>1,'member_list_open'=>1])->select();
|
|
$this->assign("mems",$mems);
|
|
return $this->fetch();
|
|
}
|
|
public function addcate(){
|
|
$page=input('page');
|
|
$this->assign('page',$page);
|
|
|
|
$pid=input('pid');
|
|
$this->assign('pid',$pid);
|
|
if(request()->isPost()){
|
|
$jump=url('category');
|
|
$data=[];
|
|
$data['name']=input('name');
|
|
$data['infor']=input('infor');
|
|
$data['parentid']=input('parentid');
|
|
$data['status']=input('status');
|
|
$data['update_time']=time();
|
|
$data['create_time']=time();
|
|
$data['open']=input('open');
|
|
$rst=Db::name($this->tablecate)->insert($data);
|
|
if($rst!==false){
|
|
$this->success('添加成功',$jump);
|
|
}else{
|
|
$this->error('添加失败',$jump);
|
|
}
|
|
}
|
|
|
|
$cates=Db::name($this->tablecate)->where('parentid',0)->select();
|
|
$this->assign("cates",$cates);
|
|
return $this->fetch();
|
|
}
|
|
public function editcate(){
|
|
$page=input('page');
|
|
$this->assign('page',$page);
|
|
|
|
$id=input('id');
|
|
$this->assign('id',$id);
|
|
if(request()->isPost()){
|
|
$jump=url('category');
|
|
$data=[];
|
|
$data['name']=input('name');
|
|
$data['infor']=input('infor');
|
|
$data['parentid']=input('parentid');
|
|
$data['status']=input('status');
|
|
$data['open']=input('open');
|
|
$data['update_time']=time();
|
|
$rst=Db::name($this->tablecate)->where('id',$id)->update($data);
|
|
if($rst!==false){
|
|
$this->success('修改成功',$jump);
|
|
}else{
|
|
$this->error('修改失败',$jump);
|
|
}
|
|
}
|
|
|
|
$cates=Db::name($this->tablecate)->where('parentid',0)->select();
|
|
$this->assign("cates",$cates);
|
|
$cate=Db::name($this->tablecate)->where('id',$id)->find();
|
|
$this->assign("list",$cate);
|
|
return $this->fetch();
|
|
}
|
|
public function editlog(){
|
|
$page=input('page');
|
|
$this->assign('page',$page);
|
|
|
|
$id=input('id');
|
|
$this->assign('id',$id);
|
|
if(request()->isPost()){
|
|
$jump=url('log');
|
|
$data=[];
|
|
$data['content']=input('content');
|
|
$data['status']=input('status');
|
|
$data['top']=input('top');
|
|
$data['open']=input('open');
|
|
$data['update_time']=time();
|
|
$rst=Db::name($this->tablelog)->where('id',$id)->update($data);
|
|
if($rst!==false){
|
|
$this->success('修改成功',$jump);
|
|
}else{
|
|
$this->error('修改失败',$jump);
|
|
}
|
|
}
|
|
|
|
$mems=Db::name("member_list")->field('member_list_id,member_list_username,member_list_nickname')->where(['member_list_groupid'=>7,'user_status'=>1,'member_list_open'=>1])->select();
|
|
$this->assign("mems",$mems);
|
|
$cates=Db::name($this->tablecate)->where('status',1)->select();
|
|
$tree=new \Tree();
|
|
$tree->init($cates,['child'=>'sub','parentid'=>'parentid']);
|
|
$rst=$tree->get_arraylist($cates);
|
|
$this->assign("cates",$rst);
|
|
|
|
$list=Db::name($this->tablelog)->alias("a")->field("a.*,l.name")->join(config('database.prefix').'bbslist l','a.list_id =l.id','left')->where('a.id',$id)->find();
|
|
$this->assign("list",$list);
|
|
|
|
return $this->fetch();
|
|
}
|
|
/**
|
|
* 非文化资产挂牌删除(单个)
|
|
*/
|
|
public function del(){
|
|
$p=input('p');
|
|
$id=input('id');
|
|
$rst=Db::name($this->table)->where(['id'=>$id])->delete();
|
|
if($rst!==false){
|
|
Db::name($this->tablelog)->where(['list_id'=>$id])->delete();
|
|
$this->success('删除成功',url('index',array('p' => $p)));
|
|
}else{
|
|
$this -> error("删除失败!",url('index',array('p'=>$p)));
|
|
}
|
|
}
|
|
public function delcate(){
|
|
$p=input('p');
|
|
|
|
$rst=Db::name($this->tablecate)->delete(input('id'));
|
|
if($rst!==false){
|
|
$this->success('删除成功',url('category',array('p' => $p)));
|
|
}else{
|
|
$this -> error("删除失败!",url('category',array('p'=>$p)));
|
|
}
|
|
}
|
|
public function dellog(){
|
|
$p=input('p');
|
|
|
|
$rst=Db::name($this->tablelog)->delete(input('id'));
|
|
if($rst!==false){
|
|
$this->success('删除成功',url('log',array('p' => $p)));
|
|
}else{
|
|
$this -> error("删除失败!",url('log',array('p'=>$p)));
|
|
}
|
|
}
|
|
/**
|
|
* 非文化资产删除挂牌(全选)
|
|
*/
|
|
public function alldel(){
|
|
$p = input('p');
|
|
|
|
|
|
$ids = input('id/a');
|
|
if(empty($ids)){
|
|
$this -> error("请选择待删除的数据",url('Ask/index',array('p'=>$p)));
|
|
}
|
|
if(is_array($ids)){
|
|
$where = 'id in('.implode(',',$ids).')';
|
|
}else{
|
|
$where = 'id='.$ids;
|
|
}
|
|
$rst=Db::name($this->table)->where($where)->delete();
|
|
if($rst!==false){
|
|
$this->success("删除成功",url('Ask/index',array('p'=>$p)));
|
|
}else{
|
|
$this -> error("删除失败!",url('Ask/index',array('p'=>$p)));
|
|
}
|
|
}
|
|
public function marrow(){
|
|
$id=input('x');
|
|
$find=Db::name($this->table)->where(array('id'=>$id))->find();
|
|
$msg='否';
|
|
$state=0;
|
|
if($find){
|
|
|
|
$status=$find['marrow'];
|
|
$state=$status==1?0:1;
|
|
if($status==0){
|
|
$msg='是';
|
|
}
|
|
$statedata = array('marrow'=>$state);
|
|
$query=Db::name($this->table)->where(array('id'=>$id))->setField($statedata);
|
|
}
|
|
$this->success($msg,'',$state);
|
|
}
|
|
public function state(){
|
|
$id=input('x');
|
|
$find=Db::name($this->table)->where(array('id'=>$id))->find();
|
|
$msg='关闭';
|
|
$state=0;
|
|
if($find){
|
|
|
|
$status=$find['status'];
|
|
$state=$status==1?0:1;
|
|
if($status==0){
|
|
$msg='开启';
|
|
}
|
|
$statedata = array('status'=>$state);
|
|
$query=Db::name($this->table)->where(array('id'=>$id))->setField($statedata);
|
|
}
|
|
$this->success($msg,'',$state);
|
|
}
|
|
public function open(){
|
|
$id=input('x');
|
|
$find=Db::name($this->table)->where(array('id'=>$id))->find();
|
|
$msg='禁止';
|
|
$state=0;
|
|
if($find){
|
|
$status=$find['open'];
|
|
$state=$status==1?0:1;
|
|
if($status==0){
|
|
$msg='开启';
|
|
}
|
|
$statedata = array('open'=>$state);
|
|
$query=Db::name($this->table)->where(array('id'=>$id))->setField($statedata);
|
|
}
|
|
$this->success($msg,'',$state);
|
|
}
|
|
public function top(){
|
|
$id=input('x');
|
|
$find=Db::name($this->table)->where(array('id'=>$id))->find();
|
|
$msg='否';
|
|
$state=0;
|
|
if($find){
|
|
$status=$find['top'];
|
|
$state=$status==1?0:1;
|
|
if($status==0){
|
|
$msg='是';
|
|
}
|
|
$statedata=array('top'=>$state);
|
|
$query=Db::name($this->table)->where(array('id'=>$id))->setField($statedata);
|
|
}
|
|
$this->success($msg,'',$state);
|
|
}
|
|
|
|
public function statelog(){
|
|
$id=input('x');
|
|
$find=Db::name($this->tablelog)->where(array('id'=>$id))->find();
|
|
$msg='关闭';
|
|
$state=0;
|
|
if($find){
|
|
|
|
$status=$find['status'];
|
|
$state=$status==1?0:1;
|
|
if($status==0){
|
|
$msg='开启';
|
|
}
|
|
$statedata = array('status'=>$state);
|
|
$query=Db::name($this->tablelog)->where(array('id'=>$id))->setField($statedata);
|
|
}
|
|
$this->success($msg,'',$state);
|
|
}
|
|
public function toplog(){
|
|
$id=input('x');
|
|
$find=Db::name($this->tablelog)->where(array('id'=>$id))->find();
|
|
$msg='否';
|
|
$state=0;
|
|
if($find){
|
|
$status=$find['top'];
|
|
$state=$status==1?0:1;
|
|
if($status==0){
|
|
$msg='是';
|
|
}
|
|
$statedata=array('top'=>$state);
|
|
$query=Db::name($this->tablelog)->where(array('id'=>$id))->setField($statedata);
|
|
}
|
|
$this->success($msg,'',$state);
|
|
}
|
|
}
|