Additional db driver fixes, mysqli api set as default regardless of php version.
[fa-stable.git] / includes / references.inc
index 292ccf4402c178b7fe8cd9c1073ca5cebc4de7fc..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);
                }
@@ -123,17 +123,19 @@ function is_new_reference($ref, $type, $trans_no=0)
        }
 
        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 tbl.`$db_trans` != ".db_escape($trans_no);
 
        $result = db_query($sql, "could not test for unique reference");