function get_domain_running_props_cnt(&$sql, $domain_id)
{
    $sub_cnt = get_domain_running_sub_cnt($sql, $domain_id);
    $als_cnt = get_domain_running_als_cnt($sql, $domain_id);
    list($mail_acc_cnt, $dmn_mail_acc_cnt, $sub_mail_acc_cnt, $als_mail_acc_cnt) = get_domain_running_mail_acc_cnt($sql, $domain_id);
    list($ftp_acc_cnt, $dmn_ftp_acc_cnt, $sub_ftp_acc_cnt, $als_ftp_acc_cnt) = get_domain_running_ftp_acc_cnt($sql, $domain_id);
    list($sqld_acc_cnt, $sqlu_acc_cnt) = get_domain_running_sql_acc_cnt($sql, $domain_id);
    return array($sub_cnt, $als_cnt, $mail_acc_cnt, $ftp_acc_cnt, $sqld_acc_cnt, $sqlu_acc_cnt);
}
Example #2
0
/**
 * @param EasySCP_TemplateEngine $tpl
 * @param EasySCP_Database $sql
 * @param int $id
 */
function gen_dynamic_page_data($tpl, $sql, $id)
{
    global $domain_id;
    $cfg = EasySCP_Registry::get('Config');
    $dmn_props = get_domain_default_props($_SESSION['user_id']);
    $domain_id = $dmn_props['domain_id'];
    list($mail_acc_cnt) = get_domain_running_mail_acc_cnt($sql, $dmn_props['domain_id']);
    if ($dmn_props['domain_mailacc_limit'] != 0 && $mail_acc_cnt >= $dmn_props['domain_mailacc_limit']) {
        set_page_message(tr('Mail accounts limit reached!'), 'warning');
        user_goto('mail_catchall.php');
    }
    $ok_status = $cfg->ITEM_OK_STATUS;
    $match = array();
    if (preg_match("/(\\d+);(normal|alias|subdom|alssub)/", $id, $match) == 1) {
        $item_id = $match[1];
        $item_type = $match[2];
        if ($item_type === 'normal') {
            $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tt1.`mail_id`, t1.`mail_type`, t2.`domain_name`, t1.`mail_acc`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users` AS t1,\n\t\t\t\t\t`domain` AS t2\n\t\t\t\tWHERE\n\t\t\t\t\tt1.`domain_id` = ?\n\t\t\t\tAND\n\t\t\t\t\tt2.`domain_id` = ?\n\t\t\t\tAND\n\t\t\t\t\tt1.`sub_id` = '0'\n\t\t\t\tAND\n\t\t\t\t\tt1.`status` = ?\n\t\t\t\tORDER BY\n\t\t\t\t\tt1.`mail_type` DESC, t1.`mail_acc`\n\t\t\t";
            $rs = exec_query($sql, $query, array($item_id, $item_id, $ok_status));
            if ($rs->recordCount() == 0) {
                $tpl->assign(array('FORWARD_MAIL' => $cfg->HTML_CHECKED, 'MAIL_LIST' => '', 'DEFAULT' => 'forward'));
            } else {
                $tpl->assign(array('NORMAL_MAIL' => $cfg->HTML_CHECKED, 'NORMAL_MAIL_CHECK' => 'checked', 'FORWARD_MAIL' => '', 'DEFAULT' => 'normal'));
                while (!$rs->EOF) {
                    $show_mail_acc = decode_idna($rs->fields['mail_acc']);
                    $show_domain_name = decode_idna($rs->fields['domain_name']);
                    $mail_acc = $rs->fields['mail_acc'];
                    $domain_name = $rs->fields['domain_name'];
                    $tpl->append(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => tohtml($show_mail_acc . "@" . $show_domain_name), 'MAIL_ACCOUNT_PUNNY' => tohtml($mail_acc . "@" . $domain_name)));
                    $rs->moveNext();
                }
            }
        } else {
            if ($item_type === 'alias') {
                $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tt1.`mail_id`, t1.`mail_type`, t2.`alias_name`, t1.`mail_acc`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users` AS t1,\n\t\t\t\t\t`domain_aliasses` AS t2\n\t\t\t\tWHERE\n\t\t\t\t\tt1.`sub_id` = t2.`alias_id`\n\t\t\t\tAND\n\t\t\t\t\tt1.`status` = ?\n\t\t\t\tAND\n\t\t\t\t\tt1.`mail_type` LIKE 'alias_%'\n\t\t\t\tAND\n\t\t\t\t\tt2.`alias_id` = ?\n\t\t\t\tORDER BY\n\t\t\t\t\tt1.`mail_type` DESC, t1.`mail_acc`\n\t\t\t";
                $rs = exec_query($sql, $query, array($ok_status, $item_id));
                if ($rs->recordCount() == 0) {
                    $tpl->assign(array('FORWARD_MAIL' => $cfg->HTML_CHECKED, 'MAIL_LIST' => '', 'DEFAULT' => 'forward'));
                } else {
                    $tpl->assign(array('NORMAL_MAIL' => $cfg->HTML_CHECKED, 'NORMAL_MAIL_CHECK' => 'checked', 'FORWARD_MAIL' => '', 'DEFAULT' => 'normal'));
                    while (!$rs->EOF) {
                        $show_mail_acc = decode_idna($rs->fields['mail_acc']);
                        $show_alias_name = decode_idna($rs->fields['alias_name']);
                        $mail_acc = $rs->fields['mail_acc'];
                        $alias_name = $rs->fields['alias_name'];
                        $tpl->append(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => tohtml($show_mail_acc . "@" . $show_alias_name), 'MAIL_ACCOUNT_PUNNY' => tohtml($mail_acc . "@" . $alias_name)));
                        $rs->moveNext();
                    }
                }
            } else {
                if ($item_type === 'subdom') {
                    $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tt1.`mail_id`, t1.`mail_type`, CONCAT(t2.`subdomain_name`, '.', t3.`domain_name`) AS subdomain_name, t1.`mail_acc`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users` AS t1,\n\t\t\t\t\t`subdomain` AS t2,\n\t\t\t\t\t`domain` AS t3\n\t\t\t\tWHERE\n\t\t\t\t\tt1.`sub_id` = t2.`subdomain_id`\n\t\t\t\tAND\n\t\t\t\t\tt2.`domain_id` = t3.`domain_id`\n\t\t\t\tAND\n\t\t\t\t\tt1.`status` = ?\n\t\t\t\tAND\n\t\t\t\t\tt1.`mail_type` LIKE 'subdom_%'\n\t\t\t\tAND\n\t\t\t\t\tt2.`subdomain_id` = ?\n\t\t\t\tORDER BY\n\t\t\t\t\tt1.`mail_type` DESC, t1.`mail_acc`\n\t\t\t";
                    $rs = exec_query($sql, $query, array($ok_status, $item_id));
                    if ($rs->recordCount() == 0) {
                        $tpl->assign(array('FORWARD_MAIL' => $cfg->HTML_CHECKED, 'MAIL_LIST' => '', 'DEFAULT' => 'forward'));
                    } else {
                        $tpl->assign(array('NORMAL_MAIL' => $cfg->HTML_CHECKED, 'NORMAL_MAIL_CHECK' => 'checked', 'FORWARD_MAIL' => '', 'DEFAULT' => 'normal'));
                        while (!$rs->EOF) {
                            $show_mail_acc = decode_idna($rs->fields['mail_acc']);
                            $show_alias_name = decode_idna($rs->fields['subdomain_name']);
                            $mail_acc = $rs->fields['mail_acc'];
                            $alias_name = $rs->fields['subdomain_name'];
                            $tpl->append(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => tohtml($show_mail_acc . "@" . $show_alias_name), 'MAIL_ACCOUNT_PUNNY' => tohtml($mail_acc . "@" . $alias_name)));
                            $rs->moveNext();
                        }
                    }
                } else {
                    if ($item_type === 'alssub') {
                        $query = "\n\t\t\t\tSELECT\n\t\t\t\t\tt1.`mail_id`, t1.`mail_type`, CONCAT(t2.`subdomain_alias_name`, '.', t3.`alias_name`) AS subdomain_name, t1.`mail_acc`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users` AS t1,\n\t\t\t\t\t`subdomain_alias` AS t2,\n\t\t\t\t\t`domain_aliasses` AS t3\n\t\t\t\tWHERE\n\t\t\t\t\tt1.`sub_id` = t2.`subdomain_alias_id`\n\t\t\t\tAND\n\t\t\t\t\tt2.`alias_id` = t3.`alias_id`\n\t\t\t\tAND\n\t\t\t\t\tt1.`status` = ?\n\t\t\t\tAND\n\t\t\t\t\tt1.`mail_type` LIKE 'alssub_%'\n\t\t\t\tAND\n\t\t\t\t\tt2.`subdomain_alias_id` = ?\n\t\t\t\tORDER BY\n\t\t\t\t\tt1.`mail_type` DESC, t1.`mail_acc`\n\t\t\t";
                        $rs = exec_query($sql, $query, array($ok_status, $item_id));
                        if ($rs->recordCount() == 0) {
                            $tpl->assign(array('FORWARD_MAIL' => $cfg->HTML_CHECKED, 'MAIL_LIST' => '', 'DEFAULT' => 'forward'));
                        } else {
                            $tpl->assign(array('NORMAL_MAIL' => $cfg->HTML_CHECKED, 'NORMAL_MAIL_CHECK' => 'checked', 'FORWARD_MAIL' => '', 'DEFAULT' => 'normal'));
                            while (!$rs->EOF) {
                                $show_mail_acc = decode_idna($rs->fields['mail_acc']);
                                $show_alias_name = decode_idna($rs->fields['subdomain_name']);
                                $mail_acc = $rs->fields['mail_acc'];
                                $alias_name = $rs->fields['subdomain_name'];
                                $tpl->append(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => tohtml($show_mail_acc . "@" . $show_alias_name), 'MAIL_ACCOUNT_PUNNY' => tohtml($mail_acc . "@" . $alias_name)));
                                $rs->moveNext();
                            }
                        }
                    }
                }
            }
        }
    } else {
        user_goto('mail_catchall.php');
    }
}
Example #3
0
/**
 * Generates page
 *
 * @param iMSCP_pTemplate $tpl Template instance engine
 * @param int $domainId Domain unique identifier
 * @return void
 */
