From f158abb36515b67ef27848d8aa2246687bf8f41a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 20 Apr 2024 16:45:03 +0800 Subject: [PATCH 1/2] 1 --- webapp/controller/OtherController.class.php | 10 ++++++++-- webapp/mt/MapMode.php | 11 +++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/webapp/controller/OtherController.class.php b/webapp/controller/OtherController.class.php index 32133b11..7377626d 100644 --- a/webapp/controller/OtherController.class.php +++ b/webapp/controller/OtherController.class.php @@ -5,6 +5,7 @@ require_once('mt/RankSeason.php'); require_once('mt/HashRateCommon.php'); require_once('mt/ActivityRewards.php'); require_once('mt/MapMode.php'); +require_once('mt/ServerTaskTime.php'); require_once('models/Mission.php'); require_once('models/Fragment.php'); @@ -14,6 +15,7 @@ require_once('models/RankingSetRecord.php'); require_once('models/Staking.php'); require_once('models/SeasonRanking.php'); require_once('models/RewardsCec.php'); +require_once('models/GlobalData.php'); use models\SignLog; use phpcommon\SqlHelper; @@ -24,6 +26,8 @@ use models\RankingSetRecord; use models\Staking; use models\SeasonRanking; use models\RewardsCec; +use models\GlobalData; + class OtherController extends BaseAuthedController { const MISSION = 1; const PIECE = 2; @@ -181,14 +185,16 @@ class OtherController extends BaseAuthedController { public function getMapModeList() { $modeList = array(); - foreach (mt\MapMode::getMetaList() as $modeMeta) { + $taskStatus = GlobalData::getServerTaskStatus(); + mt\MapMode::traverseMeta(function($modeMeta) use(&$modeList){ array_push( $modeList, array( 'id' => $modeMeta['id'] ) ); - } + return true; + }); $this->_rspData(array( 'mode_list' => $modeList )); diff --git a/webapp/mt/MapMode.php b/webapp/mt/MapMode.php index 1512a099..0d8d87e5 100644 --- a/webapp/mt/MapMode.php +++ b/webapp/mt/MapMode.php @@ -25,7 +25,14 @@ class MapMode return array(); } - + public static function traverseMeta($cb) + { + foreach (self::getMetaList() as $meta) { + if (!$cb($meta)) { + break; + } + } + } protected static function getMetaList() { @@ -37,4 +44,4 @@ class MapMode protected static $metaList; -} \ No newline at end of file +} From 1fe6d5ec6eeb83787ab007569b98402c4fec385c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 20 Apr 2024 16:52:50 +0800 Subject: [PATCH 2/2] 1 --- webapp/controller/OtherController.class.php | 25 +++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/webapp/controller/OtherController.class.php b/webapp/controller/OtherController.class.php index 7377626d..886a7fd3 100644 --- a/webapp/controller/OtherController.class.php +++ b/webapp/controller/OtherController.class.php @@ -186,13 +186,24 @@ class OtherController extends BaseAuthedController { { $modeList = array(); $taskStatus = GlobalData::getServerTaskStatus(); - mt\MapMode::traverseMeta(function($modeMeta) use(&$modeList){ - array_push( - $modeList, - array( - 'id' => $modeMeta['id'] - ) - ); + $taskMeta = mt\ServerTaskTime::getCurrentTime(); + mt\MapMode::traverseMeta(function($modeMeta) use(&$modeList, &$taskMeta, $taskStatus){ + if ($modeMeta['is_open']) { + if ($modeMeta['limit_time']) { + if (empty($taskStatus)) { + return true; + } + if (myself()->_getNowTime() <= strtotime($taskMeta['obtain_end_time'])) { + return true; + } + } + array_push( + $modeList, + array( + 'id' => $modeMeta['id'] + ) + ); + } return true; }); $this->_rspData(array(