diff --git a/presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php b/presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php index d4f3682..2a521d6 100644 --- a/presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php +++ b/presentation/lookAndFeel/knowledgeTree/search/advancedSearchBL.php @@ -37,8 +37,8 @@ if (checkSession()) { if (!isset($fStartIndex)) { $fStartIndex = 0; - } - $oPatternCustom->setHtml(getSearchResults($sMetaTagIDs,$sSQLSearchString, $fStartIndex)); + } + $oPatternCustom->setHtml(getSearchResults($sMetaTagIDs,$sSQLSearchString, $fStartIndex, $fToSearch)); $main->setCentralPayload($oPatternCustom); $main->render(); } else { @@ -46,6 +46,7 @@ if (checkSession()) { $oPatternCustom->setHtml(getSearchPage($fSearchString)); $main->setCentralPayload($oPatternCustom); $main->setErrorMessage("Please select at least one criteria to search by"); + $main->setHasRequiredFields(true); $main->setFormAction("advancedSearchBL.php?fForSearch=1"); $main->render(); } @@ -56,6 +57,7 @@ if (checkSession()) { $oPatternCustom->setHtml(getSearchPage($fSearchString, $aMetaTagIDs)); $main->setCentralPayload($oPatternCustom); $main->setErrorMessage("Please enter text to search on"); + $main->setHasRequiredFields(true); $main->setFormAction("advancedSearchBL.php?fForSearch=1"); $main->render(); } @@ -64,6 +66,7 @@ if (checkSession()) { //display search criteria $oPatternCustom = & new PatternCustom(); $oPatternCustom->setHtml(getSearchPage($fSearchString)); + $main->setHasRequiredFields(true); $main->setCentralPayload($oPatternCustom); $main->setFormAction("advancedSearchBL.php?fForSearch=1"); $main->render(); diff --git a/presentation/lookAndFeel/knowledgeTree/search/advancedSearchUI.inc b/presentation/lookAndFeel/knowledgeTree/search/advancedSearchUI.inc index 7b19909..58c6cd1 100644 --- a/presentation/lookAndFeel/knowledgeTree/search/advancedSearchUI.inc +++ b/presentation/lookAndFeel/knowledgeTree/search/advancedSearchUI.inc @@ -20,8 +20,10 @@ function getMetaData($aMetaTagIDs) { $sToRender .= "\n"; $iRecordCount = 0; + $sCheckAllJavascript = ""; while ($sql->next_record()) { - $sMetaDataCheckBox = "f("id"), $aMetaTagIDs) . " name=\"f_adv_" . $sql->f("name") . "\" value=\"" . $sql->f("id") . "\">" . $sql->f("name"); + $sCheckAllJavascript .= "document.MainForm.f_adv_$iRecordCount.checked=value;\n"; + $sMetaDataCheckBox = "f("id"), $aMetaTagIDs) . " name=\"f_adv_$iRecordCount\" value=\"" . $sql->f("id") . "\">" . $sql->f("name"); $iRecordCount++; if (($iRecordCount % 3) == 1) { $sToRender .= "$sMetaDataCheckBox\n"; @@ -33,6 +35,14 @@ function getMetaData($aMetaTagIDs) { } $sToRender .= "\n"; + $sToRender .= "\n\n\n\n"; + $sToRender .= "graphicsUrl/widgets/checkall.gif\" border=\"0\"/>graphicsUrl/widgets/clearall.gif\" border=\"0\"/>"; $sToRender .= "\n"; return $sToRender; @@ -42,10 +52,19 @@ function getSearchPage($sSearchString = "", $aMetaTagIDs = array(), $sHeading = $sToRender = renderHeading($sHeading); $sToRender .= "\n"; $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= ($bSearchArchive ? "\n"; + $sToRender .= "graphicsUrl/widgets/search.gif\" border=\"0\"/>\n"; $sToRender .= "\n"; + + if ($bSearchArchive) { + $sToRender .= ""; + } else { + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= ""; + } + $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; @@ -57,22 +76,25 @@ function getSearchPage($sSearchString = "", $aMetaTagIDs = array(), $sHeading = $sToRender .= "\n"; $sToRender .= "
Search text: \n"; - $sToRender .= "
 
Search: Documents
 
\n"; - return $sToRender . getSearchValidationJavaScript();; + return $sToRender . getSearchValidationJavaScript(); } -function getSearchResults($sMetaTagIDs, $sSQLSearchString, $iStartIndex) { - global $default; +function getSearchResults($sMetaTagIDs, $sSQLSearchString, $iStartIndex, $sStatus = "Live") { + global $default; + $sQuery = "SELECT '" . "$default->graphicsUrl/widgets/dfolder.gif" . "' AS folder_image_url, F.id folder_id, D.id document_id, D.name AS document_name, COUNT(D.id) AS doc_count " . "FROM $default->owl_documents_table AS D INNER JOIN $default->owl_folders_table AS F ON D.folder_id = F.id " . "INNER JOIN document_fields_link AS DFL ON DFL.document_id = D.id " . "INNER JOIN document_fields AS DF ON DF.id = DFL.document_field_id " . - "INNER JOIN search_document_user_link AS SDUL ON SDUL.document_id = D.ID " . + "INNER JOIN search_document_user_link AS SDUL ON SDUL.document_id = D.ID " . + "INNER JOIN status_lookup AS SL on D.status_id=SL.id " . "WHERE DF.ID IN ($sMetaTagIDs) " . - "AND " . $sSQLSearchString . " " . + "AND (" . $sSQLSearchString . ") " . "AND SDUL.user_id = " . $_SESSION["userID"] . " " . + "AND SL.name='$sStatus' " . "GROUP BY D.id "; - "ORDER BY doc_count DESC "; - + "ORDER BY doc_count DESC "; + $default->log->info("getSearchResults $sQuery"); $aColumns = array("folder_image_url", "document_name", "doc_count"); $aColumnTypes = array(4,3,1); $aColumnHeaders = array("Folder","Document", "Matches"); @@ -90,10 +112,10 @@ function getSearchResults($sMetaTagIDs, $sSQLSearchString, $iStartIndex) { function getSearchValidationJavaScript() { $sToRender = "\n\n\n\n"; return $sToRender; diff --git a/presentation/lookAndFeel/knowledgeTree/search/advancedSearchUtil.inc b/presentation/lookAndFeel/knowledgeTree/search/advancedSearchUtil.inc index 3e538e5..9947ed0 100644 --- a/presentation/lookAndFeel/knowledgeTree/search/advancedSearchUtil.inc +++ b/presentation/lookAndFeel/knowledgeTree/search/advancedSearchUtil.inc @@ -36,34 +36,6 @@ function getChosenMetaDataTags() { return $aTagIDs[0]; } -/** -* Generate a string consisting of all documents that match the search criteria -* and that the user is allowed to see -*/ -function getApprovedDocumentString($sMetaTagIDs, $sSQLSearchString, $sStatus = "Live") { - global $default; - $aApprovedDocumentIDs = array(); - $sQuery = "SELECT DISTINCT D.id " . - "FROM documents AS D INNER JOIN document_fields_link AS DFL ON DFL.document_id = D.id " . - "INNER JOIN document_fields AS DF ON DF.id = DFL.document_field_id " . - "INNER JOIN search_document_user_link AS SDUL ON SDUL.document_id = D.ID " . - "INNER JOIN status_lookup AS SL on D.status_id=SL.id " . - "WHERE DF.ID IN ($sMetaTagIDs) " . - "AND (" . $sSQLSearchString . ") " . - "AND SL.name='$sStatus' " . - "AND SDUL.user_id = " . $_SESSION["userID"]; - $sql = $default->db; - $sql->query($sQuery); - while ($sql->next_record()) { - $aApprovedDocuments[count($aApprovedDocuments)] = $sql->f("id"); - } - if (count($aApprovedDocuments) > 1) { - return implode(",",$aApprovedDocuments); - } - return $aApprovedDocuments[0]; - -} - /* * Generate a string that can be used in a SQL query * from the list of documents the user is allowed to see