- new map change log to Slack channel - new "rally point" logging to Slack channel - new "rally point" poke options (e.g. custom message), closed #295 - new log options for WebSocket installations - added ship "mass" logging (backend only), #313 - added map logging to Slack, #326 - added "ESI error rate" limit detection - added "Monolog" as new logging library (Composer dependency) - added "Swiftmailer" as new eMail library (Composer dependency) - added Support for Redis session hander (performance boost) - improved character select panels (visible "online" status) - improved "activity logging" (more DB columns added to check) - improved eMail logging (HTML template support) - improved "delete map" now become "inactive" for some days before delete - improved character logout handling - improved /setup page for DB bootstrap (new button for DB create if not exists) - fixed broken ship tracking (ship name re-added) - fixed broken ship tracking for multiple chars on different browser tabs - fixed broken cursor coordinates, closed #518 - fixed null pointer "charactermodel.php->isActive():925" closed #529 - fixed broken "scroll offset", closed #533 closed #534 - Updated "validation" library JS v0.10.1 -> v0.11.9 - Updated ORM Mapper _Cortex_ v1.5.0-dev -> v1.5.0 - and many more....
81 lines
1.9 KiB
PHP
81 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: exodu
|
|
* Date: 22.09.2017
|
|
* Time: 19:05
|
|
*/
|
|
|
|
namespace Lib\Logging;
|
|
|
|
use lib\Config;
|
|
use Model\CharacterModel;
|
|
|
|
abstract class AbstractCharacterLog extends AbstractChannelLog{
|
|
|
|
/**
|
|
* @var CharacterModel
|
|
*/
|
|
private $character = null;
|
|
|
|
public function __construct(string $action, array $objectData){
|
|
parent::__construct($action, $objectData);
|
|
|
|
// add log processor -> remove $channelData from log
|
|
$processorAddThumbData = function($record){
|
|
$record['extra']['thumb']['url'] = $this->getThumbUrl();
|
|
return $record;
|
|
};
|
|
|
|
// init processorConfig. IMPORTANT: first processor gets executed at the end!
|
|
$this->processorConfig = ['addThumbData' => $processorAddThumbData] + $this->processorConfig;
|
|
}
|
|
|
|
/**
|
|
* CharacterModel $character
|
|
* @param CharacterModel $character
|
|
* @return LogInterface
|
|
*/
|
|
public function setCharacter(CharacterModel $character): LogInterface{
|
|
$this->character = $character;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return CharacterModel
|
|
*/
|
|
public function getCharacter(): CharacterModel{
|
|
return $this->character;
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function getData() : array{
|
|
$data = parent::getData();
|
|
|
|
if(is_object($character = $this->getCharacter())){
|
|
$characterData['character'] = [
|
|
'id' => $character->_id,
|
|
'name' => $character->name
|
|
];
|
|
$data = $characterData + $data;
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
/**
|
|
* get character thumbnailUrl
|
|
* @return string
|
|
*/
|
|
protected function getThumbUrl(): string {
|
|
$url = '';
|
|
if(is_object($character = $this->getCharacter())){
|
|
$url = Config::getPathfinderData('api.ccp_image_server') . '/Character/' . $character->_id . '_128.jpg';
|
|
}
|
|
|
|
return $url;
|
|
}
|
|
|
|
} |