diff options
author | mcrane <mctch@yahoo.com> | 2009-06-10 04:53:10 -0600 |
---|---|---|
committer | mcrane <mctch@yahoo.com> | 2009-06-10 04:57:24 -0600 |
commit | 2805239ac2dca632d02d32445a1c2b48e288f39a (patch) | |
tree | 85c2770112a4a52c123bafa0d35f21a007d11f38 /config/freeswitch/freeswitch_fax.tmp | |
parent | 9897f8deb603c33a57014230825fabf509e4b229 (diff) | |
download | pfsense-packages-2805239ac2dca632d02d32445a1c2b48e288f39a.tar.gz pfsense-packages-2805239ac2dca632d02d32445a1c2b48e288f39a.tar.bz2 pfsense-packages-2805239ac2dca632d02d32445a1c2b48e288f39a.zip |
FreeSWITCH package add new feature beta feature fax.
Diffstat (limited to 'config/freeswitch/freeswitch_fax.tmp')
-rw-r--r-- | config/freeswitch/freeswitch_fax.tmp | 305 |
1 files changed, 305 insertions, 0 deletions
diff --git a/config/freeswitch/freeswitch_fax.tmp b/config/freeswitch/freeswitch_fax.tmp new file mode 100644 index 00000000..38992663 --- /dev/null +++ b/config/freeswitch/freeswitch_fax.tmp @@ -0,0 +1,305 @@ +<?php +/* $Id$ */ +/* + freeswitch_fax.php + Copyright (C) 2008 Mark J Crane + All rights reserved. + + FreeSWITCH (TM) + http://www.freeswitch.org/ + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +require("guiconfig.inc"); +require("/usr/local/pkg/freeswitch.inc"); + +$a_fax = &$config['installedpackages']['freeswitchfax']['config']; +$dir_fax = '/usr/local/freeswitch/storage/fax/inbox/'; + +if ($_GET['act'] == "del") { + if ($_GET['type'] == 'fax') { + if ($a_fax[$_GET['id']]) { + + $faxid = $a_fax[$_GET['id']][faxid]; + $faxname = $a_fax[$_GET['id']][faxname]; + + $a_dialplan_includes = &$config['installedpackages']['freeswitchdialplanincludes']['config']; + $a_dialplan_includes_details = &$config['installedpackages']['freeswitchdialplanincludedetails']['config']; + + //delete the dialplan include + if (count($a_dialplan_includes) > 0) { + $i=0; + foreach($a_dialplan_includes as $row) { + if ($row["dialplanincludeid"] == $faxid) { + $order = $row['order']; + unset($a_dialplan_includes[$i]); + } + $i++; + } + } + + //delete the dialplan include details. aka. child data + if (count($a_dialplan_includes_details) > 0) { + $i=0; + foreach($a_dialplan_includes_details as $row) { + if ($row["dialplanincludeid"] == $faxid) { + unset($a_dialplan_includes_details[$i]); + } + $i++; + } + } + + if (file_exists("/usr/local/freeswitch/conf/dialplan/default/".$order."_".$faxname.".xml")){ + unlink("/usr/local/freeswitch/conf/dialplan/default/".$order."_".$faxname.".xml"); + } + + //remove fax entries + unset($a_fax[$_GET['id']]); + + write_config(); + header("Location: freeswitch_fax.php"); + exit; + } + } +} + +if ($_GET['a'] == "download") { + + session_cache_limiter('public'); + + if ($_GET['type'] = "fax_file") { + if (file_exists($dir_fax.$_GET['filename'])) { + $fd = fopen($dir_fax.$_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 == "png") { + header("Content-Type: image/png"); + } + } + 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_fax.$_GET['filename'])); + fpassthru($fd); + } + } + + exit; +} +else { + //echo $dir_fax.$_GET['filename']; +} + + +if ($_GET['act'] == "del") { + if ($_GET['type'] == 'fax_file') { + //if ($a_fax[$_GET['id']]) { + $tmp_file_array = split("\.",$_GET['filename']); + $file_name = $tmp_file_array[0]; + $file_ext = $tmp_file_array[1]; + unlink_if_exists($dir_fax.$file_name.".pdf"); + unlink_if_exists($dir_fax.$file_name.".png"); + unlink_if_exists($dir_fax.$file_name.".tif"); + //unset($a_fax[$_GET['id']]); + write_config(); + header("Location: freeswitch_fax.php"); + exit; + //} + } + +} + +include("head.inc"); + +?> + + +<body link="#0000CC" vlink="#0000CC" alink="#0000CC"> +<?php include("fbegin.inc"); ?> +<p class="pgtitle">FreeSWITCH: FAX</p> + +<div id="mainlevel"> +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr><td class="tabnavtbl"> +<?php + +display_top_tabs(build_menu()); + +?> +</td></tr> +</table> + +<table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td class="tabcont" > + +<form action="freeswitch_fax.php" method="post" name="iform" id="iform"> +<?php + +if ($config_change == 1) { + write_config(); + $config_change = 0; +} + +//if ($savemsg) print_info_box($savemsg); +//if (file_exists($d_hostsdirty_path)): echo"<p>"; +//print_info_box_np("The FreeSWITCH fax have been changed.<br>You must apply the changes in order for them to take effect."); +//echo"<br />"; +//endif; + +?> + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td><p><span class="vexpl"><span class="red"><strong>FAX<br> + </strong></span> + To receive a FAX setup a fax extension and then direct the incoming FAX with a dedicated number or you can detect the FAX tone by using <a href='http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_tone_detect' target='_blank'>tone detection</a> on the Public tab. + </p></td> + </tr> + </table> + <br /> + + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="40" class="listhdrr">Extension</td> + <td width="40" class="listhdrr" nowrap>Name</td> + <td width="40%" class="listhdrr" nowrap>Email</td> + <td width="40" class="listhdrr">Domain</td> + <td width="50%" class="listhdr">Description</td> + <td width="40" class="list"> + + <table border="0" cellspacing="0" cellpadding="1"> + <tr> + <td width="17"></td> + <td valign="middle"><a href="freeswitch_fax_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> + </tr> + </table> + + </td> + </tr> + + + <?php + + //create a temporary id for the array + $i = 0; + if (count($a_fax) > 0) { + foreach ($a_fax as $ent) { + $a_fax[$i]['id'] = $i; + $i++; + } + } + + //order the array + function cmp_number($a, $b) { + if ($a["faxextension"] > $b["faxextension"]) { + return 1; + } + else { + return 0; + } + } + if (count($a_fax) > 0) { usort($a_fax, "cmp_number"); } + + $i = 0; + if (count($a_fax) > 0) { + + foreach ($a_fax as $ent) { + if (strlen($ent['faxextension']) > 0) { + ?> + <tr> + <td class="listr" ondblclick="document.location='freeswitch_fax_edit.php?id=<?=$ent['id'];?>';"> + <?=$ent['faxextension'];?> + </td> + <td class="listr" ondblclick="document.location='freeswitch_fax_edit.php?id=<?=$ent['id'];?>';"> + <?=$ent['faxname'];?> + </td> + <td class="listr" ondblclick="document.location='freeswitch_fax_edit.php?id=<?=$ent['id'];?>';"> + <?=$ent['faxemail'];?> + </td> + <td class="listr" ondblclick="document.location='freeswitch_fax_edit.php?id=<?=$ent['id'];?>';"> + <?=$ent['faxdomain'];?> + </td> + <td class="listbg" ondblclick="document.location='freeswitch_fax_edit.php?id=<?=$ent['id'];?>';"> + <font color="#FFFFFF"><?=htmlspecialchars($ent['faxdescription']);?> + </td> + <td valign="middle" nowrap class="list"> + <table border="0" cellspacing="0" cellpadding="1"> + <tr> + <td valign="middle"><a href="freeswitch_fax_edit.php?id=<?=$ent['id'];?>"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> + <td><a href="freeswitch_fax.php?type=fax&act=del&id=<?=$ent['id'];?>" 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> + </tr> + <?php + } + + $i++; + } + } + ?> + + <tr> + <td class="list" colspan="5"></td> + <td class="list"> + <table border="0" cellspacing="0" cellpadding="1"> + <tr> + <td width="17"></td> + <td valign="middle"><a href="freeswitch_fax_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> + </tr> + </table> + </td> + </tr> + + + <tr> + <td class="list" colspan="5"></td> + <td class="list"></td> + </tr> + </table> + +</form> + + +<br /> +<br /> +<br /> +<br /> + + +</td> +</tr> +</table> + +</div> + + +<?php include("fend.inc"); ?> +</body> +</html>
\ No newline at end of file |