diff --git a/app/extensions/app_config.php b/app/extensions/app_config.php index 4099d4b972..a013acd0fe 100644 --- a/app/extensions/app_config.php +++ b/app/extensions/app_config.php @@ -50,6 +50,9 @@ //$apps[$x]['permissions'][$y]['groups'][] = "superadmin"; //$apps[$x]['permissions'][$y]['groups'][] = "admin"; $y++; + $apps[$x]['permissions'][$y]['name'] = "extension_domain"; + $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; + $y++; $apps[$x]['permissions'][$y]['name'] = "extension_user_view"; $apps[$x]['permissions'][$y]['menu']['uuid'] = "d3036a99-9a9f-2ad6-a82a-1fe7bebbe2d3"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index e82d95a955..765662a5be 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -492,6 +492,16 @@ $text['description-dial_string']['pt-pt'] = "Localização do endpoint."; $text['description-dial_string']['fr-fr'] = "Emplacement de la cible."; + $text['label-domain']['en-us'] = "Domain"; + $text['label-domain']['es-cl'] = "Dominio"; + $text['label-domain']['pt-pt'] = "Domínio"; + $text['label-domain']['fr-fr'] = "Domaine"; + + $text['description-domain']['en-us'] = ""; + $text['description-domain']['es-cl'] = ""; + $text['description-domain']['pt-pt'] = ""; + $text['description-domain']['fr-fr'] = ""; + $text['label-enabled']['en-us'] = "Enabled"; $text['label-enabled']['es-cl'] = "Activado"; $text['label-enabled']['pt-pt'] = "Habilitada"; diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index 96ddf31b77..7892143f11 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -264,12 +264,21 @@ else { if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - $msg = ''; - if ($action == "update") { - $extension_uuid = check_str($_POST["extension_uuid"]); - } + //get the id + if ($action == "update") { + $extension_uuid = check_str($_POST["extension_uuid"]); + } + + //set the domain_uuid + if (permission_exists('extension_domain')) { + $domain_uuid = check_str($_POST["domain_uuid"]); + } + else { + $domain_uuid = $_SESSION['domain_uuid']; + } //check for all required data + $msg = ''; if (strlen($extension) == 0) { $msg .= $text['message-required'].$text['label-extension']."
\n"; } //if (strlen($number_alias) == 0) { $msg .= $text['message-required']."Number Alias
\n"; } //if (strlen($voicemail_password) == 0) { $msg .= $text['message-required']."Voicemail Password
\n"; } @@ -410,7 +419,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $sql .= ")"; $sql .= "values "; $sql .= "("; - $sql .= "'".$_SESSION['domain_uuid']."', "; + $sql .= "'".$domain_uuid."', "; $sql .= "'$extension_uuid', "; $sql .= "'$extension', "; $sql .= "'$number_alias', "; @@ -485,7 +494,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //voicemail class $ext = new extension; $ext->db = $db; - $ext->domain_uuid = $_SESSION['domain_uuid']; + $ext->domain_uuid = $domain_uuid; $ext->extension = $extension; $ext->number_alias = $number_alias; $ext->voicemail_password = $voicemail_password; @@ -544,6 +553,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { } //update extensions $sql = "update v_extensions set "; + if (permission_exists('extension_domain')) { + $sql .= "domain_uuid = '$domain_uuid', "; + } $sql .= "extension = '$extension', "; $sql .= "number_alias = '$number_alias', "; $sql .= "password = '$password', "; @@ -605,8 +617,10 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $sql .= "enabled = '$enabled', "; } $sql .= "description = '$description' "; - $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; - $sql .= "and extension_uuid = '$extension_uuid'"; + $sql .= "where extension_uuid = '$extension_uuid' "; + if (!permission_exists('extension_domain')) { + $sql .= "and domain_uuid = '".$domain_uuid."' "; + } $db->exec(check_sql($sql)); unset($sql); @@ -615,7 +629,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { require_once "app/extensions/resources/classes/extension.php"; $ext = new extension; $ext->db = $db; - $ext->domain_uuid = $_SESSION['domain_uuid']; + $ext->domain_uuid = $domain_uuid; $ext->extension = $extension; $ext->number_alias = $number_alias; $ext->voicemail_password = $voicemail_password; @@ -631,8 +645,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //update devices having extension assigned to line(s) with new password $sql = "update v_device_lines set "; $sql .= "password = '".$password."' "; - $sql .= "where "; - $sql .= "domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; $sql .= "and server_address = '".$_SESSION['domain_name']."' "; $sql .= "and user_id = '".$extension."' "; $db->exec(check_sql($sql)); @@ -718,8 +731,8 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { if (count($_GET) > 0 && $_POST["persistformvar"] != "true") { $extension_uuid = $_GET["id"]; $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; - $sql .= "and extension_uuid = '$extension_uuid' "; + $sql .= "where extension_uuid = '$extension_uuid' "; + $sql .= "and domain_uuid = '".$domain_uuid."' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); @@ -763,7 +776,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { if (is_dir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/voicemails')) { //get the voicemails $sql = "select * from v_voicemails "; - $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; if (is_numeric($extension)) { $sql .= "and voicemail_id = '$extension' "; } @@ -956,7 +969,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $sql = "SELECT u.username, e.user_uuid FROM v_extension_users as e, v_users as u "; $sql .= "where e.user_uuid = u.user_uuid "; $sql .= "and u.user_enabled = 'true' "; - $sql .= "and e.domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "and e.domain_uuid = '".$domain_uuid."' "; $sql .= "and e.extension_uuid = '".$extension_uuid."' "; $sql .= "order by u.username asc "; $prep_statement = $db->prepare(check_sql($sql)); @@ -970,7 +983,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo " ".$field['username']."\n"; echo " \n"; echo " $v_link_label_delete\n"; -// echo " $v_link_label_delete\n"; + //echo " $v_link_label_delete\n"; echo " \n"; echo " \n"; $assigned_user_uuids[] = $field['user_uuid']; @@ -979,7 +992,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo "
\n"; } $sql = "SELECT * FROM v_users "; - $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; foreach($assigned_user_uuids as $assigned_user_uuid) { $sql .= "and user_uuid <> '".$assigned_user_uuid."' "; } @@ -1024,7 +1037,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo "\n"; echo "\n"; if ($billing_app_exists) { - $sql_accountcode = "SELECT type_value FROM v_billings WHERE domain_uuid = '".$_SESSION['domain_uuid']."'"; + $sql_accountcode = "SELECT type_value FROM v_billings WHERE domain_uuid = '".$domain_uuid."'"; echo "\n"; + foreach ($_SESSION['domains'] as $row) { + if ($row['domain_uuid'] == $domain_uuid) { + echo " \n"; + } + else { + echo " \n"; + } + } + echo " \n"; + echo "
\n"; + echo $text['description-domain_name']."\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; echo "\n"; echo " ".$text['label-dial_string'].":\n"; @@ -1838,7 +1873,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { if ($action == "update") { echo " \n"; echo " "; - echo " "; + if (!permission_exists('extension_domain')) { + echo " "; + } echo " "; echo " "; } @@ -1853,5 +1890,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { echo ""; echo ""; -require_once "resources/footer.php"; -?> +//include the footer + require_once "resources/footer.php"; + +?> \ No newline at end of file