Initial Commit of AgileBill Open Source

This commit is contained in:
unknown
2008-11-26 14:50:40 -08:00
parent ae5a0fc25e
commit 02306ccc47
2954 changed files with 410976 additions and 0 deletions

View File

@@ -0,0 +1,118 @@
{$method->exe("voip","activity")}
{if ($method->result == FALSE)}
{$block->display("core:method_error")}
{else}
{popup_init src="includes/overlib/overlib.js"}
<select name="wnum" onChange="voipActivityWeekChng(this.value)">
{html_options options=$weeks selected=$wnum}
</select>
{literal}
<script language="javascript">
function voipActivityWeekChng(id) {
document.location='?_page=voip:activity&wnum='+id;
}</script>
<style type="text/css">
#v { background-color:#FFFFCC; }
#f { background-color:#DDE6F9; }
#c { background-color:#D7FEBA; }
</style>
{/literal}
<h2>{translate module=voip}in_calls{/translate}</h2>
{if $in}
<table id="main1" width="100%" border="0" cellspacing="0" cellpadding="0" class="table_background">
<form id="form1" name="form1" method="post" action="">
<tr>
<td>
<table id="main2" width="100%" border="0" cellspacing="1" cellpadding="2">
<tr valign="middle" align="center" class="table_heading">
<td width="24%" class="table_heading">{translate module=voip}field_date_orig{/translate}</td>
<td width="42%" class="table_heading">
{translate module=voip}field_dst{/translate}</td>
<td width="18%" class="table_heading">
{translate module=voip}field_src{/translate}</td>
<td width="16%" class="table_heading">
{translate module=voip}field_duration{/translate}</td>
<td width="16%" class="table_heading">{translate module=voip}field_amount{/translate}</td>
{foreach from=$in item=record}
<tr id="{$record.type}" class="row1" >
<td width="24%">&nbsp;{$list->date_time($record.date_orig)}
</td>
<td>&nbsp;<a href="#" onmouseover="return overlib('{$record.location|escape:"htmlall"}');" onmouseout="return nd();">{$record.clid}</a></td>
<td>&nbsp; {$record.dst}</td>
<td>&nbsp; {$record.duration} min</td>
<td>{$currency}{$record.amount}</td>
</tr>
{/foreach}
</table>
</td>
</tr>
</form>
</table>
{else}
<p>{translate module=voip}no_calls{/translate}</p>
{/if}
<h2>{translate module=voip}out_calls{/translate}</h2>
{if $out}
<table id="main1" width="100%" border="0" cellspacing="0" cellpadding="0" class="table_background">
<form id="form1" name="form1" method="post" action="">
<tr>
<td>
<table id="main2" width="100%" border="0" cellspacing="1" cellpadding="2">
<tr valign="middle" align="center" class="table_heading">
<td width="24%" class="table_heading">{translate module=voip}field_date_orig{/translate}</td>
<td width="42%" class="table_heading">
{translate module=voip}field_dst{/translate}</td>
<td width="18%" class="table_heading">
{translate module=voip}field_src{/translate}</td>
<td width="16%" class="table_heading">
{translate module=voip}field_duration{/translate}</td>
<td width="16%" class="table_heading">{translate module=voip}field_amount{/translate}</td>
{foreach from=$out item=record}
<tr id="{$record.type}" class="row1">
<td>&nbsp;{$list->date_time($record.date_orig)} </td>
<td>&nbsp; {$record.clid}</td>
<td>&nbsp;<a href="#" onmouseover="return overlib('{$record.location|escape:"htmlall"}');" onmouseout="return nd();">{$record.dst}</a></td>
<td>&nbsp; {$record.duration} min</td>
<td>{$currency}{$record.amount}</td>
</tr>
{/foreach}
</table>
</td>
</tr>
</form>
</table>
{else}
<p>{translate module=voip}no_calls{/translate}</p>
{/if}
{if $in}
<h2>{translate module=voip}color_guide{/translate}</h2>
<table id="main1" width="250" border="0" cellspacing="0" cellpadding="0" class="table_background">
<tr>
<td>
<table id="main2" width="100%" border="0" cellspacing="1" cellpadding="2"><tr id="{$record.type}" class="row1" >
<tr class="row1" >
<td>{translate module=voip}color_a{/translate}</td>
</tr>
<td id="v">{translate module=voip}color_v{/translate}</td>
</tr>
<tr class="row1" >
<td id="f">{translate module=voip}color_f{/translate}</td>
</tr>
<tr class="row1" >
<td id="c">{translate module=voip}color_c{/translate}</td>
</tr>
</table>
</td>
</tr>
</table>
{/if}
{/if}

