diff --git a/system/functions.php b/system/functions.php index c0fb7f2a..2b8b0364 100644 --- a/system/functions.php +++ b/system/functions.php @@ -87,18 +87,29 @@ function getForumBoardLink($board_id, $page = NULL): string { return BASE_URL . (setting('core.friendly_urls') ? '' : 'index.php/') . 'forum/board/' . (int)$board_id . (isset($page) ? '/' . $page : ''); } -function getPlayerLink($name, $generate = true): string +function getPlayerLink($name, $generate = true, bool $colored = false): string { - if(is_numeric($name)) - { - $player = new OTS_Player(); + $player = new OTS_Player(); + + if(is_numeric($name)) { $player->load((int)$name); - if($player->isLoaded()) - $name = $player->getName(); + } + else { + $player->find($name); } + if (!$player->isLoaded()) { + return '(error)'; + } + + $name = $player->getName(); + $url = BASE_URL . (setting('core.friendly_urls') ? '' : 'index.php/') . 'characters/' . urlencode($name); + if ($colored) { + $name = '' . $name . ''; + } + if(!$generate) return $url; return generateLink($url, $name); }