
Unforgiven Soldier
Order Of The Sentinel Phoenix Rising Alliance
|
Posted - 2007.10.19 22:19:00 -
[1]
This is what I have come up with while designing a new killboard for our alliance. I couldn't find any code to process killmail input so I created one and I have posted it here. If you find this code useful in any way please feel free to donate ISKies to Unforgiven Soldier. I hope this helps everyone out:
<?PHP function process_killmail($mail){
$mail = trim($mail); $mail = explode("\r\n", $mail);
$processMail = array(); $killmail = array(); foreach($mail as $k=>$v){ if(strlen($v) >= 2){ array_push($killmail, $v); } } $date = explode(' ', str_replace('.', '-', $killmail[0])); $processMail['timestamp']['date'] = $date[0]; $processMail['timestamp']['time'] = $date[1]; $processMail['victim']['name'] = str_replace('Victim: ', '', $killmail[1]); $processMail['victim']['alliance'] = str_replace('Alliance: ','', $killmail[2]); $processMail['victim']['corp'] = str_replace('Corp: ','', $killmail[3]); $processMail['victim']['ship'] = str_replace('Destroyed: ','', $killmail[4]); $processMail['system']['name'] = str_replace('System: ','', $killmail[5]); $processMail['system']['security'] = str_replace('Security: ','', $killmail[6]);
$count = count($killmail); for($i = 8; $i < $count; $i++){
if(substr($killmail[$i], 0, 16) !== 'Destroyed items:'){ for($s = 0; $s < 7; $s++){ if(substr($killmail[$i], 0, 5) == 'Name:'){ $m = $i - 6; $processMail['involved parties'][$m]['name'] = str_replace('Name: ', '', $killmail[$i]); }elseif(substr($killmail[$i], 0, 9) == 'Security:'){ $processMail['involved parties'][$m]['security'] = str_replace('Security: ', '', $killmail[$i]); }elseif(substr($killmail[$i], 0, 9) == 'Alliance:'){ $processMail['involved parties'][$m]['alliance'] = str_replace('Alliance: ', '', $killmail[$i]); }elseif(substr($killmail[$i], 0, 5) == 'Corp:'){ $processMail['involved parties'][$m]['corp'] = str_replace('Corp: ', '', $killmail[$i]); }elseif(substr($killmail[$i], 0, 5) == 'Ship:'){ $processMail['involved parties'][$m]['ship'] = str_replace('Ship: ', '', $killmail[$i]); }elseif(substr($killmail[$i], 0, 7) == 'Weapon:'){ $processMail['involved parties'][$m]['Weapon'] = str_replace('Weapon: ', '', $killmail[$i]); }
} }else{ break; }
} foreach($killmail as $k=>$v){ if(substr($v, 0, 16) == 'Destroyed items:'){ $destroyed_key = $k; } }
for($d = $destroyed_key+1; $d < $count; $d++){ if(strpos($killmail[$d], '(Cargo)')){ $processMail['destroyed']['cargo'][$d-$destroyed_key-1-count($processMail['destroyed']['fitting'])] = str_replace('(Cargo)', '', $killmail[$d]); }elseif(strpos($killmail[$d], '(Drone Bay)')){ $processMail['destroyed']['drone bay'][$d-$destroyed_key-1] = str_replace('(Drone Bay)', '', $killmail[$d]); }else{ $processMail['destroyed']['fitting'][$d-$destroyed_key-1] = $killmail[$d]; } }
}
?>
|