summaryrefslogtreecommitdiffstats
path: root/vmail-listmessages-html.lsp
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2016-07-01 22:04:42 +0000
committerTed Trask <ttrask01@yahoo.com>2016-07-01 22:05:22 +0000
commit729b70d57617193d7b449034491684af5c0799e4 (patch)
treed0b72e9c83c1df8090b05b77676228f03fa8c762 /vmail-listmessages-html.lsp
parent7acf0bc5e9d22ec21a1b8588e505f4263f779ad1 (diff)
downloadacf-freeswitch-vmail-729b70d57617193d7b449034491684af5c0799e4.tar.bz2
acf-freeswitch-vmail-729b70d57617193d7b449034491684af5c0799e4.tar.xz
Fix message playback, support both mp3 and wav audio formats, and modify listmessages HTML view to use HTML5 audio tag
Playback was broken since change from Play link to button Known issue that IE11 audio tag does not support wav format
Diffstat (limited to 'vmail-listmessages-html.lsp')
-rw-r--r--vmail-listmessages-html.lsp123
1 files changed, 1 insertions, 122 deletions
diff --git a/vmail-listmessages-html.lsp b/vmail-listmessages-html.lsp
index a6307d2..8baad2b 100644
--- a/vmail-listmessages-html.lsp
+++ b/vmail-listmessages-html.lsp
@@ -64,130 +64,9 @@ end
</script>
<script type="text/javascript">
- <% -- Browser detect script from http://www.quirksmode.org/js/detect.html %>
- var BrowserDetect = {
- init: function () {
- this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
- this.version = this.searchVersion(navigator.userAgent)
- || this.searchVersion(navigator.appVersion)
- || "an unknown version";
- this.OS = this.searchString(this.dataOS) || "an unknown OS";
- },
- searchString: function (data) {
- for (var i=0;i<data.length;i++) {
- var dataString = data[i].string;
- var dataProp = data[i].prop;
- this.versionSearchString = data[i].versionSearch || data[i].identity;
- if (dataString) {
- if (dataString.indexOf(data[i].subString) != -1)
- return data[i].identity;
- }
- else if (dataProp)
- return data[i].identity;
- }
- },
- searchVersion: function (dataString) {
- var index = dataString.indexOf(this.versionSearchString);
- if (index == -1) return;
- return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
- },
- dataBrowser: [
- {
- string: navigator.userAgent,
- subString: "Chrome",
- identity: "Chrome"
- },
- { string: navigator.userAgent,
- subString: "OmniWeb",
- versionSearch: "OmniWeb/",
- identity: "OmniWeb"
- },
- {
- string: navigator.vendor,
- subString: "Apple",
- identity: "Safari",
- versionSearch: "Version"
- },
- {
- prop: window.opera,
- identity: "Opera"
- },
- {
- string: navigator.vendor,
- subString: "iCab",
- identity: "iCab"
- },
- {
- string: navigator.vendor,
- subString: "KDE",
- identity: "Konqueror"
- },
- {
- string: navigator.userAgent,
- subString: "Firefox",
- identity: "Firefox"
- },
- {
- string: navigator.vendor,
- subString: "Camino",
- identity: "Camino"
- },
- { // for newer Netscapes (6+)
- string: navigator.userAgent,
- subString: "Netscape",
- identity: "Netscape"
- },
- {
- string: navigator.userAgent,
- subString: "MSIE",
- identity: "Explorer",
- versionSearch: "MSIE"
- },
- {
- string: navigator.userAgent,
- subString: "Gecko",
- identity: "Mozilla",
- versionSearch: "rv"
- },
- { // for older Netscapes (4-)
- string: navigator.userAgent,
- subString: "Mozilla",
- identity: "Netscape",
- versionSearch: "Mozilla"
- }
- ],
- dataOS : [
- {
- string: navigator.platform,
- subString: "Win",
- identity: "Windows"
- },
- {
- string: navigator.platform,
- subString: "Mac",
- identity: "Mac"
- },
- {
- string: navigator.userAgent,
- subString: "iPhone",
- identity: "iPhone/iPod"
- },
- {
- string: navigator.platform,
- subString: "Linux",
- identity: "Linux"
- }
- ]
- };
- BrowserDetect.init();
-
function PlayMessage() {
$(".temporaryplayer").remove();
- if ( BrowserDetect.browser == "Safari" ) {
- $(this).parent().parent().after("<tr class='temporaryplayer'><td colspan='9'><object type='audio/x-wav' data='" + $(this).attr("href") + "' width='100%' height='25'><param name='src' value='" + $(this).attr("href") + "'> <param name='autoplay' value='true'> <param name='autoStart' value='1'> </object></td></tr>");
- } else {
- $(this).parent().parent().after("<tr class='temporaryplayer'><td colspan='9'><embed width='100%' height='25px' autostart='1' playcount='1' src='" + $(this).attr("href") + "' type='application/x-mplayer2'></embed></td></tr>");
- };
+ $(this).parent().parent().parent().after("<tr class='temporaryplayer'><td colspan='9'><audio autoplay controls src='" + $(this).parent().prop("action") + "?submit=true&" + $(this).parent().serialize() + "'></audio></td></tr>");
return false;
}
function HandleMulti() {