public static function getActiveBansTable() { if (isset(static::$_activeBans)) { return static::$_activeBans; } if (static::$_activeBans = Cache::fetch('bans')) { return static::$_activeBans; } static::$_activeBans = ['ips' => [], 'keys' => []]; foreach (Ban::getAllByWhere('ExpirationDate IS NULL OR ExpirationDate > CURRENT_TIMESTAMP') as $Ban) { if ($Ban->IP) { static::$_activeBans['ips'][] = long2ip($Ban->IP); } elseif ($Ban->KeyID) { static::$_activeBans['keys'][] = $Ban->KeyID; } } Cache::store('bans', static::$_activeBans, static::$tableCachePeriod); return static::$_activeBans; }