Documentation du code de SPIP et de ses plugins

Boussole

Documentation

Packages

SPIP
Application

Table of Contents

_BOUSSOLE_OBJET_BOUSSOLE  = 'boussole'
_BOUSSOLE_OBJET_GROUPE  = 'groupe'
_BOUSSOLE_OBJET_SITE  = 'site'
_BOUSSOLE_PATTERN_SHA  = '%sha_contenu%'
Pattern permettant d'insérer le sha256 calculé à partir du XML d'origine d'une boussole dans le cache produit
action_client_actualiser_boussoles_dist()  : void
Cette action permet au site client d'actualiser l'ensemble des boussoles insérées dans sa base de données.
action_client_retirer_serveur_dist()  : void
Cette action permet au site client de retirer un serveur donné de sa liste des serveurs qu'il est autorisé à interroger (variable de configuration).
action_client_supprimer_boussole_dist()  : void
Cette action permet au site client de supprimer de sa base de données, de façon sécurisée, une boussole donnée.
action_client_synchroniser_site_dist()  : void
Cette action permet de synchroniser un site référencé dans la base du client et de synchroniser ses données avec le site idoine (de même id_syndic) de la boussole associée.
action_serveur_actualiser_caches_dist()  : mixed
Action de génération des caches des boussoles hébergées et de la liste de ces boussoles.
action_serveur_informer_boussole_dist()  : void
Cette action permet à un site client d'interroger un serveur actif et d'obtenir en retour les informations complètes sur une boussole.
action_serveur_lister_boussoles_dist()  : void
Cette action permet à un site client d'interroger un serveur actif et d'obtenir en retour la liste des boussoles qu'il héberge.
action_serveur_retirer_boussole_dist()  : void
Action de retrait d'une boussole manuelle de la configuration du serveur.
action_serveur_telecharger_cache_dist()  : mixed
Action de téléchargement d'un cache d'une boussole hébergée par un site serveur ou de la liste des boussoles hébergées.
boussole_declarer_tables_principales()  : array<string|int, mixed>
Déclaration des nouvelles tables de la base de données propres au plugin.
boussole_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.
boussole_upgrade()  : void
Installation du schéma de données propre au plugin et gestion des migrations suivant les évolutions du schéma.
boussole_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.
maj02_boussole()  : void
Migration du schéma 0.1 au 0.2.
maj03_boussole()  : void
Migration du schéma 0.2 au 0.3.
maj04_boussole()  : void
Migration du schéma 0.3 au 0.4.
maj05_boussole()  : void
Migration du schéma 0.4 au 0.5.
boussole_autoriser()  : mixed
autoriser_boussole_dist()  : bool
Autorisation minimale d'utiliser le plugin Boussole.
autoriser_boussoles_voir_dist()  : bool
Autorisation de voir la liste des boussoles et des serveurs.
autoriser_boussole_voir_dist()  : bool
Autorisation de voir la page d'une boussole.
autoriser_boussole_declarerserveur_dist()  : bool
Autorisation d'ajout d'une boussole dans la base d'un client.
autoriser_boussole_ajouterdansclient_dist()  : bool
Autorisation d'ajout d'une boussole dans la base d'un client.
autoriser_boussole_ajouterdansserveur_dist()  : bool
Autorisation d'ajout d'une boussole manuelle dans la liste des boussoles servies par un serveur.
autoriser_boussole_modifierdansserveur_dist()  : bool
Autorisation de modifier l'affichage d'une boussole, à savoir, l'ordre des groupes et des sites, la visibilité des sites.
autoriser_boussole_importer_dist()  : bool
Autorisation d'importer les sites d'une boussole dans la liste des sites référencés.
autoriser_boussole_servir_dist()  : bool
Autorisation pour un site de répondre aux requêtes des clients.
balise_BOUSSOLE_INFOS()  : champ
Compilation de la balise `#BOUSSOLE_INFOS` retournant les informations générales sur une boussole.
calcul_boussole_infos()  : array<string|int, mixed>
Récupération des informations sur une boussole donnée ou sur toutes les boussoles installées.
boussole_traduire()  : string
Traduction d'un champ d'une boussole, d'un groupe de sites ou d'un site.
boussole_lister_caches()  : array<string|int, mixed>
Liste des caches présents sur le site serveur complétée par des informations sur leur nature et les boussoles associées.
boussole_compter_hebergements()  : int
Récupération du nombre de boussoles hébergées sur le site serveur.
boussole_logo_topnav()  : string
Renvoie chemin nom du logo topnav à partir du chemin du logo de la boussole.
boussole_affiche_milieu()  : array<string|int, mixed>
Affichage, dans la fiche d'un objet site, d'un bloc identifiant la boussole à laquelle appartient le site édité.
boussole_affiche_gauche()  : mixed
Affiche dans la page d'accueil des sites référencés un raccourci pour importer l'ensemble des sites d'une boussole déjà installée.
boussole_post_edition()  : mixed
Permet de déclencher la mise à jour de la boussole si un site de la base appartenant à cette boussole est refusé ou réhabilité si il était déjà refusé.
boussole_liste_ezcollection()  : array<string|int, mixed>
Déclare la collection des boussoles disponibles sur le serveur
boussole_cache_configurer()  : array<string|int, mixed>
Renvoie la configuration spécifique des caches gérés par Boussole dans le cadre de l'API v1.
formulaires_ajouter_boussole_charger_dist()  : array<string|int, mixed>
Chargement des données : le formulaire propose la liste des boussoles accessibles à partir des serveurs que le site client a déclaré.
formulaires_ajouter_boussole_verifier_dist()  : array<string|int, mixed>
Vérification des saisies : aucune nécessaire, le formulaire ne propose que des boutons radio dont un est toujours actif.
formulaires_ajouter_boussole_traiter_dist()  : array<string|int, mixed>
Exécution de l'action du formulaire : la boussole choisie est acquise par interrogation du serveur qui l'héberge et son contenu est intégrée à la base de données du client.
charger_boussoles()  : array<string|int, mixed>
Chargement des boussoles pouvant être ajoutées sur le client à partir de la liste des serveurs déclarés.
formulaires_configurer_boussole_serveur_charger()  : mixed
formulaires_configurer_boussole_serveur_verifier()  : mixed
formulaires_declarer_boussole_manuelle_charger_dist()  : mixed
formulaires_declarer_boussole_manuelle_verifier_dist()  : mixed
formulaires_declarer_boussole_manuelle_traiter_dist()  : mixed
formulaires_declarer_serveur_boussoles_charger_dist()  : mixed
formulaires_declarer_serveur_boussoles_verifier_dist()  : mixed
formulaires_declarer_serveur_boussoles_traiter_dist()  : mixed
formulaires_editer_boussole_charger()  : mixed
formulaires_editer_boussole_verifier()  : mixed
formulaires_editer_boussole_traiter()  : mixed
formulaires_importer_boussole_charger_dist()  : mixed
formulaires_importer_boussole_verifier_dist()  : mixed
formulaires_importer_boussole_traiter_dist()  : mixed
importer_sites_boussole()  : int
genie_boussole_actualiser_client_dist()  : int
genie_boussole_actualiser_serveur_dist()  : mixed
boussole_taches_generales_cron()  : mixed
boussole_actualiser_boussoles()  : void
Mise à jour en base de données d'une liste ou de toutes les boussoles installées sur le site client.
boussole_ajouter()  : array<string|int, mixed>
Ajout ou actualisation de la boussole dans la base de données du site client.
boussole_supprimer()  : bool
Suppression de la boussole dans la base de données du site client.
boussole_charger()  : string
Chargement d'une boussole donnée fournie par un serveur.
phraser_xml_boussole()  : array<string|int, mixed>
Conversion du fichier XML de la boussole en un tableau des sites de la boussole.
inc_decoder_xml_dist()  : array<string|int, mixed>
Transformation d'un texte XML en tableau PHP.
inc_iconifier_site_dist()  : void
Remplacement ou ajout d'un logo au site. L'image source est connue par son url.
boussole_actualiser_caches()  : void
Génération du cache de chaque boussole hébergée par le serveur et du cache de la liste de ces boussoles.
boussole_cacher_xml()  : bool
Génération du cache xml de la boussole contruit soit à partir de xml non traduit soit à partir d'un xml déjà traduit.
boussole_cacher_liste()  : bool
Génération du cache de la liste des boussoles disponibles Ce cache est renvoyé sur l'action serveur_lister_boussoles
boussole_valider_xml()  : bool
Teste la validite du fichier xml de la boussole en fonction de la DTD boussole.dtd
xml_to_cache()  : bool
Lecture du xml d'une boussole issue d'un plugin ou d'une boussole manuelle et génération du cache xml incluant les traductions et les chemins des logos
inserer_balise()  : string
Insertion d'un balise ouvrante, fermante ou vide
compiler_traductions_plugin()  : array<string|int, string>
Insertion d'une balise complète <nom>, <slogan> ou <description> incluant les traductions en <multi>
compiler_traductions_manuelle()  : array<string|int, string>
Insertion d'une balise complète <nom>, <slogan> ou <description> incluant les traductions en <multi>
inserer_traductions()  : string
Insertion d'une balise complète <nom>, <slogan> ou <description> incluant les traductions en <multi>
indenter()  : string
Contruction de la chaine de tabulations correspondant au décalage souhaité

