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 function add_account_type($id, $name, $class_id, $parent)
14 $sql = "INSERT INTO ".TB_PREF."chart_types (id, name, class_id, parent)
15 VALUES (".db_escape($id).", ".db_escape($name).", ".db_escape($class_id).", ".db_escape($parent).")";
17 return db_query($sql);
20 function update_account_type($id, $name, $class_id, $parent, $old_id)
25 $sql = "SELECT id FROM ".TB_PREF."chart_types WHERE parent = ".db_escape($old_id);
27 $result = db_query($sql, "could not get account type");
29 while ($myrow = db_fetch($result))
31 $sql = "UPDATE ".TB_PREF."chart_types SET parent=".db_escape($id)
32 ." WHERE id = '".$myrow['id']."'";
33 db_query($sql, "could not update account type");
35 $sql = "SELECT account_code FROM ".TB_PREF."chart_master WHERE account_type = ".db_escape($old_id);
37 $result = db_query($sql, "could not get account");
39 while ($myrow = db_fetch($result))
41 $sql = "UPDATE ".TB_PREF."chart_master SET account_type=".db_escape($id)
42 ." WHERE account_code = '".$myrow['account_code']."'";
43 db_query($sql, "could not update account");
46 $sql = "UPDATE ".TB_PREF."chart_types SET id=".db_escape($id) .", name=".db_escape($name).",
47 class_id=".db_escape($class_id).", parent=".db_escape($parent)
48 ." WHERE id = ".db_escape($old_id);
50 $ret = db_query($sql, "could not update account type");
55 function get_account_types($all=false, $class_id=false, $parent=false)
57 $sql = "SELECT * FROM ".TB_PREF."chart_types";
60 $sql .= " WHERE !inactive";
61 if ($class_id != false)
62 $sql .= " AND class_id=".db_escape($class_id);
64 $sql .= " AND (parent = '' OR parent = '-1')";
65 elseif ($parent !== false)
66 $sql .= " AND parent=".db_escape($parent);
67 $sql .= " ORDER BY class_id, id, parent";
69 return db_query($sql, "could not get account types");
72 function get_account_type($id)
74 $sql = "SELECT * FROM ".TB_PREF."chart_types WHERE id = ".db_escape($id);
76 $result = db_query($sql, "could not get account type");
78 return db_fetch($result);
81 function get_account_type_name($id)
83 $sql = "SELECT name FROM ".TB_PREF."chart_types WHERE id = ".db_escape($id);
85 $result = db_query($sql, "could not get account type");
87 $row = db_fetch_row($result);
91 function delete_account_type($id)
93 $sql = "DELETE FROM ".TB_PREF."chart_types WHERE id = ".db_escape($id);
95 db_query($sql, "could not delete account type");
98 function add_account_class($id, $name, $ctype)
100 $sql = "INSERT INTO ".TB_PREF."chart_class (cid, class_name, ctype)
101 VALUES (".db_escape($id).", ".db_escape($name).", ".db_escape($ctype).")";
103 return db_query($sql);
106 function update_account_class($id, $name, $ctype)
108 $sql = "UPDATE ".TB_PREF."chart_class SET class_name=".db_escape($name).",
109 ctype=".db_escape($ctype)." WHERE cid = ".db_escape($id);
111 return db_query($sql);
114 function get_account_classes($all=false, $balance=-1)
116 $sql = "SELECT * FROM ".TB_PREF."chart_class";
119 $sql .= " WHERE !inactive";
121 $sql .= " AND ctype>".CL_EQUITY." OR ctype=0";
122 elseif ($balance == 1)
123 $sql .= " AND ctype>0 AND ctype<".CL_INCOME;
124 $sql .= " ORDER BY ctype, cid";
126 return db_query($sql, "could not get account classes");
129 function get_account_class($id)
131 $sql = "SELECT * FROM ".TB_PREF."chart_class WHERE cid = ".db_escape($id);
133 $result = db_query($sql, "could not get account type");
135 return db_fetch($result);
138 function get_account_class_name($id)
140 $sql = "SELECT class_name FROM ".TB_PREF."chart_class WHERE cid =".db_escape($id);
142 $result = db_query($sql, "could not get account type");
144 $row = db_fetch_row($result);
148 function delete_account_class($id)
150 $sql = "DELETE FROM ".TB_PREF."chart_class WHERE cid = ".db_escape($id);
152 db_query($sql, "could not delete account type");