From e31b01d6c325e9c80dc3f8f62e3d90ca3a126622 Mon Sep 17 00:00:00 2001 From: Nate Date: Thu, 26 Mar 2020 15:32:06 -0600 Subject: [PATCH] SIP Profiles: Modal integration. --- app/sip_profiles/sip_profile_copy.php | 16 +++++++----- app/sip_profiles/sip_profile_edit.php | 36 +++++++++++++++++++++++++-- app/sip_profiles/sip_profiles.php | 11 ++++++-- 3 files changed, 53 insertions(+), 10 deletions(-) diff --git a/app/sip_profiles/sip_profile_copy.php b/app/sip_profiles/sip_profile_copy.php index d1f8dad4c1..f61b62062e 100644 --- a/app/sip_profiles/sip_profile_copy.php +++ b/app/sip_profiles/sip_profile_copy.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-2016 + Portions created by the Initial Developer are Copyright (C) 2008-2020 the Initial Developer. All Rights Reserved. Contributor(s): @@ -25,7 +25,7 @@ */ //includes - include "root.php"; + require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; require_once "resources/paging.php"; @@ -54,11 +54,14 @@ if (is_uuid($sip_profile_uuid) && $sip_profile_name != '') { //get the sip profile data if (count($_GET) > 0 && $_POST["persistformvar"] != "true") { - $sql = "select sip_profile_description from v_sip_profiles "; + $sql = "select sip_profile_hostname, sip_profile_enabled, sip_profile_description from v_sip_profiles "; $sql .= "where sip_profile_uuid = :sip_profile_uuid "; $parameters['sip_profile_uuid'] = $sip_profile_uuid; $database = new database; - $sip_profile_description = $database->select($sql, $parameters, 'column'); + $row = $database->select($sql, $parameters, 'row'); + $sip_profile_hostname = $row['sip_profile_hostname']; + $sip_profile_enabled = $row['sip_profile_enabled']; + $sip_profile_description = $row['sip_profile_description']; unset($sql, $parameters); } @@ -66,8 +69,9 @@ if (is_uuid($sip_profile_uuid) && $sip_profile_name != '') { $sip_profile_uuid_new = uuid(); $array['sip_profiles'][0]['sip_profile_uuid'] = $sip_profile_uuid_new; $array['sip_profiles'][0]['sip_profile_name'] = $sip_profile_name; - $array['sip_profiles'][0]['sip_profile_enabled'] = 'true'; - $array['sip_profiles'][0]['sip_profile_description'] = $sip_profile_description; + $array['sip_profiles'][0]['sip_profile_hostname'] = $sip_profile_hostname; + $array['sip_profiles'][0]['sip_profile_enabled'] = $sip_profile_enabled; + $array['sip_profiles'][0]['sip_profile_description'] = $sip_profile_description.' ('.$text['label-copy'].')'; //get the the sip profile settings $sql = "select * from v_sip_profile_domains "; diff --git a/app/sip_profiles/sip_profile_edit.php b/app/sip_profiles/sip_profile_edit.php index 6b74cb5058..ac872bf445 100644 --- a/app/sip_profiles/sip_profile_edit.php +++ b/app/sip_profiles/sip_profile_edit.php @@ -328,7 +328,7 @@ || permission_exists('outbound_route_add') || permission_exists('time_condition_add') ) { - echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'id'=>'btn_copy','style'=>$button_margin,'onclick'=>"var name = prompt('".$text['label-new_sip_profile_name']."'); if (name != null) { window.location='sip_profile_copy.php?id=".urlencode($sip_profile_uuid)."&name=' + name; }"]); + echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'name'=>'btn_copy','style'=>$button_margin,'onclick'=>"modal_open('modal-copy','new_profile_name');"]); unset($button_margin); } if ( @@ -336,7 +336,7 @@ || permission_exists('sip_profile_domain_delete') || permission_exists('sip_profile_setting_delete') ) { - echo button::create(['type'=>'submit','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'action','value'=>'delete','style'=>$button_margin,'onclick'=>"if (!confirm('".$text['confirm-delete']."')) { this.blur(); return false; }"]); + echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete','style'=>$button_margin,'onclick'=>"modal_open('modal-delete','btn_delete');"]); unset($button_margin); } } @@ -345,6 +345,38 @@ echo "
\n"; echo "\n"; + if ($action == 'update') { + if ( + permission_exists('dialplan_add') + || permission_exists('inbound_route_add') + || permission_exists('outbound_route_add') + || permission_exists('time_condition_add') + ) { + echo modal::create([ + 'id'=>'modal-copy', + 'type'=>'general', + 'message'=>$text['label-new_sip_profile_name']."...

", + 'actions'=>button::create([ + 'type'=>'button', + 'label'=>$text['button-continue'], + 'icon'=>'check', + 'id'=>'btn_copy', + 'style'=>'float: right; margin-left: 15px;', + 'collapse'=>'never', + 'onclick'=>"modal_close(); if (document.getElementById('new_profile_name').value != '') { window.location='sip_profile_copy.php?id=".urlencode($sip_profile_uuid)."&name=' + document.getElementById('new_profile_name').value; }" + ]), + 'onclose'=>"document.getElementById('new_profile_name').value = '';", + ]); + } + if ( + permission_exists('sip_profile_delete') + || permission_exists('sip_profile_domain_delete') + || permission_exists('sip_profile_setting_delete') + ) { + echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'delete','onclick'=>"modal_close();"])]); + } + } + echo "\n"; echo "\n"; diff --git a/app/sip_profiles/sip_profiles.php b/app/sip_profiles/sip_profiles.php index 866cd57bee..7ea2f1c426 100644 --- a/app/sip_profiles/sip_profiles.php +++ b/app/sip_profiles/sip_profiles.php @@ -123,10 +123,10 @@ echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'id'=>'btn_add','link'=>'sip_profile_edit.php']); } if (permission_exists('sip_profile_edit') && $sip_profiles) { - echo button::create(['type'=>'button','label'=>$text['button-toggle'],'icon'=>$_SESSION['theme']['button_icon_toggle'],'id'=>'btn_toggle','onclick'=>"if (confirm('".$text['confirm-toggle']."')) { list_action_set('toggle'); list_form_submit('form_list'); } else { this.blur(); return false; }"]); + echo button::create(['type'=>'button','label'=>$text['button-toggle'],'icon'=>$_SESSION['theme']['button_icon_toggle'],'name'=>'btn_toggle','onclick'=>"modal_open('modal-toggle','btn_toggle');"]); } if (permission_exists('sip_profile_delete') && $sip_profiles) { - echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','onclick'=>"if (confirm('".$text['confirm-delete']."')) { list_action_set('delete'); list_form_submit('form_list'); } else { this.blur(); return false; }"]); + echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete','onclick'=>"modal_open('modal-delete','btn_delete');"]); } echo "\n"; echo ""; @@ -140,6 +140,13 @@ echo "
\n"; echo "\n"; + if (permission_exists('sip_profile_edit') && $sip_profiles) { + echo modal::create(['id'=>'modal-toggle','type'=>'toggle','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_toggle','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('toggle'); list_form_submit('form_list');"])]); + } + if (permission_exists('sip_profile_delete') && $sip_profiles) { + echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]); + } + echo $text['description-sip_profiles']."\n"; echo "

\n";