Documentation du code de SPIP et de ses plugins

SVP

Depots

Table of Contents

Functions

svp_ajouter_depot()  : bool
Ajout d'un dépot et de son contenu (paquets, plugins) dans la base de données
svp_supprimer_depot()  : bool
Suppression d'un dépot et de son contenu (paquets, plugins) dans la base de données
svp_nettoyer_apres_suppression()  : bool
Nettoyer la base de données après la suppression d'un dépot
svp_actualiser_depot()  : bool
Actualisation des plugins d'un dépot déjà crée
svp_actualiser_paquets()  : bool
Actualisation de la table des paquets pour le dépot choisi
svp_inserer_multi()  : mixed
Insertion en masse de plugins ou de paquets.
svp_completer_plugins_depot()  : mixed
Complète les informations des plugins contenus dans un depot en compilant certaines informations (compatibilités, dates, branches)
svp_completer_plugins()  : bool
Complète les informations des plugins, d'une liste de plugins donnés, en compilant certaines informations (compatibilités, dates, branches)
svp_actualiser_url_plugins()  : int
Recrée toutes les URLs propres de plugin
eclater_plugin_paquet()  : array<string|int, mixed>
Éclate une description de paquet issu du XML du dépot en deux parties, une pour le plugin, l'autre pour le paquet
svp_corriger_vmax_plugins()  : mixed
Détermine la version max de chaque plugin, c'est à dire la version maxi d'un des paquets qui lui est lié.
svp_depoter_distant_variantes_url()  : array<string|int, mixed>
Fournir les variantes d'url pour un dépôt
svp_depoter_distant_copie_xml_paquets()  : string
Copie en local le xml décrivant tous les paquets en cherchant d'abord les éventuelles variantes

Functions

svp_ajouter_depot()

Ajout d'un dépot et de son contenu (paquets, plugins) dans la base de données

svp_ajouter_depot(string $url[, string &$erreur = '' ]) : bool

Si une erreur survient (syntaxe XML incorrecte, pas de plugin dans le dépot), son texte est placé dans le paramètre $erreur

Parameters
$url : string

URL du fichier XML de description du dépot

$erreur : string = ''

Texte d'un éventuel message d'erreur

Tags
uses
svp_phraser_depot()
uses
svp_actualiser_paquets()
uses
svp_base_supprimer_paquets_locaux()
used-by
formulaires_ajouter_depot_traiter_dist()
Return values
bool

true si le dépot est ajouté correctement, false sinon

svp_supprimer_depot()

Suppression d'un dépot et de son contenu (paquets, plugins) dans la base de données

svp_supprimer_depot(int $id) : bool

Cette suppression entraîne des recalcul comme les versions maximales des plugins téléchargeables qui peuvent changer.

Parameters
$id : int

Identifiant du dépot

Tags
uses
svp_actualiser_url_plugins()
uses
svp_nettoyer_apres_suppression()
uses
svp_base_supprimer_paquets_locaux()
used-by
action_supprimer_depot_dist()
Return values
bool

false si le dépot n'est pas trouvé, true sinon

svp_nettoyer_apres_suppression()

Nettoyer la base de données après la suppression d'un dépot

svp_nettoyer_apres_suppression(int $id_depot, array<string|int, mixed> $vmax) : bool

Supprime

  • les liens des plugins avec le dépot (table spip_depots_plugins)
  • les plugins dont aucun paquet n'est encore hébergé par un dépot restant (table spip_plugins) Remet à zéro la version maximale des plugins ayant vu leur paquet en version maximale supprimée
Parameters
$id_depot : int

Identifiant du dépot

$vmax : array<string|int, mixed>

Tableau de la version maximale des plugins du dépot supprimé Tableau (id_plugin => version maximale)

Tags
used-by
svp_supprimer_depot()
Return values
bool

true toujours.

svp_actualiser_paquets()

Actualisation de la table des paquets pour le dépot choisi

svp_actualiser_paquets(int $id_depot, array<string|int, mixed> $paquets, int &$nb_paquets, int &$nb_plugins, int &$nb_autres) : bool

Enlève de la base les paquets du dépots qui ne sont plus présents dans la description du XML. Ajoute ou met à jour les autres.

Parameters
$id_depot : int

Identifiant du dépot

$paquets : array<string|int, mixed>

Tableau des paquets extraits du fichier XML L'index est le nom de l'archive (xxxx.zip) et le contenu est un tableau à deux entrées :

  • Index 'plugin' : le tableau des infos du plugin
  • Index 'file' : le nom de l'archive .zip
$nb_paquets : int

Nombre de paquets réellement inserés dans la base

