Ejemplo n.º 1
0
function deleteDomain($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $arrLang, $virtual_postfix)
{
    $pEmail = new paloEmail($pDB);
    $id = (int) getParameter("id");
    $arrDomain = $pEmail->getDomains($id);
    if (!is_array($arrDomain) || count($arrDomain) <= 0) {
        $smarty->assign('mb_title', _tr('Error'));
        $smarty->assign('mb_message', _tr('Domain not found by ID'));
    } else {
        $sNombreDominio = $arrDomain[0][1];
        /*** preguntar si el domino que se desea eliminar tiene cuentas o listas de correos creadas ***/
        $arrList = $pEmail->getListByDomain($id);
        $arrAccounts = $pEmail->getAccountsByDomain($id);
        if (is_array($arrList) && count($arrList) > 0) {
            /*** 1) Existen listas creadas asignadas a ese dominio **/
            $smarty->assign("mb_title", _tr("Error"));
            $smarty->assign("mb_message", _tr("Please before to delete a domain delete all email lists asociated to ") . $sNombreDominio);
        } elseif (is_array($arrAccounts) && count($arrAccounts) > 0) {
            /*** 2) Existen creada cuentas de correos que corresponden a ese dominio ***/
            $smarty->assign("mb_title", _tr("Error"));
            $smarty->assign("mb_message", _tr("Please before to delete a domain delete all email accounts asociated to ") . $sNombreDominio);
        } else {
            $bExito = $pEmail->deleteDomain($sNombreDominio);
            if (!$bExito) {
                $smarty->assign("mb_title", _tr("Error"));
                $smarty->assign("mb_message", $pEmail->errMsg);
            } else {
                $smarty->assign("mb_message", _tr("Domain has been deleted"));
            }
        }
    }
    return viewFormDomain($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrLang);
}