cookie.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
Functions
- spip_setcookie() : bool
- Place un cookie (préfixé) sur le poste client
- spip_cookie_envoye() : bool
- Teste si un cookie a déjà été envoyé ou pas
- recuperer_cookies_spip() : mixed
- Adapte le tableau PHP `$_COOKIE` pour prendre en compte le préfixe des cookies de SPIP
- exec_test_ajax_dist() : mixed
- Teste si javascript est supporté par le navigateur et pose un cookie en conséquence
Functions
spip_setcookie()
Place un cookie (préfixé) sur le poste client
spip_setcookie([string $name = '' ][, string $value = '' ][, int|array{expires: int, path: string, domain: string, secure: bool, samesite: string} $expires_or_options = 0 ][, string|null $path = null ][, string $domain = '' ][, bool $secure = false ][, bool $httponly = false ]) : bool
Parameters
- $name : string = ''
-
Nom du cookie
- $value : string = ''
-
Valeur à stocker
- $expires_or_options : int|array{expires: int, path: string, domain: string, secure: bool, samesite: string} = 0
-
int: Date d'expiration du cookie (timestamp) Tableau clé => valeur de l’option
- expires = 0 : Date d'expiration du cookie (timestamp)
- path = 'AUTO' : Chemin sur lequel le cookie sera disponible
- domain = '' : Domaine à partir duquel le cookie est disponible
- secure = false : cookie sécurisé ou non ?
- samesite = 'Lax' : valeur samesite (Lax, Strict ou None)
- $path : string|null = null
-
Chemin sur lequel le cookie sera disponible
- null: SPIP calcule le chemin a partir de l’URL de base du site (ou la constante _COOKIE_PATH si définie)
- '': PHP calcule de chemin sur le répertoire en cours (comme setcookie())
- 'chemin/': force un chemin spécifique
- 'AUTO': comme null (usage déprécié)
- $domain : string = ''
-
Domaine à partir duquel le cookie est disponible
- $secure : bool = false
-
Indique si le cookie doit être envoyé par le navigateur uniquement en connexion HTTPS (true) ou systématiquement (false)
- $httponly : bool = false
-
Indique si le cookie doit être accessible en Javascript (false) ou non (true)
Tags
Return values
bool —true si le cookie a été posé, false sinon.
spip_cookie_envoye()
Teste si un cookie a déjà été envoyé ou pas
spip_cookie_envoye([bool|string $set = '' ]) : bool
Permet par exemple à redirige_par_entete()
de savoir le type de
redirection à appliquer (serveur ou navigateur)
Parameters
- $set : bool|string = ''
-
true pour déclarer les cookies comme envoyés
Tags
Return values
boolrecuperer_cookies_spip()
Adapte le tableau PHP `$_COOKIE` pour prendre en compte le préfixe des cookies de SPIP
recuperer_cookies_spip(string $cookie_prefix) : mixed
Si le préfixe des cookies de SPIP est différent de spip
alors
la fonction modifie les $_COOKIE
ayant le préfixe spécifique + '_'
pour remettre le préfixe spip_
à la place.
Ainsi les appels dans le code n'ont pas besoin de gérer le préfixe,
ils appellent simplement $_COOKIE['spip_xx']
qui sera forcément
la bonne donnée.
Parameters
- $cookie_prefix : string
-
Préfixe des cookies de SPIP
exec_test_ajax_dist()
Teste si javascript est supporté par le navigateur et pose un cookie en conséquence
exec_test_ajax_dist() : mixed
Si la valeur d'environnement js
arrive avec la valeur
-1
c'est un appel via une balise<noscript>
.1
c'est un appel via javascript
Inscrit le résultat dans le cookie spip_accepte_ajax