Documentation du code de SPIP et de ses plugins

TextWheel pour SPIP

lien.php

Table of Contents

Constants

_EXTRAIRE_DOMAINE  = '/^(?:(?:[^\\W_]((?:[^\\W_]|-){0,61}[^\\W_,])?\\.)+[a-z0-9]{2,6}|localhost)\\b/Si'
_EXTRAIRE_LIEN  = ',^\\s*(http:?/?/?|mailto:?)\\s*$,iS'
_RACCOURCI_ANCRE  = '/\\[#?([^][]*)<-\\]/S'
_RACCOURCI_ATTRIBUTS  = '/^((?:[^[]*?(?:\\[[^]]*\\])?)*?)([|]([^<>]*?))?([{]([a-z_]*)[}])?$/'
_RACCOURCI_CHAPO  = '/^(\\W*)(\\W*)(\\w*\\d+([?#].*)?)$/'
_RACCOURCI_GLOSES  = '/^([^|#{]*\\w[^|#{]*)([^#]*)(#([^|{}]*))?(.*)$/S'
_RACCOURCI_GLOSSAIRE  = '/\\[\\?+\\s*([^][<>]+)\\]/S'
_RACCOURCI_URL  = '/^\\s*(\\w*?)\\s*(\\d+)(\\?(.*?))?(#([^\\s]*))?\\s*$/S'

Functions

inc_lien_dist()  : string
Production de la balise a+href à partir des raccourcis `[xxx->url]` etc.
lien_is_url_externe()  : bool
Detecter qu'une URL est externe pour poser une class en fonction
balise_a()  : string
Générer le HTML d'un lien quelconque
expanser_liens()  : mixed
nettoyer_raccourcis_typo()  : string
Nettoie un texte en enlevant les raccourcis typo, sans les traiter
traiter_raccourci_lien_atts()  : mixed
virtuel_redirige()  : string
Retourne la valeur d'un champ de redirection (articles virtuels)
calculer_url()  : mixed
traiter_lien_explicite()  : mixed
liens_implicite_glose_dist()  : mixed
traiter_lien_implicite()  : array<string|int, mixed>|bool|string
Transformer un lien raccourci art23 en son URL Par defaut la fonction produit une url prive si on est dans le prive ou publique si on est dans le public.
typer_raccourci()  : array<string|int, mixed>
traiter_raccourci_titre()  : array<string|int, mixed>
Retourne le titre et la langue d'un objet éditorial
traiter_raccourci_ancre()  : string
traiter_raccourci_glossaire()  : string
glossaire_std()  : mixed

Constants

_EXTRAIRE_DOMAINE

public mixed _EXTRAIRE_DOMAINE = '/^(?:(?:[^\\W_]((?:[^\\W_]|-){0,61}[^\\W_,])?\\.)+[a-z0-9]{2,6}|localhost)\\b/Si'

_EXTRAIRE_LIEN

public mixed _EXTRAIRE_LIEN = ',^\\s*(http:?/?/?|mailto:?)\\s*$,iS'

_RACCOURCI_ANCRE

public mixed _RACCOURCI_ANCRE = '/\\[#?([^][]*)<-\\]/S'

_RACCOURCI_ATTRIBUTS

public mixed _RACCOURCI_ATTRIBUTS = '/^((?:[^[]*?(?:\\[[^]]*\\])?)*?)([|]([^<>]*?))?([{]([a-z_]*)[}])?$/'

_RACCOURCI_CHAPO

public mixed _RACCOURCI_CHAPO = '/^(\\W*)(\\W*)(\\w*\\d+([?#].*)?)$/'

_RACCOURCI_GLOSES

public mixed _RACCOURCI_GLOSES = '/^([^|#{]*\\w[^|#{]*)([^#]*)(#([^|{}]*))?(.*)$/S'

_RACCOURCI_GLOSSAIRE

public mixed _RACCOURCI_GLOSSAIRE = '/\\[\\?+\\s*([^][<>]+)\\]/S'

_RACCOURCI_URL

public mixed _RACCOURCI_URL = '/^\\s*(\\w*?)\\s*(\\d+)(\\?(.*?))?(#([^\\s]*))?\\s*$/S'

Functions

inc_lien_dist()

Production de la balise a+href à partir des raccourcis `[xxx->url]` etc.

inc_lien_dist(string $lien[, string $texte = '' ][, string $class = '' ][, string $title = '' ][, string $hlang = '' ][, string $rel = '' ][, string $connect = '' ][, array<string|int, mixed> $env = [] ]) : string
Parameters
$lien : string
$texte : string = ''
$class : string = ''
$title : string = ''
$hlang : string = ''
$rel : string = ''
$connect : string = ''
$env : array<string|int, mixed> = []
Tags
note

Compliqué car c'est ici qu'on applique typo(), et en plus, on veut pouvoir les passer en pipeline

see
typo()
Return values
string

lien_is_url_externe()

Detecter qu'une URL est externe pour poser une class en fonction

