public function getGlobals() { $result = array(); if (User::isLoggedIn()) { $u = User::getUserInfo(); $config = UserConfig::getAll(); foreach ($config as $key => $val) { $this->addGlobal($result, $key, $val); } $this->addGlobal($result, 'sessionusername', $u['username']); $this->addGlobal($result, 'sessionuserid', $u['id']); $this->addGlobal($result, 'sessionadmin', (bool) $u['admin']); $this->addGlobal($result, 'sessionmoderator', (bool) $u['moderator']); } global $mdb; $killsLastHour = new RedisTtlCounter('killsLastHour', 3600); $this->addGlobal($result, 'killsLastHour', $killsLastHour->count(), 0); return $result; }
<?php require_once '../init.php'; $minute = (int) date('i'); if ($minute != 0) { exit; } $mdb = new Mdb(); $killsLastHour = new RedisTtlCounter('killsLastHour', 3600); $kills = $killsLastHour->count(); $count = $mdb->findField('storage', 'contents', ['locker' => 'totalKills']); if ($kills > 0) { Log::irc('|g|' . number_format($kills, 0) . '|n| kills processed.'); Util::out(number_format($kills, 0) . ' kills added, now at ' . number_format($count, 0) . ' kills.'); }
} addInfo('', 0); addInfo('Kills remaining to be fetched.', $mdb->count('crestmails', ['processed' => false])); $killsLastHour = new RedisTtlCounter('killsLastHour', 3600); addInfo('Kills last hour', $killsLastHour->count()); addInfo('Total Kills', $redis->get('zkb:totalKills')); addInfo('Top killID', $mdb->findField('killmails', 'killID', [], ['killID' => -1])); addInfo('', 0); addInfo('Api KillLogs to check', $redis->zCount('tqApiChars', 0, time())); addInfo("Api KeyInfos to check", $redis->zCount('tqApis', 0, time())); addInfo('Char/Corp Apis', $redis->zCard('tqApiChars')); addInfo('Valid Apis', $redis->zCard('tqApis')); addInfo('', 0); $visitors = new RedisTtlCounter('ttlc:visitors', 300); addInfo('Unique IPs in last 5 minutes', $visitors->count()); $requests = new RedisTtlCounter('ttlc:requests', 300); addInfo('Requests in last 5 minutes', $requests->count()); $info = $redis->info(); $mem = $info['used_memory_human']; $stats = $mdb->getDb()->command(['dbstats' => 1]); $dataSize = number_format($stats['dataSize'] / (1024 * 1024 * 1024), 2); $storageSize = number_format($stats['storageSize'] / (1024 * 1024 * 1024), 2); $memory = getSystemMemInfo(); $memTotal = number_format($memory['MemTotal'] / (1024 * 1024), 2); $memUsed = number_format(($memory['MemTotal'] - $memory['MemFree'] - $memory['Cached']) / (1024 * 1024), 2); $maxLen = 0; foreach ($infoArray as $i) { foreach ($i as $key => $value) { $maxLen = max($maxLen, strlen("{$value}")); } }
<?php require_once '../init.php'; global $baseAddr; $crestmails = $mdb->getCollection('crestmails'); $rawmails = $mdb->getCollection('rawmails'); $queueProcess = new RedisQueue('queueProcess'); $queueShare = new RedisQueue('queueShare'); $killsLastHour = new RedisTtlCounter('killsLastHour'); $counter = 0; $timer = new Timer(); while (!Util::exitNow() && $timer->stop() < 115000) { $unprocessed = $crestmails->find(array('processed' => false))->sort(['killID' => -1])->limit(10); if (!$unprocessed->hasNext()) { sleep(1); } foreach ($unprocessed as $crestmail) { if (Util::exitNow()) { break; } $id = $crestmail['killID']; $hash = $crestmail['hash']; if ($mdb->exists('killmails', ['killID' => $id])) { $crestmails->update($crestmail, array('$set' => array('processed' => true))); continue; } $killmail = CrestTools::fetch($id, $hash); if ($killmail == null || $killmail == '' || !isset($killmail['attackers'])) { if ($killmail == 403) { $mdb->remove('crestmails', $crestmail); } else {
// also prevents sessions from being created without ssl if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] != 'https') { $uri = @$_SERVER['REQUEST_URI']; header("Location: https://zkillboard.com{$uri}"); die; } $timer = new Timer(); // Starting Slim Framework $app = new \Slim\Slim($config); // Session session_set_save_handler(new RedisSessionHandler(), true); session_cache_limiter(false); session_start(); $visitors = new RedisTtlCounter('ttlc:visitors', 300); $visitors->add(IP::get()); $requests = new RedisTtlCounter('ttlc:requests', 300); $requests->add(uniqid()); $load = getLoad(); // Check if the user has autologin turned on if ($load < 20 && !User::isLoggedIn()) { User::autoLogin(); } if ($load >= 20) { $uri = @$_SERVER['REQUEST_URI']; if ($uri != '') { $contents = $redis->get("cache:{$uri}"); if ($contents !== false) { echo $contents; exit; } $_SERVER['requestDttm'] = $mdb->now();