ezmashup_feed.php
Ce fichier contient les fonctions d'API des `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_peupler() : 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.
- feed_repertorier() : array<string|int, mixed>
- Renvoie, pour un plugin utilisateur donné ou pour tous les plugins, une liste de description brute de feeds éventuellement filtrée sur certains champs.
- feed_charger() : array<string|int, mixed>
- Charge ou recharge en base de données les configurations des feeds à 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 éditable.
- feed_ressource_existe() : string
- Vérifie si un fichier ressource existe dans le dossier d'accueil du feed éditable concerné.
- feed_ressource_lire() : array<string|int, mixed>|bool|string
- Lit et décode un fichier ressource dans le dossier d'accueil des feeds éditables du plugin utilisateur.
- feed_ressource_ecrire() : string
- Encode un tableau et écrit le résultat dans un fichier ressource du d'accueil des feeds éditable du plugin utilisateur.
Functions
feed_peupler()
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_peupler(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 des enregistrements concernant le feed.
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.
feed_lire(string $plugin, string $id_feed[, null|bool $traiter_typo = false ]) : array<string|int, mixed>
Les champs JSON sont systématiquement décodés et champs textuels peuvent subir, sur demande, un traitement typo.
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.
Tags
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 description brute de feeds éventuellement filtrée sur certains champs.
feed_repertorier([null|string $plugin = '' ][, null|array<string|int, mixed> $filtres = [] ][, null|array<string|int, mixed> $champs_exclus = [] ]) : array<string|int, mixed>
Les champs JSON ne sont pas décodés.
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_charger()
Charge ou recharge en base de données les configurations des feeds à 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 de 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 feeds, 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 éditable.
feed_supprimer(string $plugin, string $id_feed) : array<string|int, mixed>
Cela consiste à supprimer le dossier du feed et l'ensemble de ses ressources (config.yaml et les fichiers sources éventuels).
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 éditable 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 fichierconfig.yaml
,source
pour un fichier source au 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 et décode un fichier ressource dans le dossier d'accueil des feeds éditables 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
Tags
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()
Encode un tableau et écrit le résultat dans un fichier ressource du d'accueil des feeds éditable 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.