Problème Médiabox de Spip 3.1 a 4.2 et Fatal Error

Bonjour à tous,

Mon problème concerne l’un des mes plus vieux sites (surement mal codé) que j’ai fais sur SPIP à l’époque en version 1.9 si ma mémoire est bonne, j’ai réussi a le faire passé en 3.2 avec la médiabox « désormais » intégré, et cela marchait très bien.

Le problème est que en passant en 4.0 / 4.1 et 4.2 la médiabox ne semble pas marcher, et je ne comprend pas trop d’où cela vient.

Le site où cela ne marche pas en 4.2 : Atelier - La cage de l'ombre forte / 5e époque
Ici ça marche en 3.2 : Atelier - La cage de l'ombre forte / 5e époque

J’ai aussi sur cette page quand je recalcule un fatal Error comme ceci :
**Fatal error**: Uncaught ValueError: substr_count(): Argument #4 ($length) must be contained in argument #1 ($haystack) in /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/phraser_html.php:805 Stack trace: #0 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/phraser_html.php(805): substr_count('\n\n\n<div id="col...', '\n', 170, 736) #1 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/phraser_html.php(1171): public_compte_ligne('\n\n\n<div id="col...', 170, 906) #2 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/phraser_html.php(1234): public_phraser_html_dist('\n\n\n<div id="col...', '_article', Array, Array, 45, 'BOUCLE_PLACEHOL...') #3 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/phraser_html.php(1234): public_phraser_html_dist('\n<!DOCTYPE html...', '_principale', Array, Array, 4, 'BOUCLE_PLACEHOL...') #4 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/compiler.php(1330): public_phraser_html_dist('[(#REM)\n\tUn cac...', '', Array, Array) #5 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/composer.php(83): public_compiler_dist('[(#REM)\n\tUn cac...', 'html_b16b5a8b09...', 'html', 'squelettes/rubr...', '') #6 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/parametrer.php(71): public_composer_dist('squelettes/rubr...', 'html', 'html', 'squelettes/rubr...', '') #7 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/assembler.php(339): public_parametrer_dist('rubrique', Array, '54fece6849617f4...', '') #8 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/assembler.php(130): public_produire_page_dist('rubrique', Array, 1, '54fece6849617f4...', NULL, Array, 1686926303, '') #9 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public.php(116): assembler('rubrique', '') #10 /datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/spip.php(20): include('/datas/yulpa173...') #11 {main} thrown in **/datas/yulpa173325/sites/test.lacagedelombreforte.com/htdocs/ecrire/public/phraser_html.php** on line **805**

ceci concerne cette boucle là qui concerne un inclure :

<BOUCLE_incluse3{ARTICLES){id_rubrique){ajax}{env}>
<INCLURE{fond=inc-articles_Atelier}{id_rubrique}{ajax}{env}> 
</BOUCLE_incluse3> 

J’ai remarqué aussi que systématiquement sur mes sites qui utilisaient google font, ma typo n’est plus prise en charge, mais ça reste assez mineur comme problème.

Merci de votre aide pour cette histoire de Médiabox, si quelqu’un trouve le problème…?

Alors, j’ai réussi a régler le Fatal Error (en réécrivant un « Inclure »)

Par contre la médiabox ne marche toujours pas…

Il faudrait expliquer un peu plus ce qui ne fonctionne pas.
Peut-être est-ce lié à la taille des images.
Voir cette discussion

@J-C Merci de ton aide,
J’avais mis les deux liens dans le message précédent :

Le site où cela ne marche pas en 4.2 : Atelier - La cage de l’ombre forte / 5e époque

Ici ça marche en 3.2 : Atelier - La cage de l’ombre forte / 5e époque

Quand on clique sur les images au centre de la page, sur le lien en 4.2, elles ne s’agrandissent pas, il ne se passe rien.
les images font nécessairement moins de 800px, le site a plus de 10 ans, où est-ce qu’on paramètre ça ? dans le menu de la médiabox je ne suis a 400px.

Voir sur spip.net
_IMAGE_TAILLE_MINI_AUTOLIEN - SPIP

L’inspecteur de firefox signale l’origine des problèmes :

Pour les polices de caractères :

Blocage du chargement du contenu mixte actif (mixed active content) 
« http://fonts.googleapis.com/css?family=Merriweather+Sans:400,700,400italic,700italic

et donne les explications : Mixed content - Web security | MDN

Et pour la mediabox, il signale dans jquery.js en ligne 1477 :

Uncaught Error: Syntax error, unrecognized expression: 
.lity-enabled[data-box-group=groupe(315)]
    jQuery 7
    groupElements https://test.lacagedelombreforte.com/plugins-dist/mediabox/lity/js/lity.mediabox.js?1686133568:253
    lityOpener https://test.lacagedelombreforte.com/plugins-dist/mediabox/lity/js/lity.mediabox.js?1686133568:414
    elementOpener https://test.lacagedelombreforte.com/plugins-dist/mediabox/lity/js/lity.mediabox.js?1686133568:358
    onClickOpener https://test.lacagedelombreforte.com/plugins-dist/mediabox/lity/js/lity.mediabox.js?1686133568:349
    jQuery 2

Je ne peux en dire plus. Faut explorer.

J’ai regardé, et au final, les images font 1264 x 852 pixels, ça ne semble pas venir de ça.

Merci pour ce retour,
Pour la typo, j’ai chargé directement la typo sans passer par Google fonts.

malheureusement, je n’ai pas les compétences pour comprendre le souci dans le fichier jquery…
Ma boucle est correct ? Je n’ai pas en mémoire tout les changements depuis les version 1.9.

<BOUCLE_portfolio(DOCUMENTS){id_article}{extension==jpg|png|gif|pdf}>
<a href="#URL_DOCUMENT"  class="mediabox"   title="#TITRE" rel="groupe(#ID_ARTICLE)">[(#LOGO_DOCUMENT)]</a>
</BOUCLE_portfolio>

J’ai télécharger aussi jquery.ui mais ça ne change rien.

J’avais pas fait attention, mais la médiabox marche dans l’interface privé…

C’est bon j’ai trouvé !

Il fallait rajouter ```
{#URL_DOCUMENT} à ma boucle.

<BOUCLE_portfolio(DOCUMENTS){id_article}{extension==jpg|png|gif|pdf}>
<a href="#URL_DOCUMENT"  class="mediabox"   title="#TITRE" rel="groupe(#ID_ARTICLE)">[(#LOGO_DOCUMENT{#URL_DOCUMENT})]</a>
</BOUCLE_portfolio>