In search.php, the code tests mode to see if it's 'search':
if ($HTTP_GET_VARS['mode'] == 'search' ) {
$display .= $searchObj->doSearch();
} else {
$display .= $searchObj->showForm();
}
But if the search was submitted via searchform.html (my own version of
this was cannibalized from the Yahoo theme), the mode variable will be
'Search' rather than 'search'.
One possible fix is to do the test case-insensitive. However that
wouldn't catch situations where the text had been translated. A more
dependable fix is to look for the 'query' variable instead:
if (!empty($HTTP_GET_VARS['query']) ) {
$display .= $searchObj->doSearch();
} else {
$display .= $searchObj->showForm();
}
The new search.php would be:
require_once('lib-common.php');
require_once($_CONF['path_system'] . 'classes/search.class.php');
$display = COM_siteHeader();
$searchObj = new Search();
if ( !empty($HTTP_GET_VARS['query']) ) {
$display .= $searchObj->doSearch();
} else {
$display .= $searchObj->showForm();
}
$display .= COM_siteFooter();
echo $display;