View File

@@ -0,0 +1,56 @@
<form name="voip" method="post" action="">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table_background">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr valign="top">
<td width="65%" class="table_heading">
<center>Click to Call
</center>
</td>
</tr>
<tr valign="top">
<td width="65%" class="row1">
<table width="100%" border="0" cellspacing="4" cellpadding="3" class="row1">
<tr valign="top">
<td>Phone:
<select name="voip_from">
<option label="Joe" value="Local/5672562455@longdistance/n">Joes Phone</option>
<option label="Tony" value="Local/5672450529@longdistance/n">Tonys Phone</option>
</select>
</tr>
<tr valign="top">
<td>Calling Number/Name:
<select name="voip_callerid">
<option value="5672562455">Thralling Penguin LLC</option>
<option value="8643359468">AgileCo LLC</option>
</select>
</tr>
<tr valign="top">
<td>Destination Number:
<input type="text" name="voip_to" value="" size="30">
</td>
</tr>
<tr class="row1" valign="middle" align="left">
<td><div align="center">
<input type="hidden" name="_page" value="voip:call">
<input type="hidden" name="do[]" value="voip:place_call">
<br>
<br>
<input type="submit" name="Submit" value="{translate}submit{/translate}" class="form_button">
</div></td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
</table>
</form>

View File

@@ -0,0 +1,132 @@
<!-- Display the form validation -->
{if $form_validation}
{ $block->display("core:alert_fields") }
{else}
{$method->exe_noauth('voip','config_get')}
{/if}
<!-- Display the form to collect the input values -->
<form id="voip_add" name="voip_add" method="post" action="">
{$COOKIE_FORM}
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table_background">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr valign="top">
<td width="65%" class="table_heading">
<center>
{translate module=voip}title_config{/translate}
</center>
</td>
</tr>
<tr valign="top">
<td width="65%" class="row1">
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="row1">
<tr valign="top">
<td width="40%">
{translate module=voip}
field_default_vm_passwd
{/translate}</td>
<td width="60%">
<input name="voip_vm_passwd" type="text" value="{$config.voip_vm_passwd}" size="4" maxlength="4" {if $voip_vm_passwd == true}class="form_field_error"{/if}>
</td>
</tr>
<tr valign="top">
<td width="40%">
{translate module=voip}
field_secret_generation
{/translate}</td>
<td width="60%">
<select name="voip_secret_gen" >
<option value="0" {if $config.voip_secret_gen == "0"}selected{/if}>
{translate module=voip}
type_random
{/translate}
</option>
<option value="1" {if $config.voip_secret_gen == "1"}selected{/if}>
{translate module=voip}
type_reverse
{/translate}
</option>
<option value="2" {if $config.voip_secret_gen == "2"}selected{/if}>
{translate module=voip}
type_same
{/translate}
</option>
</select>
</td>
</tr>
<tr valign="top">
<td width="40%">
{translate module=voip}
field_default_prefix
{/translate}</td>
<td width="60%">
<input name="voip_default_prefix" type="text" value="{$config.voip_default_prefix}" size="8" maxlength="8" {if $voip_default_prefix == true}class="form_field_error"{/if}>
</td>
</tr>
<tr valign="top">
<td width="40%">
{translate module=voip}
field_intrastate_npas
{/translate}<br />
<i>{translate module=voip}
field_intrastate_npas_note
{/translate}</i></td>
<td width="60%">
<textarea id="voip_intrastate" name="voip_intrastate" {if $voip_intrastate == true}class="form_field_error"{/if} cols="50" rows="5">{$config.voip_intrastate}</textarea>
</td>
</tr>
<tr valign="top">
<td width="40%">
{translate module=voip}
field_perform_normalization
{/translate}</td>
<td width="60%">{ $list->bool("perform_normalization", $config.perform_normalization, "form_menu") }</td>
</tr>
<tr valign="top">
<td width="40%">
{translate module=voip}
field_normalization_min_len
{/translate}</td>
<td width="60%">
<input name="normalization_min_len" type="text" value="{$config.normalization_min_len}" size="3" maxlength="3" {if $normalization_min_len == true}class="form_field_error"{/if}>
</td>
</tr>
<tr valign="top">
<td width="40%">
{translate module=voip}
field_prepaid_low_balance
{/translate}</td>
<td width="60%">
<input name="prepaid_low_balance" type="text" value="{$config.prepaid_low_balance}" size="8" maxlength="8" {if $prepaid_low_balance == true}class="form_field_error"{/if}>
</td>
</tr>
<tr valign="top">
<td width="40%">
{translate module=voip}
field_auth_domain
{/translate}</td>
<td width="60%">
<input name="auth_domain" type="text" value="{$config.auth_domain}" size="32" maxlength="32" {if $auth_domain == true}class="form_field_error"{/if}>
</td>
</tr>
<tr valign="top">
<td width="40%"></td>
<td width="60%">
<input type="submit" name="Submit" value="{translate}submit{/translate}" class="form_button">
<input type="hidden" name="_page" value="voip:config">
<input type="hidden" name="_page_current" value="voip:config">
<input type="hidden" name="do[]" value="voip:config">
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>

