<?php
define('_IN_JOHNCMS', 1);
require_once('../incfiles/core.php');
////////////////////////////////////////////////////////////
// Настройки форума //
////////////////////////////////////////////////////////////
if ($user_id)
$set_forum = unserialize($datauser['set_forum']);
$set_foru['farea'] = 1;
// Настроки по-умолчанию
if (!isset($set_forum) || empty($set_forum))
$set_forum = array (
'farea' => 1,
'upfp' => 0,
'farea_w' => 20,
'farea_h' => 4,
'postclip' => 1,
'postcut' => 2
);
////////////////////////////////////////////////////////////
// Список расширений файлов, разрешенных к выгрузке //
////////////////////////////////////////////////////////////
// Файлы Windows
$ext_win = array (
'exe',
'msi'
);
// Файлы Java
$ext_java = array (
'jar',
'jad'
);
// Файлы SIS
$ext_sis = array (
'sis',
'sisx'
);
// Файлы документов и тексты
$ext_doc = array (
'txt',
'pdf',
'doc',
'rtf',
'djvu',
'xls'
);
// Файлы картинок
$ext_pic = array (
'jpg',
'jpeg',
'gif',
'png',
'bmp',
'wmf'
);
// Файлы архивов
$ext_zip = array (
'zip',
'rar',
'7z',
'tar',
'gz'
);
// Файлы видео
$ext_video = array (
'3gp',
'avi',
'flv',
'mpeg',
'mp4'
);
// Звуковые файлы
$ext_audio = array (
'mp3',
'amr'
);
// Другие типы файлов (что не перечислены выше)
$ext_other = array ();
////////////////////////////////////////////////////////////
// Ограничиваем доступ к Форуму //
////////////////////////////////////////////////////////////
$error = '';
if (!$set['mod_forum'] && $rights < 7)
$error = 'Форум закрыт';
elseif ($set['mod_forum'] == 1 && !$user_id)
$error = 'Доступ на форум открыт только <a href="../login.php">авторизованным</a> посетителям';
if ($error) {
require_once('../incfiles/head.php');
echo '<div class="rmenu"><p>' . $error . '</p></div>';
require_once('../incfiles/end.php');
exit;
}
// Ограничиваем доступ к Форуму по бану
$error = '';
if (!$set['mod_chat'] && $rights < 7)
$error = 'Форум закрыт';
elseif ($ban['1'] || $ban['5'])
$error = 'Для Вас доступ в Форум закрыт';
if ($error) {
require_once ("../incfiles/head.php");
echo '<div class="rmenu"><p>' . $error . '</p></div>';
require_once ("../incfiles/end.php");
exit;
}
$headmod = $id ? 'forum,' . $id : 'forum';
// Заголовки форума
if (empty($id)) {
$textl = 'Форум';
} else {
$req = sql_query("SELECT `text` FROM `forum` WHERE `id`= '" . $id . "' LIMIT 1;");
$res = sql_fetch_assoc($req);
$hdr = strtr($res['text'], array (
'"' => '',
'&' => '',
'<' => '',
'>' => '',
''' => ''
));
$hdr = mb_substr($hdr, 0, 30);
$hdr = checkout($hdr);
$textl = mb_strlen($res['text']) > 30 ? $hdr . '...' : $hdr;
}
$array = array (
'new',
'who',
'addfile',
'file',
'users',
'moders',
'addvote',
'editvote',
'delvote',
'vote',
'per',
'ren',
'deltema',
'vip',
'close',
'editpost',
'nt',
'tema',
'loadtem',
'say',
'post',
'read',
'faq',
'trans',
'massdel',
'files',
'filter',
'restore',
'icons',
'postforum',
'curators'
);
if (in_array($act, $array) && file_exists($act . '.php')) {
require_once($act . '.php');
} else {
require_once('../incfiles/head.php');
// Если форум закрыт, то для Админов выводим напоминание
if (!$set['mod_forum'])
echo '<p><font color="#FF0000"><b>Форум закрыт!</b></font></p>';
if (!$user_id) {
if (isset($_GET['newup']))
$_SESSION['uppost'] = 1;
if (isset($_GET['newdown']))
$_SESSION['uppost'] = 0;
}
if ($id) {
$type = sql_query("SELECT * FROM `forum` WHERE `id`= '" . $id . "' LIMIT 1");
$type1 = sql_fetch_assoc($type);
$tip = $type1['type'];
switch ($tip) {
case 'f':
##############################################################################################################################################
// Список разделов форума
####################################################################
########################################################################
if ($theme == 'wap')
{echo '<div class="bmenu">';
forum_new(1);
'<a href="index.php">Форум</a> >> <b>' . $type1['text'] . '</b>';
}
####################################################################
if ($theme == 'web')
{
echo '<div class="loop"><div class="gmeenu">';
forum_new(1);
echo '</div>';
echo '<div class="gmeenu"><a href="index.php">Форум</a> >> <b>' . $type1['text'] . '</b></div>';
}
#######################################################################
$req = sql_query("SELECT `id`, `text`, `soft`, `icon` FROM `forum` WHERE `type`='r' AND `refid`='$id' ORDER BY `realid`");
$total = sql_num_rows($req);
while ($res = sql_fetch_assoc($req))
{
echo '<div class="frame">';
echo ($i % 2) ? '<div class="oddnrows">' : '<div class="evenrows">';
$coltem = sql_result(sql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 't' AND `refid` = '" . $res['id'] . "'"), 0);
echo ($user_id && $rights >= 8 ? '<a href="index.php?act=icons&num=' . $res['id'] . '">' : '') . '<img src="icons/' . ($res['icon'] ? $res['icon'] : 'default.gif') . '" alt="" width="16" height="16" style="vertical-align:middle;" />' . ($user_id && $rights >= 8 ? '</a>' : '') . ' <a href="?id=' . $res['id'] . '">' . $res['text'] . '</a>';
if ($coltem)
echo " [$coltem]";
if (!empty($res['soft']))
echo '<div class="sub"><span class="gray">' . $res['soft'] . '</span></div>';
echo '</div>';
++$i;
echo '</div>';
}
echo '<div class="warning">Всего: ' . $total . '</div>';
unset($_SESSION['fsort_id']);
unset($_SESSION['fsort_users']);
break;
case 'r':
##############################################################################################################################################
// Список тем и ссылка на непрочитанные
####################################################################
########################################################################
if ($theme == 'wap')
{echo '<div class="bmenu">';
forum_new(1);
'</b>';
}
####################################################################
if ($theme == 'web')
{
echo '<div class="loop"><div class="gmeenu">';
forum_new(1);
echo '</div>';
}
#######################################################################
$qz = sql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='t' AND `refid`='$id'" . ($rights >= 7 ? '' : " AND `close`!='1'"));
$coltem = sql_result($qz, 0);
$forum = sql_query("SELECT * FROM `forum` WHERE `type`='f' AND `id`='" . $type1['refid'] . "'");
$forum1 = sql_fetch_assoc($forum);
########################################################################
if ($theme == 'wap')
{
echo '<div class="warning">';
echo '<a href="index.php">Форум</a> >> <a href="index.php?id=' . $type1['refid'] . '">' . $forum1['text'] . '</a> >> <b>' . $type1['text'] . '</b>';
echo '</div>';
}
####################################################################
if ($theme == 'web')
{
echo '<div class="gmeenu">';
echo '<a href="index.php">Форум</a> >> <a href="index.php?id=' . $type1['refid'] . '">' . $forum1['text'] . '</a> >> <b>' . $type1['text'] . '</b>';
echo '</div>';
}
#######################################################################
if ($user_id && !$ban['1'] && !$ban['11'])
{
echo '<div class="warning"><form action="index.php?act=nt&id=' . $id . '" method="post"><input type="submit" value="Новая тема" /></form></div>';
}
$q1 = sql_query("SELECT * FROM `forum` WHERE `type`='t'" . ($rights >= 7 ? '' : " AND `close`!='1'") . " AND `refid`='$id' ORDER BY `vip` DESC, `time` DESC LIMIT $start, $kmess");
echo '<div class="frame">';
echo '<table id="example">';
while ($mass = sql_fetch_assoc($q1)) {
echo ($i % 2) ? '<tr class="oddnrows">' : '<tr class="evenrows">';
$nikuser = sql_query("SELECT `from` FROM `forum` WHERE `type` = 'm' AND `close` != '1' AND `refid` = '" . $mass['id'] . "' ORDER BY `time` DESC LIMIT 1");
$nam = sql_fetch_assoc($nikuser);
$colmes = sql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='m' AND `refid`='" . $mass['id'] . "'" . ($rights >= 7 ? '' : " AND `close` != '1'"));
$colmes1 = sql_result($colmes, 0);
$cpg = ceil($colmes1 / $kmess);
// Выводим список тем
echo '<td>';
if ($mass['vip'] == 1) {
echo '<img src="../theme/images/pt.gif" alt=""/>';
} elseif ($mass['edit'] == 1) {
echo '<img src="../theme/images/tz.gif" alt=""/>';
} elseif ($mass['close'] == 1) {
echo '<img src="../theme/images/dl.gif" alt=""/>';
} else {
$np = sql_result(sql_query("SELECT COUNT(*) FROM `cms_forum_rdm` WHERE `time` > '" . $mass['time'] . "' AND `topic_id` = '" . $mass['id'] . "' AND `user_id`='$user_id'"), 0);
echo '<img src="../theme/images/' . ($np ? 'op' : 'np') . '.gif" alt=""/>';
}
if ($mass['realid'] == 1)
echo ' <img src="../images/rate.gif" alt=""/>';
echo ' <a href="index.php?id=' . $mass['id'] . '">' . $mass['text'] . '</a>' . ($cpg > 1 ? '<a href="index.php?id=' . $mass[id] . '&page=' . $cpg . '"> >></a>' : '');
echo '<div style="font-size:x-small;margin-top:4px;">';
echo $mass['from'];
if (!empty($nam['from'])) {
echo ' / ' . $nam['from'];
}
$vrp = $mass['time'] + $set_user['sdvig'] * 3600;
echo ' <font color="#777777">' . date("d.m.y / H:i", $vrp) . '</font></div>';
echo '</td><td align="center" width="10%">' . $colmes1 . '</td></tr>';
++$i;
}
echo '</table>';
echo '</div>';
echo '<div class="warning">Всего: ' . $coltem . '</div>';
if ($coltem > $kmess) {
echo '<div class="menu"><p>' . pagenav('index.php?id=' . $id . '&', $start, $coltem, $kmess) . '</p>';
echo '<p><form action="index.php" method="get"><input type="hidden" name="id" value="' . $id . '"/><input type="text" name="page" size="2"/><input type="submit" value="К странице >>"/></form></p></div>';
}
unset($_SESSION['fsort_id']);
unset($_SESSION['fsort_users']);
break;
case 't':
##############################################################################################################################################
// Читаем тему
####################################################################
$filter = isset($_SESSION['fsort_id']) && $_SESSION['fsort_id'] == $id ? 1 : 0;
$sql = '';
if ($filter && !empty($_SESSION['fsort_users'])) {
// Подготавливаем запрос на фильтрацию юзеров
$sw = 0;
$sql = ' AND (';
$fsort_users = unserialize($_SESSION['fsort_users']);
foreach ($fsort_users as $val) {
if ($sw)
$sql .= ' OR ';
$sortid = intval($val);
$sql .= "`forum`.`user_id` = '$sortid'";
$sw = 1;
}
$sql .= ')';
}
if ($user_id && !$filter) {
// Фиксация факта прочтения топика
$req = sql_query("SELECT * FROM `cms_forum_rdm` WHERE `topic_id` = '$id' AND `user_id` = '$user_id' LIMIT 1");
if (sql_num_rows($req) > 0) {
$res = sql_fetch_assoc($req);
if ($type1['time'] > $res['time'])
sql_query("UPDATE `cms_forum_rdm` SET `time` = '$realtime' WHERE `topic_id`='$id' AND `user_id` = '$user_id'");
} else {
// Ставим метку о прочтении
sql_query("INSERT INTO `cms_forum_rdm` SET `topic_id` = '$id', `user_id` = '$user_id', `time` = '$realtime'");
}
}
// Ссылка на непрочитанное
########################################################################
if ($theme == 'wap')
{echo '<div class="bmenu">';
forum_new(1);
'</b>';
}
####################################################################
if ($theme == 'web')
{
echo '<div class="loop"><div class="gmeenu">';
forum_new(1);
echo '</div>';
}
#######################################################################
if ($rights < 7 && $type1['close'] == 1)
{
echo '<div class="c"> <p>Тема удалена!<br/><a href="?id=' . $type1['refid'] . '">
</br>В раздел</a></p></div>';
require_once("../incfiles/end.php");
exit;
}
// Счетчик постов темы
$colmes = sql_result(sql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='m'$sql AND `refid`='$id'" . ($rights >= 7 ? '' : " AND `close` != '1'")), 0);
// Панель навигации
$razd = sql_fetch_assoc(sql_query("SELECT `id`, `refid`, `text` FROM `forum` WHERE `id` = '" . $type1['refid'] . "' LIMIT 1"));
$frm = sql_fetch_assoc(sql_query("SELECT `id`, `text` FROM `forum` WHERE `id` = '" . $razd['refid'] . "' LIMIT 1"));
echo '<div class="warning"> <a href="index.php">Форум</a> >> <a href="index.php?id=' . $frm['id'] . '">' . $frm['text'] . '</a> >> <a href="index.php?id=' . $razd['id'] . '">' . $razd['text'] . '</a></div>';
// Выводим название топика
echo '<div class="bmenu"> <a name="up" id="up"></a><a href="#down"><img src="../theme/images/down.png" alt="Вниз" width="20" height="20" border="0"/></a> <b>' . $type1['text'] .
'</b></div>';
// Метки удаления темы
if ($type1['close'])
echo '<div class="loop"><div class="gmeenu"> Тему удалил: <b>' . $type1['close_who'] . '</b></div>';
// Метки закрытия темы
if ($type1['edit'])
echo '<div class="loop"><div class="gmeenu"> Тема закрыта</div>';
if ($colmes > $kmess) {
echo '<div class="frame"> ' . pagenav('index.php?id=' . $id . '&', $start, $colmes, $kmess) . '</div>';
}
##############################################################################################################################################
// Голосование
####################################################################
if ($type1['realid']) {
if (isset($_GET['clip']))
$clip_forum = '&clip';
$vote_user = sql_result(sql_query("SELECT COUNT(*) FROM `forum_vote_us` WHERE `user`='$user_id' AND `topic`='$id'"), 0);
$topic_vote = sql_fetch_assoc(sql_query("SELECT `name`, `time`, `count` FROM `forum_vote` WHERE `type`='1' AND `topic`='$id' LIMIT 1"));
echo '<div class="warning"><b>Проголосуйте:    <font color="red ">' . checkout($topic_vote['name']) . '</font></b><br />';
$vote_result = sql_query("SELECT `id`, `name`, `count` FROM `forum_vote` WHERE `type`='2' AND `topic`='" . $id . "' ORDER BY `id` ASC");
if (!isset($_GET['vote_result']) && $user_id && $vote_user == 0)
{
// Выводим форму с опросами
echo '<form action="index.php?act=vote&id=' . $id . '" method="post">';
while ($vote = sql_fetch_assoc($vote_result))
{
echo '<input type="radio" value="' . $vote['id'] . '" name="vote"/> ' . checkout($vote['name']) . '<br />';
}
echo '<p><input type="submit" name="submit" value="Голосовать"/><br /><a href="index.php?id=' . $id . '&start=' . $start . '&vote_result' . $clip_forum .
'">Результаты</a></p></form></div>';
}
else
{
// Выводим результаты голосования
echo '<small>';
while ($vote = sql_fetch_assoc($vote_result)) {
$count_vote = $topic_vote['count'] ? round(100 / $topic_vote['count'] * $vote['count']) : 0;
echo checkout($vote['name']) . ' [' . $vote['count'] . ']<br />';
echo '<img src="vote_img.php?img=' . $count_vote . '" alt="Рейтинг: ' . $count_vote . '%" /><br />';
}
echo '</small></div><div class="warning">Всего голосов: ';
if ($datauser['rights'] > 6)
echo '<a href="index.php?act=users&id=' . $id . '">' . $topic_vote['count'] . '</a>';
else
echo $topic_vote['count'];
echo '</div>';
if ($user_id && $vote_user == 0)
echo '<div class="warning"><a href="index.php?id=' . $id . '&start=' . $start . $clip_forum . '">Голосовать</a></div>';
}
}
$curators = !empty($type1['curators']) ? unserialize($type1['curators']) : array();
$curator = false;
if($rights < 6 && $rights != 3 && $user_id) {
if(array_key_exists($user_id, $curators)) $curator = true;
}
//Тут была фиксация первого поста
if ($filter)
echo '<div class="rmenu">В теме включена фильтрация по авторам постов</div>';
// Задаем правила сортировки (новые внизу / вверху)
if ($user_id)
$order = $set_forum['upfp'] ? 'DESC' : 'ASC';
else
$order = ((empty($_SESSION['uppost'])) || ($_SESSION['uppost'] == 0)) ? 'ASC' : 'DESC';
// Запрос в базу
$req = sql_query("SELECT `forum`.*, `users`.`name`, `users`.`imname`, `users`.`sex`, `users`.`rights`, `users`.`lastdate`, `users`.`total_on_site`, `users`.`medal`, `users`.`status`, `users`.`img_status`, `users`.`datereg`
FROM `forum` LEFT JOIN `users` ON `forum`.`user_id` = `users`.`id`
WHERE `forum`.`type` = 'm' AND `forum`.`refid` = '$id'"
. ($rights >= 7 ? "" : " AND `forum`.`close` != '1'") . "$sql ORDER BY `forum`.`id` $order LIMIT $start, $kmess");
######################################################################################################################################################
/*
// Верхнее поле "Написать"
if (($user_id && !$type1['edit'] && !$set_forum['upfp']) || ($rights >= 7 && !$set_forum['upfp'])) {
echo '<div class="bmenu"><form name="form2" action="index.php?act=say&id=' . $id . '" method="post">';
if ($set_forum['farea']) {
echo auto_bb('form2', 'msg');
echo '<textarea cols="' . $set_forum['farea_w'] . '" rows="' . $set_forum['farea_h'] . '" name="msg" spellcheck="true"></textarea><br/>';
echo '<input type="checkbox" name="addfiles" value="1" /> Добавить файл<br/>';
if ($set_user['translit'])
echo '<input type="checkbox" name="msgtrans" value="1" /> Транслит сообщения<br/>';
}
echo '<input type="submit" name="submit" value="Написать"/>';
echo '</form></div>';
}
*/
######################################################################################################################################################
// Выввод постов юзеров в теме таблицой
if ($rights == 3 || $rights >= 6)
echo '<form action="index.php?act=massdel" method="post">';
$i = 1;
while ($res = sql_fetch_assoc($req)) {
echo '<table id="example" cellspacing="0" width="100%">';
$text = '';
// Ник юзера и ссылка на его анкету
$color = sql_fetch_assoc(sql_query("SELECT * FROM `users` WHERE `id` = '". $res['user_id'] ."' LIMIT 1"));
if ($user_id && $user_id != $res['user_id'])
{
$nikuser = '<span style="color:#'.$color['color_nik'].'"><a href="../str/anketa.php?id=' . $res['user_id'] . '"><b>' . $res['imname'] . ' ' . $res['name'] . '</b></a></span> ';
}
else
{
$nikuser = '<span style="color:#'.$color['color_nik'].'"><b>' . $res['imname'] . ' ' . $res['name'] . '</b></span> ';
}
// Аватар юзера
if ($set_user['avatar'])
{
if (file_exists(('../files/avatar/' . $res['user_id'] . '.png')))
$ava = '<br/><img src="../files/avatar/' . $res['user_id'] . '.png" width="48" height="48" alt="' . $res['from'] . '" />';
else
$ava = '<br/><img src="../images/empty.png" width="48" height="48" alt="' . $res['from'] . '" /> ';
}
else {$ava = '';}
// Пол и метка онлайн юзера
if ($res['sex'])
$sexus = '<img src="../theme/images/' . ($res['sex'] == 'm' ? 'm' : 'w') . ($res['datereg'] > $realtime - 86400 ? '_new' : ''). '_'.($realtime > $res['lastdate'] + 1200 ? 'of' : 'oon') . '.png" width="16" height="8" align="middle" /> ';
else
$sexus = '<img src="../theme/images/del.png" width="12" height="12" align="middle" /> ';
// Время поста
$tim = ' <span class="gray">' . date("d.m.Y в H:i", $res['time'] + $set_user['sdvig'] * 3600) . '</span>';
////////////////////////////////////////////////////////////
// Вывод текста поста //
////////////////////////////////////////////////////////////
$text = $res['text'];
if ($set_forum['postcut'])
{
// Если текст длинный, обрезаем и даем ссылку на полный вариант
switch ($set_forum['postcut']) {
case 2:
$cut = 5000;
break;
case 3:
$cut = 5000;
break;
default :
$cut = 500;
}
}
if ($set_forum['postcut'] && mb_strlen($text) > $cut)
{
$text = mb_substr($text, 0, $cut);
$text = checkout($text, 1, 1);
$text = table_bbcode($text);
if ($set_user['smileys'])
$text = smileys($text, $res['rights'] ? 1 : 0);
echo $text . '...<br /><a href="index.php?act=post&id=' . $res['id'] . '">Читать все >></a>';
}
else
{
// Или, обрабатываем тэги и выводим весь текст
$text = checkout($text, 1, 1);
$text = table_bbcode($text);
//echo $text;//steret`
if ($set_user['smileys'])
$text = smileys($text, $res['rights'] ? 1 : 0);
//echo $text;
}
if ($res['kedit']) {
// Если пост редактировался, показываем кем и когда
$dizm = date("d.m /H:i", $res['tedit'] + $set_user['sdvig'] * 3600);
echo '<br /><span class="gray"><small>Изм. <b>' . $res['edit'] . '</b> (' . $dizm . ') <b>[' . $res['kedit'] . ']</b></small></span>';
}
if ($datauser['total_on_site'] < 100){
$id = 1;
}
// Если есть прикрепленный файл, выводим его описание
$freq = sql_query("SELECT * FROM `cms_forum_files` WHERE `post` = '" . $res['id'] . "'");
if (sql_num_rows($freq) > 0) {
$fres = sql_fetch_assoc($freq);
$fls = round(filesize('./files/' . $fres['filename']) / 1024, 2);
echo '<br /><span class="gray">Прикреплённый файл:';
// Предпросмотр изображений
$att_ext = strtolower(format('./files/' . $fres['filename']));
$pic_ext = array (
'gif',
'jpg',
'jpeg',
'png'
);
if (in_array($att_ext, $pic_ext)) {
echo '<div><a href="index.php?act=file&id=' . $fres['id'] . '">';
echo '<img src="thumbinal.php?file=' . (urlencode($fres['filename'])) . '" alt="Нажмите для просмотра изображения" /></a></div>';
} else {
echo '<br /><a href="index.php?act=file&id=' . $fres['id'] . '">' . $fres['filename'] . '</a>';
}
echo ' (' . $fls . ' кб.)<br/>';
echo 'Скачано: ' . $fres['dlcount'] . ' раз.</span>';
}
if ((($rights == 3 || $rights >= 6 || $curator) && $rights >= $res['rights']) || ($res['user_id'] == $user_id && !$set_forum['upfp'] && ($start + $i) == $colmes && $res['time'] > $realtime - 300)
|| ($res['user_id'] == $user_id && $set_forum['upfp'] && $start == 0 && $i == 1 && $res['time'] > $realtime - 300))
{
// Ссылки на редактирование / удаление постов
echo '<div class="sub">';
if ($rights == 3 || $rights >= 6)
echo '<input type="checkbox" name="delch[]" value="' . $res['id'] . '"/> ';
echo '<a href="index.php?act=editpost&id=' . $res['id'] . '">Изменить</a> | ';
if ($rights >= 7 && $res['close'] == 1)
echo '<a href="index.php?act=editpost&do=restore&id=' . $res['id'] . '">Восстановить</a> | ';
if ($res['close']) {
echo '<div class="red">Пост удалил: <b>' . $res['close_who'] . '</b></div>';
} elseif (!empty($res['close_who'])) {
echo '<div class="green">Пост восстановил: <b>' . $res['close_who'] . '</b></div>';
}
if ($rights == 3 || $rights >= 6)
echo '<div class="gray">' . $res['ip'] . ' - ' . $res['soft'] . '</div>';
echo '</div>';
}
echo '</div>';
++$i;
// Метка должности
$user_rights = array (
2 => 'Модератор чата',
3 => 'Модератор форума',
6 => 'Старший модератор',
7 => 'Ассистент руководителя',
9 => 'Руководитель сайта'
);
echo '<tr class="bmenu"><td align="center" valign="midle" width="100px.">'.$sexus.''.$nikuser.'</td>';
echo'<td align="left" valign="midle" width="80%">'.$tim.' ';
// Ссылки на ответ и цитирование
if ($user_id && $user_id != $res['user_id']) {
echo '<a href="index.php?act=say&id=' . $res['id'] . '&start=' . $start . '">Ответить</a> <a href="index.php?act=say&id=' . $res['id'] . '&start=' . $start . '&cyt">Цитировать</a> ';
}
if ($rights == 3 || $rights >= 6)
{
echo ' (<a href="index.php?act=editpost&do=del&id=' . $res['id'] . '">Удалить</a>)</td></tr>';
}
else
{
echo'</td></tr>';
}
echo '<tr class="list2"><td align="center" valign="midle" width="100px.">';
echo $user_rights[$res['rights']];
echo "$ava <br/>";
// Блок медалей
if (!$set_chat['medal'] && $res['medal'] > 0) {
$qg = sql_query("SELECT * FROM `medals` WHERE `user` = '" . $res['user_id'] . "' ORDER BY `time` DESC LIMIT 4;");
while ($rh = sql_fetch_assoc($qg)) {
echo '<img src="../images/medals/' . $rh['medal'] . '.png" width="10" height="10" alt="" align="middle" /> ';
}
}
echo '<br/>';
/*** Mod by MyZik ***/
$user = sql_fetch_assoc(sql_query("SELECT * FROM `users` WHERE `id` = '" . $res['user_id'] . "'"));
// Звания
if ($user['postforum'] >= 0 && $user['postforum'] <= 49)
$Rank = '<font color="orange "><b>Пришелец</b></font>';
if ($user['postforum'] >= 50 && $user['postforum'] <= 99)
$Rank = '<font color="green "><b>Новичок</b></font>';
if ($user['postforum'] >= 100 && $user['postforum'] <= 149)
$Rank = '<font color="blue "><b>Наш человек</b></font>';
if ($user['postforum'] >= 150 && $user['postforum'] <= 199)
$Rank = '<font color="red "><b>Форумчанин</b></font>';
if ($user['postforum'] >= 200 && $user['postforum'] <= 299)
$Rank = 'Активист';
if ($user['postforum'] >= 300 && $user['postforum'] <= 499)
$Rank = 'Риторик';
if ($user['postforum'] >= 500 && $user['postforum'] <= 799)
$Rank = 'Профессионал';
if ($user['postforum'] >= 800 && $user['postforum'] <= 999)
$Rank = '<font color="orange "><b>Звезда форума</b></font>';
if ($user['postforum'] >= 1000 && $user['postforum'] <= 99999999)
$Rank = 'Гуру форума';
// Медали
if ($user['postforum'] >= 150 && $user['postforum'] <= 299)
$Medal = '<img src="/images/rank/bronze.png" alt="" />';
if ($user['postforum'] >= 300 && $user['postforum'] <= 499)
$Medal = '<img src="/images/rank/silver.png" alt="" />';
if ($user['postforum'] >= 500 && $user['postforum'] <= 99999999)
$Medal = '<img src="/images/rank/gold.png" alt="" />';
/*** End ***/
/*** Mod by MyZik ***/
// Вывод звания
echo '<span class="red"><img src="../images/icons/rank.png" alt="" /> ' . $Rank . '</span>';
/*** End ***/
//Статус юзера
if (!$set_chat['status'] && !empty($res['img_status']))
echo '<br /><img src="../images/icon_icq/' . $res['img_status'] . '.gif" alt="" align="middle" width="20" height="20" />' . ($user_id && $res['from'] == $user_id ? '<a href="' . $home . '/str/icq_status.php">' . $res['status'] . '</a>' : $res['status']) . '<br />';
echo'</td><td align="left" valign="top" width="80%">';
echo $text;
echo'</td></tr>';
echo '</table>';
echo '<br/>';
++$i;
}
if ($rights == 3 || $rights >= 6) {
echo '<div class="rmenu"><input type="submit" value=" Удалить "/></div>';
echo '</form>';
}
echo '<div class="phdr">Всего сообщений: ' . $colmes . '</div>';
if ($colmes > $kmess) {
{
echo '<div class="frame">';
echo '<p>' . pagenav('index.php?id=' . $id . '&', $start, $colmes, $kmess) . '</p>';
echo '<p><form action="index.php" method="get"><input type="hidden" name="id" value="' . $id . '"/><input type="text" name="page" size="2"/><input type="submit" value="К странице >>"/></form></p>';
}
// Нижнее поле "Написать"
if (($user_id && !$type1['edit'] && !$set_forum['upfp']) || ($rights >= 7 && !$set_forum['upfp'])) {
echo '<div class="bmenu"><form name="form2" action="index.php?act=say&id=' . $id . '" method="post">';
if ($set_forum['farea']) {
echo auto_bb('form2', 'msg');
echo '<textarea cols="' . $set_forum['farea_w'] . '" rows="' . $set_forum['farea_h'] . '" name="msg" spellcheck="true"></textarea><br/>';
echo '<input type="checkbox" name="addfiles" value="1" /> Добавить файл<br/>';
if ($set_user['translit'])
echo '<input type="checkbox" name="msgtrans" value="1" /> Транслит сообщения<br/>';
}
echo '<input type="submit" name="submit" value="Написать"/>';
echo '</form></div>';
echo '</div>';
}
}
else {
echo '<br />';
}
// Ссылки на удаление тем и так далее кураторы
if($curators) {
$array = array();
foreach($curators as $key=>$value)
$array[] = '<a href="../id=' . $key . '">' . $value . '</a>';
echo '<p><div class="warning">Кураторы: ' . implode(', ', $array) . '</div></p>';
}
if ($rights == 3 || $rights >= 6) {
echo '<p><div class="warning">';
if($rights >= 7)
echo '<a href="index.php?act=curators&id=' . $id . '&start=' . $start . '">Кураторы темы</a><br />';
echo $topic_vote > 0 ? '<a href="index.php?act=editvote&id=' . $id . '">Изменить опрос</a><br/><a href="index.php?act=delvote&id=' . $id . '">Удалить опрос</a><br/>'
: '<a href="index.php?act=addvote&id=' . $id . '">Добавить опрос</a><br/>';
echo "<a href='index.php?act=ren&id=" . $id . "'>Переименовать тему</a><br/>";
// Закрыть - открыть тему
if ($type1['edit'] == 1)
echo "<a href='index.php?act=close&id=" . $id . "'>Открыть тему</a><br/>";
else
echo "<a href='index.php?act=close&id=" . $id . "&closed'>Закрыть тему</a><br/>";
// Удалить - восстановить тему
if ($type1['close'] == 1)
echo "<a href='index.php?act=restore&id=" . $id . "'>Восстановить тему</a><br/>";
echo "<a href='index.php?act=deltema&id=" . $id . "'>Удалить тему</a><br/>";
if ($type1['vip'] == 1)
echo "<a href='index.php?act=vip&id=" . $id . "'>Открепить тему</a>";
else
echo "<a href='index.php?act=vip&id=" . $id . "&vip'>Закрепить тему</a>";
echo "<br/><a href='index.php?act=per&id=" . $id . "'>Переместить тему</a></div></p>";
}
if ($user_id) {
$onltime = $realtime - 300;
$online_u = sql_result(sql_query("SELECT COUNT(*) FROM `users` WHERE `lastdate` > $onltime AND `place` = 'forum,$id'"), 0);
$online_g = sql_result(sql_query("SELECT COUNT(*) FROM `cms_guests` WHERE `lastdate` > $onltime AND `place` = 'forum,$id'"), 0);
echo '<p><div class="warning">';
echo '<a href="index.php?act=who&id=' . $id . '">Кто здесь? (' . $online_u . ' / ' . $online_g . ')</a><br/>';
}
if ($filter)
echo '<div><a href="index.php?act=filter&id=' . $id . '&do=unset">Отменить фильтрацию</a></div>';
else
echo '<div><a href="index.php?act=filter&id=' . $id . '&start=' . $start . '">Фильтровать сообщения</a></div>';
echo '<a href="index.php?act=tema&id=' . $id . '">Скачать тему</a></p>';
echo '</div>';
break;
default:
echo '<p><b>Ошибка!</b><br />Тема удалена или не существует!</p>';
break;
}
} ####################################################################
else
{
////////////////////////////////////////////////////////////
// Список Категорий форума //
////////////////////////////////////////////////////////////
########################################################################
if ($theme == 'wap') {
echo '<div class="bmenu"><b>Форум</b>';
echo '<div class="warning122" > ';
echo '<table border="0" id="example" cellspacing="1" cellpadding="4">';
echo '<tr bgcolor="ffffff">
<td><div class="yellow"><b>';
forum_new(1);
echo '</b></a></div></td>
<td><div class="yellow"><b><a href="search.php">Поиск по форуму</b></a></div></td></tr>
<tr>
<td><div class="yellow"><b><a href="/rules/forum.php">Правила форума</a></b></div></td>
<td><b><a href="index.php?act=faq">FAQ</a></b></td>
</tr>
</table>';
echo ' </div>';
echo ' ';
}
####################################################################
if ($theme == 'web') {
echo '<div class="loop"><div class="gmeenu">Форум</div>';
echo '<table border="0" id="example" cellspacing="1" cellpadding="4">';
echo '<tr bgcolor="ffffff">
<td><div class="yellow"><b>';
forum_new(1);
echo '</b></a></div></td>
<td><div class="yellow"><b><a href="search.php">Поиск по форуму</b></a></div></td></tr>
<tr>
<td><div class="yellow"><b><a href="/rules/forum.php">Правила форума</a></b></div></td>
<td><b><a href="index.php?act=faq">FAQ</a></b></td>
</tr>
</table>';
}
#######################################################################
$forum = array();
$req_f= sql_query("SELECT `id`, `text`, `soft`, `refid`, `icon` FROM `forum` WHERE `type`='r' ORDER BY `refid`, `realid`");
while ($res_f = sql_fetch_array($req_f)) {
$coltem = sql_result(sql_query("SELECT COUNT(*) FROM `forum` WHERE `type` = 't' AND `refid` = '" . $res_f['id'] . "'"), 0);
$forum[$res_f['refid']] .= ($fi % 2) ? '<tr class="oddnrows">' : '<tr class="evenrows">';
$forum[$res_f['refid']] .= '<td>' . ($user_id && $rights >= 8 ? '<a href="index.php?act=icons&num=' . $res_f['id'] . '">' : '') . '<img src="icons/' . ($res_f['icon'] ? $res_f['icon'] : '240363.png') . '" alt="" width="16" height="16" style="vertical-align:middle;" />' . ($user_id && $rights >= 8 ? '</a>' : '') . ' <a href="index.php?id=' . $res_f['id'] . '"> <font color="#3587ED "><b>' . $res_f['text'] . '</b></font></a></td><td align="center" width="10%">' . $coltem . '';
if (!empty ($res_f['soft']))
$forum[$res_f['refid']] .='<div class="oddnrows"><span class="evenrows">' . $res_f['soft'] . '</span></div>';
$forum[$res_f['refid']] .= '</td></tr>';
++$fi;
}
echo '
<table id="example">
';
$req = sql_query("SELECT `id`, `text`, `soft` FROM `forum` WHERE `type`='f' ORDER BY `realid`");
while ($res = sql_fetch_array($req)) {
echo '<center><tr class="rmenu1"><td colspan="2"> <b>' . $res['text'] . '</b> </center>';
if (!empty ($res['soft']))
echo '<div class="sub"><span class="gray">' . $res['soft'] . '</span></div>';
echo '</td></tr>' . $forum[$res['id']];
}
echo '</table>';
$onltime = $realtime - 300;
$online_u = sql_result(sql_query("SELECT COUNT(*) FROM `users` WHERE `lastdate` > $onltime AND `place` LIKE 'forum%'"), 0);
$online_g = sql_result(sql_query("SELECT COUNT(*) FROM `cms_guests` WHERE `lastdate` > $onltime AND `place` LIKE 'forum%'"), 0);
echo '<div class="warning">' . ($user_id ? '<a href="index.php?act=who">Кто в форуме</a>' : 'Кто в форуме') . ' (' . $online_u . ' / ' . $online_g . ')</div>';
unset ($_SESSION['fsort_id']);
unset ($_SESSION['fsort_users']);
}
////////////////////////////////////////////////////////////
// Счетчик файлов и ссылка на них //
////////////////////////////////////////////////////////////
{
echo '<div class="frame">';
$sql = ($rights == 9) ? "" : " AND `del` != '1'";
if ($id && $tip == 'f') {
$count = sql_result(sql_query("SELECT COUNT(*) FROM `cms_forum_files` WHERE `cat` = '$id'" . $sql), 0);
if ($count > 0)
echo '<p><a href="index.php?act=files&c=' . $id . '">Файлы раздела</a> (' . $count . ')</p>';
else
echo '<div class="warning"><p>Прикрепленных файлов нет</p>';
} elseif ($id && $tip == 'r') {
$count = sql_result(sql_query("SELECT COUNT(*) FROM `cms_forum_files` WHERE `subcat` = '$id'" . $sql), 0);
if ($count > 0)
echo '<a href="index.php?act=files&s=' . $id . '">Файлы подраздела</a> (' . $count . ')';
else
echo '<p>Прикрепленных файлов нет';
} elseif ($id && $tip == 't') {
$count = sql_result(sql_query("SELECT COUNT(*) FROM `cms_forum_files` WHERE `topic` = '$id'" . $sql), 0);
if ($count > 0)
echo '<p><a href="index.php?act=files&t=' . $id . '">Файлы топика</a> (' . $count . ')';
else
echo '<p>Прикрепленных файлов нет';
echo '</div>';
} else {
/* $sql = ($rights == 9) ? '' : " WHERE `del` != '1'";
$count = sql_result(sql_query("SELECT COUNT(*) FROM `cms_forum_files`" . $sql), 0);
if ($count > 0)
echo '<p><a href="index.php?act=files">Файлы форума</a> (' . $count . ')</p>';
else
echo '<p>Прикрепленных файлов нет</p>';*/
}
// Навигация внизу страницы
echo '<p>' . ($id ? '<a href="index.php">В Форум</a><br />' : '') . '';
echo '</div>';
}
if (!$id) {
//echo '<a href="index.php?act=faq">FAQ</a>';
}
if (!$user_id) {
if ((empty($_SESSION['uppost'])) || ($_SESSION['uppost'] == 0)) {
echo "<a href='index.php?id=" . $id . "&page=" . $page . "&newup'>Новые вверху</a><br/>";
} else {
echo "<a href='index.php?id=" . $id . "&page=" . $page . "&newdown'>Новые внизу</a><br/>";
}
}
}
require_once("../incfiles/end.php");
?>