Esempio n. 1
0
function sn_chat_add_model()
{
    global $skip_fleet_update, $config, $user;
    define('IN_AJAX', true);
    $skip_fleet_update = true;
    if ($config->_MODE != CACHER_NO_CACHE && $config->chat_timeout && SN_TIME_MICRO - $config->array_get('users', $user['id'], 'chat_last_activity') > $config->chat_timeout) {
        die;
    }
    if (($message = sys_get_param_str('message')) && $user['username']) {
        $ally_id = sys_get_param('ally') && $user['ally_id'] ? $user['ally_id'] : 0;
        $nick = db_escape(player_nick_compact(player_nick_render_current_to_array($user, array('color' => true, 'icons' => true, 'ally' => !$ally_id))));
        $message = preg_replace("#(?:https?\\:\\/\\/(?:.+)?\\/index\\.php\\?page\\=battle_report\\&cypher\\=([0-9a-zA-Z]{32}))#", "[ube=\$1]", $message);
        doquery("INSERT INTO {{chat}} (chat_message_sender_id, user, ally_id, message, timestamp) VALUES ('{$user['id']}', '{$nick}', '{$ally_id}', '{$message}', " . SN_TIME_NOW . ");");
        $config->array_set('users', $user['id'], 'chat_last_activity', SN_TIME_MICRO);
    }
    die;
}
Esempio n. 2
0
function player_nick_render_to_html($result, $options = false)
{
    // TODO - обрабатывать разные случаи: $user, $render_nick_array, $string
    if (is_string($result) && strpos($result, ':{i:')) {
        $result = player_nick_uncompact($result);
    }
    if (is_array($result)) {
        if (isset($result['id'])) {
            $result = player_nick_render_current_to_array($result, $options);
        }
        if (!isset($result[NICK_HTML])) {
            $result = player_nick_render_array_to_html($result);
        }
        unset($result[NICK_HTML]);
        // unset($result[NICK_ID]);
        ksort($result);
        $result = implode('', $result);
    }
    return $result;
}