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_dimension($reference, $name, $type_, $date_, $due_date, $memo_)
18 $sql = "INSERT INTO ".TB_PREF."dimensions (reference, name, type_, date_, due_date)
19 VALUES (".db_escape($reference).", ".db_escape($name).", ".db_escape($type_)
20 .", ".db_escape($date_).", ".db_escape($due_date).")";
21 db_query($sql, "could not add dimension");
25 add_comments(ST_DIMENSION, $id, $date_, $memo_);
27 $Refs->save(ST_DIMENSION, $id, $reference);
34 function update_dimension($id, $name, $type_, $date_, $due_date, $memo_)
38 $sql = "UPDATE ".TB_PREF."dimensions SET name=".db_escape($name).",
39 type_ = ".db_escape($type_).",
40 date_=".db_escape($date_).",
41 due_date=".db_escape($due_date)."
42 WHERE id = ".db_escape($id);
44 db_query($sql, "could not update dimension");
46 update_comments(ST_DIMENSION, $id, null, $memo_);
53 function delete_dimension($id)
57 // delete the actual dimension
58 $sql="DELETE FROM ".TB_PREF."dimensions WHERE id=".db_escape($id);
59 db_query($sql,"The dimension could not be deleted");
61 delete_comments(ST_DIMENSION, $id);
66 //--------------------------------------------------------------------------------------
68 function get_dimension($id, $allow_null=false)
70 $sql = "SELECT * FROM ".TB_PREF."dimensions WHERE id=".db_escape($id);
72 $result = db_query($sql, "The dimension could not be retrieved");
74 if (!$allow_null && db_num_rows($result) == 0)
75 display_db_error("Could not find dimension $id", $sql);
77 return db_fetch($result);
80 //--------------------------------------------------------------------------------------
82 function get_dimension_string($id, $html=false, $space=' ')
93 $row = get_dimension($id, true);
94 $dim = $row['reference'] . $space . $row['name'];
100 //--------------------------------------------------------------------------------------
102 function get_dimensions()
104 $sql = "SELECT * FROM ".TB_PREF."dimensions ORDER BY date_";
106 return db_query($sql, "The dimensions could not be retrieved");
109 //--------------------------------------------------------------------------------------
111 function dimension_has_deposits($id)
113 return dimension_has_payments($id);
116 //--------------------------------------------------------------------------------------
118 function dimension_has_payments($id)
120 $sql = "SELECT SUM(amount) FROM ".TB_PREF."gl_trans WHERE dimension_id = ".db_escape($id);
121 $res = db_query($sql, "Transactions could not be calculated");
122 $row = db_fetch_row($res);
123 return ($row[0] != 0.0);
126 function dimension_is_closed($id)
128 $result = get_dimension($id);
129 return ($result['closed'] == '1');
132 //--------------------------------------------------------------------------------------
134 function close_dimension($id)
136 $sql = "UPDATE ".TB_PREF."dimensions SET closed='1' WHERE id = ".db_escape($id);
137 db_query($sql, "could not close dimension");
140 //--------------------------------------------------------------------------------------
142 function reopen_dimension($id)
144 $sql = "UPDATE ".TB_PREF."dimensions SET closed='0' WHERE id = $id";
145 db_query($sql, "could not reopen dimension");