Constants

_BOUSSOLE_OBJET_BOUSSOLE

public mixed _BOUSSOLE_OBJET_BOUSSOLE = 'boussole'

_BOUSSOLE_OBJET_GROUPE

public mixed _BOUSSOLE_OBJET_GROUPE = 'groupe'

_BOUSSOLE_OBJET_SITE

public mixed _BOUSSOLE_OBJET_SITE = 'site'

_BOUSSOLE_PATTERN_SHA

Pattern permettant d'insérer le sha256 calculé à partir du XML d'origine d'une boussole dans le cache produit

public mixed _BOUSSOLE_PATTERN_SHA = '%sha_contenu%'

Functions

action_client_actualiser_boussoles_dist()

Cette action permet au site client d'actualiser l'ensemble des boussoles insérées dans sa base de données.

action_client_actualiser_boussoles_dist() : void

Cette action est réservée aux webmestres. Elle nécessite un seul argument dont la valeur est toujours égale à "tout". L'action est utilisée par le CRON journalier du client ou sur demande depuis la page d'administration du client de l'espace privé.

Tags
note

Aucun argument n'est en fait nécessaire. Néanmoins, étant donné le bug de la balise #URL_ACTION_AUTEUR uniquement corrigé dans la version 3.0.12, il est nécessaire d'en passer un bidon. On s'en sert donc proprement en passant l'argument "tout" et en le testant.

