maniaControl = $maniaControl; // Init settings $this->maniaControl->settingManager->initSetting($this, self::SETTING_PREFIX, '» '); $this->maniaControl->settingManager->initSetting($this, self::SETTING_FORMAT_INFORMATION, '$fff'); $this->maniaControl->settingManager->initSetting($this, self::SETTING_FORMAT_SUCCESS, '$0f0'); $this->maniaControl->settingManager->initSetting($this, self::SETTING_FORMAT_ERROR, '$f00'); $this->maniaControl->settingManager->initSetting($this, self::SETTING_FORMAT_USAGEINFO, '$f80'); } /** * Get prefix * * @param string|bool $prefix * @return string */ private function getPrefix($prefix) { if (is_string($prefix)) { return $prefix; } if ($prefix === true) { return $this->maniaControl->settingManager->getSetting($this, self::SETTING_PREFIX); } return ''; } /** * Send a chat message to the given login * * @param string $message * @param string $login * @param string|bool $prefix * @return bool */ public function sendChat($message, $login = null, $prefix = true) { if (!$this->maniaControl->client) { return false; } if (!$login) { $prefix = $this->getPrefix($prefix); $chatMessage = '$<$z$ff0' . str_replace(' ', '', $prefix) . $prefix . $message . '$>'; $this->maniaControl->client->chatSendServerMessage($chatMessage); } else { $chatMessage = '$<$z$ff0' . $this->getPrefix($prefix) . $message . '$>'; if (is_object($login) && property_exists($login, 'login')) { $login = $login->login; } try{ $this->maniaControl->client->chatSendServerMessage($chatMessage, $login); } catch(LoginUnknownException $e){ } } return true; } /** * Send an information message to the given login * * @param string $message * @param string $login * @param string|bool $prefix * @return bool */ public function sendInformation($message, $login = null, $prefix = true) { $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_INFORMATION); return $this->sendChat($format . $message, $login); } /** * Send a success message to the given login * * @param string $message * @param string $login * @param string|bool $prefix * @return bool */ public function sendSuccess($message, $login = null, $prefix = true) { $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_SUCCESS); return $this->sendChat($format . $message, $login); } /** * Send an Error Message to the Chat * * @param string $message * @param string $login * @param string|bool $prefix * @return bool */ public function sendError($message, $login = null, $prefix = true) { $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_ERROR); return $this->sendChat($format . $message, $login); } /** * Send the Exception Information to the Chat * * @param Exception $exception * @param string $login * @return bool */ public function sendException(\Exception $exception, $login = null) { $message = "Exception occured: '{$exception->getMessage()}' ({$exception->getCode()})"; $this->maniaControl->errorHandler->triggerDebugNotice($message); $this->sendError($message, $login); } /** * Send an usage info message to the given login * * @param string $message * @param string $login * @param string|bool $prefix * @return bool */ public function sendUsageInfo($message, $login = null, $prefix = false) { $format = $this->maniaControl->settingManager->getSetting($this, self::SETTING_FORMAT_USAGEINFO); return $this->sendChat($format . $message, $login); } }