Example #1
0
function viewFormEmaillist($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials)
{
    global $arrPermission;
    $pORGZ = new paloSantoOrganization($pDB);
    $pEmailList = new paloSantoEmailList($pDB);
    //no se puede editar una lista una vez que ha sido creada
    //la unica accion que existe es observar la configuracion de la lista
    $idList = getParameter("id");
    $action = getParameter("action");
    $arrDominios = array();
    if ($action == 'view_list') {
        //comprabamos que la lista exista
        if (empty($idList)) {
            $smarty->assign("mb_title", _tr("Error"));
            $smarty->assign("mb_message", _tr("Invalid Email List"));
            return reportEmailList($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
        } else {
            if ($credentials['userlevel'] == 'superadmin') {
                $emailList = $pEmailList->getEmailList($idList);
            } else {
                $emailList = $pEmailList->getEmailList($idList, $credentials['domain']);
            }
            if ($emailList == false) {
                $smarty->assign("mb_title", _tr("Error"));
                $error = $emailList === false ? _tr("Couldn't be retrieved Email List data") : _tr("Email List does not exist");
                $smarty->assign("mb_message", $error);
                return reportEmailList($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
            } else {
                $smarty->assign("DOMAIN", $emailList['organization_domain']);
                $smarty->assign("LIST_NAME", htmlentities($emailList['listname'], ENT_QUOTES, "UTF-8"));
                $smarty->assign("LIST_ADMIN_USER", $emailList['mailadmin']);
            }
        }
    } else {
        //queremos crear una nueva lista
        if ($credentials['userlevel'] == 'superadmin') {
            foreach ($pORGZ->getOrganization(array()) as $value) {
                $arrDominios[$value["domain"]] = $value["domain"];
            }
        }
        //se comprueba que el mailman haya sido configurado por primera vez
        $MailmanListCreated = $pEmailList->isMailmanListCreated();
        if (is_null($MailmanListCreated)) {
            $smarty->assign("mb_title", _tr("ERROR"));
            $smarty->assign("mb_message", $pEmailList->getError());
            return reportEmailList($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
        } elseif (!$MailmanListCreated) {
            $smarty->assign("StatusNew", 1);
            $smarty->assign("Mailman_Setting", _tr("Mailman Admin Settings"));
            if ($credentials['userlevel'] != 'superadmin') {
                //solo el superadmin puede hacer esta accion
                $smarty->assign("mb_title", _tr("ERROR"));
                $smarty->assign("mb_message", _tr("A new List can be added because some configurations are missed. Please contact with Elastix Admisnistrator"));
                return reportEmailList($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
            }
        }
    }
    $arrFormEmaillist = createFieldForm($arrDominios);
    $oForm = new paloForm($smarty, $arrFormEmaillist);
    if ($action == 'view_list') {
        $oForm->setViewMode();
    }
    if (in_array('delete_list', $arrPermission)) {
        $smarty->assign("DELETE_LIST", true);
    }
    $smarty->assign("USERLEVEL", $credentials['userlevel']);
    $smarty->assign("REQUIRED_FIELD", _tr("Required field"));
    $smarty->assign("CANCEL", _tr("Cancel"));
    $smarty->assign("SAVE", _tr("Save"));
    $smarty->assign("DELETE", _tr("Delete"));
    $smarty->assign("List_Setting", _tr("New List Settings"));
    $smarty->assign("icon", "web/apps/{$module_name}/images/email.png");
    $smarty->assign("idList", $idList);
    $htmlForm = $oForm->fetchForm("{$local_templates_dir}/form.tpl", _tr("New Email List"), $_POST);
    $content = "<form  method='POST' style='margin-bottom:0;' action='?menu={$module_name}'>" . $htmlForm . "</form>";
    return $content;
}