filtres.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
- charger_filtre() : string
- Charger un filtre depuis le php
- filtre_identite_dist() : string
- Retourne le texte tel quel
- chercher_filtre() : string
- Cherche un filtre
- appliquer_filtre() : string
- Applique un filtre s'il existe, sinon retourne une chaîne vide
- appliquer_si_filtre() : string
- Applique un filtre s'il existe, sinon retourne le contenu d'origine sans modification
- spip_version() : string
- Retourne la version de SPIP
- header_silencieux() : string
- Masque la version de SPIP si la globale spip_header_silencieux le demande.
- version_vcs_courante() : mixed
- Retourne une courte description d’une révision VCS d’un répertoire
- decrire_version_git() : array<string|int, mixed>|null
- Retrouve un numéro de révision Git d'un répertoire
- filtrer() : string
- Charge et exécute un filtre (graphique ou non)
- trouver_filtre_matrice() : bool
- Cherche un filtre spécial indiqué dans la globale `spip_matrice` et charge le fichier éventuellement associé contenant le filtre.
- filtre_set() : mixed
- Filtre `set` qui sauve la valeur en entrée dans une variable
- filtre_setenv() : string|mixed
- Filtre `setenv` qui enregistre une valeur dans l'environnement du squelette
- filtre_sanitize_env() : string
- filtre_debug() : mixed
- Filtre `debug` qui affiche un debug de la valeur en entrée
- image_filtrer() : string
- Exécute un filtre image
- infos_image() : array<string|int, mixed>
- Retourne les informations d'une image
- poids_image() : array<string|int, mixed>
- Retourne les dimensions d'une image
- taille_image() : mixed
- largeur() : int|null
- Retourne la largeur d'une image
- hauteur() : int|null
- Retourne la hauteur d'une image
- corriger_entites_html() : string
- Échappement des entités HTML avec correction des entités « brutes »
- corriger_toutes_entites_html() : string
- Échappement des entités HTML avec correction des entités « brutes » ainsi que les `&eacute;` en `é`
- proteger_amp() : string
- Échappe les `&` en `&`
- entites_html() : mixed|string
- Échappe en entités HTML certains caractères d'un texte
- filtrer_entites() : string
- Convertit les caractères spéciaux HTML dans le charset du site.
- filtre_filtrer_entites_dist() : string
- Version sécurisée de filtrer_entites
- supprimer_caracteres_illegaux() : string|array<string|int, mixed>
- Supprime des caractères illégaux
- corriger_caracteres() : string|array<string|int, mixed>
- Correction de caractères
- texte_backend() : string
- Encode du HTML pour transmission XML notamment dans les flux RSS
- texte_backendq() : string
- Encode et quote du HTML pour transmission XML notamment dans les flux RSS
- supprimer_numero() : string
- Enlève un numéro préfixant un texte
- recuperer_numero() : string
- Récupère un numéro préfixant un texte
- supprimer_tags() : string|array<string|int, mixed>
- Suppression basique et brutale de tous les tags
- echapper_tags() : string
- Convertit les chevrons de tag en version lisible en HTML
- textebrut() : string
- Convertit un texte HTML en texte brut
- liens_ouvrants() : string
- Remplace les liens SPIP en liens ouvrant dans une nouvelle fenetre (target=blank)
- liens_nofollow() : string
- Ajouter un attribut rel="nofollow" sur tous les liens d'un texte
- PtoBR() : string
- Transforme les sauts de paragraphe HTML `p` en simples passages à la ligne `br`
- majuscules() : string
- Passe un texte en majuscules, y compris les accents, en HTML
- taille_en_octets() : string
- Renvoie une taille de dossier ou de fichier humainement lisible en ajustant le format et l'unité.
- attribut_html() : string
- Rend une chaine utilisable sans dommage comme attribut HTML
- attribut_url() : string
- Rend une URL utilisable sans dommage comme attribut d'une balise HTML
- vider_url() : string
- Vider les URL nulles
- antispam() : string
- Maquiller une adresse e-mail
- filtre_securiser_acces_dist() : bool
- Vérifie un accès à faible sécurité
- sinon() : mixed
- Retourne le second paramètre lorsque le premier est considere vide, sinon retourne le premier paramètre.
- choixsivide() : mixed
- Filtre `|choixsivide{vide, pas vide}` alias de `|?{si oui, si non}` avec les arguments inversés
- choixsiegal() : mixed
- Filtre `|choixsiegal{valeur, sioui, sinon}`
- filtrer_ical() : string
- Adapte un texte pour être inséré dans une valeur d'un export ICAL
- post_autobr() : string
- Transforme les sauts de ligne simples en sauts forcés avec `_ `
- extraire_idiome() : string
- Extrait une langue des extraits idiomes (`<:module:cle_de_langue:>`)
- extraire_multi() : string
- Extrait une langue des extraits polyglottes (`<multi>`)
- filtre_initiale() : string
- Calculer l'initiale d'un nom
- unique() : string|int|array<string|int, mixed>|null|void
- Retourne la donnée si c'est la première fois qu'il la voit
- alterner() : mixed
- Filtre qui alterne des valeurs en fonction d'un compteur
- extraire_attribut() : string|array<string|int, mixed>|null
- Récupérer un attribut d'une balise HTML
- inserer_attribut() : string
- Insérer (ou modifier) un attribut html dans une balise
- vider_attribut() : string
- Supprime un attribut HTML
- modifier_class() : string
- Fonction support pour les filtres |ajouter_class |supprimer_class |commuter_class
- ajouter_class() : string
- Ajoute une ou plusieurs classes sur une balise (si pas deja presentes)
- supprimer_class() : string
- Supprime une ou plusieurs classes sur une balise (si presentes)
- commuter_class() : string
- Bascule une ou plusieurs classes sur une balise : ajoutees si absentes, supprimees si presentes
- tester_config() : string
- Un filtre pour déterminer le nom du statut des inscrits
- floatstr() : mixed
- strize() : mixed
- plus() : int
- Additionne 2 nombres
- strplus() : mixed
- moins() : int
- Soustrait 2 nombres
- strmoins() : mixed
- mult() : int
- Multiplie 2 nombres
- strmult() : mixed
- div() : int
- Divise 2 nombres
- strdiv() : mixed
- modulo() : int
- Retourne le modulo 2 nombres
- nom_acceptable() : bool
- Vérifie qu'un nom (d'auteur) ne comporte pas d'autres tags que <multi> et ceux volontairement spécifiés dans la constante
- email_valide() : bool|string|array<string|int, mixed>
- Vérifier la conformité d'une ou plusieurs adresses email (suivant RFC 822)
- afficher_enclosures() : string
- Permet d'afficher un symbole à côté des liens pointant vers les documents attachés d'un article (liens ayant `rel=enclosure`).
- afficher_tags() : string
- Filtre des liens HTML `<a>` selon la valeur de leur attribut `rel` et ne retourne que ceux là.
- enclosure2microformat() : string
- Convertir les médias fournis par un flux RSS (podcasts) en liens conformes aux microformats
- microformat2enclosure() : string
- Convertir les liens conformes aux microformats en médias pour flux RSS, par exemple pour les podcasts
- tags2dcsubject() : string
- Créer les éléments ATOM `<dc:subject>` à partir des tags
- extraire_balise() : string|array<string|int, mixed>
- Retourne la premiere balise html du type demandé
- extraire_balises() : array<string|int, mixed>
- Extrait toutes les balises html du type demandé
- in_any() : string
- Indique si le premier argument est contenu dans le second
- valeur_numerique() : int
- Retourne le résultat d'une expression mathématique simple
- regledetrois() : int
- Retourne un calcul de règle de trois
- form_hidden() : string
- Crée des tags HTML input hidden pour chaque paramètre et valeur d'une URL
- filtre_reset() : mixed|null|false
- Retourne la première valeur d'un tableau
- filtre_end() : mixed|null|false
- Retourne la dernière valeur d'un tableau
- filtre_push() : array<string|int, mixed>|string
- Empile une valeur à la fin d'un tableau
- filtre_find() : bool
- Indique si une valeur est contenue dans un tableau
- urls_absolues_css() : string
- Passer les url relatives à la css d'origine en url absolues
- direction_css() : string
- Inverse le code CSS (left <--> right) d'une feuille de style CSS
- url_absolue_css() : string
- Transforme les urls relatives d'un fichier CSS en absolues
- table_valeur() : mixed
- Récupère la valeur d'une clé donnée dans un tableau (ou un objet).
- filtre_match_dist() : bool|string
- Retrouve un motif dans un texte à partir d'une expression régulière
- replace() : string
- Remplacement de texte à base d'expression régulière
- traiter_doublons_documents() : string
- Cherche les documents numerotés dans un texte traite par `propre()`
- vide() : string
- Filtre vide qui ne renvoie rien
- env_to_params() : string
- Écrit des balises HTML `<param...>` à partir d'un tableau de données tel que `#ENV`
- env_to_attributs() : string
- Écrit des attributs HTML à partir d'un tableau de données tel que `#ENV`
- concat() : string
- Concatène des chaînes
- charge_scripts() : string
- Retourne le contenu d'un ou plusieurs fichiers
- http_img_variante_svg_si_possible() : string
- Trouver la potentielle variante SVG -xx.svg d'une image -xx.png Cette fonction permet le support multi-version SPIP des plugins qui fournissent une icone PNG et sa variante SVG
- http_img_pack() : string
- Produit une balise img avec un champ alt d'office si vide
- http_style_background() : string
- Générer une directive `style='background:url()'` à partir d'un fichier image
- helper_filtre_balise_img_svg_arguments() : mixed
- helper_filtre_balise_img_svg_size() : mixed
- filtre_balise_img_dist() : string
- Générer une balise HTML `img` à partir d'un nom de fichier et/ou renseigne son alt/class/width/height selon les arguments passés
- filtre_balise_svg_dist() : string
- Inserer un svg inline http://www.accede-web.com/notices/html-css-javascript/6-images-icones/6-2-svg-images-vectorielles/
- filtre_balise_img_svg_dist() : string
- Génère une balise HTML `img` ou un `svg` inline suivant le nom du fichier.
- filtre_info_plugin_dist() : array<string|int, mixed>|string|bool
- Obtient des informations sur les plugins actifs
- puce_changement_statut() : string
- Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir
- filtre_puce_statut_dist() : string
- Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir
- encoder_contexte_ajax() : string
- Encoder un contexte pour l'ajax
- decoder_contexte_ajax() : array<string|int, mixed>|string|bool
- Décoder un hash de contexte pour l'ajax
- _xor() : string
- Encrypte ou décrypte un message
- url_reponse_forum() : string
- Retourne une URL de réponse de forum (aucune action ici)
- url_rss_forum() : string
- retourne une URL de suivi rss d'un forum (aucune action ici)
- lien_ou_expose() : string
- Génère des menus avec liens ou `<strong class='on'>` non clicable lorsque l'item est sélectionné Le parametre $on peut recevoir un selecteur simplifié de type 'a.active' 'strong.active.expose' pour préciser la balise (a, span ou strong uniquement) et la/les classes à utiliser quand on est expose
- singulier_ou_pluriel() : string
- Afficher un message "un truc"/"N trucs" Les items sont à indiquer comme pour la fonction _T() sous la forme : "module:chaine"
- prepare_icone_base() : string
- Fonction de base pour une icone dans un squelette.
- icone_base() : string
- Crée un lien ayant une icone
- filtre_icone_verticale_dist() : string
- Crée un lien précédé d'une icone au dessus du texte
- filtre_icone_horizontale_dist() : string
- Crée un lien précédé d'une icone horizontale
- filtre_bouton_action_horizontal_dist() : string
- Crée un bouton d'action intégrant une icone horizontale
- filtre_explode_dist() : array<string|int, mixed>
- Explose un texte en tableau suivant un séparateur
- filtre_implode_dist() : string
- Implose un tableau en chaine en liant avec un séparateur
- bando_images_background() : string
- Produire les styles privés qui associent item de menu avec icone en background
- bouton_action() : string
- Générer un bouton_action utilisé par #BOUTON_ACTION
- generer_objet_info() : string
- Donner n'importe quelle information sur un objet de maniere generique.
- generer_objet_introduction() : string
- Fonction privée pour donner l'introduction d'un objet de manière générique.
- appliquer_traitement_champ() : string
- Appliquer a un champ SQL le traitement qui est configure pour la balise homonyme dans les squelettes
- generer_objet_lien() : string
- Generer un lien (titre clicable vers url) vers un objet
- wrap() : string
- Englobe (Wrap) un texte avec des balises
- filtre_print_dist() : array<string|int, mixed>|mixed|string
- afficher proprement n'importe quoi On affiche in fine un pseudo-yaml qui premet de lire humainement les tableaux et de s'y reperer
- objet_info() : string|array<string|int, mixed>
- Renvoyer l'info d'un objet telles que definies dans declarer_tables_objets_sql
- objet_afficher_nb() : mixed|string
- Filtre pour afficher 'Aucun truc' ou '1 truc' ou 'N trucs' avec la bonne chaîne de langue en fonction de l'objet utilisé
- objet_icone() : string
- Filtre pour afficher l'img icone d'un objet
- objet_T() : string
- Renvoyer une traduction d'une chaine de langue contextuelle à un objet si elle existe, la traduction de la chaine generique
- insert_head_css_conditionnel() : string
- Fonction de secours pour inserer le head_css de facon conditionnelle
- produire_fond_statique() : string
- Produire un fichier statique à partir d'un squelette dynamique
- timestamp() : string
- Ajouter un timestamp a une url de fichier [(#CHEMIN{monfichier}|timestamp)]
- supprimer_timestamp() : string
- Supprimer le timestamp d'une url
- filtre_nettoyer_titre_email_dist() : string
- Nettoyer le titre d'un email
- filtre_chercher_rubrique_dist() : string
- Afficher le sélecteur de rubrique
- sinon_interdire_acces() : string|void
- Rediriger une page suivant une autorisation, et ce, n'importe où dans un squelette, même dans les inclusions.
- filtre_compacte_dist() : string
- Assurer le fonctionnement de |compacte meme sans l'extension compresseur
- spip_affiche_mot_de_passe_masque() : string
- Afficher partiellement un mot de passe que l'on ne veut pas rendre lisible par un champ hidden
- identifiant_slug() : string
- Cette fonction permet de transformer un texte clair en nom court pouvant servir d'identifiant, class, id, url... en ne conservant que des caracteres alphanumeriques et un separateur
- label_nettoyer() : string
- Prépare un texte pour un affichage en label ou titre
- label_ponctuer() : string
- Prépare un texte pour un affichage en label ou titre en ligne, systématiquement avec ' :' à la fin
- helper_filtre_objet_lister_enfants_ou_parents() : array<string|int, mixed>
- Helper pour les filtres associés aux fonctions objet_lister_(parents|enfants)(_par_type)?
- filtre_objet_lister_parents_dist() : array<string|int, mixed>
- Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents{#OBJET})]
- filtre_objet_lister_parents_par_type_dist() : array<string|int, mixed>
- Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents_par_type{#OBJET})]
- filtre_objet_lister_enfants_dist() : array<string|int, mixed>
- Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants{#OBJET})]
- filtre_objet_lister_enfants_par_type_dist() : array<string|int, mixed>
- Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants_par_type{#OBJET})]
- filtre_propre_dist() : mixed
- Filtre `propre()` pour les squelettes
Constants
_SPIP_AFFICHE_MOT_DE_PASSE_MASQUE_PERCENT
public
mixed
_SPIP_AFFICHE_MOT_DE_PASSE_MASQUE_PERCENT
= 20
_TAGS_NOM_AUTEUR
public
mixed
_TAGS_NOM_AUTEUR
= ''
Functions
charger_filtre()
Charger un filtre depuis le php
charger_filtre(string $fonc[, string $default = 'filtre_identite_dist' ]) : string
- on inclue tous les fichiers fonctions des plugins et du skel
- on appelle chercher_filtre
Pour éviter de perdre le texte si le filtre demandé est introuvable,
on transmet filtre_identite_dist
en filtre par défaut.
Parameters
- $fonc : string
-
Nom du filtre
- $default : string = 'filtre_identite_dist'
-
Filtre par défaut
Tags
Return values
string —Fonction PHP correspondante du filtre
filtre_identite_dist()
Retourne le texte tel quel
filtre_identite_dist(string $texte) : string
Parameters
- $texte : string
-
texte
Tags
Return values
string —texte
chercher_filtre()
Cherche un filtre
chercher_filtre(string $fonc[, string|null $default = null ]) : string
Pour une filtre F
retourne la première fonction trouvée parmis :
- filtre_F
- filtre_F_dist
- F
Peut gérer des appels par des fonctions statiques de classes tel que Foo::Bar
En absence de fonction trouvée, retourne la fonction par défaut indiquée.
Parameters
- $fonc : string
-
Nom du filtre
- $default : string|null = null
-
Nom du filtre appliqué par défaut si celui demandé n'est pas trouvé
Return values
string —Fonction PHP correspondante du filtre demandé
appliquer_filtre()
Applique un filtre s'il existe, sinon retourne une chaîne vide
appliquer_filtre(mixed $arg, string $filtre) : string
Fonction générique qui prend en argument l’objet (texte, etc) à modifier et le nom du filtre.
- À la différence de la fonction
filtrer()
, celle-ci ne lève pas d'erreur de squelettes si le filtre n'est pas trouvé. - À la différence de la fonction
appliquer_si_filtre()
le contenu d'origine n'est pas retourné si le filtre est absent.
Les arguments supplémentaires transmis à cette fonction sont utilisés comme arguments pour le filtre appelé.
Parameters
- $arg : mixed
-
texte (le plus souvent) sur lequel appliquer le filtre
- $filtre : string
-
Nom du filtre à appliquer
Tags
Return values
string —texte traité par le filtre si le filtre existe, Chaîne vide sinon.
appliquer_si_filtre()
Applique un filtre s'il existe, sinon retourne le contenu d'origine sans modification
appliquer_si_filtre(mixed $arg, string $filtre) : string
Se référer à appliquer_filtre()
pour les détails.
Parameters
- $arg : mixed
-
texte (le plus souvent) sur lequel appliquer le filtre
- $filtre : string
-
Nom du filtre à appliquer
Tags
Return values
string —texte traité par le filtre si le filtre existe, texte d'origine sinon
spip_version()
Retourne la version de SPIP
spip_version() : string
Si l'on retrouve un numéro de révision GIT ou SVN, il est ajouté entre crochets. Si effectivement le SPIP est installé par Git ou Svn, 'GIT' ou 'SVN' est ajouté avant sa révision.
Tags
Return values
string —Version de SPIP
header_silencieux()
Masque la version de SPIP si la globale spip_header_silencieux le demande.
header_silencieux(string $version) : string
Parameters
- $version : string
Tags
Return values
stringversion_vcs_courante()
Retourne une courte description d’une révision VCS d’un répertoire
version_vcs_courante(string $dir[, array<string|int, mixed> $raw = false ]) : mixed
Parameters
- $dir : string
-
Le répertoire à tester
- $raw : array<string|int, mixed> = false
-
True pour avoir les données brutes, false pour un texte à afficher
Tags
decrire_version_git()
Retrouve un numéro de révision Git d'un répertoire
decrire_version_git(string $dir) : array<string|int, mixed>|null
Parameters
- $dir : string
-
Chemin du répertoire
Return values
array<string|int, mixed>|null —null si aucune info trouvée array ['branch' => xx, 'commit' => yy] sinon.
filtrer()
Charge et exécute un filtre (graphique ou non)
filtrer(string $filtre, mixed ...$args) : string
Recherche la fonction prévue pour un filtre (qui peut être un filtre graphique image_*
)
et l'exécute avec les arguments transmis à la fonction, obtenus avec func_get_args()
Parameters
- $filtre : string
-
Nom du filtre à appliquer
- $args : mixed
-
Arguments du filtre appelé
Tags
Return values
string —Code HTML retourné par le filtre
trouver_filtre_matrice()
Cherche un filtre spécial indiqué dans la globale `spip_matrice` et charge le fichier éventuellement associé contenant le filtre.
trouver_filtre_matrice(string $filtre) : bool
Les filtres d'images par exemple sont déclarés de la sorte, tel que :
$GLOBALS['spip_matrice']['image_reduire'] = true;
$GLOBALS['spip_matrice']['image_monochrome'] = 'filtres/images_complements.php';
Parameters
- $filtre : string
Return values
bool —true si on trouve le filtre dans la matrice, false sinon.
filtre_set()
Filtre `set` qui sauve la valeur en entrée dans une variable
filtre_set(array<string|int, mixed> &$Pile, mixed $val, string $key[, bool $continue = null ]) : mixed
La valeur pourra être retrouvée avec #GET{variable}
.
Parameters
- $Pile : array<string|int, mixed>
-
Pile de données
- $val : mixed
-
Valeur à sauver
- $key : string
-
Clé d'enregistrement
- $continue : bool = null
-
True pour retourner la valeur
Tags
filtre_setenv()
Filtre `setenv` qui enregistre une valeur dans l'environnement du squelette
filtre_setenv(array<string|int, mixed> &$Pile, mixed $val, mixed $key[, null|mixed $continue = null ]) : string|mixed
La valeur pourra être retrouvée avec #ENV{variable}
.
Parameters
- $Pile : array<string|int, mixed>
- $val : mixed
-
Valeur à enregistrer
- $key : mixed
-
Nom de la variable
- $continue : null|mixed = null
-
Si présent, retourne la valeur en sortie
Tags
Return values
string|mixed —Retourne $val
si $continue
présent, sinon ''.
filtre_sanitize_env()
filtre_sanitize_env(array<string|int, mixed> &$Pile, array<string|int, mixed>|string $keys) : string
Parameters
- $Pile : array<string|int, mixed>
- $keys : array<string|int, mixed>|string
Return values
stringfiltre_debug()
Filtre `debug` qui affiche un debug de la valeur en entrée
filtre_debug(mixed $val[, mixed|null $key = null ]) : mixed
Log la valeur dans debug.log
et l'affiche si on est webmestre.
Parameters
- $val : mixed
-
La valeur à debugguer
- $key : mixed|null = null
-
Clé pour s'y retrouver
Tags
Return values
mixed —Retourne la valeur (sans la modifier).
image_filtrer()
Exécute un filtre image
image_filtrer(array<string|int, mixed> $args) : string
Fonction générique d'entrée des filtres images. Accepte en entrée :
- un texte complet,
- un img-log (produit par #LOGO_XX),
- un tag
<img ...>
complet, - un nom de fichier local (passer le filtre
|copie_locale
si on veut l'appliquer à un document distant).
Applique le filtre demande à chacune des occurrences
Parameters
- $args : array<string|int, mixed>
-
Liste des arguments :
- le premier est le nom du filtre image à appliquer
- le second est le texte sur lequel on applique le filtre
- les suivants sont les arguments du filtre image souhaité.
Tags
Return values
string —texte qui a reçu les filtres
infos_image()
Retourne les informations d'une image
infos_image(string $img[, mixed $force_refresh = false ]) : array<string|int, mixed>
Pour les filtres largeur
et hauteur
taille_image
et poids_image
Parameters
- $img : string
-
Balise HTML
<img ...>
ou chemin de l'image (qui peut être une URL distante). - $force_refresh : mixed = false
Return values
array<string|int, mixed> —largeur hauteur poids
poids_image()
Retourne les dimensions d'une image
poids_image(string $img[, mixed $force_refresh = false ]) : array<string|int, mixed>
Pour les filtres largeur
et hauteur
Parameters
- $img : string
-
Balise HTML
<img ...>
ou chemin de l'image (qui peut être une URL distante). - $force_refresh : mixed = false
Return values
array<string|int, mixed> —largeur hauteur poids
taille_image()
taille_image(mixed $img[, mixed $force_refresh = false ]) : mixed
Parameters
- $img : mixed
- $force_refresh : mixed = false
largeur()
Retourne la largeur d'une image
largeur(string $img) : int|null
Parameters
- $img : string
-
Balise HTML
<img ...>
ou chemin de l'image (qui peut être une URL distante).
Tags
Return values
int|null —Largeur en pixels, NULL ou 0 si aucune image.
hauteur()
Retourne la hauteur d'une image
hauteur(string $img) : int|null
Parameters
- $img : string
-
Balise HTML
<img ...>
ou chemin de l'image (qui peut être une URL distante).
Tags
Return values
int|null —Hauteur en pixels, NULL ou 0 si aucune image.
corriger_entites_html()
Échappement des entités HTML avec correction des entités « brutes »
corriger_entites_html(string $texte) : string
Ces entités peuvent être générées par les butineurs lorsqu'on rentre des caractères n'appartenant pas au charset de la page [iso-8859-1 par défaut]
Attention on limite cette correction aux caracteres « hauts » (en fait > 99
pour aller plus vite que le > 127 qui serait logique), de manière à
préserver des eéhappements de caractères « bas » (par exemple [
ou "
)
et au cas particulier de &
qui devient &amp;
dans les URL
Parameters
- $texte : string
Tags
Return values
stringcorriger_toutes_entites_html()
Échappement des entités HTML avec correction des entités « brutes » ainsi que les `&eacute;` en `é`
corriger_toutes_entites_html(string $texte) : string
Identique à corriger_entites_html()
en corrigeant aussi les
&eacute;
en é
Parameters
- $texte : string
Tags
Return values
stringproteger_amp()
Échappe les `&` en `&`
proteger_amp(string $texte) : string
Parameters
- $texte : string
Return values
stringentites_html()
Échappe en entités HTML certains caractères d'un texte
entites_html(string $texte[, bool $tout = false ][, bool $quote = true ]) : mixed|string
Traduira un code HTML en transformant en entités HTML les caractères
en dehors du charset de la page ainsi que les "
, <
et >
.
Ceci permet d’insérer le texte d’une balise dans un <textarea> </textarea>
sans dommages.
Parameters
- $texte : string
-
chaine a echapper
- $tout : bool = false
-
corriger toutes les
&xx;
en&xx;
- $quote : bool = true
-
Échapper aussi les simples quotes en
'
Tags
Return values
mixed|stringfiltrer_entites()
Convertit les caractères spéciaux HTML dans le charset du site.
filtrer_entites(string $texte) : string
Parameters
- $texte : string
-
texte à convertir
Tags
Return values
string —texte converti
filtre_filtrer_entites_dist()
Version sécurisée de filtrer_entites
filtre_filtrer_entites_dist(string $t) : string
Parameters
- $t : string
Tags
Return values
stringsupprimer_caracteres_illegaux()
Supprime des caractères illégaux
supprimer_caracteres_illegaux(string|array<string|int, mixed> $texte) : string|array<string|int, mixed>
Remplace les caractères de controle par le caractère -
Parameters
- $texte : string|array<string|int, mixed>
Tags
Return values
string|array<string|int, mixed>corriger_caracteres()
Correction de caractères
corriger_caracteres(string|array<string|int, mixed> $texte) : string|array<string|int, mixed>
Supprimer les caracteres windows non conformes et les caracteres de controle illégaux
Parameters
- $texte : string|array<string|int, mixed>
Tags
Return values
string|array<string|int, mixed>texte_backend()
Encode du HTML pour transmission XML notamment dans les flux RSS
texte_backend(string|null $texte) : string
Ce filtre transforme les liens en liens absolus, importe les entitées html et échappe les tags html.
Parameters
- $texte : string|null
-
texte à transformer
Tags
Return values
string —texte encodé pour XML
texte_backendq()
Encode et quote du HTML pour transmission XML notamment dans les flux RSS
texte_backendq(string|null $texte) : string
Comme texte_backend(), mais avec addslashes final pour squelettes avec PHP (rss)
Parameters
- $texte : string|null
-
texte à transformer
Tags
Return values
string —texte encodé et quote pour XML
supprimer_numero()
Enlève un numéro préfixant un texte
supprimer_numero(string|null $texte) : string
Supprime 10.
dans la chaine 10. Titre
Parameters
- $texte : string|null
-
Texte
Tags
Return values
string —Texte sans son numéro éventuel
recuperer_numero()
Récupère un numéro préfixant un texte
recuperer_numero(string|null $texte) : string
Récupère le numéro 10
dans la chaine 10. Titre
Parameters
- $texte : string|null
-
Texte
Tags
Return values
string —Numéro de titre, sinon chaîne vide
supprimer_tags()
Suppression basique et brutale de tous les tags
supprimer_tags(string|array<string|int, mixed>|null $texte[, string $rempl = '' ]) : string|array<string|int, mixed>
Supprime tous les tags <...>
.
Utilisé fréquemment pour écrire des RSS.
Parameters
- $texte : string|array<string|int, mixed>|null
-
texte ou tableau de textes à échapper
- $rempl : string = ''
-
Inutilisé.
Tags
Return values
string|array<string|int, mixed> —texte ou tableau de textes converti
echapper_tags()
Convertit les chevrons de tag en version lisible en HTML
echapper_tags(string $texte[, string $rempl = '' ]) : string
Transforme les chevrons de tag <...>
en entité HTML.
Parameters
- $texte : string
-
texte à échapper
- $rempl : string = ''
-
Inutilisé.
Tags
Return values
string —texte converti
textebrut()
Convertit un texte HTML en texte brut
textebrut(string $texte) : string
Enlève les tags d'un code HTML, élimine les doubles espaces.
Parameters
- $texte : string
-
texte à convertir
Tags
Return values
string —texte converti
liens_ouvrants()
Remplace les liens SPIP en liens ouvrant dans une nouvelle fenetre (target=blank)
liens_ouvrants(string $texte) : string
Parameters
- $texte : string
-
texte avec des liens
Tags
Return values
string —texte avec liens ouvrants
liens_nofollow()
Ajouter un attribut rel="nofollow" sur tous les liens d'un texte
liens_nofollow(string $texte) : string
Parameters
- $texte : string
Return values
stringPtoBR()
Transforme les sauts de paragraphe HTML `p` en simples passages à la ligne `br`
PtoBR(string $texte) : string
Parameters
- $texte : string
-
texte à transformer
Tags
Return values
string —texte sans paraghaphes
majuscules()
Passe un texte en majuscules, y compris les accents, en HTML
majuscules(string $texte) : string
Encadre le texte du style CSS text-transform: uppercase;
.
Le cas spécifique du i turc est géré.
Parameters
- $texte : string
-
texte
Tags
Return values
string —texte en majuscule
taille_en_octets()
Renvoie une taille de dossier ou de fichier humainement lisible en ajustant le format et l'unité.
taille_en_octets(int $octets[, string $systeme = 'BI' ]) : string
La fonction renvoie la valeur et l'unité en fonction du système utilisé (binaire ou décimal).
Parameters
- $octets : int
-
Taille d'un dossier ou fichier en octets
- $systeme : string = 'BI'
-
Système d'unité dans lequel calculer et afficher la taille lisble. Vaut
BI
(défaut) ouSI
.
Tags
Return values
string —Taille affichée de manière humainement lisible
attribut_html()
Rend une chaine utilisable sans dommage comme attribut HTML
attribut_html(string|null $texte[, bool $textebrut = true ]) : string
Parameters
- $texte : string|null
-
texte à mettre en attribut
- $textebrut : bool = true
-
Passe le texte en texte brut (enlève les balises html) ?
Tags
Return values
string —texte prêt pour être utilisé en attribut HTML
attribut_url()
Rend une URL utilisable sans dommage comme attribut d'une balise HTML
attribut_url(string|null $texte) : string
Parameters
- $texte : string|null
-
texte à mettre en attribut
Tags
Return values
string —texte prêt pour être utilisé en attribut HTML
vider_url()
Vider les URL nulles
vider_url(string $url[, bool $entites = true ]) : string
- Vide les URL vides comme
http://
oumailto:
(sans rien d'autre) - échappe les entités et gère les
&
Parameters
- $url : string
-
URL à vérifier et échapper
- $entites : bool = true
-
true
pour échapper les entités HTML.
Tags
Return values
string —URL ou chaîne vide
antispam()
Maquiller une adresse e-mail
antispam(string $texte) : string
Remplace @
par 3 caractères aléatoires.
Parameters
- $texte : string
-
Adresse email
Tags
Return values
string —Adresse email maquillée
filtre_securiser_acces_dist()
Vérifie un accès à faible sécurité
filtre_securiser_acces_dist(int $id_auteur, string $cle, string $dir[, string $op = '' ][, string $args = '' ]) : bool
Vérifie qu'un visiteur peut accéder à la page demandée, qui est protégée par une clé, calculée à partir du low_sec de l'auteur, et des paramètres le composant l'appel (op, args)
Parameters
- $id_auteur : int
-
L'auteur qui demande la page
- $cle : string
-
La clé à tester
- $dir : string
-
Un type d'accès (nom du répertoire dans lequel sont rangés les squelettes demandés, tel que 'rss')
- $op : string = ''
-
Nom de l'opération éventuelle
- $args : string = ''
-
Nom de l'argument calculé
Tags
Return values
bool —True si on a le droit d'accès, false sinon.
sinon()
Retourne le second paramètre lorsque le premier est considere vide, sinon retourne le premier paramètre.
sinon(mixed $texte[, mixed $sinon = '' ]) : mixed
En php sinon($a, 'rien')
retourne $a
, ou 'rien'
si $a
est vide.
Parameters
- $texte : mixed
-
Contenu de reference a tester
- $sinon : mixed = ''
-
Contenu a retourner si le contenu de reference est vide
Tags
Return values
mixed —Retourne $texte, sinon $sinon.
choixsivide()
Filtre `|choixsivide{vide, pas vide}` alias de `|?{si oui, si non}` avec les arguments inversés
choixsivide(mixed $a, mixed $vide, mixed $pasvide) : mixed
Parameters
- $a : mixed
-
La valeur à tester
- $vide : mixed
-
Ce qui est retourné si
$a
est considéré vide - $pasvide : mixed
-
Ce qui est retourné sinon
Tags
choixsiegal()
Filtre `|choixsiegal{valeur, sioui, sinon}`
choixsiegal(mixed $a1, mixed $a2, mixed $v, mixed $f) : mixed
Parameters
- $a1 : mixed
-
La valeur à tester
- $a2 : mixed
-
La valeur de comparaison
- $v : mixed
-
Ce qui est retourné si la comparaison est vraie
- $f : mixed
-
Ce qui est retourné sinon
Tags
filtrer_ical()
Adapte un texte pour être inséré dans une valeur d'un export ICAL
filtrer_ical(string $texte) : string
Passe le texte en utf8, enlève les sauts de lignes et échappe les virgules.
Parameters
- $texte : string
Tags
Return values
stringpost_autobr()
Transforme les sauts de ligne simples en sauts forcés avec `_ `
post_autobr(string $texte[, string $delim = "
_ " ]) : string
Ne modifie pas les sauts de paragraphe (2 sauts consécutifs au moins), ou les retours à l'intérieur de modèles ou de certaines balises html.
Parameters
- $texte : string
- $delim : string = " _ "
-
Ce par quoi sont remplacés les sauts
Tags
Return values
stringextraire_idiome()
Extrait une langue des extraits idiomes (`<:module:cle_de_langue:>`)
extraire_idiome(string $letexte[, string $lang = null ][, array<string|int, mixed> $options = [] ]) : string
Retrouve les balises <:cle_de_langue:>
d'un texte et remplace son contenu
par l'extrait correspondant à la langue demandée (si possible), sinon dans la
langue par défaut du site.
Ne pas mettre de span@lang=fr si on est déjà en fr.
Parameters
- $letexte : string
- $lang : string = null
-
Langue à retrouver (si vide, utilise la langue en cours).
- $options : array<string|int, mixed> = []
-
Options { @var bool $echappe_span True pour échapper les balises span (false par défaut) @var string $lang_defaut Code de langue : permet de définir la langue utilisée par défaut, en cas d'absence de traduction dans la langue demandée. Par défaut la langue du site. Indiquer 'aucune' pour ne pas retourner de texte si la langue exacte n'a pas été trouvée. }
Tags
Return values
stringextraire_multi()
Extrait une langue des extraits polyglottes (`<multi>`)
extraire_multi(string $letexte[, string $lang = null ][, array<string|int, mixed> $options = [] ]) : string
Retrouve les balises <multi>
d'un texte et remplace son contenu
par l'extrait correspondant à la langue demandée.
Si la langue demandée n'est pas trouvée dans le multi, ni une langue
approchante (exemple fr
si on demande fr_TU
), on retourne l'extrait
correspondant à la langue par défaut (option 'lang_defaut'), qui est
par défaut la langue du site. Et si l'extrait n'existe toujours pas
dans cette langue, ça utilisera la première langue utilisée
dans la balise <multi>
.
Ne pas mettre de span@lang=fr si on est déjà en fr.
Parameters
- $letexte : string
- $lang : string = null
-
Langue à retrouver (si vide, utilise la langue en cours).
- $options : array<string|int, mixed> = []
-
Options { @var bool $echappe_span True pour échapper les balises span (false par défaut) @var string $lang_defaut Code de langue : permet de définir la langue utilisée par défaut, en cas d'absence de traduction dans la langue demandée. Par défaut la langue du site. Indiquer 'aucune' pour ne pas retourner de texte si la langue exacte n'a pas été trouvée. }
Tags
Return values
stringfiltre_initiale()
Calculer l'initiale d'un nom
filtre_initiale(string $nom) : string
Parameters
- $nom : string
Return values
string —L'initiale en majuscule
unique()
Retourne la donnée si c'est la première fois qu'il la voit
unique(string $donnee[, string $famille = '' ][, bool $cpt = false ]) : string|int|array<string|int, mixed>|null|void
Il est possible de gérer différentes "familles" de données avec le second paramètre.
Parameters
- $donnee : string
-
Donnée que l'on souhaite unique
- $famille : string = ''
-
Famille de stockage (1 unique donnée par famille)
- spip_raz : (interne) Vide la pile de mémoire et la retourne
- spip_set : (interne) Affecte la pile de mémoire avec la donnée
- $cpt : bool = false
-
True pour obtenir le nombre d'éléments différents stockés
Tags
Return values
string|int|array<string|int, mixed>|null|void —- string : Donnée si c'est la première fois qu'elle est vue
- void : si la donnée a déjà été vue
- int : si l'on demande le nombre d'éléments
- array (interne) : si on dépile
- null (interne) : si on empile
alterner()
Filtre qui alterne des valeurs en fonction d'un compteur
alterner(int $i, array<string|int, mixed> ...$args) : mixed
Affiche à tour de rôle et dans l'ordre, un des arguments transmis à chaque incrément du compteur.
S'il n'y a qu'un seul argument, et que c'est un tableau, l'alternance se fait sur les valeurs du tableau.
Souvent appliqué à l'intérieur d'une boucle, avec le compteur #COMPTEUR_BOUCLE
Parameters
- $i : int
-
Le compteur
- $args : array<string|int, mixed>
-
Liste des éléments à alterner
Tags
Return values
mixed —Une des valeurs en fonction du compteur.
extraire_attribut()
Récupérer un attribut d'une balise HTML
extraire_attribut(string|array<string|int, mixed> $balise, string $attribut[, bool $complet = false ]) : string|array<string|int, mixed>|null
la regexp est mortelle : cf. tests/unit/filtres/extraire_attribut.php
Si on a passé un tableau de balises, renvoyer un tableau de résultats
(dans ce cas l'option $complet
n'est pas disponible)
Parameters
- $balise : string|array<string|int, mixed>
-
texte ou liste de textes dont on veut extraire des balises
- $attribut : string
-
Nom de l'attribut désiré
- $complet : bool = false
-
true pour retourner un tableau avec
- le texte de la balise
- l'ensemble des résultats de la regexp ($r)
Return values
string|array<string|int, mixed>|null —- texte de l'attribut retourné, ou tableau des textes d'attributs (si 1er argument tableau)
- Tableau complet (si 2e argument)
- null lorsque l’attribut n’existe pas.
inserer_attribut()
Insérer (ou modifier) un attribut html dans une balise
inserer_attribut(string|null $balise, string $attribut, string|null $val[, bool $proteger = true ][, bool $vider = false ]) : string
Parameters
- $balise : string|null
-
Code html de la balise (ou contenant une balise)
- $attribut : string
-
Nom de l'attribut html à modifier
- $val : string|null
-
Valeur de l'attribut à appliquer
- $proteger : bool = true
-
Prépare la valeur en tant qu'attribut de balise (mais conserve les balises html).
- $vider : bool = false
-
True pour vider l'attribut. Une chaîne vide pour
$val
fera pareil.
Tags
Return values
string —Code html modifié
vider_attribut()
Supprime un attribut HTML
vider_attribut(string|null $balise, string $attribut) : string
Parameters
- $balise : string|null
-
Code HTML de l'élément
- $attribut : string
-
Nom de l'attribut à enlever
Tags
Return values
string —Code HTML sans l'attribut
modifier_class()
Fonction support pour les filtres |ajouter_class |supprimer_class |commuter_class
modifier_class(string $balise, string|array<string|int, mixed> $class[, string $operation = 'ajouter' ]) : string
Parameters
- $balise : string
- $class : string|array<string|int, mixed>
- $operation : string = 'ajouter'
Return values
stringajouter_class()
Ajoute une ou plusieurs classes sur une balise (si pas deja presentes)
ajouter_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
- $balise : string
- $class : string|array<string|int, mixed>
Return values
stringsupprimer_class()
Supprime une ou plusieurs classes sur une balise (si presentes)
supprimer_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
- $balise : string
- $class : string|array<string|int, mixed>
Return values
stringcommuter_class()
Bascule une ou plusieurs classes sur une balise : ajoutees si absentes, supprimees si presentes
commuter_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
- $balise : string
- $class : string|array<string|int, mixed>
Return values
stringtester_config()
Un filtre pour déterminer le nom du statut des inscrits
tester_config(int|null $id[, string $mode = '' ]) : string
Parameters
- $id : int|null
- $mode : string = ''
Return values
stringfloatstr()
floatstr(mixed $a) : mixed
Parameters
- $a : mixed
strize()
strize(mixed $f, mixed $a, mixed $b) : mixed
Parameters
- $f : mixed
- $a : mixed
- $b : mixed
plus()
Additionne 2 nombres
plus(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a+$b
strplus()
strplus(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
moins()
Soustrait 2 nombres
moins(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a-$b
strmoins()
strmoins(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
mult()
Multiplie 2 nombres
mult(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a*$b
strmult()
strmult(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
div()
Divise 2 nombres
div(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a/$b (ou 0 si $b est nul)
strdiv()
strdiv(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
modulo()
Retourne le modulo 2 nombres
modulo(int $nb, int $mod[, int $add = 0 ]) : int
Parameters
- $nb : int
- $mod : int
- $add : int = 0
Tags
Return values
int —($nb % $mod) + $add
nom_acceptable()
Vérifie qu'un nom (d'auteur) ne comporte pas d'autres tags que <multi> et ceux volontairement spécifiés dans la constante
nom_acceptable(string $nom) : bool
Parameters
- $nom : string
-
Nom (signature) proposé
Return values
bool —- false si pas conforme,
- true sinon
email_valide()
Vérifier la conformité d'une ou plusieurs adresses email (suivant RFC 822)
email_valide(string|array<string|int, mixed> $adresses) : bool|string|array<string|int, mixed>
Parameters
- $adresses : string|array<string|int, mixed>
-
Adresse ou liste d'adresse si on fournit un tableau, il est filtre et la fonction renvoie avec uniquement les adresses email valides (donc possiblement vide)
Return values
bool|string|array<string|int, mixed> —- false si une des adresses n'est pas conforme,
- la normalisation de la dernière adresse donnée sinon
- renvoie un tableau si l'entree est un tableau
afficher_enclosures()
Permet d'afficher un symbole à côté des liens pointant vers les documents attachés d'un article (liens ayant `rel=enclosure`).
afficher_enclosures(string $tags) : string
Parameters
- $tags : string
-
texte
Tags
Return values
string —texte
afficher_tags()
Filtre des liens HTML `<a>` selon la valeur de leur attribut `rel` et ne retourne que ceux là.
afficher_tags(string $tags[, string $rels = 'tag,directory' ]) : string
Parameters
- $tags : string
-
texte
- $rels : string = 'tag,directory'
-
Attribut
rel
à capturer (ou plusieurs séparés par des virgules)
Tags
Return values
string —Liens trouvés
enclosure2microformat()
Convertir les médias fournis par un flux RSS (podcasts) en liens conformes aux microformats
enclosure2microformat(string $e) : string
Passe un <enclosure url="fichier" length="5588242" type="audio/mpeg"/>
au format microformat <a rel="enclosure" href="fichier" ...>fichier</a>
.
Peut recevoir un <link
ou un <media:content
parfois.
Attention : length="zz"
devient title="zz"
, pour rester conforme.
Parameters
- $e : string
-
Tag RSS
<enclosure>
Tags
Return values
string —Tag HTML <a>
avec microformat.
microformat2enclosure()
Convertir les liens conformes aux microformats en médias pour flux RSS, par exemple pour les podcasts
microformat2enclosure(string $tags) : string
Passe un texte ayant des liens avec microformat
<a rel="enclosure" href="fichier" ...>fichier</a>
au format RSS <enclosure url="fichier" ... />
.
Parameters
- $tags : string
-
texte HTML ayant des tag
<a>
avec microformat
Tags
Return values
string —Tags RSS <enclosure>
.
tags2dcsubject()
Créer les éléments ATOM `<dc:subject>` à partir des tags
tags2dcsubject(string $tags) : string
Convertit les liens avec attribut rel="tag"
en balise <dc:subject></dc:subject>
pour les flux RSS au format Atom.
Parameters
- $tags : string
-
texte
Tags
Return values
string —Tags RSS Atom <dc:subject>
.
extraire_balise()
Retourne la premiere balise html du type demandé
extraire_balise(string|array<string|int, mixed> $texte[, string $tag = 'a' ][, mixed $profondeur = 1 ]) : string|array<string|int, mixed>
Retourne dans un tableau le contenu de chaque balise jusqu'à sa fermeture correspondante. Si on a passe un tableau de textes, retourne un tableau de resultats.
Parameters
- $texte : string|array<string|int, mixed>
-
texte(s) dont on souhaite extraire une balise html
- $tag : string = 'a'
-
Nom de la balise html à extraire
- $profondeur : mixed = 1
Tags
Return values
string|array<string|int, mixed> —- Code html de la première occurence de la balise trouvée, sinon chaine vide
- Tableau de résultats, si tableau en entrée.
extraire_balises()
Extrait toutes les balises html du type demandé
extraire_balises(string|array<string|int, mixed> $texte[, string $tag = 'a' ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>
Retourne dans un tableau le contenu de chaque balise jusqu'à sa fermeture correspondante. Si on a passe un tableau de textes, retourne un tableau de resultats.
Parameters
- $texte : string|array<string|int, mixed>
-
texte(s) dont on souhaite extraire une balise html
- $tag : string = 'a'
-
Nom de la balise html à extraire
- $options : array<string|int, mixed> = []
-
int nb_max : nombre d'occurence maxi à extraire int profondeur : niveau de profondeur d'extraction en cas d'intrication de balises identiques
Tags
Return values
array<string|int, mixed> —- Liste des codes html des occurrences de la balise, sinon tableau vide
- Tableau de résultats, si tableau en entrée.
in_any()
Indique si le premier argument est contenu dans le second
in_any(string $val, array<string|int, mixed>|string $vals[, string $def = '' ]) : string
Cette fonction est proche de in_array()
en PHP avec comme principale
différence qu'elle ne crée pas d'erreur si le second argument n'est pas
un tableau (dans ce cas elle tentera de le désérialiser, et sinon retournera
la valeur par défaut transmise).
Parameters
- $val : string
-
Valeur à chercher dans le tableau
- $vals : array<string|int, mixed>|string
-
Tableau des valeurs. S'il ce n'est pas un tableau qui est transmis, la fonction tente de la désérialiser.
- $def : string = ''
-
Valeur par défaut retournée si
$vals
n'est pas un tableau.
Tags
Return values
string —- ' ' si la valeur cherchée est dans le tableau
- '' si la valeur n'est pas dans le tableau
$def
si on n'a pas transmis de tableau
valeur_numerique()
Retourne le résultat d'une expression mathématique simple
valeur_numerique(string $expr) : int
N'accepte que les *, + et - (à ameliorer si on l'utilise vraiment).
Parameters
- $expr : string
-
Expression mathématique
nombre operateur nombre
comme3*2
Tags
Return values
int —Résultat du calcul
regledetrois()
Retourne un calcul de règle de trois
regledetrois(int $a, int $b, int $c) : int
Parameters
- $a : int
- $b : int
- $c : int
Tags
Return values
int —Retourne $a*$b/$c
form_hidden()
Crée des tags HTML input hidden pour chaque paramètre et valeur d'une URL
form_hidden([string|null $action = '' ]) : string
Fournit la suite de Input-Hidden correspondant aux paramètres de l'URL donnée en argument, compatible avec les types_urls
Parameters
- $action : string|null = ''
-
URL
Tags
Return values
string —Suite de champs input hidden
filtre_reset()
Retourne la première valeur d'un tableau
filtre_reset(array<string|int, mixed> $array) : mixed|null|false
Plus précisément déplace le pointeur du tableau sur la première valeur et la retourne.
Parameters
- $array : array<string|int, mixed>
Tags
Return values
mixed|null|false —- null si $array n'est pas un tableau,
- false si le tableau est vide
- la première valeur du tableau sinon.
filtre_end()
Retourne la dernière valeur d'un tableau
filtre_end(array<string|int, mixed> $array) : mixed|null|false
Plus précisément déplace le pointeur du tableau sur la dernière valeur et la retourne.
Parameters
- $array : array<string|int, mixed>
Tags
Return values
mixed|null|false —- null si $array n'est pas un tableau,
- false si le tableau est vide
- la dernière valeur du tableau sinon.
filtre_push()
Empile une valeur à la fin d'un tableau
filtre_push(array<string|int, mixed> $array, mixed $val) : array<string|int, mixed>|string
Parameters
- $array : array<string|int, mixed>
- $val : mixed
Tags
Return values
array<string|int, mixed>|string —- '' si $array n'est pas un tableau ou si echec.
- le tableau complété de la valeur sinon.
filtre_find()
Indique si une valeur est contenue dans un tableau
filtre_find(array<string|int, mixed> $array, mixed $val) : bool
Parameters
- $array : array<string|int, mixed>
- $val : mixed
Tags
Return values
bool —false
si$array
n'est pas un tableautrue
si la valeur existe dans le tableau,false
sinon.
urls_absolues_css()
Passer les url relatives à la css d'origine en url absolues
urls_absolues_css(string $contenu, string $source) : string
Parameters
- $contenu : string
-
Contenu du fichier CSS
- $source : string
-
Chemin du fichier CSS
Tags
Return values
string —Contenu avec urls en absolus
direction_css()
Inverse le code CSS (left <--> right) d'une feuille de style CSS
direction_css(string $css[, string $voulue = '' ]) : string
Récupère le chemin d'une CSS existante et :
- regarde si une CSS inversée droite-gauche existe dans le meme répertoire
- sinon la crée (ou la recrée) dans
_DIR_VAR/cache_css/
Si on lui donne à manger une feuille nommée *_rtl.css
il va faire l'inverse.
Parameters
- $css : string
-
Chemin vers le fichier CSS
- $voulue : string = ''
-
Permet de forcer le sens voulu (en indiquant
ltr
,rtl
ou un code de langue). En absence, prend le sens de la langue en cours.
Tags
Return values
string —Chemin du fichier CSS inversé
url_absolue_css()
Transforme les urls relatives d'un fichier CSS en absolues
url_absolue_css(string $css) : string
Récupère le chemin d'une css existante et crée (ou recrée) dans _DIR_VAR/cache_css/
une css dont les url relatives sont passées en url absolues
Le calcul n'est pas refait si le fichier cache existe déjà et que la source n'a pas été modifiée depuis.
Parameters
- $css : string
-
Chemin ou URL du fichier CSS source
Tags
Return values
string —- Chemin du fichier CSS transformé (si source lisible et mise en cache réussie)
- Chemin ou URL du fichier CSS source sinon.
table_valeur()
Récupère la valeur d'une clé donnée dans un tableau (ou un objet).
table_valeur(mixed $table, string $cle[, mixed $defaut = '' ][, bool $conserver_null = false ]) : mixed
Parameters
- $table : mixed
-
Tableau ou objet PHP (ou chaîne serialisée de tableau, ce qui permet d'enchaîner le filtre)
- $cle : string
-
Clé du tableau (ou paramètre public de l'objet) Cette clé peut contenir des caractères / pour sélectionner des sous éléments dans le tableau, tel que
sous/element/ici
pour obtenir la valeur de$tableau['sous']['element']['ici']
- $defaut : mixed = ''
-
Valeur par defaut retournée si la clé demandée n'existe pas
- $conserver_null : bool = false
-
Permet de forcer la fonction à renvoyer la valeur null d'un index et non pas $defaut comme cela est fait naturellement par la fonction isset. On utilise alors array_key_exists() à la place de isset().
Tags
Return values
mixed —Valeur trouvée ou valeur par défaut.
filtre_match_dist()
Retrouve un motif dans un texte à partir d'une expression régulière
filtre_match_dist(string|null $texte, string|int $expression[, string $modif = 'UuimsS' ][, int $capte = 0 ]) : bool|string
S'appuie sur la fonction preg_match()
en PHP
Parameters
- $texte : string|null
-
texte dans lequel chercher
- $expression : string|int
-
Expression régulière de recherche, sans le délimiteur
- $modif : string = 'UuimsS'
-
- string : Modificateurs de l'expression régulière
- int : Numéro de parenthèse capturante
- $capte : int = 0
-
Numéro de parenthèse capturante
Tags
Return values
bool|string —- false : l'expression n'a pas été trouvée
- true : expression trouvée, mais pas la parenthèse capturante
- string : expression trouvée.
replace()
Remplacement de texte à base d'expression régulière
replace(string $texte, string $expression[, string $replace = '' ][, string $modif = 'UimsS' ]) : string
Parameters
- $texte : string
-
Texte dans lequel faire le remplacement
- $expression : string
-
Expression régulière
- $replace : string = ''
-
Texte de substitution des éléments trouvés
- $modif : string = 'UimsS'
-
Modificateurs pour l'expression régulière.
Tags
Return values
string —Texte
traiter_doublons_documents()
Cherche les documents numerotés dans un texte traite par `propre()`
traiter_doublons_documents(array<string|int, mixed> &$doublons, string $letexte) : string
Affecte la liste des doublons['documents']
Parameters
- $doublons : array<string|int, mixed>
-
Liste des doublons
- $letexte : string
-
Le texte
Return values
string —Le texte
vide()
Filtre vide qui ne renvoie rien
vide(mixed $texte) : string
Parameters
- $texte : mixed
Tags
Return values
string —Chaîne vide
env_to_params()
Écrit des balises HTML `<param...>` à partir d'un tableau de données tel que `#ENV`
env_to_params(array<string|int, mixed>|string $env[, array<string|int, mixed> $ignore_params = [] ]) : string
Permet d'écrire les balises <param>
à indiquer dans un <object>
en prenant toutes les valeurs du tableau transmis.
Certaines clés spécifiques à SPIP et aux modèles embed sont omises : id, lang, id_document, date, date_redac, align, fond, recurs, emb, dir_racine
Parameters
- $env : array<string|int, mixed>|string
-
Tableau cle => valeur des paramètres à écrire, ou chaine sérialisée de ce tableau
- $ignore_params : array<string|int, mixed> = []
-
Permet de compléter les clés ignorées du tableau.
Tags
Return values
string —Code HTML résultant
env_to_attributs()
Écrit des attributs HTML à partir d'un tableau de données tel que `#ENV`
env_to_attributs(array<string|int, mixed>|string $env[, array<string|int, mixed> $ignore_params = [] ]) : string
Permet d'écrire des attributs d'une balise HTML en utilisant les données du tableau transmis. Chaque clé deviendra le nom de l'attribut (et la valeur, sa valeur)
Certaines clés spécifiques à SPIP et aux modèles embed sont omises : id, lang, id_document, date, date_redac, align, fond, recurs, emb, dir_racine
Parameters
- $env : array<string|int, mixed>|string
-
Tableau cle => valeur des attributs à écrire, ou chaine sérialisée de ce tableau
- $ignore_params : array<string|int, mixed> = []
-
Permet de compléter les clés ignorées du tableau.
Tags
Return values
string —Code HTML résultant
concat()
Concatène des chaînes
concat(array<string|int, mixed> ...$args) : string
Parameters
- $args : array<string|int, mixed>
Tags
Return values
string —Chaînes concaténés
charge_scripts()
Retourne le contenu d'un ou plusieurs fichiers
charge_scripts(array<string|int, mixed>|string $files[, bool $script = true ]) : string
Les chemins sont cherchés dans le path de SPIP
Parameters
- $files : array<string|int, mixed>|string
-
- array : Liste de fichiers
- string : fichier ou fichiers séparés par
|
- $script : bool = true
-
- si true, considère que c'est un fichier js à chercher
javascript/
- si true, considère que c'est un fichier js à chercher
Tags
Return values
string —Contenu du ou des fichiers, concaténé
http_img_variante_svg_si_possible()
Trouver la potentielle variante SVG -xx.svg d'une image -xx.png Cette fonction permet le support multi-version SPIP des plugins qui fournissent une icone PNG et sa variante SVG
http_img_variante_svg_si_possible(string $img_file) : string
Parameters
- $img_file : string
Return values
stringhttp_img_pack()
Produit une balise img avec un champ alt d'office si vide
http_img_pack(string $img, string $alt[, string $atts = '' ][, string $title = '' ][, array<string|int, mixed> $options = [] ]) : string
Attention le htmlentities et la traduction doivent être appliqués avant.
Parameters
- $img : string
- $alt : string
- $atts : string = ''
- $title : string = ''
- $options : array<string|int, mixed> = []
-
chemin_image : utiliser chemin_image sur $img fourni, ou non (oui par dafaut) utiliser_suffixe_size : utiliser ou non le suffixe de taille dans le nom de fichier de l'image sous forme -xx.png (pour les icones essentiellement) (oui par defaut) variante_svg_si_possible: utiliser l'image -xx.svg au lieu de -32.png par exemple (si la variante svg est disponible)
Return values
stringhttp_style_background()
Générer une directive `style='background:url()'` à partir d'un fichier image
http_style_background(string $img[, string $att = '' ][, string $size = null ]) : string
Parameters
- $img : string
- $att : string = ''
- $size : string = null
Return values
stringhelper_filtre_balise_img_svg_arguments()
helper_filtre_balise_img_svg_arguments(mixed $alt_or_size, mixed $class_or_size, mixed $size) : mixed
Parameters
- $alt_or_size : mixed
- $class_or_size : mixed
- $size : mixed
helper_filtre_balise_img_svg_size()
helper_filtre_balise_img_svg_size(mixed $img, mixed $size) : mixed
Parameters
- $img : mixed
- $size : mixed
filtre_balise_img_dist()
Générer une balise HTML `img` à partir d'un nom de fichier et/ou renseigne son alt/class/width/height selon les arguments passés
filtre_balise_img_dist(string $img[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string
Le class et le alt peuvent etre omis et dans ce cas size peut-être renseigné comme dernier argument : [(#FICHIER|balise_img)] [(#FICHIER|balise_img{1024})] [(#FICHIER|balise_img{1024x*})] [(#FICHIER|balise_img{1024x640})] [(#FICHIER|balise_img{'un nuage',1024x640})] [(#FICHIER|balise_img{'un nuage','spip_logo',1024x640})] Si le alt ou la class sont ambigu et peuvent etre interpretes comme une taille, il suffit d'indiquer une taille vide pour lever l'ambiguite [(#FICHIER|balise_img{'@2x','',''})]
Parameters
- $img : string
-
chemin vers un fichier ou balise
<img src='...'>
(generee par un filtre image par exemple) - $alt : string = ''
-
texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)
- $class : string = null
-
attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree
- $size : string|int = null
-
taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions
Tags
Return values
string —Code HTML de la balise IMG
filtre_balise_svg_dist()
Inserer un svg inline http://www.accede-web.com/notices/html-css-javascript/6-images-icones/6-2-svg-images-vectorielles/
filtre_balise_svg_dist(string $img[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string
pour l'inserer avec une balise , utiliser le filtre |balise_img
Le class et le alt peuvent etre omis et dans ce cas size peut-être renseigné comme dernier argument : [(#FICHIER|balise_svg{1024x640})] [(#FICHIER|balise_svg{'un nuage',1024x640})] [(#FICHIER|balise_svg{'un nuage','spip_logo',1024x640})] Si le alt ou la class sont ambigu et peuvent etre interpretes comme une taille, il suffit d'indiquer une taille vide pour lever l'ambiguite [(#FICHIER|balise_svg{'un nuage','@2x',''})]
Parameters
- $img : string
-
chemin vers un fichier ou balise
<svg ... >... </svg>
deja preparee - $alt : string = ''
-
texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)
- $class : string = null
-
attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree
- $size : string|int = null
-
taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions
Return values
string —Code HTML de la balise SVG
filtre_balise_img_svg_dist()
Génère une balise HTML `img` ou un `svg` inline suivant le nom du fichier.
filtre_balise_img_svg_dist(mixed $src[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string
Parameters
- $src : mixed
- $alt : string = ''
-
texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)
- $class : string = null
-
attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree
- $size : string|int = null
-
taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions
Tags
Return values
string —Code HTML de la balise IMG
filtre_info_plugin_dist()
Obtient des informations sur les plugins actifs
filtre_info_plugin_dist(string $plugin, string $type_info[, bool $reload = false ]) : array<string|int, mixed>|string|bool
Parameters
- $plugin : string
-
Préfixe du plugin ou chaîne vide
- $type_info : string
-
Type d'info demandée
- $reload : bool = false
-
true (à éviter) pour forcer le recalcul du cache des informations des plugins.
Tags
Return values
array<string|int, mixed>|string|bool —- Liste sérialisée des préfixes de plugins actifs (si $plugin = '')
- Suivant $type_info, avec $plugin un préfixe
- est_actif : renvoie true s'il est actif, false sinon
- x : retourne l'information x du plugin si présente (et plugin actif)
- tout : retourne toutes les informations du plugin actif
puce_changement_statut()
Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir
puce_changement_statut(int $id_objet, string $statut, int $id_rubrique, string $type[, bool $ajax = false ]) : string
Parameters
- $id_objet : int
-
Identifiant de l'objet
- $statut : string
-
Statut actuel de l'objet
- $id_rubrique : int
-
Identifiant du parent
- $type : string
-
Type d'objet
- $ajax : bool = false
-
Indique s'il ne faut renvoyer que le coeur du menu car on est dans une requete ajax suite à un post de changement rapide
Tags
Return values
string —Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)
filtre_puce_statut_dist()
Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir
filtre_puce_statut_dist(string $statut, string $objet[, int $id_objet = 0 ][, int $id_parent = 0 ]) : string
Utilisable sur tout objet qui a declaré ses statuts
Parameters
- $statut : string
-
Statut actuel de l'objet
- $objet : string
-
Type d'objet
- $id_objet : int = 0
-
Identifiant de l'objet
- $id_parent : int = 0
-
Identifiant du parent
Tags
Return values
string —Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)
encoder_contexte_ajax()
Encoder un contexte pour l'ajax
encoder_contexte_ajax(string|array<string|int, mixed> $c[, string $form = '' ][, string $emboite = null ][, string $ajaxid = '' ]) : string
Encoder le contexte, le signer avec une clé, le crypter avec le secret du site, le gziper si possible.
L'entrée peut-être sérialisée (le #ENV**
des fonds ajax et ajax_stat)
Parameters
- $c : string|array<string|int, mixed>
-
contexte, peut etre un tableau serialize
- $form : string = ''
-
nom du formulaire eventuel
- $emboite : string = null
-
contenu a emboiter dans le conteneur ajax
- $ajaxid : string = ''
-
ajaxid pour cibler le bloc et forcer sa mise a jour
Tags
Return values
string —hash du contexte
decoder_contexte_ajax()
Décoder un hash de contexte pour l'ajax
decoder_contexte_ajax(string $c[, string $form = '' ]) : array<string|int, mixed>|string|bool
Précude inverse de encoder_contexte_ajax()
Parameters
- $c : string
-
hash du contexte
- $form : string = ''
-
nom du formulaire eventuel
Tags
Return values
array<string|int, mixed>|string|bool —- array|string : contexte d'environnement, possiblement sérialisé
- false : erreur de décodage
_xor()
Encrypte ou décrypte un message
_xor(string $message[, null|string $key = null ]) : string
Parameters
- $message : string
-
Message à encrypter ou décrypter
- $key : null|string = null
-
Clé de cryptage / décryptage. Une clé sera calculée si non transmise
Tags
Return values
string —Message décrypté ou encrypté
url_reponse_forum()
Retourne une URL de réponse de forum (aucune action ici)
url_reponse_forum(string $texte) : string
Parameters
- $texte : string
Tags
Return values
stringurl_rss_forum()
retourne une URL de suivi rss d'un forum (aucune action ici)
url_rss_forum(string $texte) : string
Parameters
- $texte : string
Tags
Return values
stringlien_ou_expose()
Génère des menus avec liens ou `<strong class='on'>` non clicable lorsque l'item est sélectionné Le parametre $on peut recevoir un selecteur simplifié de type 'a.active' 'strong.active.expose' pour préciser la balise (a, span ou strong uniquement) et la/les classes à utiliser quand on est expose
lien_ou_expose(string $url[, string $libelle = null ][, bool $on = false ][, string $class = '' ][, string $title = '' ][, string $rel = '' ][, string $evt = '' ]) : string
Parameters
- $url : string
-
URL du lien
- $libelle : string = null
-
texte du lien
- $on : bool = false
-
État exposé ou non (génère un lien). Si $on vaut true ou 1 ou ' ', l'etat expose est rendu par un ... Si $on est de la forme span.active.truc par exemple, l'etat expose est rendu par ... Seules les balises a, span et strong sont acceptees dans ce cas
- $class : string = ''
-
classes CSS ajoutées au lien
- $title : string = ''
-
Title ajouté au lien
- $rel : string = ''
-
Attribut
rel
ajouté au lien - $evt : string = ''
-
Complement à la balise
a
pour gérer un événement javascript, de la formeonclick='...'
Tags
Return values
string —Code HTML
singulier_ou_pluriel()
Afficher un message "un truc"/"N trucs" Les items sont à indiquer comme pour la fonction _T() sous la forme : "module:chaine"
singulier_ou_pluriel(int $nb, string $chaine_un, string $chaine_plusieurs[, string $var = 'nb' ][, array<string|int, mixed> $vars = [] ]) : string
Parameters
- $nb : int
-
: le nombre
- $chaine_un : string
-
: l'item de langue si $nb vaut un
- $chaine_plusieurs : string
-
: l'item de lanque si $nb >= 2
- $var : string = 'nb'
-
: La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")
- $vars : array<string|int, mixed> = []
-
: Les autres variables nécessaires aux chaines de langues (facultatif)
Return values
string —: la chaine de langue finale en utilisant la fonction _T()
prepare_icone_base()
Fonction de base pour une icone dans un squelette.
prepare_icone_base(string $type, string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Il peut s'agir soit d'un simple lien, structure html : <span><a><img><b>texte</b></span>
,
soit d'un bouton d'action, structure identique au retour de #BOUTON_ACTION
.
Parameters
- $type : string
-
'lien' ou 'bouton'
- $lien : string
-
url
- $texte : string
-
texte du lien / alt de l'image
- $fond : string
-
objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
new/del/edit
- $class : string = ''
-
Classes supplémentaires (horizontale, verticale, ajax…)
- $javascript : string = ''
-
code javascript tel que "onclick='...'" par exemple ou texte du message de confirmation s'il s'agit d'un bouton
Return values
stringicone_base()
Crée un lien ayant une icone
icone_base(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
- $lien : string
-
URL du lien
- $texte : string
-
texte du lien
- $fond : string
-
Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
Fonction du lien (
edit
,new
,del
) - $class : string = ''
-
classe CSS, tel que
left
,right
pour définir un alignement - $javascript : string = ''
-
Javascript ajouté sur le lien
Tags
Return values
string —Code HTML du lien
filtre_icone_verticale_dist()
Crée un lien précédé d'une icone au dessus du texte
filtre_icone_verticale_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
- $lien : string
-
URL du lien
- $texte : string
-
texte du lien
- $fond : string
-
Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
Fonction du lien (
edit
,new
,del
) - $class : string = ''
-
classe CSS à ajouter, tel que
left
,right
,center
pour définir un alignement. Il peut y en avoir plusieurs :left ajax
- $javascript : string = ''
-
Javascript ajouté sur le lien
Tags
Return values
string —Code HTML du lien
filtre_icone_horizontale_dist()
Crée un lien précédé d'une icone horizontale
filtre_icone_horizontale_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
- $lien : string
-
URL du lien
- $texte : string
-
texte du lien
- $fond : string
-
Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
Fonction du lien (
edit
,new
,del
) - $class : string = ''
-
classe CSS à ajouter
- $javascript : string = ''
-
Javascript ajouté sur le lien
Tags
Return values
string —Code HTML du lien
filtre_bouton_action_horizontal_dist()
Crée un bouton d'action intégrant une icone horizontale
filtre_bouton_action_horizontal_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $confirm = '' ]) : string
Parameters
- $lien : string
-
URL de l'action
- $texte : string
-
texte du bouton
- $fond : string
-
Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
Fonction du bouton (
edit
,new
,del
) - $class : string = ''
-
classes à ajouter au bouton, à l'exception de
ajax
qui est placé sur le formulaire. - $confirm : string = ''
-
Message de confirmation à ajouter en javascript sur le bouton
Tags
Return values
string —Code HTML du lien
filtre_explode_dist()
Explose un texte en tableau suivant un séparateur
filtre_explode_dist(string $a, string $b) : array<string|int, mixed>
Parameters
- $a : string
-
texte
- $b : string
-
Séparateur
Tags
Return values
array<string|int, mixed> —Liste des éléments
filtre_implode_dist()
Implose un tableau en chaine en liant avec un séparateur
filtre_implode_dist(array<string|int, mixed> $a, string $b) : string
Parameters
- $a : array<string|int, mixed>
-
Tableau
- $b : string
-
Séparateur
Tags
Return values
string —texte
bando_images_background()
Produire les styles privés qui associent item de menu avec icone en background
bando_images_background() : string
Return values
string —Code CSS
bouton_action()
Générer un bouton_action utilisé par #BOUTON_ACTION
bouton_action(string $libelle, string $url[, string $class = '' ][, string $confirm = '' ][, string $title = '' ][, string $callback = '' ]) : string
Parameters
- $libelle : string
-
Libellé du bouton
- $url : string
-
URL d'action sécurisée, généralement obtenue avec generer_action_auteur()
- $class : string = ''
-
Classes à ajouter au bouton, à l'exception de
ajax
qui est placé sur le formulaire. - $confirm : string = ''
-
Message de confirmation oui/non avant l'action
- $title : string = ''
-
Attribut title à ajouter au bouton
- $callback : string = ''
-
Callback js a appeler lors de l'évènement action et avant execution de l'action (ou après confirmation éventuelle si $confirm est non vide). Si la callback renvoie false, elle annule le déclenchement de l'action.
Return values
stringgenerer_objet_info()
Donner n'importe quelle information sur un objet de maniere generique.
generer_objet_info(int|string|null $id_objet, string $type_objet, string $info[, string $etoile = '' ][, array<string|int, mixed> $params = [] ]) : string
La fonction va gerer en interne deux cas particuliers les plus utilises : l'URL et le titre (qui n'est pas forcemment le champ SQL "titre").
On peut ensuite personnaliser les autres infos en creant une fonction generer_objet_<nom_info>($id_objet, $type_objet, $ligne). $ligne correspond a la ligne SQL de tous les champs de l'objet, les fonctions de personnalisation n'ont donc pas a refaire de requete.
Parameters
- $id_objet : int|string|null
- $type_objet : string
- $info : string
- $etoile : string = ''
- $params : array<string|int, mixed> = []
-
Tableau de paramètres supplémentaires transmis aux fonctions generer_xxx
Tags
Return values
stringgenerer_objet_introduction()
Fonction privée pour donner l'introduction d'un objet de manière générique.
generer_objet_introduction(int $id_objet, string $type_objet, array<string|int, mixed> $ligne_sql[, int $introduction_longueur = null ][, int|string $longueur_ou_suite = null ][, string $suite = null ][, string $connect = '' ]) : string
Cette fonction est mutualisée entre les balises #INTRODUCTION et #INFO_INTRODUCTION. Elle se charge de faire le tri entre descriptif, texte et chapo, et normalise les paramètres pour la longueur et la suite. Ensuite elle fait appel au filtre 'introduction' qui construit celle-ci à partir de ces données.
Parameters
- $id_objet : int
-
Numéro de l'objet
- $type_objet : string
-
Type d'objet
- $ligne_sql : array<string|int, mixed>
-
Ligne SQL de l'objet avec au moins descriptif, texte et chapo
- $introduction_longueur : int = null
-
Longueur de l'introduction donnée dans la description de la table l'objet
- $longueur_ou_suite : int|string = null
-
Longueur de l'introduction OU points de suite si on coupe
- $suite : string = null
-
Points de suite si on coupe
- $connect : string = ''
-
Nom du connecteur à la base de données
Tags
Return values
stringappliquer_traitement_champ()
Appliquer a un champ SQL le traitement qui est configure pour la balise homonyme dans les squelettes
appliquer_traitement_champ(string $texte, string $champ[, string $table_objet = '' ][, array<string|int, mixed> $env = [] ][, string $connect = '' ]) : string
Parameters
- $texte : string
- $champ : string
- $table_objet : string = ''
- $env : array<string|int, mixed> = []
- $connect : string = ''
Return values
stringgenerer_objet_lien()
Generer un lien (titre clicable vers url) vers un objet
generer_objet_lien(int $id_objet, string $objet[, int $longueur = 80 ][, null|string $connect = '' ]) : string
Parameters
- $id_objet : int
- $objet : string
- $longueur : int = 80
- $connect : null|string = ''
Return values
stringwrap()
Englobe (Wrap) un texte avec des balises
wrap(string $texte, string $wrap) : string
Parameters
- $texte : string
- $wrap : string
Tags
Return values
stringfiltre_print_dist()
afficher proprement n'importe quoi On affiche in fine un pseudo-yaml qui premet de lire humainement les tableaux et de s'y reperer
filtre_print_dist(mixed $u[, string $join = '<br>' ][, int $indent = 0 ]) : array<string|int, mixed>|mixed|string
Les textes sont retournes avec simplement mise en forme typo
le $join sert a separer les items d'un tableau, c'est en general un \n ou
selon si on fait du html ou du texte
les tableaux-listes (qui n'ont que des cles numeriques), sont affiches sous forme de liste separee par des virgules :
c'est VOULU !
Parameters
- $u : mixed
- $join : string = '<br>'
- $indent : int = 0
Return values
array<string|int, mixed>|mixed|stringobjet_info()
Renvoyer l'info d'un objet telles que definies dans declarer_tables_objets_sql
objet_info(string $objet, string $info) : string|array<string|int, mixed>
Parameters
- $objet : string
- $info : string
Return values
string|array<string|int, mixed>objet_afficher_nb()
Filtre pour afficher 'Aucun truc' ou '1 truc' ou 'N trucs' avec la bonne chaîne de langue en fonction de l'objet utilisé
objet_afficher_nb(int $nb, string $objet) : mixed|string
Parameters
- $nb : int
-
Nombre d'éléments
- $objet : string
-
Objet
Return values
mixed|string —texte traduit du comptage, tel que '3 articles'
objet_icone()
Filtre pour afficher l'img icone d'un objet
objet_icone(string $objet[, int $taille = 24 ][, string $class = '' ]) : string
Parameters
- $objet : string
- $taille : int = 24
- $class : string = ''
Return values
stringobjet_T()
Renvoyer une traduction d'une chaine de langue contextuelle à un objet si elle existe, la traduction de la chaine generique
objet_T(string $objet, string $chaine[, array<string|int, mixed> $args = [] ][, array<string|int, mixed> $options = [] ]) : string
Ex : [(#ENV{objet}|objet_label{trad_reference})] va chercher si une chaine objet:trad_reference existe et renvoyer sa trad le cas echeant sinon renvoie la trad de la chaine trad_reference Si la chaine fournie contient un prefixe il est remplacé par celui de l'objet pour chercher la chaine contextuelle
Les arguments $args et $options sont ceux de la fonction _T
Parameters
- $objet : string
- $chaine : string
- $args : array<string|int, mixed> = []
- $options : array<string|int, mixed> = []
Return values
stringinsert_head_css_conditionnel()
Fonction de secours pour inserer le head_css de facon conditionnelle
insert_head_css_conditionnel(string $flux) : string
Appelée en filtre sur le squelette qui contient #INSERT_HEAD, elle vérifie l'absence éventuelle de #INSERT_HEAD_CSS et y suplée si besoin pour assurer la compat avec les squelettes qui n'utilisent pas.
Parameters
- $flux : string
-
Code HTML
Return values
string —Code HTML
produire_fond_statique()
Produire un fichier statique à partir d'un squelette dynamique
produire_fond_statique(string $fond[, array<string|int, mixed> $contexte = [] ][, array<string|int, mixed> $options = [] ][, string $connect = '' ]) : string
Permet ensuite à Apache de le servir en statique sans repasser par spip.php à chaque hit sur le fichier.
Formats supportés : html, css, js, json, xml, svg
Si le format est passé dans contexte['format']
, on l'utilise
sinon on regarde l'extension du fond, sinon on utilise "html"
Parameters
- $fond : string
- $contexte : array<string|int, mixed> = []
- $options : array<string|int, mixed> = []
- $connect : string = ''
Tags
Return values
stringtimestamp()
Ajouter un timestamp a une url de fichier [(#CHEMIN{monfichier}|timestamp)]
timestamp(string $fichier) : string
Parameters
- $fichier : string
-
Le chemin du fichier sur lequel on souhaite ajouter le timestamp
Return values
string —$fichier auquel on a ajouté le timestamp
supprimer_timestamp()
Supprimer le timestamp d'une url
supprimer_timestamp(string $url) : string
Parameters
- $url : string
Return values
stringfiltre_nettoyer_titre_email_dist()
Nettoyer le titre d'un email
filtre_nettoyer_titre_email_dist(string $titre) : string
Éviter une erreur lorsqu'on utilise |nettoyer_titre_email
dans un squelette de mail
Parameters
- $titre : string
Tags
Return values
stringfiltre_chercher_rubrique_dist()
Afficher le sélecteur de rubrique
filtre_chercher_rubrique_dist(string $titre, int $id_objet, int $id_parent, string $objet, int $id_secteur, bool $restreint[, bool $actionable = false ][, bool $retour_sans_cadre = false ]) : string
Il permet de placer un objet dans la hiérarchie des rubriques de SPIP
Parameters
- $titre : string
- $id_objet : int
- $id_parent : int
- $objet : string
- $id_secteur : int
- $restreint : bool
- $actionable : bool = false
-
true : fournit le selecteur dans un form directement postable
- $retour_sans_cadre : bool = false
Tags
Return values
stringsinon_interdire_acces()
Rediriger une page suivant une autorisation, et ce, n'importe où dans un squelette, même dans les inclusions.
sinon_interdire_acces([bool $ok = false ][, string $url = '' ][, int $statut = 0 ][, string $message = null ]) : string|void
En l'absence de redirection indiquée, la fonction redirige par défaut sur une 403 dans l'espace privé et 404 dans l'espace public.
Parameters
- $ok : bool = false
-
Indique si l'on doit rediriger ou pas
- $url : string = ''
-
Adresse eventuelle vers laquelle rediriger
- $statut : int = 0
-
Statut HTML avec lequel on redirigera
- $message : string = null
-
message d'erreur
Tags
Return values
string|void —Chaîne vide si l'accès est autorisé
filtre_compacte_dist()
Assurer le fonctionnement de |compacte meme sans l'extension compresseur
filtre_compacte_dist(string $source[, null|string $format = null ]) : string
Parameters
- $source : string
- $format : null|string = null
Return values
stringspip_affiche_mot_de_passe_masque()
Afficher partiellement un mot de passe que l'on ne veut pas rendre lisible par un champ hidden
spip_affiche_mot_de_passe_masque(string|null $passe[, bool $afficher_partiellement = false ][, int|null $portion_pourcent = null ]) : string
Parameters
- $passe : string|null
- $afficher_partiellement : bool = false
- $portion_pourcent : int|null = null
Return values
stringidentifiant_slug()
Cette fonction permet de transformer un texte clair en nom court pouvant servir d'identifiant, class, id, url... en ne conservant que des caracteres alphanumeriques et un separateur
identifiant_slug(string $texte[, string $type = '' ][, array<string|int, mixed> $options = [] ]) : string
Parameters
- $texte : string
-
texte à transformer en nom machine
- $type : string = ''
- $options : array<string|int, mixed> = []
-
string separateur : par défaut, un underscore
_
. int longueur_maxi : par defaut 60 int longueur_mini : par defaut 0
Return values
stringlabel_nettoyer()
Prépare un texte pour un affichage en label ou titre
label_nettoyer(string $text[, bool $ucfirst = true ]) : string
Enlève un ':' à la fin d'une chaine de caractère, ainsi que les espaces qui pourraient l'accompagner, Met la première lettre en majuscule (par défaut)
Utile afficher dans un contexte de titre des chaines de langues qui contiennent des ':'
Parameters
- $text : string
- $ucfirst : bool = true
Tags
Return values
stringlabel_ponctuer()
Prépare un texte pour un affichage en label ou titre en ligne, systématiquement avec ' :' à la fin
label_ponctuer(string $text[, bool $ucfirst = true ]) : string
Ajoute ' :' aux chaines qui n'en ont pas (ajoute le caractère adapté à la langue utilisée). Passe la première lettre en majuscule par défaut.
Parameters
- $text : string
- $ucfirst : bool = true
Tags
Return values
stringhelper_filtre_objet_lister_enfants_ou_parents()
Helper pour les filtres associés aux fonctions objet_lister_(parents|enfants)(_par_type)?
helper_filtre_objet_lister_enfants_ou_parents(string $objet, int|string $id_objet, mixed $fonction) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
- $fonction : mixed
Return values
array<string|int, mixed>filtre_objet_lister_parents_dist()
Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents{#OBJET})]
filtre_objet_lister_parents_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
Tags
Return values
array<string|int, mixed>filtre_objet_lister_parents_par_type_dist()
Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents_par_type{#OBJET})]
filtre_objet_lister_parents_par_type_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
Tags
Return values
array<string|int, mixed>filtre_objet_lister_enfants_dist()
Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants{#OBJET})]
filtre_objet_lister_enfants_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
Tags
Return values
array<string|int, mixed>filtre_objet_lister_enfants_par_type_dist()
Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants_par_type{#OBJET})]
filtre_objet_lister_enfants_par_type_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
Tags
Return values
array<string|int, mixed>filtre_propre_dist()
Filtre `propre()` pour les squelettes
filtre_propre_dist(mixed &$Pile, mixed $texte) : mixed
Permet d'envoyer l’environnement au filtre propre Dans l'espace privé il faut
- renseigner le $env['espace_prive'] a true
- passer interdire_scripts() en sortie
Parameters
- $Pile : mixed
- $texte : mixed