Файл: clear_mail.php
Строк: 74
<?php
error_reporting(0);
include_once('./versions.inc');
$key=preg_replace('~[^0-9]~','',$_GET['key']); $er=true;
$ms=ms_connect(1);
include_once('./key.inc');
if ($er) {
p_begin(w2u('Ошибка'),'center');
echo w2u('Неверно введены данные..').$br.$_hr.$br.'<a href="index.php'.$_v1.'">'.w2u('Главная').'</a>'.$br;
p_end('center');
} else {
p_begin($user['login'].w2u('@').$user['domain'].' - '.w2u('Очистка ящика'));
$go=$_GET['go'];
if ($go<>1) {
if (!$wml) {echo '<form action="clear_mail.php?key='.$key.'&go=1" method="post">';} else {echo $br;}
echo w2u('<u>Удалить все письма:</u>').$br;
if (!$wml) {
echo '<input type="checkbox" name="read" value="1">'.w2u('Полученные').$br.'<input type="checkbox" name="unread" value="1">'.w2u('Новые (не полученные)').$br.'<input type="submit" value="'.w2u('Очистить').'"></form>';
} else {
echo '<select name="read" multiple="true" value="0"><option value="1">'.w2u('Полученные').'</option></select>'.$br.'<select name="unread" multiple="true" value="0"><option value="1">'.w2u('Новые (не полученные)').'</option></select>'.$br.'<anchor>'.w2u('Очистить').'<go href="clear_mail.php?key='.$key.'&go=1&wml" method="post"><postfield name="read" value="$(read)"/><postfield name="unread" value="$(unread)"/></go></anchor>'.$br;
}
} else {
$inbox=$_POST['read']; $unread=$_POST['unread'];
if ($read<>1 && $unread<>1) {
echo w2u('Ничего не выбрано..').$br;
} else {
$conn=false; $mids=null; $cnt=0;
$f=fsockopen($pd.$user['domain'],110,$e,$e,2); $rt=fgets($f);
if ($rt[0]=='+') {
fwrite($f,"USER ".$user['login'].$add."rn"); $rt=fgets($f);
if ($rt[0]=='+') {
fwrite($f,"PASS ".$pass."rn"); $rt=fgets($f);
if ($rt[0]=='+') {
$conn=true;
fwrite($f,"LISTrn"); $rt=trim(fgets($f));
if ($rt[0]=='+') {
while (!feof($f) || $rt<>'.') {
$rt=trim(fgets($f)); if ($rt=='.') {break;}
$mid=preg_replace('~^(d*)sd*$~','\1',$rt,1);
$mids[]=$mid; $cnt++;
}
}
}
}
}
if ($cnt>0) {
for ($i=0;$i<$cnt;$i++) {
if ($read==1 && $unread==1) {
fwrite($f,"DELE ".$mids[$i]."rn"); $rt=fgets($f);
} else {
fwrite($f,"UIDL ".$mids[$i]."rn"); $rt=trim(fgets($f));
if ($rt[0]=='+') {
$mess_id=del(preg_replace('~^.*sd*s(.*)$~','\1',$rt,1));
$res=ms_q("Select `id` From `inbox` Where `user`='".$user['id']."' And `msg_id`='".$mess_id."' Limit 1");
$rst=ms_num($res);
if ($read==1 && $rst==1) {
fwrite($f,"DELE ".$mids[$i]."rn"); $rt=fgets($f);
ms_q("Update `inbox` Set `server`='0' Where `user`='".$user['id']."' And `msg_id`='".$mess_id."' Limit 1");
} elseif ($unread==1 && $rst==0) {
fwrite($f,"DELE ".$mids[$i]."rn"); $rt=fgets($f);
}
}
}
}
}
if ($conn) {
fwrite($f,"QUITrn");
fclose($f);
}
echo w2u('Очистка выполнена!!').$br;
}
}
echo $_hr.$br.$_tr.' <a href="main.php?key='.$key.$_v2.'">'.w2u('Главная').'</a>'.$br.$_tr.' <a href="exit.php?key='.$key.$_v2.'">'.w2u('Выход').'</a>'.$br;
p_end();
}
ms_close($ms);
?>