Documentation du code de SPIP et de ses plugins

SVP

Application

Table of Contents

Classes

ActualiserDepotsTask

Constants

_SVP_PAGES_OBJET_PUBLIQUES  = ''

Functions

action_actionner_dist()  : mixed
Action effectuant 1 action dans la liste des actions à réaliser sur les plugins.
svp_redirige_boucle()  : mixed
Redirections par refresh d'une URL afin d'éviter des blocages de redirections par les navigateurs lorsqu'elles sont trop nombreuses
action_actualiser_depot_dist()  : mixed
Action de mise à jour en base de données de la liste des plugins d'un ou de tous les dépots
action_editer_depot_dist()  : array<string|int, mixed>
Action de mise à jour des descriptions d'un dépot
depots_set()  : string
Appelle toutes les fonctions de modification d'un dépot $err est de la forme '&trad_err=1'
action_supprimer_depot_dist()  : mixed
Action de suppression en base de données d'un dépot et de ses plugins
exec_admin_plugin_dist()  : mixed
Affichage de la page de gestion des plugins
svp_presenter_actions_realisees()  : string
Retourne un texte des actions realisées s'il y en a eu tel que activation, désactivation, téléchargement de plugins... Nettoie au passage le fichier de cache décrivant les actions faites (ou encore à faire) dans les cas suivant : - il n'y a plus d'action - le nettoyage est expressement demandé par la commande 'nettoyer_actions' dans l'URL (ce lien est justement disponible si l'auteur des actions tombe sur cette page alors qu'il reste des actions à faire, ce qui signale en général un problème)
svp_actualiser_paquets_locaux()  : string
Met à jour les tables SQL paquets et plugins pour qui concerne les paquets locaux (ceux présents sur le site).
svp_descriptions_paquets_locaux()  : array<string|int, mixed>
Calcule la description de chaque paquet local
svp_base_supprimer_paquets_locaux()  : mixed
Supprime tous les paquets et plugins locaux.
svp_base_modifier_paquets_locaux()  : mixed
Actualise les informations en base sur les paquets locaux en ne modifiant que ce qui a changé.
svp_base_inserer_paquets_locaux()  : mixed
Insère en base tous les paquets locaux transmis
svp_adapter_structure_dependances()  : array<string|int, mixed>
Adapte la structure des dépendances d'un paquet xml lu par SPIP à une structure attendue par SVP.
svp_base_actualiser_paquets_actifs()  : mixed
Fait correspondre l'état des métas des plugins actifs & installés avec ceux en base de données dans spip_paquets pour le dépot local
svp_compiler_multis()  : array<string|int, mixed>
Construit le contenu multilangue (tag <multi>) des balises nom, slogan et description à partir des items de langue contenus dans le fichier paquet-prefixe_langue.php
svp_corriger_obsolete_paquets()  : mixed
Met à jour les informations d'obsolescence des paquets locaux.
svp_supprimer_plugins_orphelins()  : array<string|int, mixed>
Supprime les plugins devenus orphelins dans cette liste.
svp_rechercher_maj_version()  : string
Cherche dans les dépots distants un plugin qui serait plus à jour que le prefixe, version et état que l'on transmet
svp_actualiser_maj_version()  : mixed
Actualise l'information 'maj_version' pour tous les paquets locaux
plugins_infos_plugin()  : mixed
info_plugin_normalise_necessite()  : array<string|int, mixed>
Normaliser les description des balises `necessite`
info_plugin_normalise_utilise()  : array<string|int, mixed>
Normaliser la description des utilise
info_plugin_normalise_procure()  : array<string|int, mixed>
Normaliser la description des procurations
info_plugin_normalise_chemin()  : array<string|int, mixed>
Normaliser la description du chemin
teleporter_http_deballe_tgz_dist()  : bool|string
Déballer le fichier au format tgz dans le répertoire $dest en utilisant le dossier temporaire $tmp si besoin
teleporter_http_charger_tgz()  : array<string|int, mixed>|bool|int|string
Charger un tgz à partir d'un tableau d'options descriptives
teleporter_http_deballe_zip_dist()  : bool|string
Déballer le fichier au format zip dans le répertoire $dest en utilisant le dossier temporaire $tmp si besoin
teleporter_http_charger_zip()  : array<string|int, mixed>|bool|int|string
Charger un zip à partir d'un tableau d'options descriptives

Constants

Functions

action_actionner_dist()

