comparer les numéros de versions
Jean-Christophe Villeneuve <[email protected]> Sat, 17 Apr 2021 11:42:57 +0200
| Newsgroups | gmane.comp.web.spip.user |
|---|---|
| Message-ID | <[email protected]> |
Bonjour
Dans mon plugin escal, je voudrais pouvoir afficher si on a la dernière
version ou s'il y a une version disponible plus récente.
Sachant que pour une version 4.4.11
#PLUGIN{escal, version}
affiche 4.4.11
#VERSION
affiche 004.004.011
[(#VERSION|replace{0})]
affiche 4.4.11
[(#VAL{/\.0*/}|preg_replace{'.',#VERSION}|ltrim{0})]
affiche 4.4.11
Avec beaucoup d'aide je suis arrivé à ça
<BOUCLE_version(spip_paquets){prefixe=ESCAL}{!par version}{0,1}>
[(#VERSION|replace{0}|>{#PLUGIN{escal, version}}|oui)
<h5><:escal:version_maj:>
[(#VAL{/\.0*/}|preg_replace{'.',#VERSION}|ltrim{0})]</h5>
]
[(#VERSION|replace{0}|>{#PLUGIN{escal, version}}|non)
<h5><:escal:version_ok:></h5>
]
</BOUCLE_version>
Mais avec ce code la version 4.4.8 est considérée comme supérieure à la
4.4.11
Donc quelques questions :
* comment faire pour que la 4.4.11 soit bien vue comme supérieure à la
4.4.8 ?
* quelle différence entre [(#VERSION|replace{0})] et
[(#VAL{/\.0*/}|preg_replace{'.',#VERSION}|ltrim{0})] ?
* ne serait-ce pas plus simple de transformer #PLUGIN{escal, version}
de 4.4.11 et 004.004.011 pour la comparaison ensuite (mais avec
quelle regex ?) ?
Merci pour l'aide
JC