<?php
//автор - figura
//сайт - http://f-pt.ru
include("../sistem/cfg.dat");
include("../sistem/global.dat");
include("../temes/$teme/verh.dat");
$nav_privat = "10";//временно
if($status=="uzer" || $status=="moder" || $status=="admin")
{
if(empty($act)){$act="index";}
if($act=="index")
{
echo'<div class="razd"><B>Почта сайта</B></div>';
echo '<div class="link">'.$img_act.'<a href="privat.php?act=in&'.SID.'">Входящие</a> ('.@count(@file("../data/privat/$login.dat")).')</div>';
echo '<div class="link">'.$img_act.'<a href="privat.php?act=out&'.SID.'">Исходящие</a> ('.@count(@file("../data/privat/out-$login.dat")).')</div>';
echo '<div class="link">'.$img_act.'<a href="privat.php?act=kontakt&'.SID.'">Контакты</a> ('.@count(@file("../data/privat/kontakt-$login.dat")).')</div>';
echo '<div class="link">'.$img_act.'<a href="privat.php?act=ignor&'.SID.'">Игнор</a> ('.@count(@file("../data/privat/ignor-$login.dat")).')</div>';
echo '<div class="link">'.$img_act.'<a href="privat.php?act=add&'.SID.'">Написать</a></div>';
$nom=count(file("../data/privat/$login.dat"));
///////////////////Код для автоудаления старых постов
if($nom >= "100")//если постов больше 150, то чистим:)
{
$str = file("../data/privat/$login.dat");
$nom=count($str);
$file_privat = fopen("../data/privat/$login.dat", "w+");
flock ($file_privat,LOCK_EX);
$i = "49";//удаляем последние 50 постов
$var = $nom;
while($i < $var)
{
fputs($file_privat,$str[$i]);
++$i;
}
flock ($file_privat,LOCK_UN);
fclose($file_privat);
@chmod("../data/privat/$login.dat", 0666);
}
$nom=count(file("../data/privat/out-$login.dat"));
///////////////////Код для автоудаления старых постов
if($nom >= "100")//если постов больше 150, то чистим:)
{
$str = file("../data/privat/out-$login.dat");
$nom=count($str);
$file_privat = fopen("../data/privat/out-$login.dat", "w+");
flock ($file_privat,LOCK_EX);
$i = "49";//удаляем последние 50 постов
$var = $nom;
while($i < $var)
{
fputs($file_privat,$str[$i]);
++$i;
}
flock ($file_privat,LOCK_UN);
fclose($file_privat);
@chmod("../data/privat/out-$login.dat", 0666);
}
}
if($act=="in")
{
echo'<div class="razd"><B>Входящие сообщения</B></div>';
if(file_exists("../data/privat/new-$login.dat")){ unlink("../data/privat/new-$login.dat"); }
//вывод сообщений в привате
$str = file("../data/privat/$login.dat");
$str=array_reverse($str);//перевернули масив
$nom=count($str);
//начало новой навигации
if(isset($_GET['nom_page']) && ($_GET['nom_page'] != "")){$nom_page = $_GET['nom_page'];}else{ $nom_page = "1"; }
if(eregi("[^0-9]" , $nom_page )){ $nom_page = "1"; }
$asd = $nom_page - 1;
$i= $asd * $nav_privat;
$var = $i+$nav_privat;
if($nom < $i){ $var = 0; echo'Страница не найдена!<br>'; }
while($i < $var)
{
if($i < $nom)
{
//показываем сообщение
$arrr=explode("<||>",$str[$i]);
if($uzer_cfg=@file("../data/uzer/$arrr[0].dat"))
{
$file_uzer=explode("<||>",$uzer_cfg[0]);
$postov_uzer=$file_uzer[2];
$lin_time = time() - $file_uzer[16];
if($lin_time <= 300)
{
$on_line = '<font COLOR="#008000">[on]</font>';
}else{ $on_line = '<font COLOR="#B22222">[off]</font>'; }
}else{
$postov_uzer="Пользователь удалён";
$on_line='';
}
echo'<div class="ramk">';
echo'<div class="sob">'.$arrr[1].' <a href="my_menu.php?act=anket&if_uzer='.$arrr[0].'&'.SID.'"><B>'.$arrr[0].'</B></a> ['.$postov_uzer.']'.$on_line.'</div>';
echo''.$arrr[2].'<br>';
echo'<a href="privat.php?act=add&if_uzer='.$arrr[0].'&'.SID.'">Ответить</a> <a href="privat.php?act=dell_sob&st='.$i.'&'.SID.'">Удалить</a> <a href="../pages/privat.php?act=in_ignor&if_uzer='.$arrr[0].'&'.SID.'">В игнор</a><br>';
echo'</div>';
}
++$i;
}
//конец новой навигации
$asd2 = ceil($nom / $nav_privat);
$asd3 = "0";
//навигация вперёд, назад
if("1" < $nom_page)
{
$nom_previous_page = $nom_page - 1;
echo '<a href="privat.php?act=index&nom_page='.$nom_previous_page.'&'.SID.'">Назад</a>';
}else{ echo 'Назад'; }
echo'|';
if($asd2 > $nom_page)
{
$nom_next_page = $nom_page + 1;
echo '<a href="privat.php?act=index&nom_page='.$nom_next_page.'&'.SID.'">Далее</a>';
}else{ echo 'Далее'; }
echo'<br>';
//навигация по номерам страниц
while(++$asd3 <= $asd2)
{
if($nom_page == $asd3)
{
echo'<b>('.$asd3.')</b> ';
}else
{
echo'<a href="privat.php?act=index&nom_page='.$asd3.'&'.SID.'">'.$asd3.'</a> ';
}
}
//============================================//
echo'<br>Всего сообщений <B>'.$nom.'</B><br>';
echo '<div class="link"><a href="privat.php?act=add&'.SID.'">Написать сообщение</a></div>';
echo '<div class="link"><a href="privat.php?act=index&'.SID.'">К папкам</a></div>';
///////////////////Код для автоудаления старых постов
if($nom >= "100")//если постов больше 150, то чистим:)
{
$str = file("../data/privat/$login.dat");
$nom=count($str);
$file_privat = fopen("../data/privat/$login.dat", "w+");
flock ($file_privat,LOCK_EX);
$i = "49";//удаляем последние 50 постов
$var = $nom;
while($i < $var)
{
fputs($file_privat,$str[$i]);
++$i;
}
flock ($file_privat,LOCK_UN);
fclose($file_privat);
@chmod("../data/privat/$login.dat", 0666);
}
$nom=count(file("../data/privat/out-$login.dat"));
///////////////////Код для автоудаления старых постов
if($nom >= "100")//если постов больше 150, то чистим:)
{
$str = file("../data/privat/out-$login.dat");
$nom=count($str);
$file_privat = fopen("../data/privat/out-$login.dat", "w+");
flock ($file_privat,LOCK_EX);
$i = "49";//удаляем последние 50 постов
$var = $nom;
while($i < $var)
{
fputs($file_privat,$str[$i]);
++$i;
}
flock ($file_privat,LOCK_UN);
fclose($file_privat);
@chmod("../data/privat/out-$login.dat", 0666);
}
}
if($act=="out")
{
echo'<div class="razd"><B>Исходящие письма</B></div>';
//вывод сообщений в привате
$str = file("../data/privat/out-$login.dat");
$str=array_reverse($str);//перевернули масив
$nom=count($str);
//начало новой навигации
if(isset($_GET['nom_page']) && ($_GET['nom_page'] != "")){$nom_page = $_GET['nom_page'];}else{ $nom_page = "1"; }
if(eregi("[^0-9]" , $nom_page )){ $nom_page = "1"; }
$asd = $nom_page - 1;
$i= $asd * $nav_privat;
$var = $i+$nav_privat;
if($nom < $i){ $var = 0; echo'Страница не найдена!<br>'; }
while($i < $var)
{
if($i < $nom)
{
//показываем сообщение
$arrr=explode("<||>",$str[$i]);
if($uzer_cfg=@file("../data/uzer/$arrr[0].dat"))
{
$file_uzer=explode("<||>",$uzer_cfg[0]);
$postov_uzer=$file_uzer[2];
$lin_time = time() - $file_uzer[16];
if($lin_time <= 300)
{
$on_line = '<font COLOR="#008000">[on]</font>';
}else{ $on_line = '<font COLOR="#B22222">[off]</font>'; }
}else{
$postov_uzer="Пользователь удалён";
$on_line='';
}
echo'<div class="ramk">';
echo'<div class="sob">'.$arrr[1].' Для <a href="my_menu.php?act=anket&if_uzer='.$arrr[0].'&'.SID.'"><B>'.$arrr[0].'</B></a> ['.$postov_uzer.']'.$on_line.'</div>';
echo''.$arrr[2].'<br>';
echo'<a href="privat.php?act=dell_out_sob&st='.$i.'&'.SID.'">Удалить</a> <a href="privat.php?act=add&if_uzer='.$arrr[0].'&'.SID.'">Написать ещё</a><br>';
echo'</div>';
}
++$i;
}
//конец новой навигации
$asd2 = ceil($nom / $nav_privat);
$asd3 = "0";
//навигация вперёд, назад
if("1" < $nom_page)
{
$nom_previous_page = $nom_page - 1;
echo '<a href="privat.php?act=out&nom_page='.$nom_previous_page.'&'.SID.'">Назад</a>';
}else{ echo 'Назад'; }
echo'|';
if($asd2 > $nom_page)
{
$nom_next_page = $nom_page + 1;
echo '<a href="privat.php?act=out&nom_page='.$nom_next_page.'&'.SID.'">Далее</a>';
}else{ echo 'Далее'; }
echo'<br>';
//навигация по номерам страниц
while(++$asd3 <= $asd2)
{
if($nom_page == $asd3)
{
echo'<b>('.$asd3.')</b> ';
}else
{
echo'<a href="privat.php?act=out&nom_page='.$asd3.'&'.SID.'">'.$asd3.'</a> ';
}
}
echo'<br>Всего сообщений <B>'.$nom.'</B><br>';
echo '<div class="link"><a href="privat.php?act=add&'.SID.'">Написать сообщение</a></div>';
echo '<div class="link"><a href="privat.php?act=index&'.SID.'">К папкам</a></div>';
}
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
if($act=="dell_sob")
{
echo'<div class="razd"><B>Удаление</B></div>';
if(isset($_GET['st'])){$st = $_GET['st'];}
//удаляем сообщение
$str = file("../data/privat/$login.dat");
$str=array_reverse($str);//перевернули масив
$nom=count($str)-1;
//функция удаления строки
$str[$st] =str_replace($str[$st],"",$str[$st]);
$str=array_reverse($str);//перевернули масив в исходное состояние
$i='0';
$var=$nom;
$file_privat = fopen("../data/privat/$login.dat", "w+");
flock ($file_privat,LOCK_EX);
while($i <= $var)
{
fputs($file_privat,$str[$i]);
++$i;
}
flock ($file_privat,LOCK_UN);
fclose($file_privat);
@chmod("../data/privat/$login.dat", 0666);
echo'Сообщение удалено<br>';
echo'<a href="privat.php?act=index&'.SID.'">Далее</a><br>';
}
if($act=="add")
{
echo'<div class="razd"><B>Новое сообщение</B></div>';
if(isset($_GET['if_uzer'])){$if_uzer = $_GET['if_uzer'];}
if(empty($if_uzer)){$if_uzer = "";}
$if_uzer=htmlspecialchars($if_uzer);
echo'<div class="ramk">';
echo'<form name="forma" action="privat.php?'.SID.'" method="post">
<INPUT TYPE="hidden" NAME="act" VALUE="add2">
Кому<br>
<input type="text" name="if_uzer" value="'.$if_uzer.'" size="10" maxlength="15"><br>
Сообщение<br>
<TEXTAREA NAME="txtsob" ROWS=3 COLS=20></TEXTAREA><br>
<input type="submit" name="" value="Написать"><br>
</form>';
echo'</div>';
echo'<div class="link"><a href="../pages/smiles.php?act=1&'.SID.'">Смайлы</a></div>';
echo'<div class="link"><a href="../pages/bb.php?'.SID.'">BB коды</a></div>';
echo'<div class="link"><a href="privat.php?act=index&'.SID.'">К папкам</a></div>';
}
if($act=="add2")
{
//начинаем проверять правильность ввода
if(isset($_POST['if_uzer'])){$if_uzer = $_POST['if_uzer'];}
if(isset($_POST['txtsob'])){$txtsob = $_POST['txtsob'];}
if($if_uzer == "" || $txtsob == "" || "1000" <= strlen($txtsob))
{
echo'<div class="razd"><B>Ошибка</B></div>';
echo'Не все поля заполнены или слишком длинный текст. Текст не должен превышать 1000 символов.<br>';
}else{
$if_uzer=htmlspecialchars($if_uzer);
$txtsob=htmlspecialchars($txtsob);
if($login != $if_uzer)
{
if(file_exists("../data/uzer/$if_uzer.dat"))
{
//проверяем ненаходится ли отправитель в игноре получателя
$str = file("../data/privat/ignor-$if_uzer.dat");
$nom=count($str)-1;
$asd = 0;
$i=0;
while($i <= $nom)
{
if(trim($str[$i]) == $login)
{
$asd = 1;
}
++$i;
}
if($asd == 1)
{
echo'<div class="razd"><B>Ошибка</B></div>';
echo'Пользователь запретил вам писать ему письма!<br>';
}else
{
//место для включения смайлов
include("../sistem/smiles.dat");
$txtsob = str_replace("\r","",$txtsob);//обработали переносы строк
$txtsob = str_replace("\n","<br>",$txtsob);//обработали переносы строк
$dat=htmlspecialchars(date("d.m.y H:i"));
$str=''.$login.'<||>'.$dat.'<||>'.$txtsob.'<||>';
if($file_privat = fopen("../data/privat/$if_uzer.dat", "a+"))
{
flock ($file_privat,LOCK_EX);
fputs($file_privat,$str."\r\n");
flock ($file_privat,LOCK_UN);
fclose($file_privat);
@chmod("../data/privat/$if_uzer.dat", 0666);
echo'<div class="razd"><B>Сообщение отправлено</B></div>';
echo'Спасибо <B>'.$login.'</B>!<br>Ваше сообщение успешно отправлено.<br>';
$file_new_privat = fopen("../data/privat/new-$if_uzer.dat", "w+");
fputs($file_new_privat,"");
fclose($file_new_privat);
@chmod("../data/privat/new-$if_uzer.dat", 0666);
//зписываем исходящее сообщение
$str=''.$if_uzer.'<||>'.$dat.'<||>'.$txtsob.'<||>';
if($file_out_privat = fopen("../data/privat/out-$login.dat", "a+"))
{
flock ($file_out_privat,LOCK_EX);
fputs($file_out_privat,$str."\r\n");
flock ($file_out_privat,LOCK_UN);
fclose($file_out_privat);
@chmod("../data/privat/out-$login.dat", 0666);
}
}else{
echo'<div class="razd"><B>Ошибка</B></div>';
echo'Ошибка отправки сообщения<br>';
}
}
}else
{
echo'<div class="razd"><B>Ошибка</B></div>';
echo'Пользователь с логином <B>'.$if_uzer.'</B> удалён, или не зарегистрирован!<br>';
}
}else{
echo'<div class="razd"><B>Ошибка</B></div>';
echo'Нельзя отправлять письма самому себе!<br>';
}
}
echo'<a href="privat.php?act=index&'.SID.'">Далее</a><br>';
}
if($act=="dell_out_sob")
{
echo'<div class="razd"><B>Удаление</B></div>';
if(isset($_GET['st'])){$st = $_GET['st'];}
//удаляем сообщение
$str = file("../data/privat/out-$login.dat");
$str=array_reverse($str);//перевернули масив
$nom=count($str)-1;
//функция удаления строки
$str[$st] =str_replace($str[$st],"",$str[$st]);
$str=array_reverse($str);//перевернули масив в исходное состояние
$i='-1';
$var=$nom;
$file_out_privat = fopen("../data/privat/out-$login.dat", "w+");
flock ($file_out_privat,LOCK_EX);
while($i <= $var)
{
fputs($file_out_privat,$str[$i]);
++$i;
}
flock ($file_out_privat,LOCK_UN);
fclose($file_out_privat);
@chmod("../data/privat/out-$login.dat", 0666);
echo'Сообщение удалено<br>';
echo'<a href="privat.php?act=out&'.SID.'">Далее</a><br>';
}
//////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////контакты///////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
if($act=="kontakt")
{
echo'<div class="razd"><B>Контакты</B></div>';
$str = file("../data/privat/kontakt-$login.dat");
$nom=count($str)-1;
$i=0;
while($i <= $nom)
{
$str[$i]=trim($str[$i]);
if($uzer_cfg=@file("../data/uzer/$str[$i].dat"))
{
$file_uzer=explode("<||>",$uzer_cfg[0]);
$postov_uzer=$file_uzer[2];
$lin_time = time() - $file_uzer[16];
if($lin_time <= 300)
{
$on_line = '<font COLOR="#008000">[on]</font>';
}else{ $on_line = '<font COLOR="#B22222">[off]</font>'; }
}else{
$postov_uzer="Пользователь удалён";
$on_line='';
}
echo'<div class="ramk">';
echo'<div class="sob"><a href="my_menu.php?act=anket&if_uzer='.$str[$i].'&'.SID.'"><B>'.$str[$i].'</B></a> ['.$postov_uzer.']'.$on_line.'</div>';
echo'<a href="privat.php?act=add&if_uzer='.$str[$i].'&'.SID.'">Написать</a><a href="privat.php?act=dell_kontakt&if_uzer='.$str[$i].'&'.SID.'">Удалить</a>';
echo'</div>';
++$i;
}
echo'<a href="privat.php?act=index&'.SID.'">К почте</a><br>';
}
if($act=="dell_kontakt")
{
echo'<div class="razd"><B>Контакты</B></div>';
if(isset($_GET['if_uzer'])){$if_uzer = $_GET['if_uzer'];}
$str = file("../data/privat/kontakt-$login.dat");
$nom=count($str)-1;
$file_kontakt = fopen("../data/privat/kontakt-$login.dat", "w+");
flock ($file_kontakt,LOCK_EX);
$i=0;
while($i <= $nom)
{
if(trim($str[$i]) != $if_uzer)
{
fputs($file_kontakt,$str[$i]);
}
++$i;
}
flock ($file_kontakt,LOCK_UN);
fclose($file_kontakt);
@chmod("../data/privat/kontakt-$login.dat", 0666);
echo'Удалено<br>';
echo'<a href="privat.php?act=kontakt&'.SID.'">В контакты</a><br>';
echo'<a href="privat.php?act=index&'.SID.'">К почте</a><br>';
}
if($act=="in_kontakt")
{
echo'<div class="razd"><B>Новый контакт</B></div>';
if(isset($_GET['if_uzer'])){$if_uzer = $_GET['if_uzer'];}
$str = file("../data/privat/kontakt-$login.dat");
$nom=count($str)-1;
$asd = 0;
$i=0;
while($i <= $nom)
{
if(trim($str[$i]) == $if_uzer)
{
$asd = 1;
}
++$i;
}
if($asd == 1)
{
echo'Контакт уже был добавлен!<br>';
}else
{
if($nom <= "50")
{
if($login != $if_uzer)
{
if(file_exists("../data/uzer/$if_uzer.dat"))
{
$file_kontakt = fopen("../data/privat/kontakt-$login.dat", "a+");
flock ($file_kontakt,LOCK_EX);
fputs($file_kontakt,$if_uzer."\n");
flock ($file_kontakt,LOCK_UN);
fclose($file_kontakt);
@chmod("../data/privat/kontakt-$login.dat", 0666);
echo'Контакт добавлен!<br>';
echo'<a href="privat.php?act=kontakt&'.SID.'">В контакты</a><br>';
echo'<a href="privat.php?act=index&'.SID.'">К почте</a><br>';
}else
{
echo'Юзер не найден!<br>';
}
}else
{
echo'Зачем добавлять самого себя?<br>';
}
}else
{
echo'Слишком много контактов, удалите не нужные!<br>';
}
}
}
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////игнор///////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
if($act=="ignor")
{
echo'<div class="razd"><B>Игнор лист</B></div>';
$str = file("../data/privat/ignor-$login.dat");
$nom=count($str)-1;
$i=0;
while($i <= $nom)
{
$str[$i]=trim($str[$i]);
echo'<div class="ramk">';
echo'<div class="sob"><a href="my_menu.php?act=anket&if_uzer='.$str[$i].'&'.SID.'"><B>'.$str[$i].'</B></a></div>';
echo'<a href="privat.php?act=add&if_uzer='.$str[$i].'&'.SID.'">Написать</a><a href="privat.php?act=dell_ignor&if_uzer='.$str[$i].'&'.SID.'">Удалить</a>';
echo'</div>';
++$i;
}
echo'<a href="privat.php?act=index&'.SID.'">К почте</a><br>';
}
if($act=="dell_ignor")
{
echo'<div class="razd"><B>Игнор лист</B></div>';
if(isset($_GET['if_uzer'])){$if_uzer = $_GET['if_uzer'];}
$str = file("../data/privat/ignor-$login.dat");
$nom=count($str)-1;
$file_kontakt = fopen("../data/privat/ignor-$login.dat", "w+");
flock ($file_kontakt,LOCK_EX);
$i=0;
while($i <= $nom)
{
if(trim($str[$i]) != $if_uzer)
{
fputs($file_kontakt,$str[$i]);
}
++$i;
}
flock ($file_kontakt,LOCK_UN);
fclose($file_kontakt);
@chmod("../data/privat/ignor-$login.dat", 0666);
echo'Удалено<br>';
echo'<a href="privat.php?act=ignor&'.SID.'">Игнор лист</a><br>';
echo'<a href="privat.php?act=index&'.SID.'">К почте</a><br>';
}
if($act=="in_ignor")
{
echo'<div class="razd"><B>Игнор лист</B></div>';
if(isset($_GET['if_uzer'])){$if_uzer = $_GET['if_uzer'];}
$str = file("../data/privat/ignor-$login.dat");
$nom=count($str)-1;
$asd = 0;
$i=0;
while($i <= $nom)
{
if(trim($str[$i]) == $if_uzer)
{
$asd = 1;
}
++$i;
}
if($asd == 1)
{
echo'Этот юзер уже есть в вашем списке!<br>';
}else
{
if($login != $if_uzer)
{
if(file_exists("../data/uzer/$if_uzer.dat"))
{
$file_kontakt = fopen("../data/privat/ignor-$login.dat", "a+");
flock ($file_kontakt,LOCK_EX);
fputs($file_kontakt,$if_uzer."\n");
flock ($file_kontakt,LOCK_UN);
fclose($file_kontakt);
@chmod("../data/privat/kontakt-$login.dat", 0666);
echo'Контакт добавлен в игнор!<br>';
echo'<a href="privat.php?act=ignor&'.SID.'">В игнор лист</a><br>';
echo'<a href="privat.php?act=index&'.SID.'">К почте</a><br>';
}else
{
echo'Юзер не найден!<br>';
}
}else
{
echo'Зачем добавлять самого себя?<br>';
}
}
}
}
if($status=="gost")
{
echo'<div class="razd"><B>ОШИБКА</B></div>';
echo'Вы не авторизированы<br>';
echo'<a href="../pages/rega.php?'.SID.'">Регистрация</a><br>';
echo'<a href="../pages/avtoriza.php?'.SID.'">Вход</a><br>';
}
if($status=="ban" )
{
echo'Вам сюда нельзя<br>';
}
echo'<hr size="2" width="100%">';
echo'<a href="../index.php?'.SID.'">Главная</a><br>';
include("../sistem/global_end.dat");
include("../temes/$teme/niz.dat");
?>