Project

General

Profile

Evolution #3819

Pouvoir demander un module PHP dans paquet.xml

Added by Maïeul Rouquette almost 3 years ago. Updated about 2 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
08/18/2016
Due date:
% Done:

0%

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 View (825 Bytes) marcimat 🌈, 02/07/2017 06:40 PM

History

#1 Updated by marcimat 🌈 over 2 years ago

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 Updated by Maïeul Rouquette over 2 years ago

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 Updated by marcimat 🌈 over 2 years ago

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 Updated by Maïeul Rouquette over 2 years ago

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 Updated by marcimat 🌈 over 2 years ago

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 Updated by Maïeul Rouquette over 2 years ago

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

#7 Updated by marcimat 🌈 over 2 years ago

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 Updated by marcimat 🌈 over 2 years ago

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 Updated by marcimat 🌈 over 2 years ago

Première partie avec r23396

#10 Updated by marcimat 🌈 over 2 years ago

  • Status changed from Nouveau to Fermé
  • Resolution set to fixed

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

Je pense que c'est bon. À tester.

#11 Updated by b b about 2 years ago

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 Updated by marcimat 🌈 about 2 years ago

Ah… Zut ! C'est nul effectivement !

#13 Updated by marcimat 🌈 about 2 years ago

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

Also available in: Atom PDF