{ $data = flux_get_default_bmp_data(); header("Content-Type: image/bmp"); header('Content-Length: ' . strlen($data)); echo $data; exit; } // 1. Force displaying of empty emblem. if (Flux::config('ForceEmptyEmblem')) { flux_display_empty_emblem(); } // 2. Attempt to pull emblem from database. $serverName = $params->get('login'); $athenaServerName = $params->get('charmap'); $guildID = $params->get('id'); $athenaServer = Flux::getAthenaServerByName($serverName, $athenaServerName); if (!$athenaServer || !$guildID) { // 2-1. Uh oh, incorrect request paramters :( flux_display_empty_emblem(); } else { // 2-2. Caching enabled? if ($interval = Flux::config('EmblemCacheInterval')) { $interval *= 60; $dirname = FLUX_DATA_DIR . "/tmp/emblems/{$serverName}/{$athenaServerName}"; $filename = "{$dirname}/{$guildID}.png"; if (!is_dir($dirname)) { mkdir($dirname, 0777, true); } elseif (file_exists($filename) && time() - filemtime($filename) < $interval) { header("Content-Type: image/png"); header('Content-Length: ' . filesize($filename)); readfile($filename);
/** * Get a Flux_Athena instance by its name based on current server settings. * * @param string $name * @access public */ public function getAthenaServer($name = null) { if (is_null($name) && $this->athenaServerName) { return $this->getAthenaServer($this->athenaServerName); } if ($this->loginAthenaGroup && ($server = Flux::getAthenaServerByName($this->serverName, $name))) { return $server; } else { return false; } }