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, int|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 : int|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