Exemplo n.º 1
0
function reportInbound($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials)
{
    global $arrPermission;
    $error = "";
    $pORGZ = new paloSantoOrganization($pDB);
    $domain = getParameter("organization");
    $name = getParameter("name");
    //
    $domain = empty($domain) ? 'all' : $domain;
    if ($credentials['userlevel'] != "superadmin") {
        $domain = $credentials['domain'];
    }
    $url['menu'] = $module_name;
    $url['organization'] = $domain;
    $url['name'] = $name;
    if ($credentials['userlevel'] == "superadmin") {
        if (isset($domain) && $domain != "all") {
            $pInbound = new paloSantoInbound($pDB, $domain);
        } else {
            $pInbound = new paloSantoInbound($pDB, "");
        }
        $total = $pInbound->getNumInbound($domain, $name);
        $arrOrgz = array("all" => _tr("all"));
        foreach ($pORGZ->getOrganization(array()) as $value) {
            $arrOrgz[$value["domain"]] = $value["name"];
        }
    } else {
        $arrOrgz = array();
        $pInbound = new paloSantoInbound($pDB, $domain);
        $total = $pInbound->getNumInbound($domain, $name);
    }
    if ($total === false) {
        $error = $pInbound->errMsg;
        $total = 0;
    }
    $limit = 20;
    $oGrid = new paloSantoGrid($smarty);
    $oGrid->setLimit($limit);
    $oGrid->setTotal($total);
    $offset = $oGrid->calculateOffset();
    $end = $offset + $limit <= $total ? $offset + $limit : $total;
    $oGrid->setTitle(_tr('Inbound Routes List'));
    $oGrid->setUrl($url);
    $oGrid->setWidth("99%");
    $oGrid->setStart($total == 0 ? 0 : $offset + 1);
    $oGrid->setEnd($end);
    if ($credentials['userlevel'] == "superadmin") {
        $arrColumns[] = _tr("Organization");
    }
    $arrColumns[] = _tr("Description");
    $arrColumns[] = _tr("DID Number") . "/" . _tr("CID Number");
    $arrColumns[] = _tr("CID Prefix");
    $arrColumns[] = _tr("Language");
    $arrColumns[] = _tr("Destination");
    $oGrid->setColumns($arrColumns);
    $arrInbound = array();
    $arrData = array();
    if ($total != 0) {
        $arrInbound = $pInbound->getInbounds($domain, $name, $limit, $offset);
    }
    if ($arrInbound === false) {
        $error = _tr("Error to obtain Inbounds") . $pInbound->errMsg;
        $arrInbound = array();
    }
    foreach ($arrInbound as $inbound) {
        $arrTmp = array();
        if ($credentials['userlevel'] == 'superadmin') {
            $arrTmp[] = $arrOrgz[$inbound['organization_domain']];
        }
        //organization
        $arrTmp[] = "&nbsp;<a href='?menu=inbound_route&action=view&id_inbound=" . $inbound['id'] . "&organization={$inbound['organization_domain']}'>" . htmlentities($inbound['description'], ENT_QUOTES, "UTF-8") . "</a>";
        $did = $cid = "";
        if ($inbound["did_number"] != "") {
            $did = $inbound["did_number"];
        }
        if ($inbound["cid_number"] != "") {
            $cid = $inbound["cid_number"];
        }
        $arrTmp[] = $did . " / " . $cid;
        $arrTmp[] = $inbound["cid_prefix"];
        $arrTmp[] = $inbound["language"];
        $arrTmp[] = $inbound["destination"];
        $arrData[] = $arrTmp;
    }
    $smarty->assign("USERLEVEL", $credentials['userlevel']);
    $smarty->assign("SEARCH", "<input type='submit' class='button' value='" . _tr('Search') . "' name='report'>");
    if ($pORGZ->getNumOrganization(array()) >= 1) {
        if (in_array('create', $arrPermission)) {
            if ($credentials['userlevel'] == 'superadmin') {
                $oGrid->addComboAction("organization_add", _tr("ADD Incoming Route"), array_slice($arrOrgz, 1), $selected = null, "create_inbound", $onchange_select = null);
            } else {
                $oGrid->addNew("create_inbound", _tr("ADD Incoming Route"));
            }
        }
        if ($credentials['userlevel'] == 'superadmin') {
            $_POST["organization"] = $domain;
            $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Organization") . " = " . $arrOrgz[$domain], $_POST, array("organization" => "all"), true);
        }
        $_POST["name"] = $name;
        // name inboundrout
        $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Name") . " = " . $name, $_POST, array("name" => ""));
        $arrFormElements = createFieldFilter($arrOrgz);
        $oFilterForm = new paloForm($smarty, $arrFormElements);
        $htmlFilter = $oFilterForm->fetchForm("{$local_templates_dir}/filter.tpl", "", $_POST);
        $oGrid->showFilter(trim($htmlFilter));
    } else {
        $smarty->assign("mb_title", _tr("MESSAGE"));
        $smarty->assign("mb_message", _tr("It's necesary you create at least one organization so you can use this module"));
    }
    if ($error != "") {
        $smarty->assign("mb_title", _tr("MESSAGE"));
        $smarty->assign("mb_message", $error);
    }
    $contenidoModulo = $oGrid->fetchGrid(array(), $arrData);
    $mensaje = showMessageReload($module_name, $pDB, $credentials);
    $contenidoModulo = $mensaje . $contenidoModulo;
    return $contenidoModulo;
}