<?
### DO THIS FIRST:
require_once("/BANGK!/master_config.php");
require_once($master_config_root_path . "shared/functions.shared");
require_once($master_config_root_path . "shared/session.shared");

//https://gateway.BANGK.com/check_balance_phoneBANGK.gate?uuid=XXXXX&user_id=YYYYY&dialed_number=ZZZZZZ

function get_call_rate($dialed_number){
    $return = 'NOT_FOUND';
    $number = $dialed_number;
    $number_array_count = strlen($number);
    while($number_array_count > 0) 
    {
        $prefix_to_lookup = substr($number,0,$number_array_count);
        $query = "SELECT * FROM `flowroute` WHERE prefix=".$prefix_to_lookup."";
        //test('query', $query);

        $rates = arrayTHECASHIER($query, 'voip_rates', false);
        //test('rates', $rates);

        $prefix_found_in_db = $rates;
        if(empty($prefix_found_in_db)) {
            $number_array_count = $number_array_count - 1;
        } 
        else 
        {
            $return = $rates[0];
            break;
        }
    }
    return $return;
    //[result] => Array
    //(
    //    [0] => BANGLADESH (MOBILE) //country
    //    [1] => 88017  //prefix
    //    [2] => 0.0382 //rate
    //)
}

$uuid = $_GET['uuid'];
$user_id = $_GET['user_id'];
$dialed_number = $_GET['dialed_number'];


//Get memeber
$query = "SELECT memberid FROM `members` WHERE phonebangk_username='". $user_id ."'";
//test("query", $query);
$member = readTHECASHIER($query);
$memberid = $member->memberid;
//test("memberid", $memberid);

//Get personal account hash
$query = "SELECT hash FROM accounts WHERE accounttype = 'Personal' AND creator_memberid = '$memberid';";
//test("query", $query);
$account = readTHECASHIER($query);
$account_hash = $account->hash;
//test("account_hash", $account_hash);

$rate_result = get_call_rate($dialed_number);
//test("rate_result", $rate_result);


$return = "NOT_FOUND";
if(!empty($account_hash) && $rate_result != 'NOT_FOUND'){
    $rate = $rate_result[2];    
    //test("rate", $rate);
    
    $tmp_account = account($account_hash);
    //test('tmp_account', $tmp_account);
    //$tmp_account['accountid']    
    $tmp_balance = balance($tmp_account['accountid']);
    //test('tmp_balance', $tmp_balance);
    $balance = $tmp_balance['account_balance'];   

    //test('balance before', $balance);    
    $balance -= $rate;
    //test('balance after', $balance);
    if($balance<=0) $return = "NOT_ENOUGH_MONEY";
    else $return = "OK";
}
echo $return;
?>