<?php
#############################################
##UTF-8;lang-ru,en;"Monospace"(regular)[10]##
#############################################
##########################
##Отключение вывода ошибок
error_reporting(0);
##########################
## Старт сессии
session_start();
//Подключение системных файлов
@include_once 'connect.php';
@include_once 'conf.php';
@include_once 'head.html';
//<<
//Выполнение
$Act = $_GET["do"];
if($Act) {
if(!is_numeric($Act)) {
exit('NOT IS NUMBER');
}
}
//Выбор сортировки
$sort = $_GET["sort"];
if($sort) {
if(!is_numeric($sort)) {
exit('NOT IS NUMBER');
}
}
switch($sort) {
case 1: $sort1 = 'DESC'; break;
case 2: $sort1 = ''; break;
default: $sort1 = 'DESC'; break;
}
//<<
//Смайлы
$pak = @file(SPAK);
$smiles = array();
foreach ( $pak as $val ) {
$val = trim($val);
if (! $val || '#' == $val{0}) { continue; }
list($gif,$alt,$symbol) = explode('=+:',$val);
$smiles[$symbol] = '<img src="./smilies/'.htmlspecialchars($gif)
.'" alt="'.htmlspecialchars($alt).'" />';
}
include_once './bbcode.lib.php';
//<<
switch($Act) {
//1st value
case 1: {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
$sql = "SELECT * FROM mns_news WHERE news_id='$news_id'";
$query = mysql_query($sql) or die(mysql_error());
$res = mysql_fetch_array($query);
if(empty($res["news_theme"])) {
exit('-1');
}
$texte = new bbcode(stripslashes($res["news_text"]));
$texte -> mnemonics = $smiles;
$texte = $texte -> get_html();
$sql2 = "SELECT COUNT(*) FROM mns_comm WHERE news_id='{$res['news_id']}'";
$q = mysql_query($sql2);
$count = mysql_fetch_array($q);
$sqlr = "SELECT * FROM mns_cat WHERE cat_id='{$res["news_cat"]}'";
$queryr = mysql_query($sqlr) or die(mysql_error());
$resr = mysql_fetch_array($queryr);
if(empty($resr["cat_name"])) {
$resr["cat_name"] = 'Без категории';
}
echo '<div class="text">
<small>- <a href="index.php">Назад</a> </small> <br />
<div class="n"><small>Новость: '.stripslashes($res["news_theme"]).' ['.date("d.m.y/H:i",$res["news_date"]).'] (<a href="?cid='.$res["news_cat"].'">'.stripslashes($resr["cat_name"]).'</a>)</small></div>';
if(@$res["news_img"]) {
$res["news_img"] = explode(' ', $res["news_img"]);
echo '<small>Изображения к новости: </small> <br /><div class="f"> <small>';
for($i=0;$i<=sizeof($res["news_img"])-1;$i++) {
echo '<img src="'.$res["news_img"][$i].'" alt=""><br />';
}
echo '</small> </div><br />';
}
echo '<small>'.$texte.' <br />';
if(@$res["news_links"]) {
$res["news_links"] = explode(' ', $res["news_links"]);
echo '<small>Ссылки к новости: </small> <br /><div class="f"> <small>';
for($i=0;$i<=sizeof($res["news_links"])-1;$i++) {
if(stristr($res["news_links"][$i], '#FILE#')) {
echo '<small>Файл: <a href="'.str_replace('#FILE#', $dir_f,$res["news_links"][$i]).'">'.str_replace('#FILE#', '',$res["news_links"][$i]).'</a> ['.round(filesize(str_replace('#FILE#', $dir_f,$res["news_links"][$i]))/1024,2).' KB] <br /></small>';
continue;
}
echo '<a href="'.$res["news_links"][$i].'">'.$res["news_links"][$i].'</a> <br />';
}
echo '</small> </div><br />';
}
if(@$res["news_cop"]) {
echo ' ©'.$res["news_cop"];
}
echo ' <br />
<a href="?do=2&id='.$res["news_id"].'">Комментарии</a> ['.$count[0].'] <br />
<a href="?do=3&id='.$news_id.'">Оценка новости</a> <br />
<a href="?do=5&id='.$news_id.'">Копировать новость</a>
</small>
</div>';
} break;
case 2: {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
if(@!$_GET["add"]) {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if(!is_numeric($fu)) {
exit();
}
if($st < 0) {
exit('-1');
}
echo '
<small>- <a href="index.php">К новостям</a></small> <br />
<small>- <a href="?do=2&id='.$news_id.'&add=1">Добавить комментарий</a></small>
<br />';
$sql = "SELECT * FROM mns_comm WHERE news_id='$news_id' ORDER BY comm_date DESC LIMIT $st, $fu";
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
if($c == 1) $c = $c+1; else $c = $c - 1;
$texte = new bbcode(stripslashes($res["comm_text"]));
$texte -> mnemonics = $smiles;
$texte = $texte -> get_html();
echo $b[$c].'<div class="n"> <small> '.stripslashes($res["comm_author"]).' ['.date("d.m.y/H:i", $res["comm_date"]).'] </small> </div>
<small>'.$texte.'</small> </div>';
}
$sql2 = "SELECT COUNT(*) FROM mns_comm WHERE news_id='$news_id'";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
if($st > $r[0]) {
exit('>');
}
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$fu);$i++) {
if($st == ($i*$fu)) {
echo ''.($i+1).'';
} else {
echo '<a href="?do=2&st='.($i*$fu).'&id='.$news_id.'">'.($i+1).'</a>';
}
if($i<=($r[0]/$fu)) echo ',';
}
echo '</small></div>';
} else {
if(@!$_GET["a"]) {
echo '<form action="'.$_SERVER["PHP_SELF"].'?do=2&add=1&id='.$news_id.'&a=1" method="POST">
<small>Имя: [Макс. 256 симв.]</small> <br />
<input type="text" name="name" class="q"> <br />
<small>Комментарий: [Макс. 9216 симв.]</small> <br />
<textarea name="text" class="q" cols="15" rows="7"></textarea> <br />
<small> Вы можете пользоваться BB-тегами в комментариях </small> <br />
<input type="submit" name="add" value="Написать" class="q"> <small> <a href="./smileys.php">Смайлы</a> </small>
</form>';
} else {
$name = trim($_POST["name"]);
if(empty($name)) {
exit('Вы не ввели имени');
}
$name = strip_tags($name);
$name = substr($name,0 , 255);
$name = mysql_escape_string($name);
$text = trim($_POST["text"]);
if(empty($text)) {
exit('Вы не ввели текст');
}
$text = strip_tags($text);
$text = substr($text, 0, 9216);
$text = mysql_escape_string($text);
$date = mysql_escape_string(time());
$sql = "INSERT INTO mns_comm VALUES (
'', '$name', '$text', '$date', '$news_id'
)";
mysql_query($sql) or die(mysql_error());
echo 'Комментарий добавлен! <br />
<a href="?do=2&id='.$news_id.'">Назад</a>';
}
}
}
break;
case 3: {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
$sql2 = "SELECT * FROM mns_votes WHERE news_id='$news_id'";
$q = mysql_query($sql2);
$res = @mysql_fetch_array($q);
if(empty($res["vote_all"])) {
$sqlv = "INSERT INTO mns_votes VALUES (
'', '0', '0', '0', '$news_id'
)";
mysql_query($sqlv);
}
echo '<div class="text">
<small>- <a href="?do=1&id='.$news_id.'">Назад</a> </small> <br />
<small>Голосов:'.$res["vote_all"].' <br />
Положительных: '.$res["vote_p"].'/Отрицательных: '.$res["vote_m"].' <br />
Проголосовать: <br />
<a href="?do=3&v=p&id='.$news_id.'">Положительно</a>/<a href="?do=3&v=m&id='.$news_id.'">Отрицательно</a>
</small>
</div>';
if(@$_GET["v"]) {
if($_SESSION["v"] == $news_id) {
echo 'Вы уже голосовали за эту новость.';
} else {
switch($_GET["v"]) {
case 'p': $v = 'p'; break;
case 'm': $v = 'm'; break;
}
$sq = "UPDATE mns_votes SET vote_all='".($res["vote_all"]+1)."', vote_$v='".($res["vote_".$v]+1)."' WHERE news_id='$news_id'";
if(mysql_query($sq)) {
echo 'Ваш голос учтен.';
$_SESSION["v"] = $news_id;
}
}
}
} break;
case 4: {
if(@!$_GET["a"]) {
echo '<small> - <a href="index.php">Назад</a></small>
<form action="'.$_SERVER["PHP_SELF"].'?do=4&a=1" method="POST">
<div class="text">
<small>*Введите E-MAIL: </small> <br />
<input type="text" name="mail" class="q"> <br />
<small>*Введите пароль: </small> <br />
<input type="password" name="pass" class="q"> <br />
<small>Если Вы подписаны на наши новости, и хотите отписаться, то активируйте флажок ниже.<br />
Отписаться?</small>
<input type="checkbox" name="ot" value="1"> <br />
<small>Поля, отмечнные * обязательны к заполнению</small> <br />
<input type="submit" name="add" value="Подписка" class="q">
</div>
</form>';
} else {
$ot = trim($_POST["ot"]);
if($ot) {
if(!is_numeric($ot)) exit();
}
$mail = trim($_POST["mail"]);
if(!$mail) {
exit();
}
$mail = mysql_escape_string($mail);
$pass = trim($_POST["pass"]);
if(!$pass) {
exit();
}
$mp = $pass;
$pass = md5($pass);
$pass = mysql_escape_string($pass);
if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $mail)) {
echo 'Введите корректный E-mail адрес!';
exit();
}
$s_m = "SELECT * FROM mns_mail WHERE user_mail='$mail'";
$q_m = mysql_query($s_m);
$r_m = mysql_fetch_array($q_m);
if($r_m["user_mail"]) {
if($ot != 1) {
exit('Такой e-mail уже зарегистрирован, пожалуйста используйте друой');
}
}
if($ot == 1) {
if($pass != $r_m["user_password"]) {
exit('Не верный пароль');
} else {
$sql = "DELETE FROM mns_mail WHERE user_mail='$mail'";
if(mysql_query($sql)) {
echo 'Вы успешно отписались от рассылок <br />
<a href="index.php">Назад</a>';
}
}
} else {
$sql = "INSERT INTO mns_mail VALUES (
'', '$mail', '$pass'
)";
if(mysql_query($sql)) {
$MessTo = str_replace('{[MAIL]}', $mail, $MessTo);
$MessTo = str_replace('{[PASS]}', $mp, $MessTo);
$headers = "From: $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();;
@mail($mail, MAIL_THEME, $MessTo, $headers);
echo 'Вы успешно подписались на рассылку новостей, Вы в любой момент можете отказаться от рассылки. <br />
<a href="index.php">Назад</a>';
}
}
}
} break;
case 5: {
$news_id = trim($_GET["id"]);
if(!is_numeric($news_id)) exit();
$sql = "SELECT * FROM mns_news WHERE news_id='$news_id'";
$query = mysql_query($sql) or die(mysql_error());
$res = mysql_fetch_array($query);
if(empty($res["news_theme"])) {
exit('-1');
};
$var = '';
echo '<div class="text">
<small>- <a href="?do=1&id='.$news_id.'">Назад</a> </small> <br />
<textarea cols="20" rows="9">'.htmlspecialchars(stripslashes($res["news_theme"])).'['.date("d.m.y/H:i",$res["news_date"]).']'.htmlspecialchars(stripslashes($res["news_text"])).'</textarea></small> </div><br />';
echo ' ';
} break;
case 6: { //Add news
if(USER_ADD_NEWS == TRUE) {
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;
$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();
echo '<div class="text">Новость добавлена <a href="?main">Назад</a></div>';
} else {
$sql2 = "SELECT COUNT(*) FROM mns_cat";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
if($r[0] == 0) {
echo '<small>Внимание! Не создано ни одной категории новостей! Вы можете добавлять новости без категорий.</small>';
}
echo '<form action="'.$_SERVER["PHP_SELF"].'?do=6" 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="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 />
<input type="submit" name="add" value="Добавить" class="q"> <small> <a href="./smileys.php">Смайлы</a> </small>
</div>
</form>';
}
}
} break;
case 7: {
if(USER_ADD_POST == TRUE) {
if(@!$_GET["add"]) {
echo '<form action="'.$_SERVER["PHP_SELF"].'?do=7&add=1" method="POST">
<a href="?news">Назад</a><br />
<small>Ваше сообщение будет доставленно администрации. Пожалуйста, укажите Ваши контактные данные (любые), чтобы Мы смогли Вам ответить.</small> <br />
<small>Как с вами связаться? (max 32) </small> <br />
<input type="text" name="back" class="q"> <br />
<small>Сообщение:</small> <br />
<textarea name="text" class="q" cols="15" rows="7"></textarea> <br />
<input type="submit" value="Отправить" class="q">
</form>';
} else {
$text1 = trim($_POST["back"]);
if(empty($text1)) {
exit('Вы не ввели обратной связи');
}
$text1 = substr($text1,0,32);
$text1 = strip_tags($text1);
$text1 = mysql_escape_string($text1);
$text = trim($_POST["text"]);
if(empty($text)) {
exit('Вы не ввели текст сообщения');
}
$text = substr($text,0,64535);
$text = strip_tags($text);
$text = mysql_escape_string($text);
$date = mysql_escape_string(time());
$sql = "INSERT INTO mns_sup VALUES(
'', '$text1', '$text', '$date'
)";
if(mysql_query($sql)) {
echo '<small><a href="?news">Назад</a><br />Ваше сообщение было отправлено.</small>';
} else die(mysql_error());
}
}
} break;
default : {
@$st = $_GET["st"];
if(@!$st) $st = 0;
if(!is_numeric($st)) {
exit();
}
if($st < 0) {
exit('-1');
}
if(!is_numeric($fu)) {
exit();
}
//HEAD
echo '<small>
- <a href="./menu_rss.php">Подписка RSS</a> <br />
- <a href="./?do=4">Подписка по E-MAIL</a> <br />
- <a href="./search.php">Поиск в новостях</a> <br />
</small>';
if(USER_ADD_NEWS == TRUE) {
echo '<small> - <a href="?do=6">Добавить новость</a><br /></small>';
}
//CAT
$sqlc1 = "SELECT COUNT(*) FROM mns_cat";
$qc1 = mysql_query($sqlc1);
$rc1 = mysql_fetch_array($qc1);
if(@$_GET["cid"]) {
$cid = trim($_GET["cid"]);
$cid = intval($cid);
if($cid < 0) { exit('-1'); }
}
if($rc1[0] != 0) {
echo '<div class="text"><small> Новости по категориям: <br /></small>';
$sql = "SELECT * FROM mns_cat ORDER BY cat_id ASC LIMIT $st, $fu";
$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);
if($res["cat_id"] == $cid) {
echo '<small>>></small>';
$categ_n = $res["cat_name"];
$qqq = 1;
}
if(empty($res["cat_about"])) {
$br = '';
} else $br = '<br />';
echo '<small> <a href="?cid='.$res["cat_id"].'">'.stripslashes($res["cat_name"]).'</a> ['.$rc[0].'] <br /><i>'.stripslashes($res["cat_about"]).'</i> </small> '.$br;
$br = '';
}
$sql2 = "SELECT COUNT(*) FROM mns_news";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
echo '<small><a href="?all">Все новости</a> ['.$r[0].']</small></div>';
}
if(@!$cid) {
echo '<small>Все новости:</small>';
} else {
echo '<small>Категория новостей: '.stripslashes($categ_n).'</small>';
if(@!$qqq) exit('ошибка');
}
//<<
//<<
if(@!$cid) {
$sql = "SELECT * FROM mns_news ORDER BY news_date $sort1 LIMIT $st, $fu";
} else {
$sql = "SELECT * FROM mns_news WHERE news_cat='".mysql_escape_string($cid)."' ORDER BY news_date $sort1 LIMIT $st, $fu";
}
$query = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_array($query)) {
$sqlr = "SELECT * FROM mns_cat WHERE cat_id='{$res["news_cat"]}'";
$queryr = mysql_query($sqlr) or die(mysql_error());
$resr = mysql_fetch_array($queryr);
if($c == 1) $c = $c+1; else $c = $c - 1;
$texte = new bbcode(stripslashes($res["news_text"]));
$texte -> mnemonics = $smiles;
$texte = $texte -> get_html();
if(strlen($texte) > $main_ch) {
$full = ' ...<br />
<a href="?do=1&id='.$res["news_id"].'&sort='.$sort.'">Читать полностью</a>';
} else $full = '';
$texte = substr($texte, 0, $main_ch);
$sql2 = "SELECT COUNT(*) FROM mns_comm WHERE news_id='{$res['news_id']}'";
$q = mysql_query($sql2);
$count = mysql_fetch_array($q);
if(empty($resr["cat_name"])) {
$resr["cat_name"] = 'Без категории';
}
echo $b[$c].'<div class="n"> <small> <a href="?do=1&id='.$res["news_id"].'&sort='.$sort.'">'.stripslashes($res["news_theme"]).'</a> ['.date("d.m.y/H:i", $res["news_date"]).'] (<a href="?cid='.$res["news_cat"].'">'.stripslashes($resr["cat_name"]).'</a>) </small> </div> <small>
'.$texte.' '.$full.' <br />
<a href="?do=1&id='.$res["news_id"].'&sort='.$sort.'">Подробнее</a>|<a href="?do=2&id='.$res["news_id"].'">Комментарии</a> ['.$count[0].']
</small> </div>';
}
$sql2 = "SELECT COUNT(*) FROM mns_news";
$q = mysql_query($sql2);
$r = mysql_fetch_array($q);
if($st > $r[0]) {
exit('>');
}
echo '<div class="beg2">
<small>';
for($i=0;$i<=($r[0]/$fu);$i++) {
if($st == ($i*$fu)) {
echo ''.($i+1).'';
} else {
echo '<a href="?st='.($i*$fu).'&sort='.$sort.'&cid='.$cid.'">'.($i+1).'</a>';
}
if($i<($r[0]/$fu)) echo ',';
}
echo '</small></div>';
if(USER_ADD_POST == TRUE) {
echo '<small><a href="?do=7">Написать администрации</a></small> <br />';
}
//Сортировка
echo '<div class="text">
<small>Сортировка: <br />
<a href="?st='.$st.'&sort=1&cid='.$cid.'">По убыванию</a>/<a href="?st='.$st.'&sort=2&cid='.$cid.'">По возрастанию</a>
</small>
</div>';
//<<
} break;
}
//<<
//Подключение файлов
@include_once 'foot.html';
//<<
?>