Esempio n. 1
0
 public static function usdeurgbp($totalprice)
 {
     $usd = 17;
     $eur = 13;
     $gbp = 10;
     $plex = Price::getItemPrice('29668', date('Ymd'));
     $usdval = $plex / $usd;
     $eurval = $plex / $eur;
     $gbpval = $plex / $gbp;
     return array('usd' => $totalprice / $usdval, 'eur' => $totalprice / $eurval, 'gbp' => $totalprice / $gbpval);
 }
Esempio n. 2
0
function beSocial($killID)
{
    global $beSocial, $mdb;
    if (!isset($beSocial)) {
        $beSocial = false;
    }
    if ($beSocial === false) {
        return;
    }
    if ($killID < 0) {
        return;
    }
    $ircMin = 10000000000.0;
    $twitMin = 10000000000.0;
    $kill = $mdb->findDoc('killmails', ['killID' => $killID]);
    if (@$kill['social'] == true) {
        return;
    }
    $hours24 = time() - 86400;
    if ($kill['dttm']->sec < $hours24) {
        return;
    }
    // Get victim info
    $victimInfo = $kill['involved'][0];
    if ($victimInfo == null) {
        return;
    }
    $totalPrice = $kill['zkb']['totalValue'];
    Info::addInfo($victimInfo);
    // Reduce spam of freighters and jump freighters
    $shipGroupID = $victimInfo['groupID'];
    if (in_array($shipGroupID, array(513, 902))) {
        $shipPrice = Price::getItemPrice($victimInfo['shipTypeID'], date('Ymd'));
        $ircMin += $shipPrice;
        $twitMin += $shipPrice;
    }
    $worthIt = false;
    $worthIt |= $totalPrice >= $ircMin;
    if (!$worthIt) {
        return;
    }
    $tweetIt = false;
    $tweetIt |= $totalPrice >= $twitMin;
    global $fullAddr, $twitterName;
    $url = "{$fullAddr}/kill/{$killID}/";
    if ($url == '') {
        $url = "{$fullAddr}/kill/{$killID}/";
    }
    $message = '|g|' . $victimInfo['shipName'] . '|n| worth |r|' . Util::formatIsk($totalPrice) . " ISK|n| was destroyed! {$url}";
    if (!isset($victimInfo['characterName'])) {
        $victimInfo['characterName'] = $victimInfo['corporationName'];
    }
    if (strlen($victimInfo['characterName']) < 25) {
        $name = $victimInfo['characterName'];
        if (Util::endsWith($name, 's')) {
            $name .= "'";
        } else {
            $name .= "'s";
        }
        $message = "{$name} {$message}";
    }
    $mdb->getCollection('killmails')->update(['killID' => $killID], ['$unset' => ['social' => true]]);
    Log::irc("{$message}");
    $message = Log::stripIRCColors($message);
    $message .= ' #tweetfleet #eveonline';
    if (strlen($message) > 120) {
        $message = str_replace(' worth ', ': ', $message);
    }
    if (strlen($message) > 120) {
        $message = str_replace(' was destroyed!', '', $message);
    }
    if ($tweetIt && strlen($message) <= 120) {
        $return = Twit::sendMessage($message);
        $twit = "https://twitter.com/{$twitterName}/status/" . $return->id;
        Log::irc("Message was also tweeted: |g|{$twit}");
    }
}
Esempio n. 3
0
 public static function addItems(&$itemArray, $items, $killTime, $inContainer = 0, $parentFlag = 0)
 {
     if ($items == null) {
         return;
     }
     if (is_array($items)) {
         foreach ($items as $item) {
             $typeID = $item['itemType']['id'];
             $item['typeID'] = $typeID;
             $item['price'] = Price::getItemPrice($typeID, $killTime);
             $item['inContainer'] = $inContainer;
             if ($inContainer) {
                 $item['flag'] = $parentFlag;
             }
             if ($inContainer && strpos(Info::getInfoField('typeID', $typeID, 'name'), 'Blueprint')) {
                 $item['singleton'] = 2;
             }
             unset($item['_stringValue']);
             $itemArray[] = $item;
             $subItems = isset($item['items']) ? $item['items'] : null;
             unset($item['items']);
             if ($subItems != null) {
                 self::addItems($itemArray, $subItems, $killTime, 1, $item['flag']);
             }
         }
     }
 }
