Documentation du code de SPIP et de ses plugins

SVP

svp_phraser.php

Fichier permettant de phraser les XML des fichiers paquet.xml et plugin.xml ainsi que des fichiers décrivant le contenu d'un dépot de paquets.

Tags
plugin

SVP pour SPIP

license

GPL

Table of Contents

Constants

_SVP_DTD_PAQUET  = 'paquet'
_SVP_DTD_PLUGIN  = 'plugin'
_SVP_MODE_RUNTIME  = \lire_config('svp/mode_runtime', 'oui') == 'oui' ? \true : \false
_SVP_REGEXP_BALISE_ARCHIVE  = '#<archive[^s][^>]*>(.*)</archive>#Uims'
_SVP_REGEXP_BALISE_ARCHIVES  = '#<archives[^>]*>(.*)</archives>#Uims'
_SVP_REGEXP_BALISE_DEPOT  = '#<depot[^>]*>(.*)</depot>#Uims'
_SVP_REGEXP_BALISE_MULTIS  = '#<multis[^>]*>(.*)</multis>#Uims'
_SVP_REGEXP_BALISE_PAQUET  = '#<paquet[^>]*>(.*)</paquet>#Uims'
_SVP_REGEXP_BALISE_PLUGIN  = '#<plugin[^>]*>(.*)</plugin>#Uims'
_SVP_REGEXP_BALISE_TRADUCTIONS  = '#<traductions[^>]*>(.*)</traductions>#Uims'
_SVP_REGEXP_BALISE_ZIP  = '#<zip[^>]*>(.*)</zip>#Uims'

Functions

svp_phraser_depot()  : array<string|int, mixed>|bool
Phrase un fichier décrivant un dépot, dont le chemin local est donné
svp_phraser_archives()  : array<string|int, mixed>
Phrase la liste des balises <archive>
svp_phraser_plugin()  : array<string|int, mixed>
Phrase le contenu du XML décrivant une archive suivant une DTD de plugin.xml ou de paquet.xml donnée
svp_phraser_zip()  : array<string|int, mixed>
Phrase le contenu de la balise <zip>
svp_phraser_traductions()  : array<string|int, mixed>
Phrase le contenu d'une balise <traductions> en un tableau plus facilement utilisable
svp_aplatir_balises()  : mixed
Aplatit plusieurs clés d'un arbre xml dans un tableau

Constants

_SVP_DTD_PAQUET

public string _SVP_DTD_PAQUET = 'paquet'

Phraseur à utiliser pour un XML de paquet.xml

_SVP_DTD_PLUGIN

public string _SVP_DTD_PLUGIN = 'plugin'

Phraseur à utiliser pour un XML de plugin.xml

_SVP_MODE_RUNTIME

public mixed _SVP_MODE_RUNTIME = \lire_config('svp/mode_runtime', 'oui') == 'oui' ? \true : \false

_SVP_REGEXP_BALISE_ARCHIVE

public mixed _SVP_REGEXP_BALISE_ARCHIVE = '#<archive[^s][^>]*>(.*)</archive>#Uims'

_SVP_REGEXP_BALISE_ARCHIVES

public mixed _SVP_REGEXP_BALISE_ARCHIVES = '#<archives[^>]*>(.*)</archives>#Uims'

_SVP_REGEXP_BALISE_DEPOT

public mixed _SVP_REGEXP_BALISE_DEPOT = '#<depot[^>]*>(.*)</depot>#Uims'

_SVP_REGEXP_BALISE_MULTIS

public mixed _SVP_REGEXP_BALISE_MULTIS = '#<multis[^>]*>(.*)</multis>#Uims'

_SVP_REGEXP_BALISE_PAQUET

public mixed _SVP_REGEXP_BALISE_PAQUET = '#<paquet[^>]*>(.*)</paquet>#Uims'

_SVP_REGEXP_BALISE_PLUGIN

public mixed _SVP_REGEXP_BALISE_PLUGIN = '#<plugin[^>]*>(.*)</plugin>#Uims'

_SVP_REGEXP_BALISE_TRADUCTIONS

public mixed _SVP_REGEXP_BALISE_TRADUCTIONS = '#<traductions[^>]*>(.*)</traductions>#Uims'

_SVP_REGEXP_BALISE_ZIP

public mixed _SVP_REGEXP_BALISE_ZIP = '#<zip[^>]*>(.*)</zip>#Uims'

Functions

svp_phraser_depot()

Phrase un fichier décrivant un dépot, dont le chemin local est donné

svp_phraser_depot(string $fichier_xml) : array<string|int, mixed>|bool

Le fichier est au format XML et contient deux balises principales :

  • ... : informations de description du depot (facultatif)
  • ... : liste des informations sur chaque archive (obligatoire)

La fonction met en cache le résultat du phrasage de chaque archive et ne rephrase que les archives ayant changées.

Parameters
$fichier_xml : string

Chemin local du fichier XML de description du dépot