View File

@@ -0,0 +1,142 @@
{ $method->exe("voip","features") } { if ($method->result == FALSE) } { $block->display("core:method_error") } {else}
<form name="voip" method="post" action="">
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td valign="top" width="15%">{translate module=voip}phoneno{/translate} </td>
<td valign="top" align="left">
{html_menu field=voip_did_id assoc_table=voip_did assoc_field=did conditions="account_id = `$smarty.const.SESS_ACCOUNT`" default=$record.id}
<input type="submit" name="Submit" value="{translate}submit{/translate}" class="form_button"></p>
<input type="hidden" name="_page" value="voip:features">
</td>
<td valign="top" align="right">
<a href="?_page=core:user_search&module=voip_blacklist&_next_page=user_search_show">{translate module=voip}view_blacklist{/translate}</a><br>
<a href="?_page=voip_blacklist:user_add">{translate module=voip}add_blacklist{/translate}</a>
</td>
</tr>
</table>
</form>
{if $record}
<form name="voip" method="post" action="">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table_background">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr valign="top">
<td width="65%" class="table_heading">
<center>
{translate module=voip}user_features{/translate}
</center>
</td>
</tr>
<tr valign="top">
<td width="65%" class="row1"> <table width="100%" border="0" cellspacing="4" cellpadding="3" class="row1">
<!--voicemail menus-->
{if $record.voicemailenabled}
<td class="row1"><strong>{translate module=voip}user_voicemail{/translate}</strong></td>
</tr>
<tr valign="top">
<td> {translate module=voip}vm1{/translate}
<select name="voip_voicemailafter">
<option label="5" value="5" {if $record.voicemailafter == 5}selected{/if}>5</option>
<option label="10" value="10" {if $record.voicemailafter == 10}selected{/if} >10</option>
<option label="15" value="15" {if $record.voicemailafter == 15}selected{/if}>15</option>
<option label="20" value="20" {if $record.voicemailafter == 20}selected{/if}>20</option>
<option label="25" value="25" {if $record.voicemailafter == 25}selected{/if}>25</option>
<option label="30" value="30" {if $record.voicemailafter == 30}selected{/if}>30</option>
<option label="35" value="35" {if $record.voicemailafter == 35}selected{/if}>35</option>
<option label="40" value="40" {if $record.voicemailafter == 40}selected{/if}>40</option>
</select>
{translate module=voip}seconds{/translate} </td>
</tr>
<tr valign="top">
<td> {translate module=voip}vmemail{/translate}
<input type="text" name="voip_vm_email" value="{$record.vm_email}" size="30">
</td>
</tr>
{/if}
<!-- callforwarding menus-->
<tr class="row1" valign="middle" align="left">
<td class="row1"><strong>{translate module=voip}user_callforwarding{/translate}</strong></td>
</tr>
<tr class="row1" valign="middle" align="left">
<td><input type="checkbox" name="voip_callforwardingenabled" value="1" {if $record.callforwardingenabled}checked{/if}>
{translate module=voip}ringfor{/translate}
<select name="voip_cfringfor">
<option label="5" value="5" {if $record.cfringfor == 5}selected{/if}>5</option>
<option label="10" value="10" {if $record.cfringfor == 10}selected{/if} >10</option>
<option label="15" value="15" {if $record.cfringfor == 15}selected{/if}>15</option>
<option label="20" value="20" {if $record.cfringfor == 20}selected{/if}>20</option>
<option label="25" value="25" {if $record.cfringfor == 25}selected{/if}>25</option>
<option label="30" value="30" {if $record.cfringfor == 30}selected{/if}>30</option>
<option label="35" value="35" {if $record.cfringfor == 35}selected{/if}>35</option>
<option label="40" value="40" {if $record.cfringfor == 40}selected{/if}>40</option>
</select>
{translate module=voip}secbefore{/translate}
<input name="voip_cfnumber" type="text" value="{$record.cfnumber}" size="11" maxlength="12"></td>
</tr>
<tr class="row1" valign="middle" align="left">
<td class="row1"><div align="left"><strong>{translate module=voip}user_busycallforwarding{/translate}</strong></div></td>
</tr>
<tr class="row1" valign="middle" align="left">
<td><input type="checkbox" name="voip_busycallforwardingenabled" value="1" {if $record.busycallforwardingenabled}checked{/if}>
{translate module=voip}busyforward{/translate}
<input name="voip_bcfnumber" type="text" value="{$record.bcfnumber}" size="12" maxlength="12"></td>
</tr>
<tr class="row1" valign="middle" align="left">
<td class="row1"><div align="left"><strong>{translate module=voip}user_callwaiting{/translate}</strong></div></td>
</tr>
<tr class="row1" valign="middle" align="left">
<td><input name="sip_callwaiting" type="checkbox" value="1" {if $record.sip_callwaiting}checked{/if}>
{translate module=voip}callwaiting{/translate}</td>
</tr>
{if $record.rxfax}
<tr class="row1" valign="middle" align="left">
<td class="row1"><strong>{translate module=voip}user_faxing{/translate}</strong></td>
</tr>
<tr class="row1" valign="middle" align="left">
<td>{translate module=voip}emailfaxes{/translate}
<input name="voip_faxemail" type="text" value="{$record.faxemail}" size="22"></td>
</tr>
{/if} {if $record.failover}
<tr class="row1" valign="middle" align="left">
<td><strong><strong>{translate module=voip}user_failover{/translate}</strong></strong></td>
</tr>
<tr class="row1" valign="middle" align="left">
<td>{translate module=voip}outageno{/translate}
<input name="voip_failovernumber" type="text" value="{$record.failovernumber}" size="12" maxlength="12"></td>
</tr>
{/if} {if $record.remotecallforward}
<tr class="row1" valign="middle" align="left">
<td><strong><strong>{translate module=voip}user_remote_callforward{/translate}</strong></strong></td>
</tr>
<tr class="row1" valign="middle" align="left">
<td><div align="left"> {translate module=voip}remoteforwardline{/translate}
<input name="voip_remotecallforwardnumber" type="text" value="{$record.remotecallforwardnumber}" size="12" maxlength="12">
</div></td>
</tr>
{/if}
<tr class="row1" valign="middle" align="left">
<td><div align="center">
<input type="hidden" name="voip_did_id" value="{$record.id}">
<input type="hidden" name="_page" value="voip:features">
<input type="hidden" name="do[]" value="voip:update_features">
<br>
<br>
<input type="submit" name="Submit" value="{translate}submit{/translate}" class="form_button">
</div></td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
{/if}
{/if}