uses
boussole_actualiser_boussoles()
Return values
void

action_client_retirer_serveur_dist()

Cette action permet au site client de retirer un serveur donné de sa liste des serveurs qu'il est autorisé à interroger (variable de configuration).

action_client_retirer_serveur_dist() : void

Cette action est réservée aux webmestres. Elle nécessite un seul argument, le nom du serveur à retirer.

Return values
void

action_client_supprimer_boussole_dist()

Cette action permet au site client de supprimer de sa base de données, de façon sécurisée, une boussole donnée.

action_client_supprimer_boussole_dist() : void

Cette action est réservée aux webmestres. Elle nécessite un seul argument, l'alias de la boussole.

Tags
uses
boussole_supprimer()
Return values
void

action_client_synchroniser_site_dist()

Cette action permet de synchroniser un site référencé dans la base du client et de synchroniser ses données avec le site idoine (de même id_syndic) de la boussole associée.

action_client_synchroniser_site_dist() : void

Cette action est réservée aux webmestres. Elle nécessite deux arguments, l'id du site et l'alias de la boussole. Les données synchronisées sont :

  • le nom du site
  • le descriptif du site
Return values
void

action_serveur_actualiser_caches_dist()

Action de génération des caches des boussoles hébergées et de la liste de ces boussoles.

action_serveur_actualiser_caches_dist() : mixed
Return values
mixed

action_serveur_informer_boussole_dist()

Cette action permet à un site client d'interroger un serveur actif et d'obtenir en retour les informations complètes sur une boussole.

action_serveur_informer_boussole_dist() : void

Cette action est anonyme car elle doit pouvoir être appelée par tout utilisateur. Elle nécessite un seul argument, l'alias de la boussole. L'action renvoie :

  • le fichier cache XML de la boussole demandée, si il existe;
  • un fichier XML d'erreur contenant l'id de l'erreur;
  • rien si le serveur n'est pas actif (l'erreur doit être traitée par l'appelant).
Tags
note

Les cas d'erreur retournés par un serveur actif sont :

  • l'alias de la boussole est vide,
  • la boussole demandée n'est pas hébergée par le serveur,
  • le cache de la boussole n'est pas disponible,
  • aucune boussole n'est hébergée par le serveur.
pipeline_appel

declarer_boussoles

Return values
void

