Fichier plugins-dist/svp/inc/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.

Plugin

  • SVP pour SPIP

License

  • GPL

Source

Proposer une amélioration

Liste des constantes

Valeur

  • lire_config('svp/mode_runtime', 'oui') == 'oui' ? true : false

Package

Valeur

  • '#<archive[^s][^>]>(.)#Uims'

Package

Valeur

  • '#<archives[^>]>(.)#Uims'

Package

Valeur

  • '#<depot[^>]>(.)#Uims'

Package

Valeur

  • '#<multis[^>]>(.)#Uims'

Package

Valeur

  • '#<paquet[^>]>(.)#Uims'

Package

Valeur

  • '#<plugin[^>]>(.)#Uims'

Package

Valeur

  • '#<traductions[^>]>(.)#Uims'

Package

Valeur

  • '#<zip[^>]>(.)#Uims'

Package

Liste des fonctions

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

void svp_aplatir_balises( array $balises , array $arbre_xml , string $mode = 'vide_et_nonvide' , array $tableau_initial = array() )

Paramètres

  1. array $balises

    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.

  2. array $arbre_xml

    Un arbre issu de spip_xml_parse()

  3. string $mode = '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.
  4. array $tableau_initial = array()

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

Package

Proposer une amélioration

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)
array svp_phraser_archives( array $archives , array & $md5_cache = array() )

Paramètres

  1. array $archives

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

  2. array & $md5_cache = array()

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

Retour

  • array

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

Utilisé par

Package

Proposer une amélioration

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.

array | boolean svp_phraser_depot( string $fichier_xml )

Paramètres

  1. string $fichier_xml

    Chemin local du fichier XML de description du dépot

Retour

  • array | boolean

    false si erreur, Tableau de 2 index sinon :

    • depot : description du dépot
    • paquets :

Package

Proposer une amélioration

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

array svp_phraser_plugin( string $dtd , string $contenu )

Paramètres

  1. string $dtd

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

  2. string $contenu

    Contenu XML à phraser

Retour

  • array

    Description du plugin

Utilisé par

Variables globales

  • $balises_multis

Package

Static

  • array $informer
Proposer une amélioration
array svp_phraser_traductions( string $contenu )

Paramètres

  1. string $contenu

    Contenu XML de la balise

Retour

  • array

    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

Utilisé par

Package

Proposer une amélioration

Extrait du XML les informations du zip

array svp_phraser_zip( string $contenu )

Paramètres

  1. string $contenu

    Description XML de l'archive

Retour

  • array

    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

Utilisé par

Package

Proposer une amélioration