[SPIP] ~2.1.12 -->2.1.25
[velocampus/web/www.git] / www / ecrire / inc / cookie.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 //
16 // Appliquer le prefixe cookie
17 //
18 // http://doc.spip.org/@spip_setcookie
19 function spip_setcookie ($name='', $value='', $expire=0, $path='AUTO', $domain='', $secure='') {
20 $name = preg_replace ('/^spip_/', $GLOBALS['cookie_prefix'].'_', $name);
21 if ($path == 'AUTO')
22 $path = defined('_COOKIE_PATH')?_COOKIE_PATH:preg_replace(',^\w+://[^/]*,', '', url_de_base());
23 if (!$domain AND defined('_COOKIE_DOMAIN'))
24 $domain = _COOKIE_DOMAIN;
25
26 #spip_log("cookie('$name', '$value', '$expire', '$path', '$domain', '$secure'");
27
28 if ($secure)
29 @setcookie ($name, $value, $expire, $path, $domain, $secure);
30 else if ($domain)
31 @setcookie ($name, $value, $expire, $path, $domain);
32 else if ($path)
33 @setcookie ($name, $value, $expire, $path);
34 else if ($expire)
35 @setcookie ($name, $value, $expire);
36 else
37 @setcookie ($name, $value);
38 }
39
40 // http://doc.spip.org/@recuperer_cookies_spip
41 function recuperer_cookies_spip($cookie_prefix) {
42 $prefix_long = strlen($cookie_prefix);
43
44 foreach ($_COOKIE as $name => $value) {
45 if (substr($name,0,5)=='spip_' && substr($name,0,$prefix_long)!=$cookie_prefix) {
46 unset($_COOKIE[$name]);
47 unset($GLOBALS[$name]);
48 }
49 }
50 foreach ($_COOKIE as $name => $value) {
51 if (substr($name,0,$prefix_long)==$cookie_prefix) {
52 $spipname = preg_replace ('/^'.$cookie_prefix.'_/', 'spip_', $name);
53 $_COOKIE[$spipname] = $value;
54 $GLOBALS[$spipname] = $value;
55 }
56 }
57
58 }
59
60 // Idem faudrait creer exec/test_ajax, mais c'est si court.
61 // Tester si Ajax fonctionne pour ce brouteur
62 // (si on arrive la c'est que c'est bon, donc poser le cookie)
63
64 // http://doc.spip.org/@exec_test_ajax_dist
65 function exec_test_ajax_dist() {
66 switch (_request('js')) {
67 // on est appele par <noscript>
68 case -1:
69 spip_setcookie('spip_accepte_ajax', -1);
70 include_spip('inc/headers');
71 redirige_par_entete(chemin_image('puce-orange-anim.gif'));
72 break;
73
74 // ou par ajax
75 case 1:
76 default:
77 spip_setcookie('spip_accepte_ajax', 1);
78 break;
79 }
80 }
81 ?>