Action effectuant 1 action dans la liste des actions à réaliser sur les plugins.

action_actionner_dist() : mixed

Cette action sera relancée tant qu'il reste des actions à faire

svp_redirige_boucle()

Redirections par refresh d'une URL afin d'éviter des blocages de redirections par les navigateurs lorsqu'elles sont trop nombreuses

svp_redirige_boucle(string $url, string $texte, string $progres) : mixed
Parameters
$url : string
$texte : string

Texte de l'action réalisée

$progres : string

action_actualiser_depot_dist()

Action de mise à jour en base de données de la liste des plugins d'un ou de tous les dépots

action_actualiser_depot_dist() : mixed

action_editer_depot_dist()

Action de mise à jour des descriptions d'un dépot

action_editer_depot_dist() : array<string|int, mixed>
Return values
array<string|int, mixed>

Liste identifiant du dépot, texte d'erreur éventuel

depots_set()

Appelle toutes les fonctions de modification d'un dépot $err est de la forme '&trad_err=1'

depots_set(int $id_depot) : string
Parameters
$id_depot : int

Identifiant du dépot

Tags
note

Cette fonction ne fait rien actuellement !!

Return values
string

Texte d'une eventuelle erreur

svp_presenter_actions_realisees()

Retourne un texte des actions realisées s'il y en a eu tel que activation, désactivation, téléchargement de plugins... Nettoie au passage le fichier de cache décrivant les actions faites (ou encore à faire) dans les cas suivant : - il n'y a plus d'action - le nettoyage est expressement demandé par la commande 'nettoyer_actions' dans l'URL (ce lien est justement disponible si l'auteur des actions tombe sur cette page alors qu'il reste des actions à faire, ce qui signale en général un problème)

svp_presenter_actions_realisees() : string
Tags
used-by
exec_admin_plugin_dist()
Return values
string

Code HTML présentant les actions réalisées Vide si rien ne s'est passé !

svp_actualiser_paquets_locaux()

Met à jour les tables SQL paquets et plugins pour qui concerne les paquets locaux (ceux présents sur le site).

svp_actualiser_paquets_locaux([bool $force = false ][, array<string|int, mixed> &$erreurs_xml = [] ]) : string

On ne met à jour que ce qui a changé, sauf si on force le recalcule de toutes les informations locales avec var_mode=vider_paquets_locaux dans l'URL ou en mettant le paramètre $force à true.

Parameters
$force : bool = false
  • false : n'actualise que les paquets modifiés
  • true : efface et recrée la liste de tous les paquets locaux
$erreurs_xml : array<string|int, mixed> = []

Si des erreurs XML sont présentes, elles se retrouvent dans ce tableau

Tags
uses
svp_descriptions_paquets_locaux()
uses
svp_base_supprimer_paquets_locaux()
uses
svp_base_inserer_paquets_locaux()
uses
svp_base_modifier_paquets_locaux()
uses
svp_base_actualiser_paquets_actifs()
used-by
formulaires_admin_plugin_charger_dist()
Return values
string

Temps d'exécution

svp_descriptions_paquets_locaux()

Calcule la description de chaque paquet local

svp_descriptions_paquets_locaux([array<string|int, mixed> &$erreurs_xml = [] ]) : array<string|int, mixed>

Les paquets peuvent être stockés à 3 endroits : plugins, plugins-dist, plugins-supp définis par les constantes respectives _DIR_PLUGINS, _DIR_PLUGINS_DIST, _DIR_PLUGINS_SUPP

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

Les erreurs XML éventuelles des paquet.xml se retrouvent dedans s'il y en a

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

Descriptions des paquets (intégrant un hash), stockés par constante, puis par chemin. array[_DIR_PLUGIN*][$chemin] = description

svp_base_modifier_paquets_locaux()

Actualise les informations en base sur les paquets locaux en ne modifiant que ce qui a changé.

svp_base_modifier_paquets_locaux(array<string|int, mixed> $paquets_locaux) : mixed
Parameters
$paquets_locaux : array<string|int, mixed>

Descriptions des paquets (intégrant un hash), stockés par constante, puis par chemin. array[_DIR_PLUGIN*][$chemin] = description

Tags
uses
svp_supprimer_plugins_orphelins()
uses
svp_base_inserer_paquets_locaux()
used-by
svp_actualiser_paquets_locaux()

svp_base_inserer_paquets_locaux()

Insère en base tous les paquets locaux transmis

