qui ne pose pas de souci.
Mais j'aurais voulu proposer une option dans la configuration du plugin pour permettre de choisir la valeur.
J'ai donc fait ceci
Si on désactive escal, qu'on vide le cache et qu'on réactive Escal, le problème ne se pose pas si on est connecté mais si on est déconnecté ... page blanche.
N'ayant ps eu le problème sur mon site, voici l'erreur communiquée par un utilisateur :
Erreur dans les plugins : /home/apmepileex/www/plugins/auto/escal/v4.3.74/escal_options.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/escal_fonctions.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/inc/escal_autoriser.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/inc/escal_pipelines.php
Donc que puis-je faire pour que ça fonctionne sans souci ?
qui ne pose pas de souci.
Mais j'aurais voulu proposer une option dans la configuration du plugin pour permettre de choisir la valeur.
J'ai donc fait ceci
Il est possible que ça vienne de l'ordre de chargement des inclusions
et que lire_config ne soit pas défini à cette étape.
Peux tu essayer en ajoutant include_spip('inc/config');
avant tes defines ?
JL
Si on désactive escal, qu'on vide le cache et qu'on réactive Escal, le problème ne se pose pas si on est connecté mais si on est déconnecté ... page blanche.
N'ayant ps eu le problème sur mon site, voici l'erreur communiquée par un utilisateur :
Erreur dans les plugins : /home/apmepileex/www/plugins/auto/escal/v4.3.74/escal_options.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/escal_fonctions.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/inc/escal_autoriser.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/inc/escal_pipelines.php
Donc que puis-je faire pour que ça fonctionne sans souci ?
Et donc la bonne syntaxe c'est
define('_IMG_MAX_WIDTH', lire_config('escal/config/imgmax',1000) );
ou
define('_IMG_MAX_WIDTH', lire_config('escal/config/imgmax'),1000 );
?
JC
Le 19/05/2020 à 15:28, JLuc a écrit :
Le 19/05/2020 à 15:03, Jean-Christophe Villeneuve a écrit :
Bonjour
Dans mon plugin Escal, j'ai ceci dans escal_options.php
qui ne pose pas de souci.
Mais j'aurais voulu proposer une option dans la configuration du plugin pour permettre de choisir la valeur.
J'ai donc fait ceci
Il est possible que ça vienne de l'ordre de chargement des inclusions
et que lire_config ne soit pas défini à cette étape.
Peux tu essayer en ajoutant include_spip('inc/config');
avant tes defines ?
JL
Si on désactive escal, qu'on vide le cache et qu'on réactive Escal, le problème ne se pose pas si on est connecté mais si on est déconnecté ... page blanche.
N'ayant ps eu le problème sur mon site, voici l'erreur communiquée par un utilisateur :
Erreur dans les plugins : /home/apmepileex/www/plugins/auto/escal/v4.3.74/escal_options.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/escal_fonctions.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/inc/escal_autoriser.php, /home/apmepileex/www/plugins/auto/escal/v4.3.74/inc/escal_pipelines.php
Donc que puis-je faire pour que ça fonctionne sans souci ?
Merci
JC
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
Et pour répondre à ta question : regarde le nombre de paramètre de la fonction define et de la fonction lire_config, et tu pourrais déduire que la bonne syntaxe est
define('_IMG_MAX_WIDTH', lire_config('escal/config/imgmax',1000) );
Et pour répondre à ta question : regarde le nombre de paramètre de la fonction define et de la fonction lire_config, et tu pourrais déduire que la bonne syntaxe est
define('_IMG_MAX_WIDTH', lire_config('escal/config/imgmax',1000) );
_
Oui c'est bien ce que j'avais fait au départ.
C'est Escurel qui m'a mis le doute ...
qui ne pose pas de souci.
Mais j'aurais voulu proposer une option dans la configuration du plugin pour permettre de choisir la valeur.
J'ai donc fait ceci
Alors, il ne faut pas utiliser lire_config qui va tenter de faire une lecture en base de données.
Il faut utiliser les fonctions de meta (je sais plus le nom exact), voir la globale meta.
Et déserialiser la meta choisie.
Et récupérer la valeur voulue.
Il y a des plugins qui font ça, mais je ne sais plus lesquels.
qui ne pose pas de souci.
Mais j'aurais voulu proposer une option dans la configuration du plugin pour permettre de choisir la valeur.
J'ai donc fait ceci
Alors, il ne faut pas utiliser lire_config qui va tenter de faire une lecture en base de données.
Il faut utiliser les fonctions de meta (je sais plus le nom exact), voir la globale meta.
Et déserialiser la meta choisie.
Et récupérer la valeur voulue.
Il y a des plugins qui font ça, mais je ne sais plus lesquels.
qui ne pose pas de souci.
Mais j'aurais voulu proposer une option dans la configuration du plugin pour permettre de choisir la valeur.
J'ai donc fait ceci
Alors, il ne faut pas utiliser lire_config qui va tenter de faire une lecture en base de données.
Il faut utiliser les fonctions de meta (je sais plus le nom exact), voir la globale meta.
Et déserialiser la meta choisie.
Et récupérer la valeur voulue.
Il y a des plugins qui font ça, mais je ne sais plus lesquels.
heu... pourquoi ? lire_config ca existe c'est fait pour ca. les fonctiosn de meta sont de plus bas niveau et à éviter en general
Alors, il ne faut pas utiliser lire_config qui va tenter de faire une lecture en base de données.
Il faut utiliser les fonctions de meta (je sais plus le nom exact), voir la globale meta.
Et déserialiser la meta choisie.
Et récupérer la valeur voulue.
Il y a des plugins qui font ça, mais je ne sais plus lesquels.
heu... pourquoi ? lire_config ca existe c'est fait pour ca. les fonctiosn de meta sont de plus bas niveau et à éviter en general
heu... pourquoi ? lire_config ca existe c'est fait pour ca. les fonctions de meta sont de plus bas niveau et à éviter en general
Sauf erreur de ma part, j'ai cru comprendre en lisant des commits de Cédric qu'il fallait absolument éviter les accès en base dans _options.php
Et il me semble que lire_config fait ce type d'accès.
Et c'est pour ça que
$GLOBALS['meta']['nommeta']) est le moyen de lire une meta sans accès en base.
meta qu'il faut déserialiser si c'est une config
heu... pourquoi ? lire_config ca existe c'est fait pour ca. les fonctions de meta sont de plus bas niveau et à éviter en general
Sauf erreur de ma part, j'ai cru comprendre en lisant des commits de Cédric qu'il fallait absolument éviter les accès en base dans _options.php
Et il me semble que lire_config fait ce type d'accès.
Et c'est pour ça que
$GLOBALS['meta']['nommeta']) est le moyen de lire une meta sans accès en base.
meta qu'il faut déserialiser si c'est une config
heu oui il faut bien éviter les accès en base (et globalement il faut éviter au maximum les _options), mais non lire_config() ne lis pas en base, mais lis précisement le meta, sauf si un autre moyen de stockage de config a été implémenté.