View File

@@ -0,0 +1,6 @@
Note: this graph will only work if Asterisk is installed on this machine.
{literal}
<script language="javascript">
document.location='modules/voip/memory_report.inc.php';
</script>
{/literal}

View File

@@ -0,0 +1,6 @@
<a href="?_page=voip:overview">{translate module=voip}user_overview{/translate}</a> |
<a href="?_page=voip:activity">{translate module=voip}user_activity{/translate}</a> |
<a href="?_page=voip_vm:user">{translate module=voip}user_voicemail{/translate}</a>{if $list->is_installed(voip_fax)} |
<a href="?_page=core:user_search&module=voip_fax&_next_page=user_search_show">{translate module=voip}user_fax{/translate}</a> |
<a href="?_page=voip:features">{translate module=voip}user_features{/translate}</a> |
{/if}

View File

@@ -0,0 +1,126 @@
{$method->exe("voip","overview")}
{if ($method->result == FALSE)}
{$block->display("core:method_error")}
{else}
{popup_init src="includes/overlib/overlib.js"}
{literal}
<style type="text/css">
#v { background-color:#FFFFCC; }
#f { background-color:#DDE6F9; }
#c { background-color:#D7FEBA; }
</style>
{/literal}
<h2>{translate module=voip}in_calls_last{/translate}</h2>
{if $in}
<table id="main1" width="100%" border="0" cellspacing="0" cellpadding="0" class="table_background">
<form id="form1" name="form1" method="post" action="">
<tr>
<td>
<table id="main2" width="100%" border="0" cellspacing="1" cellpadding="2">
<tr valign="middle" align="center" class="table_heading">
<td width="3%" class="table_heading">{translate module=voip}field_tools{/translate}</td>
<td width="21%" class="table_heading">{translate module=voip}field_date_orig{/translate}</td>
<td width="40%" class="table_heading">
{translate module=voip}field_dst{/translate}</td>
<td width="26%" class="table_heading">
{translate module=voip}field_src{/translate}</td>
<td width="10%" class="table_heading">
{translate module=voip}field_duration{/translate}</td>
{foreach from=$in item=record}
<tr id="{$record.type}" class="row1">
<td width="2%">&nbsp;<a href="javascript:addBlacklist({$record.id});" onmouseover="return overlib('Add this caller to your blacklist');" onmouseout="return nd();" style="background: none;"><img border="0" src="themes/default/images/icons/del_16.gif"></a></td>
<td width="19%">&nbsp;{$list->date_time($record.date_orig)}
</td>
<td>&nbsp;<a href="#" onmouseover="return overlib('{$record.location|escape:"htmlall"}');" onmouseout="return nd();">{$record.clid}</a></td>
<td>&nbsp; {$record.dst}</td>
<td>&nbsp; {$record.duration} min</td>
</tr>
{/foreach}
</table>
</td>
</tr>
</form>
</table>
</center>
{else}
<p>{translate module=voip}no_calls{/translate}</p>
{/if}
<h2>{translate module=voip}out_calls_last{/translate}</h2>
{if $out}
<table id="main1" width="100%" border="0" cellspacing="0" cellpadding="0" class="table_background">
<form id="form1" name="form1" method="post" action="">
<tr>
<td>
<table id="main2" width="100%" border="0" cellspacing="1" cellpadding="2">
<tr valign="middle" align="center" class="table_heading">
<td width="21%" class="table_heading">{translate module=voip}field_date_orig{/translate}</td>
<td width="40%" class="table_heading">
{translate module=voip}field_dst{/translate}</td>
<td width="30%" class="table_heading">
{translate module=voip}field_src{/translate}</td>
<td width="10%" class="table_heading">
{translate module=voip}field_duration{/translate}</td>
{foreach from=$out item=record}
<tr id="{$record.type}" class="row1">
<td>&nbsp;{$list->date_time($record.date_orig)} </td>
<td>&nbsp; {$record.clid}</td>
<td>&nbsp;<a href="#" onmouseover="return overlib('{$record.location|escape:"htmlall"}');" onmouseout="return nd();">{$record.dst}</a></td>
<td>&nbsp; {$record.duration} min</td>
</tr>
{/foreach}
</table>
</td>
</tr>
</form>
</table>
</center>
{else}
<p>{translate module=voip}no_calls{/translate}</p>
{/if}
{if $in}
<h2>{translate module=voip}color_guide{/translate}</h2>
<table id="main1" width="250" border="0" cellspacing="0" cellpadding="0" class="table_background">
<tr>
<td>
<table id="main2" width="100%" border="0" cellspacing="1" cellpadding="2"><tr id="{$record.type}" class="row1" >
<tr class="row1" >
<td>{translate module=voip}color_a{/translate}</td>
</tr>
<td id="v">{translate module=voip}color_v{/translate}</td>
</tr>
<tr class="row1" >
<td id="f">{translate module=voip}color_f{/translate}</td>
</tr>
<tr class="row1" >
<td id="c">{translate module=voip}color_c{/translate}</td>
</tr>
</table>
</td>
</tr>
</table>
{/if}
{/if}
{literal}
<script language="javascript">
var http = getHTTPObject();
// update Station list
function addBlacklist(voip_cdr_id) {
var url = "ajax.php?do[]=voip_blacklist:ajax_add&voip_cdr_id="+voip_cdr_id;
http.open("GET", url, true);
http.onreadystatechange = function() {
if (http.readyState == 4) {
try { eval(http.responseText) } catch(e) {}
}
}
http.send(null);
}
</script>
{/literal}