Вход Регистрация
Файл: pages/forum/topic.php
Строк: 234
<?php
include ('../../system/mysql.php');
include (
'../../system/sys_func.php');

$forum_id intval($_GET['forum']);
$cat_id intval($_GET['cat']);
$them_id intval($_GET['them']);

// Если темы не существует...
if (isset($_GET['forum']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `id` = '"intval($_GET['forum']) ."'"),0) != || isset($_GET['cat']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `f_category` WHERE `id` = '"intval($_GET['cat']) ."'"),0) != || isset($_GET['cat']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `f_theme` WHERE `id` = '"intval($_GET['them']) ."'"), 0) != 1) {
    
$title 'Форум/Ошибка';
    include (
'../../system/head.php');
    echo 
'<div class="title"><a href="/pages/forum/">Форум</a> / Ошибка</div>
    <div class="err">Такой темы не существует!</div>
    <a class="link" href="topics.php?forum='
$forum_id .'&cat='$cat_id .'">← Назад</a>';
    
foot();
    exit;
}

// Отправляем сообщение
$error false;
    
$errort '';
if (isset(
$_POST['add'])) {
    
$msg htmlspecialchars(mysql_real_escape_string($_POST['msg']));

    if (
strlen($msg) < 1) {
        
$error true;
        
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
    } elseif (
strlen($msg) > 2000) {
        
$error true;
        
$errort .= '<div class="err">Длина сообщения должна быть не более 2000 символов.</div>';
    }

    if (!
$error) {
        
mysql_query("INSERT INTO `f_post` (`forum_id`, `cat_id`, `them_id`, `id_user`, `msg`, `time`) values('$forum_id', '$cat_id', '$them_id', '$user[id]', '$msg', '"time() ."')");
        
mysql_query("UPDATE `f_theme` SET `forum_id` = '$forum_id', `cat_id` = '$cat_id', `last_post` = '"time() ."' WHERE `id` = '$them_id'");
        
header('Location: ?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end');
        exit;
    }
}

// Удаляем комментарий
if (isset($_GET['del_p']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `f_post` WHERE `id` = '"intval($_GET['del_p']) ."'"),0) == 1) {
    if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') {
        
$post mysql_fetch_assoc(mysql_query("SELECT * FROM `f_post` WHERE `id` = '"intval($_GET['del_p']) ."' LIMIT 1"));
        
mysql_query("DELETE FROM `f_post` WHERE `id` = '".intval($_GET['del_p'])."'");
        
header('Location: ?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end');
        exit;
    } else {
        
$title 'Форум/Ошибка';
        include (
'../../system/head.php');
        echo 
'<div class="err">У вас недостаточно прав!</div>
        <a class="link" href="?forum='
$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end">Назад</a>';
        
foot();
        exit;
    }
}

// Скрываем/Восстановляем комментарий
if (isset($_GET['hide']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `f_post` WHERE `id` = '"intval($_GET['hide']) ."'"),0) == 1) {
    if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') {
        
$post mysql_fetch_assoc(mysql_query("SELECT * FROM `f_post` WHERE `id` = '"intval($_GET['hide']) ."' LIMIT 1"));
        if (
$post['hide'] == NULL) {
            
mysql_query("UPDATE `f_post` SET `hide` = '$user[login]' WHERE `id` = '"intval($_GET['hide']) ."'");
        } else {
            
mysql_query("UPDATE `f_post` SET `hide` = '' WHERE `id` = '"intval($_GET['hide']) ."'");
        }
        
header('Location: ?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end');
        exit;
    } else {
        
$title 'Форум/Ошибка';
        include (
'../../system/head.php');
        echo 
'<div class="err">У вас недостаточно прав!</div><a class="link" href="?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end">Назад</a>';
        
foot();
        exit;
    }
}

