Exemplo n.º 1
0
function reportEmailList($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf)
{
    $pEmailList = new paloSantoEmailList($pDB);
    $pEmail = new paloEmail($pDB);
    $arrDomains = $pEmail->getDomains();
    if (count($arrDomains) == 0) {
        $smarty->assign("mb_message", _tr("There is no domain created. To use this module you need at least one domain. You can create a domain in the module Email->Domains"));
    } else {
        $smarty->assign("VirtualDomains", 1);
    }
    $arrDominios = array("all" => _tr("All"));
    foreach ($arrDomains as $domain) {
        $arrDominios[$domain[0]] = $domain[1];
    }
    $arrFormFilterEmailList = createFieldFilter($arrDominios);
    $oFilterForm = new paloForm($smarty, $arrFormFilterEmailList);
    //Verifico si en el archivo /etc/postfix/main.cf las variables alias_map y virtual_alias_map están apuntando a los archivos correctos, de no ser así se lo corrige
    $checkPostfixFile = $pEmailList->checkPostfixFile();
    //begin grid parameters
    $oGrid = new paloSantoGrid($smarty);
    if (getParameter("domain")) {
        $id_domain = getParameter("domain");
    } else {
        $id_domain = "all";
    }
    $_POST["domain"] = $id_domain;
    $total = $pEmailList->getNumEmailList($id_domain);
    $limit = 20;
    $oGrid->setLimit($limit);
    $oGrid->setTotal($total);
    $oGrid->setTitle(_tr("Email List"));
    $oGrid->setIcon("/modules/{$module_name}/images/email.png");
    $oGrid->pagingShow(true);
    // show paging section.
    $offset = $oGrid->calculateOffset();
    $url = array('menu' => $module_name, 'domain' => $id_domain);
    $oGrid->setURL($url);
    $button_eliminar = "";
    $arrResult = $pEmailList->getEmailList($id_domain, $limit, $offset);
    $arrColumns = array($button_eliminar, _tr("List name"), _tr("Membership"), _tr("Action"));
    $oGrid->setColumns($arrColumns);
    $arrData = null;
    if (is_array($arrResult) && $total > 0) {
        foreach ($arrResult as $key => $value) {
            $arrTmp[0] = "<input type='checkbox' name='" . $value['id'] . "' id='" . $value['id'] . "'>";
            $domainName = $pEmailList->getDomainName($value['id_domain']);
            $arrTmp[1] = "<a href='?menu={$module_name}&action=view_memberlist&id=" . $value['id'] . "'>{$value['listname']}@{$domainName}</a>";
            $arrTmp[2] = $pEmailList->getTotalMembers($value['id']);
            $arrTmp[3] = "<a href='?menu={$module_name}&action=new_memberlist&id=" . $value['id'] . "'>[ " . _tr("Add Members") . " ]</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='?menu={$module_name}&action=remove_memberlist&id=" . $value['id'] . "'>[ " . _tr("Remove members") . " ]</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='?menu={$module_name}&action=view_memberlist&id=" . $value['id'] . "'>[ " . _tr("View members") . " ]</a>";
            $arrData[] = $arrTmp;
        }
    }
    $oGrid->setData($arrData);
    //begin section filter
    //ya no se usa esa variable smarty
    //$smarty->assign("NEW_EMAILLIST", _tr("New Email list"));
    $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Domain") . " = " . $arrDominios[$id_domain], $_POST, array("domain" => "all"), true);
    $htmlFilter = $oFilterForm->fetchForm("{$local_templates_dir}/filter.tpl", "", $_POST);
    //end section filter
    $oGrid->addNew("new_emaillist", _tr("New Email list"));
    $oGrid->deleteList(_tr("Are you sure you wish to delete the Email List(s)."), "delete", _tr("Delete"));
    $oGrid->showFilter(trim($htmlFilter));
    $content = $oGrid->fetchGrid();
    if (strpos($content, '<form') === FALSE) {
        $content = "<form  method='POST' style='margin-bottom:0;' action=" . construirURL($url) . ">{$content}</form>";
    }
    //end grid parameters
    return $content;
}