Documentation du code de SPIP et de ses plugins

Mashup Factory

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
uses
dataset_target_peupler()
uses
dataset_target_supprimer()
uses
dataset_target_stocker()
uses
dataset_target_consigner()
throws
Exception
used-by
action_executer_feed_dist()
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
uses
dataset_target_supprimer()
throws
Exception
used-by
action_vider_feed_dist()
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 vaut false.

Tags
uses
ezmashup_feed_initialiser_racine()
uses
ezmashup_feed_initialiser_dossier()
uses
ezmashup_feed_rechercher_yaml()
uses
feed_repertorier_categories()
uses
ezmashup_feed_initialiser_categorie_defaut()
uses
ezmashup_find_all_in_path()
uses
feed_repertorier()
used-by
action_recharger_feeds_dist()
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
uses
dataset_target_supprimer()
throws
Exception
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
throws
Exception
used-by
action_supprimer_feed_dist()
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 ou xml
  • index id : chaine représentant l'id de la source
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 ou xml
  • index decodage : pour un fichier csv permet de préciser le délimiteur
  • index id : chaine représentant l'id de la source
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 ou xml
  • index decodage : pour un fichier csv permet de préciser le délimiteur
  • index id : chaine représentant l'id de la source
$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.


        
On this page

Search results