diff --git a/bureau/admin/mail_del.php b/bureau/admin/mail_del.php
index 75780e73..cd404262 100755
--- a/bureau/admin/mail_del.php
+++ b/bureau/admin/mail_del.php
@@ -41,10 +41,27 @@ reset($d);
include_once ("head.php");
if ($confirm=="y") {
- $error="";
while (list($key,$val)=each($d)) {
- $mail->delete($val);
- $error.=$err->errstr()."
";
+ // Validate that this email is owned by me...
+ if (!($email = $mail->is_it_my_mail($val))) {
+ continue;
+ }
+
+ // Search for that address:
+ $db->query("SELECT a.id, NOT ISNULL(m.id) AS islocal FROM address a LEFT JOIN mailbox m ON m.address_id=a.id WHERE a.id= ? ;", array($val));
+
+ if (!$db->next_record()) {
+ $msg->raise('Error', "mail", _("The email %s does not exist, it can't be deleted"), $email);
+ continue;
+ }
+
+ if ($mail->delete($val)) {
+ if ($db->f("islocal")) {
+ $msg->raise('Ok', "mail", _("The email %s has been marked for deletion"), $email);
+ } else {
+ $msg->raise('Ok', "mail", _("The email %s has been successfully deleted"), $email);
+ }
+ }
}
include("mail_list.php");
exit();
@@ -61,15 +78,15 @@ if ($confirm=="y") {
+
" /> - "/>
diff --git a/bureau/admin/mail_doadd.php b/bureau/admin/mail_doadd.php
index dbafc1f2..bbc2521d 100644
--- a/bureau/admin/mail_doadd.php
+++ b/bureau/admin/mail_doadd.php
@@ -30,10 +30,10 @@ $fields = array (
getFields($fields);
if (!($res=$mail->create($domain_id,$mail_arg))) {
- $error=$err->errstr();
include("mail_list.php");
} else {
$_REQUEST["mail_id"]=$res;
+ $new_account=true;
include("mail_edit.php");
}
?>
diff --git a/bureau/admin/mail_doedit.php b/bureau/admin/mail_doedit.php
index 734429d2..d1f02477 100644
--- a/bureau/admin/mail_doedit.php
+++ b/bureau/admin/mail_doedit.php
@@ -28,6 +28,7 @@ require_once("../class/config.php");
$fields = array (
"mail_id" =>array ("post","integer",""),
+ "new_account" =>array ("post","integer",""),
"pass" => array ("post","string",""),
"passconf" => array("post","string",""),
"quotamb" => array("post","integer",0),
@@ -39,12 +40,10 @@ $fields = array (
getFields($fields);
$isedit=true; // if we go back to edit, it will know ;)
-$error="";
// We check that email first ... so that we can compare its status with our ...
if (!$res=$mail->get_details($mail_id)) {
- $error=$err->errstr();
- include("main.php");
+ include("mail_list.php");
exit();
} else {
@@ -52,21 +51,16 @@ if (!$res=$mail->get_details($mail_id)) {
/*
* checking the password
*/
- if(isset($pass) && $pass != ""){
- if($pass != $passconf){
- $error = _("Passwords do not match");
+ if($pass != $passconf){
+ $msg->raise("Error", "mail", _("Passwords do not match"));
+ include ("mail_edit.php");
+ exit();
+ } else {
+ if (!$mail->set_passwd($mail_id,$pass,($islocal == 1?false:true))) { /* SET THE PASSWORD */
include ("mail_edit.php");
exit();
- } else {
- if (!$mail->set_passwd($mail_id,$pass)) { /* SET THE PASSWORD */
- $error=$err->errstr();
- include ("mail_edit.php");
- exit();
- } else {
- $error.=$err->errstr()."
";
- }
- }
- }
+ }
+ }
/*
@@ -74,20 +68,14 @@ if (!$res=$mail->get_details($mail_id)) {
*/
if ($res["enabled"] && !$enabled) {
if (!$mail->disable($mail_id)) { /* DISABLE */
- $error=$err->errstr();
include ("mail_edit.php");
exit();
- } else {
- $error.=$err->errstr()."
";
}
}
if (!$res["enabled"] && $enabled) {
if (!$mail->enable($mail_id)) { /* ENABLE */
- $error=$err->errstr();
include ("mail_edit.php");
exit();
- } else {
- $error.=$err->errstr()."
";
}
}
@@ -96,11 +84,8 @@ if (!$res=$mail->get_details($mail_id)) {
* now the islocal + quota + recipients
*/
if (!$mail->set_details($mail_id,$islocal,$quotamb,$recipients)) { /* SET OTHERS */
- $error=$err->errstr();
include ("mail_edit.php");
exit();
- } else {
- $error.=$err->errstr()."
";
}
@@ -112,15 +97,15 @@ if (!$res=$mail->get_details($mail_id)) {
include ("mail_edit.php");
exit();
} else {
- foreach($rh as $h) if ($h) $error.=$h."
";
+ foreach($rh as $h) if ($h) $msg->raise("Error", "mail", $h);
}
}
-if (!$error || !trim($error,"
")) {
- unset($error);
- $success=_("Your email has been edited successfully");
-}
+if ($new_account)
+ $msg->raise("Ok", "mail", _("Your email has been created successfully")); // à traduire
+else
+ $msg->raise("Ok", "mail", _("Your email has been edited successfully"));
$_REQUEST["domain_id"]=$dom->get_domain_byname($res["domain"]);
include("mail_list.php");
diff --git a/bureau/admin/mail_edit.php b/bureau/admin/mail_edit.php
index f65f3b2e..a2ea24c4 100755
--- a/bureau/admin/mail_edit.php
+++ b/bureau/admin/mail_edit.php
@@ -37,8 +37,7 @@ $fields = array (
getFields($fields);
if (!$res=$mail->get_details($mail_id)) {
- $error=$err->errstr();
- include("main.php");
+ include("mail_list.php");
exit();
} else {
@@ -56,9 +55,10 @@ if (!$res=$mail->get_details($mail_id)) {
$error