diff --git a/app/gswave/index.php b/app/gswave/index.php index 65d451f679..eb11e75746 100644 --- a/app/gswave/index.php +++ b/app/gswave/index.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2018 + Portions created by the Initial Developer are Copyright (C) 2008-2019 the Initial Developer. All Rights Reserved. Contributor(s): @@ -47,55 +47,62 @@ $extension_uuid = $_GET['id']; } -//get the extensions - $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = :domain_uuid "; - $sql .= "and enabled = 'true' "; - $sql .= "order by extension asc "; +//get the extension(s) + $sql = "select e.* "; + $sql .= "from v_extensions as e, "; + $sql .= "v_extension_users as eu "; + $sql .= "where e.extension_uuid = eu.extension_uuid "; + if (!permission_exists('extension_edit')) { + $sql .= "and eu.user_uuid = :user_uuid "; + $parameters['user_uuid'] = $_SESSION['user']['user_uuid']; + } + $sql .= "and e.domain_uuid = :domain_uuid "; + $sql .= "and e.enabled = 'true' "; + $sql .= "group by e.extension_uuid "; + $sql .= "order by e.extension asc "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $database = new database; $extensions = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); -//get the extension - if (is_uuid($_GET['id'])) { - $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = :domain_uuid "; - $sql .= "and extension_uuid = :extension_uuid "; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $parameters['extension_uuid'] = $extension_uuid; - $database = new database; - $extension = $database->select($sql, $parameters, 'all'); - $field = $extension[0]; - unset($sql, $parameters); - } + if (is_uuid($extension_uuid) && is_array($extensions) && @sizeof($extensions) != 0) { -//get the username - $username = $field['extension']; - if (isset($field['number_alias']) && strlen($field['number_alias']) > 0) { - $username = $field['number_alias']; - } + //loop through get selected extension + if (is_array($extensions) && @sizeof($extensions) != 0) { + foreach ($extensions as $extension) { + if ($extension['extension_uuid'] == $extension_uuid) { + $field = $extension; + break; + } + } + } + + //get the username + $username = $field['extension']; + if (isset($field['number_alias']) && strlen($field['number_alias']) > 0) { + $username = $field['number_alias']; + } + + //build the xml + $xml = ""; + $xml .= ""; + $xml .= ""; + $xml .= "".$_SESSION['domain_name'].""; + //$xml .= "".$_SESSION['domain_name'].""; + //$xml .= "".$_SESSION['domain_name'].""; + $xml .= "".$_SESSION['domain_name'].":".$_SESSION['provision']['line_sip_port']['numeric'].""; + $xml .= "".$_SESSION['domain_name'].":".$_SESSION['provision']['line_sip_port']['numeric'].""; + $xml .= "".$username.""; + $xml .= "".$username.""; + $xml .= "".$field['password'].""; + $xml .= "".$username.""; + $xml .= "".$username.""; + $xml .= "{x+|*x+|*++}"; + $xml .= "0"; + $xml .= "*97"; + $xml .= ""; + $xml .= ""; -//build the xml - if (is_uuid($_GET['id'])) { - $xml = ""; - $xml .= ""; - $xml .= ""; - $xml .= "".$_SESSION['domain_name'].""; - //$xml .= "".$_SESSION['domain_name'].""; - //$xml .= "".$_SESSION['domain_name'].""; - $xml .= "".$_SESSION['domain_name'].":".$_SESSION['provision']['line_sip_port']['numeric'].""; - $xml .= "".$_SESSION['domain_name'].":".$_SESSION['provision']['line_sip_port']['numeric'].""; - $xml .= "".$username.""; - $xml .= "".$username.""; - $xml .= "".$field['password'].""; - $xml .= "".$username.""; - $xml .= "".$username.""; - $xml .= "{x+|*x+|*++}"; - $xml .= "0"; - $xml .= "*97"; - $xml .= ""; - $xml .= ""; } //debian @@ -136,9 +143,11 @@ echo "\n"; echo " \n"; //echo "
\n"; @@ -160,7 +169,7 @@ echo "
"; //stream the file - if (is_uuid($_GET['id'])) { + if (is_uuid($extension_uuid)) { $include_path = get_include_path(); $xml = html_entity_decode( $xml, ENT_QUOTES, 'UTF-8' ); set_include_path ($_SERVER["PROJECT_ROOT"].'/resources/qr_code'); @@ -191,7 +200,7 @@ } //html image - if (is_uuid($_GET['id'])) { + if (is_uuid($extension_uuid)) { echo "\n"; } @@ -199,4 +208,4 @@ set_include_path ($include_path); require_once "resources/footer.php"; -?> +?> \ No newline at end of file