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 4ff3e22c4ac85aee21a75c9c6ff05c8f0ef9ce16..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')";
+               $where[] ="(parent = '' OR parent = '-1')";
        elseif ($parent !== false) 
-               $sql .= " AND parent=".db_escape($parent);
+               $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");