Файл: core/modules/users_wall.php
Строк: 76
<?php
if (!defined('CMS')) { die('Access Denied!'); }
$data = array();
$data = $db->selectRow("SELECT `u`.*,
(SELECT COUNT(`wall_id`) FROM ?_users_wall WHERE `wall_user` = `u`.`users_login`) AS `wall`
FROM ?_users `u` WHERE `u`.`users_id` = ? LIMIT 1;", $user_id);
if (empty($data) || !is_array($data)) {
$inSes->addMessage('Ошибка! Пользователь с данным логином не найден!');
redirect($config['site_url']);
}
if ($data['users_ban'] == 1) {
$inSes->addMessage('Ошибка! Пользователь заблокирован!');
redirect($config['site_url']);
}
if ($config['allow_regkeys'] > 0 && $data['users_confirmreg'] > 0) {
$inSes->addMessage('Ошибка! Пользователя не существует!');
redirect($config['site_url']);
}
/* Добавляем сообщение на стену */
if ($is_logged) {
if (!empty($_POST['add_wall'])) {
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
$_SESSION['crc32'] = !empty($_SESSION['crc32']) ? $_SESSION['crc32'] : NULL;
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (cms_strlen($text) >= 3 && cms_strlen($text) <= 1000) {
if ( crc32($text) <> $_SESSION[SP]['crc32'] ) {
if (is_flood($log)) {
$_SESSION[SP]['crc32'] = crc32($text);
$text = antimat($text);
$text = smiles($text);
$db->query("INSERT INTO ?_users_wall (`wall_user`, `wall_login`, `wall_text`, `wall_time`)
VALUES (?, ?, ?, ?);", $data['users_login'], $log, $text, SITE_TIME);
$db->query("UPDATE ?_users SET `users_newwall` = (`users_newwall` + 1) WHERE `users_login` = ?", $data['users_login']);
$inSes->addMessage('Сообщение успешно добавлено!', 'ok');
gen_red('wall', '', RND);
}
else $inSes->addMessage('Антифлуд! Разрешается отправлять сообщения раз в ' . flood_period() . ' секунд!');
}
else $inSes->addMessage('Ошибка! Ваше сообщение <u>уже было</u> добавлено!');
}
else $inSes->addMessage('Ошибка! Слишком длинное или короткое сообщение!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
}
$nickname = nickname($data['users_login']);
show_header('Стена сообщений ' . $nickname);
$onpage = !empty($config['user_list']) ? (int) $config['user_list'] : 10;
if ($page > 1) $from = ($page - 1) * $onpage; else $from = 0;
$rows = array();
$rows = $db->selectPage($total, "SELECT `w`.*, `u`.`users_gender`, `u`.`users_id`, `v`.`visit_nowtime`
FROM ?_users_wall `w`
LEFT JOIN ?_users `u`
ON `w`.`wall_login` = `u`.`users_login`
LEFT JOIN ?_users_visit `v`
ON `w`.`wall_login` = `v`.`visit_user`
WHERE `w`.`wall_user` = ?
ORDER BY `w`.`wall_time` DESC LIMIT ?d, ?d", $data['users_login'], $from, $onpage);
if (!empty($rows) && $total > 0) {
$c = $from + 1;
foreach ($rows as $numRow => $row) {
echo '<div class="bl">';
echo '<table class="w100"><tr>';
echo '<td class="vhr" valign="top">' . user_avatars($row['wall_login']) . '</td>';
echo '<td valign="top">';
echo '<span class="fr xsmall">' . get_date($row['wall_time']) . '</span>';
echo user_visit_icon($row['wall_login'], $row['users_gender'], $row['visit_nowtime']);
echo ' ' . users_anketa($row['users_id'], $row['wall_login']) . '<hr />';
echo nl2br(bb_code($row['wall_text'])) . '</td></tr></table></div>';
}
echo show_pages('wall', '', 'p');
}
else {
show_error('Сообщений пока нет!');
}
if ($is_logged) {
$form = new cmsForm('?rnd=' . $_SESSION['token'], 'post');
$form->addTextarea('Сообщение:', 'text', request('text'));
echo $form->Submit('Написать', 'add_wall');
unset($form);
if ($data['users_login'] == $log && $data['users_newwall'] > 0) {
$db->query("UPDATE ?_users SET `users_newwall` = '0' WHERE `users_login` = ?", $log);
}
}
else {
show_login('Вы не авторизованы, чтобы добавить запись на стену, необходимо');
}
echo show_link(gen_uri('index', '', RND), 'Личка ' . $data['users_login']);
?>