Вход Регистрация
Файл: CMS/core/modules/forum_addtheme.php
Строк: 91
<?php

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

$forums get_vars('forum_select_addtheme');

if (!
$forums) {

    
$rows $db->select("SELECT `forums_id`, `forums_parent`, `forums_title` FROM ?_forums ORDER BY `forums_order` ASC;");

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

        
$output = array();
        foreach(
$rows as $row) {
            
$i $row['forums_id'];
            
$p $row['forums_parent'];
            
$output[$p][$i] = $row;
        }

        foreach(
$output[0] as $key => $data) {

            
$forums[$data['forums_id']] = $data['forums_title'];

            if (isset(
$output[$key])) {

                foreach(
$output[$key] as $datasub) {

                    
$forums[$datasub['forums_id']] = '– ' $datasub['forums_title'];
                }
            }
        }
    }
    
set_vars('forum_select_addtheme'$forums);
}

if (!empty(
$_POST['cancel'])) {

    
gen_red('forum'$idRND);
}

if (!empty(
$_POST['submit'])) {

    
$fid   = !empty($_POST['fid'])   ? num($_POST['fid'])     : 0;
    
$title = !empty($_POST['title']) ? check($_POST['title']) : '';
    
$msg   = !empty($_POST['text'])  ? check($_POST['text'])  : '';
    
$track = !empty($_POST['track']) ? 0;
    
$error '';

    if (
$is_logged) {

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

            if (
cms_strlen($title) >= && cms_strlen($title) <= 100) {

                if (
cms_strlen($msg) >= 10 && cms_strlen($msg) <= $config['forum_max_text'] || is_admin()) {

                    
$row $db->selectRow("SELECT * FROM ?_forums WHERE `forums_id` = ? LIMIT 1;"$fid);

                    if (!empty(
$row)) {

                        if (
is_admin()) {

                            
$admins = !empty($_POST['admins']) ? num($_POST['admins']) : 0;
                        }
                        else 
$admins 0;

                        if (
is_quarantine($log)) {

                            if (
is_flood($log)) {

                                
$msg antimat($msg);
                                
$msg smiles($msg);

                                
$db->query("UPDATE ?_users SET `users_allforum` = (`users_allforum` + 1), `users_point` = (`users_point` + 1), `users_money` = (`users_money` + 5) WHERE `users_login` = ?"$log);

                                
$lastid $db->query("INSERT INTO ?_forums_topics (`topics_forums_id`, `topics_title`, `topics_author`, `topics_posts`, `topics_last_user`, `topics_last_time`, `topics_admins`, `topics_track`) VALUES (?, ?, ?, ?, ?, ?, ?, ?);"$fid$title$log1$logSITE_TIME$admins$track);

                                
$db->query("INSERT INTO ?_forums_posts (`posts_topics_id`, `posts_forums_id`, `posts_user`, `posts_text`, `posts_time`, `posts_ip`, `posts_brow`) VALUES (?, ?, ?, ?, ?, ?, ?);"$lastid$fid$log$msgSITE_TIME$ip$brow);

                                
$db->query("UPDATE ?_forums SET `forums_topics` = (`forums_topics` + 1), `forums_posts` = (`forums_posts` + 1), `forums_last_id` = ?, `forums_last_themes` = ?, `forums_last_user` = ?, `forums_last_time` = ? WHERE `forums_id` = ?"$lastid$title$logSITE_TIME$fid);
                                
// Обновление родительского форума
                                
if ($row['forums_parent'] > 0) {

                                    
$db->query("UPDATE ?_forums SET `forums_last_id` = ?, `forums_last_themes` = ?, `forums_last_user` = ?, `forums_last_time` = ? WHERE `forums_id` = ?"$lastid$title$logSITE_TIME$row['forums_parent']);
                                }

                                
/* Лента */

                                
$subs $db->select("SELECT * FROM ?_users_lenta_subscribe
                                                     WHERE `sub_publisher` = ?"
$log);

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

                                    
$sex   = ($uset['users_gender'] == 1) ? 'создал' 'создала';
                                    
$text  $sex " новую тему <b>" $title "</b> на форуме.n";
                                    
$text .= "[forum=" $lastid "]Подробнее &gt;&gt;[/forum]";

                                    foreach(
$subs as $sub) {

                                        
$db->query("INSERT INTO ?_users_lenta SET `lenta_subscriber` = ?, `lenta_publisher` = ?, `lenta_time` = ?, `lenta_message` = ?"$sub['sub_subscriber'], $logSITE_TIME$text);
                                    }
                                }

                                
$inSes->addMessage('Новая тема успешно добавлена!''ok');

                                
gen_red('topic'$lastidRND);
                            }
                            else 
$inSes->addMessage('Антифлуд! Разрешается отправлять сообщения раз в ' flood_period() . ' секунд!');
                        }
                        else 
$inSes->addMessage('Карантин! Вы не можете писать в течении ' round($config['karantin'] / 3600) . ' часов!');
                    }
                    else 
$inSes->addMessage('Ошибка! Раздела для новой темы не существует!');
                }
                else 
$inSes->addMessage('Ошибка! Слишком длинное или короткое сообщение!');
            }
            else 
$inSes->addMessage('Ошибка! Слишком длинный или короткий заголовок темы!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }
    else 
$inSes->addMessage('Ошибка! Создавать темы могут только зарегистрированые пользователи сайта!');
}

show_header('Создание новой темы');

if (
$is_logged) {

    if (
count($forums) > 0) {

       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('addtheme'$id'rnd=' $_SESSION['token']), 'post'' name="form" id="form"');
        
$form->addSelect('Раздел:''fid'$id$forums);
        
$form->addText('Заголовок:''title'request('title'), ' size="50" maxlength="50"');
        
$form->addCode(blink('*') . ' Сообщение: ');
        
$form->addCode('<small>[<a href="' gen_uri('addtheme'$id'smiles=1&amp;' RND) . '">Смайлы</a>] ');
        
$form->addCode('[<a href="' gen_uri('addtheme'$id'code=1&amp;' RND) . '">ББ-коды</a>]</small>');
        
$form->addCode(' [<a href="#form" onclick="document.form.text.rows += 5;">+</a>]');
        
$form->addCode(' [<a href="#form" onclick="document.form.text.rows -= 5;">-</a>]');
        
$form->addTextarea('''text'request('text'), ' id="text" style="width:98%;"');
        
$form->addRadio('Следить за темой:''track''0', array('1' => 'Да''0' => 'Нет'));

        if (
is_admin(array(101,102))) {

            
$form->addRadio('Доступ:''admins'request('admins'), array('0' => 'Для всех''1' => 'Только для модеров''2' => 'Только для администрации'));
        }
        else if (
is_admin()) {

            
$form->addRadio('Доступ:''admins'request('admins'), array('0' => 'Для всех''1' => 'Только для модеров'));
        }

        echo 
$form->Submit(array('Создать тему','Отмена'), array('submit','cancel'));
        unset(
$form);
        echo 
'<div class="b">';
        echo 
'Прежде чем создать новую тему необходимо ознакомиться с правилами<br />';
        echo 
'<a href="' gen_uri('rules'''RND) . '">Правила сайта</a><br />';
        echo 
'Также убедись что такой темы нет, чтобы не создавать одинаковые, для этого введи ключевое слово в поиске<br />';
        echo 
'<a href="' gen_uri('search'''RND) . '">Поиск по форуму</a><br />';
        echo 
'И если после этого вы уверены, что ваша тема будет интересна другим пользователям, то можете ее создать<br /></div>';
    }
    else {

        
show_error('Разделы форума еще не созданы!');
    }
}
else {

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

echo 
'<div class="b">' icon('return.png') . ' <a href="' gen_uri('forum'$idRND) . '">Вернуться</a><br /></div>';

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