Fixes in sales reports to use debtor_trans.tax_included field instead of trans_tax_de...
[fa-stable.git] / gl / includes / db / gl_db_account_types.inc
index 5f1da519747d5a5b7e5c14c99d739ca2d49254d7..03a3abeb293b826c78e2f7d915f055a2ef4309f9 100644 (file)
@@ -56,14 +56,21 @@ function get_account_types($all=false, $class_id=false, $parent=false)
 {
        $sql = "SELECT * FROM ".TB_PREF."chart_types";
 
-       if (!$all) 
-               $sql .= " WHERE !inactive";
-       if ($class_id != false) 
-               $sql .= " AND class_id=".db_escape($class_id);
+       $where = array();
+       
+       if (!$all)
+               $where[] = "!inactive";
+
+       if ($class_id != false)  
+               $where[] = "class_id=".db_escape($class_id);
+
        if ($parent == -1) 
-               $sql .= " AND (parent = '' OR parent = '-1')";
-       elseif ($parent != false) 
-               $sql .= " AND parent=".db_escape($parent);
+               $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");