New files from unstable branch
[fa-stable.git] / includes / db / sql_functions.inc
1 <?php
2 /**********************************************************************
3     Copyright (C) FrontAccounting, LLC.
4         Released under the terms of the GNU General Public License, GPL, 
5         as published by the Free Software Foundation, either version 3 
6         of the License, or (at your option) any later version.
7     This program is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
10     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 //
13 //      General database functions common for all modules.
14 //
15 //-------------------------------------------------------------------
16 // Multilevel transaction control.
17 //
18
19 function begin_transaction()
20 {
21         global $transaction_level; // set in set_global_connection()
22
23         if (!$transaction_level) {
24                 db_query("BEGIN", "could not start a transaction");
25         }
26         $transaction_level++;
27 }
28
29 function commit_transaction()
30 {
31         global $transaction_level;
32
33         $transaction_level--;
34
35         if (!$transaction_level) {
36                 db_query("COMMIT", "could not commit a transaction");
37         }
38 }
39
40 /*
41         This function is called on end of script execution to cancel
42         all aborted transactions (if any)
43 */
44 function cancel_transaction()
45 {
46         global $transaction_level;
47
48         if ($transaction_level) {
49                 db_query("ROLLBACK", "could not cancel a transaction"); 
50         }
51 }
52
53 //-----------------------------------------------------------------------------
54 //      Update record activity status.
55 //
56 function update_record_status($id, $status, $table, $key) {
57         $sql = "UPDATE ".TB_PREF.$table." SET inactive = "
58                 . db_escape($status)." WHERE $key=".db_escape($id);
59                 
60         db_query($sql, "Can't update record status");
61 }
62 ?>