From 9d407d2369f2d27242cc823bb4b14a327c530448 Mon Sep 17 00:00:00 2001 From: nbm Date: Tue, 24 May 2005 20:51:35 +0000 Subject: [PATCH] Deal with searches criteria potentially adding joins to the advanced search query. --- presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php b/presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php index 86bce83..73d93f3 100644 --- a/presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php +++ b/presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php @@ -63,12 +63,17 @@ function getAdvancedSearchResults($aOrigReq, $iStartIndex) { $aIDs = array_unique(array_map("criteriaNumber", array_keys($aReq))); $aSQL = array(); + $aJoinSQL = array(); foreach ($aIDs as $iID) { $oCriterion =& Criteria::getCriterionByNumber($iID); $res = $oCriterion->searchSQL($aReq); if (!is_null($res)) { $aSQL[] = $res; } + $res = $oCriterion->searchJoinSQL(); + if (!is_null($res)) { + $aJoinSQL[] = $res; + } } $aCritParams = array(); $aCritQueries = array(); @@ -86,6 +91,7 @@ function getAdvancedSearchResults($aOrigReq, $iStartIndex) { } $sSQLSearchString = join(" AND ", $aCritQueries); + $sJoinSQL = join(" ", $aJoinSQL); $sQuery = DBUtil::compactQuery(" SELECT @@ -94,8 +100,7 @@ SELECT FROM $default->documents_table AS D INNER JOIN $default->folders_table AS F ON D.folder_id = F.id - LEFT JOIN $default->document_fields_link_table AS DFL ON DFL.document_id = D.id - LEFT JOIN $default->document_fields_table AS DF ON DF.id = DFL.document_field_id + $sJoinSQL INNER JOIN $default->search_permissions_table AS SDUL ON SDUL.document_id = D.id INNER JOIN $default->status_table AS SL on D.status_id=SL.id WHERE -- libgit2 0.21.4