Vous avez installé BreezingForms Lite et vous obtenez, à l'affichage d'un formulaire en frontend, le message suivant :
Deprecated: The each() function is deprecated … on line 336
Niveau :
Débutant
Version BF minimale requise :
BreezingForms Lite
Situation
Vous avez installé BreezingForms Lite et vous obtenez, à l'affichage d'un formulaire en frontend, le message suivant :
Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /racine/…/…/components/com_breezingforms/breezingforms.php on line 336
Ce message apparaît suite à la fonction each() dépréciée en php 7.2+ et le fait que le Rapport d'erreur de votre configuration soit paramétré sur Maximum ou Developpement. Passer en Défaut ou Simple masque ce message, cependant, il est préférable de corriger cet avertissement par une intervention sur le fichier breezingforms.php de votre installation.
Résolution
Téléchargez et installez la dernière version du composant BreezingForms depuis le site de Crosstec en version Lite ou Pro selon que vous ayez une licence ou non.
Si vous utilisez toujours une ancienne version de BreezingForms, ce que je vous déconseille fort
- Ouvrez le fichier incriminé et se trouvant selon ce chemin : Racine/components/com_breezingforms/breezingforms.php.
- Rendez-vous à la ligne renseignée dans le message, et pour le cas présent à la ligne 336.
- Trouvez le code suivant :
while (list($prop, $val) = each($_REQUEST)) if (!is_array($val) && substr($prop,0,9)=='ff_param_') $ff_request[$prop] = $val;
- Et remplacez-le par le suivant :
foreach($_REQUEST as $prop => $val) { if (!is_array($val) && substr($prop,0,9)=='ff_param_') $ff_request[$prop] = $val; } //foreach
- Enregistrez votre fichier et actualisez votre page. Le message devrait avoir disparu.