Вход Регистрация
Файл: 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>&nbsp;<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&amp;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('Вы не авторизованы, для управления сообществами, необходимо');
}

?>
Онлайн: 2
Реклама