Esempio n. 1
0
 /**
  * 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;
 }