ezmashup_feed.php
Ce fichier contient les fonctions d'API des services appelés `feeds` du plugin Mashup Factory.
L'API permet de charger les feeds en base de données, de les lire unitairement ou globalement et d'en manipuler les datasets cible.
Table of Contents
Functions
- feed_executer() : array<string|int, mixed>
- Exécute, pour un feed donné d'un plugin utilisateur, le processus de mashup pour créer le dataset cible à partir du ou des datasets source.
- feed_vider() : array<string|int, mixed>
- Vide, pour un feed donné, les données du dataset cible.
- feed_lire() : array<string|int, mixed>
- Retourne, pour un feed donné, la description complète ou seulement un champ précis.
- feed_repertorier() : array<string|int, mixed>
- Renvoie, pour un plugin utilisateur donné ou pour tous les plugins, une liste de descriptions de feeds éventuellement filtrée sur certains champs fournis en argument.
- feed_repertorier_categories() : array<string|int, mixed>|string
- Renvoie tout ou partie de la liste des catégories de feed et de leur description.
- feed_charger() : array<string|int, mixed>
- Charge ou recharge en base de données les configurations des `feeds` (services) à partir des fichiers YAML.
- feed_decharger() : array<string|int, mixed>
- Vide, pour un plugin utilisateur donné, le feed concerné ou à défaut tous les feeds de la table spip_feeds, les données des datasets cible associés et les consignations.
- feed_supprimer() : array<string|int, mixed>
- Supprime un feed créé par formulaire. Cela consiste à supprimer le dossier du feed et l'ensemble de ses ressources (config.yaml et les fichiers sources éventuels).
- feed_ressource_existe() : string
- Vérifie si un fichier ressource existe dans le dossier d'accueil du feed concerné.
- feed_ressource_lire() : array<string|int, mixed>|bool|string
- Lit un fichier ressource dans le dossier d'accueil des feeds du plugin utilisateur.
- feed_ressource_ecrire() : string
- Ecrit un tableau dans un fichier ressource dans le dossier d'accueil des feeds du plugin utilisateur.
Functions
feed_executer()
Exécute, pour un feed donné d'un plugin utilisateur, le processus de mashup pour créer le dataset cible à partir du ou des datasets source.
feed_executer(string $plugin, string $id_feed) : array<string|int, mixed>
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_feed : string
-
Identifiant du feed.
Tags
Return values
array<string|int, mixed> —Tableau résultat de l'action : soit une erreur, soit une information sur le déroulement correct. Les index sont :
- int level : la gravité telle que définie pour les logs de spip
- string code : le code de l'information ou de l'erreur qui représente aussi l'item de langue
- array parameters : tableau associatif des paramètres de l'erreur à fournir à l'item de langue
feed_vider()
Vide, pour un feed donné, les données du dataset cible.
feed_vider(string $plugin, string $id_feed) : array<string|int, mixed>
Dans le cas, d'une cible au format fichier, le fichier est supprimé, dans le cas d'une table SQL, celle-ci est vidée de ses enregistrements.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_feed : string
-
Identifiant du feed.
Tags
Return values
array<string|int, mixed> —Tableau résultat de l'action : soit une erreur, soit une information sur le déroulement correct. Les index sont :
- int level : la gravité telle que définie pour les logs de spip
- string code : le code de l'information ou de l'erreur qui représente aussi l'item de langue
- array parameters : tableau associatif des paramètres de l'erreur à fournir à l'item de langue
feed_lire()
Retourne, pour un feed donné, la description complète ou seulement un champ précis.
feed_lire(string $plugin, string $id_feed[, null|bool $traiter_typo = false ]) : array<string|int, mixed>
Les champs textuels peuvent subir une traitement typo si demandé.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_feed : string
-
Identifiant du feed.
- $traiter_typo : null|bool = false
-
Indique si les données textuelles doivent être retournées brutes ou si elles doivent être traitées en utilisant la fonction typo. Par défaut l'indicateur vaut
false
. Les champs encodés en JSON sont eux toujours décodés.
Return values
array<string|int, mixed> —La description complète d'un feed donné. Les champs de type tableau sont systématiquement décodés et si demandé, les champs textuels peuvent être traités avec la fonction typo(). Si le couple (plugin, identifiant du feed) est invalide, la fonction retourne un tableau vide.
feed_repertorier()
Renvoie, pour un plugin utilisateur donné ou pour tous les plugins, une liste de descriptions de feeds éventuellement filtrée sur certains champs fournis en argument.
feed_repertorier([null|string $plugin = '' ][, null|array<string|int, mixed> $filtres = [] ][, null|array<string|int, mixed> $champs_exclus = [] ]) : array<string|int, mixed>
Parameters
- $plugin : null|string = ''
-
Préfixe du plugin utilisateur ou vide si tous les plugins.
- $filtres : null|array<string|int, mixed> = []
-
Tableau associatif
[champ] = valeur
de critères de filtres sur les descriptions de feed. Les opérateurs possibles sont l'égalité et la non égalité. - $champs_exclus : null|array<string|int, mixed> = []
-
Liste des champs du feed à exclure de la description renvoyée.
Return values
array<string|int, mixed> —Tableau des descriptions des feeds indexé par l'id du feed ou tableau vide sinon.
feed_repertorier_categories()
Renvoie tout ou partie de la liste des catégories de feed et de leur description.
feed_repertorier_categories(string $plugin[, null|string $id_categorie = '' ][, null|string $information = '' ]) : array<string|int, mixed>|string
Il est possible de demander toutes les catégories ou juste une seule désignée par son identifiant voire une seule information sur une catégorie donnée.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_categorie : null|string = ''
-
Identifiant de la catégorie ou chaine vide pour toutes les catégories.
- $information : null|string = ''
-
Information de la description d'une catégorie (name, description, icon).
Return values
array<string|int, mixed>|string —Liste des descriptions de catégorie, une description d'une seule catégorie voire une information.
feed_charger()
Charge ou recharge en base de données les configurations des `feeds` (services) à partir des fichiers YAML.
feed_charger(string $plugin[, null|bool $recharger = false ]) : array<string|int, mixed>
La fonction optimise le chargement en effectuant uniquement les traitements nécessaires en fonction des modifications, ajouts et suppressions des feeds identifiés en comparant les md5 des fichiers YAML.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $recharger : null|bool = false
-
Si
true
force le rechargement de tous les types de noisette, sinon le chargement se base sur le md5 des fichiers YAML. Par défaut vautfalse
.
Tags
Return values
array<string|int, mixed> —Tableau résultat de l'action : soit une erreur, soit une information sur le déroulement correct. Les index sont :
- int level : la gravité telle que définie pour les logs de spip
- string code : le code de l'information ou de l'erreur qui représente aussi l'item de langue
- array parameters : tableau associatif des paramètres de l'erreur à fournir à l'item de langue
feed_decharger()
Vide, pour un plugin utilisateur donné, le feed concerné ou à défaut tous les feeds de la table spip_feeds, les données des datasets cible associés et les consignations.
feed_decharger(string $plugin[, null|string $id_feed = '' ]) : array<string|int, mixed>
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_feed : null|string = ''
-
Identifiant du feed.
Tags
Return values
array<string|int, mixed> —Tableau résultat de l'action : soit une erreur, soit une information sur le déroulement correct. Les index sont :
- int level : la gravité telle que définie pour les logs de spip
- string code : le code de l'information ou de l'erreur qui représente aussi l'item de langue
- array parameters : tableau associatif des paramètres de l'erreur à fournir à l'item de langue
feed_supprimer()
Supprime un feed créé par formulaire. Cela consiste à supprimer le dossier du feed et l'ensemble de ses ressources (config.yaml et les fichiers sources éventuels).
feed_supprimer(string $plugin, string $id_feed) : array<string|int, mixed>
Les données du feed sont au préalable vidées et le feed lui-même est déchargé de la base.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_feed : string
-
Identifiant du type de noisette.
Tags
Return values
array<string|int, mixed> —Tableau résultat de l'action : soit une erreur, soit une information sur le déroulement correct. Les index sont :
- int level : la gravité telle que définie pour les logs de spip
- string code : le code de l'information ou de l'erreur qui représente aussi l'item de langue
- array parameters : tableau associatif des paramètres de l'erreur à fournir à l'item de langue
feed_ressource_existe()
Vérifie si un fichier ressource existe dans le dossier d'accueil du feed concerné.
feed_ressource_existe(string $plugin, string $id_feed, array<string|int, mixed> $ressource) : string
Le fichier peut-être le config.yaml du feed ou une source de données.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_feed : string
-
Identifiant du type de noisette.
- $ressource : array<string|int, mixed>
-
Identifie la ressource :
- index
type
:config
pour le fichier config.yaml,source
pour un fichier source de format YAML, JSON ou CSV - index
format
: définit le format de la ressource,csv
,json
,yaml
ouxml
- index
id
: chaine représentant l'id de la source
- index
Return values
string —Le chemin complet du fichier si valide, la chaine vide sinon.
feed_ressource_lire()
Lit un fichier ressource dans le dossier d'accueil des feeds du plugin utilisateur.
feed_ressource_lire(string $plugin, string $id_feed, array<string|int, mixed> $ressource) : array<string|int, mixed>|bool|string
Le fichier peut-être le config.yaml du feed ou une source de données.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_feed : string
-
Identifiant du type de noisette.
- $ressource : array<string|int, mixed>
-
Identifie la ressource :
- index
type
:config
pour le fichier config.yaml,source
pour un fichier source de format YAML, JSON ou CSV - index
format
: définit le format de la ressource,csv
,json
,yaml
ouxml
- index
decodage
: pour un fichier csv permet de préciser le délimiteur - index
id
: chaine représentant l'id de la source
- index
Return values
array<string|int, mixed>|bool|string —Contenu du fichier sous la forme d'un tableau, d'une chaine ou false si une erreur s'est produite.
feed_ressource_ecrire()
Ecrit un tableau dans un fichier ressource dans le dossier d'accueil des feeds du plugin utilisateur.
feed_ressource_ecrire(string $plugin, string $id_feed, array<string|int, mixed> $ressource, array<string|int, mixed>|string $contenu) : string
Le fichier peut-être le config.yaml du feed ou une source de données.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $id_feed : string
-
Identifiant du type de noisette.
- $ressource : array<string|int, mixed>
-
Identifie la ressource :
- index
type
:config
pour le fichier config.yaml,source
pour un fichier source de format YAML, JSON ou CSV - index
format
: définit le format de la ressource,csv
,json
,yaml
ouxml
- index
decodage
: pour un fichier csv permet de préciser le délimiteur - index
id
: chaine représentant l'id de la source
- index
- $contenu : array<string|int, mixed>|string
-
Données à inscrire dans le fichier déjà encodé ou non. C'est Cache Factory qui s'en occupera.
Return values
string —Le chemin complet si la ressource a bien été écrite, chaine vide sinon.