Dotclear

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

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2021-10-15 07:29:54

flotlux
Membre
Inscription : 2021-08-28
Site Web

[customiz] PHP 8 -> page blanche sur le site Dotclear

Bonjour ! J’ai récemment migré mes sites vers PHP 8. Tout fonctionne correctement pour Dotclear, sauf le plugin customiz, qui génère une page blanche pour le site − il faut donc le désactiver.

Je ne suis pas très versé en PHP et en différences entre 7.4 et 8 qui pourraient provoquer ce problème, et malheureusement l'auteur n'a pas répondu à ma question posée il y a deux semaines (un courriel était disponible en cherchant sur le forum). Peut-être est-il passé à autre chose. En tout cas, si quelqu'un a eu le même problème et l'a résolu, je suis preneur : c'est bien plus pratique d'utiliser customiz que de modifier les fichiers du thème directement, notamment pour l'intégration Matomo.

Hors ligne

#2 2021-10-15 10:09:14

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : [customiz] PHP 8 -> page blanche sur le site Dotclear

Je n'ai pas (encore) de solution.

Toutefois j'ai installé le plugin, et constaté l'erreur (sous PHP 8.0.11) : la fonction create_function présente dans le fichier _prepend.php du plugin est obsolète depuis php 7.2 et a été supprimée dans php 8.

Pour voir cette erreur, et pas une page blanche, il faut activer l'affichage des erreurs php. Par exemple en ajoutant, dans dotclear/inc/config.php

//Display errors
ini_set('display_errors',true);
error_reporting(E_ALL | E_STRICT);

Hors ligne

#3 2021-10-15 15:45:53

flotlux
Membre
Inscription : 2021-08-28
Site Web

Re : [customiz] PHP 8 -> page blanche sur le site Dotclear

Merci déjà en tout cas pour la config permettant d'identifier l'erreur !

Hors ligne

#4 2021-10-16 06:37:11

nikrou
Membre
Inscription : 2007-10-02
Site Web

Re : [customiz] PHP 8 -> page blanche sur le site Dotclear

L'utilisation de addcslashes me parait bien étrange à cet endroit. Quoi qu'il en soit la modification compatible à partir de php 5.3 :

--- plugins/customiz/_prepend.php~      2021-10-16 08:25:17.700582695 +0200
+++ plugins/customiz/_prepend.php       2021-10-16 08:32:26.112632919 +0200
@@ -19,8 +19,9 @@
 while ($custom_behaviors->fetch())
 {
        $core->addBehavior(
-               $custom_behaviors->setting_id,
-                       create_function('','echo "'.addcslashes($custom_behaviors->setting_value,'"').'";')
+               $custom_behaviors->setting_id, function() use ($custom_behaviors) {
+                       echo addcslashes($custom_behaviors->setting_value,'"');
+               }
        );
 }
 ?>

ou sans le diff :

while ($custom_behaviors->fetch())
{
	$core->addBehavior(
		$custom_behaviors->setting_id, function() use ($custom_behaviors) {
			echo addcslashes($custom_behaviors->setting_value,'"');
                }
	);
}

Je préfère être atteint de parkinson plutôt qu'alzheimer : je prefère renverser un peu de ma bière plutôt qu'oublier de la boire !

Présentez vos photos simplement avec Phyxo !

Hors ligne

#5 2021-10-16 08:31:16

flotlux
Membre
Inscription : 2021-08-28
Site Web

Re : [customiz] PHP 8 -> page blanche sur le site Dotclear

Un grand merci ! Le plugin fonctionne a priori : plus d’erreur et les ajouts sont visibles dans le code source des pages. Il semble y avoir un problème avec les scripts Matomo, qui ne comptent plus les visites... mais c'est peut-être autre chose, je vais chercher un peu.

Hors ligne

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

Pied de page des forums

Sites map