Вход Регистрация
Файл: forum/delpost.php
Строк: 117
<?php
# Script by seg0ro http://mobilarts.ru
# Not for sale!!!

defined('_IN_JOHNCMS') or die('Error: restricted access');

$textl .= ' | Удаление';
require_once(
'../incfiles/head.php');

if (!
$topic){
  echo 
functions::display_error('Отсутствует идентификатор темы!<br /><a href="index.php">Форум</a>');
  require_once(
'../incfiles/end.php');
  exit;
}

if (
is_array($_POST['massdel']) || (isset($_POST['yes']) && is_array($_SESSION['dc']))){
  
  if (
$rights != && $rights 6){
    echo 
functions::display_error('У вас недостаточно прав для просмотра этой страницы!<br /><a href="index.php">Форум</a>');
    require_once(
'../incfiles/end.php');
    exit;
  }
  
  
$tree = array('<a href="index.php">Форум</a>''<a href="index.php?topic='.$topic.'&amp;page='.$page.'">'.functions::checkout($topicRes['topicname']).'</a>''Удаление сообщений');
  echo 
'<div class="phdr">'.functions::display_menu($tree).'</div>';
  if (isset(
$_POST['yes'])){
    
    foreach (
$_SESSION['dc'] as $delId){
      
$fileReq mysql_query("SELECT * FROM `forum_files` WHERE `post` = '$delId' ");
      if (
mysql_num_rows($fileReq)){
        while (
$fileRes mysql_fetch_array($fileReq)){
          
unlink('../files/forum/'.$fileRes['filename']);
        }
        
mysql_query("DELETE FROM `forum_files` WHERE `post` = '$delId' LIMIT 1 ");
      }
      
$postRes mysql_fetch_array(mysql_query("SELECT `user_id`, `rating` FROM `forum_posts` WHERE `post` = '$delId' LIMIT 1 "));
      
mysql_query("UPDATE `users` SET `postforum` = postforum - 1 WHERE `id` = '".$postRes['user_id']."' LIMIT 1 ");
            
      if (
$postRes['rating'])
        
mysql_query("DELETE FROM `forum_posts_rating` WHERE `post` = '$delId' ");

      
mysql_query("DELETE FROM `forum_posts` WHERE `post` = '$delId' LIMIT 1 ");
      ++
$i;
    }

    
$lastPost mysql_fetch_array(mysql_query("SELECT `post`, `time`, `user` FROM `forum_posts` WHERE `topic` = '$topic' ORDER BY `time` DESC LIMIT 1 "));

    
mysql_query("UPDATE `forum_topics` SET
    `time` = '"
.$lastPost['time']."',
    `lastpost` = '"
.$lastPost['user'].":|:".$lastPost['post']."',
    `count` = count - 
$i
    WHERE `topic` = '
$topic' LIMIT 1 ");

    
$lastTopic mysql_fetch_assoc(mysql_query("SELECT * FROM `forum_topics` WHERE `forum` = '".$topicRes['forum']."' ORDER BY `time` DESC LIMIT 1 "));
    
mysql_query("UPDATE `forum_forums` SET
    `last_topic`='"
.$lastTopic['topic'].":|:".$lastTopic['topicname'].":|:".$lastTopic['time']."'
    WHERE `forum`='"
.$topicRes['forum']."' LIMIT 1 ");
    
    unset (
$_SESSION['dc']);
    
header ('Refresh:1; URL=index.php?topic='.$topic.'&page='.$page);
    
forum_log('Массовое удаление сообщений в теме [url='.$set['homeurl'].'/forum/index.php?topic='.$topic.']'.$topicRes['topicname'].'[/url]');
    echo 
'<div class="gmenu">Отмеченные сообщения удалены<br /><a href="index.php?topic='.$topic.'&amp;page='.$page.'">Далее</a></div>';
    
  }else{
    
    
$total count($_POST['massdel']);
    if (!
$total){
      echo 
functions::display_error('Вы ничего не выбрали для удаления!<br /><a href="index.php?topic='.$topic.'&amp;page='.$page.'">Назад</a>');
      require_once (
'../incfiles/end.php');
      exit;
    }
    
    if (
$topicRes['count'] == $total){
      echo 
'<form action="index.php?act=deltopic&amp;topic='.$topic.'" method="post"><div class="rmenu">Вы собираетесь удалить все сообщения в теме, при удалении будет удалена и тема<br />';
      if (
$rights 6)
        echo 
'<input type="submit" name="yes" value="Удалить" /> ';
      echo 
'<a href="index.php?topic='.$topic.'&amp;page='.$page.'">Отмена</a></div></form>';
      require_once(
'../incfiles/end.php');
      exit;
    }
    
    
$firstPost mysql_fetch_array(mysql_query("SELECT `post` FROM `forum_posts` WHERE `topic` = '$topic' ORDER BY `time` ASC LIMIT 1 "));
    
    foreach (
$_POST['massdel'] as $v){
      
$dc[] = intval($v);
    }
    
$_SESSION['dc'] = $dc;
      
    echo 
'<form action="index.php?act=delpost&amp;topic='.$topic.'&amp;page='.$page.'" method="post"><div class="rmenu">'.(in_array($firstPost['post'], $_POST['massdel']) ? 'В числе выбранного есть первое сообщение темы, его удаление не рекомендуется!<br />' '').'Вы уверены в удалении сообщений ('.$total.' шт.)?<br /><input type="submit" name="yes" value="Удалить" /> <a href="index.php?topic='.$topic.'&amp;page='.$page.'">Отмена</a></div></form>';
  }
  
  require_once(
'../incfiles/end.php');
  exit;
}

if (!
$post){
  echo 
functions::display_error('Отсутствует идентификатор сообщения!<br /><a href="index.php?topic='.$topic.'&amp;page='.$page.'">Назад</a>');
  require_once(
'../incfiles/end.php');
  exit;
}

if (
$rights != && $rights 6){
  if (
$postRes['user_id'] != $user_id)
  
$check true;

  if (
$postRes['time'] < time() - 300)
    
$check true;

  if (
$topicRes['close'])
    
$check true;

  if (
$check){
    echo 
functions::display_error('У вас недостаточно прав для просмотра этой страницы!<br /><a href="index.php?topic='.$topic.'&amp;page='.$page.'#p'.$post.'">Назад</a>');
    require_once(
$path.'incfiles/end.php');
    exit;
  }
}

$tree = array('<a href="index.php">Форум</a>''<a href="index.php?topic='.$topic.'&amp;page='.$page.'#p'.$post.'">'.functions::checkout($topicRes['topicname']).'</a>''Удаление сообщения');
echo 
'<div class="phdr">'.functions::display_menu($tree).'</div>';

if (isset(
$_POST['yes'])){
  
  
$lastPost mysql_fetch_array(mysql_query("SELECT `post`, `user`, `time` FROM `forum_posts` WHERE `topic` = '".$postRes['topic']."' AND `post` != '$post' ORDER BY `time` DESC LIMIT 1 "));

  
mysql_query("UPDATE `forum_topics` SET
  `time` = '"
.$lastPost['time']."',
  `count` = count - 1,
  `lastpost` = '"
.$lastPost['user'].":|:".$lastPost['post']."'
  WHERE `topic` = '"
.$postRes['topic']."' LIMIT 1 ");

  
$lastTopic mysql_fetch_assoc(mysql_query("SELECT * FROM `forum_topics` WHERE `forum` = '".$topicRes['forum']."' ORDER BY `time` DESC LIMIT 1 "));
  
mysql_query("UPDATE `forum_forums` SET `last_topic` = '".$lastTopic['topic'].":|:".$lastTopic['topicname'].":|:".$lastTopic['time']."' WHERE `forum` = '".$topicRes['forum']."' LIMIT 1 ");

  
mysql_query("UPDATE `users` SET `postforum` = postforum - 1 WHERE `id` = '".$postRes['user_id']."' LIMIT 1 ");
  
  if (
$postRes['files']){
    
$fileReq mysql_query("SELECT * FROM `forum_files` WHERE `post` = '$post' LIMIT 10 ");
    if (
mysql_num_rows($fileReq)){
      while (
$fileRes mysql_fetch_array($fileReq)){
        
unlink('../files/forum/'.$fileRes['filename']);
      }
      
mysql_query("DELETE FROM `forum_files` WHERE `post` = '$post' ");
    }
  }
  
  if (
$postRes['rating'])
    
mysql_query("DELETE FROM `forum_posts_rating` WHERE `post` = '$post' ");
  
  
mysql_query("DELETE FROM `forum_posts` WHERE `post` = '$post' LIMIT 1 ");
  
  
header ('Refresh:1; URL=index.php?topic='.$topic.'&page='.$page);
  
forum_log('Удаление сообщения в теме [url='.$set['homeurl'].'/forum/index.php?topic='.$topic.']'.$topicRes['topicname'].'[/url]');
  echo 
'<div class="gmenu">Сообщение удалено<br /><a href="index.php?topic='.$topic.'&amp;page='.$page.'">Далее</a></div>';

}else{
  
$check mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_posts` WHERE `topic` = '".$postRes['topic']."' LIMIT 2 "), 0);
  if (
$check == 1){
    echo 
'<form action="index.php?act=deltopic&amp;topic='.$topic.'" method="post"><div class="rmenu">Это последнее сообщени в теме, при его удалении будет удалена и тема<br />';
    if (
$rights 6)
      echo 
'<input type="submit" name="yes" value="Удалить" /> ';
    echo 
'<a href="index.php?topic='.$topic.'&amp;page='.$page.'#p'.$post.'">Отмена</a></div></form>';
    require_once(
'../incfiles/end.php');
    exit;
  }

  
$firstPost mysql_fetch_assoc(mysql_query("SELECT `post` FROM `forum_posts` WHERE `topic` = '".$postRes['topic']."' ORDER BY `time` ASC LIMIT 1 "));

  echo 
'<form action="index.php?act=delpost&amp;topic='.$topic.'&amp;post='.$post.'&amp;page='.$page.'" method="post"><div class="rmenu">'.($firstPost['post'] == $post 'Это первое сообщение темы, его удаление не рекомендуется!<br />' '').'Вы действительно хотите удалить сообщение?<br /><input type="submit" name="yes" value="Удалить" /> <a href="index.php?topic='.$topic.'&amp;page='.$page.'#p'.$post.'">Отмена</a></div></form>';

}
Онлайн: 1
Реклама