Файл: CMS/comm/comm_edittopic.php
Строк: 83
<?php
if (!defined('CMS')) { die('Access Denied!'); }
$data = '';
$data = $db->selectRow("SELECT ?_comm_comm.*, ?_comm_category.*
FROM ?_comm_comm LEFT JOIN ?_comm_category
ON ?_comm_comm.`comm_cats_id` = ?_comm_category.`cats_id`
WHERE `comm_url` = ? LIMIT 1;", $soo);
if (empty($data) || !is_array($data)) {
$inSes->addMessage('Ошибка! Сообщество не найдено или ссылка неверна!');
gen_red('index', '', RND);
}
if (empty($data['comm_forum'])) {
$inSes->addMessage('Ошибка! Форум не найден или ссылка неверна!');
gen_red('index', '', RND);
}
$arr_admins = @explode(',', $data['comm_admins']);
if ($is_logged) {
$users = array();
$users = $db->selectRow("SELECT * FROM ?_comm_users WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;", $data['comm_id'], $log);
if (!empty($users)) {
if ($uset['users_point'] >= $config['forum_edit_point']) {
$topics = $db->selectRow("SELECT * FROM ?_comm_topics WHERE `topics_id` = ? AND `topics_comm` = ? LIMIT 1;", $id, $data['comm_id']);
if (!empty($topics)) {
if ($topics['topics_author'] == $log) {
if (empty($topics['topics_closed'])) {
if (!empty($_POST['cancel'])) {
gen_red('topic', $id, RND);
}
if (!empty($_POST['submit'])) {
$title = !empty($_POST['title']) ? check($_POST['title']) : '';
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
$minposts = $db->selectCell("SELECT MIN(`posts_id`) FROM ?_comm_posts
WHERE `posts_topics_id` = ? AND `posts_comm` = ?;", $id, $data['comm_id']);
if (!empty($minposts)) {
if (cms_strlen($title) >= 3 && cms_strlen($title) <= 100) {
if (cms_strlen($text) >= 5 && cms_strlen($text) <= $config['forum_max_text']) {
$text = antimat($text);
$text = smiles($text);
$db->query("UPDATE ?_comm_topics SET `topics_title` = ?
WHERE topics_id = ? AND `topics_comm` = ?;", $title, $id, $data['comm_id']);
$db->query("UPDATE ?_comm_posts SET `posts_user` = ?, `posts_text` = ?, `posts_ip` = ?, `posts_brow` = ?, `posts_edit` = ?, `posts_edit_time` = ? WHERE `posts_id` = ? AND `posts_comm` = ?", $log, $text, $ip, $brow, $log, SITE_TIME, $minposts, $data['comm_id']);
$inSes->addMessage('Тема успешно изменена!', 'ok');
}
else $inSes->addMessage('Ошибка! Слишком длинное или короткое сообщение!');
}
else $inSes->addMessage('Ошибка! Слишком длинный или короткий заголовок темы!');
}
else $inSes->addMessage('Ошибка! Первого сообщения в теме не существует!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
gen_red('topic', $id, RND);
}
show_header('Изменение темы');
$post = $db->selectRow("SELECT * FROM ?_comm_posts
WHERE `posts_topics_id` = ? AND `posts_comm` = ? ORDER BY `posts_id` ASC LIMIT 1;", $id, $data['comm_id']);
if (!empty($post)) {
$post['posts_text'] = nosmiles($post['posts_text']);
$post['posts_text'] = str_replace(array('<br>','<br/>','<br />'), "n", $post['posts_text']);
echo '<div class="b">' . icon('edit.png', 'icons');
echo '<b>' . nickname($post['posts_user']) . '</b> <small>(' . get_date($post['posts_time']) . ')</small><br /></div>';
if (!empty($_GET['code'])) include( MODULES_PATH . 'code.inc.php' );
else if (!empty($_GET['smiles'])) include( MODULES_PATH . 'smiles.inc.php' );
$form = new cmsForm(gen_uri('edittopic', $id, 'rnd=' . $_SESSION['token'] . '&' . RND), 'post', ' name="form" id="form"');
$form->addText('Заголовок:', 'title', $topics['topics_title'], ' maxlength="50"');
$form->addCode(blink('*') . ' Сообщение: ');
$form->addCode('<small>[<a href="' . gen_uri('edittopic', $id, 'smiles=1') . '">Смайлы</a>] ');
$form->addCode('[<a href="' . gen_uri('edittopic', $id, 'code=1') . '">ББ-коды</a>]</small>');
$form->addCode(' [<a href="#form" onclick="document.form.msg.rows += 5;">+</a>]');
$form->addCode(' [<a href="#form" onclick="document.form.msg.rows -= 5;">-</a>]');
$form->addTextarea('', 'text', $post['posts_text'], ' id="msg" style="width:98%;"');
echo $form->submit(array('Редактировать','Отмена'), array('submit','cancel'));
unset($form);
}
else {
show_error('Ошибка! Первого сообщения в теме не существует!');
echo '<div class="b">' . icon('return.png');
echo '<a href="' . gen_uri('topic', $id, RND) . '">Вернуться</a><br /></div>';
}
}
else {
$inSes->addMessage('Ошибка! Изменение невозможно, данная тема закрыта!');
gen_red('topic', $id, RND);
}
}
else {
$inSes->addMessage('Ошибка! Изменение невозможно, вы не автор данной темы!');
gen_red('topic', $id, RND);
}
}
else {
$inSes->addMessage('Ошибка! Выбранная вами тема не существует, возможно она была удалена!');
gen_red('index', '', RND);
}
}
else {
$inSes->addMessage('Ошибка! У вас недостаточно актива для изменения темы!');
gen_red('index', '', RND);
}
}
else {
show_header('Изменение темы');
show_error('Вы не являетесь участником данного сообщества!');
echo '<div class="b">' . icon('return.png') . ' <a href="' . gen_uri('topic', $id, RND) . '">Вернуться</a><br /></div>';
}
}
else {
show_header('Изменение темы');
show_login('Вы не авторизованы, чтобы редактировать сообщения, необходимо');
echo '<div class="b">' . icon('return.png') . ' <a href="' . gen_uri('topic', $id, RND) . '">Вернуться</a><br /></div>';
}
?>