#!/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 !"; } ?>