$nb_plugins : int

Nombre de plugins parmi les paquets inserés

$nb_autres : int

Nombre de contributions non issues de plugin parmi les paquets inserés

Tags
uses
svp_supprimer_plugins_orphelins()
uses
svp_corriger_vmax_plugins()
uses
svp_completer_plugins()
uses
eclater_plugin_paquet()
uses
svp_inserer_multi()
uses
svp_completer_plugins_depot()
uses
svp_actualiser_url_plugins()
used-by
svp_ajouter_depot()
used-by
svp_actualiser_depot()
Return values
bool

false si aucun dépot ou paquets, true sinon

svp_inserer_multi()

Insertion en masse de plugins ou de paquets.

svp_inserer_multi(array<string|int, mixed> &$insert_plugins, array<string|int, mixed> &$insert_paquets, array<string|int, mixed> &$insert_contribs, array<string|int, mixed> &$prefixes) : mixed

Les paquets peuvent de pas avoir d'info "prefixe" (à transformer en id_plugin) lorsqu'ils ne proviennent pas de plugin (squelettes...)

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

Tableau de description de plugins. Une description est un tableau de couples (colonne sql => valeur) pour l'insertion en base de données.

$insert_paquets : array<string|int, mixed>

Tableau de description de paquets. Une description est un tableau de couples (colonne sql => valeur) pour l'insertion en base de données.

$insert_contribs : array<string|int, mixed>

Tableau de description de paquets (contributions non plugins). Une description est un tableau de couples (colonne sql => valeur) pour l'insertion en base de données.

$prefixes : array<string|int, mixed>

Couples de relation (préfixe de plugin => identifiant de plugin) connues, pour limiter les accès SQL.

Tags
used-by
svp_actualiser_paquets()

svp_completer_plugins_depot()

Complète les informations des plugins contenus dans un depot en compilant certaines informations (compatibilités, dates, branches)

svp_completer_plugins_depot(int $id_depot) : mixed
Parameters
$id_depot : int

Identifiant du depot à actualiser

Tags
uses
svp_completer_plugins()
used-by
svp_actualiser_paquets()

svp_completer_plugins()

Complète les informations des plugins, d'une liste de plugins donnés, en compilant certaines informations (compatibilités, dates, branches)

svp_completer_plugins(array<string|int, mixed> $ids_plugin) : bool
Parameters
$ids_plugin : array<string|int, mixed>

Liste d'identifiants de plugins

Tags
uses
compiler_branches_spip()
used-by
svp_actualiser_paquets()
used-by
svp_completer_plugins_depot()
Return values
bool

false si rien à faire, true sinon

eclater_plugin_paquet()

Éclate une description de paquet issu du XML du dépot en deux parties, une pour le plugin, l'autre pour le paquet

eclater_plugin_paquet(array<string|int, mixed> $champs_aplat) : array<string|int, mixed>

Sépare en deux une description de champs désignant un paquet, en extrayant :

  • la partie plugin, soit ce qui peut être propre à plusieurs paquets. On trouve dedans le prefixe, nom, slogan, catégorie, tags
  • la partie paquet, soit ce qui est propre à ce conteneur là. On trouve dedans entre autres la description, la version, la compatibilité à SPIP, les dépendances, etc...
Parameters
$champs_aplat : array<string|int, mixed>

Couples (clé => valeur) d'un paquet issu de l'analyse XML du dépot

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

Tableau de 2 index :

  • Index 'plugin' : couples (clé=>valeur) relatives au plugin
  • Index 'paquet' : couples (clé=>valeur) spécifiques au paquet

svp_corriger_vmax_plugins()

Détermine la version max de chaque plugin, c'est à dire la version maxi d'un des paquets qui lui est lié.

svp_corriger_vmax_plugins(array<string|int, mixed> $plugins) : mixed
Parameters
$plugins : array<string|int, mixed>

Liste d'identifiant de plugins

Tags
used-by
svp_actualiser_paquets()

svp_depoter_distant_variantes_url()

Fournir les variantes d'url pour un dépôt

svp_depoter_distant_variantes_url(string $url, string $branche_spip) : array<string|int, mixed>
Parameters
$url : string
$branche_spip : string
Return values
array<string|int, mixed>

array{original: string, thin: string, branche_spip: string}

svp_depoter_distant_copie_xml_paquets()

Copie en local le xml décrivant tous les paquets en cherchant d'abord les éventuelles variantes

svp_depoter_distant_copie_xml_paquets(string $url) : string
Parameters
$url : string
Return values
string

chemin relatif de la copie du fichier xml en local


        
On this page

Search results