fonctions.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Constants
Functions
- filtre_introduction_dist() : string
- Calcul d'une introduction
- filtre_pagination_dist() : string
- Filtre calculant une pagination, utilisé par la balise `#PAGINATION`
- filtre_bornes_pagination_dist() : array<string|int, int>
- Calcule les bornes d'une pagination
- filtre_pagination_affiche_texte_lien_page_dist() : mixed
- lister_objets_avec_logos() : string
- Retourne pour une clé primaire d'objet donnée les identifiants ayant un logo
- calculer_notes() : string
- Renvoie l'état courant des notes, le purge et en prépare un nouveau
- retrouver_rang_lien() : string
- Retrouver le rang du lien entre un objet source et un obet lie utilisable en direct dans un formulaire d'edition des liens, mais #RANG doit faire le travail automatiquement [(#ENV{objet_source}|rang_lien{#ID_AUTEUR,#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}})]
- lister_objets_liens() : mixed
- Lister les liens en le memoizant dans une static pour utilisation commune par lister_objets_lies et retrouver_rang_lien dans un formulaire d'edition de liens (evite de multiplier les requetes)
- calculer_rang_smart() : int|string
- Calculer la balise #RANG quand ce n'est pas un champ rang : peut etre le num titre, le champ rang_lien ou le rang du lien en edition des liens, a retrouver avec les infos du formulaire
- calculer_balise_tri() : string
- Calcul de la balise #TRI
- tri_protege_champ() : string
- Proteger les champs passes dans l'url et utiliser dans {tri ...} preserver l'espace pour interpreter ensuite num xxx et multi xxx on permet d'utiliser les noms de champ prefixes articles.titre et les propriete json properties.gis[0].ville
- tri_champ_order() : string
- Interpreter les multi xxx et num xxx utilise comme tri pour la clause order 'multi xxx' devient simplement 'multi' qui est calcule dans le select
- tri_champ_select() : string
- Interpreter les multi xxx et num xxx utilise comme tri pour la clause select 'multi xxx' devient select "...." as multi les autres cas ne produisent qu'une chaine vide '' en select 'hasard' devient 'rand() AS hasard' dans le select
- formate_liste_critere_par_ordre_liste() : string
- Fonction de mise en forme utilisee par le critere {par_ordre_liste..}
- filtre_styles_inline_page_login_pass_dist() : string
- generer le style dynamique inline pour la page de login et spip_pass
Constants
_PAGINATION_NOMBRE_LIENS_MAX
public
mixed
_PAGINATION_NOMBRE_LIENS_MAX
= 10
_PAGINATION_NOMBRE_LIENS_MAX_ECRIRE
public
mixed
_PAGINATION_NOMBRE_LIENS_MAX_ECRIRE
= 5
Functions
filtre_introduction_dist()
Calcul d'une introduction
filtre_introduction_dist(string $descriptif, string $texte, string $longueur, string $connect[, string $suite = null ]) : string
L'introduction est prise dans le descriptif s'il est renseigné,
sinon elle est calculée depuis le texte : à ce moment là,
l'introduction est prise dans le contenu entre les balises
<intro>
et </intro>
si présentes, sinon en coupant le
texte à la taille indiquée.
Cette fonction est utilisée par la balise #INTRODUCTION
Parameters
- $descriptif : string
-
Descriptif de l'introduction
- $texte : string
-
texte à utiliser en absence de descriptif
- $longueur : string
-
Longueur de l'introduction
- $connect : string
-
Nom du connecteur à la base de données
- $suite : string = null
-
points de suite si on coupe (par defaut _INTRODUCTION_SUITE et sinon (...)
Tags
Return values
string —Introduction calculée
filtre_pagination_dist()
Filtre calculant une pagination, utilisé par la balise `#PAGINATION`
filtre_pagination_dist(int $total, string $nom, int $position, int $pas[, bool $liste = true ][, string $modele = '' ][, string $connect = '' ][, array<string|int, mixed> $env = [] ]) : string
Le filtre cherche le modèle pagination.html
par défaut, mais peut
chercher un modèle de pagination particulier avec l'argument $modele
.
S'il $modele='prive'
, le filtre cherchera le modèle pagination_prive.html
.
Parameters
- $total : int
-
Nombre total d'éléments
- $nom : string
-
Nom identifiant la pagination
- $position : int
-
Page à afficher (tel que la 3è page)
- $pas : int
-
Nombre d'éléments par page
- $liste : bool = true
-
- True pour afficher toute la liste des éléments,
- False pour n'afficher que l'ancre
- $modele : string = ''
-
Nom spécifique du modèle de pagination
- $connect : string = ''
-
Nom du connecteur à la base de données
- $env : array<string|int, mixed> = []
-
Environnement à transmettre au modèle
Tags
Return values
string —Code HTML de la pagination
filtre_bornes_pagination_dist()
Calcule les bornes d'une pagination
filtre_bornes_pagination_dist(int $courante, int $nombre[, int $max = 10 ]) : array<string|int, int>
Parameters
- $courante : int
-
Page courante
- $nombre : int
-
Nombre de pages
- $max : int = 10
-
Nombre d'éléments par page
Tags
Return values
array<string|int, int> —Liste (première page, dernière page).
filtre_pagination_affiche_texte_lien_page_dist()
filtre_pagination_affiche_texte_lien_page_dist(mixed $type_pagination, mixed $numero_page, mixed $rang_item) : mixed
Parameters
- $type_pagination : mixed
- $numero_page : mixed
- $rang_item : mixed
lister_objets_avec_logos()
Retourne pour une clé primaire d'objet donnée les identifiants ayant un logo
lister_objets_avec_logos(string $type) : string
Parameters
- $type : string
-
Nom de la clé primaire de l'objet
Tags
Return values
string —Liste des identifiants ayant un logo (séparés par une virgule)
calculer_notes()
Renvoie l'état courant des notes, le purge et en prépare un nouveau
calculer_notes() : string
Fonction appelée par la balise #NOTES
Tags
Return values
string —Code HTML des notes
retrouver_rang_lien()
Retrouver le rang du lien entre un objet source et un obet lie utilisable en direct dans un formulaire d'edition des liens, mais #RANG doit faire le travail automatiquement [(#ENV{objet_source}|rang_lien{#ID_AUTEUR,#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}})]
retrouver_rang_lien(string $objet_source, int $ids, string $objet_lie, int $idl, string $objet_lien) : string
Parameters
- $objet_source : string
- $ids : int
- $objet_lie : string
- $idl : int
- $objet_lien : string
Return values
stringlister_objets_liens()
Lister les liens en le memoizant dans une static pour utilisation commune par lister_objets_lies et retrouver_rang_lien dans un formulaire d'edition de liens (evite de multiplier les requetes)
lister_objets_liens(string $objet_source, string $objet, int $id_objet, string $objet_lien) : mixed
Parameters
- $objet_source : string
- $objet : string
- $id_objet : int
- $objet_lien : string
Tags
calculer_rang_smart()
Calculer la balise #RANG quand ce n'est pas un champ rang : peut etre le num titre, le champ rang_lien ou le rang du lien en edition des liens, a retrouver avec les infos du formulaire
calculer_rang_smart(string $titre, string $objet_source, int $id, array<string|int, mixed> $env) : int|string
Parameters
- $titre : string
- $objet_source : string
- $id : int
- $env : array<string|int, mixed>
Return values
int|stringcalculer_balise_tri()
Calcul de la balise #TRI
calculer_balise_tri(string $champ_ou_sens, string $libelle, string $classe, string $tri_nom, string $tri_champ, string $tri_sens, array<string|int, mixed>|string|int $liste_tri_sens_defaut[, string $nom_pagination = '' ]) : string
Parameters
- $champ_ou_sens : string
-
- soit le nom de champ sur lequel effectuer le nouveau tri
- soit
<
et>
pour définir le sens du tri sur le champ actuel
- $libelle : string
-
Texte du lien
- $classe : string
-
Classe ajoutée au lien, telle que
ajax
- $tri_nom : string
-
Nom du paramètre définissant le tri
- $tri_champ : string
-
Nom du champ actuel utilisé pour le tri
- $tri_sens : string
-
Sens de tri actuel, 1 ou -1
- $liste_tri_sens_defaut : array<string|int, mixed>|string|int
-
Soit la liste des sens de tri par défaut pour chaque champ Soit une valeur par défaut pour tous les champs (1, -1, inverse)
- $nom_pagination : string = ''
-
Nom de la boucle
Return values
string —HTML avec un lien cliquable
tri_protege_champ()
Proteger les champs passes dans l'url et utiliser dans {tri ...} preserver l'espace pour interpreter ensuite num xxx et multi xxx on permet d'utiliser les noms de champ prefixes articles.titre et les propriete json properties.gis[0].ville
tri_protege_champ(string $t) : string
Parameters
- $t : string
Return values
stringtri_champ_order()
Interpreter les multi xxx et num xxx utilise comme tri pour la clause order 'multi xxx' devient simplement 'multi' qui est calcule dans le select
tri_champ_order(string $t[, array<string|int, mixed> $from = null ][, mixed $senstri = '' ]) : string
Parameters
- $t : string
- $from : array<string|int, mixed> = null
- $senstri : mixed = ''
Return values
stringtri_champ_select()
Interpreter les multi xxx et num xxx utilise comme tri pour la clause select 'multi xxx' devient select "...." as multi les autres cas ne produisent qu'une chaine vide '' en select 'hasard' devient 'rand() AS hasard' dans le select
tri_champ_select(string $t) : string
Parameters
- $t : string
Return values
stringformate_liste_critere_par_ordre_liste()
Fonction de mise en forme utilisee par le critere {par_ordre_liste..}
formate_liste_critere_par_ordre_liste(array<string|int, mixed> $valeurs[, string $serveur = '' ]) : string
Parameters
- $valeurs : array<string|int, mixed>
- $serveur : string = ''
Tags
Return values
stringfiltre_styles_inline_page_login_pass_dist()
generer le style dynamique inline pour la page de login et spip_pass
filtre_styles_inline_page_login_pass_dist(array<string|int, mixed> &$Pile, mixed ...$dummy) : string
Parameters
- $Pile : array<string|int, mixed>
-
Pile de données
- $dummy : mixed