|
|
<?php
|
|
|
|
|
|
namespace Home\Controller;
|
|
|
|
|
|
/**
|
|
|
* 前台首页控制器
|
|
|
* 主要获取首页聚合数据
|
|
|
*/
|
|
|
class SiteGameController extends BaseController {
|
|
|
|
|
|
//站点申请
|
|
|
public function index($p=0,$game_name='',$recommend_status=''){
|
|
|
$page = intval($p);
|
|
|
$page = $page ? $page : 1; //默认显示第一页数据
|
|
|
$row = 10;
|
|
|
|
|
|
$model = D('SiteGame');
|
|
|
$map['tab_site_game.status'] = 1;
|
|
|
$map['tab_site_game.promote_id'] = PID;
|
|
|
if($game_name != ''){
|
|
|
$map['tab_site_game.game_name'] = array('like','%'.$game_name.'%');
|
|
|
$parameter['game_name'] = $game_name;
|
|
|
}
|
|
|
if($recommend_status != ''){
|
|
|
$map['tab_site_game.recommend_status'] = array('like','%'.$recommend_status.'%');;
|
|
|
$parameter['recommend_status'] = $recommend_status;
|
|
|
}
|
|
|
$data = $model->field('tab_site_game.*,sg.group_code,sg.group_name,sg.in_num')->join('tab_site_group as sg on sg.site_game_id = tab_site_game.id','left')->where($map)->order('is_top desc,top_time desc')->page($page,$row)->select();//
|
|
|
|
|
|
/* 查询记录总数 */
|
|
|
$count = $model->join('tab_site_group as sg on sg.site_game_id = tab_site_game.id','left')->where($map)->count();
|
|
|
//分页
|
|
|
|
|
|
$parameter['p']=I('get.p',1);
|
|
|
$parameter['row']=I('get.row');
|
|
|
|
|
|
$page = set_pagination($count,$row,$parameter);
|
|
|
if($page) {$this->assign('_page', $page);}
|
|
|
|
|
|
|
|
|
$this->assign('p',$p);
|
|
|
$this->assign('data',$data);
|
|
|
$this->meta_title = "游戏列表";
|
|
|
$this->display();
|
|
|
}
|
|
|
|
|
|
public function add(){
|
|
|
if(IS_POST){
|
|
|
$model = D('SiteGame');
|
|
|
$map['promote_id'] = PID;
|
|
|
$topData = $model->field('id,game_name')->where($map)->order('top_time desc')->find();
|
|
|
$topId = $topData['id'];
|
|
|
$_POST['game_name'] = str_replace(array('(安卓版)','(苹果版)'),'',$_POST['game_name']);
|
|
|
$_POST['recommend_status']=implode(',',$_POST['recommend_status']);
|
|
|
empty($_POST['description']) || $_POST['description'] = str_replace(array("\r\n", "\r", "\n"),'~~',$_POST['description']);
|
|
|
$sdk_version = $_POST['sdk_version'];
|
|
|
$game_name = $_POST['game_name'];
|
|
|
$condition['game_name'] = $game_name;
|
|
|
$condition['sdk_version'] = $sdk_version;
|
|
|
$condition['promote_id'] = PID;
|
|
|
$is_setting = $model->field('id,game_name')->where($condition)->order('top_time desc')->find();
|
|
|
if($is_setting)$this->error('添加失败:游戏已存在');
|
|
|
$res = $model->saveData();
|
|
|
if($res !== false){
|
|
|
$index = $model->field('id')->order('id desc')->find();
|
|
|
$SiteGroup = D('SiteGroup');$data['site_game_id'] = $index['id'];
|
|
|
foreach ($_POST as $k =>$v) {
|
|
|
if (strpos($k,'qq_') !== false) {
|
|
|
if (($k == 'qq_group_code' || $k == 'qq_pc_url') && empty($v)) {$data='';break;}
|
|
|
$data[str_replace('qq_','',$k)] = $v;
|
|
|
}
|
|
|
}
|
|
|
if ($data){
|
|
|
$data['game_name']=$_POST['game_name'];
|
|
|
$res = $SiteGroup->saveData2($data);
|
|
|
}
|
|
|
//添加后保持 置顶状态
|
|
|
$model->where(array('id'=> $topId ,'promote_id'=>PID))->save(array('top_time'=>time()));
|
|
|
$condition1['game_name'] = $game_name;
|
|
|
$condition1['sdk_version'] = $sdk_version == 1 ? 2 : 1;
|
|
|
$data1 = array(
|
|
|
'open_type' => $_POST['open_type'],
|
|
|
'version' => $_POST['version'],
|
|
|
'summary' => $_POST['summary'],
|
|
|
'description' => $_POST['description'],
|
|
|
'recommend_status' => $_POST['recommend_status'],
|
|
|
'game_icon' => $_POST['game_icon'],
|
|
|
'game_img' => $_POST['game_img'],
|
|
|
//'screenshot' => $_POST['screenshot'],
|
|
|
'game_bg_img' => $_POST['game_bg_img'],
|
|
|
);
|
|
|
$model->where($condition1)->save($data1);
|
|
|
$this->success('添加成功!');
|
|
|
}else{
|
|
|
$this->error('添加失败:'.$model->getError());
|
|
|
}
|
|
|
}else {
|
|
|
$map['promote_id'] = PID;
|
|
|
$map['pack_url'] = ['neq', ''];
|
|
|
|
|
|
$game = M('apply', 'tab_')->where($map)->select();
|
|
|
foreach ($game as $key=>$val){
|
|
|
$data = M('game', 'tab_')->where(array('id'=>$val['game_id']))->find();
|
|
|
if(!$data){
|
|
|
unset($game[$key]);
|
|
|
}
|
|
|
}
|
|
|
$this->meta_title = "添加游戏";
|
|
|
|
|
|
$this->assign('game', $game);
|
|
|
$this->display();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public function edit($id=0){
|
|
|
$model = D('SiteGame');
|
|
|
$SiteGroup = D('SiteGroup');
|
|
|
if(IS_POST){
|
|
|
$p = I("post.p",1,'intval');
|
|
|
if ($_POST['cate_type'] == 1) {
|
|
|
$_POST['game_name'] = str_replace(array('(安卓版)','(苹果版)'),'',$_POST['game_name']);
|
|
|
$_POST['recommend_status']=implode(',',$_POST['recommend_status']);
|
|
|
empty($_POST['description']) || $_POST['description'] = str_replace(array("\r\n", "\r", "\n"),'~~',$_POST['description']);
|
|
|
$res = $model->saveData();
|
|
|
$game = $model->where(array('id'=>$_POST['id']))->field("game_name,sdk_version,open_type,version,summary,description,recommend_status,game_icon,game_img,screenshot,game_bg_img")->find();
|
|
|
$condition1['game_name'] = $game['game_name'];
|
|
|
$condition1['sdk_version'] = $game['sdk_version'] == 1 ? 2 : 1;
|
|
|
$data1 = array(
|
|
|
'open_type' => $game['open_type'],
|
|
|
'version' => $game['version'],
|
|
|
'summary' => $game['summary'],
|
|
|
'description' => $game['description'],
|
|
|
'recommend_status' => $game['recommend_status'],
|
|
|
'game_icon' => $game['game_icon'],
|
|
|
'game_img' => $game['game_img'],
|
|
|
//'screenshot' => $game['screenshot'],
|
|
|
'game_bg_img' => $game['game_bg_img']
|
|
|
);
|
|
|
$model->where($condition1)->save($data1);
|
|
|
if($res !== false){
|
|
|
$this->success('基础信息保存成功!',U('SiteGame/index',array('p'=>$p)));
|
|
|
}else{
|
|
|
$this->error('基础信息保存失败:'.$model->getError());
|
|
|
}
|
|
|
} elseif ($_POST['cate_type']==2) {
|
|
|
foreach ($_POST as $k =>$v) {
|
|
|
if (strpos($k,'qq_') !== false) {
|
|
|
if (($k == 'qq_group_code' || $k == 'qq_pc_url') && empty($v)) {$data='';break;}
|
|
|
$data[str_replace('qq_','',$k)] = $v;
|
|
|
}
|
|
|
}
|
|
|
if ($data){
|
|
|
$res = $SiteGroup->saveData2($data);
|
|
|
}
|
|
|
if($res !== false){
|
|
|
$this->success('QQ群设置保存成功!',U('SiteGame/index',array('p'=>$p)));
|
|
|
}else{
|
|
|
$this->error('QQ群设置保存失败:'.$model->getError());
|
|
|
}
|
|
|
} else {
|
|
|
$this->error('保存失败');
|
|
|
}
|
|
|
}else {
|
|
|
$p = I("get.p",1,'intval');
|
|
|
$this->assign('p',$p);
|
|
|
$map['promote_id'] = PID;
|
|
|
$map['pack_url'] = ['neq', ''];
|
|
|
$game = M('apply', 'tab_')->where($map)->select();
|
|
|
$data = $model->get_site_game_detail($id);
|
|
|
$qq_data = $SiteGroup->where(array('site_game_id'=>$data['id']))->find();
|
|
|
$this->assign('data',$data);
|
|
|
$this->assign('qq_data',$qq_data);
|
|
|
$this->assign('game', $game);
|
|
|
if ($data['game_source'] == 2) {
|
|
|
$this->assign('type', M('game_type','tab_')->field('id,type_name')->where(array('status'=>1,'status_show'=>1))->select());
|
|
|
}
|
|
|
$this->meta_title = "编辑游戏";
|
|
|
$this->display();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public function del(){
|
|
|
$id = $_POST['id'];
|
|
|
M()->startTrans();
|
|
|
$model = D('SiteGame');
|
|
|
$map['id'] = $id;
|
|
|
$map['promote_id'] = PID;
|
|
|
$game = $model->where($map)->delete();
|
|
|
$map = [];
|
|
|
$map['promote_id'] = PID;
|
|
|
$map['game_id'] = $id;
|
|
|
$serverdata = M('Site_server','tab_')->where($map)->find();
|
|
|
if($serverdata){
|
|
|
$server = D("SiteServer")->where($map)->delete();
|
|
|
}
|
|
|
if($game){
|
|
|
D('SiteGroup')->where(array('site_game_id'=>$id,'promote_id'=>PID))->delete();
|
|
|
$this->ajaxReturn(array('status'=>1,'msg'=>"删除成功"));exit;
|
|
|
// M()->commit();
|
|
|
}else{
|
|
|
$this->ajaxReturn(array('status'=>0,'msg'=>"删除失败"));exit;
|
|
|
// M()->rollback();
|
|
|
}
|
|
|
// $this->redirect('index');
|
|
|
}
|
|
|
|
|
|
public function game_detail($game_id){
|
|
|
if (!$game_id){
|
|
|
return '';
|
|
|
}
|
|
|
$Model = M('game','tab_');
|
|
|
$map['tab_game.id'] =$game_id;
|
|
|
$data = $Model
|
|
|
->field('tab_game.id,tab_game.game_name,tab_game.game_type_name as game_type,p.open_name,tab_game.game_size,g.version,category,tab_game.sdk_version,tab_game.game_type_id')
|
|
|
->join('left join tab_game_source g on g.game_id = tab_game.id ')
|
|
|
->join('left join tab_opentype p on tab_game.category = p.id')
|
|
|
->where($map)
|
|
|
->find();
|
|
|
if($data['category'] == 0){
|
|
|
$data['open_name'] = '公测';
|
|
|
}
|
|
|
if ($data['game_size']){
|
|
|
$data['game_size'] = substr($data['game_size'],0,-2);
|
|
|
}
|
|
|
$where['game_name'] = str_replace(array('(安卓版)','(苹果版)'),'',$data['game_name']);
|
|
|
$where['sdk_version'] = $data['sdk_version'] == 1 ? 2 : 1;
|
|
|
$game = M("site_game","tab_")->where($where)->field("game_type,open_type,version,summary,description,recommend_status,game_icon,game_img,screenshot,game_bg_img")->find();
|
|
|
if($game){
|
|
|
$data['open_type'] = $game['open_type'];
|
|
|
$data['version'] = $game['version'];
|
|
|
$data['summary'] = $game['summary'];
|
|
|
$data['description'] = $game['description'];
|
|
|
$data['recommend_status'] = explode(",",$game['recommend_status']);
|
|
|
$data['game_icon'] = $game['game_icon'];
|
|
|
$data['game_icon_src'] = get_cover($game['game_icon'],'path');
|
|
|
$data['game_img'] = $game['game_img'];
|
|
|
$data['game_img_src'] = get_cover($game['game_img'],'path');
|
|
|
$data['screenshot'] = $game['screenshot'];
|
|
|
$data['game_bg_img'] = $game['game_bg_img'];
|
|
|
$data['game_bg_img_src'] = get_cover($game['game_bg_img'],'path');
|
|
|
}
|
|
|
$this->ajaxReturn($data);
|
|
|
}
|
|
|
|
|
|
public function game_detail1($game_name){
|
|
|
if (!$game_name){
|
|
|
return '';
|
|
|
}
|
|
|
$where['game_name'] = $game_name;
|
|
|
$game = M("site_game","tab_")->where($where)->field("game_type,open_type,version,summary,description,recommend_status,game_icon,game_img,screenshot,game_bg_img,game_type_id")->find();
|
|
|
$data['open_type'] = $game['open_type'];
|
|
|
$data['version'] = $game['version'];
|
|
|
$data['summary'] = $game['summary'];
|
|
|
$data['description'] = $game['description'];
|
|
|
$data['recommend_status'] = explode(",",$game['recommend_status']);
|
|
|
$data['game_icon'] = $game['game_icon'];
|
|
|
$data['game_icon_src'] = get_cover($game['game_icon'],'path');
|
|
|
$data['game_img'] = $game['game_img'];
|
|
|
$data['game_img_src'] = get_cover($game['game_img'],'path');
|
|
|
$data['screenshot'] = $game['screenshot'];
|
|
|
$data['game_bg_img'] = $game['game_bg_img'];
|
|
|
$data['game_bg_img_src'] = get_cover($game['game_bg_img'],'path');
|
|
|
$data['game_type_id'] = $game['game_type_id'];
|
|
|
$this->ajaxReturn($data);
|
|
|
}
|
|
|
|
|
|
public function game_type() {
|
|
|
|
|
|
$data = M('game_type','tab_')->field('id,type_name')->where(array('status'=>1,'status_show'=>1))->select();
|
|
|
|
|
|
$this->ajaxReturn($data);
|
|
|
}
|
|
|
|
|
|
public function top($id){
|
|
|
$model = D('SiteGame');
|
|
|
$sql = "UPDATE `tab_site_game` SET `is_top`='0' WHERE `is_top` = '1'";
|
|
|
M()->execute($sql);
|
|
|
$map['id'] = $id;
|
|
|
$data['is_top'] = 1;
|
|
|
$model->where($map)->setField($data);
|
|
|
$this->redirect('SiteGame/index');
|
|
|
}
|
|
|
public function endtop($id){
|
|
|
$model = D('SiteGame');
|
|
|
$map['id'] = $id;//查询创建时间
|
|
|
$data['is_top'] = 0;
|
|
|
$model->where($map)->setField($data);
|
|
|
$this->redirect('SiteGame/index');
|
|
|
}
|
|
|
} |