code (+/-)
<?php
// Выввод постов юзеров в теме таблицей
if ($rights == 3 || $rights >= 6)
echo '<form action="index.php?act=massdel" method="post">';
// начало формы масс удаления постов (админы)
$i = 1; // итератор
while ($res = sql_fetch_assoc($req)) {
$tablestart = '<table id="example" cellspacing="0" width="100%">';
// начало таблицы в максимальную ширину
// Ник юзера и ссылка на его анкету
$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>';
////////////////////////////////////////////////////////////
// Вывод текста поста //
////////////////////////////////////////////////////////////
$textpost = $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)
{
$textpost = mb_substr($textpost, 0, $cut);
$textpost = checkout($textpost, 1, 1);
$textpost = table_bbcode($textpost);
if ($set_user['smileys'])
$textpost = smileys($textpost, $res['rights'] ? 1 : 0);
echo $textpost . '...<br /><a href="index.php?act=post&id=' . $res['id'] . '">Читать все >></a>';
}
else
{
// Или, обрабатываем тэги и выводим весь текст
$textpost = checkout($textpost, 1, 1);
$textpost = table_bbcode($textpost);
//echo $text;//steret`
if ($set_user['smileys'])
$textpost = smileys($textpost, $res['rights'] ? 1 : 0);
//echo $text;
}
if ($res['kedit']) {
// Если пост редактировался, показываем кем и когда
$dizm = date("d.m /H:i", $res['tedit'] + $set_user['sdvig'] * 3600);
$editdel = '<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);
$file = '<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)) {
$file .= '<div><a href="index.php?act=file&id=' . $fres['id'] . '">';
$file .= '<img src="thumbinal.php?file=' . (urlencode($fres['filename'])) . '" alt="Нажмите для просмотра изображения" /></a></div>';
} else {
$file .= '<br /><a href="index.php?act=file&id=' . $fres['id'] . '">' . $fres['filename'] . '</a>';
}
$file .= ' (' . $fls . ' кб.)<br/>';
$file .= 'Скачано: ' . $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))
{
// Ссылки на редактирование / удаление постов
$adm = '<div class="sub">';
if ($rights == 3 || $rights >= 6)
$adm .= '<input type="checkbox" name="delch[]" value="' . $res['id'] . '"/> ';
$adm .= '<a href="index.php?act=editpost&id=' . $res['id'] . '">Изменить</a> | ';
if ($rights >= 7 && $res['close'] == 1)
$adm .= '<a href="index.php?act=editpost&do=restore&id=' . $res['id'] . '">Восстановить</a> | ';
if ($res['close']) {
$adm .= '<div class="red">Пост удалил: <b>' . $res['close_who'] . '</b></div>';
} elseif (!empty($res['close_who'])) {
$adm .= '<div class="green">Пост восстановил: <b>' . $res['close_who'] . '</b></div>';
}
if ($rights == 3 || $rights >= 6)
$adm .= '<div class="gray">' . $res['ip'] . ' - ' . $res['soft'] . '</div>';
$adm .= '</div>';
}
$adm .= '</div>';
#++$i; // думаю два раза итератор лучше не дергать
// Метка должности
$user_rights = array (
2 => 'Модератор чата',
3 => 'Модератор форума',
6 => 'Старший модератор',
7 => 'Ассистент руководителя',
9 => 'Руководитель сайта'
);
$sexnick = '<tr class="bmenu"><td align="center" valign="midle" width="100px.">'.$sexus.''.$nikuser.'</td>';
$sexnick .= '<td align="left" valign="midle" width="80%">'.$tim.' ';
// Ссылки на ответ и цитирование
if ($user_id && $user_id != $res['user_id']) {
$cytats = '<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)
{
$del = ' (<a href="index.php?act=editpost&do=del&id=' . $res['id'] . '">Удалить</a>)</td></tr>';
}
else
{
$del = '</td></tr>';
}
$prava = $user_rights[$res['rights']];
// Блок медалей
if (!$set_chat['medal'] && $res['medal'] > 0) {
$qg = sql_query("SELECT * FROM `medals` WHERE `user` = '" . $res['user_id'] . "' ORDER BY `time` DESC LIMIT 4;");
$medalica = '';
while ($rh = sql_fetch_assoc($qg)) {
$medalica .= '<img src="../images/medals/' . $rh['medal'] . '.png" width="10" height="10" alt="" align="middle" /> ';
}
}
$medalica .= '<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 = '<b>Активист</b>';
if ($user['postforum'] >= 300 && $user['postforum'] <= 499)
$Rank = '<b>Риторик</b>';
if ($user['postforum'] >= 500 && $user['postforum'] <= 799)
$Rank = '<b>Профессионал</b>';
if ($user['postforum'] >= 800 && $user['postforum'] <= 999)
$Rank = '<font color="orange"><b>Звезда форума</b></font>';
if ($user['postforum'] >= 1000 && $user['postforum'] <= 99999999)
$Rank = '<b>Гуру форума</b>';
// Медали
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 ***/
// Вывод звания
$zvan = '<div class="red"><img src="../images/icons/rank.png" alt="" /> ' . $Rank . '</div>';
/*** End ***/
//Статус юзера
if (!$set_chat['status'] && !empty($res['img_status']))
$sts = '<div><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']) . '</div>';
// echo $tablestart;
// echo $nikuser, $ava, $sexus;
// echo $sexnick; // все сразу
// echo $tim;
// echo $textpost;
// echo $editdel;
// echo $file;
// echo $adm;
// echo $ava;
// echo $cytats;
// echo $del;
// echo $prava;
// echo $medalica;
// echo $Rank;
// echo $Medal;
// echo $zvan;
// echo $sts;
?>
<style type="text/css">
.forum-table {
border: 0;
margin-bottom: 5px;
padding: 4px 4px 4px;
max-width: 100%;
}
.avatar {
background: #E6E6E6;
margin: 0;
padding: 10px;
display: table-cell;
width: 10%;
max-width: 100%;
border-bottom: 1px solid #909090;
vertical-align: top;
}
.avatar-images {
margin: 4px 11px -5px -2px;
padding: 0;
}
.user-link {
text-decoration: none;
color: #5D5D5D;
font-size: 15px;
}
.img-thumbnail {
display: inline-block;
max-width: 100%;
height: auto;
padding: 4px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
-webkit-transition: all .2s ease-in-out;
-o-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
.avatar-nike {
text-align: center;
margin: 0;
padding: 0;
}
.description-forum p {
margin: 0;
padding: 0;
}
.description-forum {
margin: 0;
padding: 10px;
display: table-cell;
width: 90%;
vertical-align: top;
background: #D4D4D4;
text-align: left;
border-bottom: 1px solid #909090;
}
.admin-function {
width: 100%;
max-width: 100%;
margin: 0;
padding: 10px;
background: #FDC0C0;
border-bottom: 1px solid red;
}
.admin-function-2 {
}
.admin-link {
text-decoration: none;
color: white;
padding: 1px 5px 1px;
border: 1px solid #6D6D6D;
border-radius: 2px;
background: #7D7D7D;
}
.download-function {
padding: 10px;
background: #A5A5A5;
width: 100%;
max-width: 100%;
}
.download-link {
color: #545454;
text-decoration: none;
font-size: 18px;
}
.download-function-2 {
}
.tag {
padding: 1px 1px 1px;
background: #BFBFBF;
margin: 1px 1px 1px;
color: red;
border: 1px solid #9C9C9C;
display: inline-block;
}
@media (max-width: 480px) {
body{
font-size: 11px;
}
.avatar {
width: 5%;
}
.description-forum {
width: 95%;
}
.avatar-images {
width: 90%;
}
.user-link {
font-size: 10px;
}
}
</style>
<table width="100%" cellpadding="0" cellspacing="0" class="forum-table">
<tr>
<td class="avatar">
<div class="avatar-nike">
<a href="#" class="user-link">Дмитрий</a>
</div>
<div class="avatar-images">
<img class="img-thumbnail" src="http://cs11362.vk.me/v11362843/d7b/dhiR-LftrkI.jpg" alt="">
</div>
</td>
<td class="description-forum">
<p>
Элемент <span class="tag"><table></span> служит контейнером для элементов, определяющих содержимое
таблицы.
</p>
<p>
Любая таблица состоит из строк и ячеек, которые задаются с помощью тегов <span
class="tag"><tr></span> и <span class="tag"><td></span>.
</p>
<p>
Внутри <span class="tag"><table></span>допустимо использовать следующие элементы: <span
class="tag"><caption></span>, <span class="tag"><col></span>, <span class="tag"><colgroup></span>,
<span class="tag"><tbody></span>, <span class="tag"><td></span>,<span class="tag"><tfoot></span>,
<span class="tag"><th></span>, <span class="tag"><thead></span> и <span class="tag"><tr></span>.
</p>
<p>
Таблицы с невидимой границей долгое время использовались для верстки веб-страниц, позволяя разделять
документ на модульные блоки. Подобный способ применения таблиц нашел воплощение на многих сайтах, пока
ему на смену не пришел более современный способ верстки с помощью слоев.
</p>
</td>
</tr>
<tr>
<td colspan="2" class="download-function">
<div class="download-function-2">
<a href="#" class="download-link">Скачать</a>
</div>
</td>
</tr>
<tr>
<td colspan="2" class="admin-function">
<div class="admin-function-2">
<a href="#" class="admin-link" style="background: #68B94D;border: 1px solid #50903A;">Изменить</a> ::
<a href="#" class="admin-link" style="background: #B94D4D;border: 1px solid #903A3A;">Удалить</a> ::
<a href="#" class="admin-link" style="background: #FFFFFF;border: 1px solid #E2E2E2;color: #7B7B7B;">Скрыть</a>
</div>
</td>
</tr>
</table>
<?php
++$i;
}