Documentation du code de SPIP et de ses plugins

SPIP

urls.php

Table of Contents

Constants

_CONTEXTE_IGNORE_LISTE_VARIABLES  = ['^var_', '^PHPSESSID$', '^fbclid$', '^utm_']
_PORT_HTTP_STANDARD  = '80'
_PORT_HTTPS_STANDARD  = '443'

Functions

quote_amp()  : string
Transformation XML des `&` en `&`
tester_url_absolue()  : bool
Tester si une URL est absolue
parametre_url()  : string
Prend une URL et lui ajoute/retire un paramètre
ancre_url()  : string
Ajoute (ou retire) une ancre sur une URL
nettoyer_uri()  : string
Pour le nom du cache, les `types_urls` et `self`
nettoyer_uri_var()  : string
Nettoie une URI de certains paramètres (var_xxx, utm_xxx, etc.)
self()  : string
Donner l'URL de base d'un lien vers "soi-meme", modulo les trucs inutiles
generer_objet_url()  : string
Fonction codant les URLs des objets SQL mis en page par SPIP
generer_url_entite()  : mixed
generer_objet_url_ecrire_edit()  : string
Generer l'url vers la page d'edition dans ecrire/
generer_url_ecrire_entite_edit()  : mixed
urls_connect_dist()  : mixed
urlencode_1738()  : string
Transformer les caractères utf8 d'une URL (farsi par exemple) selon la RFC 1738
generer_objet_url_absolue()  : string
Generer l'url absolue vers un objet
generer_url_entite_absolue()  : mixed
url_de_base()  : string|array<string|int, mixed>
Calcule l'url de base du site
url_de_()  : string
fonction testable de construction d'une url appelee par url_de_base()
generer_url_ecrire()  : string
Crée une URL vers un script de l'espace privé
get_spip_script()  : string
Retourne le nom du fichier d'exécution de SPIP
generer_url_public()  : string
Crée une URL vers une page publique de SPIP
generer_url_prive()  : mixed
generer_url_action()  : string
Créer une URL
generer_url_api()  : string
Créer une URL

Constants

_CONTEXTE_IGNORE_LISTE_VARIABLES

public array<string|int, string> _CONTEXTE_IGNORE_LISTE_VARIABLES = ['^var_', '^PHPSESSID$', '^fbclid$', '^utm_']

Liste (regexp) de noms de variables à ignorer d’une URI

_PORT_HTTP_STANDARD

public mixed _PORT_HTTP_STANDARD = '80'

_PORT_HTTPS_STANDARD

public mixed _PORT_HTTPS_STANDARD = '443'

Functions

quote_amp()

Transformation XML des `&` en `&amp;`

quote_amp(string $u) : string
Parameters
$u : string
Tags
pipeline

post_typo

Return values
string

tester_url_absolue()

Tester si une URL est absolue

tester_url_absolue(string $url) : bool

On est sur le web, on exclut certains protocoles, notamment 'file://', 'php://' et d'autres…

Parameters
$url : string
Return values
bool

parametre_url()

Prend une URL et lui ajoute/retire un paramètre

parametre_url(string $url, string $c[, string|array<string|int, mixed>|null $v = null ][, string $sep = '&amp;' ]) : string
Parameters
$url : string

URL

$c : string

Nom du paramètre

$v : string|array<string|int, mixed>|null = null

Valeur du paramètre

$sep : string = '&amp;'

Séparateur entre les paramètres

