Ejemplo n.º 1
0
$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));
Ejemplo n.º 2
0
/**
 * 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;
}