Documentation du code de SPIP et de ses plugins

Mashup Factory

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
uses
feed_lire()
uses
dataset_target_peupler()
uses
dataset_target_supprimer()
uses
dataset_target_stocker()
uses
dataset_target_consigner()
uses
ezmashup_feed_completer_peuplement()
uses
ezmashup_log_creer_message()
throws
Exception
used-by
action_peupler_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 des enregistrements concernant le feed.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$id_feed : string

Identifiant du feed.

Tags
uses
feed_lire()
uses
dataset_target_supprimer()
uses
ezmashup_feed_completer_vidage()
uses
ezmashup_log_creer_message()
throws
Exception
used-by
action_vider_feed_dist()
used-by
feed_decharger()
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
used-by
feed_action_definir_url()
used-by
feed_peupler()
used-by
feed_vider()
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 vaut false.

Tags
uses
ezmashup_feed_initialiser_dossier()
uses
ezmashup_feed_rechercher_yaml()
uses
feed_categorie_repertorier()
uses
ezmashup_feed_categorie_initialiser_defaut()
uses
ezmashup_find_all_in_path()
uses
feed_repertorier()
uses
ezmashup_log_creer_message()
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
feed_repertorier()
uses
feed_vider()
uses
ezmashup_log_creer_message()
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 é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
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 é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 fichier config.yaml, source pour un fichier source au 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 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 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
Tags
throws
Exception
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 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