Вход Регистрация
Файл: DESURE-dcms-f12de01ac63e/forum/theme.status.php
Строк: 53
<?php

include_once '../sys/inc/start.php';
$doc = new document(2);
$doc->title __('Форум');

if (!isset(
$_GET['id']) || !is_numeric($_GET['id'])) {
    
header('Refresh: 1; url=./');
    
$doc->err(__('Ошибка выбора темы'));
    exit;
}
$id_theme = (int) $_GET['id'];
$q $db->prepare("SELECT `forum_themes`.* ,
        `forum_categories`.`name` AS `category_name` ,
        `forum_topics`.`name` AS `topic_name`,
        `forum_topics`.`group_write` AS `topic_group_write`
FROM `forum_themes`
LEFT JOIN `forum_categories` ON `forum_categories`.`id` = `forum_themes`.`id_category`
LEFT JOIN `forum_topics` ON `forum_topics`.`id` = `forum_themes`.`id_topic`
WHERE `forum_themes`.`id` = ? AND `forum_themes`.`group_show` <= ? AND `forum_topics`.`group_show` <= ? AND `forum_categories`.`group_show` <= ?"
);
$q->execute(Array($id_theme$user->group$user->group$user->group));
if (!
$theme $q->fetch()) {
    
header('Refresh: 1; url=./');
    
$doc->err(__('Тема не доступна'));
    exit;
}


$doc->ret(__('Действия'), 'theme.actions.php?id=' $theme['id']);
$doc->ret(__('Вернуться в тему'), 'theme.php?id=' $theme['id']);
$doc->ret(empty($theme['topic_name']) ? __('В раздел') : $theme['topic_name'], 'topic.php?id=' $theme['id_topic']);
$doc->ret(empty($theme['category_name']) ? __('В категорию') : $theme['category_name'], 'category.php?id=' $theme['id_category']);
$doc->ret(__('Форум'), './');

$group_write_open $theme['topic_group_write'];
$group_write_close $theme['topic_group_write'] + 1;

$is_open $theme['group_write'] <= $group_write_open;

$doc->title $is_open __('Закрытие темы %s'$theme['name']) : __('Открытие темы %s'$theme['name']);

if (!empty(
$_POST['open'])) {
    if (
$is_open) {
        
$doc->msg(__('Тема уже открыта для обсуждения'));
    } else {
        
$theme['group_write'] = $group_write_open;
        
$res $db->prepare("UPDATE `forum_themes` SET `group_write` = ? WHERE `id` = ? LIMIT 1");
        
$res->execute(Array($theme['group_write'], $theme['id']));
        
$message __('%s открыл' . ($user->sex '' 'а') . ' тему для обсуждения''[user]' $user->id '[/user]');
        if (
$reason text::input_text($_POST['reason'])) {
            
$message .= "n" __('Причина: %s'$reason);
        }
        
$dcms->log('Форум''Открытие темы [url=/forum/theme.php?id=' $theme['id'] . ']' $theme['name'] . '[/url]' . ($reason "nПричина: $reason''));

        
$res $db->prepare("INSERT INTO `forum_messages` (`id_category`, `id_topic`, `id_theme`, `id_user`, `time`, `message`, `group_show`, `group_edit`) VALUES (?,?,?,'0',?,?,?,?)");
        
$res->execute(Array($theme['id_category'], $theme['id_topic'], $theme['id'], TIME$message$theme['group_show'], $theme['group_edit']));
        
$doc->msg(__('Тема успешно открыта для обсуждения'));
        exit;
    }
}


if (!empty(
$_POST['close'])) {
    if (!
$is_open) {
        
$doc->msg(__('Тема уже закрыта для обсуждения'));
    } else {
        
$theme['group_write'] = $group_write_close;
        
$res $db->prepare("UPDATE `forum_themes` SET `group_write` = ? WHERE `id` = ? LIMIT 1");
        
$res->execute(Array($theme['group_write'], $theme['id']));
        
$message __('%s закрыл' . ($user->sex '' 'а') . ' тему для обсуждения''[user]' $user->id '[/user]');
        if (
$reason text::input_text($_POST['reason'])) {
            
$message .= "n" __('Причина: %s'$reason);
        }
        
$dcms->log('Форум''Закрытие темы [url=/theme.php?id=' $theme['id'] . ']' $theme['name'] . '[/url]' . ($reason "nПричина: $reason''));
        
$res $db->prepare("INSERT INTO `forum_messages` (`id_category`, `id_topic`, `id_theme`, `id_user`, `time`, `message`, `group_show`, `group_edit`) VALUES (?,?,?,'0',?,?,?,?)");
        
$res->execute(Array($theme['id_category'], $theme['id_topic'], $theme['id'], TIME$message$theme['group_show'], $theme['group_edit']));
        
$doc->msg(__('Тема успешно закрыта для обсуждения'));
        exit;
    }
}

$form = new form(new url());
$form->textarea('reason'$is_open __('Причина закрытия') : __('Причина открытия'));
if (
$is_open)
    
$form->button(__('Закрыть для обсуждения'), 'close');
else
    
$form->button(__('Открыть для обсуждения'), 'open');
$form->display();
?>
Онлайн: 2
Реклама