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
- -1c'est un appel via une balise- <noscript>.
- 1c'est un appel via javascript
Inscrit le résultat dans le cookie spip_accepte_ajax