Выполняем запрос: ALTER TABLE `bb_chat` ADD `type` tinyint(1) DEFAULT '0'; открываем index.php и находим: foreach($sql as $row) { $message = '
'; $message .= ($row['user_id'] == GUEST_UID) ? '' : ''; $message .= str_replace(''; if(IS_AM) { $message .= ''; $message .= '[p]'; } $title_ip = (IS_ADMIN) ? decode_ip($row['ip']) : 'Ник в чат'; $message .= ''. str_replace('title="', 'data="', profile_url(array('username' => $row['username'], 'user_rank' => $row['user_rank']))) .'
'. bb_date($row['time']) .'
'; $message .= '
'. $row['text_html'] .'
'; $message .= (IS_AM) ? '' : ''; $template->assign_block_vars('chat', array( 'TEXT' => $message, )); } заменяем на: foreach($sql as $row) { if($row['type'] == 1) { $message = '
'; $message .= bb_date($row['time']); if(IS_AM) { $message .= ''; $message .= '[p]'; } $message .= '
'; $message .= ''. $row['text_html'] .'
'; $message .= (IS_AM) ? '' : ''; } else { $message = '
'; $message .= ($row['user_id'] == GUEST_UID) ? '' : ''; $message .= str_replace(''; if(IS_AM) { $message .= ''; $message .= '[p]'; } $title_ip = (IS_ADMIN) ? decode_ip($row['ip']) : 'Ник в чат'; $message .= ''. str_replace('title="', 'data="', profile_url(array('username' => $row['username'], 'user_rank' => $row['user_rank']))) .'
'. bb_date($row['time']) .'
'; $message .= '
'. $row['text_html'] .'
'; $message .= (IS_AM) ? '' : ''; } $template->assign_block_vars('chat', array( 'TEXT' => $message, )); } открываем chat.php и находим: function parse_username($username) { $username = $username[1]; $row = DB()->fetch_row("SELECT user_id, user_rank FROM ". BB_USERS ." WHERE username = '". DB()->escape($username) ."'"); if($row) $username = ''. $username .''; return $username; } после вставляем: function commands_to_text($message, $user_id) { $username = $txt = ''; $row = DB()->fetch_row("SELECT username, user_rank, user_id FROM ". BB_USERS ." WHERE user_id = '". DB()->escape($user_id) ."'"); if($row) $username = ''. $row['username'].''; preg_match_all('#\/(.*?) ([\S].*)#', $message, $command, PREG_SET_ORDER); switch(@$command[0][1]) { case 'me': $txt = $username.' '.$command[0][2]; return $txt; break; default: return false; } } находим: foreach($sql as $row) { if(($row['id'] > $id) && ($row['id'] <= $max_id)) { $message .= '
'; $message .= ($row['user_id'] == GUEST_UID) ? '' : ''; $message .= str_replace(''; if(IS_AM) { $message .= ''; $message .= '[p]'; } $title_ip = (IS_ADMIN) ? decode_ip($row['ip']) : 'Ник в чат'; $message .= ''. str_replace('title="', 'data="', profile_url(array('username' => $row['username'], 'user_rank' => $row['user_rank']))) .'
'. bb_date($row['time']) .'
'; $message .= '
'. $row['text_html'] .'
'; $message .= (IS_AM) ? '' : ''; } } заменяем на: foreach($sql as $row) { if(($row['id'] > $id) && ($row['id'] <= $max_id)) { if($row['type'] == 1) { $message .= '
'; $message .= bb_date($row['time']); if(IS_AM) { $message .= ''; $message .= '[p]'; } $message .= '
'; $message .= ''. $row['text_html'] .'
'; $message .= (IS_AM) ? '' : ''; } else { $message .= '
'; $message .= ($row['user_id'] == GUEST_UID) ? '' : ''; $message .= str_replace(''; if(IS_AM) { $message .= ''; $message .= '[p]'; } $title_ip = (IS_ADMIN) ? decode_ip($row['ip']) : 'Ник в чат'; $message .= ''. str_replace('title="', 'data="', profile_url(array('username' => $row['username'], 'user_rank' => $row['user_rank']))) .'
'. bb_date($row['time']) .'
'; $message .= '
'. $row['text_html'] .'
'; $message .= (IS_AM) ? '' : ''; } } } находим: $text_html = bbcode2html(bbcode_chat(prepare_message($message))); $text_html = preg_replace_callback("/\[n\](.*?)\[\/n\]/siu", 'parse_username', $text_html); DB()->query("INSERT INTO bb_chat (user_id, time, text, text_html, ip) VALUES ('{$userdata['user_id']}', '". TIMENOW ."', '". DB()->escape($message) ."', '". DB()->escape($text_html) ."', '". USER_IP ."')"); заменяем на: $commands = commands_to_text($message, $userdata['user_id']); if($commands) { $text_html = $commands; $query = "INSERT INTO bb_chat (user_id, time, text, text_html, ip, type) VALUES ('{$userdata['user_id']}', '". TIMENOW ."', '". DB()->escape($message) ."', '". DB()->escape($text_html) ."', '". USER_IP ."', '1')"; } else { $text_html = bbcode2html(prepare_message($message)); $text_html = preg_replace_callback("/\[n\](.*?)\[\/n\]/siu", 'parse_username', $text_html); $query = "INSERT INTO bb_chat (user_id, time, text, text_html, ip) VALUES ('{$userdata['user_id']}', '". TIMENOW ."', '". DB()->escape($message) ."', '". DB()->escape($text_html) ."', '". USER_IP ."')"; } DB()->query($query); находим: if(mb_strlen($text) > 2) { $text_html = bbcode2html(bbcode_chat(prepare_message($text))); $text_html = preg_replace_callback("/\[n\](.*?)\[\/n\]/siu", 'parse_username', $text_html); заменяем на: if (mb_strlen($text) > 2) { $commands = commands_to_text($text, $row['user_id']); if ($commands) { $text_html = $commands; } else { $text_html = bbcode2html(prepare_message($text)); $text_html = preg_replace_callback("/\[n\](.*?)\[\/n\]/siu", 'parse_username', $text_html); } находим: else $this->ajax_die('Слишком короткое сообщение.'); $message = '
'; $message .= ($row['user_id'] == GUEST_UID) ? '' : ''; $message .= str_replace(''; if(IS_AM) { $message .= ''; $message .= '[p]'; } $title_ip = (IS_ADMIN) ? decode_ip($row['ip']) : 'Ник в чат'; $message .= ''. str_replace('title="', 'data="', profile_url(array('username' => $row['username'], 'user_rank' => $row['user_rank']))) .'
'. bb_date($row['time']) .'
'; $message .= '
'. $text_html .''; заменяем на: else $this->ajax_die('Слишком короткое сообщение.'); if ($row['type'] == 1) { $message = '
'; $message .= bb_date($row['time']); if(IS_AM) { $message .= ''; $message .= '[p]'; } $message .= '
'; $message .= ''. $text_html .''; } else { $message = '
'; $message .= ($row['user_id'] == GUEST_UID) ? '' : ''; $message .= str_replace(''; if(IS_AM) { $message .= ''; $message .= '[p]'; } $title_ip = (IS_ADMIN) ? decode_ip($row['ip']) : 'Ник в чат'; $message .= ''. str_replace('title="', 'data="', profile_url(array('username' => $row['username'], 'user_rank' => $row['user_rank']))) .'
'. bb_date($row['time']) .'
'; $message .= '
'. $text_html .''; } открыть шаблон где находиться код чата и найти: Отправить после вставить: Я...