more support to fussion schema

This commit is contained in:
luis daniel lucio quiroz
2014-07-17 23:46:04 +00:00
parent 3fea9a0cb6
commit 1ded40211e
3 changed files with 26 additions and 22 deletions
+1 -1
View File
@@ -36,7 +36,7 @@ else {
} }
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){ if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){
require_once "app/billing/functions.php"; require_once "app/billing/resources/functions/currency.php";
} }
//add multi-lingual support //add multi-lingual support
+23 -19
View File
@@ -43,7 +43,7 @@
} }
//set debug //set debug
$debug = false; //true //false $debug = true; //true //false
if($debug){ if($debug){
$time5 = microtime(true); $time5 = microtime(true);
$insert_time=$insert_count=0; $insert_time=$insert_count=0;
@@ -59,7 +59,7 @@
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){ if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){
require_once "app/billing/functions.php"; require_once "app/billing/resources/functions/rating.php";
} }
//define the process_xml_cdr function //define the process_xml_cdr function
function process_xml_cdr($db, $leg, $xml_string) { function process_xml_cdr($db, $leg, $xml_string) {
@@ -259,9 +259,10 @@
$db2->result = $db2->execute(); $db2->result = $db2->execute();
// If selling rate is found, then we fill with data, otherwise rate will be 0 // If selling rate is found, then we fill with data, otherwise rate will be 0
$lcr_user_rate = (strlen($$db2->result[0]['rate']))?strlen($$db2->result[0]['rate']):0; $lcr_currency = (strlen($db2->result[0]['currency'])?check_str($db2->result[0]['currency']):'USD');
$lcr_user_first_increment = (strlen($$db2->result[0]['connect_increment']))?strlen($$db2->result[0]['connect_increment']):60; $lcr_user_rate = (strlen($db2->result[0]['rate']))?strlen($db2->result[0]['rate']):0;
$lcr_user_second_increment = (strlen($$db2->result[0]['talk_increment']))?strlen($$db2->result[0]['talk_increment']):60; $lcr_user_first_increment = (strlen($db2->result[0]['connect_increment']))?strlen($db2->result[0]['connect_increment']):60;
$lcr_user_second_increment = (strlen($db2->result[0]['talk_increment']))?strlen($db2->result[0]['talk_increment']):60;
// Actually, there is no way to detect what carrier is the calling comming from using current information // Actually, there is no way to detect what carrier is the calling comming from using current information
$lcr_rate = 0; $lcr_first_increment = 0; $lcr_second_increment = 0; $lcr_rate = 0; $lcr_first_increment = 0; $lcr_second_increment = 0;
@@ -278,9 +279,10 @@
$db2->result = $db2->execute(); $db2->result = $db2->execute();
// If selling rate is found, then we fill with data, otherwise rate will be 0 // If selling rate is found, then we fill with data, otherwise rate will be 0
$lcr_user_rate = (strlen($$db2->result[0]['rate']))?strlen($$db2->result[0]['rate']):0; $lcr_currency = (strlen($db2->result[0]['currency'])?check_str($db2->result[0]['currency']):'USD');
$lcr_user_first_increment = (strlen($$db2->result[0]['connect_increment']))?strlen($$db2->result[0]['connect_increment']):60; $lcr_user_rate = (strlen($db2->result[0]['rate']))?strlen($$db2->result[0]['rate']):0;
$lcr_user_second_increment = (strlen($$db2->result[0]['talk_increment']))?strlen($$db2->result[0]['talk_increment']):60; $lcr_user_first_increment = (strlen($db2->result[0]['connect_increment']))?strlen($db2->result[0]['connect_increment']):60;
$lcr_user_second_increment = (strlen($db2->result[0]['talk_increment']))?strlen($db2->result[0]['talk_increment']):60;
// Actually, internal calls have 0 cost // Actually, internal calls have 0 cost
$lcr_rate = 0; $lcr_first_increment = 0; $lcr_second_increment = 0; $lcr_rate = 0; $lcr_first_increment = 0; $lcr_second_increment = 0;
@@ -294,26 +296,25 @@
$time = check_str(urldecode($xml->variables->billsec)); $time = check_str(urldecode($xml->variables->billsec));
$call_buy = call_cost($lcr_rate, $lcr_first_increment, $lcr_second_increment, $time); $call_buy = call_cost($lcr_rate, $lcr_first_increment, $lcr_second_increment, $time);
$call_sell = call_cost($lcr_user_rate, $lcr_user_first_increment, $lcr_user_second_increment, $time); $call_sell = call_cost($lcr_user_rate, $lcr_user_first_increment, $lcr_user_second_increment, $time);
// Costs/Sell call is in original LCR currency, needs to be converted
$database->fields['call_buy'] = check_str($call_buy); $database->fields['call_buy'] = check_str($call_buy);
$database->fields['call_sell'] = check_str($call_sell); $database->fields['call_sell'] = check_str($call_sell);
$db2->table = "v_xml_cdr";
$accountcode = (strlen(urldecode($xml->variables->accountcode)))?check_str(urldecode($xml->variables->accountcode)):$domain_name;
$db2->sql = "SELECT currency FROM v_billings WHERE type_value='$accountcode'";
$db2->result = $database->execute();
$billing_currency = (strlen($database->result[0]['currency'])?$database->result[0]['currency']:'USD');
unset($database->sql);
unset($database->result);
if ($debug) { if ($debug) {
echo "c ".$database->fields['carrier_name']."\n"; echo "c ".$database->fields['carrier_name']."\n";
echo "t $time\n"; echo "t $time\n";
echo "b r:$lcr_rate - $lcr_first_increment - $lcr_first_increment = $call_buy\n"; echo "b r:$lcr_rate - $lcr_first_increment - $lcr_first_increment = $call_buy\n";
echo "s r:$lcr_user_rate - $lcr_user_first_increment - $lcr_user_second_increment = $call_sell\n"; echo "s r:$lcr_user_rate - $lcr_user_first_increment - $lcr_user_second_increment = $call_sell\n";
echo "lc $lcr_currency\n"; echo "lc $lcr_currency\n";
}
unset($db2->sql);
unset($db2->result);
$db2->sql = "SELECT currency FROM v_billings WHERE type_value='".check_str(urldecode($xml->variables->accountcode))."'";
$db2->result = $database->execute();
$billing_currency = (strlen($database->result[0]['currency'])?$database->result[0]['currency']:'USD');
if ($debug) {
echo "bc $billing_currency\n"; echo "bc $billing_currency\n";
} }
@@ -332,6 +333,10 @@
// Lets convert rate from lcr_currency to billing_currency // Lets convert rate from lcr_currency to billing_currency
$billing_call_sell = currency_convert($call_sell, $billing_currency, $lcr_currency); $billing_call_sell = currency_convert($call_sell, $billing_currency, $lcr_currency);
if ($debug) {
echo "bcs: $billing_call_sell $billing_currency\n";
}
// Remember that old_balance is using billing_currency // Remember that old_balance is using billing_currency
$updated_balance = (double)$old_balance - (double)$billing_call_sell; $updated_balance = (double)$old_balance - (double)$billing_call_sell;
unset($db2->sql); unset($db2->sql);
@@ -345,7 +350,6 @@
$db2->result = $db2->execute(); $db2->result = $db2->execute();
unset($db2->sql); unset($db2->sql);
unset($db2->result); unset($db2->result);
} }
//insert xml_cdr into the db //insert xml_cdr into the db
+1 -1
View File
@@ -311,7 +311,7 @@ else {
} }
echo "</tr>\n"; echo "</tr>\n";
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){ if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){
require_once "app/billing/functions.php"; require_once "app/billing/resources/functions/rating.php";
require_once "resources/classes/database.php"; require_once "resources/classes/database.php";
$database = new database; $database = new database;
} }