From a27f601fe83bed243ef859df3962c7d33a1fa5da Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 17 Feb 2023 20:05:43 +0100 Subject: [PATCH] feature: new functions: getGuildNameById + geGuildLogoById --- system/functions.php | 46 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/system/functions.php b/system/functions.php index e489ffb9..0fcc6aa4 100644 --- a/system/functions.php +++ b/system/functions.php @@ -125,14 +125,13 @@ function getHouseLink($name, $generate = true) function getGuildLink($name, $generate = true) { - global $db, $config; + global $config; - if(is_numeric($name)) - { - $guild = $db->query( - 'SELECT `name` FROM `guilds` WHERE `id` = ' . (int)$name); - if($guild->rowCount() > 0) - $name = $guild->fetchColumn(); + if(is_numeric($name)) { + $name = getGuildNameById($name); + if ($name === false) { + $name = 'Unknown'; + } } $url = BASE_URL . ($config['friendly_urls'] ? '' : 'index.php/') . 'guilds/' . urlencode($name); @@ -1548,6 +1547,39 @@ function escapeHtml($html) { return htmlentities($html, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); } +function getGuildNameById($id) +{ + global $db; + + $guild = $db->query('SELECT `name` FROM `guilds` WHERE `id` = ' . (int)$id); + + if($guild->rowCount() > 0) { + return $guild->fetchColumn(); + } + + return false; +} + +function getGuildLogoById($id) +{ + global $db; + + $logo = 'default.gif'; + + $query = $db->query('SELECT `logo_name` FROM `guilds` WHERE `id` = ' . (int)$id); + if ($query->rowCount() == 1) { + + $query = $query->fetch(PDO::FETCH_ASSOC); + $guildLogo = $query['logo_name']; + + if (!empty($guildLogo) && file_exists(GUILD_IMAGES_DIR . $guildLogo)) { + $logo = $guildLogo; + } + } + + return BASE_URL . GUILD_IMAGES_DIR . $logo; +} + // validator functions require_once LIBS . 'validator.php'; require_once SYSTEM . 'compat/base.php';