Package Plugins

Fichiers du package

FichierDescription
fusion_paquet.php

Fichier permettant de calculer les descriptions d'un paquet.xml contenant plusieurs balises

fusion_plugin.php

Fichier permettant de calculer les descriptions d'un plugin.xml contenant plusieurs balises

preparer_sql_paquet.php

Fichier permettant de transformer les données d'un arbre de description originaire d'un paquet.xml dans un format compatible avec la base de données

preparer_sql_plugin.php

Fichier permettant de calculer les données SQL à insérer à partir d'une arbre de description originaire d'un plugin.xml

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.

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

  • Élimination des multi (exclus dans la nouvelle version)
  • Transformation en attribut des balises A
  • Interprétation des balises BR et LI et de la virgule et du espace+tiret comme séparateurs
array normaliser_auteur_licence( string $texte , string $balise )

Paramètres

  1. string $texte

    Texte de la balise

  2. string $balise

    Nom de la balise (auteur | licence)

Retour

  • array

    Tableau listant les auteurs, licences et copyright trouvés

Package

Proposer une amélioration

Éliminer les textes superflus dans les liens (raccourcis [XXX->http...]) et normaliser l'esperluete pour éviter l'erreur d'entité indéfinie

string normaliser_lien( string $url )

Paramètres

  1. string $url

    URL à normaliser

Retour

  • string

    URL normalisée

Package

Proposer une amélioration
array normaliser_multi( string $texte )

Paramètres

  1. string $texte

    Le texte

Retour

  • array

    Texte expansé par code de langue : couples (code de langue => texte)

Package

Proposer une amélioration
string normaliser_nom( string $nom , string $langue = '' , boolean $supprimer_numero = true )

Paramètres

  1. string $nom

    Le nom

  2. string $langue = ''

    La langue à extraire

  3. boolean $supprimer_numero = true

    Supprimer les numéros ?

Retour

  • string

    Le nom

Package

Todo

  • Supprimer cette fonction qui ne sert nulle part ?
Proposer une amélioration

Pour les balises paquets sans balise spip cette fonction permet de générer une structure identique pour les balises dites techniques

array plugins_fusion_paquet( array $plugins )

Paramètres

  1. array $plugins

    Arbre de description du paquet.xml

Retour

  • array

    Fusion des éléments classé par balise, puis par compatibilité à SPIP. L'index 0 dans la compatibilité est valable quelque soit la version de SPIP.

Package

Proposer une amélioration

Pour les balises plugins uniques cette fonction permet de générer une structure identique pour les balises dites techniques

On limite le traitement a deux balises plugins maximum, ce qui est le cas de tous les plugin.xml actuellement connus

array plugins_fusion_plugin( array $plugins )

Paramètres

  1. array $plugins

    Arbre des balises plugins présents dans un plugin.xml

Retour

  • array

    Fusion des éléments classé par balise, puis par compatibilité à SPIP. L'index 0 dans la compatibilité est valable quelque soit la version de SPIP.

Package

Proposer une amélioration

Les données sont parfois sérialisées, parfois compilées pour tenir compte des spécificités de cette DTD et du stockage en bdd.

array plugins_preparer_sql_paquet( array $plugin )

Paramètres

  1. array $plugin

    Description de plugin

Retour

  • array

    Couples clés => valeurs de description du paquet

Package

Proposer une amélioration

Les données sont parfois sérialisées, parfois transcodées, parfois compilées pour tenir compte des spécificités de cette DTD et du stockage en bdd.

array plugins_preparer_sql_plugin( array $plugin )

Paramètres

  1. array $plugin

    Description de plugin

Retour

  • array

    Couples clés => valeurs de description du paquet

Package

Proposer une amélioration

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