diff --git a/webapp/controller/SeasonController.class.php b/webapp/controller/SeasonController.class.php index de578994..77380cb2 100644 --- a/webapp/controller/SeasonController.class.php +++ b/webapp/controller/SeasonController.class.php @@ -39,6 +39,9 @@ class SeasonController extends BaseAuthedController { { parent::_handlePre(); $this->currRankSeasonMeta = mt\RankSeason::getCurrentSeason(); + if (!$this->currRankSeasonMeta) { + $this->currRankSeasonMeta = mt\RankSeason::getLastSeason(); + } if (!$this->currRankSeasonMeta) { $this->_rspErr(10, 'server internal error'); die(); diff --git a/webapp/mt/RankSeason.php b/webapp/mt/RankSeason.php index 958ad3aa..21107450 100644 --- a/webapp/mt/RankSeason.php +++ b/webapp/mt/RankSeason.php @@ -19,6 +19,23 @@ class RankSeason return self::$metaList; } + public static function getLastSeason() + { + $metaList = self::getMetaList(); + $count = count($metaList); + foreach ($metaList as $key => $meta) { + if (myself()->_getNowTime() >= strtotime($metaList[$key]['end_time']) && + myself()->_getNowTime() <= strtotime($metaList[$key+1]['start_time'])) { + return $meta; + } + if ($key == $count && myself()->_getNowTime() >= strtotime($meta['end_time'])) { + return $meta; + } + } + return array(); + } + + public static function getCurrentSeason() { foreach (self::getMetaList() as $meta) {