why.xingtongworld.com项目
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

<?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);
}
}