Файл: CMS/comm/comm_edit.php
Строк: 112
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if ($is_logged) {
$row = array();
$row = $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_user` = ? AND `comm_url` = ? LIMIT 1;", $log, $soo);
if (empty($row) || !is_array($row)) {
$inSes->addMessage('Ошибка! Сообщество не найдено или вы не автор сообщества!');
redirect($config['site_url'] . '/comm/' . gen_uri('index', '', RND));
}
if (!empty($_POST['cancel'])) {
gen_red('index', '', RND);
}
if (!empty($_GET['del'])) {
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
include_once( ENGINE . '/admin/del.inc.php' );
delete_soo($row['comm_id'], $row['comm_image']);
del_vars('comm_categories');
$inSes->addMessage('Сообщество успешно удалёно!', 'ok');
redirect($config['site_url'] . '/comm/' . gen_uri('index', '', RND));
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
if (!empty($_POST['submit'])) {
$cid = !empty($_POST['cid']) ? num($_POST['cid']) : 0;
$url = !empty($_POST['url']) ? check($_POST['url']) : '';
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
$rules = !empty($_POST['rules']) ? check($_POST['rules']) : '';
$slogan = !empty($_POST['slogan']) ? check($_POST['slogan']) : '';
$status = !empty($_POST['status']) ? 1 : 0;
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (array_key_exists($cid,$categories)) {
if (cms_strlen($url) >= 3 && cms_strlen($url) <= 50) {
if (cms_strlen($name) >= 3 && cms_strlen($name) <= 100) {
if (cms_strlen($text) >= 5 && cms_strlen($text) <= 1000) {
if (preg_match('|^[a-z0-9-_]+$|i', $url)) {
$url = cms_tolower($url);
$is_soo = (int) $db->selectCell("SELECT `comm_id` FROM ?_comm_comm
WHERE LOWER(`comm_url`) = ? AND `comm_id` <> ? LIMIT 1;", $url, $row['comm_id']);
if ($is_soo < 1) {
$rules = antimat($rules);
$rules = smiles($rules);
$text = antimat($text);
$text = smiles($text);
$db->query("UPDATE ?_comm_comm SET `comm_cats_id` = ?, `comm_url` = ?, `comm_name` = ?, `comm_about` = ?, `comm_rules` = ?, `comm_status` = ? WHERE `comm_user` = ? AND `comm_id` = ?", $cid, $url, $name, $text, $rules, $status, $log, $row['comm_id']);
if ($cid <> $row['comm_cats_id']) {
$db->query("UPDATE ?_comm_category SET `cats_count` = (`cats_count` - 1)
WHERE `cats_id` = ?;", $row['cats_id']);
$db->query("UPDATE ?_comm_category SET `cats_count` = (`cats_count` + 1)
WHERE `cats_id` = ?;", $cid);
}
del_vars('community');
$inSes->addMessage('Данные сообщества успешно изменены!', 'ok');
redirect(gen_comm($url, 'edit', '', RND));
}
else $inSes->addMessage('Ошибка! Сообщество с таким адресом уже зарегистрировано!');
}
else $inSes->addMessage('Ошибка! Адрес сообщества содержит плохие символы!');
}
else $inSes->addMessage('Ошибка! Слишком длинное или короткое описание сообщества (от 5 до 1000 символов)!');
}
else $inSes->addMessage('Ошибка! Слишком длинное или короткое название (от 3 до 100 символов)!');
}
else $inSes->addMessage('Ошибка! Слишком длинный или короткий адрес сообщества (от 3 до 50 символов)!');
}
else $inSes->addMessage('Ошибка! Выбранный вами раздел не существует!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
show_header('Управление сообществом ' . $row['comm_name']);
if ($row['comm_status'] == 1) {
$new = (int) $db->selectCell("SELECT COUNT(`new_id`) FROM ?_comm_new_users
WHERE `new_comm` = ?", $row['comm_id']);
echo '<div class="b">' . icon('add.png');
echo '<a href="' . gen_uri('new_users', '', RND) . '">Новые заявки</a> (' . $new . ')</div>';
}
if (!empty($row['comm_admins'])) {
$admins = num( @count( @explode(',', $row['comm_admins']) ) );
}
else $admins = 0;
echo '<div class="imgright">';
if (!empty($row['comm_image']) && file_exists(ROOTPATH . '/upload/comm/' . $row['comm_image'])) {
$screen = str_replace('_small', '', $row['comm_image']);
echo '<a href="' . $config['site_url'] . '/upload/comm/' . $screen . '">';
echo '<img src="' . $config['site_url'] . '/upload/comm/' . $row['comm_image'] . '" alt="" /></a>';
}
else echo '<img src="' . $config['site_url'] . '/images/no_photos_small.png" alt="" />';
echo '<br /><a href="' . gen_uri('add_screen', '', RND) . '">Изменить</a> <br /></div>';
$cats = array();
foreach($categories as $key => $val) $cats[$key] = $val[0];
$form = new cmsForm(gen_comm($soo, 'edit', $row['comm_id'], 'rnd=' . $_SESSION['token']), 'post', ' name="form" id="form"');
$form->addSelect('Категория:', 'cid', $row['comm_cats_id'], $cats);
$form->addText('Адрес сообщества (a-z, 0-9, _, -):<br />' . $config['site_url'] . '/comm/', 'url', $row['comm_url'], ' maxlength="30"');
$form->addText('Название сообщества:', 'name', $row['comm_name'], ' maxlength="100"');
$form->addTextarea('Краткое описание:', 'text', $row['comm_about'], ' id="msg"');
$form->addTextarea('Правила:', 'rules', $row['comm_rules']);
$form->addRadio('Сообщество:', 'status', $row['comm_status'], array('0' => 'Открытое', '1' => 'Закрытое'));
echo $form->Submit(array('Изменить', 'Отмена'), array('submit', 'cancel'));
unset($form);
echo '<div class="b">' . icon('error.gif', 'icons');
echo ' <a href="' . gen_uri('edit', '', 'del=1&rnd=' . $_SESSION['token']) . '" onclick="return confirm('Вы действительно хотите удалить сообщество?')">Удалить сообщество</a><br /></div>';
echo '<div class="b">' . icon('return.png');
echo ' <a href="' . gen_uri('index', '', RND) . '">В сообщесво</a><br /></div>';
}
else {
show_header('Управление сообществом');
show_login('Вы не авторизованы, для управления сообществами, необходимо');
}
?>