<?php
#############################################
##UTF-8;lang-ru,en;"Monospace"(regular)[10]##
#############################################
##########################
##Отключение вывода ошибок
error_reporting(0);
##########################
//Не менять эти установки, иначе авторизация может аботать некорректно, а данные записываться не в сессию, а в cookie клиента.
ini_set('session.use_cookies','0');
ini_set('session.use_trans_sid','1');
session_start();
//<<
##Усановка неограниченного лимита времени для выполнения скрипта и игнорирования отмены загрузки страницы браузером. Необходимо для
##корректной работы модуля e-mail рассылки
set_time_limit(0);
ignore_user_abort(1);
##<<
//Подключение необходимых файлов для работы скрипта
@include_once 'connect.php'; //Соединение с базой
@include_once 'conf.php'; //Общая конфигурация
@include_once 'head.html'; //"Верхушка"
//<<
//Текст меню администратора
define('MNU', 'Меню:');
define('MNU_ADD_CAT', 'Добавить категорию');
define('MNU_EDIT_CAT', 'Редактировать категорию');
define('MNU_DEL_CAT', 'Удалить категорию');
define('MNU_ADD', 'Добавить новость');
define('MNU_EDIT', 'Редактировать новость');
define('MNU_DEL', 'Удалить новость');
define('MNU_MOD', 'Модерирование комментариев');
define('MNU_EP', 'E-MAIL подписчики');
define('MNU_FLS', 'Удалить файлы');
define('MNU_SUP', 'Сообщения от пользователей');
define('MNU_OP', 'Оптимизировать таблицы');
define('MNU_INSTALL', 'Установка/переустановка скрипта');
define('MNU_EXIT', 'Выйти');
//<<
//Авторизация
if(!isset($_SESSION["ok"])) {
@$name = trim($_POST["name"]);
@$pass = trim($_POST["pass"]);
if(empty($name)) {
echo '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">
<small>Логин:</small>
<br />
<input type="text" name="name">
<br />
<small>Пароль:</small>
<br />
<input type="password" name="pass">
<br />
<input type="submit" value="OK">
</form>';
exit();
}
if($name == $login and $pass == $passwd) {
if($opera_mini == TRUE) {
$_SESSION["ok"] = md5(md5($_SERVER["HTTP_USER_AGENT"]).md5(date("d")));
$_SESSION["p"] = md5($pass);
} else {
$_SESSION["ok"] = md5(md5($_SERVER["HTTP_USER_AGENT"]).md5($_SERVER["REMOTE_ADDR"]));
$_SESSION["p"] = md5($pass);
}
}
if($name != $login) {
exit('Вы ввели неправильные данные.');
}
if($pass != $passwd) {
exit('Вы ввели неправильные данные.');
}
} else {
if($opera_mini == TRUE) {
if($_SESSION["ok"] != md5(md5($_SERVER["HTTP_USER_AGENT"]).md5(date("d")))) {
unset($_SESSION["ok"]);
$_SESSION["ok"] = FALSE;
unset($_SESSION["p"]);
$_SESSION["p"] = FALSE;
unset($_SESSION["p"]);
session_destroy();
exit('ERROR AUTHORISATION');
}
} else {
if($_SESSION["ok"] != md5(md5($_SERVER["HTTP_USER_AGENT"]).md5($_SERVER["REMOTE_ADDR"]))) {
unset($_SESSION["ok"]);
$_SESSION["ok"] = FALSE;
unset($_SESSION["p"]);
$_SESSION["p"] = FALSE;
unset($_SESSION["p"]);
session_destroy();
exit('ERROR AUTHORISATION');
}
}
if($_SESSION["p"] != md5($passwd)) {
unset($_SESSION["ok"]);
$_SESSION["ok"] = FALSE;
unset($_SESSION["p"]);
$_SESSION["p"] = FALSE;
unset($_SESSION["p"]);
session_destroy();
exit('ERROR AUTHORISATION');
}
}
//<<
//Структура меню администратора
echo '<div class="news">
<small><a href="?do=0">'.MNU.'</a></small> <br />
<small>Категории:</small> <br />
<small> - <a href="?do=8">'.MNU_ADD_CAT.'</a> </small> <br />
<small> - <a href="?do=9">'.MNU_EDIT_CAT.'</a> </small> <br />
<small> - <a href="?do=10">'.MNU_DEL_CAT.'</a> </small> <br />
<small>Новости:</small> <br />
<small> - <a href="?do=1">'.MNU_ADD.'</a> </small> <br />
<small> - <a href="?do=2">'.MNU_EDIT.'</a> </small> <br />
<small> - <a href="?do=3">'.MNU_DEL.'</a> </small> <br />
<small>Модерирование:</small> <br />
<small> - <a href="?do=4">'.MNU_MOD.'</a> </small> <br />
<small> - <a href="?do=6">'.MNU_EP.'</a> </small> <br />
<small> - <a href="?do=14">'.MNU_FLS.'</a> </small> <br />
<small>Прочее:</small> <br />
<small> - <a href="?do=12">'.MNU_SUP.'</a> </small> <br />
<small> - <a href="?do=7">'.MNU_OP.'</a> </small> <br />
<small> - <a href="?do=11">'.MNU_INSTALL.'</a> </small> <br />
<small> - <a href="?do=5">'.MNU_EXIT.'</a> </small> <br />
</div>';
//<<
//Начало главного кода администраторского раздела. Управляющая часть
$Act = $_GET["do"];
if($Act) {
if(!is_numeric($Act)) {
exit('NOT IS NUMBER');
}
}
//Что Я (скрипт) могу сделать для Вас?
//)) swith
switch($Act) {
//1st value
case 1: { //Добавление новостей
if(@$_POST["add"]) {
$theme = trim($_POST["theme"]);
if(empty($theme)) {
exit('THEME ERROR');
}
$theme = strip_tags($theme);
$theme = mysql_escape_string($theme);
$text = trim($_POST["text"]);
if(empty($text)) {
exit('TEXT ERROR');
}
$text = strip_tags($text);
$text = mysql_escape_string($text);
if(@$_POST["comm"]) {
$comm = trim($_POST["comm"]);
$comm = strip_tags($comm);
$comm = mysql_escape_string($comm);
}
if(@$_POST["img"]) {
$img = trim($_POST["img"]);
$img = strip_tags($img);
$img = mysql_escape_string($img);
}
if(@$_POST["links"]) {
$links = trim($_POST["links"]);
$links = strip_tags($links);
$links = mysql_escape_string($links);
}
if(@$_POST["cop"]) {
$cop = trim($_POST["cop"]);
$cop = strip_tags($cop);
$cop = mysql_escape_string($cop);
}
if($_POST["n_cat"]) {
$n_cat = trim($_POST["n_cat"]);
if(!is_numeric($n_cat)) $n_cat = 0;
} else $n_cat = 0;
#########
#########
#########
for($i=1;$i<=$cfd;$i++) {
if($_FILES["file$i"]["size"]) {
if($_FILES["file$i"]["size"] > 1024*$mbf*1024) {
echo ("Размер файла превышает $mbf MB! Файл не загружен!");
$ftg = FALSE;
} else {
$ftg == TRUE;
}
if($ftg !== FALSE) {
$ext = strrchr($_FILES["file$i"]["name"], '.');
if(!stristr($fext, $ext)) {
exit('Недопустимое расширение: критическая ошибка.');
}
$end = $end.$ext;
if(is_file($dir_f.$_FILES["file$i"]["name"].$end)) {
$end = $end.mt_rand(1111,9999).'_'.$ext;
}
@chmod($dir_f, 0777);
if(move_uploaded_file($_FILES["file$i"]["tmp_name"], $dir_f.$_FILES["file$i"]["name"].$end)) {
@chmod($dir_f.$_FILES["file$i"]["name"].$end, 0777);
@$links = $links.mysql_escape_string(' #FILE#'.$_FILES["file$i"]["name"].$end);
} else echo 'Файл не загружен, ошибка';
}
}
}
########
########
########
$date = mysql_escape_string(time());
@$sql_add = "INSERT INTO mns_news VALUES (
'', '$theme', '$text', '$date', '$img' , '$links', '$cop', '$n_cat'
)";
mysql_query($sql_add) or die(mysql_error());
$news_id = mysql_insert_id();
if($comm) {
$sql_c_comm = "INSERT INTO mns_comm VALUES (
'', '$login', '$comm', '$date', '$news_id'
)";
mysql_query($sql_c_comm) or die(mysql_error());
}
if($_POST["mail"]) { // (Модуль майл)
$headers = "From: ".MAIL_FROM."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$headers .= "X-Mailer: PHP v.".phpversion();
$sql = "SELECT * FROM mns_mail";
$q = mysql_query($sql);
$mes1 = str_replace('{[THEME]}', $_POST["theme"], $newMAIL);
$mes2 = str_replace('{[NEW]}', $_POST["text"], $mes1);
$mes3 = str_replace('{[DATE]}', date("d.m.y/H:i:s",$date), $mes2);
while($res = mysql_fetch_array($q)) {
@mail($res["user_mail"], MAIL_THEME, $mes3, $headers);
}
}
echo '<div class="text">INFO: Новость добавлена</div>';
} else {
$sql2 = "SELECT COUNT(*) FROM mns_cat";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
if($r[0] == 0) {
echo '<small>Внимание! У вас не создано ни одной категории новостей! Вы можете добавлять новости без категорий. Чтобы создать категорию перейдите <a href="?do=8">сюда</a>.</small>';
}
echo '<form action="'.$_SERVER["PHP_SELF"].'?do=1" method="POST" enctype="multipart/form-data">
<div class="text">
<small>Введите тему новости: </small> <br />
<input type="text" name="theme" class="q"> <br />
<small>Введите текст новости:</small> <br />
<textarea name="text" class="q" cols="15" rows="7"></textarea> <br />
<small> Вы можете пользоваться BB-тегами в новостях и комментариях </small>
<br />
<small>Категория новости:</small> <br />
<select size="1" name="n_cat" class="q">
<option selected>Без категории</option>';
$sq = mysql_query("SELECT * FROM mns_cat");
while($sql_r = mysql_fetch_array($sq)) {
echo '<option value="'.$sql_r["cat_id"].'">'.htmlspecialchars(stripslashes($sql_r["cat_name"])).'</option>';
}
echo '</select>
<br />
<small>Добавить изображение к новости? <br /> Введите url всех изображений через пробел (с http://)</small> <br />
<input type="text" name="img" class="q">
<br />
<small>Добавить ссылки к новости? <br /> Введите все ссылки через пробел (с http://)</small> <br />
<input type="text" name="links" class="q">
<br />
<small>Добавить копирайт к новости? </small> <br />
© <input type="text" name="cop" class="q">
<br />
<small> Загрузить файлы? [max '.$mbf.' MB] <br /> ('.$fext.')</small> <br />
<div class="f">';
for($i=1;$i<=$cfd;$i++) {
echo '<br /> <input type="file" name="file'.$i.'" class="q">';
}
echo '</div>
<small>Если хотите, то Вы можете оставить комментарий к новости:</small> <br />
<textarea name="comm" class="q" cols="15" rows="3"></textarea> <br />
<small>Отправлять эту новость подписчикам?</small> <input type="checkbox" name="mail" value="1" class="q"> <br />
<small>Если подписчиков много, то эта операция может продлиться довольно долго, дождитесь окончания загрузки страницы</small> <br />
<input type="submit" name="add" value="Добавить" class="q"> <small> <a href="./smileys.php">Смайлы</a> </small>
</div>
</form>';
}
} break;
//2st value
case 2: { //Редактирование новостей
echo '<div class="text">';
if(@!$_GET["edit"]) {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($f)) {
exit();
}
$sql = "SELECT * FROM mns_news ORDER BY news_date DESC LIMIT $st, $f";
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
$sqlq = mysql_query("SELECT * FROM mns_cat WHERE cat_id={$res["news_cat"]}");
$ract = mysql_fetch_array($sqlq);
echo '<small> <a href="?do=2&edit=1&id='.$res["news_id"].'">'.htmlspecialchars(stripslashes($res["news_theme"])).'</a> ['.date("d.m.y/H:i:s", $res["news_date"]).'] ('.htmlspecialchars(stripslashes($ract["cat_name"])).') </small> <br />';
}
$sql2 = "SELECT COUNT(*) FROM mns_news";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=2&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<($r[0]/$f)-1) echo ',';
}
echo '</small></div>';
} else {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
if(@!$_GET["a"]) {
$sql = "SELECT * FROM mns_news WHERE news_id='$news_id'";
$que = mysql_query($sql) or die(mysql_error());
$res = mysql_fetch_array($que);
echo '<form action="'.$_SERVER["PHP_SELF"].'?do=2&edit=1&id='.$news_id.'&a=1" method="POST">
<small>Тема новости: </small> <br />
<input type="text" name="theme" value="'.htmlspecialchars(stripslashes($res["news_theme"])).'" class="q"> <br />
<small>Текст новости:</small> <br />
<textarea name="text" class="q" cols="15" rows="7">'.htmlspecialchars(stripslashes($res["news_text"])).'</textarea> <br />
<small> Вы можете пользоваться BB-тегами в новостях и комментариях </small> <br />
<small>Изображение: </small> <br />
<input type="text" name="img" value="'.htmlspecialchars(stripslashes($res["news_img"])).'" class="q"> <br />
<small>Ссылки и файлы к новости: </small> <br />
<input type="text" name="links" value="'.htmlspecialchars(stripslashes($res["news_links"])).'" class="q"> <br />
<small>Копирайт: </small> <br />
<input type="text" name="cop" value="'.htmlspecialchars(stripslashes($res["news_cop"])).'" class="q"> <br />
<select size="1" name="n_cat" class="q">
<option selected>Без категории</option>';
$sq = mysql_query("SELECT * FROM mns_cat");
while($sql_r = mysql_fetch_array($sq)) {
if($sql_r["cat_id"] == $res["news_cat"]) {
$select = ' selected ';
}
echo '<option '.$select.' value="'.$sql_r["cat_id"].'">'.htmlspecialchars(stripslashes($sql_r["cat_name"])).'</option>';
$select = '';
}
echo '</select>
<br />
<input type="submit" name="add" value="Изменить" class="q"> <small> <a href="./smileys.php">Смайлы</a> </small>
</form>';
} else {
$theme = trim($_POST["theme"]);
if(empty($theme)) {
exit('THEME ERROR');
}
$theme = strip_tags($theme);
$theme = mysql_escape_string($theme);
$text = trim($_POST["text"]);
if(empty($text)) {
exit('TEXT ERROR');
}
$text = strip_tags($text);
$text = mysql_escape_string($text);
if(@$_POST["img"]) {
$img = trim($_POST["img"]);
$img = strip_tags($img);
$img = mysql_escape_string($img);
}
if(@$_POST["links"]) {
$links = trim($_POST["links"]);
$links = strip_tags($links);
$links = mysql_escape_string($links);
}
if(@$_POST["cop"]) {
$cop = trim($_POST["cop"]);
$cop = strip_tags($cop);
$cop = mysql_escape_string($cop);
}
if($_POST["n_cat"]) {
$n_cat = trim($_POST["n_cat"]);
if(!is_numeric($n_cat)) $n_cat = 0;
} else $n_cat = 0;
$sql = "UPDATE mns_news SET news_theme='$theme', news_text='$text', news_img='$img', news_links='$links', news_cop='$cop', news_cat='$n_cat' WHERE news_id='$news_id'";
mysql_query($sql) or die(mysql_error());
echo 'INFO: Ok!';
}
}
echo '</div>';
} break;
//3st value
case 3: { //Удаление новостей
echo '<div class="text">';
if(@!$_GET["del"]) {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($f)) {
exit();
}
$sql = "SELECT * FROM mns_news ORDER BY news_date DESC LIMIT $st, $f";
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
$sqlq = mysql_query("SELECT * FROM mns_cat WHERE cat_id={$res["news_cat"]}");
$ract = mysql_fetch_array($sqlq);
echo '<small> '.htmlspecialchars(stripslashes($res["news_theme"])).' [<a href="?do=3&del=1&id='.$res["news_id"].'">DEL</a>] ['.date("d.m.y/H:i:s", $res["news_date"]).'] ('.htmlspecialchars(stripslashes($ract["cat_name"])).') </small> <br />';
}
$sql2 = "SELECT COUNT(*) FROM mns_news";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=3&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<($r[0]/$f)-1) echo ',';
}
echo '</small></div>';
} else {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
$sql1 = "DELETE FROM mns_news WHERE news_id='$news_id'";
$sql2 = "DELETE FROM mns_comm WHERE news_id='$news_id'";
mysql_query($sql1) or die(mysql_error());
mysql_query($sql2) or die(mysql_error());
echo 'INFO: Удалено!';
}
echo '</div>';
} break;
//4st value
case 4: { //Управление комментариями
echo '<div class="text">';
if(@!$_GET["c"]) {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($f)) {
exit();
}
$sql = "SELECT * FROM mns_news ORDER BY news_date DESC LIMIT $st, $f";
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
$sql2 = "SELECT COUNT(*) FROM mns_comm WHERE news_id='{$res['news_id']}'";
$q = mysql_query($sql2);
$count = mysql_fetch_array($q);
echo '<small> '.htmlspecialchars(stripslashes($res["news_theme"])).' [<a href="?do=4&c=1&id='.$res["news_id"].'">Комм.</a>('.($count[0]).')] ['.date("d.m.y/H:i:s", $res["news_date"]).'] </small> <br />';
}
$sql2 = "SELECT COUNT(*) FROM mns_news";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=4&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<($r[0]/$f)-1) echo ',';
}
echo '</small></div>';
} else {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
if(@!$_GET["del"]) {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($f)) {
exit();
}
$sql = "SELECT * FROM mns_comm WHERE news_id='$news_id' ORDER BY comm_date DESC LIMIT $st, $f";
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
echo '<small> '.htmlspecialchars(stripslashes($res["comm_author"])).' [<a href="?do=4&c=1&id='.$res['news_id'].'&cid='.$res['comm_id'].'&del=1">DEL</a>] ['.date("d.m.y/H:i:s", $res["comm_date"]).'] <br />
'.htmlspecialchars(stripslashes($res["comm_text"])).'</small> <br />';
}
$sql2 = "SELECT COUNT(*) FROM mns_comm WHERE news_id='$news_id'";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=4&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<($r[0]/$f)-1) echo ',';
}
echo '</small></div>';
} else {
$cid = trim($_GET["cid"]);
if(!is_numeric($cid)) exit();
$sql = "DELETE FROM mns_comm WHERE comm_id='$cid'";
mysql_query($sql) or die(mysql_error());
echo 'INFO: Удалено!';
}
}
echo '</div>';
} break;
//5st value
case 5: { //Выход
unset($_SESSION["ok"]);
$_SESSION["ok"] = FALSE;
unset($_SESSION["p"]);
$_SESSION["p"] = FALSE;
unset($_SESSION["p"]);
session_destroy();
} break;
//6st value
case 6: { //Модуль e-mail рассылки
echo '<div class="text">';
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($f)) {
exit();
}
if(@!$_GET["del"]) {
$sql = "SELECT * FROM mns_mail LIMIT $st, $f";
$q = mysql_query($sql);
while($res = mysql_fetch_array($q)) {
echo '<small> '.$res["user_mail"].' [<a href="?do=6&id='.$res['user_id'].'&del=1">DEL</a>] <br />';
}
$sql2 = "SELECT COUNT(*) FROM mns_mail";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=6&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<($r[0]/$f)-1) echo ',';
}
echo '</small></div>';
} else {
$id = trim($_GET["id"]);
if(!is_numeric($id)) exit();
$sql = "DELETE FROM mns_mail WHERE user_id='$id'";
mysql_query($sql) or die(mysql_error());
echo 'INFO: Удалено!';
}
echo '</div>';
} break;
//7th value
case 7: {
$sql = 'OPTIMIZE TABLE `mns_comm`, `mns_mail`, `mns_news`, `mns_votes`, `mns_cat`';
if(mysql_query($sql)) {
echo '<div class="text">INFO: Успешно</div>';
}
} break;
//8th value
case 8: { //Добавление категорий
if(@$_GET["cat"]) {
$name = trim($_POST["theme"]);
if(empty($name)) {
exit('THEME ERROR');
}
$name = strip_tags($name);
$name = mysql_escape_string($name);
$text = trim($_POST["text"]);
$text = strip_tags($text);
$text = mysql_escape_string($text);
$sql_add = "INSERT INTO mns_cat VALUES (
'', '$name', '$text'
)";
mysql_query($sql_add) or die(mysql_error());
echo '<div class="text">INFO: Успешно</div>';
} else {
echo '<form action="'.$_SERVER["PHP_SELF"].'?do=8&cat=1" method="POST">
<div class="text">
<small>Введите название категории: </small> <br />
<input type="text" name="theme" class="q"> <br />
<small>Введите описание категории (опционально):</small> <br />
<textarea name="text" class="q" cols="19" rows="3"></textarea> <br />
<input type="submit" name="add" value="Добавить" class="q">
</div>
</form>';
}
} break;
//9th value
case 9: { //Редактирование категорий
echo '<div class="text">';
if(@!$_GET["edit"]) {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($f)) {
exit();
}
$sql = "SELECT * FROM mns_cat ORDER BY cat_id ASC LIMIT $st, $f";
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
$sqlc = "SELECT COUNT(*) FROM mns_news WHERE news_cat = {$res["cat_id"]}";
$qc = mysql_query($sqlc);
$rc = mysql_fetch_array($qc);
echo '<small> <a href="?do=9&edit=1&id='.$res["cat_id"].'">'.htmlspecialchars(stripslashes($res["cat_name"])).'</a> ['.$rc[0].'] <br /><i>'.htmlspecialchars(stripslashes($res["cat_about"])).'</i> </small> <br />';
}
$sql2 = "SELECT COUNT(*) FROM mns_cat";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=9&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<($r[0]/$f)-1) echo ',';
}
echo '</small></div>';
} else {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
if(@!$_GET["a"]) {
$sql = "SELECT * FROM mns_cat WHERE cat_id='$news_id'";
$que = mysql_query($sql) or die(mysql_error());
$res = mysql_fetch_array($que);
echo '<form action="'.$_SERVER["PHP_SELF"].'?do=9&edit=1&id='.$news_id.'&a=1" method="POST">
<small>Название категории: </small> <br />
<input type="text" name="theme" value="'.htmlspecialchars(stripslashes($res["cat_name"])).'" class="q"> <br />
<small>Описание категории:</small> <br />
<textarea name="text" class="q" cols="15" rows="7">'.htmlspecialchars(stripslashes($res["cat_about"])).'</textarea> <br />
<input type="submit" name="add" value="Изменить" class="q">
</form>';
} else {
$theme = trim($_POST["theme"]);
if(empty($theme)) {
exit('THEME ERROR');
}
$theme = strip_tags($theme);
$theme = mysql_escape_string($theme);
$text = trim($_POST["text"]);
if(empty($text)) {
exit('TEXT ERROR');
}
$text = strip_tags($text);
$text = mysql_escape_string($text);
$sql = "UPDATE mns_cat SET cat_name='$theme', cat_about='$text' WHERE cat_id='$news_id'";
mysql_query($sql) or die(mysql_error());
echo 'INFO: Ok!';
}
}
echo '</div>';
} break;
//10th value
case 10: { //Удаление категорий
echo '<div class="text">';
if(@!$_GET["del"]) {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($f)) {
exit();
}
$sql = "SELECT * FROM mns_cat ORDER BY cat_id ASC LIMIT $st, $f";
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
echo '<small> '.htmlspecialchars(stripslashes($res["cat_name"])).' [<a href="?do=10&del=1&id='.$res["cat_id"].'">DEL</a>] </small> <br />';
}
$sql2 = "SELECT COUNT(*) FROM mns_cat";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=10&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<($r[0]/$f)-1) echo ',';
}
echo '</small></div>';
} else {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
$sql1 = "DELETE FROM mns_cat WHERE cat_id='$news_id'";
$sqc = "SELECT news_id FROM mns_news WHERE news_cat='$news_id'";
$sql = mysql_query($sqc);
while($cres = mysql_fetch_array($sql)) {
mysql_query("DELETE FROM mns_comm WHERE news_id='{$cres["news_id"]}'");
}
$sql2 = "DELETE FROM mns_news WHERE news_cat='$news_id'";
mysql_query($sql1) or die(mysql_error());
mysql_query($sql2) or die(mysql_error());
echo 'INFO: Удалено!';
}
echo '</div>';
} break;
//11th value
case 11: { //Инсталляция, переустановка
echo '<div class="text">';
if(@!$_GET["type"]) {
echo '<small>
<a href="?do=11&type=1">Начальная установка базы данных</a> <br />
<a href="?do=11&type=2">Переустановка уже существующей</a>
<br />
Внимание! При переустановке базы все новости, категории, комментарии будут утрачены!
</small>';
} else {
$type = trim($_GET["type"]);
if($type == 1) {// Инсталляция
$sql_install_cat = "#База категорий
CREATE TABLE IF NOT EXISTS mns_cat (
cat_id int(11) NOT NULL AUTO_INCREMENT,
cat_name TEXT,
cat_about LONGTEXT NULL,
PRIMARY KEY (cat_id)
)TYPE=MyISAM;";
$sql_install_news = "#База новостей
CREATE TABLE IF NOT EXISTS mns_news (
news_id int(11) NOT NULL AUTO_INCREMENT,
news_theme TEXT,
news_text LONGTEXT,
news_date BIGINT,
news_img LONGTEXT,
news_links LONGTEXT,
news_cop LONGTEXT,
news_cat BIGINT,
PRIMARY KEY (news_id)
)TYPE=MyISAM;";
$sql_install_comm = "#База комментариев
CREATE TABLE IF NOT EXISTS mns_comm (
comm_id int(11) NOT NULL AUTO_INCREMENT,
comm_author TEXT,
comm_text LONGTEXT,
comm_date BIGINT,
news_id BIGINT,
PRIMARY KEY (comm_id)
)TYPE=MyISAM;";
$sql_install_vote = "#База оценок
CREATE TABLE IF NOT EXISTS mns_votes (
vote_id int(11) NOT NULL AUTO_INCREMENT,
vote_p BIGINT,
vote_m BIGINT,
vote_all BIGINT,
news_id BIGINT,
PRIMARY KEY (vote_id)
)TYPE=MyISAM;";
$sql_install_mail = "#База mail подписчиков
CREATE TABLE IF NOT EXISTS mns_mail (
user_id int(11) NOT NULL AUTO_INCREMENT,
user_mail TEXT,
user_password TEXT,
PRIMARY KEY (user_id)
)TYPE=MyISAM;";
$sql_install_sup = "#База сообщений админу
CREATE TABLE IF NOT EXISTS mns_sup (
mes_id int(11) NOT NULL AUTO_INCREMENT,
mes_back TEXT,
mes_text TEXT,
mes_date BIGINT,
PRIMARY KEY (mes_id)
)TYPE=MyISAM;";
// /*
mysql_query($sql_install_cat) or die(mysql_error());
mysql_query($sql_install_news) or die(mysql_error());
mysql_query($sql_install_comm) or die(mysql_error());
mysql_query($sql_install_vote) or die(mysql_error());
mysql_query($sql_install_mail) or die(mysql_error());
mysql_query($sql_install_sup) or die(mysql_error());
// */
echo 'БАЗА УСТАНОВЛЕННА';
} elseif($type == 2) { //Переустановка
mysql_query("DROP TABLE mns_cat");
mysql_query("DROP TABLE mns_news");
mysql_query("DROP TABLE mns_comm");
mysql_query("DROP TABLE mns_votes");
mysql_query("DROP TABLE mns_mail");
mysql_query("DROP TABLE mns_sup");
$sql_install_cat = "#База категорий
CREATE TABLE IF NOT EXISTS mns_cat (
cat_id int(11) NOT NULL AUTO_INCREMENT,
cat_name TEXT,
cat_about LONGTEXT NULL,
PRIMARY KEY (cat_id)
)TYPE=MyISAM;";
$sql_install_news = "#База новостей
CREATE TABLE IF NOT EXISTS mns_news (
news_id int(11) NOT NULL AUTO_INCREMENT,
news_theme TEXT,
news_text LONGTEXT,
news_date BIGINT,
news_img LONGTEXT,
news_links LONGTEXT,
news_cop LONGTEXT,
news_cat BIGINT,
PRIMARY KEY (news_id)
)TYPE=MyISAM;";
$sql_install_comm = "#База комментариев
CREATE TABLE IF NOT EXISTS mns_comm (
comm_id int(11) NOT NULL AUTO_INCREMENT,
comm_author TEXT,
comm_text LONGTEXT,
comm_date BIGINT,
news_id BIGINT,
PRIMARY KEY (comm_id)
)TYPE=MyISAM;";
$sql_install_vote = "#База оценок
CREATE TABLE IF NOT EXISTS mns_votes (
vote_id int(11) NOT NULL AUTO_INCREMENT,
vote_p BIGINT,
vote_m BIGINT,
vote_all BIGINT,
news_id BIGINT,
PRIMARY KEY (vote_id)
)TYPE=MyISAM;";
$sql_install_mail = "#База mail подписчиков
CREATE TABLE IF NOT EXISTS mns_mail (
user_id int(11) NOT NULL AUTO_INCREMENT,
user_mail TEXT,
user_password TEXT,
PRIMARY KEY (user_id)
)TYPE=MyISAM;";
$sql_install_sup = "#База сообщений админу
CREATE TABLE IF NOT EXISTS mns_sup (
mes_id int(11) NOT NULL AUTO_INCREMENT,
mes_back TEXT,
mes_text TEXT,
mes_date BIGINT,
PRIMARY KEY (mes_id)
)TYPE=MyISAM;";
// /*
mysql_query($sql_install_cat) or die(mysql_error());
mysql_query($sql_install_news) or die(mysql_error());
mysql_query($sql_install_comm) or die(mysql_error());
mysql_query($sql_install_vote) or die(mysql_error());
mysql_query($sql_install_mail) or die(mysql_error());
mysql_query($sql_install_sup) or die(mysql_error());
// */
echo 'БАЗА ПЕРЕУСТАНОВЛЕННА';
}
}
echo '</div>';
} break;
//12th value
case 12: {//Модуль входящих сообщений от пользователей
echo '<div class="text">';
if(@$_GET["del"]) {
$id = trim($_GET["del"]);
if(!is_numeric($id)) exit();
$sql = "DELETE FROM mns_sup WHERE mes_id='$id'";
mysql_query($sql) or die(mysql_error());
echo 'INFO: Удалено!';
echo '</div>';
break;
}
if(@!$_GET["edit"]) {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($f)) {
exit();
}
$sql = "SELECT * FROM mns_sup ORDER BY mes_id DESC LIMIT $st, $f";
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
echo '<small> <a href="?do=12&edit=1&id='.$res["mes_id"].'">'.htmlspecialchars(stripslashes($res["mes_back"])).'</a> ['.date("d.m.y/H:i:s",$res["mes_date"]).'] <br /> </small>';
}
$sql2 = "SELECT COUNT(*) FROM mns_sup";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=12&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<($r[0]/$f)-1) echo ',';
}
echo '</small></div>';
} else {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
$sql = "SELECT * FROM mns_sup WHERE mes_id='$news_id'";
$que = mysql_query($sql) or die(mysql_error());
$res = mysql_fetch_array($que);
echo '<small>От: '.htmlspecialchars(stripslashes($res["mes_back"])).' ['.date("d.m.y/H:i:s",$res["mes_date"]).'] <br />
'.htmlspecialchars(stripslashes($res["mes_text"])).'
<br />
<a href="?do=12&del='.$res["mes_id"].'">Удалить</a>
</small>';
}
echo '</div>';
} break;
case 14: { //Удаление файлов
if(@$_GET["del"]) {
if(is_file($_GET["del"])) {
if($_GET["del"] == '.' && $_GET["del"] == '..' && $_GET["del"] == '.htaccess' && stristr('.php',$_GET["de'"])) {
exit('Ошибка!');
}
if(unlink($_GET["del"])) {
echo '<div class="text">INFO: Удалено!</div>';
}
}
}
$open = @opendir($dir_f);
while($r = readdir($open)) {
if($r != '.' && $r != '..' && $r != '.htaccess') {
if(is_file($dir_f.$r)) {
$farr[] = $dir_f.$r;
}
}
}
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
} $flss = $st + $f;
for($i=$st;$i<=$flss;$i++) {
if($i>=sizeof($farr)-1) break;
echo '<small><a href="'.$farr[$i].'">'.$farr[$i].'</a> ('.round(filesize($farr[$i])/1024,2).'kb) [<a href="?do=14&del='.$farr[$i].'">DEL</a>]<br /></small>';
}
echo '<div class="beg2">
<small>';
if($st != 0) {
echo '<small><a href="?do=14&st='.($st - $f).'"><<Назад</a></small>';
}
if($flss <= sizeof($farr)-1) {
echo '<small>|<a href="?do=14&st='.($st + $f).'">Далее>></a></small>';
}
echo '<br />';
for($i=0;$i<=((sizeof($farr)-1)/$f);$i++) {
if($st == ($i*$f)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=14&st='.($i*$f).'">'.($i+1).'</a>';
}
if($i<((sizeof($farr)-1)/$f)-1) echo ',';
}
echo '</small></div>';
} break;
}
//<< (main)
//Подключение "Низа"
@include_once 'foot.html';
//<<
//Завершение работы скрипта по окончании всех операций
exit();
//<<
?>