function gen_page_catchall_list(&$tpl, &$sql, $dmn_id, $dmn_name, $dmn_mails, $als_mails)
{
    global $counter;
    $total_mails = $dmn_mails + $als_mails;
    if ($total_mails == 0) {
        $tpl->assign(array('CATCHALL_MSG' => tr('Catch all mail account can not be created!'), 'CATCHALL_ITEM' => '', 'ITEM_CLASS' => 'content'));
        $tpl->parse('CATCHALL_MESSAGE', 'catchall_message');
        return;
    }
    $tpl->assign('CATCHALL_MESSAGE', '');
    //
    // Have We Any Domain Mails?
    //
    if ($dmn_mails > 0) {
        $query = <<<SQL_QUERY

            select

                mail_id, mail_acc, status

            from

                mail_users

            where

                domain_id = '{$dmn_id}'

              and

                sub_id = 0

              and

                mail_type = 'normal_catchall'

SQL_QUERY;
        $rs = execute_query($sql, $query);
        if ($rs->RecordCount() == 0) {
            gen_catchall_item($tpl, 'create', $dmn_id, $dmn_name, '', '', '', 'dmn');
        } else {
            gen_catchall_item($tpl, 'delete', $dmn_id, $dmn_name, $rs->fields['mail_id'], $rs->fields['mail_acc'], $rs->fields['status'], 'dmn');
        }
        $tpl->assign(array('ITEM_CLASS' => 'content'));
        $tpl->parse('CATCHALL_ITEM', 'catchall_item');
    }
    //
    // Have We Any Alias Mails?
    //
    if ($als_mails > 0) {
        $query = <<<SQL_QUERY

            select

                alias_id, alias_name

            from

                domain_aliasses

            where

                domain_id = '{$dmn_id}'

SQL_QUERY;
        $rs = execute_query($sql, $query);
        while (!$rs->EOF) {
            if ($counter % 2 == 0) {
                $tpl->assign('ITEM_CLASS', 'content2');
            } else {
                $tpl->assign('ITEM_CLASS', 'content');
            }
            $als_id = $rs->fields['alias_id'];
            $als_name = $rs->fields['alias_name'];
            $query = <<<SQL_QUERY
    
                select
    
                    mail_id, mail_acc, status
    
                from
    
                    mail_users
    
                where
    
                    domain_id = '{$dmn_id}'
    
                  and
    
                    sub_id = '{$als_id}'
    
                  and
    
                    mail_type = 'alias_catchall'
    
SQL_QUERY;
            $rs_als = execute_query($sql, $query);
            if ($rs_als->RecordCount() == 0) {
                gen_catchall_item($tpl, 'create', $als_id, $als_name, '', '', '', 'als');
            } else {
                gen_catchall_item($tpl, 'delete', $als_id, $als_name, $rs_als->fields['mail_id'], $rs_als->fields['mail_acc'], $rs_als->fields['status'], 'als');
            }
            $tpl->parse('CATCHALL_ITEM', '.catchall_item');
            $rs->MoveNext();
            $counter++;
        }
    }
}
Exemple #2
0
/**
 * @todo use db prepared statements
 * @param EasySCP_TemplateEngine $tpl
 * @param EasySCP_Database $sql
 * @param int $dmn_id
 * @param string $dmn_name
 */
