Documentation du code de SPIP et de ses plugins

SPIP

composer.php

Table of Contents

Constants

CODE_INCLURE_BALISE  = '<' . '?php include_once("%s"); if ($lang_select = "%s") $lang_select = lang_select($lang_select); inserer_balise_dynamique(balise_%s_dyn(%s), array(%s)); if ($lang_select) lang_select(); ?' . '>'
Code PHP pour inclure une balise dynamique à l'exécution d'une page

Functions

public_composer_dist()  : mixed
squelette_traduit()  : mixed
squelette_obsolete()  : mixed
invalideur_session()  : mixed
analyse_resultat_skel()  : mixed
synthetiser_balise_dynamique()  : string
Synthétise une balise dynamique : crée l'appel à l'inclusion en transmettant les arguments calculés et le contexte de compilation.
argumenter_squelette()  : string
Crée le code PHP pour transmettre des arguments (généralement pour une inclusion)
executer_balise_dynamique_dans_un_modele()  : string
Fonction proxy pour retarder le calcul d'un formulaire si on est au depart dans un modele
executer_balise_dynamique()  : string
Calcule et retourne le code PHP retourné par l'exécution d'une balise dynamique.
chercher_balise_generique()  : array<string|int, mixed>|null
Pour une balise "NOM" donné, cherche s'il existe une balise générique qui peut la traiter
lang_select_public()  : null
Selectionner la langue de l'objet dans la boucle
nettoyer_env_doublons()  : mixed
match_self()  : string|bool
Cherche la présence d'un opérateur SELF ou SUBSELECT
remplace_sous_requete()  : array<string|int, mixed>|string
Remplace une condition décrivant une sous requête par son code
trouver_sous_requetes()  : array<string|int, mixed>
Sépare les conditions de boucles simples de celles possédant des sous-requêtes.
calculer_select()  : mixed
preparer_calculer_select()  : array{select: array, from: array, where: array, orderby: string, having: array, serveur: string, requeter: bool|array|string, debug: array}
Calcule une requête et l’exécute
executer_calculer_select()  : mixed
compter_calculer_select()  : int
calculer_where_to_string()  : string
Analogue a calculer_mysql_expression et autre (a unifier ?)
calculer_jointnul()  : mixed
reinjecte_joint()  : mixed
remplacer_jointnul()  : mixed
calculer_nom_fonction_squel()  : mixed

Constants

CODE_INCLURE_BALISE

Code PHP pour inclure une balise dynamique à l'exécution d'une page

public mixed CODE_INCLURE_BALISE = '<' . '?php include_once("%s"); if ($lang_select = "%s") $lang_select = lang_select($lang_select); inserer_balise_dynamique(balise_%s_dyn(%s), array(%s)); if ($lang_select) lang_select(); ?' . '>'

Functions

public_composer_dist()

public_composer_dist(mixed $squelette, mixed $mime_type, mixed $gram, mixed $source[, string $connect = '' ]) : mixed
Parameters
$squelette : mixed
$mime_type : mixed
$gram : mixed
$source : mixed
$connect : string = ''

squelette_traduit()

squelette_traduit(mixed $squelette, mixed $sourcefile, mixed $phpfile, mixed $boucles) : mixed
Parameters
$squelette : mixed
$sourcefile : mixed
$phpfile : mixed
$boucles : mixed

squelette_obsolete()

squelette_obsolete(mixed $skel, mixed $squelette) : mixed
Parameters
$skel : mixed
$squelette : mixed

invalideur_session()

invalideur_session(mixed &$Cache[, mixed $code = null ]) : mixed
Parameters
$Cache : mixed
$code : mixed = null

analyse_resultat_skel()

analyse_resultat_skel(mixed $nom, mixed $cache, mixed $corps[, mixed $source = '' ]) : mixed
Parameters
$nom : mixed
$cache : mixed
$corps : mixed
$source : mixed = ''

synthetiser_balise_dynamique()

Synthétise une balise dynamique : crée l'appel à l'inclusion en transmettant les arguments calculés et le contexte de compilation.

synthetiser_balise_dynamique(string $nom, array<string|int, mixed> $args, string $file, array<string|int, mixed> $context_compil) : string
Parameters
$nom : string

Nom de la balise dynamique

$args : array<string|int, mixed>

