Fichier ecrire/inc/filtres.php

Déclaration de filtres pour les squelettes

Source

Proposer une amélioration

Liste des constantes

Liste des fonctions

APIs

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()

string filtrer( string $filtre )

Paramètres

  1. string $filtre

    Nom du filtre à appliquer

Retour

  • string

    Code HTML retourné par le filtre

API

Package

Proposer une amélioration

Internes

string _xor( string $message , null | string $key = null )

Paramètres

  1. string $message

    Message à encrypter ou décrypter

  2. null | string $key = null

    Clé de cryptage / décryptage. Une clé sera calculée si non transmise

Retour

  • string

    Message décrypté ou encrypté

Package

Proposer une amélioration
string afficher_enclosures( string $tags )

Paramètres

  1. string $tags

    Texte

Retour

  • string

    Texte

Package

Filtre

  • afficher_enclosures
Proposer une amélioration
string afficher_tags( string $tags , string $rels = 'tag,directory' )

Paramètres

  1. string $tags

    Texte

  2. string $rels = 'tag,directory'

    Attribut rel à capturer (ou plusieurs séparés par des virgules)

Retour

  • string

    Liens trouvés

Package

Filtre

  • afficher_tags
Proposer une amélioration

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

mixed alterner( integer $i )

Paramètres

  1. integer $i

    Le compteur

Retour

  • mixed

    Une des valeurs en fonction du compteur.