Esempio n. 4
0
global $mdb;
if (!is_numeric($id)) {
    $id = Info::getItemId($id);
    if ($id > 0) {
        header("Location: /item/{$id}/");
    } else {
        header('Location: /');
    }
    die;
}
$info = $mdb->findDoc("information", ['type' => 'typeID', 'id' => (int) $id, 'cacheTime' => 3600]);
$info['typeName'] = $info['name'];
$info['description'] = str_replace('<br>', "\n", @$info['description']);
$info['description'] = strip_tags(@$info['description']);
$info['price'] = Price::getItemPrice($id, date('Ymd'));
global $mdb;
$cursor = $mdb->getCollection('killmails')->find(['involved.shipTypeID' => (int) $id]);
$hasKills = $cursor->hasNext();
$info['attributes'] = array();
$info['market'] = Db::query('select * from zz_item_price_lookup where typeID = :typeID order by priceDate desc limit 30', array(':typeID' => $id));
$kills = $mdb->find('itemmails', ['typeID' => (int) $id], ['killID' => -1], 50);
$victims = [];
foreach ($kills as $row) {
    $kill = $mdb->findDoc('killmails', ['killID' => $row['killID']]);
    $victim = $kill['involved'][0];
    $victim['destroyed'] = $row['killID'];
    $victims[] = $victim;
}
Info::addInfo($victims);
$app->render('item.html', array('info' => $info, 'hasKills' => $hasKills, 'kills' => $victims));
Esempio n. 5
0
function processItem($item, $dttm, $isCargo = false, $parentContainerFlag = -1)
{
    global $mdb;
    $typeID = $item['itemType']['id'];
    $itemName = $mdb->findField("information", 'name', ['type' => 'typeID', 'id' => (int) $typeID]);
    if ($itemName == null) {
        $itemName = "TypeID {$typeID}";
    }
    if ($typeID == 33329 && $item['flag'] == 89) {
        $price = 0.01;
    } else {
        $price = Price::getItemPrice($typeID, $dttm, true);
    }
    if ($isCargo && strpos($itemName, 'Blueprint') !== false) {
        $item['singleton'] = 2;
    }
    if ($item['singleton'] == 2) {
        $price = $price / 100;
    }
    return $price * (@$item['quantityDropped'] + @$item['quantityDestroyed']);
}
Esempio n. 6
0
function processItem($item, $dttm, $isCargo = false, $parentContainerFlag = -1)
{
    $typeID = $item['itemType']['id'];
    $itemName = Db::queryField('select typeName from ccp_invTypes where typeID = :typeID', 'typeName', array(':typeID' => $typeID), 0);
    if ($itemName == null) {
        $itemName = "TypeID {$typeID}";
    }
    if ($typeID == 33329 && $item['flag'] == 89) {
        $price = 0.01;
    } else {
        $price = Price::getItemPrice($typeID, $dttm, true);
    }
    if ($isCargo && strpos($itemName, 'Blueprint') !== false) {
        $item['singleton'] = 2;
    }
    if ($item['singleton'] == 2) {
        $price = $price / 100;
    }
    return $price * (@$item['quantityDropped'] + @$item['quantityDestroyed']);
}
Esempio n. 7
0
 /**
  * @param integer $itemInsertOrder
  */
 private static function processItem(&$kill, &$killID, &$item, $itemInsertOrder, $isCargo = false, $parentContainerFlag = -1)
 {
     global $itemNames;
     if ($itemNames == null) {
         $itemNames = array();
         $results = Db::query("select typeID, typeName from ccp_invTypes", array(), 3600);
         foreach ($results as $row) {
             $itemNames[$row["typeID"]] = $row["typeName"];
         }
     }
     $typeID = $item["typeID"];
     if (isset($item["typeID"]) && isset($itemNames[$item["typeID"]])) {
         $itemName = $itemNames[$item["typeID"]];
     } else {
         $itemName = "TypeID {$typeID}";
     }
     if ($item["typeID"] == 33329 && $item["flag"] == 89) {
         $price = 0.01;
     } else {
         $price = Price::getItemPrice($typeID);
     }
     if ($isCargo && strpos($itemName, "Blueprint") !== false) {
         $item["singleton"] = 2;
     }
     if ($item["singleton"] == 2) {
         $price = $price / 100;
     }
     Db::execute("insert ignore into zz_item_price_lookup (typeID, priceDate, price) values (:typeID, now(), :price)", array(":typeID" => $item["typeID"], ":price" => $price));
     return $price * ($item["qtyDropped"] + $item["qtyDestroyed"]);
 }
Esempio n. 8
0
<?php

require_once "../init.php";
$date = date('Ymd', time() - 7200);
$yesterday = date('Y-m-d', time() - 7200 - 86400);
$key = "tq:pricesChecked:{$date}";
if ($redis->get($key) == true) {
    exit;
}
$crestPrices = CrestTools::getJson("https://public-crest.eveonline.com/market/prices/");
if (!isset($crestPrices['items'])) {
    exit;
}
foreach ($crestPrices['items'] as $item) {
    $typeID = $item['type']['id'];
    $price = Price::getItemPrice($typeID, $date, true);
    $marketHistory = $mdb->findDoc("prices", ['typeID' => $typeID]);
    if ($marketHistory === null) {
        $marketHistory = ['typeID' => $typeID];
        $mdb->save("prices", $marketHistory);
    }
    if (!isset($marketHistory[$yesterday]) && isset($item['averagePrice'])) {
        $avgPrice = $item['averagePrice'];
        $mdb->set("prices", ['typeID' => $typeID], [$yesterday => $avgPrice]);
    }
}
$redis->set($key, true);
Esempio n. 9
0
function usdeurgbp($totalprice)
{
    $usd = 17;
    $eur = 13;
    $gbp = 10;
    $plex = Price::getItemPrice("29668");
    $usdval = $plex / $usd;
    $eurval = $plex / $eur;
    $gbpval = $plex / $gbp;
    return array("usd" => $totalprice / $usdval, "eur" => $totalprice / $eurval, "gbp" => $totalprice / $gbpval);
}