Вход Регистрация
Файл: CMS/comm/comm_add.php
Строк: 76
<?php

if (!defined('CMS')) { die('Access Denied!'); }

if (
$is_logged) {

    
$error = '';

    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'])  : '';
        
$status  = !empty($_POST['status']) ? 1 : 0;

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

          if (
$uset['users_point'] >= $config['add_comm_score']) {

            if (!empty(
$cid)) {

              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`) = ? LIMIT 1;"
, $url);

                        if (
$is_soo < 1) {

                          if (
is_quarantine($log)) {

                            if (
is_flood($log)) {

                              
$text = antimat($text);
                              
$text = smiles($text);

                              
$lastid = (int) $db->query("INSERT INTO ?_comm_comm (`comm_cats_id`, `comm_url`, `comm_user`, `comm_name`, `comm_about`, `comm_create`, `comm_status`, `comm_admins`, `comm_count`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 1);", $cid, $url, $log, $name, $text, SITE_TIME, $status, $log);

                              
$db->query("INSERT INTO ?_comm_users (`cu_comm`, `cu_user`, `cu_admin`, `cu_time`) VALUES(?, ?, 2, ?)", $lastid, $log, SITE_TIME);

                              
$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 
$error = 'Антифлуд! Вы слишком часто создаёте сообщества!';
                          }
                          else 
$error = 'Карантин! Вы не можете создавать сообщества в течении ' . round($config['allow_karantin'] / 3600) . ' часов!';
                        }
                        else 
$error = 'Ошибка! Сообщество с таким адресом уже зарегистрировано!';
                      }
                      else 
$error = 'Ошибка! Адрес сообщества содержит плохие символы!';
                    }
                    else 
$error = 'Ошибка! Слишком длинное или короткое описание сообщества (от 10 до 500 символов)!';
                  }
                  else 
$error = 'Ошибка! Слишком длинное или короткое название сообщества (от 3 до 100 символов)!';
                }
                else 
$error = 'Ошибка! Слишком короткий или длинный адрес сообщества (от 3 до 50 символов)!';
              }
              else 
$error = 'Ошибка! Выбранный вами раздел не существует!';
            }
            else 
$error = 'Ошибка! Вы не выбрали категорию для создания сообщества!';
          }
          else 
$error = 'Ошибка! Создавать сообщества могут обитатели с рейтингом больше ' . num2name($config['add_comm_score'],$config['score_name']);
        }
        else 
$error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';

        if (!empty(
$error)) $inSes->addMessage($error, 'error');
    }

    
show_header('Создание сообщества');

    if (!empty(
$categories) && count($categories) > 0) {

      if (
$uset['users_point'] >= $config['add_comm_score']) {

        if (!empty(
$_GET['code'])) include( MODULES_PATH . 'code.inc.php' );
        else if (!empty(
$_GET['smiles'])) include( MODULES_PATH . 'smiles.inc.php' );

        
$cats = array();
        foreach(
$categories as $key => $val) $cats[$key] = $val[0];

        
$form = new cmsForm('?rnd=' . $_SESSION['token'], 'post', ' name="form" id="form"');
        
$form->addSelect('Категория:', 'cid', request('cid',$id), $cats);
        
$form->addText('Адрес сообщества:<br />' . $config['site_url'] . '/comm/', 'url', request('url'), ' maxlength="30"');
        
$form->addText('Название сообщества:', 'name', request('name'), ' maxlength="99"');
        
$form->addCode('Краткое описание: <small>[<a href="' . gen_uri('add', $id, 'smiles=1') . '">Смайлы</a>] ');
        
$form->addCode('[<a href="' . gen_uri('add', $id, 'code=1') . '">ББ-коды</a>]</small><br />');
        
$form->addTextarea('', 'text', request('text'), ' id="msg"');
        echo 
$form->Submit('Создать', 'submit');
        unset(
$form);

        echo 
'<div class="b">' . blink('[!]');
        echo 
' В поле Адрес сообщества разрешено использовать только знаки латинского алфавита и цифры, а также знак дефис!</div>';
      }
      else {

          
show_error('Для создания сообщества Вам нужно набрать как минимум ' . num2name($config['add_comm_score'],$config['score_name']));
      }
    }
    else {

        
show_error('Разделы сообществ ещё не созданы!');
    }
}
else {

    
show_header('Создание сообщества');
    
show_login('Вы не авторизованы, для создания сообщества, необходимо');
}

    echo 
'<div class="b">' . icon('return.png');
    echo 
' <a href="' . gen_uri('index') . '">Сообщества</a></div>';

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