Portions created by the Initial Developer are Copyright (C) 2008-2016 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; if (permission_exists('extension_view')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //get the http values and set them as variables $search = check_str($_GET["search"]); if (isset($_GET["order_by"])) { $order_by = check_str($_GET["order_by"]); $order = check_str($_GET["order"]); } //handle search term $search = check_str($_GET["search"]); if (strlen($search) > 0) { $sql_mod = "and ( "; $sql_mod .= "extension like '%".$search."%' "; $sql_mod .= "or call_group like '%".$search."%' "; $sql_mod .= "or user_context like '%".$search."%' "; $sql_mod .= "or enabled like '%".$search."%' "; $sql_mod .= "or description like '%".$search."%' "; $sql_mod .= ") "; } require_once "resources/header.php"; $document['title'] = $text['title-extensions']; require_once "resources/paging.php"; //get total extension count from the database $sql = "select count(*) as num_rows from v_extensions where domain_uuid = '".$_SESSION['domain_uuid']."' "; $prep_statement = $db->prepare($sql); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); $total_extensions = $row['num_rows']; } unset($prep_statement, $row); //get the number of extensions (reuse $sql from above) $sql .= $sql_mod; //add search mod from above $prep_statement = $db->prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row['num_rows'] > 0) { $num_rows = $row['num_rows']; } else { $num_rows = '0'; } } unset($prep_statement, $result); //prepare to page the results $rows_per_page = 150; $param = "&search=".$search; if (!isset($_GET['page'])) { $_GET['page'] = 0; } $_GET['page'] = check_str($_GET['page']); list($paging_controls_mini, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page, true); //top list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page); //bottom $offset = $rows_per_page * $_GET['page']; //get the extensions $sql = "select * from v_extensions "; $sql .= "where domain_uuid = '$domain_uuid' "; $sql .= $sql_mod; //add search mod from above if (isset($order_by)) { $sql .= "order by $order_by $order "; } else { $sql .= "order by extension asc "; } $sql .= " limit $rows_per_page offset $offset "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $extensions = $prep_statement->fetchAll(PDO::FETCH_NAMED); unset ($prep_statement, $sql); //show the content echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
".$text['header-extensions']." (".$num_rows.")
\n"; echo " ".$text['description-extensions']."\n"; echo "
\n"; if (if_group("superadmin")) { echo " \n"; } echo " "; echo " "; if ($paging_controls_mini != '') { echo "".$paging_controls_mini."\n"; } echo "
\n"; echo "
"; $c = 0; $row_style["0"] = "row_style0"; $row_style["1"] = "row_style1"; echo "
\n"; echo "\n"; echo "\n"; if (permission_exists('extension_delete') && $num_rows > 0) { echo ""; } 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); echo th_order_by('user_context', $text['label-user_context'], $order_by, $order); 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 ($num_rows > 0) { foreach($extensions as $row) { $tr_link = (permission_exists('extension_edit')) ? " href='extension_edit.php?id=".$row['extension_uuid']."'" : null; echo "\n"; if (permission_exists('extension_delete')) { echo " "; $ext_ids[] = 'checkbox_'.$row['extension_uuid']; } echo " \n"; echo " \n"; //echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "\n"; if ($c==0) { $c=1; } else { $c=0; } } //end foreach unset($sql, $extensions, $row_count); } //end if results echo " \n"; echo " \n"; echo " \n"; 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') && $num_rows > 0) { echo "".$v_link_label_delete.""; } echo "
"; if (permission_exists('extension_edit')) { echo "".$row['extension'].""; } else { echo $row['extension']; } echo "".$row['call_group']." ".$row['voicemail_mail_to']." ".$row['user_context']."".ucwords($row['enabled'])."".$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') && $num_rows > 0) { echo "".$v_link_label_delete.""; } echo "
"; echo "
"; if (strlen($paging_controls) > 0) { echo "
".$paging_controls."
\n"; } echo "

\n"; // check or uncheck all checkboxes if (sizeof($ext_ids) > 0) { echo "\n"; } //show the footer require_once "resources/footer.php"; ?>