FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Recherche rapide

Vous n'êtes pas identifié(e).

Version 1.4.13 : [.tar.gz][.zip] (maj 20/10/2014)
Pack langue française pour 1.4.x : [.zip] (maj 06/01/2012)

Branche 1.5.x : fluxbb.org
Pack langue française pour 1.5.x : [.zip] (maj 14/01/2016)

Ancienne Version 1.2.24 fr : [.zip] (maj 26/08/2011)

Vous avez un problème ?
Avant de poser votre question sur les forums d'entraide nous vous invitons à consulter :

#1 27-07-2019 16:00:18

sakenplastic
Nouveau Membre
Inscription : 27-07-2019
Messages : 3

[Résolu] Message d'erreur sur les discussion

Bonjour j'ai ceux message qui s'affiche comme erreur sur les discussions et seulement sur les discussions, je commence dans le PHP et je ne trouves pas la solution..
Quelqu'un aurait-ils une idée ?

Deprecated: Function create_function() is deprecated in /var/www;monsite/public_html/include/parser.php on line 840


Merci d'avance !

Hors ligne

#2 27-07-2019 17:52:32

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 566
Site Web

Re : [Résolu] Message d'erreur sur les discussion

Ce n'est pas une erreur, mais un avertissement.
Votre hébergeur a changé de version PHP, il faut passer à FluxBB 1.5.11.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#3 02-08-2019 09:49:19

LudoR
Nouveau Membre
Inscription : 31-07-2019
Messages : 3

Re : [Résolu] Message d'erreur sur les discussion

Otomatic a écrit :

Ce n'est pas une erreur, mais un avertissement.
Votre hébergeur a changé de version PHP, il faut passer à FluxBB 1.5.11.

Bonjour,

Je rencontre le même problème, pourtant j'ai bien la dernière version d'installé.

Deprecated: Function create_function() is deprecated in /homepages/38/d719782760/htdocs/forum/include/parser.php on line 764

Deprecated: Function create_function() is deprecated in /homepages/38/d719782760/htdocs/forum/include/parser.php on line 840


Que puis-je faire svp ?

Dernière modification par LudoR (02-08-2019 09:50:00)

Hors ligne

#4 02-08-2019 14:35:14

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 566
Site Web

Re : [Résolu] Message d'erreur sur les discussion

Bonjour,

Ce n'est — pour le moment — qu'un avertissement et ça n'empêche pas le fonctionnement du forum.
Une solution d'attente est de faire précéder les appels create_function( par une arobe @ : @create_function(, de ce fait les avertissements ne sont pas affichés et comme pour le moment la fonction create_function() n'est considérée que comme obsolète, même avec PHP 7.3.8, elle existe toujours et fonctionne.

On peut aussi effectuer les modifications idoines dans le fichier include/parser.php pour toutes les lignes qui contiennent create_function en remplaçant par une fonction anonyme.
Par exemple :
Fichier parser.php
- Ligne 98
Remplacer

$temp = preg_replace_callback($re_list, create_function('$matches', 'return preparse_list_tag($matches[2], $matches[1]);'), $text);

par

$temp = preg_replace_callback($re_list, function($matches) { return preparse_list_tag($matches[2], $matches[1]); }, $text);

- Ligne 643
Remplacer

$content = preg_replace_callback($re_list, create_function('$matches', 'return preparse_list_tag($matches[2], $matches[1]);'), $content);

par

$content = preg_replace_callback($re_list, function($matches) { return handle_list_tag($matches[2], $matches[1]); }, $content);

- Ligne 737
Remplacer

$content = preg_replace_callback($re_list, create_function('$matches', 'return handle_list_tag($matches[2], $matches[1]);'), $content);

par

$content = preg_replace_callback($re_list, function($matches) { return handle_list_tag($matches[2], $matches[1]); }, $content);

- Ligne 764
Remplacer

$text = preg_replace_callback('%\[quote=(&quot;|&\#039;|"|\'|)([^\r\n]*?)\\1\]%s', create_function('$matches', 'global $lang_common; return "</p><div class=\"quotebox\"><cite>".str_replace(array(\'[\', \'\\"\'), array(\'&#91;\', \'"\'), $matches[2])." ".$lang_common[\'wrote\']."</cite><blockquote><div><p>";'), $text);

par

$text = preg_replace_callback('%\[quote=(&quot;|&\#039;|"|\'|)([^\r\n]*?)\\1\]%s', function($matches) use ($lang_common) { return '</p><div class="quotebox"><cite>'.str_replace(array('[', '\\"'), array('&#91;', '"'), $matches[2])." {$lang_common['wrote']}</cite><blockquote><div><p>"; }, $text);