svp_base_inserer_paquets_locaux(array<string|int, mixed> $paquets_locaux) : mixed

De chaque description est extrait la partie plugin (1 seul plugin par préfixe de plugin connu) et la partie paquet (il peut y avoir plusieurs paquets pour un même préfixe de plugin).

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

Descriptions des paquets (intégrant un hash), stockés par constante, puis par chemin. array[_DIR_PLUGIN*][$chemin] = description

Tags
note

On essaie au mieux de faire des requêtes d'insertions multiples, mieux gérées par les moteurs SQL (particulièrement pour SQLite)

uses
plugins_preparer_sql_paquet()
uses
svp_compiler_multis()
uses
eclater_plugin_paquet()
uses
svp_rechercher_maj_version()
uses
svp_corriger_obsolete_paquets()
used-by
svp_actualiser_paquets_locaux()
used-by
svp_base_modifier_paquets_locaux()

svp_adapter_structure_dependances()

Adapte la structure des dépendances d'un paquet xml lu par SPIP à une structure attendue par SVP.

svp_adapter_structure_dependances(array<string|int, mixed> $paquet) : array<string|int, mixed>

C'est à dire, met les necessite, utilises, lib, procure dans une sous clé 0

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

Description d'un paquet

Tags
note

Cette clé 0 indique la description principale du paquet.xml mais d'autres clés semblent pouvoir exister si la balise <spip> est présente dedans

see
svp_phraser_plugin()

côté SVP

see
plugins_fusion_paquet()

côté SVP

see
plugins_get_infos_dist()

