Rerun: user_list_cells Real name sometimes shows empty. @apmuthu
[fa-stable.git] / gl / includes / db / gl_db_account_types.inc
index a3771230116e2fc1d5d8b886216952a52c714a1c..4d6d58e876039aa5a7d29ee5fd82280f4323731f 100644 (file)
@@ -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");
@@ -56,14 +62,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 <= 0";
-       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");
@@ -152,4 +165,3 @@ function delete_account_class($id)
        db_query($sql, "could not delete account type");
 }
 
-?>
\ No newline at end of file