Открываем ajax.php и находим: [PHP] 'view_post' => array('guest'), [/PHP] ниже вставляем: [PHP] 'new_messages' => array('guest'), [/PHP] находим [PHP] function sitemap() { require(AJAX_DIR .'sitemap.php'); } [/PHP] после вставляем [PHP] function new_messages() { global $bb_cfg; if(!$bb_cfg['new_messages']['enabled']) $this->ajax_die('Модуль отключён.'); $type = (int) $this->request['type']; $limit = $type * 10; if (!$sql = CACHE('bb_cache')->get('new_messages_limit'.$limit.'')) { $sql = DB()->fetch_rowset("SELECT p.post_id, t.*, p.*, h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text, IF(p.poster_id = " . GUEST_UID . ", p.post_username, u.username) AS username, u.user_id, u.user_rank, u.avatar_ext_id, u.user_opt FROM " . BB_POSTS . " p INNER JOIN " . BB_TOPICS . " t ON(t.topic_id = p.topic_id) INNER JOIN " . BB_POSTS_TEXT . " pt ON(pt.post_id = p.post_id) LEFT JOIN " . BB_POSTS_HTML . " h ON(h.post_id = pt.post_id) INNER JOIN " . BB_USERS . " u ON(u.user_id = p.poster_id) WHERE " . TIMENOW . " > p.post_time AND p.post_id <> t.topic_id AND p.poster_id <> " . BOT_UID . " ORDER BY p.post_id DESC LIMIT $limit,10"); CACHE('bb_cache')->set('new_messages_limit'.$limit.'', $sql, $bb_cfg['new_messages']['cache']); } $message = ($type) ? '

« Новые сообщения »

' : '

Новые сообщения»

'; $message .= '
'; $this->response['html'] = $message; } [/PHP] открыть index.php и найти: [PHP] // Latest news if ($bb_cfg['show_latest_news']) [/PHP] перед вставить: [PHP] //New messages if($bb_cfg['new_messages']['enabled']) { if (!$sql = CACHE('bb_cache')->get('new_messages_limit0')) { $sql = DB()->fetch_rowset("SELECT p.post_id, t.*, p.*, h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text, IF(p.poster_id = " . GUEST_UID . ", p.post_username, u.username) AS username, u.user_id, u.user_rank, u.avatar_ext_id, u.user_opt FROM " . BB_POSTS . " p INNER JOIN " . BB_TOPICS . " t ON(t.topic_id = p.topic_id) INNER JOIN " . BB_POSTS_TEXT . " pt ON(pt.post_id = p.post_id) LEFT JOIN " . BB_POSTS_HTML . " h ON(h.post_id = pt.post_id) INNER JOIN " . BB_USERS . " u ON(u.user_id = p.poster_id) WHERE " . TIMENOW . " > p.post_time AND p.post_id <> t.topic_id AND p.poster_id <> " . BOT_UID . " ORDER BY p.post_id DESC LIMIT 0,10"); CACHE('bb_cache')->set('new_messages_limit0', $sql, $bb_cfg['new_messages']['cache']); } foreach($sql as $row) { $message = '
  • '; $message .= ''.str_replace(''; $message .= ''.wbr(str_short($row['topic_title'], 20)).''; $message .= '
    '; $message .= ''.profile_url(array('user_id' => $row['user_id'], 'username' => $row['username'], 'user_rank' => $row['user_rank'])).' ответил '.bb_date($row['post_time']).''; $message .= '
  • '; $template->assign_block_vars('messages', array( 'POST' => $message, )); } } [/PHP] открыть config.php и в конец вставить: [PHP] $bb_cfg['new_messages'] = array( 'enabled' => true, 'limit' => 10, 'cache' => 600, ); [/PHP] открыть page_footer.tpl и найти: [HTML] [/HTML] перед вставить: [HTML]

    Новые сообщения »

      {messages.POST}
    [/HTML] открыть main.css и найти: [HTML] #sidebar2-wrap {} [/HTML] после вставить: [HTML] abbr, acronym { border: 0; font-variant: normal; } #sidebar2 .avatarssList li { margin: 5px 0; overflow: hidden; zoom: 1; } #sidebar2 .avatarssList .avatarss { margin-right: 5px; float: left; width: 32px; height: 32px; width: auto; height: auto; } #sidebar2 .avatarssList .userTitle { color: rgb(150,150,150); } .avatarss img, .avatarss .img, .avatarssCropper { background-color: rgb(252,252,255); padding: 2px; border: 1px solid #a5cae4; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; } [/HTML]