Файл: CMS/comm/comm_edit_posts.php
Строк: 69
<?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 ($data['comm_user'] == $log || is_admin(array(101))) {
$is_admin_soo = true;
$is_moder_soo = true;
}
if (in_array($log, $arr_admins) && $users['cu_admin'] == 1) {
$is_moder_soo = true;
}
$post = $db->selectRow("SELECT * FROM ?_comm_posts WHERE `posts_id` = ? AND `posts_comm` = ? LIMIT 1;", $id, $data['comm_id']);
if (!empty($post)) {
if ($post['posts_user'] == $log || $is_moder_soo) {
if (!empty($_POST['cancel'])) {
gen_red('topic', $post['posts_topics_id'], 'page=' . $page . '&' . RND);
}
if (!empty($_POST['submit'])) {
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (cms_strlen($text) >= 5 && cms_strlen($text) <= $config['forum_max_text'] || is_admin()) {
if ($post['posts_time'] + 600 > SITE_TIME || $is_moder_soo) {
$text = antimat($text);
$text = smiles($text);
if (is_admin()) {
$db->query("UPDATE ?_comm_posts SET `posts_text` = ?
WHERE `posts_id` = ? AND `posts_comm` = ?", $text, $id, $data['comm_id']);
}
else {
$db->query("UPDATE ?_forums_posts SET `posts_text` = ?, `posts_edit` = ?, `posts_edit_time` = ?
WHERE `posts_id` = ? AND `posts_comm` = ?", $text, $log, SITE_TIME, $id, $data['comm_id']);
}
$inSes->addMessage('Сообщение успешно отредактировано!', 'ok');
gen_red('topic', $post['posts_topics_id'], 'page=' . $page . '&' . RND);
}
else $inSes->addMessage('Ошибка! Редактирование невозможно, прошло более 10 минут!!');
}
else $inSes->addMessage('Ошибка! Слишком длинное или короткое сообщение!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
show_header('Редактирование сообщения');
if ($post['posts_time'] + 600 > SITE_TIME || $is_moder_soo) {
$post['posts_text'] = nosmiles($post['posts_text']);
$post['posts_text'] = str_replace('<br />', "n", $post['posts_text']);
$_POST['text'] = !empty($_POST['text']) ? (string) $_POST['text'] : $post['posts_text'];
echo '<div class="b">' . icon('edit.png', 'icons');
echo '<b>' . users_anketa($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('edit_posts', $id, 'page=' . $page . '&rnd=' . $_SESSION['token']), 'post', ' name="form" id="post"');
$form->addCode(blink('*') . ' Сообщение: ');
$form->addCode('<small>[<a href="' . gen_uri('edit_posts', $id, 'smiles=1&' . RND) . '">Смайлы</a>] ');
$form->addCode('[<a href="' . gen_uri('edit_posts', $id, 'code=1&' . RND) . '">ББ-коды</a>]</small>');
$form->addCode(' [<a href="#post" onclick="document.post.msg.rows += 5;">+</a>]');
$form->addCode(' [<a href="#post" onclick="document.post.msg.rows -= 5;">-</a>]');
$form->addTextarea('', 'text', $_POST['text'], ' id="msg" style="width:98%;"');
echo $form->submit(array('Редактировать','Отмена'), array('submit','cancel'));
unset($form);
}
else {
show_error('Ошибка! Редактирование невозможно, прошло более 10 минут!!');
echo '<div class="b">' . icon('return.png');
echo ' <a href="' . gen_uri('topic', $id, 'page=' . $page . '&' . RND) . '">Вернуться</a><br /></div>';
}
}
else {
$inSes->addMessage('Ошибка! Сообщение удалено или вы не автор этого сообщения!');
gen_red('topic', $id, RND);
}
}
else {
$inSes->addMessage('Ошибка! Сообщение удалено или вы не автор этого сообщения!');
gen_red('index', '', RND);
}
}
else {
$inSes->addMessage('Ошибка! Вы не авторизованы!');
gen_red('index', '', RND);
}
?>