function reportTG($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $error = ""; $pORGZ = new paloSantoOrganization($pDB); $domain = getParameter("organization"); $domain = empty($domain) ? 'all' : $domain; if ($credentials['userlevel'] != "superadmin") { $domain = $credentials['domain']; } $name = getParameter('name'); $url['menu'] = $module_name; $url['organization'] = $domain; $url['name'] = $name; //name $pTG = new paloSantoTG($pDB, $domain); $total = $pTG->getNumTG($domain, $name); $arrOrgz = array(); if ($credentials['userlevel'] == "superadmin") { $arrOrgz = array("all" => "all"); foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } } if ($total === false) { $error = $pTG->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('Time Groups List')); //$oGrid->setIcon('url de la imagen'); $oGrid->setWidth("99%"); $oGrid->setStart($total == 0 ? 0 : $offset + 1); $oGrid->setEnd($end); $oGrid->setTotal($total); $oGrid->setURL($url); $arrColum = array(); if ($credentials['userlevel'] == "superadmin") { $arrColum[] = _tr("Organization"); } $arrColum[] = _tr("Name"); $oGrid->setColumns($arrColum); $arrTG = array(); $arrData = array(); if ($total != 0) { $arrTG = $pTG->getTGs($domain, $name, $limit, $offset); } if ($arrTG === false) { $error = _tr("Error to obtain Time Groups") . $pTG->errMsg; $arrTG = array(); } $arrData = array(); foreach ($arrTG as $tg) { $arrTmp = array(); if ($credentials['userlevel'] == "superadmin") { $arrTmp[] = $arrOrgz[$tg["organization_domain"]]; } $arrTmp[] = " <a href='?menu={$module_name}&action=edit&id_tg=" . $tg['id'] . "&organization={$tg['organization_domain']}'>" . $tg['name'] . "</a>"; $arrData[] = $arrTmp; } if ($pORGZ->getNumOrganization(array()) >= 1) { if (in_array('create', $arrPermission)) { if ($credentials['userlevel'] == 'superadmin') { $oGrid->addComboAction("organization_add", _tr("ADD Time Group"), array_slice($arrOrgz, 1), $selected = null, "create_tg", $onchange_select = null); } else { $oGrid->addNew("create_tg", _tr("ADD Time Group")); } } 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 $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Time Condition Group") . " = " . $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; }
function reportQueue($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $error = ""; $pORGZ = new paloSantoOrganization($pDB); $domain = getParameter("organization"); $domain = empty($domain) ? 'all' : $domain; if ($credentials['userlevel'] != "superadmin") { $domain = $credentials['domain']; } $queue_name = getParameter("queue_name"); $pQueue = new paloQueuePBX($pDB, $domain); $queue_number = getParameter("queue_number"); if (isset($queue_number) && $queue_number != '') { $expression = $pQueue->getRegexPatternFromAsteriskPattern($queue_number); if ($expression === false) { $queue_number = ''; } } $url['menu'] = $module_name; $url['organization'] = $domain; $url['queue_number'] = $queue_number; //queue_number $url['queue_name'] = $queue_name; //queue_name $total = $pQueue->getTotalQueues($domain, $queue_number, $queue_name); $arrOrgz = array(); if ($credentials['userlevel'] == "superadmin") { $arrOrgz = array("all" => _tr("all")); foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } } if ($total === false) { $error = $pQueue->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('Queues List')); //$oGrid->setIcon('url de la imagen'); $oGrid->setWidth("99%"); $oGrid->setStart($total == 0 ? 0 : $offset + 1); $oGrid->setEnd($end); $oGrid->setTotal($total); $oGrid->setURL($url); if ($credentials['userlevel'] == 'superadmin') { $arrColumns[] = _tr("Organization"); } $arrColumns[] = _tr("Queue Number"); $arrColumns[] = _tr("Queue Name"); $arrColumns[] = _tr("Password"); $arrColumns[] = _tr("Record Call"); $arrColumns[] = _tr("Strategy"); $arrColumns[] = _tr("Timeout Queue"); $arrColumns[] = _tr("Timeout Agent"); $oGrid->setColumns($arrColumns); $arrData = array(); $arrQueues = array(); if ($total != 0) { $arrQueues = $pQueue->getQueues($domain, $queue_number, $queue_name, $limit, $offset); } if ($arrQueues === false) { $error = _tr("Error getting queue data. ") . $pQueue->errMsg; } else { foreach ($arrQueues as $queue) { $arrTmp = array(); if ($credentials['userlevel'] == 'superadmin') { $arrTmp[] = $arrOrgz[$queue['organization_domain']]; } $queunumber = $queue["queue_number"]; $arrTmp[] = " <a href='?menu=queues&action=view&qname=" . $queue['name'] . "&organization={$queue['organization_domain']}'>" . $queunumber . "</a>"; $arrTmp[] = htmlentities($queue["description"], ENT_QUOTES, "UTF-8"); $arrTmp[] = $queue["password_detail"]; $arrTmp[] = isset($queue["monitor_format"]) ? "yes" : "no"; $arrTmp[] = $queue["strategy"]; $arrTmp[] = $queue["timeout_detail"] == "0" ? "unlimited" : $queue["timeout_detail"]; $arrTmp[] = $queue["timeout"]; /*$result=getInfoQueue(); $arrTmp[6]=$result["logged"]; $arrTmp[6]=$result["free"];*/ $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("Create New Queue"), array_slice($arrOrgz, 1), $selected = null, "create_queue", $onchange_select = null); } else { $oGrid->addNew("create_queue", _tr("Create New Queue")); } } if ($credentials['userlevel'] == 'superadmin') { $_POST["organization"] = $domain; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Organization") . " = " . $arrOrgz[$domain], $_POST, array("organization" => "all"), true); } $_POST["queue_number"] = $queue_number; // patter to filter estension number $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Queue Number") . " = " . $queue_number, $_POST, array("queue_number" => "")); $_POST["queue_name"] = $queue_name; // patter to filter estension number $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Queue Name") . " = " . $queue_name, $_POST, array("queue_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; }
function reportOtherDestinations($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $error = ""; $pORGZ = new paloSantoOrganization($pDB); $domain = getParameter("organization"); $domain = empty($domain) ? 'all' : $domain; if ($credentials['userlevel'] != "superadmin") { $domain = $credentials['domain']; } $other_destination_name = getParameter("other_destination_name"); $pOtherDestinations = new paloSantoOtherDestinations($pDB, $domain); $url['menu'] = $module_name; $url['organization'] = $domain; $url['other_destination_name'] = $other_destination_name; $total = $pOtherDestinations->getNumOtherDestinations($domain, $other_destination_name); $arrOrgz = array(); if ($credentials['userlevel'] == "superadmin") { $arrOrgz = array("all" => _tr("all")); foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } } if ($total === false) { $error = $pOtherDestinations->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('Other Destinations List')); //$oGrid->setIcon('url de la imagen'); $oGrid->setWidth("99%"); $oGrid->setStart($total == 0 ? 0 : $offset + 1); $oGrid->setEnd($end); $oGrid->setTotal($total); $oGrid->setURL($url); $arrColum = array(); if ($credentials['userlevel'] == "superadmin") { $arrColum[] = _tr("Organization"); } $arrColum[] = _tr("Other Destination Name"); $arrColum[] = _tr("Dial Destination"); $oGrid->setColumns($arrColum); $arrOtherDestinations = array(); $arrData = array(); if ($total != 0) { $arrOtherDestinations = $pOtherDestinations->getOtherDestinations($domain, $other_destination_name, $limit, $offset); } if ($arrOtherDestinations === false) { $error = _tr("Error to obtain Other Destinations") . $pOtherDestinations->errMsg; $arrOtherDestinations = array(); } foreach ($arrOtherDestinations as $row) { $arrTmp = array(); if ($credentials['userlevel'] == "superadmin") { $arrTmp[] = $arrOrgz[$row["organization_domain"]]; } $arrTmp[] = " <a href='?menu={$module_name}&action=view&id=" . $row['id'] . "&organization={$row['organization_domain']}'>" . htmlentities($row["description"], ENT_QUOTES, "UTF-8") . "</a>"; $arrTmp[] = $row["destdial"]; $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 Other Destination"), array_slice($arrOrgz, 1), $selected = null, "create_other_destination", $onchange_select = null); } else { $oGrid->addNew("create_other_destination", _tr("ADD Other Destination")); } } if ($credentials['userlevel'] == 'superadmin') { $_POST["organization"] = $domain; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Organization") . " = " . $arrOrgz[$domain], $_POST, array("organization" => "all"), true); } $_POST["other_destination_name"] = $other_destination_name; // name $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Other Destination Name") . " = " . $other_destination_name, $_POST, array("other_destination_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; }
function reportExten($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $pExten = new paloSantoExtensions($pDB); $pORGZ = new paloSantoOrganization($pDB); $error = ''; $domain = getParameter("organization"); $domain = empty($domain) ? 'all' : $domain; if ($credentials['userlevel'] != "superadmin") { $domain = $credentials['domain']; } $extension = getParameter("extension"); if (isset($extension) && $extension != '') { $pPBX = new paloAsteriskDB($pDB); $expression = $pPBX->getRegexPatternFromAsteriskPattern($extension); if ($expression === false) { $extension = ''; } } $url['menu'] = $module_name; $url['organization'] = $domain; $url['extension'] = $extension; $total = $pExten->getNumExtensions($domain, $extension); $arrOrgz = array(); if ($credentials['userlevel'] == "superadmin") { $arrOrgz = array("all" => _tr("all")); foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } } if ($total === false) { $error = $pExten->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('Extensions List')); //$oGrid->setIcon('url de la imagen'); $oGrid->setWidth("99%"); $oGrid->setStart($total == 0 ? 0 : $offset + 1); $oGrid->setEnd($end); $oGrid->setTotal($total); $oGrid->setURL($url); if ($credentials['userlevel'] == "superadmin") { $arrColum[] = _tr("Organization"); } $arrColum[] = _tr("Extension"); $arrColum[] = _tr("Caller ID"); $arrColum[] = _tr("Technology"); $arrColum[] = _tr("Device"); $arrColum[] = _tr("Context"); $arrColum[] = _tr("User"); $arrColum[] = _tr("Voicemail"); $arrColum[] = _tr("Recording In") . " / " . _tr("Recording Out"); $oGrid->setColumns($arrColum); $arrExtens = array(); $arrData = array(); if ($total != 0) { $arrExtens = $pExten->getExtensions($domain, $extension, $limit, $offset); } if ($arrExtens === false) { $error = _tr("Error to obtain extensions") . $pExten->errMsg; $arrExtens = array(); } else { foreach ($arrExtens as $exten) { $arrTmp = array(); if ($credentials['userlevel'] == "superadmin") { $arrTmp[] = $arrOrgz[$exten["organization_domain"]]; } $arrTmp[] = " <a href='?menu=extensions&action=view&id_exten=" . $exten['id'] . "&organization={$exten['organization_domain']}'>" . $exten["exten"] . "</a>"; $arrTmp[] = $exten['clid_name'] . " <{$exten['clid_number']}>"; $arrTmp[] = strtoupper($exten['tech']); $arrTmp[] = $exten['device']; $arrTmp[] = $exten['context']; $query = "Select username from acl_user where extension=? and id_group in (select g.id from acl_group g join organization o on g.id_organization=o.id where o.domain=?)"; $result = $pDB->getFirstRowQuery($query, false, array($exten["exten"], $exten["organization_domain"])); if ($result != false) { $arrTmp[] = $result[0]; } else { $arrTmp[] = _tr("Nobody"); } if (isset($exten["voicemail"])) { if ($exten["voicemail"] != "novm") { $arrTmp[] = "yes"; } else { $arrTmp[] = "no"; } } else { $arrTmp[] = "no"; } $arrTmp[] = _tr($exten["record_in"]) . " / " . _tr($exten["record_out"]); $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("Create New Extension"), array_slice($arrOrgz, 1), $selected = null, "create_exten", $onchange_select = null); } else { $oGrid->addNew("create_exten", _tr("Create New Extension")); } } if ($credentials['userlevel'] == 'superadmin') { $_POST["organization"] = $domain; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Organization") . " = " . $arrOrgz[$domain], $_POST, array("organization" => "all"), true); } $_POST["extension"] = $extension; // patter to filter estension number $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Extension") . " = " . $extension, $_POST, array("extension" => "")); $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; }
function reportOutbound($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials, $reorderRoute = false) { global $arrPermission; $pORGZ = new paloSantoOrganization($pDB); $error = ""; $arrOrgz = array(); $domain = getParameter("organization"); $name = getParameter("name"); // outbound 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") { $pOutbound = new paloSantoOutbound($pDB, $domain); } else { $pOutbound = new paloSantoOutbound($pDB, ""); } $total = $pOutbound->getNumOutbound($domain, $name); $arrOrgz = array("all" => _tr("all")); foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } } else { $pOutbound = new paloSantoOutbound($pDB, $domain); $total = $pOutbound->getNumOutbound($domain, $name); } if ($total === false) { $error = $pOutbound->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; $arrGrid = array("title" => _tr('Outbound Routes List'), "url" => $url, "width" => "99%", "start" => $total == 0 ? 0 : $offset + 1, "end" => $end, "total" => $total); $arrColumns = array(); $arrColumns[] = _tr("Order"); $arrColumns[] = _tr("Route Name"); if ($credentials['userlevel'] == "superadmin") { $arrColumns[] = _tr("Organization"); } $arrColumns[] = _tr("Route CID"); $arrColumns[] = _tr("Route Password"); $arrColumns[] = _tr("Time Group"); $oGrid->setColumns($arrColumns); $arrOutbound = array(); $arrData = array(); if ($total != 0) { $arrOutbound = $pOutbound->getOutbounds($domain, $name, $limit, $offset); } if ($arrOutbound === false) { $error = _tr("Error to obtain outbounds") . $pOutbound->errMsg; $arrOutbound = array(); } $create = in_array('create', $arrPermission); $edit = in_array('edit', $arrPermission); foreach ($arrOutbound as $outbound) { $arrTmp = array(); if ($edit) { $arrTmp[] = fieldOrden($arrOutbound, $outbound["seq"], $outbound["id"], $outbound["organization_domain"]); } else { $arrTmp[] = $outbound["seq"]; } $arrTmp[] = " <a href='?menu=outbound_route&action=view&id_outbound=" . $outbound['id'] . "&organization={$outbound["organization_domain"]}'>" . htmlentities($outbound['routename'], ENT_QUOTES, "UTF-8") . "</a>"; if ($credentials['userlevel'] == "superadmin") { $arrTmp[] = $arrOrgz[$outbound["organization_domain"]]; } $arrTmp[] = $outbound["outcid"]; $arrTmp[] = $outbound["routepass"]; if (isset($outbound["time_group_id"])) { $query = "SELECT name from time_group where id=?"; $result = $pDB->getFirstRowQuery($query, true, array($outbound["time_group_id"])); if ($result != false) { $arrTmp[] = $result["name"]; } else { $arrTmp[] = ""; } } $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 Outbound Route"), array_slice($arrOrgz, 1), $selected = null, "create_outbound", $onchange_select = null); } else { $oGrid->addNew("create_outbound", _tr("ADD Outbound 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; //outbound_route name $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($arrGrid, $arrData); $mensaje = showMessageReload($module_name, $pDB, $credentials); $contenidoModulo = $mensaje . $contenidoModulo; return $contenidoModulo; }
function reportIVR($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") { $pIVR = new paloIvrPBX($pDB, $domain); } else { $pIVR = new paloIvrPBX($pDB, ""); } $total = $pIVR->getTotalIvr($domain, $name); $arrOrgz = array("all" => _tr("all")); foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } } else { $arrOrgz = array(); $pIVR = new paloIvrPBX($pDB, $domain); $total = $pIVR->getTotalIvr($domain, $name); } if ($total === false) { $error = $pIVR->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('Ivrs 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("Ivr Name"); $arrColumns[] = _tr("Timeout"); $arrColumns[] = _tr("Enable Call Extensions"); $arrColumns[] = _tr("# Loops"); $oGrid->setColumns($arrColumns); $arrData = array(); $arrIVR = array(); if ($total != 0) { $arrIVR = $pIVR->getIvrs($domain, $name, $limit, $offset); } if ($arrIVR === false) { $error = _tr("Error getting ivr data.") . $pIVR->errMsg; } else { foreach ($arrIVR as $ivr) { $arrTmp = array(); if ($credentials['userlevel'] == "superadmin") { $arrTmp[] = $arrOrgz[$ivr['organization_domain']]; } $arrTmp[] = " <a href='?menu={$module_name}&action=view&id_ivr=" . $ivr['id'] . "&organization={$ivr["organization_domain"]}'>" . htmlentities($ivr["name"], ENT_QUOTES, "UTF-8") . "</a>"; $arrTmp[] = $ivr["timeout"]; $arrTmp[] = $ivr["directdial"]; $arrTmp[] = $ivr["loops"]; $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("Create New IVR"), array_slice($arrOrgz, 1), $selected = null, "create_ivr", $onchange_select = null); } else { $oGrid->addNew("create_ivr", _tr("Create New IVR")); } } if ($credentials['userlevel'] == 'superadmin') { $_POST["organization"] = $domain; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Organization") . " = " . $arrOrgz[$domain], $_POST, array("organization" => _tr("all")), true); } $_POST["name"] = $name; //ivr name $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; }
function reportUser($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $pACL = new paloACL($pDB); $pORGZ = new paloSantoOrganization($pDB); $idOrgFil = getParameter("idOrganization"); $username = getParameter("username"); $total = 0; if ($credentials['userlevel'] == "superadmin") { if (!empty($idOrgFil)) { $total = $pACL->getNumUsers($idOrgFil, $username); } else { $idOrgFil = 0; //opcion default se muestran todos los usuarios $total = $pACL->getNumUsers(null, $username); } } else { $idOrgFil = $credentials['id_organization']; $total = $pACL->getNumUsers($idOrgFil, $username); } if ($total === false) { $total = 0; $smarty->assign("mb_title", _tr("Error")); $smarty->assign("mb_message", _tr("Couldn't be retrieved user data")); } //url $url['menu'] = $module_name; $url['idOrganization'] = $idOrgFil; $url['username'] = $module_name; $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('User List')); $oGrid->setIcon("../web/_common/images/user.png"); $oGrid->setURL($url); $oGrid->setWidth("99%"); $oGrid->setStart($total == 0 ? 0 : $offset + 1); $oGrid->setEnd($end); $arrColumns = array(); if ($credentials["userlevel"] == "superadmin") { $arrColumns[] = _tr("Organization"); //delete } $arrColumns[] = _tr("Username"); $arrColumns[] = _tr("Name"); $arrColumns[] = _tr("Group"); $arrColumns[] = _tr("Extension") . " / " . _tr("Fax Extension"); $arrColumns[] = _tr("Used Space") . " / " . _tr("Email Quota"); if (in_array('reconstruct_mailbox', $arrPermission)) { $arrColumns[] = ""; } //reconstruct mailbox $oGrid->setColumns($arrColumns); $arrData = array(); if ($credentials['userlevel'] == "superadmin") { if ($idOrgFil != 0) { $arrUsers = $pACL->getUsersPaging($limit, $offset, $idOrgFil, $username); } else { $arrUsers = $pACL->getUsersPaging($limit, $offset, null, $username); } } else { $arrUsers = $pACL->getUsersPaging($limit, $offset, $idOrgFil, $username); } if ($arrUsers === false) { $smarty->assign("mb_title", _tr("ERROR")); $smarty->assign("mb_message", _tr($pACL->errMsg)); } //si es un usuario solo se ve a si mismo //si es un administrador ve a todo los usuarios de foreach ($arrUsers as $user) { $arrTmp = array(); if ($credentials["userlevel"] == "superadmin") { $arrOgz = $pORGZ->getOrganizationById($user[4]); $arrTmp[] = htmlentities($arrOgz["name"], ENT_COMPAT, 'UTF-8'); //organization } $arrTmp[] = " <a href='?menu=userlist&action=view&id={$user['0']}'>" . $user[1] . "</a>"; //username $arrTmp[] = htmlentities($user[2], ENT_COMPAT, 'UTF-8'); //name $gpTmp = $pACL->getGroupNameByid($user[7]); $arrTmp[] = $gpTmp == "superadmin" ? _tr("NONE") : $gpTmp; if (!isset($user[5]) || $user[5] == "") { $ext = _tr("Not assigned"); } else { $ext = $user[5]; } if (!isset($user[6]) || $user[6] == "") { $faxExt = _tr("Not assigned"); } else { $faxExt = $user[6]; } $arrTmp[] = $ext . " / " . $faxExt; if ($user[4] != 1) { //user that belong organization 1 do not have email account $arrTmp[] = obtener_quota_usuario($user[1], $module_name); //email quota if (in_array('reconstruct_mailbox', $arrPermission)) { $arrTmp[] = " <a href='#' onclick=mailbox_reconstruct('{$user[1]}')>" . _tr('Reconstruct Mailbox') . "</a>"; //reconstruct mailbox } } else { $arrTmp[] = ''; $arrTmp[] = ''; } $arrData[] = $arrTmp; $end++; } $smarty->assign("USERLEVEL", $credentials['userlevel']); $smarty->assign("SEARCH", "<input name='search_org' type='submit' class='button' value='" . _tr('Search') . "'>"); if ($pORGZ->getNumOrganization(array()) > 0) { $arrOrgz = array(0 => _tr("all")); if (in_array('create_user', $arrPermission)) { $oGrid->addNew("create_user", _tr("Create New User")); } if ($credentials['userlevel'] == "superadmin") { foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["id"]] = $value["name"]; } $_POST["idOrganization"] = $idOrgFil; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Organization") . " = " . $arrOrgz[$idOrgFil], $_POST, array("idOrganization" => 0), true); //organization } $arrFormElements = createFieldFilter($arrOrgz); $oFilterForm = new paloForm($smarty, $arrFormElements); $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Username") . " = " . $username, $_POST, array("username" => "")); //username $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("In order to use this module must exist at least 1 organization in the Elastix Server")); } $contenidoModulo = $oGrid->fetchGrid(array(), $arrData); $mensaje = showMessageReload($module_name, $pDB, $credentials); $contenidoModulo = $mensaje . $contenidoModulo; return $contenidoModulo; }
function reportOrganization($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $pOrganization = new paloSantoOrganization($pDB); $pACL = new paloACL($pDB); $arrData = array(); $arrOrgs = false; $arrProp["name"] = null; $arrProp["domain"] = null; $arrProp["state"] = 'all'; if ($credentials["userlevel"] == "superadmin") { $arrProp["name"] = getParameter("fname"); $arrProp["domain"] = getParameter("fdomain"); $arrProp["state"] = getParameter("fstate"); $total = $pOrganization->getNumOrganization($arrProp); } else { $arrProp["id"] = $credentials["id_organization"]; $total = $pOrganization->getNumOrganization($arrProp); } if ($total === false) { $total = 0; $smarty->assign("mb_title", _tr("Error")); $smarty->assign("mb_message", _tr("Couldn't be retrieved organization data")); } $limit = 20; $oGrid = new paloSantoGrid($smarty); $oGrid->setLimit($limit); $oGrid->setTotal($total); $offset = $oGrid->calculateOffset(); $end = $offset + $limit <= $total ? $offset + $limit : $total; $url['menu'] = $module_name; $url['fname'] = $arrProp["name"]; $url['fstate'] = $arrProp["state"]; $url['fdomain'] = $arrProp["domain"]; $oGrid->setTitle(_tr('Organization List')); $oGrid->setURL($url); $oGrid->setWidth("99%"); $oGrid->setStart($total == 0 ? 0 : $offset + 1); $oGrid->setEnd($end); $oGrid->setTotal($total); $arrColumns = array(); if ($credentials["userlevel"] == "superadmin") { $arrColumns[] = ""; //delete } if (in_array('access_DID', $arrPermission)) { $arrColumns[] = ""; //did } $arrColumns[] = _tr("Domain"); $arrColumns[] = _tr("Name"); $arrColumns[] = _tr("State"); $arrColumns[] = _tr("Number of Users"); $arrColumns[] = _tr("Country Code") . " / " . _tr("Area Code"); $arrColumns[] = _tr("Email Qouta") . " (MB)"; $oGrid->setColumns($arrColumns); $arrDatosGrid = array(); if ($total != 0) { if ($credentials["userlevel"] == "superadmin") { $arrProp["limit"] = $limit; $arrProp["offset"] = $offset; $arrOrgs = $pOrganization->getOrganization($arrProp); } else { $arrOrgs = $pOrganization->getOrganization($arrProp); } } if ($arrOrgs === FALSE) { $smarty->assign("mb_title", _tr("Error")); $smarty->assign("mb_message", _tr($pOrganization->errMsg)); } else { foreach ($arrOrgs as $value) { $arrTmp = array(); if ($credentials["userlevel"] == "superadmin") { $arrTmp[] = "<input type='checkbox' class='chk_id' value='{$value['id']}' />"; //checkbox selet } if (in_array('access_DID', $arrPermission)) { $arrTmp[] = " <a href='?menu={$module_name}&action=reportDIDs&domain=" . $value['domain'] . "'>" . _tr("Assign DIDs") . "</a>"; //did } $arrTmp[] = " <a href='?menu={$module_name}&action=view&id=" . $value['id'] . "'>" . htmlentities($value['domain'], ENT_COMPAT, 'UTF-8') . "</a>"; $arrTmp[] = htmlentities($value['name'], ENT_COMPAT, 'UTF-8'); if ($value['state'] == 'active') { $arrTmp[] = "<span class='font-green'>" . _tr($value['state']) . "</span>"; } elseif ($value['state'] == 'suspend') { $arrTmp[] = "<span class='font-orange'>" . _tr($value['state']) . "</span>"; } else { $arrTmp[] = "<span class='font-red'>" . _tr($value['state']) . "</span>"; } $arrTmp[] = $pOrganization->getNumUserByOrganization($value['id']); $cCode = $pOrganization->getOrganizationProp($value['id'], "country_code"); $aCode = $pOrganization->getOrganizationProp($value['id'], "area_code"); $eQuota = $pOrganization->getOrganizationProp($value['id'], "email_quota"); $tmpcode = $cCode === false ? _tr("NONE") : $cCode; $tmpcode .= $aCode === false ? _tr("NONE") : " / " . $aCode; $arrTmp[] = $tmpcode; $arrTmp[] = $eQuota === false ? _tr("NONE") : $eQuota; $arrDatosGrid[] = $arrTmp; } } if ($credentials['userlevel'] == "superadmin") { $oGrid->addNew("new_organization", _tr("Create Organization")); $stateButton = '<select name="state_orgs" id="state_orgs">'; $stateButton .= '<option label="' . _tr("Suspend") . '" value="suspend">' . _tr("Suspend") . '</option>'; $stateButton .= '<option label="' . _tr("Unsuspend") . '" value="unsuspend">' . _tr("Unsuspend") . '</option>'; $stateButton .= '<option label="' . _tr("Terminate") . '" value="terminate">' . _tr("Terminate") . '</option>'; $stateButton .= "</select>"; $stateButton .= '<input type="button" name="button_state" value="' . _tr("Change State") . '" onclick="change_state();" class="neo-table-action">'; $stateButton .= '<input type="hidden" name="msg_ch_alert" id="msg_ch_alert" value="' . _tr("Are you sure you wish change the states of checked organizations to: ") . "STATE_NAME\n" . _tr("This process can take several minutes") . '">'; $oGrid->addHTMLAction($stateButton); $oGrid->addButtonAction("del_orgs", _tr("Delete"), "{$arrConf['webCommon']}/images/delete5.png", "delete_orgs();"); //filter $smarty->assign('USERLEVEL', $credentials['userlevel']); $smarty->assign('SEARCH', "<input name='search_org' type='submit' class='button' value='" . _tr('Search') . "'>"); $arrState = array("all" => _tr("All"), "active" => _tr("Active"), "suspend" => _tr("Suspend"), "terminate" => _tr("terminate")); $_POST['fname'] = $arrProp['name']; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("fname") . " = {$arrProp['name']}", $_POST, array("fname" => '')); $_POST['fdomain'] = $arrProp['domain']; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("fdomain") . " = {$arrProp['domain']}", $_POST, array("fdomain" => '')); $_POST['fstate'] = isset($arrState[$arrProp['state']]) ? $arrProp['state'] : 'all'; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("State") . " = " . $arrState[$_POST['fstate']], $_POST, array("fstate" => 'all'), true); $arrFormFilter = createFilterForm($arrState); $oFilterForm = new paloForm($smarty, $arrFormFilter); $htmlFilter = $oFilterForm->fetchForm("{$local_templates_dir}/filter.tpl", "", $_POST); $oGrid->showFilter(trim($htmlFilter)); } $content = $oGrid->fetchGrid(array(), $arrDatosGrid); $mensaje = showMessageReload($module_name, $pDB, $credentials); $content = $mensaje . $content; return $content; }
function viewGeneralSetting($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $error = ""; $pORGZ = new paloSantoOrganization($pDB); if ($credentials['userlevel'] == 'superadmin') { $domain = getParameter('organization'); $tmpORG = $pORGZ->getOrganization(array()); $arrOrgz = array(); foreach ($tmpORG as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } if (count($arrOrgz) > 0) { if (!isset($arrOrgz[$domain])) { $domain = $tmpORG[0]["domain"]; } } else { $smarty->assign("mb_title", _tr("ERROR")); $smarty->assign("mb_message", _tr("It's necesary you create at least one organization so you can use this module")); return ''; } } else { $domain = $credentials['domain']; } $pGPBX = new paloGlobalsPBX($pDB, $domain); $arrTone = $pGPBX->getToneZonePBX(); $arrMOH = $pGPBX->getMoHClass($domain); $arrForm = createFieldForm($arrTone, $arrMOH, $pGPBX->getVoicemailTZ()); $oForm = new paloForm($smarty, $arrForm); $arrSettings = $pGPBX->getGeneralSettings(); if ($arrSettings == false) { $smarty->assign("mb_title", _tr("ERROR")); $smarty->assign("mb_message", _tr("Error getting default settings. ") . _tr($pGPBX->errMsg)); } else { if (getParameter("save_edit")) { $arrSettings = $_POST; } } if ($credentials['userlevel'] == 'superadmin') { $HTML = '<select name="organization" id="organization" onchange="javascript:submit();">'; foreach ($arrOrgz as $key => $value) { $seleted = ''; if ($key == $domain) { $seleted = 'selected="selected"'; } $value = htmlentities($value, ENT_QUOTES, "UTF-8"); $key = htmlentities($key, ENT_QUOTES, "UTF-8"); $HTML .= '<option label="' . $value . '" value="' . $key . '" ' . $seleted . '>' . $value . '</option>'; } $HTML .= '</select>'; $HTML .= '<input type="button" name="select_org" value="Organization" class="neo-table-action">'; $smarty->assign("SELECT_ORG", $HTML); } $oForm->setEditMode(); //permission $smarty->assign("EDIT_GS", in_array('edit', $arrPermission)); $smarty->assign("REQUIRED_FIELD", _tr("Required field")); $smarty->assign("CANCEL", _tr("Cancel")); $smarty->assign("APPLY_CHANGES", _tr("Apply changes")); $smarty->assign("SAVE", _tr("Save")); $smarty->assign("EDIT", _tr("Edit")); $smarty->assign("DELETE", _tr("Delete")); $smarty->assign("GENERAL", _tr("General Settings")); $smarty->assign("SIP_GENERAL", _tr("Sip Settings")); $smarty->assign("IAX_GENERAL", _tr("Iax Settings")); $smarty->assign("VM_GENERAL", _tr("Voicemail Settings")); $smarty->assign("DIAL_OPTS", _tr("Dial Options")); $smarty->assign("CALL_RECORDING", _tr("Call Recording")); $smarty->assign("LOCATIONS", _tr("Locations")); $smarty->assign("DIRECTORY_OPTS", _tr("Directory Options")); $smarty->assign("EXT_OPTS", _tr("Create User Options")); $smarty->assign("QUALIFY", _tr("Qualify Seetings")); $smarty->assign("CODEC", _tr("Codec Selections")); $smarty->assign("RTP_TIMERS", _tr("RTP Timers")); $smarty->assign("VIDEO_OPTS", _tr("Video Support")); $smarty->assign("MOH", _tr("Music on Hold")); $smarty->assign("JITTER", _tr("Jitter Buffer Settings")); $smarty->assign("GENERAL_VM", _tr("Voicemail Gneral Settings")); $smarty->assign("VMX_OPTS", _tr("Voicemail VMX Locator")); $smarty->assign("OTHER", _tr("Advande Settings")); $smarty->assign("CONTEXT", _tr("context")); $smarty->assign("USERLEVEL", $credentials['userlevel']); $htmlForm = $oForm->fetchForm("{$local_templates_dir}/new.tpl", _tr("General Settings"), $arrSettings); $mensaje = showMessageReload($module_name, $pDB, $credentials); $content = "<form method='POST' style='margin-bottom:0;' action='?menu={$module_name}'>" . $mensaje . $htmlForm . "</form>"; return $content; }
function reportConference($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $pORGZ = new paloSantoOrganization($pDB); $error = ""; $date = date("Y-m-d H:i"); $state_conf = getParameter("state_conf"); $name_conf = getParameter("name_conf"); $type_conf = getParameter("type_conf"); if (empty($state_conf)) { $state_conf = "all"; } if (empty($type_conf)) { $type_conf = "both"; } if (is_null($name_conf)) { $name_conf = ""; } if ($credentials['userlevel'] == "superadmin") { $domain = getParameter("organization"); $domain = empty($domain) ? 'all' : $domain; $arrOrgz = array("all" => _tr("all")); foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } } else { $arrOrgz = array(); $domain = $credentials['domain']; } $url['menu'] = $module_name; $url["state_conf"] = $state_conf; $url["name_conf"] = $name_conf; $url["type_conf"] = $type_conf; $url['date'] = $date; $pconference = new paloConference($pDB, $domain); $total = $pconference->getTotalConference($domain, $date, $state_conf, $type_conf, $name_conf); if ($total === false) { $error = $pconference->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('Conference')); $oGrid->setWidth("99%"); $oGrid->setStart($total == 0 ? 0 : $offset + 1); $oGrid->setEnd($end); $oGrid->setTotal($total); $oGrid->setURL($url); //permission $delete = in_array("delete_conf", $arrPermission); $create = in_array("create_conf", $arrPermission); $edit = in_array("edit_conf", $arrPermission); $invite_part = in_array("admin_conference_participant", $arrPermission); if ($delete) { $arrColum[] = _tr(""); } $arrColum[] = _tr("Name"); $arrColum[] = _tr("Room Number"); $arrColum[] = _tr("Period"); $arrColum[] = _tr("Participants / MaxUsers"); $arrColum[] = _tr("Status"); $oGrid->setColumns($arrColum); $arrData = array(); $arrconference = array(); if ($total != 0) { $arrconference = $pconference->getConferesPagging($domain, $date, $limit, $offset, $state_conf, $type_conf, $name_conf); } $session = getSession(); if ($arrconference === false) { $error = _tr("Error getting conference data.") . $pconference->errMsg; } else { foreach ($arrconference as $conf) { $arrTmp = array(); if ($delete) { $arrTmp[] = "<input type='checkbox' name='confdel[]' value='{$conf['bookid']}'/>"; //delete } if ($edit) { $arrTmp[] = "<a href='?menu={$module_name}&action=view&id_conf={$conf['bookid']}&organization={$conf['organization_domain']}'>" . htmlentities($conf["name"], ENT_QUOTES, "UTF-8") . "</a>"; //name } else { $arrTmp[] = htmlentities($conf["name"], ENT_QUOTES, "UTF-8"); } $arrTmp[] = $conf["ext_conf"]; //roomnumber $perid = "No Set"; if (!empty($conf["startTime"]) && $conf["startTime"] != "1900-01-01 12:00:00") { $perid = $conf["startTime"] . " - " . $conf["endtime"]; } $arrTmp[] = $perid; //period $max = empty($conf["maxusers"]) ? "unlimited" : $conf["maxusers"]; $participants = "<spam class='conf_memb' id='{$conf['bookid']}'>" . $conf["members"] . " / {$max} </spam>"; $status = "<spam class='conf_status'></spam>"; if ($perid != "No Set") { $date = time(); if ($date >= strtotime($conf["startTime"]) && $date <= strtotime($conf["endtime"])) { if ($invite_part) { $participants = "<a href='?menu={$module_name}&action=current_conf&id_conf={$conf['bookid']}&organization={$conf['organization_domain']}' class='conf_memb' id='{$conf['bookid']}'>" . $conf["members"] . " / {$max}</a>"; } $status = "<spam class='conf_status' style='color:green'/>" . _tr("In Progress") . "</spam>"; } else { if ($date < strtotime($conf["startTime"])) { $status = "<spam class='conf_status'>" . _tr("Future") . "</spam>"; } else { $status = "<spam class='conf_status'>" . _tr("Past") . "</spam>"; } } } else { if ($invite_part) { $participants = "<a href='?menu={$module_name}&action=current_conf&id_conf={$conf['bookid']}&organization={$conf['organization_domain']}' class='conf_memb' id='{$conf['bookid']}'>" . $conf["members"] . " / {$max}</a>"; } } $arrTmp[] = $participants; $arrTmp[] = $status; $arrData[] = $arrTmp; //se usa para comprobar si ha habido cambios en el estado de las conferencias $session['conference']["conf_list"][$conf['bookid']] = array($participants, $status); } } //se escribe en session el estado actual de las conferencias putSession($session); //filters $smarty->assign("USERLEVEL", $credentials['userlevel']); $smarty->assign("SEARCH", "<input type='submit' class='button' value='" . _tr('Search') . "' name='report'>"); if ($pORGZ->getNumOrganization(array()) >= 1) { if ($create) { if ($credentials['userlevel'] == 'superadmin') { $oGrid->addComboAction("organization_add", _tr("ADD Conference"), array_slice($arrOrgz, 1), $selected = null, "create_conference", $onchange_select = null); } else { $oGrid->addNew("create_conference", _tr("ADD Conference")); } } if ($delete) { $oGrid->deleteList(_tr("Are you sure you wish to delete conference (es)?"), "delete_conference", _tr("Delete")); } if ($credentials['userlevel'] == 'superadmin') { $_POST["organization"] = $domain; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Organization") . " = " . $arrOrgz[$domain], $_POST, array("organization" => "all"), true); } //arreglo usado para formar los elementos del filtro $arrState = array("all" => _tr("All"), "past" => _tr("Past Conference"), "current" => _tr("Current Conference"), "future" => _tr("Future Conference")); $arrType = array("both" => _tr("Both"), "yes" => _tr("Schedule"), "no" => _tr("No Schedule")); $oGrid->addFilterControl(_tr("Filter applied: ") . _tr("State") . " = " . $arrState[$state_conf], $state_conf, array("state_conf" => "all"), true); $oGrid->addFilterControl(_tr("Filter applied: ") . _tr("Name") . " = " . $name_conf, $name_conf, array("name_conf" => "")); $oGrid->addFilterControl(_tr("Filter applied: ") . _tr("Type") . " = " . $arrType[$type_conf], $type_conf, array("type_conf" => "both"), true); $smarty->assign("SHOW", _tr("Show")); $arrFormElements = createFieldFilter($arrState, $arrType, $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); $contenidoModulo .= "<input type='hidden' name='grid_limit' id='grid_limit' value='{$limit}'>"; $contenidoModulo .= "<input type='hidden' name='grid_offset' id='grid_offset' value='{$offset}'>"; $contenidoModulo .= "<input type='hidden' name='conf_action' id='conf_action' value='report'>"; $mensaje = showMessageReload($module_name, $pDB, $credentials); $contenidoModulo = $mensaje . $contenidoModulo; return $contenidoModulo; }
function reportRG($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials) { global $arrPermission; $error = ""; $pORGZ = new paloSantoOrganization($pDB); $domain = getParameter("organization"); $domain = empty($domain) ? 'all' : $domain; if ($credentials['userlevel'] != "superadmin") { $domain = $credentials['domain']; } $rg_name = getParameter("rg_name"); $pRG = new paloSantoRG($pDB, $domain); $rg_number = getParameter("rg_number"); if (isset($rg_number) && $rg_number != '') { $expression = $pRG->getRegexPatternFromAsteriskPattern($rg_number); if ($expression === false) { $rg_number = ''; } } $url['menu'] = $module_name; $url['organization'] = $domain; $url['rg_number'] = $rg_number; //ring group number $url['rg_name'] = $rg_name; //ring group number $total = $pRG->getNumRG($domain, $rg_number, $rg_name); $arrOrgz = array(); if ($credentials['userlevel'] == "superadmin") { $arrOrgz = array("all" => _tr("all")); foreach ($pORGZ->getOrganization(array()) as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } } if ($total === false) { $error = $pRG->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('RG List')); //$oGrid->setIcon('url de la imagen'); $oGrid->setWidth("99%"); $oGrid->setStart($total == 0 ? 0 : $offset + 1); $oGrid->setEnd($end); $oGrid->setTotal($total); $oGrid->setURL($url); $arrColum = array(); if ($credentials['userlevel'] == "superadmin") { $arrColum[] = _tr("Organization"); } $arrColum[] = _tr("Number"); $arrColum[] = _tr("Name"); $arrColum[] = _tr("Strategy"); $arrColum[] = _tr("Ring Time"); $arrColum[] = _tr("Ignore CF"); $arrColum[] = _tr("Skip Busy Extensions"); $arrColum[] = _tr("Default Destination"); $oGrid->setColumns($arrColum); $arrRG = array(); $arrData = array(); if ($total != 0) { $arrRG = $pRG->getRGs($domain, $rg_number, $rg_name, $limit, $offset); } if ($arrRG === false) { $error = _tr("Error to obtain Ring Groups") . $pRG->errMsg; $arrRG = array(); } foreach ($arrRG as $rg) { $arrTmp = array(); if ($credentials['userlevel'] == "superadmin") { $arrTmp[] = $arrOrgz[$rg["organization_domain"]]; } $arrTmp[] = " <a href='?menu=ring_group&action=view&id_rg=" . $rg['id'] . "&organization={$rg['organization_domain']}'>" . $rg['rg_number'] . "</a>"; $arrTmp[] = htmlentities($rg["rg_name"], ENT_QUOTES, "UTF-8"); $arrTmp[] = $rg["rg_strategy"]; $arrTmp[] = $rg["rg_time"]; $arrTmp[] = $rg["rg_cf_ignore"]; $arrTmp[] = $rg["rg_skipbusy"]; $arrTmp[] = $rg["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 Ring Group"), array_slice($arrOrgz, 1), $selected = null, "create_rg", $onchange_select = null); } else { $oGrid->addNew("create_rg", _tr("ADD Ring Group")); } } if ($credentials['userlevel'] == 'superadmin') { $_POST["organization"] = $domain; $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Organization") . " = " . $arrOrgz[$domain], $_POST, array("organization" => "all"), true); } $_POST["rg_number"] = $rg_number; // patter to filter estension number $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Ring Group Number") . " = " . $rg_number, $_POST, array("rg_number" => "")); $_POST["rg_name"] = $rg_name; // name $oGrid->addFilterControl(_tr("Filter applied ") . _tr("Ring Group Name") . " = " . $rg_name, $_POST, array("rg_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; }
function viewFeatures($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials, $action = "") { global $arrPermission; $error = ""; $pORGZ = new paloSantoOrganization($pDB); if ($credentials['userlevel'] == 'superadmin') { $domain = getParameter(_tr('organization')); $tmpORG = $pORGZ->getOrganization(array()); $arrOrgz = array(); foreach ($tmpORG as $value) { $arrOrgz[$value["domain"]] = $value["name"]; } if (count($arrOrgz) > 0) { if (!isset($arrOrgz[$domain])) { $domain = $tmpORG[0]["domain"]; } } else { $smarty->assign("mb_title", _tr("ERROR")); $smarty->assign("mb_message", _tr("It's necesary you create at least one organization so you can use this module")); return ''; } } else { $domain = $credentials['domain']; } $arrForm = createFieldForm(); $oForm = new paloForm($smarty, $arrForm); $pFC = new paloFeatureCodePBX($pDB, $domain); $arrFC = $pFC->getAllFeaturesCode($domain); if ($arrFC === false) { $smarty->assign("mb_title", _tr("ERROR")); $smarty->assign("mb_message", _tr($pFC->errMsg)); } else { foreach ($arrFC as $feature) { $name = $feature["name"]; $disabled_sel = "disabled"; if ($action == "edit") { $data[$name] = $_POST[$name]; if (isset($_POST[$name . "_stat"])) { $estado = $_POST[$name . "_stat"]; } } else { if ($feature["estado"] != "enabled") { $estado = "disabled"; } else { if (!is_null($feature["code"]) && $feature["code"] != "") { $code = $feature["code"]; $estado = "ena_custom"; } else { $code = $feature["default_code"]; $estado = "ena_default"; } } $data[$feature["name"]] = $code; } if ($name != "pickup" && $name != "blind_transfer" && $name != "attended_transfer" && $name != "one_touch_monitor" && $name != "disconnect_call") { if (getParameter("edit") || $action == "edit") { $disabled_sel = ""; } $smarty->assign($feature["name"] . "_stat", crearSelect($feature["name"], $estado, $disabled_sel)); } } } if ($credentials['userlevel'] == 'superadmin') { $HTML = '<select name="organization" id="organization" onchange="javascript:submit();">'; foreach ($arrOrgz as $key => $value) { $seleted = ''; if ($key == $domain) { $seleted = 'selected="selected"'; } $value = htmlentities($value, ENT_QUOTES, "UTF-8"); $key = htmlentities($key, ENT_QUOTES, "UTF-8"); $HTML .= '<option label="' . $value . '" value="' . $key . '" ' . $seleted . '>' . $value . '</option>'; } $HTML .= '</select>'; $HTML .= '<input type="button" name="select_org" value="Organization" class="neo-table-action">'; $smarty->assign("SELECT_ORG", $HTML); } $smarty->assign("REQUIRED_FIELD", _tr("Required field")); $smarty->assign("CANCEL", _tr("Cancel")); $smarty->assign("APPLY_CHANGES", _tr("Apply changes")); $smarty->assign("SAVE", _tr("Save")); $smarty->assign("EDIT", _tr("Edit")); $smarty->assign("DELETE", _tr("Delete")); $smarty->assign("BLACKLIST", _tr("BLACKLIST")); $smarty->assign("CALLFORWARD", _tr("CALLFORWARD")); $smarty->assign("CALLWAITING", _tr("CALLWAITING")); $smarty->assign("CORE", _tr("CORE")); $smarty->assign("DICTATION", _tr("DICTATION")); $smarty->assign("DND", _tr("DND")); $smarty->assign("INFO", _tr("INFO")); $smarty->assign("RECORDING", _tr("RECORDING")); $smarty->assign("SPEEDDIAL", _tr("SPEEDDIAL")); $smarty->assign("VOICEMAIL", _tr("VOICEMAIL")); $smarty->assign("FOLLOWME", _tr("FOLLOWME")); $smarty->assign("QUEUE", _tr("QUEUE")); $smarty->assign("USERLEVEL", $credentials['userlevel']); if (getParameter("edit") || $action == "edit") { $oForm->setEditMode(); } else { $oForm->setViewMode(); } //permission $smarty->assign("EDIT_FC", in_array("edit", $arrPermission)); $htmlForm = $oForm->fetchForm("{$local_templates_dir}/new.tpl", _tr("Features Code"), $data); $mensaje = showMessageReload($module_name, $pDB, $credentials); $content = "<form method='POST' style='margin-bottom:0;' action='?menu={$module_name}'>" . $mensaje . $htmlForm . "</form>"; return $content; }