action_serveur_lister_boussoles_dist()

Cette action permet à un site client d'interroger un serveur actif et d'obtenir en retour la liste des boussoles qu'il héberge.

action_serveur_lister_boussoles_dist() : void

Cette action est anonyme car elle doit pouvoir être appelée par tout utilisateur. Elle nécessite aucun argument. L'action renvoie :

  • le fichier cache XML de la liste des boussoles, si il existe;
  • un fichier XML d'erreur contenant l'id de l'erreur;
  • rien si le serveur n'est pas actif (l'erreur doit être traitée par l'appelant).
Tags
note

Les cas d'erreur retournés par un serveur actif sont :

  • le cache de la liste des boussoles n'est pas disponible,
  • aucune boussole n'est hébergée par le serveur.
pipeline_appel

declarer_boussoles

Return values
void

action_serveur_retirer_boussole_dist()

Action de retrait d'une boussole manuelle de la configuration du serveur.

action_serveur_retirer_boussole_dist() : void

La configuration du plugin contient la liste des boussoles manuelles hébergées par le serveur. Cette action retire la boussole désignée de cette configuration et lance l'actualisation des caches pour assurer la cohérence avec la nouvelle configuration.

Return values
void

action_serveur_telecharger_cache_dist()

Action de téléchargement d'un cache d'une boussole hébergée par un site serveur ou de la liste des boussoles hébergées.

action_serveur_telecharger_cache_dist() : mixed

Cette action est possible dans le privé à partir de la liste des caches affichée dans l'onglet fonction serveur.

Return values
mixed

boussole_declarer_tables_principales()

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

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

Le plugin déclare deux nouvelles tables qui sont :

  • spip_boussoles, qui contient les éléments constitutifs des boussoles,
  • spip_boussoles_extras, qui contient les traductions de ces éléments.
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

boussole_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.

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

Le plugin se contente de déclarer les alias des tables qu'il ajoute ainsi que des traitements classiques sur les champs ajoutés de type url et texte.

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

boussole_upgrade()

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

boussole_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

Tags
see
boussole_declarer_tables_principales()
see
boussole_declarer_tables_interfaces()
Return values
void

boussole_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.

boussole_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

Return values
void

maj02_boussole()

Migration du schéma 0.1 au 0.2.

maj02_boussole() : void

Ajout de la table spip_boussoles_extras et suppression des boussoles autres que la boussole "spip" car il n'est pas possible de les mettre à jour, leur serveur n'étant pas connu.

Return values
void

maj03_boussole()

Migration du schéma 0.2 au 0.3.

maj03_boussole(array<string|int, mixed> $defaut_config) : void

Les globales $serveur_boussoles_disponibles et $client_serveurs_disponibles sont transférées dans des variables de configuration

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

Configuration par défaut supplémentaire ajoutée pour ce schéma. Si le site a déjà personnalisé les globales la configuration par défaut sera écrasée par celle des globales migrées.

Return values
void

maj04_boussole()

Migration du schéma 0.3 au 0.4.

maj04_boussole(array<string|int, mixed> $defaut_config) : void

La constante _BOUSSOLE_ALIAS_SERVEUR est transformée en deux variables de configuration, l'une pour l'activité de la fonction serveur et l'autre pour le nom du serveur.

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

Configuration par défaut supplémentaire ajoutée pour ce schéma. Si le site est déjà un serveur, la configuration par défaut sera écrasée par celle de la constante migrée.

Return values
void

maj05_boussole()

Migration du schéma 0.4 au 0.5.

maj05_boussole(mixed $url_serveur_spip) : void

Le serveur de boussoles spip passe en https.

Parameters
$url_serveur_spip : mixed
Return values
void

autoriser_boussole_dist()

Autorisation minimale d'utiliser le plugin Boussole.

autoriser_boussole_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_boussoles_voir_dist()

Autorisation de voir la liste des boussoles et des serveurs.

autoriser_boussoles_voir_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_boussole_voir_dist()

Autorisation de voir la page d'une boussole.

autoriser_boussole_voir_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_boussole_declarerserveur_dist()

Autorisation d'ajout d'une boussole dans la base d'un client.

autoriser_boussole_declarerserveur_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_boussole_ajouterdansclient_dist()

Autorisation d'ajout d'une boussole dans la base d'un client.

autoriser_boussole_ajouterdansclient_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_boussole_ajouterdansserveur_dist()