Tags
filtre
link
https://www.spip.net/4255
example
[(#SELF|parametre_url{suite,18})] (ajout)
[(#SELF|parametre_url{suite,''})] (supprime)
[(#SELF|parametre_url{suite[],1})] (tableaux valeurs multiples)
Return values
string

URL

ancre_url()

Ajoute (ou retire) une ancre sur une URL

ancre_url(string $url[, string|null $ancre = '' ]) : string

L’ancre est nettoyée : on translitère, vire les non alphanum du début, et on remplace ceux à l'interieur ou au bout par -

Parameters
$url : string
$ancre : string|null = ''
Tags
example
  • `$url = ancre_url($url, 'navigation'); // => mettra l’ancre #navigation
  • `$url = ancre_url($url, ''); // => enlèvera une éventuelle ancre
uses
translitteration()
Return values
string

nettoyer_uri()

Pour le nom du cache, les `types_urls` et `self`

nettoyer_uri([string|null $reset = null ]) : string
Parameters
$reset : string|null = null
Return values
string

nettoyer_uri_var()

Nettoie une URI de certains paramètres (var_xxx, utm_xxx, etc.)

nettoyer_uri_var(string $request_uri) : string

La regexp des paramètres nettoyés est calculée à partir de la constante _CONTEXTE_IGNORE_LISTE_VARIABLES (qui peut être redéfinie dans mes_options.php)

Parameters
$request_uri : string
Tags
uses
_CONTEXTE_IGNORE_LISTE_VARIABLES
Return values
string

self()

Donner l'URL de base d'un lien vers "soi-meme", modulo les trucs inutiles

self([string $amp = '&amp;' ][, bool $root = false ]) : string
Parameters
$amp : string = '&amp;'

Style des esperluettes

$root : bool = false
Return values
string

URL vers soi-même

generer_objet_url()

Fonction codant les URLs des objets SQL mis en page par SPIP

generer_objet_url(int|string|null $id, string $entite[, string $args = '' ][, string $ancre = '' ][, bool|null $public = null ][, string $type = '' ][, string $connect = '' ]) : string
Parameters
$id : int|string|null

numero de la cle primaire si nombre

$entite : string

surnom de la table SQL (donne acces au nom de cle primaire)

$args : string = ''

query_string a placer apres cle=$id&....

$ancre : string = ''

ancre a mettre a la fin de l'URL a produire

$public : bool|null = null

produire l'URL publique ou privee (par defaut: selon espace)

$type : string = ''

fichier dans le repertoire ecrire/urls determinant l'apparence

$connect : string = ''

serveur de base de donnee (nom du connect)

Return values
string

url codee ou fonction de decodage

generer_url_entite()

generer_url_entite([mixed $id = 0 ][, mixed $entite = '' ][, mixed $args = '' ][, mixed $ancre = '' ][, mixed $public = null ][, mixed $type = null ]) : mixed
Parameters
$id : mixed = 0
$entite : mixed = ''
$args : mixed = ''
$ancre : mixed = ''
$public : mixed = null
$type : mixed = null
Tags
deprecated
4.1
see
generer_objet_url

generer_objet_url_ecrire_edit()

Generer l'url vers la page d'edition dans ecrire/

generer_objet_url_ecrire_edit(int|string|null $id, string $entite[, string $args = '' ][, string $ancre = '' ]) : string
Parameters
$id : int|string|null
$entite : string
$args : string = ''
$ancre : string = ''
Return values
string

generer_url_ecrire_entite_edit()

generer_url_ecrire_entite_edit(mixed $id, mixed $entite[, mixed $args = '' ][, mixed $ancre = '' ]) : mixed
Parameters
$id : mixed
$entite : mixed
$args : mixed = ''
$ancre : mixed = ''
Tags
deprecated
4.1
see
generer_objet_url_ecrire_edit

urls_connect_dist()

urls_connect_dist(mixed $i, mixed &$entite[, mixed $args = '' ][, mixed $ancre = '' ][, mixed $public = null ]) : mixed
Parameters
$i : mixed
$entite : mixed
$args : mixed = ''
$ancre : mixed = ''
$public : mixed = null

urlencode_1738()

Transformer les caractères utf8 d'une URL (farsi par exemple) selon la RFC 1738

urlencode_1738(string $url) : string
Parameters
$url : string
Return values
string

generer_objet_url_absolue()

Generer l'url absolue vers un objet

generer_objet_url_absolue([int|string|null $id = 0 ][, string $entite = '' ][, string $args = '' ][, string $ancre = '' ][, bool|null $public = null ][, string $type = '' ][, string $connect = '' ]) : string
Parameters
$id : int|string|null = 0
$entite : string = ''
$args : string = ''
$ancre : string = ''
$public : bool|null = null
$type : string = ''
$connect : string = ''
Return values
string

generer_url_entite_absolue()

generer_url_entite_absolue([mixed $id = 0 ][, mixed $entite = '' ][, mixed $args = '' ][, mixed $ancre = '' ][, mixed $connect = null ]) : mixed
Parameters
$id : mixed = 0
$entite : mixed = ''
$args : mixed = ''
$ancre : mixed = ''
$connect : mixed = null
Tags
deprecated
4.1
see
generer_objet_url_absolue

url_de_base()

Calcule l'url de base du site

url_de_base([int|bool|array<string|int, mixed> $profondeur = null ]) : string|array<string|int, mixed>

Calcule l'URL de base du site, en priorité sans se fier à la méta (adresse_site) qui peut être fausse (sites avec plusieurs noms d’hôtes, déplacements, erreurs). En dernier recours, lorsqu'on ne trouve rien, on utilise adresse_site comme fallback.

Parameters
$profondeur : int|bool|array<string|int, mixed> = null
  • si non renseignée : retourne l'url pour la profondeur $GLOBALS['profondeur_url']
  • si int : indique que l'on veut l'url pour la profondeur indiquée
  • si bool : retourne le tableau static complet
  • si array : réinitialise le tableau static complet avec la valeur fournie
Tags
note

La globale $profondeur_url doit être initialisée de manière à indiquer le nombre de sous-répertoires de l'url courante par rapport à la racine de SPIP : par exemple, sur ecrire/ elle vaut 1, sur sedna/ 1, et à la racine 0. Sur url/perso/ elle vaut 2

used-by
liste_metas()
Return values
string|array<string|int, mixed>

url_de_()

fonction testable de construction d'une url appelee par url_de_base()

url_de_(string $http, string $host, string $request[, int $prof = 0 ]) : string
Parameters
$http : string
$host : string
$request : string
$prof : int = 0
Return values
string

generer_url_ecrire()

Crée une URL vers un script de l'espace privé

generer_url_ecrire([string $script = '' ][, string $args = '' ][, bool $no_entities = false ][, bool|string $rel = false ]) : string
Parameters
$script : string = ''

Nom de la page privée (xx dans exec=xx)

$args : string = ''

Arguments à transmettre, tel que arg1=yy&arg2=zz

$no_entities : bool = false

Si false : transforme les & en &amp;

$rel : bool|string = false

URL relative ?

  • false : l’URL sera complète et contiendra l’URL du site
  • true : l’URL sera relavive.
  • string : on transmet l'url à la fonction
Tags
example
generer_url_ecrire('admin_plugin')
Return values
string

URL

get_spip_script()

Retourne le nom du fichier d'exécution de SPIP

get_spip_script([string $default = '' ]) : string
Parameters
$default : string = ''

Script par défaut

Tags
see
_SPIP_SCRIPT
note

Detecter le fichier de base, a la racine, comme etant spip.php ou '' dans le cas de '', un $default = './' peut servir (comme dans urls/page.php)

Return values
string

Nom du fichier (constante _SPIP_SCRIPT), sinon nom par défaut

generer_url_public()

Crée une URL vers une page publique de SPIP

generer_url_public([string $script = '' ][, string|array<string|int, mixed> $args = '' ][, bool $no_entities = false ][, bool $rel = true ][, string $action = '' ]) : string
Parameters
$script : string = ''

Nom de la page

$args : string|array<string|int, mixed> = ''

Arguments à transmettre a l'URL, soit sous la forme d'un string tel que arg1=yy&arg2=zz soit sous la forme d'un array tel que array( arg1 => yy, arg2 => zz )

$no_entities : bool = false

Si false : transforme les & en &amp;

$rel : bool = true

URL relative ?

  • false : l’URL sera complète et contiendra l’URL du site
  • true : l’URL sera relavive.
$action : string = ''
  • Fichier d'exécution public (spip.php par défaut)
Tags
example
generer_url_public("rubrique","id_rubrique=$id_rubrique")
Return values
string

URL

generer_url_prive()

generer_url_prive(mixed $script[, mixed $args = '' ][, mixed $no_entities = false ]) : mixed
Parameters
$script : mixed
$args : mixed = ''
$no_entities : mixed = false

generer_url_action()

Créer une URL

generer_url_action(string $script[, string $args = '' ][, bool $no_entities = false ][, bool $public = false ]) : string
Parameters
$script : string

Nom du script à exécuter

$args : string = ''

Arguments à transmettre a l'URL sous la forme arg1=yy&arg2=zz

$no_entities : bool = false

Si false : transforme les & en &

$public : bool = false

URL relative ? false : l’URL sera complète et contiendra l’URL du site. true : l’URL sera relative.

Return values
string

URL

generer_url_api()

Créer une URL

generer_url_api(string $script, string $path, string $args[, bool $no_entities = false ][, bool $public = null ]) : string
Parameters
$script : string

Nom du script à exécuter

$path : string
$args : string

Arguments à transmettre a l'URL sous la forme arg1=yy&arg2=zz

$no_entities : bool = false

Si false : transforme les & en &

$public : bool = null

URL public ou relative a l'espace ou l'on est ?

Return values
string

URL


        
On this page

Search results