X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gl%2Fincludes%2Fdb%2Fgl_db_account_types.inc;h=04fd9e9980288f96fdf83a062424f5fb1686b6b7;hb=1c257d9ff0bfe6452423acdb8358e26bd3ce7f43;hp=0ea366ecd7fd16a93dbc8594849648c8dcf14c4c;hpb=3d154c1be37111f3659ad0d1a28b2576a51fdd38;p=fa-stable.git diff --git a/gl/includes/db/gl_db_account_types.inc b/gl/includes/db/gl_db_account_types.inc index 0ea366ec..04fd9e99 100644 --- a/gl/includes/db/gl_db_account_types.inc +++ b/gl/includes/db/gl_db_account_types.inc @@ -12,7 +12,7 @@ function add_account_type($id, $name, $class_id, $parent) { $sql = "INSERT INTO ".TB_PREF."chart_types (id, name, class_id, parent) - VALUES ($id, ".db_escape($name).", ".db_escape($class_id).", ".db_escape($parent).")"; + VALUES (".db_escape($id).", ".db_escape($name).", ".db_escape($class_id).", ".db_escape($parent).")"; return db_query($sql); } @@ -20,9 +20,11 @@ function add_account_type($id, $name, $class_id, $parent) function update_account_type($id, $name, $class_id, $parent, $old_id) { begin_transaction(); - if ($old_id != $id) + if ($old_id !== $id) { - $sql = "SELECT id FROM ".TB_PREF."chart_types WHERE parent = ".db_escape($old_id); + $sql = "SELECT id + FROM ".TB_PREF."chart_types + WHERE parent = ".db_escape($old_id); $result = db_query($sql, "could not get account type"); @@ -32,19 +34,23 @@ function update_account_type($id, $name, $class_id, $parent, $old_id) ." WHERE id = '".$myrow['id']."'"; db_query($sql, "could not update account type"); } - $sql = "SELECT account_code FROM ".TB_PREF."chart_master WHERE account_type = ".db_escape($old_id); + $sql = "SELECT account_code + FROM ".TB_PREF."chart_master + WHERE account_type = ".db_escape($old_id); $result = db_query($sql, "could not get account"); while ($myrow = db_fetch($result)) { - $sql = "UPDATE ".TB_PREF."chart_master SET account_type=".db_escape($id) + $sql = "UPDATE ".TB_PREF."chart_master + SET account_type=".db_escape($id) ." WHERE account_code = '".$myrow['account_code']."'"; db_query($sql, "could not update account"); } } - $sql = "UPDATE ".TB_PREF."chart_types SET id=".db_escape($id) .", name=".db_escape($name).", - class_id=".db_escape($class_id).", parent=".db_escape($parent) + $sql = "UPDATE ".TB_PREF."chart_types + SET id=".db_escape($id) .", name=".db_escape($name).", + class_id=".db_escape($class_id).", parent=".db_escape($parent) ." WHERE id = ".db_escape($old_id); $ret = db_query($sql, "could not update account type"); @@ -52,12 +58,26 @@ function update_account_type($id, $name, $class_id, $parent, $old_id) return $ret; } -function get_account_types($all=false) +function get_account_types($all=false, $class_id=false, $parent=false) { $sql = "SELECT * FROM ".TB_PREF."chart_types"; - if (!$all) $sql .= " WHERE !inactive"; - $sql .= " ORDER BY class_id, id"; + $where = array(); + + if (!$all) + $where[] = "!inactive"; + + if ($class_id != false) + $where[] = "class_id=".db_escape($class_id); + + if ($parent == -1) + $where[] ="(parent = '' OR parent = '-1')"; + elseif ($parent !== false) + $where[] = "parent=".db_escape($parent); + + if (count($where)) + $sql .= ' WHERE '.implode(' AND ', $where); + $sql .= " ORDER BY class_id, id, parent"; return db_query($sql, "could not get account types"); } @@ -78,7 +98,7 @@ function get_account_type_name($id) $result = db_query($sql, "could not get account type"); $row = db_fetch_row($result); - return $row[0]; + return is_array($row) ? $row[0] : false; } function delete_account_type($id) @@ -104,13 +124,19 @@ function update_account_class($id, $name, $ctype) return db_query($sql); } -function get_account_classes($all=false) +function get_account_classes($all=false, $balance=-1) { $sql = "SELECT * FROM ".TB_PREF."chart_class"; - if (!$all) $sql .= " WHERE !inactive"; - $sql .= " ORDER BY cid"; - return db_query($sql, "could not get account types"); + if (!$all) + $sql .= " WHERE !inactive"; + if ($balance == 0) + $sql .= " AND ctype>".CL_EQUITY." OR ctype=0"; + elseif ($balance == 1) + $sql .= " AND ctype>0 AND ctype<".CL_INCOME; + $sql .= " ORDER BY ctype, cid"; + + return db_query($sql, "could not get account classes"); } function get_account_class($id) @@ -139,4 +165,3 @@ function delete_account_class($id) db_query($sql, "could not delete account type"); } -?> \ No newline at end of file