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";