global $mdb; $involved = array(); $message = ''; $id = (int) $id; while ($mdb->count('queueInfo', ['killID' => $id])) { sleep(1); } $exists = $mdb->exists('killmails', ['killID' => $id]); if (!$exists) { return $app->render('404.html', array('message' => "KillID {$id} does not exist."), 404); } $killKey = "CacheKill:{$id}:{$pageview}"; $details = RedisCache::get($killKey); if ($details == null) { // Create the details on this kill $killdata = Kills::getKillDetails($id); // create the dropdown involved array $allinvolved = $killdata['involved']; $cnt = 0; while ($cnt < 10) { if (isset($allinvolved[$cnt])) { $involved[] = $allinvolved[$cnt]; unset($allinvolved[$cnt]); } ++$cnt; continue; } $topDamage = $finalBlow = null; $first = null; if (sizeof($killdata['involved']) > 1) { foreach ($killdata['involved'] as $inv) {
* (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ //make sure the requester is not being a naughty boy Util::scrapeCheck(); //set the headers to cache the request properly $dna = array(); $parameters = Util::convertUriToParameters(); $page = 1; if (isset($parameters["page"])) { $page = $parameters["page"]; } $kills = Feed::getKills(array("limit" => 200, "cacheTime" => 3600, "page" => $page)); foreach ($kills as $kill) { $kill = json_decode($kill, true); $killdata = Kills::getKillDetails($kill["killID"]); $dna[][] = array("killtime" => $killdata["info"]["dttm"], "SolarSystemName" => $killdata["info"]["solarSystemName"], "solarSystemID" => $killdata["info"]["solarSystemID"], "regionID" => $killdata["info"]["regionID"], "regionName" => $killdata["info"]["regionName"], "victimCharacterID" => isset($killdata["victim"]["characterID"]) ? isset($killdata["victim"]["characterID"]) : null, "victimCharacterName" => isset($killdata["victim"]["characterName"]) ? isset($killdata["victim"]["characterName"]) : null, "victimCorporationID" => isset($killdata["victim"]["corporationID"]) ? isset($killdata["victim"]["corporationID"]) : null, "victimCorporationName" => isset($killdata["victim"]["corporationName"]) ? isset($killdata["victim"]["corporationName"]) : null, "victimAllianceID" => isset($killdata["victim"]["allianceID"]) ? isset($killdata["victim"]["allianceID"]) : null, "victimAllianceName" => isset($killdata["victim"]["allianceName"]) ? isset($killdata["victim"]["allianceName"]) : null, "victimFactionID" => isset($killdata["victim"]["factionID"]) ? isset($killdata["victim"]["factionID"]) : null, "victimFactionName" => isset($killdata["victim"]["factionName"]) ? isset($killdata["victim"]["factionName"]) : null, "dna" => Fitting::DNA($killdata["items"], $killdata["victim"]["shipTypeID"])); } $app->etag(md5(serialize($dna))); $app->expires("+1 hour"); header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET"); $app->contentType("application/json; charset=utf-8"); echo json_encode($dna, JSON_NUMERIC_CHECK);
private static function getStatsKillList($killIDs) { $totalPrice = 0; $totalPoints = 0; $groupIDs = array(); $totalShips = 0; foreach ($killIDs as $killID) { $kill = Kills::getKillDetails($killID); $info = $kill['info']; $victim = $kill['victim']; $totalPrice += $info['zkb']['totalValue']; $totalPoints += $info['zkb']['points']; $groupID = $victim['groupID']; if (!isset($groupIDs[$groupID])) { $groupIDs[$groupID] = array(); $groupIDs[$groupID]['count'] = 0; $groupIDs[$groupID]['isk'] = 0; $groupIDs[$groupID]['points'] = 0; } $groupIDs[$groupID]['groupID'] = $groupID; ++$groupIDs[$groupID]['count']; $groupIDs[$groupID]['isk'] += $info['zkb']['totalValue']; $groupIDs[$groupID]['points'] += $info['zkb']['points']; ++$totalShips; } Info::addInfo($groupIDs); return array('total_price' => $totalPrice, 'groupIDs' => $groupIDs, 'totalShips' => $totalShips, 'total_points' => $totalPoints); }
<?php //set the headers to cache the request properly $dna = array(); $parameters = Util::convertUriToParameters(); $page = 1; if (isset($parameters['page'])) { $page = $parameters['page']; } $kills = Feed::getKills(array('limit' => 200, 'cacheTime' => 3600, 'page' => $page)); foreach ($kills as $kill) { $kill = json_decode($kill, true); $killdata = Kills::getKillDetails($kill['killID']); $dna[][] = array('killtime' => $killdata['info']['dttm'], 'SolarSystemName' => $killdata['info']['solarSystemName'], 'solarSystemID' => $killdata['info']['solarSystemID'], 'regionID' => $killdata['info']['regionID'], 'regionName' => $killdata['info']['regionName'], 'victimCharacterID' => isset($killdata['victim']['characterID']) ? isset($killdata['victim']['characterID']) : null, 'victimCharacterName' => isset($killdata['victim']['characterName']) ? isset($killdata['victim']['characterName']) : null, 'victimCorporationID' => isset($killdata['victim']['corporationID']) ? isset($killdata['victim']['corporationID']) : null, 'victimCorporationName' => isset($killdata['victim']['corporationName']) ? isset($killdata['victim']['corporationName']) : null, 'victimAllianceID' => isset($killdata['victim']['allianceID']) ? isset($killdata['victim']['allianceID']) : null, 'victimAllianceName' => isset($killdata['victim']['allianceName']) ? isset($killdata['victim']['allianceName']) : null, 'victimFactionID' => isset($killdata['victim']['factionID']) ? isset($killdata['victim']['factionID']) : null, 'victimFactionName' => isset($killdata['victim']['factionName']) ? isset($killdata['victim']['factionName']) : null, 'dna' => Fitting::DNA($killdata['items'], $killdata['victim']['shipTypeID'])); } $app->etag(md5(serialize($dna))); $app->expires('+1 hour'); header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET'); $app->contentType('application/json; charset=utf-8'); echo json_encode($dna, JSON_NUMERIC_CHECK);