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

  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.

Annexe

Si vous ne souhaitez pas intervenir sur votre fichier par crainte de faire une erreur, je vous propose de télécharger cette copie du composant BreezingForms Lite, la version Pro ayant été corrigée par Crosstec, que j'ai corrigée pour vous et l'installer par dessus votre installation actuelle.
com_breezingforms.zip
Téléchargé 34 fois

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 !