Открываем 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 .= ''.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]
[/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]