// Редактирование темы
if (isset($_GET['edit']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `f_theme` WHERE `id` = '"intval($_GET['edit']) ."'"),0)==1) {
    
$them mysql_fetch_array(mysql_query("SELECT * FROM `f_theme` WHERE `id` = '"intval($_GET['edit']) ."'"));
    if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') {
        
// Удаляем тему
        
if (isset($_GET['del']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `f_theme` WHERE `id` = '"intval($_GET['del']) ."'"), 0) == 1) {
            if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') {
                if (isset(
$_POST['yes'])) {
                    
mysql_query("DELETE FROM `f_theme` WHERE `id` = '"intval($_GET['del']) ."'");
                    
mysql_query("DELETE FROM `f_post` WHERE `them_id` = '"intval($_GET['del']) ."'");
                    
header('Location: topics.php?forum='$forum_id .'&cat='$cat_id .'');
                    exit;
                }
                
$title 'Форум/Удаление темы';
                include (
'../../system/head.php');
                echo 
'<div class="title"><a href="/pages/forum/">Форум</a> / Удаление темы</div>
                <form method="post">
                Вы уверены что хотите удалить эту тему со всеми комментариями?<br>
                <input type="submit" name="yes" value="Да" /> <a href="?forum='
$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end">Нет</a>
                </form>'
;
                
foot();
            }
        }

        
// Сохраняем изменённые данные
        
$error false;
        
$errort '';
        if (isset(
$_POST['change'])) {
            
$name htmlspecialchars(mysql_real_escape_string($_POST['name']));
            
$msg htmlspecialchars(mysql_real_escape_string($_POST['msg']));
             if (
strlen($name) < 1) {
                
$error true;
                
$errort .= '<div class="err">Длина имени должна быть не менее 1-ого символа.</div>';
            } elseif (
strlen($name) > 64) {
                
$error true;
                
$errort .= '<div class="err">Длина имени должна быть не более 64-х символов.</div>';
            }

            if (
strlen($msg) < 1) {
                
$error true;
                
$errort .= '<div class="err">Длина сообщения должна быть не менее 1-ого символа.</div>';
            } elseif (
strlen($msg) > 20000) {
                
$error true;
                
$errort .= '<div class="err">Длина сообщения должна быть не более 20 000 символов.</div>';
            }

            if (!
$error) {
                
mysql_query("UPDATE `f_theme` SET `name` = '$name', `msg` = '$msg' WHERE `id` = '$them[id]'");
                
header('Location: topic.php?forum='$forum_id .'&cat='$cat_id .'&them='$them_id);
                exit;
            }
        }

        
$forum mysql_fetch_array(mysql_query("SELECT * FROM `forum` WHERE `id` = '$forum_id'"));
        
$cat mysql_fetch_array(mysql_query("SELECT * FROM `f_category` WHERE `id` = '"$cat_id ."' AND `forum_id` = '"$forum_id ."'"));
        
$them mysql_fetch_array(mysql_query("SELECT * FROM `f_theme` WHERE `id` = '".intval($_GET['them'])."'"));
        
$title 'Форум/Редактирование темы';
        include (
'../../system/head.php');
        echo 
'<div class="title"><a href="/forum/">Форум</a> / <a href="category.php?forum='$forum['id'] .'">'$forum['name'] .'</a> / <a href="topics.php?forum='$cat['id'] .'">'$cat['name'] .'</a> / <a href="topic.php?forum='$them['id'] .'">'$them['name'] .'</a> / Редактирование темы</div>';
        echo 
$errort;

        echo 
'<form method="post" name="message" action="topic.php?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&edit='$them_id .'">
        <b>Имя темы</b>:<br><input type="text" name="name" value="'
$them['name'] .'"><br>
        <b>Сообщение темы</b>:<br>
        <textarea cols="20" rows="2" name="msg">'
$them['msg'] .'</textarea><br>
        <input value="Изменить" type="submit" name="change" />
        </form>'
;
        echo 
'<a class="link" href="topic.php?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&edit='$them['id'] .'&del='$them['id'] .'"><img src="/design/imgs/delete.png"> Удалить тему</a>';
        echo 
'<a class="link" href="topic.php?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'">← Отмена</a>';
        
foot();
        exit;
    } else {
        echo 
'<div class="err">У вас недостаточно прав!</div>
        <a class="link" href="topic.php?forum='
$forum_id .'&cat='$cat_id .'&them='$them_id .'">← Назад</a>';
        
foot();
        exit;
    }
}

