getChatMessage('UPTODATE_NEW'), $current, // hyperlink release page on TMF ($aseco->server->getGame() == 'TMF' ? '$l[' . XASECO_TMN . ']' . XASECO_TMN . '$l' : XASECO_TMN)); } else { $message = formatText($aseco->getChatMessage('UPTODATE_OK'), $current); } } else { $message = false; } return $message; } // up_to_date // called @ onSync function start_uptodate($aseco, $command) { global $uptodate_check; // check version but ignore error if ($uptodate_check && $message = up_to_date($aseco)) { // show chat message $aseco->client->query('ChatSendServerMessage', $aseco->formatColors($message)); } } // start_uptodate // called @ onPlayerConnect function connect_uptodate($aseco, $player) { global $uptodate_check, $globalbl_merge, $globalbl_url; // check for a master admin if ($aseco->isMasterAdmin($player)) { // check version but ignore error if ($uptodate_check && $message = up_to_date($aseco)) { // check whether out of date if (!preg_match('/' . formatText($aseco->getChatMessage('UPTODATE_OK'), '.*') . '/', $message)) { // strip 1 leading '>' to indicate a player message instead of system-wide $message = str_replace('{#server}>> ', '{#server}> ', $message); // show chat message $aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $player->login); } } // check whether to merge global black list if ($globalbl_merge && $globalbl_url != '') { admin_mergegbl($aseco, 'MasterAdmin', $player->login, false, $globalbl_url); } } } // connect_uptodate function admin_uptodate($aseco, $command) { $login = $command['author']->login; // check version or report error if ($message = up_to_date($aseco)) { // strip 1 leading '>' to indicate a player message instead of system-wide $message = str_replace('{#server}>> ', '{#server}> ', $message); // show chat message $aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login); } else { $message = '{#server}> {#error}Error: can\'t access the last version!'; $aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login); } } // admin_uptodate function admin_mergegbl($aseco, $logtitle, $login, $manual, $url) { global $globalbl_united; // download & parse global black list $blacklist = http_get_file($url); if ($blacklist && $blacklist != -1) { if ($globals = $aseco->xml_parser->parseXml($blacklist, false)) { // get current black list $blacks = get_blacklist($aseco); // from chat.admin.php // merge new global entries $new = 0; foreach ($globals['BLACKLIST']['PLAYER'] as $black) { if (!array_key_exists($black['LOGIN'][0], $blacks)) { // check for United account if needed if (!isset($black['ACCOUNT'][0]) || !$globalbl_united || ($globalbl_united && $black['ACCOUNT'][0] == 'United')) { $aseco->client->addCall('BlackList', array($black['LOGIN'][0])); $new++; } } } // send all entries and ignore results if (!$aseco->client->multiquery(true)) { trigger_error('[' . $this->client->getErrorCode() . '] BlackList (merge) - ' . $this->client->getErrorMessage(), E_USER_ERROR); } // update black list file if necessary if ($new > 0) { $filename = $aseco->settings['blacklist_file']; $aseco->client->addCall('SaveBlackList', array($filename)); } // check whether to report new mergers if ($new > 0 || $manual) { // log console message $aseco->console('{1} [{2}] merged global blacklist [{3}] new: {4}', $logtitle, $login, $url, $new); // show chat message $message = formatText('{#server}> {#highlite}{1} {#server}new login{2} merged into blacklist', $new, ($new == 1 ? '' : 's')); $aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login); } } else { $message = formatText('{#server}> {#error}Error: can\'t parse {#highlite}$i{1}{#error}!', $url); $aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login); } } else { $message = formatText('{#server}> {#error}Error: can\'t access {#highlite}$i{1}{#error}!', $url); $aseco->client->query('ChatSendServerMessageToLogin', $aseco->formatColors($message), $login); } } // admin_mergegbl ?>