API Documentation
Table of Contents
Constants
- _SVPAPI_CONFIG_CHAMPS = ['plugin' => [ // SVP référentiel par défaut 'prefixe' => ['svp' => \true, 'type' => ''], 'nom' => ['svp' => \true, 'type' => 'multi'], 'slogan' => ['svp' => \true, 'type' => 'multi'], 'vmax' => ['svp' => \true, 'type' => 'version'], 'date_crea' => ['svp' => \false, 'type' => ''], 'date_modif' => ['svp' => \false, 'type' => ''], 'compatibilite_spip' => ['svp' => \true, 'type' => ''], 'branches_spip' => ['svp' => \true, 'type' => 'liste'], // SVP Statistiques 'nbr_sites' => ['svp' => \false, 'type' => ''], 'popularite' => ['svp' => \false, 'type' => ''], ], 'paquet' => [ // SVP référentiel par défaut 'prefixe' => ['svp' => \true, 'type' => ''], 'logo' => ['svp' => \true, 'type' => ''], 'version' => ['svp' => \true, 'type' => 'version'], 'version_base' => ['svp' => \true, 'type' => 'version'], 'compatibilite_spip' => ['svp' => \true, 'type' => ''], 'branches_spip' => ['svp' => \true, 'type' => 'liste'], 'description' => ['svp' => \true, 'type' => 'multi'], 'auteur' => ['svp' => \true, 'type' => 'serial'], 'credit' => ['svp' => \false, 'type' => 'serial'], 'licence' => ['svp' => \false, 'type' => 'serial'], 'copyright' => ['svp' => \false, 'type' => 'serial'], 'lien_doc' => ['svp' => \true, 'type' => ''], 'lien_demo' => ['svp' => \true, 'type' => ''], 'lien_dev' => ['svp' => \false, 'type' => ''], 'etat' => ['svp' => \true, 'type' => ''], 'etatnum' => ['svp' => \true, 'type' => ''], 'dependances' => ['svp' => \false, 'type' => 'serial'], 'procure' => ['svp' => \false, 'type' => 'serial'], 'date_crea' => ['svp' => \false, 'type' => ''], 'date_modif' => ['svp' => \false, 'type' => ''], 'nom_archive' => ['svp' => \true, 'type' => ''], 'nbo_archive' => ['svp' => \true, 'type' => ''], 'maj_archive' => ['svp' => \true, 'type' => ''], 'src_archive' => ['svp' => \true, 'type' => ''], 'traductions' => ['svp' => \false, 'type' => 'serial'], ]]
- Liste des champs des objets plugin ou paquet contenue dans la réponse à l'API et type de normalisation à effectuer sur chaque champ le cas échéant.
Functions
- svpapi_api_verifier_contexte() : bool
- Détermine si le serveur est capable de répondre aux requêtes SVP.
- svpapi_reponse_informer_plugin() : array<string|int, mixed>
- Compléte le bloc d'information du plugin en supprimant le schéma du plugin SVP API qui n'existe pas par celui du plugin SVP sur lequel s'appuie SVP API.
- plugins_collectionner() : array<string|int, mixed>
- Récupère la liste des plugins de la table spip_plugins éventuellement filtrés par les critères additionnels positionnés dans la requête.
- plugins_ressourcer() : array<string|int, mixed>
- Retourne la description complète d'un plugin et de ses paquets.
- plugins_conditionner_compatible_spip() : string
- Construit la condition SQL inhérente au critère de filtre `compatible_spip`.
- plugins_verifier_filtre_compatible_spip() : bool
- Détermine si la valeur du critère compatibilité SPIP est valide.
- plugins_verifier_ressource_prefixe() : bool
- Détermine si la valeur du préfixe de plugin est valide.
- paquets_collectionner() : array<string|int, mixed>
- Récupère la liste des paquets hébergés par le serveur.
- paquets_conditionner_compatible_spip() : string
- Construit la condition SQL inhérente au critère de filtre `compatible_spip`.
- depots_collectionner() : array<string|int, mixed>
- Récupère la liste des dépôts hébergés par le serveur.
- plugin_normaliser_champs() : array<string|int, mixed>
- Transforme, pour un objet plugin ou paquet, les champs sérialisés, multi et liste (chaine d'éléments séparés par une virgule) en tableau et supprime des champs de type version les 0 à gauche des numéros.
- plugin_lister_champs() : array<string|int, mixed>
- Renvoie la liste des champs à renvoyer suite à une requête sur les collections paquets ou plugins.
- svpapi_liste_ezcollection() : array<string|int, mixed>
- Déclare les collections accessibles via l'API ezREST.
Constants
_SVPAPI_CONFIG_CHAMPS
Liste des champs des objets plugin ou paquet contenue dans la réponse à l'API et type de normalisation à effectuer sur chaque champ le cas échéant.
public
mixed
_SVPAPI_CONFIG_CHAMPS
= ['plugin' => [
// SVP référentiel par défaut
'prefixe' => ['svp' => \true, 'type' => ''],
'nom' => ['svp' => \true, 'type' => 'multi'],
'slogan' => ['svp' => \true, 'type' => 'multi'],
'vmax' => ['svp' => \true, 'type' => 'version'],
'date_crea' => ['svp' => \false, 'type' => ''],
'date_modif' => ['svp' => \false, 'type' => ''],
'compatibilite_spip' => ['svp' => \true, 'type' => ''],
'branches_spip' => ['svp' => \true, 'type' => 'liste'],
// SVP Statistiques
'nbr_sites' => ['svp' => \false, 'type' => ''],
'popularite' => ['svp' => \false, 'type' => ''],
], 'paquet' => [
// SVP référentiel par défaut
'prefixe' => ['svp' => \true, 'type' => ''],
'logo' => ['svp' => \true, 'type' => ''],
'version' => ['svp' => \true, 'type' => 'version'],
'version_base' => ['svp' => \true, 'type' => 'version'],
'compatibilite_spip' => ['svp' => \true, 'type' => ''],
'branches_spip' => ['svp' => \true, 'type' => 'liste'],
'description' => ['svp' => \true, 'type' => 'multi'],
'auteur' => ['svp' => \true, 'type' => 'serial'],
'credit' => ['svp' => \false, 'type' => 'serial'],
'licence' => ['svp' => \false, 'type' => 'serial'],
'copyright' => ['svp' => \false, 'type' => 'serial'],
'lien_doc' => ['svp' => \true, 'type' => ''],
'lien_demo' => ['svp' => \true, 'type' => ''],
'lien_dev' => ['svp' => \false, 'type' => ''],
'etat' => ['svp' => \true, 'type' => ''],
'etatnum' => ['svp' => \true, 'type' => ''],
'dependances' => ['svp' => \false, 'type' => 'serial'],
'procure' => ['svp' => \false, 'type' => 'serial'],
'date_crea' => ['svp' => \false, 'type' => ''],
'date_modif' => ['svp' => \false, 'type' => ''],
'nom_archive' => ['svp' => \true, 'type' => ''],
'nbo_archive' => ['svp' => \true, 'type' => ''],
'maj_archive' => ['svp' => \true, 'type' => ''],
'src_archive' => ['svp' => \true, 'type' => ''],
'traductions' => ['svp' => \false, 'type' => 'serial'],
]]
Functions
svpapi_api_verifier_contexte()
Détermine si le serveur est capable de répondre aux requêtes SVP.
svpapi_api_verifier_contexte(array<string, mixed> &$erreur) : bool
Pour cela on vérifie si le serveur est en mode run-time ou pas. On considère qu'un serveur en mode run-time n'est pas valide pour traiter les requêtes car la liste des plugins et des paquets n'est pas complète.
Parameters
- $erreur : array<string, mixed>
-
Tableau initialisé avec les index identifiant l'erreur ou vide si pas d'erreur. Les index mis à jour sont uniquement les suivants car les autres sont initialisés par l'appelant :
type
: identifiant de l'erreur 501, soitruntime_nok
element
: type d'objet sur lequel porte l'erreur, soitserveur
valeur
: la valeur du mode runtime
Return values
bool —true
si la valeur est valide, false
sinon.
svpapi_reponse_informer_plugin()
Compléte le bloc d'information du plugin en supprimant le schéma du plugin SVP API qui n'existe pas par celui du plugin SVP sur lequel s'appuie SVP API.
svpapi_reponse_informer_plugin(array<string|int, mixed> $contenu) : array<string|int, mixed>
Parameters
- $contenu : array<string|int, mixed>
-
Le contenu de la réponse dans son état après initialisation.
Return values
array<string|int, mixed> —Le contenu de la réponse avec l'index schema
supprimé et remplacé par l'index schema_svp
.
plugins_collectionner()
Récupère la liste des plugins de la table spip_plugins éventuellement filtrés par les critères additionnels positionnés dans la requête.
plugins_collectionner(array<string|int, mixed> $conditions, array<string, mixed> $filtres, array<string, mixed> $configuration) : array<string|int, mixed>
Les plugins fournis sont toujours issus d'un dépôt hébergé par le serveur ce qui exclu les plugins installés sur le serveur et non liés à un dépôt (par exemple un zip personnel). Chaque objet plugin est présenté comme un tableau dont tous les champs sont accessibles comme un type PHP simple, entier, chaine ou tableau.
Parameters
- $conditions : array<string|int, mixed>
-
Tableau des conditions SQL à appliquer au select et correspondant aux filtres passés dans la requête.
- $filtres : array<string, mixed>
-
Tableau des critères de filtrage additionnels à appliquer au select.
- $configuration : array<string, mixed>
-
Configuration de la collection.
Tags
Return values
array<string|int, mixed> —Tableau des plugins dont l'index est le préfixe du plugin. Les champs de type id ou maj ne sont pas renvoyés.
plugins_ressourcer()
Retourne la description complète d'un plugin et de ses paquets.
plugins_ressourcer(string $prefixe, array<string, mixed> $filtres, array<string, mixed> $configuration) : array<string|int, mixed>
Parameters
- $prefixe : string
-
La valeur du préfixe du plugin.
- $filtres : array<string, mixed>
-
Tableau des critères de filtrage additionnels à appliquer au select.
- $configuration : array<string, mixed>
-
Configuration de la collection.
Return values
array<string|int, mixed> —La description du plugin et de ses paquets, les champs étant tous normalisés (désérialisés).
plugins_conditionner_compatible_spip()
Construit la condition SQL inhérente au critère de filtre `compatible_spip`.
plugins_conditionner_compatible_spip(mixed $version) : string
Parameters
- $version : mixed
-
La valeur du critère compatibilite SPIP : une version, une branche ou une liste de branches séparées par des virgules.
Return values
string —Condition SQL du filtre.
plugins_verifier_filtre_compatible_spip()
Détermine si la valeur du critère compatibilité SPIP est valide.
plugins_verifier_filtre_compatible_spip(mixed $valeur, array<string, mixed> &$erreur) : bool
La fonction compare uniquement la structure de la chaine passée qui doit être cohérente avec un numéro de version ou de branche.
Parameters
- $valeur : mixed
-
La valeur du critère compatibilite SPIP
- $erreur : array<string, mixed>
-
Tableau initialisé avec les index identifiant l'erreur.
Return values
bool —true
si la valeur est valide, false
sinon.
plugins_verifier_ressource_prefixe()
Détermine si la valeur du préfixe de plugin est valide.
plugins_verifier_ressource_prefixe(string $prefixe, array<string, mixed> &$erreur) : bool
La fonction compare uniquement la structure de la chaine passée qui doit être cohérente avec celui d'un nom de variable.
Parameters
- $prefixe : string
-
La valeur du préfixe
- $erreur : array<string, mixed>
-
Tableau initialisé avec les index identifiant l'erreur.
Return values
bool —true
si la valeur est valide, false
sinon.
paquets_collectionner()
Récupère la liste des paquets hébergés par le serveur.
paquets_collectionner(array<string|int, mixed> $conditions, array<string, mixed> $filtres, array<string, mixed> $configuration) : array<string|int, mixed>
C'est la requête de base pour l'installation des plugins par SVP.
Parameters
- $conditions : array<string|int, mixed>
-
Tableau des conditions SQL à appliquer au select et correspondant aux filtres passés dans la requête.
- $filtres : array<string, mixed>
-
Tableau des critères de filtrage additionnels à appliquer au select.
- $configuration : array<string, mixed>
-
Configuration de la collection.
Return values
array<string|int, mixed> —Tableau des paquets. Les champs de type id ou maj ne sont pas renvoyés.
paquets_conditionner_compatible_spip()
Construit la condition SQL inhérente au critère de filtre `compatible_spip`.
paquets_conditionner_compatible_spip(mixed $version) : string
Parameters
- $version : mixed
-
La valeur du critère compatibilite SPIP : une version, une branche ou une liste de branches séparées par des virgules.
Return values
string —Condition SQL du filtre.
depots_collectionner()
Récupère la liste des dépôts hébergés par le serveur.
depots_collectionner(array<string|int, mixed> $conditions, array<string, mixed> $filtres, array<string, mixed> $configuration) : array<string|int, mixed>
Contrairement aux plugins et paquets les champs d'un dépôt ne nécessitent aucun formatage.
Parameters
- $conditions : array<string|int, mixed>
-
Tableau des conditions SQL à appliquer au select et correspondant aux filtres passés dans la requête.
- $filtres : array<string, mixed>
-
Tableau des critères de filtrage additionnels à appliquer au select.
- $configuration : array<string, mixed>
-
Configuration de la collection.
Return values
array<string|int, mixed> —Tableau des dépôts. Les champs de type id ou maj ne sont pas renvoyés.
plugin_normaliser_champs()
Transforme, pour un objet plugin ou paquet, les champs sérialisés, multi et liste (chaine d'éléments séparés par une virgule) en tableau et supprime des champs de type version les 0 à gauche des numéros.
plugin_normaliser_champs(string $type_objet, array<string|int, mixed> $objet) : array<string|int, mixed>
Parameters
- $type_objet : string
-
Type d'objet à normaliser, soit
plugin
oupaquet
. - $objet : array<string|int, mixed>
-
Tableau des champs de l'objet
plugin
oupaquet
à normaliser.
Tags
Return values
array<string|int, mixed> —Tableau des champs de l'objet plugin
ou paquet
normalisés.
plugin_lister_champs()
Renvoie la liste des champs à renvoyer suite à une requête sur les collections paquets ou plugins.
plugin_lister_champs(string $type_objet[, null|array<string|int, mixed> $options = [] ]) : array<string|int, mixed>
Parameters
- $type_objet : string
-
Type d'objet à normaliser, soit
plugin
oupaquet
. - $options : null|array<string|int, mixed> = []
-
Permet d'indiquer si la demande est pour SVP (gestion de l'installation des plugins) et le format de la liste souhaitée:
- pour_svp : true/false (par défaut true)
- avec_type : true, valeur par défaut, renvoie un tableau [champ] = type, false renvoie juste la liste des champs.
Return values
array<string|int, mixed> —Liste des champs de l'objet plugin
ou paquet
utiles.
svpapi_liste_ezcollection()
Déclare les collections accessibles via l'API ezREST.
svpapi_liste_ezcollection(array<string|int, mixed> $collections) : array<string|int, mixed>
Par défaut, le plugin propose les collections plugins
et depots
.
Parameters
- $collections : array<string|int, mixed>
-
Configuration des collections déjà déclarées.
Tags
Return values
array<string|int, mixed> —Collections complétées.