function reseller_generatePage($tpl, $domainId)
{
    $stmt = exec_query('
            SELECT
                domain_admin_id
            FROM
                domain
            INNER JOIN
                admin ON(admin_id = domain_admin_id)
            WHERE
                domain_id = ?
            AND
                created_by = ?
        ', array($domainId, $_SESSION['user_id']));
    if (!$stmt->rowCount()) {
        showBadRequestErrorPage();
    }
    $domainAdminId = $stmt->fields['domain_admin_id'];
    $domainProperties = get_domain_default_props($domainAdminId, $_SESSION['user_id']);
    // Domain IP address info
    $stmt = exec_query("SELECT ip_number FROM server_ips WHERE ip_id = ?", $domainProperties['domain_ip_id']);
    if (!$stmt->rowCount()) {
        $domainIpAddr = tr('Not found.');
    } else {
        $domainIpAddr = $stmt->fields['ip_number'];
    }
    $domainStatus = $domainProperties['domain_status'];
    // Domain status
    if ($domainStatus == 'ok' || $domainStatus == 'disabled' || $domainStatus == 'todelete' || $domainStatus == 'toadd' || $domainStatus == 'torestore' || $domainStatus == 'tochange' || $domainStatus == 'toenable' || $domainStatus == 'todisable') {
        $domainStatus = '<span style="color:green">' . tohtml(translate_dmn_status($domainStatus)) . '</span>';
    } else {
        $domainStatus = '<b><font size="3" color="red">' . $domainStatus . "</font></b>";
    }
    // Get total domain traffic usage in bytes
    $query = "\n        SELECT\n            IFNULL(SUM(dtraff_web), 0) AS dtraff_web, IFNULL(SUM(dtraff_ftp), 0) AS dtraff_ftp,\n            IFNULL(SUM(dtraff_mail), 0) AS dtraff_mail, IFNULL(SUM(dtraff_pop), 0) AS dtraff_pop\n        FROM\n            domain_traffic\n        WHERE\n            domain_id = ?\n        AND\n            dtraff_time BETWEEN ? AND ?\n    ";
    $stmt = exec_query($query, array($domainProperties['domain_id'], getFirstDayOfMonth(), getLastDayOfMonth()));
    if ($stmt->rowCount()) {
        $trafficUsageBytes = $stmt->fields['dtraff_web'] + $stmt->fields['dtraff_ftp'] + $stmt->fields['dtraff_mail'] + $stmt->fields['dtraff_pop'];
    } else {
        $trafficUsageBytes = 0;
    }
    // Get limits in bytes
    $trafficLimitBytes = $domainProperties['domain_traffic_limit'] * 1048576;
    $diskspaceLimitBytes = $domainProperties['domain_disk_limit'] * 1048576;
    // Get usages in percent
    $trafficUsagePercent = make_usage_vals($trafficUsageBytes, $trafficLimitBytes);
    $diskspaceUsagePercent = make_usage_vals($domainProperties['domain_disk_usage'], $diskspaceLimitBytes);
    // Get Email quota info
    list($quota, $quotaLimit) = reseller_gen_mail_quota_limit_mgs($domainAdminId);
    # Features
    $trEnabled = '<span style="color:green">' . tr('Enabled') . '</span>';
    $trDisabled = '<span style="color:red">' . tr('Disabled') . '</span>';
    $tpl->assign(array('DOMAIN_ID' => $domainId, 'VL_DOMAIN_NAME' => tohtml(decode_idna($domainProperties['domain_name'])), 'VL_DOMAIN_IP' => tohtml($domainIpAddr), 'VL_STATUS' => $domainStatus, 'VL_PHP_SUPP' => $domainProperties['domain_php'] == 'yes' ? $trEnabled : $trDisabled, 'VL_PHP_EDITOR_SUPP' => $domainProperties['phpini_perm_system'] == 'yes' ? $trEnabled : $trDisabled, 'VL_CGI_SUPP' => $domainProperties['domain_cgi'] == 'yes' ? $trEnabled : $trDisabled, 'VL_DNS_SUPP' => $domainProperties['domain_dns'] == 'yes' ? $trEnabled : $trDisabled, 'VL_EXT_MAIL_SUPP' => $domainProperties['domain_external_mail'] == 'yes' ? $trEnabled : $trDisabled, 'VL_SOFTWARE_SUPP' => $domainProperties['domain_software_allowed'] == 'yes' ? $trEnabled : $trDisabled, 'VL_BACKUP_SUP' => translate_limit_value($domainProperties['allowbackup']), 'VL_TRAFFIC_PERCENT' => $trafficUsagePercent, 'VL_TRAFFIC_USED' => bytesHuman($trafficUsageBytes), 'VL_TRAFFIC_LIMIT' => bytesHuman($trafficLimitBytes), 'VL_DISK_PERCENT' => $diskspaceUsagePercent, 'VL_DISK_USED' => bytesHuman($domainProperties['domain_disk_usage']), 'VL_DISK_LIMIT' => bytesHuman($diskspaceLimitBytes), 'VL_MAIL_ACCOUNTS_USED' => get_domain_running_mail_acc_cnt($domainId), 'VL_MAIL_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_mailacc_limit']), 'VL_MAIL_QUOTA_USED' => $quota, 'VL_MAIL_QUOTA_LIMIT' => $domainProperties['domain_mailacc_limit'] != '-1' ? $quotaLimit : tr('Disabled'), 'VL_FTP_ACCOUNTS_USED' => get_customer_running_ftp_acc_cnt($domainAdminId), 'VL_FTP_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_ftpacc_limit']), 'VL_SQL_DB_ACCOUNTS_USED' => get_domain_running_sqld_acc_cnt($domainId), 'VL_SQL_DB_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_sqld_limit']), 'VL_SQL_USER_ACCOUNTS_USED' => get_domain_running_sqlu_acc_cnt($domainId), 'VL_SQL_USER_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_sqlu_limit']), 'VL_SUBDOM_ACCOUNTS_USED' => get_domain_running_sub_cnt($domainId), 'VL_SUBDOM_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_subd_limit']), 'VL_DOMALIAS_ACCOUNTS_USED' => get_domain_running_als_cnt($domainId), 'VL_DOMALIAS_ACCOUNTS_LIMIT' => translate_limit_value($domainProperties['domain_alias_limit'])));
}
Example #4
0
/**
 * Get domain limit properties
 *
 * @param  int $domainId Domain unique identifier
 * @return array
 */
