View file mpanel/news.php

File size: 15.21Kb
<?php
#-----------------------------------------------------#
#          ********* WAP-MOTORS *********             #
#             Made by   :  VANTUZ                     #
#               E-mail  :  [email protected]             #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#-----------------------------------------------------#	
require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.php";
require_once"../template/functions.php";
require_once"../template/antidos.php";
require_once"../template/cookies.php";
require_once"../template/gzip.php";
require_once"../template/header.php";
require_once"../template/referer.php";
include_once"../themes/$config_themes/index.php";

$text = file("../local/profil/$log.prof"); 
if ($text!=""){
$udata = explode(":||:",$text[0]);
$provlog=trim($udata[0]);
$provpar=trim($udata[1]);
$dostup=trim($udata[7]);
$privat=trim($udata[10]);}

$date=date("d.m.y");
$time=date("H:i"); 

if ($_SESSION['log']!="" && md5($_SESSION['par'])!="" && md5($_SESSION['par'])==$provpar && $_SESSION['log']==$provlog ) {
if ($dostup==101 || $dostup==102){

echo'<img src="../images/img/menu.gif" alt=""> <b>Управление новостями</b><br><br>';

//--------------------------- Главная страница -------------------------------//
if(!isset($action)){
$file = file("../local/news.dat");
$file = array_reverse($file);

$total = count($file);    
if (empty($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if ($total < $start + $config_postnews){ $end = $total; }
else {$end = $start + $config_postnews; }
for ($fm = $start; $fm < $end; $fm++){

$dt = explode("|",$file[$fm]);

$num=$total-$fm-1;

$dt[1]=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&amp;._=/~%#]*(\\?[[:alnum:]?+&amp;_=/%#]*)?)?)", "<a href='\\1'>\\1</a>", $dt[1]);

if($fm>=0){
echo '<div class=b><img src="../images/img/edit.gif" alt=""> ';
echo '<b>'.$dt[0].'</b> ('.$dt[2].' '.$dt[3].')<br>';
echo '<a href="news.php?action=editnews&amp;id='.$num.'&amp;start='.$start.'&amp;'.SID.'">[Edit]</a>';
echo '<a href="news.php?action=del&amp;id='.$num.'&amp;start='.$start.'&amp;kil='.$dt[5].'&amp;'.SID.'">[DEL]</a>';
echo '</div><div>'.$dt[1].'<br>';

echo 'Разместил: '.$dt[4].'<br>';
echo '<a href="../news/komm.php?id='.$dt[5].'&amp;'.SID.'">Комментарии</a></div>';}

}
if($total<1){echo'Новостей нет<br>';}   
echo '<hr>';
if ($start != 0) {echo '<a href="news.php?start='.($start - $config_postnews).'&amp;'.SID.'">&lt;-Назад</a> ';}else{echo'&lt;-Назад';}
echo' | '; 
if ($total > $start + $config_postnews) {echo ' <a href="news.php?start='.($start + $config_postnews).'&amp;'.SID.'">Далее-&gt;</a>';}else{echo'Далее-&gt;';}


$ba=ceil($total/$config_postnews);
$ba2=$ba*$config_postnews-$config_postnews;

echo '<br><hr>Страницы:';
$asd=$start-($config_postnews*3);
$asd2=$start+($config_postnews*4);

if($asd<$total && $asd>0){echo ' <a href="news.php?start=0&amp;'.SID.'">1</a> ... ';}

for($i=$asd; $i<$asd2;)
{
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_postnews);

if ($start==$i) {
echo ' <b>'.$ii.'</b>';
               }
                else {
echo ' <a href="news.php?start='.$i.'&amp;'.SID.'">'.$ii.'</a>';
                     }}


$i=$i+$config_postnews;}
if($asd2<$total){echo ' ... <a href="news.php?start='.$ba2.'&amp;'.SID.'">'.$ba.'</a>';}







echo '<br>Всего новостей в базе: '.$total.' <br>';
echo '<br><img src="../images/img/reload.gif" alt=""> <a href="news.php?action=addnews&amp;'.SID.'">Добавить новость</a>';
}
if ($total>1) {
echo'<br><img src="../images/img/error.gif" alt=""> <a href="news.php?action=proverka&amp;'.SID.'">Удалить новости</a>';}

if($action=="proverka") {
echo'Вы уверены что хотите удалить все новости?<br>';
echo'<img src="../images/img/error.gif" alt=""> <b><a href="news.php?action=alldel&amp;'.SID.'">Да уверен!</a></b><br>';
echo'<br><img src="../images/img/back.gif" alt=""> <a href="news.php?'.SID.'">Вернуться</a>';
 }

//---------------------------------------- УДАЛЕНИЕ ВСЕХ НОВОСТЕЙ -------------------------------------------//
if($action=="alldel") {
$file=file("../local/news.dat");
$fp=fopen("../local/news.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("$fp", 0777);
 $dir = opendir ("../local/datakomm"); 
   while ($file = readdir ($dir)) 
 {
    if (( $file != ".") && ($file != "..") && ($file != ".htaccess") && ($file != "index.php"))
    {
 	
unlink ("../local/datakomm/$file");
 }}

closedir ($dir);
header ("Location: news.php?".SID);	
}


//---------------------------------------- УДАЛЕНИЕ ВЫБРАННОЙ НОВОСТИ -------------------------------------------//
if($action=="del") {
if (isset($id))  {
$file=file("../local/news.dat");	
$fp=fopen("../local/news.dat","w");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($file);$i++) { if ($i==$id) {unset($file[$i]);} }
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
unlink ("../local/datakomm/$kil.dat");
}
header ("Location: news.php?start=$start&".SID);	
}



//---------------------------------------- ПОДГОТОВКА К РЕДАКТИРОВАНИЮ НОВОСТИ -------------------------------------------//
if($action=="editnews") {
$lines=file("../local/news.dat");
if (isset($id))  {

$dt=explode("|", $lines[$id]);
echo'Редактирование<br>';
if($config_themes!=="wml"){
echo'<form action="news.php?action=edit&amp;id='.$id.'&amp;start='.$start.'&amp;'.SID.'" method="POST">';
echo'Дата: <br><input type="text" name="day" value="'.$dt[2].'"><br>';
echo'Время: <br><input type="text" name="timer" value="'.$dt[3].'"><br>';
echo'Заголовок: <br><input type="text" name="name" value="'.$dt[0].'"><br>'; 
echo'Cообщение:<br>';
echo'<textarea cols="25" rows="3" name="msg">'.$dt[1].'</textarea><br>';
echo'<input type="hidden" name="logins" value="'.$dt[4].'">';
echo'<input type="hidden" name="koll" value="'.$dt[5].'">';
echo'<br><input type="submit" value="Изменить"></form><hr>';
}else{

echo'Дата: <br><input type="text" name="day" value="'.$dt[2].'"/><br>';
echo'Время: <br><input type="text" name="timer" value="'.$dt[3].'"/><br>';
echo'Заголовок:<br><input type="text" name="name" value="'.$dt[0].'"/><br>';
echo'Cообщение:<br><input type="text" name="msg" value="'.$dt[1].'"/><br>';

echo'<anchor>Изменить';
echo'<go href="news.php?action=edit&amp;id='.$id.'&amp;start='.$start.'&amp;'.SID.'" method="post">';
echo'<postfield name="name" value="$(name)"/>';
echo'<postfield name="day" value="$(day)"/>';
echo'<postfield name="timer" value="$(timer)"/>';
echo'<postfield name="msg" value="$(msg)"/>';
echo'<postfield name="logins" value="'.$dt[4].'"/>';
echo'<postfield name="koll" value="'.$dt[5].'"/>';

echo'</go></anchor><br>--------------------<br>';
}

}else{echo'Произошла ошибка, не выбрана строка';
}}




//---------------------------------------- ПОДГОТОВКА К ДОБАВЛЕНИЮ НОВОСТИ -------------------------------------------//
if($action=="addnews"){
if($config_themes!=="wml"){

echo '<br><form action="news.php?action=add&amp;'.SID.'" method="post">';
echo '<b>Заголовок новости: </b><br>';
echo '<input type="text" name="subject" maxlength="50"><br>';
echo '<b>Новость: </b><br>';
echo '<textarea cols="25" rows="3" name="msg"></textarea><br>';
echo 'Транслит: <input name="trans" type="checkbox" value="y"><br>';
echo 'Создать рассылку?:';
echo '<input name="subadd" type="checkbox" value="yes"><br><br>';
echo '<input type="submit" value="Добавить"></form>';

}else{
echo'<b>Заголовок новости: </b><br>';
echo'<input name="subject" maxlength="50"/><br>';
echo'<b>Новость: </b><br>';
echo'<input name="msg" maxlength="1000"/><br>';
echo'Транслит: <select name="trans"><option value="0">Нет</option>';
echo'<option value="y">Да</option></select><br>';
echo'Создать рассылку?: <select name="subadd"><option value="no">Нет</option>';
echo'<option value="yes">Да</option></select><br><br>';



echo'<anchor>Добавить';
echo'<go href="news.php?action=add&amp;'.SID.'" method="post">';
echo'<postfield name="subject" value="$(subject)"/>';
echo'<postfield name="msg" value="$(msg)"/>';
echo'<postfield name="trans" value="$(trans)"/>';
echo'<postfield name="subadd" value="$(subadd)"/>';
echo'</go></anchor><br>--------------------<br>';
}

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






//---------------------------------------- РЕДАКТИРОВАНИЕ ВЫБРАННОЙ НОВОСТИ -------------------------------------------//
if($action=="edit"){
	
if (isset($_POST['page'])) {$page=$_POST['page'];} else {$page=1;}

$name=check($name);
$msg=check($msg);
$day=check($day);
$timer=check($timer);
$logins=check($logins);
$koll=(int)$koll;


$text=$name.'|'.$msg.'|'.$day.'|'.$timer.'|'.$logins.'|'.$koll.'|';
$text=preg_replace ("|[\r\n]+|si","",$text);


if (isset($id))  { 
$file=file("../local/news.dat");
$fp=fopen("../local/news.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0;$i< sizeof($file);$i++) {if ($id!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$text\r\n");}}
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/news.dat", 0777);
}

header ("Location: news.php?start=$start&".SID);
} 



//---------------------------------------- ДОБАВЛЕНИЕ НОВОСТИ -------------------------------------------//
if($action=="add"){
if(!empty($msg) && !empty($subject)){
	
if($trans=="y"){$msg=transliter($msg);}	
$msg=check($msg);	
$subject=check($subject);	
$msg = smiles($msg);
$log = smiles($log);

$file = file("../local/news.dat");
$total = count($file);
$total = $total - 1;

$data1 = explode("|",$file[$total]);
$me=round($data1[5]+1);



$text=$subject.'|'.$msg.'|'.$date.'|'.$time.'|'.$log.'|'.$me.'|';
$text=preg_replace ("|[\r\n]+|si","",$text);

$fp=fopen("../local/news.dat","a+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/news.dat", 0777);

$text=$brow.' - '.$ip.'|'.$msg.'|'.$date.'|'.$time.'|'.$log.'|1|';
$text=preg_replace ("|[\r\n]+|si","",$text);

$fp=fopen("../local/datakomm/$me.dat","w");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/datakomm/$me.dat", 0777);

$f = file("../local/local.dat"); 
$u = explode("|",$f[0]);

$u[4]++;
$t=$u[0].'|'.$u[1].'|'.$u[2].'|'.$u[3].'|'.$u[4].'|'.$u[5].'|'.$u[6].'|'.$u[7].'|'.$u[8].'|'.$u[9].'|'.$u[10].'|';


$fp = fopen("../local/local.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fputs($fp,$t);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/local.dat", 0777);

$file=file("../local/news.dat"); $i = count($file);
if ($i>=$config_maxpostnews) { 
$fp=fopen("../local/news.dat","w");
flock ($fp,LOCK_EX);
unset($file[0]);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
chmod($fp, 0777);
chmod("../local/news.dat", 0777);

$file = @file("../local/news.dat");
$data1 = explode("|",$file[0]);
unlink ("../local/datakomm/$data1[5].dat");
}


}else{header ("Location: news.php?action=addnews".SID); exit;}
echo 'Новость успешно добавлена!<br>';
echo'<br><img src="../images/img/back.gif" alt=""> <a href="news.php?'.SID.'">Вернуться к новостям</a><br>';
}






//---------------------------------------- БЛОК РАССЫЛКИ -------------------------------------------//
if($subadd=="yes"){
	
$subject = 'Рассылка новостей с сайта '.$config_title;	

$podpis="\r\nВы получили это письмо потому,\r\nчто являетесь подписчиком сайта ".$config_home." \r\nОтписаться от рассылки вы можете в своем профиле\r\nили перейдя по этой ссылке ".$config_home."/pages/subdel.php?subdel";

$msg=str_replace('<img src="../smiles/',':',$msg);
$msg=str_replace('.gif" alt="">','',$msg);


$podpis = utf_to_win($podpis);
$subject = utf_to_win($subject);	
$msg2 = utf_to_win($msg);

$podpis = convert_cyr_string($podpis, 'w','k');
$msg2 = convert_cyr_string($msg2, 'w','k');
$subject = convert_cyr_string($subject, 'w','k');

$mess="$subject ($date)\r\n$msg2\r\n$podpis";

$subject = '=?KOI8-R?B?'.base64_encode($subject).'?=';

$adds = "From: \"".$config_nikname."\" <".$config_emails.">\n"; 
$adds .= "X-sender: \"".$config_nikname."\" <".$config_emails.">\n";
$adds .= "Content-Type: text/plain; charset=koi8-r\n";   
$adds .= "MIME-Version: 1.0\r\n";
$adds .= "Content-Transfer-Encoding: 8bit\r\n";
$adds .= "X-Mailer: PHP v.".phpversion();


if (isset($_GET['last'])) {$last=$_GET['last'];} else {$last=0;} $next=$last+$config_submail;
$send_file=file("../local/sub.dat");
$send_count=count($send_file);
if ($next>$send_count) {$next=$send_count;}



for ($i=$last; $i<$next; $i++) {
$udata = explode("|",$send_file[$i]);
if($udata[0]!==""){
mail($udata[0],$subject,"$mess=$udata[1]",$adds);
}} $last=$next;

if (($last)<$send_count) {$per=round(100*$last/$send_count);
echo'<br>Рассылка начата.<br>Успешно отправлено: '.$per.'%<br><br>';
	
if($config_themes!=="wml"){	
echo'<form action="news.php?subadd=yes&amp;action=mail&amp;last='.$last.'&amp;'.SID.'" method="post" />';
echo'<input type="hidden" name="subject" value="'.$subject.'">';
echo'<input type="hidden" name="msg" value="'.$msg.'">';
echo'<input type="hidden" name="trans" value="'.$trans.'">';	
echo'<input type="submit" value="Продолжить рассылку"></form><hr>';

}else{
echo'<anchor>Продолжить рассылку';
echo'<go href="news.php?subadd=yes&amp;action=mail&amp;last='.$last.'&amp;'.SID.'" method="post">';

echo'<postfield name="subject" value="'.$subject.'"/>';
echo'<postfield name="msg" value="'.$msg.'"/>';
echo'<postfield name="trans" value="'.$trans.'"/>';

echo'</go></anchor><br>--------------------<br>';	
}

}else{

echo'Рассылка окончена';
}
echo'<br>Всего подписчиков: '.$send_count;
}



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

include_once"../themes/$config_themes/foot.php";
?>