Changeset 1799
- Timestamp:
- 04/19/07 09:35:36 (2 years ago)
- Files:
-
- alternc/trunk/bureau/class/m_mail.php (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
alternc/trunk/bureau/class/m_mail.php
r1703 r1799 107 107 $err->log("mail","enum_doms_mails",$dom); 108 108 if($letter == "@") 109 $letter = "";109 $letter = ""; 110 110 else 111 $letter = "%$letter";111 $letter .= "%"; 112 112 $db->query("SELECT mail,pop,alias FROM mail_domain WHERE mail LIKE '".addslashes($letter)."@".addslashes($dom)."' AND uid='$cuid' AND type=0;"); 113 113 $res=array(); $i=0; 114 114 while ($db->next_record()) { 115 if ($db->f("pop")) { 115 if ($db->f("pop")) { 116 116 $size=0; 117 117 $r=mysql_query("SELECT size FROM size_mail WHERE alias='".str_replace("@","_",$db->f("mail"))."';"); … … 121 121 if ($db->f("pop")) { 122 122 $login=str_replace("@","_",$db->f("mail")); 123 $account=str_replace($login,"",$db->f("alias")); 123 $account=str_replace($login,"",$db->f("alias")); 124 124 } else { 125 125 $account=$db->f("alias"); 126 126 } 127 $res[]=array("mail" => $db->f("mail"), "pop" => $db->f("pop"), 127 $res[]=array("mail" => $db->f("mail"), "pop" => $db->f("pop"), 128 128 "alias"=>$account,"size"=>$size); 129 129 $i++; … … 173 173 $err->log("mail","get_mail_details",$mail); 174 174 $db->query("SELECT mail,pop,alias FROM mail_domain WHERE mail='$mail' AND uid='$cuid';"); 175 if (!$db->next_record()) { 175 if (!$db->next_record()) { 176 176 $err->raise("mail",3,$mail); 177 177 return false; 178 178 } 179 $pop=$db->f("pop"); 179 $pop=$db->f("pop"); 180 180 if ($pop) { 181 181 $login=str_replace("@","_",$db->f("mail")); 182 $account=str_replace($login,"",$db->f("alias")); 182 $account=str_replace($login,"",$db->f("alias")); 183 183 } else { 184 184 $account=$db->f("alias"); … … 392 392 $err->raise("mail",6,$dom); 393 393 return false; 394 } 394 } 395 395 $db->query("SELECT mail FROM mail_domain WHERE mail='".$mail."@".$dom."' AND uid='$cuid';"); 396 396 if ($db->next_record()) { 397 397 $err->raise("mail",7,$mail."@".$dom); 398 398 return false; 399 } 399 } 400 400 401 401 /* QuotaCheck */ … … 428 428 $err->raise("mail",3,$dom); 429 429 return false; 430 } 430 } 431 431 /* Ok, le mail existe, on le detruit donc... */ 432 432 $t=explode("@",$mail); 433 433 $mdom=$t[0]; $dom=$t[1]; 434 434 $pop=$db->f("pop"); 435 435 436 436 $db->query("DELETE FROM mail_domain WHERE mail='$mail' AND uid='$cuid';"); 437 437 … … 452 452 global $db,$err; 453 453 $db->query("SELECT * FROM mxaccount WHERE login='$login' AND pass='$pass';"); 454 if ($db->next_record()) { 454 if ($db->next_record()) { 455 455 return true; 456 456 } … … 460 460 /* ----------------------------------------------------------------- */ 461 461 /** 462 * Out (echo) the complete mx-hosted domain list : 462 * Out (echo) the complete mx-hosted domain list : 463 463 */ 464 464 function echo_domain_list() { … … 597 597 $err->raise("mail",6,$dom); 598 598 return false; 599 } 599 } 600 600 */ 601 601 … … 612 612 } 613 613 /* Effacement du domaine himself */ 614 $db->query("DELETE FROM mail_domain WHERE mail LIKE '%@$dom';"); 615 $db->query("DELETE FROM mail_users WHERE alias LIKE '%@$dom' OR alias LIKE '%\\_$dom';"); 616 $db->query("DELETE FROM mail_alias WHERE mail LIKE '%\\_$dom';"); 614 $db->query("DELETE FROM mail_domain WHERE mail LIKE '%@$dom';"); 615 $db->query("DELETE FROM mail_users WHERE alias LIKE '%@$dom' OR alias LIKE '%\\_$dom';"); 616 $db->query("DELETE FROM mail_alias WHERE mail LIKE '%\\_$dom';"); 617 617 $db->query("DELETE FROM mail_domain WHERE mail='$dom';"); 618 618 return true; … … 630 630 $err->log("mail","alternc_add_mx_domain",$dom); 631 631 $db->query("INSERT INTO mail_domain (mail,alias) VALUES ('$dom','$dom');"); 632 // Create the postmaster email for this new domain : 632 // Create the postmaster email for this new domain : 633 633 $this->add_mail($dom,"postmaster",0,"",$mem->user["mail"]); 634 634 return true; … … 657 657 * Exports all the mail related information for an account. 658 658 * @access private 659 * EXPERIMENTAL 'sid' function ;) 659 * EXPERIMENTAL 'sid' function ;) 660 660 */ 661 661 function alternc_export($tmpdir) { … … 692 692 $str.=" </address>\n"; 693 693 } 694 } 694 } 695 695 $str.=" </domain>\n"; 696 696 } … … 698 698 fclose($f); 699 699 if ($onepop) { 700 // Now do the tarball of all pop accounts : 701 exec("/bin/tar -czf ".escapeshellarg($tmpdir."/mail.tar.gz")." -T ".escapeshellarg($tmpfile)); 700 // Now do the tarball of all pop accounts : 701 exec("/bin/tar -czf ".escapeshellarg($tmpdir."/mail.tar.gz")." -T ".escapeshellarg($tmpfile)); 702 702 } 703 703 @unlink($tmpfile); … … 708 708 /* ----------------------------------------------------------------- */ 709 709 /** 710 * Returns the declaration of all xml rpc exportable functions 710 * Returns the declaration of all xml rpc exportable functions 711 711 * related to mail service. Each method is returned as an array 712 712 * containing the function name, function, signature and docstring. 713 713 * @access private 714 * EXPERIMENTAL 'sid' function ;) 714 * EXPERIMENTAL 'sid' function ;) 715 715 */ 716 716 function alternc_xmlrpc_server() {
