Revision: 3650
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 29, 2007 02:40 by Shinhan
Initial Code
<?
if ($f = @fopen('http://eve-central.com/home/marketstat_xml.html?evemon=1', 'r'))
{
$content = '';
while (!feof($f)) {
$content .= fgets($f, 4096);
}
}
fclose($f);
preg_match_all("'<mineral>(.*?)</mineral>'si", $content, $items);
//print_r($items[1]);
foreach($items[1] as $item)
{
preg_match("'<name.*?>(.*?)</name>'si", $item, $name);
preg_match("'<price.*?>(.*?)</price>'si", $item, $price);
$result[$name[1]] = $price[1]; // Set only if not empty
}
?>
<html>
<head>
<title>ORE</title>
<style>
body { background-color: #dddddd; font-family: Verdana;}
.TblHeader {font-size:20px; font-weight:bold; text-align:center;}
.TblHeader2 {font-size:14px; text-align:center; font-weight:bold;}
.TblData {font-size:14px; padding:2px;}
</style>
<script Language="JavaScript">
var Materials = new Array('Tritanium', 'Pyerite', 'Mexallon', 'Isogen', 'Nocxium', 'Zydrine', 'Megacyte', 'Morphite');
var Asteroids = new Array();
Asteroids['Veldspar'] = new Array();
Asteroids['Veldspar']['Batchsize'] = 333;
Asteroids['Veldspar']['m3'] = 0.1;
Asteroids['Veldspar']['Materials'] = new Array();
Asteroids['Veldspar']['Materials']['Tritanium'] = 1000;
Asteroids['Scordite'] = new Array();
Asteroids['Scordite']['Batchsize'] = 333;
Asteroids['Scordite']['m3'] = 0.15;
Asteroids['Scordite']['Materials'] = new Array();
Asteroids['Scordite']['Materials']['Tritanium'] = 833;
Asteroids['Scordite']['Materials']['Pyerite'] = 416;
Asteroids['Pyroxeres'] = new Array();
Asteroids['Pyroxeres']['Batchsize'] = 333;
Asteroids['Pyroxeres']['m3'] = 0.3;
Asteroids['Pyroxeres']['Materials'] = new Array();
Asteroids['Pyroxeres']['Materials']['Tritanium'] = 844;
Asteroids['Pyroxeres']['Materials']['Pyerite'] = 59;
Asteroids['Pyroxeres']['Materials']['Mexallon'] = 120;
Asteroids['Pyroxeres']['Materials']['Nocxium'] = 11;
Asteroids['Plagioclase'] = new Array();
Asteroids['Plagioclase']['Batchsize'] = 333;
Asteroids['Plagioclase']['m3'] = 0.35;
Asteroids['Plagioclase']['Materials'] = new Array();
Asteroids['Plagioclase']['Materials']['Tritanium'] = 256;
Asteroids['Plagioclase']['Materials']['Pyerite'] = 512;
Asteroids['Plagioclase']['Materials']['Mexallon'] = 256;
Asteroids['Kernite'] = new Array();
Asteroids['Kernite']['Batchsize'] = 400;
Asteroids['Kernite']['m3'] = 1.2;
Asteroids['Kernite']['Materials'] = new Array();
Asteroids['Kernite']['Materials']['Tritanium'] = 386;
Asteroids['Kernite']['Materials']['Mexallon'] = 773;
Asteroids['Kernite']['Materials']['Isogen'] = 386;
Asteroids['Omber'] = new Array();
Asteroids['Omber']['Batchsize'] = 500;
Asteroids['Omber']['m3'] = 0.6;
Asteroids['Omber']['Materials'] = new Array();
Asteroids['Omber']['Materials']['Tritanium'] = 307;
Asteroids['Omber']['Materials']['Pyerite'] = 123;
Asteroids['Omber']['Materials']['Isogen'] = 307;
Asteroids['Jaspet'] = new Array();
Asteroids['Jaspet']['Batchsize'] = 500;
Asteroids['Jaspet']['m3'] = 2;
Asteroids['Jaspet']['Materials'] = new Array();
Asteroids['Jaspet']['Materials']['Tritanium'] = 259;
Asteroids['Jaspet']['Materials']['Pyerite'] = 259;
Asteroids['Jaspet']['Materials']['Mexallon'] = 518;
Asteroids['Jaspet']['Materials']['Nocxium'] = 259;
Asteroids['Jaspet']['Materials']['Zydrine'] = 8;
Asteroids['Hemorphite'] = new Array();
Asteroids['Hemorphite']['Batchsize'] = 500;
Asteroids['Hemorphite']['m3'] = 3;
Asteroids['Hemorphite']['Materials'] = new Array();
Asteroids['Hemorphite']['Materials']['Tritanium'] = 212;
Asteroids['Hemorphite']['Materials']['Isogen'] = 212;
Asteroids['Hemorphite']['Materials']['Nocxium'] = 424;
Asteroids['Hemorphite']['Materials']['Zydrine'] = 28;
Asteroids['Hedbergite'] = new Array();
Asteroids['Hedbergite']['Batchsize'] = 500;
Asteroids['Hedbergite']['m3'] = 3;
Asteroids['Hedbergite']['Materials'] = new Array();
Asteroids['Hedbergite']['Materials']['Isogen'] = 708;
Asteroids['Hedbergite']['Materials']['Nocxium'] = 354;
Asteroids['Hedbergite']['Materials']['Zydrine'] = 32;
Asteroids['Spodumain'] = new Array();
Asteroids['Spodumain']['Batchsize'] = 250;
Asteroids['Spodumain']['m3'] = 16;
Asteroids['Spodumain']['Materials'] = new Array();
Asteroids['Spodumain']['Materials']['Tritanium'] = 700;
Asteroids['Spodumain']['Materials']['Pyerite'] = 140;
Asteroids['Spodumain']['Materials']['Megacyte'] = 140;
Asteroids['Gneiss'] = new Array();
Asteroids['Gneiss']['Batchsize'] = 400;
Asteroids['Gneiss']['m3'] = 5;
Asteroids['Gneiss']['Materials'] = new Array();
Asteroids['Gneiss']['Materials']['Tritanium'] = 171;
Asteroids['Gneiss']['Materials']['Mexallon'] = 171;
Asteroids['Gneiss']['Materials']['Isogen'] = 343;
Asteroids['Gneiss']['Materials']['Zydrine'] = 171;
Asteroids['DarkOchre'] = new Array();
Asteroids['DarkOchre']['Batchsize'] = 400;
Asteroids['DarkOchre']['m3'] = 8;
Asteroids['DarkOchre']['Materials'] = new Array();
Asteroids['DarkOchre']['Materials']['Tritanium'] = 250;
Asteroids['DarkOchre']['Materials']['Nocxium'] = 500;
Asteroids['DarkOchre']['Materials']['Zydrine'] = 250;
Asteroids['Crokite'] = new Array();
Asteroids['Crokite']['Batchsize'] = 250;
Asteroids['Crokite']['m3'] = 16;
Asteroids['Crokite']['Materials'] = new Array();
Asteroids['Crokite']['Materials']['Tritanium'] = 331;
Asteroids['Crokite']['Materials']['Isogen'] = 331;
Asteroids['Crokite']['Materials']['Zydrine'] = 663;
Asteroids['Bistot'] = new Array();
Asteroids['Bistot']['Batchsize'] = 200;
Asteroids['Bistot']['m3'] = 16;
Asteroids['Bistot']['Materials'] = new Array();
Asteroids['Bistot']['Materials']['Pyerite'] = 170;
Asteroids['Bistot']['Materials']['Zydrine'] = 341;
Asteroids['Bistot']['Materials']['Megacyte'] = 170;
Asteroids['Arkonor'] = new Array();
Asteroids['Arkonor']['Batchsize'] = 200;
Asteroids['Arkonor']['m3'] = 16;
Asteroids['Arkonor']['Materials'] = new Array();
Asteroids['Arkonor']['Materials']['Tritanium'] = 300;
Asteroids['Arkonor']['Materials']['Zydrine'] = 166;
Asteroids['Arkonor']['Materials']['Megacyte'] = 333;
Asteroids['Mercoxit'] = new Array();
Asteroids['Mercoxit']['Batchsize'] = 250;
Asteroids['Mercoxit']['m3'] = 40;
Asteroids['Mercoxit']['Materials'] = new Array();
Asteroids['Mercoxit']['Materials']['Morphite'] = 530;
function UpdateList ()
{
for (var i in Materials)
{
var Material = Materials[i];
eval ("var "+Material+"Price = parseFloat(document.getElementById(\""+Material+"Price\").value);");
}
for (var i in Asteroids)
{
var Asteroid = Asteroids[i];
var Price = 0;
for (var j in Asteroid['Materials'])
{
eval ("var MaterialPrice = "+j+"Price;");
if (MaterialPrice > 0 && Price >= 0)
{
Price += MaterialPrice * Asteroid['Materials'][j];
}
else
{
Price = -1;
break;
}
}
if (Price >= 0)
{
var PricePerUnit = Math.round(Price / Asteroid['Batchsize']*100)/100;
var PricePerM3 = Math.round(((Price / Asteroid['Batchsize']) / Asteroid['m3'])*100)/100;
if ((PricePerUnit*100)%10 == 0)
{
PricePerUnit = String.concat(PricePerUnit+"0");
}
if ((PricePerM3*100)%10 == 0)
{
PricePerM3 = String.concat(PricePerM3+"0");
}
}
else
{
PricePerUnit = 0.00;
PricePerM3 = 0.00;
}
document.getElementById(i+"_Unit").innerHTML = PricePerUnit;
document.getElementById(i+"_m3").innerHTML = PricePerM3;
}
}
</script>
</head>
<body onLoad="javascript:UpdateList();">
<table border="0" cellpadding="0" cellspacing="0" width="1000">
<tr>
<td width="45%" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="400">
<tr>
<td class="TblHeader" colspan="2">Material Prices</td>
</tr>
<tr>
<td class="TblData">Tritanium:</td>
<td class="TblData"><input class="TxtField" id="TritaniumPrice" onKeyUp="javascript:UpdateList();" onChange="javascript:UpdateList();"<? if (isset($result)) echo ' value="'.$result['Tritanium'].'"'; ?>></td>
</tr>
<tr>
<td class="TblData">Pyerite:</td>
<td class="TblData"><input class="TxtField" id="PyeritePrice" onKeyUp="javascript:UpdateList();" onChange="javascript:UpdateList();"<? if (isset($result)) echo ' value="'.$result['Pyerite'].'"'; ?>></td>
</tr>
<tr>
<td class="TblData">Mexallon:</td>
<td class="TblData"><input class="TxtField" id="MexallonPrice" onKeyUp="javascript:UpdateList();" onChange="javascript:UpdateList();"<? if (isset($result)) echo ' value="'.$result['Mexallon'].'"'; ?>></td>
</tr>
<tr>
<td class="TblData">Isogen:</td>
<td class="TblData"><input class="TxtField" id="IsogenPrice" onKeyUp="javascript:UpdateList();" onChange="javascript:UpdateList();"<? if (isset($result)) echo ' value="'.$result['Isogen'].'"'; ?>></td>
</tr>
<tr>
<td class="TblData">Nocxium:</td>
<td class="TblData"><input class="TxtField" id="NocxiumPrice" onKeyUp="javascript:UpdateList();" onChange="javascript:UpdateList();"<? if (isset($result)) echo ' value="'.$result['Nocxium'].'"'; ?>></td>
</tr>
<tr>
<td class="TblData">Zydrine:</td>
<td class="TblData"><input class="TxtField" id="ZydrinePrice" onKeyUp="javascript:UpdateList();" onChange="javascript:UpdateList();"<? if (isset($result)) echo ' value="'.$result['Zydrine'].'"'; ?>></td>
</tr>
<tr>
<td class="TblData">Megacyte:</td>
<td class="TblData"><input class="TxtField" id="MegacytePrice" onKeyUp="javascript:UpdateList();" onChange="javascript:UpdateList();"<? if (isset($result)) echo ' value="'.$result['Megacyte'].'"'; ?>></td>
</tr>
<tr>
<td class="TblData">Morphite:</td>
<td class="TblData"><input class="TxtField" id="MorphitePrice" onKeyUp="javascript:UpdateList();" onChange="javascript:UpdateList();"<? if (isset($result)) echo ' value="'.$result['Morphite'].'"'; ?>></td>
</tr>
</table>
</td>
<td width="10%"> </td>
<td width="45%" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="400">
<tr>
<td class="TblHeader" colspan="3">Asteroids</td>
</tr>
<tr>
<td class="TblHeader2">Name</td>
<td class="TblHeader2">ISK/m3</td>
<td class="TblHeader2">ISK/Unit</td>
</tr>
<tr>
<td class="TblData">Veldspar:</td>
<td class="TblData" align="right"><span id="Veldspar_m3">---</span></td>
<td class="TblData" align="right"><span id="Veldspar_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Scordite:</td>
<td class="TblData" align="right"><span id="Scordite_m3">---</span></td>
<td class="TblData" align="right"><span id="Scordite_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Plagioclase:</td>
<td class="TblData" align="right"><span id="Plagioclase_m3">---</span></td>
<td class="TblData" align="right"><span id="Plagioclase_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Pyroxeres:</td>
<td class="TblData" align="right"><span id="Pyroxeres_m3">---</span></td>
<td class="TblData" align="right"><span id="Pyroxeres_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Kernite:</td>
<td class="TblData" align="right"><span id="Kernite_m3">---</span></td>
<td class="TblData" align="right"><span id="Kernite_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Omber:</td>
<td class="TblData" align="right"><span id="Omber_m3">---</span></td>
<td class="TblData" align="right"><span id="Omber_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Jaspet:</td>
<td class="TblData" align="right"><span id="Jaspet_m3">---</span></td>
<td class="TblData" align="right"><span id="Jaspet_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Hemorphite:</td>
<td class="TblData" align="right"><span id="Hemorphite_m3">---</span></td>
<td class="TblData" align="right"><span id="Hemorphite_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Hedbergite:</td>
<td class="TblData" align="right"><span id="Hedbergite_m3">---</span></td>
<td class="TblData" align="right"><span id="Hedbergite_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Spodumain:</td>
<td class="TblData" align="right"><span id="Spodumain_m3">---</span></td>
<td class="TblData" align="right"><span id="Spodumain_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Gneiss:</td>
<td class="TblData" align="right"><span id="Gneiss_m3">---</span></td>
<td class="TblData" align="right"><span id="Gneiss_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Dark Ochre:</td>
<td class="TblData" align="right"><span id="DarkOchre_m3">---</span></td>
<td class="TblData" align="right"><span id="DarkOchre_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Crokite:</td>
<td class="TblData" align="right"><span id="Crokite_m3">---</span></td>
<td class="TblData" align="right"><span id="Crokite_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Bistot:</td>
<td class="TblData" align="right"><span id="Bistot_m3">---</span></td>
<td class="TblData" align="right"><span id="Bistot_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Arkonor:</td>
<td class="TblData" align="right"><span id="Arkonor_m3">---</span></td>
<td class="TblData" align="right"><span id="Arkonor_Unit">---</span></td>
</tr>
<tr>
<td class="TblData">Mercoxit:</td>
<td class="TblData" align="right"><span id="Mercoxit_m3">---</span></td>
<td class="TblData" align="right"><span id="Mercoxit_Unit">---</span></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
Initial URL
Initial Description
Ore price calculator using EVE-Centrals Mineral Index for EVE-Online Improvement on Mattdathor's code. Instructions for use: -Save as .php -Upload to any PHP-enabled host -Use it
Initial Title
Ore price calculator using EVE-Centrals Mineral Index for EVE-Online
Initial Tags
Initial Language
PHP