Portions created by the Initial Developer are Copyright (C) 2008-2025 the Initial Developer. All Rights Reserved. Contributor(s): KonradSC Mark J Crane */ //includes require_once dirname(__DIR__, 2) . "/resources/require.php"; require_once "resources/pdo.php"; require_once "resources/check_auth.php"; require_once "resources/paging.php"; //check permissions if (permission_exists('mobile_twinning_view')) { //access granted } else { echo "access denied"; exit; } //initialize the database object $database = new database; //add multi-lingual support $language = new text; $text = $language->get(); //get order and order by $order_by = $_GET["order_by"] ?? 'extension'; $order = $_GET["order"] ?? 'asc'; $sort = $order_by == 'extension' ? 'natural' : null; //get total extension count for domain if (isset($_SESSION['limit']['extensions']['numeric'])) { $sql = "select count(*) from v_extensions "; $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $total_extensions = $database->select($sql, $parameters, 'column'); unset($sql, $parameters); } //add the search term $search = strtolower($_GET["search"] ?? ''); //get total extension count $sql = "select count(*) from v_extensions "; $sql .= "where true "; if (!(!empty($_GET['show']) && $_GET['show'] == "all" && permission_exists('extension_all'))) { $sql .= "and domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } if (!empty($search)) { $sql .= "and ( "; $sql .= " lower(extension) like :search "; $sql .= " or lower(mobile_twinning_number) like :search "; $sql .= " or lower(description) like :search "; $sql .= ") "; $parameters['search'] = '%'.$search.'%'; } $num_rows = $database->select($sql, $parameters ?? null, 'column'); //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; $param = "&search=".$search."&order_by=".$order_by."&order=".$order; if (!isset($_GET['page'])) { $_GET['page'] = 0; } $_GET['page'] = check_str($_GET['page']); 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 * $_GET['page']; //get all the extensions from the database $sql = "select e.extension, m.mobile_twinning_number, e.description, m.mobile_twinning_uuid, e.extension_uuid \n"; $sql .= "FROM v_extensions AS e \n "; $sql .= "LEFT OUTER JOIN v_mobile_twinnings AS m ON m.extension_uuid = e.extension_uuid "; $sql .= "where true "; if (!(!empty($_GET['show']) && $_GET['show'] == "all" && permission_exists('extension_all'))) { $sql .= "and e.domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } if (!empty($search)) { $sql .= "and ( "; $sql .= " lower(extension) like :search "; $sql .= " or lower(mobile_twinning_number) like :search "; $sql .= " or lower(description) like :search "; $sql .= ") "; $parameters['search'] = '%'.$search.'%'; } $sql .= "and e.enabled = 'true' "; if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } else { $sql .= "order by extension asc "; } $sql .= " limit $rows_per_page offset $offset "; $result = $database->select($sql, $parameters ?? null, 'all'); $result_count = count($result); unset($parameters, $sql); //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); //include the header require_once "resources/header.php"; //set the alternating styles $c = 0; $row_style["0"] = "row_style0"; $row_style["1"] = "row_style1"; //begin the content echo "
\n"; echo "
".$text['header-mobile_twinning']."
".number_format($result_count)."
\n"; echo "
\n"; if ((if_group("admin") || if_group("superadmin"))) { echo "
\n"; echo " "; echo " "; if ($paging_controls_mini != '') { echo "".$paging_controls_mini."\n"; } echo "
\n"; } echo "
\n"; echo "
\n"; echo "
\n"; echo $text['description-mobile_twinning']."\n"; echo "

"; echo "
\n"; echo "\n"; echo "\n"; echo th_order_by('extension', $text['table-extension'], $order_by,$order); echo th_order_by('m.mobile_twinning_number', $text['table-twinning_number'], $order_by, $order); echo th_order_by('e.description', $text['table-description'], $order_by, $order); echo "\n"; if ($result_count > 0) { foreach($result as $row) { $tr_link = (permission_exists('mobile_twinning_edit')) ? " href='mobile_twinning_edit.php?id=".$row['mobile_twinning_uuid']."&extid=".$row['extension_uuid']."'" : null; echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "\n"; if ($c==0) { $c=1; } else { $c=0; } } //end foreach unset($sql, $result, $row_count); } //end if results echo "
".escape($row['extension'])."".escape(format_phone(substr($row['mobile_twinning_number'],-10)))."".escape($row['description'])." "; echo " $v_link_label_edit"; echo "
"; echo "
\n"; if (strlen($paging_controls) > 0) { echo "
"; echo $paging_controls."\n"; } echo "

"; //show the footer require_once "resources/footer.php"; ?>