ezmashup.php
Ce fichier contient les fonctions de service de Mashup Factory pour les autorisations, les feeds, les datasets et les catégories.
Chaque fonction, soit aiguille, si elle existe, vers une fonction "homonyme" propre au plugin appelant ou à un feed, soit déroule sa propre implémentation. Ainsi, les plugins externes peuvent, si elle leur convient, utiliser l'implémentation proposée par Mashup Factory en codant un minimum de fonctions.
Table of Contents
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.
Functions
- ezmashup_plugin_autoriser() : bool
- Renvoie l'autorisation d'un plugin utilisateur de Mashup Factory, soit celle de base, soit celle d'une action donnée.
- 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, pour un plugin utilisateur, les fichiers de configuration YAML des feeds éditables et non éditables.
- ezmashup_feed_completer_peuplement() : void
- Finalise le peuplement d'un feed uniquement si celui-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_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 le contenu de 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 champs basiques et statiques. Mashup Factory déroule : - construction d'un champ `label` multilingue (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 en cours de traitment possédant la même clé primaire dans la liste des records.
- ezmashup_record_list_completer() : array<string|int, mixed>
- Finalise la liste des records : tous les traitements automatiques et configurés ont été effectués.
- ezmashup_record_completer_traduction() : string
- Complète un texte sous forme de balise multi avec une liste de traductions.
- ezmashup_item_completer() : array<string|int, mixed>
- Complète un item de la source venant d'être extrait ou en vérifie la conformité.
- ezmashup_feed_categorie_lister() : array<string|int, mixed>
- Renvoie la liste des catégories et leur description.
- ezmashup_feed_categorie_initialiser_defaut() : string
- Renvoie l'identifiant de la catégorie par défaut d'un plugin utilisateur.
- ezmashup_feed_action_completer_liste() : array<string|int, mixed>
- Complète la liste des actions personnalisables.
- ezmashup_feed_action_definir_url() : string
- Renvoie l'URL d'une action d'administration sur un feed nécessitant de se rendre sur une page donnée (formulaire).
- ezmashup_normaliser_idiome() : string
- Compile les traductions d'un idiome.
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'
Functions
ezmashup_plugin_autoriser()
Renvoie l'autorisation d'un plugin utilisateur de Mashup Factory, soit celle de base, soit celle d'une action donnée.
ezmashup_plugin_autoriser(string $plugin, null|array<string|int, mixed>|int $qui[, null|string $action = '' ][, null|array<string|int, mixed> $feed = [] ]) : bool
Le plugin Mashup Factory autorise uniquement les administrateurs complets sauf pour les actions créer et modifier qui sont non autorisées par défaut.
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]
- $action : null|string = ''
-
Type d'action appliquée à un feed ou à tous les feeds
- $feed : null|array<string|int, mixed> = []
-
Description du feed concerné par l'action ou vide si inutile
Tags
Return values
bool —true
si l'auteur est autorisée à l'utilisation de base du plugin Mashup Factory, false
sinon.
ezmashup_feed_initialiser_dossier()
Renvoie la configuration par défaut du dossier relatif où trouver les feeds.
ezmashup_feed_initialiser_dossier(string $plugin) : string
Le service de Mashup Factory considère que par défaut le dossier relatif des feeds est feeds/
.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
Tags
Return values
string —Chemin relatif du dossier où chercher les feeds.
ezmashup_feed_rechercher_yaml()
Trouve, pour un plugin utilisateur, les fichiers de configuration YAML des feeds éditables et non éditables.
ezmashup_feed_rechercher_yaml(string $plugin) : array<string|int, mixed>
Cherche les feeds non éditables dans le path (cas le plus fréquent) et dans _DIR_ETC pour les feeds éditables.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
Tags
Return values
array<string|int, mixed> —Liste des fichiers YAML trouvés
ezmashup_feed_completer_peuplement()
Finalise le peuplement d'un feed uniquement si celui-ci s'est correctement déroulée.
ezmashup_feed_completer_peuplement(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 à 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
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
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 feeds est targets/
.
Il est inclus dans l'arborescence _DIR_ETC/ezmashup/.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
Tags
Return values
string —Chemin relatif du dossier où sont stockés les cibles de type fichier.
ezmashup_target_completer_consigne()
Complète éventuellement le contenu de 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
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 champs basiques et statiques. Mashup Factory déroule : - construction d'un champ `label` multilingue (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 en cours de traitement
- $feed : array<string|int, mixed>
-
Configuration du feed
Tags
Return values
array<string|int, mixed> —Enregistrement mis à jour.
ezmashup_record_fusionner()
Fusionne un record déjà rempli avec le record en cours de traitment possédant la 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>
Si aucun traitement particulier n'est proposé par le plugin utilisateur, Mashup Factory renvoie vide pour indiquer l'erreur de doublon de clé primaire.
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
Return values
array<string|int, mixed> —Item mis à jour
ezmashup_record_list_completer()
Finalise la liste des records : tous les traitements automatiques et configurés ont été effectués.
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.
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
Return values
array<string|int, mixed> —Enregistrement 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_item_completer()
Complète un item de la source venant d'être extrait ou en vérifie la conformité.
ezmashup_item_completer(string $plugin, array<string|int, mixed> $item, array<string|int, mixed> $feed) : array<string|int, mixed>
Si le plugin utilisateur détecte que l'item n'est pas valide (condition propre au plugin), il peut renvoyer vide, ce qui exclura l'item.
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
Return values
array<string|int, mixed> —Item mis à jour
ezmashup_feed_categorie_lister()
Renvoie la liste des catégories et leur description.
ezmashup_feed_categorie_lister(string $plugin) : array<string|int, mixed>
Le plugin Mashup Factory fournit une liste limitée à la catégorie d'identifiant default
.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
Tags
Return values
array<string|int, mixed> —Liste des catégories et de leur description au format [id] = tableau de description avec le nom, la description et l'icone.
ezmashup_feed_categorie_initialiser_defaut()
Renvoie l'identifiant de la catégorie par défaut d'un plugin utilisateur.
ezmashup_feed_categorie_initialiser_defaut(string $plugin) : string
Le plugin Mashup Factory choisit la première catégorie de la liste.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
Tags
Return values
string —Identifiant de la catégorie par défaut.
ezmashup_feed_action_completer_liste()
Complète la liste des actions personnalisables.
ezmashup_feed_action_completer_liste(string $plugin) : array<string|int, mixed>
Le plugin Mashup Factory fournit la liste des actions principales permettant d'agir sur les feeds éditables ou non.
Cette liste est en général suffisante mais elle peut être compléter voire modifiée par un plugin utilisateur : charger
,
peupler
, vider
, creer
, editer
, supprimer
et voir
.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
Tags
Return values
array<string|int, mixed> —Liste des actions et de leur description au format [id] = tableau de description avec le nom, le type, l'icone, l'autorisation, la présence dans un menu, etc.
ezmashup_feed_action_definir_url()
Renvoie l'URL d'une action d'administration sur un feed nécessitant de se rendre sur une page donnée (formulaire).
ezmashup_feed_action_definir_url(string $plugin, string $action, array<string|int, mixed> $feed, string $page_admin) : string
Les actions d'administration sont actuellement limitée à peupler, vider, éditer ou supprimer mais seules les actions de création et d'édition de feed nécessitent une redirection vers le formulaire idoine.
Le plugin Mashup Factory ne fait rien par défaut.
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $action : string
-
Action d'aministration venant d'être exécutée avec succès (
creer
,editer
) - $feed : array<string|int, mixed>
-
Description complète du feed si édition ou vide si création
- $page_admin : string
-
URL de la page d'admin d'où provient l'action.
Tags
Return values
string —URL de traitement de l'action.
ezmashup_normaliser_idiome()
Compile les traductions d'un idiome.
ezmashup_normaliser_idiome(string $plugin, string $idiome) : string
Parameters
- $plugin : string
-
Préfixe du plugin utilisateur.
- $idiome : string
-
Idiome ou texte brut
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