Выполняем запрос:
ALTER TABLE `bb_chat` ADD `type` tinyint(1) DEFAULT '0';
открываем index.php и находим:
foreach($sql as $row)
{
$message = '
';
$message .= (IS_AM) ? '' : '';
$template->assign_block_vars('chat', array(
'TEXT' => $message,
));
}
заменяем на:
foreach($sql as $row)
{
if($row['type'] == 1)
{
$message = '';
$message .= (IS_AM) ? '' : '';
}
else
{
$message = '';
$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 .= (IS_AM) ? '' : '';
}
}
заменяем на:
foreach($sql as $row)
{
if(($row['id'] > $id) && ($row['id'] <= $max_id))
{
if($row['type'] == 1)
{
$message .= '';
$message .= (IS_AM) ? '' : '';
}
else
{
$message .= '';
$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 .= ''. $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 .= ''. $text_html .'';
}
открыть шаблон где находиться код чата и найти:
Отправить
после вставить:
Я...