[geeklog-users] bug fix in search.php
    Lucas Gonze 
    lgonze at panix.com
       
    Sat Dec  6 15:48:48 EST 2003
    
    
  
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;
    
    
More information about the geeklog-users
mailing list