Вход Регистрация
Файл: php-zona.ru/modules/forum/topic.php
Строк: 287
<?php
$title 
'Тема на форуме';
include_once(
$_SERVER["DOCUMENT_ROOT"].'/style/head.php');
$_GET['id'] = abs(intval($_GET['id']));
if(
$db->query("SELECT `id` FROM `forum_topic` WHERE `id`='".$_GET['id']."'")->num_rows==0){
    
error('Темы не существует!');
}
$antiflood $db->query("SELECT `forum_post` FROM `antiflood` WHERE `id`='1'")->fetch_assoc();
$topic $db->query("SELECT * FROM `forum_topic` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
switch(
$_GET['act']){
    default:
    if(isset(
$_POST['ok'])){
        
mode('user');
        if(
$topic['closed']==1){
            
error('Тема закрыта.  Вы не можете писать и редактировать посты.');
        }
        
$_POST['text'] = guard($db->real_escape_string($_POST['text']));
        if(empty(
$_POST['text'])){
            
error('Введите текст комментария!');
        }elseif(
mb_strlen($_POST['text'])<or mb_strlen($_POST['text'])>4000){
            
error('Текст комментария должен быть не менее 2 и не более 4000 символов!');
        }
        
$tim time()-$antiflood['forum_post'];
        if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id_us`='".$user['id']."' AND `time`>='".$tim."'")->num_rows!=0){
            
error('Посты можно оставлять раз в '.$antiflood['forum_post'].' секунд.');
        }
        
$db->query("INSERT INTO `forum_post` SET `id_topic`='".$_GET['id']."', `id_pkat`='".$topic['pkat']."', `id_kat`='".$topic['kat']."', `id_us`='".$user['id']."', `time`='".time()."', `text`='".$_POST['text']."'");
        
$db->query("UPDATE `forum_topic` SET `up`='".time()."' WHERE `id`='".$_GET['id']."'");
        if(
$user['id']!=$topic['id_us']){
            
$db->query("INSERT INTO `notifications` SET `id_us`='".$topic['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='написал в вашей [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."]теме[/url]'");
        }
        
$kp $db->query("SELECT `id` FROM `forum_post` WHERE `id_topic`='".$_GET['id']."'")->num_rows;
        
$d $kp/10;
        if(!
is_int($d)){
            
$d intval($d+1);
        }
        
header('location:/forum/topic/'.$topic['id'].'?&page='.$d);
    }
    
?>
    <div class="title">Тема <?=$topic['name']?></div>
    <div class="text">
        <?
        
if($user['level']>=or $user['id']==$topic['id_us']){
            if(
$topic['closed']==0){
                
?>
                <a href="/forum/topic/<?=$_GET['id']?>?act=close">Закрыть</a>
                <?
            
}else{
                
$a $db->query("SELECT `level` FROM `users` WHERE `id`='".$topic['close_us']."'")->fetch_assoc();
                if(
$a['level']<=$user['level']){
                    
?>
                    <a href="/forum/topic/<?=$_GET['id']?>?act=open">Открыть</a>
                    <?
                
}
            }
            if(
$user['level']>=1){
                if(
$topic['top']==0){
                    
?><a href="/forum/topic/<?=$_GET['id']?>?act=top">Закрепить</a> <?
                
}else{
                    
?><a href="/forum/topic/<?=$_GET['id']?>?act=detop">Открепить</a> <?
                
}
            }


            
?>| <a href="/forum/topic/<?=$_GET['id']?>?act=editt">Редактировать</a><?
        
}

        if(
$user['level']>=1){
            
?>
            | <a href="/forum/topic/<?=$_GET['id']?>?act=delt">Удалить</a><br/>
            <?
        
}
        
?>
        <?if(empty($_GET['page']) or $_GET['page']==1){?>
        <br/>
        <?=nick($topic['id_us'])?><br/>
        <?=times($topic['time'])?><br/>
        <?=output($topic['text'])?>
        <?}?>
    </div>
    <?
    $nav
=new navig("SELECT * FROM `forum_post` WHERE `id_topic`='".$_GET['id']."'");
    
$q $db->query("SELECT * FROM `forum_post` WHERE `id_topic`='".$_GET['id']."' LIMIT ".$nav->start.", ".$nav->nstr."");
    while(
$p $q->fetch_assoc()){
        
?>
        <div class="section">
            <?=nick($p['id_us'])?><br/>
            <?=times($p['time'])?><br/>
            <?if($p['quote']!=0){
                
$quote $db->query("SELECT  * FROM `forum_post` WHERE `id`='".$p['quote']."'")->fetch_assoc();
                
?>
            <div class="quote">
                <?if($quote['del']==AND $user['level']<1){?>
                    <?=nick($quote['id_us'])?><br/>
                    <?=times($quote['time'])?><br/>
                    <b>Сообщение удалено!</b>
                <?}else{?>
                    <?=nick($quote['id_us'])?><br/>
                    <?=times($quote['time'])?><br/>
                    <?=output($quote['text'])?>
                <?}?>
            </div>
            <?}?>
            <?if($p['del']==AND $user['level']<1){?>
                <b>Сообщение удалено!</b><br/>
            <?}else{?>
                <?=output($p['text'])?><br/>
            <?}?>
            [<font color="green"><?=$p['plus']?></font> / <font color="red"><?=$p['minus']?></font>]
            <?if(isset($user['id']) AND $user['id']!=$p['id_us'] AND $db->query("SELECT `id` FROM `forum_post_rating` WHERE `id_post`='".$p['id']."' AND `id_us`='".$user['id']."'")->num_rows==0){
                
?>
                <a href="/forum/topic/<?=$_GET['id']?>?act=plus&idp=<?=$p['id']?>&page=<?=$_GET['page']?>">+</a> | <a href="/forum/topic/<?=$_GET['id']?>?act=minus&idp=<?=$p['id']?>&page=<?=$_GET['page']?>">-</a>
                <?
            
}?>
            <br/>
            <?if($p['id_us']!=$user['id'] AND isset($user['id']) AND $topic['closed']==0){?>
            <a href="/forum/topic/<?=$_GET['id']?>?act=reply&idp=<?=$p['id']?>">[Отв.]</a> <a href="/forum/topic/<?=$_GET['id']?>?act=quote&idp=<?=$p['id']?>">[Цит.]</a> <a href="/forum/topic/<?=$_GET['id']?>?act=complaint&idp=<?=$p['id']?>">[Жал.]</a>
            <?}?>
            <?if($p['id_us']==$user['id'] or $user['level']>=AND $topic['closed']==0){?>
            <a href="/forum/topic/<?=$_GET['id']?>?act=edit&idp=<?=$p['id']?>">[Ред.]</a>
            <?}?>
            <?if($user['level']>=1){?>
                <?if($p['del']==0){?>
                    <a href="/forum/topic/<?=$_GET['id']?>?act=del&idp=<?=$p['id']?>">[Уд.]</a>
                <?}?>
                <?if($p['del']==1){?>
                    <a href="/forum/topic/<?=$_GET['id']?>?act=reestablish&idp=<?=$p['id']?>">[Вост.]</a>
                <?}?>
            <?}?>
            <?if($db->query("SELECT `id` FROM `forum_post_edit` WHERE `id_post`='".$p['id']."'")->num_rows!=0){
                
$ed $db->query("SELECT * FROM `forum_post_edit` WHERE `id_post`='".$p['id']."' ORDER BY `id` DESC LIMIT 1")->fetch_assoc();
                
?>
                <hr>
                Сообщение последний раз редактировалось <?=nick($ed['id_us'])?> <?=times($ed['time'])?>
            <?}?>
            <?if($p['del']==AND $user['id']>=1){
                
$d $db->query("SELECT * FROM `forum_post_del` WHERE `id_post`='".$p['id']."' ORDER BY `id` DESC LIMIT 1")->fetch_assoc();?>
                <hr>
                Сообщение было удалено <?=nick($d['id_adm'])?> <?=times($d['time'])?>
            <?}?>
            <?if($db->query("SELECT `id` FROM `forum_post_reestablish` WHERE `id_post`='".$p['id']."'")->num_rows!=0){
                
$ree $db->query("SELECT * FROM `forum_post_reestablish` WHERE `id_post`='".$p['id']."'")->fetch_assoc();?>
                <hr>
                Сообщение было восстановлено <?=nick($ree['id_adm'])?> <?=times($ree['time'])?>
            <?}?>
            <?if($db->query("SELECT `id` FROM `forum_files_post` WHERE `id_post`='".$p['id']."'")->num_rows!=0){
                
$qw $db->query("SELECT * FROM `forum_files_post` WHERE `id_post`='".$p['id']."'");
                
?><br/>Файлы:<br/><?
                
while($f $qw->fetch_assoc()){
                
?>
                <a href="/files/forum/post/<?=$f['file']?>"><?=$f['file']?></a><br/>
                <?}
            }
?>
        </div>
        <?
    
}
    
?>
    <div class="nvgstr">
    <?
    $nav
->panel();
    
?>
    </div>
    <?if(isset($user['id'])){
        if(
$topic['closed']==0){?>
            <div class="text">
                <a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a> <br/>
                <form action="" method="POST">
                    <textarea name="text"></textarea><br/>
                    <input type="submit" name="ok">
                </form>
            </div>
            <?
        
}
    }else{
        
?>
        <div class="error">Комментарии могут оставлять только авторизованные пользователи!</div>
        <?
    
}
    if(
$topic['closed']!=0){
        
?>
        <div class="section">
            Тема была закрыта <?=nick($topic['closed_us'])?> <?=times($topic['closed_time'])?><br/>
            По причине:<br/>
            <?=output($topic['closed_reason'])?>
        </div>
        <?
    
}
    break;

    case 
'reply':
    
mode('user');
    
$_GET['idp'] = abs(intval($_GET['idp']));
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->num_rows==0){
        
error('Поста не существует!');
    }
    
$p $db->query("SELECT `id_us` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->fetch_assoc();
    
$us $db->query("SELECT `nick` FROM `users` WHERE `id`='".$p['id_us']."'")->fetch_assoc();
    if(
$p['id_us']==$user['id']){
        
error('Самому с собой разговаривать не нормально...');
    }
    if(
$topic['closed']==1){
        
error('Тема закрыта.  Вы не можете писать и редактировать посты.');
    }
    if(isset(
$_POST['ok'])){
        
$_POST['text'] = guard($db->real_escape_string($_POST['text']));
        if(empty(
$_POST['text'])){
            
error('Введите текст ответа!');
        }elseif(
mb_strlen($_POST['text'])<or mb_strlen($_POST['text'])>4000){
            
error('Текст комментария должен быть не менее 2 и не более 4000 символов!');
        }
        if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id_us`='".$user['id']."' AND `time`>=".time()-$antiflood['forum_post']."")->num_rows!=0){
            
error('Посты можно оставлять раз в '.$antiflood['forum_post'].' секунд.');
        }
        
$db->query("INSERT INTO `forum_post` SET `id_topic`='".$topic['id']."', `id_pkat`='".$topic['pkat']."', `id_kat`='".$topic['kat']."', `id_us`='".$user['id']."', `time`='".time()."', `text`='".$_POST['text']."'");
        
$db->query("INSERT INTO `notifications` SET `id_us`='".$p['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='ответил вам в комментариях к [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."]теме[/url]'");
        if(
$user['id']!=$topic['id_us']){
            
$db->query("INSERT INTO `notifications` SET `id_us`='".$topic['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='написал в вашей [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."]теме[/url]'");
        }
        
$db->query("UPDATE `forum_topic` SET `up`='".time()."' WHERE `id`='".$_GET['id']."'");
        
$kp $db->query("SELECT `id` FROM `forum_post` WHERE `id_topic`='".$_GET['id']."'")->num_rows;
        
$d $kp/10;
        if(!
is_int($d)){
            
$d intval($d+1);
        }
        
header('location:/forum/topic/'.$topic['id'].'?&page='.$d);
    }
    
?>
    <div class="title">Ответ на пост</div>
    <div class="text">
        <a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a><br/>
        <form action="" method="POST">
            Ваше сообщение:<br/>
            <textarea name="text">[b]<?=$us['nick']?>[/b], </textarea><br/>
            <input type="submit" name="ok" value="Ответить">
        </form>
    </div>
    <?
    
break;

    case 
'quote':
    
mode('user');
    
$_GET['idp'] = abs(intval($_GET['idp']));
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->num_rows==0){
        
error('Поста не существует!');
    }
    
$p $db->query("SELECT * FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->fetch_assoc();
    if(
$p['id_us']==$user['id']){
        
error('Самому с собой разговаривать не нормально...');
    }
    if(
$topic['closed']==1){
        
error('Тема закрыта.  Вы не можете писать и редактировать посты.');
    }

    if(isset(
$_POST['ok'])){
        
$_POST['text'] = guard($db->real_escape_string($_POST['text']));
        if(empty(
$_POST['text'])){
            
error('Введите текст ответа!');
        }elseif(
mb_strlen($_POST['text'])<or mb_strlen($_POST['text'])>4000){
            
error('Текст комментария должен быть не менее 2 и не более 4000 символов!');
        }
        if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id_us`='".$user['id']."' AND `time`>=".time()-$antiflood['forum_post']."")->num_rows!=0){
            
error('Посты можно оставлять раз в '.$antiflood['forum_post'].' секунд.');
        }
        
$db->query("INSERT INTO `forum_post` SET `id_topic`='".$_GET['id']."', `id_pkat`='".$topic['pkat']."', `id_kat`='".$topic['kat']."', `id_us`='".$user['id']."', `time`='".time()."', `text`='".$_POST['text']."', `quote`='".$_GET['idp']."'");
        
$db->query("INSERT INTO `notifications` SET `id_us`='".$p['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='процитировал ваш пост в теме [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."]теме[/url]'");
        if(
$user['id']!=$topic['id_us']){
            
$db->query("INSERT INTO `notifications` SET `id_us`='".$topic['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='написал в вашей [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."]теме[/url]'");
        }
        
$db->query("UPDATE `forum_topic` SET `up`='".time()."' WHERE `id`='".$_GET['id']."'");
        
$kp $db->query("SELECT `id` FROM `forum_post` WHERE `id_topic`='".$_GET['id']."'")->num_rows;
        
$d $kp/10;
        if(!
is_int($d)){
            
$d intval($d+1);
        }
        
header('location:/forum/topic/'.$topic['id'].'?&page='.$d);
    }
    
?>
    <div class="title">Цитирование поста</div>
    <div class="text">
        <div class="quote">
            <?=nick($p['id_us'])?><br/>
            <?=times($p['time'])?><br/>
            <?=output($p['text'])?><br/>
        </div>
        <a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a><br/>
        <form action="" method="POST">
            Ваше сообщение:<br/>
            <textarea name="text"></textarea><br/>
            <input type="submit" name="ok">
        </form>
    </div>
    <?
    
break;

    case 
'edit':
    
mode('user');
    
$_GET['idp'] = abs(intval($_GET['idp']));
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->num_rows==0){
        
error('Поста не существует!');
    }
    
$post $db->query("SELECT * FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->fetch_assoc();
    if(
$user['id']!=$post['id_us'] AND $user['level']<1){
        
error('У вас нет прав для просмотра данной страницы!');
    }
    if(
$topic['closed']==AND $user['level']<1){
        
error('Тема закрыта.  Вы не можете писать и редактировать посты.');
    }

    if(isset(
$_POST['ok'])){
        
$_POST['text'] = guard($db->real_escape_string($_POST['text']));
        if(empty(
$_POST['text'])){
            
error('Введите текст ответа!');
        }elseif(
mb_strlen($_POST['text'])<or mb_strlen($_POST['text'])>4000){
            
error('Текст комментария должен быть не менее 2 и не более 4000 символов!');
        }
        
$db->query("UPDATE `forum_post` SET `text`='".$_POST['text']."' WHERE `id`='".$_GET['idp']."'");
        
$db->query("INSERT INTO `forum_post_edit` SET `id_post`='".$_GET['idp']."', `id_us`='".$user['id']."', `time`='".time()."'");
        if(
$post['id_us']!=$user['id']){
            
$db->query("INSERT INTO `notifications` SET `id_us`='".$post['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='отредактировал ваш пост в [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."]теме[/url]'");
        }
        
success('Комментарий успешно отредактирован!');
    }

    if(isset(
$_POST['okf'])){
    if(
$_POST['imp']==imp){
        
$_POST['import'] = guard($db->real_escape_string($_POST['import']));
        if (!@
fopen($_POST['import'], 'r')){
            
error('Файла не существует!');
        }
        
$gh get_headers($_POST['import'], 1);
        
$maxsize 100// Максимальный размер файла,в мегабайтах
        
$size $gh['Content-Length']; // Вес файла
        
if ($size > (1048576 $maxsize)){
            
error('Допустимый размер загружаемого файла '.$maxsize.' мб.');
        }
        
$info_url pathinfo($_POST['import']);
        
$filetype = array(
            
'jpg',
            
'gif',
            
'png',
            
'jpeg',
            
'3gp',
            
'mp4',
            
'mp3',
            
'flv',
            
'zip',
            
'rar');

        
/* Если тип файла не подходит */
        
if (!in_array($info_url['extension'], $filetype))
        {
            
error('Тип файла не подходит!');
        }

        
$file $_SERVER["HTTP_HOST"].'_'.rand(0,99).'_'.time().'.'.$info_url['extension'];

        if (!
copy($_POST['import'], '../../files/forum/post/'.$file.'')){
            
error('Ошибка в копировании на сервер!');
        }
        
$db->query("INSERT INTO `forum_files_post` SET `id_post`='".$_GET['idp']."', `file`='".$file."'");
           
success('Файл успешно загружен.');
    }else{
        
$size $_FILES['file']['size'];
        
$max 100;
        
$filetype = array(
            
'jpg',
            
'gif',
            
'png',
            
'jpeg',
            
'3gp',
            
'mp4',
            
'mp3',
            
'flv',
            
'zip',
            
'rar');
        
$upfiletype substr($_FILES['file']['name'], strrpos($_FILES['file']['name'], ".") + 1);
        if(!@
file_exists($_FILES['file']['tmp_name']) AND $_POST['imp']!=imp){
            
error('Выберите файл!');
        }elseif(
$size > (1048576 $max)){
            
error('Вес файла должен быть не более '.$max.' мб.');
        }elseif(!
in_array($upfiletype$filetype)){
            
error('Файл данного формата загржать запрещено!');
        }

        
$file $_SERVER["HTTP_HOST"].'_'.rand(0,999999).'_'.$_FILES['file']['name'];
        
move_uploaded_file($_FILES['file']['tmp_name'], "../../files/forum/post/".$file."");
        
$db->query("INSERT INTO `forum_files_post` SET `id_post`='".$_GET['idp']."', `file`='".$file."'");
        
success('Файл успешно загружен.');
    }
}    

    
$post $db->query("SELECT * FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->fetch_assoc();
    
?>
    <div class="title">Редактирование поста</div>
    <div class="text">
        <a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a><br/>
        <form action="" method="POST">
            Содержание:<br/>
            <textarea name="text"><?=$post['text']?></textarea><br/>
            <input type="submit" name="ok" value="Сохранить">
        </form>
    </div>
    <div class="title">Файлы [<?=$db->query("SELECT `id` FROM `forum_files_post` WHERE `id_post`='".$_GET['idp']."'")->num_rows?>]</div>
    <?
    $q 
$db->query("SELECT * FROM `forum_files_post` WHERE `id_post`='".$_GET['idp']."'");
    while(
$f $q->fetch_assoc()){
        
?>
        <div class="section"><a href="/files/forum/post/<?=$f['file']?>"><?=$f['file']?></a> <a href="/forum/topic/<?=$_GET['id']?>?act=delfile&idf=<?=$f['id']?>">[Уд.]</a></div>
        <?
    
}
    if(
$db->query("SELECT `id` FROM `forum_files_post` WHERE `id_post`='".$_GET['idp']."'")->num_rows==0){
            
?><div class="error">Прикрепленных файлов нет!</div><?
        
}
        
?>
        <div class="text">
            <form action="" method="POST" enctype="multipart/form-data">
                Выберите файл:<br/>
                <input type="file" name="file"><br/>
                <input type="radio" name="imp" value="imp"> Импорт:<br/>
                Файл:<br/>
                <input type="text" name="import" value="http://"><br/>
                <input type="submit" name="okf" value="Прикрепить">
            </form>
        </div>
        <?
    
break;

    case 
'del':
    
level(1);
    
$_GET['idp'] = abs(intval($_GET['idp']));
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->num_rows==0){
        
error('Поста не существует!');
    }
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."' AND `del`='1'")->num_rows!=0){
        
error('Пост уже удален!');
    }
    
$p $db->query("SELECT `id_us` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->fetch_assoc();
    
$u $db->query("SELECT `level` FROM `users` WHERE `id`='".$p['id_us']."'")->fetch_assoc();
    if(
$user['level']<=$t['level']){
        
error('У вас нет прав для удаления данного поста!');
    }
    
$db->query("UPDATE `forum_post` SET `del`='1' WHERE `id`='".$_GET['idp']."'");
    
$db->query("INSERT INTO `forum_post_del` SET `id_post`='".$_GET['idp']."', `id_adm`='".$user['id']."', `time`='".time()."'");
    
$kp $db->query("SELECT `id` FROM `forum_post` WHERE `id_topic`='".$_GET['id']."'")->num_rows;
    
$x $_GET['idp']/10+1;
    
$db->query("INSERT INTO `notifications` SET `id_us`='".$p['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='удалил ваш пост в [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."?&page=".$x."]теме[/url]'");
    
$d $kp/10;
    if(!
is_int($d)){
        
$d intval($d+1);
    }
    
header('location:/forum/topic/'.$topic['id'].'?&page='.$d);
    break;

    case 
'reestablish':
    
level(1);
    
$_GET['idp'] = abs(intval($_GET['idp']));
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->num_rows==0){
        
error('Поста не существует!');
    }
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."' AND `del`='0'")->num_rows!=0){
        
error('Пост не был удален или был восстановлен!');
    }
    
$p $db->query("SELECT `id_us` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->fetch_assoc();
    
$d $db->query("SELECT `id_adm` FROM `forum_post_del` WHERE `id_post`='".$_GET['idp']."' ORDER BY `id` DESC LIMIT 1")->fetch_assoc();
    
$a $db->query("SELECT `level` FROM `users` WHERE `id`='".$d['id_adm']."'")->fetch_assoc();
    if(
$user['level']<$a['level']){
        
error('У вас нет прав для восстановления даного поста!');
    }
    
$db->query("UPDATE `forum_post` SET `del`='0' WHERE `id`='".$_GET['idp']."'");
    
$db->query("DELETE FROM `forum_post_del` WHERE `id_post`='".$_GET['idp']."'");
    
$db->query("INSERT INTO `forum_post_reestablish` SET `id_post`='".$_GET['idp']."', `id_adm`='".$user['id']."', `time`='".time()."'");
    
$x $_GET['idp']/10+1;
    
$db->query("INSERT INTO `notifications` SET `id_us`='".$p['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='восстановил ваш пост в [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."?&page=".$x."]теме[/url]'");
    
$d $kp/10;
    if(!
is_int($d)){
        
$d intval($d+1);
    }
    
header('location:/forum/topic/'.$topic['id'].'?&page='.$d);
    break;

    case 
'complaint':
    
mode('user');
    
$_GET['idp'] = abs(intval($_GET['idp']));
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->num_rows==0){
        
error('Поста не существует!');
    }
    
$db->query("INSERT INTO `forum_complaint` SET `id_us`='".$user['id']."', `id_post`='".$_GET['idp']."', `id_topic`='".$_GET['id']."', `time`='".time()."'");
    
success('Жалоба успешно отправлена, ожидайте модерации.');
    break;

    case 
'close':
    
mode('user');
    if(
$user['level']<AND $user['id']!=$topic['id_us']){
        
error('У вас нет прав для просмотра данной страницы!');
    }

    if(isset(
$_POST['ok'])){
        
$_POST['reason'] = guard($db->real_escape_string($_POST['reason']));
        if(empty(
$_POST['reason'])){
            
error('Введите причину закрытия темы!');
        }elseif(
mb_strlen($_POST['reason'])<or mb_strlen($_POST['reason'])>500){
            
error('Причина закрытия темы дожна содержать в себе не менее 5 и не более 500 символов!');
        }
        
$u $db->query("SELECT `level` FROM `users` WHERE `id`='".$topic['id_us']."'")->fetch_assoc();
        if(
$u['level']>=$user['level']){
            
error('Вы не можете закрывать темы пользователей, которые выше вас по рангу!');
        }
        
$db->query("UPDATE `forum_topic` SET `closed`='1', `closed_reason`='".$_POST['reason']."', `closed_us`='".$user['id']."', `closed_time`='".time()."' WHERE `id`='".$_GET['id']."'");
        if(
$user['id']!=$topic['id_us']){
            
$db->query("INSERT INTO `notifications` SET `id_us`='".$topic['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='закрыл вашу [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."]тему[/url]'");
            
header('location:/forum/topic/'.$_GET['id']);
        }
    }
    
?>
    <div class="text">
        <form action="" method="POST">
            <a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a><br/>
            Причина закрытия:<br/>
            <textarea name="reason"></textarea><br/>
            <input type="submit" name="ok" value="Закрыть">
        </form>
    </div>
    <?
    
break;

    case 
'open':
    
mode('user');
    if(
$topic['id_us']!=$user['id'] AND $user['level']<1){
        
error('У вас нет прав для просмотра данной страницы!');
    }
    
$a $db->query("SELECT `level` FROM `users` WHERE `id`='".$topc['close_us']."'")->fetch_assoc();
    if(
$a['level']>$user['level']){
        
error('Тема бла закрыта пользователем, который выше вас по рангу!');
    }
    
$db->query("UPDATE `forum_topic` SET `closed`='0', `closed_reason`='".$_POST['reason']."', `closed_us`='".$user['id']."', `closed_time`='".time()."' WHERE `id`='".$_GET['id']."'");
        if(
$user['id']!=$topic['id_us']){
            
$db->query("INSERT INTO `notifications` SET `id_us`='".$topic['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='открыл вашу [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$_GET['id']."]тему[/url]'");
            
header('location:/forum/topic/'.$_GET['id']);
        }
    break;

    case 
'delt':
    
level(1);
    if(
$db->query("SELECT `id` FROM `forum_topic` WHERE `id`='".$_GET['id']."'")->num_rows==0){
        
error('Темы не существует!');
    }
    
$u $db->query("SELECT `level` FROM `users` WHERE `id`='".$topic['id_us']."'")->fetch_assoc();
    if(
$u['level']>$user['level']){
        
error('У вас нет прав для удаления этой темы.');
    }
    
$db->query("DELETE FROM `forum_topic` WHERE `id`='".$_GET['id']."'");
    
$db->query("DELETE FROM `forum_post` WHERE `id_topic`='".$_GET['id']."'");
    if(
$topic['id_us']!=$user['id']){
        
$db->query("INSERT INTO `notifications` SET `id_us`='".$topic['id_us']."', `time`='".time()."', `section`='forum', `sender`='".$user['id']."', `text`='удалил вашу тему (".$topic['name'].")'");
    }
    
success('Тема успешно удалена!');
    break;

    case 
'editt':
    if(
$db->query("SELECT `id` FROM `forum_topic` WHERE `id`='".$_GET['id']."'")->num_rows==0){
        
error('Темы не существует!');
    }
    if(
$user['level']<AND $user['id']!=$topic['id_us']){
        
error('У вас нет прав для просмотра данной страницы!');
    }
    if(isset(
$_POST['ok'])){
        
$_POST['name'] = guard($db->real_escape_string($_POST['name']));
        
$_POST['text'] = guard($db->real_escape_string($_POST['text']));
        if(empty(
$_POST['name'])) {
            
error('Введите название!');
        }elseif(
mb_strlen($_POST['name'])<or mb_strlen($_POST['name'])>255) {
            
error('Название темы должно быть не менее 2 и не более 255 символов!');
        }elseif (empty(
$_POST['text'])) {
            
error('Введите содержание темы!');
        }elseif(
mb_strlen($_POST['text'])<10 or mb_strlen($_POST['text'])>4000) {
            
error('Содержание темы должно быть не менее 10 и не более 4000 символов!');
        }
        
$db->query("UPDATE `forum_topic` SET `name`='".$_POST['name']."', `text`='".$_POST['text']."' WHERE `id`='".$_GET['id']."'");
        
success('Тема успешно изменена!');
    }
    
$t $db->query("SELECT `name`, `text` FROM `forum_topic` WHERE `id`='".$_GET['id']."'")->fetch_assoc();
    
?>
    <div class="text">
        <form action="" method="POST">
            <a href="/others/bb">BB-коды</a> <a href="/others/smile">Смайлы</a><br/>
            Название:<br/>
            <input type="text" name="name" value="<?=$t['name']?>"><br/>
            Содержание:<br/>
            <textarea name="text"><?=$t['text']?></textarea><br/>
            <input type="submit" name="ok" value="Изменить">
        </form>
    </div>
    <?
    
break;

    case 
'delfile':
    
mode('user');
    
$_GET['idf'] = abs(intval($_GET['idf']));
    if(
$db->query("SELECT `id` FROM `forum_files_post` WHERE `id`='".$_GET['idf']."'")->num_rows==0){
        
error('Файла не существует!');
    }
    
$file $db->query("SELECT * FROM `forum_files_post` WHERE `id`='".$_GET['idf']."'")->fetch_assoc();
    
$p $db->query("SELECT `id_us` FROM `forum_post` WHERE `id`='".$file['id_post']."'")->fetch_assoc();
    if(
$p['id_us']!=$user['id'] AND $user['level']<1){
        
error('У вас нет прав для просмотра даной страницы!');
    }
    
$db->query("DELETE FROM `forum_files_post` WHERE `id`='".$_GET['idf']."'");
    
unlink('../../files/forum/post/'.$file['file']);
    
header('location:/forum/topic/'.$_GET['id'].'?act=edit&idp='.$file['id_post']);
    break;
    case 
'plus':
    
mode('user');
    
$_GET['page'] = abs(intval($_GET['page']));
    if(
$_GET['page']==0){
        
$_GET['page'] = 1;
    }
    
$_GET['idp'] = abs(intval($_GET['idp']));
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->num_rows==0){
        
error('Поста не существует!');
    }
    if(
$db->query("SELECT `id` FROM `forum_post_rating` WHERE `id_post`='".$_GET['idp']."' AND `id_us`='".$user['id']."'")->num_rows!=0){
        
error('Вы уже голосовали!');
    }
    
$post $db->query("SELECT * FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->fetch_assoc();
    if(
$post['id_us']==$user['id']){
        
error('За свой пост голосовать запрещено!');
    }
    
$db->query("UPDATE `users` SET `rating`=`rating`+0.01 WHERE `id`='".$post['id_us']."'");
    
$db->query("INSERT INTO `forum_post_rating` SET `id_post`='".$_GET['idp']."', `id_us`='".$user['id']."', `type`='1'");
    
$db->query("UPDATE `forum_post` SET `plus`=`plus`+1 WHERE `id`='".$_GET['idp']."'");
    
$db->query("INSERT INTO `notififcations` WHERE `id_us`='".$post['id_us']."', `time`='".time()."', `section`='rating', `sender`='".$user['id']."', `text`='оценил [b]положительно[/b] ваш пост в [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$post['id_topic']."?&page=".$_GET['page']."]теме[/url]'");
    
header('location:/forum/topic/'.$_GET['id'].'?&page='.$_GET['page']);
    break;

    case 
'minus':
    
mode('user');
    
$_GET['page'] = abs(intval($_GET['page']));
    if(
$_GET['page']==0){
        
$_GET['page'] = 1;
    }
    
$_GET['idp'] = abs(intval($_GET['idp']));
    if(
$db->query("SELECT `id` FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->num_rows==0){
        
error('Поста не существует!');
    }
    if(
$db->query("SELECT `id` FROM `forum_post_rating` WHERE `id_post`='".$_GET['idp']."' AND `id_us`='".$user['id']."'")->num_rows!=0){
        
error('Вы уже голосовали!');
    }
    
$post $db->query("SELECT * FROM `forum_post` WHERE `id`='".$_GET['idp']."'")->fetch_assoc();
    if(
$post['id_us']==$user['id']){
        
error('За свой пост голосовать запрещено!');
    }
    
$db->query("UPDATE `users` SET `rating`=`rating`-0.01 WHERE `id`='".$post['id_us']."'");
    
$db->query("INSERT INTO `forum_post_rating` SET `id_post`='".$_GET['idp']."', `id_us`='".$user['id']."', `type`='2'");
    
$db->query("UPDATE `forum_post` SET `minus`=`minus`+1 WHERE `id`='".$_GET['idp']."'");
    
$db->query("INSERT INTO `notififcations` WHERE `id_us`='".$post['id_us']."', `time`='".time()."', `section`='rating', `sender`='".$user['id']."', `text`='оценил [b]отрицательно[/b] ваш пост в [url=http://".$_SERVER["HTTP_HOST"]."/forum/topic/".$post['id_topic']."?&page=".$_GET['page']."]теме[/url]'");
    
header('location:/forum/topic/'.$_GET['id'].'?&page='.$_GET['page']);
    break;

    case 
'top':
    
level(1);
    
$_GET['id'] = abs(intval($_GET['id']));
    if(
$db->query("SELECT `id` FROM `forum_topic` WHERE `id`='".$_GET['id']."'")->num_rows==0){
        
error('Топика не существует!');
    }
    
$db->query("UPDATE `forum_topic` SET `top`='1' WHERE `id`='".$_GET['id']."'");
    
header('location:/forum/topic/'.$_GET['id']);
    break;

    case 
'detop':
    
level(1);
    
$_GET['id'] = abs(intval($_GET['id']));
    if(
$db->query("SELECT `id` FROM `forum_topic` WHERE `id`='".$_GET['id']."'")->num_rows==0){
        
error('Топика не существует!');
    }
    
$db->query("UPDATE `forum_topic` SET `top`='0' WHERE `id`='".$_GET['id']."'");
    
header('location:/forum/topic/'.$_GET['id']);
    break;
}
include_once(
$_SERVER["DOCUMENT_ROOT"].'/style/foot.php');
?>
Онлайн: 0
Реклама