diff --git a/app/main/controller/controller.php b/app/main/controller/controller.php index 5f6a09f7..ee020a51 100644 --- a/app/main/controller/controller.php +++ b/app/main/controller/controller.php @@ -870,7 +870,8 @@ class Controller { */ static function getRequestHeaders() : array { $headers = []; - + $headerPrefix = 'http_'; + $prefixLength = mb_strlen($headerPrefix); $serverData = self::getServerData(); if( @@ -885,8 +886,9 @@ class Controller { // Therefore we can“t use this for all servers // https://github.com/exodus4d/pathfinder/issues/58 foreach($_SERVER as $name => $value){ - if(substr($name, 0, 5) == 'HTTP_'){ - $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; + $name = mb_strtolower($name); + if(mb_substr($name, 0, $prefixLength) == $headerPrefix){ + $headers[mb_convert_case(str_replace('_', '-', mb_substr($name, $prefixLength)), MB_CASE_TITLE)] = $value; } } } diff --git a/app/main/cron/maphistory.php b/app/main/cron/maphistory.php index 330c6a58..c9eabd0d 100644 --- a/app/main/cron/maphistory.php +++ b/app/main/cron/maphistory.php @@ -14,7 +14,10 @@ use data\filesystem\Search; class MapHistory extends AbstractCron { - const LOG_TEXT = '%s [%4s] log files, [%4s] not writable, [%4s] read error, [%4s] write error, [%4s] rename error, [%4s] delete error, exec (%.3Fs)'; + /** + * log msg for truncateFiles() cronjob + */ + const LOG_TEXT = '%s [%4s] log files, [%s] truncated, [%4s] not writable, [%4s] read error, [%4s] write error, [%4s] rename error, [%4s] delete error, exec (%.3Fs)'; /** * default log file size limit before truncate, bytes (1MB) @@ -65,6 +68,7 @@ class MapHistory extends AbstractCron { $writeErrors = 0; $renameErrors = 0; $deleteErrors = 0; + $truncatedFileNames = []; if($f3->exists('PATHFINDER.HISTORY.LOG', $dir)){ $fileHandler = FileHandler::instance(); @@ -98,7 +102,8 @@ class MapHistory extends AbstractCron { // move temp file from PHP temp dir into Pathfinders history log dir... // ... overwrite old log file with new file if(rename($temp, $file->getRealPath())){ - // map history logs should be writable non cronjob user too + $truncatedFileNames[] = $file->getFilename(); + // map history logs should be writable for non cronjob user too @chmod($file->getRealPath(), 0666); }else{ $renameErrors++; @@ -120,6 +125,6 @@ class MapHistory extends AbstractCron { // Log ------------------------ $log = new \Log('cron_' . __FUNCTION__ . '.log'); - $log->write(sprintf(self::LOG_TEXT, __FUNCTION__, $largeFiles, $notWritableFiles, $readErrors, $writeErrors, $renameErrors, $deleteErrors, $execTime)); + $log->write(sprintf(self::LOG_TEXT, __FUNCTION__, $largeFiles, implode(', ', $truncatedFileNames), $notWritableFiles, $readErrors, $writeErrors, $renameErrors, $deleteErrors, $execTime)); } } \ No newline at end of file diff --git a/app/main/model/pathfinder/usermodel.php b/app/main/model/pathfinder/usermodel.php index 382fc87d..f067fe1d 100644 --- a/app/main/model/pathfinder/usermodel.php +++ b/app/main/model/pathfinder/usermodel.php @@ -218,9 +218,12 @@ class UserModel extends AbstractPathfinderModel { // user matches session data if($characterId > 0){ $data = $this->findSessionCharacterData($characterId); - }elseif( !empty($sessionCharacters = (array)$this->getF3()->get(User::SESSION_KEY_CHARACTERS)) ){ + }elseif( + is_array($sessionCharacters = $this->getF3()->get(User::SESSION_KEY_CHARACTERS)) && // check for null + !empty($sessionCharacters) + ){ // no character was requested ($requestedCharacterId = 0) AND session characters were found - // -> get first matched character (e.g. user open browser tab) + // -> get first matched character (e.g. user open /login browser tab) $data = $sessionCharacters[0]; } } @@ -235,7 +238,7 @@ class UserModel extends AbstractPathfinderModel { * @var $character CharacterModel */ $character = AbstractPathfinderModel::getNew('CharacterModel'); - $character->getById( (int)$data['ID']); + $character->getById((int)$data['ID']); if( $character->dry() || diff --git a/public/templates/ui/info_panel.html b/public/templates/ui/info_panel.html index ea4da99b..9fc95bc8 100644 --- a/public/templates/ui/info_panel.html +++ b/public/templates/ui/info_panel.html @@ -1,4 +1,4 @@