Autorisation d'ajout d'une boussole manuelle dans la liste des boussoles servies par un serveur.

autoriser_boussole_ajouterdansserveur_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_boussole_modifierdansserveur_dist()

Autorisation de modifier l'affichage d'une boussole, à savoir, l'ordre des groupes et des sites, la visibilité des sites.

autoriser_boussole_modifierdansserveur_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Cette configuration est associée à la boussole pour le serveur et sera renvoyée aux sites client demandeurs.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_boussole_importer_dist()

Autorisation d'importer les sites d'une boussole dans la liste des sites référencés.

autoriser_boussole_importer_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_boussole_servir_dist()

Autorisation pour un site de répondre aux requêtes des clients.

autoriser_boussole_servir_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Pour cela:

  • l'autorisation minimale de Boussole est ok
  • les plugins Cache Factory et REST Factory doivent être activés
  • le mode serveur doit être actif sur le site.
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

balise_BOUSSOLE_INFOS()

Compilation de la balise `#BOUSSOLE_INFOS` retournant les informations générales sur une boussole.

balise_BOUSSOLE_INFOS(champ $p) : champ

La balise #BOUSSOLE_INFOS renvoie :

  • le tableau des infos contenues dans la meta boussole_infos_xxx si l'alias "xxx" est fourni,
  • la liste de tous les tableaux d'infos des meta boussole_infos_* sinon.

La liste des informations disponibles est la suivante :

  • 'logo' : l'url du logo de la boussole
  • 'version' : la version de la boussole
  • 'serveur' : le nom du serveur fournissant la boussole
  • 'sha' : sha256 du fichier cache de la boussole
  • 'alias' : alias de la boussole
  • 'demo' : url de la page de démo de la boussole
  • 'nbr_sites' : nombre de sites intégrés dans la boussole
  • 'maj' : date de la dernière mise à jour des informations
Parameters
$p : champ

Pile transmise en entrée à la balise

Tags
balise
uses
calcul_boussole_infos()
example

#BOUSSOLE_INFOS{spip}|table_valeur{logo} renvoie l'url du logo de la boussole "spip"

Return values
champ

Pile fournie en entrée et complétée par le code à générer

calcul_boussole_infos()

Récupération des informations sur une boussole donnée ou sur toutes les boussoles installées.

calcul_boussole_infos(string $boussole) : array<string|int, mixed>

Les informations retournées pour une boussole d'alias "xxx" sont celles stockées dans la meta boussole_infos_xxx auxquelles on adjoint la date de la dernière mise à jour de cette meta.

Parameters
$boussole : string

Alias de la boussole ou chaine vide

Return values
array<string|int, mixed>

Tableau de la ou des boussoles installées. Si l'alias de la boussole est erroné, la fonction retourne un tableau vide

boussole_traduire()

Traduction d'un champ d'une boussole, d'un groupe de sites ou d'un site.

boussole_traduire(string $boussole, string $champ[, string $objet = '' ]) : string
Parameters
$boussole : string

Alias de la boussole

$champ : string

Champ à traduire. La liste des champs possibles est :

  • 'nom_boussole', 'slogan_boussole', 'descriptif_boussole' pour un objet boussole
  • 'nom_groupe', 'slogan_groupe' pour un objet groupe
  • 'nom_site', 'slogan_site', 'descriptif_site', 'nom_slogan_site' pour un objet site
$objet : string = ''

Identifiant d'un objet groupe ou site. Vide pour la traduction d'un champ d'un objet boussole

Tags
filtre
Return values
string

Champ traduit dans la langue du site

boussole_lister_caches()

Liste des caches présents sur le site serveur complétée par des informations sur leur nature et les boussoles associées.

boussole_lister_caches() : array<string|int, mixed>

Cette fonction est utilisée pour l'affichage de la fonction serveur dans l'espace privé.

Tags
filtre
pipeline_appel

declarer_boussoles

Return values
array<string|int, mixed>

boussole_compter_hebergements()

Récupération du nombre de boussoles hébergées sur le site serveur.

boussole_compter_hebergements() : int
Tags
filtre
pipeline_appel

declarer_boussoles

Return values
int

boussole_logo_topnav()

Renvoie chemin nom du logo topnav à partir du chemin du logo de la boussole.

boussole_logo_topnav(string $logo) : string

Le nom du logo est en fait suffixé par -topnav.

Parameters
$logo : string

