Documentation du code de SPIP et de ses plugins

Mashup Factory

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
uses
ezmashup_chercher_service()
used-by
autoriser_ezmashup_dist()
used-by
autoriser_feeds_voir_dist()
used-by
autoriser_feed_executer_dist()
used-by
autoriser_feed_creer_dist()
used-by
autoriser_feed_modifier_dist()
Return values
bool

truesi 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
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, 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
uses
ezmashup_feed_initialiser_dossier()
used-by
feed_charger()
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
uses
cache_reponse_vider()
uses
ezmashup_chercher_service()
used-by
feed_peupler()

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()
used-by
feed_vider()

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
uses
ezmashup_chercher_service()
used-by
dataset_target_supprimer()
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
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 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
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 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
uses
ezmashup_chercher_service()
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
uses
ezmashup_chercher_service()
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
uses
ezmashup_chercher_service()
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
uses
ezmashup_chercher_service()
used-by
feed_categorie_repertorier()
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
uses
ezmashup_chercher_service()
used-by
feed_charger()
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
uses
ezmashup_chercher_service()
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
uses
ezmashup_chercher_service()
used-by
feed_action_definir_url()
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


        
On this page

Search results