X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fdb%2Fclass.reflines_db.inc;h=277ebe74dbe2f8dce456f6fc8d0adf9510d9bfff;hb=2bcdab793e406bb5a44d2c4e079ec7cc2a1aa857;hp=22c472dc88df2262d1e000fc435b55e910033ded;hpb=fd069bba86276f15311ff6ab10b22d4a06a55513;p=fa-stable.git diff --git a/includes/db/class.reflines_db.inc b/includes/db/class.reflines_db.inc index 22c472dc..277ebe74 100644 --- a/includes/db/class.reflines_db.inc +++ b/includes/db/class.reflines_db.inc @@ -17,13 +17,13 @@ include_once 'class.data_set.inc'; **/ class reflines_db extends data_set { - function reflines_db() + function __construct() { $this->set_validator('prefix:ui:_check_prefix', _("This prefix conflicts with another one already defined. Prefix have to be unambigous.")); $this->set_validator('prefix:ui:_check_template', _("Invalid template format.")); $this->set_validator('trans_type:ui:required', _("Transaction type cannot be empty.")); $this->set_validator('pattern:ui:required', _("Next reference cannot be empty.")); - $this->data_set('reflines', + parent::__construct('reflines', array('trans_type', 'prefix', 'description', 'default', 'pattern', 'id', 'inactive'), 'id'); } @@ -79,12 +79,12 @@ class reflines_db extends data_set { { $sql = "SELECT * - FROM (SELECT r.* FROM 0_refs r + FROM (SELECT r.* FROM ".TB_PREF."refs r LEFT JOIN ".TB_PREF."voided as v ON r.id=v.id AND r.type=v.type WHERE r.type=".db_escape($trans_type)." AND ISNULL(v.id) ) ref - LEFT JOIN 0_reflines line ON ref.type=line.trans_type AND substr(ref.reference,1, LENGTH(line.prefix))= line.prefix AND line.prefix<>'' + LEFT JOIN ".TB_PREF."reflines line ON ref.type=line.trans_type AND substr(ref.reference,1, LENGTH(line.prefix))= line.prefix AND line.prefix<>'' WHERE ".($prefix == '' ? "ISNULL(prefix)" : "prefix=".db_escape($prefix)); $res = db_query($sql, "cannot check reference line"); @@ -153,7 +153,7 @@ class reflines_db extends data_set { function find_refline_id($reference, $type, $fallback=true) { $sql = "SELECT * FROM ".TB_PREF."reflines WHERE trans_type=".db_escape($type) - ." AND CHAR_LENGTH(`prefix`) AND LEFT('$reference', CHAR_LENGTH(`prefix`)) = `prefix`"; + ." AND CHAR_LENGTH(`prefix`) AND LEFT(".db_escape($reference).", CHAR_LENGTH(`prefix`)) = `prefix`"; if ($fallback) // if not found return refline with empty prefix $sql .= " UNION SELECT * FROM ".TB_PREF."reflines WHERE trans_type=".db_escape($type)." AND `prefix`=''"; $ret = db_query($sql, "cannot check reference line id");