<?php
namespace Site\Controller;

use Think\Controller;

/**
 * 游戏 控制器
 * lwx
 */
class GameController extends BaseController {
	
	const model_name = 'SiteGame';
	
	public function index($p=1){
		
		if (is_mobile_request()) {
			
			$lists = D(self::model_name)->lists(1,'id,game_id,game_name,game_size,summary,sdk_version,download_number,game_icon,promote_id,game_source,game_dow_url');
			$this->assign('lists',$lists['data']);
			
			$this->assign('total',$lists['total']);
			
		} else {
			
			parent::page(D(self::model_name)->lists($p,'game_name,download_number,game_icon,game_source',21));
		
		}

		$this->display();
			
	}
	
	public function detail($name='',$source=1) {
		
		$game = D(self::model_name)->detail($name,$source);
		
		$this->other($game);
	
		$this->assign('data',$game);
		
		$this->display();
		
	}
	
	public function open($name='',$source=1,$p=0) {
		
		$game = D(self::model_name)->base($name,$source);
		
		$this->other($game);
        $map['tab_site_server.game_id'] = array('in',$game['ids']);
		parent::page(D('SiteServer')->all($p,$map,"tab_site_server.id,tab_site_server.server_name,tab_site_server.status,tab_site_server.start_time,tab_site_server.server_version",12));
		$this->assign('data',$game);
		
		$this->display();
		
	}
	
	public function gift($name='',$source=1,$p=0) {
		
		$game = D(self::model_name)->base($name,$source);
		
		$this->other($game);
        parent::page(D('SiteGift')->all($p,['tab_site_gift.site_game_id'=>array('in',$game['ids']),'tab_site_gift.end_time'=>array(array('gt',time()),array('eq',0),'or')],'tab_site_gift.id,tab_site_gift.site_game_id,tab_site_gift.gift_name,tab_site_gift.gift_content,tab_site_gift.novice,tab_site_gift.giftbag_version,tab_site_gift.server_name,tab_site_gift.start_time,tab_site_gift.end_time',16));
		$this->assign('data',$game);
		
		$this->display();
		
	}
	
	public function other($game) {
		
		if (is_mobile_request()) {
			
			$this->assign('other',D(self::model_name)->limits(['game_type_id'=>$game['game_type_id'],'id'=>array('neq',$game['id'])],4));
			
		}
		
	}
	
	public function more($p=2) {
		
		$lists = D(self::model_name)->lists($p,'id,game_id,game_name,game_size,summary,download_number,game_icon,game_source');

		if ($lists['data']) {

			echo json_encode(array('status'=>1,'info'=>'','list'=>$lists['data']));
			
		} else {
			
			echo json_encode(array('status'=>0,'info'=>''));
			
		}
		
	}

	public function setdownload($game_id,$promote_id){
	    if(empty($game_id))return '';
        M('site_game','tab_')->where(array('id'=>$game_id,'promote_id'=>$promote_id))->setInc('download_number',1);
        return true;

    }


		
}