ezmashup.php
Ce fichier contient les fonctions de service de Mashup Factory pour les autorisations, les feeds et les datasets.
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 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.
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 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
Return values
bool —true
si 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
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
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
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
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
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_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
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
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
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
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
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
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
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
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