URL du logo de boussole.

Tags
filtre
Return values
string

URL du logo topnav de la même boussole.

boussole_affiche_milieu()

Affichage, dans la fiche d'un objet site, d'un bloc identifiant la boussole à laquelle appartient le site édité.

boussole_affiche_milieu(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>

Données de contexte fournies au pipeline

Tags
pipeline

affiche_milieu

Return values
array<string|int, mixed>

Données de contexte complétées par la fonction

boussole_affiche_gauche()

Affiche dans la page d'accueil des sites référencés un raccourci pour importer l'ensemble des sites d'une boussole déjà installée.

boussole_affiche_gauche(object $flux) : mixed
Parameters
$flux : object
Tags
pipeline

affiche_gauche

Return values
mixed

boussole_post_edition()

Permet de déclencher la mise à jour de la boussole si un site de la base appartenant à cette boussole est refusé ou réhabilité si il était déjà refusé.

boussole_post_edition(object $flux) : mixed
Parameters
$flux : object
Tags
pipeline

post_edition

Return values
mixed

boussole_liste_ezcollection()

Déclare la collection des boussoles disponibles sur le serveur

boussole_liste_ezcollection(array<string|int, mixed> $collections) : array<string|int, mixed>
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.

boussole_cache_configurer()

Renvoie la configuration spécifique des caches gérés par Boussole dans le cadre de l'API v1.

boussole_cache_configurer(string $plugin) : array<string|int, 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|int, mixed>

Tableau de la configuration brute du plugin Taxonomie.

formulaires_ajouter_boussole_charger_dist()

Chargement des données : le formulaire propose la liste des boussoles accessibles à partir des serveurs que le site client a déclaré.

formulaires_ajouter_boussole_charger_dist() : array<string|int, mixed>
Tags
uses
charger_boussoles()
Return values
array<string|int, mixed>

le tableau des données à charger par le formulaire :

  • 'boussole' : l'alias de la boussole choisie
  • '_boussoles' : la liste des boussoles accessibles
  • 'message_erreur' : message d'erreur éventuel retourné par un des serveurs interrogés
  • 'editable' : booleen à false si une erreur est survenue

formulaires_ajouter_boussole_verifier_dist()

Vérification des saisies : aucune nécessaire, le formulaire ne propose que des boutons radio dont un est toujours actif.

formulaires_ajouter_boussole_verifier_dist() : array<string|int, mixed>
Return values
array<string|int, mixed>

Tableau des erreur toujours vide.

formulaires_ajouter_boussole_traiter_dist()

Exécution de l'action du formulaire : la boussole choisie est acquise par interrogation du serveur qui l'héberge et son contenu est intégrée à la base de données du client.

formulaires_ajouter_boussole_traiter_dist() : array<string|int, mixed>
Tags
uses
boussole_ajouter()
Return values
array<string|int, mixed>

Tableau retourné par le formulaire contenant toujours un message de bonne exécution ou d'erreur. L'indicateur editable est toujours à vrai.

charger_boussoles()

Chargement des boussoles pouvant être ajoutées sur le client à partir de la liste des serveurs déclarés.

charger_boussoles() : array<string|int, mixed>

Le chargement se fait en interrogeant chaque serveur avec l'action serveur_lister_boussoles.

Return values
array<string|int, mixed>

La liste des boussoles est rangée de façon à distinguer la boussole spip des autres boussoles en la placant en premier. Chaque boussole est un tableau associatif contenant son alias, son nom et le nom du serveur.

formulaires_declarer_boussole_manuelle_charger_dist()

formulaires_declarer_boussole_manuelle_charger_dist() : mixed
Return values
mixed

formulaires_declarer_boussole_manuelle_verifier_dist()

formulaires_declarer_boussole_manuelle_verifier_dist() : mixed
Return values
mixed

formulaires_declarer_boussole_manuelle_traiter_dist()

formulaires_declarer_boussole_manuelle_traiter_dist() : mixed
Return values
mixed

formulaires_declarer_serveur_boussoles_charger_dist()

formulaires_declarer_serveur_boussoles_charger_dist() : mixed
Return values
mixed

formulaires_declarer_serveur_boussoles_verifier_dist()

formulaires_declarer_serveur_boussoles_verifier_dist() : mixed
Return values
mixed

formulaires_declarer_serveur_boussoles_traiter_dist()

formulaires_declarer_serveur_boussoles_traiter_dist() : mixed
Return values
mixed

formulaires_editer_boussole_charger()

formulaires_editer_boussole_charger(mixed $aka_boussole) : mixed
Parameters
$aka_boussole : mixed
Return values
mixed

formulaires_editer_boussole_verifier()

formulaires_editer_boussole_verifier(mixed $aka_boussole) : mixed
Parameters
$aka_boussole : mixed
Return values
mixed

formulaires_editer_boussole_traiter()

formulaires_editer_boussole_traiter(mixed $aka_boussole) : mixed
Parameters
$aka_boussole : mixed
Return values
mixed

formulaires_importer_boussole_charger_dist()

formulaires_importer_boussole_charger_dist() : mixed
Return values
mixed

formulaires_importer_boussole_verifier_dist()

formulaires_importer_boussole_verifier_dist() : mixed
Return values
mixed

formulaires_importer_boussole_traiter_dist()

formulaires_importer_boussole_traiter_dist() : mixed
Return values
mixed

importer_sites_boussole()

importer_sites_boussole(string $boussole, int $id_parent[, bool $langue_site = true ][, bool $forcer_statut_publie = false ]) : int
Parameters
$boussole : string
$id_parent : int
$langue_site : bool = true
$forcer_statut_publie : bool = false
Return values
int

genie_boussole_actualiser_serveur_dist()

genie_boussole_actualiser_serveur_dist(mixed $last) : mixed
Parameters
$last : mixed
Return values
mixed

boussole_taches_generales_cron()

boussole_taches_generales_cron(mixed $taches_generales) : mixed
Parameters
$taches_generales : mixed
Return values
mixed

boussole_actualiser_boussoles()

Mise à jour en base de données d'une liste ou de toutes les boussoles installées sur le site client.

boussole_actualiser_boussoles([array<string|int, mixed> $boussoles = array() ]) : void

La fonction appelle, pour toutes les boussoles identifiées dans la base de données du site client, l'api d'ajout/actualisation d'une boussole.

Parameters
$boussoles : array<string|int, mixed> = array()

Tableau des alias des boussoles à actualiser ou tableau vide pour toutes les boussoles

Tags
uses
boussole_ajouter()
Return values
void

boussole_ajouter()

Ajout ou actualisation de la boussole dans la base de données du site client.

boussole_ajouter(string $boussole[, string $serveur = 'spip' ]) : array<string|int, mixed>
Parameters
$boussole : string

Alias de la boussole

$serveur : string = 'spip'

Alias du serveur fournissant les données sur la boussole

Tags
uses
phraser_xml_boussole()
note

Le message de retour reflète soit l'ajout ou l'actualisation de la boussole, soit l'erreur rencontrée. Les erreurs possibles sont :

  • celles retournées par la fonction de phrasage du XML, phraser_xml_boussole(),
  • une erreur d'écriture en base de données.
Return values
array<string|int, mixed>

Tableau décrivant le statut des traitements effectués :

  • index 0 : true ou false,
  • index 1 : libellé traduit du message.

boussole_supprimer()

Suppression de la boussole dans la base de données du site client.

boussole_supprimer(string $boussole) : bool
Parameters
$boussole : string

Alias de la boussole

Return values
bool

false si l'alias de la boussole est vide, true sinon

boussole_charger()

Chargement d'une boussole donnée fournie par un serveur.

boussole_charger(string $boussole[, string $serveur = 'spip' ]) : string
Parameters
$boussole : string

Alias de la boussole

$serveur : string = 'spip'

Nom du serveur fournissant les données sur la boussole

Return values
string

Contenu complet de la boussole issu du cache serveur

phraser_xml_boussole()

Conversion du fichier XML de la boussole en un tableau des sites de la boussole.

phraser_xml_boussole(string $contenu) : array<string|int, mixed>
Parameters
$contenu : string

Contenu complet de la boussole au format du cache serveur

Tags
uses
action_serveur_informer_boussole_dist()
note

Les cas d'erreur retournés par cette fonction sont :

  • ceux de l'action action_serveur_informer_boussole_dist si le serveur est actif,
  • la réponse du serveur est invalide ou le serveur est inactif, sinon.
Return values
array<string|int, mixed>

Tableau décrivant tous les éléments de la boussole prêts à être insérés tels quels dans la base de données et le message d'erreur éventuel :

- index 'boussole' : les champs spécifiques de la boussole,
- index 'sites' : les champs des sites de la boussole,
- index 'extras' : les traductions de chaque éléments (boussole, site, groupe) de la boussole,
- index 'erreur' : libellé traduit du message d'erreur.

inc_decoder_xml_dist()

Transformation d'un texte XML en tableau PHP.

inc_decoder_xml_dist(string $xml) : array<string|int, mixed>

L'argument XML est un texte: il est au préalable converti en objet SimpleXML par la fonction simplexml_load_string(). Ensuite, c'est l'objet SimpleXML qui est traduit en tableau PHP à partir des fonctions json_encode et json_decode.

Parameters
$xml : string

XML à phraser et à transformer en tableau PHP. Le XML est fourni comme une chaine de caractères représentant le texte XML lui-même.

Tags
example
$page = recuperer_url($action)['page'] ?? null;
$convertir = charger_fonction('decoder_xml', 'inc');
$tableau = $convertir($page);
Return values
array<string|int, mixed>

inc_iconifier_site_dist()

Remplacement ou ajout d'un logo au site. L'image source est connue par son url.

inc_iconifier_site_dist(int $id_site, string $mode, string $url_image) : void
Parameters
$id_site : int

id du site concerné.

$mode : string

Le type de l'icone, "on" pour le logo de base, ou "off" pour le survol.

$url_image : string

url de l'image source destinée à devenir le logo du site.

Return values
void

boussole_cacher_xml()

Génération du cache xml de la boussole contruit soit à partir de xml non traduit soit à partir d'un xml déjà traduit.

boussole_cacher_xml(string $alias[, string $prefixe_plugin = '' ]) : bool

Ce cache est renvoyé sur l'action serveur_informer_boussole

Parameters
$alias : string
$prefixe_plugin : string = ''
Return values
bool

boussole_cacher_liste()

Génération du cache de la liste des boussoles disponibles Ce cache est renvoyé sur l'action serveur_lister_boussoles

boussole_cacher_liste(array<string|int, mixed> $boussoles) : bool
Parameters
$boussoles : array<string|int, mixed>
Return values
bool

boussole_valider_xml()

Teste la validite du fichier xml de la boussole en fonction de la DTD boussole.dtd

boussole_valider_xml(string $url, array<string|int, mixed> &$erreur) : bool
Parameters
$url : string

url absolue du fichier xml de description de la boussole

$erreur : array<string|int, mixed>

tableau des erreurs collectees suite a la validation xml

Return values
bool

xml_to_cache()

Lecture du xml d'une boussole issue d'un plugin ou d'une boussole manuelle et génération du cache xml incluant les traductions et les chemins des logos

xml_to_cache(string $fichier_xml, string $alias_boussole[, string $prefixe_plugin = '' ]) : bool
Parameters
$fichier_xml : string
$alias_boussole : string
$prefixe_plugin : string = ''
Return values
bool

inserer_balise()

Insertion d'un balise ouvrante, fermante ou vide

inserer_balise(string $type, string $nom_balise[, array<string|int, mixed> $attributs = array() ], int $indentation) : string
Parameters
$type : string
$nom_balise : string
$attributs : array<string|int, mixed> = array()
$indentation : int
Return values
string

compiler_traductions_plugin()

Insertion d'une balise complète <nom>, <slogan> ou <description> incluant les traductions en <multi>

compiler_traductions_plugin(string $alias_boussole, string $type_objet, string $alias_objet, int $indentation) : array<string|int, string>
Parameters
$alias_boussole : string
$type_objet : string
$alias_objet : string
$indentation : int
Return values
array<string|int, string>

compiler_traductions_manuelle()

Insertion d'une balise complète <nom>, <slogan> ou <description> incluant les traductions en <multi>

compiler_traductions_manuelle(array<string|int, mixed> $objet, int $indentation) : array<string|int, string>
Parameters
$objet : array<string|int, mixed>
$indentation : int
Return values
array<string|int, string>

inserer_traductions()

Insertion d'une balise complète <nom>, <slogan> ou <description> incluant les traductions en <multi>

inserer_traductions(string $nom, string $slogan, string $description, int $indentation) : string
Parameters
$nom : string
$slogan : string
$description : string
$indentation : int
Return values
string

indenter()

Contruction de la chaine de tabulations correspondant au décalage souhaité

indenter(int $decalage) : string
Parameters
$decalage : int
Return values
string

Search results