Documentation du code de SPIP et de ses plugins

Mashup Factory

Documentation

Table of Contents

Packages

Application
SPIP

Constants

_EXTRAIRE_IDIOME  = ',<:(?:([a-z0-9_]+):)?([a-z0-9_]*):/?>,iS'
Extrait les composants d'un idiome de langue utilisable dans un YAML '@<:(?:([a-z0-9_]+):)?([a-z0-9_]+):>@isS'.
_EXTRAIRE_MULTI  = '@<multi>(.*?)</multi>@sS'
Restaure cette constante à partir de SPIP 4.2.
_EZMASHUP_COEFF_MAX_DISTANT  = 5
_EZMASHUP_TARGET_SQL_DATE_FIELD_TYPES  = ['DATE']
_EZMASHUP_TARGET_SQL_DATETIME_FIELD_TYPES  = ['DATETIME', 'TIMESTAMP']
_EZMASHUP_TARGET_SQL_NUMERIC_FIELD_TYPES  = ['BIT', 'TINYINT', 'BOOL', 'BOOLEAN', 'SMALLINT', 'MEDIUMINT', 'INT', 'INTEGER', 'BIGINT', 'FLOAT', 'DOUBLE', 'DECIMAL', 'DEC']
_EZMASHUP_TARGET_SQL_TIME_FIELD_TYPES  = ['TIME']
_EZMASHUP_TARGET_SQL_YEAR_FIELD_TYPES  = ['YEAR']

Functions