côté SPIP (extractions de tous les paquets d'un dossier)

Return values
array<string|int, mixed>

Description d'un paquet adaptée

svp_base_actualiser_paquets_actifs()

Fait correspondre l'état des métas des plugins actifs & installés avec ceux en base de données dans spip_paquets pour le dépot local

svp_base_actualiser_paquets_actifs() : mixed
Tags
used-by
svp_actualiser_paquets_locaux()

svp_compiler_multis()

Construit le contenu multilangue (tag <multi>) des balises nom, slogan et description à partir des items de langue contenus dans le fichier paquet-prefixe_langue.php

svp_compiler_multis(string $prefixe, string $dir_source) : array<string|int, mixed>
Parameters
$prefixe : string

Préfixe du plugin

$dir_source : string

Chemin d'accès du plugin

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

Tableau clé => texte multilangue entre et Les clés peuvent être 'nom', 'slogan' et 'description', mais seules les clés ayant une explication dans la chaine de langue sont retournées.

svp_corriger_obsolete_paquets()

Met à jour les informations d'obsolescence des paquets locaux.

svp_corriger_obsolete_paquets([array<string|int, mixed> $ids_plugin = [] ]) : mixed

L'obsolescence indique qu'un paquet est plus ancien (de version ou état moins avancé) qu'un autre également présent localement.

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

Liste d'identifiants de plugins En cas d'absence, passera sur tous les paquets locaux

Tags
used-by
svp_base_inserer_paquets_locaux()

svp_supprimer_plugins_orphelins()

Supprime les plugins devenus orphelins dans cette liste.

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

Liste d'identifiants de plugins

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

Liste de plugins non orphelins

svp_rechercher_maj_version()

Cherche dans les dépots distants un plugin qui serait plus à jour que le prefixe, version et état que l'on transmet

svp_rechercher_maj_version(string $prefixe, string $version, int $etatnum[, mixed $compatibilite_spip = null ]) : string
Parameters
$prefixe : string

Préfixe du plugin

$version : string

Version du paquet à comparer

$etatnum : int

État du paquet numérique

$compatibilite_spip : mixed = null
Tags
used-by
svp_base_inserer_paquets_locaux()
used-by
svp_actualiser_maj_version()
Return values
string

Version plus à jour, sinon rien

plugins_infos_plugin()

plugins_infos_plugin(mixed $desc[, mixed $plug = '' ][, mixed $dir_plugins = _DIR_PLUGINS ]) : mixed
Parameters
$desc : mixed
$plug : mixed = ''
$dir_plugins : mixed = _DIR_PLUGINS

info_plugin_normalise_necessite()

Normaliser les description des balises `necessite`

info_plugin_normalise_necessite(array<string|int, mixed> $necessite) : array<string|int, mixed>

Ajoute les clés

  • 'nom' (= id)
  • 'compatibilite' (= version)
Parameters
$necessite : array<string|int, mixed>

Liste des necessite trouvés pour le plugin

Tags
note

Un attribut de nom "id" à une signification particulière en XML qui ne correspond pas à l'utilissation qu'en font les plugin.xml.

Pour éviter de complexifier la lecture de paquet.xml qui n'est pour rien dans cette bévue, on doublonne l'information sous les deux index "nom" et "id" dans l'arbre de syntaxe abstraite pour compatibilité, mais seul le premier est disponible quand on lit un paquet.xml, "id" devant être considéré comme obsolète.

Return values
array<string|int, mixed>

Liste des necessite modifiés.

info_plugin_normalise_utilise()

Normaliser la description des utilise

info_plugin_normalise_utilise(array<string|int, mixed> $utilise) : array<string|int, mixed>

Ajoute les clés

  • 'nom' (= id)
  • 'compatibilite' (= version)
Parameters
$utilise : array<string|int, mixed>

Liste des utilise trouvés pour le plugin

Return values
array<string|int, mixed>

Liste des utilise modifiés.

info_plugin_normalise_procure()

Normaliser la description des procurations

info_plugin_normalise_procure(array<string|int, mixed> $procure) : array<string|int, mixed>

Ajoute la cle 'nom' (= id)

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

Liste des procure trouvés pour le plugin

Return values
array<string|int, mixed>

Liste des procure modifiés.

info_plugin_normalise_chemin()

Normaliser la description du chemin

info_plugin_normalise_chemin(array<string|int, mixed> $chemins) : array<string|int, mixed>

Ajoute le clés 'path' (= dir)

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

Liste des chemins trouvés pour le plugin

Return values
array<string|int, mixed>

Liste des chemins modifiés.

teleporter_http_deballe_tgz_dist()

Déballer le fichier au format tgz dans le répertoire $dest en utilisant le dossier temporaire $tmp si besoin

teleporter_http_deballe_tgz_dist(string $archive, string $dest, string $tmp) : bool|string
Parameters
$archive : string

Chemin du fichier tgz

$dest : string

Répertoire où on veut décompresser

$tmp : string

Répertoire de stockage temporaire

Tags
uses
teleporter_http_charger_tgz()
Return values
bool|string

Répertoire où a été décompressé le tgz, false sinon.

teleporter_http_charger_tgz()

Charger un tgz à partir d'un tableau d'options descriptives

teleporter_http_charger_tgz([array<string|int, mixed> $quoi = [] ]) : array<string|int, mixed>|bool|int|string
Parameters
$quoi : array<string|int, mixed> = []

Tableau d'options

Tags
uses
SpipArchiver
used-by
teleporter_http_deballe_tgz_dist()
Return values
array<string|int, mixed>|bool|int|string

En cas de réussite, Tableau décrivant le zip, avec les index suivant :

  • files : la liste des fichiers présents dans le zip,
  • size : la taille décompressée
  • compressed_size : la taille compressée
  • dirname : répertoire où les fichiers devront être décompréssés
  • tmpname : répertoire temporaire où les fichiers sont décompressés
  • target : cible sur laquelle décompresser les fichiers...

teleporter_http_deballe_zip_dist()

Déballer le fichier au format zip dans le répertoire $dest en utilisant le dossier temporaire $tmp si besoin

teleporter_http_deballe_zip_dist(string $archive, string $dest, string $tmp) : bool|string
Parameters
$archive : string

Chemin du fichier zip

$dest : string

Répertoire où on veut décompresser

$tmp : string

Répertoire de stockage temporaire

Tags
uses
teleporter_http_charger_zip()
Return values
bool|string

Répertoire où a été décompressé le zip, false sinon.

teleporter_http_charger_zip()

Charger un zip à partir d'un tableau d'options descriptives

teleporter_http_charger_zip([array<string|int, mixed> $quoi = [] ]) : array<string|int, mixed>|bool|int|string
Parameters
$quoi : array<string|int, mixed> = []

Tableau d'options

Tags
uses
SpipArchiver
used-by
teleporter_http_deballe_zip_dist()
Return values
array<string|int, mixed>|bool|int|string

En cas de réussite, Tableau décrivant le zip, avec les index suivant :

  • files : la liste des fichiers présents dans le zip,
  • size : la taille décompressée
  • compressed_size : la taille compressée
  • dirname : répertoire où les fichiers devront être décompréssés
  • tmpname : répertoire temporaire où les fichiers sont décompressés
  • target : cible sur laquelle décompresser les fichiers...

        
On this page

Search results