Liste des arguments calculés

$file : string

Chemin du fichier de squelette à inclure

$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Tags
uses
argumenter_squelette()

Pour calculer les arguments de l'inclusion

used-by
executer_balise_dynamique()

Pour calculer le code PHP d'inclusion produit

Return values
string

Code PHP pour inclure le squelette de la balise dynamique

argumenter_squelette()

Crée le code PHP pour transmettre des arguments (généralement pour une inclusion)

argumenter_squelette(array<string|int, mixed>|string $v) : string
Parameters
$v : array<string|int, mixed>|string

Arguments à transmettre :

  • string : un simple texte à faire écrire
  • array : couples ('nom' => 'valeur') liste des arguments et leur valeur
Tags
used-by
synthetiser_balise_dynamique()

Pour calculer les arguments de l'inclusion

Return values
string
  • Code PHP créant le tableau des arguments à transmettre,
  • ou texte entre quote ' (si $v était une chaîne)

executer_balise_dynamique_dans_un_modele()

Fonction proxy pour retarder le calcul d'un formulaire si on est au depart dans un modele

executer_balise_dynamique_dans_un_modele( ...$args) : string

un modele est toujours inséré en texte dans son contenant donc si on est dans le public avec un cache on va perdre le dynamisme et on risque de mettre en cache les valeurs pre-remplies du formulaire on passe donc par une fonction proxy qui si besoin va collecter les arguments et injecter le PHP qui va appeler la fonction pour generer le formulaire au lieu de directement la fonction (dans l'espace prive on a pas de cache, donc pas de soucis (et un leak serait moins grave))

Parameters
$args :
Tags
see
calculer_balise_dynamique()
Return values
string

executer_balise_dynamique()

Calcule et retourne le code PHP retourné par l'exécution d'une balise dynamique.

executer_balise_dynamique(string $nom, array<string|int, mixed> $args, array<string|int, mixed> $context_compil) : string

Vérifier les arguments et filtres et calcule le code PHP à inclure.

  • charge le fichier PHP de la balise dynamique dans le répertoire balise/, soit du nom complet de la balise, soit d'un nom générique (comme 'formulaire_.php'). Dans ce dernier cas, le nom de la balise est ajouté en premier argument.
  • appelle une éventuelle fonction de traitement des arguments balise_NOM_stat()
  • crée le code PHP de la balise si une fonction balise_NOM_dyn() (ou variantes) est effectivement trouvée.
Parameters
$nom : string

Nom de la balise dynamique

$args : array<string|int, mixed>

Liste des arguments calculés de la balise

$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Tags
uses
synthetiser_balise_dynamique()

Pour calculer le code PHP d'inclusion produit

Return values
string

Code PHP d'exécutant l'inclusion du squelette (ou texte) de la balise dynamique

chercher_balise_generique()

Pour une balise "NOM" donné, cherche s'il existe une balise générique qui peut la traiter

chercher_balise_generique(string $nom) : array<string|int, mixed>|null

Le nom de balise doit contenir au moins un souligné "A_B", auquel cas on cherche une balise générique "A_"

S'il y a plus d'un souligné, tel que "A_B_C_D" on cherche différentes balises génériques en commençant par la plus longue possible, tel que "A_B_C_", sinon "A_B_" sinon "A_"

Parameters
$nom : string
Return values
array<string|int, mixed>|null

lang_select_public()

Selectionner la langue de l'objet dans la boucle

lang_select_public(string $lang, string $lang_select[, null|string $titre = null ]) : null

Applique sur un item de boucle la langue de l'élément qui est parcourru. Sauf dans les cas ou il ne le faut pas !

La langue n'est pas modifiée lorsque :

  • la globale 'forcer_lang' est définie à true
  • l'objet ne définit pas de langue
  • le titre contient une balise multi.
Parameters
$lang : string

Langue de l'objet

$lang_select : string

'oui' si critère lang_select est présent, '' sinon.

$titre : null|string = null

Titre de l'objet

Return values
null

nettoyer_env_doublons()

nettoyer_env_doublons(mixed $envd) : mixed
Parameters
$envd : mixed

match_self()

Cherche la présence d'un opérateur SELF ou SUBSELECT

match_self(string|array<string|int, mixed> $w) : string|bool

Cherche dans l'index 0 d'un tableau, la valeur SELF ou SUBSELECT indiquant pour une expression WHERE de boucle que nous sommes face à une sous-requête.

Cherche de manière récursive également dans les autres valeurs si celles-ci sont des tableaux

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

Description d'une condition WHERE de boucle (ou une partie de cette description)

Return values
string|bool

Opérateur trouvé (SELF ou SUBSELECT) sinon false.

remplace_sous_requete()

Remplace une condition décrivant une sous requête par son code

remplace_sous_requete(array<string|int, mixed>|string $w, string $sousrequete) : array<string|int, mixed>|string
Parameters
$w : array<string|int, mixed>|string

Description d'une condition WHERE de boucle (ou une partie de cette description) qui possède une description de sous-requête

$sousrequete : string

Code PHP de la sous requête (qui doit remplacer la description)

Return values
array<string|int, mixed>|string

Tableau de description du WHERE dont la description de sous-requête est remplacée par son code.

trouver_sous_requetes()

Sépare les conditions de boucles simples de celles possédant des sous-requêtes.

trouver_sous_requetes(array<string|int, mixed> $where) : array<string|int, mixed>
Parameters
$where : array<string|int, mixed>

Description d'une condition WHERE de boucle

Return values
array<string|int, mixed>

Liste de 2 tableaux :

  • Conditions simples (ne possédant pas de sous requêtes)
  • Conditions avec des sous requêtes

preparer_calculer_select()

Calcule une requête et l’exécute

preparer_calculer_select([array<string|int, mixed> $select = [] ][, array<string|int, mixed> $from = [] ][, array<string|int, mixed> $from_type = [] ][, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $join = [] ][, array<string|int, mixed> $groupby = [] ][, array<string|int, mixed> $orderby = [] ][, string $limit = '' ][, array<string|int, mixed> $having = [] ][, string $table = '' ][, string $id = '' ][, string $serveur = '' ][, bool|array<string|int, mixed>|string $requeter = true ]) : array{select: array, from: array, where: array, orderby: string, having: array, serveur: string, requeter: bool|array|string, debug: array}

Cette fonction est présente dans les squelettes compilés. Elle peut permettre de générer des requêtes avec jointure.

Parameters
$select : array<string|int, mixed> = []
$from : array<string|int, mixed> = []
$from_type : array<string|int, mixed> = []
$where : array<string|int, mixed> = []
$join : array<string|int, mixed> = []
$groupby : array<string|int, mixed> = []
$orderby : array<string|int, mixed> = []
$limit : string = ''
$having : array<string|int, mixed> = []
$table : string = ''
$id : string = ''
$serveur : string = ''
$requeter : bool|array<string|int, mixed>|string = true
Return values
array{select: array, from: array, where: array, orderby: string, having: array, serveur: string, requeter: bool|array|string, debug: array}

executer_calculer_select()

executer_calculer_select(array<string|int, mixed> $requete) : mixed
Parameters
$requete : array<string|int, mixed>

compter_calculer_select()

compter_calculer_select(array<string|int, mixed> $requete) : int
Parameters
$requete : array<string|int, mixed>
Return values
int

calculer_where_to_string()

Analogue a calculer_mysql_expression et autre (a unifier ?)

calculer_where_to_string(string|array<string|int, mixed> $v[, string $join = 'AND' ]) : string
Parameters
$v : string|array<string|int, mixed>
$join : string = 'AND'
Return values
string

calculer_jointnul()

calculer_jointnul(mixed $cle, mixed $exp[, mixed $equiv = '' ]) : mixed
Parameters
$cle : mixed
$exp : mixed
$equiv : mixed = ''

reinjecte_joint()

reinjecte_joint(mixed $afrom, mixed $from) : mixed
Parameters
$afrom : mixed
$from : mixed

remplacer_jointnul()

remplacer_jointnul(mixed $cle, mixed $exp[, mixed $equiv = '' ]) : mixed
Parameters
$cle : mixed
$exp : mixed
$equiv : mixed = ''

calculer_nom_fonction_squel()

calculer_nom_fonction_squel(mixed $skel[, mixed $mime_type = 'html' ][, string $connect = '' ]) : mixed
Parameters
$skel : mixed
$mime_type : mixed = 'html'
$connect : string = ''

        
On this page

Search results