Vous avez vu le principe, on remplace create_function() par function() qui est une fonction anonyme.

Attention : Le remplacement de la ligne 840 est beaucoup plus complexe qu'une simple ligne à remplacer, il faut aussi modifier les éléments du tableau $replace_callback[].
Ligne 770
Remplacer

$replace_callback[] = 'handle_list_tag($matches[2], $matches[1])';

par

$replace_callback[] = function($matches) { return handle_list_tag($matches[2], $matches[1]); };

Lignes 789 à 805
Remplacer

			$replace_callback[] = 'handle_img_tag($matches[1].$matches[3], true)';
			$replace_callback[] = 'handle_img_tag($matches[2].$matches[4], true, $matches[1])';
		}
		else
		{
			$replace_callback[] = 'handle_img_tag($matches[1].$matches[3], false)';
			$replace_callback[] = 'handle_img_tag($matches[2].$matches[4], false, $matches[1])';

par

			$replace_callback[] = function($matches) { return handle_img_tag($matches[1].$matches[3], true); };
			$replace_callback[] = function($matches) { return handle_img_tag($matches[2].$matches[4], true, $matches[1]); };
		}
		else
		{
			$replace_callback[] = function($matches) { return handle_img_tag($matches[1].$matches[3], false); };
			$replace_callback[] = function($matches) { return handle_img_tag($matches[2].$matches[4], false, $matches[1]); };

Lignes 822 à 833
Remplacer

	$replace_callback[] = 'handle_url_tag($matches[1])';
	$replace_callback[] = 'handle_url_tag($matches[1], $matches[2])';
	$replace[] = '<a href="mailto:$1">$1</a>';
	$replace[] = '<a href="mailto:$1">$2</a>';
	$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewtopic.php?id=\'.$matches[1])';
	$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewtopic.php?id=\'.$matches[1], $matches[2])';
	$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewtopic.php?pid=\'.$matches[1].\'#p\'.$matches[1])';
	$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewtopic.php?pid=\'.$matches[1].\'#p\'.$matches[1], $matches[2])';
	$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewforum.php?id=\'.$matches[1])';
	$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/viewforum.php?id=\'.$matches[1], $matches[2])';
	$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/profile.php?id=\'.$matches[1])';
	$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/profile.php?id=\'.$matches[1], $matches[2])';

par

	$replace_callback[] = function($matches) { return handle_url_tag($matches[1]); };
	$replace_callback[] = function($matches) { return handle_url_tag($matches[1], $matches[2]); };
	$replace[] = '<a href="mailto:$1">$1</a>';
	$replace[] = '<a href="mailto:$1">$2</a>';
	$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewtopic.php?id='.$matches[1]); };
	$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewtopic.php?id='.$matches[1], $matches[2]); };
	$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewtopic.php?pid='.$matches[1].'#p'.$matches[1]); };
	$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewtopic.php?pid='.$matches[1].'#p'.$matches[1], $matches[2]); };
	$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewforum.php?id='.$matches[1]); };
	$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/viewforum.php?id='.$matches[1], $matches[2]); };
	$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/profile.php?id='.$matches[1]); };
	$replace_callback[] = function($matches) { return handle_url_tag(get_base_url(true).'/profile.php?id='.$matches[1], $matches[2]); };

Ligne 840
Remplacer

$text = preg_replace_callback($pattern_callback[$i], @create_function('$matches', 'return '.$replace_callback[$i].';'), $text);

par

$text = preg_replace_callback($pattern_callback[$i], $replace_callback[$i], $text);

Je vous conseille fortement d'effectuer une sauvegarde du fichier parser.php AVANT d'effectuer les modifications


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#5 04-08-2019 16:06:29

sakenplastic
Nouveau Membre
Inscription : 27-07-2019
Messages : 3

Re : [Résolu] Message d'erreur sur les discussion

D'accord, merci pour toutes ces précisions je vais essayer ça !

Hors ligne

#6 04-08-2019 16:30:41

sakenplastic
Nouveau Membre
Inscription : 27-07-2019
Messages : 3

Re : [Résolu] Message d'erreur sur les discussion

Otomatic a écrit :

Ce n'est pas une erreur, mais un avertissement.
Votre hébergeur a changé de version PHP, il faut passer à FluxBB 1.5.11.

D'ailleurs le message s'affiche alors que je suis bien en 1.5.11, je viens de vérifier happy

Hors ligne

Pied de page des forums