Warning : Deprecated au sujet de each() function

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

  1. Ouvrez le fichier incriminé et se trouvant selon ce chemin : Racine/components/com_breezingforms/breezingforms.php.
  2. Rendez-vous à la ligne renseignée dans le message, et pour le cas présent à la ligne 336.
  3. Trouvez le code suivant :
    while (list($prop, $val) = each($_REQUEST))
    			if (!is_array($val) && substr($prop,0,9)=='ff_param_')
    				$ff_request[$prop] = $val;
  4. 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
  5. Enregistrez votre fichier et actualisez votre page. Le message devrait avoir disparu.

Cet article vous a plu ?
N'hésitez pas à laisser une évaluation en haut de page afin de me faire part de votre impression !

Les commentaires sont réservés aux membres enregistrés. Si vous êtes membre, veuillez vous connecter sinon, n'hésitez pas à vous enregistrer !