action_executer_feed_dist()  : array<string|int, mixed>
Cette action permet à l'utilisateur de reconstruire, de façon sécurisée, le dataset cible correspondant au feed.
action_recharger_feeds_dist()  : void
Cette action permet à l'utilisateur de recharger en base de données, de façon sécurisée, les feeds d'un plugin utilisateur donné à partir de leur fichier YAML.
action_supprimer_feed_dist()  : array<string|int, mixed>
Cette action permet à l'utilisateur de supprimer, de façon sécurisée, 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).
action_vider_feed_dist()  : array<string|int, mixed>
Cette action permet à l'utilisateur de vider, de façon sécurisée, le dataset cible correspondant au feed.
ezmashup_declarer_tables_interfaces()  : array<string|int, mixed>
Déclaration des informations tierces (alias, traitements, jointures, etc) sur les tables de la base de données modifiées ou ajoutées par le plugin.
ezmashup_declarer_tables_principales()  : array<string|int, mixed>
Déclaration des nouvelles tables de la base de données propres au plugin.
ezmashup_cache_configurer()  : array<string, mixed>
Renvoie la configuration spécifique des caches gérés par Mashup Factory pour les targets (fichiers contenant les données du mashup).
ezmashup_plugin_autoriser()  : bool
Renvoie l'autorisation minimale d'un plugin utilisateur de Mashup Factory.
ezmashup_feed_lister_categories()  : array<string|int, mixed>
Renvoie la liste des catégories et leur description.
ezmashup_feed_initialiser_categorie_defaut()  : string
Renvoie la liste des catégories et leur description.
ezmashup_feed_initialiser_dossier()  : string
Renvoie la configuration par défaut du dossier relatif où trouver les feeds.
ezmashup_feed_rechercher_yaml()  : array<string|int, mixed>
Trouve les fichiers de configuration d'un feed en fonction du dossier racine où ils sont stockés.
ezmashup_feed_completer_execution()  : void
Finalise l'exécution d'un feed uniquement si celle-ci s'est correctement déroulée.
ezmashup_feed_completer_vidage()  : void
Finalise le vidage d'un feed uniquement si celui-ci s'est correctement déroulé.
ezmashup_feed_rediriger_admin()  : string
Renvoie l'URL de redirection suite à une action d'administration sur un feed.
ezmashup_target_initialiser_dossier()  : string
Renvoie la configuration par défaut du dossier relatif où stocker les datasets cible de type fichier.
ezmashup_target_completer_consigne()  : array<string|int, mixed>
Complète éventuellement la consigne de peuplement d'un dataset cible.
ezmashup_record_completer()  : array<string|int, mixed>
Complète un record de la cible déjà rempli avec les valeurs par défaut et les champs basiques et extra : - construction d'un champ label multilangues (avant ou après les traitements spécifiques au feed) - traitements spécifiques au feed - suppression des champs non utilisés dans le stockage de la cible.
ezmashup_record_fusionner()  : array<string|int, mixed>
Fusionne un record déjà rempli avec le record existant de même clé primaire dans la liste des records.
ezmashup_record_completer_traduction()  : string
Complète un texte sous forme de balise multi avec une liste de traductions.
ezmashup_record_list_completer()  : array<string|int, mixed>
Finalise la liste des records constituées à partir de la source.
ezmashup_item_completer()  : array<string|int, mixed>
Complète un item de la source venant d'être extrait.
ezmashup_normaliser_idiome()  : string
Compile les traductions du nom, slogan et description d'une boussole, d'un groupe ou d'uns site.
ezmashup_upgrade()  : void
Installation du schéma de données propre au plugin et gestion des migrations suivant les évolutions du schéma.
ezmashup_vider_tables()  : void
Suppression de l'ensemble du schéma de données propre au plugin, c'est-à-dire les tables et les variables de configuration.
ezmashup_autoriser()  : mixed
Fonction appelée par le pipeline.
autoriser_ezmashup_dist()  : bool
Autorisation minimale d'accès à toutes les pages du plugin Mashup Factory ou d'un plugin utilisateur.
autoriser_feed_creer_dist()  : bool
Autorisation de créer des feeds (page feeds ou autre page spécifique d'un plugin utilisateur).
autoriser_feeds_voir_dist()  : bool
Autorisation de voir la liste des feeds (page feeds ou autre page spécifique d'un plugin utilisateur).
autoriser_feeds_charger_dist()  : bool
Autorisation de charger les feeds d'un plugin utilisateur dans la table `spip_feeds`.
autoriser_feed_actionner_dist()  : bool
Autorisation de peupler ou de vider le dataset cible d'un feed et pour les feeds éditables, de supprimer ou d'éditer d'un feed.
balise_FEED_CATEGORIES_dist()  : Champ
Compile la balise `#FEED_CATEGORIES` qui fournit la configuration d'une ou des catégories affectées aux différents feeds, pour un plugin utilisateur donné.
balise_EZMASHUP_PLUGINS_dist()  : Champ
Compile la balise `#EZMASHUP_PLUGINS` qui fournit les plugins utilisateur actifs implémentant des feeds.
ezmashup_lister_plugins()  : array<string|int, mixed>
Renvoie la liste des préfixes des plugins actifs ou tous les plugins utilisant Mashup Factory.
feed_taglist_afficher()  : string
Construit la liste des tags non techniques du feed pour un affichage.
ezmashup_liste_ezcollection()  : array<string|int, mixed>
Déclare les collections accessibles via l'API ezREST.
feeds_collectionner()  : array<string|int, mixed>
Récupère les configuration des services.
feeds_conditionner_categorie()  : string
Calcule la condition du filtre `categorie` pour lequel il est possible de passer une liste d'identifiants séparés par une virgule.
formulaires_admin_feeds_charger_dist()  : array<string|int, mixed>
Chargement du formulaire d'administration des feeds.
formulaires_admin_feeds_traiter_dist()  : array<string|int, mixed>
Traitement du formulaire d'administration des feeds.
dataset_source_normaliser_configuration()  : array<string|int, mixed>
Normalise un dataset source donné.
dataset_source_extraire()  : array<string|int, mixed>
Extrait le contenu des datasets source basiques ou d'un dataset source addon donné.
dataset_source_requeter()  : string
Renvoie, à partir de l'url fournie, le contenu brut récupéré ou une erreur sinon.
dataset_source_decoder()  : array<string|int, mixed>
Décode un contenu d'une source pour en extraire un tableau de données.
dataset_target_peupler()  : array<string|int, mixed>
Constitue, à partir, d'un fichier CSV ou XML ou d'une page HTML au format texte, un tableau des éléments prêt à être inséré dans une table de la base de données.
dataset_target_supprimer()  : bool
Supprime, une target d'un feed donné.
dataset_target_stocker()  : int
Stocke les enregistrements du dataset cible dans l'espace indiqué dans la configuration du feed.
dataset_target_consigner()  : void
Consigne l'exécution d'un feed dans la meta adéquate.
dataset_target_informer()  : array<string|int, mixed>
Lit la consignation de l'exécution d'un feed ou de tous les feeds d'un plugin utilisateur à partir de sa meta.
dataset_target_deconsigner()  : void
Supprime la consignation de l'exécution d'un feed.
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.
record_initialiser()  : array<string|int, mixed>
Initialise le record d'un dataset cible avec des valeurs par défaut.
record_remplir()  : array<string|int, mixed>
Initialise le record d'un dataset cible avec des valeurs par défaut.
record_normaliser_champs_sql()  : array<string|int, mixed>
Renvoie la description normalisée SQL de la table.

Constants

_EXTRAIRE_IDIOME

Extrait les composants d'un idiome de langue utilisable dans un YAML '@<:(?:([a-z0-9_]+):)?([a-z0-9_]+):>@isS'.

public mixed _EXTRAIRE_IDIOME = ',<:(?:([a-z0-9_]+):)?([a-z0-9_]*):/?>,iS'

_EXTRAIRE_MULTI

Restaure cette constante à partir de SPIP 4.2.

public mixed _EXTRAIRE_MULTI = '@<multi>(.*?)</multi>@sS'

_EZMASHUP_TARGET_SQL_DATE_FIELD_TYPES

public mixed _EZMASHUP_TARGET_SQL_DATE_FIELD_TYPES = ['DATE']

_EZMASHUP_TARGET_SQL_DATETIME_FIELD_TYPES

public mixed _EZMASHUP_TARGET_SQL_DATETIME_FIELD_TYPES = ['DATETIME', 'TIMESTAMP']

_EZMASHUP_TARGET_SQL_NUMERIC_FIELD_TYPES

public mixed _EZMASHUP_TARGET_SQL_NUMERIC_FIELD_TYPES = ['BIT', 'TINYINT', 'BOOL', 'BOOLEAN', 'SMALLINT', 'MEDIUMINT', 'INT', 'INTEGER', 'BIGINT', 'FLOAT', 'DOUBLE', 'DECIMAL', 'DEC']

_EZMASHUP_TARGET_SQL_TIME_FIELD_TYPES

public mixed _EZMASHUP_TARGET_SQL_TIME_FIELD_TYPES = ['TIME']

_EZMASHUP_TARGET_SQL_YEAR_FIELD_TYPES

public mixed _EZMASHUP_TARGET_SQL_YEAR_FIELD_TYPES = ['YEAR']

Functions

action_executer_feed_dist()

Cette action permet à l'utilisateur de reconstruire, de façon sécurisée, le dataset cible correspondant au feed.

action_executer_feed_dist([null|string $arguments = null ]) : array<string|int, mixed>

Cette action est réservée aux utilisateurs pouvant exécuter un feed. Elle nécessite l'id du feed et le préfixe du plugin utilisateur.

Parameters
$arguments : null|string = null

Arguments de l'action ou null si l'action est appelée par une URL

Tags
uses
feed_executer()
throws
Exception
Return values
array<string|int, mixed>

Tableau de retour contenant l'erreur éventuelle

action_recharger_feeds_dist()

Cette action permet à l'utilisateur de recharger en base de données, de façon sécurisée, les feeds d'un plugin utilisateur donné à partir de leur fichier YAML.

action_recharger_feeds_dist([null|string $arguments = null ]) : void

Cette action est réservée aux utilisateurs pouvant utiliser le plugin Mashup Factory. Elle nécessite le préfixe du plugin utilisateur comme seul argument.

Parameters
$arguments : null|string = null

Arguments de l'action ou null si l'action est appelée par une URL

Tags
uses
feed_charger()

action_supprimer_feed_dist()

Cette action permet à l'utilisateur de supprimer, de façon sécurisée, 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).

action_supprimer_feed_dist([null|string $arguments = null ]) : 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.

Cette action est réservée aux utilisateurs pouvant actionner un feed. Elle nécessite l'id du feed et le préfixe du plugin utilisateur.

Parameters
$arguments : null|string = null

Arguments de l'action ou null si l'action est appelée par une URL

Tags
uses
feed_supprimer()
throws
Exception
Return values
array<string|int, mixed>

Tableau de retour contenant l'erreur éventuelle

action_vider_feed_dist()

Cette action permet à l'utilisateur de vider, de façon sécurisée, le dataset cible correspondant au feed.

action_vider_feed_dist([null|string $arguments = null ]) : array<string|int, mixed>

Cette action est réservée aux utilisateurs pouvant exécuter un feed. Elle nécessite l'id du feed et le préfixe du plugin utilisateur.

Parameters
$arguments : null|string = null

Arguments de l'action ou null si l'action est appelée par une URL

Tags
uses
feed_vider()
throws
Exception
Return values
array<string|int, mixed>

Tableau de retour contenant l'erreur éventuelle

ezmashup_declarer_tables_interfaces()

Déclaration des informations tierces (alias, traitements, jointures, etc) sur les tables de la base de données modifiées ou ajoutées par le plugin.

ezmashup_declarer_tables_interfaces(array<string|int, mixed> $interface) : array<string|int, mixed>

Le plugin se contente de déclarer les alias des tables et quelques traitements.

Parameters
$interface : array<string|int, mixed>

Tableau global des informations tierces sur les tables de la base de données

Tags
pipeline

declarer_tables_interfaces

Return values
array<string|int, mixed>

Tableau fourni en entrée et mis à jour avec les nouvelles informations

ezmashup_declarer_tables_principales()

Déclaration des nouvelles tables de la base de données propres au plugin.

ezmashup_declarer_tables_principales(array<string|int, mixed> $tables_principales) : array<string|int, mixed>

Le plugin déclare une nouvelle table :

  • spip_feeds, qui contient les éléments descriptifs des feeds du mashup (services).
Parameters
$tables_principales : array<string|int, mixed>

Tableau global décrivant la structure des tables de la base de données

Tags
pipeline

declarer_tables_principales

Return values
array<string|int, mixed>

Tableau fourni en entrée et mis à jour avec les nouvelles déclarations

ezmashup_cache_configurer()

Renvoie la configuration spécifique des caches gérés par Mashup Factory pour les targets (fichiers contenant les données du mashup).

ezmashup_cache_configurer(string $plugin) : array<string, mixed>
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

Return values
array<string, mixed>

Tableau de la configuration brute du plugin Taxonomie.

ezmashup_plugin_autoriser()

Renvoie l'autorisation minimale d'un plugin utilisateur de Mashup Factory.

ezmashup_plugin_autoriser(string $plugin, null|array<string|int, mixed>|int $qui) : bool

Le plugin Mashup Factory autorise, par défaut, les administrateurs complets.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$qui : null|array<string|int, mixed>|int

L'initiateur de l'action:

  • si null on prend alors visiteur_session
  • un id_auteur (on regarde dans la base)
  • un tableau auteur complet, y compris [restreint]
Tags
uses
ezmashup_chercher_service()
used-by
autoriser_ezmashup_dist()
Return values
bool

truesi l'auteur est autorisée à l'utilisation de base du plugin Mashup Factory, false sinon.

ezmashup_feed_lister_categories()

Renvoie la liste des catégories et leur description.

ezmashup_feed_lister_categories(string $plugin) : array<string|int, mixed>

Le plugin Mashup Factory fournit une liste limitée par défaut.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

Tags
uses
ezmashup_chercher_service()
Return values
array<string|int, mixed>

Liste des catégories et de leur description au format [id] = tableau de description avec le nom (label), la description et l'icone.

ezmashup_feed_initialiser_categorie_defaut()

Renvoie la liste des catégories et leur description.

ezmashup_feed_initialiser_categorie_defaut(string $plugin) : string

Le plugin Mashup Factory fournit une liste limitée par défaut.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

Tags
uses
ezmashup_chercher_service()
used-by
feed_charger()
Return values
string

Identifiant de la catégorie par défaut.

ezmashup_feed_initialiser_dossier()

Renvoie la configuration par défaut du dossier relatif où trouver les feeds.

ezmashup_feed_initialiser_dossier(string $plugin) : string

Cette information est utilisée a minima au chargement des feeds disponibles.

Le service de Mashup Factory considère que par défaut le dossier relatif des types de noisette est feeds/.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

Tags
uses
ezmashup_chercher_service()
used-by
ezmashup_feed_rechercher_yaml()
used-by
feed_charger()
Return values
string

Chemin relatif du dossier où chercher les feeds.

ezmashup_feed_rechercher_yaml()

Trouve les fichiers de configuration d'un feed en fonction du dossier racine où ils sont stockés.

ezmashup_feed_rechercher_yaml(string $plugin) : array<string|int, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur.

Tags
uses
ezmashup_feed_initialiser_dossier()
uses
ezmashup_chercher_service()
used-by
feed_charger()
Return values
array<string|int, mixed>

Liste des fichiers trouvés selon le format demandé dans les options

ezmashup_feed_completer_execution()

Finalise l'exécution d'un feed uniquement si celle-ci s'est correctement déroulée.

ezmashup_feed_completer_execution(string $plugin, array<string|int, mixed> $feed) : void

Le plugin Mashup Factory supprime les caches ezREST des feeds de façon à s'assurer que toute requête les concernant remonte les informations les plus à jour et cohérentes avec le contenu des feeds.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$feed : array<string|int, mixed>

Configuration du feed

Tags
uses
cache_reponse_vider()
uses
ezmashup_chercher_service()

ezmashup_feed_completer_vidage()

Finalise le vidage d'un feed uniquement si celui-ci s'est correctement déroulé.

ezmashup_feed_completer_vidage(string $plugin, array<string|int, mixed> $feed) : void

Le plugin Mashup Factory ne fait rien de particulier actuellement.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$feed : array<string|int, mixed>

Configuration du feed

Tags
uses
ezmashup_chercher_service()

ezmashup_feed_rediriger_admin()

Renvoie l'URL de redirection suite à une action d'administration sur un feed.

ezmashup_feed_rediriger_admin(string $plugin, string $action, array<string|int, mixed> $feed) : string

Les actions d'administration sont actuellement limitée à exécuter, vider, éditer ou supprimer mais pour l'instant seule l'action d'édition de feed nécessite une redirection vers le formulaire idoine.

Le plugin Mashup Factory ne fait rien de particulier actuellement.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$action : string

Action d'aministration venant d'être exécutée avec succès

$feed : array<string|int, mixed>

Description complète du feed

Tags
uses
ezmashup_chercher_service()
Return values
string

URL de redirection

ezmashup_target_initialiser_dossier()

Renvoie la configuration par défaut du dossier relatif où stocker les datasets cible de type fichier.

ezmashup_target_initialiser_dossier(string $plugin) : string

Le service de Mashup Factory considère que par défaut le dossier relatif des types de noisette est targets/ et est inclus dans le dossier de base _DIR_ETC/ezmashup/.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

Tags
uses
ezmashup_chercher_service()
used-by
dataset_target_supprimer()
Return values
string

Chemin relatif du dossier où chercher les feeds.

ezmashup_target_completer_consigne()

Complète éventuellement la consigne de peuplement d'un dataset cible.

ezmashup_target_completer_consigne(string $plugin, array<string|int, mixed> $consigne, array<string|int, mixed> $enregistrements, array<string|int, mixed> $feed) : array<string|int, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur.

$consigne : array<string|int, mixed>

Consigne initialisé par défaut par Mashup Factory

$enregistrements : array<string|int, mixed>

Liste des enregistrement du dataset cible

$feed : array<string|int, mixed>

Configuration du feed

Tags
uses
ezmashup_chercher_service()
Return values
array<string|int, mixed>

Consigne éventuellement mise à jour.

ezmashup_record_completer()

Complète un record de la cible déjà rempli avec les valeurs par défaut et les champs basiques et extra : - construction d'un champ label multilangues (avant ou après les traitements spécifiques au feed) - traitements spécifiques au feed - suppression des champs non utilisés dans le stockage de la cible.

ezmashup_record_completer(string $plugin, array<string|int, mixed> $enregistrement, array<string|int, mixed> $feed) : array<string|int, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur.

$enregistrement : array<string|int, mixed>

Enregistrement du dataset cible déjà rempli

$feed : array<string|int, mixed>

Configuration du feed

Tags
uses
ezmashup_record_compiler_label()
uses
ezmashup_chercher_service()
Return values
array<string|int, mixed>

Enregistrement mis à jour.

ezmashup_record_fusionner()

Fusionne un record déjà rempli avec le record existant de même clé primaire dans la liste des records.

ezmashup_record_fusionner(string $plugin, array<string|int, mixed> $enregistrement_en_cours, array<string|int, mixed> $enregistrement_en_liste, array<string|int, mixed> $feed) : array<string|int, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur.

$enregistrement_en_cours : array<string|int, mixed>

Enregistrement du dataset cible en cours de constitution

$enregistrement_en_liste : array<string|int, mixed>

Enregistrement du dataset cible déjà dans la liste

$feed : array<string|int, mixed>

Configuration du feed

Tags
uses
ezmashup_chercher_service()
Return values
array<string|int, mixed>

Item mis à jour

ezmashup_record_completer_traduction()

Complète un texte sous forme de balise multi avec une liste de traductions.

ezmashup_record_completer_traduction(string $multi_in, array<string|int, mixed> $traductions) : string

Les nouvelles traductions, si elles sont non vides, sont soit ajoutées, soit écrasent la traduction courante.

Parameters
$multi_in : string

Chaine au format <multi>.

$traductions : array<string|int, mixed>

Tableau des traductions à ajouter (format [langue] = texte).

Return values
string

Chaine complétée au format <multi>.

ezmashup_record_list_completer()

Finalise la liste des records constituées à partir de la source.

ezmashup_record_list_completer(string $plugin, array<string|int, mixed> $enregistrements, array<string|int, mixed> $feed) : array<string|int, mixed>

Par défaut, Mashup Factory calcule, si besoin, le champ profondeur pour les hiérarchies. Sinon, le plugin appelle un traitement spécifique au feed, si nécessaire.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$enregistrements : array<string|int, mixed>

Liste des enregistrement du dataset cible

$feed : array<string|int, mixed>

Configuration du feed

Tags
uses
ezmashup_chercher_service()
Return values
array<string|int, mixed>

Enregistrement mis à jour

ezmashup_item_completer()

Complète un item de la source venant d'être extrait.

ezmashup_item_completer(string $plugin, array<string|int, mixed> $item, array<string|int, mixed> $feed) : array<string|int, mixed>

Le plugin Mashup Factory ne fait rien par défaut.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$item : array<string|int, mixed>

Item d'un dataset source

$feed : array<string|int, mixed>

Configuration du feed

Tags
uses
ezmashup_chercher_service()
Return values
array<string|int, mixed>

Item mis à jour

ezmashup_normaliser_idiome()

Compile les traductions du nom, slogan et description d'une boussole, d'un groupe ou d'uns site.

ezmashup_normaliser_idiome(string $plugin, string $idiome) : string

La fonction renvoie une balise pour chaque traduction.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$idiome : string

Identifiant de la boussole

Return values
string

Les traductions de l'idiome en multi ou le texte fourni en entrée si celui-ci n'est pas un idiome

ezmashup_upgrade()

Installation du schéma de données propre au plugin et gestion des migrations suivant les évolutions du schéma.

ezmashup_upgrade(string $nom_meta_base_version, string $version_cible) : void

Le schéma comprend des tables et des variables de configuration.

Parameters
$nom_meta_base_version : string

Nom de la meta dans laquelle sera rangée la version du schéma

$version_cible : string

Version du schéma de données en fin d'upgrade

ezmashup_vider_tables()

Suppression de l'ensemble du schéma de données propre au plugin, c'est-à-dire les tables et les variables de configuration.

ezmashup_vider_tables(string $nom_meta_base_version) : void
Parameters
$nom_meta_base_version : string

Nom de la meta dans laquelle sera rangée la version du schéma

autoriser_ezmashup_dist()

Autorisation minimale d'accès à toutes les pages du plugin Mashup Factory ou d'un plugin utilisateur.

autoriser_ezmashup_dist(string $faire, string $type, int $id, null|array<string|int, mixed>|int $qui, null|array<string|int, mixed> $options) : bool

Il faut :

  • fournir un préfixe valide de plugin actif.
  • et, par défaut, être un administrateur complet. Néanmoins, un plugin utilisateur peut personnaliser cette autorisation au travers d'un service dédié.

Cette autorisation est à la base des autres autorisations du plugin.

Parameters
$faire : string

L'action : ezmashup

$type : string

Le type d'objet ou nom de table : chaine vide

$id : int

Id de l'objet sur lequel on veut agir : 0, inutilisé

$qui : null|array<string|int, mixed>|int

L'initiateur de l'action:

  • si null on prend alors visiteur_session
  • un id_auteur (on regarde dans la base)
  • un tableau auteur complet, y compris [restreint]
$options : null|array<string|int, mixed>

Tableau d'options sous forme de tableau associatif : plugin, préfixe du plugin utilisateur

Tags
uses
ezmashup_plugin_autoriser()
Return values
bool

truesi l'auteur est autorisée à exécuter l'action, false sinon.

autoriser_feed_creer_dist()

Autorisation de créer des feeds (page feeds ou autre page spécifique d'un plugin utilisateur).

autoriser_feed_creer_dist(string $faire, string $type, int $id, null|array<string|int, mixed>|int $qui, null|array<string|int, mixed> $options) : bool

Il faut :

  • posséder l'autorisation minimale ezmashup.
Parameters
$faire : string

L'action : creer

$type : string

Le type d'objet ou nom de table : feed (ce n'est pas un objet au sens SPIP)

$id : int

Id de l'objet sur lequel on veut agir : 0, inutilisé

$qui : null|array<string|int, mixed>|int

L'initiateur de l'action:

  • si null on prend alors visiteur_session
  • un id_auteur (on regarde dans la base)
  • un tableau auteur complet, y compris [restreint]
$options : null|array<string|int, mixed>

Tableau d'options sous forme de tableau associatif : plugin, préfixe du plugin utilisateur

Return values
bool

truesi l'auteur est autorisée à exécuter l'action, false sinon.

autoriser_feeds_voir_dist()

Autorisation de voir la liste des feeds (page feeds ou autre page spécifique d'un plugin utilisateur).

autoriser_feeds_voir_dist(string $faire, string $type, int $id, null|array<string|int, mixed>|int $qui, null|array<string|int, mixed> $options) : bool

Il faut :

  • posséder l'autorisation minimale ezmashup.
Parameters
$faire : string

L'action : voir

$type : string

Le type d'objet ou nom de table : _feeds (ce n'est pas un objet au sens SPIP)

$id : int

Id de l'objet sur lequel on veut agir : 0, inutilisé

$qui : null|array<string|int, mixed>|int

L'initiateur de l'action:

  • si null on prend alors visiteur_session
  • un id_auteur (on regarde dans la base)
  • un tableau auteur complet, y compris [restreint]
$options : null|array<string|int, mixed>

Tableau d'options sous forme de tableau associatif : plugin, préfixe du plugin utilisateur

Return values
bool

truesi l'auteur est autorisée à exécuter l'action, false sinon.

autoriser_feeds_charger_dist()

Autorisation de charger les feeds d'un plugin utilisateur dans la table `spip_feeds`.

autoriser_feeds_charger_dist(string $faire, string $type, int $id, null|array<string|int, mixed>|int $qui, null|array<string|int, mixed> $options) : bool

Il faut :

  • posséder l'autorisation minimale ezmashup.
Parameters
$faire : string

Action demandée : modifier

$type : string

Le type d'objet ou nom de table : _feeds (ce n'est pas un objet au sens SPIP)

$id : int

Identifiant de l'objet : 0, inutilisé

$qui : null|array<string|int, mixed>|int

L'initiateur de l'action:

  • si null on prend alors visiteur_session
  • un id_auteur (on regarde dans la base)
  • un tableau auteur complet, y compris [restreint]
$options : null|array<string|int, mixed>

Tableau d'options sous forme de tableau associatif : plugin, préfixe du plugin utilisateur

Return values
bool

truesi l'auteur est autorisée à exécuter l'action, false sinon.

autoriser_feed_actionner_dist()

Autorisation de peupler ou de vider le dataset cible d'un feed et pour les feeds éditables, de supprimer ou d'éditer d'un feed.

autoriser_feed_actionner_dist(string $faire, string $type, int $id, null|array<string|int, mixed>|int $qui, null|array<string|int, mixed> $options) : bool

Il faut :

  • posséder l'autorisation minimale ezmashup.
  • fournir un identifiant de feed existant.
Parameters
$faire : string

Action demandée : actionner (pour peupler, vider, éditer, ou supprimer)

$type : string

Type d'objet sur lequel appliquer l'action : feed

$id : int

Identifiant de l'objet : celui du feed sur lequel appliquer l'action

$qui : null|array<string|int, mixed>|int

L'initiateur de l'action:

  • si null on prend alors visiteur_session
  • un id_auteur (on regarde dans la base)
  • un tableau auteur complet, y compris [restreint]
$options : null|array<string|int, mixed>

Tableau d'options sous forme de tableau associatif : plugin, préfixe du plugin utilisateur

Return values
bool

truesi l'auteur est autorisée à exécuter l'action, false sinon.

balise_FEED_CATEGORIES_dist()

Compile la balise `#FEED_CATEGORIES` qui fournit la configuration d'une ou des catégories affectées aux différents feeds, pour un plugin utilisateur donné.

balise_FEED_CATEGORIES_dist(Champ $p) : Champ

La signature de la balise est : #FEED_CATEGORIES{plugin[, categorie_id, information]}.

Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
example
#FEED_CATEGORIES{isocode}, renvoie la description complète des catégories des feeds du plugin `isocode`.
#FEED_CATEGORIES{isocode, map}, renvoie la description de la catégorie `map` des feeds du plugin `isocode`.
#FEED_CATEGORIES{isocode, map, name}, renvoie le nom de la catégorie `map` des feeds du plugin `isocode`.
Return values
Champ

Pile complétée par le code à générer.

balise_EZMASHUP_PLUGINS_dist()

Compile la balise `#EZMASHUP_PLUGINS` qui fournit les plugins utilisateur actifs implémentant des feeds.

balise_EZMASHUP_PLUGINS_dist(Champ $p) : Champ

La signature de la balise est : #EZMASHUP_PLUGINS{[actifs_seuls]}.

Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
example
#EZMASHUP_PLUGINS, renvoie la liste des préfixes de plugins actifs utilisant Mashup Factory.
#EZMASHUP_PLUGINS{oui}, renvoie la liste des préfixes de plugins actifs utilisant Mashup Factory.
#EZMASHUP_PLUGINS{non}, renvoie la liste des préfixes de tous plugins utilisant Mashup Factory.
Return values
Champ

Pile complétée par le code à générer.

ezmashup_lister_plugins()

Renvoie la liste des préfixes des plugins actifs ou tous les plugins utilisant Mashup Factory.

ezmashup_lister_plugins([mixed $actifs_seuls = 'oui' ]) : array<string|int, mixed>

L'utilisation du plugin Mashup Factory est repérée via les consignations dans la table spip_meta.

Parameters
$actifs_seuls : mixed = 'oui'
Return values
array<string|int, mixed>

Liste des préfixes en minuscules

feed_taglist_afficher()

Construit la liste des tags non techniques du feed pour un affichage.

feed_taglist_afficher(array<string|int, mixed> $tags[, null|string $separateur = ',' ]) : string

Les tags non techniques commencent par un _.

Parameters
$tags : array<string|int, mixed>

Tableau des tags du feed

$separateur : null|string = ','

Séparateur des tags dans la liste affichée (par défaut une virgule)

Return values
string

Liste des tags non techniques au format chaine

ezmashup_liste_ezcollection()

Déclare les collections accessibles via l'API ezREST.

ezmashup_liste_ezcollection(array<string|int, mixed> $collections) : array<string|int, mixed>

Par défaut, le plugin propose uniquement la liste des feeds disponibles.

Parameters
$collections : array<string|int, mixed>

Configuration des collections déjà déclarées.

Tags
pipeline

liste_ezcollection

Return values
array<string|int, mixed>

Collections complétées.

feeds_collectionner()

Récupère les configuration des services.

feeds_collectionner(array<string|int, mixed> $conditions, array<string|int, mixed> $filtres, array<string|int, mixed> $configuration) : array<string|int, mixed>

Il est possible de filtrer la liste avec le critère facultatif categorie ou plugin.

Parameters
$conditions : array<string|int, mixed>

Conditions à appliquer au select

$filtres : array<string|int, mixed>

Tableau des critères de filtrage additionnels à appliquer au select.

$configuration : array<string|int, mixed>

Configuration de la collection utile pour savoir quelle fonction appeler pour construire chaque filtre.

Return values
array<string|int, mixed>

Tableau des subdivisions et par défaut des codes alternatifs et de la liste des pays.

feeds_conditionner_categorie()

Calcule la condition du filtre `categorie` pour lequel il est possible de passer une liste d'identifiants séparés par une virgule.

feeds_conditionner_categorie(string $valeur) : string
Parameters
$valeur : string

Valeur du critère category.

Return values
string

La condition SQL sur le champ category.

formulaires_admin_feeds_charger_dist()

Chargement du formulaire d'administration des feeds.

formulaires_admin_feeds_charger_dist(string $plugin[, null|string $categorie_id = '' ][, null|string $feed_id = '' ][, null|string $module = '' ]) : array<string|int, mixed>

Il est obligatoire de fournir un préfixe de plugin utilisateur sinon le formulaire n'est pas utilisable.

Parameters
$plugin : string

Préfixe du plugin utilisateur

$categorie_id : null|string = ''

Identifiant de la catégorie ou vide si on veut afficher tous les feeds

$feed_id : null|string = ''

Identificant du feed servant à l'affichage du bloc de détails

$module : null|string = ''

Identificant du module dans lequel piocher les items de langue

Return values
array<string|int, mixed>

Environnement du formulaire

formulaires_admin_feeds_traiter_dist()

Traitement du formulaire d'administration des feeds.

formulaires_admin_feeds_traiter_dist(string $plugin[, null|string $categorie_id = '' ][, null|string $feed_id = '' ][, null|string $module = '' ]) : array<string|int, mixed>
Parameters
$plugin : string

Préfixe du plugin utilisateur

$categorie_id : null|string = ''

Identifiant de la catégorie ou vide si on veut afficher tous les feeds

$feed_id : null|string = ''

Identificant du feed servant à l'affichage du bloc de détails

$module : null|string = ''

Identificant du module dans lequel piocher les items de langue

Return values
array<string|int, mixed>

Retour du traitement : rien de spécial car pour l'instant, il n'est pas utilisé

dataset_source_normaliser_configuration()

Normalise un dataset source donné.

dataset_source_normaliser_configuration(array<string|int, mixed> $dataset[, null|array<string|int, mixed> $options = [] ]) : array<string|int, mixed>

Il est possible de fournir le dataset par défaut qui servira à la normalisation (cas du dataset '*').

Parameters
$dataset : array<string|int, mixed>

Dataset à normaliser

$options : null|array<string|int, mixed> = []

Options pour compléter la normalisation

  • array dataset_defaut: Dataset par défaut à utiliser. Ce dataset doit déjà être normalisé Si aucun dataset fourni, la fonction utilise le dataset par défaut de base où tous les champs sont 'vides'.
  • string dossier_feed : Chemin relatif du dossier de rangement du feed
  • string ìnclude_feed : Chemin relatif de l'include des fonctions spécifiques du feed
Return values
array<string|int, mixed>

Dataset normalisé

dataset_source_extraire()

Extrait le contenu des datasets source basiques ou d'un dataset source addon donné.

dataset_source_extraire(string $id_source, array<string|int, mixed> $feed[, null|array<string|int, mixed> &$erreur = [] ]) : array<string|int, mixed>

Le contenu est renvoyé sous la forme d'une liste d'éléments qui seront traités par la suite pour être insérés dans le dataset cible concerné.

Parameters
$id_source : string

Identifiant d'une source addon donnée ou vide pour toutes les sources primaires.

$feed : array<string|int, mixed>

Description complète du feed.

$erreur : null|array<string|int, mixed> = []

Tableau constitutif d'une erreur ou vide si aucune erreur à remonter

Tags
throws
Exception
Return values
array<string|int, mixed>

Tableau des items extraits de la source. Un tableau vide est constitutif d'une erreur.

dataset_source_requeter()

Renvoie, à partir de l'url fournie, le contenu brut récupéré ou une erreur sinon.

dataset_source_requeter(string $url, array<string|int, mixed> $options[, null|array<string|int, mixed> &$erreur = [] ]) : string
Parameters
$url : string

URL complète de la requête

$options : array<string|int, mixed>

Options de la requête

  • bool transcoder : true si on veut transcoder la page dans le charset du site
  • int taille_max : Arrêter le contenu au-delà (0 = seulement les entetes ==> requête HEAD). Par defaut taille_max = 1Mo ou 16Mo si copie dans un fichier
$erreur : null|array<string|int, mixed> = []

Tableau constitutif d'une erreur ou vide si aucune erreur à remonter

Tags
uses
recuperer_url()
throws
Exception
Return values
string

La chaine renvoyée en réponse à la requête ou vide si une erreur s'est produit.

dataset_source_decoder()

Décode un contenu d'une source pour en extraire un tableau de données.

dataset_source_decoder(string $contenu, string $type_source, string $id_source, array<string|int, mixed> $feed[, null|array<string|int, mixed> &$erreur = [] ]) : array<string|int, mixed>
Parameters
$contenu : string

Chaine extraite de la source à décoder selon le format et les paramètres associés.

$type_source : string

Type de source basique (sources_basic) ou additionnelle (sources_addon).

$id_source : string

Identifiant de la source.

$feed : array<string|int, mixed>

Description complète du feed.

$erreur : null|array<string|int, mixed> = []

Tableau constitutif d'une erreur ou vide si aucune erreur à remonter

Tags
throws
Exception
Return values
array<string|int, mixed>

Tableau des données résultant du décodage ou vide ce qui est constitutif d'une erreur.

dataset_target_peupler()

Constitue, à partir, d'un fichier CSV ou XML ou d'une page HTML au format texte, un tableau des éléments prêt à être inséré dans une table de la base de données.

dataset_target_peupler(string $plugin, array<string|int, mixed> $feed[, null|array<string|int, mixed> &$erreur = [] ]) : array<string|int, mixed>

La fonction utilise le service et le nom de table pour récupérer la configuration permettant l'analyse du fichier et sa traduction en éléments de la table (délimiteur ou regexp, nom des colonnes...). Il est possible, pour chaque élément ou pour l'ensemble d'appliquer une fonction spécifique à la table qui complète l'élément.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$feed : array<string|int, mixed>

Description complète du feed.

$erreur : null|array<string|int, mixed> = []

Tableau constitutif d'une erreur ou vide si aucune erreur à remonter

Tags
throws
Exception
used-by
feed_executer()
Return values
array<string|int, mixed>

La liste des enregistrements à stocker dans la cible concernée ou vide si erreur

dataset_target_supprimer()

Supprime, une target d'un feed donné.

dataset_target_supprimer(string $plugin, array<string|int, mixed> $feed[, null|array<string|int, mixed> &$erreur = [] ]) : bool

La meta concernant les informations de chargement est aussi effacée.

Parameters
$plugin : string

Préfixe du plugin utilisateur.

$feed : array<string|int, mixed>

Description complète du feed.

$erreur : null|array<string|int, mixed> = []

Tableau constitutif d'une erreur ou vide si aucune erreur à remonter

Tags
uses
deconsigner_chargement()
uses
ezmashup_target_initialiser_dossier()
used-by
feed_executer()
used-by
feed_vider()
used-by
feed_decharger()
Return values
bool

true si la suppression s'est bien passée, false sinon

dataset_target_stocker()

Stocke les enregistrements du dataset cible dans l'espace indiqué dans la configuration du feed.

dataset_target_stocker(string $plugin, array<string|int, mixed> $enregistrements, array<string|int, mixed> $feed[, null|array<string|int, mixed> &$erreur = [] ]) : int
Parameters
$plugin : string

Préfixe du plugin utilisateur.

$enregistrements : array<string|int, mixed>

Liste des enregistrements prêts à être insérés dans la table concernée.

$feed : array<string|int, mixed>

Description complète du feed.

$erreur : null|array<string|int, mixed> = []

Tableau constitutif d'une erreur ou vide si aucune erreur à remonter

Return values
int

Nombre d'enregistrements réellement stocké, si le stockage s'est bien passé, 0 sinon

dataset_target_consigner()

Consigne l'exécution d'un feed dans la meta adéquate.

dataset_target_consigner(string $plugin, array<string|int, mixed> $enregistrements, int $nb_insertions, array<string|int, mixed> $feed) : void
Parameters
$plugin : string

Préfixe du plugin utilisateur.

$enregistrements : array<string|int, mixed>

Liste des enregistrements devant être insérés dans la table concernée (tous ne le seront pas nécessairement).

$nb_insertions : int

Nombre réels d'enregistrements stockés dans la target

$feed : array<string|int, mixed>

Description complète du feed.

dataset_target_informer()

Lit la consignation de l'exécution d'un feed ou de tous les feeds d'un plugin utilisateur à partir de sa meta.

dataset_target_informer(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.

Return values
array<string|int, mixed>

Tableau de la ou des consignations.

dataset_target_deconsigner()

Supprime la consignation de l'exécution d'un feed.

dataset_target_deconsigner(string $plugin, string $id_feed) : void
Parameters
$plugin : string

Préfixe du plugin utilisateur.

$id_feed : string

Identifiant du feed.

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.

record_initialiser()

Initialise le record d'un dataset cible avec des valeurs par défaut.

record_initialiser(array<string|int, mixed> $feed[, null|array<string|int, mixed> &$erreur = [] ]) : array<string|int, mixed>

Pour un dataset cible de type table SQL, les valeurs par défaut sont configurées dans la déclaration de la base. Les champs static sont initialisés avec les valeurs demandés dans la configuration.

Parameters
$feed : array<string|int, mixed>

Description complète du feed.

$erreur : null|array<string|int, mixed> = []

Tableau constitutif d'une erreur ou vide si aucune erreur à remonter

Return values
array<string|int, mixed>

Enregistrement par défaut de la cible initialisé ou vide si erreur.

record_remplir()

Initialise le record d'un dataset cible avec des valeurs par défaut.

record_remplir(array<string|int, mixed> $item_source, array<string|int, mixed> $feed[, null|array<string|int, mixed> &$erreur = [] ]) : array<string|int, mixed>

Pour un dataset cible de type table SQL, les valeurs par défaut sont configurées dans la déclaration de la base. Les champs static sont initialisés avec les valeurs demandés dans la configuration.

Parameters
$item_source : array<string|int, mixed>

Description d'un item de la source dont certains champs seront insérés dans l'enregistrement cible

$feed : array<string|int, mixed>

Description complète du feed.

$erreur : null|array<string|int, mixed> = []

Tableau constitutif d'une erreur ou vide si aucune erreur à remonter

Return values
array<string|int, mixed>

Enregistrement de la cible mis à jour ou vide si erreur.

record_normaliser_champs_sql()

Renvoie la description normalisée SQL de la table.

record_normaliser_champs_sql(string $table) : array<string|int, mixed>
Parameters
$table : string

Nom de la table SQL sans le préfixe spip_.

Return values
array<string|int, mixed>

Description de la table SQL normalisée.

Search results