$mod = new Module("mail"); $mod->setVersion("2.4.92"); $mod->setRevision('$Rev$'); $mod->setDescription(_T("Mail management", "mail")); $mod->setAPIVersion("7:0:0"); $mod->setPriority(10); $attrs = getMailAttributes(); $mod->addACL("mailaccess", _T("Mail access", "mail")); $mod->addACL("maildisable", _T("Disable mail delivery", "mail")); $mod->addACL($attrs["mailalias"], _T("Mail aliases", "mail")); $mod->addACL($attrs["mailbox"], _T("Mail delivery path", "mail")); $mod->addACL($attrs["mailhost"], _T("Mail server host", "mail")); $mod->addACL($attrs["mailuserquota"], _T("Mail user quota", "mail")); $mod->addACL("mailgroupaccess", _T("Mail group alias access", "mail")); $showAliasesModule = True; if (hasVDomainSupport()) { $showAliasesModule = False; $submod = new SubModule("domains"); $submod->setDescription(_T("Mail", "mail")); $submod->setImg('modules/mail/graph/img/mail'); $submod->setDefaultPage("mail/domains/index"); $submod->setPriority(10); $page = new Page("index", _T("Mail domains", "mail")); $submod->addPage($page); $page = new Page("add", _T("Add a domain", "mail")); $submod->addPage($page); $page = new Page("edit", _T("Edit a domain", "mail")); $page->setOptions(array("visible" => False)); $submod->addPage($page); $page = new Page("members", _T("View members", "mail")); $page->setOptions(array("visible" => False));
/** * Function called before changing user attributes * @param $FH FormHandler of the page * @param $mode add or edit mode */ function _mail_verifInfo($FH, $mode) { global $error; $mail_errors = ""; $attrs = getMailAttributes(); if ($FH->isUpdated($attrs['mailalias'])) { $ereg = '/^([A-Za-z0-9._+@-])*$/'; $mails = $FH->getValue($attrs['mailalias']); foreach ($mails as $key => $value) { if ($value && !preg_match($ereg, $mails[$key])) { $mail_errors .= sprintf(_T("%s is not a valid mail alias.", "mail"), $mails[$key]) . "<br />"; setFormError($attrs['mailalias'] . "[" . $key . "]"); } } } if ($FH->isUpdated($attrs['maildrop']) && count($FH->getValue($attrs['maildrop'])) == 0 && !hasVDomainSupport()) { $mail_errors .= _T("You must specify at least one mail drop. Usually it has the same name as the user.", "mail") . "<br />"; } if ($FH->getPostValue("mailaccess") == "on") { $mailreg = '/^([A-Za-z0-9._+-]+@[A-Za-z0-9.-]+)$/'; if (!preg_match($mailreg, $FH->getPostValue('mail'), $matches)) { $mail_errors .= _T("You must specify a valid mail address to enable mail delivery.", "mail") . "<br />"; setFormError("mail"); } } $error .= $mail_errors; return $mail_errors ? 1 : 0; }