Пример #1
0
function Addlist($vhost, $listname, $admin_mail, $password)
{
    if ($ApacheGroupWarePort == 80) {
        $ApacheGroupWarePort = null;
    } else {
        $ApacheGroupWarePort = ":{$ApacheGroupWarePort}";
    }
    $unix = new unix();
    $emailhost = $unix->hostname_g();
    $cmd = "/usr/lib/mailman/bin/newlist --quiet --urlhost={$vhost} --emailhost={$emailhost} {$listname} {$admin_mail} {$password}";
    writelogs("{$cmd}", __FUNCTION__, __FILE__, __LINE__);
    exec($cmd, $output);
    FixUrls();
}
Пример #2
0
function fixport($port, $file)
{
    $arrayDOMS = $GLOBALS["MAILMAN_LISTS"];
    $add_virtualhost[] = "VIRTUAL_HOSTS.clear()";
    $sock = new sockets();
    $ApacheGroupWarePort = $sock->GET_INFO("ApacheGroupWarePort");
    $user = new usersMenus();
    if (is_array($arrayDOMS)) {
        while (list($list, $array) = each($arrayDOMS)) {
            if ($array["domain"] == null) {
                continue;
            }
            $POSTFIX_STYLE_VIRTUAL_DOMAINS_CLEAN[$array["domain"]] = "'" . $array["domain"] . "'";
            $VIRTUAL_HOSTS[] = "'http://{$array["wwww"]}:{$port}': '{$array["domain"]}'";
            $add_virtualhost[] = "add_virtualhost('{$array["wwww"]}', '{$array["domain"]}')";
        }
    }
    while (list($index, $line) = each($POSTFIX_STYLE_VIRTUAL_DOMAINS_CLEAN)) {
        $POSTFIX_STYLE_VIRTUAL_DOMAINS[] = $line;
    }
    if (is_array($POSTFIX_STYLE_VIRTUAL_DOMAINS)) {
        $POSTFIX_STYLE_VIRTUAL_DOMAINS_TEXT = "POSTFIX_STYLE_VIRTUAL_DOMAINS=[" . implode(",", $POSTFIX_STYLE_VIRTUAL_DOMAINS) . "]";
    }
    if (is_array($VIRTUAL_HOSTS)) {
        $VIRTUAL_HOSTS_TEXT = "VIRTUAL_HOSTS = {" . implode(",", $VIRTUAL_HOSTS) . "}";
    }
    $MAILMAN_DEFAULT_URL_PATTERN = $sock->GET_INFO("MAILMAN_DEFAULT_URL_PATTERN");
    $MAILMAN_PUBLIC_ARCHIVE_URL = $sock->GET_INFO("MAILMAN_PUBLIC_ARCHIVE_URL");
    $MAILMAN_DEFAULT_EMAIL_HOST = $sock->GET_INFO("MAILMAN_DEFAULT_EMAIL_HOST");
    $MAILMAN_DEFAULT_URL_HOST = $sock->GET_INFO("MAILMAN_DEFAULT_URL_HOST");
    $MAILMAN_DEFAULT_SERVER_LANGUAGE = $sock->GET_INFO("MAILMAN_DEFAULT_SERVER_LANGUAGE");
    if ($MAILMAN_DEFAULT_URL_PATTERN == null) {
        $MAILMAN_DEFAULT_URL_PATTERN = "%s/cgi-bin/mailman/";
    }
    if ($MAILMAN_PUBLIC_ARCHIVE_URL == null) {
        $MAILMAN_PUBLIC_ARCHIVE_URL = "http://%(hostname)s:{$ApacheGroupWarePort}/pipermail/%(listname)s/index.html";
    }
    if ($MAILMAN_DEFAULT_URL_HOST == null) {
        $MAILMAN_DEFAULT_URL_HOST = "http://{$user->fqdn}:{$port}";
    }
    if ($MAILMAN_DEFAULT_SERVER_LANGUAGE == null) {
        $MAILMAN_DEFAULT_SERVER_LANGUAGE = "en";
    }
    $datas = explode("\n", @file_get_contents($file));
    while (list($num, $ligne) = each($datas)) {
        if (preg_match("#DEFAULT_URL_PATTERN#", $ligne)) {
            unset($datas[$num]);
        }
        if (preg_match("#POSTFIX_STYLE_VIRTUAL_DOMAINS#", $ligne)) {
            unset($datas[$num]);
        }
        if (preg_match("#VIRTUAL_HOSTS#", $ligne)) {
            unset($datas[$num]);
        }
        if (preg_match("#MTA#", $ligne)) {
            unset($datas[$num]);
        }
        if (preg_match("#VIRTUAL_HOST_OVERVIEW#", $ligne)) {
            unset($datas[$num]);
        }
        if (preg_match("#add_virtualhost#", $ligne)) {
            unset($datas[$num]);
        }
        if (preg_match("#PUBLIC_ARCHIVE_URL#", $ligne)) {
            unset($datas[$num]);
        }
        if (preg_match("#DEFAULT_SERVER_LANGUAGE#", $ligne)) {
            unset($datas[$num]);
        }
        if (preg_match("#DEFAULT_EMAIL_HOST#", $ligne)) {
            if ($MAILMAN_DEFAULT_EMAIL_HOST != null) {
                unset($datas[$num]);
            }
        }
        if (preg_match("#DEFAULT_URL_HOST#", $ligne)) {
            if ($MAILMAN_DEFAULT_URL_HOST != null) {
                unset($datas[$num]);
            }
        }
        if (trim($ligne) == null) {
            unset($datas[$num]);
        }
    }
    $datas[] = implode("\n", $add_virtualhost);
    $datas[] = "DEFAULT_URL_PATTERN='{$MAILMAN_DEFAULT_URL_PATTERN}'";
    $datas[] = $VIRTUAL_HOSTS_TEXT;
    $datas[] = "VIRTUAL_HOST_OVERVIEW = 1";
    $datas[] = $POSTFIX_STYLE_VIRTUAL_DOMAINS_TEXT;
    $datas[] = "PUBLIC_ARCHIVE_URL= '{$MAILMAN_PUBLIC_ARCHIVE_URL}'";
    $datas[] = "DEFAULT_SERVER_LANGUAGE= '{$MAILMAN_DEFAULT_SERVER_LANGUAGE}'";
    $datas[] = "MTA='Postfix'";
    if ($MAILMAN_DEFAULT_EMAIL_HOST != null) {
        $datas[] = "DEFAULT_EMAIL_HOST='{$MAILMAN_DEFAULT_EMAIL_HOST}'";
    }
    if ($MAILMAN_DEFAULT_URL_HOST != null) {
        $datas[] = "DEFAULT_URL_HOST='{$MAILMAN_DEFAULT_URL_HOST}'";
    }
    echo "Save {$file} line: " . __LINE__ . "\n";
    @file_put_contents($file, implode("\n", $datas));
    FixUrls();
}