From e57435d78c3c4dd48495c15e014e93cee2de4ba8 Mon Sep 17 00:00:00 2001 From: nbm Date: Tue, 24 May 2005 21:25:40 +0000 Subject: [PATCH] Restrict document field value search to the document field id being requested. Otherwise _any_ of the document fields' values would be acceptable. --- lib/browse/Criteria.inc | 8 ++++++++ 1 file changed, 8 insertions(+), 0 deletions(-) diff --git a/lib/browse/Criteria.inc b/lib/browse/Criteria.inc index 53dd31c..5567942 100644 --- a/lib/browse/Criteria.inc +++ b/lib/browse/Criteria.inc @@ -343,6 +343,7 @@ class GenericMetadataCriterion extends BrowseCriterion { var $bString = true; function GenericMetadataCriterion ($sDisplay, $sDocumentField, $sSortField, $iID) { + $this->iID = $iID; $this->BrowseCriterion($sDisplay, $sDocumentField, $sSortField, $iID); $this->aLookup['whereClause'] = 'document_field_id = ' . $iID; $this->oField =& DocumentField::get($iID); @@ -392,6 +393,13 @@ class GenericMetadataCriterion extends BrowseCriterion { return $sRet; } + function searchSQL ($aRequest) { + $p = parent::searchSQL($aRequest); + $p[0] = join(' AND ', array($p[0], "$this->sSearchTable.document_field_id = ?")); + $p[1] = array_merge($p[1], array($this->iID)); + return $p; + } + function searchJoinSQL () { global $default; return "LEFT JOIN $default->document_fields_link_table AS $this->sSearchTable ON $this->sSearchTable.document_id = D.id"; -- libgit2 0.21.4