<?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>';
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) - 1;
//начало новой навигации
if(isset($_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><br>';
echo'</div>';
}
++$i;
}
//конец новой навигации
$asd2 = ceil($asd / $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>'.count($str).'</B><br>';
echo '<div class="link"><a href="privat.php?act=add&'.SID.'">Написать сообщение</a></div>';
echo '<div class="link"><a href="privat.php?act=out&'.SID.'">Исходящие сообщение</a></div>';
//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==//==
///////////////////Код для автоудаления старых постов
if($nom >= "150")//если постов больше 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 >= "150")//если постов больше 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) -1;
//начало новой навигации
if(isset($_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><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>'.count($str).'</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'<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 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")
{
//echo'<div class="razd"><B>Новое сообщение</B></div>';
//начинаем проверять правильность ввода
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"))
{
//место для включения смайлов
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($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'<B>'.$prichina_bana.'</B><br><br>В данный момент вы можете только находиться на главной странице, или зарегистрировать себе другой акаунт. ЗНАЙТЕ, ЕСЛИ НАРУШЕНИЯ С ВАШЕЙ СТОРОНЫ НЕ ПРЕКРАТЯТСЯ, ТО ДОСТУП К САЙТУ ВАМ БУДЕТ ЗАКРЫТ ПОЛНОСТЬЮ!!!<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");
?>