function get_domain_running_props_cnt($domainId)
{
    $subCount = get_domain_running_sub_cnt($domainId);
    $alsCount = get_domain_running_als_cnt($domainId);
    list($mailAccCount) = get_domain_running_mail_acc_cnt($domainId);
    // Transitional query - Will be removed asap
    $stmt = exec_query('SELECT domain_admin_id FROM domain WHERE domain_id = ?', $domainId);
    $ftpAccCount = get_customer_running_ftp_acc_cnt($stmt->fields['domain_admin_id']);
    list($sqlDbCount, $sqlUserCount) = get_domain_running_sql_acc_cnt($domainId);
    return array($subCount, $alsCount, $mailAccCount, $ftpAccCount, $sqlDbCount, $sqlUserCount);
}
function gen_dynamic_page_data(&$tpl, &$sql, $id)
{
    global $_SESSION, $cfg;
    global $domain_id;
    list($dmn_id, $dmn_name, $dmn_gid, $dmn_uid, $dmn_created_id, $dmn_created, $dmn_last_modified, $dmn_mailacc_limit, $dmn_ftpacc_limit, $dmn_traff_limit, $dmn_sqld_limit, $dmn_sqlu_limit, $dmn_status, $dmn_als_limit, $dmn_subd_limit, $dmn_ip_id, $dmn_disk_limit, $dmn_disk_usage, $dmn_php, $dmn_cgi) = get_domain_default_props($sql, $_SESSION['user_id']);
    $domain_id = $dmn_id;
    list($mail_acc_cnt, $dmn_mail_acc_cnt, $sub_mail_acc_cnt, $als_mail_acc_cnt) = get_domain_running_mail_acc_cnt($sql, $dmn_id);
    if ($dmn_mailacc_limit != 0 && $mail_acc_cnt >= $dmn_mailacc_limit) {
        set_page_message(tr('Mail accounts limit expired!'));
        header("Location: catchall.php");
        die;
    }
    $ok_status = $cfg['ITEM_OK_STATUS'];
    if (preg_match("/(\\d+);(dmn|als)/", $id, $match) == 1) {
        $item_id = $match[1];
        $item_type = $match[2];
        if ($item_type === 'dmn') {
            $query = <<<SQL_QUERY
                select
                    t1.mail_id, t1.mail_type, t2.domain_name, t1.mail_acc
                from
                    mail_users as t1,
                    domain as t2
                where
                    t1.domain_id = ?
                  and
                    t2.domain_id = ?
                  and
                    t1.sub_id = '0'
                  and
                    t1.status = ?
                order by
                    t1.mail_type desc, t1.mail_id
SQL_QUERY;
            $rs = exec_query($sql, $query, array($item_id, $item_id, $ok_status));
            if ($rs->RecordCount() == 0) {
                user_goto('catchall.php');
            }
            while (!$rs->EOF) {
                $show_mail_acc = decode_idna($rs->fields['mail_acc']);
                $show_domain_name = decode_idna($rs->fields['domain_name']);
                $mail_acc = $rs->fields['mail_acc'];
                $domain_name = $rs->fields['domain_name'];
                $tpl->assign(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => $show_mail_acc . "@" . $show_domain_name, 'MAIL_ACCOUNT_PUNNY' => $mail_acc . "@" . $domain_name));
                $tpl->parse('MAIL_LIST', '.mail_list');
                $rs->MoveNext();
            }
        } else {
            if ($item_type === 'als') {
                $query = <<<SQL_QUERY
                select
                    t1.mail_id, t1.mail_type, t2.alias_name, t1.mail_acc
                from
                    mail_users as t1,
                    domain_aliasses as t2
                where
                    t1.sub_id = t2.alias_id
                  and
                    t1.status = ?
                  and
                    t2.alias_id = ?
                order by
                  t1.mail_type desc, t1.mail_id
SQL_QUERY;
                $rs = exec_query($sql, $query, array($ok_status, $item_id));
                if ($rs->RecordCount() == 0) {
                    user_goto('catchall.php');
                }
                while (!$rs->EOF) {
                    $show_mail_acc = decode_idna($rs->fields['mail_acc']);
                    $show_alias_name = decode_idna($rs->fields['alias_name']);
                    $mail_acc = $rs->fields['mail_acc'];
                    $alias_name = $rs->fields['alias_name'];
                    $tpl->assign(array('MAIL_ID' => $rs->fields['mail_id'], 'MAIL_ACCOUNT' => $show_mail_acc . "@" . $show_alias_name, 'MAIL_ACCOUNT_PUNNY' => $mail_acc . "@" . $alias_name));
                    $tpl->parse('MAIL_LIST', '.mail_list');
                    $rs->MoveNext();
                }
            }
        }
    } else {
        user_goto('catchall.php');
    }
}
Example #6
0
        }
    }
}
/***********************************************************************************************************************
 * Main
 */
