X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fdb%2Freferences_db.inc;h=71314463339be1294347e99fa546e718c371e5e4;hb=3613e32ad573d5faccb974a421702bdd87583878;hp=7764c534acbe9f81bca4c43c86903e1d288e567e;hpb=d67f3efea0aa65cea4f875e2b46d0dacc3e838ef;p=fa-stable.git diff --git a/includes/db/references_db.inc b/includes/db/references_db.inc index 7764c534..71314463 100644 --- a/includes/db/references_db.inc +++ b/includes/db/references_db.inc @@ -31,6 +31,15 @@ function add_reference($type, $id, $reference) db_query($sql, "could not add reference entry"); } +//-------------------------------------------------------------------------------------------------- + +function update_reference($type, $id, $reference) +{ + $sql = "UPDATE ".TB_PREF."refs SET reference=".db_escape($reference) + ." WHERE type=".db_escape($type)." AND id=".db_escape($id); + db_query($sql, "could not update reference entry"); +} + //-------------------------------------------------------------------------------------------------- function delete_reference($type, $id) @@ -44,8 +53,12 @@ function delete_reference($type, $id) function find_reference($type, $reference) { - $sql = "SELECT id FROM ".TB_PREF."refs WHERE type=".db_escape($type) - ." AND reference=".db_escape($reference); + // ignore refs references for voided transactions + $sql = "SELECT r.id FROM ".TB_PREF."refs r LEFT JOIN ".TB_PREF."voided v ON" + ." r.type=v.type AND r.id=v.id" + ." WHERE r.type=".db_escape($type) + ." AND reference=".db_escape($reference) + ." AND ISNULL(`memo_`)"; $result = db_query($sql, "could not query reference table");