Update site

Plus d'informations
il y a 1 an 10 mois - il y a 1 an 10 mois #1142 par Olympe
Update site a été créé par Olympe
Bonjour LM

Voici mon problème:
J'ai un site de développement Joomla 4 qui tourne sous PHP 8.0. J'ai mis le rapport d'erreur au maximum.

Quand je fais une vérification des extensions depuis le panneau d'administration, j'ai 2 fois l'erreur suivante:
PHP Warning: Attempt to read property "id" on null in E:\Olympej4\libraries\src\Updater\Adapter\ExtensionAdapter.php on line 333

Si je désactive la mise à jour pour l'extension UP et le bouton UP, je n'ai plus d'erreur.
Pourtant, les adresses des serveurs de mise à jour semblent correctes.
Qu'en penses-tu?
Merci

Edit: en fait, il manque l'information <client>0</client> dans le fichier xml.
Dernière édition: il y a 1 an 10 mois par Olympe.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 10 mois #1143 par lomart
Réponse de lomart sur le sujet Update site
Bonjour,

Je viens d'essayer de reproduire le warning sans succès.
L'URL d'update est up.lomart.fr/files/plg_content_up_update.xml
Ce fichier contient bien l'info <client>
Le manifest xml n'a normalement pas besoin de cette info pour un plugin.
Ils sont bien indiqués comme emplacement=site dans la liste des extensions
Il y a un mystère !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 10 mois - il y a 1 an 10 mois #1144 par Olympe
Réponse de Olympe sur le sujet Update site
Bonjour Loïc

Autant pour moi: il y a bien la balise client

Selon pmleconte, c'est même justement cela qui pose problème:
la balise client ne doit être indiquée que pour les modules.

Dans ce cas, elle doit prendre la valeur site ou administrator.

C'est ici....
docs.joomla.org/Manifest_files/fr

Qu'en penses-tu? Merci
Dernière édition: il y a 1 an 10 mois par Olympe.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 10 mois #1145 par lomart
Réponse de lomart sur le sujet Update site
Bonjour,

Oui, je connais cette règle et je la respecte. Il n'y a pas de balise client dans le manifest de UP et UPBTN

Dans ta version précédente de ton message, tu indiquais que Chronoforms 7 et Helix Ultimate Framework étaient aussi concernés.

Je ne peux pas déclencher ce problème en étant sous php 8.0.10 avec tous les debug au maxi. Difficile de répondre

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 10 mois - il y a 1 an 10 mois #1146 par Olympe
Réponse de Olympe sur le sujet Update site
Oui, je comprends
Côté Chronoforms, le développeur a disparu. Côté Helix Ultimate, je n'ai plus de support.

Considérant que la valeur client doit prendre les valeurs "site" ou "administrator", j'ai fait le test suivant:
Á la ligne précédant la génération du warning PHP, j'ai ajouté:
if($this->latest->client=="0") $this->latest->client="site";
Dès lors, plus d'erreur...
Si je mets $this->latest->client=->"sites (ou autre chose)", je retrouve l'erreur. De là à penser qu'en J4 il faut explicitement "site" ou "administrator" en lieu et place de 0 ou 1 dans le fichier update.xml, il n'y a qu'un pas...

Je rajoute que j'ai l'erreur avec UP sur un site vierge installé en local sous Windows uniquement pour ce test.

Merci pour m'avoir répondu

Edit: j'ai poussé un peu plus loin mon analyse...

La fonction générant le PHP est la suivante: ApplicationHelper::getClientInfo($this->latest->client, true)->id:
Si je remplace "0" par "site", elle retourne int(0), ce qui correspond à la valeur du client_id pour le côté site..
Si je laisse "0" qui est une chaîne de caractère, elle retourne le PHP warning.
Pareil en remplaçant "1" par "administrator" pour l'application Chronoforms.
Tu connais les humeurs de PHP8 pour les types de variable...

A+
Dernière édition: il y a 1 an 10 mois par Olympe.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 10 mois - il y a 1 an 10 mois #1147 par Olympe
Réponse de Olympe sur le sujet Update site

Re-Edit:
Je franchis le pas!
docs.joomla.org/Deploying_an_Update_Server

Dans la section réservée à la balise client, on peut lire:
Warning: As of Joomla! 4.0 only a string is allowed. Using numbers as client has been deprecated in 2012 and got removed in Joomla! 4.0 (Replace 0 with "site" and 1 with "administrator")

A+
Dernière édition: il y a 1 an 10 mois par Olympe.

Connexion ou Créer un compte pour participer à la conversation.

Propulsé par Kunena