// Открываем тему
if (isset($_GET['open'])) {
    if (
$user['position'] == 'admin' || $user['position'] == 'mod_f'){
        
mysql_query("UPDATE `f_theme` SET `close` = '0' WHERE `id` = '$them_id' LIMIT 1");
        
mysql_query("INSERT INTO `f_post` (`forum_id`, `cat_id`, `them_id`, `id_user`, `msg`, `time`) values('$forum_id', '$cat_id', '$them_id', '2', 'Тему открыл <a href="/pages/users/user.php?name=$user[login]">$user[login]</a>.', '"time() ."')");
        
header('Location: ?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end');
        exit;
    }
} elseif (isset(
$_GET['close'])) { // Закрываем тему
    
if ($user['position'] == 'admin' || $user['position'] == 'mod_f'){
        
mysql_query("UPDATE `f_theme` SET `close` = '1', `who_close` = '$user[login]' WHERE `id` = '$them_id' LIMIT 1");
        
mysql_query("INSERT INTO `f_post` (`forum_id`, `cat_id`, `them_id`, `id_user`, `msg`, `time`) values('$forum_id', '$cat_id', '$them_id', '2', 'Тему закрыл <a href="/pages/users/user.php?name=". $user['login'] ."">"$user['login'] ."</a>.', '"time() ."')");
        
header('Location: ?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end');
        exit;
    }
}
// Открепляем тему
if (isset($_GET['undock'])) {
    if (
$user['position'] == 'admin' || $user['position'] == 'mod_f'){
        
mysql_query("UPDATE `f_theme` SET `fix` = '0' WHERE `id` = '$them_id' LIMIT 1");
        
mysql_query("INSERT INTO `f_post` (`forum_id`, `cat_id`, `them_id`, `id_user`, `msg`, `time`) values('$forum_id', '$cat_id', '$them_id', '2', 'Тему открепил <a href="/pages/users/user.php?name=$user[login]">$user[login]</a>.', '"time() ."')");
        
header('Location: ?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end');
        exit;
    }
} elseif (isset(
$_GET['fasten'])) { // Закрепляем тему
    
if ($user['position'] == 'admin' || $user['position'] == 'mod_f'){
        
mysql_query("UPDATE `f_theme` SET `fix` = '1' WHERE `id` = '$them_id' LIMIT 1");
        
mysql_query("INSERT INTO `f_post` (`forum_id`, `cat_id`, `them_id`, `id_user`, `msg`, `time`) values('$forum_id', '$cat_id', '$them_id', '2', 'Тему закрепил <a href="/pages/users/user.php?name=$user[login]">$user[login]</a>.', '"time() ."')");
        
header('Location: ?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&page=end');
        exit;
    }
}


$forum mysql_fetch_array(mysql_query("SELECT * FROM `forum` WHERE `id` = '$forum_id'"));
$cat mysql_fetch_array(mysql_query("SELECT * FROM `f_category` WHERE `id` = '"$cat_id ."' AND `forum_id` = '"$forum_id ."'"));
$them mysql_fetch_array(mysql_query("SELECT * FROM `f_theme` WHERE `id` = '".intval($_GET['them'])."'"));
$title 'Форум/'$them['name'];
include (
'../../system/head.php');
echo 
'<div class="title"><a href="index.php">Форум</a> / <a href="category.php?forum='$forum['id'] .'">'$forum['name'] .'</a> / <a href="topics.php?forum='$forum['id'] .'&amp;cat='$cat['id'] .'">'$cat['name'] .'</a> / '$them['name'] .'</div>';
echo 
$errort;

// Далее идёт вывод информации
$ank mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '$them[id_user]'"));
echo 
'<div class="post">
<span class="c_date">'
ptime($them['time']) .'</span>
<table cellpadding="0" cellspacing="0">
<tr>
<td>'
;
avatar($ank['id']);
echo 
'&#160;</td><td>';
echo 
online($ank['id']);
echo 
'<a href="/pages/users/user.php?name='$ank['login'] .'">'$ank['login'] .'</a>';
echo 
browser($ank['id']);
echo 
'<br>';
echo 
position($ank['id']);
echo 
' <b>'output($them['name']) .'</b>';
if (
$them['close']==1) {
    echo 
' <img src="/design/imgs/topic_locked.gif" alt="top" />';
}
echo 
'</td>
</tr>
</table>'
;
echo 
output($them['msg']);
echo 
'</div>';
if (
$them['close'] == && $them['who_close'] != NULL) {
    echo 
'<div class="post">';
    
$who mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `login` = '$them[who_close]' LIMIT 1"));
    echo 
'<span style="color:gray;font-size:small;">Тема закрыта <a href="/pages/users/user.php?name='$who['login'] .'">'$who['login'] .'</a></span>
    </div>'
;
}

if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') {
    echo 
'<div class="post_sys">';
    if (
$them['close'] == 0) {
        echo 
'<a href="topic.php?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&close">Закрыть</a> | ';
    } elseif (
$them['close'] == 1) {
        echo 
'<a href="topic.php?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&open">Открыть</a> | ';
    }
    if (
$them['fix'] == 0) {
        echo 
'<a href="topic.php?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&fasten">Закрепить</a>';
    } elseif (
$them['fix'] == 1) {
        echo 
'<a href="topic.php?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&undock">Открепить</a>';
    }
    echo 
'</div>';
}

if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') echo '<a class="link" href="?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&edit='$them['id'] .'">Редактировать</a>';

