From 22756de281d0939d7e146d115c0c4b6ed3aa80ea Mon Sep 17 00:00:00 2001 From: fusionate Date: Mon, 6 Nov 2023 19:45:40 +0000 Subject: [PATCH] Call Flow - Edit: Add playback of selected Sound & Alternate Sound (Recordings and Sounds). --- app/call_flows/call_flow_edit.php | 335 ++++++++++++++++-------------- 1 file changed, 174 insertions(+), 161 deletions(-) diff --git a/app/call_flows/call_flow_edit.php b/app/call_flows/call_flow_edit.php index e80cc31842..16b3ff729a 100644 --- a/app/call_flows/call_flow_edit.php +++ b/app/call_flows/call_flow_edit.php @@ -368,151 +368,9 @@ //set the defaults if (empty($call_flow_enabled)) { $call_flow_enabled = 'true'; } -//get the recordings - $sql = "select recording_name, recording_filename from v_recordings "; - $sql .= "where domain_uuid = :domain_uuid "; - $sql .= "order by recording_name asc "; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $database = new database; - $recordings = $database->select($sql, $parameters, 'all'); - unset($parameters, $sql); - - if (if_group("superadmin")) { - echo "\n"; - echo "\n"; - } - - function sound_select_list($var, $name, $description_name, $load_sound=false) { - global $text, $recordings, $db; - - echo "\n"; - echo "\n"; - echo " ".$text['label-' . $description_name]."\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - echo "
\n"; - echo $text['description-' . $description_name]."\n"; - echo "\n"; - echo "\n"; - } +//get the sounds + $sounds = new sounds; + $audio_files = $sounds->get(); //create token $object = new token; @@ -523,6 +381,73 @@ require_once "resources/header.php"; //show the content + if (permission_exists('recording_play') || permission_exists('recording_download')) { + echo "\n"; + } + if (if_group("superadmin")) { + echo "\n"; + } + echo "
\n"; echo "
\n"; @@ -636,20 +561,64 @@ echo "\n"; echo "\n"; - sound_select_list($call_flow_sound, 'call_flow_sound', 'call_flow_sound', true); - - /* + $instance_id = 'call_flow_sound'; + $instance_label = 'call_flow_sound'; + $instance_value = $call_flow_sound; echo "\n"; - echo "\n"; - echo " ".$text['label-call_flow_sound']."\n"; + echo "\n"; + echo " ".$text['label-'.$instance_label]."\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo " \n"; + echo "\n"; + if (if_group("superadmin")) { + echo ""; + } + if ((permission_exists('recording_play') || permission_exists('recording_download')) && !empty($playable)) { + switch (pathinfo($playable, PATHINFO_EXTENSION)) { + case 'wav' : $mime_type = 'audio/wav'; break; + case 'mp3' : $mime_type = 'audio/mpeg'; break; + case 'ogg' : $mime_type = 'audio/ogg'; break; + } + } + echo ""; + echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'icon'=>$_SESSION['theme']['button_icon_play'],'id'=>'recording_button_'.$instance_id,'style'=>'display: '.(!empty($mime_type) ? 'inline' : 'none'),'onclick'=>"recording_play('".$instance_id."')"]); + unset($playable, $mime_type); echo "
\n"; - echo $text['description-call_flow_sound']."\n"; + echo $text['description-'.$instance_label]."\n"; echo "\n"; echo "\n"; - */ echo "\n"; echo "\n"; @@ -680,20 +649,64 @@ echo "\n"; echo "\n"; - sound_select_list($call_flow_alternate_sound, 'call_flow_alternate_sound', 'call_flow_alternate_sound', true); - - /* + $instance_id = 'call_flow_alternate_sound'; + $instance_label = 'call_flow_alternate_sound'; + $instance_value = $call_flow_alternate_sound; echo "\n"; - echo "\n"; - echo " ".$text['label-call_flow_alternate_sound']."\n"; + echo "\n"; + echo " ".$text['label-'.$instance_label]."\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - echo " \n"; + echo "\n"; + if (if_group("superadmin")) { + echo ""; + } + if ((permission_exists('recording_play') || permission_exists('recording_download')) && !empty($playable)) { + switch (pathinfo($playable, PATHINFO_EXTENSION)) { + case 'wav' : $mime_type = 'audio/wav'; break; + case 'mp3' : $mime_type = 'audio/mpeg'; break; + case 'ogg' : $mime_type = 'audio/ogg'; break; + } + } + echo ""; + echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'icon'=>$_SESSION['theme']['button_icon_play'],'id'=>'recording_button_'.$instance_id,'style'=>'display: '.(!empty($mime_type) ? 'inline' : 'none'),'onclick'=>"recording_play('".$instance_id."')"]); + unset($playable, $mime_type); echo "
\n"; - echo $text['description-call_flow_alternate_sound']."\n"; + echo $text['description-'.$instance_label]."\n"; echo "\n"; echo "\n"; - */ echo "\n"; echo "\n";