'; $name=""; $flag=FALSE;// Очищаем переменные if (isset($_COOKIE['wrfcookies'])) { // ищем В КУКАХ wrfcookies чтобы вывести ИМЯ $wrfc=$_COOKIE['wrfcookies']; $wrfc=htmlspecialchars($wrfc,ENT_COMPAT,"windows-1251"); $wrfc=stripslashes($wrfc); $wrfc=explode("|", $wrfc); $wrfname=$wrfc[0]; $wrfpass=$wrfc[1]; $name=urldecode($wrfname);$name=strtolower($name); // ФАЗА 2: Сверяем логин и пароль в базе с тем, что у нас хранится в КУКАХ $lines=file("$datadir/user.php"); $maxi=count($lines); $i="1"; do {$dt=explode("|",$lines[$i]); $i++; $dt[2]=strtolower($dt[2]); $pass=$wrfpass; if ($dt[2]===$name and $dt[3]===$pass) {$flag=TRUE; $i=$maxi;} // ЕСЛИ нашли юзера, значит последний раз цикл работает } while($i < $maxi); } else echo"$shapka


Система внутренних сообщений работает только для ЗАРЕГИСТРИРОВАННЫХ ПОЛЬЗОВАТЕЛЕЙ!
"; // ЕСЛИ есть КУКИ if ($flag===TRUE) { // ПОЛЬЗОВАТЕЛЬ ПРОШЁЛ КОНТРОЛЬ ДОСТОВЕРНОСТИ УЧЁТНОЙ ЗАПИСИ function replacer ($text) { // ФУНКЦИЯ очистки кода $text=str_replace(" ",' ',$text); $text=str_replace(">",'>',$text); $text=str_replace("<",'<',$text); $text=str_replace("\"",'"',$text); $text=preg_replace("/\n\n/",'

',$text); $text=preg_replace("/\n/",'
',$text); $text=preg_replace("/\\\$/",'$',$text); $text=preg_replace("/\r/",'',$text); $text=preg_replace("/\\\/",'\',$text); // если magic_quotes включена - чистим везде СЛЭШи в этих случаях: одиночные (') и двойные кавычки ("), обратный слеш (\) if (get_magic_quotes_gpc()) { $text=str_replace("\"",'"',$text); $text=str_replace("\'",'\'',$text); $text=str_replace("\\",'\',$text); } $text=str_replace("\r\n","
",$text); $text=str_replace("\n\n",'

',$text); $text=str_replace("\n",'
',$text); $text=str_replace("\t",'',$text); $text=str_replace("\r",'',$text); $text=str_replace(' ',' ',$text); return $text; } if (isset($_GET['id'])) { // Если есть ИМЯ ПОЛЬЗОВАТЕЛЯ $id=replacer($_GET['id']); $id=urldecode($id); $id=strtolower($id); // переводим все ники в нижний регистр if (is_file("$datapmdir/$id.dat")) { $linesn=file("$datapmdir/$id.dat"); $in=count($linesn); if ($in > 500) exit("$back Максимальное количество сообщение достигнуто/B>! Удалите свои сообщения или попросите пользователя, которому Вы отправляете сообщение почистить свой ящик!"); } if(isset($_GET['deletemsg'])) { // Блок УДАЛЕНИЯ выбранного СООБЩЕНИЯ $num=replacer($_GET['deletemsg']); if ($num=="" or strlen($num)<5) exit("$shapka Ошибка, выбирите сообщение для удаления, либо ошибка скрипта!"); if (is_file("$datapmdir/$id.dat")) { $file=file("$datapmdir/$id.dat"); $fp=fopen("$datapmdir/$id.dat","w"); flock ($fp,LOCK_EX); for ($i=0;$i< sizeof($file);$i++) {$dt=explode("|",$file[$i]); if ($dt[1]==$num) unset($file[$i]);} fputs($fp, implode("",$file)); flock ($fp,LOCK_UN); fclose($fp); } // if is_file Header("Location: pm.php?readpm&id=$id"); exit; } if (isset($_GET['alldelete'])) { // ОЧИСТКА ЯЩИКА if ($id==$name & is_file("$datapmdir/$id.dat")) { unlink ("$datapmdir/$id.dat"); print"$shapka

Личные сообщения удалены!
Вы можете перейти на главную страницу форума по этой ссылке

";} else exit("$shapka $back У ВАС отсутствуют сообщения! Ваша папка ПУСТА."); } if (isset($_GET['sendpm'])) { // ОТПРАВКА СООБЩЕНИЯ print"$shapka


Сообщение отправлено!

Вы можете закрыть это окно! Либо перейти в папку с Вашими входящими письмами по этой ссылке:
pm.php?readpm&id=$name.
Либо перейти на главную страницу форума по этой ссылке
"; exit; } if (isset($_GET['readpm'])) { // ПРОСМОТР СООБЩЕНИЙ touch("$datapmdir/$id.dat"); // если нет файла с ПС, то создаём файл юзеру if (is_file("$datapmdir/$id.dat") & $id===strtolower($name)) { $rlines=file("$datapmdir/$id.dat"); $ri=count($rlines); $key="0"; if ($ri>0) { // Если файл не пуст $dir="Входящие"; $type=0; print"$shapka"; echo'
Личные сообщения '.$id.'
['.$dir.': '.$ri.' шт.]

'; //print""; do {$ri--; $edt=explode("|",$rlines[$ri]); $number=$ri+1; $data=date("d.m.y H:i",$edt[1]); $edt[7]=replacer($edt[7]); //if (strlen($edt[7])>1) $edt[7]=""; $edt[5]=replacer($edt[5]); $edt[8]=replacer($edt[8]); $edt[8]=str_replace("<br>",'
',$edt[8]); if ($key==0) {$cvet="#E2F1FC"; $key=1;} else {$cvet="#F1F9FE"; $key=0;} print""; // БЛОК быстрого ОТВЕТА print"
Отправитель

Сообщение

.X.

$edt[5]

$data





Сообщение № $number

"; if ($type==0) print"

ответить

"; print"удалить

тема: $edt[7]


$edt[8]



Быстрый ответ пользователю $edt[5]*
Кому: $edt[5]
Тема:
Сообщение:
 
"; } while($ri>0); echo"

Удалить все сообщения"; } else { print"$shapka"; echo'
Личные сообщения '.$id.'

'; print"
 


Ваша папка ПУСТА

Вы можете закрыть это окно! Либо перейти на главную страницу форума по ссылке: по этой ссылке.

"; echo'';} // if ($ri>0) } } // isset($readpm) if(isset($_GET['savepm'])) { // СОХРАНЕНИЕ сообщения $msg=replacer($_POST['msg']); $msg=str_replace("|","I",$msg); $tema=replacer($_POST['tema']); $tema=str_replace("|","I",$tema); if ($msg=="" || strlen($msg)>$maxpmmsg) exit("$shapka $back Ваше сообщение пустое или превышает $maxpmmsg символов.
"); if (strlen($tema)>$maxzag) exit("$shapka $back Тема Вашего сообщения превышает $maxzag символов.
"); // Считываем всех пользователей, ищем того, которому адресовано сообщение $i="0"; $from_rn=""; $tektime=time(); $to_rn=FALSE; $rn=mt_rand(10000,99999); // Колдуем случайный ключ $lines=file("$datadir/userstat.dat"); $maxi=count($lines); do {$dt=explode("|",$lines[$i]); $i++; $dt[2]=strtolower($dt[2]); if ($dt[2]===$name) $from_rn="$dt[0]"; // Ищем RN-ключ юзера, отправившего сообщение // Этот ключ НЕЛЬЗЯ передавать через форму! ОН нужен для безопасности скрипта! if ($dt[2]===$id) $to_rn=$dt[0]; // ЕСЛИ нашли юзера, которому адресовано сообщение, то выставляем ФЛАГ } while($i < $maxi); if ($to_rn!=FALSE) { // Новая структура файла: rn|time|status|from_rn|to_rn|from_name|to_name|tema|msg|rezerved| $text="$rn|$tektime|0|$from_rn|$to_rn|$name|$id|$tema|$msg||\r\n"; $fp=fopen("$datapmdir/$id.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,$text); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp);} exit(""); } if ($name!=$id) { // Если нет никакого вывода и ЧТОБЫ самому себе письма не отправлять! print"$shapka


Отправка персонального сообщения для $id*
Кому
$id



"; if ($showsmiles==TRUE) {$i=count($smiles)-1; for($k=0; $k<$i; $k=$k+2) {$j=$k+1; print" ";} } print"

Ещё смайлы
Тема:
Сообщение:
 



* Сообщение будет сохранено здесь. на форуме. Когда пользователь $id
зайдёт на форум, то увидит новое сообщение в своём ящике.";} } else echo'Отсутствует обязательный ключ id = ИМЯ_ПОЛЬЗОВАТЕЛЯ_КОМУ_БУДЕТ_ОТПРАВЛЕНО_СООБЩЕНИЕ'; //if isset($id) } else exit("Идентификатор пользователя не закодирован или пользователь не найден в БД!");// if ($flag==TRUE) ?>