Файл: clear_disk.php
Строк: 110
<?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_disk.php?key='.$key.'&go=1" method="post">';} else {echo $br;}
echo w2u('<u>Удалить все письма:</u>').$br;
if (!$wml) {
echo '<input type="checkbox" name="inbox" value="1">'.w2u('Входящие').$br.'<input type="checkbox" name="outbox" value="1">'.w2u('Исходящие').$br.'<input type="checkbox" name="arch_inbox" value="1">'.w2u('Архив входящих').$br.'<input type="checkbox" name="arch_outbox" value="1">'.w2u('Архив исходящих').$br.'<input type="submit" value="'.w2u('Очистить').'"></form>';
} else {
echo '<select name="inbox" multiple="true" value="0"><option value="1">'.w2u('Входящие').'</option></select>'.$br.'<select name="outbox" multiple="true" value="0"><option value="1">'.w2u('Исходящие').'</option></select>'.$br.'<select name="arch_inbox" multiple="true" value="0"><option value="1">'.w2u('Архив входящих').'</option></select>'.$br.'<select name="arch_outbox" multiple="true" value="0"><option value="1">'.w2u('Архив исходящих').'</option></select>'.$br.'<anchor>'.w2u('Очистить').'<go href="clear_disk.php?key='.$key.'&go=1&wml" method="post"><postfield name="inbox" value="$(inbox)"/><postfield name="outbox" value="$(outbox)"/><postfield name="arch_inbox" value="$(arch_inbox)"/><postfield name="arch_outbox" value="$(arch_outbox)"/></go></anchor>'.$br;
}
} else {
$inbox=$_POST['inbox']; $outbox=$_POST['outbox'];
$arch_inbox=$_POST['arch_inbox']; $arch_outbox=$_POST['arch_outbox'];
if ($inbox<>1 && $outbox<>1 && $arch_inbox<>1 && $arch_outbox<>1) {
echo w2u('Ничего не выбрано..').$br;
} else {
if ($inbox==1 || $arch_inbox==1) {
if ($inbox==1 && $arch_inbox==1) {$iadd='';} else {
if ($inbox==1) {$iadd=" And `save`='0'";} else {$iadd=" And `save`='1'";}
}
$res=ms_q("Select `id`,`server`,`msg_id`,`size` From `inbox` Where `user`='".$user['id']."'".$iadd);
$data=ms_data_full($res); $cnt=count($data);
if ($cnt>0) {
$f=fsockopen($pd.$user['domain'],110,$e,$e,2); $rt=fgets($f); $conn=false;
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; $mids=null; $msg_ids=null; $cntm=0;
fwrite($f,"LISTrn"); $rt=trim(fgets($f));
if ($rt[0]=='+') {
while (!feof($f) || $rt<>'.') {
$rt=trim(fgets($f)); if ($rt=='.') {break;}
preg_match('~^(d*)s(d*)$~',$rt,$ar);
$mids[]=$ar[1]; $cntm++;
}
if ($cntm>0) {
for ($i=0;$i<$cntm;$i++) {
fwrite($f,"UIDL ".$mids[$i]."rn"); $rt=trim(fgets($f));
if ($rt[0]=='+') {
$mess_id=del(preg_replace('~^.*sd*s(.*)$~','\1',$rt,1));
$msg_ids[]=$mess_id;
} else {$msg_ids[]='';}
}
}
}
}
}
}
for ($i=0;$i<$cnt;$i++) {
$size=$data[$i]['size']; $id=$data[$i]['id']; $server=$data[$i]['server'];
if ($server==1 && $conn && $cntm>0) {
$msg_id=$data[$i]['msg_id'];
$msg=array_search($msg_id,$msg_ids);
if ($msg!==false) {
fwrite($f,"DELE ".$mids[$msg]."rn"); $rt=fgets($f);
}
}
ms_q("Delete From `inbox` Where `user`='".$user['id']."' And `id`='".$id."' Limit 1");
ms_q("Delete From `files` Where `user`='".$user['id']."' And `mail`='".$id."'");
ms_q("Update `users` Set `size`=`size`-$size Where `id`='".$user['id']."' Limit 1");
}
if ($conn) {
fwrite($f,"QUITrn");
fclose($f);
}
ms_q("Optimize Table `files`");
}
}
if ($outbox==1 || $arch_outbox==1) {
if ($outbox==1 && $arch_outbox==1) {$iadd='';} else {
if ($outbox==1) {$iadd=" And `save`='0'";} else {$iadd=" And `save`='1'";}
}
$res=ms_q("Select `id`,`text_size` From `outbox` Where `user`='".$user['id']."'".$iadd);
$data=ms_data_full($res); $cnt=count($data);
if ($cnt>0) {
for ($i=0;$i<$cnt;$i++) {
$size=$data[$i]['text_size']; $id=$data[$i]['id'];
ms_q("Delete From `outbox` Where `user`='".$user['id']."' And `id`='".$id."' Limit 1");
ms_q("Delete From `files_list` Where `user`='".$user['id']."' And `mail`='".$id."'");
ms_q("Update `users` Set `size`=`size`-$size Where `id`='".$user['id']."' Limit 1");
}
}
}
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);
?>