#!/usr/bin/php
';
$this->fileName = "";
$this->handle = null;
}
// Destructor
public function __destruct(){
// echo 'The class "' . __CLASS__ . '" was destroyed.
';
}
// Method to get the filename
public function getFileName(){
return $this->fileName;
}
// Method to set the filename
public function setFileName($filename){
$this->fileName = $filename;
}
// Method to get the handle content
public function getHandle(){
// TODO Check file exists
$this->handle = fopen($this->fileName, "r");
// if($this->handle) {
// while (($line = fgets($this->handle)) !== false) {
// echo $line;
// }
// fclose($this->handle);
// } else {
// $this->handle = False;
// }
return $this->handle;
}
}
// class Event:
// regex = r'[\[<\(]([^\[<\(\]>\)]*)[\]>\)]'
// def __init__(self, x):
// data = re.findall(Event.regex, x)
// data.append('')
// self.to_string = ' '.join(data)
//
// dateandtime = datetime.strptime(list(sys.argv[1].split("_"))[1]+" "+data[0], '%Y-%m-%d %H:%M:%S.%f')
//
// self.date = dateandtime
// self.source = Entity(data[1])
// self.target = Entity(data[2])
// self.ability = Ability(data[3])
// self.effect = Effect(data[4])
// self.value = Value(data[5])
// self.threat = Threat(data[6])
class LogEvent
{
// Properties declaration
public $event = "";
// public $date = "";
// public $source = "";
// public $target = "";
// public $ability = "";
// public $effect = "";
// public $value = 0;
// public $threat = 0;
// Constructor
public function __construct()
{
// echo 'The class "' . __CLASS__ . '" was initiated!
';
$this->event = "";
// $this->date = $date;
// $this->source = $source;
// $this->target = $target;
// $this->ability = $ability;
// $this->effect = $effect;
// $this->value = $value;
// $this->threat = $threat;
}
// Destructor
public function __destruct(){
// echo 'The class "' . __CLASS__ . '" was destroyed.
';
}
// Method to set the event
public function arrayEvent($logEvent){
// [23:40:42.150] [@Comendatore] [Combat Training Target MK-10 {2816257300627456}:133000004817] [Ion Pulse {2199843594305536}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (7659* elemental {836045448940875}) <19146>
// [date] [src] [target] [ability] [effect] (value)
$isMatching = preg_match_all('/[\[<\(]([^\[<\(\]>\)]*)[\]>\)]/m', $logEvent, $this->event, PREG_SET_ORDER, 0);
return $this->event;
}
}
// $handle = fopen("combat_2020-06-11_18_06_42_493608.txt", "r");
$handlecontent = new loadFile;
$handlecontent->setFileName("combat_2020-07-25_22_39_58_532658.txt");
$handleresult = $handlecontent->getHandle();
if($handleresult) {
$totalAmount=0;$totalThreat=0;
while (($line = fgets($handleresult)) !== false) {
$log = new LogEvent;
$log = $log->arrayEvent($line);
if( array_key_exists(6, $log) );
// print_r($log);
$logDate = $log[0][1];
$logSource = $log[1][1];
$logTarget = $log[2][1];
$logAbility = $log[3][1];
$logEffect = $log[4][1];
$logValue = (isset($log[5][1]) && ($log[5][1] != 0))?$log[5][1]:null;
$logThreat = isset($log[6][1])?$log[6][1]:null;
print("Date : ".$logDate." Source : ".$logSource." Target : ".$logTarget." Ability : ".$logAbility." Effect : ".$logEffect." Amount : ".$logValue." Menace : ".$logThreat."\n");
// if( $log[1][1]
$totalAmount+=$logValue;$totalThreat+=$logThreat;
}
print("Total Damages : ".$totalAmount."\n");
print("Total Menace : ".$totalThreat."\n");
} else {
echo "Error while loading file handle !";
}
?>