diff options
author | Mark Crane <mcrane@pfsense.org> | 2008-12-31 01:25:36 +0000 |
---|---|---|
committer | Mark Crane <mcrane@pfsense.org> | 2008-12-31 01:25:36 +0000 |
commit | 18967860d5f1a38f02f34cf2d790d6dfd1b1a99d (patch) | |
tree | 09353d8f468c9ba8433fa84767d7973c17330f36 | |
parent | 955b31a1f0b5cd40c80cec9b8e4ae436820621a0 (diff) | |
download | pfsense-packages-18967860d5f1a38f02f34cf2d790d6dfd1b1a99d.tar.gz pfsense-packages-18967860d5f1a38f02f34cf2d790d6dfd1b1a99d.tar.bz2 pfsense-packages-18967860d5f1a38f02f34cf2d790d6dfd1b1a99d.zip |
FreeSWITCH package add music on hold to rec tab add upload for rec and moh, add acl, cidr, and callgroup to extensions.
-rw-r--r-- | packages/freeswitch/freeswitch.inc | 24 | ||||
-rw-r--r-- | packages/freeswitch/freeswitch.xml | 2 | ||||
-rw-r--r-- | packages/freeswitch/freeswitch_extensions.tmp | 4 | ||||
-rw-r--r-- | packages/freeswitch/freeswitch_extensions_edit.tmp | 60 | ||||
-rw-r--r-- | packages/freeswitch/freeswitch_recordings.tmp | 279 | ||||
-rw-r--r-- | packages/freeswitch/freeswitch_recordings_play.tmp | 19 | ||||
-rw-r--r-- | pkg_config.7.xml | 2 |
7 files changed, 327 insertions, 63 deletions
diff --git a/packages/freeswitch/freeswitch.inc b/packages/freeswitch/freeswitch.inc index 8b92536a..cca8e0c1 100644 --- a/packages/freeswitch/freeswitch.inc +++ b/packages/freeswitch/freeswitch.inc @@ -177,6 +177,16 @@ function event_socket_request_cmd($cmd) } +function byte_convert( $bytes ) { + + if ($bytes<=0) + return '0 Byte'; + + $convention=1000; //[1000->10^x|1024->2^x] + $s=array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB'); + $e=floor(log($bytes,$convention)); + return round($bytes/pow($convention,$e),2).' '.$s[$e]; +} function recording_js() { @@ -401,7 +411,12 @@ function sync_package_freeswitch_extensions() $fout = fopen("/usr/local/freeswitch/conf/directory/default/".$rowhelper['extension'].".xml","w"); $tmpxml = "<include>\n"; - $tmpxml .= " <user id=\"" . $rowhelper['extension'] . "\" mailbox=\"" . $rowhelper['mailbox'] . "\">\n"; + if (strlen($rowhelper['cidr']) == 0) { + $tmpxml .= " <user id=\"" . $rowhelper['extension'] . "\" mailbox=\"" . $rowhelper['mailbox'] . "\">\n"; + } + else { + $tmpxml .= " <user id=\"" . $rowhelper['extension'] . "\" mailbox=\"" . $rowhelper['mailbox'] . "\" cidr=\"" . $rowhelper['cidr'] . "\">\n"; + } $tmpxml .= " <params>\n"; $tmpxml .= " <param name=\"password\" value=\"" . $rowhelper['password'] . "\"/>\n"; $tmpxml .= " <param name=\"vm-password\" value=\"" . $rowhelper['vm-password'] . "\"/>\n"; @@ -420,7 +435,10 @@ function sync_package_freeswitch_extensions() } $tmpxml .= " <param name=\"vm-mailto\" value=\"" . $rowhelper['vm-mailto'] . "\"/>\n"; - } + } + if (strlen($rowhelper['auth-acl']) > 0) { + $tmpxml .= " <param name=\"auth-acl\" value=\"" . $rowhelper['auth-acl'] . "\"/>\n"; + } $tmpxml .= " </params>\n"; $tmpxml .= " <variables>\n"; $tmpxml .= " <variable name=\"toll_allow\" value=\"domestic,international,local\"/>\n"; @@ -2066,7 +2084,7 @@ function freeswitch_php_install_command() } $config['installedpackages']['freeswitchsettings']['config'][0]['freeswitch_version'] = "1.0.1 revision 10638."; - $config['installedpackages']['freeswitchsettings']['config'][0]['freeswitch_package_version'] = "0.5.7.1"; + $config['installedpackages']['freeswitchsettings']['config'][0]['freeswitch_package_version'] = "0.5.8"; conf_mount_ro(); diff --git a/packages/freeswitch/freeswitch.xml b/packages/freeswitch/freeswitch.xml index e512273e..ba3b2d39 100644 --- a/packages/freeswitch/freeswitch.xml +++ b/packages/freeswitch/freeswitch.xml @@ -44,7 +44,7 @@ <requirements>Describe your package requirements here</requirements> <faq>Currently there are no FAQ items provided.</faq> <name>FreeSWITCH Settings</name> - <version>0.5.7.2</version> + <version>0.5.8</version> <title>FreeSWITCH: Settings</title> <include_file>/usr/local/pkg/freeswitch.inc</include_file> <menu> diff --git a/packages/freeswitch/freeswitch_extensions.tmp b/packages/freeswitch/freeswitch_extensions.tmp index 00131836..ca6f3d73 100644 --- a/packages/freeswitch/freeswitch_extensions.tmp +++ b/packages/freeswitch/freeswitch_extensions.tmp @@ -113,7 +113,7 @@ if ($config_change == 1) { <tr> <td width="20%" class="listhdrr">Extension</td> <td width="25%" class="listhdrr">Mail To</td> - <td width="25%" class="listhdrr">Context</td> + <td width="25%" class="listhdrr">Call Group</td> <td width="25%" class="listhdr">Description</td> <td width="10%" class="list"> @@ -144,7 +144,7 @@ if ($config_change == 1) { <?=$ent['vm-mailto'];?> </td> <td class="listr" ondblclick="document.location='freeswitch_extensions_edit.php?id=<?=$i;?>';"> - <?=$ent['user_context'];?> + <?=$ent['callgroup'];?> </td> <td class="listbg" ondblclick="document.location='freeswitch_extensions_edit.php?id=<?=$i;?>';"> <font color="#FFFFFF"><?=htmlspecialchars($ent['description']);?> diff --git a/packages/freeswitch/freeswitch_extensions_edit.tmp b/packages/freeswitch/freeswitch_extensions_edit.tmp index c5619d19..ae931c49 100644 --- a/packages/freeswitch/freeswitch_extensions_edit.tmp +++ b/packages/freeswitch/freeswitch_extensions_edit.tmp @@ -57,6 +57,9 @@ if (isset($id) && $a_extensions[$id]) { $pconfig['vm-mailto'] = $a_extensions[$id]['vm-mailto']; $pconfig['vm-attach-file'] = $a_extensions[$id]['vm-attach-file']; $pconfig['user_context'] = $a_extensions[$id]['user_context']; + $pconfig['callgroup'] = $a_extensions[$id]['callgroup']; + $pconfig['auth-acl'] = $a_extensions[$id]['auth-acl']; + $pconfig['cidr'] = $a_extensions[$id]['cidr']; $pconfig['description'] = $a_extensions[$id]['description']; } @@ -82,6 +85,10 @@ if ($_POST) { $ent['vm-mailto'] = $_POST['vm-mailto']; $ent['vm-attach-file'] = $_POST['vm-attach-file']; $ent['user_context'] = $_POST['user_context']; + $ent['callgroup'] = $_POST['callgroup']; + $ent['auth-acl'] = $_POST['auth-acl']; + $ent['cidr'] = $_POST['cidr']; + $ent['description'] = $_POST['description']; if (isset($id) && $a_extensions[$id]) { @@ -105,6 +112,15 @@ include("head.inc"); ?> +<script type="text/javascript" language="JavaScript"> + +function show_advanced_config() { + document.getElementById("showadvancedbox").innerHTML=''; + aodiv = document.getElementById('showadvanced'); + aodiv.style.display = "block"; +} + +</script> <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> <?php include("fbegin.inc"); ?> @@ -248,14 +264,52 @@ include("head.inc"); Choose whether to attach the file to the email. </td> </tr> - <tr> + <tr> <td width="22%" valign="top" class="vncellreq">User Context</td> <td width="78%" class="vtable"> <input name="user_context" type="text" class="formfld" id="user_context" size="40" value="<?=htmlspecialchars($pconfig['user_context']);?>"> <br><span class="vexpl">Enter the user context here. Example: default<br></span> </td> - </tr> - <tr> + </tr> + <tr> + <td width="22%" valign="top" class="vncellreq">Call Group</td> + <td width="78%" class="vtable"> + <input name="callgroup" type="text" class="formfld" id="callgroup" size="40" value="<?=htmlspecialchars($pconfig['callgroup']);?>"> + <br><span class="vexpl">Enter the user call group here. Example: sales<br></span> + </td> + </tr> + + <div id="showadvancedbox"> + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td width="22%" valign="top" class="vncell">Show Advanced</td> + <td width="78%" class="vtable"> + <input type="button" onClick="show_advanced_config()" value="Advanced"></input></a> + </td> + </tr> + </table> + </div> + <div id="showadvanced" style="display:none"> + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td width="22%" valign="top" class="vncell">Auth-ACL</td> + <td width="78%" class="vtable"> + <input name="auth-acl" type="text" class="formfld" id="auth-acl" size="40" value="<?=htmlspecialchars($pconfig['auth-acl']);?>"> + <br> <span class="vexpl">Enter the auth acl here.<br></span> + </td> + </tr> + <tr> + <td width="22%" valign="top" class="vncell">CIDR</td> + <td width="78%" class="vtable"> + <input name="cidr" type="text" class="formfld" id="cidr" size="40" value="<?=htmlspecialchars($pconfig['cidr']);?>"> + <br> <span class="vexpl">Enter the cidr here.<br></span> + </td> + </tr> + + </table> + </div> + + <tr> <td width="22%" valign="top" class="vncellreq">Extension Description</td> <td width="78%" class="vtable"> <input name="description" type="text" class="formfld" id="description" size="40" value="<?=htmlspecialchars($pconfig['description']);?>"> diff --git a/packages/freeswitch/freeswitch_recordings.tmp b/packages/freeswitch/freeswitch_recordings.tmp index 9e2d0446..a56c92a6 100644 --- a/packages/freeswitch/freeswitch_recordings.tmp +++ b/packages/freeswitch/freeswitch_recordings.tmp @@ -33,47 +33,112 @@ require("guiconfig.inc"); require("/usr/local/pkg/freeswitch.inc"); -$recording_dir = '/usr/local/freeswitch/recordings/'; +$a_recordings = &$config['installedpackages']['freeswitchrecordings']['config']; +$dir_recordings = '/usr/local/freeswitch/recordings/'; +$dir_music_on_hold_8000 = '/usr/local/freeswitch/sounds/music/8000/'; + +if ($_GET['a'] == "download") { -if (($_GET['a'] == "download") && file_exists($recording_dir.$_GET['filename'])) { session_cache_limiter('public'); - $fd = fopen($recording_dir.$_GET['filename'], "rb"); - if ($_GET['t'] == "bin") { - header("Content-Type: application/force-download"); - header("Content-Type: application/octet-stream"); - header("Content-Type: application/download"); - header("Content-Description: File Transfer"); - header('Content-Disposition: attachment; filename="'.$_GET['filename'].'"'); - } - else { - header("Content-Type: audio/x-wav"); - } - header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 - header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past - header("Content-Length: " . filesize($recording_dir.$_GET['filename'])); - fpassthru($fd); + + if ($_GET['type'] = "rec") { + if (file_exists($dir_recordings.$_GET['filename'])) { + $fd = fopen($dir_recordings.$_GET['filename'], "rb"); + if ($_GET['t'] == "bin") { + header("Content-Type: application/force-download"); + header("Content-Type: application/octet-stream"); + header("Content-Type: application/download"); + header("Content-Description: File Transfer"); + header('Content-Disposition: attachment; filename="'.$_GET['filename'].'"'); + } + else { + $file_ext = substr($_GET['filename'], -3); + if ($file_ext == "wav") { + header("Content-Type: audio/x-wav"); + } + if ($file_ext == "mp3") { + header("Content-Type: audio/mp3"); + } + } + header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 + header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past + header("Content-Length: " . filesize($dir_recordings.$_GET['filename'])); + fpassthru($fd); + } + } + + if ($_GET['type'] = "moh") { + if (file_exists($dir_music_on_hold_8000.$_GET['filename'])) { + $fd = fopen($dir_music_on_hold_8000.$_GET['filename'], "rb"); + if ($_GET['t'] == "bin") { + header("Content-Type: application/force-download"); + header("Content-Type: application/octet-stream"); + header("Content-Type: application/download"); + header("Content-Description: File Transfer"); + header('Content-Disposition: attachment; filename="'.$_GET['filename'].'"'); + } + else { + $file_ext = substr($_GET['filename'], -3); + if ($file_ext == "wav") { + header("Content-Type: audio/x-wav"); + } + if ($file_ext == "mp3") { + header("Content-Type: audio/mp3"); + } + } + header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 + header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past + header("Content-Length: " . filesize($dir_music_on_hold_8000.$_GET['filename'])); + fpassthru($fd); + } + } + exit; } else { - //echo $recording_dir.$_GET['filename']; + //echo $dir_recordings.$_GET['filename']; +} + +if (($_POST['submit'] == "Upload") && is_uploaded_file($_FILES['ulfile']['tmp_name'])) { + + if ($_POST['type'] == 'moh') { + move_uploaded_file($_FILES['ulfile']['tmp_name'], $dir_music_on_hold_8000 . $_FILES['ulfile']['name']); + $savemsg = "Uploaded file to $dir_music_on_hold_8000" . htmlentities($_FILES['ulfile']['name']); + //system('chmod -R 744 $dir_music_on_hold_8000*'); + unset($_POST['txtCommand']); + } + if ($_POST['type'] == 'rec') { + move_uploaded_file($_FILES['ulfile']['tmp_name'], $dir_recordings . $_FILES['ulfile']['name']); + $savemsg = "Uploaded file to $dir_recordings" . htmlentities($_FILES['ulfile']['name']); + //system('chmod -R 744 $dir_recordings*'); + unset($_POST['txtCommand']); + } } -$a_recordings = &$config['installedpackages']['freeswitchrecordings']['config']; if ($_GET['act'] == "del") { - if ($_GET['type'] == 'recordings') { + if ($_GET['type'] == 'rec') { if ($a_recordings[$_GET['id']]) { - unlink('/usr/local/freeswitch/recordings/'.$a_recordings[$_GET['id']]['filename']); + unlink_if_exists('/usr/local/freeswitch/recordings/'.$a_recordings[$_GET['id']]['filename']); unset($a_recordings[$_GET['id']]); write_config(); header("Location: freeswitch_recordings.php"); exit; } } + + if ($_GET['type'] == 'moh') { + unlink_if_exists($dir_music_on_hold_8000.$_GET['filename']); + header("Location: freeswitch_recordings.php"); + exit; + } + } + + include("head.inc"); ?> @@ -117,7 +182,6 @@ function EvalSound(soundobj) { <tr> <td class="tabcont" > -<form action="freeswitch_recordings.php" method="post" name="iform" id="iform"> <?php @@ -134,15 +198,15 @@ if (count($a_recordings) > 0) { $config_change = 0; -if (is_dir($recording_dir)) { - if ($dh = opendir($recording_dir)) { +if (is_dir($dir_recordings)) { + if ($dh = opendir($dir_recordings)) { while (($file = readdir($dh)) !== false) { - if (filetype($recording_dir . $file) == "file") { + if (filetype($dir_recordings . $file) == "file") { if (strpos($config_recording_list, $file) === false) { - //$handle = fopen($recording_dir.$file,'rb'); - //$file_content = fread($handle,filesize($recording_dir.$file)); + //$handle = fopen($dir_recordings.$file,'rb'); + //$file_content = fread($handle,filesize($dir_recordings.$file)); //fclose($handle); $a_file = split("\.", $file); @@ -177,12 +241,12 @@ if (is_dir($recording_dir)) { //if (count($a_recordings) > 0) { // foreach ($a_recordings as $recordingent) { -// if (!is_file($recording_dir.$recordingent['filename'])) { +// if (!is_file($dir_recordings.$recordingent['filename'])) { //echo "not found: ".$recordingent['filename']."<br />"; //recording not found restore the file from the config.xml //$file_content = $recordingent['filecontent']; - //$handle = fopen($recording_dir.$recordingent['filename'],'w'); + //$handle = fopen($dir_recordings.$recordingent['filename'],'w'); //fwrite ($handle, base64_decode($file_content)); //unset($file_content); //fclose($handle); @@ -214,28 +278,44 @@ if ($config_change == 1) { //endif; ?> - <table width="100%" border="0" cellpadding="6" cellspacing="0"> - <tr> - <td><p><span class="vexpl"><span class="red"><strong>Note:<br> - </strong></span> - To make a recording dial extension 732673 (record) or you can make a - 16bit 8khz/16khz Mono WAV file then copy it to the - following directory then refresh the page to play it back. - Click on the 'Filename' to download it or the 'Recording Name' to - play the audio. - <br> - <br> - /usr/local/freeswitch/recordings/ - </span></p></td> - </tr> - </table> - <br /> + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td><p><span class="vexpl"><span class="red"><strong>Recordings:<br> + </strong></span> + To make a recording dial extension 732673 (record) or you can make a + 16bit 8khz/16khz Mono WAV file then copy it to the + following directory then refresh the page to play it back. + Click on the 'Filename' to download it or the 'Recording Name' to + play the audio. + </span></p></td> + </tr> + </table> + + <br /> + + <div id="niftyOutter"> + <form action="" method="POST" enctype="multipart/form-data" name="frmUpload" onSubmit=""> + <table border='0'> + <tr> + <td width='50%'><b>location:</b> <?php echo $dir_recordings; ?></td> + <td valign="top" class="label"> + <input name="type" type="hidden" value="rec"> + </td> + <td align="right">File to upload:</td> + <td valign="top" class="label"> + <input name="ulfile" type="file" class="button" id="ulfile"> + <input name="submit" type="submit" class="button" id="upload" value="Upload"> + </td> + </tr> + </table> + </div> + </form> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> - <td width="20%" class="listhdrr">Filename (download)</td> - <td width="25%" class="listhdrr">Recording Name (play)</td> - <td width="25%" class="listhdr">Description</td> + <td width="30%" class="listhdrr">Filename (download)</td> + <td width="30%" class="listhdrr">Recording Name (play)</td> + <td width="30%" class="listhdr">Description</td> <td width="10%" class="list"> <!-- <table border="0" cellspacing="0" cellpadding="1"> @@ -255,12 +335,12 @@ if ($config_change == 1) { ?> <tr> <td class="listlr" ondblclick="document.location='freeswitch_recordings_edit.php?id=<?=$i;?>'"> - <a href="freeswitch_recordings.php?a=download&t=bin&filename=<?=$recordingent['filename'];?>"> + <a href="freeswitch_recordings.php?a=download&type=rec&t=bin&filename=<?=$recordingent['filename'];?>"> <?=$recordingent['filename']?> </a> </td> <td class="listr" ondblclick="document.location='freeswitch_recordings_edit.php?id=<?=$i;?>';"> - <a href="javascript:void(0)" onclick="window.open('freeswitch_recordings_play.php?a=download&t=wav&filename=<?=$recordingent['filename'];?>', 'play',' width=300,height=40,menubar=no,status=no,toolbar=no')"> + <a href="javascript:void(0);" onclick="window.open('freeswitch_recordings_play.php?a=download&type=rec&filename=<?=$recordingent['filename'];?>', 'play',' width=420,height=40,menubar=no,status=no,toolbar=no')"> <?=$recordingent['recordingname'];?> </a> </td> @@ -271,7 +351,7 @@ if ($config_change == 1) { <table border="0" cellspacing="0" cellpadding="1"> <tr> <td valign="middle"><a href="freeswitch_recordings_edit.php?id=<?=$i;?>"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td><a href="freeswitch_recordings.php?type=recordings&act=del&id=<?=$i;?>" onclick="return confirm('Do you really want to delete this?')"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> + <td><a href="freeswitch_recordings.php?type=rec&act=del&id=<?=$i;?>" onclick="return confirm('Do you really want to delete this?')"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> </tr> </table> </td> @@ -302,7 +382,102 @@ if ($config_change == 1) { </tr> </table> -</form> + + + <br /> + <br /> + <br /> + + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td><p><span class="vexpl"><span class="red"><strong>Music on Hold:<br> + </strong></span> + Music on hold can be in WAV or MP3 format. To play MP3 you must have + mod_shout enabled on the 'Modules' tab. For best performance + upload 16bit 8khz/16khz Mono WAV files. + <!--Click on the 'Filename' to download it or the 'Recording Name' to + play the audio.--> + </span></p></td> + </tr> + </table> + + <br /> + + <div id="niftyOutter"> + <form action="" method="POST" enctype="multipart/form-data" name="frmUpload" onSubmit=""> + <table border='0'> + <tr> + <td width='50%'><b>location:</b> <?php echo $dir_music_on_hold_8000; ?></td> + <td valign="top" class="label"> + <input name="type" type="hidden" value="moh"> + </td> + <td align="right">File to upload:</td> + <td valign="top" class="label"> + <input name="ulfile" type="file" class="button" id="ulfile"> + <input name="submit" type="submit" class="button" id="upload" value="Upload"> + </td> + </tr> + </table> + </div> + </form> + + + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="28%" class="listhdrr">File Name (download)</td> + <td width="28%" class="listhdrr">Name (play)</td> + <td width="25%" class="listhdr">Last Modified</td> + <td width="10%" class="listhdr" nowrap>Size</td> + </tr> + + <?php + + if ($handle = opendir($dir_music_on_hold_8000)) { + while (false !== ($file = readdir($handle))) { + if ($file != "." && $file != ".." && is_file($dir_music_on_hold_8000.$file)) { + + $tmp_filesize = filesize($dir_music_on_hold_8000.$file); + $tmp_filesize = byte_convert($tmp_filesize); + + echo "<tr>\n"; + echo " <td class=\"listlr\" ondblclick=\"\">\n"; + echo " <a href=\"freeswitch_recordings.php?a=download&type=moh&t=bin&filename=".$file."\">\n"; + echo " $file"; + echo " </a>"; + echo " </td>\n"; + echo " <td class=\"listlr\" ondblclick=\"\">\n"; + echo " <a href=\"javascript:void(0);\" onclick=\"window.open('freeswitch_recordings_play.php?a=download&type=moh&filename=".$file."', 'play',' width=420,height=40,menubar=no,status=no,toolbar=no')\">\n"; + $tmp_file_array = split("\.",$file); + echo " ".$tmp_file_array[0]; + echo " </a>"; + echo " </td>\n"; + echo " <td class=\"listlr\" ondblclick=\"\">\n"; + echo date ("F d Y H:i:s", filemtime($dir_music_on_hold_8000.$file)); + echo " </td>\n"; + echo " <td class=\"listlr\" ondblclick=\"\">\n"; + echo " ".$tmp_filesize; + echo " </td>\n"; + echo " <td valign=\"middle\" nowrap class=\"list\">\n"; + echo " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">\n"; + echo " <tr>\n"; + //echo " <td valign=\"middle\"><a href=\"freeswitch_recordings.php?id=$i\"><img src=\"/themes/".$g['theme']."/images/icons/icon_e.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " <td><a href=\"freeswitch_recordings.php?type=moh&act=del&filename=".$file."\" onclick=\"return confirm('Do you really want to delete this file?')\"><img src=\"/themes/". $g['theme']."/images/icons/icon_x.gif\" width=\"17\" height=\"17\" border=\"0\"></a></td>\n"; + echo " </tr>\n"; + echo " </table>\n"; + echo " </td>\n"; + echo "</tr>\n"; + + } + } + closedir($handle); + } + ?> + + <tr> + <td class="list" colspan="3"></td> + <td class="list"></td> + </tr> + </table> <br> <br> diff --git a/packages/freeswitch/freeswitch_recordings_play.tmp b/packages/freeswitch/freeswitch_recordings_play.tmp index aa837c58..4135362d 100644 --- a/packages/freeswitch/freeswitch_recordings_play.tmp +++ b/packages/freeswitch/freeswitch_recordings_play.tmp @@ -32,9 +32,12 @@ */ $filename = $_GET['filename']; +$type = $_GET['type']; //moh //rec ?> <html> +<head> +</head> <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> <table width="100%" border="0" cellpadding="0" cellspacing="0"> @@ -45,7 +48,21 @@ $filename = $_GET['filename']; </tr> <tr> <td align='center'> - <embed src="freeswitch_recordings.php?a=download&filename=<?=$filename;?>" autostart=true width=200 height=40 name="sound<?=$$filename;?>" enablejavascript="true"> + <?php + + $file_ext = substr($_GET['filename'], -3); + if ($file_ext == "wav") { + echo "<embed src=\"freeswitch_recordings.php?a=download&type=".$type."&filename=".$filename."\" autostart=true width=200 height=40 name=\"sound".$$filename."\" enablejavascript=\"true\">\n"; + } + if ($file_ext == "mp3") { + echo "<object type=\"application/x-shockwave-flash\" width=\"400\" height=\"17\" data=\"slim.swf?song_url=".urlencode("/freeswitch/freeswitch_recordings.php?a=download&type=".$type."&filename=".$filename)."\">\n"; + echo "<param name=\"movie\" value=\"slim.swf?song_url=".urlencode("/freeswitch/freeswitch_recordings.php?a=download&type=".$type."&filename=".$filename)."\" />\n"; + echo "<param name=\"quality\" value=\"high\"/>\n"; + echo "<param name=\"bgcolor\" value=\"#E6E6E6\"/>\n"; + echo "</object>\n"; + } + + ?> </td> </tr> </table> diff --git a/pkg_config.7.xml b/pkg_config.7.xml index 67692c99..d6e299a9 100644 --- a/pkg_config.7.xml +++ b/pkg_config.7.xml @@ -66,7 +66,7 @@ <pkginfolink>http://doc.pfsense.org/index.php/FreeSWITCH</pkginfolink> <config_file>http://www.pfsense.com/packages/config/freeswitch/freeswitch.xml</config_file> <depends_on_package_base_url>http://files.pfsense.org/packages/7/All/</depends_on_package_base_url> - <version>0.5.7.2</version> + <version>0.5.8</version> <status>Beta</status> <required_version>1.2.1</required_version> <maintainer>markjcrane@gmail.com</maintainer> |