+ if ($db_ref == null) { // journal or bank trans store references in refs table
+ $db_ref = TB_PREF."refs";
+ $db_type = 'type';
+ $db_trans = 'id';
+ $rb_ref = 'reference';
+ }
+
+ if ($db_type != null) {
+ $sql = "SELECT $db_ref FROM $db_name
+ 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";
+ } else {
+ $sql = "SELECT $db_ref FROM $db_name
+ LEFT JOIN ".TB_PREF."voided v ON
+ v.type=$type AND $db_name.$db_trans=v.id
+ WHERE $db_ref=$ref AND ISNULL(v.id)";
+ }
+
+ $result = db_query($sql, "could not test for unique reference");
+
+ return (db_num_rows($result) == 0);
+