Bumblebee, написано же в первом посте Джон: 4.3.0 - 4.4.0 = Чат: 6.0.0
Установил 6, но в комнате нету шапки
Bumblebee, в комнатах своя шапка
ясно)
тогда кто может дать код вывода последних 3 сообщений из комнаты с id 1 + поле для ответа?
Пробовал вот так вывести, но ошибку выдаёт
echo '<div class="gmenu">';
// Поле "Написать"
echo '<form name="form2" action="index.php?act=messages&id=' . $id . '" method="post">';
if (!$is_mobile)
echo bbcode::auto_bb('form2', 'msg');
echo '<textarea rows="' . $set_user['field_h'] . '" name="msg"></textarea><br />';
if ($set_user['translit'])
echo '<input type="checkbox" name="msgtrans" value="1"/> Транслит<br />';
if ($rights == 9 && $k_d['tip'] != 'in')
echo '<input type="checkbox" name="msgrooms" value="1"/> <span style="color:blue">Оповещение</span><br />';
echo '<input type="submit" name="submit" value="Сказать"/><br /></form>';
echo '</div>';
} elseif ($user_id) {
echo '<div class="phdr"><a href="index.php?act=messages&id=' . $id . '"><b>Сказать</b></a> | ';
echo '<a href="index.php?id=' . $id . '&refr=' . $refr . '"><b>Обновить</b></a></div>';
} else {
echo '<div class="phdr"><a href="index.php?id=' . $id . '&refr=' . $refr . '"><b>Обновить</b></a></div>';
}
$sql = $rights > 6 ? "" : " `tip` != '1'";
$sql .= ($k_d['tip'] != 'in') ? "" : " " . ($sql ? 'AND ' : '') . "`pas` = '" . intval($_SESSION['key']) . "'";
if ($k_d['tip'] != 'an')
$filter = isset ($_SESSION['chat_id']) && $_SESSION['chat_k'] == $id ? 1 : 0;
else
$filter = '';
if ($filter) {
// Подготавливаем запрос на фильтрацию юзеров
$sw = 0;
$sql .= ' ' . ($sql ? "AND " : "") . '(';
$fsort_users = unserialize($_SESSION['chat_id']);
foreach ($fsort_users as $val) {
if ($sw)
$sql .= ' OR ';
$sortid = intval($val);
$sql .= "`id_u` = '$sortid'";
$sw = 1;
}
$sql .= ')';
echo '<div class="rmenu">В комнате включена фильтрация по авторам постов</div>';
}
if ($rights != 9 && $user_id)
$sql .= " " . ($sql ? 'AND ' : '') . "(`id_s` = '0' OR `id_u` = '" . $user_id . "' OR `id_s` = '" . $user_id . "')";
elseif (!$user_id)
$sql .= " " . ($sql ? 'AND ' : '') . "`id_s` = '0'";
// Счётчик постов в комнате
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `chat_room_" . $id . "`" . ($sql ? ' WHERE' : '') . $sql . ""), 0);
if ($total) {
// Запрос в базу для вывода постов
$soob = mysql_query("SELECT `id`, `id_u`, `id_s`, `time`, `text`, `author`, `tip`, `pas` FROM `chat_room_2`" . ($sql ? ' WHERE' : '') . $sql . " ORDER BY `time` DESC LIMIT 3");
$i = 0;
echo '<form action="index.php?act=massdel&id=' . $id . '" method="post">';
while ($message = mysql_fetch_assoc($soob)) {
// Метка о том, что пост удалён
if ($rights >= 7 && $message['tip'] == 1)
echo '<div class="rmenu">';
else
echo is_integer($i / 2) ? '<div class="list1">' : '<div class="list2">';
$vrp = (core::$system_set['timeshift'] + core::$user_set['timeshift']) * 3600;
if (date("d.m.Y", $message['time'] + $vrp) == date("d.m.Y"))
$vr = date("H:i", $message['time'] + $vrp); // Время "сегодняшнего" поста
else
$vr = date("d.m.Y/H:i", $message['time'] + $vrp); // Время "старых" постов
$text = $message['text'];
$text = functions::checkout($text, 1, 1);
// Подсветка ника в тексте
if ($set_chat['cvet_ns'])
$text = preg_replace('|' . $login . '|si', '<span style="color:' . $set_chat['cvet_ns'] . '">' . $login . '</span>', $text);
/*
-----------------------------------------------------------------
Выбор отображения данных автора поста (пользователь, аноним или бот)
-----------------------------------------------------------------
*/
$set_author = array();
$set_author = unserialize($message['author']);
// Настроки по-умолчанию
if (!isset($set_author) || empty($set_author))
$set_author = serialize(array (
'av' => '',
'sex' => 'm',
'status' => '',
'name' => 'Информер',
'name_delete' => '',
'cvet' => '',
'cvet_n' => '',
'ip' => '2130706433',
'soft' => 'k_2_bot',
'rights' => 0
));
if ($message['tip'] < 2) {
if ($message['id_u'] != $user_id || !$user_id) {
$us_d = mysql_fetch_assoc(mysql_query("SELECT `datereg`, `lastdate`, `rights` FROM `users` WHERE `id` = '" . $message['id_u'] . "'"));
} else {
$us_d = $datauser;
}
$rights_p = $us_d['rights'] ? $us_d['rights'] : $set_author['rights'];
if ($set_user['smileys'])
$text = functions::smileys($text, $rights_p ? 1 : 0);
$sex = '../theme/' . $set_user['skin'] . '/images/' . ($set_author['sex'] == 'm' ? 'm' : 'w') . ($us_d['datereg'] > time() - 86400 ? '_new' : '') . '.png';
if ($user_id && $user_id != $message['id_u'])
$nik = '<a href="../users/profile.php?user=' . $message['id_u'] . '">' . ($set_author['cvet_n'] ? '<span style="color: ' . $set_author['cvet_n'] . '">' : '') . '<b>' . $set_author['name'] . '</b>' . ($set_author['cvet_n'] ? '</span>' : '') . '</a> ';
else
$nik = ($set_author['cvet_n'] ? '<span style="color: ' . $set_author['cvet_n'].'">' : '') . '<b>' . $set_author['name'] . '</b>' . ($set_author['cvet_n'] ? '</span>' : '');
if ($k_d['tip'] == 'an')
$nik .= ' <b><small>(№: <span class="green">' . $message['pas'] . '</span>)</small></b>';
$user_stat = array(6 => ' (Smd)', 7 => ' (Adm)', 9 => ' (SV!)');
$nik .= $user_stat[$us_d['rights']];
if ($set_author['rights'] == 1)
$nik .= ' (Cmod)';
$onl = $us_d['lastdate'];
if ($k_d['tip'] != 'an' && $user_id && $user_id != $message['id_u'])
$otv_cit = '<a href="index.php?act=messages&mod=txt&id=' . $message['id'] . '&id_k=' . $id . '">[о]</a> <a href="index.php?act=messages&mod=citata&id=' . $message['id'] . '&id_k=' . $id . '">[ц]</a> ';
else
$otv_cit = '';
if (!empty ($set_author['status']))
$stat = '<div class="status"><img src="../theme/' . $set_user['skin'] . '/images/label.png" alt="" align="middle"/> ' . $set_author['status'] . '</div>';
else
$stat = '';
if ($set_author['cvet'] && $k_d['tip'] != 'an')
$text = '<span style="color: ' . $set_author['cvet'] . '">' . $text . '</span>';
$avatar = '../files/users/avatar/' . $message['id_u'] . '.png';
if ($k_d['tip'] == 'an' && !$chat_us_d['rights'] && $rights < 6) {
// Пост Анонима
$avatar = '../images/empty.png';
// Отображение номера Анонима
if (intval($_SESSION['key']) == $message['pas'])
$nik = '<b>Аноним №: <span class="red">' . $message['pas'] . '</span></b>';
else
$nik = '<b>Аноним №: ' . $message['pas'] . '</b>';
$otv_cit = '';
$stat = '';
}
} else {
// Пост Бота
$rights_p = 0;
if ($set_user['smileys'])
$text = functions::smileys($text, 0);
$avatar = 'img/' . $set_author['av'] . '.png';
$sex = '../theme/' . $set_user['skin'] . '/images/' . ($set_author['sex'] == 'zh' ? 'w' : 'm') . '.png';
if ($message['id_u'] && $user_id)
$nik = '<a href="profile.php?user=' . $message['id_u'] . '"><b>' . $set_author['name'] . '</b></a> ';
else
$nik = '<b>' . $set_author['name'] . '</b> ';
$onl = time();
if ($k_d['tip'] != 'an' && $message['id_u'] && $user_id)
$otv_cit = '<a href="index.php?act=messages&mod=txt&id=' . $message['id'] . '&id_k=' . $id . '">[o]</a> <a href="index.php?act=messages&mod=citata&id=' . $message['id'] . '&id_k=' . $id . '">[ц]</a> ';
else
$otv_cit = '';
if (!empty ($set_author['status']))
$stat = '<div class="status"><img src="../theme/' . $set_user['skin'] . '/images/label.png" alt="" align="middle"/> ' . $set_author['status'] . '</div>';
else
$stat = '';
}
/*
-----------------------------------------------------------------
Вывод данных автора поста
-----------------------------------------------------------------
*/
// Аватар
if ($set_user['avatar'] && $set_chat['avatar']) {
echo '<table cellpadding="0" cellspacing="0"><tr><td>';
if (file_exists($avatar))
echo '<img src="' . $avatar . '" width="32" height="32" alt="" /> ';
else
echo '<img src="../images/empty.png" width="32" height="32" alt="" /> ';
echo '</td><td>';
}
// Метка пола
echo '<img src="' . $sex . '" width="16" height="16" align="middle" /> ';
// Ник и должность
echo $nik;
// Метка Онлайн / Офлайн
echo (time() > $onl + 300 ? '<span class="red"> [Off]</span> ' : '<span class="green"> [ON]</span> ');
echo $otv_cit;
echo '<span class="gray">(' . $vr . ')</span><br />';
echo $stat;
// Метка о приватности сообщения
if ($message['id_s'] && $user_id) {
if ($user_id == $message['id_s'])
echo '<small><span class="red">[П!]</span></small><br />';
elseif ($user_id == $message['id_u'])
echo '<small><span class="green">[П!]</span></small><br />';
elseif ($rights == 9) {
$dn = mysql_fetch_assoc(mysql_query("SELECT `name` FROM `users` WHERE `id` = '" . $message['id_s'] . "' LIMIT 1"));
echo '<small><span class="red">[П!] =>> <a href="../users/profile.php?user=' . $message['id_s'] . '">' . $dn['name'] . '</a></span></small><br />';
}
}
// Аватар
if ($set_user['avatar'] && $set_chat['avatar'])
echo '</td></tr></table>';
/*
-----------------------------------------------------------------
Вывод текста поста
-----------------------------------------------------------------
*/
echo $text . '<br />';
// Ссылки скрыть/восстановить, удалить сообщение:
if ($chat_us_d['rights'] && $rights >= $rights_p || $rights >= 6 && $rights > $rights_p || $rights == 9) {
echo '<div class="sub">';
if ($message['tip'] < 2)
echo '<input type="checkbox" name="delch[]" value="' . $message['id'] . '"/> ';
if ($rights == 9) {
echo '<a href="index.php?act=delete&id=' . $message['id'] . '&id_k=' . $id . '">Удалить</a>';
if ($message['tip'] == 1 && !$message['id_s'])
echo ' | <a href="index.php?act=close&id=' . $message['id'] . '&id_k=' . $id . '">Восстановить</a>';
elseif (!$message['tip'] && !$message['id_s'])
echo ' | <a href="index.php?act=close&id=' . $message['id'] . '&id_k=' . $id . '&mod=closed">Скрыть</a>';
}
if ($chat_us_d['rights'] == 1 && !$message['tip'] && $rights < 6 || $rights == 6)
echo '<a href="index.php?act=close&id=' . $message['id'] . '&id_k=' . $id . '&mod=closed">Удалить</a>';
if ($rights == 7 && !$message['id_s']){
if ($message['tip'] == 1)
echo '<a href="index.php?act=close&id=' . $message['id'] . '&id_k=' . $id . '">Восстановить</a>';
elseif (!$message['tip'])
echo '<a href="index.php?act=close&id=' . $message['id'] . '&id_k=' . $id . '&mod=closed">Удалить</a>';
}
if ($message['tip'] < 2 && ($rights > $rights_p || $chat_us_d['rights'] > $rights_p) && $k_d['tip'] != 'sr')
echo ' | <a href="index.php?act=ban&mod=ban&id=' . $id . '&user=' . $message['id_u'] . '">Бан</a>';
// Метка о том, что пост удалён
if ($message['tip'] == 1 && $rights > 6 && $set_author['name_delete'])
echo '<br /><span class="red">Пост удалил: <b>' . $set_author['name_delete'] . '</b></span>';
elseif ($set_author['name_delete'] && $rights > 6)
echo '<br /><span class="green">Пост восстановил: <b>' . $set_author['name_delete'] . '</b></span>';
echo '<br /><span class="gray">' . long2ip($set_author['ip']) . ' - ' . $set_author['soft'] . '</span>';
echo '</div>';
}
echo '</div>';
++$i;
}
if ($chat_us_d['rights'] || $rights >= 6)
echo '<div class="rmenu"><input type="submit" value="Удалить"/></div>';
echo '</form>';
} else {
echo '<div class="menu">В комнате сообщений нет<br /><b>Будь первым! </b></div>';
}
echo '<div class="phdr"><a href="index.php?act=messages&id=' . $id . '"><b>Сказать</b></a> | ';
echo '<a href="index.php?id=' . $id . '&refr=' . $refr . '"><b>Обновить</b></a></div>';
Bumblebee, сам не справишся. Найми кодера.
Райский будет. Если ручками кое какие файлы поменять. все есть тут.