"; $name=""; $flag="0";// Очищаем переменные if (isset($_COOKIE['wrfcookies'])) { // ищем В КУКАХ wrfcookies чтобы вывести ИМЯ $wrfc=$_COOKIE['wrfcookies']; $wrfc=htmlspecialchars($wrfc); $wrfc=stripslashes($wrfc); $wrfc=explode("|", $wrfc); $wrfname=$wrfc[0]; $wrfpass=$wrfc[1]; $name=urlencode($wrfname); $name=strtolower($name); // ФАЗА 2: Сверяем логин и пароль в базе с тем, что у нас хранится в КУКАХ $lines=file("$datadir/usersdat.php"); $maxi=count($lines); $i="1"; do {$dt=explode("|", $lines[$i]); $i++; $dt[0]=strtolower($dt[0]); $pass=$wrfpass; if ($dt[0]===$name and $dt[1]===$pass) {$flag=1; $i=$maxi;} // ЕСЛИ нашли юзера, значит последний раз цикл работает } while($i < $maxi); } else echo'$shapka Система внутренних сообщений работает только для ЗАРЕГИСТРИРОВАННЫХ ПОЛЬЗОВАТЕЛЕЙ!'; // ЕСЛИ есть КУКИ if ($flag===1) { // ПОЛЬЗОВАТЕЛЬ ПРОШЁЛ КОНТРОЛЬ ДОСТОВЕРНОСТИ УЧЁТНОЙ ЗАПИСИ 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=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[2]==$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'])) { // ПРОСМОТР СООБЩЕНИЙ if (is_file("$datapmdir/$id.dat") & $id===strtolower($name)) { $rlines=file("$datapmdir/$id.dat"); $ri=count($rlines); $key="0"; if ($ri>0) { // Если файл не пуст print"
"; do {$ri--; $edt=explode("|",$rlines[$ri]); $data=date("d.m.y H:i",$edt[2]); $edt[1]=replacer($edt[1]); $edt[0]=replacer($edt[0]); $edt[1]=str_replace("<br>",'
',$edt[1]); if ($key==0) {$cvet="#E2F1FC"; $key=1;} else {$cvet="#F1F9FE"; $key=0;} print""; } while($ri>0); echo"

Личные сообщения [Входящие: $ri шт.]

ОтправительСообщение.X.

$edt[0]

$data

 $edt[1]

.X.

Удалить все сообщения"; } else {echo'
Ваша папка ПУСТА
';} // if ($ri>0) } } // isset($readpm) if(isset($_GET['savepm'])) { // СОХРАНЕНИЕ сообщения // Считываем всех пользователей, ищем того, которому адресовано сообщение $lines=file("$datadir/userstat.dat"); $maxi=count($lines); $i="0"; do {$dt=explode("|", $lines[$i]); $i++; $dt[0]=strtolower($dt[0]); //$id==strtolower($id); if ($dt[0]===$id) { // ЕСЛИ нашли юзера, которому адресовано сообщение, то пишем его $i=$maxi; // Нашли, значит последний раз цикл работает $msg=replacer($_POST['msg']); $msg=str_replace("|","I",$msg); if ($msg=="" || strlen($msg)>$maxpmmsg) exit("$shapka $back Ваше сообщение пустое или превышает $maxpmmsg символов.
"); $day=mktime(); $text="$name|$msg|$day|"; $fp=fopen("$datapmdir/$id.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); } // if ($dt[0]===$id) если нашли юзера } while($i < $maxi); exit(""); } if ($name!=$id) { // Если нет никакого вывода и ЧТОБЫ самому себе письма не отправлять! print"$shapka

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

Отправитель:Вы
Кому:$id
Текст сообщения:



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