<?php
$limit = (empty($limit) ? 0 : $limit);
$view = false;
// Если гостевая закрыта, выводим сообщение и закрываем доступ (кроме Админов)
if (!$config->mod_guest && $systemUser->rights < 1) {
$view = false;
} else {
$sql1 = $db->query("SELECT `guest`.*,
`guest`.`id` AS `gid`,
`users`.`rights`,
`users`.`lastdate`,
`users`.`sex`,
`users`.`status`,
`users`.`datereg`,
`users`.`id`,
`users`.`postforum`,
`users`.`tors`,
`users`.`nogi`,
`users`.`postguest`,
`users`.`komm`,
`users`.`karma_plus`,
`users`.`karma_minus`
FROM
`guest`
LEFT JOIN
`users`
ON
`guest`.`user_id` = `users`.`id`
WHERE
`guest`.`adm`='0'
ORDER BY
`time` DESC
LIMIT
$limit
");
$req = $db->query($sql1);
for ($i = 0; $res = $req->fetch(); ++$i) {
$text = '';
echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
if (!$res['id']) {
// Запрос по гостям
$res_g = $db->query("SELECT `lastdate` FROM `cms_sessions` WHERE `session_id` = '" . md5($res['ip'] . $res['browser']) . "' LIMIT 1")->fetch();
$res['lastdate'] = $res_g['lastdate'];
}
$res_g = mysqli_fetch_assoc($req_g);
$res['lastdate'] = $res_g['lastdate'];
}
// Время создания поста
$text = ' <span class="gray">(' . $tools->displayDate($res['time']) . ')</span>';
if ($systemUser->isValid() && $systemUser->id != $res['user_id']) {
if ($user['id'] != $systemUser->id) {
echo '<div class="pull-right">
<a href="#" onclick="return postReply(this)" data-toggle="tooltip" title="" data-original-title="Ответить">Ответить</a>
</div>';
}
}
if ($res['user_id']) {
// Для зарегистрированных показываем ссылки и смайлы
$post = $tools->checkout($res['text'], 1, 1);
$post = $tools->smilies($post, $res['rights'] >= 1 ? 1 : 0);
} else {
// Для гостей обрабатываем имя и фильтруем ссылки
$res['name'] = $tools->checkout($res['name']);
$post = $tools->checkout($res['text'], 0, 2);
$post = preg_replace('~\\[url=(https?://.+?)\\](.+?)\\[/url\\]|(https?://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~', '###', $post);
$replace = [
'.ru' => '***',
'.com' => '***',
'.biz' => '***',
'.cn' => '***',
'.in' => '***',
'.net' => '***',
'.org' => '***',
'.info' => '***',
'.mobi' => '***',
'.wen' => '***',
'.kmx' => '***',
'.h2m' => '***',
];
$post = strtr($post, $replace);
}
if ($res['edit_count']) {
// Если пост редактировался, показываем кем и когда
$post .= '<br /><span class="gray"><small>Изм. <b>' . $res['edit_who'] . '</b> (' . $tools->displayDate($res['edit_time']) . ') <b>[' . $res['edit_count'] . ']</b></small></span>';
}
if (!empty($res['otvet'])) {
// Ответ Администрации
$otvet = $tools->checkout($res['otvet'], 1, 1);
$otvet = $tools->smilies($otvet, 1);
$post .= '<div class="reply"><b>' . $res['admin'] . '</b>: (' . $tools->displayDate($res['otime']) . ')<br>' . $otvet . '</div>';
}
if ($systemUser->rights >= 6) {
$subtext = '<a href="index.php?act=otvet&id=' . $res['gid'] . '">' . _t('Reply') . '</a>' .
($systemUser->rights >= $res['rights'] ? ' | <a href="index.php?act=edit&id=' . $res['gid'] . '">' . _t('Edit') . '</a> | <a href="index.php?act=delpost&id=' . $res['gid'] . '">' . _t('Delete') . '</a>' : '');
} else {
$subtext = '';
}
$arg = [
'iphide' => 1,
'header' => $text,
'body' => $post,
'sub' => $subtext
];
$view .= $tools->display_user($res, $arg);
$view .= '</div>';
}
return $view;