Вход Регистрация
Файл: bloodlands.pw/moder.php
Строк: 405
<?php

require 'system/sid.php';
require 
'system/config.php';
include 
'system/user.php';
include 
'system/head.php';
include 
'system/navigator.php';

whorm(0, 'adminka');

$do = isset($_GET['do']) ? $_GET['do'] : NULL;
switch(
$do) {
// действия юзера
default:
if (
$user['level'] < 2) {
    
header('Location: index.php?');
    exit();
}
    echo 
$div_title . 'Модер-панель' . $div_end;

    echo 
'<div class="mlink"><a href="?do=users">&raquo; Управление пользователями</a></div>
          <div class="mlink"><a href="?do=news">&raquo; Управление новостями</a></div>
          ' 
. ($user['level'] == 3 ? '<div class="mlink"><a href="?do=gazeta">&raquo; Управление газетой</a></div>' : '');
break;

case 
gazeta:
    echo 
$div_title . 'Управление газетой' . $div_end;

    
$num_r = mysql_result(mysql_query("SELECT COUNT(id) FROM `gazeta_razdel`"), 0);
    echo 
'<a class="mlink" href="?do=gazeta_r">&raquo; Разделы (' . $num_r . ')</a>';
break;

case 
gazeta_r:
    echo 
$div_title . 'Разделы' . $div_end;

        echo 
'<FORM method="POST" action="?do=gazeta_r">
              <label for="q">Новый раздел</label>:
              <br/>
              <input type="text" id="q" name="new"/>
              <br/>
              <input type="submit" name="create" value="Создать"/>
              </FORM>' 
. $block;


        
// создание раздела
        
if (isset($_POST['create'])) {
            
$new = trim(mysql_real_escape_string(check($_POST['new'])));

            
$em = mysql_query("SELECT `id` FROM `gazeta_razdel` WHERE `name` = '$new' LIMIT 1");

            if (empty(
$new)) {
                
err('Пустое название раздела!');
            } elseif (
mysql_num_rows($em) != FALSE) {
                
err('Раздел с таким названием уже создан!');
            } else {
                
mysql_query("INSERT INTO `gazeta_razdel` SET `name` = '$new'");
                
header('Location: ?do=gazeta_r');
            }
        }

        
// удаление раздела
        
if (isset($_GET['x'])) {
            
$x = my_int($_GET['x']);

            
$sql = mysql_query("SELECT `id` FROM `gazeta_razdel` WHERE `id` = '$x' LIMIT 1");

            if (
mysql_num_rows($sql) == FALSE) {
                
err('Раздел не найден!');
            } else {
                
$in = mysql_fetch_assoc(mysql_query("SELECT `path` FROM `gazeta_article` WHERE `uid` = '$x' LIMIT 1"));
                
// удаление вложеных файлов
                
if (file_exists($in['path'])) unlink($in['path']);
                
// удаление статей
                
mysql_query("DELETE FROM `gazeta_article` WHERE `uid` = '$x'");
                
// удаление раздела
                
mysql_query("DELETE FROM `gazeta_razdel` WHERE `id` = '$x' LIMIT 1");

                
header('Location: ?do=gazeta_r');
            }

        }

        
// вывод разделов
        
$count = mysql_result(mysql_query("SELECT COUNT(id) FROM `gazeta_razdel`"), 0);

        if (
$count != FALSE) {

            
$n = new navigator($count, 10, '?do=gazeta_r');

            
$view = mysql_query("SELECT `gazeta_razdel`.*,(SELECT COUNT(id) FROM `gazeta_article` WHERE `gazeta_article`.`uid` = `gazeta_razdel`.`id`) AS c FROM `gazeta_razdel` ORDER BY `gazeta_razdel`.`id` DESC {$n->limit}");
            
$i = 0;

            while(
$a = mysql_fetch_assoc($view)) {

                
$d = '<a href="?do=gazeta_r&amp;x='.$a['id'].'"><img src="ico/delete.gif" alt=""/></a> ';
                
$e = '<a href="?do=gazeta_edit&amp;x='.$a['id'].'"><img src="ico/edit.gif" alt=""/></a> ';

                echo (
$i ++ % 2) ? $div_tworazdel : $div_razdel;
                echo 
$e . $d . $a['name'] . ' (' . $a['c'] . ')' . $div_end;

            }

            echo 
$n->navi();

        } else {

            echo 
'Разделы не созданы.<br/>';

        }

break;

// Редактирование раздела газеты
case gazeta_edit:
    echo 
$div_title . 'Изменить' . $div_end;

            
$x = my_int($_GET['x']);

            
$sql = mysql_query("SELECT * FROM `gazeta_razdel` WHERE `id` = '$x' LIMIT 1");

            if (isset(
$_POST['go'])) {
                
$edit = trim(mysql_real_escape_string(check($_POST['edit'])));
                
$em = mysql_query("SELECT `id` FROM `gazeta_razdel` WHERE `name` = '$new' LIMIT 1");

                if (empty(
$edit)) {
                    
err('Пустое название раздела!');
                } elseif (
mysql_num_rows($edit) != FALSE) {
                    
err('Раздел с таким названием уже создан!');
                } else {
                    
mysql_query("UPDATE `gazeta_razdel` SET `name` = '$edit' WHERE `id` = '$x' LIMIT 1");
                    
header('Location: ?do=gazeta_r');
                }
            }

            if (
mysql_num_rows($sql) == FALSE) {
                
err('Раздел не найден!');
            } else {
                
$in = mysql_fetch_assoc($sql);
                echo 
'<FORM method="POST" action="?do=gazeta_edit&amp;x='.$x.'">
                      <label for="q">Редактировать</label>:
                      <br/>
                      <input type="text" id="q" name="edit" value="' 
. $in['name'] . '"/>
                      <br/>
                      <input type="submit" name="go" value="Изменить"/>
                      </FORM>'
;
            }
break;

case 
users:
if (
$user['level'] < 2) {
    
header('Location: index.php?');
    exit();
}
echo 
$div_title . 'Управление пользователями' . $div_end;

   echo 
'<FORM method="POST" action="?do=update">
         <label for="q">Ник|ID</label>:
         <br/>
         <input type="text" id="q" name="nick" maxlength="15"/>
         <br/>
         <input type="submit" name="upd" value="Смотреть"/>
         </FORM>'
;
break;

case 
update:
if (
$user['level'] < 2) {
    
header('Location: index.php?');
    exit();
}
echo 
$div_title . 'Апдейт' . $div_end;
   if (!
ctype_digit($_REQUEST['nick'])) {
      
$nick = trim(mysql_real_escape_string(check($_REQUEST['nick'])));
      
$select = mysql_query("SELECT * FROM `users` WHERE `user` = '$nick' LIMIT 1");
   } elseif (
ctype_digit($_REQUEST['nick'])) {
      
$nick = my_int($_REQUEST['nick']);
      
$select = mysql_query("SELECT * FROM `users` WHERE `id` = '$nick' LIMIT 1");
   }

   
$inf = mysql_fetch_assoc($select);

   if (
$inf['id'] != $user['id'] && $inf['id'] == 1 || $user['level'] < $inf['level'] && $inf['id'] != $user['id']) {
      
err('У Вас нет прав для этого действия!');
      include 
'system/foot.php';
      exit();
   }

if (empty(
$nick) || mysql_num_rows($select) == FALSE) {
      
err('Пользователь не найден!');
   } else {
      echo 
$div_tworazdel . us($inf['id']) . ' найден(а)!
           ' 
. $div_end . $div_razdel . '
           IP: ' 
. long2ip($inf['user_ip']) . '<br/>
           SOFT: ' 
. $inf['user_soft'] . '
           ' 
. $div_end;
if (
$inf['id'] != $user['id']) {
      echo 
'<label>Действие:</label><br/>
            <FORM method="POST" action="?do=us_adult">
            <select name="adult">
            <option value="1">Забанить ник</option>
            <option value="2">Забанить ip</option>
            </select>
            <br/>
            <input type="hidden" name="nick" value="' 
. $inf['id'] . '"/>
            <input type="submit" name="ok" value="Далее"/>
            </FORM>'
;
}
    }
break;

case 
us_adult:
if (
$user['level'] < 1) {
    
header('Location: index.php?');
    exit();
}
    
$nick = my_int($_POST['nick']);
    
$adult = my_int($_POST['adult']);

if (!
user_inf($nick)) {
   
header('Location: index.php?');
   die();
}

   if (
$nick != $user['id'] && $nick == 1 || user_inf($nick, 'level') == 1 || user_inf($nick, 'level') == 2 || user_inf($nick, 'level') == 3 || $user['level'] <= user_inf($nick, 'level') && $nick != $user['id'])   {
      
err('У Вас нет прав для этого действия!');
      include_once 
'foot.php';
      exit();
   }

    if (
$adult == 1) header('Location: ?do=bann&nk=' . $nick);
    if (
$adult == 2) header('Location: ?do=bann_ip&nk=' . $nick);
    die();
break;

// бан ника
case bann:
if (
$user['level'] < 1) {
    
header('Location: index.php?');
    exit();
}
echo 
$div_title . 'Банн' . $div_end;

$nk = my_int($_REQUEST['nk']);

   if (
$nk != $user['id'] && $nk == 1 || user_inf($nk, 'level') == 1 || user_inf($nk, 'level') == 2 || user_inf($nk, 'level') == 3 || $user['level'] <= user_inf($nk, 'level') && $nk != $user['id'])   {
      
err('У Вас нет прав для этого действия!');
      include 
'system/foot.php';
      exit();
   }

if (!
user_inf($nk)) {
   
err('Пользователь не найден!');
   include 
'system/foot.php';
   exit();
}

if (!isset(
$_POST['ok'])) {
echo 
'<form action="moder.php?do=bann" method="POST">
      <label>Ник|ID:</label>
      <br/>
      <input type="text" name="nick" value="'
.user_inf($nk, 'user').'" title="Ник|ID"/>
      <br/>
      <label>Время:</label>
      <br/>
      <input type="text" name="na" title="Время"/>
      <br/>
      <select name="vremja">
      <option value="min">Минут</option>
      <option value="chas">Часов</option>
      <option value="sut">Суток</option>
      <option value="mes">Месяцев</option>
      </select>
      <br/>
      <label>Причина:</label>
      <br/>
      <input type="text" name="whykik" title="Причина"/>
      <br/>
      <input type="hidden" name="nk" value="' 
. $nk . '"/>
      <input type="submit" name="ok" value="Блокировать"/>
      </form>'
;

} else {

  if (
$_POST['na'] < 1 || empty($_POST['na'])) {
     
err('Не указано время блокировки!');
  } elseif (empty(
$_POST['whykik'])) {
     
err('Не указана причина блокировки!');
  }
  else
  {
      if (
$_POST['vremja'] == 'min') $na = (int)$_POST['na'] * 60;
      if (
$_POST['vremja'] == 'chas') $na = (int)$_POST['na'] * 60 * 60;
      if (
$_POST['vremja'] == 'sut') $na = (int)$_POST['na'] * 60 * 60 * 24;
      if (
$_POST['vremja'] == 'mes') $na = (int)$_POST['na'] * 60 * 60 * 24 * 30;
      
$whykik = trim(mysql_real_escape_string(check($_POST['whykik'])));
     
$na = time() + $na;

// запись в логи
mysql_query("INSERT INTO `adm_logs` SET 
            `type` = 'bann_nick',
            `user` = '
$nk',
            `who` = '
$user[id]',
            `date` = '" 
. time() . "'");

 
mysql_query("UPDATE `users` SET
            `kik` = '
$na',
            `whokik` = '
$user[id]',
            `whykik` = '
$whykik'
             WHERE `id` = '
$nk' LIMIT 1");

  
msg('Пользователь заблокирован на ' . kikt($na) . ' за ' . $whykik);
 }
}
break;

// бан айпи
case bann_ip:
if (
$user['level'] < 1) {
    
header('Location: index.php?');
    exit();
}
echo 
$div_title . 'Банн' . $div_end;

$nk = my_int($_GET['nk']);

   if (
$nk != $user['id'] && $nk == 1 || user_inf($nk, 'level') == 1 || user_inf($nk, 'level') == 2 || user_inf($nk, 'level') == 3 || $user['level'] <= user_inf($nk, 'level') && $nk != $user['id'])   {
      
err('У Вас нет прав для этого действия!');
      include 
'system/foot.php';
      exit();
   }

if (!
user_inf($nk)) {
   
err('Пользователь не найден!');
   include 
'system/foot.php';
   exit();
}

// запись в логи
mysql_query("INSERT INTO `adm_logs` SET 
            `type` = 'bann_ip',
            `user` = '
$nk',
            `who` = '
$user[id]',
            `date` = '" 
. time() . "'");

mysql_query("INSERT INTO `bannlist` SET
            `id` = '" 
. mt_rand(1000000, 9999999) . "', 
            `ip` = '" 
. long2ip(user_inf($nk, 'user_ip')) . "',
            `who` = '" 
. user_inf($nk, 'id') . "'");

msg('IP пользователя заблокировано!');
break;

case 
news:
if (
$user['level'] < 2) {
    
header('Location: index.php?');
    exit();
}
echo 
$div_title . 'Новости' . $div_end .'
     <a class="mlink" href="?do=addnews">&raquo; Добавить новость</a>
     ' 
. ($user['level'] == 3 ? '<a class="mlink" href="?do=delnews">&raquo; Удалить новость</a>' : '');
break;

// добавление новостей
case addnews:
if (
$user['level'] < 2) {
    
header('Location: index.php?');
    exit();
}
echo 
$div_title . 'Новости' . $div_end;

if (isset(
$_POST['ok'])) {
   
$name = trim(mysql_real_escape_string(check($_POST['name'])));
   
$content = trim(mysql_real_escape_string(check($_POST['content'])));

   
$empnews = mysql_query("SELECT `id` FROM `news` WHERE `name` = '$name' LIMIT 1");

    if (empty(
$name)) {
       
err('Не заполнено название!');
    } elseif (empty(
$content)) {
       
err('Не заполнено содержание!');
    } elseif (
mysql_num_rows($empnews) != FALSE) {
       
err('Такая новость уже имеется!');
    } else {
       
mysql_query("INSERT INTO `news` SET
                   `date` = '" 
. time() . "',
                   `name` = '
$name',
                   `content` = '
$content'");

       
$lid = mysql_insert_id();
       
header('Location: news.php?do=view&i=' . $lid);
    }
}

echo 
'<FORM method="POST" action="?do=addnews">
      <label>Название:</label><br/>
      <input type="text" name="name"/>
      <br/>
      <label>Содержание:</label><br/>
      <textarea name="content" cols="30" rows="5" style="width: 99%;"></textarea>
      <br/>
      <input type="submit" name="ok" value="Создать"/>
      </FORM>'
;
break;

// редактор новостей
case editnews:
if (
$user['level'] < 2) {
    
header('Location: index.php?');
    exit();
}
echo 
$div_title . 'Новости' . $div_end;
$i = my_int($_REQUEST['i']);
$n = mysql_query("SELECT * FROM `news` WHERE `id` = '$i' LIMIT 1");
$inf = mysql_fetch_assoc($n);

$empnews = mysql_query("SELECT `id` FROM `news` WHERE `name` = '$name' LIMIT 1");

if (isset(
$_POST['ok'])) {
    
$name = trim(mysql_real_escape_string(check($_POST['name'])));
    
$content = trim(mysql_real_escape_string(check($_POST['content'])));

    if (empty(
$name)) {
       
err('Не заполнено название!');
    } elseif (empty(
$content)) {
       
err('Не заполнено содержание!');
    } elseif (
mysql_num_rows($empnews) != FALSE) {
       
err('Такая новость уже имеется!');
    } else {
       
mysql_query("UPDATE `news` SET `name` = '$name', `content` = '$content', `edit` = '" . time() . "' WHERE `id` = '$i'");
       
header('Location: news.php?do=view&i=' . $i);
    }
}

if (
mysql_num_rows($n) == FALSE) {
    
header('Location: news.php?');
} else {
    echo 
'Редактировать:<br/>
          <FORM method="POST" action="?do=editnews">
          <input type="text" name="name" value="' 
. $inf['name'] . '"/>
          <br/><br/>
          <textarea name="content" cols="30" rows="5" style="width: 99%;">' 
. back_bb($inf['content']) . '</textarea>
          <br/>
          <input type="hidden" name="i" value="' 
. $i . '"/>
          <input type="submit" name="ok" value="Изменить"/>
          </FORM>'
;
}
break;

// удаление новостей
case delnews:
if (
$user['level'] != 3) {
    
header('Location: index.php?');
    exit();
}
echo 
$div_title . 'Новости' . $div_end;

if (isset(
$_GET['i'])) {
    
$i = my_int($_GET['i']);
    
$n = mysql_query("SELECT * FROM `news` WHERE `id` = '$i' LIMIT 1");
     if (
mysql_num_rows($n) == FALSE) {
         
header('Location: news.php?');
     } else {
         
mysql_query("DELETE FROM `news` WHERE `id` = '$i' LIMIT 1");
         
mysql_query("DELETE FROM `newscomm` WHERE `id_new` = '$i'");
         
mysql_query("DELETE FROM `rating_news` WHERE `uid` = '$i'");
         
msg('Новость удалена!');
     }
}

$count = mysql_result(mysql_query("SELECT COUNT(id) FROM `news`"), 0);

if (
$count != false) {
 
$n = new navigator($count, 10, '?do=editnews&amp;');
 
$result = mysql_query("SELECT * FROM `news` ORDER BY `id` DESC {$n->limit}");
  
$i = 0;
  while(
$q = mysql_fetch_assoc($result)) {
           echo (
$i ++ % 2) ? $div_tworazdel : $div_razdel;
           echo 
'<a href="?do=delnews&amp;i='.$q['id'].'"><img src="ico/delete.gif" alt=""/></a> ' . $q['name'] . $div_end;
  }
      echo 
$n->navi();
 } else {
       echo 
'Новостей нет!<br/>';
}
break;

}

echo 
$block . '<b>&laquo; <a href="moder.php?">Модер-панель</a></b>';
include 
'system/foot.php';

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