/** * Gets killmails. * * @param $parameters an array of parameters to fetch mails for * @param $allTime gets all mails from the beginning of time or not * * @return array */ public static function getKills($parameters = array(), $allTime = true, $includeKillDetails = true) { global $mdb; $hashKey = 'Kills::getKills:' . serialize($parameters); $result = Cache::get($hashKey); //if ($result != null) return $result; $kills = MongoFilter::getKills($parameters); if ($includeKillDetails == false) { return $kills; } $details = []; foreach ($kills as $kill) { $killID = (int) $kill['killID']; $killHashKey = "killDetail:{$killID}"; $killmail = Cache::get($killHashKey); if ($killmail == null) { $killmail = $mdb->findDoc('killmails', ['killID' => $killID, 'cacheTime' => 3600]); Info::addInfo($killmail); $killmail['victim'] = $killmail['involved'][0]; $killmail['victim']['killID'] = $killID; foreach ($killmail['involved'] as $inv) { if (@$inv['finalBlow'] === true) { $killmail['finalBlow'] = $inv; } } $killmail['finalBlow']['killID'] = $killID; unset($killmail['_id']); Cache::set($killHashKey, $killmail, 3600); } $details[$killID] = $killmail; } Cache::set($hashKey, $details, 60); return $details; }