Voicemail - Edit: Add playback of selected Greeting.
This commit is contained in:
@@ -354,8 +354,13 @@
|
|||||||
$parameters['domain_uuid'] = $domain_uuid;
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
$parameters['voicemail_id'] = $voicemail_id;
|
$parameters['voicemail_id'] = $voicemail_id;
|
||||||
$database = new database;
|
$database = new database;
|
||||||
$greetings = $database->select($sql, $parameters, 'all');
|
$rows = $database->select($sql, $parameters, 'all');
|
||||||
unset($sql, $parameters);
|
if (!empty($rows) && is_array($rows) && @sizeof($rows) != 0) {
|
||||||
|
foreach ($rows as $row) {
|
||||||
|
$greetings[$row['greeting_id']] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unset($sql, $parameters, $rows, $row);
|
||||||
|
|
||||||
//get the voicemail options
|
//get the voicemail options
|
||||||
if ($action == 'update' && is_uuid($voicemail_uuid)) {
|
if ($action == 'update' && is_uuid($voicemail_uuid)) {
|
||||||
@@ -483,6 +488,22 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
//show the content
|
//show the content
|
||||||
|
if (permission_exists('voicemail_greeting_play') || permission_exists('voicemail_greeting_download')) {
|
||||||
|
echo "<script type='text/javascript' language='JavaScript'>\n";
|
||||||
|
echo " function set_playable(id, greeting_selected) {\n";
|
||||||
|
echo " if (greeting_selected != undefined) {\n";
|
||||||
|
echo " $('#recording_audio_' + id).attr('src', '../voicemail_greetings/voicemail_greetings.php?id=".escape($voicemail_id)."&a=download&type=rec&uuid=' + greeting_selected);\n";
|
||||||
|
echo " $('#recording_audio_' + id).attr('type', 'audio/wav');\n";
|
||||||
|
echo " $('#recording_button_' + id).show();\n";
|
||||||
|
echo " }\n";
|
||||||
|
echo " else {\n";
|
||||||
|
echo " $('#recording_button_' + id).hide();\n";
|
||||||
|
echo " $('#recording_audio_' + id).attr('src','').attr('type','');\n";
|
||||||
|
echo " }\n";
|
||||||
|
echo " }\n";
|
||||||
|
echo "</script>\n";
|
||||||
|
}
|
||||||
|
|
||||||
echo "<form method='post' name='frm' id='frm'>\n";
|
echo "<form method='post' name='frm' id='frm'>\n";
|
||||||
|
|
||||||
echo "<div class='action_bar' id='action_bar'>\n";
|
echo "<div class='action_bar' id='action_bar'>\n";
|
||||||
@@ -542,20 +563,40 @@
|
|||||||
echo "</tr>\n";
|
echo "</tr>\n";
|
||||||
|
|
||||||
echo "<tr>\n";
|
echo "<tr>\n";
|
||||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
echo "<td class='vncell' rowspan='2' valign='top' align='left' nowrap='nowrap'>\n";
|
||||||
echo " ".$text['label-greeting']."\n";
|
echo " ".$text['label-greeting']."\n";
|
||||||
echo "</td>\n";
|
echo "</td>\n";
|
||||||
|
echo "<td class='vtable playback_progress_bar_background' id='recording_progress_bar_greeting' style='display: none; border-bottom: none; padding-top: 0 !important; padding-bottom: 0 !important;' align='left'><span class='playback_progress_bar' id='recording_progress_greeting'></span></td>\n";
|
||||||
|
echo "</tr>\n";
|
||||||
|
echo "<tr>\n";
|
||||||
echo "<td class='vtable' align='left'>\n";
|
echo "<td class='vtable' align='left'>\n";
|
||||||
echo " <select class='formfld' name='greeting_id' onchange=\"if (this.selectedIndex == 0) { $('#alternate_greeting_id').slideDown(); } else { $('#alternate_greeting_id').slideUp(); }\">\n";
|
echo " <select class='formfld' name='greeting_id' id='greeting_id' onchange=\"if (this.selectedIndex == 0) { $('#alternate_greeting_id').slideDown(); } else { $('#alternate_greeting_id').slideUp(); } ".(permission_exists('voicemail_greeting_play') || permission_exists('voicemail_greeting_download') ? "recording_reset('greeting'); set_playable('greeting', this.options[this.selectedIndex].getAttribute('data-uuid'));" : null)."\">\n";
|
||||||
echo " <option value=''>".$text['label-default']."</option>\n";
|
echo " <option value=''>".$text['label-default']."</option>\n";
|
||||||
echo " <option value='0' ".(isset($greeting_id) && $greeting_id == "0" ? "selected='selected'" : null).">".$text['label-none']."</option>\n";
|
echo " <option value='0' ".(isset($greeting_id) && $greeting_id == "0" ? "selected='selected'" : null).">".$text['label-none']."</option>\n";
|
||||||
|
$playable_greeting = false;
|
||||||
if (is_array($greetings) && @sizeof($greetings) != 0) {
|
if (is_array($greetings) && @sizeof($greetings) != 0) {
|
||||||
foreach ($greetings as $greeting) {
|
foreach ($greetings as $greeting) {
|
||||||
$selected = ($greeting['greeting_id'] == $greeting_id) ? 'selected' : null;
|
if (!empty($greeting_id) && $greeting['greeting_id'] == $greeting_id) {
|
||||||
echo "<option value='".escape($greeting['greeting_id'])."' ".escape($selected).">".escape($greeting['greeting_name'])."</option>\n";
|
$selected = "selected='selected'";
|
||||||
|
$playable_greeting = $greeting['greeting_filename'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
unset($selected);
|
||||||
|
}
|
||||||
|
echo "<option value='".escape($greeting['greeting_id'])."' ".($selected ?? '')." data-uuid='".$greeting['voicemail_greeting_uuid']."'>".escape($greeting['greeting_name'])."</option>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo " </select>\n";
|
echo " </select>\n";
|
||||||
|
if ((permission_exists('voicemail_greeting_play') || permission_exists('voicemail_greeting_download')) && !empty($playable_greeting)) {
|
||||||
|
switch (pathinfo($playable_greeting, PATHINFO_EXTENSION)) {
|
||||||
|
case 'wav' : $audio_file_type = 'audio/wav'; break;
|
||||||
|
case 'mp3' : $audio_file_type = 'audio/mpeg'; break;
|
||||||
|
case 'ogg' : $audio_file_type = 'audio/ogg'; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "<audio id='recording_audio_greeting' style='display: none;' preload='none' ontimeupdate=\"update_progress('greeting')\" onended=\"recording_reset('greeting');\" src='../voicemail_greetings/voicemail_greetings.php?id=".escape($voicemail_id)."&a=download&type=rec&uuid=".escape($greetings[$greeting_id]['voicemail_greeting_uuid'])."' type='".($audio_file_type ?? '')."'></audio>";
|
||||||
|
echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'icon'=>$_SESSION['theme']['button_icon_play'],'id'=>'recording_button_greeting','style'=>'display: '.(!empty($audio_file_type) ? 'inline' : 'none'),'onclick'=>"recording_play('greeting')"]);
|
||||||
|
unset($playable_greeting, $audio_file_type);
|
||||||
echo "<br />\n";
|
echo "<br />\n";
|
||||||
echo $text['description-greeting']."\n";
|
echo $text['description-greeting']."\n";
|
||||||
echo "</td>\n";
|
echo "</td>\n";
|
||||||
|
|||||||
Reference in New Issue
Block a user