Portions created by the Initial Developer are Copyright (C) 2008-2019 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ //includes include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; //check permissions if (permission_exists('extension_view')) { //access granted } else { echo "access denied"; exit; } //get the registrations if (permission_exists('extension_registered')) { $obj = new registrations; $registrations = $obj->get('all'); } //add multi-lingual support $language = new text; $text = $language->get(); //get the http values and set them as variables $search = $_GET["search"]; $order_by = $_GET["order_by"]; $order = $_GET["order"]; //handle search term $search = $_GET["search"]; if (strlen($search) > 0) { $search = strtolower($search); $sql_search = "and ( "; $sql_search .= " lower(extension) like :search "; $sql_search .= " or lower(call_group) like :search "; $sql_search .= " or lower(user_context) like :search "; $sql_search .= " or lower(enabled) like :search "; $sql_search .= " or lower(description) like :search "; $sql_search .= ") "; $parameters['search'] = '%'.$search.'%'; } //get total extension count $sql = "select count(extension_uuid) from v_extensions "; if (!($_GET['show'] == "all" && permission_exists('extension_all'))) { $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } $sql .= $sql_search; $database = new database; $total_extensions = $database->select($sql, $parameters, 'column'); //additional includes $document['title'] = $text['title-extensions']; require_once "resources/paging.php"; //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; $param = "&search=".urlencode($search); $page = is_numeric($_GET['page']) ? $_GET['page'] : 0; list($paging_controls_mini, $rows_per_page, $var_3) = paging($total_extensions, $param, $rows_per_page, true); //top list($paging_controls, $rows_per_page, $var_3) = paging($total_extensions, $param, $rows_per_page); //bottom $offset = $rows_per_page * $page; //get the extensions $sql = "select * from v_extensions "; if (!($_GET['show'] == "all" && permission_exists('extension_all'))) { $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } $sql .= $sql_search; if ($order_by == '' || $order_by == 'extension') { if ($db_type == 'pgsql') { $sql .= 'order by natural_sort(extension) '.$order; //function in app_defaults.php } else { $sql .= 'order by extension '.$order; } } else { $sql .= order_by($order_by, $order); } $sql .= limit_offset($rows_per_page, $offset); $database = new database; $extensions = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); //set the alternating styles $c = 0; $row_style["0"] = "row_style0"; $row_style["1"] = "row_style1"; //include the header require_once "resources/header.php"; //show the content echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " ".$text['header-extensions']." (".$total_extensions.")
\n"; echo "
\n"; if (permission_exists('extension_all')) { if ($_GET['show'] == 'all') { echo " "; } else { echo " \n"; } } if (permission_exists('extension_import')) { echo "\n"; } if (permission_exists('extension_export')) { echo " \n"; } echo " "; echo " "; if ($paging_controls_mini != '') { echo "".$paging_controls_mini."\n"; } echo "
\n"; echo " ".$text['description-extensions']."\n"; echo "
\n"; echo "
"; echo "
\n"; echo "\n"; echo "\n"; if (permission_exists('extension_delete') && is_array($extensions)) { echo ""; } if ($_GET['show'] == "all" && permission_exists('extension_all')) { echo th_order_by('domain_name', $text['label-domain'], $order_by, $order, $param); } echo th_order_by('extension', $text['label-extension'], $order_by, $order); echo th_order_by('call_group', $text['label-call_group'], $order_by, $order); //echo th_order_by('voicemail_mail_to', $text['label-voicemail_mail_to'], $order_by, $order); if (permission_exists("extension_user_context")) { echo th_order_by('user_context', $text['label-user_context'], $order_by, $order); } if (permission_exists('extension_registered')) { echo "\n"; } echo th_order_by('enabled', $text['label-enabled'], $order_by, $order); echo th_order_by('description', $text['label-description'], $order_by, $order); echo "\n"; echo "\n"; if (is_array($extensions)) { foreach($extensions as $row) { if (permission_exists('extension_edit')) { $tr_link = "href='extension_edit.php?id=".urlencode($row['extension_uuid']).(is_numeric($page) ? '&page='.$page : null)."'"; } echo "\n"; if (permission_exists('extension_delete')) { echo " "; $ext_ids[] = 'checkbox_'.$row['extension_uuid']; } if ($_GET['show'] == "all" && permission_exists('extension_all')) { echo " \n"; } echo " \n"; echo " \n"; //echo " \n"; if (permission_exists("extension_user_context")) { echo " \n"; } if (permission_exists('extension_registered')) { echo " \n"; } echo " \n"; echo " \n"; echo " \n"; echo "\n"; $c = ($c) ? 0 : 1; } } if (is_array($extensions)) { echo "\n"; echo " \n"; echo "\n"; } unset($extensions, $row); echo "
".$text['label-is_registered']."\n"; if (permission_exists('extension_add')) { if ($_SESSION['limit']['extensions']['numeric'] == '' || ($_SESSION['limit']['extensions']['numeric'] != '' && $total_extensions < $_SESSION['limit']['extensions']['numeric'])) { echo "".$v_link_label_add.""; } } if (permission_exists('extension_delete') && is_array($extensions)) { echo "".$v_link_label_delete.""; } echo "
".escape($_SESSION['domains'][$row['domain_uuid']]['domain_name']).""; if (permission_exists('extension_edit')) { echo "".escape($row['extension']).""; } else { echo escape($row['extension']); } echo "".escape($row['call_group'])." ".$row['voicemail_mail_to']." ".escape($row['user_context']).""; $extension_number = $row['extension'].'@'.$_SESSION['domain_name']; $extension_number_alias = $row['number_alias']; if(strlen($extension_number_alias) > 0) { $extension_number_alias .= '@'.$_SESSION['domain_name']; } $found_count = 0; if (is_array($registrations)) { foreach ($registrations as $array) { if ( ($extension_number == $array['user']) || ($extension_number_alias != '' && $extension_number_alias == $array['user'] ) ) { $found_count++; } } } if ($found_count > 0) { echo "Yes ($found_count)"; } else { echo "No"; } unset($extension_number, $extension_number_alias, $found_count, $array); echo " ".($row['enabled'] == 'true' ? $text['label-true'] : $text['label-false'])."".escape($row['description'])." "; if (permission_exists('extension_edit')) { echo "$v_link_label_edit"; } if (permission_exists('extension_delete')) { echo "$v_link_label_delete"; } echo "
\n"; if (permission_exists('extension_add')) { if ($_SESSION['limit']['extensions']['numeric'] == '' || ($_SESSION['limit']['extensions']['numeric'] != '' && $total_extensions < $_SESSION['limit']['extensions']['numeric'])) { echo "".$v_link_label_add.""; } } if (permission_exists('extension_delete')) { echo "".$v_link_label_delete.""; } echo "
"; echo "
"; if (strlen($paging_controls) > 0) { echo "
"; echo $paging_controls."\n"; } echo "

".((is_array($extensions)) ? "

" : null); // check or uncheck all checkboxes if (sizeof($ext_ids) > 0) { echo "\n"; } if (is_array($extensions)) { // check all checkboxes key_press('ctrl+a', 'down', 'document', null, null, "check('all');", true); // delete checked key_press('delete', 'up', 'document', array('#search'), $text['confirm-delete'], 'document.forms.frm.submit();', true); } //show the footer require_once "resources/footer.php"; ?>