Evolution #3819

Pouvoir demander un module PHP dans paquet.xml

Ajouté par Maïeul Rouquette il y a plus d'un an. Mis à jour il y a 5 mois.

Statut:FerméDébut:18/08/2016
Priorité:NormalEchéance:
Assigné à:-% réalisé:

0%

Catégorie:-
Version cible:-
Resolution:fixed

Description

Actuellement, paquet.xml permet de requérir un plugin SPIP.

Par contre il n'est pas possible de dire qu'il y a besoin d'un module php particulier (par exemple curl pour le plugin twitter).

ne pourrait-on pas ajouter une balise qui conditionnerait l'activation d'un plugin à l'existence d'un module (à l'aide de la fonction get_loaded_extensions) ?

necessite_php_lib.patch Magnifier (825 octets) marcimat 🌈, 07/02/2017 18:40

Historique

#1 Mis à jour par marcimat 🌈 il y a 10 mois

Oué, on vient d'avoir une surprise aussi en changeant de serveur, il manquait Soap pour un plugin.
Peut être qu'une écriture telle que <necessite nom="php:soap"> pourrait le faire ?

#2 Mis à jour par Maïeul Rouquette il y a 10 mois

ca me paraît bien comme syntaxe. Faudra juste pas oublier de packporter dans toutes les branches maintenues, histoire qu'on puisse quand même installer le plugin partout.

#3 Mis à jour par marcimat 🌈 il y a 10 mois

Hum ça ça n'ennuie plus de backporter par contre.

Par ailleurs ce n'est pas compliqué à intégrer. Ci-joint un patch rapide.

J'ai testé en mettant dans z-core :
- <necessite nom="php:curl" /> OK
- <necessite nom="php:CURL" /> OK
- <necessite nom="php:curly" /> Pas OK (normal)

Dans ce dernier cas, l'erreur affichée est :
  • Impossible d’activer le plugin ../plugins/zone/z-core
    • Nécessite le plugin PHP:CURLY
Par contre, si on met juste 'php' il indique bien :
  • Le plugin Z-core dépend de PHP [8.0;]

Donc il faudrait ajouter une chaine de langue pour les extensions PHP aussi je suppose.

#4 Mis à jour par Maïeul Rouquette il y a 10 mois

Il faudrait a minima que 3.0 et 3.1 l'ait (ou alors il faut que les plugins pensent à dire "cette partie là des nécessites est conditionné à une version de SPIP")

#5 Mis à jour par marcimat 🌈 il y a 10 mois

Oui mais…
1) c'est pas une correction de bug à proprement parler, et
2) ça fait ajouter une chaine de langue (or on en n'ajoute qu'en 3.2)

#6 Mis à jour par Maïeul Rouquette il y a 10 mois

ok, bah on n'utilisera pour une fois la balise <spip>

#7 Mis à jour par marcimat 🌈 il y a 10 mois

hum. Si j'écris <necessite nom="php:curly" compatibilite="[8.0;]" /> j'obtiens :
  • Le plugin Z-core dépend de PHP:CURLY [8.0;]

Ce qui est déjà lisible sans chaîne de langue en plus. C'est juste si tu mets pas de version que c'est étrange du coup.
Pour une extension php ça sera le cas le plus fréquent d'ailleurs.

#8 Mis à jour par marcimat 🌈 il y a 10 mois

En fait il y a 2 textes d'erreurs différents.
- 1 dans SPIP si le plugin est déjà actif et que ses dépendances ne deviennent plus satisfaites («Nécessite le plugin PHP:CURLY en version ≥ 8.0.»)
- 1 dans SVP lorsqu'on tente d'activer le plugin («Le plugin Z-core dépend de PHP:CURLY [8.0;]»)

#9 Mis à jour par marcimat 🌈 il y a 10 mois

Première partie avec r23396

#10 Mis à jour par marcimat 🌈 il y a 10 mois

  • Statut changé de Nouveau à Fermé
  • Resolution mis à fixed

Seconde partie avec https://zone.spip.org/trac/spip-zone/changeset/102745

Je pense que c'est bon. À tester.

#11 Mis à jour par b b il y a 5 mois

Heu, je viens de réaliser que cette modification permet de connaître pas mal de choses sur la machine qui héberge le site, exemple :

https://www.spip.net/local/config.txt

Et on retrouve une partie de ces infos dans le header des pages forcément.

Si l'admin d'une machine la configure pour qu'elle utilise des header silencieux en mode prod, cela ne servira presque à rien puisque SPIP va tout dévoiler sur la config PHP. Peut-être faudrait-il exclure ces infos d'une manière ou d'une autre, non ?

#12 Mis à jour par marcimat 🌈 il y a 5 mois

Ah… Zut ! C'est nul effectivement !

#13 Mis à jour par marcimat 🌈 il y a 5 mois

Bon, r23604 tord le cou à ce problème. Merci du signalement b_b :)

Formats disponibles : Atom PDF

Ajouter une image à partir du presse-papier (Taille maximale: 1,25 Mo)