<?php

namespace Home\Controller;

/**
 * 前台首页控制器
 * 主要获取首页聚合数据
 */
class SiteServerController extends BaseController {

    public function add(){
        if(IS_POST){
            $model = D('SiteServer');
            $res = $model->saveData();
            if($res !== false){
                $this->success('添加成功!');
            }else{
                $this->error('添加失败:'.$model->getError());
            }
        }else {
            $game = D("SiteGame")->get_self_game();
            $this->meta_title = "添加区服";
            $this->assign('game', $game);
            $this->display();
        }
    }

    public function edit($id=0){
        $model = D('SiteServer');
        if(IS_POST){
            $res = $model->saveData();
            if($res !== false){
                $this->success('添加成功!');
            }else{
                $this->error('添加失败:'.$model->getError());
            }
        }else {
            $game = D("SiteGame")->get_self_game();
            $data = $model->where(['promote_id'=>PID])->find($id);
						$game_source = D('SiteGame')->field('game_source')->where(array('id'=>$data['game_id']))->find();
						$data['game_source'] = $game_source['game_source'];
            $this->assign('data',$data);
            $this->assign('game', $game);
            $this->meta_title = "编辑区服";
            $this->display();
        }
    }

    public function del($id){
        $model = D('SiteServer');
        $map['id'] = $id;
        $map['promote_id'] = PID;
        $res = $model->where($map)->delete();
        if($res){
        	$this->ajaxReturn(array('status'=>1,'msg'=>"删除成功"));exit;
        }else{
        	$this->ajaxReturn(array('status'=>0,'msg'=>"删除失败"));exit;
        }
    }
    public function index($p=0,$server_name='',$game_name=''){
        $page = intval($p);
        $page = $page ? $page : 1; //默认显示第一页数据
        $row = 10;
        $map['promote_id'] = PID;
        $map['status'] = 1;
        if($server_name != ''){
            $map['server_name'] = array('like','%'.$server_name.'%');
            $parameter['server_name'] = $server_name;
        }
        if($game_name != ''){
            $map['game_name'] = array('like','%'.$game_name.'%');
            $parameter['game_name'] = $game_name;
        }
        $game=D("SiteGame")->field('id,game_name')->distinct(true)->where($map)->select();
        foreach ($game as $k => $v) {
            if(empty($v['id'])){
                unset($game[$k]);
            }
            if(!empty($v['id'])){
            $gameName[$k] = $v['id'];
            }
        }
        $SiteServer = D('SiteServer');
        if(!empty($gameName)){
        $map['game_id'] = array('in',implode(',',$gameName));
        }
        if(!empty($game)){
            $data = $SiteServer->where($map)->page($page,$row)->select();
            $count = $SiteServer->field('id')->where($map)->select();
            $count =count($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('data',$data);
        $this->meta_title = "区服列表"; 
        $this->display();
    } 

}