Tags
uses
svp_aplatir_balises()
uses
svp_phraser_archives()
used-by
svp_ajouter_depot()
used-by
svp_actualiser_depot()
Return values
array<string|int, mixed>|bool

false si erreur, Tableau de 2 index sinon :

  • depot : description du dépot
  • paquets :

svp_phraser_archives()

Phrase la liste des balises <archive>

svp_phraser_archives(array<string|int, mixed> $archives[, array<string|int, mixed> &$md5_cache = [] ]) : array<string|int, mixed>

Chaque bloc XML est constitue de 3 sous-blocs principaux :

  • : contient les balises d'information sur le zip (obligatoire)
  • : contient la compilation des informations de traduction (facultatif)
  • ou suivant la DTD : le contenu du fichier plugin.xml ou paquet.xml (facultatif)
Parameters
$archives : array<string|int, mixed>

Tableau de la liste des archives trouvées dans la description d'un dépot

$md5_cache : array<string|int, mixed> = []

Tableau des descriptions d'archives déjà connues : on supprime à la fin celles qui ne font plus parties du dépot.

Tags
uses
svp_phraser_zip()
uses
svp_phraser_traductions()
uses
svp_phraser_plugin()
uses
plugin_version_compatible()
used-by
svp_phraser_depot()
Return values
array<string|int, mixed>

Tableau décrivant chaque archive, avec en index l'url de l'archive. Tableau (url => Tableau de description de l'archive)

svp_phraser_plugin()

Phrase le contenu du XML décrivant une archive suivant une DTD de plugin.xml ou de paquet.xml donnée

svp_phraser_plugin(string $dtd, string $contenu) : array<string|int, mixed>

La fonction peut-être appelée via archives.xml ou via un xml de plugin. Elle phrase la balise dans le cas d'une DTD paquet qui contient les traductions du nom, slogan et description

Parameters
$dtd : string

Nom du type de dtd : plugin ou paquet (pour phraser un plugin.xml ou un paquet.xml)

$contenu : string

Contenu XML à phraser

Tags
uses
svp_aplatir_balises()
global

$balises_multis

static

array $informer

used-by
svp_phraser_archives()
Return values
array<string|int, mixed>

Description du plugin

svp_phraser_zip()

Phrase le contenu de la balise <zip>

svp_phraser_zip(string $contenu) : array<string|int, mixed>

Extrait du XML les informations du zip

Parameters
$contenu : string

Description XML de l'archive

Tags
uses
svp_aplatir_balises()
used-by
svp_phraser_archives()
Return values
array<string|int, mixed>

Description du zip.

  • Index 'file' : nom du zip
  • Index 'size' : taille
  • Index 'date' : date de création
  • Index 'last_commit' : date du dernier commit
  • Index 'source' : arborescence relative des sources
  • Index 'logo' : nom du logo

svp_phraser_traductions()

Phrase le contenu d'une balise <traductions> en un tableau plus facilement utilisable

svp_phraser_traductions(string $contenu) : array<string|int, mixed>
Parameters
$contenu : string

Contenu XML de la balise

Tags
used-by
svp_phraser_archives()
Return values
array<string|int, mixed>

Tableau complexe avec pour index les noms des modules de langue et pour valeur leur description. Chaque description contient dedans 3 index :

  • reference : la langue de référence
  • gestionnaire : quel logiciel à servi à gérer les traductions
  • langues : tableau classé par langue puis par traducteurs, qui indique l'ensemble des traducteurs pour chacune des langues présentes

svp_aplatir_balises()

Aplatit plusieurs clés d'un arbre xml dans un tableau

svp_aplatir_balises(array<string|int, mixed> $balises, array<string|int, mixed> $arbre_xml[, string $mode = 'vide_et_nonvide' ][, array<string|int, mixed> $tableau_initial = [] ]) : mixed

Effectue un trim() de la valeur trouvée dans l'arbre

Parameters
$balises : array<string|int, mixed>

Liste de noms de balises XML. Peut aussi être un tableau indiquant un renommage d'une balise au passage tel que 'x' => 'y' qui cherchera x dans l'arbre XML et l'applatira dans y.

$arbre_xml : array<string|int, mixed>

Un arbre issu de spip_xml_parse()

$mode : string = 'vide_et_nonvide'

Mode d'affectation des valeurs trouvées

  • 'vide_et_nonvide' : Affecte une chaine vide si la balise n'est pas trouvée dans l'arbre et affecte la valeur de la balise sinon.
  • 'nonvide' : Si la balise n'est pas trouvée dans l'arbre ou si son contenu est vide, affecte la valeur du tableau initial concernant cette balise si elle est connue.
$tableau_initial : array<string|int, mixed> = []

Tableau initial pouvant contenir des valeurs par défaut à affecter à chaque balise avec 'x' => 'valeur'

Tags
uses
spip_xml_aplatit()
used-by
svp_phraser_depot()
used-by
svp_phraser_plugin()
used-by
svp_phraser_zip()

        
On this page

Search results