Вход Регистрация
Файл: public_html/mpanel/news.php
Строк: 199
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#    
require_once ('../includes/start.php');
require_once (
'../includes/functions.php');
require_once (
'../includes/header.php');
include_once (
'../themes/' $config['themes'] . '/index.php');

if (isset(
$_GET['start'])) {
  
$start abs(intval($_GET['start']));
} else {
  
$start 0;

if (isset(
$_GET['act'])) {
  
$act check($_GET['act']);
} else {
  
$act 'index';


if (
is_admin(array(101102))) {
  
show_title('news.png''Управление новостями');
  
$config['newtitle'] = 'Управление новостями';

  switch (
$act):
  
# ###########################################################################################
  # #                                    Главная страница                                    ##
  # ###########################################################################################
  
case 'index':

    
$total DB :: $dbh -> query("SELECT count(*) FROM news;");
    
$total $total -> fetchColumn();

    if (
$total 0) {
      if (
$start >= $total) {
        
$start 0;
      } 

      
$querynews DB :: $dbh -> query("SELECT * FROM news ORDER BY news_id DESC LIMIT " $start ", " $config['postnews'] . ";");

      echo 
'<form action="news.php?act=del&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';

      while (
$data $querynews -> fetch()) {
        echo 
'<div class="b">';

        echo 
$data['news_closed'] == '<img src="../images/img/document_plus.gif" alt="image" /> ' '<img src="../images/img/document_minus.gif" alt="image" /> ';

        echo 
'<b>' $data['news_title'] . '</b><small> (' date_fixed($data['news_time']) . ')</small><br />';
        echo 
'<input type="checkbox" name="del[]" value="' $data['news_id'] . '" /> ';
        echo 
'<a href="news.php?act=edit&amp;id=' $data['news_id'] . '&amp;start=' $start '&amp;' SID '">Редактировать</a></div>';
        echo 
'<div>' bb_code($data['news_text']) . '<br />';
        echo 
'Разместил: <a href="../pages/anketa.php?uz=' $data['news_author'] . '&amp;' SID '"> ' nickname($data['news_author']) . ' </a><br />';
        echo 
'<a href="../news/index.php?act=comments&amp;id=' $data['news_id'] . '&amp;' SID '">Комментарии</a> (' $data['news_comments'] . ')</div>';
      } 

      echo 
'<br /><input type="submit" value="Удалить выбранное" /></form>';

      
page_jumpnavigation('news.php?'$config['postnews'], $start$total);
      
page_strnavigation('news.php?'$config['postnews'], $start$total);

      echo 
'Всего новостей: <b>' . (int)$total '</b><br /><br />';
    } else {
      
show_error('Новостей еще нет!');
    } 

    echo 
'<img src="../images/img/open.gif" alt="image" /> <a href="news.php?act=add&amp;' SID '">Добавить</a><br />';

    if (
is_admin(array(101))) {
      echo 
'<img src="../images/img/reload.gif" alt="image" /> <a href="news.php?act=restatement&amp;uid=' $_SESSION['token'] . '&amp;' SID '">Пересчитать</a><br />';
    } 
    break;
  
# ###########################################################################################
  # #                                    Удаление новостей                                   ##
  # ###########################################################################################
  
case 'del':

    
$uid check($_GET['uid']);
    if (isset(
$_POST['del'])) {
      
$del intar($_POST['del']);
    } else {
      
$del 0;
    } 

    if (
$uid == $_SESSION['token']) {
      if (
$del 0) {
        
$del implode(','$del);

        
DB :: $dbh -> query("DELETE FROM news WHERE news_id IN (" $del ");");
        
DB :: $dbh -> query("DELETE FROM commnews WHERE commnews_news_id IN (" $del ");");

        
$_SESSION['note'] = 'Выбранные новости успешно удалены!';
        
header ("Location: news.php?start=$start&" SID);
        exit;
      } else {
        
show_error('Ошибка! Отсутствуют выбранные новости!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="news.php?start=' $start '&amp;' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                          Подготовка к редактированию новости                           ##
  # ###########################################################################################
  
case 'edit':

    
$id abs(intval($_GET['id']));

    
$querynews DB :: $dbh -> query("SELECT * FROM news WHERE news_id=? LIMIT 1;", array($id));
    
$datanews $querynews -> fetch();

    if (!empty(
$datanews)) {
      
$datanews['news_text'] = nosmiles($datanews['news_text']);
      
$datanews['news_text'] = yes_br($datanews['news_text']);

      echo 
'<b><big>Редактирование</big></b><br /><br />';

      echo 
'<div class="form" id="form">';
      echo 
'<form action="news.php?act=addedit&amp;id=' $id '&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" name="form" method="post">';
      echo 
'Заголовок:<br />';
      echo 
'<input type="text" name="title" size="50" maxlength="50" value="' $datanews['news_title'] . '" /><br />';
      echo 
'Cообщение:<br />';
      echo 
'<textarea cols="25" rows="10" name="msg">' $datanews['news_text'] . '</textarea><br />';

      
quickpaste('msg');
      
quickcode();
      
quicksmiles();

      echo 
'<br />Закрыть комментарии: ';
      
$checked = ($datanews['news_closed'] == 1) ? ' checked="checked"' '';
      echo 
'<input name="closed" type="checkbox" value="1"' $checked ' /><br />';

      echo 
'<br /><input type="submit" value="Изменить" /></form></div><br />';
    } else {
      
show_error('Ошибка! Выбранная новость не существует, возможно она была удалена!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="news.php?start=' $start '&amp;' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                            Редактирование выбранной новости                            ##
  # ###########################################################################################
  
case 'addedit':

    
$uid check($_GET['uid']);
    
$id abs(intval($_GET['id']));
    
$title check($_POST['title']);
    
$msg check($_POST['msg']);
    
$closed = (empty($_POST['closed'])) ? 1;

    if (
$uid == $_SESSION['token']) {
      if (
utf_strlen($title) >= && utf_strlen($title) < 50) {
        if (
utf_strlen($msg) >= && utf_strlen($msg) < 10000) {
          
$msg no_br($msg);
          
$msg smiles($msg);

          
DB :: $dbh -> query("UPDATE news SET news_title=?, news_text=?, news_closed=? WHERE news_id=?;", array($title$msg$closed$id));

          
$_SESSION['note'] = 'Новость успешно отредактирована!';
          
header ("Location: news.php?start=$start&" SID);
          exit;
        } else {
          
show_error('Ошибка! Слишком длинный или короткий текст новости!');
        } 
      } else {
        
show_error('Ошибка! Слишком длинный или короткий заголовок новости!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="news.php?act=edit&amp;id=' $id '&amp;start=' $start '&amp;' SID '">Вернуться</a><br />';
    echo 
'<img src="../images/img/reload.gif" alt="image" /> <a href="news.php?start=' $start '&amp;' SID '">К новостям</a><br />';
    break;
  
# ###########################################################################################
  # #                            Подготовка к добавлению новости                             ##
  # ###########################################################################################
  
case 'add':

    echo 
'<b><big>Создание новости</big></b><br /><br />';

    echo 
'<div class="form" id="form">';
    echo 
'<form action="news.php?act=addnews&amp;uid=' $_SESSION['token'] . '&amp;' SID '" name="form" method="post">';
    echo 
'Заголовок новости:<br />';
    echo 
'<input type="text" name="title" size="50" maxlength="50" /><br />';
    echo 
'Новость:<br />';
    echo 
'<textarea cols="50" rows="10" name="msg"></textarea><br />';

    
quickpaste('msg');
    
quickcode();
    
quicksmiles();

    echo 
'<br />Закрыть комментарии: <input name="closed" type="checkbox" value="1" /><br />';
    echo 
'<br /><input type="submit" value="Добавить" /></form></div><br />';

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="news.php?' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                  Добавление новости                                    ##
  # ###########################################################################################
  
case 'addnews':

    
$uid check($_GET['uid']);
    
$msg check($_POST['msg']);
    
$title check($_POST['title']);
    
$closed = (empty($_POST['closed'])) ? 1;

    if (
$uid == $_SESSION['token']) {
      if (
utf_strlen(trim($title)) >= && utf_strlen($title) < 50) {
        if (
utf_strlen(trim($msg)) >= && utf_strlen($msg) < 10000) {
          
$msg no_br($msg);
          
$msg smiles($msg);

          
DB :: $dbh -> query("INSERT INTO news (news_title, news_text, news_author, news_time, news_comments, news_closed) VALUES (?, ?, ?, ?, ?, ?);", array($title$msg$logSITETIME0$closed));

          
$_SESSION['note'] = 'Новость успешно добавлена!';
          
header ("Location: news.php?" SID);
          exit;
        } else {
          
show_error('Ошибка! Слишком длинный или короткий текст новости!');
        } 
      } else {
        
show_error('Ошибка! Слишком длинный или короткий заголовок новости!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="news.php?act=add&amp;' SID '">Вернуться</a><br />';
    echo 
'<img src="../images/img/reload.gif" alt="image" /> <a href="news.php?' SID '">К новостям</a><br />';
    break;
  
# ###########################################################################################
  # #                                  Пересчет комментариев                                 ##
  # ###########################################################################################
  
case 'restatement':

    
$uid check($_GET['uid']);

    if (
is_admin(array(101))) {
      if (
$uid == $_SESSION['token']) {
        
DB :: $dbh -> query("UPDATE news SET news_comments=(SELECT count(*) FROM commnews WHERE news.news_id=commnews.commnews_news_id);");

        
$_SESSION['note'] = 'Комментарии успешно пересчитаны!';
        
header ("Location: news.php?" SID);
        exit;
      } else {
        
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
      } 
    } else {
      
show_error('Ошибка! Пересчитывать сообщения могут только суперадмины!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="news.php?' SID '">Вернуться</a><br />';
    break;

  default:
    
header("location: news.php?" SID);
    exit;
    endswitch;

    echo 
'<img src="../images/img/panel.gif" alt="image" /> <a href="index.php?' SID '">В админку</a><br />';
    echo 
'<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' SID '">На главную</a><br />';
  } else {
  
header ('Location: ' BASEDIR 'index.php?' SID);
  exit;


include_once (
'../themes/' $config['themes'] . '/foot.php');

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