Additional db driver fixes, mysqli api set as default regardless of php version.
[fa-stable.git] / includes / references.inc
index b67267c5ca41baad6c04e6aaa2e43a863c142865..cd01ab6c67386032182dbda57e5a962390f1bea2 100644 (file)
@@ -57,7 +57,7 @@ class references
        function save($type, $id, $reference) 
        {
                update_reference($type, $id, $reference); // store in refs table
-               if ($reference == $this->get_next($type)) { // if reference was not changed from default
+               if ($reference == $this->get_next($type)) { // if reference was bigger or not changed from default
                        $next = $this->_increment($reference);  // increment default
                        save_next_reference($type, $next);
                }
@@ -116,29 +116,27 @@ function is_new_reference($ref, $type, $trans_no=0)
        $type = db_escape($type);
        
        if ($db_ref == null) { // journal or bank trans store references in refs table
-               $db_ref = TB_PREF."refs";
+               $db_name = TB_PREF."refs";
                $db_type = 'type';
                $db_trans = 'id';
-               $rb_ref = 'reference';
+               $db_ref = 'reference';
        }
 
        if ($db_type != null) {
-               $sql = "SELECT $db_ref FROM $db_name 
+               $sql = "SELECT $db_ref FROM $db_name tbl
                        LEFT JOIN ".TB_PREF."voided v ON 
-                               $db_name.$db_type=v.type AND $db_name.$db_trans=v.id
-                       WHERE $db_name.$db_ref=$ref AND ISNULL(v.id)
-                               AND $db_name.$db_type=$type";
+                               tbl.$db_type=v.type AND tbl.$db_trans=v.id
+                       WHERE $db_ref=$ref AND ISNULL(v.id)
+                               AND tbl.$db_type=$type";
        } else {
-               $sql = "SELECT $db_ref FROM $db_name 
+               $sql = "SELECT $db_ref ref FROM $db_name tbl
                        LEFT JOIN ".TB_PREF."voided v ON 
-                               v.type=$type AND $db_name.$db_trans=v.id
+                               v.type=$type AND tbl.$db_trans=v.id
                        WHERE $db_ref=$ref AND ISNULL(v.id)";
        }
-
        if ($trans_no)
-       {
-               $sql .= " AND $db_name.$db_trans != ".db_escape($trans_no);
-       }
+                       $sql .= " AND tbl.`$db_trans` != ".db_escape($trans_no);
+
        $result = db_query($sql, "could not test for unique reference");
 
        return (db_num_rows($result) == 0);