$c_p mysql_result(mysql_query("SELECT COUNT(*) FROM `f_post` WHERE `forum_id` = '$forum_id' AND `cat_id` = '$cat_id' AND `them_id` = '$them_id'"),0);
$k_page k_page($c_p10);
$page page($k_page);
$start 10*$page-10;
if (
$c_p == 0) {
    echo 
'<div class="post">';
    echo 
'Нет комментариев';
    echo 
'</div>';
} else {
    echo 
'<div class="post">';
    echo 
'<b>Комментарии</b> ('$c_p .')';
    echo 
'</div>';
}

$q mysql_query("SELECT * FROM `f_post` WHERE `forum_id` = '$forum_id' AND `cat_id` = '$cat_id' AND `them_id` = '$them_id' ORDER BY `time` ASC LIMIT $start, 10");
while (
$post mysql_fetch_assoc($q)) {
    
$ank mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$post[id_user]' LIMIT 1"));
    if (
$post['hide'] == NULL) {
        echo 
'<div class="post">
        <span class="c_date">'
ptime($post['time']) .'</span>
        <table cellpadding="0" cellspacing="0">
        <tr>
        <td>'
;
        
avatar($ank['id']);
        echo 
'&#160;</td><td>';
        echo 
online($ank['id']);
        echo 
'<a href="/pages/users/user.php?name='$ank['login'] .'">'$ank['login'] .'</a>';
        echo 
browser($ank['id']);
        echo 
'<br>';
        echo 
position($ank['id']);
        echo 
'</td>
        </tr>
        </table>
        <div>'
;
        echo 
output($post['msg']);
        echo 
'</div>';
        if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') {
            echo 
'<br><a href="?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&hide='$post['id'] .'">Скрыть</a> | 
            <a href="?forum='
$forum_id .'&cat='$cat_id .'&them='$them_id .'&del_p='$post['id'] .'">Удалить</a>';
        }
        echo 
'</div>';
    } else {
        echo 
'<div class="post_sys">
        <span class="c_date">'
ptime($post['time']) .'</span>
        <table cellpadding="0" cellspacing="0">
        <tr>
        <td>'
;
        
avatar($ank['id']);
        echo 
'&#160;</td><td>';
        echo 
online($ank['id']);
        echo 
'<a href="/pages/users/user.php?name='$ank['login'] .'">'$ank['login'] .'</a>';
        echo 
browser($ank['id']);
        if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') {
            echo 
'<br>';
            echo 
position($ank['id']);
            echo 
'<span style="color:darkred;font-size:small;">Комментарий скрыл '$post['hide'] .'</span>
            </td>
            </tr>
            </table>
            <div>'
;
            echo 
output($post['msg']);
        } else {
            echo 
'<br>';
            echo 
position($ank['id']);
            echo 
'<span style="color:darkred;font-size:small;">Комментарий скрыт</span>
            </td>
            </tr>
            </table>
            <div>'
;
        }
        echo 
'</div>
        <br>'
;

        if (
$user['position'] == 'admin' || $user['position'] == 'mod_f') {
            echo 
'<a href="?forum='$forum_id .'&cat='$cat_id .'&them='$them_id .'&hide='$post['id'] .'">Восстановить</a> |
            <a href="?forum='
$forum_id .'&cat='$cat_id .'&them='$them_id .'&del_p='$post['id'] .'">Удалить</a>';
        }
        echo 
'</div>';
    }
}

if (
$k_page 1str("?forum='. $forum_id .'&cat='. $cat_id .'&them='. $them_id .'&"$k_page$page);

if (isset(
$user)) {
    if (
$them['close'] == 0) {
        echo 
'<form method="post" name="message">';
        echo 
'<textarea cols="20" rows="2" name="msg"></textarea><br>';
        echo 
'<input value="Добавить" type="submit" name="add" />';
        echo 
'</form>';
    }
} else {
    echo 
'<div class="err">Чтобы оставлять комментарии, вы должны <a href="/pages/registration/">зарегистрироваться</a> или <a href="/pages/registration/?menu=login">авторизоваться</a>!</div>';
}

$cat mysql_fetch_array(mysql_query("SELECT * FROM `f_category` WHERE `id` = '$cat_id' AND `forum_id` = '$forum_id'"));
$forum mysql_fetch_array(mysql_query("SELECT * FROM `forum` WHERE `id` = '$forum_id'"));
echo 
'<a class="link" href="topics.php?forum='$forum_id .'&cat='$cat['id'] .'">← '$cat['name'] .'</a>';
echo 
'<a class="link" href="category.php?forum='$forum['id'] .'">← '$forum['name'] .'</a>';
echo 
'<a class="link" href="index.php">← Разделы</a>';
foot();
?>
Онлайн: 1
Реклама