Example #1
0
 $extra['location'] = @$killdata['info']['location']['itemName'];
 $extra['totalisk'] = $killdata['info']['zkb']['totalValue'];
 $extra['droppedisk'] = droppedIsk(md5($id), $killdata['items']);
 $extra['shipprice'] = Price::getItemPrice($killdata['victim']['shipTypeID'], date('Ymd', strtotime($killdata['info']['dttm'])));
 $extra['lostisk'] = $extra['shipprice'] + destroyedIsk(md5($id), $killdata['items']);
 $extra['fittedisk'] = fittedIsk(md5($id), $killdata['items']);
 $extra['relatedtime'] = date('YmdH00', strtotime($killdata['info']['dttm']));
 $extra['fittingwheel'] = Detail::eftarray(md5($id), $killdata['items'], @$killdata['victim']['characterID']);
 $extra['involvedships'] = involvedships($killdata['involved']);
 $extra['involvedshipscount'] = count($extra['involvedships']);
 $extra['totalprice'] = usdeurgbp($killdata['info']['zkb']['totalValue']);
 $extra['destroyedprice'] = usdeurgbp($extra['lostisk']);
 $extra['droppedprice'] = usdeurgbp($extra['droppedisk']);
 $extra['fittedprice'] = usdeurgbp($extra['fittedisk']);
 $extra['efttext'] = Fitting::EFT($extra['fittingwheel']);
 $extra['dnatext'] = Fitting::DNA($killdata['items'], $killdata['victim']['shipTypeID']);
 $extra['edkrawmail'] = 'deprecated - use CREST';
 $extra['zkbrawmail'] = 'deprecated - use CREST';
 $extra['slotCounts'] = Info::getSlotCounts($killdata['victim']['shipTypeID']);
 $extra['commentID'] = $id;
 $extra['crest'] = $mdb->findDoc('crestmails', ['killID' => $id, 'processed' => true]);
 $extra['prevKillID'] = $mdb->findField('killmails', 'killID', ['cacheTime' => 300, 'killID' => ['$lt' => $id]], ['killID' => -1]);
 $extra['nextKillID'] = $mdb->findField('killmails', 'killID', ['cacheTime' => 300, 'killID' => ['$gt' => $id]], ['killID' => 1]);
 $extra['warInfo'] = War::getKillIDWarInfo($id);
 //$extra["insertTime"] = Db::queryField("select insertTime from zz_killmails where killID = :killID", "insertTime", array(":killID" => $id), 300);
 $systemID = $killdata['info']['system']['solarSystemID'];
 $data = Info::getWormholeSystemInfo($systemID);
 $extra['wormhole'] = $data;
 $url = 'https://' . $_SERVER['SERVER_NAME'] . "/detail/{$id}/";
 if ($killdata['victim']['groupID'] == 29) {
     $query = ['$and' => [['involved.characterID' => (int) $killdata['victim']['characterID']], ['killID' => ['$gte' => $id - 200]], ['killID' => ['$lt' => $id]], ['vGroupID' => ['$ne' => 29]]]];
<?php

require '../includes/config.php';
$cache_timer = time() - 86400;
$stmt = $db->prepare('SELECT * FROM doctrines WHERE value_fetched <= ? LIMIT 1');
$stmt->execute(array($cache_timer));
$doctrine = $stmt->fetch(PDO::FETCH_ASSOC);
if (isset($doctrine['doctrineid'])) {
    $stmt = $db->prepare('SELECT * FROM doctrines_fits WHERE doctrineid = ?');
    $stmt->execute(array($doctrine['doctrineid']));
    $fittings = $stmt->fetchAll(PDO::FETCH_ASSOC);
    foreach ($fittings as $fitting) {
        echo "Previous fitting value: " . number_format($fitting['fitting_value']) . "<br />";
        $fitting_value = Fitting::getFittingValue($fitting['fittingid'], $fitting['fitting_ship']);
        $stmt = $db->prepare('UPDATE doctrines_fits SET fitting_value = ? WHERE fittingid = ?');
        $stmt->execute(array($fitting_value, $fitting['fittingid']));
        echo "Fitting value added for Fitting " . number_format($fitting['fittingid']) . '<br />';
        echo "New fitting value: " . number_format($fitting_value) . "<br />";
    }
    $stmt = $db->prepare('UPDATE doctrines SET value_fetched = ? WHERE doctrineid = ?');
    $stmt->execute(array(time(), $doctrine['doctrineid']));
} else {
    echo 'Nothing outside of 24 hour cache timer';
}
Example #3
0
 * (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);
 public static function getDoctrineCompliance($characterID)
 {
     //Globalizing the DB variable
     global $db;
     // Getting the group ID
     $groupID = Character::fetchGroupID($characterID);
     $characterName = Character::fetchCharacterName($characterID);
     // Getting the list of doctrines
     $stmt = $db->prepare('SELECT * FROM doctrines WHERE gid = ? ORDER BY doctrineid ASC');
     $stmt->execute(array($groupID));
     $doctrines = $stmt->fetchAll(PDO::FETCH_ASSOC);
     // Creating some statements for future use with getting fitting and module information for each doctrine and fitting respectively
     $stmtFittings = $db->prepare('SELECT * FROM doctrines_fits WHERE doctrineid = ? ORDER BY fittingid ASC');
     $stmtModules = $db->prepare('SELECT * FROM doctrines_fittingmods WHERE fittingid = ? ORDER BY type_id ASC');
     //Looping through each doctrine to get fitting information
     foreach ($doctrines as $doctrine) {
         $stmtFittings->execute(array($doctrine['doctrineid']));
         $fittings = $stmtFittings->fetchAll(PDO::FETCH_ASSOC);
         // Looping through each fitting to get module information
         foreach ($fittings as $fitting) {
             // Setting the default failure, warning, and success levels for the fitting
             $fittingFailure = 0;
             $fittingSuccess = 0;
             $fittingWarning = 0;
             $fittingTotal = 0;
             $stmtModules->execute(array($fitting['fittingid']));
             $modules = $stmtModules->fetchAll(PDO::FETCH_ASSOC);
             // Getting skill information about the ship hull itself
             $hullCheck = Fitting::checkItemPrerequisites($fitting['fitting_ship'], $characterID);
             if ($hullCheck === TRUE) {
                 $fittingSuccess += 1;
             } elseif ($hullCheck == "Warning") {
                 $fittingWarning += 1;
             } else {
                 $fittingFailure += 1;
             }
             $fittingTotal += 1;
             // Looping through each module to get skill information, and compare it to the character in question
             foreach ($modules as $module) {
                 $moduleCheck = Fitting::checkItemPrerequisites($module['type_id'], $characterID);
                 if ($moduleCheck === TRUE) {
                     $fittingSuccess += 1;
                 } elseif ($hullCheck == "Warning") {
                     $fittingWarning += 1;
                 } else {
                     $fittingFailure += 1;
                 }
                 $fittingTotal += 1;
             }
             if ($fittingFailure >= 1) {
                 $colorStatus = 'failure';
             } elseif ($fittingWarning >= 1) {
                 $colorStatus = 'warning';
             } else {
                 $colorStatus = 'success';
             }
             // Inputting the fitting into the tracking database
             $stmt = $db->prepare('INSERT INTO doctrines_tracking (charid,character_name,gid,doctrineid,fittingid,usable_items,total_items,color_status) VALUES (?,?,?,?,?,?,?,?)' . ' ON DUPLICATE KEY UPDATE character_name=VALUES(character_name),gid=VALUES(gid),usable_items=VALUES(usable_items),total_items=VALUES(total_items),color_status=VALUES(color_status)');
             $stmt->execute(array($characterID, $characterName, $groupID, $doctrine['doctrineid'], $fitting['fittingid'], $fittingSuccess, $fittingTotal, $colorStatus));
         }
     }
 }
Example #5
0
    $extra["cmtChars"] = Api::getCharacters($userID);
    $extra["cmtChars"][] = array("characterID" => 0, "characterName" => "Anonymous");
}
$extra["droppedisk"] = droppedIsk(md5($id), $killdata["items"]);
$extra["lostisk"] = $killdata["info"]["total_price"] - $extra["droppedisk"];
$extra["fittedisk"] = fittedIsk(md5($id), $killdata["items"]);
$extra["relatedtime"] = date("YmdH00", strtotime($killdata["info"]["killTime"]));
$extra["fittingwheel"] = eftarray(md5($id), $killdata["items"], $killdata["victim"]["characterID"]);
$extra["involvedships"] = involvedships($killdata["involved"]);
$extra["involvedshipscount"] = count($extra["involvedships"]);
$extra["totalprice"] = usdeurgbp($killdata["info"]["total_price"]);
$extra["destroyedprice"] = usdeurgbp($extra["lostisk"]);
$extra["droppedprice"] = usdeurgbp($extra["droppedisk"]);
$extra["fittedprice"] = usdeurgbp($extra["fittedisk"]);
$extra["efttext"] = Fitting::EFT($extra["fittingwheel"]);
$extra["dnatext"] = Fitting::DNA($killdata["items"], $killdata["info"]["shipTypeID"]);
$extra["edkrawmail"] = Kills::getRawMail($id);
$extra["zkbrawmail"] = Kills::getRawMail($id, array(), false);
$extra["reports"] = Db::queryField("SELECT count(*) as cnt FROM zz_tickets WHERE killID = :killid", "cnt", array(":killid" => $id), 0);
$extra["slotCounts"] = Info::getSlotCounts($killdata["victim"]["shipTypeID"]);
$extra["commentID"] = Info::commentID($id);
$extra["crest"] = Db::queryRow("select killID, hash from zz_crest_killmail where killID = :killID and processed = 1", array(":killID" => $id), 300);
$systemID = $killdata["info"]["solarSystemID"];
$data = Info::getWormholeSystemInfo($systemID);
$extra["wormhole"] = $data;
$url = "https://" . $_SERVER["SERVER_NAME"] . "/detail/{$id}/";
$app->render("detail.html", array("pageview" => $pageview, "killdata" => $killdata, "extra" => $extra, "message" => $message, "flags" => Info::$effectToSlot, "topDamage" => $topDamage, "finalBlow" => $finalBlow, "url" => $url));
function involvedships($array)
{
    $involved = array();
    foreach ($array as $inv) {
Example #6
0
            // Getting our Drone / Cargo Slot items first
            $stmt->execute(array($fitting['fittingid'], 'Drone'));
            $drone_slots = $stmt->fetchAll(PDO::FETCH_ASSOC);
            if ($stmt->rowCount() >= 1) {
                ?>
													<tr>
														<td><img style="width: 24px; height: 24px;" src="/img/slot_cargo.jpg"></td>
														<td></td>
														<td>Drone Bay and Cargo Hold</td>
														<td></td>
													</tr>
													<?php 
                foreach ($drone_slots as $drone) {
                    // Adding drones and cargo to IGB Fitting Array
                    $igb_fitting_array[] = $drone['type_id'] . ';' . $drone['module_quantity'];
                    $preRequisites = Fitting::checkItemPrerequisites($drone['type_id'], $user->getDefaultID());
                    if ($preRequisites) {
                        $prereq_color = 'class="opaque-success"';
                    } elseif ($preRequisites == 'WARNING') {
                        $prereq_color = 'class="opaque-warning"';
                    } else {
                        $prereq_color = 'class="opaque-danger"';
                    }
                    ?>
														<tr <?php 
                    echo $prereq_color;
                    ?>
>
															<td style="width: 32px; vertical-align: center"><img style="width: 24px; height: 24px;" src="https://image.eveonline.com/InventoryType/<?php 
                    echo $drone['type_id'];
                    ?>
  */
 $skills = $char->updateCharacterSkills();
 // Checking for skills update success
 if ($skills === "SDE Failure") {
     echo date('Ymd H:i:s', time()) . " - cron_update.php - FAILURE - Skill detected that does not exist in SDE for charid " . $character['characterID'] . "\n";
 } elseif ($skills === FALSE) {
     echo date('Ymd H:i:s', time()) . " - cron_update.php - FAILURE - General processing error for charid " . $character['characterID'] . "\n";
 }
 /*
  * SKILLPLAN UPDATE SECTION
  */
 $skillPlans = $char->updateSkillPlanProgress();
 /*
  * DOCTRINE COMPLIANCE SECTION
  */
 Fitting::getDoctrineCompliance($character['characterID']);
 /*
  * MARKET UPDATE SECTION
  */
 $marketUpdate = $char->updateMarketInformation();
 /*
  * Asset Update Section
  */
 $assets = $char->updateAssets();
 /*
  * EVEMAIL UPDATE SECTION
  */
 $evemailUpdate = $char->updateEveMail();
 if ($marketUpdate === TRUE and $skillPlans === TRUE and is_object($char) and $evemailUpdate === TRUE) {
     echo date('Ymd H:i:s', time()) . " - cron_update.php - SUCCESS - Updates completed for " . $char->getCharacterID() . ".\n";
 } elseif ($skillPlans === TRUE and is_object($char)) {
Example #8
0
<?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);