Merged changes up to 2.3.16 into unstable
[fa-stable.git] / gl / includes / db / gl_db_bank_accounts.inc
index d668dd7024f809ad8a598288bc4fedddab43f0ab..a4ffd9862665bf2837af43fb487619d47d0453c4 100644 (file)
@@ -18,18 +18,18 @@ function clear_dflt_curr_account($curr_code) {
 
 function add_bank_account($account_code, $account_type, $bank_account_name,
        $bank_name, $bank_account_number, $bank_address, $bank_curr_code, 
-       $dflt_curr_act)
+       $dflt_curr_act, $bank_charge_act)
 {
        if($dflt_curr_act)      // only one default account for any currency
          clear_dflt_curr_account($bank_curr_code);
 
        $sql = "INSERT INTO ".TB_PREF."bank_accounts (account_code, account_type, 
                bank_account_name, bank_name, bank_account_number, bank_address, 
-               bank_curr_code, dflt_curr_act)
+               bank_curr_code, dflt_curr_act, bank_charge_act)
                VALUES (".db_escape($account_code).", ".db_escape($account_type).", "
                .db_escape($bank_account_name).", ".db_escape($bank_name).", "
                .db_escape($bank_account_number).",".db_escape($bank_address).
-               ", ".db_escape($bank_curr_code).", ".db_escape($dflt_curr_act).")";
+               ", ".db_escape($bank_curr_code).", ".db_escape($dflt_curr_act).", ".db_escape($bank_charge_act).")";
 
        db_query($sql, "could not add a bank account for $account_code");
 }
@@ -37,7 +37,7 @@ function add_bank_account($account_code, $account_type, $bank_account_name,
 //---------------------------------------------------------------------------------------------
 
 function update_bank_account($id, $account_code, $account_type, $bank_account_name, 
-       $bank_name, $bank_account_number, $bank_address, $bank_curr_code, $dflt_curr_act)
+       $bank_name, $bank_account_number, $bank_address, $bank_curr_code, $dflt_curr_act, $bank_charge_act)
 {
        if($dflt_curr_act)      // only one default account for any currency
          clear_dflt_curr_account($bank_curr_code);
@@ -47,8 +47,8 @@ function update_bank_account($id, $account_code, $account_type, $bank_account_na
                bank_account_name=".db_escape($bank_account_name).", bank_name=".db_escape($bank_name).",
                bank_account_number=".db_escape($bank_account_number).", bank_curr_code=".db_escape($bank_curr_code).",
                bank_address=".db_escape($bank_address).",
-               dflt_curr_act=".db_escape($dflt_curr_act)
-               ." WHERE id = ".db_escape($id);
+               dflt_curr_act=".db_escape($dflt_curr_act).", bank_charge_act=".db_escape($bank_charge_act)." 
+               WHERE id = ".db_escape($id);
 
        db_query($sql, "could not update bank account for $account_code");
 }
@@ -102,6 +102,19 @@ function get_bank_gl_account($id)
 
 //---------------------------------------------------------------------------------------------
 
+function get_bank_charge_account($id)
+{
+       $sql = "SELECT bank_charge_act FROM ".TB_PREF."bank_accounts WHERE id=".db_escape($id);
+
+       $result = db_query($sql, "could not retreive bank account for $id");
+
+       $bank_account = db_fetch($result);
+
+       return $bank_account['bank_charge_act'];
+}
+
+//---------------------------------------------------------------------------------------------
+
 function add_quick_entry($description, $type, $base_amount, $base_desc, $bal_type)
 {
        $sql = "INSERT INTO ".TB_PREF."quick_entries (description, type, base_amount, base_desc, bal_type) 
@@ -347,5 +360,20 @@ function get_bank_account_limit($account, $date, $user=null)
                return null;
        return max(0, get_balance_before_for_bank_account($account, add_days($date,1))); // in case of manco made before the check was implemented
 }
+function identify_bank_account($account_number)
+{
+       $number = db_escape($account_number);
+       $sql = "(SELECT id AS id, ".BO_COMPANY." AS type FROM ".TB_PREF."bank_accounts WHERE REPLACE(bank_account_number,' ', '')=$number)";
+       $sql .= " UNION (SELECT supplier_id AS id, ".BO_SUPPLIER." AS type FROM ".TB_PREF."suppliers WHERE REPLACE(bank_account,' ', '')=$number)";
+       $sql .= " UNION (SELECT branch_code AS id, ".BO_CUSTBRANCH." AS type FROM ".TB_PREF."cust_branch WHERE REPLACE(bank_account,' ', '')=$number)";
+
+       $result = db_query($sql, 'bank account identification failed');
+
+       if (db_num_rows($result))
+               return db_fetch($result);
+       else
+               return null;
+}
 
 ?>
\ No newline at end of file