Je veux remplacer la classe JFilterInput
sur Joomla. Le fichier est sur le chemin ci-dessous:
[Joomla_Path] /libraries/joomla/filter/input.php
Parce que ce fichier a été développé uniquement pour les caractères non-Unicode.
Avis: Conversion de tableau en chaîne
en ligne 233
dans de nombreux composants tels que com_Finder
qui utilise cette classe pour les caractères Unicode. Cette ligne est:
$result = (string) preg_replace('/[^A-Z0-9_\.-]/i', '', $source);
pour cette raison, je voulais remplacer cette ligne et les mêmes que d’autres. Premièrement, j'ai développé un plugin système Joomla pour écraser ce fichier avec la méthode onAfterRoute()
mais en suivant this post dans stackexchange, j'ai changé la méthode onAfterRoute()
en onAfterInitialise()
méthode. Mais encore une fois, l'erreur fatale est la suivante:
Erreur fatale: impossible de redéclarer la classe JFilterInput
Maintenant, je suis impatient de recevoir l'aide de tout le monde pour résoudre ce problème. en plus, j'utilise la dernière version de Joomla
Il est étrange qu’il retourne "Notice: Conversion de tableau en chaîne". Cela signifie généralement que vous essayez d'obtenir une variable de tableau à l'aide de fonctions de chaîne. Vérifiez quelles données appuyez-vous directement dans $_REQUEST
.
Retour à la question. Vous pouvez toujours utiliser RAW
type de filtre si le filtrage est trop strict.
Si vous devez toujours remplacer cette classe, veuillez vérifier cet exemple de plug-in: https://Gist.github.com/dongilbert/3237387 .