// Include core library
require 'imscp-lib.php';
iMSCP_Events_Aggregator::getInstance()->dispatch(iMSCP_Events::onClientScriptStart);
check_login('user');
customerHasFeature('mail') or showBadRequestErrorPage();
$dmnProps = get_domain_default_props($_SESSION['user_id']);
$emailAccountsLimit = $dmnProps['domain_mailacc_limit'];
// Check for mail accounts limit
if ($emailAccountsLimit != '0') {
    list($nbEmailAccounts) = get_domain_running_mail_acc_cnt($dmnProps['domain_id']);
    if ($nbEmailAccounts >= $emailAccountsLimit) {
        set_page_message(tr('You have reached the maximum number of email accounts allowed by your subscription.'), 'warning');
        redirectTo('mail_accounts.php');
    }
}
if (!empty($_POST)) {
    if (client_addMailAccount()) {
        redirectTo('mail_accounts.php');
    }
}
$tpl = new iMSCP_pTemplate();
$tpl->define_dynamic(array('layout' => 'shared/layouts/ui.tpl', 'page' => 'client/mail_add.tpl', 'page_message' => 'layout', 'mail_account' => 'page', 'domain_name_item' => 'mail_account'));
$tpl->assign(array('TR_PAGE_TITLE' => tr('Client / Email / Add Email Account'), 'TR_MAIl_ACCOUNT_DATA' => tr('Email account data'), 'TR_USERNAME' => tr('Username'), 'TR_DOMAIN_NAME' => tr('Domain name'), 'TR_MAIL_ACCOUNT_TYPE' => tr('Mail account type'), 'TR_NORMAL_MAIL' => tr('Normal'), 'TR_FORWARD_MAIL' => tr('Forward'), 'TR_FORWARD_NORMAL_MAIL' => tr('Normal + Forward'), 'TR_PASSWORD' => tr('Password'), 'TR_PASSWORD_REPEAT' => tr('Password confirmation'), 'TR_FORWARD_TO' => tr('Forward to'), 'TR_FWD_HELP' => tr('Separate multiple email addresses by comma or a line-break.'), 'TR_ADD' => tr('Add'), 'TR_CANCEL' => tr('Cancel')));
client_generatePage($tpl, $_SESSION['user_id']);
generateNavigation($tpl);
function gen_page_mail_acc_props(&$tpl, &$sql, $user_id)
{
    list($dmn_id, $dmn_name, $dmn_gid, $dmn_uid, $dmn_created_id, $dmn_created, $dmn_last_modified, $dmn_mailacc_limit, $dmn_ftpacc_limit, $dmn_traff_limit, $dmn_sqld_limit, $dmn_sqlu_limit, $dmn_status, $dmn_als_limit, $dmn_subd_limit, $dmn_ip_id, $dmn_disk_limit, $dmn_disk_usage, $dmn_php, $dmn_cgi) = get_domain_default_props($sql, $user_id);
    list($mail_acc_cnt, $dmn_mail_acc_cnt, $sub_mail_acc_cnt, $als_mail_acc_cnt) = get_domain_running_mail_acc_cnt($sql, $dmn_id);
    if ($dmn_mailacc_limit != 0 && $mail_acc_cnt >= $dmn_mailacc_limit) {
        set_page_message(tr('Mail accounts limit expired!'));
        header("Location: email_accounts.php");
        die;
    } else {
        if (!isset($_POST['uaction'])) {
            gen_page_form_data($tpl, $dmn_name, 'no');
            gen_dmn_als_list($tpl, $sql, $dmn_id, 'no');
            gen_dmn_sub_list($tpl, $sql, $dmn_id, $dmn_name, 'no');
            gen_page_js($tpl);
        } else {
            if (isset($_POST['uaction']) && $_POST['uaction'] === 'add_user') {
                gen_page_form_data($tpl, $dmn_name, 'yes');
                gen_dmn_als_list($tpl, $sql, $dmn_id, 'yes');
                gen_dmn_sub_list($tpl, $sql, $dmn_id, $dmn_name, 'yes');
                check_mail_acc_data($tpl, $sql, $dmn_id, $dmn_name);
            }
        }
    }
}