View Single Post
Old 03-01-2004, 03:26 AM   #1
laurentxav
Green Mole
 
Join Date: Jan 2004
Location: Belgium
Posts: 11
Bug in the "refine" feature

Hello,

I've found a little bug in the "refine" feature in the last version (1.8.0).

When you want to search a specific path of your site, you've to add some hidden fields in the search form:
Code:
<input type="hidden" name="site" value="YourSiteIDHere">
<input type="hidden" name="path" value="YourPathHere">
<input type="hidden" name="refine" value="1">
Then, in the result page, PhpDig show the results found in "YourPathHere" folder.
But if you do a new search now, PhpDig'll ignore the "YourPathHere" because de refine value is lost.

To correct this, you've to modify the following files :
1) /libs/search_function.php
modify line ~577
PHP Code:
$t_fstrings phpdigMakeForm($query_string,$option,$limite,SEARCH_PAGE,$site,$path,'template',$template); 
replace by :
PHP Code:
$t_fstrings phpdigMakeForm($query_string,$option,$limite,SEARCH_PAGE,$site,$path,'template',$template,$refine); 
modify line ~605
PHP Code:
phpdigMakeForm($query_string,$option,$limite,SEARCH_PAGE,$site,$path); 
replace by :
PHP Code:
phpdigMakeForm($query_string,$option,$limite,SEARCH_PAGE,$site,$path,$refine); 
modify line ~632
PHP Code:
phpdigMakeForm($query_string,$option,$limite,SEARCH_PAGE,$site,$path); 
replace by :
PHP Code:
phpdigMakeForm($query_string,$option,$limite,SEARCH_PAGE,$site,$path,$refine); 
2) /libs/function_phpdig_form.php
modifiy the first line code (~line 20)
PHP Code:
function phpdigMakeForm($query_string="",$option="start",$limite=10,$result_page="index.php",
$site="",$path="",$mode='classic',$template=""
replace by :
PHP Code:
function phpdigMakeForm($query_string="",$option="start",$limite=10,$result_page="index.php",
$site="",$path="",$mode='classic',$template="",$refine=0
in the block line ~39
PHP Code:
$result['form_head'] = "<form action='$result_page' method='get'>
<input type='hidden' name='site' value='$site'/>
<input type='hidden' name='path' value='$path'/>
<input type='hidden' name='result_page' value='$result_page'/>
"

add a line :
PHP Code:
$result['form_head'] = "<form action='$result_page' method='get'>
<input type='hidden' name='site' value='$site'/>
<input type='hidden' name='path' value='$path'/>
<input type='hidden' name='result_page' value='$result_page'/>
<input type='hidden' name='refine' value='$refine'/>
"

Now, PhpDig consider de refine feature and show result in the specified path.
It works for me but if I'm wrong, Charter, please correct me !

Laurent
laurentxav is offline   Reply With Quote