function list_save()
{
    $listname = $_GET["listname"];
    $admin_email = $_GET["admin_email"];
    $tpl = new templates();
    if ($_SESSION["uid"] == -100) {
        echo "ok\n";
        $ou_q = base64_decode($_GET["ou"]);
    } else {
        $ct = new user($_SESSION["uid"]);
        $ou_q = $ct->ou;
    }
    $ldap = new clladp();
    $uid = $ldap->uid_from_email($admin_email);
    if ($uid == null) {
        echo $tpl->_ENGINE_parse_body("{$admin_email}:{mailman_admin_not_exists}");
        exit;
    }
    $ct = new user($uid);
    $listuid = $ldap->uid_from_email("{$listname}@{$domain}");
    if ($listuid != null) {
        echo $tpl->_ENGINE_parse_body("{account_already_exists}:{$listname}@{$domain}");
        exit;
    }
    if ($_GET["webservername"] == null) {
        echo $tpl->_ENGINE_parse_body("{www_server_name}:NULL !");
        exit;
    }
    $apache = new vhosts();
    $array = $apache->SearchHosts($_GET["webservername"] . '.' . $_GET["webservername_domain"]);
    if ($array["apacheservername"] != null) {
        echo $tpl->_ENGINE_parse_body($_GET["webservername"] . '.' . $_GET["webservername_domain"] . " {error_domain_exists}");
        exit;
    }
    $admin_password = $_GET["admin_password"];
    $domain = $_GET["domain"];
    $mailman = new mailman_control($ou_q);
    $mailman->list_name = $listname;
    $mailman->list_domain = $domain;
    $mailman->admin_email = $admin_email;
    $mailman->admin_password = $_GET["admin_password"];
    $mailman->webservername = $_GET["webservername"] . '.' . $_GET["webservername_domain"];
    if ($mailman->EditList()) {
    }
    $sock = new sockets();
    $sock->getFrameWork("cmd.php?syncro-mailman=yes");
}