Exemples

    • [(#COMPTEUR_BOUCLE|alterner{bleu,vert,rouge})]
    • [(#COMPTEUR_BOUCLE|alterner{#LISTE{bleu,vert,rouge}})]

Package

Filtre

  • alterner
Proposer une amélioration

Remplace @ par 3 caractères aléatoires.

string antispam( string $texte )

Paramètres

  1. string $texte

    Adresse email

Retour

  • string

    Adresse email maquillée

Package

Proposer une amélioration

Fonction générique qui prend en argument l’objet (texte, etc) à modifier et le nom du filtre. Retrouve les arguments du filtre demandé dans les arguments transmis à cette fonction, via func_get_args().

string appliquer_filtre( mixed $arg , string $filtre , boolean $force = null )

Paramètres

  1. mixed $arg

    Texte (le plus souvent) sur lequel appliquer le filtre

  2. string $filtre

    Nom du filtre à appliquer

  3. boolean $force = null

    La fonction doit-elle retourner le texte ou rien si le filtre est absent ?

Retour

  • string

    Texte traité par le filtre si le filtre existe, Texte d'origine si le filtre est introuvable et si $force à true Chaîne vide sinon (filtre introuvable).

Voir également

Package

Proposer une amélioration
string appliquer_traitement_champ( string $texte , string $champ , string $table_objet = '' , array $env = array() , string $connect = '' )

Paramètres

  1. string $texte
  2. string $champ
  3. string $table_objet = ''
  4. array $env = array()
  5. string $connect = ''

Retour

  • string

Package

Proposer une amélioration
string attribut_html( string $texte , boolean $textebrut = true )

Paramètres

  1. string $texte

    Texte à mettre en attribut

  2. boolean $textebrut = true

    Passe le texte en texte brut (enlève les balises html) ?

Retour

  • string

    Texte prêt pour être utilisé en attribut HTML

Exemples

  • <a href="#URL_ARTICLE" title="[(#TITRE|attribut_html)]">#TITRE</a>

Utilisé par

Package

Filtre

  • attribut_html
Proposer une amélioration
string bouton_action( string $libelle , string $url , string $class = "" , string $confirm = "" , string $title = "" , string $callback = "" )

Paramètres

  1. string $libelle
  2. string $url
  3. string $class = ""
  4. string $confirm = ""

    message de confirmation oui/non avant l'action

  5. string $title = ""
  6. string $callback = ""

    callback js a appeler lors de l'evenement action (apres confirmation eventuelle si $confirm est non vide) et avant execution de l'action. Si la callback renvoie false, elle annule le declenchement de l'action

Retour

  • string

Package

Proposer une amélioration

Les chemins sont cherchés dans le path de SPIP

string charge_scripts( array | string $files , boolean $script = true )

Paramètres

  1. array | string $files
    • array : Liste de fichiers
    • string : fichier ou fichiers séparés par |
  2. boolean $script = true
    • si true, considère que c'est un fichier js à chercher javascript/

Retour

  • string

    Contenu du ou des fichiers, concaténé

Package

Proposer une amélioration
  • 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.

string charger_filtre( string $fonc , string $default = 'filtre_identite_dist' )

Paramètres

  1. string $fonc

    Nom du filtre

  2. string $default = 'filtre_identite_dist'

    Filtre par défaut

Retour

  • string

    Fonction PHP correspondante du filtre

Package

Proposer une amélioration

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.

string chercher_filtre( string $fonc , null $default = null )

Paramètres

  1. string $fonc

    Nom du filtre

  2. null $default = null

    Nom du filtre appliqué par défaut si celui demandé n'est pas trouvé

Retour

  • string

    Fonction PHP correspondante du filtre demandé

Utilisé par

Package

Proposer une amélioration
mixed choixsiegal( mixed $a1 , mixed $a2 , mixed $v , mixed $f )

Paramètres

  1. mixed $a1

    La valeur à tester

  2. mixed $a2

    La valeur de comparaison

  3. mixed $v

    Ce qui est retourné si la comparaison est vraie

  4. mixed $f

    Ce qui est retourné sinon

Retour

  • mixed

Exemples

  • #LANG_DIR|choixsiegal{ltr,left,right} retourne left si #LANG_DIR vaut ltr et right sinon.

Package

Filtre

  • choixsiegal
Proposer une amélioration
mixed choixsivide( mixed $a , mixed $vide , mixed $pasvide )

Paramètres

  1. mixed $a

    La valeur à tester

  2. mixed $vide

    Ce qui est retourné si $a est considéré vide

  3. mixed $pasvide

    Ce qui est retourné sinon

Retour

  • mixed

Exemples

  • [(#TEXTE|choixsivide{vide, plein})] affiche vide si le #TEXTE est considéré vide par PHP (chaîne vide, false, 0, tableau vide, etc…). C'est l'équivalent de [(#TEXTE|?{plein, vide})]

Voir également

Package

Filtre

  • choixsivide
Proposer une amélioration
string concat( )

Retour

  • string

    Chaînes concaténés

Exemples

  • #TEXTE|concat{texte1,texte2,...}

Package

Filtre

  • concat
Proposer une amélioration

Supprimer les caracteres windows non conformes et les caracteres de controle illégaux

string | array corriger_caracteres( string | array $texte )

Paramètres

  1. string | array $texte

Retour

  • string | array

Package

Proposer une amélioration

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 &amp; qui devient &amp;amp; dans les URL

string corriger_entites_html( string $texte )

Paramètres

  1. string $texte

Retour

  • string

Utilisé par

Package

Proposer une amélioration

Identique à corriger_entites_html() en corrigeant aussi les &amp;eacute; en &eacute;

string corriger_toutes_entites_html( string $texte )

Paramètres

  1. string $texte

Retour

  • string

Voir également

Utilisé par

Package

Proposer une amélioration

Précude inverse de encoder_contexte_ajax()

array | string | boolean decoder_contexte_ajax( string $c , string $form = '' )

Paramètres

  1. string $c

    hash du contexte

  2. string $form = ''

    nom du formulaire eventuel

Retour

  • array | string | boolean
    • array|string : contexte d'environnement, possiblement sérialisé
    • false : erreur de décodage

Voir également

Package

Proposer une amélioration

Récupère le chemin d'une CSS existante et :

  1. regarde si une CSS inversée droite-gauche existe dans le meme répertoire
  2. 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.

string direction_css( string $css , string $voulue = '' )

Paramètres

  1. string $css

    Chemin vers le fichier CSS

  2. string $voulue = ''

    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.

Retour

  • string

    Chemin du fichier CSS inversé

Exemples

  • [<link rel="stylesheet" href="(#CHEMIN{css/perso.css}|direction_css)" type="text/css" />]

Package

Filtre

  • direction_css
Proposer une amélioration
integer div( integer $a , integer $b )

Paramètres

  1. integer $a
  2. integer $b

Retour

  • integer

    $a/$b (ou 0 si $b est nul)

Exemples

  • [(#VAL{28}|div{14})]

Voir également

Package

Filtre

  • div
Proposer une amélioration

Transforme les chevrons de tag <...> en entité HTML.

string echapper_tags( string $texte , string $rempl = "" )

Paramètres

  1. string $texte

    Texte à échapper

  2. string $rempl = ""

    Inutilisé.

Retour

  • string

    Texte converti

Exemples

  • <pre>[(#TEXTE|echapper_tags)]</pre>

Package

Filtre

  • echapper_tags
Proposer une amélioration
boolean | string email_valide( string $adresses )

Paramètres

  1. string $adresses

    Adresse ou liste d'adresse

Retour

  • boolean | string
    • false si pas conforme,
    • la normalisation de la dernière adresse donnée sinon

Package

Proposer une amélioration

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.

string enclosure2microformat( string $e )

Paramètres

  1. string $e

    Tag RSS <enclosure>

Retour

  • string

    Tag HTML <a> avec microformat.

Package

Filtre

  • enclosure2microformat
Proposer une amélioration

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)

string encoder_contexte_ajax( string | array $c , string $form = '' , string $emboite = null , string $ajaxid = '' )

Paramètres

  1. string | array $c

    contexte, peut etre un tableau serialize

  2. string $form = ''

    nom du formulaire eventuel

  3. string $emboite = null

    contenu a emboiter dans le conteneur ajax

  4. string $ajaxid = ''

    ajaxid pour cibler le bloc et forcer sa mise a jour

Retour

  • string

    hash du contexte

Voir également

Package

Proposer une amélioration

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.

mixed | string entites_html( string $texte , boolean $tout = false , boolean $quote = true )

Paramètres

  1. string $texte

    chaine a echapper

  2. boolean $tout = false

    corriger toutes les &amp;xx; en &xx;

  3. boolean $quote = true

    Échapper aussi les simples quotes en &#039;

Retour

  • mixed | string

Utilisé par

Package

Filtre

  • entites_html
Proposer une amélioration

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

string env_to_attributs( array | string $env , array $ignore_params = array() )

Paramètres

  1. array | string $env

    Tableau cle => valeur des attributs à écrire, ou chaine sérialisée de ce tableau

  2. array $ignore_params = array()

    Permet de compléter les clés ignorées du tableau.

Retour

  • string

    Code HTML résultant

Exemples

  • <embed src='#URL_DOCUMENT' [(#ENV*|env_to_attributs)] width='#GET{largeur}' height='#GET{hauteur}'></embed>

Package

Filtre

  • env_to_attributs
Proposer une amélioration

..>à partir d'un tableau de données tel que#ENV`

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

string env_to_params( array | string $env , array $ignore_params = array() )

Paramètres

  1. array | string $env

    Tableau cle => valeur des paramètres à écrire, ou chaine sérialisée de ce tableau

  2. array $ignore_params = array()

    Permet de compléter les clés ignorées du tableau.

Retour

  • string

    Code HTML résultant

Exemples

  • [(#ENV*|env_to_params)]

Package

Filtre

  • env_to_params
Proposer une amélioration

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)

string | array extraire_attribut( string | array $balise , string $attribut , boolean $complet = false )

Paramètres

  1. string | array $balise

    Texte ou liste de textes dont on veut extraire des balises

  2. string $attribut

    Nom de l'attribut désiré

  3. boolean $complet = false

    True pour retourner un tableau avec

    • le texte de la balise
    • l'ensemble des résultats de la regexp ($r)

Retour

  • string | array
    • Texte de l'attribut retourné, ou tableau des texte d'attributs (si 1er argument tableau)

    • Tableau complet (si 2e argument)

Package

Proposer une amélioration

Retourne le contenu d'une balise jusqu'à la première fermeture rencontrée du même type. Si on a passe un tableau de textes, retourne un tableau de resultats.

void | string | array extraire_balise( string | array $texte , string $tag = 'a' )

Paramètres

  1. string | array $texte

    Texte(s) dont on souhaite extraire une balise html

  2. string $tag = 'a'

    Nom de la balise html à extraire

Retour

  • void | string | array
    • Code html de la balise, sinon rien
    • Tableau de résultats, si tableau en entrée.

Exemples

  • [(#DESCRIPTIF|extraire_balise{img})]

Voir également

Package

Filtre

  • extraire_balise

Note

  • Attention : les résultats peuvent être incohérents sur des balises imbricables, tel que demander à extraire div dans le texte <div> un <div> mot </div> absent </div>, ce qui retournerait <div> un <div> mot </div> donc.
Proposer une amélioration

Retourne dans un tableau le contenu de chaque balise jusqu'à la première fermeture rencontrée du même type. Si on a passe un tableau de textes, retourne un tableau de resultats.

array extraire_balises( string | array $texte , string $tag = 'a' )

Paramètres

  1. string | array $texte

    Texte(s) dont on souhaite extraire une balise html

  2. string $tag = 'a'

    Nom de la balise html à extraire

Retour

  • array
    • Liste des codes html des occurrences de la balise, sinon tableau vide
    • Tableau de résultats, si tableau en entrée.

Exemples

  • [(#TEXTE|extraire_balises{img}|implode{" - "})]

Voir également

Utilisé par

Package

Filtre

  • extraire_balises

Note

  • Attention : les résultats peuvent être incohérents sur des balises imbricables, tel que demander à extraire div dans un texte.
Proposer une amélioration

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.

string extraire_idiome( string $letexte , string $lang = null , array $options = array() )

Paramètres

  1. string $letexte
  2. string $lang = null

    Langue à retrouver (si vide, utilise la langue en cours).

  3. array $options = array()

    Options {

Retour

  • string

Package

Filtre

  • extraire_idiome

Type

  • bool $echappe_span True pour échapper les balises span (false par défaut)
  • 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. }
Proposer une amélioration

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.

string extraire_multi( string $letexte , string $lang = null , array $options = array() )

Paramètres

  1. string $letexte
  2. string $lang = null

    Langue à retrouver (si vide, utilise la langue en cours).

  3. array $options = array()

    Options {

Retour

  • string

Package

Filtre

  • extraire_multi

Type

  • bool $echappe_span True pour échapper les balises span (false par défaut)
  • 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. }
Proposer une amélioration

Exemple de blocs.

  • texte par défaut [fr] en français [en] en anglais
  • [fr] en français [en] en anglais
array extraire_trads( string $bloc )

Paramètres

  1. string $bloc

    Le contenu intérieur d'un bloc multi

Retour

  • array

    [code de langue => texte] Peut retourner un code de langue vide, lorsqu'un texte par défaut est indiqué.

Package

Proposer une amélioration
string filtre_balise_img_dist( string $img , string $alt = "" , string $class = "" )

Paramètres

  1. string $img
  2. string $alt = ""
  3. string $class = ""

Retour

  • string

    Code HTML de la balise IMG

Package

Filtre

  • balise_img
Proposer une amélioration
array<mixed,integer> filtre_bornes_pagination_dist( integer $courante , integer $nombre , integer $max = 10 )

Paramètres

  1. integer $courante

    Page courante

  2. integer $nombre

    Nombre de pages

  3. integer $max = 10

    Nombre d'éléments par page

Retour

  • array<mixed,integer>

    Liste (première page, dernière page).

Package

Filtre

  • bornes_pagination
Proposer une amélioration
string filtre_bouton_action_horizontal_dist( string $lien , string $texte , string $fond , string $fonction = "" , string $class = "" , string $confirm = "" )

Paramètres

  1. string $lien

    URL de l'action

  2. string $texte

    Texte du bouton

  3. string $fond

    Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

  4. string $fonction = ""

    Fonction du bouton (edit, new, del)

  5. string $class = ""

    Classe CSS à ajouter

  6. string $confirm = ""

    Message de confirmation à ajouter en javascript sur le bouton

Retour

  • string

    Code HTML du lien

Exemples

  • [(#URL_ACTION_AUTEUR{supprimer_mot, #ID_MOT, #URL_ECRIRE{groupe_mots,id_groupe=#ID_GROUPE}}
        |bouton_action_horizontal{<:mots:info_supprimer_mot:>,mot-24.png,del})]

Package

Filtre

  • bouton_action_horizontal
Proposer une amélioration

Il permet de placer un objet dans la hiérarchie des rubriques de SPIP

string filtre_chercher_rubrique_dist( string $titre , integer $id_objet , integer $id_parent , string $objet , integer $id_secteur , boolean $restreint , boolean $actionable = false , boolean $retour_sans_cadre = false )

Paramètres

  1. string $titre
  2. integer $id_objet
  3. integer $id_parent
  4. string $objet
  5. integer $id_secteur
  6. boolean $restreint
  7. boolean $actionable = false

    true : fournit le selecteur dans un form directement postable

  8. boolean $retour_sans_cadre = false

Retour

  • string

Package

Filtre

  • chercher_rubrique
Proposer une amélioration
string filtre_compacte_dist( string $source , null | string $format = null )

Paramètres

  1. string $source
  2. null | string $format = null

Retour

  • string

Package

Filtre

  • compacte
Proposer une amélioration

Log la valeur dans debug.log et l'affiche si on est webmestre.

mixed filtre_debug( mixed $val , mixed | null $key = null )

Paramètres

  1. mixed $val

    La valeur à debugguer

  2. mixed | null $key = null

    Clé pour s'y retrouver

Retour

  • mixed

    Retourne la valeur (sans la modifier).

Exemples

  • [(#TRUC|debug)] affiche et log la valeur de #TRUC
  • [(#TRUC|debug{avant}|calcul|debug{apres}|etc)] affiche la valeur de #TRUC avant et après le calcul, en précisant "avant" et "apres".

Package

Filtre

  • debug
Proposer une amélioration

Plus précisément déplace le pointeur du tableau sur la dernière valeur et la retourne.

mixed | null | false filtre_end( array $array )

Paramètres

  1. array $array

Retour

  • mixed | null | false
    • null si $array n'est pas un tableau,
    • false si le tableau est vide
    • la dernière valeur du tableau sinon.

Exemples

  • [(#LISTE{un,deux,trois}|end)] retourne 'trois'

Voir également

Package

Filtre

  • end
Proposer une amélioration
array filtre_explode_dist( string $a , string $b )

Paramètres

  1. string $a

    Texte

  2. string $b

    Séparateur

Retour

  • array

    Liste des éléments

Exemples

  • [(#GET{truc}|explode{-})]

Package

Note

  • Inverse l'écriture de la fonction PHP de même nom pour que le filtre soit plus pratique dans les squelettes

Filtre

  • explode
Proposer une amélioration
string filtre_filtrer_entites_dist( string $t )

Paramètres

  1. string $t

Retour

  • string

Package

Filtre

  • filtrer_entites
Proposer une amélioration
boolean filtre_find( array $array , mixed $val )

Paramètres

  1. array $array
  2. mixed $val

Retour

  • boolean
    • false si $array n'est pas un tableau
    • true si la valeur existe dans le tableau, false sinon.

Exemples

  • [(#LISTE{un,deux,trois}|find{quatre}|oui) ... ]

Package

Filtre

  • find
Proposer une amélioration
string filtre_foreach_dist( array $tableau , string $modele = 'foreach' )

Paramètres

  1. array $tableau

    Tableau de données à afficher

  2. string $modele = 'foreach'

    Nom du modèle à utiliser

Retour

  • string

    Code HTML résultant

Exemples

    • [(#ENV*|unserialize|foreach)]
    • [(#ARRAY{a,un,b,deux}|foreach)]

Package

Filtre

  • foreach
Proposer une amélioration
string filtre_icone_horizontale_dist( string $lien , string $texte , string $fond , string $fonction = "" , string $class = "" , string $javascript = "" )

Paramètres

  1. string $lien

    URL du lien

  2. string $texte

    Texte du lien

  3. string $fond

    Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

  4. string $fonction = ""

    Fonction du lien (edit, new, del)

  5. string $class = ""

    Classe CSS à ajouter

  6. string $javascript = ""

    Javascript ajouté sur le lien

Retour

  • string

    Code HTML du lien

Exemples

  • En tant que filtre dans un squelettes :
    
        [(#URL_ECRIRE{sites}|icone_horizontale{<:sites:icone_voir_sites_references:>,site-24.png})]
    
        [(#AUTORISER{supprimer,groupemots,#ID_GROUPE}|oui)
            [(#URL_ACTION_AUTEUR{supprimer_groupe_mots,#ID_GROUPE,#URL_ECRIRE{mots}}
                |icone_horizontale{<:mots:icone_supprimer_groupe_mots:>,groupe_mots,del})]
        ]
    
    En tant que filtre dans un code php :
    
        $icone_horizontale=chercher_filtre('icone_horizontale');
        $icone = $icone_horizontale(generer_url_ecrire("stats_visites","id_article=$id_article"),
            _T('statistiques:icone_evolution_visites', array('visites' => $visites)),
            "statistique-24.png");

Utilise

Package

Filtre

  • icone_horizontale
Proposer une amélioration
string filtre_icone_verticale_dist( string $lien , string $texte , string $fond , string $fonction = "" , string $class = "" , string $javascript = "" )

Paramètres

  1. string $lien

    URL du lien

  2. string $texte

    Texte du lien

  3. string $fond

    Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

  4. string $fonction = ""

    Fonction du lien (edit, new, del)

  5. string $class = ""

    Classe CSS à ajouter, tel que left, right, center pour définir un alignement. Il peut y en avoir plusieurs : left ajax

  6. string $javascript = ""

    Javascript ajouté sur le lien

Retour

  • string

    Code HTML du lien

Exemples

  •  [(#AUTORISER{voir,groupemots,#ID_GROUPE})
         [(#URL_ECRIRE{groupe_mots,id_groupe=#ID_GROUPE}
            |icone_verticale{<:mots:icone_voir_groupe_mots:>,groupe_mots-24.png,'',left})]
    ]

Utilise

Package

Filtre

  • icone_verticale
Proposer une amélioration
string filtre_identite_dist( string $texte )

Paramètres

  1. string $texte

    Texte

Retour

  • string

    Texte

Utilisé par

Package

Filtre

  • identite
Proposer une amélioration
string filtre_implode_dist( array $a , string $b )

Paramètres

  1. array $a

    Tableau

  2. string $b

    Séparateur

Retour

  • string

    Texte

Exemples

  • [(#GET{truc}|implode{-})]

Package

Note

  • Inverse l'écriture de la fonction PHP de même nom pour que le filtre soit plus pratique dans les squelettes

Filtre

  • implode
Proposer une amélioration
array | string | boolean filtre_info_plugin_dist( string $plugin , string $type_info , boolean $reload = false )

Paramètres

  1. string $plugin

    Préfixe du plugin ou chaîne vide

  2. string $type_info

    Type d'info demandée

  3. boolean $reload = false

    true (à éviter) pour forcer le recalcul du cache des informations des plugins.

Retour

  • array | string | boolean
    • 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

Package

Filtre

  • info_plugin
Proposer une amélioration
string filtre_initiale( string $nom )

Paramètres

  1. string $nom

Retour

  • string

    L'initiale en majuscule

Package

Filtre

  • initiale
Proposer une amélioration

Éviter une erreur lorsqu'on utilise |nettoyer_titre_email dans un squelette de mail

string filtre_nettoyer_titre_email_dist( string $titre )

Paramètres

  1. string $titre

Retour

  • string

Package

Filtre

  • nettoyer_titre_email
Proposer une amélioration

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.

string filtre_pagination_dist( integer $total , string $nom , integer $position , integer $pas , boolean $liste = true , string $modele = '' , string $connect = '' , array $env = array() )

Paramètres

  1. integer $total

    Nombre total d'éléments

  2. string $nom

    Nom identifiant la pagination

  3. integer $position

    Page à afficher (tel que la 3è page)

  4. integer $pas

    Nombre d'éléments par page

  5. boolean $liste = true
    • True pour afficher toute la liste des éléments,
    • False pour n'afficher que l'ancre
  6. string $modele = ''

    Nom spécifique du modèle de pagination

  7. string $connect = ''

    Nom du connecteur à la base de données

  8. array $env = array()

    Environnement à transmettre au modèle

Retour

  • string

    Code HTML de la pagination

Voir également

Package

Filtre

  • pagination
Proposer une amélioration

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 !

array | mixed | string filtre_print_dist( $u , string $join = "<br />" , integer $indent )

Paramètres

  1. $u
  2. string $join = "<br />"
  3. integer $indent

Retour

  • array | mixed | string

Package

Filtre

  • print
Proposer une amélioration

Utilisable sur tout objet qui a declaré ses statuts

string filtre_puce_statut_dist( string $statut , string $objet , integer $id_objet , integer $id_parent )

Paramètres

  1. string $statut

    Statut actuel de l'objet

  2. string $objet

    Type d'objet

  3. integer $id_objet

    Identifiant de l'objet

  4. integer $id_parent

    Identifiant du parent

Retour

  • string

    Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)

Exemples

  • [(#STATUT|puce_statut{article})] affiche une puce passive [(#STATUT|puce_statut{article,#ID_ARTICLE,#ID_RUBRIQUE})] affiche une puce avec changement rapide

Voir également

Package

Filtre

  • puce_statut
Proposer une amélioration
array | string filtre_push( array $array , mixed $val )

Paramètres

  1. array $array
  2. mixed $val

Retour

  • array | string
    • '' si $array n'est pas un tableau ou si echec.
    • le tableau complété de la valeur sinon.

Exemples

  • [(#LISTE{un,deux,trois}|push{quatre}|print)]

Package

Filtre

  • push
Proposer une amélioration

Plus précisément déplace le pointeur du tableau sur la première valeur et la retourne.

mixed | null | false filtre_reset( array $array )

Paramètres

  1. array $array

Retour

  • mixed | null | false
    • null si $array n'est pas un tableau,
    • false si le tableau est vide
    • la première valeur du tableau sinon.

Exemples

  • [(#LISTE{un,deux,trois}|reset)] retourne 'un'

Voir également

Package

Filtre

  • reset
Proposer une amélioration

La valeur pourra être retrouvée avec #GET{variable}.

mixed filtre_set( array & $Pile , mixed $val , string $key , boolean $continue = null )

Paramètres

  1. array & $Pile

    Pile de données

  2. mixed $val

    Valeur à sauver

  3. string $key

    Clé d'enregistrement

  4. boolean $continue = null

    True pour retourner la valeur

Retour

  • mixed

Exemples

  • [(#CALCUL|set{toto})] enregistre le résultat de #CALCUL dans la variable toto et renvoie vide. C'est équivalent à [(#SET{toto, #CALCUL})] dans ce cas. #GET{toto} retourne la valeur sauvegardée.
  • [(#CALCUL|set{toto,1})] enregistre le résultat de #CALCUL dans la variable toto et renvoie la valeur. Cela permet d'utiliser d'autres filtres ensuite. #GET{toto} retourne la valeur.

Package

Filtre

  • set
Proposer une amélioration

La valeur pourra être retrouvée avec #ENV{variable}.

string | mixed filtre_setenv( array & $Pile , mixed $val , mixed $key , null | mixed $continue = null )

Paramètres

  1. array & $Pile
  2. mixed $val

    Valeur à enregistrer

  3. mixed $key

    Nom de la variable

  4. null | mixed $continue = null

    Si présent, retourne la valeur en sortie

Retour

  • string | mixed

    Retourne $val si $continue présent, sinon ''.

Exemples

  •  `[(#CALCUL|setenv{toto})]` enregistre le résultat de `#CALCUL`
     dans l'environnement toto et renvoie vide.
     `#ENV{toto}` retourne la valeur.
    
     `[(#CALCUL|setenv{toto,1})]` enregistre le résultat de `#CALCUL`
     dans l'environnement toto et renvoie la valeur.
     `#ENV{toto}` retourne la valeur.

Package

Filtre

  • setenv
Proposer une amélioration
string filtrer_entites( string $texte )

Paramètres

  1. string $texte

    Texte à convertir

Retour

  • string

    Texte converti

Package

Exemple

  • Si le charset de votre site est utf-8, &eacute; ou &#233; sera transformé en é

Filtre

  • filtrer_entites
Proposer une amélioration

Passe le texte en utf8, enlève les sauts de lignes et échappe les virgules.

string filtrer_ical( string $texte )

Paramètres

  1. string $texte

Retour

  • string

Exemples

  • SUMMARY:[(#TITRE|filtrer_ical)]

Package

Filtre

  • filtrer_ical
Proposer une amélioration
void floatstr( $a )

Paramètres

  1. $a

Package

Proposer une amélioration

Fournit la suite de Input-Hidden correspondant aux paramètres de l'URL donnée en argument, compatible avec les types_urls

string form_hidden( string $action )

Paramètres

  1. string $action

    URL

Retour

  • string

    Suite de champs input hidden

Exemples

  • [(#ENV{action}|form_hidden)] dans un formulaire

Package

Filtre

  • form_hidden
Proposer une amélioration

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__entite($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.

string generer_info_entite( integer $id_objet , string $type_objet , string $info , string $etoile = "" )

Paramètres

  1. integer $id_objet
  2. string $type_objet
  3. string $info
  4. string $etoile = ""

Retour

  • string

Utilisé par

Package

Proposer une amélioration
string generer_lien_entite( integer $id_objet , $objet , integer $longueur = 80 , null | string $connect = null )

Paramètres

  1. integer $id_objet
  2. $objet
  3. integer $longueur = 80
  4. null | string $connect = null

Retour

  • string

Utilisé par

Package

Proposer une amélioration
integer | null hauteur( string $img )

Paramètres

  1. string $img

    Balise HTML <img ... /> ou chemin de l'image (qui peut être une URL distante).

Retour

  • integer | null

    Hauteur en pixels, NULL ou 0 si aucune image.

Voir également

Utilise

Package

Filtre

  • hauteur
Proposer une amélioration

Attention le htmlentities et la traduction doivent être appliqués avant.

string http_img_pack( string $img , string $alt , string $atts = '' , string $title = '' , array $options = array() )

Paramètres

  1. string $img
  2. string $alt
  3. string $atts = ''
  4. string $title = ''
  5. array $options = array()

    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)

Retour

  • string

Package

Proposer une amélioration
string http_style_background( string $img , string $att = '' )

Paramètres

  1. string $img
  2. string $att = ''

Retour

  • string

Package

Proposer une amélioration
string icone_base( string $lien , string $texte , string $fond , string $fonction = "" , string $class = "" , string $javascript = "" )

Paramètres

  1. string $lien

    URL du lien

  2. string $texte

    Texte du lien

  3. string $fond

    Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

  4. string $fonction = ""

    Fonction du lien (edit, new, del)

  5. string $class = ""

    Classe CSS, tel que left, right pour définir un alignement

  6. string $javascript = ""

    Javascript ajouté sur le lien

Retour

  • string

    Code HTML du lien

Package

Proposer une amélioration

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

string image_filtrer( array $args )

Paramètres

  1. array $args

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

Retour

  • string

    Texte qui a reçu les filtres

Utilisé par

Package

Proposer une amélioration

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

string in_any( string $val , array | string $vals , string $def = '' )

Paramètres

  1. string $val

    Valeur à chercher dans le tableau

  2. array | string $vals

    Tableau des valeurs. S'il ce n'est pas un tableau qui est transmis, la fonction tente de la désérialiser.

  3. string $def = ''

    Valeur par défaut retournée si $vals n'est pas un tableau.

Retour

  • 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

Exemples

  • [(#VAL{deux}|in_any{#LISTE{un,deux,trois}}|oui) ... ]

Package

Filtre

  • in_any
Proposer une amélioration
string inserer_attribut( string $balise , string $attribut , string $val , boolean $proteger = true , boolean $vider = false )

Paramètres

  1. string $balise

    Code html de la balise (ou contenant une balise)

  2. string $attribut

    Nom de l'attribut html à modifier

  3. string $val

    Valeur de l'attribut à appliquer

  4. boolean $proteger = true

    Prépare la valeur en tant qu'attribut de balise (mais conserve les balises html).

  5. boolean $vider = false

    True pour vider l'attribut. Une chaîne vide pour $val fera pareil.

Retour

  • string

    Code html modifié

Exemples

    • [(#LOGO_ARTICLE|inserer_attribut{class, logo article})]
    • [(#LOGO_ARTICLE|inserer_attribut{alt, #TTTRE|attribut_html|couper{60}})]
    • [(#FICHIER|image_reduire{40}|inserer_attribut{data-description, #DESCRIPTIF})] Laissera les balises HTML de la valeur (ici #DESCRIPTIF) si on n'applique pas le filtre attribut_html dessus.

Package

Filtre

  • inserer_attribut
Proposer une amélioration

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.

string insert_head_css_conditionnel( string $flux )

Paramètres

  1. string $flux

    Code HTML

Retour

  • string

    Code HTML

Package

Proposer une amélioration
integer | null largeur( string $img )

Paramètres

  1. string $img

    Balise HTML <img ... /> ou chemin de l'image (qui peut être une URL distante).

Retour

  • integer | null

    Largeur en pixels, NULL ou 0 si aucune image.

Voir également

Utilise

Package

Filtre

  • largeur
Proposer une amélioration
string lien_ou_expose( string $url , string $libelle = null , boolean $on = false , string $class = "" , string $title = "" , string $rel = "" , string $evt = '' )

Paramètres

  1. string $url

    URL du lien

  2. string $libelle = null

    Texte du lien

  3. boolean $on = false

    État exposé (génère un strong) ou non (génère un lien)

  4. string $class = ""

    Classes CSS ajoutées au lien

  5. string $title = ""

    Title ajouté au lien

  6. string $rel = ""

    Attribut rel ajouté au lien

  7. string $evt = ''

    Complement à la balise a pour gérer un événement javascript, de la forme onclick='...'

Retour

  • string

    Code HTML

Exemples

  •   [(#URL_RUBRIQUE|lien_ou_expose{#TITRE, #ENV{test}|=={en_cours}})]

Package

Filtre

  • lien_ou_expose
Proposer une amélioration
string liens_nofollow( string $texte )

Paramètres

  1. string $texte

Retour

  • string

Package

Proposer une amélioration
string liens_ouvrants( string $texte )

Paramètres

  1. string $texte

    Texte avec des liens

Retour

  • string

    Texte avec liens ouvrants

Package

Filtre

  • liens_ouvrants
Proposer une amélioration

Encadre le texte du style CSS text-transform: uppercase;. Le cas spécifique du i turc est géré.

string majuscules( string $texte )

Paramètres

  1. string $texte

    Texte

Retour

  • string

    Texte en majuscule

Exemples

  • [(#EXTENSION|majuscules)]

Package

Filtre

  • majuscules
Proposer une amélioration

S'appuie sur la fonction preg_match() en PHP

boolean | string match( string $texte , string | integer $expression , string $modif = "UimsS" , integer $capte )

Paramètres

  1. string $texte

    Texte dans lequel chercher

  2. string | integer $expression

    Expression régulière de recherche, sans le délimiteur

  3. string $modif = "UimsS"
    • string : Modificateurs de l'expression régulière
    • int : Numéro de parenthèse capturante
  4. integer $capte

    Numéro de parenthèse capturante

Retour

  • boolean | string
    • false : l'expression n'a pas été trouvée
    • true : expression trouvée, mais pas la parenthèse capturante
    • string : expression trouvée.

Exemples

    • [(#TITRE|match{toto})]
    • [(#TEXTE|match{^ceci$,Uims})]
    • [(#TEXTE|match{truc(...)$, UimsS, 1})] Capture de la parenthèse indiquée
    • [(#TEXTE|match{truc(...)$, 1})] Équivalent, sans indiquer les modificateurs

Package

Filtre

  • match
Proposer une amélioration

Passe un texte ayant des liens avec microformat <a rel="enclosure" href="fichier" ...>fichier</a> au format RSS <enclosure url="fichier" ... />.

string microformat2enclosure( string $tags )

Paramètres

  1. string $tags

    Texte HTML ayant des tag <a> avec microformat

Retour

  • string

    Tags RSS <enclosure>.

Package

Filtre

  • microformat2enclosure
Proposer une amélioration
integer modulo( integer $nb , integer $mod , integer $add )

Paramètres

  1. integer $nb
  2. integer $mod
  3. integer $add

Retour

  • integer

    ($nb % $mod) + $add

Exemples

  • [(#VAL{28}|modulo{14})]

Voir également

Package

Filtre

  • modulo
Proposer une amélioration
integer moins( integer $a , integer $b )

Paramètres

  1. integer $a
  2. integer $b

Retour

  • integer

    $a-$b

Exemples

  • [(#VAL{28}|moins{14})]

Voir également

Package

Filtre

  • moins
Proposer une amélioration
integer mult( integer $a , integer $b )

Paramètres

  1. integer $a
  2. integer $b

Retour

  • integer

    $a*$b

Exemples

  • [(#VAL{28}|mult{14})]

Voir également

Package

Filtre

  • mult
Proposer une amélioration
boolean nom_acceptable( string $nom )

Paramètres

  1. string $nom

    Nom (signature) proposé

Retour

  • boolean
    • false si pas conforme,
    • true sinon

Package

Proposer une amélioration
mixed | string objet_afficher_nb( integer $nb , string $objet )

Paramètres

  1. integer $nb

    Nombre d'éléments

  2. string $objet

    Objet

Retour

  • mixed | string

    Texte traduit du comptage, tel que '3 articles'

Package

Proposer une amélioration
string objet_icone( string $objet , integer $taille = 24 )

Paramètres

  1. string $objet
  2. integer $taille = 24

Retour

  • string

Package

Proposer une amélioration
string objet_info( string $objet , string $info )

Paramètres

  1. string $objet
  2. string $info

Retour

  • string

Package

Proposer une amélioration

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

string objet_T( string $objet , string $chaine , array $args = array() , array $options = array() )

Paramètres

  1. string $objet
  2. string $chaine
  3. array $args = array()
  4. array $options = array()

Retour

  • string

Package

Proposer une amélioration
integer plus( integer $a , integer $b )

Paramètres

  1. integer $a
  2. integer $b

Retour

  • integer

    $a+$b

Exemples

  • [(#VAL{28}|plus{14})]

Voir également

Package

Filtre

  • plus
Proposer une amélioration

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.

string post_autobr( string $texte , string $delim = "\n_ " )

Paramètres

  1. string $texte
  2. string $delim = "\n_ "

    Ce par quoi sont remplacés les sauts

Retour

  • string

Package

Note

  • Cette fonction pouvait être utilisée pour forcer les alinéas, (retours à la ligne sans saut de paragraphe), mais ce traitement est maintenant automatique. Cf. plugin Textwheel et la constante _AUTOBR
Proposer une amélioration
string prepare_icone_base( string $type , string $lien , string $texte , string $fond , string $fonction = "" , string $class = "" , string $javascript = "" )

Paramètres

  1. string $type

    'lien' ou 'bouton'

  2. string $lien

    url

  3. string $texte

    texte du lien / alt de l'image

  4. string $fond

    objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

  5. string $fonction = ""

    new/del/edit

  6. string $class = ""

    classe supplementaire (horizontale, verticale, ajax ...)

  7. string $javascript = ""

    "onclick='...'" par exemple

Retour

  • string

Package

Proposer une amélioration

Permet ensuite à Apache de le servir en statique sans repasser par spip.php à chaque hit sur le fichier.

Si le format (css ou js) est passe dans contexte['format'], on l'utilise sinon on regarde si le fond finit par .css ou .js, sinon on utilie "html"

string produire_fond_statique( string $fond , array $contexte = array() , array $options = array() , string $connect = '' )

Paramètres

  1. string $fond
  2. array $contexte = array()
  3. array $options = array()
  4. string $connect = ''

Retour

  • string

Package

Proposer une amélioration
string proteger_amp( string $texte )

Paramètres

  1. string $texte

Retour

  • string

Utilisé par

Package

Proposer une amélioration
string PtoBR( string $texte )

Paramètres

  1. string $texte

    Texte à transformer

Retour

  • string

    Texte sans paraghaphes

Exemples

  • [<div>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>]

Package

Filtre

  • PtoBR
Proposer une amélioration
string puce_changement_statut( integer $id_objet , string $statut , integer $id_rubrique , string $type , boolean $ajax = false )

Paramètres

  1. integer $id_objet

    Identifiant de l'objet

  2. string $statut

    Statut actuel de l'objet

  3. integer $id_rubrique

    Identifiant du parent

  4. string $type

    Type d'objet

  5. boolean $ajax = 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

Retour

  • string

    Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)

Voir également

Package

Filtre

  • puce_changement_statut
Proposer une amélioration

Récupère le numéro 10 dans la chaine 10. Titre

integer | string recuperer_numero( string $texte )

Paramètres

  1. string $texte

    Texte

Retour

  • integer | string

    Numéro de titre, sinon chaîne vide

Exemples

  • [(#TITRE|recuperer_numero)]

Package

Filtre

  • recuperer_numero
Proposer une amélioration
integer regledetrois( integer $a , integer $b , integer $c )

Paramètres

  1. integer $a
  2. integer $b
  3. integer $c

Retour

  • integer

    Retourne $a*$b/$c

Exemples

  • [(#VAL{6}|regledetrois{4,3})] retourne 8

Package

Filtre

  • regledetrois
Proposer une amélioration
string replace( string $texte , string $expression , string $replace = '' , string $modif = "UimsS" )

Paramètres

  1. string $texte

    Texte

  2. string $expression

    Expression régulière

  3. string $replace = ''

    Texte de substitution des éléments trouvés

  4. string $modif = "UimsS"

    Modificateurs pour l'expression régulière.

Retour

  • string

    Texte

Exemples

  • [(#TEXTE|replace{^ceci$,cela,UimsS})]

Voir également

Package

Filtre

  • replace
Proposer une amélioration

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)

boolean securiser_acces( integer $id_auteur , string $cle , string $dir , string $op = '' , string $args = '' )

Paramètres

  1. integer $id_auteur

    L'auteur qui demande la page

  2. string $cle

    La clé à tester

  3. string $dir

    Un type d'accès (nom du répertoire dans lequel sont rangés les squelettes demandés, tel que 'rss')

  4. string $op = ''

    Nom de l'opération éventuelle

  5. string $args = ''

    Nom de l'argument calculé

Retour

  • boolean

    True si on a le droit d'accès, false sinon.

Exemples

  • [(#ID_AUTEUR|securiser_acces{#ENV{cle}, rss, #ENV{op}, #ENV{args}}|sinon_interdire_acces)]

Package

Filtre

  • securiser_acces
Proposer une amélioration
string singulier_ou_pluriel( integer $nb , string $chaine_un , string $chaine_plusieurs , string $var = 'nb' , array $vars = array() )

Paramètres

  1. integer $nb

    : le nombre

  2. string $chaine_un

    : l'item de langue si $nb vaut un

  3. string $chaine_plusieurs

    : l'item de lanque si $nb > 1

  4. string $var = 'nb'

    : La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")

  5. array $vars = array()

    : Les autres variables nécessaires aux chaines de langues (facultatif)

Retour

  • string

    : la chaine de langue finale en utilisant la fonction _T()

Package

Proposer une amélioration

En php sinon($a, 'rien') retourne $a, ou 'rien' si $a est vide. En filtre SPIP |sinon{#TEXTE, rien} : affiche #TEXTE ou rien si #TEXTE est vide,

mixed sinon( mixed $texte , mixed $sinon = '' )

Paramètres

  1. mixed $texte

    Contenu de reference a tester

  2. mixed $sinon = ''

    Contenu a retourner si le contenu de reference est vide

Retour

  • mixed

    Retourne $texte, sinon $sinon.

Package

Filtre

  • sinon

Note

  • L'utilisation de |sinon en tant que filtre de squelette est directement compilé dans public/references par la fonction filtre_logique()
Proposer une amélioration

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.

string | void sinon_interdire_acces( boolean $ok = false , string $url = '' , integer $statut , string $message = null )

Paramètres

  1. boolean $ok = false

    Indique si l'on doit rediriger ou pas

  2. string $url = ''

    Adresse eventuelle vers laquelle rediriger

  3. integer $statut

    Statut HTML avec lequel on redirigera

  4. string $message = null

    message d'erreur

Retour

  • string | void

    Chaîne vide si l'accès est autorisé

Exemples

  • [(#AUTORISER{non}|sinon_interdire_acces)]
    [(#AUTORISER{non}|sinon_interdire_acces{#URL_PAGE{login}, 401})]

Package

Filtre

  • sinon_interdire_acces
Proposer une amélioration

Si l'on retrouve un numéro de révision SVN, il est ajouté entre crochets. Si effectivement le SPIP est installé par SVN, 'SVN' est ajouté avant sa révision.

string spip_version( )

Retour

  • string

    Version de SPIP

Variables globales

  • spip_version_affichee Contient la version de SPIP

Package

Proposer une amélioration
void strdiv( $a , $b )

Paramètres

  1. $a
  2. $b

Package

Proposer une amélioration
void strize( $f , $a , $b )

Paramètres

  1. $f
  2. $a
  3. $b

Package

Proposer une amélioration
void strmoins( $a , $b )

Paramètres

  1. $a
  2. $b

Package

Proposer une amélioration
void strmult( $a , $b )

Paramètres

  1. $a
  2. $b

Package

Proposer une amélioration
void strplus( $a , $b )

Paramètres

  1. $a
  2. $b

Package

Proposer une amélioration

Remplace les caractères de controle par le caractère -

string | array supprimer_caracteres_illegaux( string | array $texte )

Paramètres

  1. string | array $texte

Retour

  • string | array

Package

Proposer une amélioration

Supprime 10. dans la chaine 10. Titre

integer | string supprimer_numero( string $texte )

Paramètres

  1. string $texte

    Texte

Retour

  • integer | string

    Numéro de titre, sinon chaîne vide

Exemples

  • [<h1>(#TITRE|supprimer_numero)</h1>]

Package

Filtre

  • supprimer_numero
Proposer une amélioration

Supprime tous les tags <...>. Utilisé fréquemment pour écrire des RSS.

string supprimer_tags( string $texte , string $rempl = "" )

Paramètres

  1. string $texte

    Texte à échapper

  2. string $rempl = ""

    Inutilisé.

Retour

  • string

    Texte converti

Exemples

  • <title>[(#TITRE|supprimer_tags|texte_backend)]</title>

Package

Filtre

  • supprimer_tags

Note

  • Ce filtre supprime aussi les signes inférieurs < rencontrés.
Proposer une amélioration
string supprimer_timestamp( string $url )

Paramètres

  1. string $url

Retour

  • string

Package

Proposer une amélioration
mixed table_valeur( mixed $table , string $cle , mixed $defaut = '' , boolean $conserver_null = false )

Paramètres

  1. mixed $table

    Tableau ou objet PHP (ou chaîne serialisée de tableau, ce qui permet d'enchaîner le filtre)

  2. string $cle

    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']

  3. mixed $defaut = ''

    Valeur par defaut retournée si la clé demandée n'existe pas

  4. boolean $conserver_null = 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().

Retour

  • mixed

    Valeur trouvée ou valeur par défaut.

Exemples

  • [(#VALEUR|table_valeur{cle/sous/element})]

Package

Filtre

  • table_valeur
Proposer une amélioration

Convertit les liens avec attribut rel="tag" en balise <dc:subject></dc:subject> pour les flux RSS au format Atom.

string tags2dcsubject( string $tags )

Paramètres

  1. string $tags

    Texte

Retour

  • string

    Tags RSS Atom <dc:subject>.

Package

Filtre

  • tags2dcsubject
Proposer une amélioration

Tel que "127.4 ko" ou "3.1 Mo"

string taille_en_octets( integer $taille )

Paramètres

  1. integer $taille

Retour

  • string

Exemples

    • [(#TAILLE|taille_en_octets)]
    • [(#VAL{123456789}|taille_en_octets)] affiche 117.7 Mo

Package

Filtre

  • taille_en_octets
Proposer une amélioration

Pour les filtres largeur et hauteur

array taille_image( string $img )

Paramètres

  1. string $img

    Balise HTML <img ... /> ou chemin de l'image (qui peut être une URL distante).

Retour

  • array

    Liste (hauteur, largeur) en pixels

Package

Proposer une amélioration
string tester_config( void | integer $id , string $mode = '' )

Paramètres

  1. void | integer $id
  2. string $mode = ''

Retour

  • string

Package

Proposer une amélioration

Ce filtre transforme les liens en liens absolus, importe les entitées html et échappe les tags html.

string texte_backend( string $texte )

Paramètres

  1. string $texte

    Texte à transformer

Retour

  • string

    Texte encodé pour XML

Package

Filtre

  • texte_backend
Proposer une amélioration

Comme texte_backend(), mais avec addslashes final pour squelettes avec PHP (rss)

string texte_backendq( string $texte )

Paramètres

  1. string $texte

    Texte à transformer

Retour

  • string

    Texte encodé et quote pour XML

Package

Filtre

  • texte_backendq
Proposer une amélioration

Enlève les tags d'un code HTML, élimine les doubles espaces.

string textebrut( string $texte )

Paramètres

  1. string $texte

    Texte à convertir

Retour

  • string

    Texte converti

Exemples

  • <title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>

Package

Filtre

  • textebrut
Proposer une amélioration
string timestamp( string $fichier )

Paramètres

  1. string $fichier

    Le chemin du fichier sur lequel on souhaite ajouter le timestamp

Retour

  • string

    $fichier auquel on a ajouté le timestamp

Package

Proposer une amélioration

Affecte la liste des doublons['documents']

string traiter_doublons_documents( array & $doublons , string $letexte )

Paramètres

  1. array & $doublons

    Liste des doublons

  2. string $letexte

    Le texte

Retour

  • string

    Le texte

Package

Proposer une amélioration

..." as multi les autres cas ne produisent qu'une chaine vide '' en select 'hasard' devient 'rand() AS hasard' dans le select

string tri_champ_select( string $t )

Paramètres

  1. string $t

Retour

  • string

Package

Proposer une amélioration

..} preserver l'espace pour interpreter ensuite num xxx et multi xxx

string tri_protege_champ( string $t )

Paramètres

  1. string $t

Retour

  • string

Package

Proposer une amélioration

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';
boolean trouver_filtre_matrice( string $filtre )

Paramètres

  1. string $filtre

Retour

  • boolean

    true si on trouve le filtre dans la matrice, false sinon.

Package

Proposer une amélioration

Il est possible de gérer différentes "familles" de données avec le second paramètre.

string | integer | array | null | void unique( string $donnee , string $famille = '' , boolean $cpt = false )

Paramètres

  1. string $donnee

    Donnée que l'on souhaite unique

  2. string $famille = ''

    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
  3. boolean $cpt = false

    True pour obtenir le nombre d'éléments différents stockés

Retour

  • string | integer | array | 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

Exemples

  • [(#ID_SECTEUR|unique)]
    [(#ID_SECTEUR|unique{tete})] n'a pas d'incidence sur
    [(#ID_SECTEUR|unique{pied})]
    [(#ID_SECTEUR|unique{pied,1})] affiche le nombre d'éléments.
    Préférer totefois #TOTAL_UNIQUE{pied}

Package

Filtre

  • unique

Todo

  • Ameliorations possibles :
    1) si la donnée est grosse, mettre son md5 comme clé 2) purger $mem quand on change de squelette (sinon bug inclusions)
Proposer une amélioration

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.

string url_absolue_css( string $css )

Paramètres

  1. string $css

    Chemin ou URL du fichier CSS source

Retour

  • string
    • Chemin du fichier CSS transformé (si source lisible et mise en cache réussie)
    • Chemin ou URL du fichier CSS source sinon.

Utilisé par

Package

Proposer une amélioration
string url_reponse_forum( string $texte )

Paramètres

  1. string $texte

Retour

  • string

Package

Note

  • La vraie fonction est dans le plugin forum, mais on évite ici une erreur du compilateur en absence du plugin
Proposer une amélioration
string url_rss_forum( string $texte )

Paramètres

  1. string $texte

Retour

  • string

Package

Note

  • La vraie fonction est dans le plugin forum, mais on évite ici une erreur du compilateur en absence du plugin
Proposer une amélioration
string urls_absolues_css( string $contenu , string $source )

Paramètres

  1. string $contenu

    Contenu du fichier CSS

  2. string $source

    Chemin du fichier CSS

Retour

  • string

    Contenu avec urls en absolus

Utilise

Package

Proposer une amélioration

N'accepte que les *, + et - (à ameliorer si on l'utilise vraiment).

integer valeur_numerique( string $expr )

Paramètres

  1. string $expr

    Expression mathématique nombre operateur nombre comme 3*2

Retour

  • integer

    Résultat du calcul

Exemples

  • valeur_numerique("3*2") retourne 6

Package

Filtre

  • valeur_numerique
Proposer une amélioration

Mention de la révision SVN courante d'un répertoire Retourne un nombre négatif si on est sur .svn, et positif si on utilise svn.revision

integer version_svn_courante( string $dir )

Paramètres

  1. string $dir

    Chemin du répertoire

Retour

  • integer
    • 0 si aucune info trouvée
    • NN (entier) si info trouvée par svn.revision (créé par le générateur de paquet Zip)
    • -NN (entier) si info trouvée par .svn/entries

Utilisé par

Package

Proposer une amélioration
string vide( mixed $texte )

Paramètres

  1. mixed $texte

Retour

  • string

    Chaîne vide

Exemples

  • [(#CALCUL|vide)] n'affichera pas le résultat du calcul

Package

Filtre

  • vide
Proposer une amélioration
string vider_attribut( string $balise , string $attribut )

Paramètres

  1. string $balise

    Code HTML de l'élément

  2. string $attribut

    Nom de l'attribut à enlever

Retour

  • string

    Code HTML sans l'attribut

Exemples

  • [(#LOGO_ARTICLE|vider_attribut{class})]

Voir également

Package

Filtre

  • vider_attribut
Proposer une amélioration
  • Vide les URL vides comme http:// ou mailto: (sans rien d'autre)
  • échappe les entités et gère les &amp;
string vider_url( string $url , boolean $entites = true )

Paramètres

  1. string $url

    URL à vérifier et échapper

  2. boolean $entites = true

    true pour échapper les entités HTML.

Retour

  • string

    URL ou chaîne vide

Utilise

Package

Proposer une amélioration
string wrap( string $texte , string $wrap )

Paramètres

  1. string $texte
  2. string $wrap

Retour

  • string

Exemples

  • wrap('mot','<b>') donne <b>mot</b>'

Package

Filtre

  • wrap
Proposer une amélioration

Dépréciées

string filtre_icone_dist( string $lien , string $texte , string $fond , string $align = "" , string $fonction = "" , string $class = "" , string $javascript = "" )

Paramètres

  1. string $lien

    URL du lien

  2. string $texte

    Texte du lien

  3. string $fond

    Nom de l'image utilisée

  4. string $align = ""

    Classe CSS d'alignement (left, right, center)

  5. string $fonction = ""

    Fonction du lien (edit, new, del)

  6. string $class = ""

    Classe CSS à ajouter

  7. string $javascript = ""

    Javascript ajouté sur le lien

Retour

  • string

    Code HTML du lien

Utilise

Package

Filtre

  • icone

Deprecated

  • Utiliser le filtre icone_verticale
Proposer une amélioration

Ne devrait plus être utilisé et fait directement en CSS par un style word-wrap:break-word;

string lignes_longues( string $texte )

Paramètres

  1. string $texte

    Texte

Retour

  • string

    Texte encadré du style CSS

Package

Note

  • Pour assurer la compatibilité du filtre, on encapsule le contenu par un div ou span portant ce style CSS inline.

Filtre

  • lignes_longues

Deprecated

  • Utiliser le style CSS word-wrap:break-word;
Proposer une amélioration

Liste des marqueurs

Type Ligne Description
FIXME 4291 on fournit un ENV minimum avec id et type et connect=''
TODO 1738 Ameliorations possibles : 1) si la donnée est grosse, mettre son md5 comme clé 2) purger $mem quand on change de squelette (sinon bug inclusions)

Liste des erreurs

GravitéLigneDescription
Erreur 1968
  • Argument $a is missing from the Docblock of floatstr
  • No summary for function \floatstr()
Erreur 1969
  • No summary for function \strize()
  • Argument $b is missing from the Docblock of strize
  • Argument $a is missing from the Docblock of strize
  • Argument $f is missing from the Docblock of strize
Erreur 1989
  • Argument $b is missing from the Docblock of strplus
  • No summary for function \strplus()
  • Argument $a is missing from the Docblock of strplus
Erreur 2008
  • No summary for function \strmoins()
  • Argument $b is missing from the Docblock of strmoins
  • Argument $a is missing from the Docblock of strmoins
Erreur 2029
  • No summary for function \strmult()
  • Argument $a is missing from the Docblock of strmult
  • Argument $b is missing from the Docblock of strmult
Erreur 2050
  • No summary for function \strdiv()
  • Argument $a is missing from the Docblock of strdiv
  • Argument $b is missing from the Docblock of strdiv