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
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
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
Return values
bool —true toujours.
svp_actualiser_depot()
Actualisation des plugins d'un dépot déjà crée
svp_actualiser_depot(int $id) : bool
Actualise les informations uniquement si la signature du fichier XML de description du dépot a changé
Parameters
- $id : int
-
Identifiant du dépot
Tags
Return values
bool —false si erreur, true sinon
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
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
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
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
Return values
bool —false si rien à faire, true sinon
svp_actualiser_url_plugins()
Recrée toutes les URLs propres de plugin
svp_actualiser_url_plugins() : int
Supprime toutes les urls de plugin de la table spip_urls puis les régénère.
Tags
Return values
int —Nombre d'URLs de plugin régénérées
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
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
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