Hi JFilters team,
First of all, thank you for your continued work on JFilters and for maintaining compatibility with the evolving Joomla ecosystem.
I’m currently testing JFilters on a Joomla 6.0.2 installation (PHP 8.2+) and encountered an issue during Smart Search indexing.
Context
-
Joomla: 6.0.2
-
PHP: 8.2+
-
Smart Search (com_finder) indexing via Administrator UI
-
JFilters Finder plugin enabled
Issue
When running Smart Search indexing from the backend (Components → Smart Search → Index) with Joomla debug mode enabled, the process fails with a generic:
"An Error Has Occurred"
Inspecting the AJAX response reveals that the JSON output is being polluted by a deprecated warning:
Deprecated: PDO::quote(): Passing null to parameter #1 ($string) of type string is deprecated
in libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php
The deprecated output breaks the JSON response expected by com_finder, resulting in a 500 error in the GUI.
Important observation
-
With debug disabled, indexing completes successfully.
-
Disabling the JFilters Smart Search (Finder) plugin also resolves the issue.
-
Therefore, it appears that a null value is being passed to
$db->quote()somewhere within the JFilters Finder integration.
This is likely happening when building a query condition where a value may be null (possibly a custom field or filter parameter not set).
The issue is not visible in production when debug is off, but it indicates a compatibility problem that may become more critical in future PHP versions and we are a developer ^^
If you would like, I can help isolate the exact call site by adding a temporary backtrace in the database layer.
Thanks again for your work on JFilters and your contribution to the Joomla ecosystem.
Best regards,
Niko