User tests: Successful: Unsuccessful:
This error is caused by the com_finder's master controller's display method, which does not respect the type of the URL parameter 't' while it computes the 'cachable' variable. Basically it expects to find the URL parametersq // the keyword
,f // a pre-defined filter
,t // one or more selected taxonomies
.
The latter most likely contains more than one value and is therefore be passed in as an array like index.php?option=com_finder&view=search&q=Diner&f=&t[]=italian&t[]=pizza&t[]=distance&t[]=25
Then in the controller's display method the query string is processed the following way:
if ($input->get('q') || $input->get('f') || $input->get('t')) { ... }
A check to JInput::get() reveals this method to sanitize the passed input by calling
$this->filter->clean()
falling back to the default filter cmd
if no specific filter was passed in. Since the URL parameter t
is an array the condition in com_finder's master controller must be more specific taking data types into account. The following proper condition fixes the issue:
if ($input->get('q', null, 'string') || $input->get('f', null, 'int') || $input->get('t', null, 'array'))
{ ... }
Associated tracker item: #31538
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2014-08-08 14:33:12 |
Closed as per the comment on the tracker as this appears to hve been merged elsewhere