function gen_page_catchall_list($tpl, $sql, $dmn_id, $dmn_name)
{
    global $counter;
    $tpl->assign('CATCHALL_MESSAGE', '');
    $query = "\n\t\t\tSELECT\n\t\t\t\t`mail_id`, `mail_acc`, `status`\n\t\t\tFROM\n\t\t\t\t`mail_users`\n\t\t\tWHERE\n\t\t\t\t`domain_id` = '{$dmn_id}'\n\t\t\tAND\n\t\t\t\t`sub_id` = 0\n\t\t\tAND\n\t\t\t\t`mail_type` = 'normal_catchall'\n\t\t";
    $rs = execute_query($sql, $query);
    if ($rs->recordCount() == 0) {
        gen_catchall_item($tpl, 'create', $dmn_id, $dmn_name, '', '', '', 'normal');
    } else {
        gen_catchall_item($tpl, 'delete', $dmn_id, $dmn_name, $rs->fields['mail_id'], $rs->fields['mail_acc'], $rs->fields['status'], 'normal');
    }
    $tpl->assign(array('ITEM_CLASS' => 'content'));
    $query = "\n\t\t\tSELECT\n\t\t\t\t`alias_id`, `alias_name`\n\t\t\tFROM\n\t\t\t\t`domain_aliasses`\n\t\t\tWHERE\n\t\t\t\t`domain_id` = '{$dmn_id}'\n\t\t\tAND\n\t\t\t\t`status` = 'ok'\n\t\t";
    $rs = execute_query($sql, $query);
    while (!$rs->EOF) {
        $tpl->assign('ITEM_CLASS', $counter % 2 == 0 ? 'content2' : 'content');
        $als_id = $rs->fields['alias_id'];
        $als_name = $rs->fields['alias_name'];
        $query = "\n\t\t\t\tSELECT\n\t\t\t\t\t`mail_id`, `mail_acc`, `status`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users`\n\t\t\t\tWHERE\n\t\t\t\t\t`domain_id` = '{$dmn_id}'\n\t\t\t\tAND\n\t\t\t\t\t`sub_id` = '{$als_id}'\n\t\t\t\tAND\n\t\t\t\t\t`mail_type` = 'alias_catchall'\n\t\t\t";
        $rs_als = execute_query($sql, $query);
        if ($rs_als->recordCount() == 0) {
            gen_catchall_item($tpl, 'create', $als_id, $als_name, '', '', '', 'alias');
        } else {
            gen_catchall_item($tpl, 'delete', $als_id, $als_name, $rs_als->fields['mail_id'], $rs_als->fields['mail_acc'], $rs_als->fields['status'], 'alias');
        }
        $rs->moveNext();
        $counter++;
    }
    $query = "\n\t\t\tSELECT\n\t\t\t\ta.`subdomain_alias_id`, CONCAT(a.`subdomain_alias_name`,'.',b.`alias_name`) AS `subdomain_name`\n\t\t\tFROM\n\t\t\t\t`subdomain_alias` AS a, `domain_aliasses` AS b\n\t\t\tWHERE\n\t\t\t\tb.`alias_id` IN (SELECT `alias_id` FROM `domain_aliasses` WHERE `domain_id` = '{$dmn_id}')\n\t\t\tAND\n\t\t\t\ta.`alias_id` = b.`alias_id`\n\t\t\tAND\n\t\t\t\ta.`status` = 'ok'\n\t\t";
    $rs = execute_query($sql, $query);
    while (!$rs->EOF) {
        $tpl->assign('ITEM_CLASS', $counter % 2 == 0 ? 'content2' : 'content');
        $als_id = $rs->fields['subdomain_alias_id'];
        $als_name = $rs->fields['subdomain_name'];
        $query = "\n\t\t\t\tSELECT\n\t\t\t\t\t`mail_id`, `mail_acc`, `status`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users`\n\t\t\t\tWHERE\n\t\t\t\t\t`domain_id` = '{$dmn_id}'\n\t\t\t\tAND\n\t\t\t\t\t`sub_id` = '{$als_id}'\n\t\t\t\tAND\n\t\t\t\t\t`mail_type` = 'alssub_catchall'\n\t\t\t";
        $rs_als = execute_query($sql, $query);
        if ($rs_als->recordCount() == 0) {
            gen_catchall_item($tpl, 'create', $als_id, $als_name, '', '', '', 'alssub');
        } else {
            gen_catchall_item($tpl, 'delete', $als_id, $als_name, $rs_als->fields['mail_id'], $rs_als->fields['mail_acc'], $rs_als->fields['status'], 'alssub');
        }
        $rs->moveNext();
        $counter++;
    }
    $query = "\n\t\t\tSELECT\n\t\t\t\ta.`subdomain_id`, CONCAT(a.`subdomain_name`,'.',b.`domain_name`) AS `subdomain_name`\n\t\t\tFROM\n\t\t\t\t`subdomain` AS a, `domain` AS b\n\t\t\tWHERE\n\t\t\t\ta.`domain_id` = '{$dmn_id}'\n\t\t\tAND\n\t\t\t\ta.`domain_id` = b.`domain_id`\n\t\t\tAND\n\t\t\t\ta.`status` = 'ok'\n\t\t";
    $rs = execute_query($sql, $query);
    while (!$rs->EOF) {
        $tpl->assign('ITEM_CLASS', $counter % 2 == 0 ? 'content2' : 'content');
        $als_id = $rs->fields['subdomain_id'];
        $als_name = $rs->fields['subdomain_name'];
        $query = "\n\t\t\t\tSELECT\n\t\t\t\t\t`mail_id`, `mail_acc`, `status`\n\t\t\t\tFROM\n\t\t\t\t\t`mail_users`\n\t\t\t\tWHERE\n\t\t\t\t\t`domain_id` = '{$dmn_id}'\n\t\t\t\tAND\n\t\t\t\t\t`sub_id` = '{$als_id}'\n\t\t\t\tAND\n\t\t\t\t\t`mail_type` = 'subdom_catchall'\n\t\t\t";
        $rs_als = execute_query($sql, $query);
        if ($rs_als->recordCount() == 0) {
            gen_catchall_item($tpl, 'create', $als_id, $als_name, '', '', '', 'subdom');
        } else {
            gen_catchall_item($tpl, 'delete', $als_id, $als_name, $rs_als->fields['mail_id'], $rs_als->fields['mail_acc'], $rs_als->fields['status'], 'subdom');
        }
        $rs->moveNext();
        $counter++;
    }
}