mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-29 12:09:18 +00:00
Recordings - Edit: Implement Preview button for audio playback.
This commit is contained in:
@@ -270,6 +270,33 @@ $text['label-pause']['zh-cn'] = "暂停";
|
||||
$text['label-pause']['ja-jp'] = "一時停止";
|
||||
$text['label-pause']['ko-kr'] = "정지시키다";
|
||||
|
||||
$text['label-preview']['en-us'] = "Preview";
|
||||
$text['label-preview']['en-gb'] = "Preview";
|
||||
$text['label-preview']['ar-eg'] = "معاينة";
|
||||
$text['label-preview']['de-at'] = "Vorschau";
|
||||
$text['label-preview']['de-ch'] = "Vorschau";
|
||||
$text['label-preview']['de-de'] = "Vorschau";
|
||||
$text['label-preview']['el-gr'] = "Πρεμιέρα";
|
||||
$text['label-preview']['es-cl'] = "Avance";
|
||||
$text['label-preview']['es-mx'] = "Avance";
|
||||
$text['label-preview']['fr-ca'] = "Avance";
|
||||
$text['label-preview']['fr-fr'] = "Avance";
|
||||
$text['label-preview']['he-il'] = "תצוגה מקדימה";
|
||||
$text['label-preview']['it-it'] = "Anteprima";
|
||||
$text['label-preview']['ka-ge'] = "გადახედვა";
|
||||
$text['label-preview']['nl-nl'] = "Voorbeeld";
|
||||
$text['label-preview']['pl-pl'] = "Zapowiedź";
|
||||
$text['label-preview']['pt-br'] = "Pré-visualização";
|
||||
$text['label-preview']['pt-pt'] = "Pré-visualização";
|
||||
$text['label-preview']['ro-ro'] = "Previzualizare";
|
||||
$text['label-preview']['ru-ru'] = "Предварительный просмотр";
|
||||
$text['label-preview']['sv-se'] = "Förhandsvisning";
|
||||
$text['label-preview']['uk-ua'] = "Попередній перегляд";
|
||||
$text['label-preview']['tr-tr'] = "Önizleme";
|
||||
$text['label-preview']['zh-cn'] = "预览";
|
||||
$text['label-preview']['ja-jp'] = "プレビュー";
|
||||
$text['label-preview']['ko-kr'] = "시사";
|
||||
|
||||
$text['label-file_name']['en-us'] = "File Name";
|
||||
$text['label-file_name']['en-gb'] = "File Name";
|
||||
$text['label-file_name']['ar-eg'] = "اسم الملف";
|
||||
|
||||
@@ -322,11 +322,22 @@
|
||||
echo "<div class='action_bar' id='action_bar'>\n";
|
||||
echo " <div class='heading'><b>".$text['title-edit']."</b></div>\n";
|
||||
echo " <div class='actions'>\n";
|
||||
echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$settings->get('theme', 'button_icon_back'),'id'=>'btn_back','style'=>'margin-right: 15px;','link'=>'recordings.php']);
|
||||
echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$settings->get('theme', 'button_icon_back'),'id'=>'btn_back','link'=>'recordings.php']);
|
||||
if (permission_exists('recording_delete') && !empty($recording_uuid) && is_uuid($recording_uuid)) {
|
||||
echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$settings->get('theme', 'button_icon_delete'),'name'=>'btn_delete','style'=>'margin-right: 15px;','onclick'=>"modal_open('modal-delete','btn_delete');"]);
|
||||
echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$settings->get('theme', 'button_icon_delete'),'name'=>'btn_delete','style'=>'margin-left: 15px;','onclick'=>"modal_open('modal-delete','btn_delete');"]);
|
||||
}
|
||||
echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$settings->get('theme', 'button_icon_save'),'id'=>'btn_save']);
|
||||
if (permission_exists('recording_play') && !empty($recording_uuid) && is_uuid($recording_uuid)) {
|
||||
$recording_file_name = strtolower(pathinfo($recording_filename, PATHINFO_BASENAME));
|
||||
$recording_file_ext = pathinfo($recording_file_name, 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;
|
||||
}
|
||||
echo "<audio id='recording_audio_".escape($recording_uuid)."' style='display: none;' preload='none' onended=\"recording_reset('".escape($recording_uuid)."');\" src=\"".PROJECT_PATH."/app/recordings/recordings.php?action=download&type=rec&id=".urlencode($recording_uuid)."\" type='".$recording_type."'></audio>";
|
||||
echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'label'=>'Preview','icon'=>$settings->get('theme','button_icon_play'),'id'=>'recording_button_'.escape($recording_uuid),'onclick'=>"recording_play('".escape($recording_uuid)."','','','".$text['label-preview']."'); this.blur();"]);
|
||||
}
|
||||
echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$settings->get('theme', 'button_icon_save'),'id'=>'btn_save','style'=>'margin-left: 15px;']);
|
||||
echo " </div>\n";
|
||||
echo " <div style='clear: both;'></div>\n";
|
||||
echo "</div>\n";
|
||||
@@ -349,7 +360,7 @@
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
if (!empty($_REQUEST["id"])) {
|
||||
if (!empty($recording_uuid)) {
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
|
||||
echo " ".$text['label-file_name']."\n";
|
||||
@@ -546,4 +557,4 @@
|
||||
//include the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
?>
|
||||
@@ -741,7 +741,7 @@
|
||||
|
||||
//audio playback functions
|
||||
{literal}
|
||||
var recording_audio, audio_clock, recording_id_playing;
|
||||
var recording_audio, audio_clock, recording_id_playing, label_play;
|
||||
|
||||
function recording_load(player_id, data, audio_type) {
|
||||
{/literal}
|
||||
@@ -780,8 +780,14 @@
|
||||
}
|
||||
recording_audio = document.getElementById('recording_audio_' + player_id);
|
||||
|
||||
var label_play = "{/literal}{if $php_self == 'xml_cdr_details.php'}{literal}<span class='button-label pad'>{/literal}{$text.label_play}{literal}</span>{/literal}{/if}{literal}";
|
||||
var label_pause = "{/literal}{if $php_self == 'xml_cdr_details.php'}{literal}<span class='button-label pad'>{/literal}{$text.label_pause}{literal}</span>{/literal}{/if}{literal}";
|
||||
if (label !== undefined) {
|
||||
label_play = "<span class='button-label pad'>" + label + "</span>";
|
||||
var label_pause = "<span class='button-label pad'>" + label + "</span>";
|
||||
}
|
||||
else {
|
||||
label_play = "{/literal}{if $php_self == 'xml_cdr_details.php'}{literal}<span class='button-label pad'>{/literal}{$text.label_play}{literal}</span>{/literal}{/if}{literal}";
|
||||
var label_pause = "{/literal}{if $php_self == 'xml_cdr_details.php'}{literal}<span class='button-label pad'>{/literal}{$text.label_pause}{literal}</span>{/literal}{/if}{literal}";
|
||||
}
|
||||
|
||||
if (recording_audio.paused) {
|
||||
recording_load(player_id, data, audio_type);
|
||||
@@ -837,7 +843,7 @@
|
||||
document.getElementById('recording_button_' + player_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_comment}{literal} fa-fw'></span>";
|
||||
}
|
||||
else {
|
||||
document.getElementById('recording_button_' + player_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_play}{literal} fa-fw'></span>";
|
||||
document.getElementById('recording_button_' + player_id).innerHTML = "<span class='{/literal}{$settings.theme.button_icon_play}{literal} fa-fw'></span>" + (label_play ?? '');
|
||||
}
|
||||
clearInterval(audio_clock);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user