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.
140 lines
6.2 KiB
PHTML
140 lines
6.2 KiB
PHTML
5 years ago
|
<?php
|
||
|
namespace Mobile\Controller;
|
||
|
use Think\Controller;
|
||
|
|
||
|
/**
|
||
|
* 首页
|
||
|
*/
|
||
|
class OpenController extends BaseController {
|
||
|
|
||
|
/**
|
||
|
* 开服
|
||
|
*/
|
||
|
public function index() {
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
$row = C('LIST_ROWS');
|
||
|
$devices = get_devices_type();
|
||
|
|
||
|
$open = I('get.open') ? I('get.open') : 1;
|
||
|
|
||
|
$time = time();
|
||
|
if($open==1){
|
||
|
$where['start_time'] = ['egt',$time];
|
||
|
$order = 'start_time';
|
||
|
}else{
|
||
|
$where['start_time'] = ['lt',$time];
|
||
|
$order = 'start_time desc';
|
||
|
}
|
||
|
|
||
|
$where['show_status'] = 1;
|
||
|
$where['g.sdk_version'] = array('like','%'.$devices.'%');
|
||
|
$lists = D("Server")
|
||
|
->alias('ser')
|
||
|
->field('server_name,start_time,ser.game_name,sor.pack_name,ser.game_id,sor.file_url,g.sdk_version,g.down_port,g.and_dow_address,g.dow_status,g.ios_dow_address,g.add_game_address,g.ios_game_address,g.relation_game_name')
|
||
|
->join('tab_game g on g.id = ser.game_id and g.game_status = 1 and g.display_site like "%'.DISPLAY_SITE.'%" ')
|
||
|
->join("left join tab_game_source as sor on sor.game_id = ser.game_id")
|
||
|
->where($where)
|
||
|
->order($order)
|
||
|
->page($page, $row)
|
||
|
->select();
|
||
|
foreach ($lists as $key => $value) {
|
||
|
if($value['dow_status']!=1){
|
||
|
$lists[$key]['status'] = 0;
|
||
|
}elseif($value["down_port"] == 1 && $value["sdk_version"] == 1 && empty($value["and_dow_address"]) || $value["down_port"] == 1 && $value["sdk_version"] == 2 && empty($value["ios_dow_address"]) || $value["down_port"] == 2 && $value["sdk_version"] == 1 && empty($value["add_game_address"]) || $value["down_port"] == 2 && $value["sdk_version"] == 2 && empty($value["ios_game_address"])){
|
||
|
$lists[$key]['status'] = 0;
|
||
|
}else{
|
||
|
if($value["down_port"] == 1){
|
||
|
if($value["sdk_version"] == 2){
|
||
|
$lists[$key]['down_url'] = $value["ios_dow_address"];
|
||
|
}else{
|
||
|
$lists[$key]['down_url'] = U('AjaxDown/down_file',['game_id'=>$value['game_id'],'sdk_version'=>$value['sdk_version']]);
|
||
|
}
|
||
|
}else{
|
||
|
if($value["sdk_version"] == 2){
|
||
|
$lists[$key]['down_url'] = $value["ios_game_address"];
|
||
|
}else{
|
||
|
$lists[$key]['down_url'] = U('AjaxDown/down_file',['game_id'=>$value['game_id'],'sdk_version'=>$value['sdk_version']]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$lists[$key]['status'] = 1;
|
||
|
}
|
||
|
$lists[$key]['time'] = date('H:i',$value['start_time']);
|
||
|
$lists[$key]['date'] = date('Y-m-d',$value['start_time']);
|
||
|
if(!is_mobile_request()){
|
||
|
$lists[$key]['relation_game_name'] = $value['game_name'];
|
||
|
}
|
||
|
}
|
||
|
$this->assign('lists',$lists);
|
||
|
$this->assign('page',$page);
|
||
|
$this->assign('open',$open);
|
||
|
$this->assign('devices',$devices);
|
||
|
$this->assign('mate_title','开服列表');
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
public function ajaxopen() {
|
||
|
$p = I('post.p');
|
||
|
$devices = get_devices_type();
|
||
|
$open = I('get.open') ? I('get.open') : 1;
|
||
|
$status = 0;
|
||
|
$row = C('LIST_ROWS'); // C('LIST_ROWS')
|
||
|
$time = time();
|
||
|
if($open==1){
|
||
|
$where['start_time'] = ['egt',$time];
|
||
|
}else{
|
||
|
$where['start_time'] = ['lt',$time];
|
||
|
}
|
||
|
|
||
|
$where['show_status'] = 1;
|
||
|
$where['g.sdk_version'] = array('like','%'.$devices.'%');
|
||
|
$lists = D("Server")
|
||
|
->alias('ser')
|
||
|
->field('server_name,start_time,ser.game_name,sor.pack_name,ser.game_id,sor.file_url,g.sdk_version,g.down_port,g.and_dow_address,g.dow_status,g.ios_dow_address,g.add_game_address,g.ios_game_address')
|
||
|
->join('tab_game g on g.id = ser.game_id and g.game_status = 1 and g.display_site "%'.DISPLAY_SITE.'%" ')
|
||
|
->join("left join tab_game_source as sor on sor.game_id = ser.game_id")
|
||
|
->where($where)
|
||
|
->order("start_time")
|
||
|
->page($p, $row)
|
||
|
->select();
|
||
|
foreach ($lists as $key => $value) {
|
||
|
if($value['dow_status']!=1){
|
||
|
$lists[$key]['status'] = 0;
|
||
|
}elseif($value["down_port"] == 1 && $value["sdk_version"] == 1 && empty($value["and_dow_address"]) || $value["down_port"] == 1 && $value["sdk_version"] == 2 && empty($value["ios_dow_address"]) || $value["down_port"] == 2 && $value["sdk_version"] == 1 && empty($value["add_game_address"]) || $value["down_port"] == 2 && $value["sdk_version"] == 2 && empty($value["ios_game_address"])){
|
||
|
$lists[$key]['status'] = 0;
|
||
|
}else{
|
||
|
$lists[$key]['status'] = 1;
|
||
|
if($value["down_port"] == 1){
|
||
|
if($value["sdk_version"] == 2){
|
||
|
$lists[$key]['down_url'] = $value["ios_dow_address"];
|
||
|
}else{
|
||
|
$lists[$key]['down_url'] = U('AjaxDown/down_file',['game_id'=>$value['game_id'],'sdk_version'=>$value['sdk_version']]);
|
||
|
}
|
||
|
}else{
|
||
|
if($value["sdk_version"] == 2){
|
||
|
$lists[$key]['down_url'] = $value["ios_game_address"];
|
||
|
}else{
|
||
|
$lists[$key]['down_url'] = U('AjaxDown/down_file',['game_id'=>$value['game_id'],'sdk_version'=>$value['sdk_version']]);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if(!is_mobile_request()) {
|
||
|
$lists[$key]['game_name'] = substr_game_name($value['game_name']);
|
||
|
} else {
|
||
|
$lists[$key]['game_name'] = str_replace(array('(安卓版)','(苹果版)'),'',$value['game_name']);
|
||
|
}
|
||
|
$lists[$key]['time'] = date('H:i',$value['start_time']);
|
||
|
$lists[$key]['date'] = date('Y-m-d',$value['start_time']);
|
||
|
if(!is_mobile_request()){
|
||
|
$lists[$key]['relation_game_name'] = $value['game_name'];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!empty($lists) && is_array($lists)) { $status=1;}
|
||
|
|
||
|
echo json_encode(array('status'=>$status,'page'=>$p,'lists'=>$lists));
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|