You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
3.9 KiB
PHP

<?php
namespace Admin\Controller;
use Think\Controller;
/**
* 系统公告控制器
* @author 鹿文学
*/
class NoticeController extends ThinkController {
const model_name = 'Notice';
/**
* 系统公告列表
* @author 鹿文学
*/
public function lists(){
if(is_numeric($_REQUEST['game_id']) && $_REQUEST['game_id']>0) {$extend['game_id']=$_REQUEST['game_id'];}
$this->m_title = '系统公告';
$this->m_url = 'Notice/lists';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Merchandise/lists','status'=>1])->find());
$extend['status'] = 1;
parent::lists(self::model_name,$_GET['p'],$extend);
}
/**
* 添加系统公告
* @author 鹿文学
*/
public function add() {
if(IS_POST) {
$notice = D(self::model_name);
if(!empty($_POST['start_time']) && !empty($_POST['end_time'])) {
if(strtotime($_POST['start_time'])>strtotime($_POST['end_time'])) {
$this->error('开始时间必须小于等于结束时间');
}
}
!empty($_POST['start_time']) || $_POST['start_time'] = date('Y-m-d');
empty($_POST['game_name']) && $_POST['game_name'] = get_game_name($_POST['game_id']);
if($notice->update($_POST)) {
$this->success('新增成功',U('lists'));
} else {
$this->error($notice->getError());
}
} else {
$this->meta_title = '新增系统公告';
$this->m_title = '系统公告';
$this->m_url = 'Notice/lists';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Notice/lists','status'=>1])->find());
$this->display();
}
}
/**
* 编辑系统公告
* @author 鹿文学
*/
public function edit() {
if(IS_POST) {
$notice = D(self::model_name);
if(!empty($_POST['start_time']) && !empty($_POST['end_time'])) {
if(strtotime($_POST['start_time'])>strtotime($_POST['end_time'])) {
$this->error('开始时间必须小于等于结束时间');
}
}
if(empty($_POST['start_time'])) {
$this->error('开始时间不能为空');
}
empty($_POST['game_name']) && $_POST['game_name'] = get_game_name($_POST['game_id']);
if($notice->update($_POST)) {
$this->success('编辑成功',U('lists'));
} else {
$this->error($notice->getError());
}
} else {
$map['id'] = $_REQUEST['id'];
$data = D(self::model_name)->where($map)->find();
$this->assign('data',$data);
$this->meta_title = '编辑系统公告';
$this->m_title = '系统公告';
$this->m_url = 'Notice/lists';
$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Notice/lists','status'=>1])->find());
$this->display();
}
}
/**
* 删除系统公告
* @param array/integer $ids 要删除的系统公告编号
* @author 鹿文学
*/
public function del($ids=null){
$model = M('Model')->getByName(self::model_name); /*通过Model名称获取Model完整信息*/
parent::del($model["id"],$ids);
}
/**
* 更改系统公告优先级
* @param integer $id 系统公告编号
* @param integer $value 优先级数值
* @author 鹿文学
*/
public function change_value($id,$value) {
if(IS_POST) {
if(!is_numeric($id) || $id<1) {$this->ajaxReturn(['status'=>0,'info'=>'数据有误'],'json');}
if(!is_numeric($value) || $value<1) {$this->ajaxReturn(['status'=>0,'info'=>'请输入正整数'],'json');}
$result = D(self::model_name)->where(['id'=>$id])->setField('level',$value);
if($result) {
$this->ajaxReturn(['status'=>1,'info'=>'优先级修改成功'],'json');
} else {
$this->ajaxReturn(['status'=>0,'info'=>'优先级修改失败'],'json');
}
} else {
$this->ajaxReturn(['status'=>0,'info'=>'请求有误'],'json');
}
}
}