lien_is_url_externe(string|null $url_lien) : bool
Parameters
$url_lien : string|null
Return values
bool

balise_a()

Générer le HTML d'un lien quelconque

balise_a([array<string|int, mixed> $args = [] ]) : string

Cette fonction génère une balise <a> suivant de multiples arguments.

Parameters
$args : array<string|int, mixed> = []

Tableau des arguments disponibles pour générer le lien :

  • texte : texte du lien, seul argument qui n'est pas un attribut
  • href
  • name
  • etc, tout autre attribut supplémentaire…
Return values
string

Retourne une balise HTML de lien ou une chaîne vide.

expanser_liens()

expanser_liens(mixed $t[, mixed $connect = '' ][, mixed $env = [] ]) : mixed
Parameters
$t : mixed
$connect : mixed = ''
$env : mixed = []

nettoyer_raccourcis_typo()

Nettoie un texte en enlevant les raccourcis typo, sans les traiter

nettoyer_raccourcis_typo(string $texte[, string $connect = '' ]) : string

On ne laisse que les titres des liens, en les explicitant si ce n’est pas fait.

Parameters
$texte : string
$connect : string = ''
Return values
string

traiter_raccourci_lien_atts()

traiter_raccourci_lien_atts(mixed $texte) : mixed
Parameters
$texte : mixed

virtuel_redirige()

Retourne la valeur d'un champ de redirection (articles virtuels)

virtuel_redirige(string $virtuel[, bool $url = false ]) : string

L'entrée accepte plusiers types d'écritures :

  • une URL compète,
  • un lien SPIP tel que [Lien->article23],
  • ou un raccourcis SPIP comme rub2 ou rubrique2
Parameters
$virtuel : string

Texte qui définit la redirection, à analyser. Plusieurs types peuvent être acceptés :

  • un raccourci Spip habituel, tel que [texte->TYPEnnn]
  • un ultra raccourci Spip, tel que TYPEnnn
  • une URL standard
$url : bool = false

false : retourne uniquement le nom du lien (TYPEnnn) true : retourne l'URL calculée pour le lien

Return values
string

Nom du lien ou URL

calculer_url()

calculer_url(string|null $ref[, string|null $texte = '' ][, string $pour = 'url' ][, string $connect = '' ][, bool $echappe_typo = true ]) : mixed
Parameters
$ref : string|null
$texte : string|null = ''
$pour : string = 'url'
$connect : string = ''
$echappe_typo : bool = true

traiter_lien_explicite()

traiter_lien_explicite(string|null $ref[, string|null $texte = '' ][, string $pour = 'url' ][, string $connect = '' ][, bool $echappe_typo = true ]) : mixed
Parameters
$ref : string|null
$texte : string|null = ''
$pour : string = 'url'
$connect : string = ''
$echappe_typo : bool = true

liens_implicite_glose_dist()

liens_implicite_glose_dist(mixed $texte, mixed $id, mixed $type, mixed $args, mixed $ancre[, mixed $connect = '' ]) : mixed
Parameters
$texte : mixed
$id : mixed
$type : mixed
$args : mixed
$ancre : mixed
$connect : mixed = ''

traiter_lien_implicite()

Transformer un lien raccourci art23 en son URL Par defaut la fonction produit une url prive si on est dans le prive ou publique si on est dans le public.

traiter_lien_implicite(string $ref[, string $texte = '' ][, string $pour = 'url' ][, string $connect = '' ]) : array<string|int, mixed>|bool|string

La globale lien_implicite_cible_public permet de forcer un cas ou l'autre : $GLOBALS['lien_implicite_cible_public'] = true; => tous les liens raccourcis pointent vers le public $GLOBALS['lien_implicite_cible_public'] = false; => tous les liens raccourcis pointent vers le prive unset($GLOBALS['lien_implicite_cible_public']); => retablit le comportement automatique

Parameters
$ref : string
$texte : string = ''
$pour : string = 'url'
$connect : string = ''
Return values
array<string|int, mixed>|bool|string

typer_raccourci()

typer_raccourci(string|null $lien) : array<string|int, mixed>
Parameters
$lien : string|null
Return values
array<string|int, mixed>

traiter_raccourci_titre()

Retourne le titre et la langue d'un objet éditorial

traiter_raccourci_titre(int $id, string $type[, string $connect = '' ]) : array<string|int, mixed>
Parameters
$id : int

Identifiant de l'objet

$type : string

Type d'objet

$connect : string = ''

Connecteur SQL utilisé

Return values
array<string|int, mixed>

{

traiter_raccourci_ancre()

traiter_raccourci_ancre(string|null $texte) : string
Parameters
$texte : string|null
Return values
string

traiter_raccourci_glossaire()

traiter_raccourci_glossaire(string|null $texte) : string
Parameters
$texte : string|null
Return values
string

glossaire_std()

glossaire_std(mixed $terme) : mixed
Parameters
$terme : mixed

        
On this page

Search results