diff --git a/app/ivr_menus/ivr_menu_edit.php b/app/ivr_menus/ivr_menu_edit.php index 04ac43e839..cccc00855c 100644 --- a/app/ivr_menus/ivr_menu_edit.php +++ b/app/ivr_menus/ivr_menu_edit.php @@ -617,26 +617,15 @@ } } -//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($sql, $parameters); +//get the sounds + $sounds = new sounds; + $sounds->sound_types = ['miscellaneous','recordings','phrases']; + $audio_files[0] = $sounds->get(); + unset($sounds); -//get the phrases - $sql = "select * from v_phrases "; - $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) "; - $parameters['domain_uuid'] = $domain_uuid; - $database = new database; - $phrases = $database->select($sql, $parameters, 'all'); - unset($sql, $parameters); - -//get the sound files - $file = new file; - $sound_files = $file->sounds($ivr_menu_language, $ivr_menu_dialect, $ivr_menu_voice); + $sounds = new sounds; + $audio_files[1] = $sounds->get(); + unset($sounds); //create token $object = new token; @@ -647,24 +636,34 @@ require_once "resources/header.php"; //show the content - echo "\n"; if (permission_exists('recording_play') || permission_exists('recording_download')) { - echo " function set_playable(id, greet_selected) {\n"; - echo " file_ext = greet_selected.split('.').pop();\n"; - echo " var recording_type = '';\n"; + echo "\n"; + } + if (if_group("superadmin")) { + echo "\n"; } - echo ""; echo "
\n"; @@ -779,317 +817,149 @@ echo "\n"; echo "\n"; + $instance_id = 'ivr_menu_greet_long'; + $instance_label = 'greet_long'; + $instance_value = $ivr_menu_greet_long; echo "\n"; - echo "\n"; - echo " ".$text['label-greet_long']."\n"; + echo "\n"; + echo " ".$text['label-'.$instance_label]."\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - if (if_group("superadmin")) { - $destination_id = "ivr_menu_greet_long"; - $script = "\n"; - $script .= "\n"; - echo $script; - } - echo "\n"; + echo " \n"; + $found = $playable = false; + if (!empty($audio_files[0]) && is_array($audio_files[0]) && @sizeof($audio_files[0]) != 0) { + foreach ($audio_files[0] as $key => $value) { + echo "\n"; + foreach ($value as $row) { + if ($key == 'recordings') { + if ( + !empty($instance_value) && + ($instance_value == $row["value"] || $instance_value == $_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name'].'/'.$row["value"]) && + file_exists($_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name'].'/'.pathinfo($row["value"], PATHINFO_BASENAME)) + ) { + $selected = "selected='selected'"; + $playable = '../recordings/recordings.php?action=download&type=rec&filename='.pathinfo($row["value"], PATHINFO_BASENAME); + $found = true; } else { - echo " \n"; + unset($selected); } } + else if ($key == 'sounds') { + if (!empty($instance_value) && $instance_value == $row["value"]) { + $selected = "selected='selected'"; + $playable = '../switch/sounds.php?action=download&filename='.$row["value"]; + $found = true; + } + else { + unset($selected); + } + } + else { + unset($selected); + } + echo " \n"; } echo "\n"; } - */ - //select - if (if_group("superadmin") && !empty($_SESSION['switch']['recordings']['dir'])) { - if (!$tmp_selected && !empty($ivr_menu_greet_long)) { - echo "\n"; - if (file_exists($_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name']."/".$ivr_menu_greet_long)) { - echo " \n"; - } - else if (substr($ivr_menu_greet_long, -3) == "wav" || substr($ivr_menu_greet_long, -3) == "mp3") { - echo " \n"; - } - else { - echo " \n"; - } - echo "\n"; - } - unset($tmp_selected); - } + } + if (if_group("superadmin") && !empty($instance_value) && !$found) { + echo " \n"; + } + unset($selected); echo " \n"; if (if_group("superadmin")) { - echo ""; - unset($destination_id); + echo ""; } - if ((permission_exists('recording_play') || permission_exists('recording_download')) && !empty($playable_recording_greet_long)) { - $recording_file_ext = pathinfo($playable_recording_greet_long, PATHINFO_EXTENSION); - switch ($recording_file_ext) { - case 'wav' : $recording_type = 'audio/wav'; break; - case 'mp3' : $recording_type = 'audio/mpeg'; break; - case 'ogg' : $recording_type = 'audio/ogg'; break; + if ((permission_exists('recording_play') || permission_exists('recording_download')) && (!empty($playable) || empty($instance_value))) { + 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 ""; - echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'icon'=>$_SESSION['theme']['button_icon_play'],'id'=>'recording_button_greet_long','style'=>'display: '.(!empty($recording_type) ? 'inline' : 'none'),'onclick'=>"recording_play('greet_long')"]); - unset($playable_recording_greet_long, $recording_type); - echo "
\n"; - echo $text['description-greet_long']."\n"; + echo "
\n"; + echo $text['description-'.$instance_label]."\n"; echo "\n"; echo "\n"; + $instance_id = 'ivr_menu_greet_short'; + $instance_label = 'greet_short'; + $instance_value = $ivr_menu_greet_short; echo "\n"; - echo "\n"; - echo " ".$text['label-greet_short']."\n"; + echo "\n"; + echo " ".$text['label-'.$instance_label]."\n"; echo "\n"; - echo "\n"; + echo "\n"; echo "\n"; echo "\n"; echo "\n"; - if (if_group("superadmin")) { - $destination_id = "ivr_menu_greet_short"; - $script = "\n"; - $script .= "\n"; - echo $script; - } - echo "\n"; + echo " \n"; + $found = $playable = false; + if (!empty($audio_files[0]) && is_array($audio_files[0]) && @sizeof($audio_files[0]) != 0) { + foreach ($audio_files[0] as $key => $value) { + echo "\n"; + foreach ($value as $row) { + if ($key == 'recordings') { + if ( + !empty($instance_value) && + ($instance_value == $row["value"] || $instance_value == $_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name'].'/'.$row["value"]) && + file_exists($_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name'].'/'.pathinfo($row["value"], PATHINFO_BASENAME)) + ) { + $selected = "selected='selected'"; + $playable = '../recordings/recordings.php?action=download&type=rec&filename='.pathinfo($row["value"], PATHINFO_BASENAME); + $found = true; } else { - echo " \n"; + unset($selected); } } + else if ($key == 'sounds') { + if (!empty($instance_value) && $instance_value == $row["value"]) { + $selected = "selected='selected'"; + $playable = '../switch/sounds.php?action=download&filename='.$row["value"]; + $found = true; + } + else { + unset($selected); + } + } + else { + unset($selected); + } + echo " \n"; } echo "\n"; } - */ - //select - if (if_group("superadmin") && !empty($_SESSION['switch']['recordings']['dir'])) { - if (!$tmp_selected && !empty($ivr_menu_greet_short)) { - echo "\n"; - if (file_exists($_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name']."/".$ivr_menu_greet_short)) { - echo " \n"; - } - else if (substr($ivr_menu_greet_short, -3) == "wav" || substr($ivr_menu_greet_short, -3) == "mp3") { - echo " \n"; - } - else { - echo " \n"; - } - echo "\n"; - } - unset($tmp_selected); - } + } + if (if_group("superadmin") && !empty($instance_value) && !$found) { + echo " \n"; + } + unset($selected); echo " \n"; if (if_group("superadmin")) { - echo ""; - unset($destination_id); + echo ""; } - if ((permission_exists('recording_play') || permission_exists('recording_download')) && !empty($playable_recording_greet_short)) { - $recording_file_ext = pathinfo($playable_recording_greet_short, PATHINFO_EXTENSION); - switch ($recording_file_ext) { - case 'wav' : $recording_type = 'audio/wav'; break; - case 'mp3' : $recording_type = 'audio/mpeg'; break; - case 'ogg' : $recording_type = 'audio/ogg'; break; + if ((permission_exists('recording_play') || permission_exists('recording_download')) && (!empty($playable) || empty($instance_value))) { + 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 ""; - echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'icon'=>$_SESSION['theme']['button_icon_play'],'id'=>'recording_button_greet_short','style'=>'display: '.(!empty($recording_type) ? 'inline' : 'none'),'onclick'=>"recording_play('greet_short')"]); - unset($playable_recording_greet_short, $recording_type); echo "
\n"; - echo $text['description-greet_short']."\n"; + echo $text['description-'.$instance_label]."\n"; echo "\n"; echo "\n"; @@ -1315,7 +1185,8 @@ echo "\n"; echo "\n"; - //--- begin: show_advanced ----------------------- + //--- begin: advanced ----------------------- + echo "
\n"; echo " \n"; echo " \n"; @@ -1330,181 +1201,149 @@ echo "
\n"; echo "
\n"; + $instance_id = 'ivr_menu_invalid_sound'; + $instance_label = 'invalid_sound'; + $instance_value = $ivr_menu_invalid_sound; echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; + $instance_id = 'ivr_menu_exit_sound'; + $instance_label = 'exit_sound'; + $instance_value = $ivr_menu_exit_sound; echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo "\n"; @@ -1643,7 +1482,7 @@ echo "
\n"; - echo " ".$text['label-invalid_sound']."\n"; + echo "\n"; + echo " ".$text['label-'.$instance_label]."\n"; echo "\n"; - echo "
\n"; + echo "\n"; + if (if_group("superadmin")) { + echo ""; + } + if ((permission_exists('recording_play') || permission_exists('recording_download')) && (!empty($playable) || empty($instance_value))) { + 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 "\n"; + 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-invalid_sound']."\n"; + echo $text['description-'.$instance_label]."\n"; echo "
\n"; - echo " ".$text['label-exit_sound']."\n"; + echo "\n"; + echo " ".$text['label-'.$instance_label]."\n"; echo "
\n"; - echo "\n"; echo " \n"; - //misc optgroup - if (if_group("superadmin")) { - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - } - //recordings - $tmp_selected = false; - if (!empty($recordings) && !empty($_SESSION['switch']['recordings']['dir'])) { - echo "\n"; - foreach ($recordings as &$row) { - $recording_name = $row["recording_name"]; - $recording_filename = $row["recording_filename"]; - if (!empty($ivr_menu_exit_sound) && $ivr_menu_exit_sound == $_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name']."/".$recording_filename) { - $tmp_selected = true; - echo " \n"; - } - else if (!empty($ivr_menu_exit_sound) && $ivr_menu_exit_sound == $recording_filename) { - $tmp_selected = true; - echo " \n"; - } - else { - echo " \n"; - } - } - echo "\n"; - } - //phrases - if (!empty($phrases)) { - echo "\n"; - foreach ($phrases as &$row) { - if (!empty($ivr_menu_exit_sound) && $ivr_menu_exit_sound == "phrase:".$row["phrase_uuid"]) { - $tmp_selected = true; - echo " \n"; - } - else { - echo " \n"; - } - } - echo "\n"; - } - //sounds - if (!empty($sound_files)) { - echo "\n"; - foreach ($sound_files as $value) { - if (!empty($value)) { - if (!empty($ivr_menu_exit_sound) && substr($ivr_menu_exit_sound, 0, 71) == "\$\${sounds_dir}/\${default_language}/\${default_dialect}/\${default_voice}/") { - $ivr_menu_exit_sound = substr($ivr_menu_exit_sound, 71); - } - if (!empty($ivr_menu_exit_sound) && $ivr_menu_exit_sound == $value) { - $tmp_selected = true; - echo " \n"; + $found = $playable = false; + if (!empty($audio_files[1]) && is_array($audio_files[1]) && @sizeof($audio_files[1]) != 0) { + foreach ($audio_files[1] as $key => $value) { + echo "\n"; + foreach ($value as $row) { + if ($key == 'recordings') { + if ( + !empty($instance_value) && + ($instance_value == $row["value"] || $instance_value == $_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name'].'/'.$row["value"]) && + file_exists($_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name'].'/'.pathinfo($row["value"], PATHINFO_BASENAME)) + ) { + $selected = "selected='selected'"; + $playable = '../recordings/recordings.php?action=download&type=rec&filename='.pathinfo($row["value"], PATHINFO_BASENAME); + $found = true; } else { - echo " \n"; + unset($selected); } } + else if ($key == 'sounds') { + if (!empty($instance_value) && $instance_value == $row["value"]) { + $selected = "selected='selected'"; + $playable = '../switch/sounds.php?action=download&filename='.$row["value"]; + $found = true; + } + else { + unset($selected); + } + } + else { + unset($selected); + } + echo " \n"; } echo "\n"; } - //select - if (if_group("superadmin") && !empty($_SESSION['switch']['recordings']['dir'])) { - if (!$tmp_selected && !empty($ivr_menu_exit_sound)) { - echo "\n"; - if (file_exists($_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name']."/".$ivr_menu_exit_sound)) { - echo " \n"; - } - else if (substr($ivr_menu_exit_sound, -3) == "wav" || substr($ivr_menu_exit_sound, -3) == "mp3") { - echo " \n"; - } - echo "\n"; - } - unset($tmp_selected); + } + if (if_group("superadmin") && !empty($instance_value) && !$found) { + echo " \n"; + } + unset($selected); + echo " \n"; + if (if_group("superadmin")) { + echo ""; + } + if ((permission_exists('recording_play') || permission_exists('recording_download')) && (!empty($playable) || empty($instance_value))) { + 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 "\n"; + 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-exit_sound']."\n"; + echo $text['description-'.$instance_label]."\n"; echo "
\n"; echo "
"; - //--- end: show_advanced ----------------------- + //--- end: advanced ----------------------- echo "\n"; if (permission_exists('ivr_menu_context')) { @@ -1705,4 +1544,4 @@ //include the footer require_once "resources/footer.php"; -?> +?> \ No newline at end of file