_getNowTime() > $meta['_start_time_utc']) { return $meta; } } return $currentMeta; } protected static function getMetaList() { if (!self::$metaList) { self::$metaList = getMetaTable('batch@market.php'); foreach (self::$metaList as &$meta) { if (empty($meta['start_time'])) { $meta['_start_time_utc'] = 0; } else { $meta['_start_time_utc'] = strtotime($meta['start_time']) - $meta['world_time_zone'] * 3600; } if (empty($meta['end_time'])) { $meta['_end_time_utc'] = 0; } else { $meta['_end_time_utc'] = strtotime($meta['end_time']) - $meta['world_time_zone'] * 3600; } } } return self::$metaList; } protected static function mustBeSortedList() { if (!self::$sortedList) { self::$sortedList = array(); foreach (self::getMetaList() as $meta) { array_push(self::$sortedList, $meta); } usort(self::$sortedList, function ($a, $b) { if ($a['_start_time_utc'] == $b['_start_time_utc']) { die(json_encode(array( 'errcode' => 500, 'errmsg' => 'server internal error' ))); } return $a['_start_time_utc'] < $b['_start_time_utc']; }); } } protected static $metaList; protected static $sortedList; }